Title: [208272] trunk/Source/WebKit2
Revision
208272
Author
[email protected]
Date
2016-11-02 02:41:38 -0700 (Wed, 02 Nov 2016)

Log Message

[GTK] Plugin process crash in WebKit::NetscapePluginX11::visibilityDidChange with evince browser plugin
https://bugs.webkit.org/show_bug.cgi?id=164204

Reviewed by Michael Catanzaro.

Check the platform plugin widget is embedded before trying to get its socket window.

* WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
(WebKit::NetscapePluginX11::geometryDidChange):
(WebKit::NetscapePluginX11::visibilityDidChange):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (208271 => 208272)


--- trunk/Source/WebKit2/ChangeLog	2016-11-02 07:58:42 UTC (rev 208271)
+++ trunk/Source/WebKit2/ChangeLog	2016-11-02 09:41:38 UTC (rev 208272)
@@ -1,3 +1,16 @@
+2016-11-02  Carlos Garcia Campos  <[email protected]>
+
+        [GTK] Plugin process crash in WebKit::NetscapePluginX11::visibilityDidChange with evince browser plugin
+        https://bugs.webkit.org/show_bug.cgi?id=164204
+
+        Reviewed by Michael Catanzaro.
+
+        Check the platform plugin widget is embedded before trying to get its socket window.
+
+        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
+        (WebKit::NetscapePluginX11::geometryDidChange):
+        (WebKit::NetscapePluginX11::visibilityDidChange):
+
 2016-11-01  Wenson Hsieh  <[email protected]>
 
         Turn the Input Events runtime flag on by default

Modified: trunk/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp (208271 => 208272)


--- trunk/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp	2016-11-02 07:58:42 UTC (rev 208271)
+++ trunk/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp	2016-11-02 09:41:38 UTC (rev 208272)
@@ -245,6 +245,8 @@
     if (m_plugin.isWindowed()) {
         uint64_t windowID = 0;
 #if PLATFORM(GTK)
+        if (!gtk_plug_get_embedded(GTK_PLUG(m_platformPluginWidget)))
+            return;
         windowID = static_cast<uint64_t>(GDK_WINDOW_XID(gtk_plug_get_socket_window(GTK_PLUG(m_platformPluginWidget))));
 #endif
         m_plugin.controller()->windowedPluginGeometryDidChange(m_plugin.frameRectInWindowCoordinates(), m_plugin.clipRect(), windowID);
@@ -264,6 +266,8 @@
     ASSERT(m_plugin.isWindowed());
     uint64_t windowID = 0;
 #if PLATFORM(GTK)
+    if (!gtk_plug_get_embedded(GTK_PLUG(m_platformPluginWidget)))
+        return;
     windowID = static_cast<uint64_t>(GDK_WINDOW_XID(gtk_plug_get_socket_window(GTK_PLUG(m_platformPluginWidget))));
 #endif
     m_plugin.controller()->windowedPluginVisibilityDidChange(m_plugin.isVisible(), windowID);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to