Title: [198051] trunk/Source/WebKit2
Revision
198051
Author
[email protected]
Date
2016-03-11 15:24:00 -0800 (Fri, 11 Mar 2016)

Log Message

Regression(r198040): WebKit2.DocumentStartUserScriptAlertCrashTest API test is crashing in debug
https://bugs.webkit.org/show_bug.cgi?id=155382

Reviewed by Alexey Proskuryakov.

r198040 introduced an assertion to make sure we never call
applicationBundleIsEqualTo() before setApplicationBundleIdentifier()
is called. This new assertion found a bug as it turns out we were
calling setApplicationBundleIdentifier() too late during the
WebProcess initialization and some runtime applications checks were
already done by then.

To address the problem, this patch moves the
setApplicationBundleIdentifier() call as early as possible during
the WebProcess and the NetworkProcess initialization. It also moves
it to the Cocoa specific files for clarity.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (198050 => 198051)


--- trunk/Source/WebKit2/ChangeLog	2016-03-11 23:15:08 UTC (rev 198050)
+++ trunk/Source/WebKit2/ChangeLog	2016-03-11 23:24:00 UTC (rev 198051)
@@ -1,3 +1,31 @@
+2016-03-11  Chris Dumez  <[email protected]>
+
+        Regression(r198040): WebKit2.DocumentStartUserScriptAlertCrashTest API test is crashing in debug
+        https://bugs.webkit.org/show_bug.cgi?id=155382
+
+        Reviewed by Alexey Proskuryakov.
+
+        r198040 introduced an assertion to make sure we never call
+        applicationBundleIsEqualTo() before setApplicationBundleIdentifier()
+        is called. This new assertion found a bug as it turns out we were
+        calling setApplicationBundleIdentifier() too late during the
+        WebProcess initialization and some runtime applications checks were
+        already done by then.
+
+        To address the problem, this patch moves the
+        setApplicationBundleIdentifier() call as early as possible during
+        the WebProcess and the NetworkProcess initialization. It also moves
+        it to the Cocoa specific files for clarity.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::initializeNetworkProcess):
+        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
+        (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeWebProcess):
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::platformInitializeWebProcess):
+
 2016-03-11  Enrica Casucci  <[email protected]>
 
         Use only selected text for Look up.

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp (198050 => 198051)


--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp	2016-03-11 23:15:08 UTC (rev 198050)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp	2016-03-11 23:24:00 UTC (rev 198051)
@@ -215,7 +215,6 @@
     setCanHandleHTTPSServerTrustEvaluation(parameters.canHandleHTTPSServerTrustEvaluation);
 
 #if PLATFORM(COCOA) || USE(CFNETWORK)
-    setApplicationBundleIdentifier(parameters.uiProcessBundleIdentifier);
     SessionTracker::setIdentifierBase(parameters.uiProcessBundleIdentifier);
 #endif
 

Modified: trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm (198050 => 198051)


--- trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm	2016-03-11 23:15:08 UTC (rev 198050)
+++ trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm	2016-03-11 23:24:00 UTC (rev 198051)
@@ -34,6 +34,7 @@
 #import <WebCore/NetworkStorageSession.h>
 #import <WebCore/PublicSuffix.h>
 #import <WebCore/ResourceRequestCFNet.h>
+#import <WebCore/RuntimeApplicationChecks.h>
 #import <WebCore/SecurityOrigin.h>
 #import <WebCore/SecurityOriginData.h>
 #import <WebKitSystemInterface.h>
@@ -67,6 +68,8 @@
 
 void NetworkProcess::platformInitializeNetworkProcessCocoa(const NetworkProcessCreationParameters& parameters)
 {
+    WebCore::setApplicationBundleIdentifier(parameters.uiProcessBundleIdentifier);
+
 #if PLATFORM(IOS)
     SandboxExtension::consumePermanently(parameters.cookieStorageDirectoryExtensionHandle);
     SandboxExtension::consumePermanently(parameters.containerCachesDirectoryExtensionHandle);

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (198050 => 198051)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2016-03-11 23:15:08 UTC (rev 198050)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2016-03-11 23:24:00 UTC (rev 198051)
@@ -347,7 +347,6 @@
     enableSmoothedLayerText(parameters.enabledSmoothedLayerText);
         
 #if PLATFORM(COCOA) || USE(CFNETWORK)
-    setApplicationBundleIdentifier(parameters.uiProcessBundleIdentifier);
     SessionTracker::setIdentifierBase(parameters.uiProcessBundleIdentifier);
 #endif
 

Modified: trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm (198050 => 198051)


--- trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm	2016-03-11 23:15:08 UTC (rev 198050)
+++ trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm	2016-03-11 23:24:00 UTC (rev 198051)
@@ -52,6 +52,7 @@
 #import <WebCore/MemoryPressureHandler.h>
 #import <WebCore/NSAccessibilitySPI.h>
 #import <WebCore/PageCache.h>
+#import <WebCore/RuntimeApplicationChecks.h>
 #import <WebCore/pthreadSPI.h>
 #import <WebCore/VNodeTracker.h>
 #import <WebCore/WebCoreNSURLExtras.h>
@@ -128,6 +129,8 @@
 
 void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters&& parameters)
 {
+    WebCore::setApplicationBundleIdentifier(parameters.uiProcessBundleIdentifier);
+
 #if ENABLE(SANDBOX_EXTENSIONS)
     SandboxExtension::consumePermanently(parameters.uiProcessBundleResourcePathExtensionHandle);
     SandboxExtension::consumePermanently(parameters.webSQLDatabaseDirectoryExtensionHandle);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to