Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(949)

Issue 2699463004: Fix gradient background invalidation when HTML size changes (Closed)

Created:
3 years, 10 months ago by Xianzhu
Modified:
3 years, 10 months ago
Reviewers:
chrishtr, trchen
CC:
blink-reviews, blink-reviews-layout_chromium.org, chromium-reviews, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix viewport background invalidation when HTML size changes Non-fixed-attachment viewport background uses root element as the background positioning area. If HTML size changes, and the background needs paint invalidation on the resize, we should invalidate the LayoutView. BUG=688596 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2699463004 Cr-Commit-Position: refs/heads/master@{#451265} Committed: https://chromium.googlesource.com/chromium/src/+/d34bb14bf30e4885f704336b0658cd32ba01e108

Patch Set 1 #

Patch Set 2 : - #

Patch Set 3 : Rebase #

Total comments: 1

Patch Set 4 : Refactor #

Patch Set 5 : Refactor #

Total comments: 7

Patch Set 6 : - #

Total comments: 8

Patch Set 7 : - #

Patch Set 8 : Rebaseline tests #

Patch Set 9 : - #

Unified diffs Side-by-side diffs Delta from patch set Stats (+214 lines, -1713 lines) Patch
M third_party/WebKit/LayoutTests/paint/invalidation/border-radius-repaint-2-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/fixed-and-absolute-position-scrolled-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/scrolled-iframe-scrollbar-change-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/viewport-gradient-background-html-resize.html View 1 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/viewport-gradient-background-html-resize-expected.html View 1 1 chunk +15 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/viewport-gradient-background-html-resize-expected.txt View 1 2 3 4 1 chunk +33 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-background-image-fixed-centered-composited-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -36 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-background-image-fixed-centered-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -36 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-background-image-generated-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -36 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-background-image-non-fixed-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -36 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-centered-inline-under-fixed-pos-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -36 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-frameset-expected.txt View 1 2 3 4 5 6 7 19 chunks +4 lines, -152 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-media-query-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -36 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-percent-html-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -36 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-percent-width-height-expected.txt View 1 2 3 4 5 6 7 4 chunks +0 lines, -16 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-positioned-bottom-expected.txt View 1 2 3 4 5 6 7 4 chunks +0 lines, -16 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-positioned-percent-top-expected.txt View 1 2 3 4 5 6 7 4 chunks +0 lines, -16 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/window-resize-viewport-percent-expected.txt View 1 2 3 4 5 6 7 4 chunks +0 lines, -16 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -44 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -52 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/fixed-and-absolute-position-scrolled-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -26 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/line-flow-with-floats-2-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -114 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/line-flow-with-floats-8-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -126 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -43 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -38 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/table-shrink-row-repaint-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -155 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/text-match-document-change-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -35 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/paint/invalidation/window-resize-vertical-writing-mode-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -125 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -14 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/line-flow-with-floats-2-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/line-flow-with-floats-8-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-shrink-row-repaint-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/text-match-document-change-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/window-resize-vertical-writing-mode-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -42 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt View 1 2 3 4 5 6 7 4 chunks +1 line, -15 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -14 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/line-flow-with-floats-9-expected.txt View 1 2 3 4 5 6 7 8 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-shrink-row-repaint-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/text-match-document-change-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/window-resize-vertical-writing-mode-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -42 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -14 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/line-flow-with-floats-9-expected.txt View 1 2 3 4 5 6 7 8 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-shrink-row-repaint-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/text-match-document-change-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/window-resize-vertical-writing-mode-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -42 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt View 1 2 3 4 5 6 7 8 4 chunks +1 line, -15 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/window-resize-percent-html-expected.txt View 1 2 3 4 5 6 7 8 chunks +0 lines, -36 lines 0 comments Download
D third_party/WebKit/LayoutTests/virtual/spv2/fast/repaint/border-radius-repaint-2-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -32 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutView.h View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutView.cpp View 1 2 3 7 chunks +14 lines, -14 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BUILD.gn View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPaintInvalidator.h View 1 2 3 4 5 6 2 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp View 1 2 3 4 5 6 4 chunks +25 lines, -17 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp View 1 2 3 4 6 chunks +6 lines, -14 lines 0 comments Download
A third_party/WebKit/Source/core/paint/ViewPaintInvalidator.h View 1 2 3 4 5 6 1 chunk +35 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/paint/ViewPaintInvalidator.cpp View 1 2 3 4 5 6 1 chunk +51 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/PaintInvalidationReason.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/PaintInvalidationReason.cpp View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 44 (25 generated)
Xianzhu
Will rebaseline the failing layout tests by removing the extra HTML paint invalidations.
3 years, 10 months ago (2017-02-16 17:08:54 UTC) #15
chrishtr
Why can't this case be handled with something like the already-existing code in BoxPaintInvalidator::shouldFullyInvalidateBackgroundOnLayoutOverflowChange? https://codereview.chromium.org/2699463004/diff/40001/third_party/WebKit/Source/core/layout/LayoutView.cpp ...
3 years, 10 months ago (2017-02-16 18:39:37 UTC) #16
Xianzhu
> Why can't this case be handled with something like the already-existing code in > ...
3 years, 10 months ago (2017-02-16 20:45:33 UTC) #17
Xianzhu
https://codereview.chromium.org/2699463004/diff/80001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.h File third_party/WebKit/Source/core/paint/BoxPaintInvalidator.h (right): https://codereview.chromium.org/2699463004/diff/80001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.h#newcode30 third_party/WebKit/Source/core/paint/BoxPaintInvalidator.h:30: static LayoutSize previousBorderBoxSize(const LayoutBox&); I will follow-up to try ...
3 years, 10 months ago (2017-02-16 20:47:09 UTC) #18
chrishtr
I'm still not sure what is special about the LayoutView, even with --root-layer-scrolls. Why can't ...
3 years, 10 months ago (2017-02-16 21:11:14 UTC) #19
Xianzhu
On 2017/02/16 21:11:14, chrishtr wrote: > I'm still not sure what is special about the ...
3 years, 10 months ago (2017-02-16 21:51:15 UTC) #20
Xianzhu
https://codereview.chromium.org/2699463004/diff/80001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp File third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp (right): https://codereview.chromium.org/2699463004/diff/80001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp#newcode317 third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp:317: // know its previous border box size. On 2017/02/16 ...
3 years, 10 months ago (2017-02-16 22:01:58 UTC) #21
Xianzhu
Updated CL description to include more information.
3 years, 10 months ago (2017-02-16 22:40:44 UTC) #23
trchen
On 2017/02/16 21:11:14, chrishtr wrote: > I'm still not sure what is special about the ...
3 years, 10 months ago (2017-02-16 22:50:44 UTC) #24
chrishtr
https://codereview.chromium.org/2699463004/diff/100001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp File third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp (right): https://codereview.chromium.org/2699463004/diff/100001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp#newcode380 third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp:380: LayoutSize BoxPaintInvalidator::previousBorderBoxSize(const LayoutBox& box) { It's weird that there ...
3 years, 10 months ago (2017-02-16 23:11:25 UTC) #25
Xianzhu
https://codereview.chromium.org/2699463004/diff/100001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp File third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp (right): https://codereview.chromium.org/2699463004/diff/100001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp#newcode380 third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp:380: LayoutSize BoxPaintInvalidator::previousBorderBoxSize(const LayoutBox& box) { On 2017/02/16 23:11:25, chrishtr ...
3 years, 10 months ago (2017-02-16 23:39:35 UTC) #26
chrishtr
lgtm
3 years, 10 months ago (2017-02-16 23:49:46 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2699463004/130001
3 years, 10 months ago (2017-02-17 00:16:39 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_layout_tests_slimming_paint_v2 on ...
3 years, 10 months ago (2017-02-17 02:19:26 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2699463004/130001
3 years, 10 months ago (2017-02-17 02:27:52 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2699463004/150001
3 years, 10 months ago (2017-02-17 03:51:50 UTC) #37
commit-bot: I haz the power
Try jobs failed on following builders: linux_layout_tests_slimming_paint_v2 on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
3 years, 10 months ago (2017-02-17 05:53:45 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2699463004/150001
3 years, 10 months ago (2017-02-17 05:55:05 UTC) #41
commit-bot: I haz the power
3 years, 10 months ago (2017-02-17 07:48:56 UTC) #44
Message was sent while issue was closed.
Committed patchset #9 (id:150001) as
https://chromium.googlesource.com/chromium/src/+/d34bb14bf30e4885f704336b0658...

Powered by Google App Engine
This is Rietveld 408576698