Title: [174564] releases/WebKitGTK/webkit-2.6/Source/WebKit2
- Revision
- 174564
- Author
- carlo...@webkit.org
- Date
- 2014-10-10 01:01:33 -0700 (Fri, 10 Oct 2014)
Log Message
Merge r174507 - [X11] Plugin process crashes in NetscapePlugin::platformPostInitialize()
https://bugs.webkit.org/show_bug.cgi?id=137426
Reviewed by Darin Adler.
For some reason flash crashes when NPP_GetValue is called with
NPPVpluginCancelSrcStream, but only in windowed mode. Not calling
NPP_GetValue and unconditionally loading the source URL in the
browser fixes the crash and plugins work normally. We can handle
this particular case with a new quirk.
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::determineQuirks): Add
DoNotCancelSrcStreamInWindowedMode quirk if it's flash plugin.
* Shared/Plugins/PluginQuirks.h: Add
DoNotCancelSrcStreamInWindowedMode quirk.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::shouldLoadSrcURL): Return early if plugin
is windowed and DoNotCancelSrcStreamInWindowedMode quirk is present.
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.6/Source/WebKit2/ChangeLog (174563 => 174564)
--- releases/WebKitGTK/webkit-2.6/Source/WebKit2/ChangeLog 2014-10-10 06:56:34 UTC (rev 174563)
+++ releases/WebKitGTK/webkit-2.6/Source/WebKit2/ChangeLog 2014-10-10 08:01:33 UTC (rev 174564)
@@ -1,3 +1,25 @@
+2014-10-09 Carlos Garcia Campos <cgar...@igalia.com>
+
+ [X11] Plugin process crashes in NetscapePlugin::platformPostInitialize()
+ https://bugs.webkit.org/show_bug.cgi?id=137426
+
+ Reviewed by Darin Adler.
+
+ For some reason flash crashes when NPP_GetValue is called with
+ NPPVpluginCancelSrcStream, but only in windowed mode. Not calling
+ NPP_GetValue and unconditionally loading the source URL in the
+ browser fixes the crash and plugins work normally. We can handle
+ this particular case with a new quirk.
+
+ * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
+ (WebKit::NetscapePluginModule::determineQuirks): Add
+ DoNotCancelSrcStreamInWindowedMode quirk if it's flash plugin.
+ * Shared/Plugins/PluginQuirks.h: Add
+ DoNotCancelSrcStreamInWindowedMode quirk.
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::shouldLoadSrcURL): Return early if plugin
+ is windowed and DoNotCancelSrcStreamInWindowedMode quirk is present.
+
2014-09-25 Tim Horton <timothy_hor...@apple.com>
CommitLayerTree decode fails in 32-bit apps on 64-bit devices (TransformationMatrix alignment differs)
Modified: releases/WebKitGTK/webkit-2.6/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp (174563 => 174564)
--- releases/WebKitGTK/webkit-2.6/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp 2014-10-10 06:56:34 UTC (rev 174563)
+++ releases/WebKitGTK/webkit-2.6/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp 2014-10-10 08:01:33 UTC (rev 174564)
@@ -189,6 +189,7 @@
#if PLATFORM(EFL)
m_pluginQuirks.add(PluginQuirks::ForceFlashWindowlessMode);
#endif
+ m_pluginQuirks.add(PluginQuirks::DoNotCancelSrcStreamInWindowedMode);
break;
}
}
Modified: releases/WebKitGTK/webkit-2.6/Source/WebKit2/Shared/Plugins/PluginQuirks.h (174563 => 174564)
--- releases/WebKitGTK/webkit-2.6/Source/WebKit2/Shared/Plugins/PluginQuirks.h 2014-10-10 06:56:34 UTC (rev 174563)
+++ releases/WebKitGTK/webkit-2.6/Source/WebKit2/Shared/Plugins/PluginQuirks.h 2014-10-10 08:01:33 UTC (rev 174564)
@@ -92,6 +92,9 @@
// Some ports don't support windowed plugins.
ForceFlashWindowlessMode,
+ // Flash crashes when NPP_GetValue is called for NPPVpluginCancelSrcStream in windowed mode.
+ DoNotCancelSrcStreamInWindowedMode,
+
// Windows specific quirks:
#elif PLUGIN_ARCHITECTURE(WIN)
// Whether NPN_UserAgent should always return a Mozilla user agent.
Modified: releases/WebKitGTK/webkit-2.6/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp (174563 => 174564)
--- releases/WebKitGTK/webkit-2.6/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp 2014-10-10 06:56:34 UTC (rev 174563)
+++ releases/WebKitGTK/webkit-2.6/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp 2014-10-10 08:01:33 UTC (rev 174564)
@@ -507,6 +507,12 @@
bool NetscapePlugin::shouldLoadSrcURL()
{
+#if PLUGIN_ARCHITECTURE(X11)
+ // Flash crashes when NPP_GetValue is called for NPPVpluginCancelSrcStream in windowed mode.
+ if (m_isWindowed && m_pluginModule->pluginQuirks().contains(PluginQuirks::DoNotCancelSrcStreamInWindowedMode))
+ return true;
+#endif
+
// Check if we should cancel the load
NPBool cancelSrcStream = false;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes