layout_thread: Avoid adding the UA sheets multiple times when there's no root flow.

Fixes #18631
This commit is contained in:
Emilio Cobos Álvarez 2017-10-01 21:21:35 +02:00
parent dd27ec1fa2
commit 8976b1aeab
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
3 changed files with 27 additions and 2 deletions

View file

@ -1318,6 +1318,7 @@ impl LayoutThread {
&mut layout_context);
}
self.first_reflow.set(false);
self.respond_to_query_if_necessary(&data.reflow_goal,
&mut *rw_data,
&mut layout_context,
@ -1618,8 +1619,6 @@ impl LayoutThread {
&mut *layout_context,
rw_data);
self.first_reflow.set(false);
if opts::get().trace_layout {
layout_debug::end_trace(self.generation.get());
}

View file

@ -14546,6 +14546,12 @@
{}
]
],
"mozilla/first-reflow-sheet-assert.html": [
[
"/_mozilla/mozilla/first-reflow-sheet-assert.html",
{}
]
],
"mozilla/focus_blur.html": [
[
"/_mozilla/mozilla/focus_blur.html",
@ -27925,6 +27931,10 @@
"f2ec5f89521fb4eda64a5e70249bbfb8850c4278",
"testharness"
],
"mozilla/first-reflow-sheet-assert.html": [
"8a0cf9152c3f2421d3e418f824f02c915092d78f",
"testharness"
],
"mozilla/focus_blur.html": [
"2735c5c482e38743b0976789af858075c54408c1",
"testharness"

View file

@ -0,0 +1,16 @@
<!doctype html>
<meta charset="utf-8">
<title>Issue 18631: Assertion failure when double-adding the UA sheets to the page</title>
<style>
* { display: none }
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
// Trigger two forced reflows.
test(function() {
document.documentElement.offsetTop;
document.documentElement.offsetTop;
assert_true(true, "Didn't assert");
}, "Passes if it doesn't assert");
</script>