Bug 1480059 [wpt PR 12253] - Don't re-attach ::first-letter during style recalc....
commit454c57d2e636cab82bc9cbf9575c727cda49e82d
authorRune Lillesveen <futhark@chromium.org>
Mon, 13 Aug 2018 18:19:48 +0000 (13 18:19 +0000)
committermoz-wptsync-bot <wptsync@mozilla.com>
Tue, 14 Aug 2018 16:45:12 +0000 (14 16:45 +0000)
tree20e6943a7359d7e38b17bf19e3cdf6f9bd27f16d
parent1c531f4eeb9adc9126860a694f7c67cbc6a95490
Bug 1480059 [wpt PR 12253] - Don't re-attach ::first-letter during style recalc., a=testonly

Automatic update from web-platform-testsDon't re-attach ::first-letter during style recalc.

Update (create or destroy) the FirstLetterPseudoElement and its style
at the point where the block level element's layout sub-tree is up-to-
date. This means we will always attach the layout tree for the
::first-letter element in Element::AttachLayoutTree, but the pseudo
element and its style may be created/updated at style recalc time,
layout tree rebuild time, or layout tree attachment time depending on
when we know what will be the LayoutText from which we will format the
first letter if any.

UpdateFirstLetterPseudoElement is split out from UpdatePseudoElement to
make the code easier to read as the former case has some exceptional
cases.

We no longer use the pseudo style cache for ::first-letter as we will
now compute the style only once per pass with the correct inheritance
parent.

Bug: 847218
Change-Id: I7a1e2a60122891fa38998ff85e566bec0a38b513
Reviewed-on: https://chromium-review.googlesource.com/1155591
Reviewed-by: Anders Ruud <andruud@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581320}

--

wpt-commits: 3dd27ccc5876d3ad06ccce491da49b477d623621
wpt-pr: 12253
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/css/css-pseudo/first-letter-and-sibling-display-change.html [new file with mode: 0644]