Changeset 125610 in webkit


Ignore:
Timestamp:
Aug 14, 2012 2:36:08 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[CSSRegions]Region overset property is incorectly computed when content has negative letter spacing and is flowed near to the edge of a region
https://bugs.webkit.org/show_bug.cgi?id=92506

Patch by Andrei Onea <onea@adobe.com> on 2012-08-14
Reviewed by Eric Seidel.

Source/WebCore:

When the content which is flowed inside a region creates visual overflow in
the writing direction, the overflow rect is also extended in the other direction, and
that forces regionOverset to become "fit" for all regions.

Tests: fast/regions/element-region-overset-state-negative-letter-spacing.html

fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::computeOverflowStateForRegions):

LayoutTests:

Added tests for incorrect regionOverset computation when visual overflow in the writing direction creates
overset for all regions.

  • fast/regions/element-region-overset-state-negative-letter-spacing-expected.txt: Added.
  • fast/regions/element-region-overset-state-negative-letter-spacing.html: Added.
  • fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing-expected.txt: Added.
  • fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html: Added.
Location:
trunk
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r125608 r125610  
     12012-08-14  Andrei Onea  <onea@adobe.com>
     2
     3        [CSSRegions]Region overset property is incorectly computed when content has negative letter spacing and is flowed near to the edge of a region
     4        https://bugs.webkit.org/show_bug.cgi?id=92506
     5
     6        Reviewed by Eric Seidel.
     7
     8        Added tests for incorrect regionOverset computation when visual overflow in the writing direction creates
     9        overset for all regions.
     10
     11        * fast/regions/element-region-overset-state-negative-letter-spacing-expected.txt: Added.
     12        * fast/regions/element-region-overset-state-negative-letter-spacing.html: Added.
     13        * fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing-expected.txt: Added.
     14        * fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html: Added.
     15
    1162012-08-14  Florin Malita  <fmalita@chromium.org>
    217
  • trunk/Source/WebCore/ChangeLog

    r125608 r125610  
     12012-08-14  Andrei Onea  <onea@adobe.com>
     2
     3        [CSSRegions]Region overset property is incorectly computed when content has negative letter spacing and is flowed near to the edge of a region
     4        https://bugs.webkit.org/show_bug.cgi?id=92506
     5
     6        Reviewed by Eric Seidel.
     7
     8        When the content which is flowed inside a region creates visual overflow in
     9        the writing direction, the overflow rect is also extended in the other direction, and
     10        that forces regionOverset to become "fit" for all regions.
     11
     12        Tests: fast/regions/element-region-overset-state-negative-letter-spacing.html
     13               fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html
     14
     15        * rendering/RenderFlowThread.cpp:
     16        (WebCore::RenderFlowThread::computeOverflowStateForRegions):
     17
    1182012-08-14  Florin Malita  <fmalita@chromium.org>
    219
  • trunk/Source/WebCore/rendering/RenderFlowThread.cpp

    r125600 r125610  
    679679    // because of how computeLogicalHeight is implemented for RenderFlowThread (as a sum of all regions height).
    680680    // This means that the middle region will be marked as fit (even if it has visual overflow flowing into the next region)
    681     if (hasRenderOverflow())
     681    if (hasRenderOverflow() && ( (isHorizontalWritingMode() && visualOverflowRect().maxY() > clientBoxRect().maxY())
     682                                || (!isHorizontalWritingMode() && visualOverflowRect().maxX() > clientBoxRect().maxX())))
    682683        height = isHorizontalWritingMode() ? visualOverflowRect().maxY() : visualOverflowRect().maxX();
    683684
Note: See TracChangeset for help on using the changeset viewer.