Automatic update from web-platform-tests wpt: Fix link element tests Per discussion in WHATWG [1] these tests are wrong and should wait for the load event instead of being main thread blocked. [1]: https://matrix.to/#/!AGetWbsMpFPdSgUrbs:matrix.org/$UicaT9m71QFd4FgtevWQeQjS8zFiVDQfVywk6gB25ns?via=matrix.org&via=mozilla.org&via=igalia.com Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com> -- wpt-commits: d53551fbd5999bac63b8fecc5d017412242444b9 wpt-pr: 59979
48 lines
1.9 KiB
HTML
48 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<script src = "/resources/testharness.js"></script>
|
|
<script src = "/resources/testharnessreport.js"></script>
|
|
|
|
<link id="light-link" rel="stylesheet" href="resources/link-rel-attribute.css">
|
|
<div id="light-div" class="green">I"m green when light DOM link is on</div>
|
|
|
|
<div id="host">
|
|
I"m green when Shadow DOM link is on
|
|
<template id="shadow-dom">
|
|
<link id="shadow-link" rel="stylesheet" href="resources/link-rel-attribute.css">
|
|
<div id="shadow-div" class="green">
|
|
<slot></slot>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
|
|
<script>
|
|
|
|
async function testLinkRelModification(t, testDiv, testLink) {
|
|
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 128, 0)");
|
|
testLink.setAttribute("rel", "no-stylesheet");
|
|
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 0, 0)");
|
|
testLink.setAttribute("rel", "stylesheet");
|
|
await new EventWatcher(t, testLink, [ 'load' ]).wait_for('load');
|
|
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 128, 0)");
|
|
testLink.removeAttribute("rel");
|
|
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 0, 0)");
|
|
}
|
|
|
|
promise_test(async (t) => {
|
|
await testLinkRelModification(t,
|
|
document.querySelector("#light-div"),
|
|
document.querySelector("#light-link"));
|
|
}, "Removing stylesheet from link rel attribute should remove the stylesheet for light DOM");
|
|
|
|
promise_test(async (t) => {
|
|
var host = document.querySelector("#host");
|
|
var shadow = host.attachShadow({ mode: "open" });
|
|
var tmpl = document.querySelector("template#shadow-dom");
|
|
var clone = document.importNode(tmpl.content, true);
|
|
shadow.appendChild(clone);
|
|
await testLinkRelModification(t,
|
|
shadow.querySelector("#shadow-div"),
|
|
shadow.querySelector("#shadow-link"));
|
|
}, "Removing stylesheet from link rel attribute should remove the stylesheet for shadow DOM");
|
|
</script>
|