Bug 1412251: Make style sharing look at XBL / Shadow DOM rules. r=bz

MozReview-Commit-ID: II6lk6OmSZU
This commit is contained in:
Emilio Cobos Álvarez 2017-10-28 01:48:08 +02:00
Родитель 74d6403d30
Коммит 0555fa0126
5 изменённых файлов: 44 добавлений и 1 удалений

Просмотреть файл

@ -290,7 +290,7 @@ fuzzy-if(skiaContent,1,5) == 262998-1.html 262998-1-ref.html
== 269908-5.html 269908-5-ref.html
== 271747-1a.html 271747-1-ref.html
== 271747-1b.html 271747-1-ref.html
fails-if(stylo&&cocoaWidget) == 272646-1.xul 272646-1-ref.xul # bug 1410787
== 272646-1.xul 272646-1-ref.xul
== 272646-2a.xul 272646-2-ref.xul
== 272646-2b.xul 272646-2-ref.xul
== 272646-2c.xul 272646-2-ref.xul

Просмотреть файл

@ -15,3 +15,5 @@ pref(dom.webcomponents.enabled,true) == dynamic-insertion-point-distribution-2.h
pref(dom.webcomponents.enabled,true) == remove-append-shadow-host-1.html remove-append-shadow-host-1-ref.html
pref(dom.webcomponents.enabled,true) == reframe-shadow-child-1.html reframe-shadow-child-ref.html
pref(dom.webcomponents.enabled,true) == reframe-shadow-child-2.html reframe-shadow-child-ref.html
pref(dom.webcomponents.enabled,true) == style-sharing.html style-sharing-ref.html
pref(dom.webcomponents.enabled,true) skip-if(!stylo||styloVsGecko) == style-sharing-across-shadow.html style-sharing-ref.html # bug 1412400

Просмотреть файл

@ -0,0 +1,22 @@
<!doctype html>
<style>
div { display: contents }
</style>
<div></div>
<div></div>
<script>
let divs = document.querySelectorAll('div');
divs[0].createShadowRoot().innerHTML = `
<style>
* { color: green; }
</style>
<span>Should be green</span>
`;
divs[1].createShadowRoot().innerHTML = `
<style>
* { color: initial; }
[foo] { }
</style>
<span>Should not be green</span>
`;
</script>

Просмотреть файл

@ -0,0 +1,5 @@
<!doctype html>
<div>
<span style="color: green">Should be green</span>
<span>Should not be green</span>
</div>

Просмотреть файл

@ -0,0 +1,14 @@
<!doctype html>
<div id="host"></div>
<script>
let root = host.createShadowRoot();
root.innerHTML = `
<style>
#test {
color: green;
}
</style>
<span id="test">Should be green</span>
<span id="test2">Should not be green</span>
`;
</script>