|
Optimize outline paint invalidation
Shape of an outline can be affected by layout/style change of
descendants. Previously we assumed that an outline will change
when an object having outline is checked for paint invalidation
for any reason, which covered all cases of outline changes, but
also produced over invalidations, which is especially bad
when we move caret paint invalidation into paint invalidation
stage: a blinking caret will cause full paint invalidation of
the edit box having focus ring.
Now tighten the condition. If a box's outline is not affected
by descendants, don't do full paint invalidation.
TEST=paint/invalidation/outline-*.html
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Review-Url: https://codereview.chromium.org/2669003002
Cr-Commit-Position: refs/heads/master@{#448079}
Committed: https://chromium.googlesource.com/chromium/src/+/2b30e8534ceb11cd138fa1360e7ae6efc6b4c046
Total comments: 2
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+248 lines, -369 lines) |
Patch |
 |
M |
third_party/WebKit/LayoutTests/TestExpectations
|
View
|
1
2
|
1 chunk |
+2 lines, -2 lines |
2 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/paint/invalidation/border-radius-with-outline-expected.txt
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
A |
third_party/WebKit/LayoutTests/paint/invalidation/outline-become-affected-by-descendant.html
|
View
|
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
 |
A |
third_party/WebKit/LayoutTests/paint/invalidation/outline-become-affected-by-descendant-expected.txt
|
View
|
|
1 chunk |
+33 lines, -0 lines |
0 comments
|
Download
|
 |
A |
third_party/WebKit/LayoutTests/paint/invalidation/outline-become-not-affected-by-descendant.html
|
View
|
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
 |
A |
third_party/WebKit/LayoutTests/paint/invalidation/outline-become-not-affected-by-descendant-expected.txt
|
View
|
|
1 chunk |
+33 lines, -0 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/paint/invalidation/outline-child-repaint-expected.txt
|
View
|
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/paint/invalidation/outline-inset-expected.txt
|
View
|
1
|
3 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
A |
third_party/WebKit/LayoutTests/paint/invalidation/outline-not-affected-by-descendant.html
|
View
|
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
 |
A + |
third_party/WebKit/LayoutTests/paint/invalidation/outline-not-affected-by-descendant-expected.txt
|
View
|
|
1 chunk |
+5 lines, -5 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/paint/invalidation/outline-repaint-glitch-expected.txt
|
View
|
1
|
3 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
D |
third_party/WebKit/LayoutTests/platform/android/paint/invalidation/4776765-expected.txt
|
View
|
1
|
1 chunk |
+0 lines, -27 lines |
0 comments
|
Download
|
 |
D |
third_party/WebKit/LayoutTests/platform/android/paint/invalidation/delete-into-nested-block-expected.txt
|
View
|
1
|
1 chunk |
+0 lines, -56 lines |
0 comments
|
Download
|
 |
D |
third_party/WebKit/LayoutTests/platform/android/paint/invalidation/outline-inset-expected.txt
|
View
|
1
|
1 chunk |
+0 lines, -25 lines |
0 comments
|
Download
|
 |
D |
third_party/WebKit/LayoutTests/platform/android/paint/invalidation/outline-repaint-glitch-expected.txt
|
View
|
1
|
1 chunk |
+0 lines, -25 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/4776765-expected.txt
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/delete-into-nested-block-expected.txt
|
View
|
|
2 chunks |
+0 lines, -9 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/outline-inset-expected.txt
|
View
|
|
3 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/outline-repaint-glitch-expected.txt
|
View
|
|
3 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
D |
third_party/WebKit/LayoutTests/platform/linux/virtual/spv2/fast/repaint/delete-into-nested-block-expected.txt
|
View
|
1
|
1 chunk |
+0 lines, -55 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/4776765-expected.txt
|
View
|
1
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/delete-into-nested-block-expected.txt
|
View
|
1
|
2 chunks |
+0 lines, -9 lines |
0 comments
|
Download
|
 |
A |
third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/outline-become-affected-by-descendant-expected.txt
|
View
|
1
|
1 chunk |
+33 lines, -0 lines |
0 comments
|
Download
|
 |
A |
third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/outline-become-not-affected-by-descendant-expected.txt
|
View
|
1
|
1 chunk |
+33 lines, -0 lines |
0 comments
|
Download
|
 |
D |
third_party/WebKit/LayoutTests/platform/mac/virtual/spv2/fast/repaint/delete-into-nested-block-expected.txt
|
View
|
1
|
1 chunk |
+0 lines, -55 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/platform/win/paint/invalidation/4776765-expected.txt
|
View
|
1
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/LayoutTests/platform/win/paint/invalidation/delete-into-nested-block-expected.txt
|
View
|
1
|
2 chunks |
+0 lines, -9 lines |
0 comments
|
Download
|
 |
D |
third_party/WebKit/LayoutTests/platform/win/virtual/spv2/fast/repaint/delete-into-nested-block-expected.txt
|
View
|
1
|
1 chunk |
+0 lines, -55 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutBox.h
|
View
|
1
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutBox.cpp
|
View
|
1
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutObject.h
|
View
|
|
6 chunks |
+31 lines, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
View
|
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
|
View
|
1
2
|
1 chunk |
+7 lines, -7 lines |
0 comments
|
Download
|
Total messages: 25 (18 generated)
|