Changeset 219742 in webkit


Ignore:
Timestamp:
Jul 21, 2017 2:04:43 PM (7 years ago)
Author:
Alan Bujtas
Message:

iBooks: Overlapping/missing content at beginning/end of paragraph.
https://bugs.webkit.org/show_bug.cgi?id=174717
<rdar://problem/33117912>

Reviewed by Simon Fraser.

By definiton simple and normal line layout should always produce the exact same lineboxes. It enables us not
to force repaint while swapping between these 2 line layouts.
However in certain cases (font size pixel rounding as an example) they don't agree on how much content fits the line and
that could result in missing/overlapping content due to the lack of repaint.

Unable to test.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::ensureLineBoxes):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r219741 r219742  
     12017-07-21  Zalan Bujtas  <zalan@apple.com>
     2
     3        iBooks: Overlapping/missing content at beginning/end of paragraph.
     4        https://bugs.webkit.org/show_bug.cgi?id=174717
     5        <rdar://problem/33117912>
     6
     7        Reviewed by Simon Fraser.
     8
     9        By definiton simple and normal line layout should always produce the exact same lineboxes. It enables us not
     10        to force repaint while swapping between these 2 line layouts.
     11        However in certain cases (font size pixel rounding as an example) they don't agree on how much content fits the line and
     12        that could result in missing/overlapping content due to the lack of repaint.
     13
     14        Unable to test.
     15
     16        * rendering/RenderBlockFlow.cpp:
     17        (WebCore::RenderBlockFlow::ensureLineBoxes):
     18
    1192017-07-21  Chris Dumez  <cdumez@apple.com>
    220
  • trunk/Source/WebCore/rendering/RenderBlockFlow.cpp

    r219216 r219742  
    37593759        if (shouldBreakAtLineToAvoidWidow())
    37603760            layoutLineBoxes(relayoutChildren, repaintLogicalTop, repaintLogicalBottom);
     3761        // FIXME: This is needed as long as simple and normal line layout produce different line breakings.
     3762        repaint();
    37613763    } else
    37623764        layoutLineBoxes(relayoutChildren, repaintLogicalTop, repaintLogicalBottom);
Note: See TracChangeset for help on using the changeset viewer.