Changeset 151402 in webkit


Ignore:
Timestamp:
Jun 10, 2013 2:23:45 PM (11 years ago)
Author:
betravis@adobe.com
Message:

[CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
https://bugs.webkit.org/show_bug.cgi?id=117162

Reviewed by Alexandru Chiculita.

Source/WebCore:

With the split between the CSS Exclusions and CSS Shapes specifications,
some renaming is necessary. In general, this patch removes 'Exclusion' from
any Shapes code, while organizing the rendering shapes code into a 'shapes'
folder.

Renames:
ExclusionShape -> Shape
Exclusion[Rectangle|Polygon] -> [Rectangle|Polygon]Shape
Exclusion -> Shape

Refactoring, no new tests.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSPrimitiveValue.h:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyShape::setValue):
(WebCore::ApplyPropertyShape::applyValue):
(WebCore::ApplyPropertyShape::createHandler):
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::PropertyWrapperShape::PropertyWrapperShape):
(WebCore::CSSPropertyAnimation::ensurePropertyMap):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:

(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::shapeInsideInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange):
(WebCore::shapeInfoRequiresRelayout):
(WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
(WebCore::RenderBlock::computeShapeSize):
(WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::computeLogicalLocationForFloat):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::ensureShapeInsideInfo):
(WebCore::RenderBlock::shapeInsideInfo):
(WebCore::RenderBlock::setShapeInsideInfo):
(WebCore::RenderBlock::allowsShapeInsideInfoSharing):
(WebCore::RenderBlock::xPositionForFloatIncludingMargin):
(WebCore::RenderBlock::yPositionForFloatIncludingMargin):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutShapeInsideInfo):
(WebCore::LineWidth::LineWidth):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::constructBidiRunsForLine):
(WebCore::adjustLogicalLineTop):
(WebCore::RenderBlock::updateLineBoundariesForShapes):
(WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded):
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange):

  • rendering/RenderBox.h:

(WebCore::RenderBox::shapeOutsideInfo):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintOffset):

  • rendering/RenderView.h:

(WebCore::RenderView::pushLayoutState):

  • rendering/shapes/PolygonShape.cpp: Renamed from Source/WebCore/rendering/ExclusionPolygon.cpp.

(WebCore::leftSide):
(WebCore::isReflexVertex):
(WebCore::computeXIntersection):
(WebCore::inwardEdgeNormal):
(WebCore::outwardEdgeNormal):
(WebCore::appendArc):
(WebCore::snapVerticesToLayoutUnitGrid):
(WebCore::computeShapePaddingBounds):
(WebCore::computeShapeMarginBounds):
(WebCore::PolygonShape::shapePaddingBounds):
(WebCore::PolygonShape::shapeMarginBounds):
(WebCore::getVertexIntersectionVertices):
(WebCore::appendIntervalX):
(WebCore::compareEdgeIntersectionX):
(WebCore::computeXIntersections):
(WebCore::computeOverlappingEdgeXProjections):
(WebCore::PolygonShape::getExcludedIntervals):
(WebCore::PolygonShape::getIncludedIntervals):
(WebCore::firstFitRectInPolygon):
(WebCore::aboveOrToTheLeft):
(WebCore::PolygonShape::firstIncludedIntervalLogicalTop):

  • rendering/shapes/PolygonShape.h: Renamed from Source/WebCore/rendering/ExclusionPolygon.h.

(WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
(WebCore::OffsetPolygonEdge::edgeIndex):
(WebCore::OffsetPolygonEdge::basis):
(WebCore::PolygonShape::PolygonShape):

  • rendering/shapes/RectangleShape.cpp: Renamed from Source/WebCore/rendering/ExclusionRectangle.cpp.

(WebCore::ellipseXIntercept):
(WebCore::ellipseYIntercept):
(WebCore::FloatRoundedRect::paddingBounds):
(WebCore::FloatRoundedRect::marginBounds):
(WebCore::FloatRoundedRect::cornerInterceptForWidth):
(WebCore::RectangleShape::shapePaddingBounds):
(WebCore::RectangleShape::shapeMarginBounds):
(WebCore::RectangleShape::getExcludedIntervals):
(WebCore::RectangleShape::getIncludedIntervals):
(WebCore::RectangleShape::firstIncludedIntervalLogicalTop):

  • rendering/shapes/RectangleShape.h: Renamed from Source/WebCore/rendering/ExclusionRectangle.h.

(WebCore::FloatRoundedRect::FloatRoundedRect):
(WebCore::FloatRoundedRect::rx):
(WebCore::FloatRoundedRect::ry):
(WebCore::RectangleShape::RectangleShape):

  • rendering/shapes/Shape.cpp: Renamed from Source/WebCore/rendering/ExclusionShape.cpp.

(WebCore::createRectangleShape):
(WebCore::createShapeCircle):
(WebCore::createShapeEllipse):
(WebCore::createPolygonShape):
(WebCore::physicalRectToLogical):
(WebCore::physicalPointToLogical):
(WebCore::physicalSizeToLogical):
(WebCore::Shape::createShape):

  • rendering/shapes/Shape.h: Renamed from Source/WebCore/rendering/ExclusionShape.h.

(WebCore::LineSegment::LineSegment):
(WebCore::Shape::~Shape):
(WebCore::Shape::shapeMargin):
(WebCore::Shape::shapePadding):

  • rendering/shapes/ShapeInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.cpp.

(WebCore::::computedShape):
(WebCore::::computeSegmentsForLine):

  • rendering/shapes/ShapeInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.h.

(WebCore::MappedInfo::ensureInfo):
(WebCore::MappedInfo::removeInfo):
(WebCore::MappedInfo::info):
(WebCore::MappedInfo::infoMap):
(WebCore::ShapeInfo::~ShapeInfo):
(WebCore::ShapeInfo::setShapeSize):
(WebCore::ShapeInfo::clearSegments):
(WebCore::ShapeInfo::shapeLogicalTop):
(WebCore::ShapeInfo::shapeLogicalBottom):
(WebCore::ShapeInfo::shapeLogicalLeft):
(WebCore::ShapeInfo::shapeLogicalRight):
(WebCore::ShapeInfo::shapeLogicalWidth):
(WebCore::ShapeInfo::shapeLogicalHeight):
(WebCore::ShapeInfo::logicalLineTop):
(WebCore::ShapeInfo::logicalLineBottom):
(WebCore::ShapeInfo::shapeContainingBlockHeight):
(WebCore::ShapeInfo::lineOverlapsShapeBounds):
(WebCore::ShapeInfo::lineWithinShapeBounds):
(WebCore::ShapeInfo::dirtyShapeSize):
(WebCore::ShapeInfo::shapeSizeDirty):
(WebCore::ShapeInfo::owner):
(WebCore::ShapeInfo::ShapeInfo):
(WebCore::ShapeInfo::logicalTopOffset):
(WebCore::ShapeInfo::logicalLeftOffset):

  • rendering/shapes/ShapeInsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp.

(WebCore::LineSegmentRange::LineSegmentRange):
(WebCore::ShapeInsideInfo::isEnabledFor):
(WebCore::ShapeInsideInfo::adjustLogicalLineTop):

  • rendering/shapes/ShapeInsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.h.

(WebCore::LineSegmentIterator::LineSegmentIterator):
(WebCore::ShapeInsideInfo::createInfo):
(WebCore::ShapeInsideInfo::hasSegments):
(WebCore::ShapeInsideInfo::segments):
(WebCore::ShapeInsideInfo::segmentRanges):
(WebCore::ShapeInsideInfo::currentSegment):
(WebCore::ShapeInsideInfo::setNeedsLayout):
(WebCore::ShapeInsideInfo::needsLayout):
(WebCore::ShapeInsideInfo::ShapeInsideInfo):

  • rendering/shapes/ShapeInterval.cpp: Renamed from Source/WebCore/rendering/ExclusionInterval.cpp.

(WebCore::IntervalX1Comparator::operator()):
(WebCore::ShapeInterval::intersect):
(WebCore::sortShapeIntervals):
(WebCore::mergeShapeIntervals):
(WebCore::intersectShapeIntervals):
(WebCore::subtractShapeIntervals):

  • rendering/shapes/ShapeInterval.h: Renamed from Source/WebCore/rendering/ExclusionInterval.h.

(WebCore::ShapeInterval::ShapeInterval):

  • rendering/shapes/ShapeOutsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp.

(WebCore::ShapeOutsideInfo::isEnabledFor):
(WebCore::ShapeOutsideInfo::computeSegmentsForLine):

  • rendering/shapes/ShapeOutsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.h.

(WebCore::ShapeOutsideInfo::shapeLogicalOffset):
(WebCore::ShapeOutsideInfo::leftSegmentShapeBoundingBoxDelta):
(WebCore::ShapeOutsideInfo::rightSegmentShapeBoundingBoxDelta):
(WebCore::ShapeOutsideInfo::createInfo):
(WebCore::ShapeOutsideInfo::ShapeOutsideInfo):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::initialShapeInside):

  • rendering/style/RenderStyle.h:
  • rendering/style/ShapeValue.h: Renamed from Source/WebCore/rendering/style/ExclusionShapeValue.h.

(WebCore::ShapeValue::createShapeValue):
(WebCore::ShapeValue::createOutsideValue):
(WebCore::ShapeValue::createImageValue):
(WebCore::ShapeValue::type):
(WebCore::ShapeValue::shape):
(WebCore::ShapeValue::image):
(WebCore::ShapeValue::setImage):
(WebCore::ShapeValue::operator==):
(WebCore::ShapeValue::ShapeValue):

  • rendering/style/StyleRareNonInheritedData.h:

Source/WebKit:

Adding the WebCore/rendering/shapes directory to the include list.

  • CMakeLists.txt:

Source/WebKit2:

Adding the WebCore/rendering/shapes directory to the include list.

  • CMakeLists.txt:

Tools:

Adding the WebCore/rendering/shapes directory to the include list.

  • DumpRenderTree/efl/CMakeLists.txt:
Location:
trunk
Files:
1 added
31 edited
15 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r151223 r151402  
    7777    "${WEBCORE_DIR}/rendering"
    7878    "${WEBCORE_DIR}/rendering/mathml"
     79    "${WEBCORE_DIR}/rendering/shapes"
    7980    "${WEBCORE_DIR}/rendering/style"
    8081    "${WEBCORE_DIR}/rendering/svg"
     
    20942095    rendering/CounterNode.cpp
    20952096    rendering/EllipsisBox.cpp
    2096     rendering/ExclusionInterval.cpp
    2097     rendering/ExclusionPolygon.cpp
    2098     rendering/ExclusionRectangle.cpp
    2099     rendering/ExclusionShape.cpp
    2100     rendering/ExclusionShapeInfo.cpp
    2101     rendering/ExclusionShapeInsideInfo.cpp
    2102     rendering/ExclusionShapeOutsideInfo.cpp
    21032097    rendering/FilterEffectRenderer.cpp
    21042098    rendering/FixedTableLayout.cpp
     
    22142208    rendering/mathml/RenderMathMLSubSup.cpp
    22152209    rendering/mathml/RenderMathMLUnderOver.cpp
     2210
     2211    rendering/shapes/PolygonShape.cpp
     2212    rendering/shapes/RectangleShape.cpp
     2213    rendering/shapes/Shape.cpp
     2214    rendering/shapes/ShapeInfo.cpp
     2215    rendering/shapes/ShapeInsideInfo.cpp
     2216    rendering/shapes/ShapeInterval.cpp
     2217    rendering/shapes/ShapeOutsideInfo.cpp
    22162218
    22172219    rendering/style/BasicShapes.cpp
  • trunk/Source/WebCore/ChangeLog

    r151398 r151402  
     12013-06-10  Bear Travis  <betravis@adobe.com>
     2
     3        [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
     4        https://bugs.webkit.org/show_bug.cgi?id=117162
     5
     6        Reviewed by Alexandru Chiculita.
     7
     8        With the split between the CSS Exclusions and CSS Shapes specifications,
     9        some renaming is necessary. In general, this patch removes 'Exclusion' from
     10        any Shapes code, while organizing the rendering shapes code into a 'shapes'
     11        folder.
     12
     13        Renames:
     14        ExclusionShape -> Shape
     15        Exclusion[Rectangle|Polygon] -> [Rectangle|Polygon]Shape
     16        Exclusion -> Shape
     17
     18        Refactoring, no new tests.
     19
     20        * CMakeLists.txt:
     21        * GNUmakefile.am:
     22        * GNUmakefile.list.am:
     23        * Target.pri:
     24        * WebCore.pri:
     25        * WebCore.vcxproj/WebCore.vcxproj:
     26        * WebCore.vcxproj/WebCore.vcxproj.filters:
     27        * WebCore.xcodeproj/project.pbxproj:
     28        * css/CSSComputedStyleDeclaration.cpp:
     29        (WebCore::ComputedStyleExtractor::propertyValue):
     30        * css/CSSPrimitiveValue.h:
     31        * css/DeprecatedStyleBuilder.cpp:
     32        (WebCore::ApplyPropertyShape::setValue):
     33        (WebCore::ApplyPropertyShape::applyValue):
     34        (WebCore::ApplyPropertyShape::createHandler):
     35        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
     36        * page/animation/CSSPropertyAnimation.cpp:
     37        (WebCore::blendFunc):
     38        (WebCore::PropertyWrapperShape::PropertyWrapperShape):
     39        (WebCore::CSSPropertyAnimation::ensurePropertyMap):
     40        * rendering/LayoutState.cpp:
     41        (WebCore::LayoutState::LayoutState):
     42        * rendering/LayoutState.h:
     43        (WebCore::LayoutState::LayoutState):
     44        (WebCore::LayoutState::shapeInsideInfo):
     45        * rendering/RenderBlock.cpp:
     46        (WebCore::RenderBlock::styleDidChange):
     47        (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange):
     48        (WebCore::shapeInfoRequiresRelayout):
     49        (WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
     50        (WebCore::RenderBlock::computeShapeSize):
     51        (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
     52        (WebCore::RenderBlock::insertFloatingObject):
     53        (WebCore::RenderBlock::computeLogicalLocationForFloat):
     54        (WebCore::RenderBlock::positionNewFloats):
     55        (WebCore::RenderBlock::logicalLeftOffsetForLine):
     56        (WebCore::RenderBlock::logicalRightOffsetForLine):
     57        * rendering/RenderBlock.h:
     58        (WebCore::RenderBlock::ensureShapeInsideInfo):
     59        (WebCore::RenderBlock::shapeInsideInfo):
     60        (WebCore::RenderBlock::setShapeInsideInfo):
     61        (WebCore::RenderBlock::allowsShapeInsideInfoSharing):
     62        (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
     63        (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
     64        * rendering/RenderBlockLineLayout.cpp:
     65        (WebCore::RenderBlock::layoutShapeInsideInfo):
     66        (WebCore::LineWidth::LineWidth):
     67        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
     68        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
     69        (WebCore::constructBidiRunsForLine):
     70        (WebCore::adjustLogicalLineTop):
     71        (WebCore::RenderBlock::updateLineBoundariesForShapes):
     72        (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded):
     73        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
     74        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
     75        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
     76        * rendering/RenderBox.cpp:
     77        (WebCore::RenderBox::willBeDestroyed):
     78        (WebCore::RenderBox::styleDidChange):
     79        (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange):
     80        * rendering/RenderBox.h:
     81        (WebCore::RenderBox::shapeOutsideInfo):
     82        * rendering/RenderBoxModelObject.cpp:
     83        (WebCore::RenderBoxModelObject::paintOffset):
     84        * rendering/RenderView.h:
     85        (WebCore::RenderView::pushLayoutState):
     86        * rendering/shapes/PolygonShape.cpp: Renamed from Source/WebCore/rendering/ExclusionPolygon.cpp.
     87        (WebCore::leftSide):
     88        (WebCore::isReflexVertex):
     89        (WebCore::computeXIntersection):
     90        (WebCore::inwardEdgeNormal):
     91        (WebCore::outwardEdgeNormal):
     92        (WebCore::appendArc):
     93        (WebCore::snapVerticesToLayoutUnitGrid):
     94        (WebCore::computeShapePaddingBounds):
     95        (WebCore::computeShapeMarginBounds):
     96        (WebCore::PolygonShape::shapePaddingBounds):
     97        (WebCore::PolygonShape::shapeMarginBounds):
     98        (WebCore::getVertexIntersectionVertices):
     99        (WebCore::appendIntervalX):
     100        (WebCore::compareEdgeIntersectionX):
     101        (WebCore::computeXIntersections):
     102        (WebCore::computeOverlappingEdgeXProjections):
     103        (WebCore::PolygonShape::getExcludedIntervals):
     104        (WebCore::PolygonShape::getIncludedIntervals):
     105        (WebCore::firstFitRectInPolygon):
     106        (WebCore::aboveOrToTheLeft):
     107        (WebCore::PolygonShape::firstIncludedIntervalLogicalTop):
     108        * rendering/shapes/PolygonShape.h: Renamed from Source/WebCore/rendering/ExclusionPolygon.h.
     109        (WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
     110        (WebCore::OffsetPolygonEdge::edgeIndex):
     111        (WebCore::OffsetPolygonEdge::basis):
     112        (WebCore::PolygonShape::PolygonShape):
     113        * rendering/shapes/RectangleShape.cpp: Renamed from Source/WebCore/rendering/ExclusionRectangle.cpp.
     114        (WebCore::ellipseXIntercept):
     115        (WebCore::ellipseYIntercept):
     116        (WebCore::FloatRoundedRect::paddingBounds):
     117        (WebCore::FloatRoundedRect::marginBounds):
     118        (WebCore::FloatRoundedRect::cornerInterceptForWidth):
     119        (WebCore::RectangleShape::shapePaddingBounds):
     120        (WebCore::RectangleShape::shapeMarginBounds):
     121        (WebCore::RectangleShape::getExcludedIntervals):
     122        (WebCore::RectangleShape::getIncludedIntervals):
     123        (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
     124        * rendering/shapes/RectangleShape.h: Renamed from Source/WebCore/rendering/ExclusionRectangle.h.
     125        (WebCore::FloatRoundedRect::FloatRoundedRect):
     126        (WebCore::FloatRoundedRect::rx):
     127        (WebCore::FloatRoundedRect::ry):
     128        (WebCore::RectangleShape::RectangleShape):
     129        * rendering/shapes/Shape.cpp: Renamed from Source/WebCore/rendering/ExclusionShape.cpp.
     130        (WebCore::createRectangleShape):
     131        (WebCore::createShapeCircle):
     132        (WebCore::createShapeEllipse):
     133        (WebCore::createPolygonShape):
     134        (WebCore::physicalRectToLogical):
     135        (WebCore::physicalPointToLogical):
     136        (WebCore::physicalSizeToLogical):
     137        (WebCore::Shape::createShape):
     138        * rendering/shapes/Shape.h: Renamed from Source/WebCore/rendering/ExclusionShape.h.
     139        (WebCore::LineSegment::LineSegment):
     140        (WebCore::Shape::~Shape):
     141        (WebCore::Shape::shapeMargin):
     142        (WebCore::Shape::shapePadding):
     143        * rendering/shapes/ShapeInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.cpp.
     144        (WebCore::::computedShape):
     145        (WebCore::::computeSegmentsForLine):
     146        * rendering/shapes/ShapeInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.h.
     147        (WebCore::MappedInfo::ensureInfo):
     148        (WebCore::MappedInfo::removeInfo):
     149        (WebCore::MappedInfo::info):
     150        (WebCore::MappedInfo::infoMap):
     151        (WebCore::ShapeInfo::~ShapeInfo):
     152        (WebCore::ShapeInfo::setShapeSize):
     153        (WebCore::ShapeInfo::clearSegments):
     154        (WebCore::ShapeInfo::shapeLogicalTop):
     155        (WebCore::ShapeInfo::shapeLogicalBottom):
     156        (WebCore::ShapeInfo::shapeLogicalLeft):
     157        (WebCore::ShapeInfo::shapeLogicalRight):
     158        (WebCore::ShapeInfo::shapeLogicalWidth):
     159        (WebCore::ShapeInfo::shapeLogicalHeight):
     160        (WebCore::ShapeInfo::logicalLineTop):
     161        (WebCore::ShapeInfo::logicalLineBottom):
     162        (WebCore::ShapeInfo::shapeContainingBlockHeight):
     163        (WebCore::ShapeInfo::lineOverlapsShapeBounds):
     164        (WebCore::ShapeInfo::lineWithinShapeBounds):
     165        (WebCore::ShapeInfo::dirtyShapeSize):
     166        (WebCore::ShapeInfo::shapeSizeDirty):
     167        (WebCore::ShapeInfo::owner):
     168        (WebCore::ShapeInfo::ShapeInfo):
     169        (WebCore::ShapeInfo::logicalTopOffset):
     170        (WebCore::ShapeInfo::logicalLeftOffset):
     171        * rendering/shapes/ShapeInsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp.
     172        (WebCore::LineSegmentRange::LineSegmentRange):
     173        (WebCore::ShapeInsideInfo::isEnabledFor):
     174        (WebCore::ShapeInsideInfo::adjustLogicalLineTop):
     175        * rendering/shapes/ShapeInsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.h.
     176        (WebCore::LineSegmentIterator::LineSegmentIterator):
     177        (WebCore::ShapeInsideInfo::createInfo):
     178        (WebCore::ShapeInsideInfo::hasSegments):
     179        (WebCore::ShapeInsideInfo::segments):
     180        (WebCore::ShapeInsideInfo::segmentRanges):
     181        (WebCore::ShapeInsideInfo::currentSegment):
     182        (WebCore::ShapeInsideInfo::setNeedsLayout):
     183        (WebCore::ShapeInsideInfo::needsLayout):
     184        (WebCore::ShapeInsideInfo::ShapeInsideInfo):
     185        * rendering/shapes/ShapeInterval.cpp: Renamed from Source/WebCore/rendering/ExclusionInterval.cpp.
     186        (WebCore::IntervalX1Comparator::operator()):
     187        (WebCore::ShapeInterval::intersect):
     188        (WebCore::sortShapeIntervals):
     189        (WebCore::mergeShapeIntervals):
     190        (WebCore::intersectShapeIntervals):
     191        (WebCore::subtractShapeIntervals):
     192        * rendering/shapes/ShapeInterval.h: Renamed from Source/WebCore/rendering/ExclusionInterval.h.
     193        (WebCore::ShapeInterval::ShapeInterval):
     194        * rendering/shapes/ShapeOutsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp.
     195        (WebCore::ShapeOutsideInfo::isEnabledFor):
     196        (WebCore::ShapeOutsideInfo::computeSegmentsForLine):
     197        * rendering/shapes/ShapeOutsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.h.
     198        (WebCore::ShapeOutsideInfo::shapeLogicalOffset):
     199        (WebCore::ShapeOutsideInfo::leftSegmentShapeBoundingBoxDelta):
     200        (WebCore::ShapeOutsideInfo::rightSegmentShapeBoundingBoxDelta):
     201        (WebCore::ShapeOutsideInfo::createInfo):
     202        (WebCore::ShapeOutsideInfo::ShapeOutsideInfo):
     203        * rendering/style/RenderStyle.cpp:
     204        (WebCore::RenderStyle::initialShapeInside):
     205        * rendering/style/RenderStyle.h:
     206        * rendering/style/ShapeValue.h: Renamed from Source/WebCore/rendering/style/ExclusionShapeValue.h.
     207        (WebCore::ShapeValue::createShapeValue):
     208        (WebCore::ShapeValue::createOutsideValue):
     209        (WebCore::ShapeValue::createImageValue):
     210        (WebCore::ShapeValue::type):
     211        (WebCore::ShapeValue::shape):
     212        (WebCore::ShapeValue::image):
     213        (WebCore::ShapeValue::setImage):
     214        (WebCore::ShapeValue::operator==):
     215        (WebCore::ShapeValue::ShapeValue):
     216        * rendering/style/StyleRareNonInheritedData.h:
     217
    12182013-06-10  Iago Toral Quiroga  <itoral@igalia.com>
    2219
  • trunk/Source/WebCore/GNUmakefile.am

    r151325 r151402  
    9191        -I$(srcdir)/Source/WebCore/rendering \
    9292        -I$(srcdir)/Source/WebCore/rendering/mathml \
     93        -I$(srcdir)/Source/WebCore/rendering/shapes \
    9394        -I$(srcdir)/Source/WebCore/rendering/style \
    9495        -I$(srcdir)/Source/WebCore/rendering/svg \
  • trunk/Source/WebCore/GNUmakefile.list.am

    r151398 r151402  
    43864386        Source/WebCore/rendering/EllipsisBox.cpp \
    43874387        Source/WebCore/rendering/EllipsisBox.h \
    4388         Source/WebCore/rendering/ExclusionInterval.cpp \
    4389         Source/WebCore/rendering/ExclusionInterval.h \
    4390         Source/WebCore/rendering/ExclusionPolygon.cpp \
    4391         Source/WebCore/rendering/ExclusionPolygon.h \
    4392         Source/WebCore/rendering/ExclusionRectangle.cpp \
    4393         Source/WebCore/rendering/ExclusionRectangle.h \
    4394         Source/WebCore/rendering/ExclusionShape.cpp \
    4395         Source/WebCore/rendering/ExclusionShape.h \
    4396         Source/WebCore/rendering/ExclusionShapeInfo.cpp \
    4397         Source/WebCore/rendering/ExclusionShapeInfo.h \
    4398         Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp \
    4399         Source/WebCore/rendering/ExclusionShapeInsideInfo.h \
    4400         Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp \
    4401         Source/WebCore/rendering/ExclusionShapeOutsideInfo.h \
    44024388        Source/WebCore/rendering/FilterEffectRenderer.cpp \
    44034389        Source/WebCore/rendering/FilterEffectRenderer.h \
     
    46344620        Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp \
    46354621        Source/WebCore/rendering/mathml/RenderMathMLUnderOver.h \
     4622        Source/WebCore/rendering/shapes/PolygonShape.cpp \
     4623        Source/WebCore/rendering/shapes/PolygonShape.h \
     4624        Source/WebCore/rendering/shapes/RectangleShape.cpp \
     4625        Source/WebCore/rendering/shapes/RectangleShape.h \
     4626        Source/WebCore/rendering/shapes/Shape.cpp \
     4627        Source/WebCore/rendering/shapes/Shape.h \
     4628        Source/WebCore/rendering/shapes/ShapeInfo.cpp \
     4629        Source/WebCore/rendering/shapes/ShapeInfo.h \
     4630        Source/WebCore/rendering/shapes/ShapeInsideInfo.cpp \
     4631        Source/WebCore/rendering/shapes/ShapeInsideInfo.h \
     4632        Source/WebCore/rendering/shapes/ShapeInterval.cpp \
     4633        Source/WebCore/rendering/shapes/ShapeInterval.h \
     4634        Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp \
     4635        Source/WebCore/rendering/shapes/ShapeOutsideInfo.h \
    46364636        Source/WebCore/rendering/style/BasicShapes.cpp \
    46374637        Source/WebCore/rendering/style/BasicShapes.h \
     
    46474647        Source/WebCore/rendering/style/CursorList.h \
    46484648        Source/WebCore/rendering/style/DataRef.h \
    4649         Source/WebCore/rendering/style/ExclusionShapeValue.h \
    46504649        Source/WebCore/rendering/style/FillLayer.cpp \
    46514650        Source/WebCore/rendering/style/FillLayer.h \
     
    46644663        Source/WebCore/rendering/style/ShadowData.cpp \
    46654664        Source/WebCore/rendering/style/ShadowData.h \
     4665        Source/WebCore/rendering/style/ShapeValue.h \
    46664666        Source/WebCore/rendering/style/StyleBackgroundData.cpp \
    46674667        Source/WebCore/rendering/style/StyleBackgroundData.h \
  • trunk/Source/WebCore/Target.pri

    r151199 r151402  
    11461146    rendering/CounterNode.cpp \
    11471147    rendering/EllipsisBox.cpp \
    1148     rendering/ExclusionInterval.cpp \
    1149     rendering/ExclusionPolygon.cpp \
    1150     rendering/ExclusionRectangle.cpp \
    1151     rendering/ExclusionShape.cpp \
    1152     rendering/ExclusionShapeInfo.cpp \
    1153     rendering/ExclusionShapeInsideInfo.cpp \
    1154     rendering/ExclusionShapeOutsideInfo.cpp \
    11551148    rendering/FilterEffectRenderer.cpp \
    11561149    rendering/FixedTableLayout.cpp \
     
    12461239    rendering/RootInlineBox.cpp \
    12471240    rendering/ScrollBehavior.cpp \
     1241    rendering/shapes/PolygonShape.cpp \
     1242    rendering/shapes/RectangleShape.cpp \
     1243    rendering/shapes/Shape.cpp \
     1244    rendering/shapes/ShapeInfo.cpp \
     1245    rendering/shapes/ShapeInsideInfo.cpp \
     1246    rendering/shapes/ShapeInterval.cpp \
     1247    rendering/shapes/ShapeOutsideInfo.cpp \
    12481248    rendering/style/BasicShapes.cpp \
    12491249    rendering/style/ContentData.cpp \
     
    24042404    rendering/CounterNode.h \
    24052405    rendering/EllipsisBox.h \
    2406     rendering/ExclusionInterval.h \
    2407     rendering/ExclusionPolygon.h \
    2408     rendering/ExclusionRectangle.h \
    2409     rendering/ExclusionShape.h \
    2410     rendering/ExclusionShapeInfo.h \
    2411     rendering/ExclusionShapeInsideInfo.h \
    2412     rendering/ExclusionShapeOutsideInfo.h \
    24132406    rendering/FilterEffectRenderer.h \
    24142407    rendering/FixedTableLayout.h \
     
    25142507    rendering/RootInlineBox.h \
    25152508    rendering/ScrollBehavior.h \
     2509    rendering/shapes/PolygonShape.h \
     2510    rendering/shapes/RectangleShape.h \
     2511    rendering/shapes/Shape.h \
     2512    rendering/shapes/ShapeInfo.h \
     2513    rendering/shapes/ShapeInsideInfo.h \
     2514    rendering/shapes/ShapeInterval.h \
     2515    rendering/shapes/ShapeOutsideInfo.h \
    25162516    rendering/style/BasicShapes.h \
    25172517    rendering/style/ContentData.h \
     
    25192519    rendering/style/CursorData.h \
    25202520    rendering/style/CursorList.h \
    2521     rendering/style/ExclusionShapeValue.h \
    25222521    rendering/style/FillLayer.h \
    25232522    rendering/style/KeyframeList.h \
     
    25262525    rendering/style/RenderStyle.h \
    25272526    rendering/style/ShadowData.h \
     2527    rendering/style/ShapeValue.h \
    25282528    rendering/style/StyleBackgroundData.h \
    25292529    rendering/style/StyleBoxData.h \
  • trunk/Source/WebCore/WebCore.pri

    r150837 r151402  
    8686    $$SOURCE_DIR/rendering \
    8787    $$SOURCE_DIR/rendering/mathml \
     88    $$SOURCE_DIR/rendering/shapes \
    8889    $$SOURCE_DIR/rendering/style \
    8990    $$SOURCE_DIR/rendering/svg \
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj

    r151199 r151402  
    54235423      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
    54245424    </ClCompile>
    5425     <ClCompile Include="..\rendering\ExclusionInterval.cpp" />
    5426     <ClCompile Include="..\rendering\ExclusionPolygon.cpp" />
    5427     <ClCompile Include="..\rendering\ExclusionRectangle.cpp" />
    5428     <ClCompile Include="..\rendering\ExclusionShape.cpp" />
    5429     <ClCompile Include="..\rendering\ExclusionShapeInsideInfo.cpp" />
    5430     <ClCompile Include="..\rendering\ExclusionShapeOutsideInfo.cpp" />
    54315425    <ClCompile Include="..\rendering\FilterEffectRenderer.cpp">
    54325426      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
     
    63076301      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
    63086302    </ClCompile>
     6303    <ClCompile Include="..\rendering\shapes\PolygonShape.cpp" />
     6304    <ClCompile Include="..\rendering\shapes\RectangleShape.cpp" />
     6305    <ClCompile Include="..\rendering\shapes\Shape.cpp" />
     6306    <ClCompile Include="..\rendering\shapes\ShapeInsideInfo.cpp" />
     6307    <ClCompile Include="..\rendering\shapes\ShapeInterval.cpp" />
     6308    <ClCompile Include="..\rendering\shapes\ShapeOutsideInfo.cpp" />
    63096309    <ClCompile Include="..\rendering\svg\SVGPathData.cpp">
    63106310      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
     
    1211012110    <ClInclude Include="..\rendering\CounterNode.h" />
    1211112111    <ClInclude Include="..\rendering\EllipsisBox.h" />
    12112     <ClInclude Include="..\rendering\ExclusionInterval.h" />
    12113     <ClInclude Include="..\rendering\ExclusionPolygon.h" />
    12114     <ClInclude Include="..\rendering\ExclusionShape.h" />
    12115     <ClInclude Include="..\rendering\ExclusionShapeInsideInfo.h" />
    12116     <ClInclude Include="..\rendering\ExclusionShapeOutsideInfo.h" />
    1211712112    <ClInclude Include="..\rendering\FilterEffectRenderer.h" />
    1211812113    <ClInclude Include="..\rendering\FixedTableLayout.h" />
     
    1219812193    <ClInclude Include="..\rendering\RenderSlider.h" />
    1219912194    <ClInclude Include="..\rendering\RenderSnapshottedPlugIn.h" />
     12195    <ClInclude Include="..\rendering\shapes\PolygonShape.h" />
     12196    <ClInclude Include="..\rendering\shapes\RectangleShape.h" />
     12197    <ClInclude Include="..\rendering\shapes\Shape.h" />
     12198    <ClInclude Include="..\rendering\shapes\ShapeInsideInfo.h" />
     12199    <ClInclude Include="..\rendering\shapes\ShapeInterval.h" />
     12200    <ClInclude Include="..\rendering\shapes\ShapeOutsideInfo.h" />
    1220012201    <ClInclude Include="..\rendering\svg\RenderSVGBlock.h" />
    1220112202    <ClInclude Include="..\rendering\svg\RenderSVGContainer.h" />
     
    1227012271    <ClInclude Include="..\rendering\style\CursorList.h" />
    1227112272    <ClInclude Include="..\rendering\style\DataRef.h" />
    12272     <ClInclude Include="..\rendering\style\ExclusionShapeValue.h" />
    1227312273    <ClInclude Include="..\rendering\style\FillLayer.h" />
    1227412274    <ClInclude Include="..\rendering\style\GridPosition.h" />
     
    1228112281    <ClInclude Include="..\rendering\style\RenderStyleConstants.h" />
    1228212282    <ClInclude Include="..\rendering\style\ShadowData.h" />
     12283    <ClInclude Include="..\rendering\style\ShapeValue.h" />
    1228312284    <ClInclude Include="..\rendering\style\StyleBackgroundData.h" />
    1228412285    <ClInclude Include="..\rendering\style\StyleBoxData.h" />
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters

    r151199 r151402  
    24332433    <ClCompile Include="..\rendering\EllipsisBox.cpp">
    24342434      <Filter>rendering</Filter>
    2435     </ClCompile>
    2436     <ClCompile Include="..\rendering\ExclusionInterval.cpp">
    2437       <Filter>rendering</Filter>
    2438     </ClCompile>
    2439     <ClCompile Include="..\rendering\ExclusionPolygon.cpp">
    2440       <Filter>rendering</Filter>
    2441     </ClCompile>
    2442     <ClCompile Include="..\rendering\ExclusionRectangle.cpp">
    2443       <Filter>rendering</Filter>
    2444     </ClCompile>
    2445     <ClCompile Include="..\rendering\ExclusionShape.cpp">
    2446       <Filter>rendering</Filter>
    2447     </ClCompile>
    2448     <ClCompile Include="..\rendering\ExclusionShapeInsideInfo.cpp">
    2449       <Filter>rendering</Filter>
    2450     </ClCompile>
    2451     <ClCompile Include="..\rendering\ExclusionShapeOutsideInfo.cpp">
     2435    <ClCompile Include="..\rendering\shapes\PolygonShape.cpp">
     2436      <Filter>rendering</Filter>
     2437    </ClCompile>
     2438    <ClCompile Include="..\rendering\shapes\RectangleShape.cpp">
     2439      <Filter>rendering</Filter>
     2440    </ClCompile>
     2441    <ClCompile Include="..\rendering\shapes\Shape.cpp">
     2442      <Filter>rendering</Filter>
     2443    </ClCompile>
     2444    <ClCompile Include="..\rendering\shapes\ShapeInsideInfo.cpp">
     2445      <Filter>rendering</Filter>
     2446    </ClCompile>
     2447    </ClCompile>
     2448    <ClCompile Include="..\rendering\shapes\ShapeInterval.cpp">
     2449      <Filter>rendering</Filter>
     2450    </ClCompile>
     2451    <ClCompile Include="..\rendering\shapes\ShapeOutsideInfo.cpp">
    24522452      <Filter>rendering</Filter>
    24532453    </ClCompile>
     
    91219121      <Filter>rendering</Filter>
    91229122    </ClInclude>
    9123     <ClInclude Include="..\rendering\ExclusionInterval.h">
    9124       <Filter>rendering</Filter>
    9125     </ClInclude>
    9126     <ClInclude Include="..\rendering\ExclusionPolygon.h">
    9127       <Filter>rendering</Filter>
    9128     </ClInclude>
    9129     <ClInclude Include="..\rendering\ExclusionShape.h">
    9130       <Filter>rendering</Filter>
    9131     </ClInclude>
    9132     <ClInclude Include="..\rendering\ExclusionShapeInsideInfo.h">
    9133       <Filter>rendering</Filter>
    9134     </ClInclude>
    9135     <ClInclude Include="..\rendering\ExclusionShapeOutsideInfo.h">
     9123    <ClInclude Include="..\rendering\shapes\PolygonShape.h">
     9124      <Filter>rendering</Filter>
     9125    </ClInclude>
     9126    <ClInclude Include="..\rendering\shapes\RectangleShape.h">
     9127      <Filter>rendering</Filter>
     9128    </ClInclude>
     9129    <ClInclude Include="..\rendering\shapes\Shape.h">
     9130      <Filter>rendering</Filter>
     9131    </ClInclude>
     9132    <ClInclude Include="..\rendering\shapes\ShapeInsideInfo.h">
     9133      <Filter>rendering</Filter>
     9134    </ClInclude>
     9135    <ClInclude Include="..\rendering\shapes\ShapeInterval.h">
     9136      <Filter>rendering</Filter>
     9137    </ClInclude>
     9138    <ClInclude Include="..\rendering\shapes\ShapeOutsideInfo.h">
    91369139      <Filter>rendering</Filter>
    91379140    </ClInclude>
     
    95899592      <Filter>rendering\style</Filter>
    95909593    </ClInclude>
    9591     <ClInclude Include="..\rendering\style\ExclusionShapeValue.h">
    9592       <Filter>rendering\style</Filter>
    9593     </ClInclude>
    95949594    <ClInclude Include="..\rendering\style\FillLayer.h">
    95959595      <Filter>rendering\style</Filter>
     
    96209620    </ClInclude>
    96219621    <ClInclude Include="..\rendering\style\ShadowData.h">
     9622      <Filter>rendering\style</Filter>
     9623    </ClInclude>
     9624    <ClInclude Include="..\rendering\style\ShapeValue.h">
    96229625      <Filter>rendering\style</Filter>
    96239626    </ClInclude>
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r151223 r151402  
    18361836                6E67D2A71280E8A4008758F7 /* Extensions3DOpenGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E67D2A51280E8A4008758F7 /* Extensions3DOpenGL.h */; };
    18371837                6E67D2A91280E8BD008758F7 /* Extensions3D.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E67D2A81280E8BD008758F7 /* Extensions3D.h */; };
    1838                 6E8798BA15F81E4A00BFE4AA /* ExclusionInterval.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8798B415F81E4A00BFE4AA /* ExclusionInterval.cpp */; };
    1839                 6E8798BB15F81E4A00BFE4AA /* ExclusionInterval.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8798B515F81E4A00BFE4AA /* ExclusionInterval.h */; settings = {ATTRIBUTES = (Private, ); }; };
    1840                 6E8798BC15F81E4A00BFE4AA /* ExclusionRectangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8798B615F81E4A00BFE4AA /* ExclusionRectangle.cpp */; };
    1841                 6E8798BD15F81E4A00BFE4AA /* ExclusionRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8798B715F81E4A00BFE4AA /* ExclusionRectangle.h */; };
    1842                 6E8798BE15F81E4A00BFE4AA /* ExclusionShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8798B815F81E4A00BFE4AA /* ExclusionShape.cpp */; };
    1843                 6E8798BF15F81E4A00BFE4AA /* ExclusionShape.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8798B915F81E4A00BFE4AA /* ExclusionShape.h */; settings = {ATTRIBUTES = (Private, ); }; };
    1844                 6EAF340F1613869A00859625 /* ExclusionPolygon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EAF340D1613869A00859625 /* ExclusionPolygon.cpp */; };
    1845                 6EAF34101613869A00859625 /* ExclusionPolygon.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EAF340E1613869A00859625 /* ExclusionPolygon.h */; };
    18461838                6EBC5EAF138B50F200A0CF8A /* JSFloat64Array.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EBC5EAD138B50F200A0CF8A /* JSFloat64Array.cpp */; };
    18471839                6EBC5EB0138B50F200A0CF8A /* JSFloat64Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EBC5EAE138B50F200A0CF8A /* JSFloat64Array.h */; };
     
    32643256                98EB1F951313FE0500D0E1EA /* NotImplemented.h in Headers */ = {isa = PBXBuildFile; fileRef = 98EB1F941313FE0500D0E1EA /* NotImplemented.h */; settings = {ATTRIBUTES = (Private, ); }; };
    32653257                9A1B6F97158869C80011A8C4 /* JSDOMStringListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A1B6F96158869C80011A8C4 /* JSDOMStringListCustom.cpp */; };
    3266                 9A9CEF8D163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9CEF8B163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp */; };
    3267                 9A9CEF8E163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9CEF8C163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
    32683258                9B1AB07C1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */; };
    32693259                9B24DE8E15194B9500C59C27 /* HTMLBDIElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B24DE8C15194B9500C59C27 /* HTMLBDIElement.h */; };
     
    57405730                FD06DFA6134A4DEF006F5D7D /* DefaultAudioDestinationNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD06DFA4134A4DEF006F5D7D /* DefaultAudioDestinationNode.h */; };
    57415731                FD1660A513787C6D001FFA7B /* DenormalDisabler.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1660A413787C6D001FFA7B /* DenormalDisabler.h */; };
    5742                 FD1AF1501656F15100C6D4F7 /* ExclusionShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5732                FD1AF1501656F15100C6D4F7 /* ShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1AF14E1656F12100C6D4F7 /* ShapeValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
    57435733                FD23A12513F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD23A12313F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp */; };
    57445734                FD23A12613F5FA5900F67001 /* JSMediaElementAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD23A12413F5FA5900F67001 /* JSMediaElementAudioSourceNode.h */; };
     
    58575847                FD35918F138DB22000E1EBEC /* AudioParamTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD35918D138DB22000E1EBEC /* AudioParamTimeline.cpp */; };
    58585848                FD359190138DB22000E1EBEC /* AudioParamTimeline.h in Headers */ = {isa = PBXBuildFile; fileRef = FD35918E138DB22000E1EBEC /* AudioParamTimeline.h */; };
     5849                FD45A94F175D3F3E00C21EC8 /* Shape.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A87F175D3926002CD360 /* Shape.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5850                FD45A950175D3F3E00C21EC8 /* ShapeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A881175D3926002CD360 /* ShapeInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5851                FD45A951175D3F3E00C21EC8 /* ShapeInsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A883175D3926002CD360 /* ShapeInsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5852                FD45A952175D3F3E00C21EC8 /* ShapeOutsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A887175D3926002CD360 /* ShapeOutsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5853                FD45A953175D3FB800C21EC8 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A87E175D3926002CD360 /* Shape.cpp */; };
     5854                FD45A954175D3FB800C21EC8 /* ShapeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A880175D3926002CD360 /* ShapeInfo.cpp */; };
     5855                FD45A955175D3FB800C21EC8 /* ShapeInsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A882175D3926002CD360 /* ShapeInsideInfo.cpp */; };
     5856                FD45A956175D3FB800C21EC8 /* ShapeOutsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A886175D3926002CD360 /* ShapeOutsideInfo.cpp */; };
     5857                FD45A957175D414C00C21EC8 /* PolygonShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A87B175D3926002CD360 /* PolygonShape.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5858                FD45A958175D414C00C21EC8 /* RectangleShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A87D175D3926002CD360 /* RectangleShape.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5859                FD45A959175D417100C21EC8 /* PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A87A175D3926002CD360 /* PolygonShape.cpp */; };
     5860                FD45A95A175D417100C21EC8 /* RectangleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A87C175D3926002CD360 /* RectangleShape.cpp */; };
     5861                FD45A95B175D41EE00C21EC8 /* ShapeInterval.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A885175D3926002CD360 /* ShapeInterval.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5862                FD45A95C175D420D00C21EC8 /* ShapeInterval.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A884175D3926002CD360 /* ShapeInterval.cpp */; };
    58595863                FD537352137B651800008DCE /* ZeroPole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD537350137B651800008DCE /* ZeroPole.cpp */; };
    58605864                FD537353137B651800008DCE /* ZeroPole.h in Headers */ = {isa = PBXBuildFile; fileRef = FD537351137B651800008DCE /* ZeroPole.h */; };
     
    58795883                FD6F252C13F5EF0E0065165F /* MediaElementAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD6F252913F5EF0E0065165F /* MediaElementAudioSourceNode.cpp */; };
    58805884                FD6F252D13F5EF0E0065165F /* MediaElementAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD6F252A13F5EF0E0065165F /* MediaElementAudioSourceNode.h */; };
    5881                 FD748ABF15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD748ABD15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp */; };
    5882                 FD748AC015BF74ED0059CF0D /* ExclusionShapeInsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD748ABE15BF74ED0059CF0D /* ExclusionShapeInsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
    58835885                FD7868B9136B999200D403DF /* JSDynamicsCompressorNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */; };
    58845886                FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */; };
     
    59415943                FDB1700514A2BAB200A2B5D9 /* MultiChannelResampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */; };
    59425944                FDB1700614A2BAB200A2B5D9 /* MultiChannelResampler.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */; };
    5943                 FDB8D1DA16B0C0D700340F10 /* ExclusionShapeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB8D1D916B0C0D700340F10 /* ExclusionShapeInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
    5944                 FDB8D1E516B0CC9700340F10 /* ExclusionShapeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDB8D1DB16B0C0F600340F10 /* ExclusionShapeInfo.cpp */; };
    59455945                FDBD1DFC167FE27D0051A11E /* JSOscillatorNodeCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */; };
    59465946                FDBD480C159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */; };
     
    82298229                6E67D2A51280E8A4008758F7 /* Extensions3DOpenGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Extensions3DOpenGL.h; sourceTree = "<group>"; };
    82308230                6E67D2A81280E8BD008758F7 /* Extensions3D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Extensions3D.h; sourceTree = "<group>"; };
    8231                 6E8798B415F81E4A00BFE4AA /* ExclusionInterval.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionInterval.cpp; sourceTree = "<group>"; };
    8232                 6E8798B515F81E4A00BFE4AA /* ExclusionInterval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionInterval.h; sourceTree = "<group>"; };
    8233                 6E8798B615F81E4A00BFE4AA /* ExclusionRectangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionRectangle.cpp; sourceTree = "<group>"; };
    8234                 6E8798B715F81E4A00BFE4AA /* ExclusionRectangle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionRectangle.h; sourceTree = "<group>"; };
    8235                 6E8798B815F81E4A00BFE4AA /* ExclusionShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShape.cpp; sourceTree = "<group>"; };
    8236                 6E8798B915F81E4A00BFE4AA /* ExclusionShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShape.h; sourceTree = "<group>"; };
    8237                 6EAF340D1613869A00859625 /* ExclusionPolygon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionPolygon.cpp; sourceTree = "<group>"; };
    8238                 6EAF340E1613869A00859625 /* ExclusionPolygon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionPolygon.h; sourceTree = "<group>"; };
    82398231                6EBC5D80138B4C4E00A0CF8A /* Float64Array.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Float64Array.idl; path = canvas/Float64Array.idl; sourceTree = "<group>"; };
    82408232                6EBC5EAD138B50F200A0CF8A /* JSFloat64Array.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFloat64Array.cpp; sourceTree = "<group>"; };
     
    97079699                98EB1F941313FE0500D0E1EA /* NotImplemented.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotImplemented.h; sourceTree = "<group>"; };
    97089700                9A1B6F96158869C80011A8C4 /* JSDOMStringListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMStringListCustom.cpp; sourceTree = "<group>"; };
    9709                 9A9CEF8B163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShapeOutsideInfo.cpp; sourceTree = "<group>"; };
    9710                 9A9CEF8C163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShapeOutsideInfo.h; sourceTree = "<group>"; };
    97119701                9B1AB0791648C69D0051F3F2 /* HTMLFormControlsCollection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLFormControlsCollection.idl; sourceTree = "<group>"; };
    97129702                9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFormControlsCollectionCustom.cpp; sourceTree = "<group>"; };
     
    1258112571                FD06DFA3134A4DEF006F5D7D /* DefaultAudioDestinationNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DefaultAudioDestinationNode.cpp; sourceTree = "<group>"; };
    1258212572                FD06DFA4134A4DEF006F5D7D /* DefaultAudioDestinationNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultAudioDestinationNode.h; sourceTree = "<group>"; };
     12573                FD08A87A175D3926002CD360 /* PolygonShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PolygonShape.cpp; sourceTree = "<group>"; };
     12574                FD08A87B175D3926002CD360 /* PolygonShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PolygonShape.h; sourceTree = "<group>"; };
     12575                FD08A87C175D3926002CD360 /* RectangleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RectangleShape.cpp; sourceTree = "<group>"; };
     12576                FD08A87D175D3926002CD360 /* RectangleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RectangleShape.h; sourceTree = "<group>"; };
     12577                FD08A87E175D3926002CD360 /* Shape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shape.cpp; sourceTree = "<group>"; };
     12578                FD08A87F175D3926002CD360 /* Shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shape.h; sourceTree = "<group>"; };
     12579                FD08A880175D3926002CD360 /* ShapeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInfo.cpp; sourceTree = "<group>"; };
     12580                FD08A881175D3926002CD360 /* ShapeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeInfo.h; sourceTree = "<group>"; };
     12581                FD08A882175D3926002CD360 /* ShapeInsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInsideInfo.cpp; sourceTree = "<group>"; };
     12582                FD08A883175D3926002CD360 /* ShapeInsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeInsideInfo.h; sourceTree = "<group>"; };
     12583                FD08A884175D3926002CD360 /* ShapeInterval.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInterval.cpp; sourceTree = "<group>"; };
     12584                FD08A885175D3926002CD360 /* ShapeInterval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeInterval.h; sourceTree = "<group>"; };
     12585                FD08A886175D3926002CD360 /* ShapeOutsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeOutsideInfo.cpp; sourceTree = "<group>"; };
     12586                FD08A887175D3926002CD360 /* ShapeOutsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeOutsideInfo.h; sourceTree = "<group>"; };
    1258312587                FD1660A413787C6D001FFA7B /* DenormalDisabler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DenormalDisabler.h; sourceTree = "<group>"; };
    12584                 FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExclusionShapeValue.h; path = style/ExclusionShapeValue.h; sourceTree = "<group>"; };
     12588                FD1AF14E1656F12100C6D4F7 /* ShapeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ShapeValue.h; path = style/ShapeValue.h; sourceTree = "<group>"; };
    1258512589                FD23A12313F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaElementAudioSourceNode.cpp; sourceTree = "<group>"; };
    1258612590                FD23A12413F5FA5900F67001 /* JSMediaElementAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaElementAudioSourceNode.h; sourceTree = "<group>"; };
     
    1274312747                FD6F252A13F5EF0E0065165F /* MediaElementAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaElementAudioSourceNode.h; sourceTree = "<group>"; };
    1274412748                FD6F252B13F5EF0E0065165F /* MediaElementAudioSourceNode.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaElementAudioSourceNode.idl; sourceTree = "<group>"; };
    12745                 FD748ABD15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShapeInsideInfo.cpp; sourceTree = "<group>"; };
    12746                 FD748ABE15BF74ED0059CF0D /* ExclusionShapeInsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShapeInsideInfo.h; sourceTree = "<group>"; };
    1274712749                FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDynamicsCompressorNode.cpp; sourceTree = "<group>"; };
    1274812750                FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDynamicsCompressorNode.h; sourceTree = "<group>"; };
     
    1280812810                FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiChannelResampler.cpp; sourceTree = "<group>"; };
    1280912811                FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiChannelResampler.h; sourceTree = "<group>"; };
    12810                 FDB8D1D916B0C0D700340F10 /* ExclusionShapeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShapeInfo.h; sourceTree = "<group>"; };
    12811                 FDB8D1DB16B0C0F600340F10 /* ExclusionShapeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShapeInfo.cpp; sourceTree = "<group>"; };
    1281212812                FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSOscillatorNodeCustom.cpp; sourceTree = "<group>"; };
    1281312813                FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamAudioSourceNode.cpp; sourceTree = "<group>"; };
     
    1892318923                                BC2272AC0E82E8F300E7F975 /* CursorList.h */,
    1892418924                                BC22746E0E83664500E7F975 /* DataRef.h */,
    18925                                 FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */,
    1892618925                                BC5EB69C0E81DAEB00B25965 /* FillLayer.cpp */,
    1892718926                                BC5EB69D0E81DAEB00B25965 /* FillLayer.h */,
     
    1894118940                                BC5EB8C10E82031B00B25965 /* ShadowData.cpp */,
    1894218941                                BC5EB8C20E82031B00B25965 /* ShadowData.h */,
     18942                                FD1AF14E1656F12100C6D4F7 /* ShapeValue.h */,
    1894318943                                BC5EB6A00E81DC4F00B25965 /* StyleBackgroundData.cpp */,
    1894418944                                BC5EB6A10E81DC4F00B25965 /* StyleBackgroundData.h */,
     
    1987319873                        children = (
    1987419874                                439046C212DA25CE00AF80A2 /* mathml */,
     19875                                FD08A879175D3926002CD360 /* shapes */,
    1987519876                                BC8C8FAA0DDCD2F200B592F4 /* style */,
    1987619877                                088C2F7412390080003D65CE /* svg */,
     
    1988619887                                A8CFF6CA0A1561CD000A4234 /* EllipsisBox.cpp */,
    1988719888                                A8CFF6BD0A156118000A4234 /* EllipsisBox.h */,
    19888                                 6E8798B415F81E4A00BFE4AA /* ExclusionInterval.cpp */,
    19889                                 6E8798B515F81E4A00BFE4AA /* ExclusionInterval.h */,
    19890                                 6EAF340D1613869A00859625 /* ExclusionPolygon.cpp */,
    19891                                 6EAF340E1613869A00859625 /* ExclusionPolygon.h */,
    19892                                 6E8798B615F81E4A00BFE4AA /* ExclusionRectangle.cpp */,
    19893                                 6E8798B715F81E4A00BFE4AA /* ExclusionRectangle.h */,
    19894                                 6E8798B815F81E4A00BFE4AA /* ExclusionShape.cpp */,
    19895                                 6E8798B915F81E4A00BFE4AA /* ExclusionShape.h */,
    19896                                 FDB8D1DB16B0C0F600340F10 /* ExclusionShapeInfo.cpp */,
    19897                                 FDB8D1D916B0C0D700340F10 /* ExclusionShapeInfo.h */,
    19898                                 FD748ABD15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp */,
    19899                                 FD748ABE15BF74ED0059CF0D /* ExclusionShapeInsideInfo.h */,
    19900                                 9A9CEF8B163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp */,
    19901                                 9A9CEF8C163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h */,
    1990219889                                31313F631443B35E006E2A90 /* FilterEffectRenderer.cpp */,
    1990319890                                31313F641443B35E006E2A90 /* FilterEffectRenderer.h */,
     
    2055120538                        );
    2055220539                        path = opengl;
     20540                        sourceTree = "<group>";
     20541                };
     20542                FD08A879175D3926002CD360 /* shapes */ = {
     20543                        isa = PBXGroup;
     20544                        children = (
     20545                                FD08A87A175D3926002CD360 /* PolygonShape.cpp */,
     20546                                FD08A87B175D3926002CD360 /* PolygonShape.h */,
     20547                                FD08A87C175D3926002CD360 /* RectangleShape.cpp */,
     20548                                FD08A87D175D3926002CD360 /* RectangleShape.h */,
     20549                                FD08A87E175D3926002CD360 /* Shape.cpp */,
     20550                                FD08A87F175D3926002CD360 /* Shape.h */,
     20551                                FD08A880175D3926002CD360 /* ShapeInfo.cpp */,
     20552                                FD08A881175D3926002CD360 /* ShapeInfo.h */,
     20553                                FD08A882175D3926002CD360 /* ShapeInsideInfo.cpp */,
     20554                                FD08A883175D3926002CD360 /* ShapeInsideInfo.h */,
     20555                                FD08A884175D3926002CD360 /* ShapeInterval.cpp */,
     20556                                FD08A885175D3926002CD360 /* ShapeInterval.h */,
     20557                                FD08A886175D3926002CD360 /* ShapeOutsideInfo.cpp */,
     20558                                FD08A887175D3926002CD360 /* ShapeOutsideInfo.h */,
     20559                        );
     20560                        path = shapes;
    2055320561                        sourceTree = "<group>";
    2055420562                };
     
    2171721725                                9767CE0B145ABC13005E64DB /* ExceptionHeaders.h in Headers */,
    2171821726                                9767CE0C145ABC13005E64DB /* ExceptionInterfaces.h in Headers */,
    21719                                 6E8798BB15F81E4A00BFE4AA /* ExclusionInterval.h in Headers */,
    21720                                 6EAF34101613869A00859625 /* ExclusionPolygon.h in Headers */,
    21721                                 6E8798BD15F81E4A00BFE4AA /* ExclusionRectangle.h in Headers */,
    21722                                 6E8798BF15F81E4A00BFE4AA /* ExclusionShape.h in Headers */,
    21723                                 FDB8D1DA16B0C0D700340F10 /* ExclusionShapeInfo.h in Headers */,
    21724                                 FD748AC015BF74ED0059CF0D /* ExclusionShapeInsideInfo.h in Headers */,
    21725                                 9A9CEF8E163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h in Headers */,
    21726                                 FD1AF1501656F15100C6D4F7 /* ExclusionShapeValue.h in Headers */,
    2172721727                                A024575216CEAA27000E5671 /* EXTDrawBuffers.h in Headers */,
    2172821728                                6E67D2A91280E8BD008758F7 /* Extensions3D.h in Headers */,
     
    2298822988                                97059978107D975200A50A7C /* PolicyCallback.h in Headers */,
    2298922989                                9705997A107D975200A50A7C /* PolicyChecker.h in Headers */,
     22990                                FD45A957175D414C00C21EC8 /* PolygonShape.h in Headers */,
    2299022991                                5174E20A10A1F44F00F95E6F /* PopStateEvent.h in Headers */,
    2299122992                                0668E18B0ADD9624004128E0 /* PopupMenu.h in Headers */,
     
    2302923030                                FD31603C12B0267600C1A359 /* RealtimeAnalyser.h in Headers */,
    2303023031                                BC4368E80C226E32005EFB5F /* Rect.h in Headers */,
     23032                                FD45A958175D414C00C21EC8 /* RectangleShape.h in Headers */,
    2303123033                                A72EA3BB1585CF55004FAA26 /* RefCountedSupplement.h in Headers */,
    2303223034                                9831AE4A154225C900FE2644 /* ReferrerPolicy.h in Headers */,
     
    2329923301                                A6D169641346B4C1000EB770 /* ShadowRoot.h in Headers */,
    2330023302                                A80E6CE80A1989CA007FB8C5 /* ShadowValue.h in Headers */,
     23303                                FD45A94F175D3F3E00C21EC8 /* Shape.h in Headers */,
     23304                                FD45A950175D3F3E00C21EC8 /* ShapeInfo.h in Headers */,
     23305                                FD45A951175D3F3E00C21EC8 /* ShapeInsideInfo.h in Headers */,
     23306                                FD45A95B175D41EE00C21EC8 /* ShapeInterval.h in Headers */,
     23307                                FD45A952175D3F3E00C21EC8 /* ShapeOutsideInfo.h in Headers */,
     23308                                FD1AF1501656F15100C6D4F7 /* ShapeValue.h in Headers */,
    2330123309                                1A4A954E0B4EDCCB002D8C3C /* SharedBuffer.h in Headers */,
    2330223310                                97B1F02F13B025D200F5103F /* SharedBufferChunkReader.h in Headers */,
     
    2434324351                        buildActionMask = 2147483647;
    2434424352                        files = (
     24353                                FD45A95C175D420D00C21EC8 /* ShapeInterval.cpp in Sources */,
     24354                                FD45A959175D417100C21EC8 /* PolygonShape.cpp in Sources */,
     24355                                FD45A95A175D417100C21EC8 /* RectangleShape.cpp in Sources */,
     24356                                FD45A953175D3FB800C21EC8 /* Shape.cpp in Sources */,
     24357                                FD45A954175D3FB800C21EC8 /* ShapeInfo.cpp in Sources */,
     24358                                FD45A955175D3FB800C21EC8 /* ShapeInsideInfo.cpp in Sources */,
     24359                                FD45A956175D3FB800C21EC8 /* ShapeOutsideInfo.cpp in Sources */,
    2434524360                                41E1B1D00FF5986900576B3B /* AbstractWorker.cpp in Sources */,
    2434624361                                0F29C16E1300C2E2002D794E /* AccessibilityAllInOne.cpp in Sources */,
     
    2491824933                                A7CACDB113CE875C00BBBE3F /* ExceptionCodePlaceholder.cpp in Sources */,
    2491924934                                148AFDA60AF58360008CC700 /* ExceptionHandlers.mm in Sources */,
    24920                                 6E8798BA15F81E4A00BFE4AA /* ExclusionInterval.cpp in Sources */,
    24921                                 6EAF340F1613869A00859625 /* ExclusionPolygon.cpp in Sources */,
    24922                                 6E8798BC15F81E4A00BFE4AA /* ExclusionRectangle.cpp in Sources */,
    24923                                 6E8798BE15F81E4A00BFE4AA /* ExclusionShape.cpp in Sources */,
    24924                                 FDB8D1E516B0CC9700340F10 /* ExclusionShapeInfo.cpp in Sources */,
    24925                                 FD748ABF15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp in Sources */,
    24926                                 9A9CEF8D163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp in Sources */,
    2492724935                                A024575116CEAA27000E5671 /* EXTDrawBuffers.cpp in Sources */,
    2492824936                                6E67D2A61280E8A4008758F7 /* Extensions3DOpenGL.cpp in Sources */,
  • trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp

    r151394 r151402  
    6767
    6868#if ENABLE(CSS_SHAPES)
    69 #include "ExclusionShapeValue.h"
     69#include "ShapeValue.h"
    7070#endif
    7171
     
    27002700            if (!style->shapeInside())
    27012701                return cssValuePool().createIdentifierValue(CSSValueAuto);
    2702             if (style->shapeInside()->type() == ExclusionShapeValue::Outside)
     2702            if (style->shapeInside()->type() == ShapeValue::Outside)
    27032703                return cssValuePool().createIdentifierValue(CSSValueOutsideShape);
    2704             if (style->shapeInside()->type() == ExclusionShapeValue::Image) {
     2704            if (style->shapeInside()->type() == ShapeValue::Image) {
    27052705                if (style->shapeInside()->image())
    27062706                    return style->shapeInside()->image()->cssValue();
    27072707                return cssValuePool().createIdentifierValue(CSSValueNone);
    27082708            }
    2709             ASSERT(style->shapeInside()->type() == ExclusionShapeValue::Shape);
     2709            ASSERT(style->shapeInside()->type() == ShapeValue::Shape);
    27102710            return valueForBasicShape(style->shapeInside()->shape());
    27112711        case CSSPropertyWebkitShapeOutside:
    27122712            if (!style->shapeOutside())
    27132713                return cssValuePool().createIdentifierValue(CSSValueAuto);
    2714             if (style->shapeOutside()->type() == ExclusionShapeValue::Image) {
     2714            if (style->shapeOutside()->type() == ShapeValue::Image) {
    27152715                if (style->shapeOutside()->image())
    27162716                    return style->shapeOutside()->image()->cssValue();
    27172717                return cssValuePool().createIdentifierValue(CSSValueNone);
    27182718            }
    2719             ASSERT(style->shapeOutside()->type() == ExclusionShapeValue::Shape);
     2719            ASSERT(style->shapeOutside()->type() == ShapeValue::Shape);
    27202720            return valueForBasicShape(style->shapeOutside()->shape());
    27212721#endif
  • trunk/Source/WebCore/css/CSSPrimitiveValue.h

    r148921 r151402  
    122122        CSS_COUNTER_NAME = 110,
    123123
    124         // This is used by the CSS Exclusions draft
     124        // This is used by the CSS Shapes draft
    125125        CSS_SHAPE = 111,
    126126
  • trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp

    r151394 r151402  
    4949
    5050#if ENABLE(CSS_SHAPES)
    51 #include "ExclusionShapeValue.h"
     51#include "ShapeValue.h"
    5252#endif
    5353
     
    19341934
    19351935#if ENABLE(CSS_SHAPES)
    1936 template <ExclusionShapeValue* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<ExclusionShapeValue>), ExclusionShapeValue* (*initialFunction)()>
    1937 class ApplyPropertyExclusionShape {
    1938 public:
    1939     static void setValue(RenderStyle* style, PassRefPtr<ExclusionShapeValue> value) { (style->*setterFunction)(value); }
     1936template <ShapeValue* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<ShapeValue>), ShapeValue* (*initialFunction)()>
     1937class ApplyPropertyShape {
     1938public:
     1939    static void setValue(RenderStyle* style, PassRefPtr<ShapeValue> value) { (style->*setterFunction)(value); }
    19401940    static void applyValue(CSSPropertyID property, StyleResolver* styleResolver, CSSValue* value)
    19411941    {
     
    19461946            // FIXME Bug 102571: Layout for the value 'outside-shape' is not yet implemented
    19471947            else if (primitiveValue->getIdent() == CSSValueOutsideShape)
    1948                 setValue(styleResolver->style(), ExclusionShapeValue::createOutsideValue());
     1948                setValue(styleResolver->style(), ShapeValue::createOutsideValue());
    19491949            else if (primitiveValue->isShape()) {
    1950                 RefPtr<ExclusionShapeValue> shape = ExclusionShapeValue::createShapeValue(basicShapeForValue(styleResolver->style(), styleResolver->rootElementStyle(), primitiveValue->getShapeValue()));
     1950                RefPtr<ShapeValue> shape = ShapeValue::createShapeValue(basicShapeForValue(styleResolver->style(), styleResolver->rootElementStyle(), primitiveValue->getShapeValue()));
    19511951                setValue(styleResolver->style(), shape.release());
    19521952            }
    19531953        } else if (value->isImageValue()) {
    1954             RefPtr<ExclusionShapeValue> shape = ExclusionShapeValue::createImageValue(styleResolver->styleImage(property, value));
     1954            RefPtr<ShapeValue> shape = ShapeValue::createImageValue(styleResolver->styleImage(property, value));
    19551955            setValue(styleResolver->style(), shape.release());
    19561956        }
     
    19591959    static PropertyHandler createHandler()
    19601960    {
    1961         PropertyHandler handler = ApplyPropertyDefaultBase<ExclusionShapeValue*, getterFunction, PassRefPtr<ExclusionShapeValue>, setterFunction, ExclusionShapeValue*, initialFunction>::createHandler();
     1961        PropertyHandler handler = ApplyPropertyDefaultBase<ShapeValue*, getterFunction, PassRefPtr<ShapeValue>, setterFunction, ShapeValue*, initialFunction>::createHandler();
    19621962        return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue);
    19631963    }
     
    23442344    setPropertyHandler(CSSPropertyWebkitShapeMargin, ApplyPropertyLength<&RenderStyle::shapeMargin, &RenderStyle::setShapeMargin, &RenderStyle::initialShapeMargin>::createHandler());
    23452345    setPropertyHandler(CSSPropertyWebkitShapePadding, ApplyPropertyLength<&RenderStyle::shapePadding, &RenderStyle::setShapePadding, &RenderStyle::initialShapePadding>::createHandler());
    2346     setPropertyHandler(CSSPropertyWebkitShapeInside, ApplyPropertyExclusionShape<&RenderStyle::shapeInside, &RenderStyle::setShapeInside, &RenderStyle::initialShapeInside>::createHandler());
    2347     setPropertyHandler(CSSPropertyWebkitShapeOutside, ApplyPropertyExclusionShape<&RenderStyle::shapeOutside, &RenderStyle::setShapeOutside, &RenderStyle::initialShapeOutside>::createHandler());
     2346    setPropertyHandler(CSSPropertyWebkitShapeInside, ApplyPropertyShape<&RenderStyle::shapeInside, &RenderStyle::setShapeInside, &RenderStyle::initialShapeInside>::createHandler());
     2347    setPropertyHandler(CSSPropertyWebkitShapeOutside, ApplyPropertyShape<&RenderStyle::shapeOutside, &RenderStyle::setShapeOutside, &RenderStyle::initialShapeOutside>::createHandler());
    23482348#endif
    23492349    setPropertyHandler(CSSPropertyWhiteSpace, ApplyPropertyDefault<EWhiteSpace, &RenderStyle::whiteSpace, EWhiteSpace, &RenderStyle::setWhiteSpace, EWhiteSpace, &RenderStyle::initialWhiteSpace>::createHandler());
  • trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp

    r151247 r151402  
    145145
    146146#if ENABLE(CSS_SHAPES)
    147 static inline PassRefPtr<ExclusionShapeValue> blendFunc(const AnimationBase*, ExclusionShapeValue* from, ExclusionShapeValue* to, double progress)
     147static inline PassRefPtr<ShapeValue> blendFunc(const AnimationBase*, ShapeValue* from, ShapeValue* to, double progress)
    148148{
    149149    // FIXME Bug 102723: Shape-inside should be able to animate a value of 'outside-shape' when shape-outside is set to a BasicShape
    150     if (from->type() != ExclusionShapeValue::Shape || to->type() != ExclusionShapeValue::Shape)
     150    if (from->type() != ShapeValue::Shape || to->type() != ShapeValue::Shape)
    151151        return to;
    152152
     
    157157        return to;
    158158
    159     return ExclusionShapeValue::createShapeValue(toShape->blend(fromShape, progress));
     159    return ShapeValue::createShapeValue(toShape->blend(fromShape, progress));
    160160}
    161161#endif
     
    406406
    407407#if ENABLE(CSS_SHAPES)
    408 class PropertyWrapperExclusionShape : public RefCountedPropertyWrapper<ExclusionShapeValue> {
    409 public:
    410     PropertyWrapperExclusionShape(CSSPropertyID prop, ExclusionShapeValue* (RenderStyle::*getter)() const, void (RenderStyle::*setter)(PassRefPtr<ExclusionShapeValue>))
    411         : RefCountedPropertyWrapper<ExclusionShapeValue>(prop, getter, setter)
     408class PropertyWrapperShape : public RefCountedPropertyWrapper<ShapeValue> {
     409public:
     410    PropertyWrapperShape(CSSPropertyID prop, ShapeValue* (RenderStyle::*getter)() const, void (RenderStyle::*setter)(PassRefPtr<ShapeValue>))
     411        : RefCountedPropertyWrapper<ShapeValue>(prop, getter, setter)
    412412    {
    413413    }
     
    11661166
    11671167#if ENABLE(CSS_SHAPES)
    1168     gPropertyWrappers->append(new PropertyWrapperExclusionShape(CSSPropertyWebkitShapeInside, &RenderStyle::shapeInside, &RenderStyle::setShapeInside));
     1168    gPropertyWrappers->append(new PropertyWrapperShape(CSSPropertyWebkitShapeInside, &RenderStyle::shapeInside, &RenderStyle::setShapeInside));
    11691169#endif
    11701170
  • trunk/Source/WebCore/rendering/LayoutState.cpp

    r151247 r151402  
    4141    , m_next(prev)
    4242#if ENABLE(CSS_SHAPES)
    43     , m_exclusionShapeInsideInfo(0)
     43    , m_shapeInsideInfo(0)
    4444#endif
    4545#ifndef NDEBUG
     
    114114    if (renderer->isRenderBlock()) {
    115115        const RenderBlock* renderBlock = toRenderBlock(renderer);
    116         m_exclusionShapeInsideInfo = renderBlock->exclusionShapeInsideInfo();
    117         if (!m_exclusionShapeInsideInfo && m_next->m_exclusionShapeInsideInfo && renderBlock->allowsExclusionShapeInsideInfoSharing())
    118             m_exclusionShapeInsideInfo = m_next->m_exclusionShapeInsideInfo;
     116        m_shapeInsideInfo = renderBlock->shapeInsideInfo();
     117        if (!m_shapeInsideInfo && m_next->m_shapeInsideInfo && renderBlock->allowsShapeInsideInfoSharing())
     118            m_shapeInsideInfo = m_next->m_shapeInsideInfo;
    119119    }
    120120#endif
     
    150150    , m_next(0)
    151151#if ENABLE(CSS_SHAPES)
    152     , m_exclusionShapeInsideInfo(0)
     152    , m_shapeInsideInfo(0)
    153153#endif
    154154    , m_pageLogicalHeight(0)
  • trunk/Source/WebCore/rendering/LayoutState.h

    r151338 r151402  
    4040class RenderFlowThread;
    4141#if ENABLE(CSS_SHAPES)
    42 class ExclusionShapeInsideInfo;
     42class ShapeInsideInfo;
    4343#endif
    4444
     
    5858        , m_next(0)
    5959#if ENABLE(CSS_SHAPES)
    60         , m_exclusionShapeInsideInfo(0)
     60        , m_shapeInsideInfo(0)
    6161#endif
    6262        , m_pageLogicalHeight(0)
     
    100100
    101101#if ENABLE(CSS_SHAPES)
    102     ExclusionShapeInsideInfo* exclusionShapeInsideInfo() const { return m_exclusionShapeInsideInfo; }
     102    ShapeInsideInfo* shapeInsideInfo() const { return m_shapeInsideInfo; }
    103103#endif
    104104private:
     
    127127    LayoutState* m_next;
    128128#if ENABLE(CSS_SHAPES)
    129     ExclusionShapeInsideInfo* m_exclusionShapeInsideInfo;
     129    ShapeInsideInfo* m_shapeInsideInfo;
    130130#endif
    131131
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r151394 r151402  
    6666
    6767#if ENABLE(CSS_SHAPES)
    68 #include "ExclusionShapeInsideInfo.h"
    69 #include "ExclusionShapeOutsideInfo.h"
     68#include "ShapeInsideInfo.h"
     69#include "ShapeOutsideInfo.h"
    7070#endif
    7171
     
    360360   
    361361#if ENABLE(CSS_SHAPES)
    362     // FIXME: Bug 89993: Style changes should affect the ExclusionShapeInsideInfos for other render blocks that
    363     // share the same ExclusionShapeInsideInfo
    364     updateExclusionShapeInsideInfoAfterStyleChange(newStyle->resolvedShapeInside(), oldStyle ? oldStyle->resolvedShapeInside() : 0);
     362    updateShapeInsideInfoAfterStyleChange(newStyle->resolvedShapeInside(), oldStyle ? oldStyle->resolvedShapeInside() : 0);
    365363#endif
    366364
     
    14381436
    14391437#if ENABLE(CSS_SHAPES)
    1440 void RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange(const ExclusionShapeValue* shapeInside, const ExclusionShapeValue* oldShapeInside)
     1438void RenderBlock::updateShapeInsideInfoAfterStyleChange(const ShapeValue* shapeInside, const ShapeValue* oldShapeInside)
    14411439{
    14421440    // FIXME: A future optimization would do a deep comparison for equality.
     
    14451443
    14461444    if (shapeInside) {
    1447         ExclusionShapeInsideInfo* exclusionShapeInsideInfo = ensureExclusionShapeInsideInfo();
    1448         exclusionShapeInsideInfo->dirtyShapeSize();
     1445        ShapeInsideInfo* shapeInsideInfo = ensureShapeInsideInfo();
     1446        shapeInsideInfo->dirtyShapeSize();
    14491447    } else {
    1450         setExclusionShapeInsideInfo(nullptr);
     1448        setShapeInsideInfo(nullptr);
    14511449        markShapeInsideDescendantsForLayout();
    14521450    }
     
    14701468#endif
    14711469
    1472 static inline bool exclusionInfoRequiresRelayout(const RenderBlock* block)
     1470static inline bool shapeInfoRequiresRelayout(const RenderBlock* block)
    14731471{
    14741472#if !ENABLE(CSS_SHAPES)
    14751473    return false;
    14761474#else
    1477     ExclusionShapeInsideInfo* info = block->exclusionShapeInsideInfo();
     1475    ShapeInsideInfo* info = block->shapeInsideInfo();
    14781476    if (info)
    14791477        info->setNeedsLayout(info->shapeSizeDirty());
    14801478    else
    1481         info = block->layoutExclusionShapeInsideInfo();
     1479        info = block->layoutShapeInsideInfo();
    14821480    return info && info->needsLayout();
    14831481#endif
     
    14871485{
    14881486#if ENABLE(CSS_SHAPES)
    1489     if (!flowThread && !exclusionShapeInsideInfo())
     1487    if (!flowThread && !shapeInsideInfo())
    14901488#else
    14911489    if (!flowThread)
    14921490#endif
    1493         return exclusionInfoRequiresRelayout(this);
     1491        return shapeInfoRequiresRelayout(this);
    14941492
    14951493    LayoutUnit oldHeight = logicalHeight();
     
    15021500
    15031501#if ENABLE(CSS_SHAPES)
    1504     computeExclusionShapeSize();
     1502    computeShapeSize();
    15051503#endif
    15061504
     
    15121510    setLogicalTop(oldTop);
    15131511   
    1514     return exclusionInfoRequiresRelayout(this);
     1512    return shapeInfoRequiresRelayout(this);
    15151513}
    15161514
    15171515#if ENABLE(CSS_SHAPES)
    1518 void RenderBlock::computeExclusionShapeSize()
    1519 {
    1520     ExclusionShapeInsideInfo* exclusionShapeInsideInfo = this->exclusionShapeInsideInfo();
    1521     if (exclusionShapeInsideInfo) {
     1516void RenderBlock::computeShapeSize()
     1517{
     1518    ShapeInsideInfo* shapeInsideInfo = this->shapeInsideInfo();
     1519    if (shapeInsideInfo) {
    15221520        bool percentageLogicalHeightResolvable = percentageLogicalHeightIsResolvableFromBlock(this, false);
    1523         exclusionShapeInsideInfo->setShapeSize(logicalWidth(), percentageLogicalHeightResolvable ? logicalHeight() : LayoutUnit());
     1521        shapeInsideInfo->setShapeSize(logicalWidth(), percentageLogicalHeightResolvable ? logicalHeight() : LayoutUnit());
    15241522    }
    15251523}
     
    15301528#if ENABLE(CSS_SHAPES)
    15311529    // A previous sibling has changed dimension, so we need to relayout the shape with the content
    1532     ExclusionShapeInsideInfo* shapeInsideInfo = layoutExclusionShapeInsideInfo();
     1530    ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo();
    15331531    if (heightChanged && shapeInsideInfo)
    15341532        shapeInsideInfo->dirtyShapeSize();
     
    40224020
    40234021#if ENABLE(CSS_SHAPES)
    4024     ExclusionShapeOutsideInfo* shapeOutside = o->exclusionShapeOutsideInfo();
     4022    ShapeOutsideInfo* shapeOutside = o->shapeOutsideInfo();
    40254023    if (shapeOutside) {
    40264024        shapeOutside->setShapeSize(o->logicalWidth(), o->logicalHeight());
    4027         // The CSS Exclusions specification says that the margins are ignored
     4025        // The CSS Shapes specification says that the margins are ignored
    40284026        // when a float has a shape outside.
    40294027        setLogicalWidthForFloat(newObj, shapeOutside->shapeLogicalWidth());
     
    41034101#if ENABLE(CSS_SHAPES)
    41044102    // FIXME Bug 102948: This only works for shape outside directly set on this block.
    4105     ExclusionShapeInsideInfo* shapeInsideInfo = exclusionShapeInsideInfo();
     4103    ShapeInsideInfo* shapeInsideInfo = this->shapeInsideInfo();
    41064104    // FIXME Bug 102846: Take into account the height of the content. The offset should be
    41074105    // equal to the maximum segment length.
     
    42584256        setLogicalTopForFloat(floatingObject, floatLogicalLocation.y());
    42594257#if ENABLE(CSS_SHAPES)
    4260         if (childBox->exclusionShapeOutsideInfo())
    4261             setLogicalHeightForFloat(floatingObject, childBox->exclusionShapeOutsideInfo()->shapeLogicalHeight());
     4258        if (childBox->shapeOutsideInfo())
     4259            setLogicalHeightForFloat(floatingObject, childBox->shapeOutsideInfo()->shapeLogicalHeight());
    42624260        else
    42634261#endif
     
    44454443        const FloatingObject* lastFloat = adapter.lastFloat();
    44464444        if (offsetMode == ShapeOutsideFloatShapeOffset && lastFloat) {
    4447             if (ExclusionShapeOutsideInfo* shapeOutside = lastFloat->renderer()->exclusionShapeOutsideInfo()) {
     4445            if (ShapeOutsideInfo* shapeOutside = lastFloat->renderer()->shapeOutsideInfo()) {
    44484446                shapeOutside->computeSegmentsForLine(logicalTop - logicalTopForFloat(lastFloat) + shapeOutside->shapeLogicalTop(), logicalHeight);
    44494447                left += shapeOutside->rightSegmentShapeBoundingBoxDelta();
     
    45034501        const FloatingObject* lastFloat = adapter.lastFloat();
    45044502        if (offsetMode == ShapeOutsideFloatShapeOffset && lastFloat) {
    4505             if (ExclusionShapeOutsideInfo* shapeOutside = lastFloat->renderer()->exclusionShapeOutsideInfo()) {
     4503            if (ShapeOutsideInfo* shapeOutside = lastFloat->renderer()->shapeOutsideInfo()) {
    45064504                shapeOutside->computeSegmentsForLine(logicalTop - logicalTopForFloat(lastFloat) + shapeOutside->shapeLogicalTop(), logicalHeight);
    45074505                rightFloatOffset += shapeOutside->leftSegmentShapeBoundingBoxDelta();
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r151360 r151402  
    3636
    3737#if ENABLE(CSS_SHAPES)
    38 #include "ExclusionShapeInsideInfo.h"
    39 #include "ExclusionShapeValue.h"
     38#include "ShapeInsideInfo.h"
     39#include "ShapeValue.h"
    4040#endif
    4141
     
    447447
    448448#if ENABLE(CSS_SHAPES)
    449     ExclusionShapeInsideInfo* ensureExclusionShapeInsideInfo()
     449    ShapeInsideInfo* ensureShapeInsideInfo()
    450450    {
    451451        if (!m_rareData || !m_rareData->m_shapeInsideInfo)
    452             setExclusionShapeInsideInfo(ExclusionShapeInsideInfo::createInfo(this));
     452            setShapeInsideInfo(ShapeInsideInfo::createInfo(this));
    453453        return m_rareData->m_shapeInsideInfo.get();
    454454    }
    455455
    456     ExclusionShapeInsideInfo* exclusionShapeInsideInfo() const
     456    ShapeInsideInfo* shapeInsideInfo() const
    457457    {
    458458        if (!m_rareData || !m_rareData->m_shapeInsideInfo)
    459459            return 0;
    460         return ExclusionShapeInsideInfo::isEnabledFor(this) ? m_rareData->m_shapeInsideInfo.get() : 0;
    461     }
    462     void setExclusionShapeInsideInfo(PassOwnPtr<ExclusionShapeInsideInfo> value)
     460        return ShapeInsideInfo::isEnabledFor(this) ? m_rareData->m_shapeInsideInfo.get() : 0;
     461    }
     462    void setShapeInsideInfo(PassOwnPtr<ShapeInsideInfo> value)
    463463    {
    464464        if (!m_rareData)
     
    467467    }
    468468    void markShapeInsideDescendantsForLayout();
    469     ExclusionShapeInsideInfo* layoutExclusionShapeInsideInfo() const;
    470     bool allowsExclusionShapeInsideInfoSharing() const { return !isInline() && !isFloating(); }
     469    ShapeInsideInfo* layoutShapeInsideInfo() const;
     470    bool allowsShapeInsideInfoSharing() const { return !isInline() && !isFloating(); }
    471471#endif
    472472
     
    587587private:
    588588#if ENABLE(CSS_SHAPES)
    589     void computeExclusionShapeSize();
    590     void updateExclusionShapeInsideInfoAfterStyleChange(const ExclusionShapeValue*, const ExclusionShapeValue* oldExclusionShape);
     589    void computeShapeSize();
     590    void updateShapeInsideInfoAfterStyleChange(const ShapeValue*, const ShapeValue* oldShape);
    591591#endif
    592592    virtual RenderObjectChildList* virtualChildren() { return children(); }
     
    791791    {
    792792#if ENABLE(CSS_SHAPES)
    793         ExclusionShapeOutsideInfo *shapeOutside = child->renderer()->exclusionShapeOutsideInfo();
     793        ShapeOutsideInfo *shapeOutside = child->renderer()->shapeOutsideInfo();
    794794        if (shapeOutside)
    795795            return child->x();
     
    805805    {
    806806#if ENABLE(CSS_SHAPES)
    807         ExclusionShapeOutsideInfo *shapeOutside = child->renderer()->exclusionShapeOutsideInfo();
     807        ShapeOutsideInfo *shapeOutside = child->renderer()->shapeOutsideInfo();
    808808        if (shapeOutside)
    809809            return child->y();
     
    10861086    void layoutRunsAndFloatsInRange(LineLayoutState&, InlineBidiResolver&, const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiStatus, unsigned consecutiveHyphenatedLines);
    10871087#if ENABLE(CSS_SHAPES)
    1088     void updateShapeAndSegmentsForCurrentLine(ExclusionShapeInsideInfo*, LayoutUnit&, LineLayoutState&, bool&);
    1089     bool adjustLogicalLineTopAndLogicalHeightIfNeeded(ExclusionShapeInsideInfo*, LayoutUnit, LineLayoutState&, InlineBidiResolver&, FloatingObject*, InlineIterator&, WordMeasurements&);
     1088    void updateShapeAndSegmentsForCurrentLine(ShapeInsideInfo*, LayoutUnit&, LineLayoutState&, bool&);
     1089    bool adjustLogicalLineTopAndLogicalHeightIfNeeded(ShapeInsideInfo*, LayoutUnit, LineLayoutState&, InlineBidiResolver&, FloatingObject*, InlineIterator&, WordMeasurements&);
    10901090#endif
    10911091    const InlineIterator& restartLayoutRunsAndFloatsInRange(LayoutUnit oldLogicalHeight, LayoutUnit newLogicalHeight,  FloatingObject* lastFloatFromPreviousLine, InlineBidiResolver&,  const InlineIterator&);
     
    12941294        RootInlineBox* m_lineBreakToAvoidWidow;
    12951295#if ENABLE(CSS_SHAPES)
    1296         OwnPtr<ExclusionShapeInsideInfo> m_shapeInsideInfo;
     1296        OwnPtr<ShapeInsideInfo> m_shapeInsideInfo;
    12971297#endif
    12981298        bool m_shouldBreakAtLineToAvoidWidow : 1;
  • trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp

    r151327 r151402  
    4949
    5050#if ENABLE(CSS_SHAPES)
    51 #include "ExclusionShapeInsideInfo.h"
     51#include "ShapeInsideInfo.h"
    5252#endif
    5353
     
    7878
    7979#if ENABLE(CSS_SHAPES)
    80 ExclusionShapeInsideInfo* RenderBlock::layoutExclusionShapeInsideInfo() const
    81 {
    82     ExclusionShapeInsideInfo* shapeInsideInfo = view()->layoutState()->exclusionShapeInsideInfo();
    83 
    84     if (!shapeInsideInfo && flowThreadContainingBlock() && allowsExclusionShapeInsideInfoSharing()) {
     80ShapeInsideInfo* RenderBlock::layoutShapeInsideInfo() const
     81{
     82    ShapeInsideInfo* shapeInsideInfo = view()->layoutState()->shapeInsideInfo();
     83
     84    if (!shapeInsideInfo && flowThreadContainingBlock() && allowsShapeInsideInfoSharing()) {
    8585        // regionAtBlockOffset returns regions like an array first={0,N-1}, second={N,M-1}, ...
    8686        LayoutUnit offset = logicalHeight() + logicalHeightForLine(this, false) - LayoutUnit(1);
    8787        RenderRegion* region = regionAtBlockOffset(offset);
    8888        if (region)
    89             shapeInsideInfo = region->exclusionShapeInsideInfo();
     89            shapeInsideInfo = region->shapeInsideInfo();
    9090    }
    9191
     
    115115        ASSERT(block);
    116116#if ENABLE(CSS_SHAPES)
    117         ExclusionShapeInsideInfo* exclusionShapeInsideInfo = m_block->layoutExclusionShapeInsideInfo();
    118         if (exclusionShapeInsideInfo)
    119             m_segment = exclusionShapeInsideInfo->currentSegment();
     117        if (ShapeInsideInfo* shapeInsideInfo = m_block->layoutShapeInsideInfo())
     118            m_segment = shapeInsideInfo->currentSegment();
    120119#endif
    121120        updateAvailableWidth();
     
    197196    // based on the bounding box. In order to do this, we need to walk back through the floating object list to find
    198197    // the first previous float that is on the same side as our newFloat.
    199     ExclusionShapeOutsideInfo* lastShapeOutsideInfo = 0;
     198    ShapeOutsideInfo* lastShapeOutsideInfo = 0;
    200199    const RenderBlock::FloatingObjectSet& floatingObjectSet = m_block->m_floatingObjects->set();
    201200    RenderBlock::FloatingObjectSetIterator it = floatingObjectSet.end();
     
    204203        RenderBlock::FloatingObject* lastFloat = *it;
    205204        if (lastFloat != newFloat && lastFloat->type() == newFloat->type()) {
    206             lastShapeOutsideInfo = lastFloat->renderer()->exclusionShapeOutsideInfo();
     205            lastShapeOutsideInfo = lastFloat->renderer()->shapeOutsideInfo();
    207206            if (lastShapeOutsideInfo)
    208207                lastShapeOutsideInfo->computeSegmentsForLine(m_block->logicalHeight() - m_block->logicalTopForFloat(lastFloat) + lastShapeOutsideInfo->shapeLogicalTop(), logicalHeightForLine(m_block, m_isFirstLine));
     
    211210    }
    212211
    213     ExclusionShapeOutsideInfo* shapeOutsideInfo = newFloat->renderer()->exclusionShapeOutsideInfo();
     212    ShapeOutsideInfo* shapeOutsideInfo = newFloat->renderer()->shapeOutsideInfo();
    214213    if (shapeOutsideInfo)
    215214        shapeOutsideInfo->computeSegmentsForLine(m_block->logicalHeight() - m_block->logicalTopForFloat(newFloat) + shapeOutsideInfo->shapeLogicalTop(), logicalHeightForLine(m_block, m_isFirstLine));
     
    10381037    bool needsWordSpacing;
    10391038#if ENABLE(CSS_SHAPES)
    1040     ExclusionShapeInsideInfo* exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo();
    1041     if (exclusionShapeInsideInfo && exclusionShapeInsideInfo->hasSegments()) {
     1039    ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo();
     1040    if (shapeInsideInfo && shapeInsideInfo->hasSegments()) {
    10421041        BidiRun* segmentStart = firstRun;
    1043         const SegmentList& segments = exclusionShapeInsideInfo->segments();
     1042        const SegmentList& segments = shapeInsideInfo->segments();
    10441043        float logicalLeft = max<float>(roundToInt(segments[0].logicalLeft), lineLogicalLeft);
    10451044        float logicalRight = min<float>(floorToInt(segments[0].logicalRight), lineLogicalRight);
     
    13621361    constructBidiRunsForSegment(topResolver, bidiRuns, endOfLine, override, previousLineBrokeCleanly);
    13631362#else
    1364     ExclusionShapeInsideInfo* exclusionShapeInsideInfo = block->layoutExclusionShapeInsideInfo();
    1365     if (!exclusionShapeInsideInfo || !exclusionShapeInsideInfo->hasSegments()) {
     1363    ShapeInsideInfo* shapeInsideInfo = block->layoutShapeInsideInfo();
     1364    if (!shapeInsideInfo || !shapeInsideInfo->hasSegments()) {
    13661365        constructBidiRunsForSegment(topResolver, bidiRuns, endOfLine, override, previousLineBrokeCleanly);
    13671366        return;
    13681367    }
    13691368
    1370     const SegmentRangeList& segmentRanges = exclusionShapeInsideInfo->segmentRanges();
     1369    const SegmentRangeList& segmentRanges = shapeInsideInfo->segmentRanges();
    13711370    ASSERT(segmentRanges.size());
    13721371
     
    16341633}
    16351634
    1636 static inline LayoutUnit adjustLogicalLineTop(ExclusionShapeInsideInfo* exclusionShapeInsideInfo, InlineIterator start, InlineIterator end, const WordMeasurements& wordMeasurements)
    1637 {
    1638     if (!exclusionShapeInsideInfo || end != start)
     1635static inline LayoutUnit adjustLogicalLineTop(ShapeInsideInfo* shapeInsideInfo, InlineIterator start, InlineIterator end, const WordMeasurements& wordMeasurements)
     1636{
     1637    if (!shapeInsideInfo || end != start)
    16391638        return 0;
    16401639
    16411640    float minWidth = firstPositiveWidth(wordMeasurements);
    16421641    ASSERT(minWidth || wordMeasurements.isEmpty());
    1643     if (minWidth > 0 && exclusionShapeInsideInfo->adjustLogicalLineTop(minWidth))
    1644         return exclusionShapeInsideInfo->logicalLineTop();
    1645 
    1646     return exclusionShapeInsideInfo->shapeLogicalBottom();
    1647 }
    1648 
    1649 void RenderBlock::updateShapeAndSegmentsForCurrentLine(ExclusionShapeInsideInfo* exclusionShapeInsideInfo, LayoutUnit& absoluteLogicalTop, LineLayoutState& layoutState, bool& lineOverflowsFromShapeInside)
     1642    if (minWidth > 0 && shapeInsideInfo->adjustLogicalLineTop(minWidth))
     1643        return shapeInsideInfo->logicalLineTop();
     1644
     1645    return shapeInsideInfo->shapeLogicalBottom();
     1646}
     1647
     1648void RenderBlock::updateShapeAndSegmentsForCurrentLine(ShapeInsideInfo* shapeInsideInfo, LayoutUnit& absoluteLogicalTop, LineLayoutState& layoutState, bool& lineOverflowsFromShapeInside)
    16501649{
    16511650    LayoutUnit logicalHeight = this->logicalHeight();
    16521651    RenderRegion* currentRegion = regionAtBlockOffset(logicalHeight);
    16531652    if (currentRegion)
    1654         exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo();
    1655     if (!exclusionShapeInsideInfo)
     1653        shapeInsideInfo = layoutShapeInsideInfo();
     1654    if (!shapeInsideInfo)
    16561655        return;
    16571656
     
    16611660    if (layoutState.flowThread()) {
    16621661        RenderRegion* nextRegion = regionAtBlockOffset(logicalHeight + lineHeight - LayoutUnit(1));
    1663         lineTop += exclusionShapeInsideInfo->owner()->borderAndPaddingBefore();
     1662        lineTop += shapeInsideInfo->owner()->borderAndPaddingBefore();
    16641663        // Content in a flow thread is relative to the beginning of the thread, but the shape calculation should be relative to the current region.
    16651664        if (currentRegion == nextRegion)
     
    16681667
    16691668    // FIXME: Bug 95361: It is possible for a line to grow beyond lineHeight, in which case these segments may be incorrect.
    1670     exclusionShapeInsideInfo->computeSegmentsForLine(lineTop, lineHeight);
     1669    shapeInsideInfo->computeSegmentsForLine(lineTop, lineHeight);
    16711670
    16721671    // The overflow should be pushed below the content box
    1673     LayoutUnit shapeContainingBlockHeight = exclusionShapeInsideInfo->shapeContainingBlockHeight();
    1674     if (!exclusionShapeInsideInfo->lineWithinShapeBounds() && !lineOverflowsFromShapeInside && shapeContainingBlockHeight) {
     1672    LayoutUnit shapeContainingBlockHeight = shapeInsideInfo->shapeContainingBlockHeight();
     1673    if (!shapeInsideInfo->lineWithinShapeBounds() && !lineOverflowsFromShapeInside && shapeContainingBlockHeight) {
    16751674        lineOverflowsFromShapeInside = true;
    16761675        LayoutUnit newLogicalHeight = shapeContainingBlockHeight;
     
    16841683
    16851684            RenderRegion* nextRegion = regionAtBlockOffset(newLogicalHeight);
    1686             ExclusionShapeInsideInfo* nextShapeInfo = 0;
     1685            ShapeInsideInfo* nextShapeInfo = 0;
    16871686            if (nextRegion)
    1688                 nextShapeInfo = nextRegion->exclusionShapeInsideInfo();
     1687                nextShapeInfo = nextRegion->shapeInsideInfo();
    16891688
    16901689            // The overflow flows into another region with shape-inside
     
    16951694                nextShapeInfo->computeSegmentsForLine(offset, lineHeight);
    16961695
    1697                 exclusionShapeInsideInfo = nextShapeInfo;
     1696                shapeInsideInfo = nextShapeInfo;
    16981697                lineOverflowsFromShapeInside = false;
    16991698            }
     
    17031702}
    17041703
    1705 bool RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded(ExclusionShapeInsideInfo* exclusionShapeInsideInfo, LayoutUnit absoluteLogicalTop, LineLayoutState& layoutState, InlineBidiResolver& resolver, FloatingObject* lastFloatFromPreviousLine, InlineIterator& end, WordMeasurements& wordMeasurements)
    1706 {
    1707     LayoutUnit adjustedLogicalLineTop = adjustLogicalLineTop(exclusionShapeInsideInfo, resolver.position(), end, wordMeasurements);
     1704bool RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded(ShapeInsideInfo* shapeInsideInfo, LayoutUnit absoluteLogicalTop, LineLayoutState& layoutState, InlineBidiResolver& resolver, FloatingObject* lastFloatFromPreviousLine, InlineIterator& end, WordMeasurements& wordMeasurements)
     1705{
     1706    LayoutUnit adjustedLogicalLineTop = adjustLogicalLineTop(shapeInsideInfo, resolver.position(), end, wordMeasurements);
    17081707    if (!adjustedLogicalLineTop)
    17091708        return false;
     
    17321731#if ENABLE(CSS_SHAPES)
    17331732    LayoutUnit absoluteLogicalTop;
    1734     ExclusionShapeInsideInfo* exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo();
    1735     if (exclusionShapeInsideInfo) {
    1736         ASSERT(exclusionShapeInsideInfo->owner() == this || allowsExclusionShapeInsideInfoSharing());
    1737         if (exclusionShapeInsideInfo != this->exclusionShapeInsideInfo()) {
     1733    ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo();
     1734    if (shapeInsideInfo) {
     1735        ASSERT(shapeInsideInfo->owner() == this || allowsShapeInsideInfoSharing());
     1736        if (shapeInsideInfo != this->shapeInsideInfo()) {
    17381737            // FIXME Bug 100284: If subsequent LayoutStates are pushed, we will have to add
    17391738            // their offsets from the original shape-inside container.
     
    17411740        }
    17421741        // Begin layout at the logical top of our shape inside.
    1743         if (logicalHeight() + absoluteLogicalTop < exclusionShapeInsideInfo->shapeLogicalTop()) {
    1744             LayoutUnit logicalHeight = exclusionShapeInsideInfo->shapeLogicalTop() - absoluteLogicalTop;
     1742        if (logicalHeight() + absoluteLogicalTop < shapeInsideInfo->shapeLogicalTop()) {
     1743            LayoutUnit logicalHeight = shapeInsideInfo->shapeLogicalTop() - absoluteLogicalTop;
    17451744            if (layoutState.flowThread())
    1746                 logicalHeight -= exclusionShapeInsideInfo->owner()->borderAndPaddingBefore();
     1745                logicalHeight -= shapeInsideInfo->owner()->borderAndPaddingBefore();
    17471746            setLogicalHeight(logicalHeight);
    17481747        }
     
    17721771
    17731772#if ENABLE(CSS_SHAPES)
    1774         updateShapeAndSegmentsForCurrentLine(exclusionShapeInsideInfo, absoluteLogicalTop, layoutState, lineOverflowsFromShapeInside);
     1773        updateShapeAndSegmentsForCurrentLine(shapeInsideInfo, absoluteLogicalTop, layoutState, lineOverflowsFromShapeInside);
    17751774#endif
    17761775        WordMeasurements wordMeasurements;
     
    17881787
    17891788#if ENABLE(CSS_SHAPES)
    1790         if (adjustLogicalLineTopAndLogicalHeightIfNeeded(exclusionShapeInsideInfo, absoluteLogicalTop, layoutState, resolver, lastFloatFromPreviousLine, end, wordMeasurements))
     1789        if (adjustLogicalLineTopAndLogicalHeightIfNeeded(shapeInsideInfo, absoluteLogicalTop, layoutState, resolver, lastFloatFromPreviousLine, end, wordMeasurements))
    17911790            continue;
    17921791#endif
     
    27422741    return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements);
    27432742#else
    2744     ExclusionShapeInsideInfo* exclusionShapeInsideInfo = m_block->layoutExclusionShapeInsideInfo();
    2745 
    2746     if (!exclusionShapeInsideInfo || !exclusionShapeInsideInfo->lineOverlapsShapeBounds())
     2743    ShapeInsideInfo* shapeInsideInfo = m_block->layoutShapeInsideInfo();
     2744
     2745    if (!shapeInsideInfo || !shapeInsideInfo->lineOverlapsShapeBounds())
    27472746        return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements);
    27482747
    27492748    // In layoutRunsAndFloatsInRange we have to use lineOverlapsShapeBounds() to determine the line segments since shape-outside's codepaths uses the same code to determine its segments. The line containing is not a requirement for shape-outside,
    27502749    // so in this case we can end up with some extra segments for the overflowing content, but we don't want to apply the segments for the overflowing content, so we need to reset it.
    2751     if (!m_block->flowThreadContainingBlock() && !exclusionShapeInsideInfo->lineWithinShapeBounds()) {
    2752         exclusionShapeInsideInfo->clearSegments();
     2750    if (!m_block->flowThreadContainingBlock() && !shapeInsideInfo->lineWithinShapeBounds()) {
     2751        shapeInsideInfo->clearSegments();
    27532752        return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements);
    27542753    }
     
    27572756    InlineIterator oldEnd = end;
    27582757
    2759     if (!exclusionShapeInsideInfo->hasSegments()) {
     2758    if (!shapeInsideInfo->hasSegments()) {
    27602759        end = nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements);
    27612760        resolver.setPositionIgnoringNestedIsolates(oldEnd);
     
    27632762    }
    27642763
    2765     const SegmentList& segments = exclusionShapeInsideInfo->segments();
    2766     SegmentRangeList& segmentRanges = exclusionShapeInsideInfo->segmentRanges();
     2764    const SegmentList& segments = shapeInsideInfo->segments();
     2765    SegmentRangeList& segmentRanges = shapeInsideInfo->segmentRanges();
    27672766
    27682767    for (unsigned i = 0; i < segments.size() && !end.atEnd(); i++) {
     
    34113410 end:
    34123411#if ENABLE(CSS_SHAPES)
    3413     ExclusionShapeInsideInfo* shapeInfo = m_block->layoutExclusionShapeInsideInfo();
     3412    ShapeInsideInfo* shapeInfo = m_block->layoutShapeInsideInfo();
    34143413    bool segmentAllowsOverflow = !shapeInfo || !shapeInfo->hasSegments();
    34153414#else
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r151360 r151402  
    161161
    162162#if ENABLE(CSS_SHAPES)
    163     ExclusionShapeOutsideInfo::removeInfo(this);
     163    ShapeOutsideInfo::removeInfo(this);
    164164#endif
    165165
     
    313313
    314314#if ENABLE(CSS_SHAPES)
    315     updateExclusionShapeOutsideInfoAfterStyleChange(style()->shapeOutside(), oldStyle ? oldStyle->shapeOutside() : 0);
     315    updateShapeOutsideInfoAfterStyleChange(style()->shapeOutside(), oldStyle ? oldStyle->shapeOutside() : 0);
    316316#endif
    317317}
    318318
    319319#if ENABLE(CSS_SHAPES)
    320 void RenderBox::updateExclusionShapeOutsideInfoAfterStyleChange(const ExclusionShapeValue* shapeOutside, const ExclusionShapeValue* oldShapeOutside)
     320void RenderBox::updateShapeOutsideInfoAfterStyleChange(const ShapeValue* shapeOutside, const ShapeValue* oldShapeOutside)
    321321{
    322322    // FIXME: A future optimization would do a deep comparison for equality. (bug 100811)
     
    325325
    326326    if (shapeOutside) {
    327         ExclusionShapeOutsideInfo* exclusionShapeOutsideInfo = ExclusionShapeOutsideInfo::ensureInfo(this);
    328         exclusionShapeOutsideInfo->dirtyShapeSize();
     327        ShapeOutsideInfo* shapeOutsideInfo = ShapeOutsideInfo::ensureInfo(this);
     328        shapeOutsideInfo->dirtyShapeSize();
    329329    } else
    330         ExclusionShapeOutsideInfo::removeInfo(this);
     330        ShapeOutsideInfo::removeInfo(this);
    331331}
    332332#endif
  • trunk/Source/WebCore/rendering/RenderBox.h

    r151360 r151402  
    2828#include "ScrollTypes.h"
    2929#if ENABLE(CSS_SHAPES)
    30 #include "ExclusionShapeOutsideInfo.h"
     30#include "ShapeOutsideInfo.h"
    3131#endif
    3232
     
    577577
    578578#if ENABLE(CSS_SHAPES)
    579     ExclusionShapeOutsideInfo* exclusionShapeOutsideInfo() const
    580     {
    581         return isFloatingWithShapeOutside() && ExclusionShapeOutsideInfo::isEnabledFor(this) ? ExclusionShapeOutsideInfo::info(this) : 0;
     579    ShapeOutsideInfo* shapeOutsideInfo() const
     580    {
     581        return isFloatingWithShapeOutside() && ShapeOutsideInfo::isEnabledFor(this) ? ShapeOutsideInfo::info(this) : 0;
    582582    }
    583583#endif
     
    624624private:
    625625#if ENABLE(CSS_SHAPES)
    626     void updateExclusionShapeOutsideInfoAfterStyleChange(const ExclusionShapeValue* shapeOutside, const ExclusionShapeValue* oldShapeOutside);
     626    void updateShapeOutsideInfoAfterStyleChange(const ShapeValue* shapeOutside, const ShapeValue* oldShapeOutside);
    627627#endif
    628628
  • trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp

    r151307 r151402  
    627627#if ENABLE(CSS_SHAPES)
    628628    if (isBox() && isFloating())
    629         if (ExclusionShapeOutsideInfo* shapeOutside = toRenderBox(this)->exclusionShapeOutsideInfo())
     629        if (ShapeOutsideInfo* shapeOutside = toRenderBox(this)->shapeOutsideInfo())
    630630            offset -= shapeOutside->shapeLogicalOffset();
    631631#endif
  • trunk/Source/WebCore/rendering/RenderView.h

    r151322 r151402  
    250250            || m_layoutState->lineGrid() || (renderer->style()->lineGrid() != RenderStyle::initialLineGrid() && renderer->isBlockFlow())
    251251#if ENABLE(CSS_SHAPES)
    252             || (renderer->isRenderBlock() && toRenderBlock(renderer)->exclusionShapeInsideInfo())
    253             || (m_layoutState->exclusionShapeInsideInfo() && renderer->isRenderBlock() && !toRenderBlock(renderer)->allowsExclusionShapeInsideInfoSharing())
     252            || (renderer->isRenderBlock() && toRenderBlock(renderer)->shapeInsideInfo())
     253            || (m_layoutState->shapeInsideInfo() && renderer->isRenderBlock() && !toRenderBlock(renderer)->allowsShapeInsideInfoSharing())
    254254#endif
    255255            ) {
  • trunk/Source/WebCore/rendering/shapes/PolygonShape.cpp

    r151398 r151402  
    2929
    3030#include "config.h"
    31 #include "ExclusionPolygon.h"
     31#include "PolygonShape.h"
    3232
    3333#include <wtf/MathExtras.h>
     
    178178}
    179179
    180 const FloatPolygon& ExclusionPolygon::shapePaddingBounds() const
     180const FloatPolygon& PolygonShape::shapePaddingBounds() const
    181181{
    182182    ASSERT(shapePadding() >= 0);
     
    190190}
    191191
    192 const FloatPolygon& ExclusionPolygon::shapeMarginBounds() const
     192const FloatPolygon& PolygonShape::shapeMarginBounds() const
    193193{
    194194    ASSERT(shapeMargin() >= 0);
     
    225225}
    226226
    227 static inline bool appendIntervalX(float x, bool inside, Vector<ExclusionInterval>& result)
     227static inline bool appendIntervalX(float x, bool inside, Vector<ShapeInterval>& result)
    228228{
    229229    if (!inside)
    230         result.append(ExclusionInterval(x));
     230        result.append(ShapeInterval(x));
    231231    else
    232232        result[result.size() - 1].x2 = x;
     
    242242}
    243243
    244 static void computeXIntersections(const FloatPolygon& polygon, float y, bool isMinY, Vector<ExclusionInterval>& result)
     244static void computeXIntersections(const FloatPolygon& polygon, float y, bool isMinY, Vector<ShapeInterval>& result)
    245245{
    246246    Vector<const FloatPolygonEdge*> edges;
     
    312312}
    313313
    314 static void computeOverlappingEdgeXProjections(const FloatPolygon& polygon, float y1, float y2, Vector<ExclusionInterval>& result)
     314static void computeOverlappingEdgeXProjections(const FloatPolygon& polygon, float y1, float y2, Vector<ShapeInterval>& result)
    315315{
    316316    Vector<const FloatPolygonEdge*> edges;
     
    340340
    341341        if (x2 > x1)
    342             result.append(ExclusionInterval(x1, x2));
    343     }
    344 
    345     sortExclusionIntervals(result);
    346 }
    347 
    348 void ExclusionPolygon::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
     342            result.append(ShapeInterval(x1, x2));
     343    }
     344
     345    sortShapeIntervals(result);
     346}
     347
     348void PolygonShape::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
    349349{
    350350    const FloatPolygon& polygon = shapeMarginBounds();
     
    355355    float y2 = logicalTop + logicalHeight;
    356356
    357     Vector<ExclusionInterval> y1XIntervals, y2XIntervals;
     357    Vector<ShapeInterval> y1XIntervals, y2XIntervals;
    358358    computeXIntersections(polygon, y1, true, y1XIntervals);
    359359    computeXIntersections(polygon, y2, false, y2XIntervals);
    360360
    361     Vector<ExclusionInterval> mergedIntervals;
    362     mergeExclusionIntervals(y1XIntervals, y2XIntervals, mergedIntervals);
    363 
    364     Vector<ExclusionInterval> edgeIntervals;
     361    Vector<ShapeInterval> mergedIntervals;
     362    mergeShapeIntervals(y1XIntervals, y2XIntervals, mergedIntervals);
     363
     364    Vector<ShapeInterval> edgeIntervals;
    365365    computeOverlappingEdgeXProjections(polygon, y1, y2, edgeIntervals);
    366366
    367     Vector<ExclusionInterval> excludedIntervals;
    368     mergeExclusionIntervals(mergedIntervals, edgeIntervals, excludedIntervals);
     367    Vector<ShapeInterval> excludedIntervals;
     368    mergeShapeIntervals(mergedIntervals, edgeIntervals, excludedIntervals);
    369369
    370370    for (unsigned i = 0; i < excludedIntervals.size(); ++i) {
    371         ExclusionInterval interval = excludedIntervals[i];
     371        ShapeInterval interval = excludedIntervals[i];
    372372        result.append(LineSegment(interval.x1, interval.x2));
    373373    }
    374374}
    375375
    376 void ExclusionPolygon::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
     376void PolygonShape::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
    377377{
    378378    const FloatPolygon& polygon = shapePaddingBounds();
     
    383383    float y2 = logicalTop + logicalHeight;
    384384
    385     Vector<ExclusionInterval> y1XIntervals, y2XIntervals;
     385    Vector<ShapeInterval> y1XIntervals, y2XIntervals;
    386386    computeXIntersections(polygon, y1, true, y1XIntervals);
    387387    computeXIntersections(polygon, y2, false, y2XIntervals);
    388388
    389     Vector<ExclusionInterval> commonIntervals;
    390     intersectExclusionIntervals(y1XIntervals, y2XIntervals, commonIntervals);
    391 
    392     Vector<ExclusionInterval> edgeIntervals;
     389    Vector<ShapeInterval> commonIntervals;
     390    intersectShapeIntervals(y1XIntervals, y2XIntervals, commonIntervals);
     391
     392    Vector<ShapeInterval> edgeIntervals;
    393393    computeOverlappingEdgeXProjections(polygon, y1, y2, edgeIntervals);
    394394
    395     Vector<ExclusionInterval> includedIntervals;
    396     subtractExclusionIntervals(commonIntervals, edgeIntervals, includedIntervals);
     395    Vector<ShapeInterval> includedIntervals;
     396    subtractShapeIntervals(commonIntervals, edgeIntervals, includedIntervals);
    397397
    398398    for (unsigned i = 0; i < includedIntervals.size(); ++i) {
    399         ExclusionInterval interval = includedIntervals[i];
     399        ShapeInterval interval = includedIntervals[i];
    400400        result.append(LineSegment(interval.x1, interval.x2));
    401401    }
     
    426426}
    427427
    428 bool ExclusionPolygon::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const
     428bool PolygonShape::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const
    429429{
    430430    float minIntervalTop = minLogicalIntervalTop;
  • trunk/Source/WebCore/rendering/shapes/PolygonShape.h

    r151398 r151402  
    2828 */
    2929
    30 #ifndef ExclusionPolygon_h
    31 #define ExclusionPolygon_h
     30#ifndef PolygonShape_h
     31#define PolygonShape_h
    3232
    33 #include "ExclusionInterval.h"
    34 #include "ExclusionShape.h"
    3533#include "FloatPolygon.h"
     34#include "Shape.h"
     35#include "ShapeInterval.h"
    3636
    3737namespace WebCore {
     
    8181};
    8282
    83 class ExclusionPolygon : public ExclusionShape {
    84     WTF_MAKE_NONCOPYABLE(ExclusionPolygon);
     83class PolygonShape : public Shape {
     84    WTF_MAKE_NONCOPYABLE(PolygonShape);
    8585public:
    86     ExclusionPolygon(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)
    87         : ExclusionShape()
     86    PolygonShape(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)
     87        : Shape()
    8888        , m_polygon(vertices, fillRule)
    8989        , m_marginBounds(nullptr)
     
    110110} // namespace WebCore
    111111
    112 #endif // ExclusionPolygon_h
     112#endif // PolygonShape_h
  • trunk/Source/WebCore/rendering/shapes/RectangleShape.cpp

    r151398 r151402  
    2929
    3030#include "config.h"
    31 #include "ExclusionRectangle.h"
     31#include "RectangleShape.h"
    3232
    3333#include <wtf/MathExtras.h>
     
    8484}
    8585
    86 FloatRoundedRect ExclusionRectangle::shapePaddingBounds() const
     86FloatRoundedRect RectangleShape::shapePaddingBounds() const
    8787{
    8888    if (!m_haveInitializedPaddingBounds) {
     
    9393}
    9494
    95 FloatRoundedRect ExclusionRectangle::shapeMarginBounds() const
     95FloatRoundedRect RectangleShape::shapeMarginBounds() const
    9696{
    9797    if (!m_haveInitializedMarginBounds) {
     
    102102}
    103103
    104 void ExclusionRectangle::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
     104void RectangleShape::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
    105105{
    106106    const FloatRoundedRect& bounds = shapeMarginBounds();
     
    134134}
    135135
    136 void ExclusionRectangle::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
     136void RectangleShape::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
    137137{
    138138    const FloatRoundedRect& bounds = shapePaddingBounds();
     
    179179}
    180180
    181 bool ExclusionRectangle::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const
     181bool RectangleShape::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const
    182182{
    183183    float minIntervalTop = minLogicalIntervalTop;
  • trunk/Source/WebCore/rendering/shapes/RectangleShape.h

    r151398 r151402  
    2828 */
    2929
    30 #ifndef ExclusionRectangle_h
    31 #define ExclusionRectangle_h
     30#ifndef RectangleShape_h
     31#define RectangleShape_h
    3232
    33 #include "ExclusionShape.h"
    3433#include "FloatPoint.h"
    3534#include "FloatRect.h"
    3635#include "FloatSize.h"
     36#include "Shape.h"
    3737#include <wtf/Assertions.h>
    3838#include <wtf/Vector.h>
     
    5959};
    6060
    61 class ExclusionRectangle : public ExclusionShape {
     61class RectangleShape : public Shape {
    6262public:
    63     ExclusionRectangle(const FloatRect& bounds, const FloatSize& radii)
    64         : ExclusionShape()
     63    RectangleShape(const FloatRect& bounds, const FloatSize& radii)
     64        : Shape()
    6565        , m_bounds(bounds, radii)
    6666        , m_haveInitializedMarginBounds(false)
     
    8989} // namespace WebCore
    9090
    91 #endif // ExclusionRectangle_h
     91#endif // RectangleShape_h
  • trunk/Source/WebCore/rendering/shapes/Shape.cpp

    r151398 r151402  
    2929
    3030#include "config.h"
    31 #include "ExclusionShape.h"
     31#include "Shape.h"
    3232
    3333#include "BasicShapeFunctions.h"
    34 #include "ExclusionPolygon.h"
    35 #include "ExclusionRectangle.h"
    3634#include "FloatSize.h"
    3735#include "LengthFunctions.h"
     36#include "PolygonShape.h"
     37#include "RectangleShape.h"
    3838#include "WindRule.h"
    3939#include <wtf/MathExtras.h>
     
    4343namespace WebCore {
    4444
    45 static PassOwnPtr<ExclusionShape> createExclusionRectangle(const FloatRect& bounds, const FloatSize& radii)
     45static PassOwnPtr<Shape> createRectangleShape(const FloatRect& bounds, const FloatSize& radii)
    4646{
    4747    ASSERT(bounds.width() >= 0 && bounds.height() >= 0 && radii.width() >= 0 && radii.height() >= 0);
    48     return adoptPtr(new ExclusionRectangle(bounds, radii));
     48    return adoptPtr(new RectangleShape(bounds, radii));
    4949}
    5050
    51 static PassOwnPtr<ExclusionShape> createExclusionCircle(const FloatPoint& center, float radius)
     51static PassOwnPtr<Shape> createShapeCircle(const FloatPoint& center, float radius)
    5252{
    5353    ASSERT(radius >= 0);
    54     return adoptPtr(new ExclusionRectangle(FloatRect(center.x() - radius, center.y() - radius, radius*2, radius*2), FloatSize(radius, radius)));
     54    return adoptPtr(new RectangleShape(FloatRect(center.x() - radius, center.y() - radius, radius*2, radius*2), FloatSize(radius, radius)));
    5555}
    5656
    57 static PassOwnPtr<ExclusionShape> createExclusionEllipse(const FloatPoint& center, const FloatSize& radii)
     57static PassOwnPtr<Shape> createShapeEllipse(const FloatPoint& center, const FloatSize& radii)
    5858{
    5959    ASSERT(radii.width() >= 0 && radii.height() >= 0);
    60     return adoptPtr(new ExclusionRectangle(FloatRect(center.x() - radii.width(), center.y() - radii.height(), radii.width()*2, radii.height()*2), radii));
     60    return adoptPtr(new RectangleShape(FloatRect(center.x() - radii.width(), center.y() - radii.height(), radii.width()*2, radii.height()*2), radii));
    6161}
    6262
    63 static PassOwnPtr<ExclusionShape> createExclusionPolygon(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)
     63static PassOwnPtr<Shape> createPolygonShape(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)
    6464{
    65     return adoptPtr(new ExclusionPolygon(vertices, fillRule));
     65    return adoptPtr(new PolygonShape(vertices, fillRule));
    6666}
    6767
     
    9191}
    9292
    93 PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape* basicShape, const LayoutSize& logicalBoxSize, WritingMode writingMode, Length margin, Length padding)
     93PassOwnPtr<Shape> Shape::createShape(const BasicShape* basicShape, const LayoutSize& logicalBoxSize, WritingMode writingMode, Length margin, Length padding)
    9494{
    9595    ASSERT(basicShape);
     
    9898    float boxWidth = horizontalWritingMode ? logicalBoxSize.width() : logicalBoxSize.height();
    9999    float boxHeight = horizontalWritingMode ? logicalBoxSize.height() : logicalBoxSize.width();
    100     OwnPtr<ExclusionShape> exclusionShape;
     100    OwnPtr<Shape> shape;
    101101
    102102    switch (basicShape->type()) {
     
    116116        FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxSize.height(), writingMode);
    117117
    118         exclusionShape = createExclusionRectangle(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));
     118        shape = createRectangleShape(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));
    119119        break;
    120120    }
     
    127127        FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxSize.height(), writingMode);
    128128
    129         exclusionShape = createExclusionCircle(logicalCenter, radius);
     129        shape = createShapeCircle(logicalCenter, radius);
    130130        break;
    131131    }
     
    140140        FloatSize logicalRadii = physicalSizeToLogical(FloatSize(radiusX, radiusY), writingMode);
    141141
    142         exclusionShape = createExclusionEllipse(logicalCenter, logicalRadii);
     142        shape = createShapeEllipse(logicalCenter, logicalRadii);
    143143        break;
    144144    }
     
    157157        }
    158158
    159         exclusionShape = createExclusionPolygon(vertices.release(), polygon->windRule());
     159        shape = createPolygonShape(vertices.release(), polygon->windRule());
    160160        break;
    161161    }
     
    177177        FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxSize.height(), writingMode);
    178178
    179         exclusionShape = createExclusionRectangle(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));
     179        shape = createRectangleShape(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));
    180180        break;
    181181    }
     
    185185    }
    186186
    187     exclusionShape->m_writingMode = writingMode;
    188     exclusionShape->m_margin = floatValueForLength(margin, 0);
    189     exclusionShape->m_padding = floatValueForLength(padding, 0);
     187    shape->m_writingMode = writingMode;
     188    shape->m_margin = floatValueForLength(margin, 0);
     189    shape->m_padding = floatValueForLength(padding, 0);
    190190
    191     return exclusionShape.release();
     191    return shape.release();
    192192}
    193193
  • trunk/Source/WebCore/rendering/shapes/Shape.h

    r151398 r151402  
    2828 */
    2929
    30 #ifndef ExclusionShape_h
    31 #define ExclusionShape_h
     30#ifndef Shape_h
     31#define Shape_h
    3232
    3333#include "BasicShapes.h"
     
    5858// physical coordinates.
    5959
    60 class ExclusionShape {
     60class Shape {
    6161public:
    62     static PassOwnPtr<ExclusionShape> createExclusionShape(const BasicShape*, const LayoutSize& logicalBoxSize, WritingMode, Length margin, Length padding);
     62    static PassOwnPtr<Shape> createShape(const BasicShape*, const LayoutSize& logicalBoxSize, WritingMode, Length margin, Length padding);
    6363
    64     virtual ~ExclusionShape() { }
     64    virtual ~Shape() { }
    6565
    6666    virtual LayoutRect shapeMarginLogicalBoundingBox() const = 0;
     
    8383} // namespace WebCore
    8484
    85 #endif // ExclusionShape_h
     85#endif // Shape_h
  • trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp

    r151398 r151402  
    2929
    3030#include "config.h"
    31 #include "ExclusionShapeInfo.h"
     31#include "ShapeInfo.h"
    3232
    3333#if ENABLE(CSS_SHAPES)
    3434
    35 #include "ExclusionShape.h"
    3635#include "RenderBlock.h"
    3736#include "RenderBox.h"
    3837#include "RenderRegion.h"
    3938#include "RenderStyle.h"
     39#include "Shape.h"
    4040
    4141namespace WebCore {
    42 template<class RenderType, ExclusionShapeValue* (RenderStyle::*shapeGetter)() const, void (ExclusionShape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
    43 const ExclusionShape* ExclusionShapeInfo<RenderType, shapeGetter, intervalGetter>::computedShape() const
     42template<class RenderType, ShapeValue* (RenderStyle::*shapeGetter)() const, void (Shape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
     43const Shape* ShapeInfo<RenderType, shapeGetter, intervalGetter>::computedShape() const
    4444{
    45     if (ExclusionShape* exclusionShape = m_shape.get())
    46         return exclusionShape;
     45    if (Shape* shape = m_shape.get())
     46        return shape;
    4747
    48     ExclusionShapeValue* shapeValue = (m_renderer->style()->*shapeGetter)();
    49     BasicShape* shape = (shapeValue && shapeValue->type() == ExclusionShapeValue::Shape) ? shapeValue->shape() : 0;
     48    ShapeValue* shapeValue = (m_renderer->style()->*shapeGetter)();
     49    BasicShape* shape = (shapeValue && shapeValue->type() == ShapeValue::Shape) ? shapeValue->shape() : 0;
    5050
    5151    ASSERT(shape);
    5252
    53     m_shape = ExclusionShape::createExclusionShape(shape, LayoutSize(m_shapeLogicalWidth, m_shapeLogicalHeight), m_renderer->style()->writingMode(), m_renderer->style()->shapeMargin(), m_renderer->style()->shapePadding());
     53    m_shape = Shape::createShape(shape, LayoutSize(m_shapeLogicalWidth, m_shapeLogicalHeight), m_renderer->style()->writingMode(), m_renderer->style()->shapeMargin(), m_renderer->style()->shapePadding());
    5454    ASSERT(m_shape);
    5555    return m_shape.get();
    5656}
    5757
    58 template<class RenderType, ExclusionShapeValue* (RenderStyle::*shapeGetter)() const, void (ExclusionShape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
    59 bool ExclusionShapeInfo<RenderType, shapeGetter, intervalGetter>::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)
     58template<class RenderType, ShapeValue* (RenderStyle::*shapeGetter)() const, void (Shape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
     59bool ShapeInfo<RenderType, shapeGetter, intervalGetter>::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)
    6060{
    6161    ASSERT(lineHeight >= 0);
     
    7676}
    7777
    78 template class ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals>;
    79 template class ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>;
     78template class ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals>;
     79template class ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>;
    8080}
    8181#endif
  • trunk/Source/WebCore/rendering/shapes/ShapeInfo.h

    r151398 r151402  
    2828*/
    2929
    30 #ifndef ExclusionShapeInfo_h
    31 #define ExclusionShapeInfo_h
     30#ifndef ShapeInfo_h
     31#define ShapeInfo_h
    3232
    3333#if ENABLE(CSS_SHAPES)
    3434
    35 #include "ExclusionShape.h"
    36 #include "ExclusionShapeValue.h"
    3735#include "FloatRect.h"
    3836#include "LayoutUnit.h"
    3937#include "RenderStyle.h"
     38#include "Shape.h"
     39#include "ShapeValue.h"
    4040#include <wtf/OwnPtr.h>
    4141#include <wtf/Vector.h>
     
    6565};
    6666
    67 template<class RenderType, ExclusionShapeValue* (RenderStyle::*shapeGetter)() const, void (ExclusionShape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
    68 class ExclusionShapeInfo {
     67template<class RenderType, ShapeValue* (RenderStyle::*shapeGetter)() const, void (Shape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
     68class ShapeInfo {
    6969    WTF_MAKE_FAST_ALLOCATED;
    7070public:
    71     virtual ~ExclusionShapeInfo() { }
     71    virtual ~ShapeInfo() { }
    7272
    7373    void setShapeSize(LayoutUnit logicalWidth, LayoutUnit logicalHeight)
     
    108108
    109109protected:
    110     ExclusionShapeInfo(const RenderType* renderer): m_renderer(renderer) { }
     110    ShapeInfo(const RenderType* renderer): m_renderer(renderer) { }
    111111
    112     const ExclusionShape* computedShape() const;
     112    const Shape* computedShape() const;
    113113    virtual LayoutRect computedShapeLogicalBoundingBox() const = 0;
    114114
     
    121121
    122122private:
    123     mutable OwnPtr<ExclusionShape> m_shape;
     123    mutable OwnPtr<Shape> m_shape;
    124124
    125125    LayoutUnit m_shapeLogicalWidth;
  • trunk/Source/WebCore/rendering/shapes/ShapeInsideInfo.cpp

    r151398 r151402  
    2929
    3030#include "config.h"
    31 #include "ExclusionShapeInsideInfo.h"
     31#include "ShapeInsideInfo.h"
    3232
    3333#if ENABLE(CSS_SHAPES)
     
    4444    }
    4545
    46 bool ExclusionShapeInsideInfo::isEnabledFor(const RenderBlock* renderer)
     46bool ShapeInsideInfo::isEnabledFor(const RenderBlock* renderer)
    4747{
    48     ExclusionShapeValue* shapeValue = renderer->style()->resolvedShapeInside();
    49     if (!shapeValue || shapeValue->type() != ExclusionShapeValue::Shape)
     48    ShapeValue* shapeValue = renderer->style()->resolvedShapeInside();
     49    if (!shapeValue || shapeValue->type() != ShapeValue::Shape)
    5050        return false;
    5151
     
    5454}
    5555
    56 bool ExclusionShapeInsideInfo::adjustLogicalLineTop(float minSegmentWidth)
     56bool ShapeInsideInfo::adjustLogicalLineTop(float minSegmentWidth)
    5757{
    58     const ExclusionShape* shape = computedShape();
     58    const Shape* shape = computedShape();
    5959    if (!shape || m_lineHeight <= 0 || logicalLineTop() > shapeLogicalBottom())
    6060        return false;
  • trunk/Source/WebCore/rendering/shapes/ShapeInsideInfo.h

    r151398 r151402  
    2828 */
    2929
    30 #ifndef ExclusionShapeInsideInfo_h
    31 #define ExclusionShapeInsideInfo_h
     30#ifndef ShapeInsideInfo_h
     31#define ShapeInsideInfo_h
    3232
    3333#if ENABLE(CSS_SHAPES)
    3434
    35 #include "ExclusionShapeInfo.h"
     35#include "ShapeInfo.h"
    3636#include <wtf/PassOwnPtr.h>
    3737#include <wtf/Vector.h>
     
    6363typedef Vector<LineSegmentRange> SegmentRangeList;
    6464
    65 class ExclusionShapeInsideInfo : public ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals> {
     65class ShapeInsideInfo : public ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals> {
    6666public:
    67     static PassOwnPtr<ExclusionShapeInsideInfo> createInfo(const RenderBlock* renderer) { return adoptPtr(new ExclusionShapeInsideInfo(renderer)); }
     67    static PassOwnPtr<ShapeInsideInfo> createInfo(const RenderBlock* renderer) { return adoptPtr(new ShapeInsideInfo(renderer)); }
    6868
    6969    static bool isEnabledFor(const RenderBlock* renderer);
     
    7272    {
    7373        m_segmentRanges.clear();
    74         return ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals>::computeSegmentsForLine(lineTop, lineHeight);
     74        return ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals>::computeSegmentsForLine(lineTop, lineHeight);
    7575    }
    7676
     
    102102
    103103private:
    104     ExclusionShapeInsideInfo(const RenderBlock* renderer)
    105     : ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals> (renderer)
     104    ShapeInsideInfo(const RenderBlock* renderer)
     105    : ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals> (renderer)
    106106    , m_needsLayout(false)
    107107    { }
  • trunk/Source/WebCore/rendering/shapes/ShapeInterval.cpp

    r151398 r151402  
    2929
    3030#include "config.h"
    31 #include "ExclusionInterval.h"
     31#include "ShapeInterval.h"
    3232
    3333#include <wtf/MathExtras.h>
     
    3636
    3737struct IntervalX1Comparator {
    38     bool operator() (const ExclusionInterval& i1, const ExclusionInterval& i2) const
     38    bool operator() (const ShapeInterval& i1, const ShapeInterval& i2) const
    3939    {
    4040        return i1.x1 < i2.x1;
     
    4242};
    4343
    44 bool ExclusionInterval::intersect(const ExclusionInterval& i, ExclusionInterval& rv) const
     44bool ShapeInterval::intersect(const ShapeInterval& i, ShapeInterval& rv) const
    4545{
    4646    if (x2 < i.x1 || x1 > i.x2)
     
    5151}
    5252
    53 void sortExclusionIntervals(Vector<ExclusionInterval>& v)
     53void sortShapeIntervals(Vector<ShapeInterval>& v)
    5454{
    5555    std::sort(v.begin(), v.end(), IntervalX1Comparator());
    5656}
    5757
    58 void mergeExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<ExclusionInterval>& v2, Vector<ExclusionInterval>& rv)
     58void mergeShapeIntervals(const Vector<ShapeInterval>& v1, const Vector<ShapeInterval>& v2, Vector<ShapeInterval>& rv)
    5959{
    6060    if (!v1.size())
     
    6363        rv.appendRange(v1.begin(), v1.end());
    6464    else {
    65         Vector<ExclusionInterval> v(v1.size() + v2.size());
    66         ExclusionInterval* interval = 0;
     65        Vector<ShapeInterval> v(v1.size() + v2.size());
     66        ShapeInterval* interval = 0;
    6767
    6868        std::merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v.begin(), IntervalX1Comparator());
     
    8484}
    8585
    86 void intersectExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<ExclusionInterval>& v2, Vector<ExclusionInterval>& rv)
     86void intersectShapeIntervals(const Vector<ShapeInterval>& v1, const Vector<ShapeInterval>& v2, Vector<ShapeInterval>& rv)
    8787{
    8888    size_t v1Size = v1.size();
     
    9292        return;
    9393
    94     ExclusionInterval interval;
     94    ShapeInterval interval;
    9595    bool overlap = false;
    9696    size_t i1 = 0;
     
    9898
    9999    while (i1 < v1Size && i2 < v2Size) {
    100         ExclusionInterval v12;
     100        ShapeInterval v12;
    101101        if (v1[i1].intersect(v2[i2], v12)) {
    102102            if (!overlap || !v12.intersect(interval, interval)) {
     
    125125}
    126126
    127 void subtractExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<ExclusionInterval>& v2, Vector<ExclusionInterval>& rv)
     127void subtractShapeIntervals(const Vector<ShapeInterval>& v1, const Vector<ShapeInterval>& v2, Vector<ShapeInterval>& rv)
    128128{
    129129    size_t v1Size = v1.size();
     
    140140
    141141        while (i1 < rv.size() && i2 < v2Size) {
    142             ExclusionInterval& interval1 = rv[i1];
    143             const ExclusionInterval& interval2 = v2[i2];
     142            ShapeInterval& interval1 = rv[i1];
     143            const ShapeInterval& interval2 = v2[i2];
    144144
    145145            if (interval2.x1 <= interval1.x1 && interval2.x2 >= interval1.x2)
     
    150150                i1 += 1;
    151151            else if (interval2.x1 > interval1.x1 && interval2.x2 < interval1.x2) {
    152                 rv.insert(i1, ExclusionInterval(interval1.x1, interval2.x1));
     152                rv.insert(i1, ShapeInterval(interval1.x1, interval2.x1));
    153153                interval1.x1 = interval2.x2;
    154154                i2 += 1;
  • trunk/Source/WebCore/rendering/shapes/ShapeInterval.h

    r151398 r151402  
    2828 */
    2929
    30 #ifndef ExclusionInterval_h
    31 #define ExclusionInterval_h
     30#ifndef ShapeInterval_h
     31#define ShapeInterval_h
    3232
    3333#include <wtf/Vector.h>
     
    3535namespace WebCore {
    3636
    37 struct ExclusionInterval {
     37struct ShapeInterval {
    3838public:
    3939    float x1;
    4040    float x2;
    4141
    42     ExclusionInterval(float x1 = 0, float x2 = 0)
     42    ShapeInterval(float x1 = 0, float x2 = 0)
    4343        : x1(x1)
    4444        , x2(x2)
     
    4646    }
    4747
    48     bool intersect(const ExclusionInterval&, ExclusionInterval&) const;
     48    bool intersect(const ShapeInterval&, ShapeInterval&) const;
    4949};
    5050
    51 void sortExclusionIntervals(Vector<ExclusionInterval>&);
    52 void mergeExclusionIntervals(const Vector<ExclusionInterval>&, const Vector<ExclusionInterval>&, Vector<ExclusionInterval>&);
    53 void intersectExclusionIntervals(const Vector<ExclusionInterval>&, const Vector<ExclusionInterval>&, Vector<ExclusionInterval>&);
    54 void subtractExclusionIntervals(const Vector<ExclusionInterval>&, const Vector<ExclusionInterval>&, Vector<ExclusionInterval>&);
     51void sortShapeIntervals(Vector<ShapeInterval>&);
     52void mergeShapeIntervals(const Vector<ShapeInterval>&, const Vector<ShapeInterval>&, Vector<ShapeInterval>&);
     53void intersectShapeIntervals(const Vector<ShapeInterval>&, const Vector<ShapeInterval>&, Vector<ShapeInterval>&);
     54void subtractShapeIntervals(const Vector<ShapeInterval>&, const Vector<ShapeInterval>&, Vector<ShapeInterval>&);
    5555
    5656} // namespace WebCore
    5757
    58 #endif // ExclusionInterval_h
     58#endif // ShapeInterval_h
  • trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp

    r151398 r151402  
    3232#if ENABLE(CSS_SHAPES)
    3333
    34 #include "ExclusionShapeOutsideInfo.h"
     34#include "ShapeOutsideInfo.h"
    3535
    3636#include "RenderBox.h"
    3737
    3838namespace WebCore {
    39 bool ExclusionShapeOutsideInfo::isEnabledFor(const RenderBox* box)
     39bool ShapeOutsideInfo::isEnabledFor(const RenderBox* box)
    4040{
    41     ExclusionShapeValue* value = box->style()->shapeOutside();
    42     return box->isFloatingWithShapeOutside() && value->type() == ExclusionShapeValue::Shape && value->shape();
     41    ShapeValue* value = box->style()->shapeOutside();
     42    return box->isFloatingWithShapeOutside() && value->type() == ShapeValue::Shape && value->shape();
    4343}
    4444
    45 bool ExclusionShapeOutsideInfo::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)
     45bool ShapeOutsideInfo::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)
    4646{
    4747    if (shapeSizeDirty() || m_lineTop != lineTop || m_lineHeight != lineHeight) {
    48         if (ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>::computeSegmentsForLine(lineTop, lineHeight)) {
     48        if (ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>::computeSegmentsForLine(lineTop, lineHeight)) {
    4949            m_leftSegmentShapeBoundingBoxDelta = m_segments[0].logicalLeft - shapeLogicalLeft();
    5050            m_rightSegmentShapeBoundingBoxDelta = m_segments[m_segments.size()-1].logicalRight - shapeLogicalRight();
  • trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.h

    r151398 r151402  
    2828 */
    2929
    30 #ifndef ExclusionShapeOutsideInfo_h
    31 #define ExclusionShapeOutsideInfo_h
     30#ifndef ShapeOutsideInfo_h
     31#define ShapeOutsideInfo_h
    3232
    3333#if ENABLE(CSS_SHAPES)
    3434
    35 #include "ExclusionShapeInfo.h"
    3635#include "LayoutSize.h"
     36#include "ShapeInfo.h"
    3737
    3838namespace WebCore {
     
    4040class RenderBox;
    4141
    42 class ExclusionShapeOutsideInfo : public ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>, public MappedInfo<RenderBox, ExclusionShapeOutsideInfo> {
     42class ShapeOutsideInfo : public ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>, public MappedInfo<RenderBox, ShapeOutsideInfo> {
    4343public:
    4444    LayoutSize shapeLogicalOffset() const { return LayoutSize(shapeLogicalLeft(), shapeLogicalTop()); }
     
    4949    virtual bool computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight) OVERRIDE;
    5050
    51     static PassOwnPtr<ExclusionShapeOutsideInfo> createInfo(const RenderBox* renderer) { return adoptPtr(new ExclusionShapeOutsideInfo(renderer)); }
     51    static PassOwnPtr<ShapeOutsideInfo> createInfo(const RenderBox* renderer) { return adoptPtr(new ShapeOutsideInfo(renderer)); }
    5252    static bool isEnabledFor(const RenderBox*);
    5353
     
    5656
    5757private:
    58     ExclusionShapeOutsideInfo(const RenderBox* renderer) : ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>(renderer) { }
     58    ShapeOutsideInfo(const RenderBox* renderer) : ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>(renderer) { }
    5959
    6060    LayoutUnit m_leftSegmentShapeBoundingBoxDelta;
  • trunk/Source/WebCore/rendering/style/RenderStyle.cpp

    r151394 r151402  
    17341734}
    17351735
    1736 ExclusionShapeValue* RenderStyle::initialShapeInside()
    1737 {
    1738     DEFINE_STATIC_LOCAL(RefPtr<ExclusionShapeValue>, sOutsideValue, (ExclusionShapeValue::createOutsideValue()));
     1736ShapeValue* RenderStyle::initialShapeInside()
     1737{
     1738    DEFINE_STATIC_LOCAL(RefPtr<ShapeValue>, sOutsideValue, (ShapeValue::createOutsideValue()));
    17391739    return sOutsideValue.get();
    17401740}
  • trunk/Source/WebCore/rendering/style/RenderStyle.h

    r151394 r151402  
    3535#include "CounterDirectives.h"
    3636#include "DataRef.h"
    37 #include "ExclusionShapeValue.h"
    3837#include "FontBaseline.h"
    3938#include "FontDescription.h"
     
    5049#include "RoundedRect.h"
    5150#include "ShadowData.h"
     51#include "ShapeValue.h"
    5252#include "StyleBackgroundData.h"
    5353#include "StyleBoxData.h"
     
    14711471#endif
    14721472
    1473     void setShapeInside(PassRefPtr<ExclusionShapeValue> value)
     1473    void setShapeInside(PassRefPtr<ShapeValue> value)
    14741474    {
    14751475        if (rareNonInheritedData->m_shapeInside == value)
     
    14771477        rareNonInheritedData.access()->m_shapeInside = value;
    14781478    }
    1479     ExclusionShapeValue* shapeInside() const { return rareNonInheritedData->m_shapeInside.get(); }
    1480     ExclusionShapeValue* resolvedShapeInside() const
    1481     {
    1482         ExclusionShapeValue* shapeInside = this->shapeInside();
    1483         if (shapeInside && shapeInside->type() == ExclusionShapeValue::Outside)
     1479    ShapeValue* shapeInside() const { return rareNonInheritedData->m_shapeInside.get(); }
     1480    ShapeValue* resolvedShapeInside() const
     1481    {
     1482        ShapeValue* shapeInside = this->shapeInside();
     1483        if (shapeInside && shapeInside->type() == ShapeValue::Outside)
    14841484            return shapeOutside();
    14851485        return shapeInside;
    14861486    }
    14871487
    1488     void setShapeOutside(PassRefPtr<ExclusionShapeValue> value)
     1488    void setShapeOutside(PassRefPtr<ShapeValue> value)
    14891489    {
    14901490        if (rareNonInheritedData->m_shapeOutside == value)
     
    14921492        rareNonInheritedData.access()->m_shapeOutside = value;
    14931493    }
    1494     ExclusionShapeValue* shapeOutside() const { return rareNonInheritedData->m_shapeOutside.get(); }
    1495 
    1496     static ExclusionShapeValue* initialShapeInside();
    1497     static ExclusionShapeValue* initialShapeOutside() { return 0; }
     1494    ShapeValue* shapeOutside() const { return rareNonInheritedData->m_shapeOutside.get(); }
     1495
     1496    static ShapeValue* initialShapeInside();
     1497    static ShapeValue* initialShapeOutside() { return 0; }
    14981498
    14991499    void setClipPath(PassRefPtr<ClipPathOperation> operation)
  • trunk/Source/WebCore/rendering/style/ShapeValue.h

    r151398 r151402  
    2828 */
    2929
    30 #ifndef ExclusionShapeValue_h
    31 #define ExclusionShapeValue_h
     30#ifndef ShapeValue_h
     31#define ShapeValue_h
    3232
    3333#include "BasicShapes.h"
     
    3737namespace WebCore {
    3838
    39 class ExclusionShapeValue : public RefCounted<ExclusionShapeValue> {
     39class ShapeValue : public RefCounted<ShapeValue> {
    4040public:
    41     enum ExclusionShapeValueType {
    42         // The Auto value is defined by a null ExclusionShapeValue*
     41    enum ShapeValueType {
     42        // The Auto value is defined by a null ShapeValue*
    4343        Shape,
    4444        Outside,
     
    4646    };
    4747
    48     static PassRefPtr<ExclusionShapeValue> createShapeValue(PassRefPtr<BasicShape> shape)
     48    static PassRefPtr<ShapeValue> createShapeValue(PassRefPtr<BasicShape> shape)
    4949    {
    50         return adoptRef(new ExclusionShapeValue(shape));
     50        return adoptRef(new ShapeValue(shape));
    5151    }
    5252
    53     static PassRefPtr<ExclusionShapeValue> createOutsideValue()
     53    static PassRefPtr<ShapeValue> createOutsideValue()
    5454    {
    55         return adoptRef(new ExclusionShapeValue(Outside));
     55        return adoptRef(new ShapeValue(Outside));
    5656    }
    5757
    58     static PassRefPtr<ExclusionShapeValue> createImageValue(PassRefPtr<StyleImage> image)
     58    static PassRefPtr<ShapeValue> createImageValue(PassRefPtr<StyleImage> image)
    5959    {
    60         return adoptRef(new ExclusionShapeValue(image));
     60        return adoptRef(new ShapeValue(image));
    6161    }
    6262
    63     ExclusionShapeValueType type() const { return m_type; }
     63    ShapeValueType type() const { return m_type; }
    6464    BasicShape* shape() const { return m_shape.get(); }
    6565    StyleImage* image() const { return m_image.get(); }
     
    6969            m_image = image;
    7070    }
    71     bool operator==(const ExclusionShapeValue& other) const { return type() == other.type(); }
     71    bool operator==(const ShapeValue& other) const { return type() == other.type(); }
    7272
    7373private:
    74     ExclusionShapeValue(PassRefPtr<BasicShape> shape)
     74    ShapeValue(PassRefPtr<BasicShape> shape)
    7575        : m_type(Shape)
    7676        , m_shape(shape)
    7777    {
    7878    }
    79     ExclusionShapeValue(ExclusionShapeValueType type)
     79    ShapeValue(ShapeValueType type)
    8080        : m_type(type)
    8181    {
    8282    }
    83     ExclusionShapeValue(PassRefPtr<StyleImage> image)
     83    ShapeValue(PassRefPtr<StyleImage> image)
    8484        : m_type(Image)
    8585        , m_image(image)
    8686    {
    8787    }
    88     ExclusionShapeValueType m_type;
     88    ShapeValueType m_type;
    8989    RefPtr<BasicShape> m_shape;
    9090    RefPtr<StyleImage> m_image;
  • trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.h

    r151394 r151402  
    3131#include "CursorData.h"
    3232#include "DataRef.h"
    33 #include "ExclusionShapeValue.h"
    3433#include "FillLayer.h"
    3534#include "LineClampValue.h"
    3635#include "NinePieceImage.h"
     36#include "ShapeValue.h"
    3737#include <wtf/OwnPtr.h>
    3838#include <wtf/PassRefPtr.h>
     
    137137    LengthSize m_pageSize;
    138138
    139     RefPtr<ExclusionShapeValue> m_shapeInside;
    140     RefPtr<ExclusionShapeValue> m_shapeOutside;
     139    RefPtr<ShapeValue> m_shapeInside;
     140    RefPtr<ShapeValue> m_shapeOutside;
    141141    Length m_shapeMargin;
    142142    Length m_shapePadding;
  • trunk/Source/WebKit/CMakeLists.txt

    r150837 r151402  
    4242    "${WEBCORE_DIR}/plugins"
    4343    "${WEBCORE_DIR}/rendering"
     44    "${WEBCORE_DIR}/rendering/shapes"
    4445    "${WEBCORE_DIR}/rendering/style"
    4546    "${WEBCORE_DIR}/storage"
  • trunk/Source/WebKit/ChangeLog

    r151304 r151402  
     12013-06-10  Bear Travis  <betravis@adobe.com>
     2
     3        [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
     4        https://bugs.webkit.org/show_bug.cgi?id=117162
     5
     6        Reviewed by Alexandru Chiculita.
     7
     8        Adding the WebCore/rendering/shapes directory to the include list.
     9
     10        * CMakeLists.txt:
     11
    1122013-06-06  Roger Fong  <roger_fong@apple.com>
    213
  • trunk/Source/WebKit2/CMakeLists.txt

    r150921 r151402  
    9494    "${WEBCORE_DIR}/plugins"
    9595    "${WEBCORE_DIR}/rendering"
     96    "${WEBCORE_DIR}/rendering/shapes"
    9697    "${WEBCORE_DIR}/rendering/style"
    9798    "${WEBCORE_DIR}/storage"
  • trunk/Source/WebKit2/ChangeLog

    r151398 r151402  
     12013-06-10  Bear Travis  <betravis@adobe.com>
     2
     3        [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
     4        https://bugs.webkit.org/show_bug.cgi?id=117162
     5
     6        Reviewed by Alexandru Chiculita.
     7
     8        Adding the WebCore/rendering/shapes directory to the include list.
     9
     10        * CMakeLists.txt:
     11
    1122013-06-10  Iago Toral Quiroga  <itoral@igalia.com>
    213
  • trunk/Tools/ChangeLog

    r151361 r151402  
     12013-06-10  Bear Travis  <betravis@adobe.com>
     2
     3        [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
     4        https://bugs.webkit.org/show_bug.cgi?id=117162
     5
     6        Reviewed by Alexandru Chiculita.
     7
     8        Adding the WebCore/rendering/shapes directory to the include list.
     9
     10        * DumpRenderTree/efl/CMakeLists.txt:
     11
    1122013-06-09  Brent Fulgham  <bfulgham@apple.com>
    213
  • trunk/Tools/DumpRenderTree/efl/CMakeLists.txt

    r150376 r151402  
    7878    ${WEBCORE_DIR}/plugins
    7979    ${WEBCORE_DIR}/rendering
     80    ${WEBCORE_DIR}/rendering/shapes
    8081    ${WEBCORE_DIR}/rendering/style
    8182    ${WEBCORE_DIR}/history
Note: See TracChangeset for help on using the changeset viewer.