mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-09 21:00:42 +02:00
We share the inner object across sheets from the same URL, so what happens here is that, once the sheet parses and loads, we call SetEnabled() on the first sheet, which sets the inner bit, then calls ApplicableStateChanged. That set actually turned the second sheet complete, so when inserting the sheet, we think that the second sheet is already enabled, and thus in the author data, and try to insert before it. Of course there's nothing there, so we panic. We rely on calling SetEnabled() on all the sheets already to insert them in the styleset / author data, so this makes it clearer and fixes the bug by moving the state to each individual sheet. Differential Revision: https://phabricator.services.mozilla.com/D3798 --HG-- extra : moz-landing-system : lando
15 lines
690 B
HTML
15 lines
690 B
HTML
<!doctype html>
|
|
<title>CSS Test: ShadowRoot with multiple sheet links with the same href shouldn't crash</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
|
|
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
|
|
<div id="host"></div>
|
|
<script>
|
|
test(function() {
|
|
host.attachShadow({ mode: "open" }).innerHTML = `
|
|
<link rel="stylesheet" href="data:text/css,">
|
|
<link rel="stylesheet" href="data:text/css,">
|
|
`;
|
|
}, "Multiple stylesheets with the same href in a ShadowRoot should not assert or crash");
|
|
</script>
|