Skip to content

Commit

Permalink
[bfcache] Add NotRestoredReasons + WebLock wpt
Browse files Browse the repository at this point in the history
This CL adds WPT coverage for WebLock reason reported via NotRestoredReasons.

Bug: 1472637
Change-Id: I9a2419e2fe8f1b2514cd99d84a7894f4a39e8e60
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4790890
Reviewed-by: Fergal Daly <fergal@chromium.org>
Commit-Queue: Yuzu Saijo <yuzus@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1193922}
  • Loading branch information
rubberyuzu authored and chromium-wpt-export-bot committed Sep 8, 2023
1 parent 687603c commit c5182c2
Showing 1 changed file with 41 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// META: title=RemoteContextHelper navigation using BFCache
// META: script=./test-helper.js
// META: script=/common/dispatcher/dispatcher.js
// META: script=/common/get-host-info.sub.js
// META: script=/common/utils.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

// Ensure that if WebLock is held upon entering bfcache, it cannot enter bfcache and gets reported.
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'});
const rc1_url = await rc1.executeScript(() => {
return location.href;
});

// Request a WebLock.
let return_value = await rc1.executeScript(() => {
return new Promise((resolve) => {
navigator.locks.request('resource', () => {
resolve(42);
});
})
});
assert_equals(return_value, 42);

// Check the BFCache result and the reported reasons.
await assertBFCacheEligibility(rc1, /*shouldRestoreFromBFCache=*/ false);
await assertNotRestoredReasonsEquals(
rc1,
/*blocked=*/ "yes",
/*url=*/ rc1_url,
/*src=*/ null,
/*id=*/ null,
/*name=*/ null,
/*reasons=*/['lock'],
/*children=*/[]);
});

0 comments on commit c5182c2

Please sign in to comment.