diff options
author | Josh Matthews <josh@joshmatthews.net> | 2019-12-03 13:38:55 -0500 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2019-12-09 09:57:48 +0100 |
commit | 6dad51f57032cbf8410fa38a60a5315fd0fc7da9 (patch) | |
tree | 08c8d234102de8aa25f5711dcbf2799045db3219 | |
parent | f31a88d85de2a7bdee65216b3b66b697b459a31d (diff) | |
download | servo-6dad51f57032cbf8410fa38a60a5315fd0fc7da9.tar.gz servo-6dad51f57032cbf8410fa38a60a5315fd0fc7da9.zip |
layout: Ensure truncated fragment is updated with results of collecting inner fragment's stacking contexts.
4 files changed, 54 insertions, 3 deletions
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.<p><span style="padding-left: 1px">…</span> 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 @@ +<!DOCTYPE html> +<link rel="match" href="text-overflow-ellipsis-stacking-context-ref.html"> +<style> + .ellipsis-overflow { + overflow: hidden; + text-overflow: ellipsis; + display: inline-block; + width: 10px; + } + + .stacking-context { + transform: translateX(1px); + display: inline-block; + width: 1px; + + } +</style> +This page should successfully load.<p> +<div class="stacking-context"> + <div class="ellipsis-overflow"></div> +</div> |