mirror of
https://github.com/servo/servo.git
synced 2025-10-15 16:00:28 +01:00
43 lines
1.3 KiB
HTML
43 lines
1.3 KiB
HTML
<!doctype html>
|
|
<title>CSS Shadow Parts - :host::part()</title>
|
|
<link rel="author" title="Mozilla" href="https://mozilla.org">
|
|
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
|
|
<link rel="help" href="https://drafts.csswg.org/css-shadow-parts/#part">
|
|
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-selector">
|
|
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1624968">
|
|
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=980506">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<div id="host"></div>
|
|
<script>
|
|
test(function() {
|
|
let host = document.getElementById("host");
|
|
host.attachShadow({ mode: "open" }).innerHTML = `
|
|
<style>
|
|
:host::part(mypart) {
|
|
color: lime;
|
|
}
|
|
:host(.tweak)::part(mypart) {
|
|
color: blue;
|
|
}
|
|
</style>
|
|
<div part="mypart"></div>
|
|
`;
|
|
|
|
let part = host.shadowRoot.querySelector("[part]");
|
|
|
|
assert_equals(
|
|
window.getComputedStyle(part).color,
|
|
"rgb(0, 255, 0)",
|
|
":host::part() works",
|
|
);
|
|
|
|
host.classList.add("tweak");
|
|
|
|
assert_equals(
|
|
window.getComputedStyle(part).color,
|
|
"rgb(0, 0, 255)",
|
|
":host::part() invalidation works properly",
|
|
);
|
|
}, ":host::part works");
|
|
</script>
|