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

Issue 2271883002: Fix paint invalidation and painting for composited-scrolling input elements. (Closed)

Created:
4 years, 4 months ago by chrishtr
Modified:
4 years, 3 months ago
Reviewers:
bokan, pdr.
CC:
blink-reviews, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, slimming-paint-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix paint invalidation and painting for composited-scrolling input elements. In, particular, the following issues: 1. Paint invalidation missed cases when elements had "intrinsic scrollability", in particular input elements. 2. Invalidation of carets incorrectly included scrolling for composited input elements. 3. The DisplayItemClient must be distinct for case #2, because it paints into a different GraphicsLayer than the rest of the LayoutBlock. BUG=635724 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93 Cr-Commit-Position: refs/heads/master@{#415013}

Patch Set 1 #

Patch Set 2 : none #

Patch Set 3 : none #

Patch Set 4 : none #

Total comments: 9

Patch Set 5 : none #

Patch Set 6 : none #

Patch Set 7 : none #

Patch Set 8 : none #

Patch Set 9 : none #

Patch Set 10 : none #

Patch Set 11 : none #

Patch Set 12 : none #

Patch Set 13 : none #

Patch Set 14 : none #

Patch Set 15 : none #

Unified diffs Side-by-side diffs Delta from patch set Stats (+489 lines, -27 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +12 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-composited-scrolling-container.html View 1 2 1 chunk +21 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt View 1 2 1 chunk +92 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container.html View 1 2 1 chunk +21 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt View 1 2 3 1 chunk +79 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/selection/selection-in-composited-scrolling-container.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +18 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/selection/selection-in-composited-scrolling-container-expected.txt View 1 1 chunk +108 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/selection/selection-in-non-composited-scrolling-container.html View 1 2 1 chunk +18 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/selection/selection-in-non-composited-scrolling-container-expected.txt View 1 1 chunk +78 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/editing/CaretBase.h View 1 2 3 4 5 3 chunks +5 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/editing/CaretBase.cpp View 1 2 3 4 5 5 chunks +21 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/editing/DragCaretController.cpp View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/editing/FrameCaret.cpp View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BlockPainter.cpp View 1 2 3 4 5 2 chunks +2 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +5 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 79 (50 generated)
chrishtr
WDYT? I'm a bit confused about how this particular condition could be needed to force ...
4 years, 4 months ago (2016-08-23 23:10:20 UTC) #4
chrishtr
FYI I can't commit this as-is due to another problem with carets, but could you ...
4 years, 4 months ago (2016-08-24 01:26:57 UTC) #9
dtapuska
On 2016/08/24 at 01:26:57, chrishtr wrote: > FYI I can't commit this as-is due to ...
4 years, 4 months ago (2016-08-24 13:35:31 UTC) #10
bokan
On 2016/08/23 23:10:20, chrishtr wrote: > WDYT? I'm a bit confused about how this particular ...
4 years, 4 months ago (2016-08-24 15:31:05 UTC) #11
chrishtr
@bokan: I confirmed that touch scrolling works for an input box (in particular, the one ...
4 years, 3 months ago (2016-08-25 21:13:01 UTC) #13
pdr.
This looks pretty good! The caret-outside-block.html failure looks like a trivial fix. Just some minor ...
4 years, 3 months ago (2016-08-25 22:07:11 UTC) #19
bokan
https://codereview.chromium.org/2271883002/diff/60001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp File third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp (right): https://codereview.chromium.org/2271883002/diff/60001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp#newcode1480 third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp:1480: // Scroll form controls on the main thread so ...
4 years, 3 months ago (2016-08-26 15:38:33 UTC) #20
chrishtr
https://codereview.chromium.org/2271883002/diff/60001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp File third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp (right): https://codereview.chromium.org/2271883002/diff/60001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp#newcode1480 third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp:1480: // Scroll form controls on the main thread so ...
4 years, 3 months ago (2016-08-26 15:42:36 UTC) #21
bokan
PLSA change lgtm
4 years, 3 months ago (2016-08-26 15:44:23 UTC) #22
chrishtr
https://codereview.chromium.org/2271883002/diff/60001/third_party/WebKit/LayoutTests/editing/caret/caret-color.html File third_party/WebKit/LayoutTests/editing/caret/caret-color.html (right): https://codereview.chromium.org/2271883002/diff/60001/third_party/WebKit/LayoutTests/editing/caret/caret-color.html#newcode16 third_party/WebKit/LayoutTests/editing/caret/caret-color.html:16: moveSelectionForwardByLineCommand(); On 2016/08/25 at 22:07:11, pdr. wrote: > nit ...
4 years, 3 months ago (2016-08-26 16:02:25 UTC) #24
pdr.
On 2016/08/26 at 16:02:25, chrishtr wrote: > https://codereview.chromium.org/2271883002/diff/60001/third_party/WebKit/LayoutTests/editing/caret/caret-color.html > File third_party/WebKit/LayoutTests/editing/caret/caret-color.html (right): > > https://codereview.chromium.org/2271883002/diff/60001/third_party/WebKit/LayoutTests/editing/caret/caret-color.html#newcode16 ...
4 years, 3 months ago (2016-08-26 18:27:13 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/2271883002/180001
4 years, 3 months ago (2016-08-26 18:28:34 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/130890)
4 years, 3 months ago (2016-08-26 20:08:26 UTC) #37
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/2271883002/180001
4 years, 3 months ago (2016-08-26 20:12:06 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/131016)
4 years, 3 months ago (2016-08-26 21:57:10 UTC) #41
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/2271883002/180001
4 years, 3 months ago (2016-08-26 22:36:43 UTC) #43
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/282356)
4 years, 3 months ago (2016-08-27 01:20:41 UTC) #45
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/2271883002/180001
4 years, 3 months ago (2016-08-27 16:46:39 UTC) #47
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/131361)
4 years, 3 months ago (2016-08-27 18:18:38 UTC) #49
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/2271883002/180001
4 years, 3 months ago (2016-08-27 23:44:27 UTC) #51
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/131393)
4 years, 3 months ago (2016-08-28 01:11:28 UTC) #53
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/2271883002/200001
4 years, 3 months ago (2016-08-28 02:07:25 UTC) #56
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/131410)
4 years, 3 months ago (2016-08-28 03:21:36 UTC) #58
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/2271883002/280001
4 years, 3 months ago (2016-08-29 04:59:47 UTC) #71
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/131651)
4 years, 3 months ago (2016-08-29 05:48:33 UTC) #73
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/2271883002/280001
4 years, 3 months ago (2016-08-29 14:44:32 UTC) #75
commit-bot: I haz the power
Committed patchset #15 (id:280001)
4 years, 3 months ago (2016-08-29 15:37:46 UTC) #76
commit-bot: I haz the power
Patchset 15 (id:??) landed as https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93 Cr-Commit-Position: refs/heads/master@{#415013}
4 years, 3 months ago (2016-08-29 15:42:26 UTC) #78
flackr
4 years, 3 months ago (2016-08-29 17:00:19 UTC) #79
Message was sent while issue was closed.
A revert of this CL (patchset #15 id:280001) has been created in
https://codereview.chromium.org/2286203004/ by flackr@chromium.org.

The reason for reverting is: Broke DisplayItemTest.DebugStringsExist on debug
probably due to adding a new display item type without updating
DisplayItem::typeAsDebugString.

https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Mac1....

Powered by Google App Engine
This is Rietveld 408576698