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

Issue 2077313002: Prevent to measure the whole word when break-all (Closed)

Created:
4 years, 6 months ago by kojii
Modified:
4 years, 5 months ago
Reviewers:
eae
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
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Prevent to measure the whole word when break-all This patch applies the same heuristic fix as break-word to break-all. Since the switch to the complex path, r385693 fixed the performance and correctness issue of break-word and break-all in common cases. However, it also introduced a performance regression when a word is really long, such as minimized JS. This can be fixed by taking over the ShapeResult to the next lines as Gecko does, but it will require larger overhaul of the line breaker and need more time to bake. As an interim fix, r387974 introduced a heuristic fix for break-word. This patch applies the same heuristic to break-all. This patch also revealed that the fix for crbug.com/603679 was not correct. MidWordBreak must be recomputed when floats pushed the line down and available width changed. This patch includes the fix. BUG=622810, 603679 Committed: https://crrev.com/d24d249700deef0ed63bf12ebb6af3b28f8225fb Cr-Commit-Position: refs/heads/master@{#403830}

Patch Set 1 #

Patch Set 2 : Fix and refactor #

Patch Set 3 : Fix #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+45 lines, -14 lines) Patch
M third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h View 1 2 6 chunks +45 lines, -14 lines 2 comments Download

Messages

Total messages: 11 (5 generated)
kojii
PTAL.
4 years, 5 months ago (2016-07-05 11:32:27 UTC) #4
kojii
https://codereview.chromium.org/2077313002/diff/40001/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h File third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h (right): https://codereview.chromium.org/2077313002/diff/40001/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h#newcode567 third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h:567: Up to this point in this function is just ...
4 years, 5 months ago (2016-07-05 11:37:59 UTC) #5
eae
Thanks for doing this. LGTM
4 years, 5 months ago (2016-07-05 23:17:34 UTC) #6
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/2077313002/40001
4 years, 5 months ago (2016-07-05 23:19:53 UTC) #8
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 5 months ago (2016-07-05 23:24:15 UTC) #9
commit-bot: I haz the power
4 years, 5 months ago (2016-07-05 23:25:59 UTC) #11
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/d24d249700deef0ed63bf12ebb6af3b28f8225fb
Cr-Commit-Position: refs/heads/master@{#403830}

Powered by Google App Engine
This is Rietveld 408576698