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