mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-11 13:48:23 +02:00
Automatic update from web-platform-tests [PE] Fix layer under-invalidation when visiblity status changes https://chromium-review.googlesource.com/c/chromium/src/+/1017917 added code to invalidate the paint layer when its PaintedOutputInvisible() status changes. The problem was that the function doesn't merely depend on the old style or the new style, but PaintsWithTransparency() based on the new style and the current compositing status, so PaintedOutputInvisible(old_style) was not the actual old invisible status. This caused we missed repaint of the layer in the following case: frame 1: opacity 0 (we don't paint the layer) frame 2: opacity 0 -> 1 (PaintedOutputInvisible(old_style) was wrong, so we failed to detect the change of it) layout and compositing update [1] opacity 1 -> 0.9 [1] If we also do prepaint here, change of existence of the effect node will trigger repaint of the layer, so the issue reproduces only in the above sequence (tested in the new wpt test). Now let PaintedOutputInvisible() only access the input style. Bug: 922084 Change-Id: Iec98b0304275cff968ed8053776f7c9a77a9625c Reviewed-on: https://chromium-review.googlesource.com/c/1416913 Reviewed-by: Philip Rogers <pdr@chromium.org> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#624311} -- wpt-commits: 0d7a7e23965ff8c14669800d6e3d1dc86eb8c2f3 wpt-pr: 14913 |
||
|---|---|---|
| .. | ||
| opacity-change-parent-stacking-context-ref.html | ||
| opacity-change-parent-stacking-context.html | ||
| opacity-change-twice-stacking-context-ref.html | ||
| opacity-change-twice-stacking-context.html | ||