<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[178685] trunk/Source/WebKit2</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/178685">178685</a></dd>
<dt>Author</dt> <dd>weinig@apple.com</dd>
<dt>Date</dt> <dd>2015-01-19 17:35:47 -0800 (Mon, 19 Jan 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge API::ProcessPoolConfiguration and _WKProcessPoolConfiguration
https://bugs.webkit.org/show_bug.cgi?id=140601

Reviewed by Anders Carlsson.

- Converts _WKProcessPoolConfiguration to be backed via API::ProcessPoolConfiguration.
- Expands API::ProcessPoolConfiguration to add all the parameters necessary to fully
  initialize a WebProcessPool. This allows -[WKProcessPool _initWithConfiguration:] to
  be a simple pass through initializer, which in turn allows us to consider WebProcessPools
  created on the C++ and Objective-C sides as equivalent.
- Makes WebProcessPool own the reference to the API::ProcessPoolConfiguration (rather than
  the WKProcessPool wrapper).

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
Create the API::ProcessPoolConfigurations using [_WKProcessPoolConfiguration alloc] as its 
storage..

* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::create):
(API::ProcessPoolConfiguration::createWithLegacyOptions):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::~ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::copy):
(API::ProcessPoolConfiguration::webProcessPoolConfiguration): Deleted.
* UIProcess/API/APIProcessPoolConfiguration.h:
Add the remaining initialization parameters and add a convenience create function
for configuring legacy WebProcessPools (for use by the C-SPI).

* UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
* UIProcess/API/APIWebsiteDataStore.h:
* UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::defaultDataStoreConfiguration):
Expose helper for getting the website data directories for use in the ProcessPoolConfiguration.

* UIProcess/API/C/WKContext.cpp:
(WKContextCreate):
(WKContextCreateWithInjectedBundlePath):
(WKContextCreateWithConfiguration):
Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.

* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCreate):
Update for ProcessPoolConfiguration::create() returning a Ref. Note, this function
was not changed to call ProcessPoolConfiguration::createWithLegacyOptions() since
it has not been around long enough to warrant it.

* UIProcess/API/Cocoa/WKProcessGroup.mm:
(-[WKProcessGroup initWithInjectedBundleURL:]):
Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool description]):
Change to pull the configuration from the underlying API::Object.

(-[WKProcessPool _configuration]):
Change to pull the configuration from the underlying API::Object and call the new
copy() helper on it.
        
(-[WKProcessPool _initWithConfiguration:]):
Convert to be a simple pass through to API::Object::constructInWrapper.

(websiteDataDirectoryURL): Deleted.
Moved to APIWebsiteDataStore.h

* UIProcess/API/Cocoa/WKProcessPoolInternal.h:
Removes the _WKProcessPoolConfiguration member, now that it is stored on the WebProcessPool.
        
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration init]):
(-[_WKProcessPoolConfiguration dealloc]):
Added to support API::Object bridging.

(-[_WKProcessPoolConfiguration injectedBundleURL]):
(-[_WKProcessPoolConfiguration setInjectedBundleURL:]):
Convert to getting the URL from the underlying object. Moved the exception
that used to be on creation of the WKProcessPool.

(-[_WKProcessPoolConfiguration maximumProcessCount]):
(-[_WKProcessPoolConfiguration setMaximumProcessCount:]):
Convert to getting the count from the underlying object.

(-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]):
Convert to constructing the NSArray on demand from the underlying Vector.

(-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
Converts the NSArray to a Vector rather than storing the array.

* UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h: Added.
(API::wrapper):
Add boilerplate for API::Object bridging.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed):
Update to use API::ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.


* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::inspectorProcessPool):
Update to call API::ProcessPoolConfiguration::createWithLegacyOptions().

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::create):
(WebKit::websiteDataStoreConfiguration):
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::applyPlatformSpecificConfigurationDefaults): Deleted.
This functionality was moved to the constructor of the API::ProcessPoolConfiguration.
* UIProcess/WebProcessPool.h:
Changed to take (and store) a API::ProcessPoolConfiguration rather than the WebProcessPoolConfiguration.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.
* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.
Renamed to make it clear these were the legacy locations for these directories.

* WebKit2.xcodeproj/project.pbxproj:
Added new files.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedCocoaAPIObjectmm">trunk/Source/WebKit2/Shared/Cocoa/APIObject.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIAPIProcessPoolConfigurationcpp">trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIAPIProcessPoolConfigurationh">trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIAPIWebsiteDataStorecpp">trunk/Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIAPIWebsiteDataStoreh">trunk/Source/WebKit2/UIProcess/API/APIWebsiteDataStore.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKContextcpp">trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKContextConfigurationRefcpp">trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaAPIWebsiteDataStoreCocoamm">trunk/Source/WebKit2/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKProcessGroupmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKProcessPoolmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKProcessPoolInternalh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoa_WKProcessPoolConfigurationmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIgtkWebKitWebContextcpp">trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaWebProcessPoolCocoamm">trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebInspectorProxycpp">trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebProcessPoolcpp">trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebProcessPoolh">trunk/Source/WebKit2/UIProcess/WebProcessPool.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcesseflWebContextEflcpp">trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessgtkWebProcessPoolGtkcpp">trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoa_WKProcessPoolConfigurationInternalh">trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/ChangeLog        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -1,3 +1,149 @@
</span><ins>+2015-01-18  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Merge API::ProcessPoolConfiguration and _WKProcessPoolConfiguration
+        https://bugs.webkit.org/show_bug.cgi?id=140601
+
+        Reviewed by Anders Carlsson.
+
+        - Converts _WKProcessPoolConfiguration to be backed via API::ProcessPoolConfiguration.
+        - Expands API::ProcessPoolConfiguration to add all the parameters necessary to fully
+          initialize a WebProcessPool. This allows -[WKProcessPool _initWithConfiguration:] to
+          be a simple pass through initializer, which in turn allows us to consider WebProcessPools
+          created on the C++ and Objective-C sides as equivalent.
+        - Makes WebProcessPool own the reference to the API::ProcessPoolConfiguration (rather than
+          the WKProcessPool wrapper).
+
+        * Shared/Cocoa/APIObject.mm:
+        (API::Object::newObject):
+        Create the API::ProcessPoolConfigurations using [_WKProcessPoolConfiguration alloc] as its 
+        storage..
+
+        * UIProcess/API/APIProcessPoolConfiguration.cpp:
+        (API::ProcessPoolConfiguration::create):
+        (API::ProcessPoolConfiguration::createWithLegacyOptions):
+        (API::ProcessPoolConfiguration::ProcessPoolConfiguration):
+        (API::ProcessPoolConfiguration::~ProcessPoolConfiguration):
+        (API::ProcessPoolConfiguration::copy):
+        (API::ProcessPoolConfiguration::webProcessPoolConfiguration): Deleted.
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+        Add the remaining initialization parameters and add a convenience create function
+        for configuring legacy WebProcessPools (for use by the C-SPI).
+
+        * UIProcess/API/APIWebsiteDataStore.cpp:
+        (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
+        * UIProcess/API/APIWebsiteDataStore.h:
+        * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
+        (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
+        (API::WebsiteDataStore::defaultDataStoreConfiguration):
+        Expose helper for getting the website data directories for use in the ProcessPoolConfiguration.
+
+        * UIProcess/API/C/WKContext.cpp:
+        (WKContextCreate):
+        (WKContextCreateWithInjectedBundlePath):
+        (WKContextCreateWithConfiguration):
+        Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.
+
+        * UIProcess/API/C/WKContextConfigurationRef.cpp:
+        (WKContextConfigurationCreate):
+        Update for ProcessPoolConfiguration::create() returning a Ref. Note, this function
+        was not changed to call ProcessPoolConfiguration::createWithLegacyOptions() since
+        it has not been around long enough to warrant it.
+
+        * UIProcess/API/Cocoa/WKProcessGroup.mm:
+        (-[WKProcessGroup initWithInjectedBundleURL:]):
+        Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.
+
+        * UIProcess/API/Cocoa/WKProcessPool.mm:
+        (-[WKProcessPool description]):
+        Change to pull the configuration from the underlying API::Object.
+
+        (-[WKProcessPool _configuration]):
+        Change to pull the configuration from the underlying API::Object and call the new
+        copy() helper on it.
+        
+        (-[WKProcessPool _initWithConfiguration:]):
+        Convert to be a simple pass through to API::Object::constructInWrapper.
+
+        (websiteDataDirectoryURL): Deleted.
+        Moved to APIWebsiteDataStore.h
+
+        * UIProcess/API/Cocoa/WKProcessPoolInternal.h:
+        Removes the _WKProcessPoolConfiguration member, now that it is stored on the WebProcessPool.
+        
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+        (-[_WKProcessPoolConfiguration init]):
+        (-[_WKProcessPoolConfiguration dealloc]):
+        Added to support API::Object bridging.
+
+        (-[_WKProcessPoolConfiguration injectedBundleURL]):
+        (-[_WKProcessPoolConfiguration setInjectedBundleURL:]):
+        Convert to getting the URL from the underlying object. Moved the exception
+        that used to be on creation of the WKProcessPool.
+
+        (-[_WKProcessPoolConfiguration maximumProcessCount]):
+        (-[_WKProcessPoolConfiguration setMaximumProcessCount:]):
+        Convert to getting the count from the underlying object.
+
+        (-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]):
+        Convert to constructing the NSArray on demand from the underlying Vector.
+
+        (-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
+        Converts the NSArray to a Vector rather than storing the array.
+
+        * UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h: Added.
+        (API::wrapper):
+        Add boilerplate for API::Object bridging.
+
+        * UIProcess/API/gtk/WebKitWebContext.cpp:
+        (webkitWebContextConstructed):
+        Update to use API::ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.
+
+
+        * UIProcess/WebInspectorProxy.cpp:
+        (WebKit::WebInspectorProxy::inspectorProcessPool):
+        Update to call API::ProcessPoolConfiguration::createWithLegacyOptions().
+
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::create):
+        (WebKit::websiteDataStoreConfiguration):
+        (WebKit::WebProcessPool::WebProcessPool):
+        (WebKit::WebProcessPool::applyPlatformSpecificConfigurationDefaults): Deleted.
+        This functionality was moved to the constructor of the API::ProcessPoolConfiguration.
+        * UIProcess/WebProcessPool.h:
+        Changed to take (and store) a API::ProcessPoolConfiguration rather than the WebProcessPoolConfiguration.
+
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
+        (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
+        (WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
+        (WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
+        (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
+        (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
+        (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
+        (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.
+        * UIProcess/efl/WebContextEfl.cpp:
+        (WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
+        (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
+        (WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
+        (WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
+        (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
+        (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
+        (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
+        (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.
+        * UIProcess/gtk/WebProcessPoolGtk.cpp:
+        (WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
+        (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
+        (WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
+        (WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
+        (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
+        (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
+        (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
+        (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.
+        Renamed to make it clear these were the legacy locations for these directories.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+        Added new files.
+
</ins><span class="cx"> 2015-01-19  Beth Dakin  &lt;bdakin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">          Speculative build fix.
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedCocoaAPIObjectmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/Cocoa/APIObject.mm (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/Cocoa/APIObject.mm        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/Shared/Cocoa/APIObject.mm        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -55,6 +55,7 @@
</span><span class="cx"> #import &quot;WKWebProcessPlugInScriptWorldInternal.h&quot;
</span><span class="cx"> #import &quot;_WKDownloadInternal.h&quot;
</span><span class="cx"> #import &quot;_WKFrameHandleInternal.h&quot;
</span><ins>+#import &quot;_WKProcessPoolConfigurationInternal.h&quot;
</ins><span class="cx"> #import &quot;_WKWebsiteDataStoreInternal.h&quot;
</span><span class="cx"> #import &lt;objc/objc-auto.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -111,6 +112,10 @@
</span><span class="cx">         wrapper = [WKProcessPool alloc];
</span><span class="cx">         break;
</span><span class="cx"> 
</span><ins>+    case Type::ProcessPoolConfiguration:
+        wrapper = [_WKProcessPoolConfiguration alloc];
+        break;
+
</ins><span class="cx">     case Type::Data:
</span><span class="cx">         wrapper = [WKNSData alloc];
</span><span class="cx">         break;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIAPIProcessPoolConfigurationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -26,11 +26,36 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;APIProcessPoolConfiguration.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;APIWebsiteDataStore.h&quot;
</ins><span class="cx"> #include &quot;WebProcessPool.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace API {
</span><span class="cx"> 
</span><ins>+Ref&lt;ProcessPoolConfiguration&gt; ProcessPoolConfiguration::create()
+{
+    return adoptRef(*new ProcessPoolConfiguration);
+}
+
+Ref&lt;ProcessPoolConfiguration&gt; ProcessPoolConfiguration::createWithLegacyOptions()
+{
+    auto configuration = ProcessPoolConfiguration::create();
+
+    configuration-&gt;m_processModel = WebKit::ProcessModelSharedSecondaryProcess;
+    configuration-&gt;m_useNetworkProcess = false;
+    configuration-&gt;m_cacheModel = WebKit::CacheModelDocumentViewer;
+    configuration-&gt;m_localStorageDirectory = WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory();
+    configuration-&gt;m_webSQLDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory();
+    configuration-&gt;m_indexedDBDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory();
+    configuration-&gt;m_mediaKeysStorageDirectory = WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory();
+
+    return configuration;
+}
+
</ins><span class="cx"> ProcessPoolConfiguration::ProcessPoolConfiguration()
</span><ins>+    : m_indexedDBDatabaseDirectory(WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation(&quot;IndexedDB&quot;))
+    , m_localStorageDirectory(WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation(&quot;LocalStorage&quot;))
+    , m_webSQLDatabaseDirectory(WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation(&quot;WebSQL&quot;))
+    , m_mediaKeysStorageDirectory(WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation(&quot;MediaKeys&quot;))
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -38,19 +63,22 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebKit::WebProcessPoolConfiguration ProcessPoolConfiguration::webProcessPoolConfiguration() const
</del><ins>+Ref&lt;ProcessPoolConfiguration&gt; ProcessPoolConfiguration::copy()
</ins><span class="cx"> {
</span><del>-    WebKit::WebProcessPoolConfiguration configuration;
</del><ins>+    auto copy = this-&gt;create();
</ins><span class="cx"> 
</span><del>-    configuration.indexedDBDatabaseDirectory = m_indexedDBDatabaseDirectory;
-    configuration.injectedBundlePath = m_injectedBundlePath;
-    configuration.localStorageDirectory = m_localStorageDirectory;
-    configuration.webSQLDatabaseDirectory = m_webSQLDatabaseDirectory;
-    configuration.mediaKeysStorageDirectory = m_mediaKeysStorageDirectory;
-
-    WebKit::WebProcessPool::applyPlatformSpecificConfigurationDefaults(configuration);
-
-    return configuration;
</del><ins>+    copy-&gt;m_processModel = this-&gt;m_processModel;
+    copy-&gt;m_useNetworkProcess = this-&gt;m_useNetworkProcess;
+    copy-&gt;m_maximumProcessCount = this-&gt;m_maximumProcessCount;
+    copy-&gt;m_cacheModel = this-&gt;m_cacheModel;
+    copy-&gt;m_indexedDBDatabaseDirectory = this-&gt;m_indexedDBDatabaseDirectory;
+    copy-&gt;m_injectedBundlePath = this-&gt;m_injectedBundlePath;
+    copy-&gt;m_localStorageDirectory = this-&gt;m_localStorageDirectory;
+    copy-&gt;m_webSQLDatabaseDirectory = this-&gt;m_webSQLDatabaseDirectory;
+    copy-&gt;m_mediaKeysStorageDirectory = this-&gt;m_mediaKeysStorageDirectory;
+    copy-&gt;m_cachePartitionedURLSchemes = this-&gt;m_cachePartitionedURLSchemes;
+    
+    return copy;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace API
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIAPIProcessPoolConfigurationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -27,47 +27,65 @@
</span><span class="cx"> #define APIContextConfiguration_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIObject.h&quot;
</span><ins>+#include &quot;CacheModel.h&quot;
+#include &quot;ProcessModel.h&quot;
+#include &lt;wtf/Ref.h&gt;
+#include &lt;wtf/Vector.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><del>-namespace WebKit {
-struct WebProcessPoolConfiguration;
-}
-
</del><span class="cx"> namespace API {
</span><span class="cx"> 
</span><del>-class ProcessPoolConfiguration : public ObjectImpl&lt;Object::Type::ProcessPoolConfiguration&gt; {
</del><ins>+class ProcessPoolConfiguration final : public ObjectImpl&lt;Object::Type::ProcessPoolConfiguration&gt; {
</ins><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;ProcessPoolConfiguration&gt; create()
-    {
-        return adoptRef(new ProcessPoolConfiguration);
-    }
</del><ins>+    static Ref&lt;ProcessPoolConfiguration&gt; create();
+    static Ref&lt;ProcessPoolConfiguration&gt; createWithLegacyOptions();
+    
+    explicit ProcessPoolConfiguration();
</ins><span class="cx">     virtual ~ProcessPoolConfiguration();
</span><ins>+    
+    Ref&lt;ProcessPoolConfiguration&gt; copy();
</ins><span class="cx"> 
</span><del>-    String indexedDBDatabaseDirectory() const { return m_indexedDBDatabaseDirectory; }
-    void setIndexedDBDatabaseDirectory(const String&amp; indexedDBDatabaseDirectory) { m_indexedDBDatabaseDirectory = indexedDBDatabaseDirectory; }
</del><ins>+    WebKit::ProcessModel processModel() const { return m_processModel; }
+    void setProcessModel(WebKit::ProcessModel processModel) { m_processModel = processModel; } 
</ins><span class="cx"> 
</span><del>-    String injectedBundlePath() const { return m_injectedBundlePath; }
-    void setInjectedBundlePath(const String&amp; injectedBundlePath) { m_injectedBundlePath = injectedBundlePath; }
</del><ins>+    bool useNetworkProcess() const { return m_useNetworkProcess; }
+    void setUseNetworkProcess(bool useNetworkProcess) { m_useNetworkProcess = useNetworkProcess; } 
</ins><span class="cx"> 
</span><del>-    String localStorageDirectory() const { return m_localStorageDirectory; }
-    void setLocalStorageDirectory(const String&amp; localStorageDirectory) { m_localStorageDirectory = localStorageDirectory; }
</del><ins>+    unsigned maximumProcessCount() const { return m_maximumProcessCount; }
+    void setMaximumProcessCount(unsigned maximumProcessCount) { m_maximumProcessCount = maximumProcessCount; } 
</ins><span class="cx"> 
</span><del>-    String webSQLDatabaseDirectory() const { return m_webSQLDatabaseDirectory; }
-    void setWebSQLDatabaseDirectory(const String&amp; webSQLDatabaseDirectory) { m_webSQLDatabaseDirectory = webSQLDatabaseDirectory; }
</del><ins>+    WebKit::CacheModel cacheModel() const { return m_cacheModel; }
+    void setCacheModel(WebKit::CacheModel cacheModel) { m_cacheModel = cacheModel; } 
</ins><span class="cx"> 
</span><del>-    String mediaKeysStorageDirectory() const { return m_mediaKeysStorageDirectory; }
-    void setMediaKeysStorageDirectory(const String&amp; mediaKeysStorageDirectory) { m_mediaKeysStorageDirectory = mediaKeysStorageDirectory; }
</del><ins>+    WTF::String indexedDBDatabaseDirectory() const { return m_indexedDBDatabaseDirectory; }
+    void setIndexedDBDatabaseDirectory(const WTF::String&amp; indexedDBDatabaseDirectory) { m_indexedDBDatabaseDirectory = indexedDBDatabaseDirectory; }
</ins><span class="cx"> 
</span><del>-    WebKit::WebProcessPoolConfiguration webProcessPoolConfiguration() const;
</del><ins>+    WTF::String injectedBundlePath() const { return m_injectedBundlePath; }
+    void setInjectedBundlePath(const WTF::String&amp; injectedBundlePath) { m_injectedBundlePath = injectedBundlePath; }
</ins><span class="cx"> 
</span><ins>+    WTF::String localStorageDirectory() const { return m_localStorageDirectory; }
+    void setLocalStorageDirectory(const WTF::String&amp; localStorageDirectory) { m_localStorageDirectory = localStorageDirectory; }
+
+    WTF::String webSQLDatabaseDirectory() const { return m_webSQLDatabaseDirectory; }
+    void setWebSQLDatabaseDirectory(const WTF::String&amp; webSQLDatabaseDirectory) { m_webSQLDatabaseDirectory = webSQLDatabaseDirectory; }
+
+    WTF::String mediaKeysStorageDirectory() const { return m_mediaKeysStorageDirectory; }
+    void setMediaKeysStorageDirectory(const WTF::String&amp; mediaKeysStorageDirectory) { m_mediaKeysStorageDirectory = mediaKeysStorageDirectory; }
+
+    const Vector&lt;WTF::String&gt;&amp; cachePartitionedURLSchemes() { return m_cachePartitionedURLSchemes; }
+    void setCachePartitionedURLSchemes(Vector&lt;WTF::String&gt;&amp;&amp; cachePartitionedURLSchemes) { m_cachePartitionedURLSchemes = WTF::move(cachePartitionedURLSchemes); }
+
</ins><span class="cx"> private:
</span><del>-    ProcessPoolConfiguration();
-
-    String m_indexedDBDatabaseDirectory;
-    String m_injectedBundlePath;
-    String m_localStorageDirectory;
-    String m_webSQLDatabaseDirectory;
-    String m_mediaKeysStorageDirectory;
</del><ins>+    WebKit::ProcessModel m_processModel { WebKit::ProcessModelMultipleSecondaryProcesses };
+    bool m_useNetworkProcess { true };
+    unsigned m_maximumProcessCount { 0 };
+    WebKit::CacheModel m_cacheModel { WebKit::CacheModelPrimaryWebBrowser };
+    WTF::String m_injectedBundlePath;
+    WTF::String m_indexedDBDatabaseDirectory;
+    WTF::String m_localStorageDirectory;
+    WTF::String m_webSQLDatabaseDirectory;
+    WTF::String m_mediaKeysStorageDirectory;
+    Vector&lt;WTF::String&gt; m_cachePartitionedURLSchemes;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace API
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIAPIWebsiteDataStorecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -69,6 +69,12 @@
</span><span class="cx"> 
</span><span class="cx">     return configuration;
</span><span class="cx"> }
</span><ins>+
+String WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation(const String&amp; directoryName)
+{
+    // FIXME: Implement.
+    return String();
+}
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIAPIWebsiteDataStoreh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/APIWebsiteDataStore.h (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/APIWebsiteDataStore.h        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/APIWebsiteDataStore.h        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -43,6 +43,8 @@
</span><span class="cx"> 
</span><span class="cx">     WebKit::WebsiteDataStore&amp; websiteDataStore() { return *m_websiteDataStore; }
</span><span class="cx"> 
</span><ins>+    static String websiteDataDirectoryFileSystemRepresentation(const String&amp; directoryName);
+
</ins><span class="cx"> private:
</span><span class="cx">     WebsiteDataStore(WebKit::WebsiteDataStore::Configuration);
</span><span class="cx">     WebsiteDataStore();
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -78,20 +78,21 @@
</span><span class="cx"> 
</span><span class="cx"> WKContextRef WKContextCreate()
</span><span class="cx"> {
</span><del>-    return WKContextCreateWithConfiguration(adoptWK(WKContextConfigurationCreate()).get());
</del><ins>+    auto configuration = API::ProcessPoolConfiguration::createWithLegacyOptions();
+    return toAPI(&amp;WebProcessPool::create(configuration).leakRef());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WKContextRef WKContextCreateWithInjectedBundlePath(WKStringRef pathRef)
</span><span class="cx"> {
</span><del>-    auto configuration = adoptWK(WKContextConfigurationCreate());
-    WKContextConfigurationSetInjectedBundlePath(configuration.get(), pathRef);
</del><ins>+    auto configuration = API::ProcessPoolConfiguration::createWithLegacyOptions();
+    configuration-&gt;setInjectedBundlePath(toWTFString(pathRef));
</ins><span class="cx"> 
</span><del>-    return WKContextCreateWithConfiguration(configuration.get());
</del><ins>+    return toAPI(&amp;WebProcessPool::create(configuration).leakRef());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WKContextRef WKContextCreateWithConfiguration(WKContextConfigurationRef configuration)
</span><span class="cx"> {
</span><del>-    return toAPI(WebProcessPool::create(toImpl(configuration)-&gt;webProcessPoolConfiguration()).leakRef());
</del><ins>+    return toAPI(&amp;WebProcessPool::create(*toImpl(configuration)).leakRef());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WKContextSetClient(WKContextRef contextRef, const WKContextClientBase* wkClient)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKContextConfigurationRefcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> WKContextConfigurationRef WKContextConfigurationCreate()
</span><span class="cx"> {
</span><del>-    return toAPI(API::ProcessPoolConfiguration::create().leakRef());
</del><ins>+    return toAPI(&amp;API::ProcessPoolConfiguration::create().leakRef());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WKStringRef WKContextConfigurationCopyIndexedDBDatabaseDirectory(WKContextConfigurationRef configuration)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaAPIWebsiteDataStoreCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -26,17 +26,45 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;APIWebsiteDataStore.h&quot;
</span><span class="cx"> 
</span><del>-// FIXME: This function is currently in WKProcessPool. It should be moved to this file instead.
-NSURL *websiteDataDirectoryURL(NSString *directoryName);
</del><ins>+#include &quot;SandboxUtilities.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> namespace API {
</span><span class="cx"> 
</span><ins>+String WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation(const String&amp; directoryName)
+{
+    static dispatch_once_t onceToken;
+    static NSURL *websiteDataURL;
+
+    dispatch_once(&amp;onceToken, ^{
+        NSURL *url = [[NSFileManager defaultManager] URLForDirectory:NSLibraryDirectory inDomain:NSUserDomainMask appropriateForURL:nullptr create:NO error:nullptr];
+        if (!url)
+            RELEASE_ASSERT_NOT_REACHED();
+
+        url = [url URLByAppendingPathComponent:@&quot;WebKit&quot; isDirectory:YES];
+
+        if (!WebKit::processHasContainer()) {
+            NSString *bundleIdentifier = [NSBundle mainBundle].bundleIdentifier;
+            if (!bundleIdentifier)
+                bundleIdentifier = [NSProcessInfo processInfo].processName;
+            url = [url URLByAppendingPathComponent:bundleIdentifier isDirectory:YES];
+        }
+
+        websiteDataURL = [[url URLByAppendingPathComponent:@&quot;WebsiteData&quot; isDirectory:YES] retain];
+    });
+
+    NSURL *url = [websiteDataURL URLByAppendingPathComponent:directoryName isDirectory:YES];
+    if (![[NSFileManager defaultManager] createDirectoryAtURL:url withIntermediateDirectories:YES attributes:nil error:nullptr])
+        LOG_ERROR(&quot;Failed to create directory %@&quot;, url);
+
+    return url.absoluteURL.path.fileSystemRepresentation;
+}
+
</ins><span class="cx"> WebKit::WebsiteDataStore::Configuration WebsiteDataStore::defaultDataStoreConfiguration()
</span><span class="cx"> {
</span><span class="cx">     // FIXME: Fill everything in.
</span><span class="cx">     WebKit::WebsiteDataStore::Configuration configuration;
</span><span class="cx"> 
</span><del>-    configuration.localStorageDirectory = websiteDataDirectoryURL(@&quot;LocalStorage&quot;).absoluteURL.path.fileSystemRepresentation;
</del><ins>+    configuration.localStorageDirectory = websiteDataDirectoryFileSystemRepresentation(&quot;LocalStorage&quot;);
</ins><span class="cx"> 
</span><span class="cx">     return configuration;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKProcessGroupmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.mm (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.mm        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.mm        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx"> 
</span><span class="cx"> #import &quot;APINavigationData.h&quot;
</span><ins>+#import &quot;APIProcessPoolConfiguration.h&quot;
</ins><span class="cx"> #import &quot;ObjCObjectGraph.h&quot;
</span><span class="cx"> #import &quot;WKAPICast.h&quot;
</span><span class="cx"> #import &quot;WKBrowsingContextControllerInternal.h&quot;
</span><span class="lines">@@ -189,20 +190,18 @@
</span><span class="cx">     InitWebCoreThreadSystemInterface();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    WebProcessPoolConfiguration configuration;
-    configuration.injectedBundlePath = bundleURL ? String(bundleURL.path) : String();
</del><ins>+    auto configuration = API::ProcessPoolConfiguration::createWithLegacyOptions();
+    configuration-&gt;setInjectedBundlePath(bundleURL ? String(bundleURL.path) : String());
+#if PLATFORM(IOS)
+    configuration-&gt;setUseNetworkProcess(true);
+    configuration-&gt;setProcessModel(ProcessModelMultipleSecondaryProcesses);
+#endif
</ins><span class="cx"> 
</span><del>-    WebProcessPool::applyPlatformSpecificConfigurationDefaults(configuration);
</del><ins>+    _processPool = WebProcessPool::create(configuration);
</ins><span class="cx"> 
</span><del>-    _processPool = WebProcessPool::create(WTF::move(configuration));
-
</del><span class="cx">     setUpConnectionClient(self, toAPI(_processPool.get()));
</span><span class="cx">     setUpInectedBundleClient(self, toAPI(_processPool.get()));
</span><span class="cx">     setUpHistoryClient(self, toAPI(_processPool.get()));
</span><del>-#if PLATFORM(IOS)
-    _processPool-&gt;setUsesNetworkProcess(true);
-    _processPool-&gt;setProcessModel(ProcessModelMultipleSecondaryProcesses);
-#endif
</del><span class="cx"> 
</span><span class="cx">     return self;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKProcessPoolmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.mm (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.mm        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.mm        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> #import &quot;WebProcessMessages.h&quot;
</span><span class="cx"> #import &quot;WebProcessPool.h&quot;
</span><span class="cx"> #import &quot;_WKDownloadDelegate.h&quot;
</span><del>-#import &quot;_WKProcessPoolConfiguration.h&quot;
</del><ins>+#import &quot;_WKProcessPoolConfigurationInternal.h&quot;
</ins><span class="cx"> #import &lt;WebCore/CFNetworkSPI.h&gt;
</span><span class="cx"> #import &lt;WebCore/CertificateInfo.h&gt;
</span><span class="cx"> #import &lt;wtf/RetainPtr.h&gt;
</span><span class="lines">@@ -49,9 +49,6 @@
</span><span class="cx"> #import &quot;WKGeolocationProviderIOS.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-// FIXME: Move this from WKProcessPool to APIWebsiteDataStoreCocoa.
-NSURL *websiteDataDirectoryURL(NSString *directoryName);
-
</del><span class="cx"> @implementation WKProcessPool {
</span><span class="cx">     WebKit::WeakObjCPtr&lt;id &lt;_WKDownloadDelegate&gt;&gt; _downloadDelegate;
</span><span class="cx"> 
</span><span class="lines">@@ -74,12 +71,12 @@
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)description
</span><span class="cx"> {
</span><del>-    return [NSString stringWithFormat:@&quot;&lt;%@: %p; configuration = %@&gt;&quot;, NSStringFromClass(self.class), self, _configuration.get()];
</del><ins>+    return [NSString stringWithFormat:@&quot;&lt;%@: %p; configuration = %@&gt;&quot;, NSStringFromClass(self.class), self, wrapper(_processPool-&gt;configuration())];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (_WKProcessPoolConfiguration *)_configuration
</span><span class="cx"> {
</span><del>-    return [[_configuration copy] autorelease];
</del><ins>+    return wrapper(_processPool-&gt;configuration().copy().leakRef());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (API::Object&amp;)_apiObject
</span><span class="lines">@@ -116,74 +113,18 @@
</span><span class="cx">     return [url URLByAppendingPathComponent:@&quot;WebsiteData&quot; isDirectory:YES];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-NSURL *websiteDataDirectoryURL(NSString *directoryName)
-{
-    static dispatch_once_t onceToken;
-    static NSURL *websiteDataURL;
-
-    dispatch_once(&amp;onceToken, ^{
-        NSURL *url = [[NSFileManager defaultManager] URLForDirectory:NSLibraryDirectory inDomain:NSUserDomainMask appropriateForURL:nullptr create:NO error:nullptr];
-        if (!url)
-            RELEASE_ASSERT_NOT_REACHED();
-
-        url = [url URLByAppendingPathComponent:@&quot;WebKit&quot; isDirectory:YES];
-
-        if (!WebKit::processHasContainer()) {
-            NSString *bundleIdentifier = [NSBundle mainBundle].bundleIdentifier;
-            if (!bundleIdentifier)
-                bundleIdentifier = [NSProcessInfo processInfo].processName;
-            url = [url URLByAppendingPathComponent:bundleIdentifier isDirectory:YES];
-        }
-
-        websiteDataURL = [[url URLByAppendingPathComponent:@&quot;WebsiteData&quot; isDirectory:YES] retain];
-    });
-
-    NSURL *url = [websiteDataURL URLByAppendingPathComponent:directoryName isDirectory:YES];
-    if (![[NSFileManager defaultManager] createDirectoryAtURL:url withIntermediateDirectories:YES attributes:nil error:nullptr])
-        LOG_ERROR(&quot;Failed to create directory %@&quot;, url);
-
-    return url;
-}
-
</del><span class="cx"> - (instancetype)_initWithConfiguration:(_WKProcessPoolConfiguration *)configuration
</span><span class="cx"> {
</span><span class="cx">     if (!(self = [super init]))
</span><span class="cx">         return nil;
</span><span class="cx"> 
</span><del>-    _configuration = adoptNS([configuration copy]);
-
</del><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // FIXME: Remove once &lt;rdar://problem/15256572&gt; is fixed.
</span><span class="cx">     InitWebCoreThreadSystemInterface();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    WebKit::WebProcessPoolConfiguration processPoolConfiguration;
</del><ins>+    API::Object::constructInWrapper&lt;WebKit::WebProcessPool&gt;(self, *configuration-&gt;_processPoolConfiguration);
</ins><span class="cx"> 
</span><del>-    if (NSURL *bundleURL = [_configuration injectedBundleURL]) {
-        if (!bundleURL.isFileURL)
-            [NSException raise:NSInvalidArgumentException format:@&quot;Injected Bundle URL must be a file URL&quot;];
-
-        processPoolConfiguration.injectedBundlePath = bundleURL.path;
-    }
-
-    processPoolConfiguration.localStorageDirectory = websiteDataDirectoryURL(@&quot;LocalStorage&quot;).absoluteURL.path.fileSystemRepresentation;
-    processPoolConfiguration.webSQLDatabaseDirectory = websiteDataDirectoryURL(@&quot;WebSQL&quot;).absoluteURL.path.fileSystemRepresentation;
-    processPoolConfiguration.indexedDBDatabaseDirectory = websiteDataDirectoryURL(@&quot;IndexedDB&quot;).absoluteURL.path.fileSystemRepresentation;
-    processPoolConfiguration.mediaKeysStorageDirectory = websiteDataDirectoryURL(@&quot;MediaKeys&quot;).absoluteURL.path.fileSystemRepresentation;
-
-    API::Object::constructInWrapper&lt;WebKit::WebProcessPool&gt;(self, WTF::move(processPoolConfiguration));
-    _processPool-&gt;setUsesNetworkProcess(true);
-    _processPool-&gt;setProcessModel(WebKit::ProcessModelMultipleSecondaryProcesses);
-    _processPool-&gt;setMaximumNumberOfProcesses([_configuration maximumProcessCount]);
-
-#if ENABLE(CACHE_PARTITIONING)
-    for (NSString *urlScheme in [_configuration cachePartitionedURLSchemes])
-        _processPool-&gt;registerURLSchemeAsCachePartitioned(urlScheme);
-#endif
-
-    // FIXME: Add a way to configure the cache model, see &lt;rdar://problem/16206857&gt;.
-    _processPool-&gt;setCacheModel(WebKit::CacheModelPrimaryWebBrowser);
-
</del><span class="cx">     return self;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKProcessPoolInternalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolInternal.h (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolInternal.h        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolInternal.h        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -46,8 +46,6 @@
</span><span class="cx"> 
</span><span class="cx"> @interface WKProcessPool () &lt;WKObject&gt; {
</span><span class="cx"> @package
</span><del>-    RetainPtr&lt;_WKProcessPoolConfiguration&gt; _configuration;
-
</del><span class="cx">     API::ObjectStorage&lt;WebKit::WebProcessPool&gt; _processPool;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoa_WKProcessPoolConfigurationmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -24,55 +24,98 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #import &quot;config.h&quot;
</span><del>-#import &quot;_WKProcessPoolConfiguration.h&quot;
</del><ins>+#import &quot;_WKProcessPoolConfigurationInternal.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx"> 
</span><span class="cx"> #import &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> 
</span><del>-@implementation _WKProcessPoolConfiguration {
-    RetainPtr&lt;NSURL&gt; _injectedBundleURL;
-    RetainPtr&lt;NSArray&gt; _cachePartitionedURLSchemes;
</del><ins>+@implementation _WKProcessPoolConfiguration
+
+- (instancetype)init
+{
+    if (!(self = [super init]))
+        return nil;
+
+    API::Object::constructInWrapper&lt;API::ProcessPoolConfiguration&gt;(self);
+
+    return self;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (void)dealloc
+{
+    _processPoolConfiguration-&gt;~ProcessPoolConfiguration();
+
+    [super dealloc];
+}
+
</ins><span class="cx"> - (NSURL *)injectedBundleURL
</span><span class="cx"> {
</span><del>-    return _injectedBundleURL.get();
</del><ins>+    return [NSURL fileURLWithPath:_processPoolConfiguration-&gt;injectedBundlePath()];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)setInjectedBundleURL:(NSURL *)injectedBundleURL
</span><span class="cx"> {
</span><del>-    _injectedBundleURL = adoptNS([injectedBundleURL copy]);
</del><ins>+    if (injectedBundleURL &amp;&amp; !injectedBundleURL.isFileURL)
+        [NSException raise:NSInvalidArgumentException format:@&quot;Injected Bundle URL must be a file URL&quot;];
+
+    _processPoolConfiguration-&gt;setInjectedBundlePath(injectedBundleURL.path);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (NSUInteger)maximumProcessCount
+{
+    return _processPoolConfiguration-&gt;maximumProcessCount();
+}
+
+- (void)setMaximumProcessCount:(NSUInteger)maximumProcessCount
+{
+    _processPoolConfiguration-&gt;setMaximumProcessCount(maximumProcessCount);
+}
+
</ins><span class="cx"> - (NSArray *)cachePartitionedURLSchemes
</span><span class="cx"> {
</span><del>-    return _cachePartitionedURLSchemes.get();
</del><ins>+    auto schemes = _processPoolConfiguration-&gt;cachePartitionedURLSchemes();
+    if (schemes.isEmpty())
+        return @[];
+
+    NSMutableArray *array = [NSMutableArray arrayWithCapacity:schemes.size()];
+    for (const auto&amp; scheme : schemes)
+        [array addObject:(NSString *)scheme];
+
+    return array;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)setCachePartitionedURLSchemes:(NSArray *)cachePartitionedURLSchemes
</span><span class="cx"> {
</span><del>-    _cachePartitionedURLSchemes = adoptNS([[NSArray alloc] initWithArray:cachePartitionedURLSchemes copyItems:YES]);
</del><ins>+    Vector&lt;String&gt; schemes;
+    for (id urlScheme in cachePartitionedURLSchemes) {
+        if ([urlScheme isKindOfClass:[NSString class]])
+            schemes.append(String((NSString *)urlScheme));
+    }
+    
+    _processPoolConfiguration-&gt;setCachePartitionedURLSchemes(WTF::move(schemes));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)description
</span><span class="cx"> {
</span><del>-    NSString *description = [NSString stringWithFormat:@&quot;&lt;%@: %p; maximumProcessCount = %lu&quot;, NSStringFromClass(self.class), self, static_cast&lt;unsigned long&gt;(_maximumProcessCount)];
-    if (_injectedBundleURL)
-        return [description stringByAppendingFormat:@&quot;; injectedBundleURL: \&quot;%@\&quot;&gt;&quot;, _injectedBundleURL.get()];
</del><ins>+    NSString *description = [NSString stringWithFormat:@&quot;&lt;%@: %p; maximumProcessCount = %lu&quot;, NSStringFromClass(self.class), self, static_cast&lt;unsigned long&gt;([self maximumProcessCount])];
</ins><span class="cx"> 
</span><ins>+    if (!_processPoolConfiguration-&gt;injectedBundlePath().isEmpty())
+        return [description stringByAppendingFormat:@&quot;; injectedBundleURL: \&quot;%@\&quot;&gt;&quot;, [self injectedBundleURL]];
+
</ins><span class="cx">     return [description stringByAppendingString:@&quot;&gt;&quot;];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (id)copyWithZone:(NSZone *)zone
</span><span class="cx"> {
</span><del>-    _WKProcessPoolConfiguration *configuration = [(_WKProcessPoolConfiguration *)[[self class] allocWithZone:zone] init];
</del><ins>+    return wrapper(_processPoolConfiguration-&gt;copy().leakRef());
+}
</ins><span class="cx"> 
</span><del>-    configuration.maximumProcessCount = self.maximumProcessCount;
-    configuration.injectedBundleURL = self.injectedBundleURL;
-    configuration.cachePartitionedURLSchemes = self.cachePartitionedURLSchemes;
</del><ins>+#pragma mark WKObject protocol implementation
</ins><span class="cx"> 
</span><del>-    return configuration;
</del><ins>+- (API::Object&amp;)_apiObject
+{
+    return *_processPoolConfiguration;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoa_WKProcessPoolConfigurationInternalh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h (0 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h                                (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -0,0 +1,49 @@
</span><ins>+/*
+ * Copyright (C) 2015 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 &quot;_WKProcessPoolConfiguration.h&quot;
+
+#if WK_API_ENABLED
+
+#import &quot;APIProcessPoolConfiguration.h&quot;
+#import &quot;WKObject.h&quot;
+
+namespace API {
+
+inline _WKProcessPoolConfiguration *wrapper(API::ProcessPoolConfiguration&amp; processPoolConfiguration)
+{
+    ASSERT([processPoolConfiguration.wrapper() isKindOfClass:[_WKProcessPoolConfiguration class]]);
+    return (_WKProcessPoolConfiguration *)processPoolConfiguration.wrapper();
+}
+
+}
+
+@interface _WKProcessPoolConfiguration () &lt;WKObject&gt; {
+@package
+    API::ObjectStorage&lt;API::ProcessPoolConfiguration&gt; _processPoolConfiguration;
+}
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIgtkWebKitWebContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;WebKitWebContext.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIDownloadClient.h&quot;
</span><ins>+#include &quot;APIProcessPoolConfiguration.h&quot;
</ins><span class="cx"> #include &quot;APIString.h&quot;
</span><span class="cx"> #include &quot;WebBatteryManagerProxy.h&quot;
</span><span class="cx"> #include &quot;WebCertificateInfo.h&quot;
</span><span class="lines">@@ -257,15 +258,16 @@
</span><span class="cx">     G_OBJECT_CLASS(webkit_web_context_parent_class)-&gt;constructed(object);
</span><span class="cx"> 
</span><span class="cx">     GUniquePtr&lt;char&gt; bundleFilename(g_build_filename(injectedBundleDirectory(), &quot;libwebkit2gtkinjectedbundle.so&quot;, nullptr));
</span><del>-    WebProcessPoolConfiguration webContextConfiguration;
-    webContextConfiguration.injectedBundlePath = WebCore::filenameToString(bundleFilename.get());
-    WebProcessPool::applyPlatformSpecificConfigurationDefaults(webContextConfiguration);
</del><ins>+
+    auto configuration = API::ProcessPoolConfiguration::createWithLegacyOptions();
+    configuration-&gt;setInjectedBundlePath(WebCore::filenameToString(bundleFilename.get()));
+
</ins><span class="cx">     WebKitWebContext* webContext = WEBKIT_WEB_CONTEXT(object);
</span><span class="cx">     WebKitWebContextPrivate* priv = webContext-&gt;priv;
</span><span class="cx">     if (!priv-&gt;localStorageDirectory.isNull())
</span><del>-        webContextConfiguration.localStorageDirectory = WebCore::filenameToString(priv-&gt;localStorageDirectory.data());
</del><ins>+        configuration-&gt;setLocalStorageDirectory(WebCore::filenameToString(priv-&gt;localStorageDirectory.data()));
</ins><span class="cx"> 
</span><del>-    priv-&gt;context = WebProcessPool::create(WTF::move(webContextConfiguration));
</del><ins>+    priv-&gt;context = WebProcessPool::create(configuration.get());
</ins><span class="cx"> 
</span><span class="cx">     priv-&gt;requestManager = priv-&gt;context-&gt;supplement&lt;WebSoupCustomProtocolRequestManager&gt;();
</span><span class="cx">     priv-&gt;context-&gt;setCacheModel(CacheModelPrimaryWebBrowser);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaWebProcessPoolCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -334,7 +334,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultWebSQLDatabaseDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory()
</ins><span class="cx"> {
</span><span class="cx">     NSString *databasesDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebDatabaseDirectoryDefaultsKey];
</span><span class="cx">     if (!databasesDirectory || ![databasesDirectory isKindOfClass:[NSString class]])
</span><span class="lines">@@ -342,33 +342,24 @@
</span><span class="cx">     return stringByResolvingSymlinksInPath([databasesDirectory stringByStandardizingPath]);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultIndexedDBDatabaseDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory()
</ins><span class="cx"> {
</span><span class="cx">     // Indexed databases exist in a subdirectory of the &quot;database directory path.&quot;
</span><span class="cx">     // Currently, the top level of that directory contains entities related to WebSQL databases.
</span><span class="cx">     // We should fix this, and move WebSQL into a subdirectory (https://bugs.webkit.org/show_bug.cgi?id=124807)
</span><span class="cx">     // In the meantime, an entity name prefixed with three underscores will not conflict with any WebSQL entities.
</span><del>-    return pathByAppendingComponent(platformDefaultWebSQLDatabaseDirectory(), &quot;___IndexedDB&quot;);
</del><ins>+    return pathByAppendingComponent(legacyPlatformDefaultWebSQLDatabaseDirectory(), &quot;___IndexedDB&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultIconDatabasePath() const
</del><ins>+String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory()
</ins><span class="cx"> {
</span><del>-    // FIXME: &lt;rdar://problem/9138817&gt; - After this &quot;backwards compatibility&quot; radar is removed, this code should be removed to only return an empty String.
-    NSString *databasesDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebIconDatabaseDirectoryDefaultsKey];
-    if (!databasesDirectory || ![databasesDirectory isKindOfClass:[NSString class]])
-        databasesDirectory = @&quot;~/Library/Icons/WebpageIcons.db&quot;;
-    return stringByResolvingSymlinksInPath([databasesDirectory stringByStandardizingPath]);
-}
-
-String WebProcessPool::platformDefaultLocalStorageDirectory()
-{
</del><span class="cx">     NSString *localStorageDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebStorageDirectoryDefaultsKey];
</span><span class="cx">     if (!localStorageDirectory || ![localStorageDirectory isKindOfClass:[NSString class]])
</span><span class="cx">         localStorageDirectory = @&quot;~/Library/WebKit/LocalStorage&quot;;
</span><span class="cx">     return stringByResolvingSymlinksInPath([localStorageDirectory stringByStandardizingPath]);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultMediaKeysStorageDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory()
</ins><span class="cx"> {
</span><span class="cx">     NSString *mediaKeysStorageDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebKitMediaKeysStorageDirectoryDefaultsKey];
</span><span class="cx">     if (!mediaKeysStorageDirectory || ![mediaKeysStorageDirectory isKindOfClass:[NSString class]])
</span><span class="lines">@@ -376,6 +367,16 @@
</span><span class="cx">     return stringByResolvingSymlinksInPath([mediaKeysStorageDirectory stringByStandardizingPath]);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+
+String WebProcessPool::platformDefaultIconDatabasePath() const
+{
+    // FIXME: &lt;rdar://problem/9138817&gt; - After this &quot;backwards compatibility&quot; radar is removed, this code should be removed to only return an empty String.
+    NSString *databasesDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebIconDatabaseDirectoryDefaultsKey];
+    if (!databasesDirectory || ![databasesDirectory isKindOfClass:[NSString class]])
+        databasesDirectory = @&quot;~/Library/Icons/WebpageIcons.db&quot;;
+    return stringByResolvingSymlinksInPath([databasesDirectory stringByStandardizingPath]);
+}
+
</ins><span class="cx"> bool WebProcessPool::omitPDFSupport()
</span><span class="cx"> {
</span><span class="cx">     // Since this is a &quot;secret default&quot; we don't bother registering it.
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebInspectorProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><ins>+#include &quot;APIProcessPoolConfiguration.h&quot;
</ins><span class="cx"> #include &quot;APIURLRequest.h&quot;
</span><span class="cx"> #include &quot;WebFramePolicyListenerProxy.h&quot;
</span><span class="cx"> #include &quot;WebFrameProxy.h&quot;
</span><span class="lines">@@ -365,16 +366,12 @@
</span><span class="cx"> {
</span><span class="cx">     // Having our own process pool removes us from the main process pool and
</span><span class="cx">     // guarantees no process sharing for our user interface.
</span><ins>+    static WebProcessPool* processPool = []{
+        auto configuration = API::ProcessPoolConfiguration::createWithLegacyOptions();
+        configuration-&gt;setProcessModel(ProcessModelMultipleSecondaryProcesses);
+        return &amp;WebProcessPool::create(configuration.get()).leakRef();
+    }();
</ins><span class="cx"> 
</span><del>-    static WebProcessPool* processPool;
-    if (!processPool) {
-        WebProcessPoolConfiguration configuration;
-        WebProcessPool::applyPlatformSpecificConfigurationDefaults(configuration);
-        
-        processPool = (WebProcessPool::create(WTF::move(configuration))).leakRef();
-        processPool-&gt;setProcessModel(ProcessModelMultipleSecondaryProcesses);
-    }
-
</del><span class="cx">     return *processPool;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebProcessPoolcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><span class="cx"> #include &quot;APIDownloadClient.h&quot;
</span><span class="cx"> #include &quot;APILegacyContextHistoryClient.h&quot;
</span><ins>+#include &quot;APIProcessPoolConfiguration.h&quot;
</ins><span class="cx"> #include &quot;CustomProtocolManagerMessages.h&quot;
</span><span class="cx"> #include &quot;DownloadProxy.h&quot;
</span><span class="cx"> #include &quot;DownloadProxyMessages.h&quot;
</span><span class="lines">@@ -112,31 +113,10 @@
</span><span class="cx"> 
</span><span class="cx"> DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, processPoolCounter, (&quot;WebProcessPool&quot;));
</span><span class="cx"> 
</span><del>-void WebProcessPool::applyPlatformSpecificConfigurationDefaults(WebProcessPoolConfiguration&amp; configuration)
</del><ins>+Ref&lt;WebProcessPool&gt; WebProcessPool::create(API::ProcessPoolConfiguration&amp; configuration)
</ins><span class="cx"> {
</span><del>-    // FIXME: This function should not be needed; all ports should make sure that the configuration has the right
-    // values, and then we should get rid of the platform specific defaults inside WebProcessPool.
-
-    if (!configuration.localStorageDirectory)
-        configuration.localStorageDirectory = platformDefaultLocalStorageDirectory();
-
-    if (!configuration.webSQLDatabaseDirectory)
-        configuration.webSQLDatabaseDirectory = platformDefaultWebSQLDatabaseDirectory();
-
-    // *********
-    // IMPORTANT: Do not change the directory structure for indexed databases on disk without first consulting a reviewer from Apple (&lt;rdar://problem/17454712&gt;)
-    // *********
-    if (!configuration.indexedDBDatabaseDirectory)
-        configuration.indexedDBDatabaseDirectory = platformDefaultIndexedDBDatabaseDirectory();
-
-    if (!configuration.mediaKeysStorageDirectory)
-        configuration.mediaKeysStorageDirectory = platformDefaultMediaKeysStorageDirectory();
-}
-
-PassRefPtr&lt;WebProcessPool&gt; WebProcessPool::create(WebProcessPoolConfiguration configuration)
-{
</del><span class="cx">     InitializeWebKit2();
</span><del>-    return adoptRef(new WebProcessPool(WTF::move(configuration)));
</del><ins>+    return adoptRef(*new WebProcessPool(configuration));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Vector&lt;WebProcessPool*&gt;&amp; processPools()
</span><span class="lines">@@ -150,22 +130,23 @@
</span><span class="cx">     return processPools();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static WebsiteDataStore::Configuration websiteDataStoreConfiguration(const WebProcessPoolConfiguration&amp; processPoolConfiguration)
</del><ins>+static WebsiteDataStore::Configuration websiteDataStoreConfiguration(API::ProcessPoolConfiguration&amp; processPoolConfiguration)
</ins><span class="cx"> {
</span><span class="cx">     WebsiteDataStore::Configuration configuration;
</span><span class="cx"> 
</span><del>-    configuration.localStorageDirectory = processPoolConfiguration.localStorageDirectory;
</del><ins>+    configuration.localStorageDirectory = processPoolConfiguration.localStorageDirectory();
</ins><span class="cx"> 
</span><span class="cx">     return configuration;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebProcessPool::WebProcessPool(WebProcessPoolConfiguration configuration)
-    : m_processModel(ProcessModelSharedSecondaryProcess)
-    , m_webProcessCountLimit(UINT_MAX)
</del><ins>+WebProcessPool::WebProcessPool(API::ProcessPoolConfiguration&amp; configuration)
+    : m_configuration(configuration.copy())
+    , m_processModel(m_configuration-&gt;processModel())
+    , m_webProcessCountLimit(!m_configuration-&gt;maximumProcessCount() ? UINT_MAX : m_configuration-&gt;maximumProcessCount())
</ins><span class="cx">     , m_haveInitialEmptyProcess(false)
</span><span class="cx">     , m_processWithPageCache(0)
</span><span class="cx">     , m_defaultPageGroup(WebPageGroup::createNonNull())
</span><del>-    , m_injectedBundlePath(configuration.injectedBundlePath)
</del><ins>+    , m_injectedBundlePath(m_configuration-&gt;injectedBundlePath())
</ins><span class="cx">     , m_downloadClient(std::make_unique&lt;API::DownloadClient&gt;())
</span><span class="cx">     , m_historyClient(std::make_unique&lt;API::LegacyContextHistoryClient&gt;())
</span><span class="cx">     , m_visitedLinkProvider(VisitedLinkProvider::create())
</span><span class="lines">@@ -173,22 +154,22 @@
</span><span class="cx">     , m_plugInAutoStartProvider(this)
</span><span class="cx">     , m_alwaysUsesComplexTextCodePath(false)
</span><span class="cx">     , m_shouldUseFontSmoothing(true)
</span><del>-    , m_cacheModel(CacheModelDocumentViewer)
</del><ins>+    , m_cacheModel(m_configuration-&gt;cacheModel())
</ins><span class="cx">     , m_memorySamplerEnabled(false)
</span><span class="cx">     , m_memorySamplerInterval(1400.0)
</span><del>-    , m_websiteDataStore(WebsiteDataStore::create(websiteDataStoreConfiguration(configuration)))
-    , m_storageManager(StorageManager::create(configuration.localStorageDirectory))
</del><ins>+    , m_websiteDataStore(WebsiteDataStore::create(websiteDataStoreConfiguration(m_configuration.get())))
+    , m_storageManager(StorageManager::create(m_configuration-&gt;localStorageDirectory()))
</ins><span class="cx"> #if USE(SOUP)
</span><span class="cx">     , m_initialHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain)
</span><span class="cx"> #endif
</span><del>-    , m_webSQLDatabaseDirectory(WTF::move(configuration.webSQLDatabaseDirectory))
-    , m_indexedDBDatabaseDirectory(WTF::move(configuration.indexedDBDatabaseDirectory))
-    , m_mediaKeysStorageDirectory(WTF::move(configuration.mediaKeysStorageDirectory))
</del><ins>+    , m_webSQLDatabaseDirectory(configuration.webSQLDatabaseDirectory())
+    , m_indexedDBDatabaseDirectory(configuration.indexedDBDatabaseDirectory())
+    , m_mediaKeysStorageDirectory(configuration.mediaKeysStorageDirectory())
</ins><span class="cx">     , m_shouldUseTestingNetworkSession(false)
</span><span class="cx">     , m_processTerminationEnabled(true)
</span><span class="cx"> #if ENABLE(NETWORK_PROCESS)
</span><span class="cx">     , m_canHandleHTTPSServerTrustEvaluation(true)
</span><del>-    , m_usesNetworkProcess(false)
</del><ins>+    , m_usesNetworkProcess(m_configuration-&gt;useNetworkProcess())
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(SOUP)
</span><span class="cx">     , m_ignoreTLSErrors(true)
</span><span class="lines">@@ -197,6 +178,11 @@
</span><span class="cx">     , m_userObservablePageCounter([this](bool) { updateProcessSuppressionState(); })
</span><span class="cx">     , m_processSuppressionDisabledForPageCounter([this](bool) { updateProcessSuppressionState(); })
</span><span class="cx"> {
</span><ins>+#if ENABLE(CACHE_PARTITIONING)
+    for (const auto&amp; urlScheme : m_configuration-&gt;cachePartitionedURLSchemes())
+        m_schemesToRegisterAsCachePartitioned.add(urlScheme);
+#endif
+
</ins><span class="cx">     platformInitialize();
</span><span class="cx"> 
</span><span class="cx">     addMessageReceiver(Messages::WebProcessPool::messageReceiverName(), *this);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebProcessPoolh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.h (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebProcessPool.h        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.h        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -71,6 +71,7 @@
</span><span class="cx"> namespace API {
</span><span class="cx"> class DownloadClient;
</span><span class="cx"> class LegacyContextHistoryClient;
</span><ins>+class ProcessPoolConfiguration;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="lines">@@ -97,27 +98,19 @@
</span><span class="cx"> int webProcessThroughputQOS();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-struct WebProcessPoolConfiguration {
-    String injectedBundlePath;
-    String localStorageDirectory;
-    String webSQLDatabaseDirectory;
-    String indexedDBDatabaseDirectory;
-    String mediaKeysStorageDirectory;
-};
-
-class WebProcessPool : public API::ObjectImpl&lt;API::Object::Type::ProcessPool&gt;, private IPC::MessageReceiver
</del><ins>+class WebProcessPool final : public API::ObjectImpl&lt;API::Object::Type::ProcessPool&gt;, private IPC::MessageReceiver
</ins><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><span class="cx">     , private PluginInfoStoreClient
</span><span class="cx"> #endif
</span><span class="cx">     {
</span><span class="cx"> public:
</span><del>-    static void applyPlatformSpecificConfigurationDefaults(WebProcessPoolConfiguration&amp;);
</del><ins>+    static Ref&lt;WebProcessPool&gt; create(API::ProcessPoolConfiguration&amp;);
</ins><span class="cx"> 
</span><del>-    WebProcessPool(WebProcessPoolConfiguration);
-        
-    static PassRefPtr&lt;WebProcessPool&gt; create(WebProcessPoolConfiguration);
</del><ins>+    explicit WebProcessPool(API::ProcessPoolConfiguration&amp;);        
</ins><span class="cx">     virtual ~WebProcessPool();
</span><span class="cx"> 
</span><ins>+    API::ProcessPoolConfiguration&amp; configuration() { return m_configuration.get(); }
+
</ins><span class="cx">     static const Vector&lt;WebProcessPool*&gt;&amp; allProcessPools();
</span><span class="cx"> 
</span><span class="cx">     template &lt;typename T&gt;
</span><span class="lines">@@ -355,6 +348,12 @@
</span><span class="cx">         return m_processSuppressionDisabledForPageCounter.token&lt;ProcessSuppressionDisabledTokenType&gt;();
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    // FIXME: Move these to API::WebsiteDataStore.
+    static String legacyPlatformDefaultLocalStorageDirectory();
+    static String legacyPlatformDefaultIndexedDBDatabaseDirectory();
+    static String legacyPlatformDefaultWebSQLDatabaseDirectory();
+    static String legacyPlatformDefaultMediaKeysStorageDirectory();
+
</ins><span class="cx"> private:
</span><span class="cx">     void platformInitialize();
</span><span class="cx"> 
</span><span class="lines">@@ -388,11 +387,6 @@
</span><span class="cx"> 
</span><span class="cx">     String platformDefaultIconDatabasePath() const;
</span><span class="cx"> 
</span><del>-    static String platformDefaultLocalStorageDirectory();
-    static String platformDefaultIndexedDBDatabaseDirectory();
-    static String platformDefaultWebSQLDatabaseDirectory();
-    static String platformDefaultMediaKeysStorageDirectory();
-
</del><span class="cx">     String diskCacheDirectory() const;
</span><span class="cx">     String platformDefaultDiskCacheDirectory() const;
</span><span class="cx"> 
</span><span class="lines">@@ -422,6 +416,8 @@
</span><span class="cx">     virtual void pluginInfoStoreDidLoadPlugins(PluginInfoStore*) override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    Ref&lt;API::ProcessPoolConfiguration&gt; m_configuration;
+
</ins><span class="cx">     IPC::MessageReceiverMap m_messageReceiverMap;
</span><span class="cx"> 
</span><span class="cx">     ProcessModel m_processModel;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcesseflWebContextEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -100,12 +100,12 @@
</span><span class="cx">     notImplemented();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultWebSQLDatabaseDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory()
</ins><span class="cx"> {
</span><span class="cx">     return String::fromUTF8(efreet_data_home_get()) + &quot;/WebKitEfl/Databases&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultIndexedDBDatabaseDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory()
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx">     return String();
</span><span class="lines">@@ -116,12 +116,12 @@
</span><span class="cx">     return String::fromUTF8(efreet_data_home_get()) + &quot;/WebKitEfl/IconDatabase/&quot; + WebCore::IconDatabase::defaultDatabaseFilename();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultLocalStorageDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory()
</ins><span class="cx"> {
</span><span class="cx">     return String::fromUTF8(efreet_data_home_get()) + &quot;/WebKitEfl/LocalStorage&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultMediaKeysStorageDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory()
</ins><span class="cx"> {
</span><span class="cx">     return String::fromUTF8(efreet_data_home_get()) + &quot;/WebKitEfl/MediaKeys&quot;;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessgtkWebProcessPoolGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -112,13 +112,13 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultWebSQLDatabaseDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory()
</ins><span class="cx"> {
</span><span class="cx">     GUniquePtr&lt;gchar&gt; databaseDirectory(g_build_filename(g_get_user_data_dir(), &quot;webkitgtk&quot;, &quot;databases&quot;, nullptr));
</span><span class="cx">     return WebCore::filenameToString(databaseDirectory.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultIndexedDBDatabaseDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory()
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx">     return String();
</span><span class="lines">@@ -130,13 +130,13 @@
</span><span class="cx">     return WebCore::filenameToString(databaseDirectory.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultLocalStorageDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory()
</ins><span class="cx"> {
</span><span class="cx">     GUniquePtr&lt;gchar&gt; storageDirectory(g_build_filename(g_get_user_data_dir(), &quot;webkitgtk&quot;, &quot;localstorage&quot;, nullptr));
</span><span class="cx">     return WebCore::filenameToString(storageDirectory.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String WebProcessPool::platformDefaultMediaKeysStorageDirectory()
</del><ins>+String WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory()
</ins><span class="cx"> {
</span><span class="cx">     GUniquePtr&lt;gchar&gt; mediaKeysStorageDirectory(g_build_filename(g_get_user_data_dir(), &quot;webkitgtk&quot;, &quot;mediakeys&quot;, nullptr));
</span><span class="cx">     return WebCore::filenameToString(mediaKeysStorageDirectory.get());
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (178684 => 178685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-01-20 00:58:42 UTC (rev 178684)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-01-20 01:35:47 UTC (rev 178685)
</span><span class="lines">@@ -1087,6 +1087,7 @@
</span><span class="cx">                 7C89D2BC1A6B0F5B003A5FDE /* _WKUserContentFilterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C89D2BB1A6B0F5B003A5FDE /* _WKUserContentFilterInternal.h */; };
</span><span class="cx">                 7C89D2BF1A6B11EF003A5FDE /* WKUserContentFilterRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C89D2BD1A6B11EF003A5FDE /* WKUserContentFilterRef.cpp */; };
</span><span class="cx">                 7C89D2C01A6B11EF003A5FDE /* WKUserContentFilterRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C89D2BE1A6B11EF003A5FDE /* WKUserContentFilterRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                7C89D2D71A6C6BE6003A5FDE /* _WKProcessPoolConfigurationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C89D2D61A6C6BE6003A5FDE /* _WKProcessPoolConfigurationInternal.h */; };
</ins><span class="cx">                 7C8EB11718DB6A19007917C2 /* WKPreferencesPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C8EB11618DB6A19007917C2 /* WKPreferencesPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 7C9D1537184584DA009D3918 /* WKBrowsingContextGroupInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9D1536184584DA009D3918 /* WKBrowsingContextGroupInternal.h */; };
</span><span class="cx">                 7CA254EB182993CE00FC8A41 /* WKBrowsingContextPolicyDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CA254EA182993CE00FC8A41 /* WKBrowsingContextPolicyDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -3220,6 +3221,7 @@
</span><span class="cx">                 7C89D2BB1A6B0F5B003A5FDE /* _WKUserContentFilterInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKUserContentFilterInternal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C89D2BD1A6B11EF003A5FDE /* WKUserContentFilterRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKUserContentFilterRef.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C89D2BE1A6B11EF003A5FDE /* WKUserContentFilterRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKUserContentFilterRef.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                7C89D2D61A6C6BE6003A5FDE /* _WKProcessPoolConfigurationInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKProcessPoolConfigurationInternal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 7C8EB11618DB6A19007917C2 /* WKPreferencesPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPreferencesPrivate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C9D1536184584DA009D3918 /* WKBrowsingContextGroupInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBrowsingContextGroupInternal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7CA254EA182993CE00FC8A41 /* WKBrowsingContextPolicyDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBrowsingContextPolicyDelegate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -5172,6 +5174,7 @@
</span><span class="cx">                                 37A64E5618F38F4600EB30F1 /* _WKFormInputSession.h */,
</span><span class="cx">                                 1A43E828188F3CDC009E4D30 /* _WKProcessPoolConfiguration.h */,
</span><span class="cx">                                 1A43E827188F3CDC009E4D30 /* _WKProcessPoolConfiguration.mm */,
</span><ins>+                                7C89D2D61A6C6BE6003A5FDE /* _WKProcessPoolConfigurationInternal.h */,
</ins><span class="cx">                                 376C51181957452E0007B0FA /* _WKSecurityOrigin.h */,
</span><span class="cx">                                 376C51171957452E0007B0FA /* _WKSecurityOrigin.mm */,
</span><span class="cx">                                 376C511B195748C20007B0FA /* _WKSecurityOriginInternal.h */,
</span><span class="lines">@@ -7462,6 +7465,7 @@
</span><span class="cx">                                 1AB7D61A1288B9D900CFD08C /* DownloadProxyMessages.h in Headers */,
</span><span class="cx">                                 C517388112DF8F4F00EE3F47 /* DragControllerAction.h in Headers */,
</span><span class="cx">                                 BC8452A81162C80900CAB9B5 /* DrawingArea.h in Headers */,
</span><ins>+                                7C89D2D71A6C6BE6003A5FDE /* _WKProcessPoolConfigurationInternal.h in Headers */,
</ins><span class="cx">                                 0FB659231208B4DB0044816C /* DrawingAreaInfo.h in Headers */,
</span><span class="cx">                                 7C89D2C01A6B11EF003A5FDE /* WKUserContentFilterRef.h in Headers */,
</span><span class="cx">                                 1A64229A12DD029200CAAE2C /* DrawingAreaMessages.h in Headers */,
</span></span></pre>
</div>
</div>

</body>
</html>