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

Issue 2736213002: Fix caret paint invalidation issues (Closed)

Created:
3 years, 9 months ago by Xianzhu
Modified:
3 years, 9 months ago
Reviewers:
chrishtr
CC:
blink-reviews, chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix caret paint invalidation issues - We should save CaretDisplayItemClient::m_previousLayoutBlock only if it has not been saved since the last paint invalidation, because we use it to invalidate the caret in the layout block of the previous paint invalidation. - Caret painted output can change paint offset without visual rect change. Invalidate display item client if the block is doing full paint invalidation. BUG=699044, 698662 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2736213002 Cr-Commit-Position: refs/heads/master@{#455657} Committed: https://chromium.googlesource.com/chromium/src/+/0f9cfc4753603c7b19d8ea434ddd6326d5417894

Patch Set 1 #

Patch Set 2 : - #

Total comments: 5

Patch Set 3 : - #

Patch Set 4 : - #

Patch Set 5 : - #

Total comments: 1

Patch Set 6 : - #

Patch Set 7 : - #

Patch Set 8 : - #

Unified diffs Side-by-side diffs Delta from patch set Stats (+141 lines, -68 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html View 1 2 3 4 5 6 7 1 chunk +15 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual-expected.html View 1 2 3 4 5 6 7 1 chunk +8 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/move-caret-in-container-change-paint-offset-keep-visual.html View 1 2 3 4 5 6 7 1 chunk +23 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/move-caret-in-container-change-paint-offset-keep-visual-expected.html View 1 2 3 4 5 6 7 1 chunk +9 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/editing/CaretDisplayItemClient.h View 1 2 2 chunks +10 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/core/editing/CaretDisplayItemClient.cpp View 1 2 3 4 chunks +39 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp View 7 chunks +16 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/editing/DragCaret.h View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/editing/DragCaret.cpp View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/editing/FrameCaret.h View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/editing/FrameCaret.cpp View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/editing/FrameSelection.h View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/editing/FrameSelection.cpp View 1 2 1 chunk +2 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BlockPaintInvalidator.cpp View 1 2 1 chunk +5 lines, -5 lines 0 comments Download

Messages

Total messages: 40 (25 generated)
Xianzhu
This CL replaces https://codereview.chromium.org/2737043002/. https://codereview.chromium.org/2736213002/diff/20001/third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp File third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp (right): https://codereview.chromium.org/2736213002/diff/20001/third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp#newcode56 third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp:56: document().view()->updateLifecycleToLayoutClean(); This is to reproduce ...
3 years, 9 months ago (2017-03-08 17:07:06 UTC) #8
chrishtr
https://codereview.chromium.org/2736213002/diff/20001/third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html File third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html (right): https://codereview.chromium.org/2736213002/diff/20001/third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html#newcode11 third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html:11: container.scrollLeft = 56; Does this layout test exercise the ...
3 years, 9 months ago (2017-03-08 17:36:06 UTC) #9
Xianzhu
https://codereview.chromium.org/2736213002/diff/20001/third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html File third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html (right): https://codereview.chromium.org/2736213002/diff/20001/third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html#newcode11 third_party/WebKit/LayoutTests/paint/invalidation/caret-change-paint-offset-keep-visual.html:11: container.scrollLeft = 56; On 2017/03/08 17:36:06, chrishtr wrote: > ...
3 years, 9 months ago (2017-03-08 19:38:22 UTC) #12
chrishtr
lgtm
3 years, 9 months ago (2017-03-08 19:44:47 UTC) #14
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/2736213002/80001
3 years, 9 months ago (2017-03-08 19:45:22 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/405047)
3 years, 9 months ago (2017-03-08 21:11:51 UTC) #17
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/2736213002/100001
3 years, 9 months ago (2017-03-08 21:47:28 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/167066) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 9 months ago (2017-03-08 21:50:15 UTC) #22
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/2736213002/120001
3 years, 9 months ago (2017-03-08 21:53:45 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/336546)
3 years, 9 months ago (2017-03-08 22:37:50 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/2736213002/120001
3 years, 9 months ago (2017-03-08 22:39:15 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/403233)
3 years, 9 months ago (2017-03-08 23:49:57 UTC) #31
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/2736213002/140001
3 years, 9 months ago (2017-03-09 00:14:32 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/2736213002/140001
3 years, 9 months ago (2017-03-09 02:22:48 UTC) #37
commit-bot: I haz the power
3 years, 9 months ago (2017-03-09 03:48:17 UTC) #40
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://chromium.googlesource.com/chromium/src/+/0f9cfc4753603c7b19d8ea434ddd...

Powered by Google App Engine
This is Rietveld 408576698