From 6dad51f57032cbf8410fa38a60a5315fd0fc7da9 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Tue, 3 Dec 2019 13:38:55 -0500 Subject: [PATCH] layout: Ensure truncated fragment is updated with results of collecting inner fragment's stacking contexts. --- components/layout/display_list/builder.rs | 12 +++++++--- tests/wpt/mozilla/meta/MANIFEST.json | 23 +++++++++++++++++++ ...verflow-ellipsis-stacking-context-ref.html | 1 + ...xt-overflow-ellipsis-stacking-context.html | 21 +++++++++++++++++ 4 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 tests/wpt/mozilla/tests/mozilla/text-overflow-ellipsis-stacking-context-ref.html create mode 100644 tests/wpt/mozilla/tests/mozilla/text-overflow-ellipsis-stacking-context.html diff --git a/components/layout/display_list/builder.rs b/components/layout/display_list/builder.rs index 4fd1b4b3988..0eceb02abdb 100644 --- a/components/layout/display_list/builder.rs +++ b/components/layout/display_list/builder.rs @@ -606,9 +606,15 @@ impl Fragment { true }, // FIXME: In the future, if #15144 is fixed we can remove this case. See #18510. - SpecificFragmentInfo::TruncatedFragment(ref mut info) => info - .full - .collect_stacking_contexts_for_blocklike_fragment(state), + SpecificFragmentInfo::TruncatedFragment(ref mut info) => { + let _ = info + .full + .collect_stacking_contexts_for_blocklike_fragment(state); + // To ensure the caller updates this fragment's stacking context + // appropriately based on the un-truncated fragment's status, + // we don't pass on the result of collecting stacking contexts. + false + }, _ => false, } } diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index f9610ad6167..e307cd256f2 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -7511,6 +7511,18 @@ {} ] ], + "mozilla/text-overflow-ellipsis-stacking-context.html": [ + [ + "mozilla/text-overflow-ellipsis-stacking-context.html", + [ + [ + "/_mozilla/mozilla/text-overflow-ellipsis-stacking-context-ref.html", + "==" + ] + ], + {} + ] + ], "mozilla/textarea_placeholder.html": [ [ "mozilla/textarea_placeholder.html", @@ -9733,6 +9745,9 @@ "mozilla/test.txt": [ [] ], + "mozilla/text-overflow-ellipsis-stacking-context-ref.html": [ + [] + ], "mozilla/textarea_placeholder_ref.html": [ [] ], @@ -19498,6 +19513,14 @@ "9235007d960cc6c804a93c89f24881bedc3613c3", "support" ], + "mozilla/text-overflow-ellipsis-stacking-context-ref.html": [ + "14215e780ab4a0cf00ef23b8472636a393aeacf1", + "support" + ], + "mozilla/text-overflow-ellipsis-stacking-context.html": [ + "791f028522972f0bffd31b6663369c896b39c088", + "reftest" + ], "mozilla/textarea_placeholder.html": [ "6dd1f1e1e0c8250532db1afc1f6b876bfa1b6f8c", "reftest" diff --git a/tests/wpt/mozilla/tests/mozilla/text-overflow-ellipsis-stacking-context-ref.html b/tests/wpt/mozilla/tests/mozilla/text-overflow-ellipsis-stacking-context-ref.html new file mode 100644 index 00000000000..14215e780ab --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/text-overflow-ellipsis-stacking-context-ref.html @@ -0,0 +1 @@ +This page should successfully load.

diff --git a/tests/wpt/mozilla/tests/mozilla/text-overflow-ellipsis-stacking-context.html b/tests/wpt/mozilla/tests/mozilla/text-overflow-ellipsis-stacking-context.html new file mode 100644 index 00000000000..791f0285229 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/text-overflow-ellipsis-stacking-context.html @@ -0,0 +1,21 @@ + + + +This page should successfully load.

+

+
+