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

Issue 1328633002: Fix nested 'unicode-bidi: isolate' can cause infinite loop (Closed)

Created:
5 years, 3 months ago by kojii
Modified:
5 years, 3 months ago
CC:
blink-reviews, pdr+renderingwatchlist_chromium.org, zoltan1, szager+layoutwatch_chromium.org, eae+blinkwatch, leviw+renderwatch, blink-reviews-rendering, jchaffraix+rendering
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Fix nested 'unicode-bidi: isolate' can cause infinite loop This patch fixes constructBidiRunsForLine() to handle the nested 'unicode-bidi: isolate' runs with the correct containing isolate. crbug.com/274717 fixed the nested case by updating currentRoot to the root of the last nested runs. While this fixed simple cases, it does not set the correct root when nested in multiple levels. The wrong root can let highestContainingIsolateWithinRoot() to find ancestors up to the root elements. This will find ancestors that were already processed, and results in an infinite loop. BUG=520282 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=201847

Patch Set 1 #

Patch Set 2 : Comments updated #

Total comments: 1

Patch Set 3 : Add const (eae's nit) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+39 lines, -7 lines) Patch
A LayoutTests/fast/text/international/unicode-bidi-isolate-nested-crash.html View 1 chunk +13 lines, -0 lines 0 comments Download
A LayoutTests/fast/text/international/unicode-bidi-isolate-nested-crash-expected.html View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/layout/BidiRunForLine.cpp View 1 2 3 chunks +23 lines, -7 lines 0 comments Download
M Source/core/layout/line/InlineIterator.h View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 7 (3 generated)
kojii
PTAL.
5 years, 3 months ago (2015-09-02 08:46:08 UTC) #2
eae
LGTM w/nit Thanks! https://codereview.chromium.org/1328633002/diff/20001/Source/core/layout/BidiRunForLine.cpp File Source/core/layout/BidiRunForLine.cpp (right): https://codereview.chromium.org/1328633002/diff/20001/Source/core/layout/BidiRunForLine.cpp#newcode144 Source/core/layout/BidiRunForLine.cpp:144: LayoutObject* root; Could you mark this ...
5 years, 3 months ago (2015-09-04 18:31:56 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1328633002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1328633002/40001
5 years, 3 months ago (2015-09-06 01:19:38 UTC) #6
commit-bot: I haz the power
5 years, 3 months ago (2015-09-06 01:24:13 UTC) #7
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=201847

Powered by Google App Engine
This is Rietveld 408576698