Title: [280291] trunk/Source/WebKit
- Revision
- 280291
- Author
- [email protected]
- Date
- 2021-07-26 00:48:44 -0700 (Mon, 26 Jul 2021)
Log Message
[GTK] MiniBrowser crashes when closed while capturing desktop
https://bugs.webkit.org/show_bug.cgi?id=228232
Patch by Philippe Normand <[email protected]> on 2021-07-26
Reviewed by Adrian Perez de Castro.
Disconnect the WebView from the WebPageProxy just before the final GObject dispose call, in
order to avoid UIClient notifications on the being-disposed WebView.
* UIProcess/API/glib/WebKitUIClient.cpp:
(detachUIClientFromView):
* UIProcess/API/glib/WebKitUIClient.h:
* UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewDispose):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (280290 => 280291)
--- trunk/Source/WebKit/ChangeLog 2021-07-26 07:42:45 UTC (rev 280290)
+++ trunk/Source/WebKit/ChangeLog 2021-07-26 07:48:44 UTC (rev 280291)
@@ -1,3 +1,19 @@
+2021-07-26 Philippe Normand <[email protected]>
+
+ [GTK] MiniBrowser crashes when closed while capturing desktop
+ https://bugs.webkit.org/show_bug.cgi?id=228232
+
+ Reviewed by Adrian Perez de Castro.
+
+ Disconnect the WebView from the WebPageProxy just before the final GObject dispose call, in
+ order to avoid UIClient notifications on the being-disposed WebView.
+
+ * UIProcess/API/glib/WebKitUIClient.cpp:
+ (detachUIClientFromView):
+ * UIProcess/API/glib/WebKitUIClient.h:
+ * UIProcess/API/glib/WebKitWebView.cpp:
+ (webkitWebViewDispose):
+
2021-07-25 Wenson Hsieh <[email protected]>
[iOS] Unified field is unselected after focusing URL bar if text was selected in a fixed position container
Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp (280290 => 280291)
--- trunk/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp 2021-07-26 07:42:45 UTC (rev 280290)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp 2021-07-26 07:48:44 UTC (rev 280291)
@@ -389,3 +389,7 @@
webkitWebViewGetPage(webView).setUIClient(makeUnique<UIClient>(webView));
}
+void detachUIClientFromView(WebKitWebView* webView)
+{
+ webkitWebViewGetPage(webView).setUIClient(nullptr);
+}
Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitUIClient.h (280290 => 280291)
--- trunk/Source/WebKit/UIProcess/API/glib/WebKitUIClient.h 2021-07-26 07:42:45 UTC (rev 280290)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitUIClient.h 2021-07-26 07:48:44 UTC (rev 280291)
@@ -22,3 +22,4 @@
#include "WebKitWebView.h"
void attachUIClientToView(WebKitWebView*);
+void detachUIClientFromView(WebKitWebView*);
Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp (280290 => 280291)
--- trunk/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp 2021-07-26 07:42:45 UTC (rev 280290)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp 2021-07-26 07:48:44 UTC (rev 280291)
@@ -1017,6 +1017,7 @@
#endif
WebCore::setScreenDPIObserverHandler(nullptr, webView);
+ detachUIClientFromView(webView);
G_OBJECT_CLASS(webkit_web_view_parent_class)->dispose(object);
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes