• kojii@chromium.org's avatar
    Fix nested 'unicode-bidi: isolate' can cause infinite loop · 9c64e0ee
    kojii@chromium.org authored
    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
    
    Review URL: https://codereview.chromium.org/1328633002
    
    git-svn-id: svn://svn.chromium.org/blink/trunk@201847 bbb929c8-8fbe-4397-9dbb-9b2b20218538
    9c64e0ee
unicode-bidi-isolate-nested-crash.html 252 Bytes