blob: 52f4f071493d60793a1ee1f814599bce4812a6d2 [file] [log] [blame]
<!doctype HTML>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<style>
div {
contain: style layout;
}
</style>
<div id="outer">
Outer
<div id="inner">
Inner
<div id="innermost">
Innermost
</div>
</div>
</div>
<a id="innerLink" href="#inner">Click</a>
<a id="innermostLink" href ="#innermost">Click</a>
<script>
'use strict';
function prepareTest() {
innermost.onbeforeactivate = inner.onbeforeactivate = outer.onbeforeactivate = null;
return Promise.all([outer.displayLock.acquire({ timeout: Infinity, activatable: true }),
inner.displayLock.acquire({ timeout: Infinity, activatable: true })]);
}
promise_test(() => {
return new Promise((resolve, reject) => {
prepareTest().then(() => {
assert_true(inner.displayLock.locked);
inner.onbeforeactivate = (e) => {
assert_equals(e.activatedElement, inner);
resolve();
}
innerLink.click();
});
});
}, "Activation through anchor link fires beforeactivate on locked element");
</script>