Title: [155331] releases/WebKitGTK/webkit-2.2/Source/WebKit2
- Revision
- 155331
- Author
- [email protected]
- Date
- 2013-09-09 01:29:13 -0700 (Mon, 09 Sep 2013)
Log Message
Merge r155066 - [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: releases/WebKitGTK/webkit-2.2/Source/WebKit2/ChangeLog (155330 => 155331)
--- releases/WebKitGTK/webkit-2.2/Source/WebKit2/ChangeLog 2013-09-09 07:40:14 UTC (rev 155330)
+++ releases/WebKitGTK/webkit-2.2/Source/WebKit2/ChangeLog 2013-09-09 08:29:13 UTC (rev 155331)
@@ -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-08-26 Santosh Mahto <[email protected]>
Fixing compilation warning "unused parameter" in WebPageProxy.cpp
Modified: releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (155330 => 155331)
--- releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2013-09-09 07:40:14 UTC (rev 155330)
+++ releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2013-09-09 08:29:13 UTC (rev 155331)
@@ -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: releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (155330 => 155331)
--- releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2013-09-09 07:40:14 UTC (rev 155330)
+++ releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2013-09-09 08:29:13 UTC (rev 155331)
@@ -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: releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h (155330 => 155331)
--- releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2013-09-09 07:40:14 UTC (rev 155330)
+++ releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2013-09-09 08:29:13 UTC (rev 155331)
@@ -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