1. 05 Apr, 2013 1 commit
    • hmuller@adobe.com's avatar
      [CSS Exclusions] Add support for the simple case of shape-margin polygonal shape-outside · 2a8e9f3b
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113726
      
      Reviewed by Dirk Schulze.
      
      Source/WebCore:
      
      Add support for computing the shape-outside shape-margin boundary for a polygon.
      This change is similar to the one added for padding polygons, see bug 112592.
      The algorithm used for computing the margin boundary is is provisional. It works
      correctly for convex polygons and will work correctly for non self-intersecting
      polygons whose margin boundary is the same shape as the original polygon.
      
      Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-diamond-margin-polygon.html
             fast/exclusions/shape-outside-floats/shape-outside-floats-left-margin-polygon.html
             fast/exclusions/shape-outside-floats/shape-outside-floats-right-margin-polygon.html
      
      * rendering/ExclusionPolygon.cpp:
      (WebCore::appendArc): Generalized this method a little, to deal with margin and padding connecting arcs.
      (WebCore::computeShapePaddingBounds): Pass the new appendArc() parameter.
      (WebCore::computeShapeMarginBounds): Compute the margin boundary for a polygon, per the constraints summarized above.
      (WebCore::ExclusionPolygon::getExcludedIntervals): Use the margin polygon for this computation.
      
      LayoutTests:
      
      Verify that shape-outside layout works correctly on floats, when shape-margin is specifed.
      
      * fast/exclusions/shape-outside-floats/shape-outside-floats-diamond-margin-polygon-expected.txt: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-diamond-margin-polygon.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-left-margin-polygon-expected.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-left-margin-polygon.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-right-margin-polygon-expected.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-right-margin-polygon.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a8e9f3b