Diff
Modified: trunk/Source/WebKit2/ChangeLog (142156 => 142157)
--- trunk/Source/WebKit2/ChangeLog 2013-02-07 19:04:26 UTC (rev 142156)
+++ trunk/Source/WebKit2/ChangeLog 2013-02-07 19:19:06 UTC (rev 142157)
@@ -1,3 +1,39 @@
+2013-02-07 Kenneth Rohde Christiansen <[email protected]>
+
+ [WK2][EFL] Add WKView methods related to background drawing
+ https://bugs.webkit.org/show_bug.cgi?id=109159
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/C/efl/WKView.cpp:
+ (WKViewSetDrawsBackground):
+ (WKViewGetDrawsBackground):
+ (WKViewSetDrawsTransparentBackground):
+ (WKViewGetDrawsTransparentBackground):
+ * UIProcess/efl/WebView.cpp:
+ (WebKit::WebView::setDrawsBackground):
+ (WebKit):
+ (WebKit::WebView::drawsBackground):
+ (WebKit::WebView::setDrawsTransparentBackground):
+ (WebKit::WebView::drawsTransparentBackground):
+ * UIProcess/efl/WebView.h:
+ (WebView):
+ * UIProcess/API/C/efl/WKView.h:
+
+ New methods added
+
+ * UIProcess/API/efl/EwkView.cpp:
+ (EwkView::EwkView):
+ (EwkView::displayTimerFired):
+ (EwkView::handleEvasObjectColorSet):
+ * UIProcess/API/efl/EwkView.h:
+ (EwkView):
+ * UIProcess/API/efl/ewk_view.cpp:
+ (ewk_view_draws_page_background_set):
+
+ Remove the unneeded m_setDrawsBackground and replace
+ it with the WKView setting.
+
2013-02-07 Christophe Dumez <[email protected]>
[EFL][WK2] EWK2UnitTestBase.ewk_view_page_contents_get API test is sometimes failing
Modified: trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.cpp (142156 => 142157)
--- trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.cpp 2013-02-07 19:04:26 UTC (rev 142156)
+++ trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.cpp 2013-02-07 19:19:06 UTC (rev 142157)
@@ -57,6 +57,26 @@
return toImpl(viewRef)->pageRef();
}
+void WKViewSetDrawsBackground(WKViewRef viewRef, bool flag)
+{
+ toImpl(viewRef)->setDrawsBackground(flag);
+}
+
+bool WKViewGetDrawsBackground(WKViewRef viewRef)
+{
+ return toImpl(viewRef)->drawsBackground();
+}
+
+void WKViewSetDrawsTransparentBackground(WKViewRef viewRef, bool flag)
+{
+ toImpl(viewRef)->setDrawsTransparentBackground(flag);
+}
+
+bool WKViewGetDrawsTransparentBackground(WKViewRef viewRef)
+{
+ return toImpl(viewRef)->drawsTransparentBackground();
+}
+
void WKViewSetThemePath(WKViewRef viewRef, WKStringRef theme)
{
toImpl(viewRef)->setThemePath(theme);
Modified: trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.h (142156 => 142157)
--- trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.h 2013-02-07 19:04:26 UTC (rev 142156)
+++ trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.h 2013-02-07 19:19:06 UTC (rev 142157)
@@ -44,6 +44,12 @@
WK_EXPORT void WKViewSetThemePath(WKViewRef, WKStringRef);
+WK_EXPORT void WKViewSetDrawsBackground(WKViewRef, bool);
+WK_EXPORT bool WKViewGetDrawsBackground(WKViewRef);
+
+WK_EXPORT void WKViewSetDrawsTransparentBackground(WKViewRef, bool);
+WK_EXPORT bool WKViewGetDrawsTransparentBackground(WKViewRef);
+
WK_EXPORT void WKViewSuspendActiveDOMObjectsAndAnimations(WKViewRef);
WK_EXPORT void WKViewResumeActiveDOMObjectsAndAnimations(WKViewRef);
Modified: trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp (142156 => 142157)
--- trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp 2013-02-07 19:04:26 UTC (rev 142156)
+++ trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp 2013-02-07 19:19:06 UTC (rev 142157)
@@ -253,7 +253,6 @@
, m_displayTimer(this, &EwkView::displayTimerFired)
, m_inputMethodContext(InputMethodContextEfl::create(this, smartData()->base.evas))
, m_isHardwareAccelerated(true)
- , m_setDrawsBackground(false)
{
ASSERT(m_evasObject);
ASSERT(m_context);
@@ -549,7 +548,8 @@
return;
scene->setActive(true);
- scene->setDrawsBackground(m_setDrawsBackground);
+ scene->setDrawsBackground(WKViewGetDrawsBackground(wkView()));
+
if (m_isHardwareAccelerated) {
scene->paintToCurrentGLContext(transformToScene().toTransformationMatrix(), /* opacity */ 1, viewport);
// sd->image is tied to a native surface. The native surface is in the parent's coordinates,
@@ -1237,8 +1237,8 @@
blue = clampTo(blue, 0, alpha);
evas_object_image_alpha_set(smartData->image, alpha < 255);
- view->page()->setDrawsBackground(red || green || blue);
- view->page()->setDrawsTransparentBackground(alpha < 255);
+ WKViewSetDrawsBackground(view->wkView(), red || green || blue);
+ WKViewSetDrawsTransparentBackground(view->wkView(), alpha < 255);
parentSmartClass.color_set(evasObject, red, green, blue, alpha);
}
Modified: trunk/Source/WebKit2/UIProcess/API/efl/EwkView.h (142156 => 142157)
--- trunk/Source/WebKit2/UIProcess/API/efl/EwkView.h 2013-02-07 19:04:26 UTC (rev 142156)
+++ trunk/Source/WebKit2/UIProcess/API/efl/EwkView.h 2013-02-07 19:19:06 UTC (rev 142157)
@@ -218,7 +218,6 @@
void informURLChange();
bool isHardwareAccelerated() const { return m_isHardwareAccelerated; }
- void setDrawsBackground(bool enable) { m_setDrawsBackground = enable; }
PassRefPtr<cairo_surface_t> takeSnapshot();
@@ -310,7 +309,6 @@
OwnPtr<EwkColorPicker> m_colorPicker;
#endif
bool m_isHardwareAccelerated;
- bool m_setDrawsBackground;
static Evas_Smart_Class parentSmartClass;
};
Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp (142156 => 142157)
--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp 2013-02-07 19:04:26 UTC (rev 142156)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp 2013-02-07 19:19:06 UTC (rev 142157)
@@ -36,6 +36,7 @@
#include "WKRetainPtr.h"
#include "WKString.h"
#include "WKURL.h"
+#include "WKView.h"
#include "WebContext.h"
#include "WebData.h"
#include "WebFullScreenManagerProxy.h"
@@ -479,7 +480,7 @@
{
EWK_VIEW_IMPL_GET_OR_RETURN(ewkView, impl);
- impl->setDrawsBackground(enabled);
+ WKViewSetDrawsBackground(impl->wkView(), enabled);
}
/// Creates a type name for Ewk_Page_Contents_Context.
Modified: trunk/Source/WebKit2/UIProcess/efl/WebView.cpp (142156 => 142157)
--- trunk/Source/WebKit2/UIProcess/efl/WebView.cpp 2013-02-07 19:04:26 UTC (rev 142156)
+++ trunk/Source/WebKit2/UIProcess/efl/WebView.cpp 2013-02-07 19:19:06 UTC (rev 142157)
@@ -64,6 +64,26 @@
m_webPageProxy->setThemePath(toWTFString(theme).utf8().data());
}
+void WebView::setDrawsBackground(bool drawsBackground)
+{
+ m_webPageProxy->setDrawsBackground(drawsBackground);
+}
+
+bool WebView::drawsBackground() const
+{
+ return m_webPageProxy->drawsBackground();
+}
+
+void WebView::setDrawsTransparentBackground(bool transparentBackground)
+{
+ m_webPageProxy->setDrawsTransparentBackground(transparentBackground);
+}
+
+bool WebView::drawsTransparentBackground() const
+{
+ return m_webPageProxy->drawsTransparentBackground();
+}
+
void WebView::suspendActiveDOMObjectsAndAnimations()
{
m_webPageProxy->suspendActiveDOMObjectsAndAnimations();
Modified: trunk/Source/WebKit2/UIProcess/efl/WebView.h (142156 => 142157)
--- trunk/Source/WebKit2/UIProcess/efl/WebView.h 2013-02-07 19:04:26 UTC (rev 142156)
+++ trunk/Source/WebKit2/UIProcess/efl/WebView.h 2013-02-07 19:19:06 UTC (rev 142157)
@@ -46,7 +46,13 @@
WKPageRef pageRef() const { return toAPI(m_webPageProxy.get()); }
+ void setDrawsBackground(bool);
+ bool drawsBackground() const;
+ void setDrawsTransparentBackground(bool);
+ bool drawsTransparentBackground() const;
+
void setThemePath(WKStringRef);
+
void suspendActiveDOMObjectsAndAnimations();
void resumeActiveDOMObjectsAndAnimations();