Title: [92713] trunk/Source/WebKit2
Revision
92713
Author
ander...@apple.com
Date
2011-08-09 14:52:55 -0700 (Tue, 09 Aug 2011)

Log Message

Add a user default to disable the plug-in process message timeout
https://bugs.webkit.org/show_bug.cgi?id=65945

Reviewed by Adam Roben.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
Add a disablePluginProcessMessageTimeout member variable.

* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
Initialize the disablePluginProcessMessageTimeout member variable from the 
"DisablePluginProcessMessageTimeout" user default.

* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::defaultSyncMessageTimeout):
Return NoTimeout if WebProcess::disablePluginProcessMessageTimeout returns true.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
Initialize m_disablePluginProcessMessageTimeout.
        
* WebProcess/WebProcess.h:
(WebKit::WebProcess::disablePluginProcessMessageTimeout):
Add getter.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (92712 => 92713)


--- trunk/Source/WebKit2/ChangeLog	2011-08-09 21:52:39 UTC (rev 92712)
+++ trunk/Source/WebKit2/ChangeLog	2011-08-09 21:52:55 UTC (rev 92713)
@@ -1,3 +1,34 @@
+2011-08-09  Anders Carlsson  <ander...@apple.com>
+
+        Add a user default to disable the plug-in process message timeout
+        https://bugs.webkit.org/show_bug.cgi?id=65945
+
+        Reviewed by Adam Roben.
+
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::encode):
+        (WebKit::WebProcessCreationParameters::decode):
+        * Shared/WebProcessCreationParameters.h:
+        Add a disablePluginProcessMessageTimeout member variable.
+
+        * UIProcess/mac/WebContextMac.mm:
+        (WebKit::WebContext::platformInitializeWebProcess):
+        Initialize the disablePluginProcessMessageTimeout member variable from the 
+        "DisablePluginProcessMessageTimeout" user default.
+
+        * WebProcess/Plugins/PluginProcessConnection.cpp:
+        (WebKit::defaultSyncMessageTimeout):
+        Return NoTimeout if WebProcess::disablePluginProcessMessageTimeout returns true.
+
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::WebProcess):
+        (WebKit::WebProcess::initializeWebProcess):
+        Initialize m_disablePluginProcessMessageTimeout.
+        
+        * WebProcess/WebProcess.h:
+        (WebKit::WebProcess::disablePluginProcessMessageTimeout):
+        Add getter.
+
 2011-08-09  Mark Hahnenberg  <mhahnenb...@apple.com>
 
         Add ParentClass typedef in all JSC classes

Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp (92712 => 92713)


--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp	2011-08-09 21:52:39 UTC (rev 92712)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp	2011-08-09 21:52:55 UTC (rev 92713)
@@ -61,6 +61,9 @@
     encoder->encode(shouldTrackVisitedLinks);
     encoder->encode(shouldAlwaysUseComplexTextCodePath);
     encoder->encode(iconDatabaseEnabled);
+#if ENABLE(PLUGIN_PROCESS)
+    encoder->encode(disablePluginProcessMessageTimeout);
+#endif
     encoder->encode(languageCode);
     encoder->encode(textCheckerState);
     encoder->encode(defaultRequestTimeoutInterval);
@@ -118,6 +121,11 @@
         return false;
     if (!decoder->decode(parameters.iconDatabaseEnabled))
         return false;
+#if ENABLE(PLUGIN_PROCESS)
+    if (!decoder->decode(parameters.disablePluginProcessMessageTimeout))
+        return false;
+#endif
+
     if (!decoder->decode(parameters.languageCode))
         return false;
     if (!decoder->decode(parameters.textCheckerState))

Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h (92712 => 92713)


--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h	2011-08-09 21:52:39 UTC (rev 92712)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h	2011-08-09 21:52:55 UTC (rev 92713)
@@ -70,6 +70,10 @@
 
     bool iconDatabaseEnabled;
 
+#if ENABLE(PLUGIN_PROCESS)
+    bool disablePluginProcessMessageTimeout;
+#endif
+
     String languageCode;
 
     TextCheckerState textCheckerState;

Modified: trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm (92712 => 92713)


--- trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm	2011-08-09 21:52:39 UTC (rev 92712)
+++ trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm	2011-08-09 21:52:55 UTC (rev 92713)
@@ -86,6 +86,10 @@
 
     ASSERT(!parameters.nsURLCachePath.isEmpty());
 
+#if ENABLE(PLUGIN_PROCESS)
+    parameters.disablePluginProcessMessageTimeout = [[NSUserDefaults standardUserDefaults] boolForKey:@"DisablePluginProcessMessageTimeout"];
+#endif
+
 #if USE(ACCELERATED_COMPOSITING) && HAVE(HOSTED_CORE_ANIMATION)
     mach_port_t renderServerPort = WKInitializeRenderServer();
     if (renderServerPort != MACH_PORT_NULL)

Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp (92712 => 92713)


--- trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp	2011-08-09 21:52:39 UTC (rev 92712)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp	2011-08-09 21:52:55 UTC (rev 92713)
@@ -64,6 +64,9 @@
     if (pathGetFileName(pluginPath) == "PersonalPlugin.bundle")
         return CoreIPC::Connection::NoTimeout;
 
+    if (WebProcess::shared().disablePluginProcessMessageTimeout())
+        return CoreIPC::Connection::NoTimeout;
+
     return syncMessageTimeout;
 }
 

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (92712 => 92713)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2011-08-09 21:52:39 UTC (rev 92712)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2011-08-09 21:52:55 UTC (rev 92713)
@@ -134,6 +134,9 @@
     , m_textCheckerState()
     , m_geolocationManager(this)
     , m_iconDatabaseProxy(this)
+#if ENABLE(PLUGIN_PROCESS)
+    , m_disablePluginProcessMessageTimeout(false)
+#endif
 {
 #if USE(PLATFORM_STRATEGIES)
     // Initialize our platform strategies.
@@ -233,6 +236,10 @@
 #if USE(CFURLSTORAGESESSIONS)
     WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase(parameters.uiProcessBundleIdentifier);
 #endif
+
+#if ENABLE(PLUGIN_PROCESS)
+    m_disablePluginProcessMessageTimeout = parameters.disablePluginProcessMessageTimeout;
+#endif
 }
 
 void WebProcess::setShouldTrackVisitedLinks(bool shouldTrackVisitedLinks)

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (92712 => 92713)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2011-08-09 21:52:39 UTC (rev 92712)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2011-08-09 21:52:55 UTC (rev 92713)
@@ -126,6 +126,7 @@
 
 #if ENABLE(PLUGIN_PROCESS)
     PluginProcessConnectionManager& pluginProcessConnectionManager() { return m_pluginProcessConnectionManager; }
+    bool disablePluginProcessMessageTimeout() const { return m_disablePluginProcessMessageTimeout; }
 #endif
 
 private:
@@ -240,7 +241,9 @@
 
 #if ENABLE(PLUGIN_PROCESS)
     PluginProcessConnectionManager m_pluginProcessConnectionManager;
+    bool m_disablePluginProcessMessageTimeout;
 #endif
+
 };
 
 } // namespace WebKit
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to