Changeset 142793 in webkit


Ignore:
Timestamp:
Feb 13, 2013 1:55:24 PM (11 years ago)
Author:
leviw@chromium.org
Message:

Bidi-Isolated inlines can cause subsequent content to not be rendered
https://bugs.webkit.org/show_bug.cgi?id=108137

Reviewed by Eric Seidel.

Source/WebCore:

First step in fixing how inline isolates behave with collapsed spaces.
webkit.org/b/109624 tracks the overarching issue.

Test: fast/text/content-following-inline-isolate-with-collapsed-whitespace.html

  • rendering/InlineIterator.h:

(WebCore::IsolateTracker::addFakeRunIfNecessary): If we enter an isolate while
ignoring spaces, ensure we leave it considering them again. This can result in
including spaces that should be ignored following the isolate on the line, but
failing to do so results in those contents not being rendered at all.

LayoutTests:

  • fast/text/content-following-inline-isolate-with-collapsed-whitespace.html: Added.
  • fast/text/content-following-inline-isolate-with-collapsed-whitespace-expected.txt: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r142788 r142793  
     12013-02-13  Levi Weintraub  <leviw@chromium.org>
     2
     3        Bidi-Isolated inlines can cause subsequent content to not be rendered
     4        https://bugs.webkit.org/show_bug.cgi?id=108137
     5
     6        Reviewed by Eric Seidel.
     7
     8        * fast/text/content-following-inline-isolate-with-collapsed-whitespace.html: Added.
     9        * fast/text/content-following-inline-isolate-with-collapsed-whitespace-expected.txt: Added.
     10
    1112013-02-13  Christian Biesinger  <cbiesinger@chromium.org>
    212
  • trunk/Source/WebCore/ChangeLog

    r142791 r142793  
     12013-02-13  Levi Weintraub  <leviw@chromium.org>
     2
     3        Bidi-Isolated inlines can cause subsequent content to not be rendered
     4        https://bugs.webkit.org/show_bug.cgi?id=108137
     5
     6        Reviewed by Eric Seidel.
     7
     8        First step in fixing how inline isolates behave with collapsed spaces.
     9        webkit.org/b/109624 tracks the overarching issue.
     10
     11        Test: fast/text/content-following-inline-isolate-with-collapsed-whitespace.html
     12
     13        * rendering/InlineIterator.h:
     14        (WebCore::IsolateTracker::addFakeRunIfNecessary): If we enter an isolate while
     15        ignoring spaces, ensure we leave it considering them again. This can result in
     16        including spaces that should be ignored following the isolate on the line, but
     17        failing to do so results in those contents not being rendered at all.
     18
    1192013-02-13  Andreas Kling  <akling@apple.com>
    220
  • trunk/Source/WebCore/rendering/InlineIterator.h

    r142152 r142793  
    490490        // isolate, when we call createBidiRunsForLine it will stop at whichever comes first.
    491491        addPlaceholderRunForIsolatedInline(resolver, obj, pos);
     492        // FIXME: Inline isolates don't work properly with collapsing whitespace, see webkit.org/b/109624
     493        // For now, if we enter an isolate between midpoints, we increment our current midpoint or else
     494        // we'll leave the isolate and ignore the content that follows.
     495        MidpointState<InlineIterator>& midpointState = resolver.midpointState();
     496        if (midpointState.betweenMidpoints && midpointState.midpoints[midpointState.currentMidpoint].object() == obj) {
     497            midpointState.betweenMidpoints = false;
     498            ++midpointState.currentMidpoint;
     499        }
    492500    }
    493501
Note: See TracChangeset for help on using the changeset viewer.