Title: [196499] trunk/Source/WebKit2
Revision
196499
Author
ander...@apple.com
Date
2016-02-12 13:11:28 -0800 (Fri, 12 Feb 2016)

Log Message

Use different process types for 32-bit and 64-bit plug-ins
https://bugs.webkit.org/show_bug.cgi?id=154186

Reviewed by Tim Horton.

* UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::getLaunchOptions):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName):
(WebKit::shouldLeakBoost):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getLaunchOptions):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::getLaunchOptions): Deleted.
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformGetLaunchOptions):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (196498 => 196499)


--- trunk/Source/WebKit2/ChangeLog	2016-02-12 20:46:30 UTC (rev 196498)
+++ trunk/Source/WebKit2/ChangeLog	2016-02-12 21:11:28 UTC (rev 196499)
@@ -1,3 +1,25 @@
+2016-02-12  Anders Carlsson  <ander...@apple.com>
+
+        Use different process types for 32-bit and 64-bit plug-ins
+        https://bugs.webkit.org/show_bug.cgi?id=154186
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/Databases/DatabaseProcessProxy.cpp:
+        (WebKit::DatabaseProcessProxy::getLaunchOptions):
+        * UIProcess/Launcher/ProcessLauncher.h:
+        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+        (WebKit::serviceName):
+        (WebKit::shouldLeakBoost):
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::getLaunchOptions):
+        * UIProcess/Plugins/PluginProcessProxy.cpp:
+        (WebKit::PluginProcessProxy::getLaunchOptions): Deleted.
+        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
+        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::getLaunchOptions):
+
 2016-02-12  Beth Dakin  <bda...@apple.com>
 
         Re-name isClickableElement in InteractionInformationAtPosition to isElement

Modified: trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp (196498 => 196499)


--- trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp	2016-02-12 20:46:30 UTC (rev 196498)
+++ trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp	2016-02-12 21:11:28 UTC (rev 196499)
@@ -66,7 +66,7 @@
 
 void DatabaseProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)
 {
-    launchOptions.processType = ProcessLauncher::DatabaseProcess;
+    launchOptions.processType = ProcessLauncher::ProcessType::Database;
     ChildProcessProxy::getLaunchOptions(launchOptions);
     platformGetLaunchOptions(launchOptions);
 }

Modified: trunk/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h (196498 => 196499)


--- trunk/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h	2016-02-12 20:46:30 UTC (rev 196498)
+++ trunk/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h	2016-02-12 21:11:28 UTC (rev 196499)
@@ -45,14 +45,15 @@
         virtual void didFinishLaunching(ProcessLauncher*, IPC::Connection::Identifier) = 0;
     };
     
-    enum ProcessType {
-        WebProcess,
+    enum class ProcessType {
+        Web,
 #if ENABLE(NETSCAPE_PLUGIN_API)
-        PluginProcess,
+        Plugin32,
+        Plugin64,
 #endif
-        NetworkProcess,
+        Network,
 #if ENABLE(DATABASE_PROCESS)
-        DatabaseProcess,
+        Database,
 #endif
     };
 

Modified: trunk/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm (196498 => 196499)


--- trunk/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm	2016-02-12 20:46:30 UTC (rev 196498)
+++ trunk/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm	2016-02-12 21:11:28 UTC (rev 196499)
@@ -84,24 +84,19 @@
 static const char* serviceName(const ProcessLauncher::LaunchOptions& launchOptions)
 {
     switch (launchOptions.processType) {
-    case ProcessLauncher::WebProcess:
+    case ProcessLauncher::ProcessType::Web:
         return "com.apple.WebKit.WebContent" WK_XPC_SERVICE_SUFFIX;
-    case ProcessLauncher::NetworkProcess:
+    case ProcessLauncher::ProcessType::Network:
         return "com.apple.WebKit.Networking" WK_XPC_SERVICE_SUFFIX;
 #if ENABLE(DATABASE_PROCESS)
-    case ProcessLauncher::DatabaseProcess:
+    case ProcessLauncher::ProcessType::Database:
         return "com.apple.WebKit.Databases" WK_XPC_SERVICE_SUFFIX;
 #endif
 #if ENABLE(NETSCAPE_PLUGIN_API)
-    case ProcessLauncher::PluginProcess:
-        // FIXME: Support plugins that require an executable heap.
-        if (launchOptions.architecture == CPU_TYPE_X86)
-            return "com.apple.WebKit.Plugin.32" WK_XPC_SERVICE_SUFFIX;
-        if (launchOptions.architecture == CPU_TYPE_X86_64)
-            return "com.apple.WebKit.Plugin.64" WK_XPC_SERVICE_SUFFIX;
-
-        ASSERT_NOT_REACHED();
-        return 0;
+    case ProcessLauncher::ProcessType::Plugin32:
+        return "com.apple.WebKit.Plugin.32" WK_XPC_SERVICE_SUFFIX;
+    case ProcessLauncher::ProcessType::Plugin64:
+        return "com.apple.WebKit.Plugin.64" WK_XPC_SERVICE_SUFFIX;
 #endif
     }
 }
@@ -114,7 +109,7 @@
     return true;
 #else
     // On Mac, leak a boost onto the NetworkProcess.
-    return launchOptions.processType == ProcessLauncher::NetworkProcess;
+    return launchOptions.processType == ProcessLauncher::ProcessType::Network;
 #endif
 }
     

Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp (196498 => 196499)


--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp	2016-02-12 20:46:30 UTC (rev 196498)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp	2016-02-12 21:11:28 UTC (rev 196499)
@@ -80,7 +80,7 @@
 
 void NetworkProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)
 {
-    launchOptions.processType = ProcessLauncher::NetworkProcess;
+    launchOptions.processType = ProcessLauncher::ProcessType::Network;
     ChildProcessProxy::getLaunchOptions(launchOptions);
     platformGetLaunchOptions(launchOptions);
 }

Modified: trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp (196498 => 196499)


--- trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp	2016-02-12 20:46:30 UTC (rev 196498)
+++ trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp	2016-02-12 21:11:28 UTC (rev 196499)
@@ -84,7 +84,6 @@
 
 void PluginProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)
 {
-    launchOptions.processType = ProcessLauncher::PluginProcess;
     ChildProcessProxy::getLaunchOptions(launchOptions);
     platformGetLaunchOptions(launchOptions, m_pluginProcessAttributes);
 }

Modified: trunk/Source/WebKit2/UIProcess/Plugins/mac/PluginProcessProxyMac.mm (196498 => 196499)


--- trunk/Source/WebKit2/UIProcess/Plugins/mac/PluginProcessProxyMac.mm	2016-02-12 20:46:30 UTC (rev 196498)
+++ trunk/Source/WebKit2/UIProcess/Plugins/mac/PluginProcessProxyMac.mm	2016-02-12 21:11:28 UTC (rev 196499)
@@ -113,6 +113,11 @@
 
 void PluginProcessProxy::platformGetLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions, const PluginProcessAttributes& pluginProcessAttributes)
 {
+    if (pluginProcessAttributes.moduleInfo.pluginArchitecture == CPU_TYPE_X86)
+        launchOptions.processType = ProcessLauncher::ProcessType::Plugin32;
+    else
+        launchOptions.processType = ProcessLauncher::ProcessType::Plugin64;
+
     launchOptions.architecture = pluginProcessAttributes.moduleInfo.pluginArchitecture;
     launchOptions.executableHeap = PluginProcessProxy::pluginNeedsExecutableHeap(pluginProcessAttributes.moduleInfo);
     launchOptions.extraInitializationData.add("plugin-path", pluginProcessAttributes.moduleInfo.path);

Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (196498 => 196499)


--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2016-02-12 20:46:30 UTC (rev 196498)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2016-02-12 21:11:28 UTC (rev 196499)
@@ -129,7 +129,7 @@
 
 void WebProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)
 {
-    launchOptions.processType = ProcessLauncher::WebProcess;
+    launchOptions.processType = ProcessLauncher::ProcessType::Web;
 
     ChildProcessProxy::getLaunchOptions(launchOptions);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to