fune/testing/web-platform/tests/IndexedDB/back-forward-cache-open-connection.window.js
rubberyuzu a0ad74b365 Bug 1879251 [wpt PR 44465] - [bfcache]Update report strings for not restored reasons, a=testonly
Automatic update from web-platform-tests
[bfcache]Update report strings for not restored reasons

This CL does the following:
1) Update the report strings for NotRestoredReasons API to be
more concise. Mostly masking the reasons that are not actionable for
web developers. This includes updating the test expectations
accordingly.
2) Remove the unused reasons (NotMostRecentNavigationEntry and
FencedFramesEmbedder)

Bug: 1472637
Change-Id: I9b77bcdd3556cf6589dc422ed41ba6f9369ba129
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5248405
Reviewed-by: Yuzu Saijo <yuzus@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Commit-Queue: Yuzu Saijo <yuzus@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1261697}

--

wpt-commits: 553ce3471718aca8d8aee53d2e6f7df2f28d4afc
wpt-pr: 44465
2024-02-22 08:56:43 +00:00

35 lines
1.5 KiB
JavaScript

// META: title=Testing BFCache support for page with open IndexedDB connection, and eviction behavior when receiving versionchange event.
// META: script=/common/dispatcher/dispatcher.js
// META: script=/common/utils.js
// META: script=resources/support.js
// META: script=/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js
// META: script=/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js
// META: timeout=long
'use strict';
promise_test(async t => {
const rcHelper = new RemoteContextHelper();
// Open a window with noopener so that BFCache will work.
const rc1 = await rcHelper.addWindow(
/*config=*/ null, /*options=*/ {features: 'noopener'});
await createIndexedDBForTesting(rc1, 'test_idb', 1);
await assertBFCacheEligibility(rc1, /*shouldRestoreFromBFCache=*/ true);
// The page is ensured to be eligible for BFCache even with open connection,
// otherwise the previous assertion will fail with PRECONDITION_FAILED.
// Now we can test if the versionchange event will evict the BFCache.
await createIndexedDBForTesting(rc1, 'test_idb_2', 1);
const rc2 = await rc1.navigateToNew();
// Create an IndexedDB database with higher version.
await createIndexedDBForTesting(rc2, 'test_idb_2', 2);
await rc2.historyBack();
// The previous page receiving versionchange event should be evicted with the
// correct reason.
// `kIgnoreEventAndEvict` will be reported as "masked".
// See `NotRestoredReasonToReportString()`.
await assertNotRestoredFromBFCache(rc1, ['masked']);
});