Title: [165881] releases/WebKitGTK/webkit-2.2/Source/WebKit2
- Revision
- 165881
- Author
- carlo...@webkit.org
- Date
- 2014-03-19 01:53:48 -0700 (Wed, 19 Mar 2014)
Log Message
Merge r165182 - [GTK] Close the page when the view is disposed instead of when finalized
https://bugs.webkit.org/show_bug.cgi?id=129783
Reviewed by Sergio Villar Senin.
Source/WebKit2:
When a GtkWidget is destroyed, the GObject is disposed, but not
finalized if it has additional references. When the destroyed
widget is leaked by the application, we leak the page proxy and
what is more important the web process in multi-process mode.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDispose): Close the WebPageProxy.
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.2/Source/WebKit2/ChangeLog (165880 => 165881)
--- releases/WebKitGTK/webkit-2.2/Source/WebKit2/ChangeLog 2014-03-19 08:49:55 UTC (rev 165880)
+++ releases/WebKitGTK/webkit-2.2/Source/WebKit2/ChangeLog 2014-03-19 08:53:48 UTC (rev 165881)
@@ -1,3 +1,18 @@
+2014-03-06 Carlos Garcia Campos <cgar...@igalia.com>
+
+ [GTK] Close the page when the view is disposed instead of when finalized
+ https://bugs.webkit.org/show_bug.cgi?id=129783
+
+ Reviewed by Sergio Villar Senin.
+
+ When a GtkWidget is destroyed, the GObject is disposed, but not
+ finalized if it has additional references. When the destroyed
+ widget is leaked by the application, we leak the page proxy and
+ what is more important the web process in multi-process mode.
+
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseDispose): Close the WebPageProxy.
+
2014-02-27 Carlos Garcia Campos <cgar...@igalia.com>
[GTK][WK2] Blocks when fetching plugins information
Modified: releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (165880 => 165881)
--- releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2014-03-19 08:49:55 UTC (rev 165880)
+++ releases/WebKitGTK/webkit-2.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2014-03-19 08:53:48 UTC (rev 165881)
@@ -85,11 +85,6 @@
#endif
struct _WebKitWebViewBasePrivate {
- ~_WebKitWebViewBasePrivate()
- {
- pageProxy->close();
- }
-
WebKitWebViewChildrenMap children;
OwnPtr<PageClientImpl> pageClient;
RefPtr<WebPageProxy> pageProxy;
@@ -355,7 +350,9 @@
static void webkitWebViewBaseDispose(GObject* gobject)
{
- webkitWebViewBaseSetToplevelOnScreenWindow(WEBKIT_WEB_VIEW_BASE(gobject), 0);
+ WebKitWebViewBase* webView = WEBKIT_WEB_VIEW_BASE(gobject);
+ webkitWebViewBaseSetToplevelOnScreenWindow(webView, nullptr);
+ webView->priv->pageProxy->close();
G_OBJECT_CLASS(webkit_web_view_base_parent_class)->dispose(gobject);
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes