Skip to content
  • commit-queue@webkit.org's avatar
    [CSS Exclusions] Points on the bottom and right edges of an exclusion shape... · 849e71b8
    commit-queue@webkit.org authored
    [CSS Exclusions] Points on the bottom and right edges of an exclusion shape should be classified as "outside"
    https://bugs.webkit.org/show_bug.cgi?id=98967
    
    Patch by Hans Muller <hmuller@adobe.com> on 2012-10-22
    Reviewed by Dirk Schulze.
    
    Source/WebCore:
    
    Changed the way lines are represented in the ExclusionShapeInsideInfo and ExclusionShape classes
    so that they're consistent with the rendering code that depends on them.  Lines are now defined
    by logicalTop, logicalHeight, instead of logicalTop,logicalBottom.  This a clean-up, not a change
    in functionality. It's already covered by the existing fast/exclusions LayoutTests.
    
    Test: fast/exclusions/shape-inside/shape-inside-bottom-edge.html
    
    * rendering/ExclusionPolygon.cpp:
    (WebCore::ExclusionPolygon::getExcludedIntervals):
    (WebCore::ExclusionPolygon::getIncludedIntervals):
    * rendering/ExclusionPolygon.h:
    * rendering/ExclusionRectangle.cpp:
    (WebCore::ExclusionRectangle::getExcludedIntervals):
    (WebCore::ExclusionRectangle::getIncludedIntervals):
    * rendering/ExclusionRectangle.h:
    * rendering/ExclusionShape.h:
    (LineSegment): Moved the struct fields below the constructor per webkit style.
    (ExclusionShape):
    (WebCore::ExclusionShape::minYForLogicalLine):
    (WebCore::ExclusionShape::maxYForLogicalLine):
    * rendering/ExclusionShapeInsideInfo.cpp:
    (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine):
    * rendering/ExclusionShapeInsideInfo.h:
    (ExclusionShapeInsideInfo):
    (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Changed the test to not include
        lines whose logicalTop is equal to the shape's top+height.
    * rendering/RenderBlockLineLayout.cpp:
    (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
    
    LayoutTests:
    
    Verify that a exclusion shape-inside overlaps lines whose top is less than the
    shape bounds' top+height but not equal to the shape bounds' top+height.
    
    * fast/exclusions/shape-inside/shape-inside-bottom-edge-expected.html: Added.
    * fast/exclusions/shape-inside/shape-inside-bottom-edge.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    849e71b8