Title: [192686] trunk
- Revision
- 192686
- Author
- beid...@apple.com
- Date
- 2015-11-20 10:55:11 -0800 (Fri, 20 Nov 2015)
Log Message
Modern IDB: Get IDBRequest.readyState right.
https://bugs.webkit.org/show_bug.cgi?id=151484
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/indexeddb/modern/request-readystate.html
* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::readyState):
LayoutTests:
* storage/indexeddb/modern/request-readystate-expected.txt: Added.
* storage/indexeddb/modern/request-readystate.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (192685 => 192686)
--- trunk/LayoutTests/ChangeLog 2015-11-20 15:17:36 UTC (rev 192685)
+++ trunk/LayoutTests/ChangeLog 2015-11-20 18:55:11 UTC (rev 192686)
@@ -1,3 +1,13 @@
+2015-11-20 Brady Eidson <beid...@apple.com>
+
+ Modern IDB: Get IDBRequest.readyState right.
+ https://bugs.webkit.org/show_bug.cgi?id=151484
+
+ Reviewed by Alex Christensen.
+
+ * storage/indexeddb/modern/request-readystate-expected.txt: Added.
+ * storage/indexeddb/modern/request-readystate.html: Added.
+
2015-11-20 Youenn Fablet <youenn.fab...@crf.canon.fr>
Changing some imported/w3c/web-platform-tests/html/semantics expectations from Timeout/Failure to Pass
Added: trunk/LayoutTests/storage/indexeddb/modern/request-readystate-expected.txt (0 => 192686)
--- trunk/LayoutTests/storage/indexeddb/modern/request-readystate-expected.txt (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/modern/request-readystate-expected.txt 2015-11-20 18:55:11 UTC (rev 192686)
@@ -0,0 +1,11 @@
+This test makes sure that IDBRequest.readyState returns expected values.
+After calling indexedDB.open(), create request readyState is: pending
+Initial upgrade needed: Old version - 0 New version - 1
+Create request readyState is: done
+After calling openCursor, request readyState is: pending
+After successful opening of the cursor, request readyState is: done
+After calling continue(), request readyState is: pending
+After continue() completed, request readyState is: done
+Initial upgrade versionchange transaction complete
+Done
+
Added: trunk/LayoutTests/storage/indexeddb/modern/request-readystate.html (0 => 192686)
--- trunk/LayoutTests/storage/indexeddb/modern/request-readystate.html (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/modern/request-readystate.html 2015-11-20 18:55:11 UTC (rev 192686)
@@ -0,0 +1,65 @@
+This test makes sure that IDBRequest.readyState returns expected values.<br>
+<div id="logger"></div>
+<script>
+
+if (window.testRunner) {
+ testRunner.waitUntilDone();
+ testRunner.dumpAsText();
+}
+
+function done()
+{
+ log("Done");
+ if (window.testRunner)
+ testRunner.notifyDone();
+}
+
+function log(message)
+{
+ document.getElementById("logger").innerHTML += message + "<br>";
+}
+
+var createRequest = window.indexedDB.open("RequestReadyStateDatabase", 1);
+log("After calling indexedDB.open(), create request readyState is: " + createRequest.readyState);
+
+createRequest._onupgradeneeded_ = function(event) {
+ log("Initial upgrade needed: Old version - " + event.oldVersion + " New version - " + event.newVersion);
+ log("Create request readyState is: " + createRequest.readyState);
+
+ var versionTransaction = createRequest.transaction;
+ var database = event.target.result;
+ var objectStore = database.createObjectStore("TestObjectStore");
+
+ for (var i = 0; i < 2; ++i)
+ objectStore.put("Record " + i, i);
+
+ var request = objectStore.openCursor();
+ log("After calling openCursor, request readyState is: " + request.readyState);
+ request._onsuccess_ = function() {
+ log("After successful opening of the cursor, request readyState is: " + request.readyState);
+
+ request._onsuccess_ = function() {
+ log("After continue() completed, request readyState is: " + request.readyState);
+ }
+
+ request.result.continue();
+ log("After calling continue(), request readyState is: " + request.readyState);
+ }
+
+ versionTransaction._onabort_ = function(event) {
+ log("Initial upgrade versionchange transaction unexpected aborted");
+ done();
+ }
+
+ versionTransaction._oncomplete_ = function(event) {
+ log("Initial upgrade versionchange transaction complete");
+ done();
+ }
+
+ versionTransaction._onerror_ = function(event) {
+ log("Initial upgrade versionchange transaction unexpected error" + event);
+ done();
+ }
+}
+
+</script>
Modified: trunk/Source/WebCore/ChangeLog (192685 => 192686)
--- trunk/Source/WebCore/ChangeLog 2015-11-20 15:17:36 UTC (rev 192685)
+++ trunk/Source/WebCore/ChangeLog 2015-11-20 18:55:11 UTC (rev 192686)
@@ -1,3 +1,15 @@
+2015-11-20 Brady Eidson <beid...@apple.com>
+
+ Modern IDB: Get IDBRequest.readyState right.
+ https://bugs.webkit.org/show_bug.cgi?id=151484
+
+ Reviewed by Alex Christensen.
+
+ Test: storage/indexeddb/modern/request-readystate.html
+
+ * Modules/indexeddb/client/IDBRequestImpl.cpp:
+ (WebCore::IDBClient::IDBRequest::readyState):
+
2015-11-20 Youenn Fablet <youenn.fab...@crf.canon.fr>
Use HTTPHeaderName as much as possible in XMLHttpRequest
Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp (192685 => 192686)
--- trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp 2015-11-20 15:17:36 UTC (rev 192685)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp 2015-11-20 18:55:11 UTC (rev 192686)
@@ -150,8 +150,17 @@
const String& IDBRequest::readyState() const
{
- static WTF::NeverDestroyed<String> readyState;
- return readyState;
+ static WTF::NeverDestroyed<String> pendingString("pending");
+ static WTF::NeverDestroyed<String> doneString("done");
+
+ switch (m_readyState) {
+ case IDBRequestReadyState::Pending:
+ return pendingString;
+ case IDBRequestReadyState::Done:
+ return doneString;
+ default:
+ RELEASE_ASSERT_NOT_REACHED();
+ }
}
uint64_t IDBRequest::sourceObjectStoreIdentifier() const
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes