Rename WKProcessClass to WKProcessPool
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 Feb 2014 21:10:50 +0000 (21:10 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 Feb 2014 21:10:50 +0000 (21:10 +0000)
https://bugs.webkit.org/show_bug.cgi?id=129268

Reviewed by Dan Bernstein.

Stage this rename by adding back WKProcessClass and WKProcessClassConfiguration as subclasses of the renamed classes.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* UIProcess/API/Cocoa/WKProcessClass.h:
* UIProcess/API/Cocoa/WKProcessClass.mm:
* UIProcess/API/Cocoa/WKProcessClassConfiguration.h:
* UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
* UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h:
* UIProcess/API/Cocoa/WKProcessClassPrivate.h:
* UIProcess/API/Cocoa/WKProcessPool.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.h.
* UIProcess/API/Cocoa/WKProcessPool.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.mm.
(-[WKProcessPool init]):
(-[WKProcessPool initWithConfiguration:]):
(-[WKProcessPool dealloc]):
(-[WKProcessPool description]):
(-[WKProcessPool configuration]):
(-[WKProcessPool API::]):
(-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]):
* UIProcess/API/Cocoa/WKProcessPoolConfiguration.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.h.
* UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.mm.
(-[WKProcessPoolConfiguration _injectedBundleURL]):
(-[WKProcessPoolConfiguration _setInjectedBundleURL:]):
(-[WKProcessPoolConfiguration description]):
(-[WKProcessPoolConfiguration copyWithZone:]):
* UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h.
* UIProcess/API/Cocoa/WKProcessPoolInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.
(WebKit::wrapper):
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassPrivate.h.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration description]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration processPool]):
(-[WKWebViewConfiguration setProcessPool:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassPrivate.h.
(-[WKWebViewConfiguration setProcessClass:]):
(-[WKWebViewConfiguration processClass]):
* UIProcess/API/mac/WKView.mm:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164603 268f45cc-cd09-0410-ab3c-d52691b4dbfc

22 files changed:
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/Cocoa/APIObject.mm
Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.h
Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.mm
Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.h
Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.mm
Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h
Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassPrivate.h
Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.h [new file with mode: 0644]
Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.mm [new file with mode: 0644]
Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.h [new file with mode: 0644]
Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm [new file with mode: 0644]
Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h [new file with mode: 0644]
Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolInternal.h [moved from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h with 83% similarity]
Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h [new file with mode: 0644]
Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h
Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm [new file with mode: 0644]
Source/WebKit2/UIProcess/API/mac/WKView.mm
Source/WebKit2/UIProcess/ios/WKContentView.mm
Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

index acfd5c1..1fec4ab 100644 (file)
@@ -1,3 +1,55 @@
+2014-02-24  Anders Carlsson  <andersca@apple.com>
+
+        Rename WKProcessClass to WKProcessPool
+        https://bugs.webkit.org/show_bug.cgi?id=129268
+
+        Reviewed by Dan Bernstein.
+
+        Stage this rename by adding back WKProcessClass and WKProcessClassConfiguration as subclasses of the renamed classes.
+
+        * Shared/Cocoa/APIObject.mm:
+        (API::Object::newObject):
+        * UIProcess/API/Cocoa/WKProcessClass.h:
+        * UIProcess/API/Cocoa/WKProcessClass.mm:
+        * UIProcess/API/Cocoa/WKProcessClassConfiguration.h:
+        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
+        * UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h:
+        * UIProcess/API/Cocoa/WKProcessClassPrivate.h:
+        * UIProcess/API/Cocoa/WKProcessPool.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.h.
+        * UIProcess/API/Cocoa/WKProcessPool.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.mm.
+        (-[WKProcessPool init]):
+        (-[WKProcessPool initWithConfiguration:]):
+        (-[WKProcessPool dealloc]):
+        (-[WKProcessPool description]):
+        (-[WKProcessPool configuration]):
+        (-[WKProcessPool API::]):
+        (-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]):
+        * UIProcess/API/Cocoa/WKProcessPoolConfiguration.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.h.
+        * UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.mm.
+        (-[WKProcessPoolConfiguration _injectedBundleURL]):
+        (-[WKProcessPoolConfiguration _setInjectedBundleURL:]):
+        (-[WKProcessPoolConfiguration description]):
+        (-[WKProcessPoolConfiguration copyWithZone:]):
+        * UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h.
+        * UIProcess/API/Cocoa/WKProcessPoolInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.
+        (WebKit::wrapper):
+        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassPrivate.h.
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView initWithFrame:configuration:]):
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration description]):
+        (-[WKWebViewConfiguration copyWithZone:]):
+        (-[WKWebViewConfiguration processPool]):
+        (-[WKWebViewConfiguration setProcessPool:]):
+        * UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassPrivate.h.
+        (-[WKWebViewConfiguration setProcessClass:]):
+        (-[WKWebViewConfiguration processClass]):
+        * UIProcess/API/mac/WKView.mm:
+        * UIProcess/ios/WKContentView.mm:
+        (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
+        * WebKit2.xcodeproj/project.pbxproj:
+
 2014-02-24  Simon Fraser  <simon.fraser@apple.com>
 
         Move non-API files out of WebKit2/UIProcess/API/mac
index a5cb228..501eb4c 100644 (file)
@@ -43,7 +43,7 @@
 #import "WKNSURLAuthenticationChallenge.h"
 #import "WKNSURLProtectionSpace.h"
 #import "WKNavigationDataInternal.h"
-#import "WKProcessClassInternal.h"
+#import "WKProcessPoolInternal.h"
 #import "WKWebProcessPlugInBrowserContextControllerInternal.h"
 #import "WKWebProcessPlugInFrameInternal.h"
 #import "WKWebProcessPlugInHitTestResultInternal.h"
@@ -102,7 +102,7 @@ void* Object::newObject(size_t size, Type type)
         break;
 
     case Type::Context:
-        wrapper = [WKProcessClass alloc];
+        wrapper = [WKProcessPool alloc];
         break;
 
     case Type::Data:
index d05dac5..f01ac3f 100644 (file)
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Foundation/Foundation.h>
-#import <WebKit2/WKFoundation.h>
+#import <WebKit2/WKProcessPool.h>
 
 #if WK_API_ENABLED
 
-@class WKProcessClassConfiguration;
-
-/*! A WKProcessClass defines a distinct type-or category-of Web Content process.
- A @link WKWebView @/link specifies the WKProcessClass of the Web
- Content process backing it through its @link WKWebViewConfiguration @/link.
- @helperclass @link WKProcessClassConfiguration @/link
- Used to configure @link WKProcessClass @/link instances.
- */
 WK_API_CLASS
-@interface WKProcessClass : NSObject
-
-/*! @abstract A copy of the configuration with which the @link WKProcessClass @/link was
-        initialized.
-*/
-@property (nonatomic, readonly) WKProcessClassConfiguration *configuration;
-
-/*!
-    @abstract Returns an instance initialized with the specified configuration.
-    @param configuration The configuration for the new instance.
-    @result An initialized instance, or nil if the object could not be initialized.
-    @discussion This is a designated initializer. You can use @link -init @/link to initialize an
-        instance with the default configuration.
-
-        The initializer copies
-        @link //apple_ref/doc/methodparam/WKProcessClass/initWithConfiguration:/configuration
-        configuration@/link, so mutating it after initialization has no effect on the
-        @link WKProcessClass @/link instance.
-*/
-- (instancetype)initWithConfiguration:(WKProcessClassConfiguration *)configuration WK_DESIGNATED_INITIALIZER;
-
+@interface WKProcessClass : WKProcessPool
 @end
 
 #endif
index af0b27d..1f16aff 100644 (file)
  */
 
 #import "config.h"
-#import "WKProcessClassInternal.h"
+#import "WKProcessClass.h"
 
 #if WK_API_ENABLED
 
-#import "HistoryClient.h"
-#import "WKObject.h"
-#import "WKProcessClassConfigurationPrivate.h"
-#import "WebCertificateInfo.h"
-#import "WebContext.h"
-#import <WebCore/CertificateInfo.h>
-#import <wtf/RetainPtr.h>
-
-#if PLATFORM(IOS)
-#import <WebCore/WebCoreThreadSystemInterface.h>
-#endif
-
 @implementation WKProcessClass
-
-- (instancetype)init
-{
-    return [self initWithConfiguration:adoptNS([[WKProcessClassConfiguration alloc] init]).get()];
-}
-
-- (instancetype)initWithConfiguration:(WKProcessClassConfiguration *)configuration
-{
-    if (!(self = [super init]))
-        return nil;
-
-    _configuration = adoptNS([configuration copy]);
-
-#if PLATFORM(IOS)
-    // FIXME: Remove once <rdar://problem/15256572> is fixed.
-    InitWebCoreThreadSystemInterface();
-#endif
-
-    String bundlePath;
-    if (NSURL *bundleURL = [_configuration _injectedBundleURL]) {
-        if (!bundleURL.isFileURL)
-            [NSException raise:NSInvalidArgumentException format:@"Injected Bundle URL must be a file URL"];
-
-        bundlePath = bundleURL.path;
-    }
-
-    API::Object::constructInWrapper<WebKit::WebContext>(self, bundlePath);
-    _context->setHistoryClient(std::make_unique<WebKit::HistoryClient>());
-
-    return self;
-}
-
-- (void)dealloc
-{
-    _context->~WebContext();
-
-    [super dealloc];
-}
-
-- (NSString *)description
-{
-    return [NSString stringWithFormat:@"<%@: %p; configuration = %@>", NSStringFromClass(self.class), self, _configuration.get()];
-}
-
-- (WKProcessClassConfiguration *)configuration
-{
-    return [[_configuration copy] autorelease];
-}
-
-- (API::Object&)_apiObject
-{
-    return *_context;
-}
-
 @end
 
-@implementation WKProcessClass (WKPrivate)
-
-- (void)_setAllowsSpecificHTTPSCertificate:(NSArray *)certificateChain forHost:(NSString *)host
-{
-    _context->allowSpecificHTTPSCertificateForHost(WebKit::WebCertificateInfo::create(WebCore::CertificateInfo((CFArrayRef)certificateChain)).get(), host);
-}
-
-@end
-
-#endif // WK_API_ENABLED
+#endif
index 2c4c388..ffb8821 100644 (file)
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Foundation/Foundation.h>
-#import <WebKit2/WKFoundation.h>
+#import <WebKit2/WKProcessPoolConfiguration.h>
 
 #if WK_API_ENABLED
 
-/*! A WKProcessClassConfiguration is used to characterize a class of Web Content processes.
- @helps Contains properties used to configure a @link WKProcessClass @/link.
- */
 WK_API_CLASS
-@interface WKProcessClassConfiguration : NSObject <NSCopying>
-
-/*! @abstract The maximum number of Web Content processes of the class that may exist at any time.
- @discussion When the number of Web Content processes of the class reaches this value, one of the
- existing processes will be used for any new @link WKWebView @/link configured to use the
- same class.
-
- A value of 0 means that WebKit will automatically choose a maximum. This is the default.
- */
-@property (nonatomic) NSUInteger maximumProcessCount;
-
+@interface WKProcessClassConfiguration : WKProcessPoolConfiguration
 @end
 
 #endif
index cedae2b..ec6e235 100644 (file)
  */
 
 #import "config.h"
-#import "WKProcessClassConfigurationPrivate.h"
+#import "WKProcessClassConfiguration.h"
 
 #if WK_API_ENABLED
 
-#import <wtf/RetainPtr.h>
-
-@implementation WKProcessClassConfiguration {
-    RetainPtr<NSURL> _injectedBundleURL;
-}
-
-- (NSURL *)_injectedBundleURL
-{
-    return _injectedBundleURL.get();
-}
-
-- (void)_setInjectedBundleURL:(NSURL *)injectedBundleURL
-{
-    _injectedBundleURL = adoptNS([injectedBundleURL copy]);
-}
-
-- (NSString *)description
-{
-    NSString *description = [NSString stringWithFormat:@"<%@: %p; maximumProcessCount = %lu", NSStringFromClass(self.class), self, static_cast<unsigned long>(_maximumProcessCount)];
-    if (_injectedBundleURL)
-        return [description stringByAppendingFormat:@"; injectedBundleURL: \"%@\">", _injectedBundleURL.get()];
-
-    return [description stringByAppendingString:@">"];
-}
-
-- (id)copyWithZone:(NSZone *)zone
-{
-    WKProcessClassConfiguration *configuration = [[[self class] allocWithZone:zone] init];
-
-    configuration.maximumProcessCount = self.maximumProcessCount;
-    configuration._injectedBundleURL = self._injectedBundleURL;
-
-    return configuration;
-}
-
+@implementation WKProcessClassConfiguration
 @end
 
 #endif
index 82b2ef5..0fb9ab1 100644 (file)
  */
 
 #import <WebKit2/WKProcessClassConfiguration.h>
-
-#if WK_API_ENABLED
-
-@interface WKProcessClassConfiguration (WKPrivate)
-
-/*! @abstract The location of a bundle that will be loaded into Web Content processes of the
- class.
- */
-@property (nonatomic, copy, setter=_setInjectedBundleURL:) NSURL *_injectedBundleURL;
-
-@end
-
-#endif
+#import <WebKit2/WKProcessPoolConfigurationPrivate.h>
index bf12ac7..5a6ba1f 100644 (file)
  */
 
 #import <WebKit2/WKProcessClass.h>
-
-#if WK_API_ENABLED
-
-@interface WKProcessClass (WKPrivate)
-
-- (void)_setAllowsSpecificHTTPSCertificate:(NSArray *)certificateChain forHost:(NSString *)host;
-
-@end
-
-#endif
+#import <WebKit2/WKProcessPoolPrivate.h>
diff --git a/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.h b/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.h
new file mode 100644 (file)
index 0000000..c1f4c7f
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2014 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 <Foundation/Foundation.h>
+#import <WebKit2/WKFoundation.h>
+
+#if WK_API_ENABLED
+
+@class WKProcessPoolConfiguration;
+
+/*! A WKProcessPool defines a distinct type-or category-of Web Content process.
+ A @link WKWebView @/link specifies the WKProcessPool of the Web
+ Content process backing it through its @link WKWebViewConfiguration @/link.
+ @helperclass @link WKProcessPoolConfiguration @/link
+ Used to configure @link WKProcessPool @/link instances.
+ */
+WK_API_CLASS
+@interface WKProcessPool : NSObject
+
+/*! @abstract A copy of the configuration with which the @link WKProcessPool @/link was
+        initialized.
+*/
+@property (nonatomic, readonly) WKProcessPoolConfiguration *configuration;
+
+/*!
+    @abstract Returns an instance initialized with the specified configuration.
+    @param configuration The configuration for the new instance.
+    @result An initialized instance, or nil if the object could not be initialized.
+    @discussion This is a designated initializer. You can use @link -init @/link to initialize an
+        instance with the default configuration.
+
+        The initializer copies
+        @link //apple_ref/doc/methodparam/WKProcessPool/initWithConfiguration:/configuration
+        configuration@/link, so mutating it after initialization has no effect on the
+        @link WKProcessPool @/link instance.
+*/
+- (instancetype)initWithConfiguration:(WKProcessPoolConfiguration *)configuration WK_DESIGNATED_INITIALIZER;
+
+@end
+
+#endif
diff --git a/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.mm b/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.mm
new file mode 100644 (file)
index 0000000..4180f95
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2014 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 "WKProcessPoolInternal.h"
+
+#if WK_API_ENABLED
+
+#import "HistoryClient.h"
+#import "WKObject.h"
+#import "WKProcessPoolConfigurationPrivate.h"
+#import "WebCertificateInfo.h"
+#import "WebContext.h"
+#import <WebCore/CertificateInfo.h>
+#import <wtf/RetainPtr.h>
+
+#if PLATFORM(IOS)
+#import <WebCore/WebCoreThreadSystemInterface.h>
+#endif
+
+@implementation WKProcessPool
+
+- (instancetype)init
+{
+    return [self initWithConfiguration:adoptNS([[WKProcessPoolConfiguration alloc] init]).get()];
+}
+
+- (instancetype)initWithConfiguration:(WKProcessPoolConfiguration *)configuration
+{
+    if (!(self = [super init]))
+        return nil;
+
+    _configuration = adoptNS([configuration copy]);
+
+#if PLATFORM(IOS)
+    // FIXME: Remove once <rdar://problem/15256572> is fixed.
+    InitWebCoreThreadSystemInterface();
+#endif
+
+    String bundlePath;
+    if (NSURL *bundleURL = [_configuration _injectedBundleURL]) {
+        if (!bundleURL.isFileURL)
+            [NSException raise:NSInvalidArgumentException format:@"Injected Bundle URL must be a file URL"];
+
+        bundlePath = bundleURL.path;
+    }
+
+    API::Object::constructInWrapper<WebKit::WebContext>(self, bundlePath);
+    _context->setHistoryClient(std::make_unique<WebKit::HistoryClient>());
+
+    return self;
+}
+
+- (void)dealloc
+{
+    _context->~WebContext();
+
+    [super dealloc];
+}
+
+- (NSString *)description
+{
+    return [NSString stringWithFormat:@"<%@: %p; configuration = %@>", NSStringFromClass(self.class), self, _configuration.get()];
+}
+
+- (WKProcessPoolConfiguration *)configuration
+{
+    return [[_configuration copy] autorelease];
+}
+
+- (API::Object&)_apiObject
+{
+    return *_context;
+}
+
+@end
+
+@implementation WKProcessPool (WKPrivate)
+
+- (void)_setAllowsSpecificHTTPSCertificate:(NSArray *)certificateChain forHost:(NSString *)host
+{
+    _context->allowSpecificHTTPSCertificateForHost(WebKit::WebCertificateInfo::create(WebCore::CertificateInfo((CFArrayRef)certificateChain)).get(), host);
+}
+
+@end
+
+#endif // WK_API_ENABLED
diff --git a/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.h b/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.h
new file mode 100644 (file)
index 0000000..2c00709
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2014 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 <Foundation/Foundation.h>
+#import <WebKit2/WKFoundation.h>
+
+#if WK_API_ENABLED
+
+/*! A WKProcessPoolConfiguration is used to characterize a class of Web Content processes.
+ @helps Contains properties used to configure a @link WKProcessPool @/link.
+ */
+WK_API_CLASS
+@interface WKProcessPoolConfiguration : NSObject <NSCopying>
+
+/*! @abstract The maximum number of Web Content processes of the class that may exist at any time.
+ @discussion When the number of Web Content processes of the class reaches this value, one of the
+ existing processes will be used for any new @link WKWebView @/link configured to use the
+ same class.
+
+ A value of 0 means that WebKit will automatically choose a maximum. This is the default.
+ */
+@property (nonatomic) NSUInteger maximumProcessCount;
+
+@end
+
+#endif
diff --git a/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm b/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm
new file mode 100644 (file)
index 0000000..967c77b
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2014 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 "WKProcessPoolConfigurationPrivate.h"
+
+#if WK_API_ENABLED
+
+#import <wtf/RetainPtr.h>
+
+@implementation WKProcessPoolConfiguration {
+    RetainPtr<NSURL> _injectedBundleURL;
+}
+
+- (NSURL *)_injectedBundleURL
+{
+    return _injectedBundleURL.get();
+}
+
+- (void)_setInjectedBundleURL:(NSURL *)injectedBundleURL
+{
+    _injectedBundleURL = adoptNS([injectedBundleURL copy]);
+}
+
+- (NSString *)description
+{
+    NSString *description = [NSString stringWithFormat:@"<%@: %p; maximumProcessCount = %lu", NSStringFromClass(self.class), self, static_cast<unsigned long>(_maximumProcessCount)];
+    if (_injectedBundleURL)
+        return [description stringByAppendingFormat:@"; injectedBundleURL: \"%@\">", _injectedBundleURL.get()];
+
+    return [description stringByAppendingString:@">"];
+}
+
+- (id)copyWithZone:(NSZone *)zone
+{
+    WKProcessPoolConfiguration *configuration = [[[self class] allocWithZone:zone] init];
+
+    configuration.maximumProcessCount = self.maximumProcessCount;
+    configuration._injectedBundleURL = self._injectedBundleURL;
+
+    return configuration;
+}
+
+@end
+
+#endif
diff --git a/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h b/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h
new file mode 100644 (file)
index 0000000..47d3f23
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2014 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 <WebKit2/WKProcessPoolConfiguration.h>
+
+#if WK_API_ENABLED
+
+@interface WKProcessPoolConfiguration (WKPrivate)
+
+/*! @abstract The location of a bundle that will be loaded into Web Content processes of the
+ class.
+ */
+@property (nonatomic, copy, setter=_setInjectedBundleURL:) NSURL *_injectedBundleURL;
+
+@end
+
+#endif
@@ -23,7 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import "WKProcessClassPrivate.h"
+#import "WKProcessPoolPrivate.h"
 
 #if WK_API_ENABLED
 
 
 namespace WebKit {
 
-inline WKProcessClass *wrapper(WebContext& context)
+inline WKProcessPool *wrapper(WebContext& context)
 {
-    ASSERT([context.wrapper() isKindOfClass:[WKProcessClass class]]);
-    return (WKProcessClass *)context.wrapper();
+    ASSERT([context.wrapper() isKindOfClass:[WKProcessPool class]]);
+    return (WKProcessPool *)context.wrapper();
 }
 
 }
 
-@interface WKProcessClass () <WKObject> {
+@interface WKProcessPool () <WKObject> {
 @package
-    RetainPtr<WKProcessClassConfiguration> _configuration;
+    RetainPtr<WKProcessPoolConfiguration> _configuration;
 
     API::ObjectStorage<WebKit::WebContext> _context;
 }
diff --git a/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h b/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h
new file mode 100644 (file)
index 0000000..beae65c
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2014 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 <WebKit2/WKProcessPool.h>
+
+#if WK_API_ENABLED
+
+@interface WKProcessPool (WKPrivate)
+
+- (void)_setAllowsSpecificHTTPSCertificate:(NSArray *)certificateChain forHost:(NSString *)host;
+
+@end
+
+#endif
index b13b373..8673cd1 100644 (file)
@@ -42,7 +42,7 @@
 #import "WKNavigationDelegate.h"
 #import "WKNavigationInternal.h"
 #import "WKPreferencesInternal.h"
-#import "WKProcessClassInternal.h"
+#import "WKProcessPoolInternal.h"
 #import "WKRemoteObjectRegistryInternal.h"
 #import "WKUIDelegate.h"
 #import "WKWebViewConfigurationPrivate.h"
     _configuration = adoptNS([configuration copy]);
 
     if (WKWebView *relatedWebView = [_configuration _relatedWebView]) {
-        WKProcessClass *processClass = [_configuration processClass];
-        WKProcessClass *relatedWebViewProcessClass = [relatedWebView->_configuration processClass];
-        if (processClass && processClass != relatedWebViewProcessClass)
-            [NSException raise:NSInvalidArgumentException format:@"Related web view %@ has process class %@ but configuration specifies a different process class %@", relatedWebView, relatedWebViewProcessClass, configuration.processClass];
+        WKProcessPool *processPool = [_configuration processPool];
+        WKProcessPool *relatedWebViewProcessPool = [relatedWebView->_configuration processPool];
+        if (processPool && processPool != relatedWebViewProcessPool)
+            [NSException raise:NSInvalidArgumentException format:@"Related web view %@ has process pool %@ but configuration specifies a different process pool %@", relatedWebView, relatedWebViewProcessPool, configuration.processPool];
 
-        [_configuration setProcessClass:relatedWebViewProcessClass];
+        [_configuration setProcessPool:relatedWebViewProcessPool];
     }
 
-    if (![_configuration processClass])
-        [_configuration setProcessClass:adoptNS([[WKProcessClass alloc] init]).get()];
+    if (![_configuration processPool])
+        [_configuration setProcessPool:adoptNS([[WKProcessPool alloc] init]).get()];
 
     if (![_configuration preferences])
         [_configuration setPreferences:adoptNS([[WKPreferences alloc] init]).get()];
 
     CGRect bounds = self.bounds;
 
-    WebKit::WebContext& context = *[_configuration processClass]->_context;
+    WebKit::WebContext& context = *[_configuration processPool]->_context;
 
     WebKit::WebPageConfiguration webPageConfiguration;
     webPageConfiguration.preferences = [_configuration preferences]->_preferences.get();
index 951542b..9604821 100644 (file)
@@ -29,7 +29,7 @@
 #if WK_API_ENABLED
 
 @class WKPreferences;
-@class WKProcessClass;
+@class WKProcessPool;
 
 /*! A @link WKWebViewConfiguration @/link is a collection of properties used to initialize a web
         view.
@@ -46,7 +46,7 @@ WK_API_CLASS
         When this property is set to nil, a unique process class will be created for each
         @link WKWebView @/link initialized with the configuration.
 */
-@property (nonatomic, strong) WKProcessClass *processClass;
+@property (nonatomic, strong) WKProcessPool *processPool;
 
 @property (nonatomic, strong) WKPreferences *preferences;
 
index 37ad489..7153e42 100644 (file)
 #import <wtf/RetainPtr.h>
 
 @implementation WKWebViewConfiguration {
-    RetainPtr<WKProcessClass> _processClass;
+    RetainPtr<WKProcessPool> _processPool;
     RetainPtr<WKPreferences> _preferences;
     WebKit::WeakObjCPtr<WKWebView> _relatedWebView;
 }
 
 - (NSString *)description
 {
-    return [NSString stringWithFormat:@"<%@: %p; processClass = %@; preferences = %@>", NSStringFromClass(self.class), self, _processClass.get(), _preferences.get()];
+    return [NSString stringWithFormat:@"<%@: %p; processPool = %@; preferences = %@>", NSStringFromClass(self.class), self, _processPool.get(), _preferences.get()];
 }
 
 - (id)copyWithZone:(NSZone *)zone
 {
     WKWebViewConfiguration *configuration = [[[self class] allocWithZone:zone] init];
 
-    configuration.processClass = _processClass.get();
+    configuration.processPool = _processPool.get();
     configuration.preferences = _preferences.get();
     configuration._relatedWebView = _relatedWebView.get().get();
 
     return configuration;
 }
 
-- (WKProcessClass *)processClass
+- (WKProcessPool *)processPool
 {
-    return _processClass.get();
+    return _processPool.get();
 }
 
-- (void)setProcessClass:(WKProcessClass *)processClass
+- (void)setProcessPool:(WKProcessPool *)processPool
 {
-    _processClass = processClass;
+    _processPool = processPool;
 }
 
 - (WKPreferences *)preferences
diff --git a/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm b/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm
new file mode 100644 (file)
index 0000000..87990c4
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2014 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 "WKWebViewConfiguration.h"
+
+#if WK_API_ENABLED
+
+#import "WKProcessClass.h"
+
+@interface WKWebViewConfiguration (WKToBeReoved)
+@property (nonatomic) WKProcessClass *processClass;
+@end
+
+@implementation WKWebViewConfiguration (WKToBeReoved)
+
+- (void)setProcessClass:(WKProcessClass *)processClass
+{
+    self.processPool = processClass;
+}
+
+- (WKProcessClass *)processClass
+{
+    return (WKProcessClass *)self.processPool;
+}
+
+@end
+
+#endif
+
index 09cdc8f..40119ca 100644 (file)
@@ -54,7 +54,7 @@
 #import "WKAPICast.h"
 #import "WKFullScreenWindowController.h"
 #import "WKPrintingView.h"
-#import "WKProcessClassInternal.h"
+#import "WKProcessPoolInternal.h"
 #import "WKStringCF.h"
 #import "WKTextInputWindowController.h"
 #import "WKThumbnailView.h"
index 7a21389..74bbdba 100644 (file)
@@ -37,7 +37,7 @@
 #import "WKInteractionView.h"
 #import "WKPreferencesInternal.h"
 #import "WKProcessGroupPrivate.h"
-#import "WKProcessClassInternal.h"
+#import "WKProcessPoolInternal.h"
 #import "WKWebViewConfiguration.h"
 #import "WebContext.h"
 #import "WebFrameProxy.h"
@@ -316,7 +316,7 @@ using namespace WebKit;
 
 - (void)_decidePolicyForGeolocationRequestFromOrigin:(WebSecurityOrigin&)origin frame:(WebFrameProxy&)frame request:(GeolocationPermissionRequestProxy&)permissionRequest
 {
-    // FIXME: The line below is commented out since wrapper(WebContext&) now returns a WKProcessClass.
+    // FIXME: The line below is commented out since wrapper(WebContext&) now returns a WKProcessPool.
     // As part of the new API we should figure out where geolocation fits in, see <rdar://problem/15885544>.
     // [[wrapper(_page->process().context()) _geolocationProvider] decidePolicyForGeolocationRequestFromOrigin:toAPI(&origin) frame:toAPI(&frame) request:toAPI(&permissionRequest) window:[self window]];
 }
index d8bcd85..382b662 100644 (file)
                1A0F29CC120B37160053D1B9 /* VisitedLinkTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A0F29CA120B37160053D1B9 /* VisitedLinkTable.h */; };
                1A0F29E3120B44420053D1B9 /* VisitedLinkProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A0F29E1120B44420053D1B9 /* VisitedLinkProvider.cpp */; };
                1A0F29E4120B44420053D1B9 /* VisitedLinkProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A0F29E2120B44420053D1B9 /* VisitedLinkProvider.h */; };
-               1A158419189044F50017616C /* WKProcessClass.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A158417189044F50017616C /* WKProcessClass.mm */; };
-               1A15841A189044F50017616C /* WKProcessClass.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A158418189044F50017616C /* WKProcessClass.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               1A158419189044F50017616C /* WKProcessPool.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A158417189044F50017616C /* WKProcessPool.mm */; };
+               1A15841A189044F50017616C /* WKProcessPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A158418189044F50017616C /* WKProcessPool.h */; settings = {ATTRIBUTES = (Public, ); }; };
                1A17977F137EE82C00F97D45 /* PluginCreationParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A17977D137EE82C00F97D45 /* PluginCreationParameters.cpp */; };
                1A179780137EE82C00F97D45 /* PluginCreationParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A17977E137EE82C00F97D45 /* PluginCreationParameters.h */; };
                1A186EEA12EF7618008E5F37 /* LayerTreeHost.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A186EE812EF7618008E5F37 /* LayerTreeHost.h */; };
                1A3C888018A5ABAE00C4C962 /* WKPreferencesInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3C887F18A5ABAE00C4C962 /* WKPreferencesInternal.h */; };
                1A3CC16618906ACF001E6ED8 /* WKWebView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A3CC16418906ACF001E6ED8 /* WKWebView.mm */; };
                1A3CC16718906ACF001E6ED8 /* WKWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3CC16518906ACF001E6ED8 /* WKWebView.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               1A3CC16918907EB0001E6ED8 /* WKProcessClassInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3CC16818907EB0001E6ED8 /* WKProcessClassInternal.h */; };
+               1A3CC16918907EB0001E6ED8 /* WKProcessPoolInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3CC16818907EB0001E6ED8 /* WKProcessPoolInternal.h */; };
                1A3D610113A7CC2A00F95D4E /* PluginModuleInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3D60FF13A7CC2A00F95D4E /* PluginModuleInfo.cpp */; };
                1A3D610213A7CC2A00F95D4E /* PluginModuleInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3D610013A7CC2A00F95D4E /* PluginModuleInfo.h */; };
                1A3D610513A7F03A00F95D4E /* ArgumentCoders.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3D610413A7F03A00F95D4E /* ArgumentCoders.cpp */; };
                1A422F8E18B29C6400D8CD96 /* HistoryClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A422F8C18B29C6400D8CD96 /* HistoryClient.mm */; };
                1A422F8F18B29C6400D8CD96 /* HistoryClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A422F8D18B29C6400D8CD96 /* HistoryClient.h */; };
                1A433F0D113C53DD00FACDE9 /* WebErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A433F0C113C53DD00FACDE9 /* WebErrors.h */; };
-               1A43E829188F3CDC009E4D30 /* WKProcessClassConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A43E827188F3CDC009E4D30 /* WKProcessClassConfiguration.mm */; };
-               1A43E82A188F3CDC009E4D30 /* WKProcessClassConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A43E828188F3CDC009E4D30 /* WKProcessClassConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               1A43E82C188F3CF5009E4D30 /* WKProcessClassConfigurationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A43E82B188F3CF5009E4D30 /* WKProcessClassConfigurationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               1A43E829188F3CDC009E4D30 /* WKProcessPoolConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A43E827188F3CDC009E4D30 /* WKProcessPoolConfiguration.mm */; };
+               1A43E82A188F3CDC009E4D30 /* WKProcessPoolConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A43E828188F3CDC009E4D30 /* WKProcessPoolConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               1A43E82C188F3CF5009E4D30 /* WKProcessPoolConfigurationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A43E82B188F3CF5009E4D30 /* WKProcessPoolConfigurationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1A445B9F184D5FB5004B3414 /* WKContextInjectedBundleClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A445B9E184D5FB5004B3414 /* WKContextInjectedBundleClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1A445BA1184D5FC1004B3414 /* WKContextHistoryClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A445BA0184D5FC1004B3414 /* WKContextHistoryClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1A445BA3184D5FCF004B3414 /* WKContextDownloadClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A445BA2184D5FCF004B3414 /* WKContextDownloadClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1A64230912DD09EB00CAAE2C /* DrawingAreaProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A64230712DD09EB00CAAE2C /* DrawingAreaProxyMessages.h */; };
                1A64245E12DE29A100CAAE2C /* UpdateInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A64245C12DE29A100CAAE2C /* UpdateInfo.h */; };
                1A64245F12DE29A100CAAE2C /* UpdateInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A64245D12DE29A100CAAE2C /* UpdateInfo.cpp */; };
-               1A6509CE18B4146200614332 /* WKProcessClassPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6509CD18B4146200614332 /* WKProcessClassPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               1A6509CE18B4146200614332 /* WKProcessPoolPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6509CD18B4146200614332 /* WKProcessPoolPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1A6637D718B2831F00C0BCF3 /* APIHistoryClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6637D618B2831F00C0BCF3 /* APIHistoryClient.h */; };
                1A66BF8F18A052ED002071B4 /* WKWebViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A66BF8E18A052ED002071B4 /* WKWebViewInternal.h */; };
                1A6F9F9011E13EFC00DB1371 /* CommandLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6F9F8E11E13EFC00DB1371 /* CommandLine.h */; };
                1A9E329E1822FEDD00F5D04C /* WKRemoteObjectCoder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A9E329C1822FEDD00F5D04C /* WKRemoteObjectCoder.mm */; };
                1A9E329F1822FEDD00F5D04C /* WKRemoteObjectCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9E329D1822FEDD00F5D04C /* WKRemoteObjectCoder.h */; };
                1A9E32A11823018900F5D04C /* WKRemoteObjectRegistryInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9E32A01823018900F5D04C /* WKRemoteObjectRegistryInternal.h */; };
+               1A9EA31218BBDE00004F7C95 /* WKProcessClass.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A9EA31018BBDE00004F7C95 /* WKProcessClass.mm */; };
+               1A9EA31318BBDE00004F7C95 /* WKProcessClass.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9EA31118BBDE00004F7C95 /* WKProcessClass.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               1A9EA31618BBDE13004F7C95 /* WKProcessClassConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A9EA31418BBDE13004F7C95 /* WKProcessClassConfiguration.mm */; };
+               1A9EA31718BBDE13004F7C95 /* WKProcessClassConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9EA31518BBDE13004F7C95 /* WKProcessClassConfiguration.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               1A9EA31918BBDE98004F7C95 /* WKProcessClassConfigurationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9EA31818BBDE98004F7C95 /* WKProcessClassConfigurationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               1A9EA31B18BBDF16004F7C95 /* WKProcessClassPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9EA31A18BBDF16004F7C95 /* WKProcessClassPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               1A9EA31E18BBDF4B004F7C95 /* WKWebViewConfigurationToBeRemoved.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A9EA31C18BBDF4B004F7C95 /* WKWebViewConfigurationToBeRemoved.mm */; };
                1A9FBA8D13FF04E600DEED67 /* PluginComplexTextInputState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9FBA8C13FF04E600DEED67 /* PluginComplexTextInputState.h */; };
                1AA20D5118AD50E0005D1ED4 /* WKNavigationDelegatePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AA20D5018AD50E0005D1ED4 /* WKNavigationDelegatePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1AA2E51D12E4C05E00BC4966 /* CGUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AA2E51B12E4C05E00BC4966 /* CGUtilities.h */; };
                1A0F29CA120B37160053D1B9 /* VisitedLinkTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisitedLinkTable.h; sourceTree = "<group>"; };
                1A0F29E1120B44420053D1B9 /* VisitedLinkProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisitedLinkProvider.cpp; sourceTree = "<group>"; };
                1A0F29E2120B44420053D1B9 /* VisitedLinkProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisitedLinkProvider.h; sourceTree = "<group>"; };
-               1A158417189044F50017616C /* WKProcessClass.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKProcessClass.mm; sourceTree = "<group>"; };
-               1A158418189044F50017616C /* WKProcessClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessClass.h; sourceTree = "<group>"; };
+               1A158417189044F50017616C /* WKProcessPool.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKProcessPool.mm; sourceTree = "<group>"; };
+               1A158418189044F50017616C /* WKProcessPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessPool.h; sourceTree = "<group>"; };
                1A17635416B1D5D000D88FD6 /* StorageNamespaceImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageNamespaceImpl.cpp; sourceTree = "<group>"; };
                1A17635516B1D5D000D88FD6 /* StorageNamespaceImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageNamespaceImpl.h; sourceTree = "<group>"; };
                1A17977D137EE82C00F97D45 /* PluginCreationParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginCreationParameters.cpp; sourceTree = "<group>"; };
                1A3C887F18A5ABAE00C4C962 /* WKPreferencesInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPreferencesInternal.h; sourceTree = "<group>"; };
                1A3CC16418906ACF001E6ED8 /* WKWebView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKWebView.mm; sourceTree = "<group>"; };
                1A3CC16518906ACF001E6ED8 /* WKWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebView.h; sourceTree = "<group>"; };
-               1A3CC16818907EB0001E6ED8 /* WKProcessClassInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessClassInternal.h; sourceTree = "<group>"; };
+               1A3CC16818907EB0001E6ED8 /* WKProcessPoolInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessPoolInternal.h; sourceTree = "<group>"; };
                1A3D60FF13A7CC2A00F95D4E /* PluginModuleInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginModuleInfo.cpp; sourceTree = "<group>"; };
                1A3D610013A7CC2A00F95D4E /* PluginModuleInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginModuleInfo.h; sourceTree = "<group>"; };
                1A3D610413A7F03A00F95D4E /* ArgumentCoders.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArgumentCoders.cpp; sourceTree = "<group>"; };
                1A422F8C18B29C6400D8CD96 /* HistoryClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = HistoryClient.mm; sourceTree = "<group>"; };
                1A422F8D18B29C6400D8CD96 /* HistoryClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryClient.h; sourceTree = "<group>"; };
                1A433F0C113C53DD00FACDE9 /* WebErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebErrors.h; sourceTree = "<group>"; };
-               1A43E827188F3CDC009E4D30 /* WKProcessClassConfiguration.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKProcessClassConfiguration.mm; sourceTree = "<group>"; };
-               1A43E828188F3CDC009E4D30 /* WKProcessClassConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessClassConfiguration.h; sourceTree = "<group>"; };
-               1A43E82B188F3CF5009E4D30 /* WKProcessClassConfigurationPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessClassConfigurationPrivate.h; sourceTree = "<group>"; };
+               1A43E827188F3CDC009E4D30 /* WKProcessPoolConfiguration.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKProcessPoolConfiguration.mm; sourceTree = "<group>"; };
+               1A43E828188F3CDC009E4D30 /* WKProcessPoolConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessPoolConfiguration.h; sourceTree = "<group>"; };
+               1A43E82B188F3CF5009E4D30 /* WKProcessPoolConfigurationPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessPoolConfigurationPrivate.h; sourceTree = "<group>"; };
                1A445B9E184D5FB5004B3414 /* WKContextInjectedBundleClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContextInjectedBundleClient.h; sourceTree = "<group>"; };
                1A445BA0184D5FC1004B3414 /* WKContextHistoryClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContextHistoryClient.h; sourceTree = "<group>"; };
                1A445BA2184D5FCF004B3414 /* WKContextDownloadClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContextDownloadClient.h; sourceTree = "<group>"; };
                1A64230712DD09EB00CAAE2C /* DrawingAreaProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingAreaProxyMessages.h; sourceTree = "<group>"; };
                1A64245C12DE29A100CAAE2C /* UpdateInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UpdateInfo.h; sourceTree = "<group>"; };
                1A64245D12DE29A100CAAE2C /* UpdateInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UpdateInfo.cpp; sourceTree = "<group>"; };
-               1A6509CD18B4146200614332 /* WKProcessClassPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessClassPrivate.h; sourceTree = "<group>"; };
+               1A6509CD18B4146200614332 /* WKProcessPoolPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessPoolPrivate.h; sourceTree = "<group>"; };
                1A6637D618B2831F00C0BCF3 /* APIHistoryClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIHistoryClient.h; sourceTree = "<group>"; };
                1A66BF8E18A052ED002071B4 /* WKWebViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebViewInternal.h; sourceTree = "<group>"; };
                1A6F9F8E11E13EFC00DB1371 /* CommandLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommandLine.h; sourceTree = "<group>"; };
                1A9E329C1822FEDD00F5D04C /* WKRemoteObjectCoder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKRemoteObjectCoder.mm; sourceTree = "<group>"; };
                1A9E329D1822FEDD00F5D04C /* WKRemoteObjectCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKRemoteObjectCoder.h; sourceTree = "<group>"; };
                1A9E32A01823018900F5D04C /* WKRemoteObjectRegistryInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKRemoteObjectRegistryInternal.h; sourceTree = "<group>"; };
+               1A9EA31018BBDE00004F7C95 /* WKProcessClass.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKProcessClass.mm; sourceTree = "<group>"; };
+               1A9EA31118BBDE00004F7C95 /* WKProcessClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessClass.h; sourceTree = "<group>"; };
+               1A9EA31418BBDE13004F7C95 /* WKProcessClassConfiguration.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKProcessClassConfiguration.mm; sourceTree = "<group>"; };
+               1A9EA31518BBDE13004F7C95 /* WKProcessClassConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessClassConfiguration.h; sourceTree = "<group>"; };
+               1A9EA31818BBDE98004F7C95 /* WKProcessClassConfigurationPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessClassConfigurationPrivate.h; sourceTree = "<group>"; };
+               1A9EA31A18BBDF16004F7C95 /* WKProcessClassPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessClassPrivate.h; sourceTree = "<group>"; };
+               1A9EA31C18BBDF4B004F7C95 /* WKWebViewConfigurationToBeRemoved.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKWebViewConfigurationToBeRemoved.mm; sourceTree = "<group>"; };
                1A9FBA8C13FF04E600DEED67 /* PluginComplexTextInputState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginComplexTextInputState.h; sourceTree = "<group>"; };
                1AA1C79A100E7FC50078DEBC /* WebCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                1AA1C7DE100E846E0078DEBC /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                        path = Cocoa;
                        sourceTree = "<group>";
                };
+               1AC5C47A18BBCB7D0089F57F /* To Be Removed */ = {
+                       isa = PBXGroup;
+                       children = (
+                               1A9EA31118BBDE00004F7C95 /* WKProcessClass.h */,
+                               1A9EA31018BBDE00004F7C95 /* WKProcessClass.mm */,
+                               1A9EA31518BBDE13004F7C95 /* WKProcessClassConfiguration.h */,
+                               1A9EA31418BBDE13004F7C95 /* WKProcessClassConfiguration.mm */,
+                               1A9EA31818BBDE98004F7C95 /* WKProcessClassConfigurationPrivate.h */,
+                               1A9EA31A18BBDF16004F7C95 /* WKProcessClassPrivate.h */,
+                               1A9EA31C18BBDF4B004F7C95 /* WKWebViewConfigurationToBeRemoved.mm */,
+                       );
+                       name = "To Be Removed";
+                       sourceTree = "<group>";
+               };
                1AE00D6818327C1200087DD7 /* IPC */ = {
                        isa = PBXGroup;
                        children = (
                37C4C08318149C2A003688B9 /* Cocoa */ = {
                        isa = PBXGroup;
                        children = (
+                               1AC5C47A18BBCB7D0089F57F /* To Be Removed */,
                                1A43E826188F38E2009E4D30 /* Deprecated */,
                                2D6B371918A967AD0042AE80 /* WKThumbnailView.h */,
                                2DACE64D18ADBFF000E4CA76 /* WKThumbnailViewInternal.h */,
                                1AFDD3161891C94700153970 /* WKPreferences.h */,
                                1AFDD3181891CA1200153970 /* WKPreferences.mm */,
                                1A3C887F18A5ABAE00C4C962 /* WKPreferencesInternal.h */,
-                               1A158418189044F50017616C /* WKProcessClass.h */,
-                               1A158417189044F50017616C /* WKProcessClass.mm */,
-                               1A6509CD18B4146200614332 /* WKProcessClassPrivate.h */,
-                               1A43E828188F3CDC009E4D30 /* WKProcessClassConfiguration.h */,
-                               1A43E827188F3CDC009E4D30 /* WKProcessClassConfiguration.mm */,
-                               1A43E82B188F3CF5009E4D30 /* WKProcessClassConfigurationPrivate.h */,
-                               1A3CC16818907EB0001E6ED8 /* WKProcessClassInternal.h */,
+                               1A158418189044F50017616C /* WKProcessPool.h */,
+                               1A158417189044F50017616C /* WKProcessPool.mm */,
+                               1A6509CD18B4146200614332 /* WKProcessPoolPrivate.h */,
+                               1A43E828188F3CDC009E4D30 /* WKProcessPoolConfiguration.h */,
+                               1A43E827188F3CDC009E4D30 /* WKProcessPoolConfiguration.mm */,
+                               1A43E82B188F3CF5009E4D30 /* WKProcessPoolConfigurationPrivate.h */,
+                               1A3CC16818907EB0001E6ED8 /* WKProcessPoolInternal.h */,
                                1AD8790918B6C38A006CAFD7 /* WKUIDelegate.h */,
                                1A3CC16518906ACF001E6ED8 /* WKWebView.h */,
                                1A3CC16418906ACF001E6ED8 /* WKWebView.mm */,
                                7CA254EB182993CE00FC8A41 /* WKBrowsingContextPolicyDelegate.h in Headers */,
                                37C4C08718149C5B003688B9 /* WKBackForwardListItem.h in Headers */,
                                1F335BC0185B84F0001A201A /* WKWebProcessPlugInLoadDelegate.h in Headers */,
-                               1A43E82C188F3CF5009E4D30 /* WKProcessClassConfigurationPrivate.h in Headers */,
+                               1A43E82C188F3CF5009E4D30 /* WKProcessPoolConfigurationPrivate.h in Headers */,
                                1F7506B41859164C00EC0FF7 /* WKWebProcessPlugInScriptWorld.h in Headers */,
-                               1A43E82A188F3CDC009E4D30 /* WKProcessClassConfiguration.h in Headers */,
+                               1A43E82A188F3CDC009E4D30 /* WKProcessPoolConfiguration.h in Headers */,
                                1F7506B31859164500EC0FF7 /* WKWebProcessPlugInNodeHandle.h in Headers */,
                                377EAD4517E2C51A002D193D /* WKDeclarationSpecifiers.h in Headers */,
                                1FB00AC7185F76460019142E /* WKWebProcessPlugInPageGroup.h in Headers */,
                                1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */,
                                1A232903162C867300D82F7A /* MessageDecoder.h in Headers */,
                                51FCB18617BBFE0300394CD8 /* AsynchronousNetworkLoaderClient.h in Headers */,
-                               1A3CC16918907EB0001E6ED8 /* WKProcessClassInternal.h in Headers */,
+                               1A3CC16918907EB0001E6ED8 /* WKProcessPoolInternal.h in Headers */,
                                2D1B5D5E185869C8006C6596 /* ViewGestureControllerMessages.h in Headers */,
                                0FCB4E5218BBE044000FCFC9 /* WKInteractionView.h in Headers */,
                                1A2328FF162C866A00D82F7A /* MessageEncoder.h in Headers */,
                                1AD3306F16B1D991004F60E7 /* StorageAreaImpl.h in Headers */,
                                1A4D664E18A3031B00D82E21 /* WKFrameInfoInternal.h in Headers */,
                                1AF4129B18B40FCD00546FDC /* WKNavigationActionPrivate.h in Headers */,
+                               1A9EA31318BBDE00004F7C95 /* WKProcessClass.h in Headers */,
                                1ACECD2517162DB1001FC9EF /* StorageAreaMap.h in Headers */,
                                1A334DEE16DE8F88006A8E38 /* StorageAreaMapMessages.h in Headers */,
                                1A44B95C16B73F9F00B7BBD8 /* StorageManager.h in Headers */,
                                512A9761180E031D0039A149 /* DatabaseProcessMessages.h in Headers */,
                                BC09B8F9147460F7005F5625 /* WebContextConnectionClient.h in Headers */,
                                BCDE059B11CDA8AE00E41AF1 /* WebContextInjectedBundleClient.h in Headers */,
-                               1A6509CE18B4146200614332 /* WKProcessClassPrivate.h in Headers */,
+                               1A6509CE18B4146200614332 /* WKProcessPoolPrivate.h in Headers */,
                                51871B5C127CB89D00F76232 /* WebContextMenu.h in Headers */,
                                BC032D7710F4378D0058C15A /* WebContextMenuClient.h in Headers */,
                                75E749EC180DBB9800088BA6 /* WebOriginDataManagerProxyMessages.h in Headers */,
                                9391F2CB121B67AD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */,
                                BCB9F6A01123A84B00A137E0 /* WebFramePolicyListenerProxy.h in Headers */,
                                BC9B38A110F538BE00443A15 /* WebFrameProxy.h in Headers */,
+                               1A9EA31918BBDE98004F7C95 /* WKProcessClassConfigurationPrivate.h in Headers */,
                                BC1BE1E012D54A410004A228 /* WebGeolocationClient.h in Headers */,
                                BC0E5FE512D697160012A72A /* WebGeolocationManager.h in Headers */,
                                BC0E606212D6BA910012A72A /* WebGeolocationManagerMessages.h in Headers */,
                                1C8E28201275D15400BC7BD0 /* WebInspector.h in Headers */,
                                1A3CC16718906ACF001E6ED8 /* WKWebView.h in Headers */,
                                BC032D8210F4378D0058C15A /* WebInspectorClient.h in Headers */,
+                               1A9EA31718BBDE13004F7C95 /* WKProcessClassConfiguration.h in Headers */,
                                1C8E25A91270E3BC00BC7BD0 /* WebInspectorFrontendClient.h in Headers */,
                                1C8E2A361277852400BC7BD0 /* WebInspectorMessages.h in Headers */,
                                1C8E28341275D73800BC7BD0 /* WebInspectorProxy.h in Headers */,
                                BC1B419811D41D570011E8DD /* WKBundlePagePrivate.h in Headers */,
                                BCF049E711FE20F600F86A58 /* WKBundlePrivate.h in Headers */,
                                BC60C5791240A546008C5E29 /* WKBundleRangeHandle.h in Headers */,
+                               1A9EA31B18BBDF16004F7C95 /* WKProcessClassPrivate.h in Headers */,
                                BC5D24C716CD73C5007D5461 /* WKBundleRangeHandlePrivate.h in Headers */,
                                BC14DF9F120B635F00826C0C /* WKBundleScriptWorld.h in Headers */,
                                BC4075F6124FF0270068F20A /* WKCertificateInfo.h in Headers */,
                                3795789C18AD4F1900B9ED2E /* WKWebProcessPlugInFormDelegatePrivate.h in Headers */,
                                51A555F6128C6C47009ABCEC /* WKContextMenuItem.h in Headers */,
                                51A55601128C6D92009ABCEC /* WKContextMenuItemTypes.h in Headers */,
-                               1A15841A189044F50017616C /* WKProcessClass.h in Headers */,
+                               1A15841A189044F50017616C /* WKProcessPool.h in Headers */,
                                1AB8A1EE18400ACB00E9AE69 /* WKPagePolicyClient.h in Headers */,
                                37183D57182F4E700080C811 /* WKNSURLExtras.h in Headers */,
                                BCC938E11180DE440085E5FE /* WKContextPrivate.h in Headers */,
                                1A2D957012848564001EB962 /* ChildProcess.cpp in Sources */,
                                BC82837B16B36A4F00A278FE /* ChildProcessEntryPoint.mm in Sources */,
                                9F54F88F16488E87007DF81A /* ChildProcessMac.mm in Sources */,
+                               1A9EA31E18BBDF4B004F7C95 /* WKWebViewConfigurationToBeRemoved.mm in Sources */,
                                E1513C66166EABB200149FCB /* ChildProcessProxy.cpp in Sources */,
                                1A2A4B0E1586A2240090C9E9 /* ColorSpaceData.mm in Sources */,
                                1A6F9FB711E1408500DB1371 /* CommandLinePOSIX.cpp in Sources */,
                                1A4D664B18A3030E00D82E21 /* WKFrameInfo.mm in Sources */,
                                2D28F3E51885CCC1004B9EAE /* WebDatabaseManagerIOS.mm in Sources */,
                                51B15A8413843A3900321AD8 /* EnvironmentUtilities.cpp in Sources */,
-                               1A43E829188F3CDC009E4D30 /* WKProcessClassConfiguration.mm in Sources */,
+                               1A43E829188F3CDC009E4D30 /* WKProcessPoolConfiguration.mm in Sources */,
                                1A7C6CDA1378950800B9C04D /* EnvironmentVariables.cpp in Sources */,
                                1AA575FA1496B52600A4EE06 /* EventDispatcher.cpp in Sources */,
                                1A9E328A1821636900F5D04C /* WKRemoteObjectRegistry.mm in Sources */,
                                1AA3D75B1651B44F008713D0 /* RemoteLayerTreeHost.mm in Sources */,
                                1AF1AC6B1651759E00C17D7F /* RemoteLayerTreeTransaction.mm in Sources */,
                                E1B78473163F253E0007B692 /* RemoteNetworkingContext.mm in Sources */,
+                               1A9EA31618BBDE13004F7C95 /* WKProcessClassConfiguration.mm in Sources */,
                                BC111B09112F5E3C00337BAB /* ResponsivenessTimer.cpp in Sources */,
                                1AAB4AAA1296F1540023952F /* SandboxExtensionMac.mm in Sources */,
                                E1E552C416AE065F004ED653 /* SandboxInitialiationParametersMac.mm in Sources */,
                                BCE469791214F2B4000B98EB /* WebFrameListenerProxy.cpp in Sources */,
                                BC111A5F112F4FBB00337BAB /* WebFrameLoaderClient.cpp in Sources */,
                                9391F2CA121B679A00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */,
-                               1A158419189044F50017616C /* WKProcessClass.mm in Sources */,
+                               1A158419189044F50017616C /* WKProcessPool.mm in Sources */,
                                BCB9F6A11123A84B00A137E0 /* WebFramePolicyListenerProxy.cpp in Sources */,
                                BC111B0E112F5E4F00337BAB /* WebFrameProxy.cpp in Sources */,
                                CD73BA53131B645B00EEDED2 /* WebFullScreenManager.cpp in Sources */,
                                51D02F6B132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp in Sources */,
                                BCCF6ABC12C91EF9008F9C35 /* WebImage.cpp in Sources */,
                                1C8E28211275D15400BC7BD0 /* WebInspector.cpp in Sources */,
+                               1A9EA31218BBDE00004F7C95 /* WKProcessClass.mm in Sources */,
                                BC111A60112F4FBB00337BAB /* WebInspectorClient.cpp in Sources */,
                                1C8E25A81270E3BB00BC7BD0 /* WebInspectorFrontendClient.cpp in Sources */,
                                1CA8B954127C891500576C2B /* WebInspectorMac.mm in Sources */,