<!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>[189879] trunk</title>
</head>
<body>

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

<h3>Log Message</h3>
<pre>Have window.indexedDB.deleteDatabase return an IDBOpenDBRequest.
https://bugs.webkit.org/show_bug.cgi?id=149229

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/deletedatabase-request.html
      storage/indexeddb/modern/deletedatabase-null-name-exception.html

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

* Modules/indexeddb/IDBDatabaseIdentifier.cpp: Added.
(WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
* Modules/indexeddb/IDBDatabaseIdentifier.h: Added.
(WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
(WebCore::IDBDatabaseIdentifier::isHashTableDeletedValue):
(WebCore::IDBDatabaseIdentifier::hash):
(WebCore::IDBDatabaseIdentifier::isValid):
(WebCore::IDBDatabaseIdentifier::operator==):
(WebCore::IDBDatabaseIdentifier::databaseName):
(WebCore::IDBDatabaseIdentifierHash::hash):
(WebCore::IDBDatabaseIdentifierHash::equal):
(WebCore::IDBDatabaseIdentifierHashTraits::isEmptyValue):

* Modules/indexeddb/client/IDBFactoryImpl.cpp:
(WebCore::IDBClient::shouldThrowSecurityException):
(WebCore::IDBClient::IDBFactory::getDatabaseNames):
(WebCore::IDBClient::IDBFactory::open):
(WebCore::IDBClient::IDBFactory::deleteDatabase):
* Modules/indexeddb/client/IDBFactoryImpl.h:

* Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp.
(WebCore::IDBClient::IDBOpenDBRequest::IDBOpenDBRequest):
* Modules/indexeddb/client/IDBOpenDBRequestImpl.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp.
(WebCore::IDBClient::IDBOpenDBRequest::create):

* Modules/indexeddb/client/IDBRequestImpl.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp.
(WebCore::IDBClient::IDBRequest::IDBRequest):
(WebCore::IDBClient::IDBRequest::result):
(WebCore::IDBClient::IDBRequest::errorCode):
(WebCore::IDBClient::IDBRequest::error):
(WebCore::IDBClient::IDBRequest::source):
(WebCore::IDBClient::IDBRequest::transaction):
(WebCore::IDBClient::IDBRequest::readyState):
(WebCore::IDBClient::IDBRequest::eventTargetInterface):
(WebCore::IDBClient::IDBRequest::activeDOMObjectName):
(WebCore::IDBClient::IDBRequest::canSuspendForPageCache):
* Modules/indexeddb/client/IDBRequestImpl.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h.

* platform/Logging.h:

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Enable IDB in WK1.

LayoutTests:

* platform/mac-wk1/TestExpectations:
* platform/wk2/TestExpectations:
* storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-null-name-exception.html: Added.
* storage/indexeddb/modern/deletedatabase-request-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-request.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk1TestExpectations">trunk/LayoutTests/platform/mac-wk1/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwk2TestExpectations">trunk/LayoutTests/platform/wk2/TestExpectations</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplcpp">trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplh">trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreplatformLoggingh">trunk/Source/WebCore/platform/Logging.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebViewmm">trunk/Source/WebKit/mac/WebView/WebView.mm</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/LayoutTests/storage/indexeddb/modern/</li>
<li><a href="#trunkLayoutTestsstorageindexeddbmoderndeletedatabasenullnameexceptionexpectedtxt">trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstorageindexeddbmoderndeletedatabasenullnameexceptionhtml">trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-null-name-exception.html</a></li>
<li><a href="#trunkLayoutTestsstorageindexeddbmoderndeletedatabaserequestexpectedtxt">trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstorageindexeddbmoderndeletedatabaserequesthtml">trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request.html</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifiercpp">trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifierh">trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplcpp">trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplh">trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBRequestImplcpp">trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientIDBRequestImplh">trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/LayoutTests/ChangeLog        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2015-09-16  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Have window.indexedDB.deleteDatabase return an IDBOpenDBRequest.
+        https://bugs.webkit.org/show_bug.cgi?id=149229
+
+        Reviewed by Alex Christensen.
+
+        * platform/mac-wk1/TestExpectations:
+        * platform/wk2/TestExpectations:
+        * storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt: Added.
+        * storage/indexeddb/modern/deletedatabase-null-name-exception.html: Added.
+        * storage/indexeddb/modern/deletedatabase-request-expected.txt: Added.
+        * storage/indexeddb/modern/deletedatabase-request.html: Added.
+
</ins><span class="cx"> 2015-09-16  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, drop dom/xhtml/level3/core/nodegetbaseuri03.xhtml test.
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk1TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk1/TestExpectations        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> ########################################
</span><span class="cx"> ### START OF (2) Failures without bug reports
</span><span class="cx"> 
</span><del>-# IndexedDB is not yet enabled in Mac WK1
</del><ins>+# Legacy IndexedDB will never be enabled in Mac WK1.
</ins><span class="cx"> storage/indexeddb
</span><span class="cx"> imported/w3c/indexeddb
</span><span class="cx"> fast/history/page-cache-indexed-closed-db.html
</span><span class="lines">@@ -68,8 +68,8 @@
</span><span class="cx"> crypto/subtle/rsa-indexeddb-non-exportable.html
</span><span class="cx"> inspector/indexeddb
</span><span class="cx"> 
</span><del>-# But since it is disabled at runtime, we should make sure it is correctly disabled
-storage/indexeddb/properties-disabled-at-runtime.html [ Pass ]
</del><ins>+# But Modern IndexedDB is.
+storage/indexeddb/modern [ Pass ]
</ins><span class="cx"> 
</span><span class="cx"> # Fails with WebKit1 only.
</span><span class="cx"> editing/secure-input/reset-state-on-navigation.html [ Failure ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwk2TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/wk2/TestExpectations (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/wk2/TestExpectations        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/LayoutTests/platform/wk2/TestExpectations        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -579,6 +579,9 @@
</span><span class="cx"> imported/w3c/indexeddb/idbcursor-direction.htm [ Pass Failure ]
</span><span class="cx"> imported/w3c/indexeddb/idbcursor-key.htm [ Pass Failure ]
</span><span class="cx"> 
</span><ins>+# Don't run Modern IDB tests while the feature is under development
+storage/indexeddb/modern [ Skip ]
+
</ins><span class="cx"> ### END OF (3) Unclassified failures
</span><span class="cx"> ########################################
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstorageindexeddbmoderndeletedatabasenullnameexceptionexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt                                (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+ALERT: TypeError: Not enough arguments
+ALERT: Done
+This test calls deleteDatabase on window.indexedDB with a null database name, making sure there is an exception.
</ins></span></pre></div>
<a id="trunkLayoutTestsstorageindexeddbmoderndeletedatabasenullnameexceptionhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-null-name-exception.html (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-null-name-exception.html                                (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-null-name-exception.html        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+This test calls deleteDatabase on window.indexedDB with a null database name, making sure there is an exception.
+&lt;script&gt;
+
+if (window.testRunner) {
+    testRunner.waitUntilDone();
+    testRunner.dumpAsText();
+}
+
+function done()
+{
+    alert(&quot;Done&quot;);
+    if (window.testRunner)
+        testRunner.notifyDone();
+}
+
+try {
+        var request = window.indexedDB.deleteDatabase();
+} catch (e) {
+        alert(e);
+}
+
+done();
+&lt;/script&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsstorageindexeddbmoderndeletedatabaserequestexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-expected.txt (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-expected.txt                                (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request-expected.txt        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+ALERT: [object IDBOpenDBRequest]
+ALERT: Done
+This test calls deleteDatabase on window.indexedDB and verifies that an IDBOpenDBRequest object is returned.
</ins></span></pre></div>
<a id="trunkLayoutTestsstorageindexeddbmoderndeletedatabaserequesthtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request.html (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request.html                                (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/modern/deletedatabase-request.html        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+This test calls deleteDatabase on window.indexedDB and verifies that an IDBOpenDBRequest object is returned.
+&lt;script&gt;
+
+if (window.testRunner) {
+    testRunner.waitUntilDone();
+    testRunner.dumpAsText();
+}
+
+function done()
+{
+    alert(&quot;Done&quot;);
+    if (window.testRunner)
+        testRunner.notifyDone();
+}
+
+var request = window.indexedDB.deleteDatabase(&quot;TestDatabase&quot;);
+alert(request);
+
+done();
+&lt;/script&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -850,6 +850,7 @@
</span><span class="cx">     Modules/indexeddb/IDBCursorWithValue.cpp
</span><span class="cx">     Modules/indexeddb/IDBDatabase.cpp
</span><span class="cx">     Modules/indexeddb/IDBDatabaseException.cpp
</span><ins>+    Modules/indexeddb/IDBDatabaseIdentifier.cpp
</ins><span class="cx">     Modules/indexeddb/IDBDatabaseMetadata.cpp
</span><span class="cx">     Modules/indexeddb/IDBEventDispatcher.cpp
</span><span class="cx">     Modules/indexeddb/IDBFactory.cpp
</span><span class="lines">@@ -867,6 +868,8 @@
</span><span class="cx">     Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp
</span><span class="cx"> 
</span><span class="cx">     Modules/indexeddb/client/IDBFactoryImpl.cpp
</span><ins>+    Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp
+    Modules/indexeddb/client/IDBRequestImpl.cpp
</ins><span class="cx"> 
</span><span class="cx">     Modules/indexeddb/legacy/IDBCursorBackend.cpp
</span><span class="cx">     Modules/indexeddb/legacy/IDBCursorBackendOperations.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/Source/WebCore/ChangeLog        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -1,3 +1,56 @@
</span><ins>+2015-09-16  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Have window.indexedDB.deleteDatabase return an IDBOpenDBRequest.
+        https://bugs.webkit.org/show_bug.cgi?id=149229
+
+        Reviewed by Alex Christensen.
+
+        Test: storage/indexeddb/modern/deletedatabase-request.html
+              storage/indexeddb/modern/deletedatabase-null-name-exception.html
+
+        * CMakeLists.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+        * Modules/indexeddb/IDBDatabaseIdentifier.cpp: Added.
+        (WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
+        * Modules/indexeddb/IDBDatabaseIdentifier.h: Added.
+        (WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
+        (WebCore::IDBDatabaseIdentifier::isHashTableDeletedValue):
+        (WebCore::IDBDatabaseIdentifier::hash):
+        (WebCore::IDBDatabaseIdentifier::isValid):
+        (WebCore::IDBDatabaseIdentifier::operator==):
+        (WebCore::IDBDatabaseIdentifier::databaseName):
+        (WebCore::IDBDatabaseIdentifierHash::hash):
+        (WebCore::IDBDatabaseIdentifierHash::equal):
+        (WebCore::IDBDatabaseIdentifierHashTraits::isEmptyValue):
+
+        * Modules/indexeddb/client/IDBFactoryImpl.cpp:
+        (WebCore::IDBClient::shouldThrowSecurityException):
+        (WebCore::IDBClient::IDBFactory::getDatabaseNames):
+        (WebCore::IDBClient::IDBFactory::open):
+        (WebCore::IDBClient::IDBFactory::deleteDatabase):
+        * Modules/indexeddb/client/IDBFactoryImpl.h:
+
+        * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp.
+        (WebCore::IDBClient::IDBOpenDBRequest::IDBOpenDBRequest):
+        * Modules/indexeddb/client/IDBOpenDBRequestImpl.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp.
+        (WebCore::IDBClient::IDBOpenDBRequest::create):
+
+        * Modules/indexeddb/client/IDBRequestImpl.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp.
+        (WebCore::IDBClient::IDBRequest::IDBRequest):
+        (WebCore::IDBClient::IDBRequest::result):
+        (WebCore::IDBClient::IDBRequest::errorCode):
+        (WebCore::IDBClient::IDBRequest::error):
+        (WebCore::IDBClient::IDBRequest::source):
+        (WebCore::IDBClient::IDBRequest::transaction):
+        (WebCore::IDBClient::IDBRequest::readyState):
+        (WebCore::IDBClient::IDBRequest::eventTargetInterface):
+        (WebCore::IDBClient::IDBRequest::activeDOMObjectName):
+        (WebCore::IDBClient::IDBRequest::canSuspendForPageCache):
+        * Modules/indexeddb/client/IDBRequestImpl.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h.
+
+        * platform/Logging.h:
+
</ins><span class="cx"> 2015-09-16  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add initial support for [Unforgeable] IDL extended attribute
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifiercpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,49 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBDatabaseIdentifier.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &lt;wtf/Ref.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace WebCore {
+
+IDBDatabaseIdentifier::IDBDatabaseIdentifier(const String&amp; databaseName, const SecurityOrigin&amp; openingOrigin, const SecurityOrigin&amp; mainFrameOrigin)
+    : m_databaseName(databaseName)
+    , m_openingOrigin(SecurityOriginData::fromSecurityOrigin(openingOrigin))
+    , m_mainFrameOrigin(SecurityOriginData::fromSecurityOrigin(mainFrameOrigin))
+
+{
+    // The empty string is a valid database name, but a null string is not.
+    ASSERT(!databaseName.isNull());
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifierh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,115 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBDatabaseIdentifier_h
+#define IDBDatabaseIdentifier_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;SecurityOriginData.h&quot;
+#include &lt;wtf/Ref.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/text/StringHash.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace WebCore {
+
+class SecurityOrigin;
+
+class IDBDatabaseIdentifier {
+public:
+    IDBDatabaseIdentifier()
+    {
+    }
+
+    IDBDatabaseIdentifier(WTF::HashTableDeletedValueType)
+    {
+        m_openingOrigin.port = -1;
+        m_mainFrameOrigin.port = -1;
+    }
+
+    bool isHashTableDeletedValue() const
+    {
+        return m_openingOrigin.port == -1 &amp;&amp; m_mainFrameOrigin.port == -1;
+    }
+
+    unsigned hash() const
+    {
+        unsigned nameHash = StringHash::hash(m_databaseName);
+        unsigned openingProtocolHash = StringHash::hash(m_openingOrigin.protocol);
+        unsigned openingHostHash = StringHash::hash(m_openingOrigin.host);
+        unsigned mainFrameProtocolHash = StringHash::hash(m_mainFrameOrigin.protocol);
+        unsigned mainFrameHostHash = StringHash::hash(m_mainFrameOrigin.host);
+        
+        unsigned hashCodes[7] = { nameHash, openingProtocolHash, openingHostHash, static_cast&lt;unsigned&gt;(m_openingOrigin.port), mainFrameProtocolHash, mainFrameHostHash, static_cast&lt;unsigned&gt;(m_mainFrameOrigin.port) };
+        return StringHasher::hashMemory&lt;sizeof(hashCodes)&gt;(hashCodes);
+    }
+
+    IDBDatabaseIdentifier(const String&amp; databaseName, const SecurityOrigin&amp; openingOrigin, const SecurityOrigin&amp; mainFrameOrigin);
+
+    bool isValid() const
+    {
+        return !m_databaseName.isNull() &amp;&amp; m_openingOrigin.port &gt;= 0 &amp;&amp; m_mainFrameOrigin.port &gt;= 0;
+    }
+
+    bool operator==(const IDBDatabaseIdentifier&amp; other) const
+    {
+        return other.m_databaseName == m_databaseName
+            &amp;&amp; other.m_openingOrigin == m_openingOrigin
+            &amp;&amp; other.m_mainFrameOrigin == m_mainFrameOrigin;
+    }
+
+    const String&amp; databaseName() const { return m_databaseName; }
+
+private:
+    String m_databaseName;
+    SecurityOriginData m_openingOrigin;
+    SecurityOriginData m_mainFrameOrigin;
+};
+
+struct IDBDatabaseIdentifierHash {
+    static unsigned hash(const IDBDatabaseIdentifier&amp; a) { return a.hash(); }
+    static bool equal(const IDBDatabaseIdentifier&amp; a, const IDBDatabaseIdentifier&amp; b) { return a == b; }
+    static const bool safeToCompareToEmptyOrDeleted = false;
+};
+
+struct IDBDatabaseIdentifierHashTraits : WTF::SimpleClassHashTraits&lt;IDBDatabaseIdentifier&gt; {
+    static const bool hasIsEmptyValueFunction = true;
+    static bool isEmptyValue(const IDBDatabaseIdentifier&amp; info) { return !info.isValid(); }
+};
+
+} // namespace WebCore
+
+namespace WTF {
+
+template&lt;&gt; struct HashTraits&lt;WebCore::IDBDatabaseIdentifier&gt; : WebCore::IDBDatabaseIdentifierHashTraits { };
+template&lt;&gt; struct DefaultHash&lt;WebCore::IDBDatabaseIdentifier&gt; {
+    typedef WebCore::IDBDatabaseIdentifierHash Hash;
+};
+
+} // namespace WTF
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBDatabaseIdentifier_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -28,9 +28,36 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><ins>+#include &quot;ExceptionCode.h&quot;
+#include &quot;IDBDatabaseIdentifier.h&quot;
+#include &quot;IDBOpenDBRequestImpl.h&quot;
+#include &quot;Logging.h&quot;
+#include &quot;Page.h&quot;
+#include &quot;SchemeRegistry.h&quot;
+#include &quot;SecurityOrigin.h&quot;
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> namespace IDBClient {
</span><span class="cx"> 
</span><ins>+static bool shouldThrowSecurityException(ScriptExecutionContext* context)
+{
+    ASSERT(is&lt;Document&gt;(*context) || context-&gt;isWorkerGlobalScope());
+    if (is&lt;Document&gt;(*context)) {
+        Document&amp; document = downcast&lt;Document&gt;(*context);
+        if (!document.frame())
+            return true;
+        if (!document.page())
+            return true;
+        if (document.page()-&gt;usesEphemeralSession() &amp;&amp; !SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing(document.securityOrigin()-&gt;protocol()))
+            return true;
+    }
+
+    if (!context-&gt;securityOrigin()-&gt;canAccessDatabase(context-&gt;topOrigin()))
+        return true;
+
+    return false;
+}
+
</ins><span class="cx"> Ref&lt;IDBFactory&gt; IDBFactory::create()
</span><span class="cx"> {
</span><span class="cx">     return adoptRef(*new IDBFactory);
</span><span class="lines">@@ -41,24 +68,45 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;IDBRequest&gt; IDBFactory::getDatabaseNames(ScriptExecutionContext*, ExceptionCode&amp;)
</del><ins>+PassRefPtr&lt;WebCore::IDBRequest&gt; IDBFactory::getDatabaseNames(ScriptExecutionContext*, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;IDBOpenDBRequest&gt; IDBFactory::open(ScriptExecutionContext*, const String&amp;, ExceptionCode&amp;)
</del><ins>+PassRefPtr&lt;WebCore::IDBOpenDBRequest&gt; IDBFactory::open(ScriptExecutionContext*, const String&amp;, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;IDBOpenDBRequest&gt; IDBFactory::open(ScriptExecutionContext*, const String&amp;, unsigned long long, ExceptionCode&amp;)
</del><ins>+PassRefPtr&lt;WebCore::IDBOpenDBRequest&gt; IDBFactory::open(ScriptExecutionContext*, const String&amp;, unsigned long long, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;IDBOpenDBRequest&gt; IDBFactory::deleteDatabase(ScriptExecutionContext*, const String&amp;, ExceptionCode&amp;)
</del><ins>+PassRefPtr&lt;WebCore::IDBOpenDBRequest&gt; IDBFactory::deleteDatabase(ScriptExecutionContext* context, const String&amp; name, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    return nullptr;
</del><ins>+    LOG(IndexedDB, &quot;IDBFactory::deleteDatabase&quot;);
+
+    if (name.isNull()) {
+        ec = TypeError;
+        return nullptr;
+    }
+    
+    if (shouldThrowSecurityException(context)) {
+        ec = SECURITY_ERR;
+        return nullptr;
+    }
+
+    ASSERT(context-&gt;securityOrigin());
+    ASSERT(context-&gt;topOrigin());
+    IDBDatabaseIdentifier databaseIdentifier(name, *context-&gt;securityOrigin(), *context-&gt;topOrigin());
+    if (!databaseIdentifier.isValid()) {
+        ec = TypeError;
+        return nullptr;
+    }
+
+    auto request = IDBOpenDBRequest::create(context);
+    return adoptRef(&amp;request.leakRef());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> short IDBFactory::cmp(ScriptExecutionContext*, const Deprecated::ScriptValue&amp;, const Deprecated::ScriptValue&amp;, ExceptionCode&amp;)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -37,11 +37,11 @@
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;IDBFactory&gt; create();
</span><span class="cx"> 
</span><del>-    virtual PassRefPtr&lt;IDBRequest&gt; getDatabaseNames(ScriptExecutionContext*, ExceptionCode&amp;) override final;
</del><ins>+    virtual PassRefPtr&lt;WebCore::IDBRequest&gt; getDatabaseNames(ScriptExecutionContext*, ExceptionCode&amp;) override final;
</ins><span class="cx"> 
</span><del>-    virtual PassRefPtr&lt;IDBOpenDBRequest&gt; open(ScriptExecutionContext*, const String&amp; name, ExceptionCode&amp;) override final;
-    virtual PassRefPtr&lt;IDBOpenDBRequest&gt; open(ScriptExecutionContext*, const String&amp; name, unsigned long long version, ExceptionCode&amp;) override final;
-    virtual PassRefPtr&lt;IDBOpenDBRequest&gt; deleteDatabase(ScriptExecutionContext*, const String&amp; name, ExceptionCode&amp;) override final;
</del><ins>+    virtual PassRefPtr&lt;WebCore::IDBOpenDBRequest&gt; open(ScriptExecutionContext*, const String&amp; name, ExceptionCode&amp;) override final;
+    virtual PassRefPtr&lt;WebCore::IDBOpenDBRequest&gt; open(ScriptExecutionContext*, const String&amp; name, unsigned long long version, ExceptionCode&amp;) override final;
+    virtual PassRefPtr&lt;WebCore::IDBOpenDBRequest&gt; deleteDatabase(ScriptExecutionContext*, const String&amp; name, ExceptionCode&amp;) override final;
</ins><span class="cx"> 
</span><span class="cx">     virtual short cmp(ScriptExecutionContext*, const Deprecated::ScriptValue&amp; first, const Deprecated::ScriptValue&amp; second, ExceptionCode&amp;) override final;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplcppfromrev189878trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp (from rev 189878, trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp) (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,43 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBOpenDBRequestImpl.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+namespace IDBClient {
+
+IDBOpenDBRequest::IDBOpenDBRequest(ScriptExecutionContext* context)
+    : IDBRequest(context)
+{
+    suspendIfNeeded();
+}
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBOpenDBRequestImplhfromrev189878trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h (from rev 189878, trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp) (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.h        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,51 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBOpenDBRequestImpl_h
+#define IDBOpenDBRequestImpl_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBRequestImpl.h&quot;
+
+namespace WebCore {
+namespace IDBClient {
+
+class IDBOpenDBRequest : public IDBRequest {
+public:
+    static Ref&lt;IDBOpenDBRequest&gt; create(ScriptExecutionContext* context)
+    {
+        return adoptRef(*new IDBOpenDBRequest(context));
+    }
+
+private:
+    IDBOpenDBRequest(ScriptExecutionContext*);
+};
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBOpenDBRequestImpl_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBRequestImplcppfromrev189878trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp (from rev 189878, trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.cpp) (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,90 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;IDBRequestImpl.h&quot;
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &lt;wtf/NeverDestroyed.h&gt;
+
+namespace WebCore {
+namespace IDBClient {
+
+IDBRequest::IDBRequest(ScriptExecutionContext* context)
+    : IDBOpenDBRequest(context)
+{
+}
+
+PassRefPtr&lt;IDBAny&gt; IDBRequest::result(ExceptionCode&amp;) const
+{
+    return nullptr;
+}
+
+unsigned short IDBRequest::errorCode(ExceptionCode&amp;) const
+{
+    return 0;
+}
+
+PassRefPtr&lt;DOMError&gt; IDBRequest::error(ExceptionCode&amp;) const
+{
+    return nullptr;
+}
+
+PassRefPtr&lt;IDBAny&gt; IDBRequest::source() const
+{
+    return nullptr;
+}
+
+PassRefPtr&lt;IDBTransaction&gt; IDBRequest::transaction() const
+{
+    return nullptr;
+}
+
+const String&amp; IDBRequest::readyState() const
+{
+    static WTF::NeverDestroyed&lt;String&gt; readyState;
+    return readyState;
+}
+
+EventTargetInterface IDBRequest::eventTargetInterface() const
+{
+    return IDBRequestEventTargetInterfaceType;
+}
+
+const char* IDBRequest::activeDOMObjectName() const
+{
+    return &quot;IDBRequest&quot;;
+}
+
+bool IDBRequest::canSuspendForPageCache() const
+{
+    return false;
+}
+    
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientIDBRequestImplhfromrev189878trunkSourceWebCoreModulesindexeddbclientIDBFactoryImplh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h (from rev 189878, trunk/Source/WebCore/Modules/indexeddb/client/IDBFactoryImpl.h) (0 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -0,0 +1,69 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBRequestImpl_h
+#define IDBRequestImpl_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include &quot;IDBOpenDBRequest.h&quot;
+#include &lt;wtf/RefCounted.h&gt;
+
+namespace WebCore {
+namespace IDBClient {
+
+class IDBRequest : public WebCore::IDBOpenDBRequest, public RefCounted&lt;IDBRequest&gt; {
+public:
+    virtual PassRefPtr&lt;IDBAny&gt; result(ExceptionCode&amp;) const override;
+    virtual unsigned short errorCode(ExceptionCode&amp;) const override;
+    virtual PassRefPtr&lt;DOMError&gt; error(ExceptionCode&amp;) const override;
+    virtual PassRefPtr&lt;IDBAny&gt; source() const override;
+    virtual PassRefPtr&lt;IDBTransaction&gt; transaction() const override;
+    virtual const String&amp; readyState() const override;
+
+    // EventTarget
+    virtual EventTargetInterface eventTargetInterface() const override;
+    virtual ScriptExecutionContext* scriptExecutionContext() const override final { return ActiveDOMObject::scriptExecutionContext(); }
+
+    using RefCounted&lt;IDBRequest&gt;::ref;
+    using RefCounted&lt;IDBRequest&gt;::deref;
+
+protected:
+    IDBRequest(ScriptExecutionContext*);
+
+    // ActiveDOMObject.
+    virtual const char* activeDOMObjectName() const override final;
+    virtual bool canSuspendForPageCache() const override final;
+    
+    // EventTarget.
+    virtual void refEventTarget() override final { RefCounted&lt;IDBRequest&gt;::ref(); }
+    virtual void derefEventTarget() override final { RefCounted&lt;IDBRequest&gt;::deref(); }
+};
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBRequestImpl_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -1908,6 +1908,12 @@
</span><span class="cx">                 510192D618B6B9B7007FC7A1 /* ImageControlsRootElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 510192D418B6B9B7007FC7A1 /* ImageControlsRootElement.h */; };
</span><span class="cx">                 5103104F1BA8CC03003329C0 /* IDBFactoryImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5103104A1BA8C6A6003329C0 /* IDBFactoryImpl.cpp */; };
</span><span class="cx">                 510310501BA8CC03003329C0 /* IDBFactoryImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5103104B1BA8C6A6003329C0 /* IDBFactoryImpl.h */; };
</span><ins>+                5103105A1BA8DB56003329C0 /* IDBOpenDBRequestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510310561BA8DB30003329C0 /* IDBOpenDBRequestImpl.cpp */; };
+                5103105B1BA8DB56003329C0 /* IDBOpenDBRequestImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 510310571BA8DB30003329C0 /* IDBOpenDBRequestImpl.h */; };
+                5103105C1BA8DB56003329C0 /* IDBRequestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510310581BA8DB30003329C0 /* IDBRequestImpl.cpp */; };
+                5103105D1BA8DB56003329C0 /* IDBRequestImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 510310591BA8DB30003329C0 /* IDBRequestImpl.h */; };
+                510310601BA8E0E3003329C0 /* IDBDatabaseIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5103105F1BA8E090003329C0 /* IDBDatabaseIdentifier.h */; };
+                510310611BA8E10D003329C0 /* IDBDatabaseIdentifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5103105E1BA8E090003329C0 /* IDBDatabaseIdentifier.cpp */; };
</ins><span class="cx">                 5103C2B11BA22D1A00E26337 /* LegacyAny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B6E1BA0A76100F789CE /* LegacyAny.cpp */; };
</span><span class="cx">                 5103C2B21BA2317400E26337 /* IDBTransaction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B501B9F889B00F789CE /* IDBTransaction.cpp */; };
</span><span class="cx">                 5103C2B31BA2324D00E26337 /* IDBCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B541B9F88E800F789CE /* IDBCursor.cpp */; };
</span><span class="lines">@@ -9189,6 +9195,12 @@
</span><span class="cx">                 510192D818B7D7AB007FC7A1 /* imageControlsMac.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = imageControlsMac.css; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5103104A1BA8C6A6003329C0 /* IDBFactoryImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBFactoryImpl.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5103104B1BA8C6A6003329C0 /* IDBFactoryImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBFactoryImpl.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                510310561BA8DB30003329C0 /* IDBOpenDBRequestImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBOpenDBRequestImpl.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510310571BA8DB30003329C0 /* IDBOpenDBRequestImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBOpenDBRequestImpl.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510310581BA8DB30003329C0 /* IDBRequestImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBRequestImpl.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                510310591BA8DB30003329C0 /* IDBRequestImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBRequestImpl.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                5103105E1BA8E090003329C0 /* IDBDatabaseIdentifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabaseIdentifier.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                5103105F1BA8E090003329C0 /* IDBDatabaseIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseIdentifier.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 5106D7BB18BDB76F000AB166 /* ContextMenuContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContextMenuContext.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5106D7BC18BDB76F000AB166 /* ContextMenuContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenuContext.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 510A326E18318431003C5326 /* IDBServerConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBServerConnection.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16535,6 +16547,10 @@
</span><span class="cx">                 510310421BA8C64C003329C0 /* client */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                510310561BA8DB30003329C0 /* IDBOpenDBRequestImpl.cpp */,
+                                510310571BA8DB30003329C0 /* IDBOpenDBRequestImpl.h */,
+                                510310581BA8DB30003329C0 /* IDBRequestImpl.cpp */,
+                                510310591BA8DB30003329C0 /* IDBRequestImpl.h */,
</ins><span class="cx">                                 5103104A1BA8C6A6003329C0 /* IDBFactoryImpl.cpp */,
</span><span class="cx">                                 5103104B1BA8C6A6003329C0 /* IDBFactoryImpl.h */,
</span><span class="cx">                         );
</span><span class="lines">@@ -18773,6 +18789,8 @@
</span><span class="cx">                                 51D71983181106DF0016DC51 /* IDBDatabaseError.h */,
</span><span class="cx">                                 51D71984181106DF0016DC51 /* IDBDatabaseException.cpp */,
</span><span class="cx">                                 51D71985181106DF0016DC51 /* IDBDatabaseException.h */,
</span><ins>+                                5103105E1BA8E090003329C0 /* IDBDatabaseIdentifier.cpp */,
+                                5103105F1BA8E090003329C0 /* IDBDatabaseIdentifier.h */,
</ins><span class="cx">                                 5163117C1851242B00534647 /* IDBDatabaseMetadata.cpp */,
</span><span class="cx">                                 51C9611A183D2B8000D2002E /* IDBDatabaseMetadata.h */,
</span><span class="cx">                                 51D71986181106DF0016DC51 /* IDBEventDispatcher.cpp */,
</span><span class="lines">@@ -24083,6 +24101,7 @@
</span><span class="cx">                                 49E912AD0EFAC906009D0CAF /* AnimationList.h in Headers */,
</span><span class="cx">                                 31DCD29D1AB4FBDE0072E817 /* AnimationTrigger.h in Headers */,
</span><span class="cx">                                 0F580FAF149800D400FB5BD8 /* AnimationUtilities.h in Headers */,
</span><ins>+                                510310601BA8E0E3003329C0 /* IDBDatabaseIdentifier.h in Headers */,
</ins><span class="cx">                                 93309DD7099E64920056E581 /* AppendNodeCommand.h in Headers */,
</span><span class="cx">                                 1A8F6BBD0DB55CDC001DB794 /* ApplicationCache.h in Headers */,
</span><span class="cx">                                 1A8F6BBF0DB55CDC001DB794 /* ApplicationCacheGroup.h in Headers */,
</span><span class="lines">@@ -24437,6 +24456,7 @@
</span><span class="cx">                                 CD3E252418046BCD00E27F56 /* CSSGridTemplateAreasValue.h in Headers */,
</span><span class="cx">                                 FB3056C2169E5DAC0096A232 /* CSSGroupingRule.h in Headers */,
</span><span class="cx">                                 BC772B3C0C4EA91E0083285F /* CSSHelper.h in Headers */,
</span><ins>+                                5103105D1BA8DB56003329C0 /* IDBRequestImpl.h in Headers */,
</ins><span class="cx">                                 BC23EE920DAED2BC009FDC91 /* CSSImageGeneratorValue.h in Headers */,
</span><span class="cx">                                 9393E600151A99F200066F06 /* CSSImageSetValue.h in Headers */,
</span><span class="cx">                                 A80E6CFA0A1989CA007FB8C5 /* CSSImageValue.h in Headers */,
</span><span class="lines">@@ -25701,6 +25721,7 @@
</span><span class="cx">                                 C6F420A316B7164E0052A9F2 /* JSMutationCallback.h in Headers */,
</span><span class="cx">                                 65DF31FC09D1CC60000BE325 /* JSMutationEvent.h in Headers */,
</span><span class="cx">                                 C6F0902D14327D4F00685849 /* JSMutationObserver.h in Headers */,
</span><ins>+                                5103105B1BA8DB56003329C0 /* IDBOpenDBRequestImpl.h in Headers */,
</ins><span class="cx">                                 C6F08FCA1431000D00685849 /* JSMutationRecord.h in Headers */,
</span><span class="cx">                                 BCD9C2C10C17B69E005C90A2 /* JSNamedNodeMap.h in Headers */,
</span><span class="cx">                                 A9D247F80D757E3400FDF959 /* JSNavigator.h in Headers */,
</span><span class="lines">@@ -28768,6 +28789,7 @@
</span><span class="cx">                                 E14F1C4414B5DAC600EA9009 /* HTMLFormControlElementWithState.cpp in Sources */,
</span><span class="cx">                                 A8DF3FCF097FA0FC0052981B /* HTMLFormControlsCollection.cpp in Sources */,
</span><span class="cx">                                 A81369D1097374F600D74463 /* HTMLFormElement.cpp in Sources */,
</span><ins>+                                5103105C1BA8DB56003329C0 /* IDBRequestImpl.cpp in Sources */,
</ins><span class="cx">                                 A871DE230A152AC800B12A68 /* HTMLFrameElement.cpp in Sources */,
</span><span class="cx">                                 14FFE31E0AE1963300136BF5 /* HTMLFrameElementBase.cpp in Sources */,
</span><span class="cx">                                 93E2425F0B2B509500C732A1 /* HTMLFrameOwnerElement.cpp in Sources */,
</span><span class="lines">@@ -29791,6 +29813,7 @@
</span><span class="cx">                                 078E090217D14CEE00420AA1 /* MediaStreamTrack.cpp in Sources */,
</span><span class="cx">                                 078E090317D14CEE00420AA1 /* MediaStreamTrackEvent.cpp in Sources */,
</span><span class="cx">                                 07FFDE68181AED420072D409 /* MediaStreamTrackPrivate.cpp in Sources */,
</span><ins>+                                510310611BA8E10D003329C0 /* IDBDatabaseIdentifier.cpp in Sources */,
</ins><span class="cx">                                 076306D217E1478D005A7C4E /* MediaStreamTrackSourcesRequest.cpp in Sources */,
</span><span class="cx">                                 CD641EBF1819B36000EE4C41 /* MediaTimeAVFoundation.cpp in Sources */,
</span><span class="cx">                                 CD60C0C6193E87C7003C656B /* MediaTimeQTKit.mm in Sources */,
</span><span class="lines">@@ -30829,6 +30852,7 @@
</span><span class="cx">                                 498391580F1E776900C23782 /* WebKitCSSMatrix.cpp in Sources */,
</span><span class="cx">                                 8AA61CFF144D595B00F37350 /* WebKitCSSRegionRule.cpp in Sources */,
</span><span class="cx">                                 BC9ADD800CC4092200098C4C /* WebKitCSSTransformValue.cpp in Sources */,
</span><ins>+                                5103105A1BA8DB56003329C0 /* IDBOpenDBRequestImpl.cpp in Sources */,
</ins><span class="cx">                                 3FFFF9A8159D9A550020BBD5 /* WebKitCSSViewportRule.cpp in Sources */,
</span><span class="cx">                                 1A1414B513A0F0500019996C /* WebKitFontFamilyNames.cpp in Sources */,
</span><span class="cx">                                 D7613A501474F13F00DB8606 /* WebKitNamedFlow.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformLoggingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Logging.h (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Logging.h        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/Source/WebCore/platform/Logging.h        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -52,6 +52,7 @@
</span><span class="cx">     M(Gamepad) \
</span><span class="cx">     M(History) \
</span><span class="cx">     M(IconDatabase) \
</span><ins>+    M(IndexedDB) \
</ins><span class="cx">     M(Layout) \
</span><span class="cx">     M(Loading) \
</span><span class="cx">     M(Media) \
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/Source/WebKit/mac/ChangeLog        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-09-16  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Have window.indexedDB.deleteDatabase return an IDBOpenDBRequest.
+        https://bugs.webkit.org/show_bug.cgi?id=149229
+
+        Reviewed by Alex Christensen.
+
+        * WebView/WebView.mm:
+        (-[WebView _preferencesChanged:]): Enable IDB in WK1.
+
</ins><span class="cx"> 2015-09-15  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Add ShadowRoot interface and Element.prototype.attachShadow
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (189878 => 189879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebView.mm        2015-09-16 19:55:15 UTC (rev 189878)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm        2015-09-16 20:45:01 UTC (rev 189879)
</span><span class="lines">@@ -2441,6 +2441,10 @@
</span><span class="cx">     RuntimeEnabledFeatures::sharedFeatures().setGamepadsEnabled([preferences gamepadsEnabled]);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(INDEXED_DATABASE)
+    RuntimeEnabledFeatures::sharedFeatures().setWebkitIndexedDBEnabled(true);
+#endif
+
</ins><span class="cx">     NSTimeInterval timeout = [preferences incrementalRenderingSuppressionTimeoutInSeconds];
</span><span class="cx">     if (timeout &gt; 0)
</span><span class="cx">         settings.setIncrementalRenderingSuppressionTimeoutInSeconds(timeout);
</span></span></pre>
</div>
</div>

</body>
</html>