forked from mirrors/gecko-dev
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
35 lines
1.5 KiB
JavaScript
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']);
|
|
});
|