<!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>[190291] trunk</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/190291">190291</a></dd>
<dt>Author</dt> <dd>beidson@apple.com</dd>
<dt>Date</dt> <dd>2015-09-28 15:44:42 -0700 (Mon, 28 Sep 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add an IDB Server that can roundtrip a request back to the client.
https://bugs.webkit.org/show_bug.cgi?id=149603

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/deletedatabase-request-event.html

This is a critical piece of IDB infrastructure that:
- Puts a database client/server divide in place.
- Client synchronously sends requests to the server, and asynchronously receives a response back from it.
- Introduces a class structure that makes it easy for WebKit2 to add a thin layer to replace the
  in-process server with an out-of-process server.

To allow for the most basic of tests, the &quot;delete database&quot; request is hard coded as always failing
with an indeterminate error.

* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::indexedDB):

* Modules/indexeddb/IDBDatabaseIdentifier.cpp:
(WebCore::IDBDatabaseIdentifier::debugString):
* Modules/indexeddb/IDBDatabaseIdentifier.h:

* Modules/indexeddb/client/IDBConnectionToServer.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp.
(WebCore::IDBClient::IDBConnectionToServer::create):
(WebCore::IDBClient::IDBConnectionToServer::IDBConnectionToServer):
(WebCore::IDBClient::IDBConnectionToServer::identifier):
(WebCore::IDBClient::IDBConnectionToServer::deleteDatabase):
(WebCore::IDBClient::IDBConnectionToServer::didDeleteDatabase):

* Modules/indexeddb/client/IDBConnectionToServer.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
* Modules/indexeddb/client/IDBConnectionToServerDelegate.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
(WebCore::IDBClient::IDBConnectionToServerDelegate::~IDBConnectionToServerDelegate):

* Modules/indexeddb/client/IDBFactoryImpl.cpp:
(WebCore::IDBClient::IDBFactory::create):
(WebCore::IDBClient::IDBFactory::IDBFactory):
(WebCore::IDBClient::IDBFactory::openInternal):
(WebCore::IDBClient::IDBFactory::deleteDatabase):
* Modules/indexeddb/client/IDBFactoryImpl.h:

* Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::createDeleteRequest):
(WebCore::IDBClient::IDBOpenDBRequest::createOpenRequest):
(WebCore::IDBClient::IDBOpenDBRequest::IDBOpenDBRequest):
(WebCore::IDBClient::IDBOpenDBRequest::~IDBOpenDBRequest):
(WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):
* Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
(WebCore::IDBClient::IDBOpenDBRequest::databaseIdentifier):
(WebCore::IDBClient::IDBOpenDBRequest::version):
(WebCore::IDBClient::IDBOpenDBRequest::create): Deleted.

* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::IDBRequest):
(WebCore::IDBClient::IDBRequest::enqueueEvent):
* Modules/indexeddb/client/IDBRequestImpl.h:
(WebCore::IDBClient::IDBRequest::requestIdentifier):

* Modules/indexeddb/server/IDBConnectionToClient.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp.
(WebCore::IDBServer::IDBConnectionToClient::create):
(WebCore::IDBServer::IDBConnectionToClient::IDBConnectionToClient):
(WebCore::IDBServer::IDBConnectionToClient::identifier):
(WebCore::IDBServer::IDBConnectionToClient::didDeleteDatabase):
* Modules/indexeddb/server/IDBConnectionToClient.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
* Modules/indexeddb/server/IDBConnectionToClientDelegate.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
(WebCore::IDBServer::IDBConnectionToClientDelegate::~IDBConnectionToClientDelegate):

* Modules/indexeddb/server/IDBServer.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp.
(WebCore::IDBServer::IDBServer::create):
(WebCore::IDBServer::IDBServer::IDBServer):
(WebCore::IDBServer::IDBServer::registerConnection):
(WebCore::IDBServer::IDBServer::unregisterConnection):
(WebCore::IDBServer::IDBServer::deleteDatabase):
* Modules/indexeddb/server/IDBServer.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.

* Modules/indexeddb/shared/IDBError.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp.
(WebCore::idbExceptionEntry):
(WebCore::IDBError::IDBError):
(WebCore::IDBError::operator=):
(WebCore::IDBError::name):
(WebCore::IDBError::message):
* Modules/indexeddb/shared/IDBError.h: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp.
(WebCore::IDBError::IDBError):
(WebCore::IDBError::isNull):

* Modules/indexeddb/shared/IDBRequestData.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp.
(WebCore::IDBRequestData::IDBRequestData):
* Modules/indexeddb/shared/IDBRequestData.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
(WebCore::IDBRequestData::requestIdentifier):
(WebCore::IDBRequestData::databaseIdentifier):

* Modules/indexeddb/shared/IDBRequestIdentifier.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp.
(WebCore::nextRequestNumber):
(WebCore::IDBRequestIdentifier::IDBRequestIdentifier):
(WebCore::IDBRequestIdentifier::emptyValue):
(WebCore::IDBRequestIdentifier::deletedValue):
(WebCore::IDBRequestIdentifier::isHashTableDeletedValue):
* Modules/indexeddb/shared/IDBRequestIdentifier.h: Added.
(WebCore::IDBRequestIdentifier::isEmpty):
(WebCore::IDBRequestIdentifier::hash):
(WebCore::IDBRequestIdentifier::operator==):
(WebCore::IDBRequestIdentifier::connectionIdentifier):
(WebCore::IDBRequestIdentifierHash::hash):
(WebCore::IDBRequestIdentifierHash::equal):
(WebCore::IDBRequestIdentifierHashTraits::emptyValue):
(WebCore::IDBRequestIdentifierHashTraits::isEmptyValue):
(WebCore::IDBRequestIdentifierHashTraits::constructDeletedValue):
(WebCore::IDBRequestIdentifierHashTraits::isDeletedValue):

* Modules/indexeddb/shared/IDBResultData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp.
(WebCore::IDBResultData::IDBResultData):
* Modules/indexeddb/shared/IDBResultData.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
(WebCore::IDBResultData::requestIdentifier):
(WebCore::IDBResultData::error):

* Modules/indexeddb/shared/InProcessIDBServer.cpp: Added.
(WebCore::InProcessIDBServer::create):
(WebCore::InProcessIDBServer::InProcessIDBServer):
(WebCore::InProcessIDBServer::identifier):
(WebCore::InProcessIDBServer::connectionToServer):
(WebCore::InProcessIDBServer::connectionToClient):
(WebCore::InProcessIDBServer::deleteDatabase):
(WebCore::InProcessIDBServer::didDeleteDatabase):
* Modules/indexeddb/shared/InProcessIDBServer.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* loader/EmptyClients.cpp:

* page/DatabaseProvider.h:

* page/Page.cpp:
(WebCore::Page::idbConnection):
* page/Page.h:

* page/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::debugString):
* page/SecurityOriginData.h:

Source/WebKit:

* Storage/WebDatabaseProvider.cpp:
(WebDatabaseProvider::idbConnectionToServerForSession):
* Storage/WebDatabaseProvider.h:

Source/WebKit2:

* WebProcess/Databases/WebDatabaseProvider.h:

LayoutTests:

* storage/indexeddb/modern/deletedatabase-request-event-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-request-event.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbDOMWindowIndexedDatabasecpp">trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifiercpp">trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifierh">trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplcpp">trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplh">trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplcpp">trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh">trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBRequestImplcpp">trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBRequestImplh">trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreloaderEmptyClientscpp">trunk/Source/WebCore/loader/EmptyClients.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDatabaseProviderh">trunk/Source/WebCore/page/DatabaseProvider.h</a></li>
<li><a href="#trunkSourceWebCorepagePagecpp">trunk/Source/WebCore/page/Page.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageh">trunk/Source/WebCore/page/Page.h</a></li>
<li><a href="#trunkSourceWebCorepageSecurityOriginDatacpp">trunk/Source/WebCore/page/SecurityOriginData.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSecurityOriginDatah">trunk/Source/WebCore/page/SecurityOriginData.h</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitStorageWebDatabaseProvidercpp">trunk/Source/WebKit/Storage/WebDatabaseProvider.cpp</a></li>
<li><a href="#trunkSourceWebKitStorageWebDatabaseProviderh">trunk/Source/WebKit/Storage/WebDatabaseProvider.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesWebDatabaseProviderh">trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsstorageindexeddbmoderndeletedatabaserequesteventexpectedtxt">trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-event-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstorageindexeddbmoderndeletedatabaserequesteventhtml">trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-event.html</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBConnectionToServercpp">trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBConnectionToServerh">trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBConnectionToServerDelegateh">trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h</a></li>
<li>trunk/Source/WebCore/Modules/indexeddb/server/</li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverIDBConnectionToClientcpp">trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverIDBConnectionToClienth">trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverIDBConnectionToClientDelegateh">trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClientDelegate.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverIDBServercpp">trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverIDBServerh">trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h</a></li>
<li>trunk/Source/WebCore/Modules/indexeddb/shared/</li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedIDBErrorcpp">trunk/Source/WebCore/Modules/indexeddb/shared/IDBError.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedIDBErrorh">trunk/Source/WebCore/Modules/indexeddb/shared/IDBError.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedIDBRequestDatacpp">trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedIDBRequestDatah">trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedIDBRequestIdentifiercpp">trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedIDBRequestIdentifierh">trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedIDBResultDatacpp">trunk/Source/WebCore/Modules/indexeddb/shared/IDBResultData.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedIDBResultDatah">trunk/Source/WebCore/Modules/indexeddb/shared/IDBResultData.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedInProcessIDBServercpp">trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedInProcessIDBServerh">trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/LayoutTests/ChangeLog        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-09-28  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Add an IDB Server that can roundtrip a request back to the client.
+        https://bugs.webkit.org/show_bug.cgi?id=149603
+
+        Reviewed by Alex Christensen.
+
+        * storage/indexeddb/modern/deletedatabase-request-event-expected.txt: Added.
+        * storage/indexeddb/modern/deletedatabase-request-event.html: Added.
+
</ins><span class="cx"> 2015-09-28  Michael Saboff  &lt;msaboff@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [ES6] Implement tail calls in the FTL
</span></span></pre></div>
<a id="trunkLayoutTestsstorageindexeddbmoderndeletedatabaserequesteventexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-event-expected.txt (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-event-expected.txt                                (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-event-expected.txt        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+ALERT: [object IDBOpenDBRequest]
+ALERT: error [object Event]
+ALERT: Done
+This test calls deleteDatabase on window.indexedDB and verifies that an event is fired at the request.
+While at this stage in modern IndexedDB development, that event is hardcoded to be an error.
+
</ins></span></pre></div>
<a id="trunkLayoutTestsstorageindexeddbmoderndeletedatabaserequesteventhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-event.html (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-event.html                                (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-event.html        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+This test calls deleteDatabase on window.indexedDB and verifies that an event is fired at the request.&lt;br&gt;
+While at this stage in modern IndexedDB development, that event is hardcoded to be an error.&lt;br&gt;
+&lt;script&gt;
+
+if (window.testRunner) {
+    testRunner.waitUntilDone();
+    testRunner.dumpAsText();
+}
+
+function done()
+{
+    alert(&quot;Done&quot;);
+    if (window.testRunner)
+        testRunner.notifyDone();
+}
+
+var request = window.indexedDB.deleteDatabase(&quot;TestDatabase&quot;);
+
+request.onsuccess = function()
+{
+        alert(&quot;success&quot;);
+        done();
+}
+request.onerror = function(e)
+{
+        alert(&quot;error &quot; + e);
+        done();
+}
+
+alert(request);
+
+&lt;/script&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -12,6 +12,8 @@
</span><span class="cx">     &quot;${WEBCORE_DIR}/Modules/indexeddb&quot;
</span><span class="cx">     &quot;${WEBCORE_DIR}/Modules/indexeddb/client&quot;
</span><span class="cx">     &quot;${WEBCORE_DIR}/Modules/indexeddb/legacy&quot;
</span><ins>+    &quot;${WEBCORE_DIR}/Modules/indexeddb/server&quot;
+    &quot;${WEBCORE_DIR}/Modules/indexeddb/shared&quot;
</ins><span class="cx">     &quot;${WEBCORE_DIR}/Modules/indieui&quot;
</span><span class="cx">     &quot;${WEBCORE_DIR}/Modules/mediacontrols/&quot;
</span><span class="cx">     &quot;${WEBCORE_DIR}/Modules/mediasession&quot;
</span><span class="lines">@@ -869,6 +871,7 @@
</span><span class="cx">     Modules/indexeddb/IDBVersionChangeEvent.cpp
</span><span class="cx">     Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp
</span><span class="cx"> 
</span><ins>+    Modules/indexeddb/client/IDBConnectionToServer.cpp
</ins><span class="cx">     Modules/indexeddb/client/IDBFactoryImpl.cpp
</span><span class="cx">     Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp
</span><span class="cx">     Modules/indexeddb/client/IDBRequestImpl.cpp
</span><span class="lines">@@ -893,6 +896,15 @@
</span><span class="cx">     Modules/indexeddb/legacy/LegacyTransaction.cpp
</span><span class="cx">     Modules/indexeddb/legacy/LegacyVersionChangeEvent.cpp
</span><span class="cx"> 
</span><ins>+    Modules/indexeddb/server/IDBConnectionToClient.cpp
+    Modules/indexeddb/server/IDBServer.cpp
+
+    Modules/indexeddb/shared/IDBError.cpp
+    Modules/indexeddb/shared/IDBRequestData.cpp
+    Modules/indexeddb/shared/IDBRequestIdentifier.cpp
+    Modules/indexeddb/shared/IDBResultData.cpp
+    Modules/indexeddb/shared/InProcessIDBServer.cpp
+
</ins><span class="cx">     Modules/mediacontrols/MediaControlsHost.cpp
</span><span class="cx"> 
</span><span class="cx">     Modules/mediasession/HTMLMediaElementMediaSession.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/ChangeLog        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -1,3 +1,145 @@
</span><ins>+2015-09-28  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Add an IDB Server that can roundtrip a request back to the client.
+        https://bugs.webkit.org/show_bug.cgi?id=149603
+
+        Reviewed by Alex Christensen.
+
+        Test: storage/indexeddb/modern/deletedatabase-request-event.html
+
+        This is a critical piece of IDB infrastructure that:
+        - Puts a database client/server divide in place.
+        - Client synchronously sends requests to the server, and asynchronously receives a response back from it.
+        - Introduces a class structure that makes it easy for WebKit2 to add a thin layer to replace the 
+          in-process server with an out-of-process server.
+
+        To allow for the most basic of tests, the &quot;delete database&quot; request is hard coded as always failing 
+        with an indeterminate error.
+
+        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
+        (WebCore::DOMWindowIndexedDatabase::indexedDB):
+
+        * Modules/indexeddb/IDBDatabaseIdentifier.cpp:
+        (WebCore::IDBDatabaseIdentifier::debugString):
+        * Modules/indexeddb/IDBDatabaseIdentifier.h:
+
+        * Modules/indexeddb/client/IDBConnectionToServer.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp.
+        (WebCore::IDBClient::IDBConnectionToServer::create):
+        (WebCore::IDBClient::IDBConnectionToServer::IDBConnectionToServer):
+        (WebCore::IDBClient::IDBConnectionToServer::identifier):
+        (WebCore::IDBClient::IDBConnectionToServer::deleteDatabase):
+        (WebCore::IDBClient::IDBConnectionToServer::didDeleteDatabase):
+
+        * Modules/indexeddb/client/IDBConnectionToServer.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
+        * Modules/indexeddb/client/IDBConnectionToServerDelegate.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
+        (WebCore::IDBClient::IDBConnectionToServerDelegate::~IDBConnectionToServerDelegate):
+
+        * Modules/indexeddb/client/IDBFactoryImpl.cpp:
+        (WebCore::IDBClient::IDBFactory::create):
+        (WebCore::IDBClient::IDBFactory::IDBFactory):
+        (WebCore::IDBClient::IDBFactory::openInternal):
+        (WebCore::IDBClient::IDBFactory::deleteDatabase):
+        * Modules/indexeddb/client/IDBFactoryImpl.h:
+
+        * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
+        (WebCore::IDBClient::IDBOpenDBRequest::createDeleteRequest):
+        (WebCore::IDBClient::IDBOpenDBRequest::createOpenRequest):
+        (WebCore::IDBClient::IDBOpenDBRequest::IDBOpenDBRequest):
+        (WebCore::IDBClient::IDBOpenDBRequest::~IDBOpenDBRequest):
+        (WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):
+        * Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
+        (WebCore::IDBClient::IDBOpenDBRequest::databaseIdentifier):
+        (WebCore::IDBClient::IDBOpenDBRequest::version):
+        (WebCore::IDBClient::IDBOpenDBRequest::create): Deleted.
+
+        * Modules/indexeddb/client/IDBRequestImpl.cpp:
+        (WebCore::IDBClient::IDBRequest::IDBRequest):
+        (WebCore::IDBClient::IDBRequest::enqueueEvent):
+        * Modules/indexeddb/client/IDBRequestImpl.h:
+        (WebCore::IDBClient::IDBRequest::requestIdentifier):
+
+        * Modules/indexeddb/server/IDBConnectionToClient.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp.
+        (WebCore::IDBServer::IDBConnectionToClient::create):
+        (WebCore::IDBServer::IDBConnectionToClient::IDBConnectionToClient):
+        (WebCore::IDBServer::IDBConnectionToClient::identifier):
+        (WebCore::IDBServer::IDBConnectionToClient::didDeleteDatabase):
+        * Modules/indexeddb/server/IDBConnectionToClient.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
+        * Modules/indexeddb/server/IDBConnectionToClientDelegate.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
+        (WebCore::IDBServer::IDBConnectionToClientDelegate::~IDBConnectionToClientDelegate):
+
+        * Modules/indexeddb/server/IDBServer.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp.
+        (WebCore::IDBServer::IDBServer::create):
+        (WebCore::IDBServer::IDBServer::IDBServer):
+        (WebCore::IDBServer::IDBServer::registerConnection):
+        (WebCore::IDBServer::IDBServer::unregisterConnection):
+        (WebCore::IDBServer::IDBServer::deleteDatabase):
+        * Modules/indexeddb/server/IDBServer.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
+
+        * Modules/indexeddb/shared/IDBError.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp.
+        (WebCore::idbExceptionEntry):
+        (WebCore::IDBError::IDBError):
+        (WebCore::IDBError::operator=):
+        (WebCore::IDBError::name):
+        (WebCore::IDBError::message):
+        * Modules/indexeddb/shared/IDBError.h: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp.
+        (WebCore::IDBError::IDBError):
+        (WebCore::IDBError::isNull):
+
+        * Modules/indexeddb/shared/IDBRequestData.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp.
+        (WebCore::IDBRequestData::IDBRequestData):
+        * Modules/indexeddb/shared/IDBRequestData.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
+        (WebCore::IDBRequestData::requestIdentifier):
+        (WebCore::IDBRequestData::databaseIdentifier):
+
+        * Modules/indexeddb/shared/IDBRequestIdentifier.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp.
+        (WebCore::nextRequestNumber):
+        (WebCore::IDBRequestIdentifier::IDBRequestIdentifier):
+        (WebCore::IDBRequestIdentifier::emptyValue):
+        (WebCore::IDBRequestIdentifier::deletedValue):
+        (WebCore::IDBRequestIdentifier::isHashTableDeletedValue):
+        * Modules/indexeddb/shared/IDBRequestIdentifier.h: Added.
+        (WebCore::IDBRequestIdentifier::isEmpty):
+        (WebCore::IDBRequestIdentifier::hash):
+        (WebCore::IDBRequestIdentifier::operator==):
+        (WebCore::IDBRequestIdentifier::connectionIdentifier):
+        (WebCore::IDBRequestIdentifierHash::hash):
+        (WebCore::IDBRequestIdentifierHash::equal):
+        (WebCore::IDBRequestIdentifierHashTraits::emptyValue):
+        (WebCore::IDBRequestIdentifierHashTraits::isEmptyValue):
+        (WebCore::IDBRequestIdentifierHashTraits::constructDeletedValue):
+        (WebCore::IDBRequestIdentifierHashTraits::isDeletedValue):
+
+        * Modules/indexeddb/shared/IDBResultData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp.
+        (WebCore::IDBResultData::IDBResultData):
+        * Modules/indexeddb/shared/IDBResultData.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h.
+        (WebCore::IDBResultData::requestIdentifier):
+        (WebCore::IDBResultData::error):
+
+        * Modules/indexeddb/shared/InProcessIDBServer.cpp: Added.
+        (WebCore::InProcessIDBServer::create):
+        (WebCore::InProcessIDBServer::InProcessIDBServer):
+        (WebCore::InProcessIDBServer::identifier):
+        (WebCore::InProcessIDBServer::connectionToServer):
+        (WebCore::InProcessIDBServer::connectionToClient):
+        (WebCore::InProcessIDBServer::deleteDatabase):
+        (WebCore::InProcessIDBServer::didDeleteDatabase):
+        * Modules/indexeddb/shared/InProcessIDBServer.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h.
+
+        * CMakeLists.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+        * loader/EmptyClients.cpp:
+
+        * page/DatabaseProvider.h:
+
+        * page/Page.cpp:
+        (WebCore::Page::idbConnection):
+        * page/Page.h:
+
+        * page/SecurityOriginData.cpp:
+        (WebCore::SecurityOriginData::debugString):
+        * page/SecurityOriginData.h:
+
</ins><span class="cx"> 2015-09-28  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         relatedNode should be retargeted respecting slots
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbDOMWindowIndexedDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (!m_idbFactory) {
</span><span class="cx">         if (page-&gt;databaseProvider().supportsModernIDB())
</span><del>-            m_idbFactory = IDBClient::IDBFactory::create();
</del><ins>+            m_idbFactory = IDBClient::IDBFactory::create(page-&gt;idbConnection());
</ins><span class="cx">         else
</span><span class="cx">             m_idbFactory = LegacyFactory::create(page-&gt;databaseProvider().idbFactoryBackend());
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifiercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -44,6 +44,14 @@
</span><span class="cx">     ASSERT(!databaseName.isNull());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+
+#ifndef NDEBUG
+String IDBDatabaseIdentifier::debugString() const
+{
+    return makeString(m_databaseName, &quot;@&quot;, m_openingOrigin.debugString(), &quot;:&quot;, m_mainFrameOrigin.debugString());
+}
+#endif
+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(INDEXED_DATABASE)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifierh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -83,6 +83,10 @@
</span><span class="cx"> 
</span><span class="cx">     const String&amp; databaseName() const { return m_databaseName; }
</span><span class="cx"> 
</span><ins>+#ifndef NDEBUG
+    String debugString() const;
+#endif
+
</ins><span class="cx"> private:
</span><span class="cx">     String m_databaseName;
</span><span class="cx">     SecurityOriginData m_openingOrigin;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBConnectionToServercppfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,78 @@
</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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBConnectionToServer.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBOpenDBRequestImpl.h&quot;
+#include &quot;IDBRequestData.h&quot;
+#include &quot;IDBResultData.h&quot;
+#include &quot;Logging.h&quot;
+
+namespace WebCore {
+namespace IDBClient {
+
+Ref&lt;IDBConnectionToServer&gt; IDBConnectionToServer::create(IDBConnectionToServerDelegate&amp; delegate)
+{
+    return adoptRef(*new IDBConnectionToServer(delegate));
+}
+
+IDBConnectionToServer::IDBConnectionToServer(IDBConnectionToServerDelegate&amp; delegate)
+    : m_delegate(delegate)
+{
+}
+
+uint64_t IDBConnectionToServer::identifier() const
+{
+    return m_delegate-&gt;identifier();
+}
+
+void IDBConnectionToServer::deleteDatabase(IDBOpenDBRequest&amp; request)
+{
+    LOG(IndexedDB, &quot;IDBConnectionToServer::deleteDatabase - %s&quot;, request.databaseIdentifier().debugString().utf8().data());
+
+    ASSERT(!m_openDBRequestMap.contains(request.requestIdentifier()));
+    m_openDBRequestMap.set(request.requestIdentifier(), &amp;request);
+    
+    IDBRequestData requestData(*this, request);
+    m_delegate-&gt;deleteDatabase(requestData);
+}
+
+void IDBConnectionToServer::didDeleteDatabase(const IDBResultData&amp; resultData)
+{
+    LOG(IndexedDB, &quot;IDBConnectionToServer::didDeleteDatabase&quot;);
+
+    auto request = m_openDBRequestMap.take(resultData.requestIdentifier());
+    ASSERT(request);
+
+    request-&gt;requestCompleted(resultData);
+}
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBConnectionToServerhfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.h (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,66 @@
</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.
+ */
+
+#ifndef IDBConnectionToServer_h
+#define IDBConnectionToServer_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBConnectionToServerDelegate.h&quot;
+#include &quot;IDBRequestIdentifier.h&quot;
+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/Ref.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+
+namespace WebCore {
+
+class IDBResultData;
+
+namespace IDBClient {
+
+class IDBOpenDBRequest;
+
+class IDBConnectionToServer : public RefCounted&lt;IDBConnectionToServer&gt; {
+public:
+    static Ref&lt;IDBConnectionToServer&gt; create(IDBConnectionToServerDelegate&amp;);
+
+    uint64_t identifier() const;
+
+    void deleteDatabase(IDBOpenDBRequest&amp;);
+    void didDeleteDatabase(const IDBResultData&amp;);
+    
+private:
+    IDBConnectionToServer(IDBConnectionToServerDelegate&amp;);
+    
+    Ref&lt;IDBConnectionToServerDelegate&gt; m_delegate;
+
+    HashMap&lt;IDBRequestIdentifier, RefPtr&lt;IDBClient::IDBOpenDBRequest&gt;&gt; m_openDBRequestMap;
+};
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBConnectionToServer_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBConnectionToServerDelegatehfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,52 @@
</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.
+ */
+
+#ifndef IDBConnectionToServerDelegate_h
+#define IDBConnectionToServerDelegate_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class IDBRequestData;
+
+namespace IDBClient {
+
+class IDBConnectionToServerDelegate {
+public:
+    virtual ~IDBConnectionToServerDelegate() { }
+
+    virtual uint64_t identifier() const = 0;
+    virtual void deleteDatabase(IDBRequestData&amp;) = 0;
+    
+    virtual void ref() = 0;
+    virtual void deref() = 0;
+};
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBConnectionToServerDelegate_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -28,12 +28,14 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><ins>+#include &quot;Document.h&quot;
</ins><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;IDBDatabaseIdentifier.h&quot;
</span><span class="cx"> #include &quot;IDBOpenDBRequestImpl.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;SchemeRegistry.h&quot;
</span><ins>+#include &quot;ScriptExecutionContext.h&quot;
</ins><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -58,14 +60,14 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;IDBFactory&gt; IDBFactory::create()
</del><ins>+Ref&lt;IDBFactory&gt; IDBFactory::create(IDBConnectionToServer&amp; connection)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new IDBFactory);
</del><ins>+    return adoptRef(*new IDBFactory(connection));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-IDBFactory::IDBFactory()
</del><ins>+IDBFactory::IDBFactory(IDBConnectionToServer&amp; connection)
+    : m_connectionToServer(connection)
</ins><span class="cx"> {
</span><del>-
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;WebCore::IDBRequest&gt; IDBFactory::getDatabaseNames(ScriptExecutionContext*, ExceptionCode&amp;)
</span><span class="lines">@@ -92,7 +94,7 @@
</span><span class="cx">     return openInternal(context, name, 0, ec).release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;IDBOpenDBRequest&gt; IDBFactory::openInternal(ScriptExecutionContext* context, const String&amp; name, unsigned long long, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;IDBOpenDBRequest&gt; IDBFactory::openInternal(ScriptExecutionContext* context, const String&amp; name, unsigned long long version, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (name.isNull()) {
</span><span class="cx">         ec = TypeError;
</span><span class="lines">@@ -112,7 +114,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto request = IDBOpenDBRequest::create(context);
</del><ins>+    auto request = IDBOpenDBRequest::createOpenRequest(m_connectionToServer.get(), context, databaseIdentifier, version);
</ins><span class="cx">     return adoptRef(&amp;request.leakRef());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -138,7 +140,9 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto request = IDBOpenDBRequest::create(context);
</del><ins>+    auto request = IDBOpenDBRequest::createDeleteRequest(m_connectionToServer.get(), context, databaseIdentifier);
+    m_connectionToServer-&gt;deleteDatabase(request.get());
+
</ins><span class="cx">     return adoptRef(&amp;request.leakRef());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><ins>+#include &quot;IDBConnectionToServer.h&quot;
</ins><span class="cx"> #include &quot;IDBFactory.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -37,7 +38,7 @@
</span><span class="cx"> 
</span><span class="cx"> class IDBFactory : public WebCore::IDBFactory {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;IDBFactory&gt; create();
</del><ins>+    static Ref&lt;IDBFactory&gt; create(IDBConnectionToServer&amp;);
</ins><span class="cx"> 
</span><span class="cx">     virtual RefPtr&lt;WebCore::IDBRequest&gt; getDatabaseNames(ScriptExecutionContext*, ExceptionCode&amp;) override final;
</span><span class="cx"> 
</span><span class="lines">@@ -48,9 +49,11 @@
</span><span class="cx">     virtual short cmp(ScriptExecutionContext*, const Deprecated::ScriptValue&amp; first, const Deprecated::ScriptValue&amp; second, ExceptionCode&amp;) override final;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    IDBFactory();
</del><ins>+    IDBFactory(IDBConnectionToServer&amp;);
</ins><span class="cx">     
</span><span class="cx">     RefPtr&lt;IDBOpenDBRequest&gt; openInternal(ScriptExecutionContext*, const String&amp; name, unsigned long long version, ExceptionCode&amp;);
</span><ins>+    
+    Ref&lt;IDBConnectionToServer&gt; m_connectionToServer;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace IDBClient
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -28,15 +28,49 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><ins>+#include &quot;IDBError.h&quot;
+#include &quot;IDBResultData.h&quot;
+#include &quot;Logging.h&quot;
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> namespace IDBClient {
</span><span class="cx"> 
</span><del>-IDBOpenDBRequest::IDBOpenDBRequest(ScriptExecutionContext* context)
-    : IDBRequest(context)
</del><ins>+Ref&lt;IDBOpenDBRequest&gt; IDBOpenDBRequest::createDeleteRequest(IDBConnectionToServer&amp; connection, ScriptExecutionContext* context, const IDBDatabaseIdentifier&amp; databaseIdentifier)
</ins><span class="cx"> {
</span><ins>+    ASSERT(databaseIdentifier.isValid());
+    return adoptRef(*new IDBOpenDBRequest(connection, context, databaseIdentifier, 0));
+}
+
+Ref&lt;IDBOpenDBRequest&gt; IDBOpenDBRequest::createOpenRequest(IDBConnectionToServer&amp; connection, ScriptExecutionContext* context, const IDBDatabaseIdentifier&amp; databaseIdentifier, uint64_t version)
+{
+    ASSERT(databaseIdentifier.isValid());
+    return adoptRef(*new IDBOpenDBRequest(connection, context, databaseIdentifier, version));
+}
+    
+IDBOpenDBRequest::IDBOpenDBRequest(IDBConnectionToServer&amp; connection, ScriptExecutionContext* context, const IDBDatabaseIdentifier&amp; databaseIdentifier, uint64_t version)
+    : IDBRequest(connection, context)
+    , m_databaseIdentifier(databaseIdentifier)
+    , m_version(version)
+{
</ins><span class="cx">     suspendIfNeeded();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+IDBOpenDBRequest::~IDBOpenDBRequest()
+{
+}
+
+void IDBOpenDBRequest::requestCompleted(const IDBResultData&amp; data)
+{
+    LOG(IndexedDB, &quot;IDBOpenDBRequest::requestCompleted&quot;);
+
+    if (!data.error().isNull()) {
+        LOG(IndexedDB, &quot;  with error: (%s) '%s'&quot;, data.error().name().utf8().data(), data.error().message().utf8().data());
+        m_domError = DOMError::create(data.error().name());
+        enqueueEvent(Event::create(eventNames().errorEvent, true, true));
+    } else
+        enqueueEvent(Event::create(eventNames().successEvent, true, true));
+}
+
</ins><span class="cx"> } // namespace IDBClient
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -28,20 +28,36 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><ins>+#include &quot;DOMError.h&quot;
+#include &quot;IDBDatabaseIdentifier.h&quot;
</ins><span class="cx"> #include &quot;IDBRequestImpl.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><ins>+
+class IDBDatabaseIdentifier;
+
</ins><span class="cx"> namespace IDBClient {
</span><span class="cx"> 
</span><ins>+class IDBConnectionToServer;
+
</ins><span class="cx"> class IDBOpenDBRequest : public IDBRequest {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;IDBOpenDBRequest&gt; create(ScriptExecutionContext* context)
-    {
-        return adoptRef(*new IDBOpenDBRequest(context));
-    }
</del><ins>+    static Ref&lt;IDBOpenDBRequest&gt; createDeleteRequest(IDBConnectionToServer&amp;, ScriptExecutionContext*, const IDBDatabaseIdentifier&amp;);
+    static Ref&lt;IDBOpenDBRequest&gt; createOpenRequest(IDBConnectionToServer&amp;, ScriptExecutionContext*, const IDBDatabaseIdentifier&amp;, uint64_t version);
</ins><span class="cx"> 
</span><ins>+    virtual ~IDBOpenDBRequest();
+    
+    const IDBDatabaseIdentifier&amp; databaseIdentifier() const { return m_databaseIdentifier; }
+    uint64_t version() const { return m_version; }
+
+    void requestCompleted(const IDBResultData&amp;);
+
</ins><span class="cx"> private:
</span><del>-    IDBOpenDBRequest(ScriptExecutionContext*);
</del><ins>+    IDBOpenDBRequest(IDBConnectionToServer&amp;, ScriptExecutionContext*, const IDBDatabaseIdentifier&amp;, uint64_t version);
+    
+    IDBDatabaseIdentifier m_databaseIdentifier;
+    uint64_t m_version;
+    RefPtr&lt;DOMError&gt; m_domError;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace IDBClient
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBRequestImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -28,13 +28,16 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><ins>+#include &quot;EventQueue.h&quot;
+#include &quot;ScriptExecutionContext.h&quot;
</ins><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> namespace IDBClient {
</span><span class="cx"> 
</span><del>-IDBRequest::IDBRequest(ScriptExecutionContext* context)
</del><ins>+IDBRequest::IDBRequest(IDBConnectionToServer&amp; connection, ScriptExecutionContext* context)
</ins><span class="cx">     : IDBOpenDBRequest(context)
</span><ins>+    , m_requestIdentifier(connection)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -83,7 +86,16 @@
</span><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><del>-    
</del><ins>+
+void IDBRequest::enqueueEvent(Ref&lt;Event&gt;&amp;&amp; event)
+{
+    if (!scriptExecutionContext())
+        return;
+
+    event-&gt;setTarget(this);
+    scriptExecutionContext()-&gt;eventQueue().enqueueEvent(&amp;event.get());
+}
+
</ins><span class="cx"> } // namespace IDBClient
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBRequestImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -29,13 +29,22 @@
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;IDBOpenDBRequest.h&quot;
</span><ins>+#include &quot;IDBRequestIdentifier.h&quot;
</ins><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><ins>+
+class Event;
+class IDBResultData;
+
</ins><span class="cx"> namespace IDBClient {
</span><span class="cx"> 
</span><ins>+class IDBConnectionToServer;
+
</ins><span class="cx"> class IDBRequest : public WebCore::IDBOpenDBRequest, public RefCounted&lt;IDBRequest&gt; {
</span><span class="cx"> public:
</span><ins>+    const IDBRequestIdentifier&amp; requestIdentifier() const { return m_requestIdentifier; }
+
</ins><span class="cx">     virtual RefPtr&lt;IDBAny&gt; result(ExceptionCode&amp;) const override;
</span><span class="cx">     virtual unsigned short errorCode(ExceptionCode&amp;) const override;
</span><span class="cx">     virtual RefPtr&lt;DOMError&gt; error(ExceptionCode&amp;) const override;
</span><span class="lines">@@ -50,8 +59,10 @@
</span><span class="cx">     using RefCounted&lt;IDBRequest&gt;::ref;
</span><span class="cx">     using RefCounted&lt;IDBRequest&gt;::deref;
</span><span class="cx"> 
</span><ins>+    void enqueueEvent(Ref&lt;Event&gt;&amp;&amp;);
+    
</ins><span class="cx"> protected:
</span><del>-    IDBRequest(ScriptExecutionContext*);
</del><ins>+    IDBRequest(IDBConnectionToServer&amp;, ScriptExecutionContext*);
</ins><span class="cx"> 
</span><span class="cx">     // ActiveDOMObject.
</span><span class="cx">     virtual const char* activeDOMObjectName() const override final;
</span><span class="lines">@@ -60,6 +71,8 @@
</span><span class="cx">     // EventTarget.
</span><span class="cx">     virtual void refEventTarget() override final { RefCounted&lt;IDBRequest&gt;::ref(); }
</span><span class="cx">     virtual void derefEventTarget() override final { RefCounted&lt;IDBRequest&gt;::deref(); }
</span><ins>+
+    IDBRequestIdentifier m_requestIdentifier;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace IDBClient
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverIDBConnectionToClientcppfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.cpp (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,57 @@
</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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBConnectionToClient.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+namespace IDBServer {
+
+Ref&lt;IDBConnectionToClient&gt; IDBConnectionToClient::create(IDBConnectionToClientDelegate&amp; delegate)
+{
+    return adoptRef(*new IDBConnectionToClient(delegate));
+}
+
+IDBConnectionToClient::IDBConnectionToClient(IDBConnectionToClientDelegate&amp; delegate)
+    : m_delegate(delegate)
+{
+}
+
+uint64_t IDBConnectionToClient::identifier() const
+{
+    return m_delegate-&gt;identifier();
+}
+
+void IDBConnectionToClient::didDeleteDatabase(const IDBResultData&amp; result)
+{
+    m_delegate-&gt;didDeleteDatabase(result);
+}
+
+} // namespace IDBServer
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverIDBConnectionToClienthfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.h (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,59 @@
</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.
+ */
+
+#ifndef IDBConnectionToClient_h
+#define IDBConnectionToClient_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBConnectionToClientDelegate.h&quot;
+#include &lt;wtf/Ref.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+
+namespace WebCore {
+
+class IDBResultData;
+
+namespace IDBServer {
+
+class IDBConnectionToClient : public RefCounted&lt;IDBConnectionToClient&gt; {
+public:
+    static Ref&lt;IDBConnectionToClient&gt; create(IDBConnectionToClientDelegate&amp;);
+    
+    uint64_t identifier() const;
+
+    void didDeleteDatabase(const IDBResultData&amp;);
+    
+private:
+    IDBConnectionToClient(IDBConnectionToClientDelegate&amp;);
+    
+    Ref&lt;IDBConnectionToClientDelegate&gt; m_delegate;
+};
+
+} // namespace IDBServer
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBConnectionToClient_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverIDBConnectionToClientDelegatehfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClientDelegate.h (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClientDelegate.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBConnectionToClientDelegate.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,53 @@
</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.
+ */
+
+#ifndef IDBConnectionToClientDelegate_h
+#define IDBConnectionToClientDelegate_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class IDBResultData;
+
+namespace IDBServer {
+
+class IDBConnectionToClientDelegate {
+public:
+    virtual ~IDBConnectionToClientDelegate() { }
+    
+    virtual uint64_t identifier() const = 0;
+
+    virtual void didDeleteDatabase(const IDBResultData&amp;) = 0;
+
+    virtual void ref() = 0;
+    virtual void deref() = 0;
+};
+
+} // namespace IDBServer
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBConnectionToClientDelegate_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverIDBServercppfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBRequestImplcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,82 @@
</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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBServer.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBRequestData.h&quot;
+#include &quot;IDBResultData.h&quot;
+#include &quot;Logging.h&quot;
+
+namespace WebCore {
+namespace IDBServer {
+
+Ref&lt;IDBServer&gt; IDBServer::create()
+{
+    return adoptRef(*new IDBServer());
+}
+
+IDBServer::IDBServer()
+{
+}
+
+void IDBServer::registerConnection(IDBConnectionToClient&amp; connection)
+{
+    ASSERT(!m_connectionMap.contains(connection.identifier()));
+    m_connectionMap.set(connection.identifier(), &amp;connection);
+}
+
+void IDBServer::unregisterConnection(IDBConnectionToClient&amp; connection)
+{
+    ASSERT(m_connectionMap.contains(connection.identifier()));
+    ASSERT(m_connectionMap.get(connection.identifier()) == &amp;connection);
+
+    m_connectionMap.remove(connection.identifier());
+}
+
+void IDBServer::deleteDatabase(const IDBRequestData&amp; data)
+{
+    LOG(IndexedDB, &quot;IDBServer::deleteDatabase - %s&quot;, data.databaseIdentifier().debugString().utf8().data());
+    
+    auto connection = m_connectionMap.get(data.requestIdentifier().connectionIdentifier());
+    if (!connection) {
+        // If we don't have record of this connection (e.g. it has dropped due to a process crashing)
+        // then we can't report back status of the operation.
+        // Therefore we shouldn't bother performing it.
+        return;
+    }
+    
+    // FIXME: During bringup of modern IDB, the database deletion is a no-op, and is
+    // immediately reported back to the WebProcess as failure.
+    IDBResultData result(data.requestIdentifier(), IDBError(IDBExceptionCode::Unknown));
+    connection-&gt;didDeleteDatabase(result);
+}
+
+} // namespace IDBServer
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverIDBServerhfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,63 @@
</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.
+ */
+
+#ifndef IDBServer_h
+#define IDBServer_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBConnectionToClient.h&quot;
+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/Ref.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/RefPtr.h&gt;
+
+namespace WebCore {
+
+class IDBRequestData;
+
+namespace IDBServer {
+
+class IDBServer : public RefCounted&lt;IDBServer&gt; {
+public:
+    static Ref&lt;IDBServer&gt; create();
+
+    void registerConnection(IDBConnectionToClient&amp;);
+    void unregisterConnection(IDBConnectionToClient&amp;);
+
+    // Operations requested by the client.
+    void deleteDatabase(const IDBRequestData&amp;);
+
+private:
+    IDBServer();
+
+    HashMap&lt;uint64_t, RefPtr&lt;IDBConnectionToClient&gt;&gt; m_connectionMap;
+};
+
+} // namespace IDBServer
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBServer_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedIDBErrorcppfromrev190289trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifiercpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/shared/IDBError.cpp (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/IDBError.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBError.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,80 @@
</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. ``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
+ * 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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBError.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &lt;wtf/NeverDestroyed.h&gt;
+
+namespace WebCore {
+
+static const std::pair&lt;String, String&gt;&amp; idbExceptionEntry(IDBExceptionCode code)
+{
+    NeverDestroyed&lt;Vector&lt;std::pair&lt;String, String&gt;&gt;&gt; entries;
+    if (entries.get().isEmpty()) {
+        entries.get().append(std::make_pair&lt;String, String&gt;(
+            ASCIILiteral(&quot;UnknownError&quot;),
+            ASCIILiteral(&quot;Operation failed for reasons unrelated to the database itself and not covered by any other errors.&quot;)));
+    }
+
+    return entries.get()[(int)code - 1];
+}
+
+IDBError::IDBError(IDBExceptionCode code)
+    : IDBError(code, emptyString())
+{
+}
+
+IDBError::IDBError(IDBExceptionCode code, const String&amp; message)
+    : m_code(code)
+    , m_message(message)
+{
+}
+
+IDBError&amp; IDBError::operator=(const IDBError&amp; other)
+{
+    m_code = other.m_code;
+    m_message = other.m_message;
+    return *this;
+}
+
+const String&amp; IDBError::name() const
+{
+    return idbExceptionEntry(m_code).first;
+}
+
+const String&amp; IDBError::message() const
+{
+    if (!m_message.isEmpty())
+        return m_message;
+
+    return idbExceptionEntry(m_code).second;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedIDBErrorhfromrev190289trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifiercpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/shared/IDBError.h (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/IDBError.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBError.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,61 @@
</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. ``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
+ * 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.
+ */
+
+#ifndef IDBError_h
+#define IDBError_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace WebCore {
+
+enum class IDBExceptionCode {
+    None = 0,
+    Unknown = 1,
+};
+
+class IDBError {
+public:
+    IDBError() { }
+    IDBError(IDBExceptionCode);
+    IDBError(IDBExceptionCode, const String&amp; message);
+
+    IDBError&amp; operator=(const IDBError&amp;);
+
+    const String&amp; name() const;
+    const String&amp; message() const;
+
+    bool isNull() const { return m_code == IDBExceptionCode::None; }
+
+private:
+    IDBExceptionCode m_code { IDBExceptionCode::None };
+    String m_message;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBError_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedIDBRequestDatacppfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.cpp (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,44 @@
</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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBRequestData.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBConnectionToServer.h&quot;
+#include &quot;IDBOpenDBRequestImpl.h&quot;
+
+namespace WebCore {
+
+IDBRequestData::IDBRequestData(const IDBClient::IDBConnectionToServer&amp; connection, const IDBClient::IDBOpenDBRequest&amp; request)
+    : m_requestIdentifier(connection, request)
+    , m_databaseIdentifier(request.databaseIdentifier())
+{
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedIDBRequestDatahfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,56 @@
</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.
+ */
+
+#ifndef IDBRequestData_h
+#define IDBRequestData_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBDatabaseIdentifier.h&quot;
+#include &quot;IDBRequestIdentifier.h&quot;
+
+namespace WebCore {
+
+namespace IDBClient {
+class IDBConnectionToServer;
+class IDBOpenDBRequest;
+}
+
+class IDBRequestData {
+public:
+    IDBRequestData(const IDBClient::IDBConnectionToServer&amp;, const IDBClient::IDBOpenDBRequest&amp;);
+
+    IDBRequestIdentifier requestIdentifier() const { return m_requestIdentifier; }
+    const IDBDatabaseIdentifier&amp; databaseIdentifier() const { return m_databaseIdentifier; }
+
+private:
+    IDBRequestIdentifier m_requestIdentifier;
+    IDBDatabaseIdentifier m_databaseIdentifier;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBRequestData_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedIDBRequestIdentifiercppfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBRequestImplcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.cpp (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,85 @@
</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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBRequestIdentifier.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBConnectionToServer.h&quot;
+#include &quot;IDBRequestImpl.h&quot;
+#include &lt;wtf/MainThread.h&gt;
+
+namespace WebCore {
+
+static uint64_t nextRequestNumber()
+{
+    ASSERT(isMainThread());
+    static uint64_t currentNumber = 0;
+    return ++currentNumber;
+}
+
+IDBRequestIdentifier::IDBRequestIdentifier()
+    : m_requestNumber(nextRequestNumber())
+{
+}
+
+IDBRequestIdentifier::IDBRequestIdentifier(const IDBClient::IDBConnectionToServer&amp; connection)
+    : m_idbClientServerConnectionNumber(connection.identifier())
+    , m_requestNumber(nextRequestNumber())
+{
+}
+
+IDBRequestIdentifier::IDBRequestIdentifier(const IDBClient::IDBConnectionToServer&amp; connection, const IDBClient::IDBRequest&amp; request)
+    : m_idbClientServerConnectionNumber(connection.identifier())
+    , m_requestNumber(request.requestIdentifier().m_requestNumber)
+{
+}
+
+IDBRequestIdentifier IDBRequestIdentifier::emptyValue()
+{
+    IDBRequestIdentifier result;
+    result.m_idbClientServerConnectionNumber = 0;
+    result.m_requestNumber = 0;
+    return WTF::move(result);
+}
+
+IDBRequestIdentifier IDBRequestIdentifier::deletedValue()
+{
+    IDBRequestIdentifier result;
+    result.m_idbClientServerConnectionNumber = std::numeric_limits&lt;int64_t&gt;::max();
+    result.m_requestNumber = std::numeric_limits&lt;int64_t&gt;::max();
+    return WTF::move(result);
+}
+
+bool IDBRequestIdentifier::isHashTableDeletedValue() const
+{
+    return m_idbClientServerConnectionNumber == std::numeric_limits&lt;int64_t&gt;::max()
+        &amp;&amp; m_requestNumber == std::numeric_limits&lt;int64_t&gt;::max();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedIDBRequestIdentifierh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,117 @@
</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.
+ */
+
+#ifndef IDBRequestIdentifier_h
+#define IDBRequestIdentifier_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &lt;wtf/text/StringHash.h&gt;
+
+namespace WebCore {
+
+namespace IDBClient {
+class IDBConnectionToServer;
+class IDBRequest;
+}
+
+class IDBRequestIdentifier {
+public:
+    IDBRequestIdentifier(const IDBClient::IDBConnectionToServer&amp;);
+    IDBRequestIdentifier(const IDBClient::IDBConnectionToServer&amp;, const IDBClient::IDBRequest&amp;);
+
+    static IDBRequestIdentifier deletedValue();
+    bool isHashTableDeletedValue() const;
+
+    static IDBRequestIdentifier emptyValue();
+    bool isEmpty() const
+    {
+        return !m_requestNumber &amp;&amp; !m_idbClientServerConnectionNumber;
+    }
+
+    unsigned hash() const
+    {
+        uint64_t hashCodes[2] = { reinterpret_cast&lt;uint64_t&gt;(m_idbClientServerConnectionNumber), static_cast&lt;uint64_t&gt;(m_requestNumber) };
+        return StringHasher::hashMemory&lt;sizeof(hashCodes)&gt;(hashCodes);
+    }
+    
+    bool operator==(const IDBRequestIdentifier&amp; other) const
+    {
+        return m_idbClientServerConnectionNumber == other.m_idbClientServerConnectionNumber
+            &amp;&amp; m_requestNumber == other.m_requestNumber;
+    }
+    
+    uint64_t connectionIdentifier() const { return m_idbClientServerConnectionNumber; }
+    
+private:
+    IDBRequestIdentifier();
+    uint64_t m_idbClientServerConnectionNumber { 0 };
+    uint64_t m_requestNumber;
+};
+
+struct IDBRequestIdentifierHash {
+    static unsigned hash(const IDBRequestIdentifier&amp; a) { return a.hash(); }
+    static bool equal(const IDBRequestIdentifier&amp; a, const IDBRequestIdentifier&amp; b) { return a == b; }
+    static const bool safeToCompareToEmptyOrDeleted = false;
+};
+
+struct IDBRequestIdentifierHashTraits : WTF::CustomHashTraits&lt;IDBRequestIdentifier&gt; {
+    static const bool hasIsEmptyValueFunction = true;
+    static const bool emptyValueIsZero = false;
+
+    static IDBRequestIdentifier emptyValue()
+    {
+        return IDBRequestIdentifier::emptyValue();
+    }
+
+    static bool isEmptyValue(const IDBRequestIdentifier&amp; identifier)
+    {
+        return identifier.isEmpty();
+    }
+
+    static void constructDeletedValue(IDBRequestIdentifier&amp; identifier)
+    {
+        identifier = IDBRequestIdentifier::deletedValue();
+    }
+
+    static bool isDeletedValue(const IDBRequestIdentifier&amp; identifier)
+    {
+        return identifier.isHashTableDeletedValue();
+    }
+};
+
+} // namespace WebCore
+
+namespace WTF {
+
+template&lt;&gt; struct HashTraits&lt;WebCore::IDBRequestIdentifier&gt; : WebCore::IDBRequestIdentifierHashTraits { };
+template&lt;&gt; struct DefaultHash&lt;WebCore::IDBRequestIdentifier&gt; {
+    typedef WebCore::IDBRequestIdentifierHash Hash;
+};
+
+} // namespace WTF
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBRequestIdentifier_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedIDBResultDatacppfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/shared/IDBResultData.cpp (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/IDBResultData.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBResultData.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,41 @@
</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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBResultData.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+IDBResultData::IDBResultData(const IDBRequestIdentifier&amp; requestIdentifier, const IDBError&amp; error)
+    : m_requestIdentifier(requestIdentifier)
+    , m_error(error)
+{
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedIDBResultDatahfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/shared/IDBResultData.h (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/IDBResultData.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBResultData.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,54 @@
</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.
+ */
+
+#ifndef IDBResultData_h
+#define IDBResultData_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBError.h&quot;
+#include &quot;IDBRequestIdentifier.h&quot;
+
+namespace WebCore {
+
+class IDBRequestIdentifier;
+
+class IDBResultData {
+public:
+    IDBResultData(const IDBRequestIdentifier&amp;, const IDBError&amp;);
+
+    IDBRequestIdentifier requestIdentifier() const { return m_requestIdentifier; }
+    
+    const IDBError&amp; error() const { return m_error; }
+    
+private:
+    IDBRequestIdentifier m_requestIdentifier;
+    IDBError m_error;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBResultData_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedInProcessIDBServercpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,90 @@
</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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;InProcessIDBServer.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBConnectionToClient.h&quot;
+#include &quot;IDBConnectionToServer.h&quot;
+#include &quot;IDBOpenDBRequestImpl.h&quot;
+#include &quot;IDBRequestData.h&quot;
+#include &quot;IDBResultData.h&quot;
+#include &quot;Logging.h&quot;
+#include &lt;wtf/RunLoop.h&gt;
+
+namespace WebCore {
+
+Ref&lt;InProcessIDBServer&gt; InProcessIDBServer::create()
+{
+    Ref&lt;InProcessIDBServer&gt; server = adoptRef(*new InProcessIDBServer);
+    server-&gt;m_server-&gt;registerConnection(server-&gt;connectionToClient());
+    return WTF::move(server);
+}
+
+InProcessIDBServer::InProcessIDBServer()
+    : m_server(IDBServer::IDBServer::create())
+{
+    relaxAdoptionRequirement();
+    m_connectionToServer = IDBClient::IDBConnectionToServer::create(*this);
+    m_connectionToClient = IDBServer::IDBConnectionToClient::create(*this);
+}
+
+uint64_t InProcessIDBServer::identifier() const
+{
+    // An instance of InProcessIDBServer always has a 1:1 relationship with its instance of IDBServer.
+    // Therefore the connection identifier between the two can always be &quot;1&quot;.
+    return 1;
+}
+
+IDBClient::IDBConnectionToServer&amp; InProcessIDBServer::connectionToServer() const
+{
+    return *m_connectionToServer;
+}
+
+IDBServer::IDBConnectionToClient&amp; InProcessIDBServer::connectionToClient() const
+{
+    return *m_connectionToClient;
+}
+
+void InProcessIDBServer::deleteDatabase(IDBRequestData&amp; requestData)
+{
+    RefPtr&lt;InProcessIDBServer&gt; self(this);
+    RunLoop::current().dispatch([this, self, requestData] {
+        m_server-&gt;deleteDatabase(requestData);
+    });
+}
+
+void InProcessIDBServer::didDeleteDatabase(const IDBResultData&amp; resultData)
+{
+    RefPtr&lt;InProcessIDBServer&gt; self(this);
+    RunLoop::current().dispatch([this, self, resultData] {
+        m_connectionToServer-&gt;didDeleteDatabase(resultData);
+    });}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedInProcessIDBServerhfromrev190289trunkSourceWebCoreModulesindexeddbclientIDBRequestImplh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.h (from rev 190289, trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h) (0 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -0,0 +1,77 @@
</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.
+ */
+
+#ifndef InProcessIDBServer_h
+#define InProcessIDBServer_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBConnectionToClient.h&quot;
+#include &quot;IDBConnectionToServer.h&quot;
+#include &quot;IDBOpenDBRequestImpl.h&quot;
+#include &quot;IDBServer.h&quot;
+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/RefPtr.h&gt;
+
+namespace WebCore {
+
+namespace IDBClient {
+class IDBConnectionToServer;
+}
+
+namespace IDBServer {
+class IDBServer;
+}
+
+class InProcessIDBServer final : public IDBClient::IDBConnectionToServerDelegate, public IDBServer::IDBConnectionToClientDelegate, public RefCounted&lt;InProcessIDBServer&gt; {
+public:
+    WEBCORE_EXPORT static Ref&lt;InProcessIDBServer&gt; create();
+
+    WEBCORE_EXPORT IDBClient::IDBConnectionToServer&amp; connectionToServer() const;
+    IDBServer::IDBConnectionToClient&amp; connectionToClient() const;
+
+    // IDBConnectionToServer
+    virtual void deleteDatabase(IDBRequestData&amp;) override final;
+    
+    // IDBConnectionToClient
+    virtual uint64_t identifier() const override;
+    virtual void didDeleteDatabase(const IDBResultData&amp;) override final;
+
+    virtual void ref() override { RefCounted&lt;InProcessIDBServer&gt;::ref(); }
+    virtual void deref() override { RefCounted&lt;InProcessIDBServer&gt;::deref(); }
+
+private:
+    InProcessIDBServer();
+
+    Ref&lt;IDBServer::IDBServer&gt; m_server;
+    RefPtr&lt;IDBClient::IDBConnectionToServer&gt; m_connectionToServer;
+    RefPtr&lt;IDBServer::IDBConnectionToClient&gt; m_connectionToClient;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // InProcessIDBServer_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -1910,30 +1910,24 @@
</span><span class="cx">                 5103104F1BA8CC03003329C0 /* IDBFactoryImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5103104A1BA8C6A6003329C0 /* IDBFactoryImpl.cpp */; };
</span><span class="cx">                 510310501BA8CC03003329C0 /* IDBFactoryImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5103104B1BA8C6A6003329C0 /* IDBFactoryImpl.h */; };
</span><span class="cx">                 5103105A1BA8DB56003329C0 /* IDBOpenDBRequestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510310561BA8DB30003329C0 /* IDBOpenDBRequestImpl.cpp */; };
</span><del>-                5103105B1BA8DB56003329C0 /* IDBOpenDBRequestImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 510310571BA8DB30003329C0 /* IDBOpenDBRequestImpl.h */; };
</del><ins>+                5103105B1BA8DB56003329C0 /* IDBOpenDBRequestImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 510310571BA8DB30003329C0 /* IDBOpenDBRequestImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 5103105C1BA8DB56003329C0 /* IDBRequestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510310581BA8DB30003329C0 /* IDBRequestImpl.cpp */; };
</span><del>-                5103105D1BA8DB56003329C0 /* IDBRequestImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 510310591BA8DB30003329C0 /* IDBRequestImpl.h */; };
-                510310601BA8E0E3003329C0 /* IDBDatabaseIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5103105F1BA8E090003329C0 /* IDBDatabaseIdentifier.h */; };
-                510310611BA8E10D003329C0 /* IDBDatabaseIdentifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5103105E1BA8E090003329C0 /* IDBDatabaseIdentifier.cpp */; };
</del><ins>+                5103105D1BA8DB56003329C0 /* IDBRequestImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 510310591BA8DB30003329C0 /* IDBRequestImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 5103C2B11BA22D1A00E26337 /* LegacyAny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B6E1BA0A76100F789CE /* LegacyAny.cpp */; };
</span><del>-                5103C2B21BA2317400E26337 /* IDBTransaction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B501B9F889B00F789CE /* IDBTransaction.cpp */; };
-                5103C2B31BA2324D00E26337 /* IDBCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B541B9F88E800F789CE /* IDBCursor.cpp */; };
-                5103C2B41BA232AE00E26337 /* IDBCursorWithValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B421B9F889B00F789CE /* IDBCursorWithValue.cpp */; };
-                5103C2B51BA232D400E26337 /* IDBDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B441B9F889B00F789CE /* IDBDatabase.cpp */; };
-                5103C2B61BA233BF00E26337 /* IDBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B4E1B9F889B00F789CE /* IDBRequest.cpp */; };
-                5103C2B71BA233C400E26337 /* IDBOpenDBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B4C1B9F889B00F789CE /* IDBOpenDBRequest.cpp */; };
-                5103C2B81BA235C500E26337 /* IDBVersionChangeEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B521B9F889B00F789CE /* IDBVersionChangeEvent.cpp */; };
</del><span class="cx">                 5103C2B91BA23A2600E26337 /* LegacyAny.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B6F1BA0A76100F789CE /* LegacyAny.h */; };
</span><span class="cx">                 5106D7BD18BDB76F000AB166 /* ContextMenuContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5106D7BB18BDB76F000AB166 /* ContextMenuContext.cpp */; };
</span><span class="cx">                 5106D7BE18BDB76F000AB166 /* ContextMenuContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 5106D7BC18BDB76F000AB166 /* ContextMenuContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                510A326F18318431003C5326 /* IDBServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A326E18318431003C5326 /* IDBServerConnection.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                510A58E41BAA40B100C19282 /* InProcessIDBServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510A58E21BAA40AE00C19282 /* InProcessIDBServer.cpp */; };
+                510A58E51BAA40B100C19282 /* InProcessIDBServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A58E31BAA40AE00C19282 /* InProcessIDBServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                510A58F91BACC7F200C19282 /* IDBRequestData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510A58F51BACC4A500C19282 /* IDBRequestData.cpp */; };
+                510A58FA1BACC7F200C19282 /* IDBRequestData.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A58F61BACC4A500C19282 /* IDBRequestData.h */; };
+                510A58FB1BACC7F200C19282 /* IDBRequestIdentifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510A58E61BAA41C900C19282 /* IDBRequestIdentifier.cpp */; };
+                510A58FC1BACC7F200C19282 /* IDBRequestIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A58E71BAA41C900C19282 /* IDBRequestIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 510D4A33103165EE0049EA54 /* SocketStreamErrorBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510D4A2D103165EE0049EA54 /* SocketStreamErrorBase.cpp */; };
</span><span class="cx">                 510D4A34103165EE0049EA54 /* SocketStreamErrorBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A2E103165EE0049EA54 /* SocketStreamErrorBase.h */; };
</span><span class="cx">                 510D4A36103165EE0049EA54 /* SocketStreamHandleBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510D4A30103165EE0049EA54 /* SocketStreamHandleBase.cpp */; };
</span><span class="cx">                 510D4A37103165EE0049EA54 /* SocketStreamHandleBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A31103165EE0049EA54 /* SocketStreamHandleBase.h */; };
</span><span class="cx">                 510D4A38103165EE0049EA54 /* SocketStreamHandleClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A32103165EE0049EA54 /* SocketStreamHandleClient.h */; };
</span><del>-                511EC1A6188DACA400BA3EB6 /* IDBKeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 511EC1A5188DACA400BA3EB6 /* IDBKeyData.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                511EC1A8188DAE7B00BA3EB6 /* IDBKeyData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EC1A7188DAE7B00BA3EB6 /* IDBKeyData.cpp */; };
</del><span class="cx">                 511EF2C017F0FD3500E4FA16 /* JSIDBAny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2A817F0FC4800E4FA16 /* JSIDBAny.cpp */; };
</span><span class="cx">                 511EF2C117F0FD3500E4FA16 /* JSIDBCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2A917F0FC4800E4FA16 /* JSIDBCursor.cpp */; };
</span><span class="cx">                 511EF2C217F0FD3500E4FA16 /* JSIDBCursorWithValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2AA17F0FC4800E4FA16 /* JSIDBCursorWithValue.cpp */; };
</span><span class="lines">@@ -1949,9 +1943,6 @@
</span><span class="cx">                 511EF2CF17F0FDF100E4FA16 /* JSIDBAnyCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2CC17F0FDF100E4FA16 /* JSIDBAnyCustom.cpp */; };
</span><span class="cx">                 511EF2D017F0FDF100E4FA16 /* JSIDBDatabaseCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2CD17F0FDF100E4FA16 /* JSIDBDatabaseCustom.cpp */; };
</span><span class="cx">                 511EF2D117F0FDF100E4FA16 /* JSIDBObjectStoreCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2CE17F0FDF100E4FA16 /* JSIDBObjectStoreCustom.cpp */; };
</span><del>-                5123AF181890A4CA0031CDC9 /* IDBKeyRangeData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5123AF161890A4CA0031CDC9 /* IDBKeyRangeData.cpp */; };
-                5123AF191890A4CA0031CDC9 /* IDBKeyRangeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5123AF171890A4CA0031CDC9 /* IDBKeyRangeData.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                5123AF1D18918AE40031CDC9 /* IDBGetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5123AF1C18918AE40031CDC9 /* IDBGetResult.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 5126E6BB0A2E3B12005C29FA /* IconDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5126E6B90A2E3B12005C29FA /* IconDatabase.cpp */; };
</span><span class="cx">                 5126E6BC0A2E3B12005C29FA /* IconDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 5126E6BA0A2E3B12005C29FA /* IconDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 512DD8E30D91E2B4000F89EE /* SharedBufferCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512DD8E20D91E2B4000F89EE /* SharedBufferCF.cpp */; };
</span><span class="lines">@@ -1964,13 +1955,14 @@
</span><span class="cx">                 512DD8FB0D91E6AF000F89EE /* ArchiveResource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512DD8F10D91E6AF000F89EE /* ArchiveResource.cpp */; };
</span><span class="cx">                 512DD8FC0D91E6AF000F89EE /* ArchiveResource.h in Headers */ = {isa = PBXBuildFile; fileRef = 512DD8F20D91E6AF000F89EE /* ArchiveResource.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 512DD8FD0D91E6AF000F89EE /* ArchiveFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 512DD8F30D91E6AF000F89EE /* ArchiveFactory.h */; };
</span><del>-                512EA9BE18202857001D01E0 /* IDBOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 512EA9BD18202857001D01E0 /* IDBOperation.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 51327D6011A33A2B004F9D65 /* SinkDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 51327D5E11A33A2B004F9D65 /* SinkDocument.h */; };
</span><span class="cx">                 51327D6111A33A2B004F9D65 /* SinkDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51327D5F11A33A2B004F9D65 /* SinkDocument.cpp */; };
</span><span class="cx">                 513F14530AB634C400094DDF /* IconLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 513F14510AB634C400094DDF /* IconLoader.cpp */; };
</span><span class="cx">                 513F14540AB634C400094DDF /* IconLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 513F14520AB634C400094DDF /* IconLoader.h */; };
</span><span class="cx">                 51405C88190B014400754F94 /* SelectionRectGatherer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51405C86190B014400754F94 /* SelectionRectGatherer.cpp */; };
</span><span class="cx">                 51405C89190B014400754F94 /* SelectionRectGatherer.h in Headers */ = {isa = PBXBuildFile; fileRef = 51405C87190B014400754F94 /* SelectionRectGatherer.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                5148453E1BB9D07E006A72ED /* IDBError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5148453C1BB9D076006A72ED /* IDBError.cpp */; };
+                5148453F1BB9D07E006A72ED /* IDBError.h in Headers */ = {isa = PBXBuildFile; fileRef = 5148453D1BB9D076006A72ED /* IDBError.h */; };
</ins><span class="cx">                 514B3F730C722047000530DF /* FileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 514B3F720C722047000530DF /* FileSystem.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 514B3F760C722055000530DF /* FileSystemMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 514B3F750C722055000530DF /* FileSystemMac.mm */; };
</span><span class="cx">                 514C76370CE9225E007EF3CD /* JSSQLError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 514C76350CE9225E007EF3CD /* JSSQLError.cpp */; };
</span><span class="lines">@@ -2000,15 +1992,11 @@
</span><span class="cx">                 514C767D0CE923A1007EF3CD /* ResourceRequestBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 514C76680CE923A1007EF3CD /* ResourceRequestBase.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 514C767E0CE923A1007EF3CD /* ResourceResponseBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 514C76690CE923A1007EF3CD /* ResourceResponseBase.cpp */; };
</span><span class="cx">                 514C767F0CE923A1007EF3CD /* ResourceResponseBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 514C766A0CE923A1007EF3CD /* ResourceResponseBase.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                5157D4641BA24AEE0085CA2F /* IDBFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B461B9F889B00F789CE /* IDBFactory.cpp */; };
-                5157D4651BA24AF80085CA2F /* IDBIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B481B9F889B00F789CE /* IDBIndex.cpp */; };
-                5157D4661BA24AFD0085CA2F /* IDBObjectStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B4A1B9F889B00F789CE /* IDBObjectStore.cpp */; };
</del><span class="cx">                 5160300B0CC4251200C8AC25 /* FileSystemPOSIX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5160300A0CC4251200C8AC25 /* FileSystemPOSIX.cpp */; };
</span><span class="cx">                 5160306C0CC4362300C8AC25 /* FileSystemCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5160306B0CC4362300C8AC25 /* FileSystemCF.cpp */; };
</span><span class="cx">                 5160F4980B0AA75F00C1D2AF /* HistoryItemMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5160F4970B0AA75F00C1D2AF /* HistoryItemMac.mm */; };
</span><span class="cx">                 5162C7F411F77EFB00612EFE /* SchemeRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5162C7F211F77EFA00612EFE /* SchemeRegistry.cpp */; };
</span><span class="cx">                 5162C7F511F77EFB00612EFE /* SchemeRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 5162C7F311F77EFB00612EFE /* SchemeRegistry.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                5163117D1851242B00534647 /* IDBDatabaseMetadata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5163117C1851242B00534647 /* IDBDatabaseMetadata.cpp */; };
</del><span class="cx">                 51645B5A1B9FA6C800F789CE /* LegacyCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B281B9F639100F789CE /* LegacyCursor.cpp */; };
</span><span class="cx">                 51645B5B1B9FA6C800F789CE /* LegacyCursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B291B9F639100F789CE /* LegacyCursor.h */; };
</span><span class="cx">                 51645B5C1B9FA6C800F789CE /* LegacyCursorWithValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B2A1B9F639100F789CE /* LegacyCursorWithValue.cpp */; };
</span><span class="lines">@@ -2035,6 +2023,10 @@
</span><span class="cx">                 516C62201950D48700337E75 /* GamepadEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 516C621D1950D48700337E75 /* GamepadEvent.cpp */; };
</span><span class="cx">                 516C62211950D48700337E75 /* GamepadEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 516C621E1950D48700337E75 /* GamepadEvent.h */; };
</span><span class="cx">                 516C62251950E2B900337E75 /* JSGamepadEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 516C62231950E2B900337E75 /* JSGamepadEvent.cpp */; };
</span><ins>+                516D7D6F1BB5F0BD00AF7C77 /* IDBConnectionToServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5185FCBC1BB5CB770012898F /* IDBConnectionToServer.cpp */; };
+                516D7D701BB5F0BD00AF7C77 /* IDBConnectionToServerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5185FCBD1BB5CB770012898F /* IDBConnectionToServerDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                516D7D711BB5F0BD00AF7C77 /* IDBConnectionToClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 516D7D6D1BB5F06500AF7C77 /* IDBConnectionToClient.cpp */; };
+                516D7D721BB5F0BD00AF7C77 /* IDBConnectionToClientDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 516D7D6E1BB5F06500AF7C77 /* IDBConnectionToClientDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 51741D0F0B07259A00ED442C /* BackForwardClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 51741D0B0B07259A00ED442C /* BackForwardClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51741D110B07259A00ED442C /* HistoryItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 51741D0D0B07259A00ED442C /* HistoryItem.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51741D120B07259A00ED442C /* HistoryItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51741D0E0B07259A00ED442C /* HistoryItem.cpp */; };
</span><span class="lines">@@ -2049,6 +2041,63 @@
</span><span class="cx">                 517A63C51B74318F00E7DCDC /* KeyedDecoderCF.h in Headers */ = {isa = PBXBuildFile; fileRef = 517A63C01B74317E00E7DCDC /* KeyedDecoderCF.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 517A63C61B74319200E7DCDC /* KeyedEncoderCF.h in Headers */ = {isa = PBXBuildFile; fileRef = 517A63C21B74317E00E7DCDC /* KeyedEncoderCF.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 517FBA1E151AB17C00B57959 /* DOMWindowExtension.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 517FBA17151AA71B00B57959 /* DOMWindowExtension.cpp */; };
</span><ins>+                5185FC5B1BB4BE4C0012898F /* IDBConnectionToServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A58FD1BB07A9600C19282 /* IDBConnectionToServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC741BB4C4E80012898F /* DOMWindowIndexedDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D7196C181106DF0016DC51 /* DOMWindowIndexedDatabase.cpp */; };
+                5185FC751BB4C4E80012898F /* DOMWindowIndexedDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D7196D181106DF0016DC51 /* DOMWindowIndexedDatabase.h */; };
+                5185FC771BB4C4E80012898F /* IDBAny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D7196F181106DF0016DC51 /* IDBAny.cpp */; };
+                5185FC781BB4C4E80012898F /* IDBAny.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71970181106DF0016DC51 /* IDBAny.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC7A1BB4C4E80012898F /* IDBCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B541B9F88E800F789CE /* IDBCursor.cpp */; };
+                5185FC7B1BB4C4E80012898F /* IDBCursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B411B9F889B00F789CE /* IDBCursor.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC7D1BB4C4E80012898F /* IDBCursorWithValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B421B9F889B00F789CE /* IDBCursorWithValue.cpp */; };
+                5185FC7E1BB4C4E80012898F /* IDBCursorWithValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B431B9F889B00F789CE /* IDBCursorWithValue.h */; };
+                5185FC801BB4C4E80012898F /* IDBDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B441B9F889B00F789CE /* IDBDatabase.cpp */; };
+                5185FC811BB4C4E80012898F /* IDBDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B451B9F889B00F789CE /* IDBDatabase.h */; };
+                5185FC831BB4C4E80012898F /* IDBDatabaseError.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71983181106DF0016DC51 /* IDBDatabaseError.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC841BB4C4E80012898F /* IDBDatabaseException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71984181106DF0016DC51 /* IDBDatabaseException.cpp */; };
+                5185FC851BB4C4E80012898F /* IDBDatabaseException.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71985181106DF0016DC51 /* IDBDatabaseException.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC861BB4C4E80012898F /* IDBDatabaseIdentifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5103105E1BA8E090003329C0 /* IDBDatabaseIdentifier.cpp */; };
+                5185FC871BB4C4E80012898F /* IDBDatabaseIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5103105F1BA8E090003329C0 /* IDBDatabaseIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC881BB4C4E80012898F /* IDBDatabaseMetadata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5163117C1851242B00534647 /* IDBDatabaseMetadata.cpp */; };
+                5185FC891BB4C4E80012898F /* IDBDatabaseMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C9611A183D2B8000D2002E /* IDBDatabaseMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC8A1BB4C4E80012898F /* IDBEventDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71986181106DF0016DC51 /* IDBEventDispatcher.cpp */; };
+                5185FC8B1BB4C4E80012898F /* IDBEventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71987181106DF0016DC51 /* IDBEventDispatcher.h */; };
+                5185FC8C1BB4C4E80012898F /* IDBFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B461B9F889B00F789CE /* IDBFactory.cpp */; };
+                5185FC8D1BB4C4E80012898F /* IDBFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B471B9F889B00F789CE /* IDBFactory.h */; };
+                5185FC8F1BB4C4E80012898F /* IDBGetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5123AF1C18918AE40031CDC9 /* IDBGetResult.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC901BB4C4E80012898F /* IDBIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B481B9F889B00F789CE /* IDBIndex.cpp */; };
+                5185FC911BB4C4E80012898F /* IDBIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B491B9F889B00F789CE /* IDBIndex.h */; };
+                5185FC931BB4C4E80012898F /* IDBIndexMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ABB5B6186D0ED1008391A1 /* IDBIndexMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC941BB4C4E80012898F /* IDBKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71991181106E00016DC51 /* IDBKey.cpp */; };
+                5185FC951BB4C4E80012898F /* IDBKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71992181106E00016DC51 /* IDBKey.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC961BB4C4E80012898F /* IDBKeyData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EC1A7188DAE7B00BA3EB6 /* IDBKeyData.cpp */; };
+                5185FC971BB4C4E80012898F /* IDBKeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 511EC1A5188DACA400BA3EB6 /* IDBKeyData.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC981BB4C4E80012898F /* IDBKeyPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71993181106E00016DC51 /* IDBKeyPath.cpp */; };
+                5185FC991BB4C4E80012898F /* IDBKeyPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71994181106E00016DC51 /* IDBKeyPath.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC9A1BB4C4E80012898F /* IDBKeyRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71995181106E00016DC51 /* IDBKeyRange.cpp */; };
+                5185FC9B1BB4C4E80012898F /* IDBKeyRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71996181106E00016DC51 /* IDBKeyRange.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC9D1BB4C4E80012898F /* IDBKeyRangeData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5123AF161890A4CA0031CDC9 /* IDBKeyRangeData.cpp */; };
+                5185FC9E1BB4C4E80012898F /* IDBKeyRangeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5123AF171890A4CA0031CDC9 /* IDBKeyRangeData.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FC9F1BB4C4E80012898F /* IDBObjectStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B4A1B9F889B00F789CE /* IDBObjectStore.cpp */; };
+                5185FCA01BB4C4E80012898F /* IDBObjectStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B4B1B9F889B00F789CE /* IDBObjectStore.h */; };
+                5185FCA21BB4C4E80012898F /* IDBObjectStoreMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ABB5B7186D0ED1008391A1 /* IDBObjectStoreMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FCA31BB4C4E80012898F /* IDBOpenDBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B4C1B9F889B00F789CE /* IDBOpenDBRequest.cpp */; };
+                5185FCA41BB4C4E80012898F /* IDBOpenDBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B4D1B9F889B00F789CE /* IDBOpenDBRequest.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FCA61BB4C4E80012898F /* IDBOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 512EA9BD18202857001D01E0 /* IDBOperation.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FCA71BB4C4E80012898F /* IDBRecordIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 51EAC5B018163F4E004F1BA4 /* IDBRecordIdentifier.h */; };
+                5185FCA81BB4C4E80012898F /* IDBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B4E1B9F889B00F789CE /* IDBRequest.cpp */; };
+                5185FCA91BB4C4E80012898F /* IDBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B4F1B9F889B00F789CE /* IDBRequest.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FCAB1BB4C4E80012898F /* IDBServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A326E18318431003C5326 /* IDBServerConnection.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FCAC1BB4C4E80012898F /* IDBTransaction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B501B9F889B00F789CE /* IDBTransaction.cpp */; };
+                5185FCAD1BB4C4E80012898F /* IDBTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B511B9F889B00F789CE /* IDBTransaction.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FCAF1BB4C4E80012898F /* IDBVersionChangeEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B521B9F889B00F789CE /* IDBVersionChangeEvent.cpp */; };
+                5185FCB01BB4C4E80012898F /* IDBVersionChangeEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B531B9F889B00F789CE /* IDBVersionChangeEvent.h */; };
+                5185FCB21BB4C4E80012898F /* IndexedDB.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D719AE181106E00016DC51 /* IndexedDB.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FCB31BB4C4E80012898F /* WorkerGlobalScopeIndexedDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D719B1181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.cpp */; };
+                5185FCB41BB4C4E80012898F /* WorkerGlobalScopeIndexedDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D719B2181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.h */; };
+                5185FCB71BB4C7670012898F /* DOMRequestState.h in Headers */ = {isa = PBXBuildFile; fileRef = 5185FCB61BB4C7610012898F /* DOMRequestState.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FCB91BB4CBF80012898F /* IDBConnectionToClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A58FE1BB07AA500C19282 /* IDBConnectionToClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                5185FCBA1BB4CBF80012898F /* IDBServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510A58EF1BAB720F00C19282 /* IDBServer.cpp */; };
+                5185FCBB1BB4CBF80012898F /* IDBServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A58F01BAB720F00C19282 /* IDBServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 5189F01D10B37BD900F3C739 /* JSPopStateEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5189F01B10B37BD900F3C739 /* JSPopStateEvent.cpp */; };
</span><span class="cx">                 5189F01E10B37BD900F3C739 /* JSPopStateEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 5189F01C10B37BD900F3C739 /* JSPopStateEvent.h */; };
</span><span class="cx">                 5189F0DE10B46B0E00F3C739 /* PopStateEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5189F0DD10B46B0E00F3C739 /* PopStateEvent.cpp */; };
</span><span class="lines">@@ -2070,8 +2119,6 @@
</span><span class="cx">                 51ABAE1B103C18FF008C5260 /* SocketStreamError.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ABAE1A103C18FF008C5260 /* SocketStreamError.h */; };
</span><span class="cx">                 51ABAE1E103C1913008C5260 /* SocketStreamHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ABAE1C103C1913008C5260 /* SocketStreamHandle.h */; };
</span><span class="cx">                 51ABAE1F103C1913008C5260 /* SocketStreamHandleCFNet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51ABAE1D103C1913008C5260 /* SocketStreamHandleCFNet.cpp */; };
</span><del>-                51ABB5B8186D0ED1008391A1 /* IDBIndexMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ABB5B6186D0ED1008391A1 /* IDBIndexMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51ABB5B9186D0ED1008391A1 /* IDBObjectStoreMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ABB5B7186D0ED1008391A1 /* IDBObjectStoreMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 51ABF64D16392E2800132A7A /* LoaderStrategy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51ABF64C16392E2800132A7A /* LoaderStrategy.cpp */; };
</span><span class="cx">                 51AF503616F100F60095B2E8 /* ResourceLoaderTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 51AF503516F100F60095B2E8 /* ResourceLoaderTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51B2417B0D931F3F00E83F5C /* LegacyWebArchiveMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51B2417A0D931F3F00E83F5C /* LegacyWebArchiveMac.mm */; };
</span><span class="lines">@@ -2084,27 +2131,10 @@
</span><span class="cx">                 51C0AA410F2AA15E001648C2 /* CachedFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51C0AA400F2AA15E001648C2 /* CachedFrame.cpp */; };
</span><span class="cx">                 51C81B890C4422F70019ECE3 /* FTPDirectoryParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51C81B870C4422F70019ECE3 /* FTPDirectoryParser.cpp */; };
</span><span class="cx">                 51C81B8A0C4422F70019ECE3 /* FTPDirectoryParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C81B880C4422F70019ECE3 /* FTPDirectoryParser.h */; };
</span><del>-                51C9611B183D2B8000D2002E /* IDBDatabaseMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C9611A183D2B8000D2002E /* IDBDatabaseMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 51CBFC990D10E483002DBF51 /* CachedFramePlatformData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CBFC980D10E483002DBF51 /* CachedFramePlatformData.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51D0C5160DAA90B7003B3831 /* JSStorageCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D0C5150DAA90B7003B3831 /* JSStorageCustom.cpp */; };
</span><del>-                51D719B6181106E00016DC51 /* DOMWindowIndexedDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D7196C181106DF0016DC51 /* DOMWindowIndexedDatabase.cpp */; };
-                51D719B7181106E00016DC51 /* DOMWindowIndexedDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D7196D181106DF0016DC51 /* DOMWindowIndexedDatabase.h */; };
-                51D719B9181106E00016DC51 /* IDBAny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D7196F181106DF0016DC51 /* IDBAny.cpp */; };
-                51D719BA181106E00016DC51 /* IDBAny.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71970181106DF0016DC51 /* IDBAny.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51D719CD181106E00016DC51 /* IDBDatabaseError.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71983181106DF0016DC51 /* IDBDatabaseError.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51D719CE181106E00016DC51 /* IDBDatabaseException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71984181106DF0016DC51 /* IDBDatabaseException.cpp */; };
-                51D719CF181106E00016DC51 /* IDBDatabaseException.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71985181106DF0016DC51 /* IDBDatabaseException.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51D719D0181106E00016DC51 /* IDBEventDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71986181106DF0016DC51 /* IDBEventDispatcher.cpp */; };
-                51D719D1181106E00016DC51 /* IDBEventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71987181106DF0016DC51 /* IDBEventDispatcher.h */; };
-                51D719DB181106E00016DC51 /* IDBKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71991181106E00016DC51 /* IDBKey.cpp */; };
-                51D719DC181106E00016DC51 /* IDBKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71992181106E00016DC51 /* IDBKey.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51D719DD181106E00016DC51 /* IDBKeyPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71993181106E00016DC51 /* IDBKeyPath.cpp */; };
-                51D719DE181106E00016DC51 /* IDBKeyPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71994181106E00016DC51 /* IDBKeyPath.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51D719DF181106E00016DC51 /* IDBKeyRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71995181106E00016DC51 /* IDBKeyRange.cpp */; };
-                51D719E0181106E00016DC51 /* IDBKeyRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71996181106E00016DC51 /* IDBKeyRange.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51D719F8181106E00016DC51 /* IndexedDB.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D719AE181106E00016DC51 /* IndexedDB.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51D719FB181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D719B1181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.cpp */; };
-                51D719FC181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D719B2181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.h */; };
</del><ins>+                51D7236C1BB6174900478CA3 /* IDBResultData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D7236A1BB60BFE00478CA3 /* IDBResultData.cpp */; };
+                51D7236D1BB6174900478CA3 /* IDBResultData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D7236B1BB60BFE00478CA3 /* IDBResultData.h */; };
</ins><span class="cx">                 51DCE8020CAC9F1C00488358 /* JSSQLResultSetRowListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51DCE8010CAC9F1C00488358 /* JSSQLResultSetRowListCustom.cpp */; };
</span><span class="cx">                 51DF6D7E0B92A16D00C2DC85 /* ThreadCheck.h in Headers */ = {isa = PBXBuildFile; fileRef = 51DF6D7D0B92A16D00C2DC85 /* ThreadCheck.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51DF6D7F0B92A18E00C2DC85 /* ThreadCheck.mm */; };
</span><span class="lines">@@ -2125,7 +2155,6 @@
</span><span class="cx">                 51E3F9D60DA05E1D00250911 /* JSStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51E3F9D40DA05E1D00250911 /* JSStorage.cpp */; };
</span><span class="cx">                 51E4143416A6596300C633C7 /* ResourceHandleTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 51E4143216A6595100C633C7 /* ResourceHandleTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51E6821016387302003BBF3C /* LoaderStrategy.h in Headers */ = {isa = PBXBuildFile; fileRef = 51E6820F16387302003BBF3C /* LoaderStrategy.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                51EAC5B218163F4E004F1BA4 /* IDBRecordIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 51EAC5B018163F4E004F1BA4 /* IDBRecordIdentifier.h */; };
</del><span class="cx">                 51EC92650CE90DD400F90308 /* JSCustomSQLStatementErrorCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51EC925D0CE90DD400F90308 /* JSCustomSQLStatementErrorCallback.cpp */; };
</span><span class="cx">                 51EE7B381AA50B0500F92B21 /* ResourceLoadInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 51EE7B371AA50B0500F92B21 /* ResourceLoadInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51EE7B3A1AA5123100F92B21 /* ResourceLoadInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51EE7B391AA5123100F92B21 /* ResourceLoadInfo.cpp */; };
</span><span class="lines">@@ -9214,6 +9243,16 @@
</span><span class="cx">                 5106D7BB18BDB76F000AB166 /* ContextMenuContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContextMenuContext.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5106D7BC18BDB76F000AB166 /* ContextMenuContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenuContext.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 510A326E18318431003C5326 /* IDBServerConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBServerConnection.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                510A58E21BAA40AE00C19282 /* InProcessIDBServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InProcessIDBServer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510A58E31BAA40AE00C19282 /* InProcessIDBServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InProcessIDBServer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510A58E61BAA41C900C19282 /* IDBRequestIdentifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBRequestIdentifier.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510A58E71BAA41C900C19282 /* IDBRequestIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBRequestIdentifier.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510A58EF1BAB720F00C19282 /* IDBServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBServer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510A58F01BAB720F00C19282 /* IDBServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBServer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510A58F51BACC4A500C19282 /* IDBRequestData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBRequestData.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510A58F61BACC4A500C19282 /* IDBRequestData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBRequestData.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510A58FD1BB07A9600C19282 /* IDBConnectionToServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBConnectionToServer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510A58FE1BB07AA500C19282 /* IDBConnectionToClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBConnectionToClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 510D4A2D103165EE0049EA54 /* SocketStreamErrorBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SocketStreamErrorBase.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 510D4A2E103165EE0049EA54 /* SocketStreamErrorBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SocketStreamErrorBase.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 510D4A30103165EE0049EA54 /* SocketStreamHandleBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SocketStreamHandleBase.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9259,6 +9298,8 @@
</span><span class="cx">                 513F14520AB634C400094DDF /* IconLoader.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = IconLoader.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51405C86190B014400754F94 /* SelectionRectGatherer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelectionRectGatherer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51405C87190B014400754F94 /* SelectionRectGatherer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelectionRectGatherer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                5148453C1BB9D076006A72ED /* IDBError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBError.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                5148453D1BB9D076006A72ED /* IDBError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBError.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 514B3F720C722047000530DF /* FileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSystem.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 514B3F750C722055000530DF /* FileSystemMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FileSystemMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 514C76350CE9225E007EF3CD /* JSSQLError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSQLError.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9350,6 +9391,8 @@
</span><span class="cx">                 516C621F1950D48700337E75 /* GamepadEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = GamepadEvent.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 516C62231950E2B900337E75 /* JSGamepadEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGamepadEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 516C62241950E2B900337E75 /* JSGamepadEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGamepadEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                516D7D6D1BB5F06500AF7C77 /* IDBConnectionToClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBConnectionToClient.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                516D7D6E1BB5F06500AF7C77 /* IDBConnectionToClientDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBConnectionToClientDelegate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 51741D0B0B07259A00ED442C /* BackForwardClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BackForwardClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51741D0D0B07259A00ED442C /* HistoryItem.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HistoryItem.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51741D0E0B07259A00ED442C /* HistoryItem.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = HistoryItem.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9366,6 +9409,9 @@
</span><span class="cx">                 517A63C21B74317E00E7DCDC /* KeyedEncoderCF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyedEncoderCF.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 517FBA17151AA71B00B57959 /* DOMWindowExtension.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMWindowExtension.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 517FBA18151AA71B00B57959 /* DOMWindowExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWindowExtension.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                5185FCB61BB4C7610012898F /* DOMRequestState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMRequestState.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                5185FCBC1BB5CB770012898F /* IDBConnectionToServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBConnectionToServer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                5185FCBD1BB5CB770012898F /* IDBConnectionToServerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBConnectionToServerDelegate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 5189F01B10B37BD900F3C739 /* JSPopStateEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPopStateEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5189F01C10B37BD900F3C739 /* JSPopStateEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPopStateEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5189F0DD10B46B0E00F3C739 /* PopStateEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PopStateEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9443,6 +9489,8 @@
</span><span class="cx">                 51D719B1181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkerGlobalScopeIndexedDatabase.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51D719B2181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerGlobalScopeIndexedDatabase.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51D719B3181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WorkerGlobalScopeIndexedDatabase.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                51D7236A1BB60BFE00478CA3 /* IDBResultData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBResultData.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                51D7236B1BB60BFE00478CA3 /* IDBResultData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBResultData.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 51DCE8010CAC9F1C00488358 /* JSSQLResultSetRowListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSQLResultSetRowListCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51DF6D7D0B92A16D00C2DC85 /* ThreadCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadCheck.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51DF6D7F0B92A18E00C2DC85 /* ThreadCheck.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ThreadCheck.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16572,6 +16620,9 @@
</span><span class="cx">                 510310421BA8C64C003329C0 /* client */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                5185FCBC1BB5CB770012898F /* IDBConnectionToServer.cpp */,
+                                510A58FD1BB07A9600C19282 /* IDBConnectionToServer.h */,
+                                5185FCBD1BB5CB770012898F /* IDBConnectionToServerDelegate.h */,
</ins><span class="cx">                                 5103104A1BA8C6A6003329C0 /* IDBFactoryImpl.cpp */,
</span><span class="cx">                                 5103104B1BA8C6A6003329C0 /* IDBFactoryImpl.h */,
</span><span class="cx">                                 510310561BA8DB30003329C0 /* IDBOpenDBRequestImpl.cpp */,
</span><span class="lines">@@ -16582,6 +16633,35 @@
</span><span class="cx">                         path = client;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><ins>+                510A58E11BAA409800C19282 /* shared */ = {
+                        isa = PBXGroup;
+                        children = (
+                                5148453C1BB9D076006A72ED /* IDBError.cpp */,
+                                5148453D1BB9D076006A72ED /* IDBError.h */,
+                                510A58F51BACC4A500C19282 /* IDBRequestData.cpp */,
+                                510A58F61BACC4A500C19282 /* IDBRequestData.h */,
+                                510A58E61BAA41C900C19282 /* IDBRequestIdentifier.cpp */,
+                                510A58E71BAA41C900C19282 /* IDBRequestIdentifier.h */,
+                                51D7236A1BB60BFE00478CA3 /* IDBResultData.cpp */,
+                                51D7236B1BB60BFE00478CA3 /* IDBResultData.h */,
+                                510A58E21BAA40AE00C19282 /* InProcessIDBServer.cpp */,
+                                510A58E31BAA40AE00C19282 /* InProcessIDBServer.h */,
+                        );
+                        path = shared;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                510A58EE1BAB71E000C19282 /* server */ = {
+                        isa = PBXGroup;
+                        children = (
+                                516D7D6D1BB5F06500AF7C77 /* IDBConnectionToClient.cpp */,
+                                510A58FE1BB07AA500C19282 /* IDBConnectionToClient.h */,
+                                516D7D6E1BB5F06500AF7C77 /* IDBConnectionToClientDelegate.h */,
+                                510A58EF1BAB720F00C19282 /* IDBServer.cpp */,
+                                510A58F01BAB720F00C19282 /* IDBServer.h */,
+                        );
+                        path = server;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
</ins><span class="cx">                 5126E6B60A2E3AEF005C29FA /* icon */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -18806,6 +18886,8 @@
</span><span class="cx">                         children = (
</span><span class="cx">                                 510310421BA8C64C003329C0 /* client */,
</span><span class="cx">                                 51645B271B9F637E00F789CE /* legacy */,
</span><ins>+                                510A58EE1BAB71E000C19282 /* server */,
+                                510A58E11BAA409800C19282 /* shared */,
</ins><span class="cx">                                 51D7196C181106DF0016DC51 /* DOMWindowIndexedDatabase.cpp */,
</span><span class="cx">                                 51D7196D181106DF0016DC51 /* DOMWindowIndexedDatabase.h */,
</span><span class="cx">                                 51D7196E181106DF0016DC51 /* DOMWindowIndexedDatabase.idl */,
</span><span class="lines">@@ -21483,6 +21565,7 @@
</span><span class="cx">                                 312D67B01535691F00563D0D /* Dictionary.cpp */,
</span><span class="cx">                                 316023EF1532C40C00D50FF4 /* Dictionary.h */,
</span><span class="cx">                                 B56576E717DA94E200A56BDC /* DOMConstructorWithDocument.h */,
</span><ins>+                                5185FCB61BB4C7610012898F /* DOMRequestState.h */,
</ins><span class="cx">                                 BC53DA471143134D000D817E /* DOMWrapperWorld.cpp */,
</span><span class="cx">                                 BC53DA2D1143121E000D817E /* DOMWrapperWorld.h */,
</span><span class="cx">                                 1432E8480C51493F00B1500F /* GCController.cpp */,
</span><span class="lines">@@ -24143,11 +24226,13 @@
</span><span class="cx">                                 24F54EAD101FE914000AE741 /* ApplicationCacheHost.h in Headers */,
</span><span class="cx">                                 1A8F6BC10DB55CDC001DB794 /* ApplicationCacheResource.h in Headers */,
</span><span class="cx">                                 1A2AAC590DC2A3B100A20D9A /* ApplicationCacheStorage.h in Headers */,
</span><ins>+                                510A58FC1BACC7F200C19282 /* IDBRequestIdentifier.h in Headers */,
</ins><span class="cx">                                 9B417064125662B3006B28FC /* ApplyBlockElementCommand.h in Headers */,
</span><span class="cx">                                 93309DD9099E64920056E581 /* ApplyStyleCommand.h in Headers */,
</span><span class="cx">                                 512DD8F60D91E6AF000F89EE /* Archive.h in Headers */,
</span><span class="cx">                                 512DD8FD0D91E6AF000F89EE /* ArchiveFactory.h in Headers */,
</span><span class="cx">                                 512DD8FC0D91E6AF000F89EE /* ArchiveResource.h in Headers */,
</span><ins>+                                5185FC7E1BB4C4E80012898F /* IDBCursorWithValue.h in Headers */,
</ins><span class="cx">                                 512DD8F80D91E6AF000F89EE /* ArchiveResourceCollection.h in Headers */,
</span><span class="cx">                                 49B3760D15C6C6840059131D /* ArrayValue.h in Headers */,
</span><span class="cx">                                 FD5686CA13AC180200B69C68 /* AsyncAudioDecoder.h in Headers */,
</span><span class="lines">@@ -24186,6 +24271,7 @@
</span><span class="cx">                                 FD359190138DB22000E1EBEC /* AudioParamTimeline.h in Headers */,
</span><span class="cx">                                 FD31602012B0267600C1A359 /* AudioProcessingEvent.h in Headers */,
</span><span class="cx">                                 FD31608412B026F700C1A359 /* AudioProcessor.h in Headers */,
</span><ins>+                                5185FC871BB4C4E80012898F /* IDBDatabaseIdentifier.h in Headers */,
</ins><span class="cx">                                 FD31608612B026F700C1A359 /* AudioResampler.h in Headers */,
</span><span class="cx">                                 FD31608812B026F700C1A359 /* AudioResamplerKernel.h in Headers */,
</span><span class="cx">                                 FD8C46EC154608E700A5910C /* AudioScheduledSourceNode.h in Headers */,
</span><span class="lines">@@ -24228,6 +24314,7 @@
</span><span class="cx">                                 BCA8CA6011E4E6D100812FB7 /* BackForwardList.h in Headers */,
</span><span class="cx">                                 BC124EE80C2641CD009E2349 /* BarProp.h in Headers */,
</span><span class="cx">                                 379E61CA126CA5C400B63E8D /* BaseButtonInputType.h in Headers */,
</span><ins>+                                5185FC911BB4C4E80012898F /* IDBIndex.h in Headers */,
</ins><span class="cx">                                 379E61CC126CA5C400B63E8D /* BaseCheckableInputType.h in Headers */,
</span><span class="cx">                                 F5E0C65C1643C42C00D6CB69 /* BaseChooserOnlyDateAndTimeInputType.h in Headers */,
</span><span class="cx">                                 C33EE5C514FB49610002095A /* BaseClickableWithKeyInputType.h in Headers */,
</span><span class="lines">@@ -24345,6 +24432,7 @@
</span><span class="cx">                                 FB92DF4B15FED08700994433 /* ClipPathOperation.h in Headers */,
</span><span class="cx">                                 580371621A66F00A00BAF519 /* ClipRect.h in Headers */,
</span><span class="cx">                                 97AABD1314FA09D5007457AE /* CloseEvent.h in Headers */,
</span><ins>+                                51D7236D1BB6174900478CA3 /* IDBResultData.h in Headers */,
</ins><span class="cx">                                 C0C054CB1118C8E400CE2636 /* CodeGenerator.pm in Headers */,
</span><span class="cx">                                 BC5EB5DF0E81B9AB00B25965 /* CollapsedBorderValue.h in Headers */,
</span><span class="cx">                                 E425A49A18292B840020CFCF /* CollectionIndexCache.h in Headers */,
</span><span class="lines">@@ -24371,6 +24459,7 @@
</span><span class="cx">                                 79F2F5A21091939A000D87CB /* CompositionEvent.h in Headers */,
</span><span class="cx">                                 FD31608F12B026F700C1A359 /* Cone.h in Headers */,
</span><span class="cx">                                 65C97AF308EA908800ACD273 /* config.h in Headers */,
</span><ins>+                                5185FCBB1BB4CBF80012898F /* IDBServer.h in Headers */,
</ins><span class="cx">                                 A818721C0977D3C0005826D9 /* ContainerNode.h in Headers */,
</span><span class="cx">                                 E1A1470811102B1500EEC0F3 /* ContainerNodeAlgorithms.h in Headers */,
</span><span class="cx">                                 BC5EB9810E82072500B25965 /* ContentData.h in Headers */,
</span><span class="lines">@@ -24384,6 +24473,7 @@
</span><span class="cx">                                 26F0C8A01A2EC3BE002794F8 /* ContentExtensionsBackend.h in Headers */,
</span><span class="cx">                                 262391361A648CEE007251A3 /* ContentExtensionsDebugging.h in Headers */,
</span><span class="cx">                                 51FB67DC1AE6B82F00D06C5A /* ContentExtensionStyleSheet.h in Headers */,
</span><ins>+                                5185FC751BB4C4E80012898F /* DOMWindowIndexedDatabase.h in Headers */,
</ins><span class="cx">                                 A149786F1ABAF33800CEF7E4 /* ContentFilter.h in Headers */,
</span><span class="cx">                                 A14090FD1AA51E480091191A /* ContentFilterUnblockHandler.h in Headers */,
</span><span class="cx">                                 97C471DC12F925BD0086354B /* ContentSecurityPolicy.h in Headers */,
</span><span class="lines">@@ -24536,6 +24626,7 @@
</span><span class="cx">                                 E49BD9FA131FD2ED003C56F0 /* CSSValuePool.h in Headers */,
</span><span class="cx">                                 93F1992F08245E59001E9ABC /* Cursor.h in Headers */,
</span><span class="cx">                                 BC2272A20E82E87C00E7F975 /* CursorData.h in Headers */,
</span><ins>+                                5185FCB41BB4C4E80012898F /* WorkerGlobalScopeIndexedDatabase.h in Headers */,
</ins><span class="cx">                                 BC2272AD0E82E8F300E7F975 /* CursorList.h in Headers */,
</span><span class="cx">                                 62CD325A1157E57C0063B0A7 /* CustomEvent.h in Headers */,
</span><span class="cx">                                 A8CB413E0E8633FD0032C4F0 /* DashArray.h in Headers */,
</span><span class="lines">@@ -24578,6 +24669,7 @@
</span><span class="cx">                                 41A3D58F101C152D00316D07 /* DedicatedWorkerThread.h in Headers */,
</span><span class="cx">                                 FD06DFA6134A4DEF006F5D7D /* DefaultAudioDestinationNode.h in Headers */,
</span><span class="cx">                                 FD31602C12B0267600C1A359 /* DelayDSPKernel.h in Headers */,
</span><ins>+                                5185FC851BB4C4E80012898F /* IDBDatabaseException.h in Headers */,
</ins><span class="cx">                                 FD31602E12B0267600C1A359 /* DelayNode.h in Headers */,
</span><span class="cx">                                 FD31603112B0267600C1A359 /* DelayProcessor.h in Headers */,
</span><span class="cx">                                 93309DDF099E64920056E581 /* DeleteFromTextNodeCommand.h in Headers */,
</span><span class="lines">@@ -24594,6 +24686,7 @@
</span><span class="cx">                                 59A8F1D811A69520001AC34A /* DeviceOrientationClient.h in Headers */,
</span><span class="cx">                                 3140379D124BEA7F00AF40E4 /* DeviceOrientationClientIOS.h in Headers */,
</span><span class="cx">                                 59309A1311F4AE6A00250603 /* DeviceOrientationClientMock.h in Headers */,
</span><ins>+                                5185FC8D1BB4C4E80012898F /* IDBFactory.h in Headers */,
</ins><span class="cx">                                 59A8F1D611A69513001AC34A /* DeviceOrientationController.h in Headers */,
</span><span class="cx">                                 590E1B4911E4EF4B0069F784 /* DeviceOrientationData.h in Headers */,
</span><span class="cx">                                 59A85EA4119D68EC00DEF1EF /* DeviceOrientationEvent.h in Headers */,
</span><span class="lines">@@ -24617,6 +24710,7 @@
</span><span class="cx">                                 7EDAAFC919A2CCDC0034DFD1 /* DiskCacheMonitorCocoa.h in Headers */,
</span><span class="cx">                                 49AF2D6914435D050016A784 /* DisplayRefreshMonitor.h in Headers */,
</span><span class="cx">                                 2D29ECC6192ECC8300984B78 /* DisplayRefreshMonitorClient.h in Headers */,
</span><ins>+                                5185FC991BB4C4E80012898F /* IDBKeyPath.h in Headers */,
</ins><span class="cx">                                 2D29ECCA192F1F1D00984B78 /* DisplayRefreshMonitorIOS.h in Headers */,
</span><span class="cx">                                 2DE70023192FE82A00B0975C /* DisplayRefreshMonitorMac.h in Headers */,
</span><span class="cx">                                 2D29ECC8192ECC8300984B78 /* DisplayRefreshMonitorManager.h in Headers */,
</span><span class="lines">@@ -24649,6 +24743,7 @@
</span><span class="cx">                                 1A8F6BC30DB55CDC001DB794 /* DOMApplicationCache.h in Headers */,
</span><span class="cx">                                 85D389B20A991A7F00282145 /* DOMAttr.h in Headers */,
</span><span class="cx">                                 85E7118D0AC5D5350053270F /* DOMAttrInternal.h in Headers */,
</span><ins>+                                5185FCA71BB4C4E80012898F /* IDBRecordIdentifier.h in Headers */,
</ins><span class="cx">                                 76FB9FEB19A7284B00420562 /* DOMAutocompleteErrorEvent.h in Headers */,
</span><span class="cx">                                 76FB9FED19A7284B00420562 /* DOMAutocompleteErrorEventInternal.h in Headers */,
</span><span class="cx">                                 BC946EEF107FDBAC00857193 /* DOMBeforeLoadEvent.h in Headers */,
</span><span class="lines">@@ -24669,6 +24764,7 @@
</span><span class="cx">                                 85032DD70AA8C9BE007D3B7D /* DOMCSSCharsetRule.h in Headers */,
</span><span class="cx">                                 85909CDC0ACC7A7E00DF01F1 /* DOMCSSCharsetRuleInternal.h in Headers */,
</span><span class="cx">                                 85032DD90AA8C9BE007D3B7D /* DOMCSSFontFaceRule.h in Headers */,
</span><ins>+                                5148453F1BB9D07E006A72ED /* IDBError.h in Headers */,
</ins><span class="cx">                                 85909CDD0ACC7A7E00DF01F1 /* DOMCSSFontFaceRuleInternal.h in Headers */,
</span><span class="cx">                                 85032DDB0AA8C9BE007D3B7D /* DOMCSSImportRule.h in Headers */,
</span><span class="cx">                                 85909CDE0ACC7A7E00DF01F1 /* DOMCSSImportRuleInternal.h in Headers */,
</span><span class="lines">@@ -24863,6 +24959,7 @@
</span><span class="cx">                                 85E711CD0AC5D5350053270F /* DOMHTMLTableSectionElementInternal.h in Headers */,
</span><span class="cx">                                 85F32AF20AA63B8700FF3184 /* DOMHTMLTextAreaElement.h in Headers */,
</span><span class="cx">                                 85E711CE0AC5D5350053270F /* DOMHTMLTextAreaElementInternal.h in Headers */,
</span><ins>+                                5185FCA41BB4C4E80012898F /* IDBOpenDBRequest.h in Headers */,
</ins><span class="cx">                                 A1C7971D1883E51F000F5E1F /* DOMHTMLTextAreaElementPrivate.h in Headers */,
</span><span class="cx">                                 85992EC00AA5069500AC0785 /* DOMHTMLTitleElement.h in Headers */,
</span><span class="cx">                                 85E711CF0AC5D5350053270F /* DOMHTMLTitleElementInternal.h in Headers */,
</span><span class="lines">@@ -24888,6 +24985,7 @@
</span><span class="cx">                                 8518DD780A9CF31B0091B7A6 /* DOMNamedNodeMap.h in Headers */,
</span><span class="cx">                                 85E711D20AC5D5350053270F /* DOMNamedNodeMapInternal.h in Headers */,
</span><span class="cx">                                 853BF4DB0ABB6B55008647BB /* DOMNode.h in Headers */,
</span><ins>+                                5185FC931BB4C4E80012898F /* IDBIndexMetadata.h in Headers */,
</ins><span class="cx">                                 854075260AD6C66700620C57 /* DOMNodeFilter.h in Headers */,
</span><span class="cx">                                 85B498FB0ADB340200925CBB /* DOMNodeInternal.h in Headers */,
</span><span class="cx">                                 85526C370AB0A17E000302EA /* DOMNodeIterator.h in Headers */,
</span><span class="lines">@@ -24914,6 +25012,7 @@
</span><span class="cx">                                 8538F05D0AD722F1006A81D1 /* DOMRangeInternal.h in Headers */,
</span><span class="cx">                                 8538F0850AD72CB6006A81D1 /* DOMRanges.h in Headers */,
</span><span class="cx">                                 858C38A70AA8F20400B187A4 /* DOMRect.h in Headers */,
</span><ins>+                                5185FC8F1BB4C4E80012898F /* IDBGetResult.h in Headers */,
</ins><span class="cx">                                 85E711D60AC5D5350053270F /* DOMRectInternal.h in Headers */,
</span><span class="cx">                                 855D358A0AD707310019AAC7 /* DOMRGBColor.h in Headers */,
</span><span class="cx">                                 BCD0FC4F0DBD720B00B2F630 /* DOMRGBColorInternal.h in Headers */,
</span><span class="lines">@@ -24938,6 +25037,7 @@
</span><span class="cx">                                 0F54DCD51880F867003EEDBB /* DOMTouch.h in Headers */,
</span><span class="cx">                                 0F54DCD71880F867003EEDBB /* DOMTouchEvent.h in Headers */,
</span><span class="cx">                                 0F54DCD91880F867003EEDBB /* DOMTouchEventInternal.h in Headers */,
</span><ins>+                                5185FC9B1BB4C4E80012898F /* IDBKeyRange.h in Headers */,
</ins><span class="cx">                                 0F54DCDA1880F867003EEDBB /* DOMTouchInternal.h in Headers */,
</span><span class="cx">                                 0F54DCDB1880F867003EEDBB /* DOMTouchList.h in Headers */,
</span><span class="cx">                                 E145349716A9BB6A000F6FD2 /* DOMTransitionEvent.h in Headers */,
</span><span class="lines">@@ -24974,7 +25074,6 @@
</span><span class="cx">                                 1403B99709EB13AF00797C7F /* DOMWindow.h in Headers */,
</span><span class="cx">                                 FC9A0F75164094CF003D6B8D /* DOMWindowCSS.h in Headers */,
</span><span class="cx">                                 51FA2D78152132B300C1BA0B /* DOMWindowExtension.h in Headers */,
</span><del>-                                51D719B7181106E00016DC51 /* DOMWindowIndexedDatabase.h in Headers */,
</del><span class="cx">                                 97B38E27151C4271004622E9 /* DOMWindowNotifications.h in Headers */,
</span><span class="cx">                                 97D2AD0414B823A60093DF32 /* DOMWindowProperty.h in Headers */,
</span><span class="cx">                                 89F60B11157F686E0075E157 /* DOMWindowQuota.h in Headers */,
</span><span class="lines">@@ -25184,6 +25283,7 @@
</span><span class="cx">                                 086BBD0F136039C2008B15D8 /* Glyph.h in Headers */,
</span><span class="cx">                                 B2C3DA6C0D006CD600EF6F26 /* GlyphBuffer.h in Headers */,
</span><span class="cx">                                 C5D4AA7A116BAFB60069CA93 /* GlyphMetricsMap.h in Headers */,
</span><ins>+                                5185FC831BB4C4E80012898F /* IDBDatabaseError.h in Headers */,
</ins><span class="cx">                                 0873B86B136064EA00A522C2 /* GlyphPage.h in Headers */,
</span><span class="cx">                                 BC53C5F50DA56B920021EB5D /* Gradient.h in Headers */,
</span><span class="cx">                                 B22279640D00BF220071B782 /* GradientAttributes.h in Headers */,
</span><span class="lines">@@ -25231,6 +25331,7 @@
</span><span class="cx">                                 A8EA7D2E0A19385500A8EF5F /* HTMLAreaElement.h in Headers */,
</span><span class="cx">                                 7C5F28FC1A827D8400C0F31F /* HTMLAttachmentElement.h in Headers */,
</span><span class="cx">                                 E44613A20CD6331000FADA75 /* HTMLAudioElement.h in Headers */,
</span><ins>+                                5185FC971BB4C4E80012898F /* IDBKeyData.h in Headers */,
</ins><span class="cx">                                 A871DC1F0A15205700B12A68 /* HTMLBaseElement.h in Headers */,
</span><span class="cx">                                 A8DF3FD2097FA0FC0052981B /* HTMLBaseFontElement.h in Headers */,
</span><span class="cx">                                 9B24DE8E15194B9500C59C27 /* HTMLBDIElement.h in Headers */,
</span><span class="lines">@@ -25357,7 +25458,6 @@
</span><span class="cx">                                 513F14540AB634C400094DDF /* IconLoader.h in Headers */,
</span><span class="cx">                                 51E1ECC10C91C90400DC255B /* IconRecord.h in Headers */,
</span><span class="cx">                                 45BAC2B01360BBAB005DA258 /* IconURL.h in Headers */,
</span><del>-                                51D719BA181106E00016DC51 /* IDBAny.h in Headers */,
</del><span class="cx">                                 C585A66311D4FAC5004C3E4B /* IDBBindingUtilities.h in Headers */,
</span><span class="cx">                                 51F41A681BA73B5B002E053B /* IDBCallbacks.h in Headers */,
</span><span class="cx">                                 51F41A6A1BA73B5B002E053B /* IDBCursorBackend.h in Headers */,
</span><span class="lines">@@ -25365,29 +25465,14 @@
</span><span class="cx">                                 51F41A6E1BA73B5B002E053B /* IDBDatabaseBackend.h in Headers */,
</span><span class="cx">                                 51F41A6F1BA73B5B002E053B /* IDBDatabaseCallbacks.h in Headers */,
</span><span class="cx">                                 51F41A711BA73B5B002E053B /* IDBDatabaseCallbacksImpl.h in Headers */,
</span><del>-                                51D719CD181106E00016DC51 /* IDBDatabaseError.h in Headers */,
-                                51D719CF181106E00016DC51 /* IDBDatabaseException.h in Headers */,
-                                510310601BA8E0E3003329C0 /* IDBDatabaseIdentifier.h in Headers */,
-                                51C9611B183D2B8000D2002E /* IDBDatabaseMetadata.h in Headers */,
-                                51D719D1181106E00016DC51 /* IDBEventDispatcher.h in Headers */,
</del><span class="cx">                                 51F41A721BA73B5B002E053B /* IDBFactoryBackendInterface.h in Headers */,
</span><span class="cx">                                 510310501BA8CC03003329C0 /* IDBFactoryImpl.h in Headers */,
</span><del>-                                5123AF1D18918AE40031CDC9 /* IDBGetResult.h in Headers */,
-                                51ABB5B8186D0ED1008391A1 /* IDBIndexMetadata.h in Headers */,
-                                51D719DC181106E00016DC51 /* IDBKey.h in Headers */,
-                                511EC1A6188DACA400BA3EB6 /* IDBKeyData.h in Headers */,
-                                51D719DE181106E00016DC51 /* IDBKeyPath.h in Headers */,
-                                51D719E0181106E00016DC51 /* IDBKeyRange.h in Headers */,
-                                5123AF191890A4CA0031CDC9 /* IDBKeyRangeData.h in Headers */,
-                                51ABB5B9186D0ED1008391A1 /* IDBObjectStoreMetadata.h in Headers */,
</del><span class="cx">                                 5103105B1BA8DB56003329C0 /* IDBOpenDBRequestImpl.h in Headers */,
</span><del>-                                512EA9BE18202857001D01E0 /* IDBOperation.h in Headers */,
</del><span class="cx">                                 51F41A791BA73B5B002E053B /* IDBPendingDeleteCall.h in Headers */,
</span><span class="cx">                                 51F41A7A1BA73B5B002E053B /* IDBPendingOpenCall.h in Headers */,
</span><ins>+                                516D7D721BB5F0BD00AF7C77 /* IDBConnectionToClientDelegate.h in Headers */,
</ins><span class="cx">                                 51F41A7C1BA73B5B002E053B /* IDBPendingTransactionMonitor.h in Headers */,
</span><del>-                                51EAC5B218163F4E004F1BA4 /* IDBRecordIdentifier.h in Headers */,
</del><span class="cx">                                 5103105D1BA8DB56003329C0 /* IDBRequestImpl.h in Headers */,
</span><del>-                                510A326F18318431003C5326 /* IDBServerConnection.h in Headers */,
</del><span class="cx">                                 51F41A741BA73B5B002E053B /* IDBTransactionBackend.h in Headers */,
</span><span class="cx">                                 51F41A761BA73B5B002E053B /* IDBTransactionBackendOperations.h in Headers */,
</span><span class="cx">                                 51F41A781BA73B5B002E053B /* IDBTransactionCoordinator.h in Headers */,
</span><span class="lines">@@ -25428,7 +25513,6 @@
</span><span class="cx">                                 07367DDF172CA67F00D861B9 /* InbandTextTrackPrivateLegacyAVFObjC.h in Headers */,
</span><span class="cx">                                 BE16C59517CFE17200852C04 /* InbandWebVTTTextTrack.h in Headers */,
</span><span class="cx">                                 DB23C2CC0A508D29002489EB /* IndentOutdentCommand.h in Headers */,
</span><del>-                                51D719F8181106E00016DC51 /* IndexedDB.h in Headers */,
</del><span class="cx">                                 A8CFF5E50A155A05000A4234 /* InlineBox.h in Headers */,
</span><span class="cx">                                 B57CB52E182A3EFC0079A647 /* InlineElementBox.h in Headers */,
</span><span class="cx">                                 A8CFF5E30A155A05000A4234 /* InlineFlowBox.h in Headers */,
</span><span class="lines">@@ -25497,6 +25581,7 @@
</span><span class="cx">                                 3198480C1A1E6CE800A13318 /* JSAnimationEvent.h in Headers */,
</span><span class="cx">                                 65DF31DB09D1C123000BE325 /* JSAttr.h in Headers */,
</span><span class="cx">                                 FDA15E9E12B03EE1003A583A /* JSAudioBuffer.h in Headers */,
</span><ins>+                                5185FC781BB4C4E80012898F /* IDBAny.h in Headers */,
</ins><span class="cx">                                 FDF7E9C413AC21DB00A51EAC /* JSAudioBufferCallback.h in Headers */,
</span><span class="cx">                                 FDA15EA012B03EE1003A583A /* JSAudioBufferSourceNode.h in Headers */,
</span><span class="cx">                                 FDA15EA612B03EE1003A583A /* JSAudioContext.h in Headers */,
</span><span class="lines">@@ -25523,6 +25608,7 @@
</span><span class="cx">                                 93F9B7A10BA6032600854064 /* JSCDATASection.h in Headers */,
</span><span class="cx">                                 FDA15EA212B03EE1003A583A /* JSChannelMergerNode.h in Headers */,
</span><span class="cx">                                 FDA15EA412B03EE1003A583A /* JSChannelSplitterNode.h in Headers */,
</span><ins>+                                510A58E51BAA40B100C19282 /* InProcessIDBServer.h in Headers */,
</ins><span class="cx">                                 65DF31F409D1CC60000BE325 /* JSCharacterData.h in Headers */,
</span><span class="cx">                                 BCC065880F3CE2A700CD2D87 /* JSClientRect.h in Headers */,
</span><span class="cx">                                 BCC0658A0F3CE2A700CD2D87 /* JSClientRectList.h in Headers */,
</span><span class="lines">@@ -25607,6 +25693,7 @@
</span><span class="cx">                                 ADEC78F818EE5308001315C2 /* JSElementCustom.h in Headers */,
</span><span class="cx">                                 2ECF7ADD10162B3800427DE7 /* JSErrorEvent.h in Headers */,
</span><span class="cx">                                 F3D461491161D53200CA0D09 /* JSErrorHandler.h in Headers */,
</span><ins>+                                5185FC891BB4C4E80012898F /* IDBDatabaseMetadata.h in Headers */,
</ins><span class="cx">                                 14E8378E09F85D4F00B85AE4 /* JSEvent.h in Headers */,
</span><span class="cx">                                 93B70D6A09EB0C7C009D8468 /* JSEventListener.h in Headers */,
</span><span class="cx">                                 E0FEF372B37C53EAC1C1FBEE /* JSEventSource.h in Headers */,
</span><span class="lines">@@ -25623,6 +25710,7 @@
</span><span class="cx">                                 898785F5122E1EAC003AABDA /* JSFileReaderSync.h in Headers */,
</span><span class="cx">                                 B6D9D27B14EAC0860090D75E /* JSFocusEvent.h in Headers */,
</span><span class="cx">                                 409EBDC016B7F38E00CBA3FC /* JSFontLoader.h in Headers */,
</span><ins>+                                5185FCAB1BB4C4E80012898F /* IDBServerConnection.h in Headers */,
</ins><span class="cx">                                 FDA15EAC12B03EE1003A583A /* JSGainNode.h in Headers */,
</span><span class="cx">                                 518F5002194CAC3A0081BAAE /* JSGamepad.h in Headers */,
</span><span class="cx">                                 518F5004194CAC3A0081BAAE /* JSGamepadButton.h in Headers */,
</span><span class="lines">@@ -25660,6 +25748,7 @@
</span><span class="cx">                                 A8D064FC0A23C0CC005E7203 /* JSHTMLFormElement.h in Headers */,
</span><span class="cx">                                 BC4918C70BFEA050009D6316 /* JSHTMLFrameElement.h in Headers */,
</span><span class="cx">                                 BC926F810C0552470082776B /* JSHTMLFrameSetElement.h in Headers */,
</span><ins>+                                5185FCB71BB4C7670012898F /* DOMRequestState.h in Headers */,
</ins><span class="cx">                                 A80E7B150A19D606007FB8C5 /* JSHTMLHeadElement.h in Headers */,
</span><span class="cx">                                 1AE2AA2F0A1CDAB400B42B25 /* JSHTMLHeadingElement.h in Headers */,
</span><span class="cx">                                 1AE2AA310A1CDAB400B42B25 /* JSHTMLHRElement.h in Headers */,
</span><span class="lines">@@ -25677,6 +25766,7 @@
</span><span class="cx">                                 BC491B790C023EFD009D6316 /* JSHTMLMarqueeElement.h in Headers */,
</span><span class="cx">                                 E446143A0CD689C800FADA75 /* JSHTMLMediaElement.h in Headers */,
</span><span class="cx">                                 1AE2AE5C0A1D26F200B42B25 /* JSHTMLMenuElement.h in Headers */,
</span><ins>+                                5185FC811BB4C4E80012898F /* IDBDatabase.h in Headers */,
</ins><span class="cx">                                 A80E7A180A19C3D6007FB8C5 /* JSHTMLMetaElement.h in Headers */,
</span><span class="cx">                                 A7BBE26711AFB3F20005EA03 /* JSHTMLMeterElement.h in Headers */,
</span><span class="cx">                                 1AE2AB2A0A1CE63B00B42B25 /* JSHTMLModElement.h in Headers */,
</span><span class="lines">@@ -25876,6 +25966,7 @@
</span><span class="cx">                                 B2FA3D5D0AB75A6F000E5AC4 /* JSSVGColor.h in Headers */,
</span><span class="cx">                                 B2FA3D5F0AB75A6F000E5AC4 /* JSSVGComponentTransferFunctionElement.h in Headers */,
</span><span class="cx">                                 B2FA3D610AB75A6F000E5AC4 /* JSSVGCursorElement.h in Headers */,
</span><ins>+                                510A58FA1BACC7F200C19282 /* IDBRequestData.h in Headers */,
</ins><span class="cx">                                 B2FA3D630AB75A6F000E5AC4 /* JSSVGDefsElement.h in Headers */,
</span><span class="cx">                                 B2FA3D650AB75A6F000E5AC4 /* JSSVGDescElement.h in Headers */,
</span><span class="cx">                                 B2FA3D670AB75A6F000E5AC4 /* JSSVGDocument.h in Headers */,
</span><span class="lines">@@ -25900,6 +25991,7 @@
</span><span class="cx">                                 B2FA3D830AB75A6F000E5AC4 /* JSSVGFEGaussianBlurElement.h in Headers */,
</span><span class="cx">                                 B2FA3D850AB75A6F000E5AC4 /* JSSVGFEImageElement.h in Headers */,
</span><span class="cx">                                 B2FA3D870AB75A6F000E5AC4 /* JSSVGFEMergeElement.h in Headers */,
</span><ins>+                                5185FC951BB4C4E80012898F /* IDBKey.h in Headers */,
</ins><span class="cx">                                 B2FA3D890AB75A6F000E5AC4 /* JSSVGFEMergeNodeElement.h in Headers */,
</span><span class="cx">                                 84224184107E77F400766A87 /* JSSVGFEMorphologyElement.h in Headers */,
</span><span class="cx">                                 B2FA3D8B0AB75A6F000E5AC4 /* JSSVGFEOffsetElement.h in Headers */,
</span><span class="lines">@@ -25915,6 +26007,7 @@
</span><span class="cx">                                 A83B79020CCAFF15000B0825 /* JSSVGFontFaceNameElement.h in Headers */,
</span><span class="cx">                                 A83B78FE0CCAFF15000B0825 /* JSSVGFontFaceSrcElement.h in Headers */,
</span><span class="cx">                                 A83B78FC0CCAFF15000B0825 /* JSSVGFontFaceUriElement.h in Headers */,
</span><ins>+                                5185FCA91BB4C4E80012898F /* IDBRequest.h in Headers */,
</ins><span class="cx">                                 B2FA3D990AB75A6F000E5AC4 /* JSSVGForeignObjectElement.h in Headers */,
</span><span class="cx">                                 B2FA3D9B0AB75A6F000E5AC4 /* JSSVGGElement.h in Headers */,
</span><span class="cx">                                 B27B28280CEF0C0700D39D54 /* JSSVGGlyphElement.h in Headers */,
</span><span class="lines">@@ -26087,10 +26180,12 @@
</span><span class="cx">                                 450CEBF115073BBE002BB149 /* LabelableElement.h in Headers */,
</span><span class="cx">                                 A456FA2711AD4A830020B420 /* LabelsNodeList.h in Headers */,
</span><span class="cx">                                 85EC9AFB0A71A2C600EEEAED /* Language.h in Headers */,
</span><ins>+                                5185FCA01BB4C4E80012898F /* IDBObjectStore.h in Headers */,
</ins><span class="cx">                                 7C4C96E31AD44ABF00365A50 /* LaunchServicesSPI.h in Headers */,
</span><span class="cx">                                 2917B5621473496C0052C9D0 /* LayerFlushScheduler.h in Headers */,
</span><span class="cx">                                 2917B5631473496C0052C9D0 /* LayerFlushSchedulerClient.h in Headers */,
</span><span class="cx">                                 E4916FF7195DF6A0005AB349 /* LayerFlushThrottleState.h in Headers */,
</span><ins>+                                5185FCB01BB4C4E80012898F /* IDBVersionChangeEvent.h in Headers */,
</ins><span class="cx">                                 580371641A66F1D300BAF519 /* LayerFragment.h in Headers */,
</span><span class="cx">                                 7AA3A6A0194B59B6001CBD24 /* LayerPool.h in Headers */,
</span><span class="cx">                                 931D72F615FE695300C4C07E /* LayoutMilestones.h in Headers */,
</span><span class="lines">@@ -26220,6 +26315,8 @@
</span><span class="cx">                                 C9D851F01B39DC780085062E /* MediaSessionMetadata.h in Headers */,
</span><span class="cx">                                 CD3A495F17A9D01B00274E42 /* MediaSource.h in Headers */,
</span><span class="cx">                                 CD641EB31818F5ED00EE4C41 /* MediaSourcePrivate.h in Headers */,
</span><ins>+                                5185FCA61BB4C4E80012898F /* IDBOperation.h in Headers */,
+                                E4A007831B820EC8002C5A6E /* DataURLDecoder.h in Headers */,
</ins><span class="cx">                                 CDC8B5A7180474F70016E685 /* MediaSourcePrivateAVFObjC.h in Headers */,
</span><span class="cx">                                 CDDC1E7A18A952F30027A9D4 /* MediaSourcePrivateClient.h in Headers */,
</span><span class="cx">                                 CD61FE681794AADB004101EB /* MediaSourceRegistry.h in Headers */,
</span><span class="lines">@@ -26247,6 +26344,7 @@
</span><span class="cx">                                 0705852417FDC140005F2BCB /* MediaTrackConstraints.h in Headers */,
</span><span class="cx">                                 0705852917FDE02C005F2BCB /* MediaTrackConstraintSet.h in Headers */,
</span><span class="cx">                                 99C7CCB318C663E40032E413 /* MemoizedDOMResult.h in Headers */,
</span><ins>+                                516D7D701BB5F0BD00AF7C77 /* IDBConnectionToServerDelegate.h in Headers */,
</ins><span class="cx">                                 BCB16C180979C3BD00467741 /* MemoryCache.h in Headers */,
</span><span class="cx">                                 6571DCC81385E6A400702DD0 /* MemoryPressureHandler.h in Headers */,
</span><span class="cx">                                 93309DFA099E64920056E581 /* MergeIdenticalElementsCommand.h in Headers */,
</span><span class="lines">@@ -26257,6 +26355,7 @@
</span><span class="cx">                                 A78E52701346BD1700AD9C31 /* MeterShadowElement.h in Headers */,
</span><span class="cx">                                 37DDCDA51384501C0008B793 /* MHTMLArchive.h in Headers */,
</span><span class="cx">                                 37DDCDA71384501C0008B793 /* MHTMLParser.h in Headers */,
</span><ins>+                                5185FCB91BB4CBF80012898F /* IDBConnectionToClient.h in Headers */,
</ins><span class="cx">                                 53B895AF19DC7ED9009CAA93 /* MicroTask.h in Headers */,
</span><span class="cx">                                 37DDCD9513844FD50008B793 /* MIMEHeader.h in Headers */,
</span><span class="cx">                                 BC772C4F0C4EB3040083285F /* MIMETypeRegistry.h in Headers */,
</span><span class="lines">@@ -26311,6 +26410,7 @@
</span><span class="cx">                                 269397221A4A412F00E8349D /* NFANode.h in Headers */,
</span><span class="cx">                                 267726011A5B3AD9003C24DD /* NFAToDFA.h in Headers */,
</span><span class="cx">                                 BCEF43DD0E674012001C1287 /* NinePieceImage.h in Headers */,
</span><ins>+                                5185FC9E1BB4C4E80012898F /* IDBKeyRangeData.h in Headers */,
</ins><span class="cx">                                 14115B5209F84B7100CA4FC1 /* Node.h in Headers */,
</span><span class="cx">                                 854FE7310A2297BE0058D7AD /* NodeFilter.h in Headers */,
</span><span class="cx">                                 854FE7330A2297BE0058D7AD /* NodeFilterCondition.h in Headers */,
</span><span class="lines">@@ -26507,6 +26607,7 @@
</span><span class="cx">                                 51A052561058874000CC9E95 /* ProtectionSpaceHash.h in Headers */,
</span><span class="cx">                                 1AF8E11A1256592600230FF7 /* ProxyServer.h in Headers */,
</span><span class="cx">                                 FF945ECC161F7F3600971BC8 /* PseudoElement.h in Headers */,
</span><ins>+                                5185FCAD1BB4C4E80012898F /* IDBTransaction.h in Headers */,
</ins><span class="cx">                                 0081FF0016B0A2D3008AAA7A /* PublicSuffix.h in Headers */,
</span><span class="cx">                                 10FB084B14E15C7E00A3DB98 /* PublicURLManager.h in Headers */,
</span><span class="cx">                                 550A0BCA085F6039007353D6 /* QualifiedName.h in Headers */,
</span><span class="lines">@@ -26761,6 +26862,7 @@
</span><span class="cx">                                 078E092A17D14D1C00420AA1 /* RTCStatsReport.h in Headers */,
</span><span class="cx">                                 078E094517D16E1C00420AA1 /* RTCStatsRequest.h in Headers */,
</span><span class="cx">                                 078E092B17D14D1C00420AA1 /* RTCStatsRequestImpl.h in Headers */,
</span><ins>+                                5185FC5B1BB4BE4C0012898F /* IDBConnectionToServer.h in Headers */,
</ins><span class="cx">                                 078E092C17D14D1C00420AA1 /* RTCStatsResponse.h in Headers */,
</span><span class="cx">                                 078E094617D16E1C00420AA1 /* RTCStatsResponseBase.h in Headers */,
</span><span class="cx">                                 078E094717D16E1C00420AA1 /* RTCVoidRequest.h in Headers */,
</span><span class="lines">@@ -27180,6 +27282,7 @@
</span><span class="cx">                                 83C1D431178D5AB500141E68 /* SVGPathSegLinetoHorizontalRel.h in Headers */,
</span><span class="cx">                                 83C1D432178D5AB500141E68 /* SVGPathSegLinetoRel.h in Headers */,
</span><span class="cx">                                 B2227A7D0D00BF220071B782 /* SVGPathSegLinetoVertical.h in Headers */,
</span><ins>+                                5185FC7B1BB4C4E80012898F /* IDBCursor.h in Headers */,
</ins><span class="cx">                                 83C1D433178D5AB500141E68 /* SVGPathSegLinetoVerticalAbs.h in Headers */,
</span><span class="cx">                                 83C1D434178D5AB500141E68 /* SVGPathSegLinetoVerticalRel.h in Headers */,
</span><span class="cx">                                 B2227A810D00BF220071B782 /* SVGPathSegList.h in Headers */,
</span><span class="lines">@@ -27230,12 +27333,14 @@
</span><span class="cx">                                 B2227AC10D00BF220071B782 /* SVGSymbolElement.h in Headers */,
</span><span class="cx">                                 B2227AC50D00BF220071B782 /* SVGTests.h in Headers */,
</span><span class="cx">                                 08F0BFC31255C53C00075185 /* SVGTextChunk.h in Headers */,
</span><ins>+                                5185FCA21BB4C4E80012898F /* IDBObjectStoreMetadata.h in Headers */,
</ins><span class="cx">                                 081668D4125603BF006F25DE /* SVGTextChunkBuilder.h in Headers */,
</span><span class="cx">                                 B2227AC80D00BF220071B782 /* SVGTextContentElement.h in Headers */,
</span><span class="cx">                                 B2227ACB0D00BF220071B782 /* SVGTextElement.h in Headers */,
</span><span class="cx">                                 08F0BFC41255C53C00075185 /* SVGTextFragment.h in Headers */,
</span><span class="cx">                                 088C2F7A12390081003D65CE /* SVGTextLayoutAttributes.h in Headers */,
</span><span class="cx">                                 081093DC1255F0E700ED9D29 /* SVGTextLayoutAttributesBuilder.h in Headers */,
</span><ins>+                                5185FC8B1BB4C4E80012898F /* IDBEventDispatcher.h in Headers */,
</ins><span class="cx">                                 081668DA125603D5006F25DE /* SVGTextLayoutEngine.h in Headers */,
</span><span class="cx">                                 080E49261255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.h in Headers */,
</span><span class="cx">                                 080E49281255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.h in Headers */,
</span><span class="lines">@@ -27291,6 +27396,7 @@
</span><span class="cx">                                 B2AFFC9A0D00A5DF0030074D /* TextCodecMac.h in Headers */,
</span><span class="cx">                                 B2C3DA400D006C1D00EF6F26 /* TextCodecUserDefined.h in Headers */,
</span><span class="cx">                                 B2C3DA420D006C1D00EF6F26 /* TextCodecUTF16.h in Headers */,
</span><ins>+                                5185FCB21BB4C4E80012898F /* IndexedDB.h in Headers */,
</ins><span class="cx">                                 9343CB8212F25E510033C5EE /* TextCodecUTF8.h in Headers */,
</span><span class="cx">                                 142B97CA13138943008BEF4B /* TextControlInnerElements.h in Headers */,
</span><span class="cx">                                 97BC84B412371180000C6161 /* TextDocument.h in Headers */,
</span><span class="lines">@@ -27606,7 +27712,6 @@
</span><span class="cx">                                 F34742E11343631F00531BC2 /* WorkerDebuggerAgent.h in Headers */,
</span><span class="cx">                                 A3E2643114748991005A8588 /* WorkerEventQueue.h in Headers */,
</span><span class="cx">                                 2E4346490F546A8200B0F1BA /* WorkerGlobalScope.h in Headers */,
</span><del>-                                51D719FC181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.h in Headers */,
</del><span class="cx">                                 97F8E666151D4A4E00D2D181 /* WorkerGlobalScopeNotifications.h in Headers */,
</span><span class="cx">                                 2E43464B0F546A8200B0F1BA /* WorkerGlobalScopeProxy.h in Headers */,
</span><span class="cx">                                 F36E07A51358A8BE00AACBC9 /* WorkerInspectorController.h in Headers */,
</span><span class="lines">@@ -27968,6 +28073,7 @@
</span><span class="cx">                                 37F57ACD1A5072D700876F98 /* AccessibilityTableHeaderContainer.cpp in Sources */,
</span><span class="cx">                                 37F57ACE1A5072DA00876F98 /* AccessibilityTableRow.cpp in Sources */,
</span><span class="cx">                                 A91C9FBE1B6586DE00AFFD54 /* AccessibilityTree.cpp in Sources */,
</span><ins>+                                5148453E1BB9D07E006A72ED /* IDBError.cpp in Sources */,
</ins><span class="cx">                                 A91C9FC21B659A6700AFFD54 /* AccessibilityTreeItem.cpp in Sources */,
</span><span class="cx">                                 B5D31DFA11CF610B009F22B4 /* ActiveDOMCallback.cpp in Sources */,
</span><span class="cx">                                 E1C4DE6E0EA75C650023CCD6 /* ActiveDOMObject.cpp in Sources */,
</span><span class="lines">@@ -27982,9 +28088,11 @@
</span><span class="cx">                                 316FE1130E6E1DA700BF6088 /* AnimationController.cpp in Sources */,
</span><span class="cx">                                 319848021A1D818100A13318 /* AnimationEvent.cpp in Sources */,
</span><span class="cx">                                 49E912AC0EFAC906009D0CAF /* AnimationList.cpp in Sources */,
</span><ins>+                                5185FC981BB4C4E80012898F /* IDBKeyPath.cpp in Sources */,
</ins><span class="cx">                                 93309DD6099E64920056E581 /* AppendNodeCommand.cpp in Sources */,
</span><span class="cx">                                 1A8F6BBC0DB55CDC001DB794 /* ApplicationCache.cpp in Sources */,
</span><span class="cx">                                 1A8F6BBE0DB55CDC001DB794 /* ApplicationCacheGroup.cpp in Sources */,
</span><ins>+                                5185FC7D1BB4C4E80012898F /* IDBCursorWithValue.cpp in Sources */,
</ins><span class="cx">                                 24F54EAC101FE914000AE741 /* ApplicationCacheHost.cpp in Sources */,
</span><span class="cx">                                 1A8F6BC00DB55CDC001DB794 /* ApplicationCacheResource.cpp in Sources */,
</span><span class="cx">                                 1A2AAC580DC2A3B100A20D9A /* ApplicationCacheStorage.cpp in Sources */,
</span><span class="lines">@@ -28077,6 +28185,7 @@
</span><span class="cx">                                 976D6C78122B8A3D001FD1F7 /* Blob.cpp in Sources */,
</span><span class="cx">                                 2EDEF1F3121B0EFC00726DB2 /* BlobData.cpp in Sources */,
</span><span class="cx">                                 E1D31CDC19196020001005A3 /* BlobDataFileReference.cpp in Sources */,
</span><ins>+                                5185FC771BB4C4E80012898F /* IDBAny.cpp in Sources */,
</ins><span class="cx">                                 E164A2ED191AE6350010737D /* BlobDataFileReferenceMac.mm in Sources */,
</span><span class="cx">                                 E14A94D716DFDF950068DE82 /* BlobRegistry.cpp in Sources */,
</span><span class="cx">                                 2EDEF1F6121B0EFC00726DB2 /* BlobRegistryImpl.cpp in Sources */,
</span><span class="lines">@@ -28148,6 +28257,7 @@
</span><span class="cx">                                 14D8238B0AF92DF60004F057 /* Chrome.cpp in Sources */,
</span><span class="cx">                                 ABAF22080C03B1C700B0BCF0 /* ChromeMac.mm in Sources */,
</span><span class="cx">                                 8348BFAB1B85729800912F36 /* ClassCollection.cpp in Sources */,
</span><ins>+                                5185FC801BB4C4E80012898F /* IDBDatabase.cpp in Sources */,
</ins><span class="cx">                                 BCC0657D0F3CE1B700CD2D87 /* ClientRect.cpp in Sources */,
</span><span class="cx">                                 BCC065800F3CE1B700CD2D87 /* ClientRectList.cpp in Sources */,
</span><span class="cx">                                 85031B3F0A44EFC700F992E0 /* ClipboardEvent.cpp in Sources */,
</span><span class="lines">@@ -28272,6 +28382,7 @@
</span><span class="cx">                                 BC02A6460E09AAE9004B6D2B /* CSSFunctionValue.cpp in Sources */,
</span><span class="cx">                                 BC23E4E10DAACE0F009FDC91 /* CSSGradientValue.cpp in Sources */,
</span><span class="cx">                                 650F53DD09D15DDF00C9B0C8 /* CSSGrammar.cpp in Sources */,
</span><ins>+                                5185FCA81BB4C4E80012898F /* IDBRequest.cpp in Sources */,
</ins><span class="cx">                                 CD7DBB2818CA19A400C11066 /* CSSGridLineNamesValue.cpp in Sources */,
</span><span class="cx">                                 CD3E252318046BCD00E27F56 /* CSSGridTemplateAreasValue.cpp in Sources */,
</span><span class="cx">                                 FBF89045169E9F1F0052D86E /* CSSGroupingRule.cpp in Sources */,
</span><span class="lines">@@ -28394,10 +28505,12 @@
</span><span class="cx">                                 A781C6A713828B5D0012A62A /* DocumentMarker.cpp in Sources */,
</span><span class="cx">                                 CE057FA51220731100A476D5 /* DocumentMarkerController.cpp in Sources */,
</span><span class="cx">                                 14947FFD12F80CD200A0F631 /* DocumentOrderedMap.cpp in Sources */,
</span><ins>+                                5185FC741BB4C4E80012898F /* DOMWindowIndexedDatabase.cpp in Sources */,
</ins><span class="cx">                                 A8C2280E11D4A59700D5A7D3 /* DocumentParser.cpp in Sources */,
</span><span class="cx">                                 4A4F48A916B0DFC000EDBB29 /* DocumentRuleSets.cpp in Sources */,
</span><span class="cx">                                 AD6E71AC1668899D00320C13 /* DocumentSharedObjectPool.cpp in Sources */,
</span><span class="cx">                                 0B9056190F2578BE0095FF6A /* DocumentThreadableLoader.cpp in Sources */,
</span><ins>+                                5185FC861BB4C4E80012898F /* IDBDatabaseIdentifier.cpp in Sources */,
</ins><span class="cx">                                 A8185F3A09765766005826D9 /* DocumentType.cpp in Sources */,
</span><span class="cx">                                 973889A0116EA9DC00ADF313 /* DocumentWriter.cpp in Sources */,
</span><span class="cx">                                 BC1A37AE097C715F0019F3D8 /* DOM.mm in Sources */,
</span><span class="lines">@@ -28517,6 +28630,7 @@
</span><span class="cx">                                 A8185F3E09765766005826D9 /* DOMImplementation.cpp in Sources */,
</span><span class="cx">                                 BC1A37BA097C715F0019F3D8 /* DOMInternal.mm in Sources */,
</span><span class="cx">                                 85FF315B0AAFBFCB00374F38 /* DOMKeyboardEvent.mm in Sources */,
</span><ins>+                                51D7236C1BB6174900478CA3 /* IDBResultData.cpp in Sources */,
</ins><span class="cx">                                 850656FF0AAB4763002D15C0 /* DOMMediaList.mm in Sources */,
</span><span class="cx">                                 75793ED40D0CE85B007FC0AC /* DOMMessageEvent.mm in Sources */,
</span><span class="cx">                                 E1ACAF4C0E791AAF0087D12B /* DOMMessagePort.mm in Sources */,
</span><span class="lines">@@ -28578,7 +28692,6 @@
</span><span class="cx">                                 1403B99809EB13AF00797C7F /* DOMWindow.cpp in Sources */,
</span><span class="cx">                                 FD677738195CAF3D0072E0D3 /* DOMWindowCSS.cpp in Sources */,
</span><span class="cx">                                 517FBA1E151AB17C00B57959 /* DOMWindowExtension.cpp in Sources */,
</span><del>-                                51D719B6181106E00016DC51 /* DOMWindowIndexedDatabase.cpp in Sources */,
</del><span class="cx">                                 97B38E28151C4273004622E9 /* DOMWindowNotifications.cpp in Sources */,
</span><span class="cx">                                 97D2AD0314B823A60093DF32 /* DOMWindowProperty.cpp in Sources */,
</span><span class="cx">                                 AA2A5AD716A4861A00975A25 /* DOMWindowSpeechSynthesis.cpp in Sources */,
</span><span class="lines">@@ -28678,6 +28791,7 @@
</span><span class="cx">                                 26C17A3F1491D2D400D12BA2 /* FileSystemIOS.mm in Sources */,
</span><span class="cx">                                 514B3F760C722055000530DF /* FileSystemMac.mm in Sources */,
</span><span class="cx">                                 5160300B0CC4251200C8AC25 /* FileSystemPOSIX.cpp in Sources */,
</span><ins>+                                5185FC881BB4C4E80012898F /* IDBDatabaseMetadata.cpp in Sources */,
</ins><span class="cx">                                 BC5EB69E0E81DAEB00B25965 /* FillLayer.cpp in Sources */,
</span><span class="cx">                                 08C925190FCC7C4A00480DEC /* FilterEffect.cpp in Sources */,
</span><span class="cx">                                 31313F651443B35F006E2A90 /* FilterEffectRenderer.cpp in Sources */,
</span><span class="lines">@@ -28741,6 +28855,7 @@
</span><span class="cx">                                 4A8C96EB0BE69032004EEFF0 /* FrameSelectionMac.mm in Sources */,
</span><span class="cx">                                 C4CD629A18383766007EBAF1 /* FrameSnapshotting.cpp in Sources */,
</span><span class="cx">                                 65A21484097A3F5300B9050A /* FrameTree.cpp in Sources */,
</span><ins>+                                5185FCAF1BB4C4E80012898F /* IDBVersionChangeEvent.cpp in Sources */,
</ins><span class="cx">                                 65CBFEF90974F607001DAC25 /* FrameView.cpp in Sources */,
</span><span class="cx">                                 97205AAF123928CA00B17380 /* FTPDirectoryDocument.cpp in Sources */,
</span><span class="cx">                                 51C81B890C4422F70019ECE3 /* FTPDirectoryParser.cpp in Sources */,
</span><span class="lines">@@ -28794,6 +28909,7 @@
</span><span class="cx">                                 A8CFF7A40A156978000A4234 /* HTMLAnchorElement.cpp in Sources */,
</span><span class="cx">                                 A871D45E0A127CBC00B12A68 /* HTMLAppletElement.cpp in Sources */,
</span><span class="cx">                                 A8EA7D2F0A19385500A8EF5F /* HTMLAreaElement.cpp in Sources */,
</span><ins>+                                5185FC9D1BB4C4E80012898F /* IDBKeyRangeData.cpp in Sources */,
</ins><span class="cx">                                 7C5F28FB1A827D8400C0F31F /* HTMLAttachmentElement.cpp in Sources */,
</span><span class="cx">                                 E44613A10CD6331000FADA75 /* HTMLAudioElement.cpp in Sources */,
</span><span class="cx">                                 A871DC2A0A15205700B12A68 /* HTMLBaseElement.cpp in Sources */,
</span><span class="lines">@@ -28875,6 +28991,7 @@
</span><span class="cx">                                 A43BF5981149290A00C643CA /* HTMLProgressElement.cpp in Sources */,
</span><span class="cx">                                 A8CFF7A50A156978000A4234 /* HTMLQuoteElement.cpp in Sources */,
</span><span class="cx">                                 A8D223FD16B52E4E00157288 /* HTMLResourcePreloader.cpp in Sources */,
</span><ins>+                                5185FC941BB4C4E80012898F /* IDBKey.cpp in Sources */,
</ins><span class="cx">                                 A871DC220A15205700B12A68 /* HTMLScriptElement.cpp in Sources */,
</span><span class="cx">                                 977B3874122883E900B81FF8 /* HTMLScriptRunner.cpp in Sources */,
</span><span class="cx">                                 A81369D9097374F600D74463 /* HTMLSelectElement.cpp in Sources */,
</span><span class="lines">@@ -28915,38 +29032,18 @@
</span><span class="cx">                                 513F14530AB634C400094DDF /* IconLoader.cpp in Sources */,
</span><span class="cx">                                 B275358E0B053A66002CE64F /* IconMac.mm in Sources */,
</span><span class="cx">                                 51E1ECC00C91C90400DC255B /* IconRecord.cpp in Sources */,
</span><del>-                                51D719B9181106E00016DC51 /* IDBAny.cpp in Sources */,
</del><span class="cx">                                 C585A66211D4FAC5004C3E4B /* IDBBindingUtilities.cpp in Sources */,
</span><del>-                                5103C2B31BA2324D00E26337 /* IDBCursor.cpp in Sources */,
</del><span class="cx">                                 51F41A691BA73B5B002E053B /* IDBCursorBackend.cpp in Sources */,
</span><span class="cx">                                 51F41A6B1BA73B5B002E053B /* IDBCursorBackendOperations.cpp in Sources */,
</span><del>-                                5103C2B41BA232AE00E26337 /* IDBCursorWithValue.cpp in Sources */,
-                                5103C2B51BA232D400E26337 /* IDBDatabase.cpp in Sources */,
</del><span class="cx">                                 51F41A6D1BA73B5B002E053B /* IDBDatabaseBackend.cpp in Sources */,
</span><span class="cx">                                 51F41A701BA73B5B002E053B /* IDBDatabaseCallbacksImpl.cpp in Sources */,
</span><del>-                                51D719CE181106E00016DC51 /* IDBDatabaseException.cpp in Sources */,
-                                510310611BA8E10D003329C0 /* IDBDatabaseIdentifier.cpp in Sources */,
-                                5163117D1851242B00534647 /* IDBDatabaseMetadata.cpp in Sources */,
-                                51D719D0181106E00016DC51 /* IDBEventDispatcher.cpp in Sources */,
-                                5157D4641BA24AEE0085CA2F /* IDBFactory.cpp in Sources */,
</del><span class="cx">                                 5103104F1BA8CC03003329C0 /* IDBFactoryImpl.cpp in Sources */,
</span><del>-                                5157D4651BA24AF80085CA2F /* IDBIndex.cpp in Sources */,
-                                51D719DB181106E00016DC51 /* IDBKey.cpp in Sources */,
-                                511EC1A8188DAE7B00BA3EB6 /* IDBKeyData.cpp in Sources */,
-                                51D719DD181106E00016DC51 /* IDBKeyPath.cpp in Sources */,
-                                51D719DF181106E00016DC51 /* IDBKeyRange.cpp in Sources */,
-                                5123AF181890A4CA0031CDC9 /* IDBKeyRangeData.cpp in Sources */,
-                                5157D4661BA24AFD0085CA2F /* IDBObjectStore.cpp in Sources */,
-                                5103C2B71BA233C400E26337 /* IDBOpenDBRequest.cpp in Sources */,
</del><span class="cx">                                 5103105A1BA8DB56003329C0 /* IDBOpenDBRequestImpl.cpp in Sources */,
</span><span class="cx">                                 51F41A7B1BA73B5B002E053B /* IDBPendingTransactionMonitor.cpp in Sources */,
</span><del>-                                5103C2B61BA233BF00E26337 /* IDBRequest.cpp in Sources */,
</del><span class="cx">                                 5103105C1BA8DB56003329C0 /* IDBRequestImpl.cpp in Sources */,
</span><del>-                                5103C2B21BA2317400E26337 /* IDBTransaction.cpp in Sources */,
</del><span class="cx">                                 51F41A731BA73B5B002E053B /* IDBTransactionBackend.cpp in Sources */,
</span><span class="cx">                                 51F41A751BA73B5B002E053B /* IDBTransactionBackendOperations.cpp in Sources */,
</span><span class="cx">                                 51F41A771BA73B5B002E053B /* IDBTransactionCoordinator.cpp in Sources */,
</span><del>-                                5103C2B81BA235C500E26337 /* IDBVersionChangeEvent.cpp in Sources */,
</del><span class="cx">                                 1A71D57B0F33819000F9CE4E /* IdentifierRep.cpp in Sources */,
</span><span class="cx">                                 C3CF17A415B0063F00276D39 /* IdTargetObserver.cpp in Sources */,
</span><span class="cx">                                 C3CF17A615B0063F00276D39 /* IdTargetObserverRegistry.cpp in Sources */,
</span><span class="lines">@@ -29020,6 +29117,7 @@
</span><span class="cx">                                 754133AA102E00F400075D00 /* InspectorTimelineAgent.cpp in Sources */,
</span><span class="cx">                                 F3810C1B1365A49600ED6E33 /* InspectorWorkerAgent.cpp in Sources */,
</span><span class="cx">                                 F350B73513F1377D00880C43 /* InstrumentingAgents.cpp in Sources */,
</span><ins>+                                5185FC8C1BB4C4E80012898F /* IDBFactory.cpp in Sources */,
</ins><span class="cx">                                 2D46F04E17B96FBD005647F0 /* IntPoint.cpp in Sources */,
</span><span class="cx">                                 B27535600B053814002CE64F /* IntPointCG.cpp in Sources */,
</span><span class="cx">                                 B275357C0B053814002CE64F /* IntPointMac.mm in Sources */,
</span><span class="lines">@@ -29038,6 +29136,7 @@
</span><span class="cx">                                 0705850217FA10D0005F2BCB /* JSAllVideoCapabilities.cpp in Sources */,
</span><span class="cx">                                 FDA15EC912B03F50003A583A /* JSAnalyserNode.cpp in Sources */,
</span><span class="cx">                                 31A795C61888BADC00382F90 /* JSANGLEInstancedArrays.cpp in Sources */,
</span><ins>+                                5185FCAC1BB4C4E80012898F /* IDBTransaction.cpp in Sources */,
</ins><span class="cx">                                 3198480B1A1E6CE400A13318 /* JSAnimationEvent.cpp in Sources */,
</span><span class="cx">                                 65DF31DA09D1C123000BE325 /* JSAttr.cpp in Sources */,
</span><span class="cx">                                 BC2ED6BC0C6BD2F000920BFF /* JSAttrCustom.cpp in Sources */,
</span><span class="lines">@@ -29189,6 +29288,7 @@
</span><span class="cx">                                 E0FEF372B47C53EAC1C1FBEE /* JSEventSource.cpp in Sources */,
</span><span class="cx">                                 C6A703325C9D0B6CDCBC4D77 /* JSEventTarget.cpp in Sources */,
</span><span class="cx">                                 BC6090200E91B8EC000C68B5 /* JSEventTargetCustom.cpp in Sources */,
</span><ins>+                                5185FC9F1BB4C4E80012898F /* IDBObjectStore.cpp in Sources */,
</ins><span class="cx">                                 3314ACEB10892086000F0E56 /* JSExceptionBase.cpp in Sources */,
</span><span class="cx">                                 724ED3311A3A8B2300F5F13C /* JSEXTBlendMinMax.cpp in Sources */,
</span><span class="cx">                                 72F1ADA51A390B9F00014E18 /* JSEXTFragDepth.cpp in Sources */,
</span><span class="lines">@@ -29250,6 +29350,7 @@
</span><span class="cx">                                 9B1AB07C1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp in Sources */,
</span><span class="cx">                                 A8D064FB0A23C0CC005E7203 /* JSHTMLFormElement.cpp in Sources */,
</span><span class="cx">                                 A8D065AE0A2446CD005E7203 /* JSHTMLFormElementCustom.cpp in Sources */,
</span><ins>+                                5185FC7A1BB4C4E80012898F /* IDBCursor.cpp in Sources */,
</ins><span class="cx">                                 BC4918C60BFEA050009D6316 /* JSHTMLFrameElement.cpp in Sources */,
</span><span class="cx">                                 BC2ED7A50C6C0F3600920BFF /* JSHTMLFrameElementCustom.cpp in Sources */,
</span><span class="cx">                                 BC926F800C0552470082776B /* JSHTMLFrameSetElement.cpp in Sources */,
</span><span class="lines">@@ -29552,6 +29653,7 @@
</span><span class="cx">                                 B2FA3D940AB75A6F000E5AC4 /* JSSVGFETurbulenceElement.cpp in Sources */,
</span><span class="cx">                                 B2FA3D960AB75A6F000E5AC4 /* JSSVGFilterElement.cpp in Sources */,
</span><span class="cx">                                 B27B28250CEF0C0700D39D54 /* JSSVGFontElement.cpp in Sources */,
</span><ins>+                                5185FCBA1BB4CBF80012898F /* IDBServer.cpp in Sources */,
</ins><span class="cx">                                 A83B79040CCAFF15000B0825 /* JSSVGFontFaceElement.cpp in Sources */,
</span><span class="cx">                                 A83B79010CCAFF15000B0825 /* JSSVGFontFaceFormatElement.cpp in Sources */,
</span><span class="cx">                                 A83B79030CCAFF15000B0825 /* JSSVGFontFaceNameElement.cpp in Sources */,
</span><span class="lines">@@ -29647,6 +29749,7 @@
</span><span class="cx">                                 07B5A2DB1464320A00A81ECE /* JSTextTrackList.cpp in Sources */,
</span><span class="cx">                                 07B5A30D14687D7100A81ECE /* JSTextTrackListCustom.cpp in Sources */,
</span><span class="cx">                                 E446141A0CD6826900FADA75 /* JSTimeRanges.cpp in Sources */,
</span><ins>+                                516D7D6F1BB5F0BD00AF7C77 /* IDBConnectionToServer.cpp in Sources */,
</ins><span class="cx">                                 0FDA7C16188322EB00C954B5 /* JSTouch.cpp in Sources */,
</span><span class="cx">                                 0FDA7C18188322EB00C954B5 /* JSTouchEvent.cpp in Sources */,
</span><span class="cx">                                 0FDA7C1A188322EB00C954B5 /* JSTouchList.cpp in Sources */,
</span><span class="lines">@@ -29659,6 +29762,7 @@
</span><span class="cx">                                 A86629D009DA2B48009633A5 /* JSUIEvent.cpp in Sources */,
</span><span class="cx">                                 AAA4FAD3175D5CB300743873 /* JSUIRequestEvent.cpp in Sources */,
</span><span class="cx">                                 7C73FB11191EF6F4007DE061 /* JSUserMessageHandler.cpp in Sources */,
</span><ins>+                                5185FCA31BB4C4E80012898F /* IDBOpenDBRequest.cpp in Sources */,
</ins><span class="cx">                                 7C73FB0C191EF5A8007DE061 /* JSUserMessageHandlersNamespace.cpp in Sources */,
</span><span class="cx">                                 7C73FB19191EF808007DE061 /* JSUserMessageHandlersNamespaceCustom.cpp in Sources */,
</span><span class="cx">                                 15C77094100D3CA8005BA267 /* JSValidityState.cpp in Sources */,
</span><span class="lines">@@ -29683,6 +29787,7 @@
</span><span class="cx">                                 BC2CBF7B140F1D58003879BE /* JSWebGLContextEvent.cpp in Sources */,
</span><span class="cx">                                 6E3FAD3814733F4010E42307 /* JSWebGLDebugRendererInfo.cpp in Sources */,
</span><span class="cx">                                 6E3FAD3814733F4020E42307 /* JSWebGLDebugShaders.cpp in Sources */,
</span><ins>+                                5185FC841BB4C4E80012898F /* IDBDatabaseException.cpp in Sources */,
</ins><span class="cx">                                 6E3FAD3814733F4000E42307 /* JSWebGLDepthTexture.cpp in Sources */,
</span><span class="cx">                                 6EBF0E7612A9868800DB170A /* JSWebGLDrawBuffers.cpp in Sources */,
</span><span class="cx">                                 49C7B9971042D2D30009D447 /* JSWebGLFramebuffer.cpp in Sources */,
</span><span class="lines">@@ -29697,6 +29802,7 @@
</span><span class="cx">                                 6F995A331A70833700A735F4 /* JSWebGLSampler.cpp in Sources */,
</span><span class="cx">                                 49C7B9A21042D2D30009D447 /* JSWebGLShader.cpp in Sources */,
</span><span class="cx">                                 A07D3355152B630E001B6393 /* JSWebGLShaderPrecisionFormat.cpp in Sources */,
</span><ins>+                                5185FC8A1BB4C4E80012898F /* IDBEventDispatcher.cpp in Sources */,
</ins><span class="cx">                                 6F995A351A70833700A735F4 /* JSWebGLSync.cpp in Sources */,
</span><span class="cx">                                 49C7B9A41042D2D30009D447 /* JSWebGLTexture.cpp in Sources */,
</span><span class="cx">                                 6F995A371A70833700A735F4 /* JSWebGLTransformFeedback.cpp in Sources */,
</span><span class="lines">@@ -29982,6 +30088,7 @@
</span><span class="cx">                                 CD5E5B611A15F156000C609E /* PageConfiguration.cpp in Sources */,
</span><span class="cx">                                 F3820892147D35F90010BC06 /* PageConsoleAgent.cpp in Sources */,
</span><span class="cx">                                 DAED203016F2442B0070EC0F /* PageConsoleClient.cpp in Sources */,
</span><ins>+                                510A58F91BACC7F200C19282 /* IDBRequestData.cpp in Sources */,
</ins><span class="cx">                                 A5A2AF0B1829734300DE1729 /* PageDebuggable.cpp in Sources */,
</span><span class="cx">                                 F34742DC134362F000531BC2 /* PageDebuggerAgent.cpp in Sources */,
</span><span class="cx">                                 9302B0BD0D79F82900C7EE83 /* PageGroup.cpp in Sources */,
</span><span class="lines">@@ -30715,6 +30822,7 @@
</span><span class="cx">                                 B1AD4E7313A12A4600846B27 /* TextTrackLoader.cpp in Sources */,
</span><span class="cx">                                 CD1E7347167BC78E009A885D /* TextTrackRepresentation.cpp in Sources */,
</span><span class="cx">                                 CDCA82961679100F00875714 /* TextTrackRepresentationIOS.mm in Sources */,
</span><ins>+                                5185FC961BB4C4E80012898F /* IDBKeyData.cpp in Sources */,
</ins><span class="cx">                                 29498683195341940072D2BD /* TextUndoInsertionMarkupMac.mm in Sources */,
</span><span class="cx">                                 498770F01242C535002226BA /* Texture.cpp in Sources */,
</span><span class="cx">                                 BCE65D320EAD1211007E4533 /* Theme.cpp in Sources */,
</span><span class="lines">@@ -30733,6 +30841,7 @@
</span><span class="cx">                                 1F72BF0A187FD4490009BCB3 /* TileControllerMemoryHandlerIOS.cpp in Sources */,
</span><span class="cx">                                 7AA3A6A3194B5C22001CBD24 /* TileCoverageMap.cpp in Sources */,
</span><span class="cx">                                 7AA3A69B194A64E7001CBD24 /* TileGrid.cpp in Sources */,
</span><ins>+                                5185FC901BB4C4E80012898F /* IDBIndex.cpp in Sources */,
</ins><span class="cx">                                 498770F21242C535002226BA /* TilingData.cpp in Sources */,
</span><span class="cx">                                 F55B3DDB1251F12D003EF269 /* TimeInputType.cpp in Sources */,
</span><span class="cx">                                 7553CFE9108F473F00EA281E /* TimelineRecordFactory.cpp in Sources */,
</span><span class="lines">@@ -30794,6 +30903,7 @@
</span><span class="cx">                                 2E3BBF071162DA1100B9409A /* UUID.cpp in Sources */,
</span><span class="cx">                                 F5A154271279534D00D0B0C0 /* ValidationMessage.cpp in Sources */,
</span><span class="cx">                                 FD3160AE12B026F700C1A359 /* VectorMath.cpp in Sources */,
</span><ins>+                                5185FC9A1BB4C4E80012898F /* IDBKeyRange.cpp in Sources */,
</ins><span class="cx">                                 CDE83DB1183C44060031EAA3 /* VideoPlaybackQuality.cpp in Sources */,
</span><span class="cx">                                 BE88E0DE1715D2A200658D98 /* VideoTrack.cpp in Sources */,
</span><span class="cx">                                 BE88E0E11715D2A200658D98 /* VideoTrackList.cpp in Sources */,
</span><span class="lines">@@ -30880,6 +30990,7 @@
</span><span class="cx">                                 A08CF154152B77B3009C5775 /* WebGLShaderPrecisionFormat.cpp in Sources */,
</span><span class="cx">                                 01D3CF8614BD0A3000FE9970 /* WebGLSharedObject.cpp in Sources */,
</span><span class="cx">                                 6F995A151A70756200A735F4 /* WebGLSync.cpp in Sources */,
</span><ins>+                                510A58FB1BACC7F200C19282 /* IDBRequestIdentifier.cpp in Sources */,
</ins><span class="cx">                                 49C7B9E51042D32F0009D447 /* WebGLTexture.cpp in Sources */,
</span><span class="cx">                                 6F995A231A7078B100A735F4 /* WebGLTransformFeedback.cpp in Sources */,
</span><span class="cx">                                 0C3F1F5A10C8871200D72CE1 /* WebGLUniformLocation.cpp in Sources */,
</span><span class="lines">@@ -30892,6 +31003,7 @@
</span><span class="cx">                                 976D6C7B122B8A3D001FD1F7 /* WebKitBlobBuilder.cpp in Sources */,
</span><span class="cx">                                 3106036F14327D2E00ABF4BA /* WebKitCSSFilterValue.cpp in Sources */,
</span><span class="cx">                                 498391580F1E776900C23782 /* WebKitCSSMatrix.cpp in Sources */,
</span><ins>+                                516D7D711BB5F0BD00AF7C77 /* IDBConnectionToClient.cpp in Sources */,
</ins><span class="cx">                                 8AA61CFF144D595B00F37350 /* WebKitCSSRegionRule.cpp in Sources */,
</span><span class="cx">                                 BC9ADD800CC4092200098C4C /* WebKitCSSTransformValue.cpp in Sources */,
</span><span class="cx">                                 3FFFF9A8159D9A550020BBD5 /* WebKitCSSViewportRule.cpp in Sources */,
</span><span class="lines">@@ -30916,6 +31028,7 @@
</span><span class="cx">                                 97AABD2614FA09D5007457AE /* WebSocketHandshake.cpp in Sources */,
</span><span class="cx">                                 31DEA4551B39F4D900F77178 /* WebSystemBackdropLayer.mm in Sources */,
</span><span class="cx">                                 0F580FA41496939100FB5BD8 /* WebTiledBackingLayer.mm in Sources */,
</span><ins>+                                5185FCB31BB4C4E80012898F /* WorkerGlobalScopeIndexedDatabase.cpp in Sources */,
</ins><span class="cx">                                 CD82030B1395AB6A00F956C6 /* WebVideoFullscreenController.mm in Sources */,
</span><span class="cx">                                 3F42B31E1881191B00278AAC /* WebVideoFullscreenControllerAVKit.mm in Sources */,
</span><span class="cx">                                 CD82030D1395AB6A00F956C6 /* WebVideoFullscreenHUDWindowController.mm in Sources */,
</span><span class="lines">@@ -30947,7 +31060,6 @@
</span><span class="cx">                                 F34742E01343631F00531BC2 /* WorkerDebuggerAgent.cpp in Sources */,
</span><span class="cx">                                 A3E2643014748991005A8588 /* WorkerEventQueue.cpp in Sources */,
</span><span class="cx">                                 2E4346480F546A8200B0F1BA /* WorkerGlobalScope.cpp in Sources */,
</span><del>-                                51D719FB181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.cpp in Sources */,
</del><span class="cx">                                 97F8E665151D4A4B00D2D181 /* WorkerGlobalScopeNotifications.cpp in Sources */,
</span><span class="cx">                                 F36E07A41358A8BE00AACBC9 /* WorkerInspectorController.cpp in Sources */,
</span><span class="cx">                                 2E43464C0F546A8200B0F1BA /* WorkerLocation.cpp in Sources */,
</span><span class="lines">@@ -30959,6 +31071,7 @@
</span><span class="cx">                                 F34742E81343635000531BC2 /* WorkerScriptDebugServer.cpp in Sources */,
</span><span class="cx">                                 A7D6B34A0F61104500B79FD1 /* WorkerScriptLoader.cpp in Sources */,
</span><span class="cx">                                 2E4346540F546A8200B0F1BA /* WorkerThread.cpp in Sources */,
</span><ins>+                                510A58E41BAA40B100C19282 /* InProcessIDBServer.cpp in Sources */,
</ins><span class="cx">                                 0B9056F80F2685F30095FF6A /* WorkerThreadableLoader.cpp in Sources */,
</span><span class="cx">                                 97AABD2C14FA09D5007457AE /* WorkerThreadableWebSocketChannel.cpp in Sources */,
</span><span class="cx">                                 93309E23099E64920056E581 /* WrapContentsInDummySpanCommand.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderEmptyClientscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/EmptyClients.cpp (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/EmptyClients.cpp        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/loader/EmptyClients.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx"> #include &quot;FrameNetworkingContext.h&quot;
</span><span class="cx"> #include &quot;HTMLFormElement.h&quot;
</span><span class="cx"> #include &quot;IDBFactoryBackendInterface.h&quot;
</span><ins>+#include &quot;InProcessIDBServer.h&quot;
</ins><span class="cx"> #include &quot;PageConfiguration.h&quot;
</span><span class="cx"> #include &quot;StorageArea.h&quot;
</span><span class="cx"> #include &quot;StorageNamespace.h&quot;
</span><span class="lines">@@ -49,6 +50,12 @@
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">     virtual RefPtr&lt;IDBFactoryBackendInterface&gt; createIDBFactoryBackend() { return nullptr; }
</span><span class="cx">     virtual bool supportsModernIDB() const { return false; }
</span><ins>+    
+    virtual IDBClient::IDBConnectionToServer&amp; idbConnectionToServerForSession(const SessionID&amp;)
+    {
+        static NeverDestroyed&lt;Ref&lt;InProcessIDBServer&gt;&gt; sharedConnection(InProcessIDBServer::create());
+        return sharedConnection.get()-&gt;connectionToServer();
+    }
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageDatabaseProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DatabaseProvider.h (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DatabaseProvider.h        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/page/DatabaseProvider.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -33,7 +33,12 @@
</span><span class="cx"> 
</span><span class="cx"> class IDBConnectionManager;
</span><span class="cx"> class IDBFactoryBackendInterface;
</span><ins>+class SessionID;
</ins><span class="cx"> 
</span><ins>+namespace IDBClient {
+class IDBConnectionToServer;
+}
+
</ins><span class="cx"> class WEBCORE_EXPORT DatabaseProvider : public RefCounted&lt;DatabaseProvider&gt; {
</span><span class="cx"> public:
</span><span class="cx">     virtual ~DatabaseProvider();
</span><span class="lines">@@ -42,6 +47,7 @@
</span><span class="cx">     IDBFactoryBackendInterface* idbFactoryBackend();
</span><span class="cx"> 
</span><span class="cx">     virtual bool supportsModernIDB() const = 0;
</span><ins>+    virtual IDBClient::IDBConnectionToServer&amp; idbConnectionToServerForSession(const SessionID&amp;) = 0;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCorepagePagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.cpp (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.cpp        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/page/Page.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -50,6 +50,7 @@
</span><span class="cx"> #include &quot;HTMLElement.h&quot;
</span><span class="cx"> #include &quot;HistoryController.h&quot;
</span><span class="cx"> #include &quot;HistoryItem.h&quot;
</span><ins>+#include &quot;IDBConnectionToServer.h&quot;
</ins><span class="cx"> #include &quot;InspectorController.h&quot;
</span><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span><span class="lines">@@ -113,6 +114,10 @@
</span><span class="cx"> #include &quot;MediaSessionManager.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(INDEXED_DATABASE)
+#include &quot;InProcessIDBServer.h&quot;
+#endif
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static HashSet&lt;Page*&gt;* allPages;
</span><span class="lines">@@ -1758,4 +1763,19 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(INDEXED_DATABASE)
+IDBClient::IDBConnectionToServer&amp; Page::idbConnection()
+{
+    if (!m_idbIDBConnectionToServer) {
+        if (usesEphemeralSession()) {
+            auto inProcessServer = InProcessIDBServer::create();
+            m_idbIDBConnectionToServer = &amp;inProcessServer-&gt;connectionToServer();
+        } else
+            m_idbIDBConnectionToServer = &amp;databaseProvider().idbConnectionToServerForSession(m_sessionID);
+    }
+    
+    return *m_idbIDBConnectionToServer;
+}
+#endif
+
</ins><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.h (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.h        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/page/Page.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -64,6 +64,10 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+namespace IDBClient {
+class IDBConnectionToServer;
+}
+
</ins><span class="cx"> class AlternativeTextClient;
</span><span class="cx"> class ApplicationCacheStorage;
</span><span class="cx"> class BackForwardController;
</span><span class="lines">@@ -466,6 +470,10 @@
</span><span class="cx">     WEBCORE_EXPORT void setAllowsMediaDocumentInlinePlayback(bool);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(INDEXED_DATABASE)
+    IDBClient::IDBConnectionToServer&amp; idbConnection();
+#endif
+
</ins><span class="cx"> private:
</span><span class="cx">     WEBCORE_EXPORT void initGroup();
</span><span class="cx"> 
</span><span class="lines">@@ -603,6 +611,10 @@
</span><span class="cx">     const std::unique_ptr&lt;PageDebuggable&gt; m_inspectorDebuggable;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(INDEXED_DATABASE)
+    RefPtr&lt;IDBClient::IDBConnectionToServer&gt; m_idbIDBConnectionToServer;
+#endif
+
</ins><span class="cx">     HashSet&lt;String&gt; m_seenPlugins;
</span><span class="cx">     HashSet&lt;String&gt; m_seenMediaEngines;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageSecurityOriginDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SecurityOriginData.cpp (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/SecurityOriginData.cpp        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/page/SecurityOriginData.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -46,6 +46,13 @@
</span><span class="cx">     return securityOriginData;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#ifndef NDEBUG
+String SecurityOriginData::debugString() const
+{
+    return makeString(protocol, &quot;://&quot;, host, &quot;:&quot;, String::number(port));
+}
+#endif
+
</ins><span class="cx"> SecurityOriginData SecurityOriginData::fromFrame(Frame* frame)
</span><span class="cx"> {
</span><span class="cx">     if (!frame)
</span></span></pre></div>
<a id="trunkSourceWebCorepageSecurityOriginDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SecurityOriginData.h (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/SecurityOriginData.h        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebCore/page/SecurityOriginData.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -49,6 +49,10 @@
</span><span class="cx"> 
</span><span class="cx">     template&lt;class Encoder&gt; void encode(Encoder&amp;) const;
</span><span class="cx">     template&lt;class Decoder&gt; static bool decode(Decoder&amp;, SecurityOriginData&amp;);
</span><ins>+
+#ifndef NDEBUG
+    String debugString() const;
+#endif
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WEBCORE_EXPORT bool operator==(const SecurityOriginData&amp;, const SecurityOriginData&amp;);
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebKit/ChangeLog        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2015-09-28  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Add an IDB Server that can roundtrip a request back to the client.
+        https://bugs.webkit.org/show_bug.cgi?id=149603
+
+        Reviewed by Alex Christensen.
+
+        * Storage/WebDatabaseProvider.cpp:
+        (WebDatabaseProvider::idbConnectionToServerForSession):
+        * Storage/WebDatabaseProvider.h:
+
</ins><span class="cx"> 2015-09-25  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Clean up CMake build on Mac
</span></span></pre></div>
<a id="trunkSourceWebKitStorageWebDatabaseProvidercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/WebDatabaseProvider.cpp (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/WebDatabaseProvider.cpp        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebKit/Storage/WebDatabaseProvider.cpp        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include &quot;WebDatabaseProvider.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &lt;WebCore/IDBFactoryBackendInterface.h&gt;
</span><ins>+#include &lt;WebCore/SessionID.h&gt;
</ins><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span><span class="cx"> 
</span><span class="cx"> WebDatabaseProvider&amp; WebDatabaseProvider::singleton()
</span><span class="lines">@@ -48,4 +49,13 @@
</span><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><ins>+
+WebCore::IDBClient::IDBConnectionToServer&amp; WebDatabaseProvider::idbConnectionToServerForSession(const WebCore::SessionID&amp; sessionID)
+{
+    auto result = m_idbServerMap.add(sessionID.sessionID(), nullptr);
+    if (result.isNewEntry)
+        result.iterator-&gt;value = WebCore::InProcessIDBServer::create();
+
+    return result.iterator-&gt;value-&gt;connectionToServer();
+}
</ins><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitStorageWebDatabaseProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/WebDatabaseProvider.h (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/WebDatabaseProvider.h        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebKit/Storage/WebDatabaseProvider.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -27,7 +27,10 @@
</span><span class="cx"> #define WebDatabaseProvider_h
</span><span class="cx"> 
</span><span class="cx"> #include &lt;WebCore/DatabaseProvider.h&gt;
</span><ins>+#include &lt;WebCore/InProcessIDBServer.h&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><ins>+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/RefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> class WebDatabaseProvider final : public WebCore::DatabaseProvider {
</span><span class="cx">     friend class NeverDestroyed&lt;WebDatabaseProvider&gt;;
</span><span class="lines">@@ -37,6 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">     virtual bool supportsModernIDB() const override { return true; }
</span><ins>+    virtual WebCore::IDBClient::IDBConnectionToServer&amp; idbConnectionToServerForSession(const WebCore::SessionID&amp;) override;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -44,6 +48,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">     virtual RefPtr&lt;WebCore::IDBFactoryBackendInterface&gt; createIDBFactoryBackend() override;
</span><ins>+    HashMap&lt;uint64_t, RefPtr&lt;WebCore::InProcessIDBServer&gt;&gt; m_idbServerMap;
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebKit2/ChangeLog        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-09-28  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Add an IDB Server that can roundtrip a request back to the client.
+        https://bugs.webkit.org/show_bug.cgi?id=149603
+
+        Reviewed by Alex Christensen.
+
+        * WebProcess/Databases/WebDatabaseProvider.h:
+
</ins><span class="cx"> 2015-09-28  Beth Dakin  &lt;bdakin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Heavy taps on links are sometimes interpreted as the preview gesture
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesWebDatabaseProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.h (190290 => 190291)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.h        2015-09-28 22:44:17 UTC (rev 190290)
+++ trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.h        2015-09-28 22:44:42 UTC (rev 190291)
</span><span class="lines">@@ -37,6 +37,11 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">     virtual bool supportsModernIDB() const override { return false; }
</span><ins>+
+    virtual WebCore::IDBClient::IDBConnectionToServer&amp; idbConnectionToServerForSession(const WebCore::SessionID&amp;) override
+    {
+        RELEASE_ASSERT_NOT_REACHED();
+    }
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre>
</div>
</div>

</body>
</html>