Skip to content

Commit

Permalink
[macOS Debug] Layout Test imported/w3c/web-platform-tests/IndexedDB/o…
Browse files Browse the repository at this point in the history
…pen-request-queue.html is a flaky timeout.

https://bugs.webkit.org/show_bug.cgi?id=172044

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* web-platform-tests/IndexedDB/open-request-queue-expected.txt:

Source/WebCore:

We used to start handling delete request when there is still open request in flight. We should start a request
after previous requests are done, to match spec (https://www.w3.org/TR/IndexedDB/#delete-a-database) and other
browsers' behavior.

Updated and rebaselined existing tests.

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):

LayoutTests:

* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-private-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt:
* storage/indexeddb/intversion-long-queue-expected.txt:
* storage/indexeddb/intversion-long-queue-private-expected.txt:
* storage/indexeddb/modern/deletedatabase-2-private.html: Removed. This test checks if a delete request is
started when there are ongoing open requests. We are removing this behavior to match spec so we don't need to
keep the test.
* storage/indexeddb/modern/deletedatabase-2.html: Removed. Ditto.
* storage/indexeddb/modern/resources/deletedatabase-2.js: Removed. Ditto.
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
(versionChangeCallback):
(deleteBlockedCallback):
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
(initiallyDeleted):
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
(onOpenSuccess):


Canonical link: https://commits.webkit.org/239871@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
szewai committed Jul 22, 2021
1 parent 3460454 commit f40bc11
Show file tree
Hide file tree
Showing 20 changed files with 78 additions and 233 deletions.
31 changes: 31 additions & 0 deletions LayoutTests/ChangeLog
@@ -1,3 +1,34 @@
2021-07-22 Sihui Liu <sihui_liu@apple.com>

[macOS Debug] Layout Test imported/w3c/web-platform-tests/IndexedDB/open-request-queue.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=172044

Reviewed by Chris Dumez.

* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-private-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt:
* storage/indexeddb/intversion-long-queue-expected.txt:
* storage/indexeddb/intversion-long-queue-private-expected.txt:
* storage/indexeddb/modern/deletedatabase-2-private.html: Removed. This test checks if a delete request is
started when there are ongoing open requests. We are removing this behavior to match spec so we don't need to
keep the test.
* storage/indexeddb/modern/deletedatabase-2.html: Removed. Ditto.
* storage/indexeddb/modern/resources/deletedatabase-2.js: Removed. Ditto.
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
(versionChangeCallback):
(deleteBlockedCallback):
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
(initiallyDeleted):
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
(onOpenSuccess):

2021-07-22 Alan Bujtas <zalan@apple.com>

REGRESSION(r269745) Google Developers maps does not fully load
Expand Down
9 changes: 9 additions & 0 deletions LayoutTests/imported/w3c/ChangeLog
@@ -1,3 +1,12 @@
2021-07-22 Sihui Liu <sihui_liu@apple.com>

[macOS Debug] Layout Test imported/w3c/web-platform-tests/IndexedDB/open-request-queue.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=172044

Reviewed by Chris Dumez.

* web-platform-tests/IndexedDB/open-request-queue-expected.txt:

2021-07-21 Rob Buis <rbuis@igalia.com>

[AspectRatio] Fix select-element-001.html
Expand Down
@@ -1,5 +1,3 @@

Harness Error (TIMEOUT), message = null

TIMEOUT Opens and deletes are processed in order Test timed out
PASS Opens and deletes are processed in order

2 changes: 0 additions & 2 deletions LayoutTests/platform/mac-wk1/TestExpectations
Expand Up @@ -719,8 +719,6 @@ http/tests/misc/slow-loading-animated-image.html [ Skip ]

webkit.org/b/179775 imported/w3c/web-platform-tests/xhr/firing-events-http-no-content-length.html [ Pass Failure ]

webkit.org/b/172044 [ Debug ] imported/w3c/web-platform-tests/IndexedDB/open-request-queue.html [ Pass Timeout ]

webkit.org/b/184742 accessibility/mac/async-increment-decrement-action.html [ Skip ]
webkit.org/b/185897 accessibility/mac/set-value-editable-types.html [ Skip ]
webkit.org/b/193414 accessibility/mac/relative-frame.html [ Skip ]
Expand Down
2 changes: 0 additions & 2 deletions LayoutTests/platform/mac-wk2/TestExpectations
Expand Up @@ -645,8 +645,6 @@ webkit.org/b/173861 [ Release ] http/tests/webrtc/filtering-ice-candidate-cross-

webkit.org/b/172148 tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html [ Pass Failure ]

webkit.org/b/172044 [ Debug ] imported/w3c/web-platform-tests/IndexedDB/open-request-queue.html [ Pass Timeout ]

webkit.org/b/173779 [ Debug ] fast/scrolling/arrow-key-scroll-in-rtl-document.html [ Pass Failure ]

webkit.org/b/173500 http/tests/loading/basic-auth-remove-credentials.html [ Pass Failure ]
Expand Down
Expand Up @@ -19,20 +19,15 @@ db = event.target.result
deleteRequest = indexedDB.deleteDatabase(dbname)
request2.onsuccess = deleteSuccessCallback

versionChangeCallback():
PASS event.oldVersion is 1
PASS event.newVersion is null
sawVersionChange = true

openSuccess():
PASS sawUpgradeNeeded is true
db = event.target.result
PASS db.version is 1
db.close()

deleteSuccessCallback():
PASS sawVersionChange is true
PASS sawDeleteBlocked is true
PASS sawVersionChange is false
PASS sawDeleteBlocked is false
PASS successfullyParsed is true

TEST COMPLETE
Expand Down
Expand Up @@ -19,20 +19,15 @@ db = event.target.result
deleteRequest = indexedDB.deleteDatabase(dbname)
request2.onsuccess = deleteSuccessCallback

versionChangeCallback():
PASS event.oldVersion is 1
PASS event.newVersion is null
sawVersionChange = true

openSuccess():
PASS sawUpgradeNeeded is true
db = event.target.result
PASS db.version is 1
db.close()

deleteSuccessCallback():
PASS sawVersionChange is true
PASS sawDeleteBlocked is true
PASS sawVersionChange is false
PASS sawDeleteBlocked is false
PASS successfullyParsed is true

TEST COMPLETE
Expand Down
Expand Up @@ -15,16 +15,11 @@ blockedCalled = false
indexedDB.deleteDatabase(dbname)
h.createObjectStore('testObjectStore').put('bar', 'foo')

onVersionChange():
PASS event.target.version is 1
PASS event.oldVersion is 1
PASS event.newVersion is null

transactionOnComplete():
versionChangeComplete = true

onOpenSuccess():
PASS blockedCalled is true
PASS blockedCalled is false
h = event.target.result
h.close()

Expand Down
Expand Up @@ -15,16 +15,11 @@ blockedCalled = false
indexedDB.deleteDatabase(dbname)
h.createObjectStore('testObjectStore').put('bar', 'foo')

onVersionChange():
PASS event.target.version is 1
PASS event.oldVersion is 1
PASS event.newVersion is null

transactionOnComplete():
versionChangeComplete = true

onOpenSuccess():
PASS blockedCalled is true
PASS blockedCalled is false
h = event.target.result
h.close()

Expand Down
Expand Up @@ -16,16 +16,11 @@ Starting worker: resources/deletedatabase-delayed-by-open-and-versionchange.js
[Worker] indexedDB.deleteDatabase(dbname)
[Worker] h.createObjectStore('testObjectStore').put('bar', 'foo')
[Worker]
[Worker] onVersionChange():
PASS [Worker] event.target.version is 1
PASS [Worker] event.oldVersion is 1
PASS [Worker] event.newVersion is null
[Worker]
[Worker] transactionOnComplete():
[Worker] versionChangeComplete = true
[Worker]
[Worker] onOpenSuccess():
PASS [Worker] blockedCalled is true
PASS [Worker] blockedCalled is false
[Worker] h = event.target.result
[Worker] h.close()
[Worker]
Expand Down
Expand Up @@ -43,10 +43,6 @@ db.createObjectStore('some object store')
transaction = event.target.transaction
transaction.oncomplete = connection2TransactionComplete

connection2VersionChangeCallback():
PASS event.oldVersion is 2
PASS event.newVersion is null

connection2TransactionComplete():
PASS db.version is 2

Expand Down
Expand Up @@ -43,10 +43,6 @@ db.createObjectStore('some object store')
transaction = event.target.transaction
transaction.oncomplete = connection2TransactionComplete

connection2VersionChangeCallback():
PASS event.oldVersion is 2
PASS event.newVersion is null

connection2TransactionComplete():
PASS db.version is 2

Expand Down
11 changes: 0 additions & 11 deletions LayoutTests/storage/indexeddb/modern/deletedatabase-2-private.html

This file was deleted.

10 changes: 0 additions & 10 deletions LayoutTests/storage/indexeddb/modern/deletedatabase-2.html

This file was deleted.

147 changes: 0 additions & 147 deletions LayoutTests/storage/indexeddb/modern/resources/deletedatabase-2.js

This file was deleted.

Expand Up @@ -57,21 +57,21 @@ function versionChangeCallback(evt)
preamble(evt);
shouldBe("event.oldVersion", "1");
shouldBeNull("event.newVersion");
evalAndLog("sawVersionChange = true");
evalAndLog("sawVersionChange = false");
}

function deleteBlockedCallback(evt)
{
if (!sawVersionChange)
debug("deleteBlockedCallback was called *before* versionChangeCallback, which is wrong");
eval("sawDeleteBlocked = true");
eval("sawDeleteBlocked = false");
}

function deleteSuccessCallback(evt)
{
preamble(evt);
shouldBeTrue("sawVersionChange");
shouldBeTrue("sawDeleteBlocked");
shouldBeFalse("sawVersionChange");
shouldBeFalse("sawDeleteBlocked");
finishJSTest();
}

Expand Down
Expand Up @@ -23,7 +23,6 @@ function initiallyDeleted(evt) {
preamble(evt);
evalAndLog("request = indexedDB.open(dbname, 1)");
request.onupgradeneeded = upgradeNeededCallback;
request.onsuccess = unexpectedSuccessCallback;
}

function upgradeNeededCallback(evt)
Expand Down

0 comments on commit f40bc11

Please sign in to comment.