55 lines
2 KiB
HTML
55 lines
2 KiB
HTML
<!DOCTYPE html>
|
|
<!--
|
|
Tentative due to:
|
|
https://github.com/whatwg/html/issues/4008
|
|
-->
|
|
<title>Capability Delegation: Consumes User Activation</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-actions.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
<script src="resources/utils.js"></script>
|
|
|
|
<div>
|
|
Test that capability delegation consumes transient user activation.
|
|
|
|
https://wicg.github.io/capability-delegation/spec.html
|
|
</div>
|
|
|
|
<iframe width="300px" height="50px"></iframe>
|
|
|
|
<script>
|
|
function sendCapabilityDelegationMessageIgnoringException(origin, capability) {
|
|
try {
|
|
frames[0].postMessage("any_message", {targetOrigin: origin, delegate: capability});
|
|
} catch (e) {}
|
|
}
|
|
|
|
let capability_to_delegate;
|
|
|
|
promise_setup(async () => {
|
|
capability_to_delegate = await findOneCapabilitySupportingDelegation();
|
|
assert_true(!!capability_to_delegate, "The user agent supports delegating at least one capability");
|
|
});
|
|
|
|
promise_test(async () => {
|
|
assert_false(navigator.userActivation.isActive);
|
|
|
|
await test_driver.bless();
|
|
assert_true(navigator.userActivation.isActive, "User activation is available initially");
|
|
|
|
sendCapabilityDelegationMessageIgnoringException("/", "blah");
|
|
assert_true(navigator.userActivation.isActive,
|
|
"User activation is not consumed by delegation of an unknown delegation");
|
|
|
|
sendCapabilityDelegationMessageIgnoringException("*", capability_to_delegate);
|
|
assert_true(navigator.userActivation.isActive,
|
|
"User activation is not consumed by known delegation to disallowed targetOrigin");
|
|
|
|
sendCapabilityDelegationMessageIgnoringException("/", capability_to_delegate);
|
|
assert_false(navigator.userActivation.isActive,
|
|
"User activation is consumed by supported delegation");
|
|
|
|
}, "Capability delegation consumes transient user activation");
|
|
</script>
|