<!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>[197131] trunk/Source</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/197131">197131</a></dd>
<dt>Author</dt> <dd>beidson@apple.com</dd>
<dt>Date</dt> <dd>2016-02-25 14:19:06 -0800 (Thu, 25 Feb 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Remove LegacyIDB.
https://bugs.webkit.org/show_bug.cgi?id=150854
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No change in behavior).
* CMakeLists.txt:
* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::indexedDB):
* Modules/indexeddb/IDBDatabaseMetadata.cpp: Removed.
* Modules/indexeddb/IDBDatabaseMetadata.h: Removed.
* Modules/indexeddb/IDBFactory.h:
* Modules/indexeddb/IDBIndex.h:
* Modules/indexeddb/IDBIndexMetadata.h: Removed.
* Modules/indexeddb/IDBObjectStoreMetadata.h: Removed.
* Modules/indexeddb/IDBOperation.h: Removed.
* Modules/indexeddb/IDBServerConnection.h: Removed.
* Modules/indexeddb/IDBTransaction.h:
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
(WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
* Modules/indexeddb/legacy/IDBCallbacks.h: Removed.
* Modules/indexeddb/legacy/IDBCursorBackend.cpp: Removed.
* Modules/indexeddb/legacy/IDBCursorBackend.h: Removed.
* Modules/indexeddb/legacy/IDBCursorBackendOperations.cpp: Removed.
* Modules/indexeddb/legacy/IDBCursorBackendOperations.h: Removed.
* Modules/indexeddb/legacy/IDBDatabaseBackend.cpp: Removed.
* Modules/indexeddb/legacy/IDBDatabaseBackend.h: Removed.
* Modules/indexeddb/legacy/IDBDatabaseCallbacks.h: Removed.
* Modules/indexeddb/legacy/IDBDatabaseCallbacksImpl.cpp: Removed.
* Modules/indexeddb/legacy/IDBDatabaseCallbacksImpl.h: Removed.
* Modules/indexeddb/legacy/IDBFactoryBackendInterface.h: Removed.
* Modules/indexeddb/legacy/IDBPendingDeleteCall.h: Removed.
* Modules/indexeddb/legacy/IDBPendingOpenCall.h: Removed.
* Modules/indexeddb/legacy/IDBPendingTransactionMonitor.cpp: Removed.
* Modules/indexeddb/legacy/IDBPendingTransactionMonitor.h: Removed.
* Modules/indexeddb/legacy/IDBTransactionBackend.cpp: Removed.
* Modules/indexeddb/legacy/IDBTransactionBackend.h: Removed.
* Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp: Removed.
* Modules/indexeddb/legacy/IDBTransactionBackendOperations.h: Removed.
* Modules/indexeddb/legacy/IDBTransactionCoordinator.cpp: Removed.
* Modules/indexeddb/legacy/IDBTransactionCoordinator.h: Removed.
* Modules/indexeddb/legacy/LegacyAny.cpp: Removed.
* Modules/indexeddb/legacy/LegacyAny.h: Removed.
* Modules/indexeddb/legacy/LegacyCursor.cpp: Removed.
* Modules/indexeddb/legacy/LegacyCursor.h: Removed.
* Modules/indexeddb/legacy/LegacyCursorWithValue.cpp: Removed.
* Modules/indexeddb/legacy/LegacyCursorWithValue.h: Removed.
* Modules/indexeddb/legacy/LegacyDatabase.cpp: Removed.
* Modules/indexeddb/legacy/LegacyDatabase.h: Removed.
* Modules/indexeddb/legacy/LegacyFactory.cpp: Removed.
* Modules/indexeddb/legacy/LegacyFactory.h: Removed.
* Modules/indexeddb/legacy/LegacyIndex.cpp: Removed.
* Modules/indexeddb/legacy/LegacyIndex.h: Removed.
* Modules/indexeddb/legacy/LegacyObjectStore.cpp: Removed.
* Modules/indexeddb/legacy/LegacyObjectStore.h: Removed.
* Modules/indexeddb/legacy/LegacyOpenDBRequest.cpp: Removed.
* Modules/indexeddb/legacy/LegacyOpenDBRequest.h: Removed.
* Modules/indexeddb/legacy/LegacyRequest.cpp: Removed.
* Modules/indexeddb/legacy/LegacyRequest.h: Removed.
* Modules/indexeddb/legacy/LegacyTransaction.cpp: Removed.
* Modules/indexeddb/legacy/LegacyTransaction.h: Removed.
* Modules/indexeddb/legacy/LegacyVersionChangeEvent.cpp: Removed.
* Modules/indexeddb/legacy/LegacyVersionChangeEvent.h: Removed.
* Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::SQLiteIDBCursor):
(WebCore::IDBServer::SQLiteIDBCursor::establishStatement):
(WebCore::IDBServer::SQLiteIDBCursor::internalAdvanceOnce):
* Modules/indexeddb/server/SQLiteIDBCursor.h:
* Modules/indexeddb/shared/IDBIndexInfo.h:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::generateIndexKeysForValue): Deleted.
* bindings/js/IDBBindingUtilities.h:
* bindings/js/JSMainThreadExecState.cpp:
(WebCore::JSMainThreadExecState::didLeaveScriptContext): Deleted.
* inspector/InspectorIndexedDBAgent.cpp:
* loader/EmptyClients.cpp:
* page/DatabaseProvider.cpp:
(WebCore::DatabaseProvider::idbFactoryBackend): Deleted.
* page/DatabaseProvider.h:
* platform/CrossThreadCopier.cpp:
(WebCore::IDBDatabaseMetadata>::copy): Deleted.
(WebCore::IDBIndexMetadata>::copy): Deleted.
(WebCore::IDBObjectStoreMetadata>::copy): Deleted.
* platform/CrossThreadCopier.h:
Source/WebKit:
* Storage/WebDatabaseProvider.cpp:
(WebDatabaseProvider::createIDBFactoryBackend): Deleted.
* Storage/WebDatabaseProvider.h:
Source/WebKit2:
* CMakeLists.txt:
* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::getOrCreateLegacyUniqueIDBDatabase): Deleted.
(WebKit::DatabaseProcess::removeLegacyUniqueIDBDatabase): Deleted.
* DatabaseProcess/DatabaseProcess.h:
* DatabaseProcess/DatabaseToWebProcessConnection.cpp:
(WebKit::DatabaseToWebProcessConnection::didClose):
(WebKit::DatabaseToWebProcessConnection::didReceiveMessage): Deleted.
(WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage): Deleted.
(WebKit::DatabaseToWebProcessConnection::establishIDBConnection): Deleted.
(WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Deleted.
* DatabaseProcess/DatabaseToWebProcessConnection.h:
* DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Removed.
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Removed.
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Removed.
* DatabaseProcess/IndexedDB/IDBIdentifier.h: Removed.
* DatabaseProcess/IndexedDB/IDBSerialization.cpp: Removed.
* DatabaseProcess/IndexedDB/IDBSerialization.h: Removed.
* DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp: Removed.
* DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h: Removed.
* DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp: Removed.
* DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h: Removed.
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: Removed.
* DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: Removed.
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: Removed.
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: Removed.
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: Removed.
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Removed.
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: Removed.
* DerivedSources.make:
* Shared/WebCrossThreadCopier.cpp:
(WebCore::LegacyUniqueIDBDatabaseIdentifier>::copy): Deleted.
(WebCore::IDBIdentifier>::copy): Deleted.
* Shared/WebCrossThreadCopier.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed.
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Removed.
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Removed.
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Removed.
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Removed.
* WebProcess/Databases/WebDatabaseProvider.cpp:
(WebKit::WebDatabaseProvider::createIDBFactoryBackend): Deleted.
* WebProcess/Databases/WebDatabaseProvider.h:
* WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
(WebKit::WebToDatabaseProcessConnection::didReceiveMessage): Deleted.
(WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Deleted.
(WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Deleted.
* WebProcess/Databases/WebToDatabaseProcessConnection.h:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:</pre>
<h3>Modified Paths</h3>
<ul>
<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="#trunkSourceWebCoreModulesindexeddbIDBFactoryh">trunk/Source/WebCore/Modules/indexeddb/IDBFactory.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBIndexh">trunk/Source/WebCore/Modules/indexeddb/IDBIndex.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBTransactionh">trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbWorkerGlobalScopeIndexedDatabasecpp">trunk/Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbWorkerGlobalScopeIndexedDatabaseh">trunk/Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverSQLiteIDBCursorcpp">trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverSQLiteIDBCursorh">trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedIDBIndexInfoh">trunk/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.h</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsIDBBindingUtilitiescpp">trunk/Source/WebCore/bindings/js/IDBBindingUtilities.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsIDBBindingUtilitiesh">trunk/Source/WebCore/bindings/js/IDBBindingUtilities.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMainThreadExecStatecpp">trunk/Source/WebCore/bindings/js/JSMainThreadExecState.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorIndexedDBAgentcpp">trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderEmptyClientscpp">trunk/Source/WebCore/loader/EmptyClients.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDatabaseProvidercpp">trunk/Source/WebCore/page/DatabaseProvider.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDatabaseProviderh">trunk/Source/WebCore/page/DatabaseProvider.h</a></li>
<li><a href="#trunkSourceWebCoreplatformCrossThreadCopiercpp">trunk/Source/WebCore/platform/CrossThreadCopier.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformCrossThreadCopierh">trunk/Source/WebCore/platform/CrossThreadCopier.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="#trunkSourceWebKit2CMakeListstxt">trunk/Source/WebKit2/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessDatabaseProcesscpp">trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessDatabaseProcessh">trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessDatabaseToWebProcessConnectioncpp">trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.cpp</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessDatabaseToWebProcessConnectionh">trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.h</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessDatabaseToWebProcessConnectionmessagesin">trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBWebIDBConnectionToClienth">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h</a></li>
<li><a href="#trunkSourceWebKit2DerivedSourcesmake">trunk/Source/WebKit2/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebKit2SharedWebCrossThreadCopiercpp">trunk/Source/WebKit2/Shared/WebCrossThreadCopier.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedWebCrossThreadCopierh">trunk/Source/WebKit2/Shared/WebCrossThreadCopier.h</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesWebDatabaseProvidercpp">trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesWebDatabaseProviderh">trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesWebToDatabaseProcessConnectioncpp">trunk/Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesWebToDatabaseProcessConnectionh">trunk/Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebPlatformStrategiescpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseMetadatacpp">trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseMetadatah">trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBIndexMetadatah">trunk/Source/WebCore/Modules/indexeddb/IDBIndexMetadata.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBObjectStoreMetadatah">trunk/Source/WebCore/Modules/indexeddb/IDBObjectStoreMetadata.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBOperationh">trunk/Source/WebCore/Modules/indexeddb/IDBOperation.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBServerConnectionh">trunk/Source/WebCore/Modules/indexeddb/IDBServerConnection.h</a></li>
<li>trunk/Source/WebCore/Modules/indexeddb/legacy/</li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBDatabaseProcessIDBConnectioncpp">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBDatabaseProcessIDBConnectionh">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBDatabaseProcessIDBConnectionmessagesin">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBIDBIdentifierh">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBIdentifier.h</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBIDBSerializationcpp">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.cpp</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBIDBSerializationh">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.h</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBLegacyUniqueIDBDatabasecpp">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBLegacyUniqueIDBDatabaseh">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBLegacyUniqueIDBDatabaseIdentifiercpp">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBLegacyUniqueIDBDatabaseIdentifierh">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h</a></li>
<li><a href="#trunkSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabaseBackingStoreh">trunk/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h</a></li>
<li>trunk/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/</li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBFactoryBackendcpp">trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBFactoryBackendh">trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectioncpp">trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectionh">trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectionmessagesin">trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -10,7 +10,6 @@
</span><span class="cx"> "${WEBCORE_DIR}/Modules/geolocation"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/indexeddb"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/indexeddb/client"
</span><del>- "${WEBCORE_DIR}/Modules/indexeddb/legacy"
</del><span class="cx"> "${WEBCORE_DIR}/Modules/indexeddb/server"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/indexeddb/shared"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/indieui"
</span><span class="lines">@@ -831,7 +830,6 @@
</span><span class="cx"> Modules/indexeddb/IDBDatabase.cpp
</span><span class="cx"> Modules/indexeddb/IDBDatabaseException.cpp
</span><span class="cx"> Modules/indexeddb/IDBDatabaseIdentifier.cpp
</span><del>- Modules/indexeddb/IDBDatabaseMetadata.cpp
</del><span class="cx"> Modules/indexeddb/IDBEventDispatcher.cpp
</span><span class="cx"> Modules/indexeddb/IDBFactory.cpp
</span><span class="cx"> Modules/indexeddb/IDBGetResult.cpp
</span><span class="lines">@@ -863,26 +861,6 @@
</span><span class="cx"> Modules/indexeddb/client/IDBVersionChangeEventImpl.cpp
</span><span class="cx"> Modules/indexeddb/client/TransactionOperation.cpp
</span><span class="cx">
</span><del>- Modules/indexeddb/legacy/IDBCursorBackend.cpp
- Modules/indexeddb/legacy/IDBCursorBackendOperations.cpp
- Modules/indexeddb/legacy/IDBDatabaseBackend.cpp
- Modules/indexeddb/legacy/IDBDatabaseCallbacksImpl.cpp
- Modules/indexeddb/legacy/IDBPendingTransactionMonitor.cpp
- Modules/indexeddb/legacy/IDBTransactionBackend.cpp
- Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp
- Modules/indexeddb/legacy/IDBTransactionCoordinator.cpp
- Modules/indexeddb/legacy/LegacyAny.cpp
- Modules/indexeddb/legacy/LegacyCursor.cpp
- Modules/indexeddb/legacy/LegacyCursorWithValue.cpp
- Modules/indexeddb/legacy/LegacyDatabase.cpp
- Modules/indexeddb/legacy/LegacyFactory.cpp
- Modules/indexeddb/legacy/LegacyIndex.cpp
- Modules/indexeddb/legacy/LegacyObjectStore.cpp
- Modules/indexeddb/legacy/LegacyOpenDBRequest.cpp
- Modules/indexeddb/legacy/LegacyRequest.cpp
- Modules/indexeddb/legacy/LegacyTransaction.cpp
- Modules/indexeddb/legacy/LegacyVersionChangeEvent.cpp
-
</del><span class="cx"> Modules/indexeddb/server/IDBConnectionToClient.cpp
</span><span class="cx"> Modules/indexeddb/server/IDBSerialization.cpp
</span><span class="cx"> Modules/indexeddb/server/IDBServer.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/ChangeLog        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,3 +1,93 @@
</span><ins>+2016-02-25 Brady Eidson <beidson@apple.com>
+
+ Remove LegacyIDB.
+ https://bugs.webkit.org/show_bug.cgi?id=150854
+
+ Reviewed by Alex Christensen.
+
+ No new tests (No change in behavior).
+
+ * CMakeLists.txt:
+ * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
+ (WebCore::DOMWindowIndexedDatabase::indexedDB):
+ * Modules/indexeddb/IDBDatabaseMetadata.cpp: Removed.
+ * Modules/indexeddb/IDBDatabaseMetadata.h: Removed.
+ * Modules/indexeddb/IDBFactory.h:
+ * Modules/indexeddb/IDBIndex.h:
+ * Modules/indexeddb/IDBIndexMetadata.h: Removed.
+ * Modules/indexeddb/IDBObjectStoreMetadata.h: Removed.
+ * Modules/indexeddb/IDBOperation.h: Removed.
+ * Modules/indexeddb/IDBServerConnection.h: Removed.
+ * Modules/indexeddb/IDBTransaction.h:
+ * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
+ (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
+ * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
+ * Modules/indexeddb/legacy/IDBCallbacks.h: Removed.
+ * Modules/indexeddb/legacy/IDBCursorBackend.cpp: Removed.
+ * Modules/indexeddb/legacy/IDBCursorBackend.h: Removed.
+ * Modules/indexeddb/legacy/IDBCursorBackendOperations.cpp: Removed.
+ * Modules/indexeddb/legacy/IDBCursorBackendOperations.h: Removed.
+ * Modules/indexeddb/legacy/IDBDatabaseBackend.cpp: Removed.
+ * Modules/indexeddb/legacy/IDBDatabaseBackend.h: Removed.
+ * Modules/indexeddb/legacy/IDBDatabaseCallbacks.h: Removed.
+ * Modules/indexeddb/legacy/IDBDatabaseCallbacksImpl.cpp: Removed.
+ * Modules/indexeddb/legacy/IDBDatabaseCallbacksImpl.h: Removed.
+ * Modules/indexeddb/legacy/IDBFactoryBackendInterface.h: Removed.
+ * Modules/indexeddb/legacy/IDBPendingDeleteCall.h: Removed.
+ * Modules/indexeddb/legacy/IDBPendingOpenCall.h: Removed.
+ * Modules/indexeddb/legacy/IDBPendingTransactionMonitor.cpp: Removed.
+ * Modules/indexeddb/legacy/IDBPendingTransactionMonitor.h: Removed.
+ * Modules/indexeddb/legacy/IDBTransactionBackend.cpp: Removed.
+ * Modules/indexeddb/legacy/IDBTransactionBackend.h: Removed.
+ * Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp: Removed.
+ * Modules/indexeddb/legacy/IDBTransactionBackendOperations.h: Removed.
+ * Modules/indexeddb/legacy/IDBTransactionCoordinator.cpp: Removed.
+ * Modules/indexeddb/legacy/IDBTransactionCoordinator.h: Removed.
+ * Modules/indexeddb/legacy/LegacyAny.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyAny.h: Removed.
+ * Modules/indexeddb/legacy/LegacyCursor.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyCursor.h: Removed.
+ * Modules/indexeddb/legacy/LegacyCursorWithValue.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyCursorWithValue.h: Removed.
+ * Modules/indexeddb/legacy/LegacyDatabase.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyDatabase.h: Removed.
+ * Modules/indexeddb/legacy/LegacyFactory.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyFactory.h: Removed.
+ * Modules/indexeddb/legacy/LegacyIndex.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyIndex.h: Removed.
+ * Modules/indexeddb/legacy/LegacyObjectStore.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyObjectStore.h: Removed.
+ * Modules/indexeddb/legacy/LegacyOpenDBRequest.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyOpenDBRequest.h: Removed.
+ * Modules/indexeddb/legacy/LegacyRequest.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyRequest.h: Removed.
+ * Modules/indexeddb/legacy/LegacyTransaction.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyTransaction.h: Removed.
+ * Modules/indexeddb/legacy/LegacyVersionChangeEvent.cpp: Removed.
+ * Modules/indexeddb/legacy/LegacyVersionChangeEvent.h: Removed.
+ * Modules/indexeddb/server/SQLiteIDBCursor.cpp:
+ (WebCore::IDBServer::SQLiteIDBCursor::SQLiteIDBCursor):
+ (WebCore::IDBServer::SQLiteIDBCursor::establishStatement):
+ (WebCore::IDBServer::SQLiteIDBCursor::internalAdvanceOnce):
+ * Modules/indexeddb/server/SQLiteIDBCursor.h:
+ * Modules/indexeddb/shared/IDBIndexInfo.h:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/IDBBindingUtilities.cpp:
+ (WebCore::generateIndexKeysForValue): Deleted.
+ * bindings/js/IDBBindingUtilities.h:
+ * bindings/js/JSMainThreadExecState.cpp:
+ (WebCore::JSMainThreadExecState::didLeaveScriptContext): Deleted.
+ * inspector/InspectorIndexedDBAgent.cpp:
+ * loader/EmptyClients.cpp:
+ * page/DatabaseProvider.cpp:
+ (WebCore::DatabaseProvider::idbFactoryBackend): Deleted.
+ * page/DatabaseProvider.h:
+ * platform/CrossThreadCopier.cpp:
+ (WebCore::IDBDatabaseMetadata>::copy): Deleted.
+ (WebCore::IDBIndexMetadata>::copy): Deleted.
+ (WebCore::IDBObjectStoreMetadata>::copy): Deleted.
+ * platform/CrossThreadCopier.h:
+
</ins><span class="cx"> 2016-02-25 Said Abou-Hallawa <sabouhallawa@apple.com>
</span><span class="cx">
</span><span class="cx"> REGRESSION (r196268): Many assertion failures and crashes on SVG path animation tests when JS garbage collection happens quickly
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbDOMWindowIndexedDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #include "DatabaseProvider.h"
</span><span class="cx"> #include "Document.h"
</span><span class="cx"> #include "IDBFactoryImpl.h"
</span><del>-#include "LegacyFactory.h"
</del><span class="cx"> #include "Page.h"
</span><span class="cx"> #include "SecurityOrigin.h"
</span><span class="cx">
</span><span class="lines">@@ -112,12 +111,8 @@
</span><span class="cx"> if (!m_window->isCurrentlyDisplayedInFrame())
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- if (!m_idbFactory) {
- if (page->databaseProvider().supportsModernIDB())
- m_idbFactory = IDBClient::IDBFactory::create(page->idbConnection());
- else
- m_idbFactory = LegacyFactory::create(page->databaseProvider().idbFactoryBackend());
- }
</del><ins>+ if (!m_idbFactory)
+ m_idbFactory = IDBClient::IDBFactory::create(page->idbConnection());
</ins><span class="cx">
</span><span class="cx"> return m_idbFactory.get();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseMetadatacpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,79 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 "config.h"
-#include "IDBDatabaseMetadata.h"
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-IDBDatabaseMetadata IDBDatabaseMetadata::isolatedCopy() const
-{
- IDBDatabaseMetadata result;
- result.id = id;
- result.version = version;
- result.maxObjectStoreId = maxObjectStoreId;
-
- result.name = name.isolatedCopy();
-
- for (auto& objectStore : objectStores)
- result.objectStores.set(objectStore.key, objectStore.value.isolatedCopy());
-
- return result;
-}
-
-IDBObjectStoreMetadata IDBObjectStoreMetadata::isolatedCopy() const
-{
- IDBObjectStoreMetadata result;
- result.id = id;
- result.autoIncrement = autoIncrement;
- result.maxIndexId = maxIndexId;
-
- result.name = name.isolatedCopy();
- result.keyPath = keyPath.isolatedCopy();
-
- for (auto& index : indexes)
- result.indexes.set(index.key, index.value.isolatedCopy());
-
- return result;
-}
-
-IDBIndexMetadata IDBIndexMetadata::isolatedCopy() const
-{
- IDBIndexMetadata result;
- result.id = id;
- result.unique = unique;
- result.multiEntry = multiEntry;
-
- result.name = name.isolatedCopy();
- result.keyPath = keyPath.isolatedCopy();
-
- return result;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseMetadatah"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,115 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 Google 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.
- * 3. Neither the name of Apple Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE 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 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 IDBDatabaseMetadata_h
-#define IDBDatabaseMetadata_h
-
-#include "IDBObjectStoreMetadata.h"
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-struct IDBDatabaseMetadata {
-
- // FIXME: These are only here to support the LevelDB backend which incorrectly handles versioning.
- // Once LevelDB supports a single, uint64_t version and throws out the old string version, these
- // should be gotten rid of.
- // Also, "NoIntVersion" used to be a magic number of -1, which doesn't work with the new unsigned type.
- // Changing the value to INT64_MAX here seems like a reasonable temporary fix as the current LevelDB
- // already cannot represent valid version numbers between INT64_MAX and UINT64_MAX.
-
-#ifndef INT64_MAX
-#define INT64_MAX 9223372036854775807LL
-#endif
-
- enum {
- NoIntVersion = INT64_MAX,
- DefaultIntVersion = 0
- };
-
- IDBDatabaseMetadata()
- : id(0)
- , version(0)
- , maxObjectStoreId(0)
- {
- }
-
- IDBDatabaseMetadata(const String& name, int64_t id, uint64_t version, int64_t maxObjectStoreId)
- : name(name)
- , id(id)
- , version(version)
- , maxObjectStoreId(maxObjectStoreId)
- {
- }
-
- template<class Encoder> void encode(Encoder&) const;
- template<class Decoder> static bool decode(Decoder&, IDBDatabaseMetadata&);
-
- String name;
- int64_t id;
- uint64_t version;
- int64_t maxObjectStoreId;
-
- typedef HashMap<int64_t, IDBObjectStoreMetadata> ObjectStoreMap;
- ObjectStoreMap objectStores;
-
- WEBCORE_EXPORT IDBDatabaseMetadata isolatedCopy() const;
-};
-
-template<class Encoder>
-void IDBDatabaseMetadata::encode(Encoder& encoder) const
-{
- encoder << name << id << version << maxObjectStoreId << objectStores;
-}
-
-template<class Decoder>
-bool IDBDatabaseMetadata::decode(Decoder& decoder, IDBDatabaseMetadata& metadata)
-{
- if (!decoder.decode(metadata.name))
- return false;
-
- if (!decoder.decode(metadata.id))
- return false;
-
- if (!decoder.decode(metadata.version))
- return false;
-
- if (!decoder.decode(metadata.maxObjectStoreId))
- return false;
-
- if (!decoder.decode(metadata.objectStores))
- return false;
-
- return true;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
-#endif // IDBDatabaseMetadata_h
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBFactoryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBFactory.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBFactory.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBFactory.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx">
</span><span class="cx"> class IDBKey;
</span><span class="cx"> class IDBKeyRange;
</span><del>-class IDBFactoryBackendInterface;
</del><span class="cx"> class ScriptExecutionContext;
</span><span class="cx">
</span><span class="cx"> struct ExceptionCodeWithMessage;
</span><span class="lines">@@ -68,4 +67,4 @@
</span><span class="cx">
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-#endif // LegacyFactory_h
</del><ins>+#endif // IDBFactory_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBIndexh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBIndex.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBIndex.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBIndex.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx">
</span><span class="cx"> #include "IDBCursor.h"
</span><span class="cx"> #include "IDBDatabase.h"
</span><del>-#include "IDBDatabaseMetadata.h"
</del><span class="cx"> #include "IDBKeyPath.h"
</span><span class="cx"> #include "IDBKeyRange.h"
</span><span class="cx"> #include "IDBObjectStore.h"
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBIndexMetadatah"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/indexeddb/IDBIndexMetadata.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBIndexMetadata.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBIndexMetadata.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,98 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 Google 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.
- * 3. Neither the name of Apple Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE 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 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 IDBIndexMetadata_h
-#define IDBIndexMetadata_h
-
-#include "IDBKeyPath.h"
-#include <wtf/HashMap.h>
-#include <wtf/text/WTFString.h>
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-struct IDBIndexMetadata {
- IDBIndexMetadata()
- {
- }
-
- IDBIndexMetadata(const String& name, int64_t id, const IDBKeyPath& keyPath, bool unique, bool multiEntry)
- : name(name)
- , id(id)
- , keyPath(keyPath)
- , unique(unique)
- , multiEntry(multiEntry)
- {
- }
-
- template<class Encoder> void encode(Encoder&) const;
- template<class Decoder> static bool decode(Decoder&, IDBIndexMetadata&);
-
- String name;
- int64_t id;
- IDBKeyPath keyPath;
- bool unique;
- bool multiEntry;
-
- IDBIndexMetadata isolatedCopy() const;
-
- static const int64_t InvalidId = -1;
-};
-
-template<class Encoder>
-void IDBIndexMetadata::encode(Encoder& encoder) const
-{
- encoder << name << id << keyPath << unique << multiEntry;
-}
-
-template<class Decoder>
-bool IDBIndexMetadata::decode(Decoder& decoder, IDBIndexMetadata& metadata)
-{
- if (!decoder.decode(metadata.name))
- return false;
-
- if (!decoder.decode(metadata.id))
- return false;
-
- if (!decoder.decode(metadata.keyPath))
- return false;
-
- if (!decoder.decode(metadata.unique))
- return false;
-
- if (!decoder.decode(metadata.multiEntry))
- return false;
-
- return true;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
-#endif // IDBIndexMetadata_h
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBObjectStoreMetadatah"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/indexeddb/IDBObjectStoreMetadata.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBObjectStoreMetadata.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBObjectStoreMetadata.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,102 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 Google 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.
- * 3. Neither the name of Apple Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE 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 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 IDBObjectStoreMetadata_h
-#define IDBObjectStoreMetadata_h
-
-#include "IDBIndexMetadata.h"
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-struct IDBObjectStoreMetadata {
- IDBObjectStoreMetadata()
- {
- }
-
- IDBObjectStoreMetadata(const String& name, int64_t id, const IDBKeyPath& keyPath, bool autoIncrement, int64_t maxIndexId)
- : name(name)
- , id(id)
- , keyPath(keyPath)
- , autoIncrement(autoIncrement)
- , maxIndexId(maxIndexId)
- {
- }
-
- template<class Encoder> void encode(Encoder&) const;
- template<class Decoder> static bool decode(Decoder&, IDBObjectStoreMetadata&);
-
- String name;
- int64_t id;
- IDBKeyPath keyPath;
- bool autoIncrement;
- int64_t maxIndexId;
-
- static const int64_t InvalidId = -1;
-
- typedef HashMap<int64_t, IDBIndexMetadata> IndexMap;
- IndexMap indexes;
-
- IDBObjectStoreMetadata isolatedCopy() const;
-};
-
-template<class Encoder>
-void IDBObjectStoreMetadata::encode(Encoder& encoder) const
-{
- encoder << name << id << keyPath << autoIncrement << maxIndexId << indexes;
-}
-
-template<class Decoder>
-bool IDBObjectStoreMetadata::decode(Decoder& decoder, IDBObjectStoreMetadata& metadata)
-{
- if (!decoder.decode(metadata.name))
- return false;
-
- if (!decoder.decode(metadata.id))
- return false;
-
- if (!decoder.decode(metadata.keyPath))
- return false;
-
- if (!decoder.decode(metadata.autoIncrement))
- return false;
-
- if (!decoder.decode(metadata.maxIndexId))
- return false;
-
- if (!decoder.decode(metadata.indexes))
- return false;
-
- return true;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
-#endif // IDBObjectStoreMetadata_h
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBOperationh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/indexeddb/IDBOperation.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBOperation.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBOperation.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,50 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 IDBOperation_h
-#define IDBOperation_h
-
-#include <functional>
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-class IDBOperation : public RefCounted<IDBOperation> {
-public:
- virtual ~IDBOperation() { }
- virtual void perform(std::function<void()> completionCallback) = 0;
-};
-
-class IDBSynchronousOperation : public RefCounted<IDBSynchronousOperation> {
-public:
- virtual ~IDBSynchronousOperation() { }
- virtual void perform() = 0;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
-#endif // IDBOperation_h
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBServerConnectionh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/indexeddb/IDBServerConnection.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBServerConnection.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBServerConnection.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,99 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 IDBServerConnection_h
-#define IDBServerConnection_h
-
-#include "IDBCursorBackendOperations.h"
-#include "IDBDatabaseMetadata.h"
-#include "IDBGetResult.h"
-#include "IDBTransactionBackendOperations.h"
-#include "IndexedDB.h"
-#include <functional>
-#include <wtf/HashSet.h>
-#include <wtf/RefCounted.h>
-#include <wtf/text/WTFString.h>
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-class IDBDatabaseError;
-class IDBKey;
-class IDBTransactionBackend;
-
-struct IDBOpenCursorResult;
-struct IDBIndexMetadata;
-struct IDBObjectStoreMetadata;
-
-// This interface provides a single asynchronous layer between the web-facing frontend
-// and the I/O performing backend of IndexedDatabase.
-// If an operation's completion needs to be confirmed that must be done through use of a callback function.
-class IDBServerConnection : public RefCounted<IDBServerConnection> {
-public:
- virtual ~IDBServerConnection() { }
-
- virtual bool isClosed() = 0;
-
- typedef std::function<void (bool success)> BoolCallbackFunction;
-
- // Database-level operations
- typedef std::function<void (const IDBDatabaseMetadata&, bool success)> GetIDBDatabaseMetadataFunction;
- virtual void getOrEstablishIDBDatabaseMetadata(GetIDBDatabaseMetadataFunction) = 0;
- virtual void close() = 0;
- virtual void deleteDatabase(const String& name, BoolCallbackFunction successCallback) = 0;
-
- // Transaction-level operations
- virtual void openTransaction(int64_t transactionID, const HashSet<int64_t>& objectStoreIds, IndexedDB::TransactionMode, BoolCallbackFunction successCallback) = 0;
- virtual void beginTransaction(int64_t transactionID, std::function<void()> completionCallback) = 0;
- virtual void commitTransaction(int64_t transactionID, BoolCallbackFunction successCallback) = 0;
- virtual void resetTransaction(int64_t transactionID, std::function<void()> completionCallback) = 0;
- virtual bool resetTransactionSync(int64_t transactionID) = 0;
- virtual void rollbackTransaction(int64_t transactionID, std::function<void()> completionCallback) = 0;
- virtual bool rollbackTransactionSync(int64_t transactionID) = 0;
-
- virtual void setIndexKeys(int64_t transactionID, int64_t databaseID, int64_t objectStoreID, const IDBObjectStoreMetadata&, IDBKey& primaryKey, const Vector<int64_t, 1>& indexIDs, const Vector<Vector<RefPtr<IDBKey>>, 1>& indexKeys, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
-
- virtual void createObjectStore(IDBTransactionBackend&, const CreateObjectStoreOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void createIndex(IDBTransactionBackend&, const CreateIndexOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void deleteIndex(IDBTransactionBackend&, const DeleteIndexOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void get(IDBTransactionBackend&, const GetOperation&, std::function<void(const IDBGetResult&, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void put(IDBTransactionBackend&, const PutOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void openCursor(IDBTransactionBackend&, const OpenCursorOperation&, std::function<void(int64_t, PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void count(IDBTransactionBackend&, const CountOperation&, std::function<void(int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void deleteRange(IDBTransactionBackend&, const DeleteRangeOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void clearObjectStore(IDBTransactionBackend&, const ClearObjectStoreOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void deleteObjectStore(IDBTransactionBackend&, const DeleteObjectStoreOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void changeDatabaseVersion(IDBTransactionBackend&, const IDBDatabaseBackend::VersionChangeOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
-
- // Cursor-level operations
- virtual void cursorAdvance(IDBCursorBackend&, const CursorAdvanceOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void cursorIterate(IDBCursorBackend&, const CursorIterationOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
-#endif // IDBServerConnection_h
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBTransactionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -40,13 +40,11 @@
</span><span class="cx"> class DOMError;
</span><span class="cx"> class IDBCursor;
</span><span class="cx"> class IDBDatabase;
</span><del>-class IDBDatabaseBackend;
</del><span class="cx"> class IDBDatabaseError;
</span><span class="cx"> class IDBObjectStore;
</span><span class="cx"> class IDBOpenDBRequest;
</span><span class="cx">
</span><span class="cx"> struct ExceptionCodeWithMessage;
</span><del>-struct IDBObjectStoreMetadata;
</del><span class="cx">
</span><span class="cx"> class IDBTransaction : public RefCounted<IDBTransaction>, public EventTargetWithInlineData, public ActiveDOMObject {
</span><span class="cx"> public:
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbWorkerGlobalScopeIndexedDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #include "WorkerGlobalScopeIndexedDatabase.h"
</span><span class="cx">
</span><span class="cx"> #include "IDBFactory.h"
</span><del>-#include "IDBFactoryBackendInterface.h"
</del><span class="cx"> #include "ScriptExecutionContext.h"
</span><span class="cx"> #include "SecurityOrigin.h"
</span><span class="cx">
</span><span class="lines">@@ -69,11 +68,7 @@
</span><span class="cx">
</span><span class="cx"> IDBFactory* WorkerGlobalScopeIndexedDatabase::indexedDB()
</span><span class="cx"> {
</span><del>- if (!m_factoryBackend)
- m_factoryBackend = IDBFactoryBackendInterface::create();
- if (!m_idbFactory)
- m_idbFactory = IDBFactory::create(m_factoryBackend.get());
- return m_idbFactory.get();
</del><ins>+ return nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbWorkerGlobalScopeIndexedDatabaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -35,7 +35,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class IDBFactory;
</span><del>-class IDBFactoryBackendInterface;
</del><span class="cx"> class ScriptExecutionContext;
</span><span class="cx">
</span><span class="cx"> class WorkerGlobalScopeIndexedDatabase : public Supplement<ScriptExecutionContext> {
</span><span class="lines">@@ -50,7 +49,6 @@
</span><span class="cx"> IDBFactory* indexedDB();
</span><span class="cx"> static const char* supplementName();
</span><span class="cx">
</span><del>- RefPtr<IDBFactoryBackendInterface> m_factoryBackend;
</del><span class="cx"> RefPtr<IDBFactory> m_idbFactory;
</span><span class="cx"> };
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverSQLiteIDBCursorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx"> : m_transaction(&transaction)
</span><span class="cx"> , m_cursorIdentifier(info.identifier())
</span><span class="cx"> , m_objectStoreID(info.objectStoreIdentifier())
</span><del>- , m_indexID(info.cursorSource() == IndexedDB::CursorSource::Index ? info.sourceIdentifier() : IDBIndexMetadata::InvalidId)
</del><ins>+ , m_indexID(info.cursorSource() == IndexedDB::CursorSource::Index ? info.sourceIdentifier() : IDBIndexInfo::InvalidId)
</ins><span class="cx"> , m_cursorDirection(info.cursorDirection())
</span><span class="cx"> , m_keyRange(info.range())
</span><span class="cx"> {
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx"> : m_transaction(&transaction)
</span><span class="cx"> , m_cursorIdentifier(transaction.transactionIdentifier())
</span><span class="cx"> , m_objectStoreID(objectStoreID)
</span><del>- , m_indexID(indexID ? indexID : IDBIndexMetadata::InvalidId)
</del><ins>+ , m_indexID(indexID ? indexID : IDBIndexInfo::InvalidId)
</ins><span class="cx"> , m_cursorDirection(IndexedDB::CursorDirection::Next)
</span><span class="cx"> , m_keyRange(range)
</span><span class="cx"> , m_backingStoreCursor(true)
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx"> ASSERT(!m_statement);
</span><span class="cx"> String sql;
</span><span class="cx">
</span><del>- if (m_indexID != IDBIndexMetadata::InvalidId) {
</del><ins>+ if (m_indexID != IDBIndexInfo::InvalidId) {
</ins><span class="cx"> sql = buildIndexStatement(m_keyRange, m_cursorDirection);
</span><span class="cx"> m_boundID = m_indexID;
</span><span class="cx"> } else {
</span><span class="lines">@@ -370,7 +370,7 @@
</span><span class="cx"> m_currentValueBuffer = keyData;
</span><span class="cx">
</span><span class="cx"> // The primaryKey of an ObjectStore cursor is the same as its key.
</span><del>- if (m_indexID == IDBIndexMetadata::InvalidId)
</del><ins>+ if (m_indexID == IDBIndexInfo::InvalidId)
</ins><span class="cx"> m_currentPrimaryKey = m_currentKey;
</span><span class="cx"> else {
</span><span class="cx"> if (!deserializeIDBKeyData(keyData.data(), keyData.size(), m_currentPrimaryKey)) {
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverSQLiteIDBCursorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">
</span><del>-#include "IDBDatabaseBackend.h"
</del><ins>+#include "IDBIndexInfo.h"
</ins><span class="cx"> #include "IDBKeyData.h"
</span><span class="cx"> #include "IDBKeyRangeData.h"
</span><span class="cx"> #include "IDBResourceIdentifier.h"
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx"> SQLiteIDBTransaction* m_transaction;
</span><span class="cx"> IDBResourceIdentifier m_cursorIdentifier;
</span><span class="cx"> int64_t m_objectStoreID;
</span><del>- int64_t m_indexID { IDBIndexMetadata::InvalidId };
</del><ins>+ int64_t m_indexID { IDBIndexInfo::InvalidId };
</ins><span class="cx"> IndexedDB::CursorDirection m_cursorDirection { IndexedDB::CursorDirection::Next };
</span><span class="cx"> IDBKeyRangeData m_keyRange;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedIDBIndexInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -54,6 +54,9 @@
</span><span class="cx"> String loggingString(int indent = 0) const;
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+ // FIXME: Remove the need for this.
+ static const int64_t InvalidId = -1;
+
</ins><span class="cx"> private:
</span><span class="cx"> uint64_t m_identifier { 0 };
</span><span class="cx"> uint64_t m_objectStoreIdentifier { 0 };
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1942,8 +1942,6 @@
</span><span class="cx">                 5103105B1BA8DB56003329C0 /* IDBOpenDBRequestImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 510310571BA8DB30003329C0 /* IDBOpenDBRequestImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5103105C1BA8DB56003329C0 /* IDBRequestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510310581BA8DB30003329C0 /* IDBRequestImpl.cpp */; };
</span><span class="cx">                 5103105D1BA8DB56003329C0 /* IDBRequestImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 510310591BA8DB30003329C0 /* IDBRequestImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                5103C2B11BA22D1A00E26337 /* LegacyAny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B6E1BA0A76100F789CE /* LegacyAny.cpp */; };
-                5103C2B91BA23A2600E26337 /* LegacyAny.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B6F1BA0A76100F789CE /* LegacyAny.h */; };
</del><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><span class="cx">                 510A58E41BAA40B100C19282 /* InProcessIDBServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510A58E21BAA40AE00C19282 /* InProcessIDBServer.cpp */; };
</span><span class="lines">@@ -2045,26 +2043,6 @@
</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>-                51645B5A1B9FA6C800F789CE /* LegacyCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B281B9F639100F789CE /* LegacyCursor.cpp */; };
-                51645B5B1B9FA6C800F789CE /* LegacyCursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B291B9F639100F789CE /* LegacyCursor.h */; };
-                51645B5C1B9FA6C800F789CE /* LegacyCursorWithValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B2A1B9F639100F789CE /* LegacyCursorWithValue.cpp */; };
-                51645B5D1B9FA6C800F789CE /* LegacyCursorWithValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B2B1B9F639100F789CE /* LegacyCursorWithValue.h */; };
-                51645B5E1B9FA6C800F789CE /* LegacyDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B2C1B9F639100F789CE /* LegacyDatabase.cpp */; };
-                51645B5F1B9FA6C800F789CE /* LegacyDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B2D1B9F639100F789CE /* LegacyDatabase.h */; };
-                51645B601B9FA6C800F789CE /* LegacyFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B2E1B9F639100F789CE /* LegacyFactory.cpp */; };
-                51645B611B9FA6C800F789CE /* LegacyFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B2F1B9F639100F789CE /* LegacyFactory.h */; };
-                51645B621B9FA6C800F789CE /* LegacyIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B301B9F639100F789CE /* LegacyIndex.cpp */; };
-                51645B631B9FA6C800F789CE /* LegacyIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B311B9F639100F789CE /* LegacyIndex.h */; };
-                51645B641B9FA6C800F789CE /* LegacyObjectStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B321B9F639100F789CE /* LegacyObjectStore.cpp */; };
-                51645B651B9FA6C800F789CE /* LegacyObjectStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B331B9F639100F789CE /* LegacyObjectStore.h */; };
-                51645B661B9FA6C800F789CE /* LegacyOpenDBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B341B9F639100F789CE /* LegacyOpenDBRequest.cpp */; };
-                51645B671B9FA6C800F789CE /* LegacyOpenDBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B351B9F639100F789CE /* LegacyOpenDBRequest.h */; };
-                51645B681B9FA6C800F789CE /* LegacyRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B361B9F639100F789CE /* LegacyRequest.cpp */; };
-                51645B691B9FA6C800F789CE /* LegacyRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B371B9F639100F789CE /* LegacyRequest.h */; };
-                51645B6A1B9FA6C800F789CE /* LegacyTransaction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B381B9F639100F789CE /* LegacyTransaction.cpp */; };
-                51645B6B1B9FA6C800F789CE /* LegacyTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B391B9F639100F789CE /* LegacyTransaction.h */; };
-                51645B6C1B9FA6C800F789CE /* LegacyVersionChangeEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B3A1B9F639100F789CE /* LegacyVersionChangeEvent.cpp */; };
-                51645B6D1B9FA6C800F789CE /* LegacyVersionChangeEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B3B1B9F639100F789CE /* LegacyVersionChangeEvent.h */; };
</del><span class="cx">                 516953971329A3C800B92D04 /* IconDatabaseBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 516953951329A3C800B92D04 /* IconDatabaseBase.cpp */; };
</span><span class="cx">                 516953981329A3C800B92D04 /* IconDatabaseBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 516953961329A3C800B92D04 /* IconDatabaseBase.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 516BB7940CE91E6800512F79 /* JSTreeWalkerCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 516BB7920CE91E6800512F79 /* JSTreeWalkerCustom.cpp */; };
</span><span class="lines">@@ -2117,8 +2095,6 @@
</span><span class="cx">                 5185FC851BB4C4E80012898F /* IDBDatabaseException.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71985181106DF0016DC51 /* IDBDatabaseException.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5185FC861BB4C4E80012898F /* IDBDatabaseIdentifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5103105E1BA8E090003329C0 /* IDBDatabaseIdentifier.cpp */; };
</span><span class="cx">                 5185FC871BB4C4E80012898F /* IDBDatabaseIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5103105F1BA8E090003329C0 /* IDBDatabaseIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                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, ); }; };
</del><span class="cx">                 5185FC8A1BB4C4E80012898F /* IDBEventDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71986181106DF0016DC51 /* IDBEventDispatcher.cpp */; };
</span><span class="cx">                 5185FC8B1BB4C4E80012898F /* IDBEventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71987181106DF0016DC51 /* IDBEventDispatcher.h */; };
</span><span class="cx">                 5185FC8C1BB4C4E80012898F /* IDBFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B461B9F889B00F789CE /* IDBFactory.cpp */; };
</span><span class="lines">@@ -2126,7 +2102,6 @@
</span><span class="cx">                 5185FC8F1BB4C4E80012898F /* IDBGetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5123AF1C18918AE40031CDC9 /* IDBGetResult.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5185FC901BB4C4E80012898F /* IDBIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B481B9F889B00F789CE /* IDBIndex.cpp */; };
</span><span class="cx">                 5185FC911BB4C4E80012898F /* IDBIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B491B9F889B00F789CE /* IDBIndex.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                5185FC931BB4C4E80012898F /* IDBIndexMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ABB5B6186D0ED1008391A1 /* IDBIndexMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 5185FC941BB4C4E80012898F /* IDBKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71991181106E00016DC51 /* IDBKey.cpp */; };
</span><span class="cx">                 5185FC951BB4C4E80012898F /* IDBKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71992181106E00016DC51 /* IDBKey.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5185FC961BB4C4E80012898F /* IDBKeyData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EC1A7188DAE7B00BA3EB6 /* IDBKeyData.cpp */; };
</span><span class="lines">@@ -2139,14 +2114,11 @@
</span><span class="cx">                 5185FC9E1BB4C4E80012898F /* IDBKeyRangeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5123AF171890A4CA0031CDC9 /* IDBKeyRangeData.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5185FC9F1BB4C4E80012898F /* IDBObjectStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B4A1B9F889B00F789CE /* IDBObjectStore.cpp */; };
</span><span class="cx">                 5185FCA01BB4C4E80012898F /* IDBObjectStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B4B1B9F889B00F789CE /* IDBObjectStore.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                5185FCA21BB4C4E80012898F /* IDBObjectStoreMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ABB5B7186D0ED1008391A1 /* IDBObjectStoreMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 5185FCA31BB4C4E80012898F /* IDBOpenDBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B4C1B9F889B00F789CE /* IDBOpenDBRequest.cpp */; };
</span><span class="cx">                 5185FCA41BB4C4E80012898F /* IDBOpenDBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B4D1B9F889B00F789CE /* IDBOpenDBRequest.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                5185FCA61BB4C4E80012898F /* IDBOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 512EA9BD18202857001D01E0 /* IDBOperation.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 5185FCA71BB4C4E80012898F /* IDBRecordIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 51EAC5B018163F4E004F1BA4 /* IDBRecordIdentifier.h */; };
</span><span class="cx">                 5185FCA81BB4C4E80012898F /* IDBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B4E1B9F889B00F789CE /* IDBRequest.cpp */; };
</span><span class="cx">                 5185FCA91BB4C4E80012898F /* IDBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B4F1B9F889B00F789CE /* IDBRequest.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                5185FCAB1BB4C4E80012898F /* IDBServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A326E18318431003C5326 /* IDBServerConnection.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 5185FCAC1BB4C4E80012898F /* IDBTransaction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B501B9F889B00F789CE /* IDBTransaction.cpp */; };
</span><span class="cx">                 5185FCAD1BB4C4E80012898F /* IDBTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B511B9F889B00F789CE /* IDBTransaction.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5185FCAF1BB4C4E80012898F /* IDBVersionChangeEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B521B9F889B00F789CE /* IDBVersionChangeEvent.cpp */; };
</span><span class="lines">@@ -2252,27 +2224,6 @@
</span><span class="cx">                 51EE7B3A1AA5123100F92B21 /* ResourceLoadInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51EE7B391AA5123100F92B21 /* ResourceLoadInfo.cpp */; };
</span><span class="cx">                 51EEAA731BEFFAB100218008 /* IndexValueEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51EEAA711BEFFA7900218008 /* IndexValueEntry.cpp */; };
</span><span class="cx">                 51EEAA741BEFFAB100218008 /* IndexValueEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 51EEAA721BEFFA7900218008 /* IndexValueEntry.h */; };
</span><del>-                51F41A681BA73B5B002E053B /* IDBCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A481BA73B2C002E053B /* IDBCallbacks.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A691BA73B5B002E053B /* IDBCursorBackend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F41A491BA73B2C002E053B /* IDBCursorBackend.cpp */; };
-                51F41A6A1BA73B5B002E053B /* IDBCursorBackend.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A4A1BA73B2C002E053B /* IDBCursorBackend.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A6B1BA73B5B002E053B /* IDBCursorBackendOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F41A4B1BA73B2C002E053B /* IDBCursorBackendOperations.cpp */; };
-                51F41A6C1BA73B5B002E053B /* IDBCursorBackendOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A4C1BA73B2C002E053B /* IDBCursorBackendOperations.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A6D1BA73B5B002E053B /* IDBDatabaseBackend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F41A4D1BA73B2C002E053B /* IDBDatabaseBackend.cpp */; };
-                51F41A6E1BA73B5B002E053B /* IDBDatabaseBackend.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A4E1BA73B2C002E053B /* IDBDatabaseBackend.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A6F1BA73B5B002E053B /* IDBDatabaseCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B401B9F695E00F789CE /* IDBDatabaseCallbacks.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A701BA73B5B002E053B /* IDBDatabaseCallbacksImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B3E1B9F692300F789CE /* IDBDatabaseCallbacksImpl.cpp */; };
-                51F41A711BA73B5B002E053B /* IDBDatabaseCallbacksImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B3F1B9F692300F789CE /* IDBDatabaseCallbacksImpl.h */; };
-                51F41A721BA73B5B002E053B /* IDBFactoryBackendInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A4F1BA73B2C002E053B /* IDBFactoryBackendInterface.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A731BA73B5B002E053B /* IDBTransactionBackend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F41A521BA73B2C002E053B /* IDBTransactionBackend.cpp */; };
-                51F41A741BA73B5B002E053B /* IDBTransactionBackend.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A531BA73B2C002E053B /* IDBTransactionBackend.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A751BA73B5B002E053B /* IDBTransactionBackendOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F41A541BA73B2C002E053B /* IDBTransactionBackendOperations.cpp */; };
-                51F41A761BA73B5B002E053B /* IDBTransactionBackendOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A551BA73B2C002E053B /* IDBTransactionBackendOperations.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A771BA73B5B002E053B /* IDBTransactionCoordinator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F41A561BA73B2C002E053B /* IDBTransactionCoordinator.cpp */; };
-                51F41A781BA73B5B002E053B /* IDBTransactionCoordinator.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A571BA73B2C002E053B /* IDBTransactionCoordinator.h */; };
-                51F41A791BA73B5B002E053B /* IDBPendingDeleteCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A501BA73B2C002E053B /* IDBPendingDeleteCall.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A7A1BA73B5B002E053B /* IDBPendingOpenCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A511BA73B2C002E053B /* IDBPendingOpenCall.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                51F41A7B1BA73B5B002E053B /* IDBPendingTransactionMonitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B3C1B9F68CF00F789CE /* IDBPendingTransactionMonitor.cpp */; };
-                51F41A7C1BA73B5B002E053B /* IDBPendingTransactionMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B3D1B9F68CF00F789CE /* IDBPendingTransactionMonitor.h */; };
</del><span class="cx">                 51F798E51BE88092008AE491 /* IDBCursorImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F798E11BE88084008AE491 /* IDBCursorImpl.cpp */; };
</span><span class="cx">                 51F798E61BE88092008AE491 /* IDBCursorImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F798E21BE88084008AE491 /* IDBCursorImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51F798E71BE88092008AE491 /* IDBIndexImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F798E31BE88084008AE491 /* IDBIndexImpl.cpp */; };
</span><span class="lines">@@ -2835,10 +2786,8 @@
</span><span class="cx">                 7E474E1E12494DC900235364 /* SQLiteDatabaseTrackerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E474E1B12494DC900235364 /* SQLiteDatabaseTrackerClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 7E474E1F12494DC900235364 /* SQLiteDatabaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E474E1C12494DC900235364 /* SQLiteDatabaseTracker.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 7E474E2012494DC900235364 /* SQLiteDatabaseTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E474E1D12494DC900235364 /* SQLiteDatabaseTracker.cpp */; };
</span><del>-                7E4C96DD1AD4483500365A50 /* JSFetchRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E4C96D91AD4483500365A50 /* JSFetchRequest.h */; };
</del><span class="cx">                 7E4C96DC1AD4483500365A50 /* JSFetchRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E4C96D81AD4483500365A50 /* JSFetchRequest.cpp */; };
</span><del>-                8E4C96DD1AD4483500365A50 /* JSFetchResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E4C96D91AD4483500365A50 /* JSFetchResponse.h */; };
-                8E4C96DC1AD4483500365A50 /* JSFetchResponse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8E4C96D81AD4483500365A50 /* JSFetchResponse.cpp */; };
</del><ins>+                7E4C96DD1AD4483500365A50 /* JSFetchRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E4C96D91AD4483500365A50 /* JSFetchRequest.h */; };
</ins><span class="cx">                 7E4DE10D198B10B60051CB02 /* DiskCacheMonitorCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7E4DE10C198B10B60051CB02 /* DiskCacheMonitorCocoa.mm */; };
</span><span class="cx">                 7E5D7A76161D3F8F00896C34 /* OESElementIndexUint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E5D7A73161D3F8F00896C34 /* OESElementIndexUint.cpp */; };
</span><span class="cx">                 7E5D7A77161D3F8F00896C34 /* OESElementIndexUint.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E5D7A74161D3F8F00896C34 /* OESElementIndexUint.h */; };
</span><span class="lines">@@ -3537,6 +3486,8 @@
</span><span class="cx">                 8AF4E55C11DC5A63000ED3DE /* PerformanceTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AF4E55911DC5A63000ED3DE /* PerformanceTiming.h */; };
</span><span class="cx">                 8C6EA61911EF7E0400FD8EE3 /* RuntimeEnabledFeatures.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C6EA61711EF7E0400FD8EE3 /* RuntimeEnabledFeatures.cpp */; };
</span><span class="cx">                 8C6EA61A11EF7E0400FD8EE3 /* RuntimeEnabledFeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C6EA61811EF7E0400FD8EE3 /* RuntimeEnabledFeatures.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                8E4C96DC1AD4483500365A50 /* JSFetchResponse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8E4C96D81AD4483500365A50 /* JSFetchResponse.cpp */; };
+                8E4C96DD1AD4483500365A50 /* JSFetchResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E4C96D91AD4483500365A50 /* JSFetchResponse.h */; };
</ins><span class="cx">                 8F67561B1288B17B0047ACA3 /* EventQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F6756191288B17B0047ACA3 /* EventQueue.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 8FAC774D119872CB0015AE94 /* JSMainThreadExecState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8F934D841189F1EE00508D5D /* JSMainThreadExecState.cpp */; };
</span><span class="cx">                 9001774012E0347800648462 /* OESStandardDerivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9001773D12E0347800648462 /* OESStandardDerivatives.cpp */; };
</span><span class="lines">@@ -9502,7 +9453,6 @@
</span><span class="cx">                 5103105F1BA8E090003329C0 /* IDBDatabaseIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseIdentifier.h; sourceTree = "<group>"; };
</span><span class="cx">                 5106D7BB18BDB76F000AB166 /* ContextMenuContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContextMenuContext.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 5106D7BC18BDB76F000AB166 /* ContextMenuContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenuContext.h; sourceTree = "<group>"; };
</span><del>-                510A326E18318431003C5326 /* IDBServerConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBServerConnection.h; sourceTree = "<group>"; };
</del><span class="cx">                 510A58E21BAA40AE00C19282 /* InProcessIDBServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InProcessIDBServer.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 510A58E31BAA40AE00C19282 /* InProcessIDBServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InProcessIDBServer.h; sourceTree = "<group>"; };
</span><span class="cx">                 510A58EF1BAB720F00C19282 /* IDBServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBServer.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -9559,7 +9509,6 @@
</span><span class="cx">                 512DD8F10D91E6AF000F89EE /* ArchiveResource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArchiveResource.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 512DD8F20D91E6AF000F89EE /* ArchiveResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArchiveResource.h; sourceTree = "<group>"; };
</span><span class="cx">                 512DD8F30D91E6AF000F89EE /* ArchiveFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArchiveFactory.h; sourceTree = "<group>"; };
</span><del>-                512EA9BD18202857001D01E0 /* IDBOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBOperation.h; sourceTree = "<group>"; };
</del><span class="cx">                 512F1A771C07EA0D00908239 /* IDBGetResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBGetResult.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51327D5E11A33A2B004F9D65 /* SinkDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SinkDocument.h; sourceTree = "<group>"; };
</span><span class="cx">                 51327D5F11A33A2B004F9D65 /* SinkDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SinkDocument.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -9615,32 +9564,6 @@
</span><span class="cx">                 5160F4970B0AA75F00C1D2AF /* HistoryItemMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = HistoryItemMac.mm; sourceTree = "<group>"; };
</span><span class="cx">                 5162C7F211F77EFA00612EFE /* SchemeRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SchemeRegistry.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 5162C7F311F77EFB00612EFE /* SchemeRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SchemeRegistry.h; sourceTree = "<group>"; };
</span><del>-                5163117C1851242B00534647 /* IDBDatabaseMetadata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabaseMetadata.cpp; sourceTree = "<group>"; };
-                51645B281B9F639100F789CE /* LegacyCursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyCursor.cpp; sourceTree = "<group>"; };
-                51645B291B9F639100F789CE /* LegacyCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyCursor.h; sourceTree = "<group>"; };
-                51645B2A1B9F639100F789CE /* LegacyCursorWithValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyCursorWithValue.cpp; sourceTree = "<group>"; };
-                51645B2B1B9F639100F789CE /* LegacyCursorWithValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyCursorWithValue.h; sourceTree = "<group>"; };
-                51645B2C1B9F639100F789CE /* LegacyDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyDatabase.cpp; sourceTree = "<group>"; };
-                51645B2D1B9F639100F789CE /* LegacyDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyDatabase.h; sourceTree = "<group>"; };
-                51645B2E1B9F639100F789CE /* LegacyFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyFactory.cpp; sourceTree = "<group>"; };
-                51645B2F1B9F639100F789CE /* LegacyFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyFactory.h; sourceTree = "<group>"; };
-                51645B301B9F639100F789CE /* LegacyIndex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyIndex.cpp; sourceTree = "<group>"; };
-                51645B311B9F639100F789CE /* LegacyIndex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyIndex.h; sourceTree = "<group>"; };
-                51645B321B9F639100F789CE /* LegacyObjectStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyObjectStore.cpp; sourceTree = "<group>"; };
-                51645B331B9F639100F789CE /* LegacyObjectStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyObjectStore.h; sourceTree = "<group>"; };
-                51645B341B9F639100F789CE /* LegacyOpenDBRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyOpenDBRequest.cpp; sourceTree = "<group>"; };
-                51645B351B9F639100F789CE /* LegacyOpenDBRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyOpenDBRequest.h; sourceTree = "<group>"; };
-                51645B361B9F639100F789CE /* LegacyRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyRequest.cpp; sourceTree = "<group>"; };
-                51645B371B9F639100F789CE /* LegacyRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyRequest.h; sourceTree = "<group>"; };
-                51645B381B9F639100F789CE /* LegacyTransaction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyTransaction.cpp; sourceTree = "<group>"; };
-                51645B391B9F639100F789CE /* LegacyTransaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyTransaction.h; sourceTree = "<group>"; };
-                51645B3A1B9F639100F789CE /* LegacyVersionChangeEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyVersionChangeEvent.cpp; sourceTree = "<group>"; };
-                51645B3B1B9F639100F789CE /* LegacyVersionChangeEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyVersionChangeEvent.h; sourceTree = "<group>"; };
-                51645B3C1B9F68CF00F789CE /* IDBPendingTransactionMonitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBPendingTransactionMonitor.cpp; sourceTree = "<group>"; };
-                51645B3D1B9F68CF00F789CE /* IDBPendingTransactionMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBPendingTransactionMonitor.h; sourceTree = "<group>"; };
-                51645B3E1B9F692300F789CE /* IDBDatabaseCallbacksImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabaseCallbacksImpl.cpp; sourceTree = "<group>"; };
-                51645B3F1B9F692300F789CE /* IDBDatabaseCallbacksImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseCallbacksImpl.h; sourceTree = "<group>"; };
-                51645B401B9F695E00F789CE /* IDBDatabaseCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseCallbacks.h; sourceTree = "<group>"; };
</del><span class="cx">                 51645B411B9F889B00F789CE /* IDBCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBCursor.h; sourceTree = "<group>"; };
</span><span class="cx">                 51645B421B9F889B00F789CE /* IDBCursorWithValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBCursorWithValue.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51645B431B9F889B00F789CE /* IDBCursorWithValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBCursorWithValue.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -9661,8 +9584,6 @@
</span><span class="cx">                 51645B521B9F889B00F789CE /* IDBVersionChangeEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBVersionChangeEvent.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51645B531B9F889B00F789CE /* IDBVersionChangeEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBVersionChangeEvent.h; sourceTree = "<group>"; };
</span><span class="cx">                 51645B541B9F88E800F789CE /* IDBCursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBCursor.cpp; sourceTree = "<group>"; };
</span><del>-                51645B6E1BA0A76100F789CE /* LegacyAny.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyAny.cpp; sourceTree = "<group>"; };
-                51645B6F1BA0A76100F789CE /* LegacyAny.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyAny.h; sourceTree = "<group>"; };
</del><span class="cx">                 516953951329A3C800B92D04 /* IconDatabaseBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IconDatabaseBase.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 516953961329A3C800B92D04 /* IconDatabaseBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconDatabaseBase.h; sourceTree = "<group>"; };
</span><span class="cx">                 516BB7920CE91E6800512F79 /* JSTreeWalkerCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTreeWalkerCustom.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -9755,8 +9676,6 @@
</span><span class="cx">                 51ABAE1A103C18FF008C5260 /* SocketStreamError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SocketStreamError.h; sourceTree = "<group>"; };
</span><span class="cx">                 51ABAE1C103C1913008C5260 /* SocketStreamHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SocketStreamHandle.h; sourceTree = "<group>"; };
</span><span class="cx">                 51ABAE1D103C1913008C5260 /* SocketStreamHandleCFNet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SocketStreamHandleCFNet.cpp; sourceTree = "<group>"; };
</span><del>-                51ABB5B6186D0ED1008391A1 /* IDBIndexMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBIndexMetadata.h; sourceTree = "<group>"; };
-                51ABB5B7186D0ED1008391A1 /* IDBObjectStoreMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBObjectStoreMetadata.h; sourceTree = "<group>"; };
</del><span class="cx">                 51ABF64C16392E2800132A7A /* LoaderStrategy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoaderStrategy.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51AF503516F100F60095B2E8 /* ResourceLoaderTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoaderTypes.h; sourceTree = "<group>"; };
</span><span class="cx">                 51B2417A0D931F3F00E83F5C /* LegacyWebArchiveMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LegacyWebArchiveMac.mm; sourceTree = "<group>"; };
</span><span class="lines">@@ -9773,7 +9692,6 @@
</span><span class="cx">                 51C0AA400F2AA15E001648C2 /* CachedFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = CachedFrame.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
</span><span class="cx">                 51C81B870C4422F70019ECE3 /* FTPDirectoryParser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FTPDirectoryParser.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51C81B880C4422F70019ECE3 /* FTPDirectoryParser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FTPDirectoryParser.h; sourceTree = "<group>"; };
</span><del>-                51C9611A183D2B8000D2002E /* IDBDatabaseMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseMetadata.h; sourceTree = "<group>"; };
</del><span class="cx">                 51CBFC980D10E483002DBF51 /* CachedFramePlatformData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedFramePlatformData.h; sourceTree = "<group>"; };
</span><span class="cx">                 51D0C5150DAA90B7003B3831 /* JSStorageCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSStorageCustom.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51D7196C181106DF0016DC51 /* DOMWindowIndexedDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMWindowIndexedDatabase.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -9844,22 +9762,6 @@
</span><span class="cx">                 51EE7B391AA5123100F92B21 /* ResourceLoadInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResourceLoadInfo.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51EEAA711BEFFA7900218008 /* IndexValueEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndexValueEntry.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51EEAA721BEFFA7900218008 /* IndexValueEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndexValueEntry.h; sourceTree = "<group>"; };
</span><del>-                51F41A481BA73B2C002E053B /* IDBCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBCallbacks.h; sourceTree = "<group>"; };
-                51F41A491BA73B2C002E053B /* IDBCursorBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBCursorBackend.cpp; sourceTree = "<group>"; };
-                51F41A4A1BA73B2C002E053B /* IDBCursorBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBCursorBackend.h; sourceTree = "<group>"; };
-                51F41A4B1BA73B2C002E053B /* IDBCursorBackendOperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBCursorBackendOperations.cpp; sourceTree = "<group>"; };
-                51F41A4C1BA73B2C002E053B /* IDBCursorBackendOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBCursorBackendOperations.h; sourceTree = "<group>"; };
-                51F41A4D1BA73B2C002E053B /* IDBDatabaseBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabaseBackend.cpp; sourceTree = "<group>"; };
-                51F41A4E1BA73B2C002E053B /* IDBDatabaseBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseBackend.h; sourceTree = "<group>"; };
-                51F41A4F1BA73B2C002E053B /* IDBFactoryBackendInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBFactoryBackendInterface.h; sourceTree = "<group>"; };
-                51F41A501BA73B2C002E053B /* IDBPendingDeleteCall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBPendingDeleteCall.h; sourceTree = "<group>"; };
-                51F41A511BA73B2C002E053B /* IDBPendingOpenCall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBPendingOpenCall.h; sourceTree = "<group>"; };
-                51F41A521BA73B2C002E053B /* IDBTransactionBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBTransactionBackend.cpp; sourceTree = "<group>"; };
-                51F41A531BA73B2C002E053B /* IDBTransactionBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBTransactionBackend.h; sourceTree = "<group>"; };
-                51F41A541BA73B2C002E053B /* IDBTransactionBackendOperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBTransactionBackendOperations.cpp; sourceTree = "<group>"; };
-                51F41A551BA73B2C002E053B /* IDBTransactionBackendOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBTransactionBackendOperations.h; sourceTree = "<group>"; };
-                51F41A561BA73B2C002E053B /* IDBTransactionCoordinator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBTransactionCoordinator.cpp; sourceTree = "<group>"; };
-                51F41A571BA73B2C002E053B /* IDBTransactionCoordinator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBTransactionCoordinator.h; sourceTree = "<group>"; };
</del><span class="cx">                 51F6A3D50663BF04004D2919 /* HTMLCanvasElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLCanvasElement.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
</span><span class="cx">                 51F6A3D60663BF04004D2919 /* HTMLCanvasElement.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = HTMLCanvasElement.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
</span><span class="cx">                 51F798E11BE88084008AE491 /* IDBCursorImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBCursorImpl.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -10495,8 +10397,6 @@
</span><span class="cx">                 7E474E1D12494DC900235364 /* SQLiteDatabaseTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SQLiteDatabaseTracker.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 7E4C96D81AD4483500365A50 /* JSFetchRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFetchRequest.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 7E4C96D91AD4483500365A50 /* JSFetchRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFetchRequest.h; sourceTree = "<group>"; };
</span><del>-                8E4C96D81AD4483500365A50 /* JSFetchResponse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFetchResponse.cpp; sourceTree = "<group>"; };
-                8E4C96D91AD4483500365A50 /* JSFetchResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFetchResponse.h; sourceTree = "<group>"; };
</del><span class="cx">                 7E4DE10C198B10B60051CB02 /* DiskCacheMonitorCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DiskCacheMonitorCocoa.mm; sourceTree = "<group>"; };
</span><span class="cx">                 7E5D7A73161D3F8F00896C34 /* OESElementIndexUint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OESElementIndexUint.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 7E5D7A74161D3F8F00896C34 /* OESElementIndexUint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OESElementIndexUint.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -11177,6 +11077,8 @@
</span><span class="cx">                 8AF4E55A11DC5A63000ED3DE /* PerformanceTiming.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PerformanceTiming.idl; sourceTree = "<group>"; };
</span><span class="cx">                 8C6EA61711EF7E0400FD8EE3 /* RuntimeEnabledFeatures.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuntimeEnabledFeatures.cpp; path = generic/RuntimeEnabledFeatures.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 8C6EA61811EF7E0400FD8EE3 /* RuntimeEnabledFeatures.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuntimeEnabledFeatures.h; path = generic/RuntimeEnabledFeatures.h; sourceTree = "<group>"; };
</span><ins>+                8E4C96D81AD4483500365A50 /* JSFetchResponse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFetchResponse.cpp; sourceTree = "<group>"; };
+                8E4C96D91AD4483500365A50 /* JSFetchResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFetchResponse.h; sourceTree = "<group>"; };
</ins><span class="cx">                 8F6756191288B17B0047ACA3 /* EventQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventQueue.h; sourceTree = "<group>"; };
</span><span class="cx">                 8F934D831189F1EE00508D5D /* JSMainThreadExecState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMainThreadExecState.h; sourceTree = "<group>"; };
</span><span class="cx">                 8F934D841189F1EE00508D5D /* JSMainThreadExecState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMainThreadExecState.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -17393,56 +17295,6 @@
</span><span class="cx">                         path = mac;
</span><span class="cx">                         sourceTree = "<group>";
</span><span class="cx">                 };
</span><del>-                51645B271B9F637E00F789CE /* legacy */ = {
-                        isa = PBXGroup;
-                        children = (
-                                51F41A481BA73B2C002E053B /* IDBCallbacks.h */,
-                                51F41A491BA73B2C002E053B /* IDBCursorBackend.cpp */,
-                                51F41A4A1BA73B2C002E053B /* IDBCursorBackend.h */,
-                                51F41A4B1BA73B2C002E053B /* IDBCursorBackendOperations.cpp */,
-                                51F41A4C1BA73B2C002E053B /* IDBCursorBackendOperations.h */,
-                                51F41A4D1BA73B2C002E053B /* IDBDatabaseBackend.cpp */,
-                                51F41A4E1BA73B2C002E053B /* IDBDatabaseBackend.h */,
-                                51645B401B9F695E00F789CE /* IDBDatabaseCallbacks.h */,
-                                51645B3E1B9F692300F789CE /* IDBDatabaseCallbacksImpl.cpp */,
-                                51645B3F1B9F692300F789CE /* IDBDatabaseCallbacksImpl.h */,
-                                51F41A4F1BA73B2C002E053B /* IDBFactoryBackendInterface.h */,
-                                51F41A501BA73B2C002E053B /* IDBPendingDeleteCall.h */,
-                                51F41A511BA73B2C002E053B /* IDBPendingOpenCall.h */,
-                                51645B3C1B9F68CF00F789CE /* IDBPendingTransactionMonitor.cpp */,
-                                51645B3D1B9F68CF00F789CE /* IDBPendingTransactionMonitor.h */,
-                                51F41A521BA73B2C002E053B /* IDBTransactionBackend.cpp */,
-                                51F41A531BA73B2C002E053B /* IDBTransactionBackend.h */,
-                                51F41A541BA73B2C002E053B /* IDBTransactionBackendOperations.cpp */,
-                                51F41A551BA73B2C002E053B /* IDBTransactionBackendOperations.h */,
-                                51F41A561BA73B2C002E053B /* IDBTransactionCoordinator.cpp */,
-                                51F41A571BA73B2C002E053B /* IDBTransactionCoordinator.h */,
-                                51645B6E1BA0A76100F789CE /* LegacyAny.cpp */,
-                                51645B6F1BA0A76100F789CE /* LegacyAny.h */,
-                                51645B281B9F639100F789CE /* LegacyCursor.cpp */,
-                                51645B291B9F639100F789CE /* LegacyCursor.h */,
-                                51645B2A1B9F639100F789CE /* LegacyCursorWithValue.cpp */,
-                                51645B2B1B9F639100F789CE /* LegacyCursorWithValue.h */,
-                                51645B2C1B9F639100F789CE /* LegacyDatabase.cpp */,
-                                51645B2D1B9F639100F789CE /* LegacyDatabase.h */,
-                                51645B2E1B9F639100F789CE /* LegacyFactory.cpp */,
-                                51645B2F1B9F639100F789CE /* LegacyFactory.h */,
-                                51645B301B9F639100F789CE /* LegacyIndex.cpp */,
-                                51645B311B9F639100F789CE /* LegacyIndex.h */,
-                                51645B321B9F639100F789CE /* LegacyObjectStore.cpp */,
-                                51645B331B9F639100F789CE /* LegacyObjectStore.h */,
-                                51645B341B9F639100F789CE /* LegacyOpenDBRequest.cpp */,
-                                51645B351B9F639100F789CE /* LegacyOpenDBRequest.h */,
-                                51645B361B9F639100F789CE /* LegacyRequest.cpp */,
-                                51645B371B9F639100F789CE /* LegacyRequest.h */,
-                                51645B381B9F639100F789CE /* LegacyTransaction.cpp */,
-                                51645B391B9F639100F789CE /* LegacyTransaction.h */,
-                                51645B3A1B9F639100F789CE /* LegacyVersionChangeEvent.cpp */,
-                                51645B3B1B9F639100F789CE /* LegacyVersionChangeEvent.h */,
-                        );
-                        path = legacy;
-                        sourceTree = "<group>";
-                };
</del><span class="cx">                 51741D080B07257000ED442C /* history */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -19619,7 +19471,6 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 510310421BA8C64C003329C0 /* client */,
</span><del>-                                51645B271B9F637E00F789CE /* legacy */,
</del><span class="cx">                                 510A58EE1BAB71E000C19282 /* server */,
</span><span class="cx">                                 510A58E11BAA409800C19282 /* shared */,
</span><span class="cx">                                 51D7196C181106DF0016DC51 /* DOMWindowIndexedDatabase.cpp */,
</span><span class="lines">@@ -19642,8 +19493,6 @@
</span><span class="cx">                                 51D71985181106DF0016DC51 /* IDBDatabaseException.h */,
</span><span class="cx">                                 5103105E1BA8E090003329C0 /* IDBDatabaseIdentifier.cpp */,
</span><span class="cx">                                 5103105F1BA8E090003329C0 /* IDBDatabaseIdentifier.h */,
</span><del>-                                5163117C1851242B00534647 /* IDBDatabaseMetadata.cpp */,
-                                51C9611A183D2B8000D2002E /* IDBDatabaseMetadata.h */,
</del><span class="cx">                                 51D71986181106DF0016DC51 /* IDBEventDispatcher.cpp */,
</span><span class="cx">                                 51D71987181106DF0016DC51 /* IDBEventDispatcher.h */,
</span><span class="cx">                                 51645B461B9F889B00F789CE /* IDBFactory.cpp */,
</span><span class="lines">@@ -19654,7 +19503,6 @@
</span><span class="cx">                                 51645B481B9F889B00F789CE /* IDBIndex.cpp */,
</span><span class="cx">                                 51645B491B9F889B00F789CE /* IDBIndex.h */,
</span><span class="cx">                                 51D71990181106E00016DC51 /* IDBIndex.idl */,
</span><del>-                                51ABB5B6186D0ED1008391A1 /* IDBIndexMetadata.h */,
</del><span class="cx">                                 51D71991181106E00016DC51 /* IDBKey.cpp */,
</span><span class="cx">                                 51D71992181106E00016DC51 /* IDBKey.h */,
</span><span class="cx">                                 511EC1A7188DAE7B00BA3EB6 /* IDBKeyData.cpp */,
</span><span class="lines">@@ -19669,18 +19517,15 @@
</span><span class="cx">                                 51645B4A1B9F889B00F789CE /* IDBObjectStore.cpp */,
</span><span class="cx">                                 51645B4B1B9F889B00F789CE /* IDBObjectStore.h */,
</span><span class="cx">                                 51D7199B181106E00016DC51 /* IDBObjectStore.idl */,
</span><del>-                                51ABB5B7186D0ED1008391A1 /* IDBObjectStoreMetadata.h */,
</del><span class="cx">                                 51645B4C1B9F889B00F789CE /* IDBOpenDBRequest.cpp */,
</span><span class="cx">                                 51645B4D1B9F889B00F789CE /* IDBOpenDBRequest.h */,
</span><span class="cx">                                 51D7199E181106E00016DC51 /* IDBOpenDBRequest.idl */,
</span><del>-                                512EA9BD18202857001D01E0 /* IDBOperation.h */,
</del><span class="cx">                                 51EAC5B018163F4E004F1BA4 /* IDBRecordIdentifier.h */,
</span><span class="cx">                                 51645B4E1B9F889B00F789CE /* IDBRequest.cpp */,
</span><span class="cx">                                 51645B4F1B9F889B00F789CE /* IDBRequest.h */,
</span><span class="cx">                                 51D719A3181106E00016DC51 /* IDBRequest.idl */,
</span><span class="cx">                                 514129961C6976150059E714 /* IDBRequestCompletionEvent.cpp */,
</span><span class="cx">                                 514129971C6976150059E714 /* IDBRequestCompletionEvent.h */,
</span><del>-                                510A326E18318431003C5326 /* IDBServerConnection.h */,
</del><span class="cx">                                 51645B501B9F889B00F789CE /* IDBTransaction.cpp */,
</span><span class="cx">                                 51645B511B9F889B00F789CE /* IDBTransaction.h */,
</span><span class="cx">                                 51D719A6181106E00016DC51 /* IDBTransaction.idl */,
</span><span class="lines">@@ -26318,38 +26163,29 @@
</span><span class="cx">                                 5198F7BF1BC338AF00E2CC5F /* IDBAnyImpl.h in Headers */,
</span><span class="cx">                                 51BA4ACC1BBC5BDD00DF3D6D /* IDBBackingStore.h in Headers */,
</span><span class="cx">                                 C585A66311D4FAC5004C3E4B /* IDBBindingUtilities.h in Headers */,
</span><del>-                                51F41A681BA73B5B002E053B /* IDBCallbacks.h in Headers */,
</del><span class="cx">                                 5185FCB91BB4CBF80012898F /* IDBConnectionToClient.h in Headers */,
</span><span class="cx">                                 516D7D721BB5F0BD00AF7C77 /* IDBConnectionToClientDelegate.h in Headers */,
</span><span class="cx">                                 5198F7C11BC4856700E2CC5F /* IDBConnectionToServer.h in Headers */,
</span><span class="cx">                                 516D7D701BB5F0BD00AF7C77 /* IDBConnectionToServerDelegate.h in Headers */,
</span><span class="cx">                                 5185FC7B1BB4C4E80012898F /* IDBCursor.h in Headers */,
</span><del>-                                51F41A6A1BA73B5B002E053B /* IDBCursorBackend.h in Headers */,
-                                51F41A6C1BA73B5B002E053B /* IDBCursorBackendOperations.h in Headers */,
</del><span class="cx">                                 51F798E61BE88092008AE491 /* IDBCursorImpl.h in Headers */,
</span><span class="cx">                                 517138FC1BF3ADF4000D5F01 /* IDBCursorInfo.h in Headers */,
</span><span class="cx">                                 5185FC7E1BB4C4E80012898F /* IDBCursorWithValue.h in Headers */,
</span><span class="cx">                                 51F798F41BE88394008AE491 /* IDBCursorWithValueImpl.h in Headers */,
</span><span class="cx">                                 5185FC811BB4C4E80012898F /* IDBDatabase.h in Headers */,
</span><del>-                                51F41A6E1BA73B5B002E053B /* IDBDatabaseBackend.h in Headers */,
-                                51F41A6F1BA73B5B002E053B /* IDBDatabaseCallbacks.h in Headers */,
-                                51F41A711BA73B5B002E053B /* IDBDatabaseCallbacksImpl.h in Headers */,
</del><span class="cx">                                 5185FC831BB4C4E80012898F /* IDBDatabaseError.h in Headers */,
</span><span class="cx">                                 5185FC851BB4C4E80012898F /* IDBDatabaseException.h in Headers */,
</span><span class="cx">                                 5185FC871BB4C4E80012898F /* IDBDatabaseIdentifier.h in Headers */,
</span><span class="cx">                                 5198F7B11BBDF5C800E2CC5F /* IDBDatabaseImpl.h in Headers */,
</span><span class="cx">                                 51BA4AC41BBB5CD800DF3D6D /* IDBDatabaseInfo.h in Headers */,
</span><del>-                                5185FC891BB4C4E80012898F /* IDBDatabaseMetadata.h in Headers */,
</del><span class="cx">                                 5148453F1BB9D07E006A72ED /* IDBError.h in Headers */,
</span><span class="cx">                                 5185FC8B1BB4C4E80012898F /* IDBEventDispatcher.h in Headers */,
</span><span class="cx">                                 5185FC8D1BB4C4E80012898F /* IDBFactory.h in Headers */,
</span><del>-                                51F41A721BA73B5B002E053B /* IDBFactoryBackendInterface.h in Headers */,
</del><span class="cx">                                 510310501BA8CC03003329C0 /* IDBFactoryImpl.h in Headers */,
</span><span class="cx">                                 5185FC8F1BB4C4E80012898F /* IDBGetResult.h in Headers */,
</span><span class="cx">                                 5185FC911BB4C4E80012898F /* IDBIndex.h in Headers */,
</span><span class="cx">                                 51F798E81BE88092008AE491 /* IDBIndexImpl.h in Headers */,
</span><span class="cx">                                 51F798F01BE880E7008AE491 /* IDBIndexInfo.h in Headers */,
</span><del>-                                5185FC931BB4C4E80012898F /* IDBIndexMetadata.h in Headers */,
</del><span class="cx">                                 5185FC951BB4C4E80012898F /* IDBKey.h in Headers */,
</span><span class="cx">                                 5185FC971BB4C4E80012898F /* IDBKeyData.h in Headers */,
</span><span class="cx">                                 5185FC991BB4C4E80012898F /* IDBKeyPath.h in Headers */,
</span><span class="lines">@@ -26359,13 +26195,8 @@
</span><span class="cx">                                 5185FCA01BB4C4E80012898F /* IDBObjectStore.h in Headers */,
</span><span class="cx">                                 516071311BD8308600DBC4F2 /* IDBObjectStoreImpl.h in Headers */,
</span><span class="cx">                                 5160712F1BD8307800DBC4F2 /* IDBObjectStoreInfo.h in Headers */,
</span><del>-                                5185FCA21BB4C4E80012898F /* IDBObjectStoreMetadata.h in Headers */,
</del><span class="cx">                                 5185FCA41BB4C4E80012898F /* IDBOpenDBRequest.h in Headers */,
</span><span class="cx">                                 5103105B1BA8DB56003329C0 /* IDBOpenDBRequestImpl.h in Headers */,
</span><del>-                                5185FCA61BB4C4E80012898F /* IDBOperation.h in Headers */,
-                                51F41A791BA73B5B002E053B /* IDBPendingDeleteCall.h in Headers */,
-                                51F41A7A1BA73B5B002E053B /* IDBPendingOpenCall.h in Headers */,
-                                51F41A7C1BA73B5B002E053B /* IDBPendingTransactionMonitor.h in Headers */,
</del><span class="cx">                                 5185FCA71BB4C4E80012898F /* IDBRecordIdentifier.h in Headers */,
</span><span class="cx">                                 5185FCA91BB4C4E80012898F /* IDBRequest.h in Headers */,
</span><span class="cx">                                 510A58FA1BACC7F200C19282 /* IDBRequestData.h in Headers */,
</span><span class="lines">@@ -26373,11 +26204,7 @@
</span><span class="cx">                                 5145B10A1BC48E2E00E86219 /* IDBResourceIdentifier.h in Headers */,
</span><span class="cx">                                 51D7236D1BB6174900478CA3 /* IDBResultData.h in Headers */,
</span><span class="cx">                                 5185FCBB1BB4CBF80012898F /* IDBServer.h in Headers */,
</span><del>-                                5185FCAB1BB4C4E80012898F /* IDBServerConnection.h in Headers */,
</del><span class="cx">                                 5185FCAD1BB4C4E80012898F /* IDBTransaction.h in Headers */,
</span><del>-                                51F41A741BA73B5B002E053B /* IDBTransactionBackend.h in Headers */,
-                                51F41A761BA73B5B002E053B /* IDBTransactionBackendOperations.h in Headers */,
-                                51F41A781BA73B5B002E053B /* IDBTransactionCoordinator.h in Headers */,
</del><span class="cx">                                 5198F7B51BBE003C00E2CC5F /* IDBTransactionImpl.h in Headers */,
</span><span class="cx">                                 5198F7AD1BBDD3EB00E2CC5F /* IDBTransactionInfo.h in Headers */,
</span><span class="cx">                                 5185FCB01BB4C4E80012898F /* IDBVersionChangeEvent.h in Headers */,
</span><span class="lines">@@ -27107,22 +26934,11 @@
</span><span class="cx">                                 141DC054164834B900371E5A /* LayoutSize.h in Headers */,
</span><span class="cx">                                 2D9066070BE141D400956998 /* LayoutState.h in Headers */,
</span><span class="cx">                                 141DC0481648348F00371E5A /* LayoutUnit.h in Headers */,
</span><del>-                                5103C2B91BA23A2600E26337 /* LegacyAny.h in Headers */,
-                                51645B5B1B9FA6C800F789CE /* LegacyCursor.h in Headers */,
-                                51645B5D1B9FA6C800F789CE /* LegacyCursorWithValue.h in Headers */,
-                                51645B5F1B9FA6C800F789CE /* LegacyDatabase.h in Headers */,
-                                51645B611B9FA6C800F789CE /* LegacyFactory.h in Headers */,
-                                51645B631B9FA6C800F789CE /* LegacyIndex.h in Headers */,
-                                51645B651B9FA6C800F789CE /* LegacyObjectStore.h in Headers */,
-                                51645B671B9FA6C800F789CE /* LegacyOpenDBRequest.h in Headers */,
-                                51645B691B9FA6C800F789CE /* LegacyRequest.h in Headers */,
</del><span class="cx">                                 E4C3B1FA0F0E4161009693F6 /* LegacyTileCache.h in Headers */,
</span><span class="cx">                                 E4B65A58132FA8E70070E7BE /* LegacyTileGrid.h in Headers */,
</span><span class="cx">                                 E424A39E1330DF0100CF6DC9 /* LegacyTileGridTile.h in Headers */,
</span><span class="cx">                                 E4B65A5C132FACB00070E7BE /* LegacyTileLayer.h in Headers */,
</span><span class="cx">                                 E4E39AFB1330EFA8003AB274 /* LegacyTileLayerPool.h in Headers */,
</span><del>-                                51645B6B1B9FA6C800F789CE /* LegacyTransaction.h in Headers */,
-                                51645B6D1B9FA6C800F789CE /* LegacyVersionChangeEvent.h in Headers */,
</del><span class="cx">                                 512DD8F50D91E6AF000F89EE /* LegacyWebArchive.h in Headers */,
</span><span class="cx">                                 BCE65BEB0EACDF16007E4533 /* Length.h in Headers */,
</span><span class="cx">                                 BCFF64910EAD15C200C1D6F7 /* LengthBox.h in Headers */,
</span><span class="lines">@@ -30008,20 +29824,15 @@
</span><span class="cx">                                 5198F7C01BC4856700E2CC5F /* IDBConnectionToServer.cpp in Sources */,
</span><span class="cx">                                 41F54F8B1C50C50300338488 /* FetchBody.cpp in Sources */,
</span><span class="cx">                                 5185FC7A1BB4C4E80012898F /* IDBCursor.cpp in Sources */,
</span><del>-                                51F41A691BA73B5B002E053B /* IDBCursorBackend.cpp in Sources */,
-                                51F41A6B1BA73B5B002E053B /* IDBCursorBackendOperations.cpp in Sources */,
</del><span class="cx">                                 51F798E51BE88092008AE491 /* IDBCursorImpl.cpp in Sources */,
</span><span class="cx">                                 517138FB1BF3ADF4000D5F01 /* IDBCursorInfo.cpp in Sources */,
</span><span class="cx">                                 5185FC7D1BB4C4E80012898F /* IDBCursorWithValue.cpp in Sources */,
</span><span class="cx">                                 51F798F31BE88394008AE491 /* IDBCursorWithValueImpl.cpp in Sources */,
</span><span class="cx">                                 5185FC801BB4C4E80012898F /* IDBDatabase.cpp in Sources */,
</span><del>-                                51F41A6D1BA73B5B002E053B /* IDBDatabaseBackend.cpp in Sources */,
-                                51F41A701BA73B5B002E053B /* IDBDatabaseCallbacksImpl.cpp in Sources */,
</del><span class="cx">                                 5185FC841BB4C4E80012898F /* IDBDatabaseException.cpp in Sources */,
</span><span class="cx">                                 5185FC861BB4C4E80012898F /* IDBDatabaseIdentifier.cpp in Sources */,
</span><span class="cx">                                 5198F7B01BBDF5C800E2CC5F /* IDBDatabaseImpl.cpp in Sources */,
</span><span class="cx">                                 51BA4AC31BBB5CD800DF3D6D /* IDBDatabaseInfo.cpp in Sources */,
</span><del>-                                5185FC881BB4C4E80012898F /* IDBDatabaseMetadata.cpp in Sources */,
</del><span class="cx">                                 5148453E1BB9D07E006A72ED /* IDBError.cpp in Sources */,
</span><span class="cx">                                 5185FC8A1BB4C4E80012898F /* IDBEventDispatcher.cpp in Sources */,
</span><span class="cx">                                 5185FC8C1BB4C4E80012898F /* IDBFactory.cpp in Sources */,
</span><span class="lines">@@ -30040,7 +29851,6 @@
</span><span class="cx">                                 5160712E1BD8307800DBC4F2 /* IDBObjectStoreInfo.cpp in Sources */,
</span><span class="cx">                                 5185FCA31BB4C4E80012898F /* IDBOpenDBRequest.cpp in Sources */,
</span><span class="cx">                                 5103105A1BA8DB56003329C0 /* IDBOpenDBRequestImpl.cpp in Sources */,
</span><del>-                                51F41A7B1BA73B5B002E053B /* IDBPendingTransactionMonitor.cpp in Sources */,
</del><span class="cx">                                 5185FCA81BB4C4E80012898F /* IDBRequest.cpp in Sources */,
</span><span class="cx">                                 510A58F91BACC7F200C19282 /* IDBRequestData.cpp in Sources */,
</span><span class="cx">                                 5103105C1BA8DB56003329C0 /* IDBRequestImpl.cpp in Sources */,
</span><span class="lines">@@ -30048,9 +29858,6 @@
</span><span class="cx">                                 51D7236C1BB6174900478CA3 /* IDBResultData.cpp in Sources */,
</span><span class="cx">                                 5185FCBA1BB4CBF80012898F /* IDBServer.cpp in Sources */,
</span><span class="cx">                                 5185FCAC1BB4C4E80012898F /* IDBTransaction.cpp in Sources */,
</span><del>-                                51F41A731BA73B5B002E053B /* IDBTransactionBackend.cpp in Sources */,
-                                51F41A751BA73B5B002E053B /* IDBTransactionBackendOperations.cpp in Sources */,
-                                51F41A771BA73B5B002E053B /* IDBTransactionCoordinator.cpp in Sources */,
</del><span class="cx">                                 5198F7B41BBE003C00E2CC5F /* IDBTransactionImpl.cpp in Sources */,
</span><span class="cx">                                 5198F7AC1BBDD3EB00E2CC5F /* IDBTransactionInfo.cpp in Sources */,
</span><span class="cx">                                 5185FCAF1BB4C4E80012898F /* IDBVersionChangeEvent.cpp in Sources */,
</span><span class="lines">@@ -30885,22 +30692,11 @@
</span><span class="cx">                                 A120ACA413F998CA00FE4AC7 /* LayoutRepainter.cpp in Sources */,
</span><span class="cx">                                 0F36E7391BD184B9002DB891 /* LayoutSize.cpp in Sources */,
</span><span class="cx">                                 2D9066060BE141D400956998 /* LayoutState.cpp in Sources */,
</span><del>-                                5103C2B11BA22D1A00E26337 /* LegacyAny.cpp in Sources */,
-                                51645B5A1B9FA6C800F789CE /* LegacyCursor.cpp in Sources */,
-                                51645B5C1B9FA6C800F789CE /* LegacyCursorWithValue.cpp in Sources */,
-                                51645B5E1B9FA6C800F789CE /* LegacyDatabase.cpp in Sources */,
-                                51645B601B9FA6C800F789CE /* LegacyFactory.cpp in Sources */,
-                                51645B621B9FA6C800F789CE /* LegacyIndex.cpp in Sources */,
-                                51645B641B9FA6C800F789CE /* LegacyObjectStore.cpp in Sources */,
-                                51645B661B9FA6C800F789CE /* LegacyOpenDBRequest.cpp in Sources */,
-                                51645B681B9FA6C800F789CE /* LegacyRequest.cpp in Sources */,
</del><span class="cx">                                 E4C3B1FC0F0E4170009693F6 /* LegacyTileCache.mm in Sources */,
</span><span class="cx">                                 E4B65A5A132FAAF90070E7BE /* LegacyTileGrid.mm in Sources */,
</span><span class="cx">                                 E424A3A01330DF1E00CF6DC9 /* LegacyTileGridTile.mm in Sources */,
</span><span class="cx">                                 E4B65A5E132FADB60070E7BE /* LegacyTileLayer.mm in Sources */,
</span><span class="cx">                                 E4E39AFD1330EFC6003AB274 /* LegacyTileLayerPool.mm in Sources */,
</span><del>-                                51645B6A1B9FA6C800F789CE /* LegacyTransaction.cpp in Sources */,
-                                51645B6C1B9FA6C800F789CE /* LegacyVersionChangeEvent.cpp in Sources */,
</del><span class="cx">                                 512DD8F40D91E6AF000F89EE /* LegacyWebArchive.cpp in Sources */,
</span><span class="cx">                                 51B2417B0D931F3F00E83F5C /* LegacyWebArchiveMac.mm in Sources */,
</span><span class="cx">                                 BCE65BEA0EACDF16007E4533 /* Length.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsIDBBindingUtilitiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/IDBBindingUtilities.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/IDBBindingUtilities.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/bindings/js/IDBBindingUtilities.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx">
</span><span class="cx"> #include "DOMRequestState.h"
</span><span class="cx"> #include "IDBIndexInfo.h"
</span><del>-#include "IDBIndexMetadata.h"
</del><span class="cx"> #include "IDBKey.h"
</span><span class="cx"> #include "IDBKeyData.h"
</span><span class="cx"> #include "IDBKeyPath.h"
</span><span class="lines">@@ -529,31 +528,6 @@
</span><span class="cx"> return idbKeyToScriptValue(&requestState, key.get());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void generateIndexKeysForValue(ExecState* exec, const IDBIndexMetadata& indexMetadata, const Deprecated::ScriptValue& objectValue, Vector<IDBKeyData>& indexKeys)
-{
- RefPtr<IDBKey> indexKey = createIDBKeyFromScriptValueAndKeyPath(exec, objectValue, indexMetadata.keyPath);
-
- if (!indexKey)
- return;
-
- if (!indexMetadata.multiEntry || indexKey->type() != KeyType::Array) {
- if (!indexKey->isValid())
- return;
-
- indexKeys.append(IDBKeyData(indexKey.get()));
- } else {
- ASSERT(indexMetadata.multiEntry);
- ASSERT(indexKey->type() == KeyType::Array);
- indexKey = IDBKey::createMultiEntryArray(indexKey->array());
-
- if (!indexKey->isValid())
- return;
-
- for (auto& i : indexKey->array())
- indexKeys.append(IDBKeyData(i.get()));
- }
-}
-
</del><span class="cx"> static Vector<IDBKeyData> createKeyPathArray(ExecState& exec, JSValue value, const IDBIndexInfo& info)
</span><span class="cx"> {
</span><span class="cx"> Vector<IDBKeyData> keys;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsIDBBindingUtilitiesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/IDBBindingUtilities.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/IDBBindingUtilities.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/bindings/js/IDBBindingUtilities.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -37,14 +37,12 @@
</span><span class="cx"> class DOMRequestState;
</span><span class="cx"> class IDBIndexInfo;
</span><span class="cx"> class IDBKey;
</span><ins>+class IDBKeyData;
</ins><span class="cx"> class IDBKeyPath;
</span><span class="cx"> class IndexKey;
</span><span class="cx"> class SharedBuffer;
</span><span class="cx"> class ThreadSafeDataBuffer;
</span><span class="cx">
</span><del>-struct IDBIndexMetadata;
-class IDBKeyData;
-
</del><span class="cx"> IDBKeyPath idbKeyPathFromValue(JSC::ExecState*, JSC::JSValue);
</span><span class="cx">
</span><span class="cx"> bool injectIDBKeyIntoScriptValue(DOMRequestState*, PassRefPtr<IDBKey>, Deprecated::ScriptValue&, const IDBKeyPath&);
</span><span class="lines">@@ -67,7 +65,6 @@
</span><span class="cx"> Deprecated::ScriptValue idbKeyToScriptValue(DOMRequestState*, PassRefPtr<IDBKey>);
</span><span class="cx"> RefPtr<IDBKey> scriptValueToIDBKey(DOMRequestState*, const JSC::JSValue&);
</span><span class="cx"> RefPtr<IDBKey> scriptValueToIDBKey(JSC::ExecState&, const JSC::JSValue&);
</span><del>-WEBCORE_EXPORT void generateIndexKeysForValue(JSC::ExecState*, const IDBIndexMetadata&, const Deprecated::ScriptValue& objectValue, Vector<IDBKeyData>& indexKeys);
</del><span class="cx">
</span><span class="cx"> Deprecated::ScriptValue idbKeyDataToScriptValue(ScriptExecutionContext*, const IDBKeyData&);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMainThreadExecStatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMainThreadExecState.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMainThreadExecState.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/bindings/js/JSMainThreadExecState.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -29,22 +29,12 @@
</span><span class="cx"> #include "Microtasks.h"
</span><span class="cx"> #include "MutationObserver.h"
</span><span class="cx">
</span><del>-#if ENABLE(INDEXED_DATABASE)
-#include "IDBPendingTransactionMonitor.h"
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> JSC::ExecState* JSMainThreadExecState::s_mainThreadState = 0;
</span><span class="cx">
</span><span class="cx"> void JSMainThreadExecState::didLeaveScriptContext()
</span><span class="cx"> {
</span><del>-#if ENABLE(INDEXED_DATABASE)
- // Indexed DB requires that transactions are created with an internal |active| flag
- // set to true, but the flag becomes false when control returns to the event loop.
- IDBPendingTransactionMonitor::deactivateNewTransactions();
-#endif
-
</del><span class="cx"> MicrotaskQueue::mainThreadQueue().performMicrotaskCheckpoint();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorIndexedDBAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -47,8 +47,6 @@
</span><span class="cx"> #include "IDBCursor.h"
</span><span class="cx"> #include "IDBCursorWithValue.h"
</span><span class="cx"> #include "IDBDatabase.h"
</span><del>-#include "IDBDatabaseCallbacks.h"
-#include "IDBDatabaseMetadata.h"
</del><span class="cx"> #include "IDBFactory.h"
</span><span class="cx"> #include "IDBIndex.h"
</span><span class="cx"> #include "IDBKey.h"
</span><span class="lines">@@ -56,12 +54,10 @@
</span><span class="cx"> #include "IDBKeyRange.h"
</span><span class="cx"> #include "IDBObjectStore.h"
</span><span class="cx"> #include "IDBOpenDBRequest.h"
</span><del>-#include "IDBPendingTransactionMonitor.h"
</del><span class="cx"> #include "IDBRequest.h"
</span><span class="cx"> #include "IDBTransaction.h"
</span><span class="cx"> #include "InspectorPageAgent.h"
</span><span class="cx"> #include "InstrumentingAgents.h"
</span><del>-#include "LegacyDatabase.h"
</del><span class="cx"> #include "SecurityOrigin.h"
</span><span class="cx"> #include <inspector/InjectedScript.h>
</span><span class="cx"> #include <inspector/InjectedScriptManager.h>
</span><span class="lines">@@ -150,7 +146,7 @@
</span><span class="cx"> : m_context(context) { }
</span><span class="cx"> virtual ~ExecutableWithDatabase() { };
</span><span class="cx"> void start(IDBFactory*, SecurityOrigin*, const String& databaseName);
</span><del>- virtual void execute(RefPtr<LegacyDatabase>&&) = 0;
</del><ins>+ virtual void execute() = 0;
</ins><span class="cx"> virtual RequestCallback& requestCallback() = 0;
</span><span class="cx"> ScriptExecutionContext* context() { return m_context; };
</span><span class="cx"> private:
</span><span class="lines">@@ -194,10 +190,8 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<LegacyDatabase> idbDatabase = adoptRef(static_cast<LegacyDatabase*>(requestResult->idbDatabase().leakRef()));
- m_executableWithDatabase->execute(WTFMove(idbDatabase));
- IDBPendingTransactionMonitor::deactivateNewTransactions();
- idbDatabase->close();
</del><ins>+ // FIXME (webkit.org/b/154686) - Reimplement this.
+ m_executableWithDatabase->execute();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> private:
</span><span class="lines">@@ -219,66 +213,6 @@
</span><span class="cx"> idbOpenDBRequest->addEventListener(eventNames().successEvent, WTFMove(callback), false);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static RefPtr<IDBTransaction> transactionForDatabase(ScriptExecutionContext* scriptExecutionContext, IDBDatabase* idbDatabase, const String& objectStoreName, const String& mode = IDBTransaction::modeReadOnly())
-{
- ExceptionCodeWithMessage ec;
- RefPtr<IDBTransaction> idbTransaction = idbDatabase->transaction(scriptExecutionContext, objectStoreName, mode, ec);
- if (ec.code)
- return nullptr;
- return idbTransaction;
-}
-
-static RefPtr<IDBObjectStore> objectStoreForTransaction(IDBTransaction* idbTransaction, const String& objectStoreName)
-{
- ExceptionCodeWithMessage ec;
- RefPtr<IDBObjectStore> idbObjectStore = idbTransaction->objectStore(objectStoreName, ec);
- if (ec.code)
- return nullptr;
- return idbObjectStore;
-}
-
-static RefPtr<IDBIndex> indexForObjectStore(IDBObjectStore* idbObjectStore, const String& indexName)
-{
- ExceptionCodeWithMessage ec;
- RefPtr<IDBIndex> idbIndex = idbObjectStore->index(indexName, ec);
- if (ec.code)
- return nullptr;
- return idbIndex;
-}
-
-static RefPtr<KeyPath> keyPathFromIDBKeyPath(const IDBKeyPath& idbKeyPath)
-{
- RefPtr<KeyPath> keyPath;
- switch (idbKeyPath.type()) {
- case IndexedDB::KeyPathType::Null:
- keyPath = KeyPath::create()
- .setType(KeyPath::Type::Null)
- .release();
- break;
- case IndexedDB::KeyPathType::String:
- keyPath = KeyPath::create()
- .setType(KeyPath::Type::String)
- .release();
- keyPath->setString(idbKeyPath.string());
-
- break;
- case IndexedDB::KeyPathType::Array: {
- auto array = Inspector::Protocol::Array<String>::create();
- for (auto& string : idbKeyPath.array())
- array->addItem(string);
- keyPath = KeyPath::create()
- .setType(KeyPath::Type::Array)
- .release();
- keyPath->setArray(WTFMove(array));
- break;
- }
- default:
- ASSERT_NOT_REACHED();
- }
-
- return keyPath;
-}
-
</del><span class="cx"> class DatabaseLoader : public ExecutableWithDatabase {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<DatabaseLoader> create(ScriptExecutionContext* context, Ref<RequestDatabaseCallback>&& requestCallback)
</span><span class="lines">@@ -288,45 +222,12 @@
</span><span class="cx">
</span><span class="cx"> virtual ~DatabaseLoader() { }
</span><span class="cx">
</span><del>- virtual void execute(RefPtr<LegacyDatabase>&& database) override
</del><ins>+ virtual void execute() override
</ins><span class="cx"> {
</span><span class="cx"> if (!requestCallback().isActive())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- const IDBDatabaseMetadata databaseMetadata = database->metadata();
-
- auto objectStores = Inspector::Protocol::Array<Inspector::Protocol::IndexedDB::ObjectStore>::create();
-
- for (const IDBObjectStoreMetadata& objectStoreMetadata : databaseMetadata.objectStores.values()) {
- auto indexes = Inspector::Protocol::Array<Inspector::Protocol::IndexedDB::ObjectStoreIndex>::create();
-
- for (const IDBIndexMetadata& indexMetadata : objectStoreMetadata.indexes.values()) {
- Ref<ObjectStoreIndex> objectStoreIndex = ObjectStoreIndex::create()
- .setName(indexMetadata.name)
- .setKeyPath(keyPathFromIDBKeyPath(indexMetadata.keyPath))
- .setUnique(indexMetadata.unique)
- .setMultiEntry(indexMetadata.multiEntry)
- .release();
- indexes->addItem(WTFMove(objectStoreIndex));
- }
-
- Ref<ObjectStore> objectStore = ObjectStore::create()
- .setName(objectStoreMetadata.name)
- .setKeyPath(keyPathFromIDBKeyPath(objectStoreMetadata.keyPath))
- .setAutoIncrement(objectStoreMetadata.autoIncrement)
- .setIndexes(WTFMove(indexes))
- .release();
-
- objectStores->addItem(WTFMove(objectStore));
- }
-
- Ref<DatabaseWithObjectStores> result = DatabaseWithObjectStores::create()
- .setName(databaseMetadata.name)
- .setVersion(databaseMetadata.version)
- .setObjectStores(WTFMove(objectStores))
- .release();
-
- m_requestCallback->sendSuccess(WTFMove(result));
</del><ins>+ // FIXME (webkit.org/b/154686) - Reimplement this.
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> virtual RequestCallback& requestCallback() override { return m_requestCallback.get(); }
</span><span class="lines">@@ -518,36 +419,12 @@
</span><span class="cx">
</span><span class="cx"> virtual ~DataLoader() { }
</span><span class="cx">
</span><del>- virtual void execute(RefPtr<LegacyDatabase>&& database) override
</del><ins>+ virtual void execute() override
</ins><span class="cx"> {
</span><span class="cx"> if (!requestCallback().isActive())
</span><span class="cx"> return;
</span><del>- RefPtr<IDBTransaction> idbTransaction = transactionForDatabase(context(), database.get(), m_objectStoreName);
- if (!idbTransaction) {
- m_requestCallback->sendFailure("Could not get transaction");
- return;
- }
- RefPtr<IDBObjectStore> idbObjectStore = objectStoreForTransaction(idbTransaction.get(), m_objectStoreName);
- if (!idbObjectStore) {
- m_requestCallback->sendFailure("Could not get object store");
- return;
- }
</del><span class="cx">
</span><del>- Ref<OpenCursorCallback> openCursorCallback = OpenCursorCallback::create(m_injectedScript, m_requestCallback.copyRef(), m_skipCount, m_pageSize);
-
- ExceptionCodeWithMessage ec;
- RefPtr<IDBRequest> idbRequest;
- if (!m_indexName.isEmpty()) {
- RefPtr<IDBIndex> idbIndex = indexForObjectStore(idbObjectStore.get(), m_indexName);
- if (!idbIndex) {
- m_requestCallback->sendFailure("Could not get index");
- return;
- }
-
- idbRequest = idbIndex->openCursor(context(), m_idbKeyRange.get(), ec);
- } else
- idbRequest = idbObjectStore->openCursor(context(), m_idbKeyRange.get(), ec);
- idbRequest->addEventListener(eventNames().successEvent, WTFMove(openCursorCallback), false);
</del><ins>+ // FIXME (webkit.org/b/154686) - Reimplement this.
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> virtual RequestCallback& requestCallback() override { return m_requestCallback.get(); }
</span><span class="lines">@@ -734,29 +611,12 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>- virtual void execute(RefPtr<LegacyDatabase>&& database) override
</del><ins>+ virtual void execute() override
</ins><span class="cx"> {
</span><span class="cx"> if (!requestCallback().isActive())
</span><span class="cx"> return;
</span><del>- RefPtr<IDBTransaction> idbTransaction = transactionForDatabase(context(), database.get(), m_objectStoreName, IDBTransaction::modeReadWrite());
- if (!idbTransaction) {
- m_requestCallback->sendFailure("Could not get transaction");
- return;
- }
- RefPtr<IDBObjectStore> idbObjectStore = objectStoreForTransaction(idbTransaction.get(), m_objectStoreName);
- if (!idbObjectStore) {
- m_requestCallback->sendFailure("Could not get object store");
- return;
- }
</del><span class="cx">
</span><del>- ExceptionCodeWithMessage ec;
- RefPtr<IDBRequest> idbRequest = idbObjectStore->clear(context(), ec);
- ASSERT(!ec.code);
- if (ec.code) {
- m_requestCallback->sendFailure(String::format("Could not clear object store '%s': %d", m_objectStoreName.utf8().data(), ec.code));
- return;
- }
- idbTransaction->addEventListener(eventNames().completeEvent, ClearObjectStoreListener::create(m_requestCallback.copyRef()), false);
</del><ins>+ // FIXME (webkit.org/b/154686) - Reimplement this.
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> virtual RequestCallback& requestCallback() override { return m_requestCallback.get(); }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderEmptyClientscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/EmptyClients.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/EmptyClients.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/loader/EmptyClients.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #include "Frame.h"
</span><span class="cx"> #include "FrameNetworkingContext.h"
</span><span class="cx"> #include "HTMLFormElement.h"
</span><del>-#include "IDBFactoryBackendInterface.h"
</del><span class="cx"> #include "InProcessIDBServer.h"
</span><span class="cx"> #include "PageConfiguration.h"
</span><span class="cx"> #include "StorageArea.h"
</span><span class="lines">@@ -52,9 +51,6 @@
</span><span class="cx">
</span><span class="cx"> class EmptyDatabaseProvider final : public DatabaseProvider {
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- virtual RefPtr<IDBFactoryBackendInterface> createIDBFactoryBackend() { return nullptr; }
- virtual bool supportsModernIDB() const { return false; }
-
</del><span class="cx"> virtual IDBClient::IDBConnectionToServer& idbConnectionToServerForSession(const SessionID&)
</span><span class="cx"> {
</span><span class="cx"> static NeverDestroyed<Ref<InProcessIDBServer>> sharedConnection(InProcessIDBServer::create());
</span></span></pre></div>
<a id="trunkSourceWebCorepageDatabaseProvidercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DatabaseProvider.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DatabaseProvider.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/page/DatabaseProvider.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -26,24 +26,10 @@
</span><span class="cx"> #include "config.h"
</span><span class="cx"> #include "DatabaseProvider.h"
</span><span class="cx">
</span><del>-#include "IDBFactoryBackendInterface.h"
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> DatabaseProvider::~DatabaseProvider()
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-#if ENABLE(INDEXED_DATABASE)
-IDBFactoryBackendInterface* DatabaseProvider::idbFactoryBackend()
-{
- if (!m_didCreateIDBFactoryBackendInterface) {
- m_backendInterface = createIDBFactoryBackend();
- m_didCreateIDBFactoryBackendInterface = true;
- }
-
- return m_backendInterface.get();
</del><span class="cx"> }
</span><del>-#endif
-
-}
</del></span></pre></div>
<a id="trunkSourceWebCorepageDatabaseProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DatabaseProvider.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DatabaseProvider.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/page/DatabaseProvider.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class IDBConnectionManager;
</span><del>-class IDBFactoryBackendInterface;
</del><span class="cx"> class SessionID;
</span><span class="cx">
</span><span class="cx"> namespace IDBClient {
</span><span class="lines">@@ -44,19 +43,8 @@
</span><span class="cx"> virtual ~DatabaseProvider();
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- IDBFactoryBackendInterface* idbFactoryBackend();
-
- virtual bool supportsModernIDB() const = 0;
</del><span class="cx"> virtual IDBClient::IDBConnectionToServer& idbConnectionToServerForSession(const SessionID&) = 0;
</span><span class="cx"> #endif
</span><del>-
-private:
-#if ENABLE(INDEXED_DATABASE)
- virtual RefPtr<IDBFactoryBackendInterface> createIDBFactoryBackend() = 0;
-
- bool m_didCreateIDBFactoryBackendInterface { false };
- RefPtr<IDBFactoryBackendInterface> m_backendInterface;
-#endif
</del><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformCrossThreadCopiercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/CrossThreadCopier.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/CrossThreadCopier.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/platform/CrossThreadCopier.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx"> #include "IDBCursorInfo.h"
</span><span class="cx"> #include "IDBDatabaseIdentifier.h"
</span><span class="cx"> #include "IDBDatabaseInfo.h"
</span><del>-#include "IDBDatabaseMetadata.h"
</del><span class="cx"> #include "IDBError.h"
</span><span class="cx"> #include "IDBGetResult.h"
</span><span class="cx"> #include "IDBIndexInfo.h"
</span><span class="lines">@@ -111,21 +110,11 @@
</span><span class="cx"> return type;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-CrossThreadCopierBase<false, false, IDBDatabaseMetadata>::Type CrossThreadCopierBase<false, false, IDBDatabaseMetadata>::copy(const IDBDatabaseMetadata& metadata)
-{
- return metadata.isolatedCopy();
-}
-
</del><span class="cx"> CrossThreadCopierBase<false, false, IDBGetResult>::Type CrossThreadCopierBase<false, false, IDBGetResult>::copy(const IDBGetResult& result)
</span><span class="cx"> {
</span><span class="cx"> return result.isolatedCopy();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-CrossThreadCopierBase<false, false, IDBIndexMetadata>::Type CrossThreadCopierBase<false, false, IDBIndexMetadata>::copy(const IDBIndexMetadata& metadata)
-{
- return metadata.isolatedCopy();
-}
-
</del><span class="cx"> CrossThreadCopierBase<false, false, IDBKeyData>::Type CrossThreadCopierBase<false, false, IDBKeyData>::copy(const IDBKeyData& keyData)
</span><span class="cx"> {
</span><span class="cx"> return keyData.isolatedCopy();
</span><span class="lines">@@ -136,11 +125,6 @@
</span><span class="cx"> return keyRangeData.isolatedCopy();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-CrossThreadCopierBase<false, false, IDBObjectStoreMetadata>::Type CrossThreadCopierBase<false, false, IDBObjectStoreMetadata>::copy(const IDBObjectStoreMetadata& metadata)
-{
- return metadata.isolatedCopy();
-}
-
</del><span class="cx"> CrossThreadCopierBase<false, false, IDBDatabaseInfo>::Type CrossThreadCopierBase<false, false, IDBDatabaseInfo>::copy(const IDBDatabaseInfo& info)
</span><span class="cx"> {
</span><span class="cx"> return info.isolatedCopy();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformCrossThreadCopierh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/CrossThreadCopier.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/CrossThreadCopier.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebCore/platform/CrossThreadCopier.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -161,24 +161,12 @@
</span><span class="cx"> WEBCORE_EXPORT static IndexedDB::CursorType copy(const IndexedDB::CursorType&);
</span><span class="cx"> };
</span><span class="cx">
</span><del>- struct IDBDatabaseMetadata;
- template<> struct WEBCORE_EXPORT CrossThreadCopierBase<false, false, IDBDatabaseMetadata> {
- typedef IDBDatabaseMetadata Type;
- static Type copy(const IDBDatabaseMetadata&);
- };
-
</del><span class="cx"> class IDBGetResult;
</span><span class="cx"> template<> struct WEBCORE_EXPORT CrossThreadCopierBase<false, false, IDBGetResult> {
</span><span class="cx"> typedef IDBGetResult Type;
</span><span class="cx"> static Type copy(const IDBGetResult&);
</span><span class="cx"> };
</span><span class="cx">
</span><del>- struct IDBIndexMetadata;
- template<> struct WEBCORE_EXPORT CrossThreadCopierBase<false, false, IDBIndexMetadata> {
- typedef IDBIndexMetadata Type;
- static Type copy(const IDBIndexMetadata&);
- };
-
</del><span class="cx"> class IDBKeyData;
</span><span class="cx"> template<> struct WEBCORE_EXPORT CrossThreadCopierBase<false, false, IDBKeyData> {
</span><span class="cx"> typedef IDBKeyData Type;
</span><span class="lines">@@ -191,12 +179,6 @@
</span><span class="cx"> static Type copy(const IDBKeyRangeData&);
</span><span class="cx"> };
</span><span class="cx">
</span><del>- struct IDBObjectStoreMetadata;
- template<> struct WEBCORE_EXPORT CrossThreadCopierBase<false, false, IDBObjectStoreMetadata> {
- typedef IDBObjectStoreMetadata Type;
- static Type copy(const IDBObjectStoreMetadata&);
- };
-
</del><span class="cx"> class IDBDatabaseInfo;
</span><span class="cx"> template<> struct WEBCORE_EXPORT CrossThreadCopierBase<false, false, IDBDatabaseInfo> {
</span><span class="cx"> typedef IDBDatabaseInfo Type;
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit/ChangeLog        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2016-02-25 Brady Eidson <beidson@apple.com>
+
+ Remove LegacyIDB.
+ https://bugs.webkit.org/show_bug.cgi?id=150854
+
+ Reviewed by Alex Christensen.
+
+ * Storage/WebDatabaseProvider.cpp:
+ (WebDatabaseProvider::createIDBFactoryBackend): Deleted.
+ * Storage/WebDatabaseProvider.h:
+
</ins><span class="cx"> 2016-02-25 Brent Fulgham <bfulgham@apple.com>
</span><span class="cx">
</span><span class="cx"> [Win][CMake] Don't use incremental linking
</span></span></pre></div>
<a id="trunkSourceWebKitStorageWebDatabaseProvidercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/WebDatabaseProvider.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/WebDatabaseProvider.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit/Storage/WebDatabaseProvider.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx">
</span><span class="cx"> #include "WebDatabaseProvider.h"
</span><span class="cx">
</span><del>-#include <WebCore/IDBFactoryBackendInterface.h>
</del><span class="cx"> #include <WebCore/SessionID.h>
</span><span class="cx"> #include <wtf/NeverDestroyed.h>
</span><span class="cx">
</span><span class="lines">@@ -45,11 +44,6 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>-RefPtr<WebCore::IDBFactoryBackendInterface> WebDatabaseProvider::createIDBFactoryBackend()
-{
- return nullptr;
-}
-
</del><span class="cx"> WebCore::IDBClient::IDBConnectionToServer& WebDatabaseProvider::idbConnectionToServerForSession(const WebCore::SessionID& sessionID)
</span><span class="cx"> {
</span><span class="cx"> auto result = m_idbServerMap.add(sessionID.sessionID(), nullptr);
</span></span></pre></div>
<a id="trunkSourceWebKitStorageWebDatabaseProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/WebDatabaseProvider.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/WebDatabaseProvider.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit/Storage/WebDatabaseProvider.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -42,7 +42,6 @@
</span><span class="cx"> virtual ~WebDatabaseProvider();
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- virtual bool supportsModernIDB() const override { return true; }
</del><span class="cx"> virtual WebCore::IDBClient::IDBConnectionToServer& idbConnectionToServerForSession(const WebCore::SessionID&) override;
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -52,7 +51,6 @@
</span><span class="cx"> static String indexedDatabaseDirectoryPath();
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- virtual RefPtr<WebCore::IDBFactoryBackendInterface> createIDBFactoryBackend() override;
</del><span class="cx"> HashMap<uint64_t, RefPtr<WebCore::InProcessIDBServer>> m_idbServerMap;
</span><span class="cx"> #endif
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKit2CMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/CMakeLists.txt (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/CMakeLists.txt        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/CMakeLists.txt        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -3,7 +3,6 @@
</span><span class="cx"> "${WEBKIT2_DIR}"
</span><span class="cx"> "${WEBKIT2_DIR}/DatabaseProcess"
</span><span class="cx"> "${WEBKIT2_DIR}/DatabaseProcess/IndexedDB"
</span><del>- "${WEBKIT2_DIR}/DatabaseProcess/IndexedDB/sqlite"
</del><span class="cx"> "${WEBKIT2_DIR}/NetworkProcess"
</span><span class="cx"> "${WEBKIT2_DIR}/NetworkProcess/CustomProtocols"
</span><span class="cx"> "${WEBKIT2_DIR}/NetworkProcess/Downloads"
</span><span class="lines">@@ -72,7 +71,6 @@
</span><span class="cx"> "${WEBCORE_DIR}/Modules/battery"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/indexeddb"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/indexeddb/client"
</span><del>- "${WEBCORE_DIR}/Modules/indexeddb/legacy"
</del><span class="cx"> "${WEBCORE_DIR}/Modules/indexeddb/server"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/indexeddb/shared"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/mediastream"
</span><span class="lines">@@ -199,16 +197,8 @@
</span><span class="cx"> DatabaseProcess/DatabaseProcess.cpp
</span><span class="cx"> DatabaseProcess/DatabaseToWebProcessConnection.cpp
</span><span class="cx">
</span><del>- DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp
- DatabaseProcess/IndexedDB/IDBSerialization.cpp
- DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp
- DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp
</del><span class="cx"> DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp
</span><span class="cx">
</span><del>- DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp
- DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp
- DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp
-
</del><span class="cx"> NetworkProcess/NetworkProcessCreationParameters.cpp
</span><span class="cx"> NetworkProcess/NetworkResourceLoadParameters.cpp
</span><span class="cx">
</span><span class="lines">@@ -516,8 +506,6 @@
</span><span class="cx"> WebProcess/Databases/WebToDatabaseProcessConnection.cpp
</span><span class="cx">
</span><span class="cx"> WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp
</span><del>- WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp
- WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp
</del><span class="cx">
</span><span class="cx"> WebProcess/FileAPI/BlobRegistryProxy.cpp
</span><span class="cx">
</span><span class="lines">@@ -647,7 +635,6 @@
</span><span class="cx"> DatabaseProcess/DatabaseProcess.messages.in
</span><span class="cx"> DatabaseProcess/DatabaseToWebProcessConnection.messages.in
</span><span class="cx">
</span><del>- DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in
</del><span class="cx"> DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in
</span><span class="cx">
</span><span class="cx"> NetworkProcess/CustomProtocols/CustomProtocolManager.messages.in
</span><span class="lines">@@ -702,7 +689,6 @@
</span><span class="cx"> WebProcess/Cookies/WebCookieManager.messages.in
</span><span class="cx">
</span><span class="cx"> WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in
</span><del>- WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in
</del><span class="cx">
</span><span class="cx"> WebProcess/FullScreen/WebFullScreenManager.messages.in
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/ChangeLog        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,5 +1,64 @@
</span><span class="cx"> 2016-02-25 Brady Eidson <beidson@apple.com>
</span><span class="cx">
</span><ins>+ Remove LegacyIDB.
+ https://bugs.webkit.org/show_bug.cgi?id=150854
+
+ Reviewed by Alex Christensen.
+
+ * CMakeLists.txt:
+ * DatabaseProcess/DatabaseProcess.cpp:
+ (WebKit::DatabaseProcess::getOrCreateLegacyUniqueIDBDatabase): Deleted.
+ (WebKit::DatabaseProcess::removeLegacyUniqueIDBDatabase): Deleted.
+ * DatabaseProcess/DatabaseProcess.h:
+ * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
+ (WebKit::DatabaseToWebProcessConnection::didClose):
+ (WebKit::DatabaseToWebProcessConnection::didReceiveMessage): Deleted.
+ (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage): Deleted.
+ (WebKit::DatabaseToWebProcessConnection::establishIDBConnection): Deleted.
+ (WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Deleted.
+ * DatabaseProcess/DatabaseToWebProcessConnection.h:
+ * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
+ * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Removed.
+ * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Removed.
+ * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Removed.
+ * DatabaseProcess/IndexedDB/IDBIdentifier.h: Removed.
+ * DatabaseProcess/IndexedDB/IDBSerialization.cpp: Removed.
+ * DatabaseProcess/IndexedDB/IDBSerialization.h: Removed.
+ * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp: Removed.
+ * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h: Removed.
+ * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp: Removed.
+ * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h: Removed.
+ * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: Removed.
+ * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
+ * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: Removed.
+ * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: Removed.
+ * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: Removed.
+ * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: Removed.
+ * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Removed.
+ * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: Removed.
+ * DerivedSources.make:
+ * Shared/WebCrossThreadCopier.cpp:
+ (WebCore::LegacyUniqueIDBDatabaseIdentifier>::copy): Deleted.
+ (WebCore::IDBIdentifier>::copy): Deleted.
+ * Shared/WebCrossThreadCopier.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed.
+ * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Removed.
+ * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Removed.
+ * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Removed.
+ * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Removed.
+ * WebProcess/Databases/WebDatabaseProvider.cpp:
+ (WebKit::WebDatabaseProvider::createIDBFactoryBackend): Deleted.
+ * WebProcess/Databases/WebDatabaseProvider.h:
+ * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
+ (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): Deleted.
+ (WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Deleted.
+ (WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Deleted.
+ * WebProcess/Databases/WebToDatabaseProcessConnection.h:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+
+2016-02-25 Brady Eidson <beidson@apple.com>
+
</ins><span class="cx"> Modern IDB: WebKit 2 IPC layer.
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=153808
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessDatabaseProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #include "DatabaseProcessMessages.h"
</span><span class="cx"> #include "DatabaseProcessProxyMessages.h"
</span><span class="cx"> #include "DatabaseToWebProcessConnection.h"
</span><del>-#include "LegacyUniqueIDBDatabase.h"
</del><span class="cx"> #include "WebCrossThreadCopier.h"
</span><span class="cx"> #include "WebsiteData.h"
</span><span class="cx"> #include <WebCore/CrossThreadTask.h>
</span><span class="lines">@@ -96,26 +95,6 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>-RefPtr<LegacyUniqueIDBDatabase> DatabaseProcess::getOrCreateLegacyUniqueIDBDatabase(const LegacyUniqueIDBDatabaseIdentifier& identifier)
-{
- auto addResult = m_idbDatabases.add(identifier, nullptr);
-
- if (!addResult.isNewEntry)
- return addResult.iterator->value;
-
- RefPtr<LegacyUniqueIDBDatabase> database = LegacyUniqueIDBDatabase::create(identifier);
- addResult.iterator->value = database.get();
- return database;
-}
-
-void DatabaseProcess::removeLegacyUniqueIDBDatabase(const LegacyUniqueIDBDatabase& database)
-{
- const LegacyUniqueIDBDatabaseIdentifier& identifier = database.identifier();
- ASSERT(m_idbDatabases.contains(identifier));
-
- m_idbDatabases.remove(identifier);
-}
-
</del><span class="cx"> IDBServer::IDBServer& DatabaseProcess::idbServer()
</span><span class="cx"> {
</span><span class="cx"> if (!m_idbServer)
</span></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessDatabaseProcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -29,8 +29,6 @@
</span><span class="cx"> #if ENABLE(DATABASE_PROCESS)
</span><span class="cx">
</span><span class="cx"> #include "ChildProcess.h"
</span><del>-#include "LegacyUniqueIDBDatabase.h"
-#include "LegacyUniqueIDBDatabaseIdentifier.h"
</del><span class="cx"> #include <WebCore/IDBServer.h>
</span><span class="cx"> #include <WebCore/UniqueIDBDatabase.h>
</span><span class="cx"> #include <wtf/NeverDestroyed.h>
</span><span class="lines">@@ -57,9 +55,6 @@
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> const String& indexedDatabaseDirectory() const { return m_indexedDatabaseDirectory; }
</span><span class="cx">
</span><del>- RefPtr<LegacyUniqueIDBDatabase> getOrCreateLegacyUniqueIDBDatabase(const LegacyUniqueIDBDatabaseIdentifier&);
- void removeLegacyUniqueIDBDatabase(const LegacyUniqueIDBDatabase&);
-
</del><span class="cx"> void ensureIndexedDatabaseRelativePathExists(const String&);
</span><span class="cx"> String absoluteIndexedDatabasePathFromDatabaseRelativePath(const String&);
</span><span class="cx">
</span><span class="lines">@@ -113,8 +108,6 @@
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> String m_indexedDatabaseDirectory;
</span><span class="cx">
</span><del>- HashMap<LegacyUniqueIDBDatabaseIdentifier, RefPtr<LegacyUniqueIDBDatabase>> m_idbDatabases;
-
</del><span class="cx"> RefPtr<WebCore::IDBServer::IDBServer> m_idbServer;
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessDatabaseToWebProcessConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -26,8 +26,6 @@
</span><span class="cx"> #include "config.h"
</span><span class="cx"> #include "DatabaseToWebProcessConnection.h"
</span><span class="cx">
</span><del>-#include "DatabaseProcessIDBConnection.h"
-#include "DatabaseProcessIDBConnectionMessages.h"
</del><span class="cx"> #include "DatabaseToWebProcessConnectionMessages.h"
</span><span class="cx"> #include "Logging.h"
</span><span class="cx"> #include "WebIDBConnectionToClient.h"
</span><span class="lines">@@ -69,38 +67,15 @@
</span><span class="cx"> iterator->value->didReceiveMessage(connection, decoder);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>-
- if (decoder.messageReceiverName() == Messages::DatabaseProcessIDBConnection::messageReceiverName()) {
- IDBConnectionMap::iterator backendIterator = m_idbConnections.find(decoder.destinationID());
- if (backendIterator != m_idbConnections.end())
- backendIterator->value->didReceiveDatabaseProcessIDBConnectionMessage(connection, decoder);
- return;
- }
</del><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void DatabaseToWebProcessConnection::didReceiveSyncMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder, std::unique_ptr<IPC::MessageEncoder>& reply)
-{
-#if ENABLE(INDEXED_DATABASE)
- if (decoder.messageReceiverName() == Messages::DatabaseProcessIDBConnection::messageReceiverName()) {
- IDBConnectionMap::iterator backendIterator = m_idbConnections.find(decoder.destinationID());
- if (backendIterator != m_idbConnections.end())
- backendIterator->value->didReceiveSyncDatabaseProcessIDBConnectionMessage(connection, decoder, reply);
- return;
- }
-#endif
-
- ASSERT_NOT_REACHED();
-}
-
</del><span class="cx"> void DatabaseToWebProcessConnection::didClose(IPC::Connection&)
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- // The WebProcess has disconnected, close all of the connections associated with it
- while (!m_idbConnections.isEmpty())
- removeDatabaseProcessIDBConnection(m_idbConnections.begin()->key);
</del><ins>+ // FIXME: (Modern IDB) The WebProcess has disconnected, close all of the connections associated with it
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -110,20 +85,6 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>-void DatabaseToWebProcessConnection::establishIDBConnection(uint64_t serverConnectionIdentifier)
-{
- RefPtr<DatabaseProcessIDBConnection> idbConnection = DatabaseProcessIDBConnection::create(*this, serverConnectionIdentifier);
- m_idbConnections.set(serverConnectionIdentifier, idbConnection.release());
-}
-
-void DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection(uint64_t serverConnectionIdentifier)
-{
- ASSERT(m_idbConnections.contains(serverConnectionIdentifier));
-
- RefPtr<DatabaseProcessIDBConnection> idbConnection = m_idbConnections.take(serverConnectionIdentifier);
- idbConnection->disconnectedFromWebProcess();
-}
-
</del><span class="cx"> void DatabaseToWebProcessConnection::establishIDBConnectionToServer(uint64_t serverConnectionIdentifier)
</span><span class="cx"> {
</span><span class="cx"> LOG(IndexedDB, "DatabaseToWebProcessConnection::establishIDBConnectionToServer - %" PRIu64, serverConnectionIdentifier);
</span></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessDatabaseToWebProcessConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #define DatabaseToWebProcessConnection_h
</span><span class="cx">
</span><span class="cx"> #include "Connection.h"
</span><del>-#include "DatabaseProcessIDBConnection.h"
</del><span class="cx"> #include "MessageSender.h"
</span><span class="cx">
</span><span class="cx"> #include <wtf/HashMap.h>
</span><span class="lines">@@ -50,7 +49,6 @@
</span><span class="cx">
</span><span class="cx"> // IPC::Connection::Client
</span><span class="cx"> virtual void didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&) override;
</span><del>- virtual void didReceiveSyncMessage(IPC::Connection&, IPC::MessageDecoder&, std::unique_ptr<IPC::MessageEncoder>&) override;
</del><span class="cx"> virtual void didClose(IPC::Connection&) override;
</span><span class="cx"> virtual void didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference messageReceiverName, IPC::StringReference messageName) override;
</span><span class="cx"> virtual IPC::ProcessType localProcessType() override { return IPC::ProcessType::Database; }
</span><span class="lines">@@ -62,13 +60,6 @@
</span><span class="cx"> virtual uint64_t messageSenderDestinationID() override { return 0; }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- // Messages handlers (Legacy IDB)
- void establishIDBConnection(uint64_t serverConnectionIdentifier);
- void removeDatabaseProcessIDBConnection(uint64_t serverConnectionIdentifier);
-
- typedef HashMap<uint64_t, RefPtr<DatabaseProcessIDBConnection>> IDBConnectionMap;
- IDBConnectionMap m_idbConnections;
-
</del><span class="cx"> // Messages handlers (Modern IDB)
</span><span class="cx"> void establishIDBConnectionToServer(uint64_t serverConnectionIdentifier);
</span><span class="cx"> void removeIDBConnectionToServer(uint64_t serverConnectionIdentifier);
</span></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessDatabaseToWebProcessConnectionmessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -24,11 +24,7 @@
</span><span class="cx">
</span><span class="cx"> messages -> DatabaseToWebProcessConnection LegacyReceiver {
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- # Creates a connection for communication with a WebProcess (Legacy IDB)
- EstablishIDBConnection(uint64_t serverConnectionIdentifier)
- RemoveDatabaseProcessIDBConnection(uint64_t serverConnectionIdentifier)
-
- # Creates a connection for communication with a WebProcess (Modern IDB)
</del><ins>+ # Creates a connection for communication with a WebProcess
</ins><span class="cx"> EstablishIDBConnectionToServer(uint64_t serverConnectionIdentifier)
</span><span class="cx"> RemoveIDBConnectionToServer(uint64_t serverConnectionIdentifier)
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBDatabaseProcessIDBConnectioncpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,372 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 "config.h"
-#include "DatabaseProcessIDBConnection.h"
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include "DataReference.h"
-#include "DatabaseProcess.h"
-#include "DatabaseToWebProcessConnection.h"
-#include "IDBIdentifier.h"
-#include "LegacyUniqueIDBDatabase.h"
-#include "Logging.h"
-#include "WebCoreArgumentCoders.h"
-#include "WebIDBServerConnectionMessages.h"
-#include <WebCore/IDBDatabaseMetadata.h>
-#include <WebCore/IDBIndexMetadata.h>
-#include <WebCore/IDBObjectStoreMetadata.h>
-#include <WebCore/IDBServerConnection.h>
-#include <WebCore/IndexedDB.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-DatabaseProcessIDBConnection::DatabaseProcessIDBConnection(DatabaseToWebProcessConnection& connection, uint64_t serverConnectionIdentifier)
- : m_connection(connection)
- , m_serverConnectionIdentifier(serverConnectionIdentifier)
-{
-}
-
-DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection()
-{
- ASSERT(!m_uniqueIDBDatabase);
-}
-
-void DatabaseProcessIDBConnection::disconnectedFromWebProcess()
-{
- // It's possible that the m_uniqueIDBDatabase pointer has already been cleared
- // if the represented database was deleted, or if it was closed between delete
- // and the delete callback
- if (!m_uniqueIDBDatabase)
- return;
-
- m_uniqueIDBDatabase->unregisterConnection(*this);
- m_uniqueIDBDatabase = nullptr;
-}
-
-void DatabaseProcessIDBConnection::establishConnection(const String& databaseName, const SecurityOriginData& openingOrigin, const SecurityOriginData& mainFrameOrigin)
-{
- m_uniqueIDBDatabase = DatabaseProcess::singleton().getOrCreateLegacyUniqueIDBDatabase(LegacyUniqueIDBDatabaseIdentifier(databaseName, openingOrigin, mainFrameOrigin));
- m_uniqueIDBDatabase->registerConnection(*this);
-}
-
-void DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata(uint64_t requestID)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess getOrEstablishIDBDatabaseMetadata request ID %" PRIu64 " (connection %p)", requestID, this);
-
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->getOrEstablishIDBDatabaseMetadata([connection, requestID](bool success, const IDBDatabaseMetadata& metadata) {
- connection->send(Messages::WebIDBServerConnection::DidGetOrEstablishIDBDatabaseMetadata(requestID, success, metadata));
- });
-}
-
-void DatabaseProcessIDBConnection::deleteDatabase(uint64_t requestID, const String& databaseName)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess deleteDatabase request ID %" PRIu64 " (connection %p)", requestID, this);
-
- if (databaseName != m_uniqueIDBDatabase->identifier().databaseName()) {
- LOG_ERROR("Request to delete database name that doesn't match with this database connection's database name");
- send(Messages::WebIDBServerConnection::DidDeleteDatabase(requestID, false));
- }
-
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->deleteDatabase([connection, this, requestID](bool success) {
- if (success)
- disconnectedFromWebProcess();
-
- connection->send(Messages::WebIDBServerConnection::DidDeleteDatabase(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::openTransaction(uint64_t requestID, int64_t transactionID, const Vector<int64_t>& objectStoreIDs, uint64_t intMode)
-{
- ASSERT(m_uniqueIDBDatabase);
-
-#ifndef NDEBUG
- const char* modeString = nullptr;
- switch (static_cast<IndexedDB::TransactionMode>(intMode)) {
- case IndexedDB::TransactionMode::ReadOnly:
- modeString = "readonly";
- break;
- case IndexedDB::TransactionMode::ReadWrite:
- modeString = "readwrite";
- break;
- case IndexedDB::TransactionMode::VersionChange:
- modeString = "versionchange";
- break;
- }
-
- LOG(IDB, "DatabaseProcess openTransaction id %" PRIu64 " in mode '%s', request ID %" PRIu64, transactionID, modeString, requestID);
-#endif
-
- if (intMode > IndexedDB::TransactionModeMaximum) {
- send(Messages::WebIDBServerConnection::DidOpenTransaction(requestID, false));
- return;
- }
-
- IndexedDB::TransactionMode mode = static_cast<IndexedDB::TransactionMode>(intMode);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->openTransaction(IDBIdentifier(*this, transactionID), objectStoreIDs, mode, [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidOpenTransaction(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::beginTransaction(uint64_t requestID, int64_t transactionID)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess beginTransaction request ID %" PRIu64, requestID);
-
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->beginTransaction(IDBIdentifier(*this, transactionID), [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidBeginTransaction(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::commitTransaction(uint64_t requestID, int64_t transactionID)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess commitTransaction request ID %" PRIu64, requestID);
-
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->commitTransaction(IDBIdentifier(*this, transactionID), [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidCommitTransaction(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::resetTransaction(uint64_t requestID, int64_t transactionID)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess resetTransaction request ID %" PRIu64, requestID);
-
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->resetTransaction(IDBIdentifier(*this, transactionID), [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidResetTransaction(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::rollbackTransaction(uint64_t requestID, int64_t transactionID)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess rollbackTransaction request ID %" PRIu64, requestID);
-
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->rollbackTransaction(IDBIdentifier(*this, transactionID), [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidRollbackTransaction(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::resetTransactionSync(int64_t transactionID, PassRefPtr<Messages::DatabaseProcessIDBConnection::ResetTransactionSync::DelayedReply> prpReply)
-{
- RefPtr<Messages::DatabaseProcessIDBConnection::ResetTransactionSync::DelayedReply> reply(prpReply);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->resetTransaction(IDBIdentifier(*this, transactionID), [connection, reply](bool success) {
- reply->send(success);
- });
-}
-
-void DatabaseProcessIDBConnection::rollbackTransactionSync(int64_t transactionID, PassRefPtr<Messages::DatabaseProcessIDBConnection::RollbackTransactionSync::DelayedReply> prpReply)
-{
- RefPtr<Messages::DatabaseProcessIDBConnection::RollbackTransactionSync::DelayedReply> reply(prpReply);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->rollbackTransaction(IDBIdentifier(*this, transactionID), [connection, reply](bool success) {
- reply->send(success);
- });
-}
-
-void DatabaseProcessIDBConnection::changeDatabaseVersion(uint64_t requestID, int64_t transactionID, uint64_t newVersion)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess changeDatabaseVersion request ID %" PRIu64 ", new version %" PRIu64, requestID, newVersion);
-
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->changeDatabaseVersion(IDBIdentifier(*this, transactionID), newVersion, [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidChangeDatabaseVersion(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::createObjectStore(uint64_t requestID, int64_t transactionID, IDBObjectStoreMetadata metadata)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess createObjectStore request ID %" PRIu64 ", object store name '%s'", requestID, metadata.name.utf8().data());
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->createObjectStore(IDBIdentifier(*this, transactionID), metadata, [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidCreateObjectStore(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::deleteObjectStore(uint64_t requestID, int64_t transactionID, int64_t objectStoreID)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess deleteObjectStore request ID %" PRIu64 ", object store id %" PRIi64, requestID, objectStoreID);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->deleteObjectStore(IDBIdentifier(*this, transactionID), objectStoreID, [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidDeleteObjectStore(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::clearObjectStore(uint64_t requestID, int64_t transactionID, int64_t objectStoreID)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess clearObjectStore request ID %" PRIu64 ", object store id %" PRIi64, requestID, objectStoreID);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->clearObjectStore(IDBIdentifier(*this, transactionID), objectStoreID, [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidClearObjectStore(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::createIndex(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, const IDBIndexMetadata& metadata)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess createIndex request ID %" PRIu64 ", object store id %" PRIi64, requestID, objectStoreID);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->createIndex(IDBIdentifier(*this, transactionID), objectStoreID, metadata, [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidCreateIndex(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::deleteIndex(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess deleteIndex request ID %" PRIu64 ", object store id %" PRIi64, requestID, objectStoreID);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->deleteIndex(IDBIdentifier(*this, transactionID), objectStoreID, indexID, [connection, requestID](bool success) {
- connection->send(Messages::WebIDBServerConnection::DidDeleteIndex(requestID, success));
- });
-}
-
-void DatabaseProcessIDBConnection::putRecord(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, const IDBKeyData& key, const IPC::DataReference& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<IDBKeyData>>& indexKeys)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess putRecord request ID %" PRIu64 ", object store id %" PRIi64, requestID, objectStoreID);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->putRecord(IDBIdentifier(*this, transactionID), objectStoreID, key, value, putMode, indexIDs, indexKeys, [connection, requestID](const IDBKeyData& keyData, uint32_t errorCode, const String& errorMessage) {
- connection->send(Messages::WebIDBServerConnection::DidPutRecord(requestID, keyData, errorCode, errorMessage));
- });
-}
-
-void DatabaseProcessIDBConnection::getRecord(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID, const IDBKeyRangeData& keyRange, int64_t cursorType)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess getRecord request ID %" PRIu64 ", object store id %" PRIi64, requestID, objectStoreID);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->getRecord(IDBIdentifier(*this, transactionID), objectStoreID, indexID, keyRange, static_cast<IndexedDB::CursorType>(cursorType), [connection, requestID](const IDBGetResult& getResult, uint32_t errorCode, const String& errorMessage) {
- connection->send(Messages::WebIDBServerConnection::DidGetRecord(requestID, getResult, errorCode, errorMessage));
- });
-}
-
-void DatabaseProcessIDBConnection::count(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID, const IDBKeyRangeData& keyRangeData)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess count request ID %" PRIu64 ", object store id %" PRIi64, requestID, objectStoreID);
-
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->count(IDBIdentifier(*this, transactionID), objectStoreID, indexID, keyRangeData, [connection, requestID](int64_t count, uint32_t errorCode, const String& errorMessage) {
- connection->send(Messages::WebIDBServerConnection::DidCount(requestID, count, errorCode, errorMessage));
- });
-}
-
-void DatabaseProcessIDBConnection::deleteRange(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, const IDBKeyRangeData& keyRangeData)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess deleteRange request ID %" PRIu64 ", object store id %" PRIi64, requestID, objectStoreID);
-
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->deleteRange(IDBIdentifier(*this, transactionID), objectStoreID, keyRangeData, [connection, requestID](uint32_t errorCode, const String& errorMessage) {
- connection->send(Messages::WebIDBServerConnection::DidDeleteRange(requestID, errorCode, errorMessage));
- });
-}
-
-void DatabaseProcessIDBConnection::openCursor(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID, int64_t cursorDirection, int64_t cursorType, int64_t taskType, const IDBKeyRangeData& keyRangeData)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess openCursor request ID %" PRIu64 ", object store id %" PRIi64, requestID, objectStoreID);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->openCursor(IDBIdentifier(*this, transactionID), objectStoreID, indexID, static_cast<IndexedDB::CursorDirection>(cursorDirection), static_cast<IndexedDB::CursorType>(cursorType), static_cast<IDBDatabaseBackend::TaskType>(taskType), keyRangeData, [connection, requestID](int64_t cursorID, const IDBKeyData& resultKey, const IDBKeyData& primaryKey, PassRefPtr<SharedBuffer> value, uint32_t errorCode, const String& errorMessage) {
- IPC::DataReference data = value ? IPC::DataReference(reinterpret_cast<const uint8_t*>(value->data()), value->size()) : IPC::DataReference();
- connection->send(Messages::WebIDBServerConnection::DidOpenCursor(requestID, cursorID, resultKey, primaryKey, data, errorCode, errorMessage));
- });
-}
-
-void DatabaseProcessIDBConnection::cursorAdvance(uint64_t requestID, int64_t cursorID, uint64_t count)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess cursorAdvance request ID %" PRIu64 ", cursor id %" PRIi64, requestID, cursorID);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->cursorAdvance(IDBIdentifier(*this, cursorID), count, [connection, requestID](const IDBKeyData& resultKey, const IDBKeyData& primaryKey, PassRefPtr<SharedBuffer> value, uint32_t errorCode, const String& errorMessage) {
- IPC::DataReference data = value ? IPC::DataReference(reinterpret_cast<const uint8_t*>(value->data()), value->size()) : IPC::DataReference();
- connection->send(Messages::WebIDBServerConnection::DidAdvanceCursor(requestID, resultKey, primaryKey, data, errorCode, errorMessage));
- });
-}
-
-void DatabaseProcessIDBConnection::cursorIterate(uint64_t requestID, int64_t cursorID, const IDBKeyData& key)
-{
- ASSERT(m_uniqueIDBDatabase);
-
- LOG(IDB, "DatabaseProcess cursorIterate request ID %" PRIu64 ", cursor id %" PRIi64, requestID, cursorID);
- RefPtr<DatabaseProcessIDBConnection> connection(this);
- m_uniqueIDBDatabase->cursorIterate(IDBIdentifier(*this, cursorID), key, [connection, requestID](const IDBKeyData& resultKey, const IDBKeyData& primaryKey, PassRefPtr<SharedBuffer> value, uint32_t errorCode, const String& errorMessage) {
- IPC::DataReference data = value ? IPC::DataReference(reinterpret_cast<const uint8_t*>(value->data()), value->size()) : IPC::DataReference();
- connection->send(Messages::WebIDBServerConnection::DidIterateCursor(requestID, resultKey, primaryKey, data, errorCode, errorMessage));
- });
-}
-
-void DatabaseProcessIDBConnection::close()
-{
- LOG(IDB, "DatabaseProcessIDBConnection close");
-
- disconnectedFromWebProcess();
-}
-
-IPC::Connection* DatabaseProcessIDBConnection::messageSenderConnection()
-{
- return m_connection->connection();
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBDatabaseProcessIDBConnectionh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,108 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 DatabaseProcessIDBConnection_h
-#define DatabaseProcessIDBConnection_h
-
-#include "MessageSender.h"
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include "DatabaseProcessIDBConnectionMessages.h"
-#include "LegacyUniqueIDBDatabase.h"
-#include "LegacyUniqueIDBDatabaseIdentifier.h"
-#include <WebCore/SecurityOriginData.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-class IDBKeyData;
-struct IDBKeyRangeData;
-}
-
-namespace WebKit {
-
-class DatabaseToWebProcessConnection;
-
-class DatabaseProcessIDBConnection : public RefCounted<DatabaseProcessIDBConnection>, public IPC::MessageSender {
-public:
- static Ref<DatabaseProcessIDBConnection> create(DatabaseToWebProcessConnection& connection, uint64_t serverConnectionIdentifier)
- {
- return adoptRef(*new DatabaseProcessIDBConnection(connection, serverConnectionIdentifier));
- }
-
- virtual ~DatabaseProcessIDBConnection();
-
- // Message handlers.
- void didReceiveDatabaseProcessIDBConnectionMessage(IPC::Connection&, IPC::MessageDecoder&);
- void didReceiveSyncDatabaseProcessIDBConnectionMessage(IPC::Connection&, IPC::MessageDecoder&, std::unique_ptr<IPC::MessageEncoder>&);
-
- void disconnectedFromWebProcess();
-
-private:
- DatabaseProcessIDBConnection(DatabaseToWebProcessConnection&, uint64_t idbConnectionIdentifier);
-
- // IPC::MessageSender
- virtual IPC::Connection* messageSenderConnection() override;
- virtual uint64_t messageSenderDestinationID() override { return m_serverConnectionIdentifier; }
-
- // Message handlers.
- void establishConnection(const String& databaseName, const WebCore::SecurityOriginData& openingOrigin, const WebCore::SecurityOriginData& mainFrameOrigin);
- void getOrEstablishIDBDatabaseMetadata(uint64_t requestID);
- void deleteDatabase(uint64_t requestID, const String& databaseName);
- void openTransaction(uint64_t requestID, int64_t transactionID, const Vector<int64_t>& objectStoreIDs, uint64_t transactionMode);
- void beginTransaction(uint64_t requestID, int64_t transactionID);
- void commitTransaction(uint64_t requestID, int64_t transactionID);
- void resetTransaction(uint64_t requestID, int64_t transactionID);
- void rollbackTransaction(uint64_t requestID, int64_t transactionID);
- void resetTransactionSync(int64_t transactionID, PassRefPtr<Messages::DatabaseProcessIDBConnection::ResetTransactionSync::DelayedReply>);
- void rollbackTransactionSync(int64_t transactionID, PassRefPtr<Messages::DatabaseProcessIDBConnection::RollbackTransactionSync::DelayedReply>);
- void changeDatabaseVersion(uint64_t requestID, int64_t transactionID, uint64_t newVersion);
- void createObjectStore(uint64_t requestID, int64_t transactionID, WebCore::IDBObjectStoreMetadata);
- void deleteObjectStore(uint64_t requestID, int64_t transactionID, int64_t objectStoreID);
- void clearObjectStore(uint64_t requestID, int64_t transactionID, int64_t objectStoreID);
- void createIndex(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, const WebCore::IDBIndexMetadata&);
- void deleteIndex(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID);
- void putRecord(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, const WebCore::IDBKeyData&, const IPC::DataReference& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<WebCore::IDBKeyData>>& indexKeys);
- void getRecord(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData&, int64_t cursorType);
-
- void openCursor(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID, int64_t cursorDirection, int64_t cursorType, int64_t taskType, const WebCore::IDBKeyRangeData&);
- void cursorAdvance(uint64_t requestID, int64_t cursorID, uint64_t count);
- void cursorIterate(uint64_t requestID, int64_t cursorID, const WebCore::IDBKeyData&);
-
- void count(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData&);
- void deleteRange(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, const WebCore::IDBKeyRangeData& keyRange);
-
- void close();
-
- Ref<DatabaseToWebProcessConnection> m_connection;
- uint64_t m_serverConnectionIdentifier;
-
- RefPtr<LegacyUniqueIDBDatabase> m_uniqueIDBDatabase;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-#endif // DatabaseProcessIDBConnection_h
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBDatabaseProcessIDBConnectionmessagesin"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,59 +0,0 @@
</span><del>-# Copyright (C) 2013 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.
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-messages -> DatabaseProcessIDBConnection LegacyReceiver {
- EstablishConnection(String databaseName, struct WebCore::SecurityOriginData openingOrigin, struct WebCore::SecurityOriginData mainFrameOrigin)
- GetOrEstablishIDBDatabaseMetadata(uint64_t requestID)
- DeleteDatabase(uint64_t requestID, String databaseName)
-
- OpenTransaction(uint64_t requestID, int64_t transactionID, Vector<int64_t> objectStoreIDs, uint64_t transactionMode)
- BeginTransaction(uint64_t requestID, int64_t transactionID)
- CommitTransaction(uint64_t requestID, int64_t transactionID)
- ResetTransaction(uint64_t requestID, int64_t transactionID)
- RollbackTransaction(uint64_t requestID, int64_t transactionID)
-
- ResetTransactionSync(int64_t transactionID) -> (bool success) Delayed
- RollbackTransactionSync(int64_t transactionID) -> (bool success) Delayed
-
- ChangeDatabaseVersion(uint64_t requestID, int64_t transactionID, uint64_t newVersion)
- CreateObjectStore(uint64_t requestID, int64_t transactionID, struct WebCore::IDBObjectStoreMetadata objectStoreMetadata)
- DeleteObjectStore(uint64_t requestID, int64_t transactionID, int64_t objectStoreID)
- ClearObjectStore(uint64_t requestID, int64_t transactionID, int64_t objectStoreID);
- CreateIndex(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, struct WebCore::IDBIndexMetadata indexMetadata)
- DeleteIndex(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID)
-
- PutRecord(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, WebCore::IDBKeyData key, IPC::DataReference value, int64_t putMode, Vector<int64_t> indexIDs, Vector<Vector<WebCore::IDBKeyData>> indexKeys)
- GetRecord(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID, struct WebCore::IDBKeyRangeData keyRange, int64_t cursorType)
-
- OpenCursor(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID, int64_t cursorDirection, int64_t cursorType, int64_t taskType, struct WebCore::IDBKeyRangeData keyRange)
- CursorAdvance(uint64_t requestID, int64_t cursorID, uint64_t count)
- CursorIterate(uint64_t requestID, int64_t cursorID, WebCore::IDBKeyData key)
-
- Count(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, int64_t indexID, struct WebCore::IDBKeyRangeData keyRange)
- DeleteRange(uint64_t requestID, int64_t transactionID, int64_t objectStoreID, struct WebCore::IDBKeyRangeData keyRange)
-
- Close()
-}
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBIDBIdentifierh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBIdentifier.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBIdentifier.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBIdentifier.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,121 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 IDBIdentifier_h
-#define IDBIdentifier_h
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include <wtf/HashTraits.h>
-#include <wtf/Hasher.h>
-
-namespace WebKit {
-
-class DatabaseProcessIDBConnection;
-
-class IDBIdentifier {
-public:
- IDBIdentifier()
- : m_connection(nullptr)
- , m_identifier(0)
- {
- }
-
- IDBIdentifier(DatabaseProcessIDBConnection& connection, int64_t identifier)
- : m_connection(&connection)
- , m_identifier(identifier)
- {
- }
-
- IDBIdentifier isolatedCopy() const
- {
- return *this;
- }
-
- bool isEmpty() const
- {
- return !m_connection && !m_identifier;
- }
-
- unsigned hash() const
- {
- uint64_t hashCodes[2] = { reinterpret_cast<uint64_t>(m_connection), static_cast<uint64_t>(m_identifier) };
- return StringHasher::hashMemory<sizeof(hashCodes)>(hashCodes);
- }
-
- bool operator==(const IDBIdentifier& other) const
- {
- return m_connection == other.m_connection && m_identifier == other.m_identifier;
- }
-
- IDBIdentifier(WTF::HashTableDeletedValueType)
- : m_connection(nullptr)
- , m_identifier(-1)
- {
- }
-
- bool isHashTableDeletedValue() const
- {
- return !m_connection && m_identifier == -1;
- }
-
- DatabaseProcessIDBConnection& connection() const
- {
- ASSERT(m_connection);
- return *m_connection;
- }
-
- int64_t id() const { return m_identifier; }
-
-private:
- // If any members are added that cannot be safely copied across threads, isolatedCopy() must be updated.
- DatabaseProcessIDBConnection* m_connection;
- int64_t m_identifier;
-};
-
-struct IDBIdentifierHash {
- static unsigned hash(const IDBIdentifier& a) { return a.hash(); }
- static bool equal(const IDBIdentifier& a, const IDBIdentifier& b) { return a == b; }
- static const bool safeToCompareToEmptyOrDeleted = false;
-};
-
-struct IDBIdentifierHashTraits : WTF::SimpleClassHashTraits<IDBIdentifier> {
- static const bool hasIsEmptyValueFunction = true;
- static bool isEmptyValue(const IDBIdentifier& info) { return info.isEmpty(); }
-};
-
-} // namespace WebKit
-
-namespace WTF {
-
-template<> struct HashTraits<WebKit::IDBIdentifier> : WebKit::IDBIdentifierHashTraits { };
-template<> struct DefaultHash<WebKit::IDBIdentifier> {
- typedef WebKit::IDBIdentifierHash Hash;
-};
-
-} // namespace WTF
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-#endif // IDBIdentifier_h
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBIDBSerializationcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,73 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "config.h"
-#include "IDBSerialization.h"
-
-#if ENABLE(INDEXED_DATABASE)
-
-#include "ArgumentEncoder.h"
-#include <WebCore/IDBKeyData.h>
-#include <WebCore/IDBKeyPath.h>
-#include <WebCore/KeyedCoding.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-RefPtr<SharedBuffer> serializeIDBKeyPath(const IDBKeyPath& keyPath)
-{
- auto encoder = KeyedEncoder::encoder();
- keyPath.encode(*encoder);
- return encoder->finishEncoding();
-}
-
-bool deserializeIDBKeyPath(const uint8_t* data, size_t size, IDBKeyPath& result)
-{
- if (!data || !size)
- return false;
-
- auto decoder = KeyedDecoder::decoder(data, size);
- return IDBKeyPath::decode(*decoder, result);
-}
-
-RefPtr<SharedBuffer> serializeIDBKeyData(const IDBKeyData& key)
-{
- auto encoder = KeyedEncoder::encoder();
- key.encode(*encoder);
- return encoder->finishEncoding();
-}
-
-bool deserializeIDBKeyData(const uint8_t* data, size_t size, IDBKeyData& result)
-{
- if (!data || !size)
- return false;
-
- auto decoder = KeyedDecoder::decoder(data, size);
- return IDBKeyData::decode(*decoder, result);
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE)
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBIDBSerializationh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,50 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef IDBSerialization_h
-#define IDBSerialization_h
-
-#if ENABLE(INDEXED_DATABASE)
-
-#include <WebCore/SharedBuffer.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-class IDBKeyData;
-class IDBKeyPath;
-}
-
-namespace WebKit {
-
-RefPtr<WebCore::SharedBuffer> serializeIDBKeyPath(const WebCore::IDBKeyPath&);
-bool deserializeIDBKeyPath(const uint8_t* buffer, size_t bufferSize, WebCore::IDBKeyPath&);
-
-RefPtr<WebCore::SharedBuffer> serializeIDBKeyData(const WebCore::IDBKeyData&);
-bool deserializeIDBKeyData(const uint8_t* buffer, size_t bufferSize, WebCore::IDBKeyData&);
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE)
-#endif // IDBSerialization_h
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBLegacyUniqueIDBDatabasecpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,1203 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 "config.h"
-#include "LegacyUniqueIDBDatabase.h"
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include "AsyncRequest.h"
-#include "DataReference.h"
-#include "DatabaseProcess.h"
-#include "DatabaseProcessIDBConnection.h"
-#include "Logging.h"
-#include "UniqueIDBDatabaseBackingStoreSQLite.h"
-#include "WebCrossThreadCopier.h"
-#include <WebCore/CrossThreadTask.h>
-#include <WebCore/FileSystem.h>
-#include <WebCore/IDBDatabaseMetadata.h>
-#include <WebCore/IDBGetResult.h>
-#include <WebCore/IDBKeyData.h>
-#include <WebCore/IDBKeyRangeData.h>
-#include <WebCore/SecurityOrigin.h>
-#include <wtf/MainThread.h>
-#include <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-String LegacyUniqueIDBDatabase::calculateAbsoluteDatabaseFilename(const String& absoluteDatabaseDirectory)
-{
- return pathByAppendingComponent(absoluteDatabaseDirectory, "IndexedDB.sqlite3");
-}
-
-LegacyUniqueIDBDatabase::LegacyUniqueIDBDatabase(const LegacyUniqueIDBDatabaseIdentifier& identifier)
- : m_identifier(identifier)
- , m_acceptingNewRequests(true)
- , m_didGetMetadataFromBackingStore(false)
-{
- m_inMemory = !canShareDatabases(identifier.openingOrigin(), identifier.mainFrameOrigin());
- if (m_inMemory)
- return;
-
- // *********
- // IMPORTANT: Do not change the directory structure for indexed databases on disk without first consulting a reviewer from Apple (<rdar://problem/17454712>)
- // *********
-
- // Each unique Indexed Database exists in a directory named for the database, which exists in a directory representing its opening origin.
- m_databaseRelativeDirectory = pathByAppendingComponent(databaseFilenameIdentifier(identifier.openingOrigin()), filenameForDatabaseName());
-
- DatabaseProcess::singleton().ensureIndexedDatabaseRelativePathExists(m_databaseRelativeDirectory);
-}
-
-LegacyUniqueIDBDatabase::~LegacyUniqueIDBDatabase()
-{
- ASSERT(!m_acceptingNewRequests);
- ASSERT(m_pendingMetadataRequests.isEmpty());
-}
-
-String LegacyUniqueIDBDatabase::filenameForDatabaseName() const
-{
- ASSERT(!m_identifier.databaseName().isNull());
-
- if (m_identifier.databaseName().isEmpty())
- return "%00";
-
- String filename = encodeForFileName(m_identifier.databaseName());
- filename.replace('.', "%2E");
-
- return filename;
-}
-
-String LegacyUniqueIDBDatabase::databaseFilenameIdentifier(const SecurityOriginData& originData) const
-{
- Ref<SecurityOrigin> securityOrigin(SecurityOrigin::create(originData.protocol, originData.host, originData.port));
- return securityOrigin.get().databaseIdentifier();
-}
-
-bool LegacyUniqueIDBDatabase::canShareDatabases(const SecurityOriginData& openingOrigin, const SecurityOriginData& mainFrameOrigin) const
-{
- // For now, an origin's database access is predicated on equality with the other origin.
- // We might need to make this more nuanced later.
- return openingOrigin == mainFrameOrigin;
-}
-
-void LegacyUniqueIDBDatabase::registerConnection(DatabaseProcessIDBConnection& connection)
-{
- ASSERT(!m_connections.contains(&connection));
- m_connections.add(&connection);
-}
-
-void LegacyUniqueIDBDatabase::unregisterConnection(DatabaseProcessIDBConnection& connection)
-{
- ASSERT(m_connections.contains(&connection));
- resetAllTransactions(connection);
- m_connections.remove(&connection);
-
- if (m_connections.isEmpty() && m_pendingTransactionRollbacks.isEmpty()) {
- shutdown(LegacyUniqueIDBDatabaseShutdownType::NormalShutdown);
- DatabaseProcess::singleton().removeLegacyUniqueIDBDatabase(*this);
- }
-}
-
-void LegacyUniqueIDBDatabase::shutdown(LegacyUniqueIDBDatabaseShutdownType type)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests)
- return;
-
- m_acceptingNewRequests = false;
-
- // Balanced by an adoptRef in ::didShutdownBackingStore()
- ref();
-
- {
- LockHolder locker(m_databaseTaskMutex);
- m_databaseTasks.clear();
- }
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::shutdownBackingStore, type, absoluteDatabaseDirectory()), DatabaseTaskType::Shutdown);
-}
-
-void LegacyUniqueIDBDatabase::shutdownBackingStore(LegacyUniqueIDBDatabaseShutdownType type, const String& databaseDirectory)
-{
- ASSERT(!RunLoop::isMain());
-
- m_backingStore = nullptr;
-
- if (type == LegacyUniqueIDBDatabaseShutdownType::DeleteShutdown) {
- String dbFilename = LegacyUniqueIDBDatabase::calculateAbsoluteDatabaseFilename(databaseDirectory);
- LOG(IDB, "LegacyUniqueIDBDatabase::shutdownBackingStore deleting file '%s' on disk", dbFilename.utf8().data());
- deleteFile(dbFilename);
- deleteEmptyDirectory(databaseDirectory);
- }
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didShutdownBackingStore, type), DatabaseTaskType::Shutdown);
-}
-
-void LegacyUniqueIDBDatabase::didShutdownBackingStore(LegacyUniqueIDBDatabaseShutdownType type)
-{
- ASSERT(RunLoop::isMain());
-
- // Balanced by a ref in ::shutdown()
- RefPtr<LegacyUniqueIDBDatabase> protector(adoptRef(this));
-
- // Empty out remaining main thread tasks.
- while (performNextMainThreadTask()) {
- }
-
- // No more requests will be handled, so abort all outstanding requests.
- for (const auto& request : m_pendingMetadataRequests)
- request->requestAborted();
- for (const auto& request : m_pendingTransactionRequests.values())
- request->requestAborted();
- for (const auto& request : m_pendingDatabaseTasks.values())
- request->requestAborted();
-
- m_pendingMetadataRequests.clear();
- m_pendingTransactionRequests.clear();
- m_pendingDatabaseTasks.clear();
-
- if (m_pendingShutdownTask)
- m_pendingShutdownTask->completeRequest(type);
-
- m_pendingShutdownTask = nullptr;
-}
-
-void LegacyUniqueIDBDatabase::deleteDatabase(std::function<void (bool)> successCallback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- // Someone else has already shutdown this database, so we can't request a delete.
- callOnMainThread([successCallback] {
- successCallback(false);
- });
- return;
- }
-
- RefPtr<LegacyUniqueIDBDatabase> protector(this);
- m_pendingShutdownTask = AsyncRequestImpl<LegacyUniqueIDBDatabaseShutdownType>::create([this, protector, successCallback](LegacyUniqueIDBDatabaseShutdownType type) {
- // If the shutdown just completed was a Delete shutdown then we succeeded.
- // If not report failure instead of trying again.
- successCallback(type == LegacyUniqueIDBDatabaseShutdownType::DeleteShutdown);
- }, [this, protector, successCallback] {
- successCallback(false);
- });
-
- shutdown(LegacyUniqueIDBDatabaseShutdownType::DeleteShutdown);
-}
-
-void LegacyUniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata(std::function<void (bool, const IDBDatabaseMetadata&)> completionCallback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- completionCallback(false, IDBDatabaseMetadata());
- return;
- }
-
- // If we've already retrieved metadata from the backing store, return it now.
- if (m_didGetMetadataFromBackingStore) {
- if (m_metadata)
- completionCallback(true, *m_metadata);
- else
- completionCallback(false, IDBDatabaseMetadata());
-
- return;
- }
-
- // If this is the first unanswered metadata request, then later we need to
- // post a task to open the backing store and get metadata.
- bool shouldOpenBackingStore = m_pendingMetadataRequests.isEmpty();
-
- // Then remember this metadata request to be answered later.
- RefPtr<AsyncRequest> request = AsyncRequestImpl<>::create([completionCallback, this] {
- completionCallback(!!m_metadata, m_metadata ? *m_metadata : IDBDatabaseMetadata());
- }, [completionCallback] {
- // The boolean flag to the completion callback represents whether the
- // attempt to get/establish metadata succeeded or failed.
- // Since we're aborting the attempt, it failed, so we always pass in false.
- completionCallback(false, IDBDatabaseMetadata());
- });
-
- m_pendingMetadataRequests.append(request.release());
-
- if (shouldOpenBackingStore)
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::openBackingStoreAndReadMetadata, m_identifier, absoluteDatabaseDirectory()));
-}
-
-void LegacyUniqueIDBDatabase::openBackingStoreAndReadMetadata(const LegacyUniqueIDBDatabaseIdentifier& identifier, const String& databaseDirectory)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(!m_backingStore);
-
- if (m_inMemory) {
- LOG_ERROR("Support for in-memory databases not yet implemented");
- return;
- }
-
- m_backingStore = UniqueIDBDatabaseBackingStoreSQLite::create(identifier, databaseDirectory);
- std::unique_ptr<IDBDatabaseMetadata> metadata = m_backingStore->getOrEstablishMetadata();
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didOpenBackingStoreAndReadMetadata, metadata ? *metadata : IDBDatabaseMetadata(), !!metadata));
-}
-
-void LegacyUniqueIDBDatabase::didOpenBackingStoreAndReadMetadata(const IDBDatabaseMetadata& metadata, bool success)
-{
- ASSERT(RunLoop::isMain());
- ASSERT(!m_metadata);
-
- m_didGetMetadataFromBackingStore = true;
-
- if (success)
- m_metadata = std::make_unique<IDBDatabaseMetadata>(metadata);
-
- while (!m_pendingMetadataRequests.isEmpty()) {
- RefPtr<AsyncRequest> request = m_pendingMetadataRequests.takeFirst();
- request->completeRequest();
- }
-}
-
-void LegacyUniqueIDBDatabase::openTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, IndexedDB::TransactionMode mode, std::function<void (bool)> successCallback)
-{
- postTransactionOperation(transactionIdentifier, createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::openBackingStoreTransaction, transactionIdentifier, objectStoreIDs, mode), successCallback);
-}
-
-void LegacyUniqueIDBDatabase::beginTransaction(const IDBIdentifier& transactionIdentifier, std::function<void (bool)> successCallback)
-{
- postTransactionOperation(transactionIdentifier, createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::beginBackingStoreTransaction, transactionIdentifier), successCallback);
-}
-
-void LegacyUniqueIDBDatabase::commitTransaction(const IDBIdentifier& transactionIdentifier, std::function<void (bool)> successCallback)
-{
- postTransactionOperation(transactionIdentifier, createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::commitBackingStoreTransaction, transactionIdentifier), successCallback);
-}
-
-void LegacyUniqueIDBDatabase::resetTransaction(const IDBIdentifier& transactionIdentifier, std::function<void (bool)> successCallback)
-{
- postTransactionOperation(transactionIdentifier, createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::resetBackingStoreTransaction, transactionIdentifier), successCallback);
-}
-
-void LegacyUniqueIDBDatabase::rollbackTransaction(const IDBIdentifier& transactionIdentifier, std::function<void (bool)> successCallback)
-{
- postTransactionOperation(transactionIdentifier, createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::rollbackBackingStoreTransaction, transactionIdentifier), successCallback);
-}
-
-void LegacyUniqueIDBDatabase::postTransactionOperation(const IDBIdentifier& transactionIdentifier, std::unique_ptr<CrossThreadTask> task, std::function<void (bool)> successCallback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- successCallback(false);
- return;
- }
-
- if (m_pendingTransactionRequests.contains(transactionIdentifier)) {
- LOG_ERROR("Attempting to queue an operation for a transaction that already has an operation pending. Each transaction should only have one operation pending at a time.");
- successCallback(false);
- return;
- }
-
- postDatabaseTask(WTFMove(task));
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<bool>::create([successCallback](bool success) {
- successCallback(success);
- }, [successCallback] {
- successCallback(false);
- });
-
- m_pendingTransactionRequests.add(transactionIdentifier, request.release());
-}
-
-void LegacyUniqueIDBDatabase::didCompleteTransactionOperation(const IDBIdentifier& transactionIdentifier, bool success)
-{
- ASSERT(RunLoop::isMain());
-
- RefPtr<AsyncRequest> request = m_pendingTransactionRequests.take(transactionIdentifier);
-
- if (request)
- request->completeRequest(success);
-
- if (m_pendingTransactionRollbacks.contains(transactionIdentifier))
- finalizeRollback(transactionIdentifier);
-}
-
-void LegacyUniqueIDBDatabase::changeDatabaseVersion(const IDBIdentifier& transactionIdentifier, uint64_t newVersion, std::function<void (bool)> successCallback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- successCallback(false);
- return;
- }
-
- uint64_t oldVersion = m_metadata->version;
- m_metadata->version = newVersion;
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<bool>::create([this, oldVersion, successCallback](bool success) {
- if (!success)
- m_metadata->version = oldVersion;
- successCallback(success);
- }, [this, oldVersion, successCallback] {
- m_metadata->version = oldVersion;
- successCallback(false);
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::changeDatabaseVersionInBackingStore, requestID, transactionIdentifier, newVersion));
-}
-
-void LegacyUniqueIDBDatabase::didChangeDatabaseVersion(uint64_t requestID, bool success)
-{
- didCompleteBoolRequest(requestID, success);
-}
-
-void LegacyUniqueIDBDatabase::didCreateObjectStore(uint64_t requestID, bool success)
-{
- didCompleteBoolRequest(requestID, success);
-}
-
-void LegacyUniqueIDBDatabase::didDeleteObjectStore(uint64_t requestID, bool success)
-{
- didCompleteBoolRequest(requestID, success);
-}
-
-void LegacyUniqueIDBDatabase::didClearObjectStore(uint64_t requestID, bool success)
-{
- didCompleteBoolRequest(requestID, success);
-}
-
-void LegacyUniqueIDBDatabase::didCreateIndex(uint64_t requestID, bool success)
-{
- didCompleteBoolRequest(requestID, success);
-}
-
-void LegacyUniqueIDBDatabase::didDeleteIndex(uint64_t requestID, bool success)
-{
- didCompleteBoolRequest(requestID, success);
-}
-
-void LegacyUniqueIDBDatabase::didCompleteBoolRequest(uint64_t requestID, bool success)
-{
- m_pendingDatabaseTasks.take(requestID).get().completeRequest(success);
-}
-
-void LegacyUniqueIDBDatabase::createObjectStore(const IDBIdentifier& transactionIdentifier, const IDBObjectStoreMetadata& metadata, std::function<void (bool)> successCallback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- successCallback(false);
- return;
- }
-
- ASSERT(!m_metadata->objectStores.contains(metadata.id));
- m_metadata->objectStores.set(metadata.id, metadata);
- int64_t addedObjectStoreID = metadata.id;
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<bool>::create([this, addedObjectStoreID, successCallback](bool success) {
- if (!success)
- m_metadata->objectStores.remove(addedObjectStoreID);
- successCallback(success);
- }, [this, addedObjectStoreID, successCallback] {
- m_metadata->objectStores.remove(addedObjectStoreID);
- successCallback(false);
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::createObjectStoreInBackingStore, requestID, transactionIdentifier, metadata));
-}
-
-void LegacyUniqueIDBDatabase::deleteObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, std::function<void (bool)> successCallback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- successCallback(false);
- return;
- }
-
- ASSERT(m_metadata->objectStores.contains(objectStoreID));
- IDBObjectStoreMetadata metadata = m_metadata->objectStores.take(objectStoreID);
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<bool>::create([this, metadata, successCallback](bool success) {
- if (!success)
- m_metadata->objectStores.set(metadata.id, metadata);
- successCallback(success);
- }, [this, metadata, successCallback] {
- m_metadata->objectStores.set(metadata.id, metadata);
- successCallback(false);
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::deleteObjectStoreInBackingStore, requestID, transactionIdentifier, objectStoreID));
-}
-
-void LegacyUniqueIDBDatabase::clearObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, std::function<void (bool)> successCallback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- successCallback(false);
- return;
- }
-
- ASSERT(m_metadata->objectStores.contains(objectStoreID));
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<bool>::create([this, successCallback](bool success) {
- successCallback(success);
- }, [this, successCallback] {
- successCallback(false);
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::clearObjectStoreInBackingStore, requestID, transactionIdentifier, objectStoreID));
-}
-
-void LegacyUniqueIDBDatabase::createIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const IDBIndexMetadata& metadata, std::function<void (bool)> successCallback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- successCallback(false);
- return;
- }
-
- ASSERT(m_metadata->objectStores.contains(objectStoreID));
- ASSERT(!m_metadata->objectStores.get(objectStoreID).indexes.contains(metadata.id));
- m_metadata->objectStores.get(objectStoreID).indexes.set(metadata.id, metadata);
- int64_t addedIndexID = metadata.id;
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<bool>::create([this, objectStoreID, addedIndexID, successCallback](bool success) {
- if (!success) {
- auto objectStoreFind = m_metadata->objectStores.find(objectStoreID);
- if (objectStoreFind != m_metadata->objectStores.end())
- objectStoreFind->value.indexes.remove(addedIndexID);
- }
- successCallback(success);
- }, [this, objectStoreID, addedIndexID, successCallback] {
- auto objectStoreFind = m_metadata->objectStores.find(objectStoreID);
- if (objectStoreFind != m_metadata->objectStores.end())
- objectStoreFind->value.indexes.remove(addedIndexID);
- successCallback(false);
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::createIndexInBackingStore, requestID, transactionIdentifier, objectStoreID, metadata));
-}
-
-void LegacyUniqueIDBDatabase::deleteIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, std::function<void (bool)> successCallback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- successCallback(false);
- return;
- }
-
- ASSERT(m_metadata->objectStores.contains(objectStoreID));
- ASSERT(m_metadata->objectStores.get(objectStoreID).indexes.contains(indexID));
-
- IDBIndexMetadata metadata = m_metadata->objectStores.get(objectStoreID).indexes.take(indexID);
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<bool>::create([this, objectStoreID, metadata, successCallback](bool success) {
- if (!success) {
- auto objectStoreFind = m_metadata->objectStores.find(objectStoreID);
- if (objectStoreFind != m_metadata->objectStores.end())
- objectStoreFind->value.indexes.set(metadata.id, metadata);
- }
- successCallback(success);
- }, [this, objectStoreID, metadata, successCallback] {
- auto objectStoreFind = m_metadata->objectStores.find(objectStoreID);
- if (objectStoreFind != m_metadata->objectStores.end())
- objectStoreFind->value.indexes.set(metadata.id, metadata);
- successCallback(false);
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::deleteIndexInBackingStore, requestID, transactionIdentifier, objectStoreID, indexID));
-}
-
-void LegacyUniqueIDBDatabase::putRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const IDBKeyData& keyData, const IPC::DataReference& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<IDBKeyData>>& indexKeys, std::function<void (const IDBKeyData&, uint32_t, const String&)> callback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- callback(IDBKeyData(), INVALID_STATE_ERR, "Unable to put record into database because it has shut down");
- return;
- }
-
- ASSERT(m_metadata->objectStores.contains(objectStoreID));
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<IDBKeyData, uint32_t, String>::create([this, callback](const IDBKeyData& keyData, uint32_t errorCode, const String& errorMessage) {
- callback(keyData, errorCode, errorMessage);
- }, [this, callback] {
- callback(IDBKeyData(), INVALID_STATE_ERR, "Unable to put record into database");
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::putRecordInBackingStore, requestID, transactionIdentifier, m_metadata->objectStores.get(objectStoreID), keyData, value.vector(), putMode, indexIDs, indexKeys));
-}
-
-void LegacyUniqueIDBDatabase::getRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const IDBKeyRangeData& keyRangeData, IndexedDB::CursorType cursorType, std::function<void (const IDBGetResult&, uint32_t, const String&)> callback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- callback(IDBGetResult(), INVALID_STATE_ERR, "Unable to get record from database because it has shut down");
- return;
- }
-
- ASSERT(m_metadata->objectStores.contains(objectStoreID));
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<IDBGetResult, uint32_t, String>::create([this, callback](const IDBGetResult& result, uint32_t errorCode, const String& errorMessage) {
- callback(result, errorCode, errorMessage);
- }, [this, callback] {
- callback(IDBGetResult(), INVALID_STATE_ERR, "Unable to get record from database");
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::getRecordFromBackingStore, requestID, transactionIdentifier, m_metadata->objectStores.get(objectStoreID), indexID, keyRangeData, cursorType));
-}
-
-void LegacyUniqueIDBDatabase::openCursor(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, IndexedDB::CursorDirection cursorDirection, IndexedDB::CursorType cursorType, IDBDatabaseBackend::TaskType taskType, const IDBKeyRangeData& keyRangeData, std::function<void (int64_t, const IDBKeyData&, const IDBKeyData&, PassRefPtr<SharedBuffer>, uint32_t, const String&)> callback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- callback(0, nullptr, nullptr, nullptr, INVALID_STATE_ERR, "Unable to open cursor in database because it has shut down");
- return;
- }
-
- ASSERT(m_metadata->objectStores.contains(objectStoreID));
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<int64_t, IDBKeyData, IDBKeyData, PassRefPtr<SharedBuffer>, uint32_t, String>::create([this, callback](int64_t cursorID, const IDBKeyData& key, const IDBKeyData& primaryKey, PassRefPtr<SharedBuffer> value, uint32_t errorCode, const String& errorMessage) {
- callback(cursorID, key, primaryKey, value, errorCode, errorMessage);
- }, [this, callback] {
- callback(0, nullptr, nullptr, nullptr, INVALID_STATE_ERR, "Unable to get record from database");
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::openCursorInBackingStore, requestID, transactionIdentifier, objectStoreID, indexID, cursorDirection, cursorType, taskType, keyRangeData));
-}
-
-void LegacyUniqueIDBDatabase::cursorAdvance(const IDBIdentifier& cursorIdentifier, uint64_t count, std::function<void (const IDBKeyData&, const IDBKeyData&, PassRefPtr<SharedBuffer>, uint32_t, const String&)> callback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- callback(nullptr, nullptr, nullptr, INVALID_STATE_ERR, "Unable to advance cursor in database because it has shut down");
- return;
- }
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<IDBKeyData, IDBKeyData, PassRefPtr<SharedBuffer>, uint32_t, String>::create([this, callback](const IDBKeyData& key, const IDBKeyData& primaryKey, PassRefPtr<SharedBuffer> value, uint32_t errorCode, const String& errorMessage) {
- callback(key, primaryKey, value, errorCode, errorMessage);
- }, [this, callback] {
- callback(nullptr, nullptr, nullptr, INVALID_STATE_ERR, "Unable to advance cursor in database");
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::advanceCursorInBackingStore, requestID, cursorIdentifier, count));
-}
-
-void LegacyUniqueIDBDatabase::cursorIterate(const IDBIdentifier& cursorIdentifier, const IDBKeyData& key, std::function<void (const IDBKeyData&, const IDBKeyData&, PassRefPtr<SharedBuffer>, uint32_t, const String&)> callback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- callback(nullptr, nullptr, nullptr, INVALID_STATE_ERR, "Unable to iterate cursor in database because it has shut down");
- return;
- }
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<IDBKeyData, IDBKeyData, PassRefPtr<SharedBuffer>, uint32_t, String>::create([this, callback](const IDBKeyData& key, const IDBKeyData& primaryKey, PassRefPtr<SharedBuffer> value, uint32_t errorCode, const String& errorMessage) {
- callback(key, primaryKey, value, errorCode, errorMessage);
- }, [this, callback] {
- callback(nullptr, nullptr, nullptr, INVALID_STATE_ERR, "Unable to iterate cursor in database");
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::iterateCursorInBackingStore, requestID, cursorIdentifier, key));
-}
-
-void LegacyUniqueIDBDatabase::count(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const IDBKeyRangeData& keyRangeData, std::function<void (int64_t, uint32_t, const String&)> callback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- callback(0, INVALID_STATE_ERR, "Unable to get count from database because it has shut down");
- return;
- }
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<int64_t, uint32_t, String>::create([this, callback](int64_t count, uint32_t errorCode, const String& errorMessage) {
- callback(count, errorCode, errorMessage);
- }, [this, callback] {
- callback(0, INVALID_STATE_ERR, "Unable to get count from database");
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::countInBackingStore, requestID, transactionIdentifier, objectStoreID, indexID, keyRangeData));
-}
-
-void LegacyUniqueIDBDatabase::deleteRange(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const IDBKeyRangeData& keyRangeData, std::function<void (uint32_t, const String&)> callback)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests) {
- callback(INVALID_STATE_ERR, "Unable to deleteRange from database because it has shut down");
- return;
- }
-
- RefPtr<AsyncRequest> request = AsyncRequestImpl<uint32_t, String>::create([callback](uint32_t errorCode, const String& errorMessage) {
- callback(errorCode, errorMessage);
- }, [callback] {
- callback(INVALID_STATE_ERR, "Unable to deleteRange from database");
- });
-
- uint64_t requestID = request->requestID();
- m_pendingDatabaseTasks.add(requestID, request.release());
-
- postDatabaseTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::deleteRangeInBackingStore, requestID, transactionIdentifier, objectStoreID, keyRangeData));
-}
-
-void LegacyUniqueIDBDatabase::openBackingStoreTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, IndexedDB::TransactionMode mode)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->establishTransaction(transactionIdentifier, objectStoreIDs, mode);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didEstablishTransaction, transactionIdentifier, success));
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
-}
-
-void LegacyUniqueIDBDatabase::beginBackingStoreTransaction(const IDBIdentifier& transactionIdentifier)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->beginTransaction(transactionIdentifier);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
-}
-
-void LegacyUniqueIDBDatabase::commitBackingStoreTransaction(const IDBIdentifier& transactionIdentifier)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->commitTransaction(transactionIdentifier);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
-}
-
-void LegacyUniqueIDBDatabase::resetBackingStoreTransaction(const IDBIdentifier& transactionIdentifier)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->resetTransaction(transactionIdentifier);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didResetTransaction, transactionIdentifier, success));
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
-}
-
-void LegacyUniqueIDBDatabase::rollbackBackingStoreTransaction(const IDBIdentifier& transactionIdentifier)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->rollbackTransaction(transactionIdentifier);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
-}
-
-void LegacyUniqueIDBDatabase::changeDatabaseVersionInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, uint64_t newVersion)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->changeDatabaseVersion(transactionIdentifier, newVersion);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didChangeDatabaseVersion, requestID, success));
-}
-
-void LegacyUniqueIDBDatabase::createObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, const IDBObjectStoreMetadata& metadata)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->createObjectStore(transactionIdentifier, metadata);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didCreateObjectStore, requestID, success));
-}
-
-void LegacyUniqueIDBDatabase::deleteObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->deleteObjectStore(transactionIdentifier, objectStoreID);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didDeleteObjectStore, requestID, success));
-}
-
-void LegacyUniqueIDBDatabase::clearObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->clearObjectStore(transactionIdentifier, objectStoreID);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didClearObjectStore, requestID, success));
-}
-
-void LegacyUniqueIDBDatabase::createIndexInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const IDBIndexMetadata& metadata)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->createIndex(transactionIdentifier, objectStoreID, metadata);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didCreateIndex, requestID, success));
-}
-
-void LegacyUniqueIDBDatabase::deleteIndexInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool success = m_backingStore->deleteIndex(transactionIdentifier, objectStoreID, indexID);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didDeleteIndex, requestID, success));
-}
-
-void LegacyUniqueIDBDatabase::putRecordInBackingStore(uint64_t requestID, const IDBIdentifier& transaction, const IDBObjectStoreMetadata& objectStoreMetadata, const IDBKeyData& inputKeyData, const Vector<uint8_t>& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<IDBKeyData>>& indexKeys)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- bool keyWasGenerated = false;
- IDBKeyData key;
- int64_t keyNumber = 0;
-
- if (putMode != IDBDatabaseBackend::CursorUpdate && objectStoreMetadata.autoIncrement && inputKeyData.isNull()) {
- if (!m_backingStore->generateKeyNumber(transaction, objectStoreMetadata.id, keyNumber)) {
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didPutRecordInBackingStore, requestID, IDBKeyData(), IDBDatabaseException::UnknownError, ASCIILiteral("Internal backing store error checking for key existence")));
- return;
- }
- key.setNumberValue(keyNumber);
- keyWasGenerated = true;
- } else
- key = inputKeyData;
-
- if (putMode == IDBDatabaseBackend::AddOnly) {
- bool keyExists;
- if (!m_backingStore->keyExistsInObjectStore(transaction, objectStoreMetadata.id, key, keyExists)) {
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didPutRecordInBackingStore, requestID, IDBKeyData(), IDBDatabaseException::UnknownError, ASCIILiteral("Internal backing store error checking for key existence")));
- return;
- }
- if (keyExists) {
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didPutRecordInBackingStore, requestID, IDBKeyData(), IDBDatabaseException::ConstraintError, ASCIILiteral("Key already exists in the object store")));
- return;
- }
- }
-
- // The spec says that even if we're about to overwrite the record, perform the steps to delete it first.
- // This is important because formally deleting it from from the object store also removes it from the appropriate indexes.
- if (!m_backingStore->deleteRecord(transaction, objectStoreMetadata.id, key)) {
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didPutRecordInBackingStore, requestID, IDBKeyData(), IDBDatabaseException::UnknownError, ASCIILiteral("Replacing an existing key in backing store, unable to delete previous record.")));
- return;
- }
-
- if (!m_backingStore->putRecord(transaction, objectStoreMetadata.id, key, value.data(), value.size())) {
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didPutRecordInBackingStore, requestID, IDBKeyData(), IDBDatabaseException::UnknownError, ASCIILiteral("Internal backing store error putting a record")));
- return;
- }
-
- ASSERT(indexIDs.size() == indexKeys.size());
- for (size_t i = 0; i < indexIDs.size(); ++i) {
- for (size_t j = 0; j < indexKeys[i].size(); ++j) {
- if (!m_backingStore->putIndexRecord(transaction, objectStoreMetadata.id, indexIDs[i], key, indexKeys[i][j])) {
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didPutRecordInBackingStore, requestID, IDBKeyData(), IDBDatabaseException::UnknownError, ASCIILiteral("Internal backing store error writing index key")));
- return;
- }
- }
- }
-
- m_backingStore->notifyCursorsOfChanges(transaction, objectStoreMetadata.id);
-
- if (putMode != IDBDatabaseBackend::CursorUpdate && objectStoreMetadata.autoIncrement && key.type() == KeyType::Number) {
- if (!m_backingStore->updateKeyGeneratorNumber(transaction, objectStoreMetadata.id, keyNumber, keyWasGenerated)) {
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didPutRecordInBackingStore, requestID, IDBKeyData(), IDBDatabaseException::UnknownError, ASCIILiteral("Internal backing store error updating key generator")));
- return;
- }
- }
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didPutRecordInBackingStore, requestID, key, 0, String(StringImpl::empty())));
-}
-
-void LegacyUniqueIDBDatabase::didPutRecordInBackingStore(uint64_t requestID, const IDBKeyData& keyData, uint32_t errorCode, const String& errorMessage)
-{
- m_pendingDatabaseTasks.take(requestID).get().completeRequest(keyData, errorCode, errorMessage);
-}
-
-void LegacyUniqueIDBDatabase::getRecordFromBackingStore(uint64_t requestID, const IDBIdentifier& transaction, const IDBObjectStoreMetadata& objectStoreMetadata, int64_t indexID, const IDBKeyRangeData& keyRangeData, IndexedDB::CursorType cursorType)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- RefPtr<IDBKeyRange> keyRange = keyRangeData.maybeCreateIDBKeyRange();
- ASSERT(keyRange);
- if (!keyRange) {
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didGetRecordFromBackingStore, requestID, IDBGetResult(), IDBDatabaseException::UnknownError, ASCIILiteral("Invalid IDBKeyRange requested from backing store")));
- return;
- }
-
- if (indexID == IDBIndexMetadata::InvalidId) {
- // IDBObjectStore get record
- RefPtr<SharedBuffer> result;
-
- if (keyRange->isOnlyKey()) {
- if (!m_backingStore->getKeyRecordFromObjectStore(transaction, objectStoreMetadata.id, *keyRange->lower(), result))
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didGetRecordFromBackingStore, requestID, IDBGetResult(), IDBDatabaseException::UnknownError, ASCIILiteral("Failed to get key record from object store in backing store")));
- else {
- IDBGetResult getResult = result ? IDBGetResult(result.release(), keyRange->lower(), objectStoreMetadata.keyPath) : IDBGetResult();
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didGetRecordFromBackingStore, requestID, getResult, 0, String(StringImpl::empty())));
- }
-
- return;
- }
-
- RefPtr<IDBKey> resultKey;
-
- if (!m_backingStore->getKeyRangeRecordFromObjectStore(transaction, objectStoreMetadata.id, *keyRange, result, resultKey))
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didGetRecordFromBackingStore, requestID, IDBGetResult(), IDBDatabaseException::UnknownError, ASCIILiteral("Failed to get key range record from object store in backing store")));
- else {
- IDBGetResult getResult = result ? IDBGetResult(result.release(), resultKey.release(), objectStoreMetadata.keyPath) : IDBGetResult();
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didGetRecordFromBackingStore, requestID, getResult, 0, String(StringImpl::empty())));
- }
-
- return;
- }
-
- // IDBIndex get record
-
- IDBGetResult result;
- if (!m_backingStore->getIndexRecord(transaction, objectStoreMetadata.id, indexID, keyRangeData, cursorType, result)) {
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didGetRecordFromBackingStore, requestID, IDBGetResult(), IDBDatabaseException::UnknownError, ASCIILiteral("Failed to get index record from backing store")));
- return;
- }
-
- // We must return a key path to know how to inject the result key into the result value object.
- result.setKeyPath(objectStoreMetadata.keyPath);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didGetRecordFromBackingStore, requestID, result, 0, String(StringImpl::empty())));
-}
-
-void LegacyUniqueIDBDatabase::didGetRecordFromBackingStore(uint64_t requestID, const IDBGetResult& result, uint32_t errorCode, const String& errorMessage)
-{
- m_pendingDatabaseTasks.take(requestID).get().completeRequest(result, errorCode, errorMessage);
-}
-
-void LegacyUniqueIDBDatabase::openCursorInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, IndexedDB::CursorDirection cursorDirection, IndexedDB::CursorType cursorType, IDBDatabaseBackend::TaskType taskType, const IDBKeyRangeData& keyRange)
-{
- ASSERT(!RunLoop::isMain());
- ASSERT(m_backingStore);
-
- int64_t cursorID = 0;
- IDBKeyData key;
- IDBKeyData primaryKey;
- Vector<uint8_t> valueBuffer;
- int32_t errorCode = 0;
- String errorMessage;
- bool success = m_backingStore->openCursor(transactionIdentifier, objectStoreID, indexID, cursorDirection, cursorType, taskType, keyRange, cursorID, key, primaryKey, valueBuffer);
-
- if (!success) {
- errorCode = IDBDatabaseException::UnknownError;
- errorMessage = ASCIILiteral("Unknown error opening cursor in backing store");
- }
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didOpenCursorInBackingStore, requestID, cursorID, key, primaryKey, valueBuffer, errorCode, errorMessage));
-}
-
-void LegacyUniqueIDBDatabase::didOpenCursorInBackingStore(uint64_t requestID, int64_t cursorID, const IDBKeyData& key, const IDBKeyData& primaryKey, const Vector<uint8_t>& valueBuffer, uint32_t errorCode, const String& errorMessage)
-{
- m_pendingDatabaseTasks.take(requestID).get().completeRequest(cursorID, key, primaryKey, SharedBuffer::create(valueBuffer.data(), valueBuffer.size()), errorCode, errorMessage);
-}
-
-void LegacyUniqueIDBDatabase::advanceCursorInBackingStore(uint64_t requestID, const IDBIdentifier& cursorIdentifier, uint64_t count)
-{
- IDBKeyData key;
- IDBKeyData primaryKey;
- Vector<uint8_t> valueBuffer;
- int32_t errorCode = 0;
- String errorMessage;
- bool success = m_backingStore->advanceCursor(cursorIdentifier, count, key, primaryKey, valueBuffer);
-
- if (!success) {
- errorCode = IDBDatabaseException::UnknownError;
- errorMessage = ASCIILiteral("Unknown error advancing cursor in backing store");
- }
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didAdvanceCursorInBackingStore, requestID, key, primaryKey, valueBuffer, errorCode, errorMessage));
-}
-
-void LegacyUniqueIDBDatabase::didAdvanceCursorInBackingStore(uint64_t requestID, const IDBKeyData& key, const IDBKeyData& primaryKey, const Vector<uint8_t>& valueBuffer, uint32_t errorCode, const String& errorMessage)
-{
- m_pendingDatabaseTasks.take(requestID).get().completeRequest(key, primaryKey, SharedBuffer::create(valueBuffer.data(), valueBuffer.size()), errorCode, errorMessage);
-}
-
-void LegacyUniqueIDBDatabase::iterateCursorInBackingStore(uint64_t requestID, const IDBIdentifier& cursorIdentifier, const IDBKeyData& iterateKey)
-{
- IDBKeyData key;
- IDBKeyData primaryKey;
- Vector<uint8_t> valueBuffer;
- int32_t errorCode = 0;
- String errorMessage;
- bool success = m_backingStore->iterateCursor(cursorIdentifier, iterateKey, key, primaryKey, valueBuffer);
-
- if (!success) {
- errorCode = IDBDatabaseException::UnknownError;
- errorMessage = ASCIILiteral("Unknown error iterating cursor in backing store");
- }
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didIterateCursorInBackingStore, requestID, key, primaryKey, valueBuffer, errorCode, errorMessage));
-}
-
-void LegacyUniqueIDBDatabase::didIterateCursorInBackingStore(uint64_t requestID, const IDBKeyData& key, const IDBKeyData& primaryKey, const Vector<uint8_t>& valueBuffer, uint32_t errorCode, const String& errorMessage)
-{
- m_pendingDatabaseTasks.take(requestID).get().completeRequest(key, primaryKey, SharedBuffer::create(valueBuffer.data(), valueBuffer.size()), errorCode, errorMessage);
-}
-
-void LegacyUniqueIDBDatabase::countInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const IDBKeyRangeData& keyRangeData)
-{
- int64_t count;
-
- if (!m_backingStore->count(transactionIdentifier, objectStoreID, indexID, keyRangeData, count)) {
- LOG_ERROR("Failed to get count from backing store.");
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didCountInBackingStore, requestID, 0, IDBDatabaseException::UnknownError, ASCIILiteral("Failed to get count from backing store")));
-
- return;
- }
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didCountInBackingStore, requestID, count, 0, String(StringImpl::empty())));
-}
-
-void LegacyUniqueIDBDatabase::didCountInBackingStore(uint64_t requestID, int64_t count, uint32_t errorCode, const String& errorMessage)
-{
- m_pendingDatabaseTasks.take(requestID).get().completeRequest(count, errorCode, errorMessage);
-}
-
-void LegacyUniqueIDBDatabase::deleteRangeInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const IDBKeyRangeData& keyRangeData)
-{
- if (!m_backingStore->deleteRange(transactionIdentifier, objectStoreID, keyRangeData)) {
- LOG_ERROR("Failed to delete range from backing store.");
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didDeleteRangeInBackingStore, requestID, IDBDatabaseException::UnknownError, ASCIILiteral("Failed to get count from backing store")));
-
- return;
- }
-
- m_backingStore->notifyCursorsOfChanges(transactionIdentifier, objectStoreID);
-
- postMainThreadTask(createCrossThreadTask(*this, &LegacyUniqueIDBDatabase::didDeleteRangeInBackingStore, requestID, 0, String(StringImpl::empty())));
-}
-
-void LegacyUniqueIDBDatabase::didDeleteRangeInBackingStore(uint64_t requestID, uint32_t errorCode, const String& errorMessage)
-{
- m_pendingDatabaseTasks.take(requestID).get().completeRequest(errorCode, errorMessage);
-}
-
-void LegacyUniqueIDBDatabase::didEstablishTransaction(const IDBIdentifier& transactionIdentifier, bool success)
-{
- ASSERT(RunLoop::isMain());
- if (!success)
- return;
-
- auto transactions = m_establishedTransactions.add(&transactionIdentifier.connection(), HashSet<IDBIdentifier>());
- transactions.iterator->value.add(transactionIdentifier);
-}
-
-void LegacyUniqueIDBDatabase::didResetTransaction(const IDBIdentifier& transactionIdentifier, bool success)
-{
- ASSERT(RunLoop::isMain());
- if (!success)
- return;
-
- auto transactions = m_establishedTransactions.find(&transactionIdentifier.connection());
- if (transactions != m_establishedTransactions.end())
- transactions.get()->value.remove(transactionIdentifier);
-}
-
-void LegacyUniqueIDBDatabase::resetAllTransactions(const DatabaseProcessIDBConnection& connection)
-{
- ASSERT(RunLoop::isMain());
- auto transactions = m_establishedTransactions.find(&connection);
- if (transactions == m_establishedTransactions.end() || !m_acceptingNewRequests)
- return;
-
- for (auto& transactionIdentifier : transactions.get()->value) {
- m_pendingTransactionRollbacks.add(transactionIdentifier);
- if (!m_pendingTransactionRequests.contains(transactionIdentifier))
- finalizeRollback(transactionIdentifier);
- }
-}
-
-void LegacyUniqueIDBDatabase::finalizeRollback(const WebKit::IDBIdentifier& transactionId)
-{
- ASSERT(RunLoop::isMain());
- ASSERT(m_pendingTransactionRollbacks.contains(transactionId));
- ASSERT(!m_pendingTransactionRequests.contains(transactionId));
- rollbackTransaction(transactionId, [this, transactionId](bool) {
- ASSERT(RunLoop::isMain());
- if (m_pendingTransactionRequests.contains(transactionId))
- return;
-
- ASSERT(m_pendingTransactionRollbacks.contains(transactionId));
- m_pendingTransactionRollbacks.remove(transactionId);
- resetTransaction(transactionId, [this, transactionId](bool) {
- if (m_acceptingNewRequests && m_connections.isEmpty() && m_pendingTransactionRollbacks.isEmpty()) {
- shutdown(LegacyUniqueIDBDatabaseShutdownType::NormalShutdown);
- DatabaseProcess::singleton().removeLegacyUniqueIDBDatabase(*this);
- }
- });
- });
-}
-
-String LegacyUniqueIDBDatabase::absoluteDatabaseDirectory() const
-{
- ASSERT(RunLoop::isMain());
- return DatabaseProcess::singleton().absoluteIndexedDatabasePathFromDatabaseRelativePath(m_databaseRelativeDirectory);
-}
-
-void LegacyUniqueIDBDatabase::postMainThreadTask(std::unique_ptr<CrossThreadTask> task, DatabaseTaskType taskType)
-{
- ASSERT(!RunLoop::isMain());
-
- if (!m_acceptingNewRequests && taskType == DatabaseTaskType::Normal)
- return;
-
- LockHolder locker(m_mainThreadTaskMutex);
-
- m_mainThreadTasks.append(WTFMove(task));
-
- RefPtr<LegacyUniqueIDBDatabase> database(this);
- RunLoop::main().dispatch([database] {
- database->performNextMainThreadTask();
- });
-}
-
-bool LegacyUniqueIDBDatabase::performNextMainThreadTask()
-{
- ASSERT(RunLoop::isMain());
-
- bool moreTasks;
-
- std::unique_ptr<CrossThreadTask> task;
- {
- LockHolder locker(m_mainThreadTaskMutex);
-
- // This database might be shutting down, in which case the task queue might be empty.
- if (m_mainThreadTasks.isEmpty())
- return false;
-
- task = m_mainThreadTasks.takeFirst();
- moreTasks = !m_mainThreadTasks.isEmpty();
- }
-
- task->performTask();
-
- return moreTasks;
-}
-
-void LegacyUniqueIDBDatabase::postDatabaseTask(std::unique_ptr<CrossThreadTask> task, DatabaseTaskType taskType)
-{
- ASSERT(RunLoop::isMain());
-
- if (!m_acceptingNewRequests && taskType == DatabaseTaskType::Normal)
- return;
-
- LockHolder locker(m_databaseTaskMutex);
-
- m_databaseTasks.append(WTFMove(task));
-
- RefPtr<LegacyUniqueIDBDatabase> database(this);
- DatabaseProcess::singleton().queue().dispatch([database] {
- database->performNextDatabaseTask();
- });
-}
-
-void LegacyUniqueIDBDatabase::performNextDatabaseTask()
-{
- ASSERT(!RunLoop::isMain());
-
- // It is possible that this database might be shutting down on the main thread.
- // In this case, immediately after releasing m_databaseTaskMutex, this database might get deleted.
- // We take a ref() to make sure the database is still live while this last task is performed.
- RefPtr<LegacyUniqueIDBDatabase> protector(this);
-
- std::unique_ptr<CrossThreadTask> task;
- {
- LockHolder locker(m_databaseTaskMutex);
-
- // This database might be shutting down on the main thread, in which case the task queue might be empty.
- if (m_databaseTasks.isEmpty())
- return;
-
- task = m_databaseTasks.takeFirst();
- }
-
- task->performTask();
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBLegacyUniqueIDBDatabaseh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,221 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 LegacyUniqueIDBDatabase_h
-#define LegacyUniqueIDBDatabase_h
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include "AsyncRequest.h"
-#include "IDBIdentifier.h"
-#include "LegacyUniqueIDBDatabaseIdentifier.h"
-#include <WebCore/IDBDatabaseBackend.h>
-#include <WebCore/IndexedDB.h>
-#include <functional>
-#include <wtf/Deque.h>
-#include <wtf/HashSet.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/text/WTFString.h>
-
-namespace IPC {
-class DataReference;
-}
-
-namespace WebCore {
-class CrossThreadTask;
-class IDBGetResult;
-class IDBKeyData;
-class SharedBuffer;
-
-struct IDBDatabaseMetadata;
-struct IDBKeyRangeData;
-struct SecurityOriginData;
-}
-
-namespace WebKit {
-
-class DatabaseProcessIDBConnection;
-class UniqueIDBDatabaseBackingStore;
-
-enum class LegacyUniqueIDBDatabaseShutdownType {
- NormalShutdown,
- DeleteShutdown
-};
-
-class LegacyUniqueIDBDatabase : public ThreadSafeRefCounted<LegacyUniqueIDBDatabase> {
-public:
- static Ref<LegacyUniqueIDBDatabase> create(const LegacyUniqueIDBDatabaseIdentifier& identifier)
- {
- return adoptRef(*new LegacyUniqueIDBDatabase(identifier));
- }
-
- ~LegacyUniqueIDBDatabase();
-
- static String calculateAbsoluteDatabaseFilename(const String& absoluteDatabaseDirectory);
-
- const LegacyUniqueIDBDatabaseIdentifier& identifier() const { return m_identifier; }
-
- void registerConnection(DatabaseProcessIDBConnection&);
- void unregisterConnection(DatabaseProcessIDBConnection&);
-
- void deleteDatabase(std::function<void (bool)> successCallback);
-
- void getOrEstablishIDBDatabaseMetadata(std::function<void (bool, const WebCore::IDBDatabaseMetadata&)> completionCallback);
-
- void openTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode, std::function<void (bool)> successCallback);
- void beginTransaction(const IDBIdentifier& transactionIdentifier, std::function<void (bool)> successCallback);
- void commitTransaction(const IDBIdentifier& transactionIdentifier, std::function<void (bool)> successCallback);
- void resetTransaction(const IDBIdentifier& transactionIdentifier, std::function<void (bool)> successCallback);
- void rollbackTransaction(const IDBIdentifier& transactionIdentifier, std::function<void (bool)> successCallback);
-
- void changeDatabaseVersion(const IDBIdentifier& transactionIdentifier, uint64_t newVersion, std::function<void (bool)> successCallback);
- void createObjectStore(const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&, std::function<void (bool)> successCallback);
- void deleteObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, std::function<void (bool)> successCallback);
- void clearObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, std::function<void (bool)> successCallback);
- void createIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&, std::function<void (bool)> successCallback);
- void deleteIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, std::function<void (bool)> successCallback);
-
- void putRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyData&, const IPC::DataReference& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<WebCore::IDBKeyData>>& indexKeys, std::function<void (const WebCore::IDBKeyData&, uint32_t, const String&)> callback);
- void getRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData&, WebCore::IndexedDB::CursorType, std::function<void (const WebCore::IDBGetResult&, uint32_t, const String&)> callback);
-
- void openCursor(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, WebCore::IndexedDB::CursorDirection, WebCore::IndexedDB::CursorType, WebCore::IDBDatabaseBackend::TaskType, const WebCore::IDBKeyRangeData&, std::function<void (int64_t, const WebCore::IDBKeyData&, const WebCore::IDBKeyData&, PassRefPtr<WebCore::SharedBuffer>, uint32_t, const String&)> callback);
- void cursorAdvance(const IDBIdentifier& cursorIdentifier, uint64_t count, std::function<void (const WebCore::IDBKeyData&, const WebCore::IDBKeyData&, PassRefPtr<WebCore::SharedBuffer>, uint32_t, const String&)> callback);
- void cursorIterate(const IDBIdentifier& cursorIdentifier, const WebCore::IDBKeyData&, std::function<void (const WebCore::IDBKeyData&, const WebCore::IDBKeyData&, PassRefPtr<WebCore::SharedBuffer>, uint32_t, const String&)> callback);
-
- void count(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData&, std::function<void (int64_t, uint32_t, const String&)> callback);
- void deleteRange(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyRangeData&, std::function<void (uint32_t, const String&)> callback);
-
-private:
- LegacyUniqueIDBDatabase(const LegacyUniqueIDBDatabaseIdentifier&);
-
- LegacyUniqueIDBDatabaseIdentifier m_identifier;
-
- bool m_inMemory;
- String m_databaseRelativeDirectory;
-
- HashSet<RefPtr<DatabaseProcessIDBConnection>> m_connections;
- HashMap<uint64_t, RefPtr<AsyncRequest>> m_databaseRequests;
-
- String absoluteDatabaseDirectory() const;
-
- enum class DatabaseTaskType {
- Normal,
- Shutdown
- };
- void postDatabaseTask(std::unique_ptr<WebCore::CrossThreadTask>, DatabaseTaskType = DatabaseTaskType::Normal);
-
- void shutdown(LegacyUniqueIDBDatabaseShutdownType);
-
- // Method that attempts to make legal filenames from all legal database names
- String filenameForDatabaseName() const;
-
- // Returns a string that is appropriate for use as a unique filename
- String databaseFilenameIdentifier(const WebCore::SecurityOriginData&) const;
-
- // Returns true if this origin can use the same databases as the given origin.
- bool canShareDatabases(const WebCore::SecurityOriginData&, const WebCore::SecurityOriginData&) const;
-
- void postTransactionOperation(const IDBIdentifier& transactionIdentifier, std::unique_ptr<WebCore::CrossThreadTask>, std::function<void (bool)> successCallback);
-
- // To be called from the database workqueue thread only
- void performNextDatabaseTask();
- void postMainThreadTask(std::unique_ptr<WebCore::CrossThreadTask>, DatabaseTaskType = DatabaseTaskType::Normal);
- void openBackingStoreAndReadMetadata(const LegacyUniqueIDBDatabaseIdentifier&, const String& databaseDirectory);
- void openBackingStoreTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode);
- void beginBackingStoreTransaction(const IDBIdentifier&);
- void commitBackingStoreTransaction(const IDBIdentifier&);
- void resetBackingStoreTransaction(const IDBIdentifier&);
- void rollbackBackingStoreTransaction(const IDBIdentifier&);
-
- void changeDatabaseVersionInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, uint64_t newVersion);
- void createObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&);
- void deleteObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID);
- void clearObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID);
-
- void createIndexInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&);
- void deleteIndexInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID);
-
- void putRecordInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&, const WebCore::IDBKeyData&, const Vector<uint8_t>& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<WebCore::IDBKeyData>>& indexKeys);
- void getRecordFromBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&, int64_t indexID, const WebCore::IDBKeyRangeData&, WebCore::IndexedDB::CursorType);
- void openCursorInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, WebCore::IndexedDB::CursorDirection, WebCore::IndexedDB::CursorType, WebCore::IDBDatabaseBackend::TaskType, const WebCore::IDBKeyRangeData&);
- void advanceCursorInBackingStore(uint64_t requestID, const IDBIdentifier& cursorIdentifier, uint64_t count);
- void iterateCursorInBackingStore(uint64_t requestID, const IDBIdentifier& cursorIdentifier, const WebCore::IDBKeyData&);
- void countInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData&);
- void deleteRangeInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyRangeData&);
-
- void shutdownBackingStore(LegacyUniqueIDBDatabaseShutdownType, const String& databaseDirectory);
-
- // Callbacks from the database workqueue thread, to be performed on the main thread only
- bool performNextMainThreadTask();
- void didOpenBackingStoreAndReadMetadata(const WebCore::IDBDatabaseMetadata&, bool success);
- void didCompleteTransactionOperation(const IDBIdentifier& transactionIdentifier, bool success);
- void didChangeDatabaseVersion(uint64_t requestID, bool success);
- void didCreateObjectStore(uint64_t requestID, bool success);
- void didDeleteObjectStore(uint64_t requestID, bool success);
- void didClearObjectStore(uint64_t requestID, bool success);
- void didCreateIndex(uint64_t requestID, bool success);
- void didDeleteIndex(uint64_t requestID, bool success);
- void didPutRecordInBackingStore(uint64_t requestID, const WebCore::IDBKeyData&, uint32_t errorCode, const String& errorMessage);
- void didGetRecordFromBackingStore(uint64_t requestID, const WebCore::IDBGetResult&, uint32_t errorCode, const String& errorMessage);
- void didOpenCursorInBackingStore(uint64_t requestID, int64_t cursorID, const WebCore::IDBKeyData&, const WebCore::IDBKeyData&, const Vector<uint8_t>&, uint32_t errorCode, const String& errorMessage);
- void didAdvanceCursorInBackingStore(uint64_t requestID, const WebCore::IDBKeyData&, const WebCore::IDBKeyData&, const Vector<uint8_t>&, uint32_t errorCode, const String& errorMessage);
- void didIterateCursorInBackingStore(uint64_t requestID, const WebCore::IDBKeyData&, const WebCore::IDBKeyData&, const Vector<uint8_t>&, uint32_t errorCode, const String& errorMessage);
- void didCountInBackingStore(uint64_t requestID, int64_t count, uint32_t errorCode, const String& errorMessage);
- void didDeleteRangeInBackingStore(uint64_t requestID, uint32_t errorCode, const String& errorMessage);
-
- void didShutdownBackingStore(LegacyUniqueIDBDatabaseShutdownType);
- void didCompleteBoolRequest(uint64_t requestID, bool success);
-
- void didEstablishTransaction(const IDBIdentifier& transactionIdentifier, bool success);
- void didResetTransaction(const IDBIdentifier& transactionIdentifier, bool success);
- void resetAllTransactions(const DatabaseProcessIDBConnection&);
- void finalizeRollback(const IDBIdentifier& transactionId);
-
- bool m_acceptingNewRequests;
-
- HashMap<const DatabaseProcessIDBConnection*, HashSet<IDBIdentifier>> m_establishedTransactions;
- Deque<RefPtr<AsyncRequest>> m_pendingMetadataRequests;
- HashMap<IDBIdentifier, RefPtr<AsyncRequest>> m_pendingTransactionRequests;
- HashSet<IDBIdentifier> m_pendingTransactionRollbacks;
- AsyncRequestMap m_pendingDatabaseTasks;
- RefPtr<AsyncRequest> m_pendingShutdownTask;
-
- std::unique_ptr<WebCore::IDBDatabaseMetadata> m_metadata;
- bool m_didGetMetadataFromBackingStore;
-
- RefPtr<UniqueIDBDatabaseBackingStore> m_backingStore;
-
- Deque<std::unique_ptr<WebCore::CrossThreadTask>> m_databaseTasks;
- Lock m_databaseTaskMutex;
-
- Deque<std::unique_ptr<WebCore::CrossThreadTask>> m_mainThreadTasks;
- Lock m_mainThreadTaskMutex;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-#endif // LegacyUniqueIDBDatabase_h
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBLegacyUniqueIDBDatabaseIdentifiercpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,101 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 "config.h"
-#include "LegacyUniqueIDBDatabaseIdentifier.h"
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include <wtf/text/StringBuilder.h>
-
-namespace WebKit {
-
-LegacyUniqueIDBDatabaseIdentifier::LegacyUniqueIDBDatabaseIdentifier()
-{
-}
-
-LegacyUniqueIDBDatabaseIdentifier::LegacyUniqueIDBDatabaseIdentifier(const String& databaseName, const WebCore::SecurityOriginData& openingOrigin, const WebCore::SecurityOriginData& mainFrameOrigin)
- : m_databaseName(databaseName)
- , m_openingOrigin(openingOrigin)
- , m_mainFrameOrigin(mainFrameOrigin)
-{
- // While it is valid to have an empty database name, it is not valid to have a null one.
- ASSERT(!m_databaseName.isNull());
-}
-
-LegacyUniqueIDBDatabaseIdentifier::LegacyUniqueIDBDatabaseIdentifier(WTF::HashTableDeletedValueType)
- : m_databaseName(WTF::HashTableDeletedValue)
-{
-}
-
-bool LegacyUniqueIDBDatabaseIdentifier::isHashTableDeletedValue() const
-{
- return m_databaseName.isHashTableDeletedValue();
-}
-
-unsigned LegacyUniqueIDBDatabaseIdentifier::hash() const
-{
- unsigned hashCodes[7] = {
- m_databaseName.impl() ? m_databaseName.impl()->hash() : 0,
- m_openingOrigin.protocol.impl() ? m_openingOrigin.protocol.impl()->hash() : 0,
- m_openingOrigin.host.impl() ? m_openingOrigin.host.impl()->hash() : 0,
- static_cast<unsigned>(m_openingOrigin.port),
- m_mainFrameOrigin.protocol.impl() ? m_mainFrameOrigin.protocol.impl()->hash() : 0,
- m_mainFrameOrigin.host.impl() ? m_mainFrameOrigin.host.impl()->hash() : 0,
- static_cast<unsigned>(m_mainFrameOrigin.port)
- };
- return StringHasher::hashMemory<sizeof(hashCodes)>(hashCodes);
-}
-
-bool LegacyUniqueIDBDatabaseIdentifier::isNull() const
-{
- // Only a default constructed LegacyUniqueIDBDatabaseIdentifier can have a null database name.
- return m_databaseName.isNull();
-}
-
-LegacyUniqueIDBDatabaseIdentifier LegacyUniqueIDBDatabaseIdentifier::isolatedCopy() const
-{
- LegacyUniqueIDBDatabaseIdentifier result;
-
- result.m_databaseName = m_databaseName.isolatedCopy();
- result.m_openingOrigin = m_openingOrigin.isolatedCopy();
- result.m_mainFrameOrigin = m_mainFrameOrigin.isolatedCopy();
-
- return result;
-}
-
-bool operator==(const LegacyUniqueIDBDatabaseIdentifier& a, const LegacyUniqueIDBDatabaseIdentifier& b)
-{
- if (&a == &b)
- return true;
-
- return a.databaseName() == b.databaseName()
- && a.openingOrigin() == b.openingOrigin()
- && a.mainFrameOrigin() == b.mainFrameOrigin();
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBLegacyUniqueIDBDatabaseIdentifierh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,86 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 LegacyUniqueIDBDatabaseIdentifier_h
-#define LegacyUniqueIDBDatabaseIdentifier_h
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include <WebCore/SecurityOriginData.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebKit {
-
-class LegacyUniqueIDBDatabaseIdentifier {
-public:
- LegacyUniqueIDBDatabaseIdentifier();
- LegacyUniqueIDBDatabaseIdentifier(const String& databaseName, const WebCore::SecurityOriginData& openingOrigin, const WebCore::SecurityOriginData& mainFrameOrigin);
-
- bool isNull() const;
-
- const String& databaseName() const { return m_databaseName; }
- const WebCore::SecurityOriginData& openingOrigin() const { return m_openingOrigin; }
- const WebCore::SecurityOriginData& mainFrameOrigin() const { return m_mainFrameOrigin; }
-
- LegacyUniqueIDBDatabaseIdentifier(WTF::HashTableDeletedValueType);
- bool isHashTableDeletedValue() const;
- unsigned hash() const;
-
- LegacyUniqueIDBDatabaseIdentifier isolatedCopy() const;
-
-private:
- String m_databaseName;
- WebCore::SecurityOriginData m_openingOrigin;
- WebCore::SecurityOriginData m_mainFrameOrigin;
-};
-
-bool operator==(const LegacyUniqueIDBDatabaseIdentifier&, const LegacyUniqueIDBDatabaseIdentifier&);
-
-struct LegacyUniqueIDBDatabaseIdentifierHash {
- static unsigned hash(const LegacyUniqueIDBDatabaseIdentifier& identifier) { return identifier.hash(); }
- static bool equal(const LegacyUniqueIDBDatabaseIdentifier& a, const LegacyUniqueIDBDatabaseIdentifier& b) { return a == b; }
- static const bool safeToCompareToEmptyOrDeleted = false;
-};
-
-struct LegacyUniqueIDBDatabaseIdentifierHashTraits : WTF::SimpleClassHashTraits<LegacyUniqueIDBDatabaseIdentifier> {
- static const bool hasIsEmptyValueFunction = true;
- static bool isEmptyValue(const LegacyUniqueIDBDatabaseIdentifier& info) { return info.isNull(); }
-};
-
-} // namespace WebKit
-
-namespace WTF {
-
-template<> struct HashTraits<WebKit::LegacyUniqueIDBDatabaseIdentifier> : WebKit::LegacyUniqueIDBDatabaseIdentifierHashTraits { };
-template<> struct DefaultHash<WebKit::LegacyUniqueIDBDatabaseIdentifier> {
- typedef WebKit::LegacyUniqueIDBDatabaseIdentifierHash Hash;
-};
-
-} // namespaec WTF
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-#endif // LegacyUniqueIDBDatabaseIdentifier_h
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabaseBackingStoreh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,91 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 UniqueIDBDatabaseBackingStore_h
-#define UniqueIDBDatabaseBackingStore_h
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include <WebCore/IndexedDB.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-class IDBGetResult;
-class IDBKey;
-class IDBKeyData;
-class IDBKeyRange;
-class SharedBuffer;
-
-struct IDBDatabaseMetadata;
-struct IDBObjectStoreMetadata;
-}
-
-namespace WebKit {
-
-class IDBIdentifier;
-
-class UniqueIDBDatabaseBackingStore : public RefCounted<UniqueIDBDatabaseBackingStore> {
-public:
- virtual ~UniqueIDBDatabaseBackingStore() { }
-
- virtual std::unique_ptr<WebCore::IDBDatabaseMetadata> getOrEstablishMetadata() = 0;
-
- virtual bool establishTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode) = 0;
- virtual bool beginTransaction(const IDBIdentifier&) = 0;
- virtual bool commitTransaction(const IDBIdentifier&) = 0;
- virtual bool resetTransaction(const IDBIdentifier&) = 0;
- virtual bool rollbackTransaction(const IDBIdentifier&) = 0;
-
- virtual bool changeDatabaseVersion(const IDBIdentifier& transactionIdentifier, uint64_t newVersion) = 0;
- virtual bool createObjectStore(const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&) = 0;
- virtual bool deleteObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID) = 0;
- virtual bool clearObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID) = 0;
- virtual bool createIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&) = 0;
- virtual bool deleteIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID) = 0;
-
- virtual bool generateKeyNumber(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t& generatedKey) = 0;
- virtual bool updateKeyGeneratorNumber(const IDBIdentifier& transactionIdentifier, int64_t objectStoreId, int64_t keyNumber, bool checkCurrent) = 0;
-
- virtual bool keyExistsInObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyData&, bool& keyExists) = 0;
- virtual bool putRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyData&, const uint8_t* valueBuffer, size_t valueSize) = 0;
- virtual bool putIndexRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyData&, const WebCore::IDBKeyData& indexKey) = 0;
- virtual bool getIndexRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData&, WebCore::IndexedDB::CursorType, WebCore::IDBGetResult&) = 0;
- virtual bool deleteRange(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyRangeData&) = 0;
- virtual bool deleteRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyData&) = 0;
-
- virtual bool getKeyRecordFromObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKey&, RefPtr<WebCore::SharedBuffer>& result) = 0;
- virtual bool getKeyRangeRecordFromObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyRange&, RefPtr<WebCore::SharedBuffer>& result, RefPtr<WebCore::IDBKey>& resultKey) = 0;
- virtual bool count(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData&, int64_t& count) = 0;
-
- virtual bool openCursor(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, WebCore::IndexedDB::CursorDirection, WebCore::IndexedDB::CursorType, WebCore::IDBDatabaseBackend::TaskType, const WebCore::IDBKeyRangeData&, int64_t& cursorID, WebCore::IDBKeyData&, WebCore::IDBKeyData&, Vector<uint8_t>&) = 0;
- virtual bool advanceCursor(const IDBIdentifier& cursorIdentifier, uint64_t count, WebCore::IDBKeyData&, WebCore::IDBKeyData&, Vector<uint8_t>&) = 0;
- virtual bool iterateCursor(const IDBIdentifier& cursorIdentifier, const WebCore::IDBKeyData&, WebCore::IDBKeyData&, WebCore::IDBKeyData&, Vector<uint8_t>&) = 0;
- virtual void notifyCursorsOfChanges(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID) = 0;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-#endif // UniqueIDBDatabaseBackingStore_h
</del></span></pre></div>
<a id="trunkSourceWebKit2DatabaseProcessIndexedDBWebIDBConnectionToClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -35,10 +35,12 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> class IDBCursorInfo;
</span><span class="cx"> class IDBIndexInfo;
</span><ins>+class IDBKeyData;
</ins><span class="cx"> class IDBObjectStoreInfo;
</span><span class="cx"> class IDBRequestData;
</span><span class="cx"> class IDBTransactionInfo;
</span><span class="cx"> class SerializedScriptValue;
</span><ins>+struct IDBKeyRangeData;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> namespace WebKit {
</span></span></pre></div>
<a id="trunkSourceWebKit2DerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/DerivedSources.make (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/DerivedSources.make        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/DerivedSources.make        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -77,7 +77,6 @@
</span><span class="cx"> CustomProtocolManager \
</span><span class="cx"> CustomProtocolManagerProxy \
</span><span class="cx"> DatabaseProcess \
</span><del>- DatabaseProcessIDBConnection \
</del><span class="cx"> DatabaseProcessProxy \
</span><span class="cx"> DatabaseToWebProcessConnection \
</span><span class="cx"> DownloadProxy \
</span><span class="lines">@@ -118,7 +117,6 @@
</span><span class="cx"> WebGeolocationManagerProxy \
</span><span class="cx"> WebIDBConnectionToClient \
</span><span class="cx"> WebIDBConnectionToServer \
</span><del>- WebIDBServerConnection \
</del><span class="cx"> WebIconDatabase \
</span><span class="cx"> WebIconDatabaseProxy \
</span><span class="cx"> WebInspector \
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebCrossThreadCopiercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebCrossThreadCopier.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebCrossThreadCopier.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/Shared/WebCrossThreadCopier.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -27,8 +27,6 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">
</span><del>-#include "IDBIdentifier.h"
-#include "LegacyUniqueIDBDatabaseIdentifier.h"
</del><span class="cx"> #include <WebCore/IDBKeyData.h>
</span><span class="cx"> #include <WebCore/SecurityOriginData.h>
</span><span class="cx">
</span><span class="lines">@@ -36,16 +34,6 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-LegacyUniqueIDBDatabaseIdentifier CrossThreadCopierBase<false, false, LegacyUniqueIDBDatabaseIdentifier>::copy(const LegacyUniqueIDBDatabaseIdentifier& identifier)
-{
- return identifier.isolatedCopy();
-}
-
-IDBIdentifier CrossThreadCopierBase<false, false, IDBIdentifier>::copy(const IDBIdentifier& transactionIdentifier)
-{
- return transactionIdentifier.isolatedCopy();
-}
-
</del><span class="cx"> Vector<char> CrossThreadCopierBase<false, false, Vector<char>>::copy(const Vector<char>& vector)
</span><span class="cx"> {
</span><span class="cx"> Vector<char> result;
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebCrossThreadCopierh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebCrossThreadCopier.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebCrossThreadCopier.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/Shared/WebCrossThreadCopier.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -36,9 +36,6 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> namespace WebKit {
</span><del>-class IDBIdentifier;
-class LegacyUniqueIDBDatabaseIdentifier;
-
</del><span class="cx"> enum class LegacyUniqueIDBDatabaseShutdownType;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -48,15 +45,6 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-template<> struct CrossThreadCopierBase<false, false, WebKit::LegacyUniqueIDBDatabaseIdentifier> {
- static WebKit::LegacyUniqueIDBDatabaseIdentifier copy(const WebKit::LegacyUniqueIDBDatabaseIdentifier&);
-};
-
-template<> struct CrossThreadCopierBase<false, false, WebKit::IDBIdentifier> {
- static WebKit::IDBIdentifier copy(const WebKit::IDBIdentifier&);
-};
-
-
</del><span class="cx"> template<> struct CrossThreadCopierBase<false, false, WebKit::LegacyUniqueIDBDatabaseShutdownType> {
</span><span class="cx"> static WebKit::LegacyUniqueIDBDatabaseShutdownType copy(const WebKit::LegacyUniqueIDBDatabaseShutdownType& type)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -848,12 +848,6 @@
</span><span class="cx">                 510523751C73D38F007993CB /* WebIDBConnectionToServerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510523721C73D37B007993CB /* WebIDBConnectionToServerMessageReceiver.cpp */; };
</span><span class="cx">                 510523791C73DA77007993CB /* WebIDBConnectionToClientMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510523771C73DA70007993CB /* WebIDBConnectionToClientMessageReceiver.cpp */; };
</span><span class="cx">                 5105237A1C73DA77007993CB /* WebIDBConnectionToClientMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 510523781C73DA70007993CB /* WebIDBConnectionToClientMessages.h */; };
</span><del>-                5105237F1C7541FF007993CB /* LegacyUniqueIDBDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5105237B1C7541F3007993CB /* LegacyUniqueIDBDatabase.cpp */; };
-                510523801C7541FF007993CB /* LegacyUniqueIDBDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 5105237C1C7541F3007993CB /* LegacyUniqueIDBDatabase.h */; };
-                510523811C7541FF007993CB /* LegacyUniqueIDBDatabaseIdentifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5105237D1C7541F3007993CB /* LegacyUniqueIDBDatabaseIdentifier.cpp */; };
-                510523821C7541FF007993CB /* LegacyUniqueIDBDatabaseIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5105237E1C7541F3007993CB /* LegacyUniqueIDBDatabaseIdentifier.h */; };
-                51064D35189781C4004B2FEB /* SQLiteIDBCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51064D33189781C4004B2FEB /* SQLiteIDBCursor.cpp */; };
-                51064D36189781C4004B2FEB /* SQLiteIDBCursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 51064D34189781C4004B2FEB /* SQLiteIDBCursor.h */; };
</del><span class="cx">                 5106D7C218BDBE73000AB166 /* ContextMenuContextData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5106D7BF18BDBE73000AB166 /* ContextMenuContextData.cpp */; };
</span><span class="cx">                 5106D7C418BDBE73000AB166 /* ContextMenuContextData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5106D7C018BDBE73000AB166 /* ContextMenuContextData.h */; };
</span><span class="cx">                 510AFFB916542048001BA05E /* WebResourceLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510AFFB716542048001BA05E /* WebResourceLoader.cpp */; };
</span><span class="lines">@@ -866,8 +860,6 @@
</span><span class="cx">                 511B24A7132E095700065A0C /* WebIconDatabaseProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 511B24A5132E095700065A0C /* WebIconDatabaseProxy.h */; };
</span><span class="cx">                 511B24AA132E097200065A0C /* WebIconDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511B24A8132E097200065A0C /* WebIconDatabase.cpp */; };
</span><span class="cx">                 511B24AB132E097200065A0C /* WebIconDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 511B24A9132E097200065A0C /* WebIconDatabase.h */; };
</span><del>-                511D81FF185BBDEE001AED56 /* SQLiteIDBTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 511D81FD185BBDEE001AED56 /* SQLiteIDBTransaction.h */; };
-                511D8201185BC217001AED56 /* SQLiteIDBTransaction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511D8200185BC217001AED56 /* SQLiteIDBTransaction.cpp */; };
</del><span class="cx">                 511F8A7B138B460900A95F44 /* SecItemShimLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 511F8A77138B460900A95F44 /* SecItemShimLibrary.h */; };
</span><span class="cx">                 511F8A81138B485D00A95F44 /* SecItemShimLibrary.mm in Sources */ = {isa = PBXBuildFile; fileRef = 511F8A78138B460900A95F44 /* SecItemShimLibrary.mm */; };
</span><span class="cx">                 512127C31908239A00DAF35C /* WebPasteboardOverrides.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512127C11908239A00DAF35C /* WebPasteboardOverrides.cpp */; };
</span><span class="lines">@@ -876,8 +868,6 @@
</span><span class="cx">                 51217461164C20E30037A5C1 /* ShareableResource.h in Headers */ = {isa = PBXBuildFile; fileRef = 5121745F164C20E30037A5C1 /* ShareableResource.h */; };
</span><span class="cx">                 5123CF1B133D260A0056F800 /* WKIconDatabaseCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5123CF19133D260A0056F800 /* WKIconDatabaseCG.cpp */; };
</span><span class="cx">                 5123CF1C133D260A0056F800 /* WKIconDatabaseCG.h in Headers */ = {isa = PBXBuildFile; fileRef = 5123CF1A133D260A0056F800 /* WKIconDatabaseCG.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                51290992183ACEAF005522A6 /* WebIDBServerConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51290990183ACEAF005522A6 /* WebIDBServerConnection.cpp */; };
-                51290993183ACEAF005522A6 /* WebIDBServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 51290991183ACEAF005522A6 /* WebIDBServerConnection.h */; };
</del><span class="cx">                 512935D71288D19400A4B695 /* WebContextMenuItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512935D51288D19400A4B695 /* WebContextMenuItem.cpp */; };
</span><span class="cx">                 512935D81288D19400A4B695 /* WebContextMenuItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 512935D61288D19400A4B695 /* WebContextMenuItem.h */; };
</span><span class="cx">                 512935E31288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512935E11288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp */; };
</span><span class="lines">@@ -927,13 +917,9 @@
</span><span class="cx">                 516319921628980A00E22F00 /* NetworkProcessProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 516319911628980A00E22F00 /* NetworkProcessProxyMac.mm */; };
</span><span class="cx">                 5163199416289A6000E22F00 /* NetworkProcessMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51ACC9341628064800342550 /* NetworkProcessMessageReceiver.cpp */; };
</span><span class="cx">                 5163199516289A6300E22F00 /* NetworkProcessMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ACC9351628064800342550 /* NetworkProcessMessages.h */; };
</span><del>-                51654EFD184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51654EFB184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.cpp */; };
-                51654EFE184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.h in Headers */ = {isa = PBXBuildFile; fileRef = 51654EFC184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.h */; };
-                51654F00184EF34A007DC837 /* UniqueIDBDatabaseBackingStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 51654EFF184EF34A007DC837 /* UniqueIDBDatabaseBackingStore.h */; };
</del><span class="cx">                 5167EEA0170377BF007681CA /* NetworkDiskCacheMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5167EE9E170377BF007681CA /* NetworkDiskCacheMonitor.h */; };
</span><span class="cx">                 5167EEA1170377BF007681CA /* NetworkDiskCacheMonitor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5167EE9F170377BF007681CA /* NetworkDiskCacheMonitor.mm */; };
</span><span class="cx">                 516A4A5D120A2CCD00C05B7F /* APIError.h in Headers */ = {isa = PBXBuildFile; fileRef = 516A4A5B120A2CCD00C05B7F /* APIError.h */; };
</span><del>-                5175095A1897249700408FAC /* IDBIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 517509591897249700408FAC /* IDBIdentifier.h */; };
</del><span class="cx">                 51795567162876CB00FA43B6 /* NetworkProcessMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51A8A6151627F3F9000D90E9 /* NetworkProcessMac.mm */; };
</span><span class="cx">                 51795568162876CF00FA43B6 /* NetworkProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510CC7DF16138E2900D03ED3 /* NetworkProcess.cpp */; };
</span><span class="cx">                 5179556A162876F300FA43B6 /* NetworkProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 510CC7E016138E2900D03ED3 /* NetworkProcess.h */; };
</span><span class="lines">@@ -945,8 +931,6 @@
</span><span class="cx">                 517DD5BF180DA7D30081660B /* DatabaseProcessProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 517DD5BD180DA7D30081660B /* DatabaseProcessProxy.h */; };
</span><span class="cx">                 51834592134532E90092B696 /* WebIconDatabaseClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51834590134532E80092B696 /* WebIconDatabaseClient.cpp */; };
</span><span class="cx">                 51834593134532E90092B696 /* WebIconDatabaseClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 51834591134532E80092B696 /* WebIconDatabaseClient.h */; };
</span><del>-                518353DA1885BF8C00D9FE44 /* IDBSerialization.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 518353D81885BF8C00D9FE44 /* IDBSerialization.cpp */; };
-                518353DB1885BF8C00D9FE44 /* IDBSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 518353D91885BF8C00D9FE44 /* IDBSerialization.h */; };
</del><span class="cx">                 5183DDEC1630BDFC008BE5C7 /* NetworkProcessConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5105B0D4162F7A7A00E27709 /* NetworkProcessConnection.cpp */; };
</span><span class="cx">                 51871B5B127CB89D00F76232 /* WebContextMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51871B59127CB89D00F76232 /* WebContextMenu.cpp */; };
</span><span class="cx">                 51871B5C127CB89D00F76232 /* WebContextMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 51871B5A127CB89D00F76232 /* WebContextMenu.h */; };
</span><span class="lines">@@ -975,8 +959,6 @@
</span><span class="cx">                 51B15A8413843A3900321AD8 /* EnvironmentUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51B15A8213843A3900321AD8 /* EnvironmentUtilities.cpp */; };
</span><span class="cx">                 51B15A8513843A3900321AD8 /* EnvironmentUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 51B15A8313843A3900321AD8 /* EnvironmentUtilities.h */; };
</span><span class="cx">                 51BA24461858F55D00EA2811 /* WebCrossThreadCopier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51BA24451858F41500EA2811 /* WebCrossThreadCopier.cpp */; };
</span><del>-                51C96118183D294700D2002E /* WebIDBServerConnectionMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51C96116183D294700D2002E /* WebIDBServerConnectionMessageReceiver.cpp */; };
-                51C96119183D294700D2002E /* WebIDBServerConnectionMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C96117183D294700D2002E /* WebIDBServerConnectionMessages.h */; };
</del><span class="cx">                 51CD1C5D1B3493AF00142CA5 /* WKSecurityOriginRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51CD1C591B3493A900142CA5 /* WKSecurityOriginRef.cpp */; };
</span><span class="cx">                 51CD1C5E1B3493B400142CA5 /* WKSecurityOriginRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CD1C5A1B3493A900142CA5 /* WKSecurityOriginRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51CD1C651B34B9D400142CA5 /* WKSecurityOrigin.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CD1C5F1B34B9C900142CA5 /* WKSecurityOrigin.h */; settings = {ATTRIBUTES = (Public, ); }; };
</span><span class="lines">@@ -986,9 +968,6 @@
</span><span class="cx">                 51D02F6A132EC73700BEAA96 /* WebIconDatabaseMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D02F67132EC73700BEAA96 /* WebIconDatabaseMessages.h */; };
</span><span class="cx">                 51D02F6B132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D02F68132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp */; };
</span><span class="cx">                 51D02F6C132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D02F69132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h */; };
</span><del>-                51D0D431183B34130097041D /* DatabaseProcessIDBConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D0D42E183B34130097041D /* DatabaseProcessIDBConnection.cpp */; };
-                51D0D436183B353D0097041D /* DatabaseProcessIDBConnectionMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D0D434183B353D0097041D /* DatabaseProcessIDBConnectionMessageReceiver.cpp */; };
-                51D0D437183B353D0097041D /* DatabaseProcessIDBConnectionMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D0D435183B353D0097041D /* DatabaseProcessIDBConnectionMessages.h */; };
</del><span class="cx">                 51D130531382EAC000351EDD /* SecItemRequestData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D1304F1382EAC000351EDD /* SecItemRequestData.cpp */; };
</span><span class="cx">                 51D130541382EAC000351EDD /* SecItemRequestData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D130501382EAC000351EDD /* SecItemRequestData.h */; };
</span><span class="cx">                 51D130551382EAC000351EDD /* SecItemResponseData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D130511382EAC000351EDD /* SecItemResponseData.cpp */; };
</span><span class="lines">@@ -998,8 +977,6 @@
</span><span class="cx">                 51DD9F2916367DA2001578E9 /* NetworkConnectionToWebProcessMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51DD9F2716367DA2001578E9 /* NetworkConnectionToWebProcessMessages.h */; };
</span><span class="cx">                 51E351CA180F2CCC00E53BE9 /* IDBUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51E351C8180F2CCC00E53BE9 /* IDBUtilities.cpp */; };
</span><span class="cx">                 51E351CB180F2CCC00E53BE9 /* IDBUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 51E351C9180F2CCC00E53BE9 /* IDBUtilities.h */; };
</span><del>-                51E351F5180F5C7500E53BE9 /* WebIDBFactoryBackend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51E351F1180F5C7500E53BE9 /* WebIDBFactoryBackend.cpp */; };
-                51E351F6180F5C7500E53BE9 /* WebIDBFactoryBackend.h in Headers */ = {isa = PBXBuildFile; fileRef = 51E351F2180F5C7500E53BE9 /* WebIDBFactoryBackend.h */; };
</del><span class="cx">                 51E351FF180F5D0F00E53BE9 /* DatabaseProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51E351FA180F5D0B00E53BE9 /* DatabaseProcess.cpp */; };
</span><span class="cx">                 51E35200180F5D0F00E53BE9 /* DatabaseToWebProcessConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51E351FD180F5D0B00E53BE9 /* DatabaseToWebProcessConnection.cpp */; };
</span><span class="cx">                 51E35202180F5D1E00E53BE9 /* DatabaseProcessMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51E35201180F5D1E00E53BE9 /* DatabaseProcessMac.mm */; };
</span><span class="lines">@@ -2842,15 +2819,9 @@
</span><span class="cx">                 510523761C73D9F6007993CB /* WebIDBConnectionToClient.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebIDBConnectionToClient.messages.in; sourceTree = "<group>"; };
</span><span class="cx">                 510523771C73DA70007993CB /* WebIDBConnectionToClientMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIDBConnectionToClientMessageReceiver.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 510523781C73DA70007993CB /* WebIDBConnectionToClientMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIDBConnectionToClientMessages.h; sourceTree = "<group>"; };
</span><del>-                5105237B1C7541F3007993CB /* LegacyUniqueIDBDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyUniqueIDBDatabase.cpp; sourceTree = "<group>"; };
-                5105237C1C7541F3007993CB /* LegacyUniqueIDBDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyUniqueIDBDatabase.h; sourceTree = "<group>"; };
-                5105237D1C7541F3007993CB /* LegacyUniqueIDBDatabaseIdentifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyUniqueIDBDatabaseIdentifier.cpp; sourceTree = "<group>"; };
-                5105237E1C7541F3007993CB /* LegacyUniqueIDBDatabaseIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyUniqueIDBDatabaseIdentifier.h; sourceTree = "<group>"; };
</del><span class="cx">                 5105B0D4162F7A7A00E27709 /* NetworkProcessConnection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkProcessConnection.cpp; path = Network/NetworkProcessConnection.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 5105B0D5162F7A7A00E27709 /* NetworkProcessConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkProcessConnection.h; path = Network/NetworkProcessConnection.h; sourceTree = "<group>"; };
</span><span class="cx">                 5105B0F31630872E00E27709 /* NetworkProcessProxy.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = NetworkProcessProxy.messages.in; sourceTree = "<group>"; };
</span><del>-                51064D33189781C4004B2FEB /* SQLiteIDBCursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SQLiteIDBCursor.cpp; sourceTree = "<group>"; };
-                51064D34189781C4004B2FEB /* SQLiteIDBCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SQLiteIDBCursor.h; sourceTree = "<group>"; };
</del><span class="cx">                 5106D7BF18BDBE73000AB166 /* ContextMenuContextData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContextMenuContextData.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 5106D7C018BDBE73000AB166 /* ContextMenuContextData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenuContextData.h; sourceTree = "<group>"; };
</span><span class="cx">                 510AFFB716542048001BA05E /* WebResourceLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebResourceLoader.cpp; path = Network/WebResourceLoader.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -2868,8 +2839,6 @@
</span><span class="cx">                 511B24A5132E095700065A0C /* WebIconDatabaseProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebIconDatabaseProxy.h; path = IconDatabase/WebIconDatabaseProxy.h; sourceTree = "<group>"; };
</span><span class="cx">                 511B24A8132E097200065A0C /* WebIconDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIconDatabase.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 511B24A9132E097200065A0C /* WebIconDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabase.h; sourceTree = "<group>"; };
</span><del>-                511D81FD185BBDEE001AED56 /* SQLiteIDBTransaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SQLiteIDBTransaction.h; sourceTree = "<group>"; };
-                511D8200185BC217001AED56 /* SQLiteIDBTransaction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SQLiteIDBTransaction.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 511F8A77138B460900A95F44 /* SecItemShimLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SecItemShimLibrary.h; path = ../../WebProcess/mac/SecItemShimLibrary.h; sourceTree = "<group>"; };
</span><span class="cx">                 511F8A78138B460900A95F44 /* SecItemShimLibrary.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SecItemShimLibrary.mm; path = ../../WebProcess/mac/SecItemShimLibrary.mm; sourceTree = "<group>"; };
</span><span class="cx">                 512127C11908239A00DAF35C /* WebPasteboardOverrides.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPasteboardOverrides.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -2878,8 +2847,6 @@
</span><span class="cx">                 5121745F164C20E30037A5C1 /* ShareableResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShareableResource.h; sourceTree = "<group>"; };
</span><span class="cx">                 5123CF19133D260A0056F800 /* WKIconDatabaseCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WKIconDatabaseCG.cpp; path = cg/WKIconDatabaseCG.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 5123CF1A133D260A0056F800 /* WKIconDatabaseCG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKIconDatabaseCG.h; path = cg/WKIconDatabaseCG.h; sourceTree = "<group>"; };
</span><del>-                51290990183ACEAF005522A6 /* WebIDBServerConnection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIDBServerConnection.cpp; sourceTree = "<group>"; };
-                51290991183ACEAF005522A6 /* WebIDBServerConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIDBServerConnection.h; sourceTree = "<group>"; };
</del><span class="cx">                 512935D51288D19400A4B695 /* WebContextMenuItem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebContextMenuItem.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 512935D61288D19400A4B695 /* WebContextMenuItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenuItem.h; sourceTree = "<group>"; };
</span><span class="cx">                 512935E11288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundlePageContextMenuClient.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -2928,13 +2895,9 @@
</span><span class="cx">                 516311861858446600534647 /* WebCrossThreadCopier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCrossThreadCopier.h; sourceTree = "<group>"; };
</span><span class="cx">                 516319911628980A00E22F00 /* NetworkProcessProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NetworkProcessProxyMac.mm; path = mac/NetworkProcessProxyMac.mm; sourceTree = "<group>"; };
</span><span class="cx">                 5164C0941B05B757004F102A /* ChildProcess.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ChildProcess.messages.in; sourceTree = "<group>"; };
</span><del>-                51654EFB184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UniqueIDBDatabaseBackingStoreSQLite.cpp; sourceTree = "<group>"; };
-                51654EFC184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UniqueIDBDatabaseBackingStoreSQLite.h; sourceTree = "<group>"; };
-                51654EFF184EF34A007DC837 /* UniqueIDBDatabaseBackingStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UniqueIDBDatabaseBackingStore.h; sourceTree = "<group>"; };
</del><span class="cx">                 5167EE9E170377BF007681CA /* NetworkDiskCacheMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkDiskCacheMonitor.h; sourceTree = "<group>"; };
</span><span class="cx">                 5167EE9F170377BF007681CA /* NetworkDiskCacheMonitor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkDiskCacheMonitor.mm; sourceTree = "<group>"; };
</span><span class="cx">                 516A4A5B120A2CCD00C05B7F /* APIError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIError.h; sourceTree = "<group>"; };
</span><del>-                517509591897249700408FAC /* IDBIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBIdentifier.h; sourceTree = "<group>"; };
</del><span class="cx">                 517A33B3130B308C00F80CB5 /* WKApplicationCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKApplicationCacheManager.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 517A33B4130B308C00F80CB5 /* WKApplicationCacheManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKApplicationCacheManager.h; sourceTree = "<group>"; };
</span><span class="cx">                 517CF0E1163A486C00C2950E /* NetworkProcessConnectionMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkProcessConnectionMessageReceiver.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -2943,8 +2906,6 @@
</span><span class="cx">                 517DD5BD180DA7D30081660B /* DatabaseProcessProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DatabaseProcessProxy.h; path = Databases/DatabaseProcessProxy.h; sourceTree = "<group>"; };
</span><span class="cx">                 51834590134532E80092B696 /* WebIconDatabaseClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIconDatabaseClient.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51834591134532E80092B696 /* WebIconDatabaseClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseClient.h; sourceTree = "<group>"; };
</span><del>-                518353D81885BF8C00D9FE44 /* IDBSerialization.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBSerialization.cpp; sourceTree = "<group>"; };
-                518353D91885BF8C00D9FE44 /* IDBSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBSerialization.h; sourceTree = "<group>"; };
</del><span class="cx">                 5183B3931379F85C00E8754E /* Shim.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Shim.xcconfig; sourceTree = "<group>"; };
</span><span class="cx">                 5184BC4A132E907A006B9E28 /* WebIconDatabase.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebIconDatabase.messages.in; sourceTree = "<group>"; };
</span><span class="cx">                 51871B59127CB89D00F76232 /* WebContextMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebContextMenu.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -2982,9 +2943,6 @@
</span><span class="cx">                 51B15A8213843A3900321AD8 /* EnvironmentUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EnvironmentUtilities.cpp; path = unix/EnvironmentUtilities.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51B15A8313843A3900321AD8 /* EnvironmentUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnvironmentUtilities.h; path = unix/EnvironmentUtilities.h; sourceTree = "<group>"; };
</span><span class="cx">                 51BA24451858F41500EA2811 /* WebCrossThreadCopier.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebCrossThreadCopier.cpp; sourceTree = "<group>"; };
</span><del>-                51C96115183C95FF00D2002E /* WebIDBServerConnection.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = WebIDBServerConnection.messages.in; sourceTree = "<group>"; };
-                51C96116183D294700D2002E /* WebIDBServerConnectionMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIDBServerConnectionMessageReceiver.cpp; sourceTree = "<group>"; };
-                51C96117183D294700D2002E /* WebIDBServerConnectionMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIDBServerConnectionMessages.h; sourceTree = "<group>"; };
</del><span class="cx">                 51CD1C591B3493A900142CA5 /* WKSecurityOriginRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKSecurityOriginRef.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51CD1C5A1B3493A900142CA5 /* WKSecurityOriginRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSecurityOriginRef.h; sourceTree = "<group>"; };
</span><span class="cx">                 51CD1C5F1B34B9C900142CA5 /* WKSecurityOrigin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSecurityOrigin.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -2995,11 +2953,6 @@
</span><span class="cx">                 51D02F67132EC73700BEAA96 /* WebIconDatabaseMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseMessages.h; sourceTree = "<group>"; };
</span><span class="cx">                 51D02F68132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIconDatabaseProxyMessageReceiver.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51D02F69132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseProxyMessages.h; sourceTree = "<group>"; };
</span><del>-                51D0D42E183B34130097041D /* DatabaseProcessIDBConnection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DatabaseProcessIDBConnection.cpp; sourceTree = "<group>"; };
-                51D0D42F183B34130097041D /* DatabaseProcessIDBConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatabaseProcessIDBConnection.h; sourceTree = "<group>"; };
-                51D0D430183B34130097041D /* DatabaseProcessIDBConnection.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DatabaseProcessIDBConnection.messages.in; sourceTree = "<group>"; };
-                51D0D434183B353D0097041D /* DatabaseProcessIDBConnectionMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DatabaseProcessIDBConnectionMessageReceiver.cpp; sourceTree = "<group>"; };
-                51D0D435183B353D0097041D /* DatabaseProcessIDBConnectionMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatabaseProcessIDBConnectionMessages.h; sourceTree = "<group>"; };
</del><span class="cx">                 51D1304F1382EAC000351EDD /* SecItemRequestData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SecItemRequestData.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51D130501382EAC000351EDD /* SecItemRequestData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecItemRequestData.h; sourceTree = "<group>"; };
</span><span class="cx">                 51D130511382EAC000351EDD /* SecItemResponseData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SecItemResponseData.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -3009,8 +2962,6 @@
</span><span class="cx">                 51DD9F2716367DA2001578E9 /* NetworkConnectionToWebProcessMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkConnectionToWebProcessMessages.h; sourceTree = "<group>"; };
</span><span class="cx">                 51E351C8180F2CCC00E53BE9 /* IDBUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBUtilities.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51E351C9180F2CCC00E53BE9 /* IDBUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBUtilities.h; sourceTree = "<group>"; };
</span><del>-                51E351F1180F5C7500E53BE9 /* WebIDBFactoryBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIDBFactoryBackend.cpp; sourceTree = "<group>"; };
-                51E351F2180F5C7500E53BE9 /* WebIDBFactoryBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIDBFactoryBackend.h; sourceTree = "<group>"; };
</del><span class="cx">                 51E351FA180F5D0B00E53BE9 /* DatabaseProcess.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DatabaseProcess.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51E351FB180F5D0B00E53BE9 /* DatabaseProcess.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DatabaseProcess.h; sourceTree = "<group>"; };
</span><span class="cx">                 51E351FC180F5D0B00E53BE9 /* DatabaseProcess.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = DatabaseProcess.messages.in; sourceTree = "<group>"; };
</span><span class="lines">@@ -5283,11 +5234,6 @@
</span><span class="cx">                                 514129911C6428100059E714 /* WebIDBConnectionToServer.cpp */,
</span><span class="cx">                                 514129921C6428100059E714 /* WebIDBConnectionToServer.h */,
</span><span class="cx">                                 510523711C73D22B007993CB /* WebIDBConnectionToServer.messages.in */,
</span><del>-                                51E351F1180F5C7500E53BE9 /* WebIDBFactoryBackend.cpp */,
-                                51E351F2180F5C7500E53BE9 /* WebIDBFactoryBackend.h */,
-                                51290990183ACEAF005522A6 /* WebIDBServerConnection.cpp */,
-                                51290991183ACEAF005522A6 /* WebIDBServerConnection.h */,
-                                51C96115183C95FF00D2002E /* WebIDBServerConnection.messages.in */,
</del><span class="cx">                         );
</span><span class="cx">                         path = IndexedDB;
</span><span class="cx">                         sourceTree = "<group>";
</span><span class="lines">@@ -5336,19 +5282,6 @@
</span><span class="cx">                         name = mac;
</span><span class="cx">                         sourceTree = "<group>";
</span><span class="cx">                 };
</span><del>-                51654EF0184EF241007DC837 /* sqlite */ = {
-                        isa = PBXGroup;
-                        children = (
-                                51064D33189781C4004B2FEB /* SQLiteIDBCursor.cpp */,
-                                51064D34189781C4004B2FEB /* SQLiteIDBCursor.h */,
-                                511D8200185BC217001AED56 /* SQLiteIDBTransaction.cpp */,
-                                511D81FD185BBDEE001AED56 /* SQLiteIDBTransaction.h */,
-                                51654EFB184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.cpp */,
-                                51654EFC184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.h */,
-                        );
-                        path = sqlite;
-                        sourceTree = "<group>";
-                };
</del><span class="cx">                 517DD5BB180DA7C40081660B /* Databases */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -5421,18 +5354,6 @@
</span><span class="cx">                 51E351F9180F5CF600E53BE9 /* IndexedDB */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><del>-                                51654EF0184EF241007DC837 /* sqlite */,
-                                51D0D42E183B34130097041D /* DatabaseProcessIDBConnection.cpp */,
-                                51D0D42F183B34130097041D /* DatabaseProcessIDBConnection.h */,
-                                51D0D430183B34130097041D /* DatabaseProcessIDBConnection.messages.in */,
-                                517509591897249700408FAC /* IDBIdentifier.h */,
-                                518353D81885BF8C00D9FE44 /* IDBSerialization.cpp */,
-                                518353D91885BF8C00D9FE44 /* IDBSerialization.h */,
-                                5105237B1C7541F3007993CB /* LegacyUniqueIDBDatabase.cpp */,
-                                5105237C1C7541F3007993CB /* LegacyUniqueIDBDatabase.h */,
-                                5105237D1C7541F3007993CB /* LegacyUniqueIDBDatabaseIdentifier.cpp */,
-                                5105237E1C7541F3007993CB /* LegacyUniqueIDBDatabaseIdentifier.h */,
-                                51654EFF184EF34A007DC837 /* UniqueIDBDatabaseBackingStore.h */,
</del><span class="cx">                                 5105236D1C7393E9007993CB /* WebIDBConnectionToClient.cpp */,
</span><span class="cx">                                 5105236E1C7393E9007993CB /* WebIDBConnectionToClient.h */,
</span><span class="cx">                                 510523761C73D9F6007993CB /* WebIDBConnectionToClient.messages.in */,
</span><span class="lines">@@ -6833,8 +6754,6 @@
</span><span class="cx">                                 2984F587164BA095004BC0C6 /* CustomProtocolManagerMessages.h */,
</span><span class="cx">                                 2984F57A164B915F004BC0C6 /* CustomProtocolManagerProxyMessageReceiver.cpp */,
</span><span class="cx">                                 2984F57B164B915F004BC0C6 /* CustomProtocolManagerProxyMessages.h */,
</span><del>-                                51D0D434183B353D0097041D /* DatabaseProcessIDBConnectionMessageReceiver.cpp */,
-                                51D0D435183B353D0097041D /* DatabaseProcessIDBConnectionMessages.h */,
</del><span class="cx">                                 512A975E180E03160039A149 /* DatabaseProcessMessageReceiver.cpp */,
</span><span class="cx">                                 512A975F180E03160039A149 /* DatabaseProcessMessages.h */,
</span><span class="cx">                                 512A9767180E09B80039A149 /* DatabaseProcessProxyMessageReceiver.cpp */,
</span><span class="lines">@@ -6925,8 +6844,6 @@
</span><span class="cx">                                 510523781C73DA70007993CB /* WebIDBConnectionToClientMessages.h */,
</span><span class="cx">                                 510523721C73D37B007993CB /* WebIDBConnectionToServerMessageReceiver.cpp */,
</span><span class="cx">                                 510523731C73D37B007993CB /* WebIDBConnectionToServerMessages.h */,
</span><del>-                                51C96116183D294700D2002E /* WebIDBServerConnectionMessageReceiver.cpp */,
-                                51C96117183D294700D2002E /* WebIDBServerConnectionMessages.h */,
</del><span class="cx">                                 1C8E2A311277852400BC7BD0 /* WebInspectorMessageReceiver.cpp */,
</span><span class="cx">                                 1C8E2A321277852400BC7BD0 /* WebInspectorMessages.h */,
</span><span class="cx">                                 1CA8B943127C882A00576C2B /* WebInspectorProxyMessageReceiver.cpp */,
</span><span class="lines">@@ -7323,7 +7240,6 @@
</span><span class="cx">                                 29AD3093164B4C5D0072DEA9 /* CustomProtocolManagerProxy.h in Headers */,
</span><span class="cx">                                 2984F57D164B915F004BC0C6 /* CustomProtocolManagerProxyMessages.h in Headers */,
</span><span class="cx">                                 515E772C184008B90007203F /* DatabaseProcessCreationParameters.h in Headers */,
</span><del>-                                51D0D437183B353D0097041D /* DatabaseProcessIDBConnectionMessages.h in Headers */,
</del><span class="cx">                                 512A9761180E031D0039A149 /* DatabaseProcessMessages.h in Headers */,
</span><span class="cx">                                 517DD5BF180DA7D30081660B /* DatabaseProcessProxy.h in Headers */,
</span><span class="cx">                                 512A976A180E09B80039A149 /* DatabaseProcessProxyMessages.h in Headers */,
</span><span class="lines">@@ -7359,8 +7275,6 @@
</span><span class="cx">                                 C0CE72AD1247E78D00BC0EC4 /* HandleMessage.h in Headers */,
</span><span class="cx">                                 1AC75A1B1B3368270056745B /* HangDetectionDisabler.h in Headers */,
</span><span class="cx">                                 37F90DE31376560E0051CF68 /* HTTPCookieAcceptPolicy.h in Headers */,
</span><del>-                                5175095A1897249700408FAC /* IDBIdentifier.h in Headers */,
-                                518353DB1885BF8C00D9FE44 /* IDBSerialization.h in Headers */,
</del><span class="cx">                                 51E351CB180F2CCC00E53BE9 /* IDBUtilities.h in Headers */,
</span><span class="cx">                                 BCCF6B2512C93E7A008F9C35 /* ImageOptions.h in Headers */,
</span><span class="cx">                                 1A1EC69E1872092100B951F0 /* ImportanceAssertion.h in Headers */,
</span><span class="lines">@@ -7376,10 +7290,8 @@
</span><span class="cx">                                 512935E41288D97800A4B695 /* InjectedBundlePageContextMenuClient.h in Headers */,
</span><span class="cx">                                 E1EE53E311F8CFC000CCBEE4 /* InjectedBundlePageEditorClient.h in Headers */,
</span><span class="cx">                                 BC14E10A120B905E00826C0C /* InjectedBundlePageFormClient.h in Headers */,
</span><del>-                                510523821C7541FF007993CB /* LegacyUniqueIDBDatabaseIdentifier.h in Headers */,
</del><span class="cx">                                 CD5C66A1134B9D38004FE2A8 /* InjectedBundlePageFullScreenClient.h in Headers */,
</span><span class="cx">                                 BCA8C6A911E3BA5F00812FB7 /* InjectedBundlePageLoaderClient.h in Headers */,
</span><del>-                                510523801C7541FF007993CB /* LegacyUniqueIDBDatabase.h in Headers */,
</del><span class="cx">                                 BC8147A912F64CDA007B2C32 /* InjectedBundlePagePolicyClient.h in Headers */,
</span><span class="cx">                                 BCA8C6B011E3C08700812FB7 /* InjectedBundlePageUIClient.h in Headers */,
</span><span class="cx">                                 9955A6F71C7986E500EB6A93 /* InspectorProtocolObjects.h in Headers */,
</span><span class="lines">@@ -7556,8 +7468,6 @@
</span><span class="cx">                                 1A24BED5120894D100FBB059 /* SharedMemory.h in Headers */,
</span><span class="cx">                                 2DAF06D618BD1A470081CEB1 /* SmartMagnificationController.h in Headers */,
</span><span class="cx">                                 2DE6943E18BD2A68005C15E5 /* SmartMagnificationControllerMessages.h in Headers */,
</span><del>-                                51064D36189781C4004B2FEB /* SQLiteIDBCursor.h in Headers */,
-                                511D81FF185BBDEE001AED56 /* SQLiteIDBTransaction.h in Headers */,
</del><span class="cx">                                 5272B28B1406985D0096A5D0 /* StatisticsData.h in Headers */,
</span><span class="cx">                                 514BDED316C98EDD00E4E25E /* StatisticsRequest.h in Headers */,
</span><span class="cx">                                 1AD3306F16B1D991004F60E7 /* StorageAreaImpl.h in Headers */,
</span><span class="lines">@@ -7576,8 +7486,6 @@
</span><span class="cx">                                 1AF05D8714688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.h in Headers */,
</span><span class="cx">                                 1AFE436618B6C081009C7A48 /* UIDelegate.h in Headers */,
</span><span class="cx">                                 CEE4AE2B1A5DCF430002F49B /* UIKitSPI.h in Headers */,
</span><del>-                                51654F00184EF34A007DC837 /* UniqueIDBDatabaseBackingStore.h in Headers */,
-                                51654EFE184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.h in Headers */,
</del><span class="cx">                                 1A64245E12DE29A100CAAE2C /* UpdateInfo.h in Headers */,
</span><span class="cx">                                 1AC1336818565B5700F3EC05 /* UserData.h in Headers */,
</span><span class="cx">                                 4A3CC18B19B0640F00D14AEF /* UserMediaPermissionRequestManagerProxy.h in Headers */,
</span><span class="lines">@@ -7664,9 +7572,6 @@
</span><span class="cx">                                 51D02F6A132EC73700BEAA96 /* WebIconDatabaseMessages.h in Headers */,
</span><span class="cx">                                 511B24A7132E095700065A0C /* WebIconDatabaseProxy.h in Headers */,
</span><span class="cx">                                 51D02F6C132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h in Headers */,
</span><del>-                                51E351F6180F5C7500E53BE9 /* WebIDBFactoryBackend.h in Headers */,
-                                51290993183ACEAF005522A6 /* WebIDBServerConnection.h in Headers */,
-                                51C96119183D294700D2002E /* WebIDBServerConnectionMessages.h in Headers */,
</del><span class="cx">                                 BCCF6ABD12C91EF9008F9C35 /* WebImage.h in Headers */,
</span><span class="cx">                                 1C8E28201275D15400BC7BD0 /* WebInspector.h in Headers */,
</span><span class="cx">                                 BC032D8210F4378D0058C15A /* WebInspectorClient.h in Headers */,
</span><span class="lines">@@ -8767,9 +8672,7 @@
</span><span class="cx">                                 2984F57C164B915F004BC0C6 /* CustomProtocolManagerProxyMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 51E351FF180F5D0F00E53BE9 /* DatabaseProcess.cpp in Sources */,
</span><span class="cx">                                 515E772B184008B90007203F /* DatabaseProcessCreationParameters.cpp in Sources */,
</span><del>-                                51D0D431183B34130097041D /* DatabaseProcessIDBConnection.cpp in Sources */,
</del><span class="cx">                                 5C1427031C23F84C00D41183 /* DownloadAuthenticationClient.cpp in Sources */,
</span><del>-                                51D0D436183B353D0097041D /* DatabaseProcessIDBConnectionMessageReceiver.cpp in Sources */,
</del><span class="cx">                                 E115C714190F89E400ECC516 /* DatabaseProcessIOS.mm in Sources */,
</span><span class="cx">                                 51E35202180F5D1E00E53BE9 /* DatabaseProcessMac.mm in Sources */,
</span><span class="cx">                                 512A9760180E031D0039A149 /* DatabaseProcessMessageReceiver.cpp in Sources */,
</span><span class="lines">@@ -8804,7 +8707,6 @@
</span><span class="cx">                                 BC06F43B12DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp in Sources */,
</span><span class="cx">                                 2DA049B7180CCD0A00AAFA9E /* GraphicsLayerCARemote.cpp in Sources */,
</span><span class="cx">                                 1AC75A1E1B33695E0056745B /* HangDetectionDisablerMac.mm in Sources */,
</span><del>-                                518353DA1885BF8C00D9FE44 /* IDBSerialization.cpp in Sources */,
</del><span class="cx">                                 51E351CA180F2CCC00E53BE9 /* IDBUtilities.cpp in Sources */,
</span><span class="cx">                                 BC204EE211C83E98008F3375 /* InjectedBundle.cpp in Sources */,
</span><span class="cx">                                 935EEBA1127761CC003322B8 /* InjectedBundleBackForwardList.cpp in Sources */,
</span><span class="lines">@@ -8850,7 +8752,6 @@
</span><span class="cx">                                 C0E3AA7B1209E83500A49D01 /* Module.cpp in Sources */,
</span><span class="cx">                                 C0E3AA7A1209E83000A49D01 /* ModuleCF.cpp in Sources */,
</span><span class="cx">                                 2D50365E1BCC793F00E20BB3 /* NativeWebGestureEventMac.mm in Sources */,
</span><del>-                                510523811C7541FF007993CB /* LegacyUniqueIDBDatabaseIdentifier.cpp in Sources */,
</del><span class="cx">                                 2DA9449E1884E4F000ED86DB /* NativeWebKeyboardEventIOS.mm in Sources */,
</span><span class="cx">                                 C02BFF1E1251502E009CCBEA /* NativeWebKeyboardEventMac.mm in Sources */,
</span><span class="cx">                                 31EA25D2134F78C0005B1452 /* NativeWebMouseEventMac.mm in Sources */,
</span><span class="lines">@@ -8860,7 +8761,6 @@
</span><span class="cx">                                 1ABC3DF51899E437004F0626 /* NavigationState.mm in Sources */,
</span><span class="cx">                                 1A6FBA2B11E6862700DB1371 /* NetscapeBrowserFuncs.cpp in Sources */,
</span><span class="cx">                                 1A6FBD2911E69BC200DB1371 /* NetscapePlugin.cpp in Sources */,
</span><del>-                                5105237F1C7541FF007993CB /* LegacyUniqueIDBDatabase.cpp in Sources */,
</del><span class="cx">                                 1AE5B7FB11E7AED200BA6767 /* NetscapePluginMac.mm in Sources */,
</span><span class="cx">                                 1A4A9C5512B816CF008FE984 /* NetscapePluginModule.cpp in Sources */,
</span><span class="cx">                                 1A4A9C9A12B821CD008FE984 /* NetscapePluginModuleMac.mm in Sources */,
</span><span class="lines">@@ -9025,8 +8925,6 @@
</span><span class="cx">                                 1A24BF3A120896A600FBB059 /* SharedMemoryMac.cpp in Sources */,
</span><span class="cx">                                 2DAF06D718BD1A470081CEB1 /* SmartMagnificationController.mm in Sources */,
</span><span class="cx">                                 2DE6943D18BD2A68005C15E5 /* SmartMagnificationControllerMessageReceiver.cpp in Sources */,
</span><del>-                                51064D35189781C4004B2FEB /* SQLiteIDBCursor.cpp in Sources */,
-                                511D8201185BC217001AED56 /* SQLiteIDBTransaction.cpp in Sources */,
</del><span class="cx">                                 5272B28A1406985D0096A5D0 /* StatisticsData.cpp in Sources */,
</span><span class="cx">                                 51A4D5A916CAC4FF000E615E /* StatisticsRequest.cpp in Sources */,
</span><span class="cx">                                 1AD3306E16B1D991004F60E7 /* StorageAreaImpl.cpp in Sources */,
</span><span class="lines">@@ -9044,7 +8942,6 @@
</span><span class="cx">                                 1AAF263814687C39004A1E8A /* TiledCoreAnimationDrawingArea.mm in Sources */,
</span><span class="cx">                                 1AF05D8614688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.mm in Sources */,
</span><span class="cx">                                 1AFE436518B6C081009C7A48 /* UIDelegate.mm in Sources */,
</span><del>-                                51654EFD184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.cpp in Sources */,
</del><span class="cx">                                 1A64245F12DE29A100CAAE2C /* UpdateInfo.cpp in Sources */,
</span><span class="cx">                                 1AC1336718565B5700F3EC05 /* UserData.cpp in Sources */,
</span><span class="cx">                                 15739BBC1B42040300D258C1 /* UserMediaPermissionRequestManager.cpp in Sources */,
</span><span class="lines">@@ -9147,9 +9044,6 @@
</span><span class="cx">                                 51D02F64132EC5B900BEAA96 /* WebIconDatabaseMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 511B24A6132E095700065A0C /* WebIconDatabaseProxy.cpp in Sources */,
</span><span class="cx">                                 51D02F6B132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp in Sources */,
</span><del>-                                51E351F5180F5C7500E53BE9 /* WebIDBFactoryBackend.cpp in Sources */,
-                                51290992183ACEAF005522A6 /* WebIDBServerConnection.cpp in Sources */,
-                                51C96118183D294700D2002E /* WebIDBServerConnectionMessageReceiver.cpp in Sources */,
</del><span class="cx">                                 BCCF6ABC12C91EF9008F9C35 /* WebImage.cpp in Sources */,
</span><span class="cx">                                 1C8E28211275D15400BC7BD0 /* WebInspector.cpp in Sources */,
</span><span class="cx">                                 BC111A60112F4FBB00337BAB /* WebInspectorClient.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBFactoryBackendcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,192 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 "config.h"
-#include "WebIDBFactoryBackend.h"
-
-#include "IDBUtilities.h"
-#include "Logging.h"
-#include "WebIDBServerConnection.h"
-#include "WebProcess.h"
-#include "WebToDatabaseProcessConnection.h"
-#include <WebCore/DOMStringList.h>
-#include <WebCore/IDBCallbacks.h>
-#include <WebCore/IDBCursorBackend.h>
-#include <WebCore/IDBDatabaseCallbacks.h>
-#include <WebCore/IDBTransactionBackend.h>
-#include <WebCore/SecurityOrigin.h>
-#include <wtf/MainThread.h>
-#include <wtf/NeverDestroyed.h>
-
-#if ENABLE(INDEXED_DATABASE)
-#if ENABLE(DATABASE_PROCESS)
-
-using namespace WebCore;
-
-namespace WebKit {
-
-typedef HashMap<String, IDBDatabaseBackend*> IDBDatabaseBackendMap;
-
-static IDBDatabaseBackendMap& sharedDatabaseBackendMap()
-{
- static NeverDestroyed<IDBDatabaseBackendMap> databaseBackendMap;
- return databaseBackendMap;
-}
-
-static HashMap<String, HashSet<String>>& sharedRecentDatabaseNameMap()
-{
- static NeverDestroyed<HashMap<String, HashSet<String>>> recentDatabaseNameMap;
- return recentDatabaseNameMap;
-}
-
-static String combinedSecurityOriginIdentifier(const WebCore::SecurityOrigin& openingOrigin, const WebCore::SecurityOrigin& mainFrameOrigin)
-{
- StringBuilder stringBuilder;
-
- String originString = openingOrigin.toString();
- if (originString == "null")
- return String();
- stringBuilder.append(originString);
- stringBuilder.append('_');
-
- originString = mainFrameOrigin.toString();
- if (originString == "null")
- return String();
- stringBuilder.append(originString);
-
- return stringBuilder.toString();
-}
-
-WebIDBFactoryBackend::WebIDBFactoryBackend()
-{
-}
-
-WebIDBFactoryBackend::~WebIDBFactoryBackend()
-{
-}
-
-void WebIDBFactoryBackend::getDatabaseNames(PassRefPtr<IDBCallbacks> callbacks, const SecurityOrigin& openingOrigin, const SecurityOrigin& mainFrameOrigin, ScriptExecutionContext* context)
-{
- LOG(IDB, "WebIDBFactoryBackend::getDatabaseNames");
-
- String securityOriginIdentifier = combinedSecurityOriginIdentifier(openingOrigin, mainFrameOrigin);
- if (securityOriginIdentifier.isEmpty()) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::InvalidAccessError, ASCIILiteral("Document is not allowed to use Indexed Databases")));
- return;
- }
-
- RefPtr<DOMStringList> databaseNames = DOMStringList::create();
-
- auto recentNameIterator = sharedRecentDatabaseNameMap().find(securityOriginIdentifier);
- if (recentNameIterator != sharedRecentDatabaseNameMap().end()) {
- HashSet<String>& foundNames = recentNameIterator->value;
- for (const String& name : foundNames)
- databaseNames->append(name);
- }
-
- callbacks->onSuccess(databaseNames.release());
-}
-
-void WebIDBFactoryBackend::open(const String& databaseName, uint64_t version, int64_t transactionId, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks, const SecurityOrigin& openingOrigin, const SecurityOrigin& mainFrameOrigin)
-{
- ASSERT(RunLoop::isMain());
- LOG(IDB, "WebIDBFactoryBackend::open");
-
- String databaseIdentifier = uniqueDatabaseIdentifier(databaseName, openingOrigin, mainFrameOrigin);
- if (databaseIdentifier.isNull()) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::InvalidAccessError, "Document is not allowed to use Indexed Databases"));
- return;
- }
-
- String securityOriginIdentifier = combinedSecurityOriginIdentifier(openingOrigin, mainFrameOrigin);
- ASSERT(!securityOriginIdentifier.isEmpty());
-
- auto recentNameIterator = sharedRecentDatabaseNameMap().find(securityOriginIdentifier);
- if (recentNameIterator == sharedRecentDatabaseNameMap().end()) {
- HashSet<String> names;
- names.add(databaseName);
- sharedRecentDatabaseNameMap().set(securityOriginIdentifier, names);
- } else
- recentNameIterator->value.add(databaseName);
-
- IDBDatabaseBackendMap::iterator it = sharedDatabaseBackendMap().find(databaseIdentifier);
-
- RefPtr<IDBDatabaseBackend> databaseBackend;
- if (it == sharedDatabaseBackendMap().end()) {
- RefPtr<IDBServerConnection> serverConnection = WebIDBServerConnection::create(databaseName, openingOrigin, mainFrameOrigin);
- databaseBackend = IDBDatabaseBackend::create(databaseName, databaseIdentifier, this, *serverConnection);
- sharedDatabaseBackendMap().set(databaseIdentifier, databaseBackend.get());
- } else
- databaseBackend = it->value;
-
- databaseBackend->openConnection(callbacks, databaseCallbacks, transactionId, version);
-}
-
-void WebIDBFactoryBackend::deleteDatabase(const String& databaseName, const SecurityOrigin& openingOrigin, const SecurityOrigin& mainFrameOrigin, PassRefPtr<IDBCallbacks> callbacks, ScriptExecutionContext*)
-{
- ASSERT(RunLoop::isMain());
- LOG(IDB, "WebIDBFactoryBackend::deleteDatabase");
-
- String databaseIdentifier = uniqueDatabaseIdentifier(databaseName, openingOrigin, mainFrameOrigin);
- if (databaseIdentifier.isNull()) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::InvalidAccessError, "Document is not allowed to use Indexed Databases"));
- return;
- }
-
- String securityOriginIdentifier = combinedSecurityOriginIdentifier(openingOrigin, mainFrameOrigin);
- ASSERT(!securityOriginIdentifier.isEmpty());
-
- auto recentNameIterator = sharedRecentDatabaseNameMap().find(securityOriginIdentifier);
- if (recentNameIterator != sharedRecentDatabaseNameMap().end()) {
- recentNameIterator->value.remove(databaseName);
- if (recentNameIterator->value.isEmpty())
- sharedRecentDatabaseNameMap().remove(recentNameIterator);
- }
-
- // If there's already a connection to the database, delete it directly.
- IDBDatabaseBackendMap::iterator it = sharedDatabaseBackendMap().find(databaseIdentifier);
- if (it != sharedDatabaseBackendMap().end()) {
- it->value->deleteDatabase(callbacks);
- return;
- }
-
- RefPtr<IDBServerConnection> serverConnection = WebIDBServerConnection::create(databaseName, openingOrigin, mainFrameOrigin);
- RefPtr<IDBDatabaseBackend> databaseBackend = IDBDatabaseBackend::create(databaseName, databaseIdentifier, this, *serverConnection);
-
- sharedDatabaseBackendMap().set(databaseIdentifier, databaseBackend.get());
- databaseBackend->deleteDatabase(callbacks);
- sharedDatabaseBackendMap().remove(databaseIdentifier);
-}
-
-void WebIDBFactoryBackend::removeIDBDatabaseBackend(const String& identifier)
-{
- sharedDatabaseBackendMap().remove(identifier);
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(DATABASE_PROCESS)
-#endif // ENABLE(INDEXED_DATABASE)
</del></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBFactoryBackendh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,55 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 WebIDBFactoryBackend_h
-#define WebIDBFactoryBackend_h
-
-#include <WebCore/IDBFactoryBackendInterface.h>
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebKit {
-
-class WebIDBFactoryBackend final : public WebCore::IDBFactoryBackendInterface {
-public:
- static Ref<WebIDBFactoryBackend> create() { return adoptRef(*new WebIDBFactoryBackend); }
-
- virtual ~WebIDBFactoryBackend();
-
- virtual void getDatabaseNames(PassRefPtr<WebCore::IDBCallbacks>, const WebCore::SecurityOrigin& openingOrigin, const WebCore::SecurityOrigin& mainFrameOrigin, WebCore::ScriptExecutionContext*) override;
- virtual void open(const String& name, uint64_t version, int64_t transactionId, PassRefPtr<WebCore::IDBCallbacks>, PassRefPtr<WebCore::IDBDatabaseCallbacks>, const WebCore::SecurityOrigin& openingOrigin, const WebCore::SecurityOrigin& mainFrameOrigin) override;
- virtual void deleteDatabase(const String& name, const WebCore::SecurityOrigin& openingOrigin, const WebCore::SecurityOrigin& mainFrameOrigin, PassRefPtr<WebCore::IDBCallbacks>, WebCore::ScriptExecutionContext*) override;
-
- virtual void removeIDBDatabaseBackend(const String& uniqueIdentifier) override;
-
-private:
- explicit WebIDBFactoryBackend();
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE)
-#endif // WebIDBFactoryBackend_h
</del></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectioncpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,715 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 "config.h"
-#include "WebIDBServerConnection.h"
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include "AsyncRequest.h"
-#include "DataReference.h"
-#include "DatabaseProcessIDBConnectionMessages.h"
-#include "DatabaseToWebProcessConnectionMessages.h"
-#include "Logging.h"
-#include "WebCoreArgumentCoders.h"
-#include "WebProcess.h"
-#include "WebToDatabaseProcessConnection.h"
-#include <WebCore/IDBDatabaseMetadata.h>
-#include <WebCore/IDBKeyRangeData.h>
-#include <WebCore/SecurityOrigin.h>
-#include <WebCore/SecurityOriginData.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-static uint64_t generateServerConnectionIdentifier()
-{
- ASSERT(RunLoop::isMain());
- static uint64_t identifier = 0;
- return ++identifier;
-}
-
-PassRefPtr<WebIDBServerConnection> WebIDBServerConnection::create(const String& databaseName, const SecurityOrigin& openingOrigin, const SecurityOrigin& mainFrameOrigin)
-{
- RefPtr<WebIDBServerConnection> result = adoptRef(new WebIDBServerConnection(databaseName, openingOrigin, mainFrameOrigin));
- WebProcess::singleton().webToDatabaseProcessConnection()->registerWebIDBServerConnection(*result);
- return result.release();
-}
-
-WebIDBServerConnection::WebIDBServerConnection(const String& databaseName, const SecurityOrigin& openingOrigin, const SecurityOrigin& mainFrameOrigin)
- : m_serverConnectionIdentifier(generateServerConnectionIdentifier())
- , m_databaseName(databaseName)
- , m_openingOrigin(openingOrigin.isolatedCopy())
- , m_mainFrameOrigin(mainFrameOrigin.isolatedCopy())
-{
- send(Messages::DatabaseToWebProcessConnection::EstablishIDBConnection(m_serverConnectionIdentifier));
- send(Messages::DatabaseProcessIDBConnection::EstablishConnection(databaseName, SecurityOriginData::fromSecurityOrigin(openingOrigin), SecurityOriginData::fromSecurityOrigin(mainFrameOrigin)));
-}
-
-WebIDBServerConnection::~WebIDBServerConnection()
-{
- WebProcess::singleton().webToDatabaseProcessConnection()->removeWebIDBServerConnection(*this);
-
- for (const auto& it : m_serverRequests)
- it.value->requestAborted();
-}
-
-bool WebIDBServerConnection::isClosed()
-{
- // FIXME: Return real value here.
- return true;
-}
-
-void WebIDBServerConnection::deleteDatabase(const String& name, BoolCallbackFunction successCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<bool>::create(successCallback);
-
- serverRequest->setAbortHandler([successCallback] {
- successCallback(false);
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess deleteDatabase request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::DeleteDatabase(requestID, name));
-}
-
-void WebIDBServerConnection::didDeleteDatabase(uint64_t requestID, bool success)
-{
- LOG(IDB, "WebProcess didDeleteDatabase request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(success);
-}
-
-void WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata(GetIDBDatabaseMetadataFunction completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<IDBDatabaseMetadata, bool>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- IDBDatabaseMetadata metadata;
- completionCallback(metadata, false);
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess getOrEstablishIDBDatabaseMetadata request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::GetOrEstablishIDBDatabaseMetadata(requestID));
-}
-
-void WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata(uint64_t requestID, bool success, const IDBDatabaseMetadata& metadata)
-{
- LOG(IDB, "WebProcess didGetOrEstablishIDBDatabaseMetadata request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(metadata, success);
-}
-
-void WebIDBServerConnection::close()
-{
- LOG(IDB, "WebProcess close");
-
- RefPtr<WebIDBServerConnection> protector(this);
-
- for (auto& request : m_serverRequests)
- request.value->requestAborted();
-
- m_serverRequests.clear();
-
- send(Messages::DatabaseProcessIDBConnection::Close());
-}
-
-void WebIDBServerConnection::openTransaction(int64_t transactionID, const HashSet<int64_t>& objectStoreIDs, IndexedDB::TransactionMode mode, BoolCallbackFunction successCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<bool>::create(successCallback);
-
- serverRequest->setAbortHandler([successCallback] {
- successCallback(false);
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess openTransaction ID %" PRIi64 " (request ID %" PRIu64 ")", transactionID, requestID);
-
- Vector<int64_t> objectStoreIDVector;
- copyToVector(objectStoreIDs, objectStoreIDVector);
- send(Messages::DatabaseProcessIDBConnection::OpenTransaction(requestID, transactionID, objectStoreIDVector, static_cast<uint64_t>(mode)));
-}
-
-void WebIDBServerConnection::didOpenTransaction(uint64_t requestID, bool success)
-{
- LOG(IDB, "WebProcess didOpenTransaction request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(success);
-}
-
-void WebIDBServerConnection::beginTransaction(int64_t transactionID, std::function<void ()> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<>::create(completionCallback, completionCallback);
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess beginTransaction ID %" PRIi64 " (request ID %" PRIu64 ")", transactionID, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::BeginTransaction(requestID, transactionID));
-}
-
-void WebIDBServerConnection::didBeginTransaction(uint64_t requestID, bool)
-{
- LOG(IDB, "WebProcess didBeginTransaction request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest();
-}
-
-void WebIDBServerConnection::commitTransaction(int64_t transactionID, BoolCallbackFunction successCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<bool>::create(successCallback);
-
- serverRequest->setAbortHandler([successCallback] {
- successCallback(false);
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess commitTransaction ID %" PRIi64 " (request ID %" PRIu64 ")", transactionID, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::CommitTransaction(requestID, transactionID));
-}
-
-void WebIDBServerConnection::didCommitTransaction(uint64_t requestID, bool success)
-{
- LOG(IDB, "WebProcess didCommitTransaction request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(success);
-}
-
-void WebIDBServerConnection::resetTransaction(int64_t transactionID, std::function<void ()> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<>::create(completionCallback, completionCallback);
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess resetTransaction ID %" PRIi64 " (request ID %" PRIu64 ")", transactionID, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::ResetTransaction(requestID, transactionID));
-}
-
-void WebIDBServerConnection::didResetTransaction(uint64_t requestID, bool)
-{
- LOG(IDB, "WebProcess didResetTransaction request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest();
-}
-
-bool WebIDBServerConnection::resetTransactionSync(int64_t transactionID)
-{
- bool success;
- sendSync(Messages::DatabaseProcessIDBConnection::ResetTransactionSync(transactionID), Messages::DatabaseProcessIDBConnection::ResetTransactionSync::Reply(success));
- return success;
-}
-
-void WebIDBServerConnection::rollbackTransaction(int64_t transactionID, std::function<void ()> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<>::create(completionCallback, completionCallback);
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess rollbackTransaction ID %" PRIi64 " (request ID %" PRIu64 ")", transactionID, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::RollbackTransaction(requestID, transactionID));
-}
-
-void WebIDBServerConnection::didRollbackTransaction(uint64_t requestID, bool)
-{
- LOG(IDB, "WebProcess didRollbackTransaction request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest();
-}
-
-bool WebIDBServerConnection::rollbackTransactionSync(int64_t transactionID)
-{
- bool success;
- sendSync(Messages::DatabaseProcessIDBConnection::RollbackTransactionSync(transactionID), Messages::DatabaseProcessIDBConnection::RollbackTransactionSync::Reply(success));
- return success;
-}
-
-void WebIDBServerConnection::setIndexKeys(int64_t transactionID, int64_t databaseID, int64_t objectStoreID, const IDBObjectStoreMetadata&, IDBKey& primaryKey, const Vector<int64_t, 1>& indexIDs, const Vector<Vector<RefPtr<WebCore::IDBKey>>, 1>& indexKeys, std::function<void (PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
-}
-
-void WebIDBServerConnection::createObjectStore(IDBTransactionBackend& transaction, const CreateObjectStoreOperation& operation, std::function<void (PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- String objectStoreName = operation.objectStoreMetadata().name;
- serverRequest->setAbortHandler([objectStoreName, completionCallback] {
- completionCallback(IDBDatabaseError::create(IDBDatabaseException::UnknownError, String::format("Unknown error occured creating object store '%s'", objectStoreName.utf8().data())));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess createObjectStore '%s' in transaction ID %" PRIi64 " (request ID %" PRIu64 ")", operation.objectStoreMetadata().name.utf8().data(), transaction.id(), requestID);
-
- send(Messages::DatabaseProcessIDBConnection::CreateObjectStore(requestID, transaction.id(), operation.objectStoreMetadata()));
-}
-
-void WebIDBServerConnection::didCreateObjectStore(uint64_t requestID, bool success)
-{
- LOG(IDB, "WebProcess didCreateObjectStore request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(success ? nullptr : IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured creating object store"));
-}
-
-void WebIDBServerConnection::createIndex(IDBTransactionBackend&transaction, const CreateIndexOperation& operation, std::function<void (PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured creating index"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess create index request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::CreateIndex(requestID, transaction.id(), operation.objectStoreID(), operation.idbIndexMetadata()));
-}
-
-void WebIDBServerConnection::didCreateIndex(uint64_t requestID, bool success)
-{
- LOG(IDB, "WebProcess didCreateIndex request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(success ? nullptr : IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured creating index"));
-}
-
-void WebIDBServerConnection::deleteIndex(IDBTransactionBackend&transaction, const DeleteIndexOperation& operation, std::function<void (PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured deleting index"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess delete index request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::DeleteIndex(requestID, transaction.id(), operation.objectStoreID(), operation.idbIndexMetadata().id));
-}
-
-void WebIDBServerConnection::didDeleteIndex(uint64_t requestID, bool success)
-{
- LOG(IDB, "WebProcess didDeleteIndex request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(success ? nullptr : IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured deleting index"));
-}
-
-void WebIDBServerConnection::get(IDBTransactionBackend& transaction, const GetOperation& operation, std::function<void (const IDBGetResult&, PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<IDBGetResult, PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(IDBGetResult(), IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured getting record"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess get request ID %" PRIu64, requestID);
-
- ASSERT(operation.keyRange());
-
- send(Messages::DatabaseProcessIDBConnection::GetRecord(requestID, transaction.id(), operation.objectStoreID(), operation.indexID(), operation.keyRange(), static_cast<int64_t>(operation.cursorType())));
-}
-
-void WebIDBServerConnection::put(IDBTransactionBackend& transaction, const PutOperation& operation, std::function<void (PassRefPtr<IDBKey>, PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBKey>, PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(nullptr, IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured putting record"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess put request ID %" PRIu64, requestID);
-
- ASSERT(operation.value());
-
- IPC::DataReference value(reinterpret_cast<const uint8_t*>(operation.value()->data()), operation.value()->size());
-
- Vector<Vector<IDBKeyData>> indexKeys;
- for (const auto& keys : operation.indexKeys()) {
- indexKeys.append(Vector<IDBKeyData>());
- for (const auto& key : keys)
- indexKeys.last().append(IDBKeyData(key.get()));
- }
-
- send(Messages::DatabaseProcessIDBConnection::PutRecord(requestID, transaction.id(), operation.objectStore().id, IDBKeyData(operation.key()), value, operation.putMode(), operation.indexIDs(), indexKeys));
-}
-
-void WebIDBServerConnection::didPutRecord(uint64_t requestID, const WebCore::IDBKeyData& resultKey, uint32_t errorCode, const String& errorMessage)
-{
- LOG(IDB, "WebProcess didPutRecord request ID %" PRIu64 " (error - %s)", requestID, errorMessage.utf8().data());
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(resultKey.isNull() ? nullptr : resultKey.maybeCreateIDBKey(), errorCode ? IDBDatabaseError::create(errorCode, errorMessage) : nullptr);
-}
-
-void WebIDBServerConnection::didGetRecord(uint64_t requestID, const WebCore::IDBGetResult& getResult, uint32_t errorCode, const String& errorMessage)
-{
- LOG(IDB, "WebProcess didGetRecord request ID %" PRIu64 " (error - %s)", requestID, errorMessage.utf8().data());
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(getResult, errorCode ? IDBDatabaseError::create(errorCode, errorMessage) : nullptr);
-}
-
-void WebIDBServerConnection::didOpenCursor(uint64_t requestID, int64_t cursorID, const IDBKeyData& key, const IDBKeyData& primaryKey, const IPC::DataReference& valueData, uint32_t errorCode, const String& errorMessage)
-{
- LOG(IDB, "WebProcess didOpenCursor request ID %" PRIu64 " (error - %s)", requestID, errorMessage.utf8().data());
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- RefPtr<SharedBuffer> value = SharedBuffer::create(valueData.data(), valueData.size());
- serverRequest->completeRequest(cursorID, key.maybeCreateIDBKey(), primaryKey.maybeCreateIDBKey(), value.release(), errorCode ? IDBDatabaseError::create(errorCode, errorMessage) : nullptr);
-}
-
-void WebIDBServerConnection::didAdvanceCursor(uint64_t requestID, const IDBKeyData& key, const IDBKeyData& primaryKey, const IPC::DataReference& valueData, uint32_t errorCode, const String& errorMessage)
-{
- LOG(IDB, "WebProcess didAdvanceCursor request ID %" PRIu64 " (error - %s)", requestID, errorMessage.utf8().data());
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- RefPtr<SharedBuffer> value = SharedBuffer::create(valueData.data(), valueData.size());
- serverRequest->completeRequest(key.maybeCreateIDBKey(), primaryKey.maybeCreateIDBKey(), value.release(), errorCode ? IDBDatabaseError::create(errorCode, errorMessage) : nullptr);
-}
-
-void WebIDBServerConnection::didIterateCursor(uint64_t requestID, const IDBKeyData& key, const IDBKeyData& primaryKey, const IPC::DataReference& valueData, uint32_t errorCode, const String& errorMessage)
-{
- LOG(IDB, "WebProcess didIterateCursor request ID %" PRIu64 " (error - %s)", requestID, errorMessage.utf8().data());
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- RefPtr<SharedBuffer> value = SharedBuffer::create(valueData.data(), valueData.size());
- serverRequest->completeRequest(key.maybeCreateIDBKey(), primaryKey.maybeCreateIDBKey(), value.release(), errorCode ? IDBDatabaseError::create(errorCode, errorMessage) : nullptr);
-}
-
-void WebIDBServerConnection::count(IDBTransactionBackend& transaction, const CountOperation& operation, std::function<void (int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<int64_t, PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(0, IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured getting count"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess count request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::Count(requestID, transaction.id(), operation.objectStoreID(), operation.indexID(), IDBKeyRangeData(operation.keyRange())));
-}
-
-void WebIDBServerConnection::didCount(uint64_t requestID, int64_t count, uint32_t errorCode, const String& errorMessage)
-{
- LOG(IDB, "WebProcess didCount %" PRIi64 " request ID %" PRIu64 " (error - %s)", count, requestID, errorMessage.utf8().data());
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(count, errorCode ? IDBDatabaseError::create(errorCode, errorMessage) : nullptr);
-}
-
-void WebIDBServerConnection::deleteRange(IDBTransactionBackend& transaction, const DeleteRangeOperation& operation, std::function<void (PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured getting count"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess deleteRange request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::DeleteRange(requestID, transaction.id(), operation.objectStoreID(), IDBKeyRangeData(operation.keyRange())));
-}
-
-void WebIDBServerConnection::didDeleteRange(uint64_t requestID, uint32_t errorCode, const String& errorMessage)
-{
- LOG(IDB, "WebProcess didDeleteRange request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(errorCode ? IDBDatabaseError::create(errorCode, errorMessage) : nullptr);
-}
-
-void WebIDBServerConnection::clearObjectStore(IDBTransactionBackend&, const ClearObjectStoreOperation& operation, std::function<void (PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured clearing object store"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess clearObjectStore request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::ClearObjectStore(requestID, operation.transaction()->id(), operation.objectStoreID()));
-}
-
-void WebIDBServerConnection::didClearObjectStore(uint64_t requestID, bool success)
-{
- LOG(IDB, "WebProcess didClearObjectStore request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(success ? nullptr : IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured clearing object store"));
-}
-
-void WebIDBServerConnection::deleteObjectStore(IDBTransactionBackend&, const DeleteObjectStoreOperation& operation, std::function<void (PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured deleting object store"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess deleteObjectStore request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::DeleteObjectStore(requestID, operation.transaction()->id(), operation.objectStoreMetadata().id));
-}
-
-void WebIDBServerConnection::didDeleteObjectStore(uint64_t requestID, bool success)
-{
- LOG(IDB, "WebProcess didDeleteObjectStore request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(success ? nullptr : IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured deleting object store"));
-}
-
-void WebIDBServerConnection::changeDatabaseVersion(IDBTransactionBackend&, const IDBDatabaseBackend::VersionChangeOperation& operation, std::function<void (PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured changing database version"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess changeDatabaseVersion request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::ChangeDatabaseVersion(requestID, operation.transaction()->id(), static_cast<uint64_t>(operation.version())));
-}
-
-void WebIDBServerConnection::didChangeDatabaseVersion(uint64_t requestID, bool success)
-{
- LOG(IDB, "WebProcess didChangeDatabaseVersion request ID %" PRIu64, requestID);
-
- RefPtr<AsyncRequest> serverRequest = m_serverRequests.take(requestID);
-
- if (!serverRequest)
- return;
-
- serverRequest->completeRequest(success ? nullptr : IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured changing database version"));
-}
-
-void WebIDBServerConnection::openCursor(IDBTransactionBackend&, const OpenCursorOperation& operation, std::function<void (int64_t, PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<int64_t, PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(0, nullptr, nullptr, nullptr, IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured opening database cursor"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess openCursor request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::OpenCursor(requestID, operation.transactionID(), operation.objectStoreID(), operation.indexID(), static_cast<int64_t>(operation.direction()), static_cast<int64_t>(operation.cursorType()), static_cast<int64_t>(operation.taskType()), operation.keyRange()));
-}
-
-void WebIDBServerConnection::cursorAdvance(IDBCursorBackend&, const CursorAdvanceOperation& operation, std::function<void (PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(nullptr, nullptr, nullptr, IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured advancing database cursor"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess cursorAdvance request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::CursorAdvance(requestID, operation.cursorID(), operation.count()));
-}
-
-void WebIDBServerConnection::cursorIterate(IDBCursorBackend&, const CursorIterationOperation& operation, std::function<void (PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback)
-{
- RefPtr<AsyncRequest> serverRequest = AsyncRequestImpl<PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>>::create(completionCallback);
-
- serverRequest->setAbortHandler([completionCallback] {
- completionCallback(nullptr, nullptr, nullptr, IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured iterating database cursor"));
- });
-
- uint64_t requestID = serverRequest->requestID();
- ASSERT(!m_serverRequests.contains(requestID));
- m_serverRequests.add(requestID, serverRequest.release());
-
- LOG(IDB, "WebProcess cursorIterate request ID %" PRIu64, requestID);
-
- send(Messages::DatabaseProcessIDBConnection::CursorIterate(requestID, operation.cursorID(), operation.key()));
-}
-
-IPC::Connection* WebIDBServerConnection::messageSenderConnection()
-{
- return WebProcess::singleton().webToDatabaseProcessConnection()->connection();
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
</del></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectionh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,134 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 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 WebIDBServerConnection_h
-#define WebIDBServerConnection_h
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include "MessageSender.h"
-#include <WebCore/IDBDatabaseMetadata.h>
-#include <WebCore/IDBServerConnection.h>
-
-namespace WebCore {
-class IDBKeyData;
-class SecurityOrigin;
-}
-
-namespace WebKit {
-
-class AsyncRequest;
-
-class WebIDBServerConnection final : public WebCore::IDBServerConnection, public IPC::MessageSender {
-public:
- static PassRefPtr<WebIDBServerConnection> create(const String& databaseName, const WebCore::SecurityOrigin& openingOrigin, const WebCore::SecurityOrigin& mainFrameOrigin);
-
- virtual ~WebIDBServerConnection();
-
- virtual bool isClosed() override;
-
- typedef std::function<void (bool success)> BoolCallbackFunction;
-
- // Factory-level operations
- virtual void deleteDatabase(const String& name, BoolCallbackFunction successCallback) override;
-
- // Database-level operations
- virtual void getOrEstablishIDBDatabaseMetadata(GetIDBDatabaseMetadataFunction) override;
- virtual void close() override;
-
- // Transaction-level operations
- virtual void openTransaction(int64_t transactionID, const HashSet<int64_t>& objectStoreIds, WebCore::IndexedDB::TransactionMode, BoolCallbackFunction successCallback) override;
- virtual void beginTransaction(int64_t transactionID, std::function<void ()> completionCallback) override;
- virtual void commitTransaction(int64_t transactionID, BoolCallbackFunction successCallback) override;
- virtual void resetTransaction(int64_t transactionID, std::function<void ()> completionCallback) override;
- virtual bool resetTransactionSync(int64_t transactionID) override;
- virtual void rollbackTransaction(int64_t transactionID, std::function<void ()> completionCallback) override;
- virtual bool rollbackTransactionSync(int64_t transactionID) override;
-
- virtual void setIndexKeys(int64_t transactionID, int64_t databaseID, int64_t objectStoreID, const WebCore::IDBObjectStoreMetadata&, WebCore::IDBKey& primaryKey, const Vector<int64_t, 1>& indexIDs, const Vector<Vector<RefPtr<WebCore::IDBKey>>, 1>& indexKeys, std::function<void (PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
-
- virtual void createObjectStore(WebCore::IDBTransactionBackend&, const WebCore::CreateObjectStoreOperation&, std::function<void (PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void createIndex(WebCore::IDBTransactionBackend&, const WebCore::CreateIndexOperation&, std::function<void (PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void deleteIndex(WebCore::IDBTransactionBackend&, const WebCore::DeleteIndexOperation&, std::function<void (PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void get(WebCore::IDBTransactionBackend&, const WebCore::GetOperation&, std::function<void (const WebCore::IDBGetResult&, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void put(WebCore::IDBTransactionBackend&, const WebCore::PutOperation&, std::function<void (PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void openCursor(WebCore::IDBTransactionBackend&, const WebCore::OpenCursorOperation&, std::function<void (int64_t, PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::SharedBuffer>, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void count(WebCore::IDBTransactionBackend&, const WebCore::CountOperation&, std::function<void (int64_t, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void deleteRange(WebCore::IDBTransactionBackend&, const WebCore::DeleteRangeOperation&, std::function<void (PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void clearObjectStore(WebCore::IDBTransactionBackend&, const WebCore::ClearObjectStoreOperation&, std::function<void (PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void deleteObjectStore(WebCore::IDBTransactionBackend&, const WebCore::DeleteObjectStoreOperation&, std::function<void (PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void changeDatabaseVersion(WebCore::IDBTransactionBackend&, const WebCore::IDBDatabaseBackend::VersionChangeOperation&, std::function<void (PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
-
- // Cursor-level operations
- virtual void cursorAdvance(WebCore::IDBCursorBackend&, const WebCore::CursorAdvanceOperation&, std::function<void (PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::SharedBuffer>, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void cursorIterate(WebCore::IDBCursorBackend&, const WebCore::CursorIterationOperation&, std::function<void (PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::SharedBuffer>, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
-
- // Message handlers.
- void didReceiveWebIDBServerConnectionMessage(IPC::Connection&, IPC::MessageDecoder&);
-
- // IPC::MessageSender
- virtual uint64_t messageSenderDestinationID() override { return m_serverConnectionIdentifier; }
-
-private:
- WebIDBServerConnection(const String& databaseName, const WebCore::SecurityOrigin& openingOrigin, const WebCore::SecurityOrigin& mainFrameOrigin);
-
- // IPC::MessageSender
- virtual IPC::Connection* messageSenderConnection() override;
-
- void didGetOrEstablishIDBDatabaseMetadata(uint64_t requestID, bool success, const WebCore::IDBDatabaseMetadata&);
- void didDeleteDatabase(uint64_t requestID, bool success);
- void didOpenTransaction(uint64_t requestID, bool success);
- void didBeginTransaction(uint64_t requestID, bool success);
- void didCommitTransaction(uint64_t requestID, bool success);
- void didResetTransaction(uint64_t requestID, bool success);
- void didRollbackTransaction(uint64_t requestID, bool success);
- void didChangeDatabaseVersion(uint64_t requestID, bool success);
- void didCreateObjectStore(uint64_t requestID, bool success);
- void didDeleteObjectStore(uint64_t requestID, bool success);
- void didClearObjectStore(uint64_t requestID, bool success);
- void didCreateIndex(uint64_t requestID, bool success);
- void didDeleteIndex(uint64_t requestID, bool success);
- void didPutRecord(uint64_t requestID, const WebCore::IDBKeyData&, uint32_t errorCode, const String& errorMessage);
- void didGetRecord(uint64_t requestID, const WebCore::IDBGetResult&, uint32_t errorCode, const String& errorMessage);
- void didOpenCursor(uint64_t requestID, int64_t cursorID, const WebCore::IDBKeyData&, const WebCore::IDBKeyData&, const IPC::DataReference&, uint32_t errorCode, const String& errorMessage);
- void didAdvanceCursor(uint64_t requestID, const WebCore::IDBKeyData&, const WebCore::IDBKeyData&, const IPC::DataReference&, uint32_t errorCode, const String& errorMessage);
- void didIterateCursor(uint64_t requestID, const WebCore::IDBKeyData&, const WebCore::IDBKeyData&, const IPC::DataReference&, uint32_t errorCode, const String& errorMessage);
- void didCount(uint64_t requestID, int64_t count, uint32_t errorCode, const String& errorMessage);
- void didDeleteRange(uint64_t requestID, uint32_t errorCode, const String& errorMessage);
-
- uint64_t m_serverConnectionIdentifier;
-
- String m_databaseName;
- Ref<WebCore::SecurityOrigin> m_openingOrigin;
- Ref<WebCore::SecurityOrigin> m_mainFrameOrigin;
-
- HashMap<uint64_t, RefPtr<AsyncRequest>> m_serverRequests;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-#endif // WebIDBServerConnection_h
</del></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectionmessagesin"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -1,52 +0,0 @@
</span><del>-# Copyright (C) 2013 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.
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-messages -> WebIDBServerConnection LegacyReceiver {
- DidGetOrEstablishIDBDatabaseMetadata(uint64_t requestID, bool success, struct WebCore::IDBDatabaseMetadata metadata)
- DidDeleteDatabase(uint64_t requestID, bool success)
-
- DidOpenTransaction(uint64_t requestID, bool success)
- DidBeginTransaction(uint64_t requestID, bool success)
- DidCommitTransaction(uint64_t requestID, bool success)
- DidResetTransaction(uint64_t requestID, bool success)
- DidRollbackTransaction(uint64_t requestID, bool success)
-
- DidChangeDatabaseVersion(uint64_t requestID, bool success)
- DidCreateObjectStore(uint64_t requestID, bool success)
- DidDeleteObjectStore(uint64_t requestID, bool success)
- DidClearObjectStore(uint64_t requestID, bool success)
-
- DidCreateIndex(uint64_t requestID, bool success)
- DidDeleteIndex(uint64_t requestID, bool success)
-
- DidPutRecord(uint64_t requestID, WebCore::IDBKeyData resultKey, uint32_t errorCode, String errorMessage)
- DidGetRecord(uint64_t requestID, WebCore::IDBGetResult getResult, uint32_t errorCode, String errorMessage)
- DidOpenCursor(uint64_t requestID, int64_t cursorID, WebCore::IDBKeyData key, WebCore::IDBKeyData primaryKey, IPC::DataReference value, uint32_t errorCode, String errorMessage)
- DidAdvanceCursor(uint64_t requestID, WebCore::IDBKeyData key, WebCore::IDBKeyData primaryKey, IPC::DataReference value, uint32_t errorCode, String errorMessage)
- DidIterateCursor(uint64_t requestID, WebCore::IDBKeyData key, WebCore::IDBKeyData primaryKey, IPC::DataReference value, uint32_t errorCode, String errorMessage)
- DidCount(uint64_t requestID, int64_t count, uint32_t errorCode, String errorMessage)
- DidDeleteRange(uint64_t requestID, uint32_t errorCode, String errorMessage)
-}
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
</del></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesWebDatabaseProvidercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #include "config.h"
</span><span class="cx"> #include "WebDatabaseProvider.h"
</span><span class="cx">
</span><del>-#include "WebIDBFactoryBackend.h"
</del><span class="cx"> #include "WebProcess.h"
</span><span class="cx"> #include "WebToDatabaseProcessConnection.h"
</span><span class="cx"> #include <WebCore/SessionID.h>
</span><span class="lines">@@ -84,14 +83,6 @@
</span><span class="cx"> return WebProcess::singleton().webToDatabaseProcessConnection()->idbConnectionToServerForSession(sessionID).coreConnectionToServer();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-RefPtr<WebCore::IDBFactoryBackendInterface> WebDatabaseProvider::createIDBFactoryBackend()
-{
-#if ENABLE(DATABASE_PROCESS)
- return WebIDBFactoryBackend::create();
-#else
- return nullptr;
</del><span class="cx"> #endif
</span><del>-}
-#endif
</del><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesWebDatabaseProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/Databases/WebDatabaseProvider.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> virtual ~WebDatabaseProvider();
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- virtual bool supportsModernIDB() const override { return true; }
</del><span class="cx"> virtual WebCore::IDBClient::IDBConnectionToServer& idbConnectionToServerForSession(const WebCore::SessionID&) override final;
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -46,7 +45,6 @@
</span><span class="cx"> explicit WebDatabaseProvider(uint64_t identifier);
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- virtual RefPtr<WebCore::IDBFactoryBackendInterface> createIDBFactoryBackend() override;
</del><span class="cx"> HashMap<uint64_t, RefPtr<WebCore::InProcessIDBServer>> m_idbEphemeralConnectionMap;
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesWebToDatabaseProcessConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -29,8 +29,6 @@
</span><span class="cx">
</span><span class="cx"> #include "DatabaseToWebProcessConnectionMessages.h"
</span><span class="cx"> #include "WebIDBConnectionToServerMessages.h"
</span><del>-#include "WebIDBServerConnection.h"
-#include "WebIDBServerConnectionMessages.h"
</del><span class="cx"> #include "WebProcess.h"
</span><span class="cx"> #include <wtf/RunLoop.h>
</span><span class="cx">
</span><span class="lines">@@ -59,13 +57,6 @@
</span><span class="cx"> iterator->value->didReceiveMessage(connection, decoder);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>-
- if (decoder.messageReceiverName() == Messages::WebIDBServerConnection::messageReceiverName()) {
- HashMap<uint64_t, WebIDBServerConnection*>::iterator connectionIterator = m_webIDBServerConnections.find(decoder.destinationID());
- if (connectionIterator != m_webIDBServerConnections.end())
- connectionIterator->value->didReceiveWebIDBServerConnectionMessage(connection, decoder);
- return;
- }
</del><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="lines">@@ -81,22 +72,6 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>-void WebToDatabaseProcessConnection::registerWebIDBServerConnection(WebIDBServerConnection& connection)
-{
- ASSERT(!m_webIDBServerConnections.contains(connection.messageSenderDestinationID()));
- m_webIDBServerConnections.set(connection.messageSenderDestinationID(), &connection);
-
-}
-
-void WebToDatabaseProcessConnection::removeWebIDBServerConnection(WebIDBServerConnection& connection)
-{
- ASSERT(m_webIDBServerConnections.contains(connection.messageSenderDestinationID()));
-
- send(Messages::DatabaseToWebProcessConnection::RemoveDatabaseProcessIDBConnection(connection.messageSenderDestinationID()));
-
- m_webIDBServerConnections.remove(connection.messageSenderDestinationID());
-}
-
</del><span class="cx"> WebIDBConnectionToServer& WebToDatabaseProcessConnection::idbConnectionToServerForSession(const SessionID& sessionID)
</span><span class="cx"> {
</span><span class="cx"> auto result = m_webIDBConnections.add(sessionID.sessionID(), nullptr);
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessDatabasesWebToDatabaseProcessConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.h (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.h        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.h        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -40,9 +40,6 @@
</span><span class="cx">
</span><span class="cx"> namespace WebKit {
</span><span class="cx">
</span><del>-class WebIDBServerConnection;
-class WebProcessIDBDatabaseBackend;
-
</del><span class="cx"> class WebToDatabaseProcessConnection : public RefCounted<WebToDatabaseProcessConnection>, public IPC::Connection::Client, public IPC::MessageSender {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<WebToDatabaseProcessConnection> create(IPC::Connection::Identifier connectionIdentifier)
</span><span class="lines">@@ -54,9 +51,6 @@
</span><span class="cx"> IPC::Connection* connection() const { return m_connection.get(); }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- void registerWebIDBServerConnection(WebIDBServerConnection&);
- void removeWebIDBServerConnection(WebIDBServerConnection&);
-
</del><span class="cx"> WebIDBConnectionToServer& idbConnectionToServerForSession(const WebCore::SessionID&);
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -77,8 +71,6 @@
</span><span class="cx"> RefPtr<IPC::Connection> m_connection;
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><del>- HashMap<uint64_t, WebIDBServerConnection*> m_webIDBServerConnections;
-
</del><span class="cx"> HashMap<uint64_t, RefPtr<WebIDBConnectionToServer>> m_webIDBConnections;
</span><span class="cx"> #endif
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebPlatformStrategiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp (197130 => 197131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp        2016-02-25 21:38:46 UTC (rev 197130)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp        2016-02-25 22:19:06 UTC (rev 197131)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx"> #include "WebErrors.h"
</span><span class="cx"> #include "WebFrame.h"
</span><span class="cx"> #include "WebFrameLoaderClient.h"
</span><del>-#include "WebIDBFactoryBackend.h"
</del><span class="cx"> #include "WebLoaderStrategy.h"
</span><span class="cx"> #include "WebPage.h"
</span><span class="cx"> #include "WebPasteboardOverrides.h"
</span><span class="lines">@@ -50,7 +49,6 @@
</span><span class="cx"> #include <WebCore/Color.h>
</span><span class="cx"> #include <WebCore/Document.h>
</span><span class="cx"> #include <WebCore/DocumentLoader.h>
</span><del>-#include <WebCore/IDBFactoryBackendInterface.h>
</del><span class="cx"> #include <WebCore/LoaderStrategy.h>
</span><span class="cx"> #include <WebCore/MainFrame.h>
</span><span class="cx"> #include <WebCore/NetworkStorageSession.h>
</span></span></pre>
</div>
</div>
</body>
</html>