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

Issue 1363913004: [Reland] Invalidate whitespace text on text color changes (Closed)

Created:
5 years, 3 months ago by pdr.
Modified:
5 years, 3 months ago
Reviewers:
chrishtr
CC:
chromium-reviews, plundblad+watch_chromium.org, aboxhall+watch_chromium.org, nektar+watch_chromium.org, yuzo+watch_chromium.org, je_julie, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Reland] Invalidate whitespace text on text color changes This patch updates the optimization added in [1] to invalidate whitespace text on color changes because whitespace text can have decorations such as underlines which still need to repaint. The big idea of the optimization in [1] is to not unnecessarily repaint expensive items such as images that are in an <a> element. On hover, <a> will change color and underline styles which should not affect images. This patch adds a test to prove this optimization still works and prevents it from breaking in the future. This patch contains a fix for a performance regression[2] where text nodes without text (i.e., !firstTextBox) would be invalidated. This is tested by fast/repaint/inline-outline-repaint-2.html but was incorrectly thought to be a benign change in the original patch. Additional comments have been added both about the optimization and about the tricky empty-text case. Additionally, hasTextBoxes has been introduced to make this area cleaner. [1] https://src.chromium.org/viewvc/blink?view=rev&revision=152046 [2] https://src.chromium.org/viewvc/blink?view=rev&revision=202374 TBR=chrishtr BUG=529944 Committed: https://crrev.com/72f85dacbbef4c117efdb8e353036873d167b989 Cr-Commit-Position: refs/heads/master@{#350412}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+104 lines, -15 lines) Patch
A third_party/WebKit/LayoutTests/paint/invalidation/non-text-link-invalidation-optimization.html View 1 chunk +28 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/non-text-link-invalidation-optimization-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/text-decoration-invalidation.html View 1 chunk +36 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/text-decoration-invalidation-expected.html View 1 chunk +19 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/ContainerNode.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/editing/VisibleUnits.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/editing/iterators/SimplifiedBackwardsTextIterator.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 chunk +5 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutText.h View 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTreeAsText.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGInlineText.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/style/ComputedStyle.cpp View 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/style/StyleDifference.h View 2 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 17 (7 generated)
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1363913004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1363913004/1
5 years, 3 months ago (2015-09-23 18:49:48 UTC) #2
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/111203)
5 years, 3 months ago (2015-09-23 20:07:23 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1363913004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1363913004/1
5 years, 3 months ago (2015-09-23 20:10:57 UTC) #6
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/56601)
5 years, 3 months ago (2015-09-23 20:22:42 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1363913004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1363913004/1
5 years, 3 months ago (2015-09-23 21:06:27 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/117426)
5 years, 3 months ago (2015-09-23 21:23:54 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1363913004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1363913004/1
5 years, 3 months ago (2015-09-23 22:11:23 UTC) #14
commit-bot: I haz the power
Committed patchset #1 (id:1)
5 years, 3 months ago (2015-09-24 00:21:54 UTC) #15
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/72f85dacbbef4c117efdb8e353036873d167b989 Cr-Commit-Position: refs/heads/master@{#350412}
5 years, 3 months ago (2015-09-24 00:35:20 UTC) #16
pdr.
5 years, 3 months ago (2015-09-24 04:20:41 UTC) #17
Message was sent while issue was closed.
On 2015/09/24 at 00:35:20, commit-bot wrote:
> Patchset 1 (id:??) landed as
https://crrev.com/72f85dacbbef4c117efdb8e353036873d167b989
> Cr-Commit-Position: refs/heads/master@{#350412}

Original review (pre-blink-merge) was at
https://codereview.chromium.org/1363823002.

Powered by Google App Engine
This is Rietveld 408576698