Title: [164256] trunk/Source/WebKit2
Revision
164256
Author
[email protected]
Date
2014-02-17 16:16:34 -0800 (Mon, 17 Feb 2014)

Log Message

[WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
https://bugs.webkit.org/show_bug.cgi?id=128939

Reviewed by Dan Bernstein.

* WebKit2.xcodeproj/project.pbxproj:
Add/remove files/groups.

* WebProcess/WebProcess.h:
Change stopRunLoop() to be AppKit only.

* WebProcess/cocoa: Added.
* WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm.
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::updateActivePages):
* WebProcess/ios/WebProcessIOS.mm: Removed.
* WebProcess/mac/WebProcessMac.mm: Removed.
Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (164255 => 164256)


--- trunk/Source/WebKit2/ChangeLog	2014-02-18 00:08:02 UTC (rev 164255)
+++ trunk/Source/WebKit2/ChangeLog	2014-02-18 00:16:34 UTC (rev 164256)
@@ -1,3 +1,27 @@
+2014-02-17  Sam Weinig  <[email protected]>
+
+        [WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
+        https://bugs.webkit.org/show_bug.cgi?id=128939
+
+        Reviewed by Dan Bernstein.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+        Add/remove files/groups.
+
+        * WebProcess/WebProcess.h:
+        Change stopRunLoop() to be AppKit only.
+
+        * WebProcess/cocoa: Added.
+        * WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm.
+        (WebKit::WebProcess::platformInitializeWebProcess):
+        (WebKit::WebProcess::initializeProcessName):
+        (WebKit::WebProcess::platformInitializeProcess):
+        (WebKit::WebProcess::initializeSandbox):
+        (WebKit::WebProcess::updateActivePages):
+        * WebProcess/ios/WebProcessIOS.mm: Removed.
+        * WebProcess/mac/WebProcessMac.mm: Removed.
+        Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate.
+
 2014-02-17  Anders Carlsson  <[email protected]>
 
         Stop using isMainThread() in WebKit2

Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (164255 => 164256)


--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2014-02-18 00:08:02 UTC (rev 164255)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2014-02-18 00:16:34 UTC (rev 164256)
@@ -481,7 +481,6 @@
 		2DA944AE1884E9BA00ED86DB /* WebInspectorProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944AA1884E9BA00ED86DB /* WebInspectorProxyIOS.mm */; };
 		2DA944AF1884E9BA00ED86DB /* WebPageProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944AB1884E9BA00ED86DB /* WebPageProxyIOS.mm */; };
 		2DA944B01884E9BA00ED86DB /* WebProcessProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944AC1884E9BA00ED86DB /* WebProcessProxyIOS.mm */; };
-		2DA944B31884E9EC00ED86DB /* WebProcessIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944B21884E9EC00ED86DB /* WebProcessIOS.mm */; };
 		2DA944B91884EA3900ED86DB /* WebBackForwardListProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944B51884EA3500ED86DB /* WebBackForwardListProxyIOS.mm */; };
 		2DA944BA1884EA3C00ED86DB /* WebPageIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944B61884EA3500ED86DB /* WebPageIOS.mm */; };
 		2DA944BD188511E700ED86DB /* NetworkProcessIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944BC188511E700ED86DB /* NetworkProcessIOS.mm */; };
@@ -874,6 +873,7 @@
 		7C3F8C90173AF52D007B7F39 /* PluginInformation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C3F8C8E173AF52D007B7F39 /* PluginInformation.cpp */; };
 		7C3F8C91173AF52D007B7F39 /* PluginInformation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C3F8C8F173AF52D007B7F39 /* PluginInformation.h */; };
 		7C6D37FC172F555F009D2847 /* PageBannerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C6D37FA172F555F009D2847 /* PageBannerMac.mm */; };
+		7C6E70FB18B2DC7A00F24E2E /* WebProcessCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C6E70F918B2D4A000F24E2E /* WebProcessCocoa.mm */; };
 		7C9D1537184584DA009D3918 /* WKBrowsingContextGroupInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9D1536184584DA009D3918 /* WKBrowsingContextGroupInternal.h */; };
 		7CA254EB182993CE00FC8A41 /* WKBrowsingContextPolicyDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CA254EA182993CE00FC8A41 /* WKBrowsingContextPolicyDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		7CB16FEF1724BA23007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb in Copy Plug-in Sandbox Profiles */ = {isa = PBXBuildFile; fileRef = 7CB16FE21724B9B5007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb */; };
@@ -1033,7 +1033,6 @@
 		BC2D021912AC426C00E732A3 /* WKPageLoadTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = BC2D021812AC426C00E732A3 /* WKPageLoadTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		BC2E6E8D1141971500A63B1E /* WorkQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2E6E7D1141970C00A63B1E /* WorkQueue.cpp */; };
 		BC2E6E8E1141971500A63B1E /* WorkQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = BC2E6E7E1141970C00A63B1E /* WorkQueue.h */; };
-		BC3065C412592F8900E71278 /* WebProcessMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC3065C312592F8900E71278 /* WebProcessMac.mm */; };
 		BC3065FA1259344E00E71278 /* CacheModel.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3065F91259344E00E71278 /* CacheModel.h */; };
 		BC3066BE125A442100E71278 /* WebProcessMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3066BC125A442100E71278 /* WebProcessMessageReceiver.cpp */; };
 		BC3066BF125A442100E71278 /* WebProcessMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3066BD125A442100E71278 /* WebProcessMessages.h */; };
@@ -2184,7 +2183,6 @@
 		2DA944AA1884E9BA00ED86DB /* WebInspectorProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebInspectorProxyIOS.mm; path = ios/WebInspectorProxyIOS.mm; sourceTree = "<group>"; };
 		2DA944AB1884E9BA00ED86DB /* WebPageProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebPageProxyIOS.mm; path = ios/WebPageProxyIOS.mm; sourceTree = "<group>"; };
 		2DA944AC1884E9BA00ED86DB /* WebProcessProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebProcessProxyIOS.mm; path = ios/WebProcessProxyIOS.mm; sourceTree = "<group>"; };
-		2DA944B21884E9EC00ED86DB /* WebProcessIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebProcessIOS.mm; path = ios/WebProcessIOS.mm; sourceTree = "<group>"; };
 		2DA944B51884EA3500ED86DB /* WebBackForwardListProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebBackForwardListProxyIOS.mm; path = ios/WebBackForwardListProxyIOS.mm; sourceTree = "<group>"; };
 		2DA944B61884EA3500ED86DB /* WebPageIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebPageIOS.mm; path = ios/WebPageIOS.mm; sourceTree = "<group>"; };
 		2DA944BC188511E700ED86DB /* NetworkProcessIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NetworkProcessIOS.mm; path = NetworkProcess/ios/NetworkProcessIOS.mm; sourceTree = "<group>"; };
@@ -2619,6 +2617,7 @@
 		7C3F8C8E173AF52D007B7F39 /* PluginInformation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginInformation.cpp; sourceTree = "<group>"; };
 		7C3F8C8F173AF52D007B7F39 /* PluginInformation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginInformation.h; sourceTree = "<group>"; };
 		7C6D37FA172F555F009D2847 /* PageBannerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PageBannerMac.mm; sourceTree = "<group>"; };
+		7C6E70F918B2D4A000F24E2E /* WebProcessCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebProcessCocoa.mm; sourceTree = "<group>"; };
 		7C9D1536184584DA009D3918 /* WKBrowsingContextGroupInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBrowsingContextGroupInternal.h; sourceTree = "<group>"; };
 		7CA254EA182993CE00FC8A41 /* WKBrowsingContextPolicyDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBrowsingContextPolicyDelegate.h; sourceTree = "<group>"; };
 		7CB16FE21724B9B5007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.apple.ist.ds.appleconnect.webplugin.sb; sourceTree = "<group>"; };
@@ -2791,7 +2790,6 @@
 		BC2D021812AC426C00E732A3 /* WKPageLoadTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPageLoadTypes.h; sourceTree = "<group>"; };
 		BC2E6E7D1141970C00A63B1E /* WorkQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkQueue.cpp; sourceTree = "<group>"; };
 		BC2E6E7E1141970C00A63B1E /* WorkQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkQueue.h; sourceTree = "<group>"; };
-		BC3065C312592F8900E71278 /* WebProcessMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebProcessMac.mm; sourceTree = "<group>"; };
 		BC3065F91259344E00E71278 /* CacheModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CacheModel.h; sourceTree = "<group>"; };
 		BC3066B9125A436300E71278 /* WebProcess.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebProcess.messages.in; sourceTree = "<group>"; };
 		BC3066BC125A442100E71278 /* WebProcessMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebProcessMessageReceiver.cpp; sourceTree = "<group>"; };
@@ -3686,14 +3684,6 @@
 			tabWidth = 8;
 			usesTabs = 0;
 		};
-		1A6FA01C11E1526300DB1371 /* mac */ = {
-			isa = PBXGroup;
-			children = (
-				BC3065C312592F8900E71278 /* WebProcessMac.mm */,
-			);
-			path = mac;
-			sourceTree = "<group>";
-		};
 		1A6FB7AA11E64B4900DB1371 /* Plugins */ = {
 			isa = PBXGroup;
 			children = (
@@ -4242,7 +4232,6 @@
 		2DA944B11884E9DF00ED86DB /* ios */ = {
 			isa = PBXGroup;
 			children = (
-				2DA944B21884E9EC00ED86DB /* WebProcessIOS.mm */,
 				3F889D0D1887699C00FEADAF /* WebVideoFullscreenManager.cpp */,
 				3F889D0E1887699C00FEADAF /* WebVideoFullscreenManager.h */,
 				3F889D101887710000FEADAF /* WebVideoFullscreenManager.messages.in */,
@@ -4840,6 +4829,14 @@
 			name = OriginData;
 			sourceTree = "<group>";
 		};
+		7C6E70F818B2D47E00F24E2E /* cocoa */ = {
+			isa = PBXGroup;
+			children = (
+				7C6E70F918B2D4A000F24E2E /* WebProcessCocoa.mm */,
+			);
+			path = cocoa;
+			sourceTree = "<group>";
+		};
 		7CB16FE11724B9B5007A0A95 /* PlugInSandboxProfiles */ = {
 			isa = PBXGroup;
 			children = (
@@ -4889,9 +4886,8 @@
 		BC032D5C10F436D50058C15A /* WebProcess */ = {
 			isa = PBXGroup;
 			children = (
-				2DA944B11884E9DF00ED86DB /* ios */,
-				755422C518064FFC0046F6A8 /* OriginData */,
 				512E352A130B559900ABD19A /* ApplicationCache */,
+				7C6E70F818B2D47E00F24E2E /* cocoa */,
 				3309344B1315B93A0097A7BC /* Cookies */,
 				512A9754180DF9270039A149 /* Databases */,
 				BCACC43B16B24C5D00B6E092 /* EntryPoint */,
@@ -4900,10 +4896,11 @@
 				BC0E5FCB12D696DD0012A72A /* Geolocation */,
 				51FBB9C1132E079200F327B4 /* IconDatabase */,
 				BC204EDF11C83E72008F3375 /* InjectedBundle */,
-				1A6FA01C11E1526300DB1371 /* mac */,
+				2DA944B11884E9DF00ED86DB /* ios */,
 				33D3A3BD1339609800709BE4 /* MediaCache */,
 				5105B0D2162F7A5E00E27709 /* Network */,
 				31099974146C8AA80029DEB9 /* Notifications (User) */,
+				755422C518064FFC0046F6A8 /* OriginData */,
 				1A6FB7AA11E64B4900DB1371 /* Plugins */,
 				3336762B130C9978006C9DE2 /* ResourceCache */,
 				0F59478C187B3B2A00437857 /* Scrolling */,
@@ -8066,7 +8063,6 @@
 				BC9BA5041697C45300E44616 /* WebKit2Initialize.cpp in Sources */,
 				33D3A3C1133960B000709BE4 /* WebMediaCacheManager.cpp in Sources */,
 				33D3A3C81339617900709BE4 /* WebMediaCacheManagerMessageReceiver.cpp in Sources */,
-				2DA944B31884E9EC00ED86DB /* WebProcessIOS.mm in Sources */,
 				33D3A3BA1339606200709BE4 /* WebMediaCacheManagerProxy.cpp in Sources */,
 				33D3A3CA1339617900709BE4 /* WebMediaCacheManagerProxyMessageReceiver.cpp in Sources */,
 				909854EC12BC4E17000AD080 /* WebMemorySampler.cpp in Sources */,
@@ -8122,7 +8118,6 @@
 				BC306825125A6B9400E71278 /* WebProcessCreationParameters.cpp in Sources */,
 				1F7506B01859162C00EC0FF7 /* WKWebProcessPlugInScriptWorld.mm in Sources */,
 				75E749EB180DBB9800088BA6 /* WebOriginDataManagerProxyMessageReceiver.cpp in Sources */,
-				BC3065C412592F8900E71278 /* WebProcessMac.mm in Sources */,
 				BC3066BE125A442100E71278 /* WebProcessMessageReceiver.cpp in Sources */,
 				BC111B11112F5E4F00337BAB /* WebProcessProxy.cpp in Sources */,
 				51032F18180F73BB00961BB7 /* WebToDatabaseProcessConnection.cpp in Sources */,
@@ -8170,6 +8165,7 @@
 				BCBAACF51452324F0053F82F /* WKBrowsingContextGroup.mm in Sources */,
 				51290992183ACEAF005522A6 /* WebIDBServerConnection.cpp in Sources */,
 				BC204EEE11C83EC8008F3375 /* WKBundle.cpp in Sources */,
+				7C6E70FB18B2DC7A00F24E2E /* WebProcessCocoa.mm in Sources */,
 				935EEB9E127761AC003322B8 /* WKBundleBackForwardList.cpp in Sources */,
 				373D122218A473010066D9CC /* WKFrameHandle.mm in Sources */,
 				935EEBA0127761AC003322B8 /* WKBundleBackForwardListItem.cpp in Sources */,

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (164255 => 164256)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2014-02-18 00:08:02 UTC (rev 164255)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2014-02-18 00:16:34 UTC (rev 164256)
@@ -256,7 +256,7 @@
     virtual bool shouldTerminate() override;
     virtual void terminate() override;
 
-#if PLATFORM(MAC) && !PLATFORM(IOS)
+#if USE(APPKIT)
     virtual void stopRunLoop() override;
 #endif
 

Copied: trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm (from rev 164251, trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm) (0 => 164256)


--- trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm	                        (rev 0)
+++ trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm	2014-02-18 00:16:34 UTC (rev 164256)
@@ -0,0 +1,273 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "WebProcess.h"
+
+#import "CustomProtocolManager.h"
+#import "SandboxExtension.h"
+#import "SandboxInitializationParameters.h"
+#import "SecItemShim.h"
+#import "WKFullKeyboardAccessWatcher.h"
+#import "WebFrame.h"
+#import "WebInspector.h"
+#import "WebPage.h"
+#import "WebProcessCreationParameters.h"
+#import "WebProcessProxyMessages.h"
+#import <_javascript_Core/Options.h>
+#import <WebCore/AXObjectCache.h>
+#import <WebCore/FileSystem.h>
+#import <WebCore/Font.h>
+#import <WebCore/LocalizedStrings.h>
+#import <WebCore/MemoryCache.h>
+#import <WebCore/PageCache.h>
+#import <WebCore/WebCoreNSURLExtras.h>
+#import <WebKitSystemInterface.h>
+#import <algorithm>
+#import <dispatch/dispatch.h>
+#import <mach/host_info.h>
+#import <mach/mach.h>
+#import <mach/mach_error.h>
+#import <objc/runtime.h>
+#import <stdio.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+static uint64_t memorySize()
+{
+    static host_basic_info_data_t hostInfo;
+
+    static dispatch_once_t once;
+    dispatch_once(&once, ^() {
+        mach_port_t host = mach_host_self();
+        mach_msg_type_number_t count = HOST_BASIC_INFO_COUNT;
+        kern_return_t r = host_info(host, HOST_BASIC_INFO, (host_info_t)&hostInfo, &count);
+        mach_port_deallocate(mach_task_self(), host);
+
+        if (r != KERN_SUCCESS)
+            LOG_ERROR("%s : host_info(%d) : %s.\n", __FUNCTION__, r, mach_error_string(r));
+    });
+
+    return hostInfo.max_mem;
+}
+
+static uint64_t volumeFreeSize(NSString *path)
+{
+    NSDictionary *fileSystemAttributesDictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:path error:NULL];
+    return [[fileSystemAttributesDictionary objectForKey:NSFileSystemFreeSize] unsignedLongLongValue];
+}
+
+void WebProcess::platformSetCacheModel(CacheModel cacheModel)
+{
+    RetainPtr<NSString> nsurlCacheDirectory = adoptNS((NSString *)WKCopyFoundationCacheDirectory());
+    if (!nsurlCacheDirectory)
+        nsurlCacheDirectory = NSHomeDirectory();
+
+    // As a fudge factor, use 1000 instead of 1024, in case the reported byte 
+    // count doesn't align exactly to a megabyte boundary.
+    uint64_t memSize = memorySize() / 1024 / 1000;
+    uint64_t diskFreeSize = volumeFreeSize(nsurlCacheDirectory.get()) / 1024 / 1000;
+
+    unsigned cacheTotalCapacity = 0;
+    unsigned cacheMinDeadCapacity = 0;
+    unsigned cacheMaxDeadCapacity = 0;
+    double deadDecodedDataDeletionInterval = 0;
+    unsigned pageCacheCapacity = 0;
+    unsigned long urlCacheMemoryCapacity = 0;
+    unsigned long urlCacheDiskCapacity = 0;
+
+    calculateCacheSizes(cacheModel, memSize, diskFreeSize,
+        cacheTotalCapacity, cacheMinDeadCapacity, cacheMaxDeadCapacity, deadDecodedDataDeletionInterval,
+        pageCacheCapacity, urlCacheMemoryCapacity, urlCacheDiskCapacity);
+
+
+    memoryCache()->setCapacities(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
+    memoryCache()->setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
+    pageCache()->setCapacity(pageCacheCapacity);
+
+    NSURLCache *nsurlCache = [NSURLCache sharedURLCache];
+
+    // FIXME: Once there is no loading being done in the WebProcess, we should remove this,
+    // as calling [NSURLCache sharedURLCache] initializes the cache, which we would rather not do.
+    if (usesNetworkProcess()) {
+        [nsurlCache setMemoryCapacity:0];
+        [nsurlCache setDiskCapacity:0];
+        return;
+    }
+
+    [nsurlCache setMemoryCapacity:urlCacheMemoryCapacity];
+    [nsurlCache setDiskCapacity:std::max<unsigned long>(urlCacheDiskCapacity, [nsurlCache diskCapacity])]; // Don't shrink a big disk cache, since that would cause churn.
+}
+
+void WebProcess::platformClearResourceCaches(ResourceCachesToClear cachesToClear)
+{
+    if (cachesToClear == InMemoryResourceCachesOnly)
+        return;
+
+    // If we're using the network process then it is the only one that needs to clear the disk cache.
+    if (usesNetworkProcess())
+        return;
+
+    if (!m_clearResourceCachesDispatchGroup)
+        m_clearResourceCachesDispatchGroup = dispatch_group_create();
+
+    dispatch_group_async(m_clearResourceCachesDispatchGroup, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+        [[NSURLCache sharedURLCache] removeAllCachedResponses];
+    });
+}
+
+#if USE(APPKIT)
+static id NSApplicationAccessibilityFocusedUIElement(NSApplication*, SEL)
+{
+    WebPage* page = WebProcess::shared().focusedWebPage();
+    if (!page || !page->accessibilityRemoteObject())
+        return 0;
+
+    return [page->accessibilityRemoteObject() accessibilityFocusedUIElement];
+}
+#endif
+
+void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters& parameters, IPC::MessageDecoder&)
+{
+#if ENABLE(WEB_PROCESS_SANDBOX)
+    SandboxExtension::consumePermanently(parameters.uiProcessBundleResourcePathExtensionHandle);
+    SandboxExtension::consumePermanently(parameters.localStorageDirectoryExtensionHandle);
+    SandboxExtension::consumePermanently(parameters.databaseDirectoryExtensionHandle);
+    SandboxExtension::consumePermanently(parameters.applicationCacheDirectoryExtensionHandle);
+    SandboxExtension::consumePermanently(parameters.diskCacheDirectoryExtensionHandle);
+#endif
+
+    // When the network process is enabled, each web process wants a stand-alone
+    // NSURLCache, which it can disable to save memory.
+    if (!usesNetworkProcess()) {
+        if (!parameters.diskCacheDirectory.isNull()) {
+            [NSURLCache setSharedURLCache:adoptNS([[NSURLCache alloc]
+                initWithMemoryCapacity:parameters.nsURLCacheMemoryCapacity
+                diskCapacity:parameters.nsURLCacheDiskCapacity
+                diskPath:parameters.diskCacheDirectory]).get()];
+        }
+    }
+
+    m_compositingRenderServerPort = parameters.acceleratedCompositingPort.port();
+    m_presenterApplicationPid = parameters.presenterApplicationPid;
+    m_shouldForceScreenFontSubstitution = parameters.shouldForceScreenFontSubstitution;
+    Font::setDefaultTypesettingFeatures(parameters.shouldEnableKerningAndLigaturesByDefault ? Kerning | Ligatures : 0);
+
+    if (!JSC::Options::useJITWasOverridden())
+        JSC::Options::useJIT() = parameters.shouldEnableJIT;
+
+    if (!JSC::Options::useFTLJITWasOverridden())
+        JSC::Options::useFTLJIT() = parameters.shouldEnableFTL;
+
+    setEnhancedAccessibility(parameters.accessibilityEnhancedUserInterfaceEnabled);
+
+#if USE(APPKIT)
+    // rdar://9118639 accessibilityFocusedUIElement in NSApplication defaults to use the keyWindow. Since there's
+    // no window in WK2, NSApplication needs to use the focused page's focused element.
+    Method methodToPatch = class_getInstanceMethod([NSApplication class], @selector(accessibilityFocusedUIElement));
+    method_setImplementation(methodToPatch, (IMP)NSApplicationAccessibilityFocusedUIElement);
+#endif
+}
+
+void WebProcess::initializeProcessName(const ChildProcessInitializationParameters& parameters)
+{
+#if !PLATFORM(IOS)
+    NSString *applicationName = [NSString stringWithFormat:WEB_UI_STRING("%@ Web Content", "Visible name of the web process. The argument is the application name."), (NSString *)parameters.uiProcessName];
+    WKSetVisibleApplicationName((CFStringRef)applicationName);
+#endif
+}
+
+void WebProcess::platformInitializeProcess(const ChildProcessInitializationParameters&)
+{
+#if USE(APPKIT)
+    WKAXRegisterRemoteApp();
+#endif
+
+#if ENABLE(SEC_ITEM_SHIM)
+    SecItemShim::shared().initialize(this);
+#endif
+}
+
+#if USE(APPKIT)
+void WebProcess::stopRunLoop()
+{
+    ChildProcess::stopNSAppRunLoop();
+}
+#endif
+
+void WebProcess::platformTerminate()
+{
+    if (m_clearResourceCachesDispatchGroup) {
+        dispatch_group_wait(m_clearResourceCachesDispatchGroup, DISPATCH_TIME_FOREVER);
+        dispatch_release(m_clearResourceCachesDispatchGroup);
+        m_clearResourceCachesDispatchGroup = 0;
+    }
+}
+
+void WebProcess::initializeSandbox(const ChildProcessInitializationParameters& parameters, SandboxInitializationParameters& sandboxParameters)
+{
+#if ENABLE(WEB_PROCESS_SANDBOX)
+    // Need to overide the default, because service has a different bundle ID.
+    NSBundle *webkit2Bundle = [NSBundle bundleForClass:NSClassFromString(@"WKView")];
+    sandboxParameters.setOverrideSandboxProfilePath([webkit2Bundle pathForResource:@"com.apple.WebProcess" ofType:@"sb"]);
+
+    ChildProcess::initializeSandbox(parameters, sandboxParameters);
+#else
+    UNUSED_PARAM(parameters);
+    UNUSED_PARAM(sandboxParameters);
+#endif
+}
+
+void WebProcess::updateActivePages()
+{
+#if USE(APPKIT) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
+    RetainPtr<CFMutableArrayRef> activePageURLs = adoptCF(CFArrayCreateMutable(0, 0, &kCFTypeArrayCallBacks));
+    for (const auto& iter: m_pageMap) {
+        WebPage* page = iter.value.get();
+        WebFrame* mainFrame = page->mainWebFrame();
+        if (!mainFrame)
+            continue;
+        String mainFrameOriginString;
+        RefPtr<SecurityOrigin> mainFrameOrigin = SecurityOrigin::createFromString(mainFrame->url());
+        if (!mainFrameOrigin->isUnique())
+            mainFrameOriginString = mainFrameOrigin->toRawString();
+        else
+            mainFrameOriginString = URL(URL(), mainFrame->url()).protocol() + ':'; // toRawString() is not supposed to work with unique origins, and would just return "://".
+
+        NSURL *originAsNSURL = [NSURL URLWithString:mainFrameOriginString];
+        // +[NSURL URLWithString:] returns nil when its argument is malformed. It's unclear how we can possibly have a malformed URL here,
+        // but it happens in practice according to <rdar://problem/14173389>. Leaving an assertion in to catch a reproducible case.
+        ASSERT(originAsNSURL);
+        NSString *userVisibleOriginString = originAsNSURL ? userVisibleString(originAsNSURL) : @"(null)";
+
+        CFArrayAppendValue(activePageURLs.get(), userVisibleOriginString);
+    }
+    WKSetApplicationInformationItem(CFSTR("LSActivePageUserVisibleOriginsKey"), activePageURLs.get());
+#endif
+}
+
+} // namespace WebKit

Deleted: trunk/Source/WebKit2/WebProcess/ios/WebProcessIOS.mm (164255 => 164256)


--- trunk/Source/WebKit2/WebProcess/ios/WebProcessIOS.mm	2014-02-18 00:08:02 UTC (rev 164255)
+++ trunk/Source/WebKit2/WebProcess/ios/WebProcessIOS.mm	2014-02-18 00:16:34 UTC (rev 164256)
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "WebProcess.h"
-
-#import "WebProcessCreationParameters.h"
-#import <WebCore/NotImplemented.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-void WebProcess::initializeProcessName(const ChildProcessInitializationParameters&)
-{
-    notImplemented();
-}
-
-void WebProcess::initializeSandbox(const ChildProcessInitializationParameters&, SandboxInitializationParameters&)
-{
-    notImplemented();
-}
-
-void WebProcess::platformSetCacheModel(CacheModel)
-{
-    notImplemented();
-}
-
-void WebProcess::platformClearResourceCaches(ResourceCachesToClear)
-{
-    notImplemented();
-}
-
-void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters& parameters, IPC::MessageDecoder&)
-{
-    m_presenterApplicationPid = parameters.presenterApplicationPid;
-}
-
-void WebProcess::platformInitializeProcess(const ChildProcessInitializationParameters&)
-{
-    notImplemented();
-}
-
-void WebProcess::platformTerminate()
-{
-    notImplemented();
-}
-
-void WebProcess::updateActivePages()
-{
-    notImplemented();
-}
-
-} // namespace WebKit

Deleted: trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm (164255 => 164256)


--- trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm	2014-02-18 00:08:02 UTC (rev 164255)
+++ trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm	2014-02-18 00:16:34 UTC (rev 164256)
@@ -1,265 +0,0 @@
-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "WebProcess.h"
-
-#import "CustomProtocolManager.h"
-#import "SandboxExtension.h"
-#import "SandboxInitializationParameters.h"
-#import "SecItemShim.h"
-#import "WKFullKeyboardAccessWatcher.h"
-#import "WebFrame.h"
-#import "WebInspector.h"
-#import "WebPage.h"
-#import "WebProcessCreationParameters.h"
-#import "WebProcessProxyMessages.h"
-#import <_javascript_Core/Options.h>
-#import <WebCore/AXObjectCache.h>
-#import <WebCore/FileSystem.h>
-#import <WebCore/Font.h>
-#import <WebCore/LocalizedStrings.h>
-#import <WebCore/MemoryCache.h>
-#import <WebCore/PageCache.h>
-#import <WebCore/WebCoreNSURLExtras.h>
-#import <WebKitSystemInterface.h>
-#import <algorithm>
-#import <dispatch/dispatch.h>
-#import <mach/host_info.h>
-#import <mach/mach.h>
-#import <mach/mach_error.h>
-#import <objc/runtime.h>
-#import <stdio.h>
-
-using namespace WebCore;
-
-const CFStringRef kLSActivePageUserVisibleOriginsKey = CFSTR("LSActivePageUserVisibleOriginsKey");
-
-namespace WebKit {
-
-static uint64_t memorySize()
-{
-    static host_basic_info_data_t hostInfo;
-
-    static dispatch_once_t once;
-    dispatch_once(&once, ^() {
-        mach_port_t host = mach_host_self();
-        mach_msg_type_number_t count = HOST_BASIC_INFO_COUNT;
-        kern_return_t r = host_info(host, HOST_BASIC_INFO, (host_info_t)&hostInfo, &count);
-        mach_port_deallocate(mach_task_self(), host);
-
-        if (r != KERN_SUCCESS)
-            LOG_ERROR("%s : host_info(%d) : %s.\n", __FUNCTION__, r, mach_error_string(r));
-    });
-
-    return hostInfo.max_mem;
-}
-
-static uint64_t volumeFreeSize(NSString *path)
-{
-    NSDictionary *fileSystemAttributesDictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:path error:NULL];
-    return [[fileSystemAttributesDictionary objectForKey:NSFileSystemFreeSize] unsignedLongLongValue];
-}
-
-void WebProcess::platformSetCacheModel(CacheModel cacheModel)
-{
-    RetainPtr<NSString> nsurlCacheDirectory = adoptNS((NSString *)WKCopyFoundationCacheDirectory());
-    if (!nsurlCacheDirectory)
-        nsurlCacheDirectory = NSHomeDirectory();
-
-    // As a fudge factor, use 1000 instead of 1024, in case the reported byte 
-    // count doesn't align exactly to a megabyte boundary.
-    uint64_t memSize = memorySize() / 1024 / 1000;
-    uint64_t diskFreeSize = volumeFreeSize(nsurlCacheDirectory.get()) / 1024 / 1000;
-
-    unsigned cacheTotalCapacity = 0;
-    unsigned cacheMinDeadCapacity = 0;
-    unsigned cacheMaxDeadCapacity = 0;
-    double deadDecodedDataDeletionInterval = 0;
-    unsigned pageCacheCapacity = 0;
-    unsigned long urlCacheMemoryCapacity = 0;
-    unsigned long urlCacheDiskCapacity = 0;
-
-    calculateCacheSizes(cacheModel, memSize, diskFreeSize,
-        cacheTotalCapacity, cacheMinDeadCapacity, cacheMaxDeadCapacity, deadDecodedDataDeletionInterval,
-        pageCacheCapacity, urlCacheMemoryCapacity, urlCacheDiskCapacity);
-
-
-    memoryCache()->setCapacities(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
-    memoryCache()->setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
-    pageCache()->setCapacity(pageCacheCapacity);
-
-    NSURLCache *nsurlCache = [NSURLCache sharedURLCache];
-
-    // FIXME: Once there is no loading being done in the WebProcess, we should remove this,
-    // as calling [NSURLCache sharedURLCache] initializes the cache, which we would rather not do.
-    if (usesNetworkProcess()) {
-        [nsurlCache setMemoryCapacity:0];
-        [nsurlCache setDiskCapacity:0];
-        return;
-    }
-
-    [nsurlCache setMemoryCapacity:urlCacheMemoryCapacity];
-    [nsurlCache setDiskCapacity:std::max<unsigned long>(urlCacheDiskCapacity, [nsurlCache diskCapacity])]; // Don't shrink a big disk cache, since that would cause churn.
-}
-
-void WebProcess::platformClearResourceCaches(ResourceCachesToClear cachesToClear)
-{
-    if (cachesToClear == InMemoryResourceCachesOnly)
-        return;
-
-    // If we're using the network process then it is the only one that needs to clear the disk cache.
-    if (usesNetworkProcess())
-        return;
-
-    if (!m_clearResourceCachesDispatchGroup)
-        m_clearResourceCachesDispatchGroup = dispatch_group_create();
-
-    dispatch_group_async(m_clearResourceCachesDispatchGroup, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
-        [[NSURLCache sharedURLCache] removeAllCachedResponses];
-    });
-}
-
-static id NSApplicationAccessibilityFocusedUIElement(NSApplication*, SEL)
-{
-    WebPage* page = WebProcess::shared().focusedWebPage();
-    if (!page || !page->accessibilityRemoteObject())
-        return 0;
-
-    return [page->accessibilityRemoteObject() accessibilityFocusedUIElement];
-}
-
-void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters& parameters, IPC::MessageDecoder&)
-{
-    SandboxExtension::consumePermanently(parameters.uiProcessBundleResourcePathExtensionHandle);
-    SandboxExtension::consumePermanently(parameters.localStorageDirectoryExtensionHandle);
-    SandboxExtension::consumePermanently(parameters.databaseDirectoryExtensionHandle);
-    SandboxExtension::consumePermanently(parameters.applicationCacheDirectoryExtensionHandle);
-    SandboxExtension::consumePermanently(parameters.diskCacheDirectoryExtensionHandle);
-
-    // When the network process is enabled, each web process wants a stand-alone
-    // NSURLCache, which it can disable to save memory.
-    if (!usesNetworkProcess()) {
-        if (!parameters.diskCacheDirectory.isNull()) {
-            [NSURLCache setSharedURLCache:adoptNS([[NSURLCache alloc]
-                initWithMemoryCapacity:parameters.nsURLCacheMemoryCapacity
-                diskCapacity:parameters.nsURLCacheDiskCapacity
-                diskPath:parameters.diskCacheDirectory]).get()];
-        }
-    }
-
-    m_shouldForceScreenFontSubstitution = parameters.shouldForceScreenFontSubstitution;
-    Font::setDefaultTypesettingFeatures(parameters.shouldEnableKerningAndLigaturesByDefault ? Kerning | Ligatures : 0);
-
-    if (!JSC::Options::useJITWasOverridden())
-        JSC::Options::useJIT() = parameters.shouldEnableJIT;
-
-    if (!JSC::Options::useFTLJITWasOverridden())
-        JSC::Options::useFTLJIT() = parameters.shouldEnableFTL;
-
-    m_compositingRenderServerPort = parameters.acceleratedCompositingPort.port();
-
-    m_presenterApplicationPid = parameters.presenterApplicationPid;
-
-    setEnhancedAccessibility(parameters.accessibilityEnhancedUserInterfaceEnabled);
-
-    // rdar://9118639 accessibilityFocusedUIElement in NSApplication defaults to use the keyWindow. Since there's
-    // no window in WK2, NSApplication needs to use the focused page's focused element.
-    Method methodToPatch = class_getInstanceMethod([NSApplication class], @selector(accessibilityFocusedUIElement));
-    method_setImplementation(methodToPatch, (IMP)NSApplicationAccessibilityFocusedUIElement);
-}
-
-void WebProcess::initializeProcessName(const ChildProcessInitializationParameters& parameters)
-{
-    NSString *applicationName = [NSString stringWithFormat:WEB_UI_STRING("%@ Web Content", "Visible name of the web process. The argument is the application name."), (NSString *)parameters.uiProcessName];
-    WKSetVisibleApplicationName((CFStringRef)applicationName);
-}
-
-void WebProcess::platformInitializeProcess(const ChildProcessInitializationParameters&)
-{
-    WKAXRegisterRemoteApp();
-
-#if ENABLE(SEC_ITEM_SHIM)
-    SecItemShim::shared().initialize(this);
-#endif
-}
-
-void WebProcess::stopRunLoop()
-{
-    ChildProcess::stopNSAppRunLoop();
-}
-
-void WebProcess::platformTerminate()
-{
-    if (m_clearResourceCachesDispatchGroup) {
-        dispatch_group_wait(m_clearResourceCachesDispatchGroup, DISPATCH_TIME_FOREVER);
-        dispatch_release(m_clearResourceCachesDispatchGroup);
-        m_clearResourceCachesDispatchGroup = 0;
-    }
-}
-
-void WebProcess::initializeSandbox(const ChildProcessInitializationParameters& parameters, SandboxInitializationParameters& sandboxParameters)
-{
-#if PLATFORM(IOS)
-    UNUSED_PARAM(parameters);
-    UNUSED_PARAM(sandboxParameters);
-#else
-    // Need to overide the default, because service has a different bundle ID.
-    NSBundle *webkit2Bundle = [NSBundle bundleForClass:NSClassFromString(@"WKView")];
-    sandboxParameters.setOverrideSandboxProfilePath([webkit2Bundle pathForResource:@"com.apple.WebProcess" ofType:@"sb"]);
-
-    ChildProcess::initializeSandbox(parameters, sandboxParameters);
-#endif
-}
-
-void WebProcess::updateActivePages()
-{
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
-    RetainPtr<CFMutableArrayRef> activePageURLs = adoptCF(CFArrayCreateMutable(0, 0, &kCFTypeArrayCallBacks));
-    for (const auto& iter: m_pageMap) {
-        WebPage* page = iter.value.get();
-        WebFrame* mainFrame = page->mainWebFrame();
-        if (!mainFrame)
-            continue;
-        String mainFrameOriginString;
-        RefPtr<SecurityOrigin> mainFrameOrigin = SecurityOrigin::createFromString(mainFrame->url());
-        if (!mainFrameOrigin->isUnique())
-            mainFrameOriginString = mainFrameOrigin->toRawString();
-        else
-            mainFrameOriginString = URL(URL(), mainFrame->url()).protocol() + ':'; // toRawString() is not supposed to work with unique origins, and would just return "://".
-
-        NSURL *originAsNSURL = [NSURL URLWithString:mainFrameOriginString];
-        // +[NSURL URLWithString:] returns nil when its argument is malformed. It's unclear how we can possibly have a malformed URL here,
-        // but it happens in practice according to <rdar://problem/14173389>. Leaving an assertion in to catch a reproducible case.
-        ASSERT(originAsNSURL);
-        NSString *userVisibleOriginString = originAsNSURL ? userVisibleString(originAsNSURL) : @"(null)";
-
-        CFArrayAppendValue(activePageURLs.get(), userVisibleOriginString);
-    }
-    WKSetApplicationInformationItem(kLSActivePageUserVisibleOriginsKey, activePageURLs.get());
-#endif
-}
-
-} // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to