Skip to content

Commit

Permalink
Prerender: Upstream test for presentationRequest.start()
Browse files Browse the repository at this point in the history
This CL upstreams a test for presentationRequest.start() in prerendered
pages to the WPT repository. The API is listed as "implicitly restricted
APIs" in the draft spec:
https://jeremyroman.github.io/alternate-loading-modes/prerendering.html#implicitly-restricted

This CL removes the following comment:

  This cannot be upstreamed as a WPT test because the spec (probably)
  will require that no error is thrown until activation.

This is because presentationRequest.start() is expected to return a
rejected promise when the window doesn't have transient activation, and
the current test correctly handles it.

  If the document's active window does not have transient activation,
  return a Promise rejected with an InvalidAccessError exception and
  abort these steps.
  https://w3c.github.io/presentation-api/#dom-presentationrequest-start

Related issues in the spec side:
- WICG/nav-speculation#42
- WICG/nav-speculation#36

Bug: 1253158
Change-Id: I6973c4c6683135b9bc27e78115d797e8d5840fed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3223703
Reviewed-by: Lingqi Chi <lingqi@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/main@{#931847}
  • Loading branch information
nhiroki authored and Chromium LUCI CQ committed Oct 15, 2021
1 parent 2bb1496 commit 37da24e
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<!DOCTYPE html>
<title>Same-origin prerendering cannot start presentation</title>
<meta name="timeout" content="long">
<!-- This cannot be upstreamed as a WPT test because the spec (probably) will
require that no error is thrown until activation. -->
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/utils.js"></script>
<body>
<script>

setup(() => assertSpeculationRulesIsSupported());

promise_test(async t => {
const bc = new BroadcastChannel('prerender-channel');

Expand Down

0 comments on commit 37da24e

Please sign in to comment.