Title: [155066] trunk/Source/WebKit2
- Revision
- 155066
- Author
- [email protected]
- Date
- 2013-09-04 14:59:27 -0700 (Wed, 04 Sep 2013)
Log Message
[WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate
https://bugs.webkit.org/show_bug.cgi?id=117733
Reviewed by Martin Robinson.
If the GL context cannot be created then an invalid
LayerTreeHostGtk object will be returned.
This patch disables accelerated compositing if the system doesn't
support it.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewUpdateSettings):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseUpdatePreferences):
(webkitWebViewBaseCreateWebPage):
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (155065 => 155066)
--- trunk/Source/WebKit2/ChangeLog 2013-09-04 21:35:56 UTC (rev 155065)
+++ trunk/Source/WebKit2/ChangeLog 2013-09-04 21:59:27 UTC (rev 155066)
@@ -1,3 +1,23 @@
+2013-09-04 Alberto Garcia <[email protected]>
+
+ [WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate
+ https://bugs.webkit.org/show_bug.cgi?id=117733
+
+ Reviewed by Martin Robinson.
+
+ If the GL context cannot be created then an invalid
+ LayerTreeHostGtk object will be returned.
+
+ This patch disables accelerated compositing if the system doesn't
+ support it.
+
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkitWebViewUpdateSettings):
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseUpdatePreferences):
+ (webkitWebViewBaseCreateWebPage):
+ * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
+
2013-09-04 Commit Queue <[email protected]>
Unreviewed, rolling out r154989.
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (155065 => 155066)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2013-09-04 21:35:56 UTC (rev 155065)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2013-09-04 21:59:27 UTC (rev 155066)
@@ -379,6 +379,8 @@
page->setCanRunModal(webkit_settings_get_allow_modal_dialogs(settings));
page->setCustomUserAgent(String::fromUTF8(webkit_settings_get_user_agent(settings)));
+ webkitWebViewBaseUpdatePreferences(WEBKIT_WEB_VIEW_BASE(webView));
+
g_signal_connect(settings, "notify::allow-modal-dialogs", G_CALLBACK(allowModalDialogsChanged), webView);
g_signal_connect(settings, "notify::zoom-text-only", G_CALLBACK(zoomTextOnlyChanged), webView);
g_signal_connect(settings, "notify::user-agent", G_CALLBACK(userAgentChanged), webView);
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (155065 => 155066)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2013-09-04 21:35:56 UTC (rev 155065)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2013-09-04 21:59:27 UTC (rev 155066)
@@ -40,7 +40,9 @@
#include "WebKitPrivate.h"
#include "WebKitWebViewBaseAccessible.h"
#include "WebKitWebViewBasePrivate.h"
+#include "WebPageGroup.h"
#include "WebPageProxy.h"
+#include "WebPreferences.h"
#include "WebViewBaseInputMethodFilter.h"
#include <WebCore/ClipboardUtilitiesGtk.h>
#include <WebCore/DataObjectGtk.h>
@@ -892,6 +894,16 @@
return webkitWebViewBase->priv->pageProxy.get();
}
+void webkitWebViewBaseUpdatePreferences(WebKitWebViewBase* webkitWebViewBase)
+{
+#if USE(TEXTURE_MAPPER_GL)
+ WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv;
+
+ if (!priv->redirectedWindow)
+ priv->pageProxy->pageGroup()->preferences()->setAcceleratedCompositingEnabled(false);
+#endif
+}
+
void webkitWebViewBaseCreateWebPage(WebKitWebViewBase* webkitWebViewBase, WebContext* context, WebPageGroup* pageGroup)
{
WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv;
@@ -908,6 +920,8 @@
priv->pageProxy->setAcceleratedCompositingWindowId(priv->redirectedWindow->windowId());
#endif
+ webkitWebViewBaseUpdatePreferences(webkitWebViewBase);
+
// This must happen here instead of the instance initializer, because the input method
// filter must have access to the page.
priv->inputMethodFilter.setWebView(webkitWebViewBase);
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h (155065 => 155066)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2013-09-04 21:35:56 UTC (rev 155065)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2013-09-04 21:59:27 UTC (rev 155066)
@@ -51,6 +51,7 @@
GdkEvent* webkitWebViewBaseTakeContextMenuEvent(WebKitWebViewBase*);
void webkitWebViewBaseSetInputMethodState(WebKitWebViewBase*, bool enabled);
void webkitWebViewBaseUpdateTextInputState(WebKitWebViewBase*);
+void webkitWebViewBaseUpdatePreferences(WebKitWebViewBase*);
#if USE(TEXTURE_MAPPER_GL)
void webkitWebViewBaseQueueDrawOfAcceleratedCompositingResults(WebKitWebViewBase*);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes