diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 06:41:00 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 06:41:00 -0400 |
commit | ed7faf3fde0000b139414648269d2ff82846bac1 (patch) | |
tree | ad0bf172f0f3332bf42f09f7644f568924f48a3b /layout | |
parent | 3758434680616e91edf696e546fe3cc3b1d4da9c (diff) | |
download | UXP-ed7faf3fde0000b139414648269d2ff82846bac1.tar UXP-ed7faf3fde0000b139414648269d2ff82846bac1.tar.gz UXP-ed7faf3fde0000b139414648269d2ff82846bac1.tar.lz UXP-ed7faf3fde0000b139414648269d2ff82846bac1.tar.xz UXP-ed7faf3fde0000b139414648269d2ff82846bac1.zip |
Bug 1404789 - Stop reconstructing frames for the whole shadow root each time content is inserted in a shadow tree
* Cleanup a bit the ShadowRoot code
* Privatize ShadowRoot methods
* When the shadow tree distribution changes, post a restyle + reframe
* Simplify ShadowRoot::IsPooledNode
* Be a bit better at detecting distribution changes
Tag #1375
Diffstat (limited to 'layout')
-rw-r--r-- | layout/base/crashtests/1404789-1.html | 16 | ||||
-rw-r--r-- | layout/base/crashtests/1404789-2.html | 2 | ||||
-rw-r--r-- | layout/base/crashtests/crashtests.list | 2 |
3 files changed, 20 insertions, 0 deletions
diff --git a/layout/base/crashtests/1404789-1.html b/layout/base/crashtests/1404789-1.html new file mode 100644 index 000000000..bd577ae24 --- /dev/null +++ b/layout/base/crashtests/1404789-1.html @@ -0,0 +1,16 @@ +<!doctype html> +<script> + // Test for content redistribution outside of the document. + // Passes if it doesn't assert. + let host = document.createElement('div'); + host.innerHTML = "<div id='foo'></div>"; + + let shadowRoot = host.createShadowRoot(); + shadowRoot.innerHTML = "<content select='#foo'></content>"; + + host.firstElementChild.removeAttribute('id'); + + // Move to the document, do the same. + document.documentElement.appendChild(host); + host.firstElementChild.setAttribute('id', 'foo'); +</script> diff --git a/layout/base/crashtests/1404789-2.html b/layout/base/crashtests/1404789-2.html new file mode 100644 index 000000000..667618141 --- /dev/null +++ b/layout/base/crashtests/1404789-2.html @@ -0,0 +1,2 @@ +<!doctype html> +<iframe style="display: none" src="1404789-1.html"></iframe> diff --git a/layout/base/crashtests/crashtests.list b/layout/base/crashtests/crashtests.list index 6ded4ff3f..66dc35ebc 100644 --- a/layout/base/crashtests/crashtests.list +++ b/layout/base/crashtests/crashtests.list @@ -483,3 +483,5 @@ load 1308793.svg load 1308848-1.html load 1308848-2.html asserts(0-1) load 1343606.html # bug 1343948 +load 1404789-1.html +load 1404789-2.html |