[CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
authorbetravis@adobe.com <betravis@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Jun 2013 21:23:45 +0000 (21:23 +0000)
committerbetravis@adobe.com <betravis@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Jun 2013 21:23:45 +0000 (21:23 +0000)
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@151402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

46 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.am
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Target.pri
Source/WebCore/WebCore.pri
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/css/CSSComputedStyleDeclaration.cpp
Source/WebCore/css/CSSPrimitiveValue.h
Source/WebCore/css/DeprecatedStyleBuilder.cpp
Source/WebCore/page/animation/CSSPropertyAnimation.cpp
Source/WebCore/rendering/LayoutState.cpp
Source/WebCore/rendering/LayoutState.h
Source/WebCore/rendering/RenderBlock.cpp
Source/WebCore/rendering/RenderBlock.h
Source/WebCore/rendering/RenderBlockLineLayout.cpp
Source/WebCore/rendering/RenderBox.cpp
Source/WebCore/rendering/RenderBox.h
Source/WebCore/rendering/RenderBoxModelObject.cpp
Source/WebCore/rendering/RenderView.h
Source/WebCore/rendering/shapes/PolygonShape.cpp [moved from Source/WebCore/rendering/ExclusionPolygon.cpp with 91% similarity]
Source/WebCore/rendering/shapes/PolygonShape.h [moved from Source/WebCore/rendering/ExclusionPolygon.h with 91% similarity]
Source/WebCore/rendering/shapes/RectangleShape.cpp [moved from Source/WebCore/rendering/ExclusionRectangle.cpp with 93% similarity]
Source/WebCore/rendering/shapes/RectangleShape.h [moved from Source/WebCore/rendering/ExclusionRectangle.h with 92% similarity]
Source/WebCore/rendering/shapes/Shape.cpp [moved from Source/WebCore/rendering/ExclusionShape.cpp with 79% similarity]
Source/WebCore/rendering/shapes/Shape.h [moved from Source/WebCore/rendering/ExclusionShape.h with 91% similarity]
Source/WebCore/rendering/shapes/ShapeInfo.cpp [moved from Source/WebCore/rendering/ExclusionShapeInfo.cpp with 61% similarity]
Source/WebCore/rendering/shapes/ShapeInfo.h [moved from Source/WebCore/rendering/ExclusionShapeInfo.h with 90% similarity]
Source/WebCore/rendering/shapes/ShapeInsideInfo.cpp [moved from Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp with 85% similarity]
Source/WebCore/rendering/shapes/ShapeInsideInfo.h [moved from Source/WebCore/rendering/ExclusionShapeInsideInfo.h with 81% similarity]
Source/WebCore/rendering/shapes/ShapeInterval.cpp [moved from Source/WebCore/rendering/ExclusionInterval.cpp with 80% similarity]
Source/WebCore/rendering/shapes/ShapeInterval.h [moved from Source/WebCore/rendering/ExclusionInterval.h with 69% similarity]
Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp [moved from Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp with 81% similarity]
Source/WebCore/rendering/shapes/ShapeOutsideInfo.h [moved from Source/WebCore/rendering/ExclusionShapeOutsideInfo.h with 78% similarity]
Source/WebCore/rendering/style/RenderStyle.cpp
Source/WebCore/rendering/style/RenderStyle.h
Source/WebCore/rendering/style/ShapeValue.h [moved from Source/WebCore/rendering/style/ExclusionShapeValue.h with 67% similarity]
Source/WebCore/rendering/style/StyleRareNonInheritedData.h
Source/WebKit/CMakeLists.txt
Source/WebKit/ChangeLog
Source/WebKit2/CMakeLists.txt
Source/WebKit2/ChangeLog
Tools/ChangeLog
Tools/DumpRenderTree/efl/CMakeLists.txt

index 8e83735..785a6a7 100644 (file)
@@ -76,6 +76,7 @@ set(WebCore_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/plugins"
     "${WEBCORE_DIR}/rendering"
     "${WEBCORE_DIR}/rendering/mathml"
+    "${WEBCORE_DIR}/rendering/shapes"
     "${WEBCORE_DIR}/rendering/style"
     "${WEBCORE_DIR}/rendering/svg"
     "${WEBCORE_DIR}/storage"
@@ -2093,13 +2094,6 @@ set(WebCore_SOURCES
     rendering/BidiRun.cpp
     rendering/CounterNode.cpp
     rendering/EllipsisBox.cpp
-    rendering/ExclusionInterval.cpp
-    rendering/ExclusionPolygon.cpp
-    rendering/ExclusionRectangle.cpp
-    rendering/ExclusionShape.cpp
-    rendering/ExclusionShapeInfo.cpp
-    rendering/ExclusionShapeInsideInfo.cpp
-    rendering/ExclusionShapeOutsideInfo.cpp
     rendering/FilterEffectRenderer.cpp
     rendering/FixedTableLayout.cpp
     rendering/FlowThreadController.cpp
@@ -2214,6 +2208,14 @@ set(WebCore_SOURCES
     rendering/mathml/RenderMathMLSubSup.cpp
     rendering/mathml/RenderMathMLUnderOver.cpp
 
+    rendering/shapes/PolygonShape.cpp
+    rendering/shapes/RectangleShape.cpp
+    rendering/shapes/Shape.cpp
+    rendering/shapes/ShapeInfo.cpp
+    rendering/shapes/ShapeInsideInfo.cpp
+    rendering/shapes/ShapeInterval.cpp
+    rendering/shapes/ShapeOutsideInfo.cpp
+
     rendering/style/BasicShapes.cpp
     rendering/style/ContentData.cpp
     rendering/style/CounterDirectives.cpp
index d60b7ed..b325162 100644 (file)
@@ -1,3 +1,220 @@
+2013-06-10  Bear Travis  <betravis@adobe.com>
+
+        [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
+        https://bugs.webkit.org/show_bug.cgi?id=117162
+
+        Reviewed by Alexandru Chiculita.
+
+        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:
+
 2013-06-10  Iago Toral Quiroga  <itoral@igalia.com>
 
         Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland
index c6ac778..0574b8a 100644 (file)
@@ -90,6 +90,7 @@ webcore_cppflags += \
        -I$(srcdir)/Source/WebCore/plugins/win \
        -I$(srcdir)/Source/WebCore/rendering \
        -I$(srcdir)/Source/WebCore/rendering/mathml \
+       -I$(srcdir)/Source/WebCore/rendering/shapes \
        -I$(srcdir)/Source/WebCore/rendering/style \
        -I$(srcdir)/Source/WebCore/rendering/svg \
        -I$(srcdir)/Source/WebCore/storage \
index 467d545..78bd618 100644 (file)
@@ -4385,20 +4385,6 @@ webcore_sources += \
        Source/WebCore/rendering/CounterNode.h \
        Source/WebCore/rendering/EllipsisBox.cpp \
        Source/WebCore/rendering/EllipsisBox.h \
-       Source/WebCore/rendering/ExclusionInterval.cpp \
-       Source/WebCore/rendering/ExclusionInterval.h \
-       Source/WebCore/rendering/ExclusionPolygon.cpp \
-       Source/WebCore/rendering/ExclusionPolygon.h \
-       Source/WebCore/rendering/ExclusionRectangle.cpp \
-       Source/WebCore/rendering/ExclusionRectangle.h \
-       Source/WebCore/rendering/ExclusionShape.cpp \
-       Source/WebCore/rendering/ExclusionShape.h \
-       Source/WebCore/rendering/ExclusionShapeInfo.cpp \
-       Source/WebCore/rendering/ExclusionShapeInfo.h \
-       Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp \
-       Source/WebCore/rendering/ExclusionShapeInsideInfo.h \
-       Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp \
-       Source/WebCore/rendering/ExclusionShapeOutsideInfo.h \
        Source/WebCore/rendering/FilterEffectRenderer.cpp \
        Source/WebCore/rendering/FilterEffectRenderer.h \
        Source/WebCore/rendering/FixedTableLayout.cpp \
@@ -4633,6 +4619,20 @@ webcore_sources += \
        Source/WebCore/rendering/mathml/RenderMathMLSubSup.h \
        Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp \
        Source/WebCore/rendering/mathml/RenderMathMLUnderOver.h \
+       Source/WebCore/rendering/shapes/PolygonShape.cpp \
+       Source/WebCore/rendering/shapes/PolygonShape.h \
+       Source/WebCore/rendering/shapes/RectangleShape.cpp \
+       Source/WebCore/rendering/shapes/RectangleShape.h \
+       Source/WebCore/rendering/shapes/Shape.cpp \
+       Source/WebCore/rendering/shapes/Shape.h \
+       Source/WebCore/rendering/shapes/ShapeInfo.cpp \
+       Source/WebCore/rendering/shapes/ShapeInfo.h \
+       Source/WebCore/rendering/shapes/ShapeInsideInfo.cpp \
+       Source/WebCore/rendering/shapes/ShapeInsideInfo.h \
+       Source/WebCore/rendering/shapes/ShapeInterval.cpp \
+       Source/WebCore/rendering/shapes/ShapeInterval.h \
+       Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp \
+       Source/WebCore/rendering/shapes/ShapeOutsideInfo.h \
        Source/WebCore/rendering/style/BasicShapes.cpp \
        Source/WebCore/rendering/style/BasicShapes.h \
        Source/WebCore/rendering/style/BorderData.h \
@@ -4646,7 +4646,6 @@ webcore_sources += \
        Source/WebCore/rendering/style/CursorData.h \
        Source/WebCore/rendering/style/CursorList.h \
        Source/WebCore/rendering/style/DataRef.h \
-       Source/WebCore/rendering/style/ExclusionShapeValue.h \
        Source/WebCore/rendering/style/FillLayer.cpp \
        Source/WebCore/rendering/style/FillLayer.h \
        Source/WebCore/rendering/style/GridPosition.h \
@@ -4663,6 +4662,7 @@ webcore_sources += \
        Source/WebCore/rendering/style/RenderStyle.h \
        Source/WebCore/rendering/style/ShadowData.cpp \
        Source/WebCore/rendering/style/ShadowData.h \
+       Source/WebCore/rendering/style/ShapeValue.h \
        Source/WebCore/rendering/style/StyleBackgroundData.cpp \
        Source/WebCore/rendering/style/StyleBackgroundData.h \
        Source/WebCore/rendering/style/StyleBoxData.cpp \
index 0b4a4fd..07ba8bd 100644 (file)
@@ -1145,13 +1145,6 @@ SOURCES += \
     rendering/BidiRun.cpp \
     rendering/CounterNode.cpp \
     rendering/EllipsisBox.cpp \
-    rendering/ExclusionInterval.cpp \
-    rendering/ExclusionPolygon.cpp \
-    rendering/ExclusionRectangle.cpp \
-    rendering/ExclusionShape.cpp \
-    rendering/ExclusionShapeInfo.cpp \
-    rendering/ExclusionShapeInsideInfo.cpp \
-    rendering/ExclusionShapeOutsideInfo.cpp \
     rendering/FilterEffectRenderer.cpp \
     rendering/FixedTableLayout.cpp \
     rendering/FlowThreadController.cpp \
@@ -1245,6 +1238,13 @@ SOURCES += \
     rendering/RenderWordBreak.cpp \
     rendering/RootInlineBox.cpp \
     rendering/ScrollBehavior.cpp \
+    rendering/shapes/PolygonShape.cpp \
+    rendering/shapes/RectangleShape.cpp \
+    rendering/shapes/Shape.cpp \
+    rendering/shapes/ShapeInfo.cpp \
+    rendering/shapes/ShapeInsideInfo.cpp \
+    rendering/shapes/ShapeInterval.cpp \
+    rendering/shapes/ShapeOutsideInfo.cpp \
     rendering/style/BasicShapes.cpp \
     rendering/style/ContentData.cpp \
     rendering/style/CounterDirectives.cpp \
@@ -2403,13 +2403,6 @@ HEADERS += \
     rendering/break_lines.h \
     rendering/CounterNode.h \
     rendering/EllipsisBox.h \
-    rendering/ExclusionInterval.h \
-    rendering/ExclusionPolygon.h \
-    rendering/ExclusionRectangle.h \
-    rendering/ExclusionShape.h \
-    rendering/ExclusionShapeInfo.h \
-    rendering/ExclusionShapeInsideInfo.h \
-    rendering/ExclusionShapeOutsideInfo.h \
     rendering/FilterEffectRenderer.h \
     rendering/FixedTableLayout.h \
     rendering/HitTestingTransformState.h \
@@ -2513,18 +2506,25 @@ HEADERS += \
     rendering/RenderWordBreak.h \
     rendering/RootInlineBox.h \
     rendering/ScrollBehavior.h \
+    rendering/shapes/PolygonShape.h \
+    rendering/shapes/RectangleShape.h \
+    rendering/shapes/Shape.h \
+    rendering/shapes/ShapeInfo.h \
+    rendering/shapes/ShapeInsideInfo.h \
+    rendering/shapes/ShapeInterval.h \
+    rendering/shapes/ShapeOutsideInfo.h \
     rendering/style/BasicShapes.h \
     rendering/style/ContentData.h \
     rendering/style/CounterDirectives.h \
     rendering/style/CursorData.h \
     rendering/style/CursorList.h \
-    rendering/style/ExclusionShapeValue.h \
     rendering/style/FillLayer.h \
     rendering/style/KeyframeList.h \
     rendering/style/NinePieceImage.h \
     rendering/style/QuotesData.h \
     rendering/style/RenderStyle.h \
     rendering/style/ShadowData.h \
+    rendering/style/ShapeValue.h \
     rendering/style/StyleBackgroundData.h \
     rendering/style/StyleBoxData.h \
     rendering/style/StyleCachedImage.h \
index 5302c4c..b5e334b 100644 (file)
@@ -85,6 +85,7 @@ INCLUDEPATH += \
     $$SOURCE_DIR/plugins \
     $$SOURCE_DIR/rendering \
     $$SOURCE_DIR/rendering/mathml \
+    $$SOURCE_DIR/rendering/shapes \
     $$SOURCE_DIR/rendering/style \
     $$SOURCE_DIR/rendering/svg \
     $$SOURCE_DIR/storage \
index e807201..0d95a22 100644 (file)
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
     </ClCompile>
-    <ClCompile Include="..\rendering\ExclusionInterval.cpp" />
-    <ClCompile Include="..\rendering\ExclusionPolygon.cpp" />
-    <ClCompile Include="..\rendering\ExclusionRectangle.cpp" />
-    <ClCompile Include="..\rendering\ExclusionShape.cpp" />
-    <ClCompile Include="..\rendering\ExclusionShapeInsideInfo.cpp" />
-    <ClCompile Include="..\rendering\ExclusionShapeOutsideInfo.cpp" />
     <ClCompile Include="..\rendering\FilterEffectRenderer.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
     </ClCompile>
+    <ClCompile Include="..\rendering\shapes\PolygonShape.cpp" />
+    <ClCompile Include="..\rendering\shapes\RectangleShape.cpp" />
+    <ClCompile Include="..\rendering\shapes\Shape.cpp" />
+    <ClCompile Include="..\rendering\shapes\ShapeInsideInfo.cpp" />
+    <ClCompile Include="..\rendering\shapes\ShapeInterval.cpp" />
+    <ClCompile Include="..\rendering\shapes\ShapeOutsideInfo.cpp" />
     <ClCompile Include="..\rendering\svg\SVGPathData.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
     <ClInclude Include="..\rendering\break_lines.h" />
     <ClInclude Include="..\rendering\CounterNode.h" />
     <ClInclude Include="..\rendering\EllipsisBox.h" />
-    <ClInclude Include="..\rendering\ExclusionInterval.h" />
-    <ClInclude Include="..\rendering\ExclusionPolygon.h" />
-    <ClInclude Include="..\rendering\ExclusionShape.h" />
-    <ClInclude Include="..\rendering\ExclusionShapeInsideInfo.h" />
-    <ClInclude Include="..\rendering\ExclusionShapeOutsideInfo.h" />
     <ClInclude Include="..\rendering\FilterEffectRenderer.h" />
     <ClInclude Include="..\rendering\FixedTableLayout.h" />
     <ClInclude Include="..\rendering\FlowThreadController.h" />
     <ClInclude Include="..\rendering\RenderSelectionInfo.h" />
     <ClInclude Include="..\rendering\RenderSlider.h" />
     <ClInclude Include="..\rendering\RenderSnapshottedPlugIn.h" />
+    <ClInclude Include="..\rendering\shapes\PolygonShape.h" />
+    <ClInclude Include="..\rendering\shapes\RectangleShape.h" />
+    <ClInclude Include="..\rendering\shapes\Shape.h" />
+    <ClInclude Include="..\rendering\shapes\ShapeInsideInfo.h" />
+    <ClInclude Include="..\rendering\shapes\ShapeInterval.h" />
+    <ClInclude Include="..\rendering\shapes\ShapeOutsideInfo.h" />
     <ClInclude Include="..\rendering\svg\RenderSVGBlock.h" />
     <ClInclude Include="..\rendering\svg\RenderSVGContainer.h" />
     <ClInclude Include="..\rendering\svg\RenderSVGGradientStop.h" />
     <ClInclude Include="..\rendering\style\CursorData.h" />
     <ClInclude Include="..\rendering\style\CursorList.h" />
     <ClInclude Include="..\rendering\style\DataRef.h" />
-    <ClInclude Include="..\rendering\style\ExclusionShapeValue.h" />
     <ClInclude Include="..\rendering\style\FillLayer.h" />
     <ClInclude Include="..\rendering\style\GridPosition.h" />
     <ClInclude Include="..\rendering\style\GridTrackSize.h" />
     <ClInclude Include="..\rendering\style\RenderStyle.h" />
     <ClInclude Include="..\rendering\style\RenderStyleConstants.h" />
     <ClInclude Include="..\rendering\style\ShadowData.h" />
+    <ClInclude Include="..\rendering\style\ShapeValue.h" />
     <ClInclude Include="..\rendering\style\StyleBackgroundData.h" />
     <ClInclude Include="..\rendering\style\StyleBoxData.h" />
     <ClInclude Include="..\rendering\style\StyleCachedImage.h" />
index f5e8723..5e2ce09 100644 (file)
     </ClCompile>
     <ClCompile Include="..\rendering\EllipsisBox.cpp">
       <Filter>rendering</Filter>
-    </ClCompile>
-    <ClCompile Include="..\rendering\ExclusionInterval.cpp">
+    <ClCompile Include="..\rendering\shapes\PolygonShape.cpp">
       <Filter>rendering</Filter>
     </ClCompile>
-    <ClCompile Include="..\rendering\ExclusionPolygon.cpp">
+    <ClCompile Include="..\rendering\shapes\RectangleShape.cpp">
       <Filter>rendering</Filter>
     </ClCompile>
-    <ClCompile Include="..\rendering\ExclusionRectangle.cpp">
+    <ClCompile Include="..\rendering\shapes\Shape.cpp">
       <Filter>rendering</Filter>
     </ClCompile>
-    <ClCompile Include="..\rendering\ExclusionShape.cpp">
+    <ClCompile Include="..\rendering\shapes\ShapeInsideInfo.cpp">
       <Filter>rendering</Filter>
     </ClCompile>
-    <ClCompile Include="..\rendering\ExclusionShapeInsideInfo.cpp">
+    </ClCompile>
+    <ClCompile Include="..\rendering\shapes\ShapeInterval.cpp">
       <Filter>rendering</Filter>
     </ClCompile>
-    <ClCompile Include="..\rendering\ExclusionShapeOutsideInfo.cpp">
+    <ClCompile Include="..\rendering\shapes\ShapeOutsideInfo.cpp">
       <Filter>rendering</Filter>
     </ClCompile>
     <ClCompile Include="..\rendering\FilterEffectRenderer.cpp">
     <ClInclude Include="..\rendering\EllipsisBox.h">
       <Filter>rendering</Filter>
     </ClInclude>
-    <ClInclude Include="..\rendering\ExclusionInterval.h">
+    <ClInclude Include="..\rendering\shapes\PolygonShape.h">
+      <Filter>rendering</Filter>
+    </ClInclude>
+    <ClInclude Include="..\rendering\shapes\RectangleShape.h">
       <Filter>rendering</Filter>
     </ClInclude>
-    <ClInclude Include="..\rendering\ExclusionPolygon.h">
+    <ClInclude Include="..\rendering\shapes\Shape.h">
       <Filter>rendering</Filter>
     </ClInclude>
-    <ClInclude Include="..\rendering\ExclusionShape.h">
+    <ClInclude Include="..\rendering\shapes\ShapeInsideInfo.h">
       <Filter>rendering</Filter>
     </ClInclude>
-    <ClInclude Include="..\rendering\ExclusionShapeInsideInfo.h">
+    <ClInclude Include="..\rendering\shapes\ShapeInterval.h">
       <Filter>rendering</Filter>
     </ClInclude>
-    <ClInclude Include="..\rendering\ExclusionShapeOutsideInfo.h">
+    <ClInclude Include="..\rendering\shapes\ShapeOutsideInfo.h">
       <Filter>rendering</Filter>
     </ClInclude>
     <ClInclude Include="..\rendering\FilterEffectRenderer.h">
     <ClInclude Include="..\rendering\style\DataRef.h">
       <Filter>rendering\style</Filter>
     </ClInclude>
-    <ClInclude Include="..\rendering\style\ExclusionShapeValue.h">
-      <Filter>rendering\style</Filter>
-    </ClInclude>
     <ClInclude Include="..\rendering\style\FillLayer.h">
       <Filter>rendering\style</Filter>
     </ClInclude>
     <ClInclude Include="..\rendering\style\ShadowData.h">
       <Filter>rendering\style</Filter>
     </ClInclude>
+    <ClInclude Include="..\rendering\style\ShapeValue.h">
+      <Filter>rendering\style</Filter>
+    </ClInclude>
     <ClInclude Include="..\rendering\style\StyleBackgroundData.h">
       <Filter>rendering\style</Filter>
     </ClInclude>
       <Filter>rendering</Filter>
     </CustomBuildStep>
   </ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
index 450f2c5..4c487ea 100644 (file)
                6E67D2A61280E8A4008758F7 /* Extensions3DOpenGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E67D2A41280E8A4008758F7 /* Extensions3DOpenGL.cpp */; };
                6E67D2A71280E8A4008758F7 /* Extensions3DOpenGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E67D2A51280E8A4008758F7 /* Extensions3DOpenGL.h */; };
                6E67D2A91280E8BD008758F7 /* Extensions3D.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E67D2A81280E8BD008758F7 /* Extensions3D.h */; };
-               6E8798BA15F81E4A00BFE4AA /* ExclusionInterval.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8798B415F81E4A00BFE4AA /* ExclusionInterval.cpp */; };
-               6E8798BB15F81E4A00BFE4AA /* ExclusionInterval.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8798B515F81E4A00BFE4AA /* ExclusionInterval.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               6E8798BC15F81E4A00BFE4AA /* ExclusionRectangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8798B615F81E4A00BFE4AA /* ExclusionRectangle.cpp */; };
-               6E8798BD15F81E4A00BFE4AA /* ExclusionRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8798B715F81E4A00BFE4AA /* ExclusionRectangle.h */; };
-               6E8798BE15F81E4A00BFE4AA /* ExclusionShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8798B815F81E4A00BFE4AA /* ExclusionShape.cpp */; };
-               6E8798BF15F81E4A00BFE4AA /* ExclusionShape.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8798B915F81E4A00BFE4AA /* ExclusionShape.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               6EAF340F1613869A00859625 /* ExclusionPolygon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EAF340D1613869A00859625 /* ExclusionPolygon.cpp */; };
-               6EAF34101613869A00859625 /* ExclusionPolygon.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EAF340E1613869A00859625 /* ExclusionPolygon.h */; };
                6EBC5EAF138B50F200A0CF8A /* JSFloat64Array.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EBC5EAD138B50F200A0CF8A /* JSFloat64Array.cpp */; };
                6EBC5EB0138B50F200A0CF8A /* JSFloat64Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EBC5EAE138B50F200A0CF8A /* JSFloat64Array.h */; };
                6EBF0E4812A8926100DB1709 /* OESTextureFloat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EBF0E4512A8926100DB1709 /* OESTextureFloat.cpp */; };
                98CE432A129E00E5005821DC /* LinkLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 98CE4329129E00E5005821DC /* LinkLoader.h */; };
                98EB1F951313FE0500D0E1EA /* NotImplemented.h in Headers */ = {isa = PBXBuildFile; fileRef = 98EB1F941313FE0500D0E1EA /* NotImplemented.h */; settings = {ATTRIBUTES = (Private, ); }; };
                9A1B6F97158869C80011A8C4 /* JSDOMStringListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A1B6F96158869C80011A8C4 /* JSDOMStringListCustom.cpp */; };
-               9A9CEF8D163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9CEF8B163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp */; };
-               9A9CEF8E163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9CEF8C163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
                9B1AB07C1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */; };
                9B24DE8E15194B9500C59C27 /* HTMLBDIElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B24DE8C15194B9500C59C27 /* HTMLBDIElement.h */; };
                9B2D8A7914997CCF00ECEF3E /* UndoStep.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B2D8A7814997CCF00ECEF3E /* UndoStep.h */; settings = {ATTRIBUTES = (Private, ); }; };
                FD06DFA5134A4DEF006F5D7D /* DefaultAudioDestinationNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD06DFA3134A4DEF006F5D7D /* DefaultAudioDestinationNode.cpp */; };
                FD06DFA6134A4DEF006F5D7D /* DefaultAudioDestinationNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD06DFA4134A4DEF006F5D7D /* DefaultAudioDestinationNode.h */; };
                FD1660A513787C6D001FFA7B /* DenormalDisabler.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1660A413787C6D001FFA7B /* DenormalDisabler.h */; };
-               FD1AF1501656F15100C6D4F7 /* ExclusionShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               FD1AF1501656F15100C6D4F7 /* ShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1AF14E1656F12100C6D4F7 /* ShapeValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
                FD23A12513F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD23A12313F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp */; };
                FD23A12613F5FA5900F67001 /* JSMediaElementAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD23A12413F5FA5900F67001 /* JSMediaElementAudioSourceNode.h */; };
                FD2DBF1212B048A300ED98C6 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD2DBF0E12B048A300ED98C6 /* Accelerate.framework */; };
                FD3160C012B0272A00C1A359 /* FFTFrameMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD3160BA12B0272A00C1A359 /* FFTFrameMac.cpp */; };
                FD35918F138DB22000E1EBEC /* AudioParamTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD35918D138DB22000E1EBEC /* AudioParamTimeline.cpp */; };
                FD359190138DB22000E1EBEC /* AudioParamTimeline.h in Headers */ = {isa = PBXBuildFile; fileRef = FD35918E138DB22000E1EBEC /* AudioParamTimeline.h */; };
+               FD45A94F175D3F3E00C21EC8 /* Shape.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A87F175D3926002CD360 /* Shape.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               FD45A950175D3F3E00C21EC8 /* ShapeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A881175D3926002CD360 /* ShapeInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               FD45A951175D3F3E00C21EC8 /* ShapeInsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A883175D3926002CD360 /* ShapeInsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               FD45A952175D3F3E00C21EC8 /* ShapeOutsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A887175D3926002CD360 /* ShapeOutsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               FD45A953175D3FB800C21EC8 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A87E175D3926002CD360 /* Shape.cpp */; };
+               FD45A954175D3FB800C21EC8 /* ShapeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A880175D3926002CD360 /* ShapeInfo.cpp */; };
+               FD45A955175D3FB800C21EC8 /* ShapeInsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A882175D3926002CD360 /* ShapeInsideInfo.cpp */; };
+               FD45A956175D3FB800C21EC8 /* ShapeOutsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A886175D3926002CD360 /* ShapeOutsideInfo.cpp */; };
+               FD45A957175D414C00C21EC8 /* PolygonShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A87B175D3926002CD360 /* PolygonShape.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               FD45A958175D414C00C21EC8 /* RectangleShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A87D175D3926002CD360 /* RectangleShape.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               FD45A959175D417100C21EC8 /* PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A87A175D3926002CD360 /* PolygonShape.cpp */; };
+               FD45A95A175D417100C21EC8 /* RectangleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A87C175D3926002CD360 /* RectangleShape.cpp */; };
+               FD45A95B175D41EE00C21EC8 /* ShapeInterval.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A885175D3926002CD360 /* ShapeInterval.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               FD45A95C175D420D00C21EC8 /* ShapeInterval.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A884175D3926002CD360 /* ShapeInterval.cpp */; };
                FD537352137B651800008DCE /* ZeroPole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD537350137B651800008DCE /* ZeroPole.cpp */; };
                FD537353137B651800008DCE /* ZeroPole.h in Headers */ = {isa = PBXBuildFile; fileRef = FD537351137B651800008DCE /* ZeroPole.h */; };
                FD537356137B653B00008DCE /* DynamicsCompressorKernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD537354137B653B00008DCE /* DynamicsCompressorKernel.cpp */; };
                FD6ED2C8136B8E66003CF072 /* DynamicsCompressor.h in Headers */ = {isa = PBXBuildFile; fileRef = FD6ED2C6136B8E66003CF072 /* DynamicsCompressor.h */; };
                FD6F252C13F5EF0E0065165F /* MediaElementAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD6F252913F5EF0E0065165F /* MediaElementAudioSourceNode.cpp */; };
                FD6F252D13F5EF0E0065165F /* MediaElementAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD6F252A13F5EF0E0065165F /* MediaElementAudioSourceNode.h */; };
-               FD748ABF15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD748ABD15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp */; };
-               FD748AC015BF74ED0059CF0D /* ExclusionShapeInsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD748ABE15BF74ED0059CF0D /* ExclusionShapeInsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
                FD7868B9136B999200D403DF /* JSDynamicsCompressorNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */; };
                FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */; };
                FD7F299113D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7F298A13D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp */; };
                FDB052E01561A42C00B500D6 /* AudioSummingJunction.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB052DE1561A42C00B500D6 /* AudioSummingJunction.h */; };
                FDB1700514A2BAB200A2B5D9 /* MultiChannelResampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */; };
                FDB1700614A2BAB200A2B5D9 /* MultiChannelResampler.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */; };
-               FDB8D1DA16B0C0D700340F10 /* ExclusionShapeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB8D1D916B0C0D700340F10 /* ExclusionShapeInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               FDB8D1E516B0CC9700340F10 /* ExclusionShapeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDB8D1DB16B0C0F600340F10 /* ExclusionShapeInfo.cpp */; };
                FDBD1DFC167FE27D0051A11E /* JSOscillatorNodeCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */; };
                FDBD480C159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */; };
                FDBD480D159BC6870093EB4F /* JSMediaStreamAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FDBD480B159BC6870093EB4F /* JSMediaStreamAudioSourceNode.h */; };
                6E67D2A41280E8A4008758F7 /* Extensions3DOpenGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Extensions3DOpenGL.cpp; sourceTree = "<group>"; };
                6E67D2A51280E8A4008758F7 /* Extensions3DOpenGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Extensions3DOpenGL.h; sourceTree = "<group>"; };
                6E67D2A81280E8BD008758F7 /* Extensions3D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Extensions3D.h; sourceTree = "<group>"; };
-               6E8798B415F81E4A00BFE4AA /* ExclusionInterval.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionInterval.cpp; sourceTree = "<group>"; };
-               6E8798B515F81E4A00BFE4AA /* ExclusionInterval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionInterval.h; sourceTree = "<group>"; };
-               6E8798B615F81E4A00BFE4AA /* ExclusionRectangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionRectangle.cpp; sourceTree = "<group>"; };
-               6E8798B715F81E4A00BFE4AA /* ExclusionRectangle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionRectangle.h; sourceTree = "<group>"; };
-               6E8798B815F81E4A00BFE4AA /* ExclusionShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShape.cpp; sourceTree = "<group>"; };
-               6E8798B915F81E4A00BFE4AA /* ExclusionShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShape.h; sourceTree = "<group>"; };
-               6EAF340D1613869A00859625 /* ExclusionPolygon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionPolygon.cpp; sourceTree = "<group>"; };
-               6EAF340E1613869A00859625 /* ExclusionPolygon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionPolygon.h; sourceTree = "<group>"; };
                6EBC5D80138B4C4E00A0CF8A /* Float64Array.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Float64Array.idl; path = canvas/Float64Array.idl; sourceTree = "<group>"; };
                6EBC5EAD138B50F200A0CF8A /* JSFloat64Array.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFloat64Array.cpp; sourceTree = "<group>"; };
                6EBC5EAE138B50F200A0CF8A /* JSFloat64Array.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFloat64Array.h; sourceTree = "<group>"; };
                98CE4329129E00E5005821DC /* LinkLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkLoader.h; sourceTree = "<group>"; };
                98EB1F941313FE0500D0E1EA /* NotImplemented.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotImplemented.h; sourceTree = "<group>"; };
                9A1B6F96158869C80011A8C4 /* JSDOMStringListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMStringListCustom.cpp; sourceTree = "<group>"; };
-               9A9CEF8B163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShapeOutsideInfo.cpp; sourceTree = "<group>"; };
-               9A9CEF8C163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShapeOutsideInfo.h; sourceTree = "<group>"; };
                9B1AB0791648C69D0051F3F2 /* HTMLFormControlsCollection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLFormControlsCollection.idl; sourceTree = "<group>"; };
                9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFormControlsCollectionCustom.cpp; sourceTree = "<group>"; };
                9B24DE8C15194B9500C59C27 /* HTMLBDIElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLBDIElement.h; sourceTree = "<group>"; };
                FD00D7A314A3F61900734011 /* SincResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SincResampler.h; sourceTree = "<group>"; };
                FD06DFA3134A4DEF006F5D7D /* DefaultAudioDestinationNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DefaultAudioDestinationNode.cpp; sourceTree = "<group>"; };
                FD06DFA4134A4DEF006F5D7D /* DefaultAudioDestinationNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultAudioDestinationNode.h; sourceTree = "<group>"; };
+               FD08A87A175D3926002CD360 /* PolygonShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PolygonShape.cpp; sourceTree = "<group>"; };
+               FD08A87B175D3926002CD360 /* PolygonShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PolygonShape.h; sourceTree = "<group>"; };
+               FD08A87C175D3926002CD360 /* RectangleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RectangleShape.cpp; sourceTree = "<group>"; };
+               FD08A87D175D3926002CD360 /* RectangleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RectangleShape.h; sourceTree = "<group>"; };
+               FD08A87E175D3926002CD360 /* Shape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shape.cpp; sourceTree = "<group>"; };
+               FD08A87F175D3926002CD360 /* Shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shape.h; sourceTree = "<group>"; };
+               FD08A880175D3926002CD360 /* ShapeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInfo.cpp; sourceTree = "<group>"; };
+               FD08A881175D3926002CD360 /* ShapeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeInfo.h; sourceTree = "<group>"; };
+               FD08A882175D3926002CD360 /* ShapeInsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInsideInfo.cpp; sourceTree = "<group>"; };
+               FD08A883175D3926002CD360 /* ShapeInsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeInsideInfo.h; sourceTree = "<group>"; };
+               FD08A884175D3926002CD360 /* ShapeInterval.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInterval.cpp; sourceTree = "<group>"; };
+               FD08A885175D3926002CD360 /* ShapeInterval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeInterval.h; sourceTree = "<group>"; };
+               FD08A886175D3926002CD360 /* ShapeOutsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeOutsideInfo.cpp; sourceTree = "<group>"; };
+               FD08A887175D3926002CD360 /* ShapeOutsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeOutsideInfo.h; sourceTree = "<group>"; };
                FD1660A413787C6D001FFA7B /* DenormalDisabler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DenormalDisabler.h; sourceTree = "<group>"; };
-               FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExclusionShapeValue.h; path = style/ExclusionShapeValue.h; sourceTree = "<group>"; };
+               FD1AF14E1656F12100C6D4F7 /* ShapeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ShapeValue.h; path = style/ShapeValue.h; sourceTree = "<group>"; };
                FD23A12313F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaElementAudioSourceNode.cpp; sourceTree = "<group>"; };
                FD23A12413F5FA5900F67001 /* JSMediaElementAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaElementAudioSourceNode.h; sourceTree = "<group>"; };
                FD2DBF0E12B048A300ED98C6 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = "<absolute>"; };
                FD6F252913F5EF0E0065165F /* MediaElementAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaElementAudioSourceNode.cpp; sourceTree = "<group>"; };
                FD6F252A13F5EF0E0065165F /* MediaElementAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaElementAudioSourceNode.h; sourceTree = "<group>"; };
                FD6F252B13F5EF0E0065165F /* MediaElementAudioSourceNode.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaElementAudioSourceNode.idl; sourceTree = "<group>"; };
-               FD748ABD15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShapeInsideInfo.cpp; sourceTree = "<group>"; };
-               FD748ABE15BF74ED0059CF0D /* ExclusionShapeInsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShapeInsideInfo.h; sourceTree = "<group>"; };
                FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDynamicsCompressorNode.cpp; sourceTree = "<group>"; };
                FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDynamicsCompressorNode.h; sourceTree = "<group>"; };
                FD7F298A13D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WaveShaperDSPKernel.cpp; sourceTree = "<group>"; };
                FDB052DE1561A42C00B500D6 /* AudioSummingJunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioSummingJunction.h; sourceTree = "<group>"; };
                FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiChannelResampler.cpp; sourceTree = "<group>"; };
                FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiChannelResampler.h; sourceTree = "<group>"; };
-               FDB8D1D916B0C0D700340F10 /* ExclusionShapeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShapeInfo.h; sourceTree = "<group>"; };
-               FDB8D1DB16B0C0F600340F10 /* ExclusionShapeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShapeInfo.cpp; sourceTree = "<group>"; };
                FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSOscillatorNodeCustom.cpp; sourceTree = "<group>"; };
                FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamAudioSourceNode.cpp; sourceTree = "<group>"; };
                FDBD480B159BC6870093EB4F /* JSMediaStreamAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaStreamAudioSourceNode.h; sourceTree = "<group>"; };
                                BC2272A10E82E87C00E7F975 /* CursorData.h */,
                                BC2272AC0E82E8F300E7F975 /* CursorList.h */,
                                BC22746E0E83664500E7F975 /* DataRef.h */,
-                               FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */,
                                BC5EB69C0E81DAEB00B25965 /* FillLayer.cpp */,
                                BC5EB69D0E81DAEB00B25965 /* FillLayer.h */,
                                A12705C21656BD6500C2E27C /* GridPosition.h */,
                                BC5EB6670E81CB7100B25965 /* RenderStyleConstants.h */,
                                BC5EB8C10E82031B00B25965 /* ShadowData.cpp */,
                                BC5EB8C20E82031B00B25965 /* ShadowData.h */,
+                               FD1AF14E1656F12100C6D4F7 /* ShapeValue.h */,
                                BC5EB6A00E81DC4F00B25965 /* StyleBackgroundData.cpp */,
                                BC5EB6A10E81DC4F00B25965 /* StyleBackgroundData.h */,
                                BC5EB67C0E81D42000B25965 /* StyleBoxData.cpp */,
                        isa = PBXGroup;
                        children = (
                                439046C212DA25CE00AF80A2 /* mathml */,
+                               FD08A879175D3926002CD360 /* shapes */,
                                BC8C8FAA0DDCD2F200B592F4 /* style */,
                                088C2F7412390080003D65CE /* svg */,
                                A8CFF04B0A154F09000A4234 /* AutoTableLayout.cpp */,
                                9392F14B0AD1861B00691BD4 /* CounterNode.h */,
                                A8CFF6CA0A1561CD000A4234 /* EllipsisBox.cpp */,
                                A8CFF6BD0A156118000A4234 /* EllipsisBox.h */,
-                               6E8798B415F81E4A00BFE4AA /* ExclusionInterval.cpp */,
-                               6E8798B515F81E4A00BFE4AA /* ExclusionInterval.h */,
-                               6EAF340D1613869A00859625 /* ExclusionPolygon.cpp */,
-                               6EAF340E1613869A00859625 /* ExclusionPolygon.h */,
-                               6E8798B615F81E4A00BFE4AA /* ExclusionRectangle.cpp */,
-                               6E8798B715F81E4A00BFE4AA /* ExclusionRectangle.h */,
-                               6E8798B815F81E4A00BFE4AA /* ExclusionShape.cpp */,
-                               6E8798B915F81E4A00BFE4AA /* ExclusionShape.h */,
-                               FDB8D1DB16B0C0F600340F10 /* ExclusionShapeInfo.cpp */,
-                               FDB8D1D916B0C0D700340F10 /* ExclusionShapeInfo.h */,
-                               FD748ABD15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp */,
-                               FD748ABE15BF74ED0059CF0D /* ExclusionShapeInsideInfo.h */,
-                               9A9CEF8B163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp */,
-                               9A9CEF8C163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h */,
                                31313F631443B35E006E2A90 /* FilterEffectRenderer.cpp */,
                                31313F641443B35E006E2A90 /* FilterEffectRenderer.h */,
                                A8CFF0480A154F09000A4234 /* FixedTableLayout.cpp */,
                        path = opengl;
                        sourceTree = "<group>";
                };
+               FD08A879175D3926002CD360 /* shapes */ = {
+                       isa = PBXGroup;
+                       children = (
+                               FD08A87A175D3926002CD360 /* PolygonShape.cpp */,
+                               FD08A87B175D3926002CD360 /* PolygonShape.h */,
+                               FD08A87C175D3926002CD360 /* RectangleShape.cpp */,
+                               FD08A87D175D3926002CD360 /* RectangleShape.h */,
+                               FD08A87E175D3926002CD360 /* Shape.cpp */,
+                               FD08A87F175D3926002CD360 /* Shape.h */,
+                               FD08A880175D3926002CD360 /* ShapeInfo.cpp */,
+                               FD08A881175D3926002CD360 /* ShapeInfo.h */,
+                               FD08A882175D3926002CD360 /* ShapeInsideInfo.cpp */,
+                               FD08A883175D3926002CD360 /* ShapeInsideInfo.h */,
+                               FD08A884175D3926002CD360 /* ShapeInterval.cpp */,
+                               FD08A885175D3926002CD360 /* ShapeInterval.h */,
+                               FD08A886175D3926002CD360 /* ShapeOutsideInfo.cpp */,
+                               FD08A887175D3926002CD360 /* ShapeOutsideInfo.h */,
+                       );
+                       path = shapes;
+                       sourceTree = "<group>";
+               };
                FD315FA212B025B100C1A359 /* webaudio */ = {
                        isa = PBXGroup;
                        children = (
                                148AFDA50AF58360008CC700 /* ExceptionHandlers.h in Headers */,
                                9767CE0B145ABC13005E64DB /* ExceptionHeaders.h in Headers */,
                                9767CE0C145ABC13005E64DB /* ExceptionInterfaces.h in Headers */,
-                               6E8798BB15F81E4A00BFE4AA /* ExclusionInterval.h in Headers */,
-                               6EAF34101613869A00859625 /* ExclusionPolygon.h in Headers */,
-                               6E8798BD15F81E4A00BFE4AA /* ExclusionRectangle.h in Headers */,
-                               6E8798BF15F81E4A00BFE4AA /* ExclusionShape.h in Headers */,
-                               FDB8D1DA16B0C0D700340F10 /* ExclusionShapeInfo.h in Headers */,
-                               FD748AC015BF74ED0059CF0D /* ExclusionShapeInsideInfo.h in Headers */,
-                               9A9CEF8E163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h in Headers */,
-                               FD1AF1501656F15100C6D4F7 /* ExclusionShapeValue.h in Headers */,
                                A024575216CEAA27000E5671 /* EXTDrawBuffers.h in Headers */,
                                6E67D2A91280E8BD008758F7 /* Extensions3D.h in Headers */,
                                6E67D2A71280E8A4008758F7 /* Extensions3DOpenGL.h in Headers */,
                                84730D921248F0B300D3A9C9 /* PointLightSource.h in Headers */,
                                97059978107D975200A50A7C /* PolicyCallback.h in Headers */,
                                9705997A107D975200A50A7C /* PolicyChecker.h in Headers */,
+                               FD45A957175D414C00C21EC8 /* PolygonShape.h in Headers */,
                                5174E20A10A1F44F00F95E6F /* PopStateEvent.h in Headers */,
                                0668E18B0ADD9624004128E0 /* PopupMenu.h in Headers */,
                                ABC128770B33AA6D00C693D5 /* PopupMenuClient.h in Headers */,
                                A84D827C11D333ED00972990 /* RawDataDocumentParser.h in Headers */,
                                FD31603C12B0267600C1A359 /* RealtimeAnalyser.h in Headers */,
                                BC4368E80C226E32005EFB5F /* Rect.h in Headers */,
+                               FD45A958175D414C00C21EC8 /* RectangleShape.h in Headers */,
                                A72EA3BB1585CF55004FAA26 /* RefCountedSupplement.h in Headers */,
                                9831AE4A154225C900FE2644 /* ReferrerPolicy.h in Headers */,
                                BCAB418213E356E800D8AAF3 /* Region.h in Headers */,
                                BC5EB8C40E82031B00B25965 /* ShadowData.h in Headers */,
                                A6D169641346B4C1000EB770 /* ShadowRoot.h in Headers */,
                                A80E6CE80A1989CA007FB8C5 /* ShadowValue.h in Headers */,
+                               FD45A94F175D3F3E00C21EC8 /* Shape.h in Headers */,
+                               FD45A950175D3F3E00C21EC8 /* ShapeInfo.h in Headers */,
+                               FD45A951175D3F3E00C21EC8 /* ShapeInsideInfo.h in Headers */,
+                               FD45A95B175D41EE00C21EC8 /* ShapeInterval.h in Headers */,
+                               FD45A952175D3F3E00C21EC8 /* ShapeOutsideInfo.h in Headers */,
+                               FD1AF1501656F15100C6D4F7 /* ShapeValue.h in Headers */,
                                1A4A954E0B4EDCCB002D8C3C /* SharedBuffer.h in Headers */,
                                97B1F02F13B025D200F5103F /* SharedBufferChunkReader.h in Headers */,
                                93309EA3099EB78C0056E581 /* SharedTimer.h in Headers */,
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               FD45A95C175D420D00C21EC8 /* ShapeInterval.cpp in Sources */,
+                               FD45A959175D417100C21EC8 /* PolygonShape.cpp in Sources */,
+                               FD45A95A175D417100C21EC8 /* RectangleShape.cpp in Sources */,
+                               FD45A953175D3FB800C21EC8 /* Shape.cpp in Sources */,
+                               FD45A954175D3FB800C21EC8 /* ShapeInfo.cpp in Sources */,
+                               FD45A955175D3FB800C21EC8 /* ShapeInsideInfo.cpp in Sources */,
+                               FD45A956175D3FB800C21EC8 /* ShapeOutsideInfo.cpp in Sources */,
                                41E1B1D00FF5986900576B3B /* AbstractWorker.cpp in Sources */,
                                0F29C16E1300C2E2002D794E /* AccessibilityAllInOne.cpp in Sources */,
                                76CDD2F21103DA6600680521 /* AccessibilityMenuList.cpp in Sources */,
                                973DC63F145A9409002842C2 /* ExceptionCodeDescription.cpp in Sources */,
                                A7CACDB113CE875C00BBBE3F /* ExceptionCodePlaceholder.cpp in Sources */,
                                148AFDA60AF58360008CC700 /* ExceptionHandlers.mm in Sources */,
-                               6E8798BA15F81E4A00BFE4AA /* ExclusionInterval.cpp in Sources */,
-                               6EAF340F1613869A00859625 /* ExclusionPolygon.cpp in Sources */,
-                               6E8798BC15F81E4A00BFE4AA /* ExclusionRectangle.cpp in Sources */,
-                               6E8798BE15F81E4A00BFE4AA /* ExclusionShape.cpp in Sources */,
-                               FDB8D1E516B0CC9700340F10 /* ExclusionShapeInfo.cpp in Sources */,
-                               FD748ABF15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp in Sources */,
-                               9A9CEF8D163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp in Sources */,
                                A024575116CEAA27000E5671 /* EXTDrawBuffers.cpp in Sources */,
                                6E67D2A61280E8A4008758F7 /* Extensions3DOpenGL.cpp in Sources */,
                                44DAB5B115A623580097C1E4 /* Extensions3DOpenGLCommon.cpp in Sources */,
index 6f45cba..b7adf87 100644 (file)
@@ -66,7 +66,7 @@
 #include <wtf/text/StringBuilder.h>
 
 #if ENABLE(CSS_SHAPES)
-#include "ExclusionShapeValue.h"
+#include "ShapeValue.h"
 #endif
 
 #if ENABLE(CSS_SHADERS)
@@ -2699,24 +2699,24 @@ PassRefPtr<CSSValue> ComputedStyleExtractor::propertyValue(CSSPropertyID propert
         case CSSPropertyWebkitShapeInside:
             if (!style->shapeInside())
                 return cssValuePool().createIdentifierValue(CSSValueAuto);
-            if (style->shapeInside()->type() == ExclusionShapeValue::Outside)
+            if (style->shapeInside()->type() == ShapeValue::Outside)
                 return cssValuePool().createIdentifierValue(CSSValueOutsideShape);
-            if (style->shapeInside()->type() == ExclusionShapeValue::Image) {
+            if (style->shapeInside()->type() == ShapeValue::Image) {
                 if (style->shapeInside()->image())
                     return style->shapeInside()->image()->cssValue();
                 return cssValuePool().createIdentifierValue(CSSValueNone);
             }
-            ASSERT(style->shapeInside()->type() == ExclusionShapeValue::Shape);
+            ASSERT(style->shapeInside()->type() == ShapeValue::Shape);
             return valueForBasicShape(style->shapeInside()->shape());
         case CSSPropertyWebkitShapeOutside:
             if (!style->shapeOutside())
                 return cssValuePool().createIdentifierValue(CSSValueAuto);
-            if (style->shapeOutside()->type() == ExclusionShapeValue::Image) {
+            if (style->shapeOutside()->type() == ShapeValue::Image) {
                 if (style->shapeOutside()->image())
                     return style->shapeOutside()->image()->cssValue();
                 return cssValuePool().createIdentifierValue(CSSValueNone);
             }
-            ASSERT(style->shapeOutside()->type() == ExclusionShapeValue::Shape);
+            ASSERT(style->shapeOutside()->type() == ShapeValue::Shape);
             return valueForBasicShape(style->shapeOutside()->shape());
 #endif
 #if ENABLE(CSS_FILTERS)
index 672ca4e..372c1b3 100644 (file)
@@ -121,7 +121,7 @@ public:
         // This is used internally for counter names (as opposed to counter values)
         CSS_COUNTER_NAME = 110,
 
-        // This is used by the CSS Exclusions draft
+        // This is used by the CSS Shapes draft
         CSS_SHAPE = 111,
 
         // Used by border images.
index 56e83eb..c36ff24 100644 (file)
@@ -48,7 +48,7 @@
 #include <wtf/StdLibExtras.h>
 
 #if ENABLE(CSS_SHAPES)
-#include "ExclusionShapeValue.h"
+#include "ShapeValue.h"
 #endif
 
 using namespace std;
@@ -1933,10 +1933,10 @@ public:
 };
 
 #if ENABLE(CSS_SHAPES)
-template <ExclusionShapeValue* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<ExclusionShapeValue>), ExclusionShapeValue* (*initialFunction)()>
-class ApplyPropertyExclusionShape {
+template <ShapeValue* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<ShapeValue>), ShapeValue* (*initialFunction)()>
+class ApplyPropertyShape {
 public:
-    static void setValue(RenderStyle* style, PassRefPtr<ExclusionShapeValue> value) { (style->*setterFunction)(value); }
+    static void setValue(RenderStyle* style, PassRefPtr<ShapeValue> value) { (style->*setterFunction)(value); }
     static void applyValue(CSSPropertyID property, StyleResolver* styleResolver, CSSValue* value)
     {
         if (value->isPrimitiveValue()) {
@@ -1945,20 +1945,20 @@ public:
                 setValue(styleResolver->style(), 0);
             // FIXME Bug 102571: Layout for the value 'outside-shape' is not yet implemented
             else if (primitiveValue->getIdent() == CSSValueOutsideShape)
-                setValue(styleResolver->style(), ExclusionShapeValue::createOutsideValue());
+                setValue(styleResolver->style(), ShapeValue::createOutsideValue());
             else if (primitiveValue->isShape()) {
-                RefPtr<ExclusionShapeValue> shape = ExclusionShapeValue::createShapeValue(basicShapeForValue(styleResolver->style(), styleResolver->rootElementStyle(), primitiveValue->getShapeValue()));
+                RefPtr<ShapeValue> shape = ShapeValue::createShapeValue(basicShapeForValue(styleResolver->style(), styleResolver->rootElementStyle(), primitiveValue->getShapeValue()));
                 setValue(styleResolver->style(), shape.release());
             }
         } else if (value->isImageValue()) {
-            RefPtr<ExclusionShapeValue> shape = ExclusionShapeValue::createImageValue(styleResolver->styleImage(property, value));
+            RefPtr<ShapeValue> shape = ShapeValue::createImageValue(styleResolver->styleImage(property, value));
             setValue(styleResolver->style(), shape.release());
         }
 
     }
     static PropertyHandler createHandler()
     {
-        PropertyHandler handler = ApplyPropertyDefaultBase<ExclusionShapeValue*, getterFunction, PassRefPtr<ExclusionShapeValue>, setterFunction, ExclusionShapeValue*, initialFunction>::createHandler();
+        PropertyHandler handler = ApplyPropertyDefaultBase<ShapeValue*, getterFunction, PassRefPtr<ShapeValue>, setterFunction, ShapeValue*, initialFunction>::createHandler();
         return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue);
     }
 };
@@ -2343,8 +2343,8 @@ DeprecatedStyleBuilder::DeprecatedStyleBuilder()
 #if ENABLE(CSS_SHAPES)
     setPropertyHandler(CSSPropertyWebkitShapeMargin, ApplyPropertyLength<&RenderStyle::shapeMargin, &RenderStyle::setShapeMargin, &RenderStyle::initialShapeMargin>::createHandler());
     setPropertyHandler(CSSPropertyWebkitShapePadding, ApplyPropertyLength<&RenderStyle::shapePadding, &RenderStyle::setShapePadding, &RenderStyle::initialShapePadding>::createHandler());
-    setPropertyHandler(CSSPropertyWebkitShapeInside, ApplyPropertyExclusionShape<&RenderStyle::shapeInside, &RenderStyle::setShapeInside, &RenderStyle::initialShapeInside>::createHandler());
-    setPropertyHandler(CSSPropertyWebkitShapeOutside, ApplyPropertyExclusionShape<&RenderStyle::shapeOutside, &RenderStyle::setShapeOutside, &RenderStyle::initialShapeOutside>::createHandler());
+    setPropertyHandler(CSSPropertyWebkitShapeInside, ApplyPropertyShape<&RenderStyle::shapeInside, &RenderStyle::setShapeInside, &RenderStyle::initialShapeInside>::createHandler());
+    setPropertyHandler(CSSPropertyWebkitShapeOutside, ApplyPropertyShape<&RenderStyle::shapeOutside, &RenderStyle::setShapeOutside, &RenderStyle::initialShapeOutside>::createHandler());
 #endif
     setPropertyHandler(CSSPropertyWhiteSpace, ApplyPropertyDefault<EWhiteSpace, &RenderStyle::whiteSpace, EWhiteSpace, &RenderStyle::setWhiteSpace, EWhiteSpace, &RenderStyle::initialWhiteSpace>::createHandler());
     setPropertyHandler(CSSPropertyWidows, ApplyPropertyAuto<short, &RenderStyle::widows, &RenderStyle::setWidows, &RenderStyle::hasAutoWidows, &RenderStyle::setHasAutoWidows>::createHandler());
index 5244003..fca626f 100644 (file)
@@ -144,10 +144,10 @@ static inline PassRefPtr<ClipPathOperation> blendFunc(const AnimationBase*, Clip
 }
 
 #if ENABLE(CSS_SHAPES)
-static inline PassRefPtr<ExclusionShapeValue> blendFunc(const AnimationBase*, ExclusionShapeValue* from, ExclusionShapeValue* to, double progress)
+static inline PassRefPtr<ShapeValue> blendFunc(const AnimationBase*, ShapeValue* from, ShapeValue* to, double progress)
 {
     // FIXME Bug 102723: Shape-inside should be able to animate a value of 'outside-shape' when shape-outside is set to a BasicShape
-    if (from->type() != ExclusionShapeValue::Shape || to->type() != ExclusionShapeValue::Shape)
+    if (from->type() != ShapeValue::Shape || to->type() != ShapeValue::Shape)
         return to;
 
     const BasicShape* fromShape = from->shape();
@@ -156,7 +156,7 @@ static inline PassRefPtr<ExclusionShapeValue> blendFunc(const AnimationBase*, Ex
     if (!fromShape->canBlend(toShape))
         return to;
 
-    return ExclusionShapeValue::createShapeValue(toShape->blend(fromShape, progress));
+    return ShapeValue::createShapeValue(toShape->blend(fromShape, progress));
 }
 #endif
 
@@ -405,10 +405,10 @@ public:
 };
 
 #if ENABLE(CSS_SHAPES)
-class PropertyWrapperExclusionShape : public RefCountedPropertyWrapper<ExclusionShapeValue> {
+class PropertyWrapperShape : public RefCountedPropertyWrapper<ShapeValue> {
 public:
-    PropertyWrapperExclusionShape(CSSPropertyID prop, ExclusionShapeValue* (RenderStyle::*getter)() const, void (RenderStyle::*setter)(PassRefPtr<ExclusionShapeValue>))
-        : RefCountedPropertyWrapper<ExclusionShapeValue>(prop, getter, setter)
+    PropertyWrapperShape(CSSPropertyID prop, ShapeValue* (RenderStyle::*getter)() const, void (RenderStyle::*setter)(PassRefPtr<ShapeValue>))
+        : RefCountedPropertyWrapper<ShapeValue>(prop, getter, setter)
     {
     }
 };
@@ -1165,7 +1165,7 @@ void CSSPropertyAnimation::ensurePropertyMap()
     gPropertyWrappers->append(new PropertyWrapperClipPath(CSSPropertyWebkitClipPath, &RenderStyle::clipPath, &RenderStyle::setClipPath));
 
 #if ENABLE(CSS_SHAPES)
-    gPropertyWrappers->append(new PropertyWrapperExclusionShape(CSSPropertyWebkitShapeInside, &RenderStyle::shapeInside, &RenderStyle::setShapeInside));
+    gPropertyWrappers->append(new PropertyWrapperShape(CSSPropertyWebkitShapeInside, &RenderStyle::shapeInside, &RenderStyle::setShapeInside));
 #endif
 
     gPropertyWrappers->append(new PropertyWrapperVisitedAffectedColor(CSSPropertyWebkitColumnRuleColor, MaybeInvalidColor, &RenderStyle::columnRuleColor, &RenderStyle::setColumnRuleColor, &RenderStyle::visitedLinkColumnRuleColor, &RenderStyle::setVisitedLinkColumnRuleColor));
index 0f6d93c..d9ebd64 100644 (file)
@@ -40,7 +40,7 @@ LayoutState::LayoutState(LayoutState* prev, RenderBox* renderer, const LayoutSiz
     , m_lineGrid(0)
     , m_next(prev)
 #if ENABLE(CSS_SHAPES)
-    , m_exclusionShapeInsideInfo(0)
+    , m_shapeInsideInfo(0)
 #endif
 #ifndef NDEBUG
     , m_renderer(renderer)
@@ -113,9 +113,9 @@ LayoutState::LayoutState(LayoutState* prev, RenderBox* renderer, const LayoutSiz
 #if ENABLE(CSS_SHAPES)
     if (renderer->isRenderBlock()) {
         const RenderBlock* renderBlock = toRenderBlock(renderer);
-        m_exclusionShapeInsideInfo = renderBlock->exclusionShapeInsideInfo();
-        if (!m_exclusionShapeInsideInfo && m_next->m_exclusionShapeInsideInfo && renderBlock->allowsExclusionShapeInsideInfoSharing())
-            m_exclusionShapeInsideInfo = m_next->m_exclusionShapeInsideInfo;
+        m_shapeInsideInfo = renderBlock->shapeInsideInfo();
+        if (!m_shapeInsideInfo && m_next->m_shapeInsideInfo && renderBlock->allowsShapeInsideInfoSharing())
+            m_shapeInsideInfo = m_next->m_shapeInsideInfo;
     }
 #endif
 
@@ -149,7 +149,7 @@ LayoutState::LayoutState(RenderObject* root)
     , m_lineGrid(0)
     , m_next(0)
 #if ENABLE(CSS_SHAPES)
-    , m_exclusionShapeInsideInfo(0)
+    , m_shapeInsideInfo(0)
 #endif
     , m_pageLogicalHeight(0)
 #ifndef NDEBUG
index 201c6f2..d7749c5 100644 (file)
@@ -39,7 +39,7 @@ class RenderBox;
 class RenderObject;
 class RenderFlowThread;
 #if ENABLE(CSS_SHAPES)
-class ExclusionShapeInsideInfo;
+class ShapeInsideInfo;
 #endif
 
 class LayoutState {
@@ -57,7 +57,7 @@ public:
         , m_lineGrid(0)
         , m_next(0)
 #if ENABLE(CSS_SHAPES)
-        , m_exclusionShapeInsideInfo(0)
+        , m_shapeInsideInfo(0)
 #endif
         , m_pageLogicalHeight(0)
 #ifndef NDEBUG
@@ -99,7 +99,7 @@ public:
     bool needsBlockDirectionLocationSetBeforeLayout() const { return m_lineGrid || (m_isPaginated && m_pageLogicalHeight); }
 
 #if ENABLE(CSS_SHAPES)
-    ExclusionShapeInsideInfo* exclusionShapeInsideInfo() const { return m_exclusionShapeInsideInfo; }
+    ShapeInsideInfo* shapeInsideInfo() const { return m_shapeInsideInfo; }
 #endif
 private:
     // The normal operator new is disallowed.
@@ -126,7 +126,7 @@ public:
     RenderBlock* m_lineGrid;
     LayoutState* m_next;
 #if ENABLE(CSS_SHAPES)
-    ExclusionShapeInsideInfo* m_exclusionShapeInsideInfo;
+    ShapeInsideInfo* m_shapeInsideInfo;
 #endif
 
     // FIXME: Distinguish between the layout clip rect and the paint clip rect which may be larger,
index 840b868..fab69a8 100644 (file)
@@ -65,8 +65,8 @@
 #include <wtf/TemporaryChange.h>
 
 #if ENABLE(CSS_SHAPES)
-#include "ExclusionShapeInsideInfo.h"
-#include "ExclusionShapeOutsideInfo.h"
+#include "ShapeInsideInfo.h"
+#include "ShapeOutsideInfo.h"
 #endif
 
 using namespace std;
@@ -359,9 +359,7 @@ void RenderBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldSty
     RenderStyle* newStyle = style();
     
 #if ENABLE(CSS_SHAPES)
-    // FIXME: Bug 89993: Style changes should affect the ExclusionShapeInsideInfos for other render blocks that
-    // share the same ExclusionShapeInsideInfo
-    updateExclusionShapeInsideInfoAfterStyleChange(newStyle->resolvedShapeInside(), oldStyle ? oldStyle->resolvedShapeInside() : 0);
+    updateShapeInsideInfoAfterStyleChange(newStyle->resolvedShapeInside(), oldStyle ? oldStyle->resolvedShapeInside() : 0);
 #endif
 
     if (!isAnonymousBlock()) {
@@ -1437,17 +1435,17 @@ void RenderBlock::layout()
 }
 
 #if ENABLE(CSS_SHAPES)
-void RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange(const ExclusionShapeValue* shapeInside, const ExclusionShapeValue* oldShapeInside)
+void RenderBlock::updateShapeInsideInfoAfterStyleChange(const ShapeValue* shapeInside, const ShapeValue* oldShapeInside)
 {
     // FIXME: A future optimization would do a deep comparison for equality.
     if (shapeInside == oldShapeInside)
         return;
 
     if (shapeInside) {
-        ExclusionShapeInsideInfo* exclusionShapeInsideInfo = ensureExclusionShapeInsideInfo();
-        exclusionShapeInsideInfo->dirtyShapeSize();
+        ShapeInsideInfo* shapeInsideInfo = ensureShapeInsideInfo();
+        shapeInsideInfo->dirtyShapeSize();
     } else {
-        setExclusionShapeInsideInfo(nullptr);
+        setShapeInsideInfo(nullptr);
         markShapeInsideDescendantsForLayout();
     }
 }
@@ -1469,16 +1467,16 @@ void RenderBlock::markShapeInsideDescendantsForLayout()
 }
 #endif
 
-static inline bool exclusionInfoRequiresRelayout(const RenderBlock* block)
+static inline bool shapeInfoRequiresRelayout(const RenderBlock* block)
 {
 #if !ENABLE(CSS_SHAPES)
     return false;
 #else
-    ExclusionShapeInsideInfo* info = block->exclusionShapeInsideInfo();
+    ShapeInsideInfo* info = block->shapeInsideInfo();
     if (info)
         info->setNeedsLayout(info->shapeSizeDirty());
     else
-        info = block->layoutExclusionShapeInsideInfo();
+        info = block->layoutShapeInsideInfo();
     return info && info->needsLayout();
 #endif
 }
@@ -1486,11 +1484,11 @@ static inline bool exclusionInfoRequiresRelayout(const RenderBlock* block)
 bool RenderBlock::updateRegionsAndExclusionsBeforeChildLayout(RenderFlowThread* flowThread)
 {
 #if ENABLE(CSS_SHAPES)
-    if (!flowThread && !exclusionShapeInsideInfo())
+    if (!flowThread && !shapeInsideInfo())
 #else
     if (!flowThread)
 #endif
-        return exclusionInfoRequiresRelayout(this);
+        return shapeInfoRequiresRelayout(this);
 
     LayoutUnit oldHeight = logicalHeight();
     LayoutUnit oldTop = logicalTop();
@@ -1501,7 +1499,7 @@ bool RenderBlock::updateRegionsAndExclusionsBeforeChildLayout(RenderFlowThread*
     updateLogicalHeight();
 
 #if ENABLE(CSS_SHAPES)
-    computeExclusionShapeSize();
+    computeShapeSize();
 #endif
 
     // Set our start and end regions. No regions above or below us will be considered by our children. They are
@@ -1511,16 +1509,16 @@ bool RenderBlock::updateRegionsAndExclusionsBeforeChildLayout(RenderFlowThread*
     setLogicalHeight(oldHeight);
     setLogicalTop(oldTop);
     
-    return exclusionInfoRequiresRelayout(this);
+    return shapeInfoRequiresRelayout(this);
 }
 
 #if ENABLE(CSS_SHAPES)
-void RenderBlock::computeExclusionShapeSize()
+void RenderBlock::computeShapeSize()
 {
-    ExclusionShapeInsideInfo* exclusionShapeInsideInfo = this->exclusionShapeInsideInfo();
-    if (exclusionShapeInsideInfo) {
+    ShapeInsideInfo* shapeInsideInfo = this->shapeInsideInfo();
+    if (shapeInsideInfo) {
         bool percentageLogicalHeightResolvable = percentageLogicalHeightIsResolvableFromBlock(this, false);
-        exclusionShapeInsideInfo->setShapeSize(logicalWidth(), percentageLogicalHeightResolvable ? logicalHeight() : LayoutUnit());
+        shapeInsideInfo->setShapeSize(logicalWidth(), percentageLogicalHeightResolvable ? logicalHeight() : LayoutUnit());
     }
 }
 #endif
@@ -1529,7 +1527,7 @@ void RenderBlock::updateRegionsAndExclusionsAfterChildLayout(RenderFlowThread* f
 {
 #if ENABLE(CSS_SHAPES)
     // A previous sibling has changed dimension, so we need to relayout the shape with the content
-    ExclusionShapeInsideInfo* shapeInsideInfo = layoutExclusionShapeInsideInfo();
+    ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo();
     if (heightChanged && shapeInsideInfo)
         shapeInsideInfo->dirtyShapeSize();
 #endif
@@ -4021,10 +4019,10 @@ RenderBlock::FloatingObject* RenderBlock::insertFloatingObject(RenderBox* o)
     }
 
 #if ENABLE(CSS_SHAPES)
-    ExclusionShapeOutsideInfo* shapeOutside = o->exclusionShapeOutsideInfo();
+    ShapeOutsideInfo* shapeOutside = o->shapeOutsideInfo();
     if (shapeOutside) {
         shapeOutside->setShapeSize(o->logicalWidth(), o->logicalHeight());
-        // The CSS Exclusions specification says that the margins are ignored
+        // The CSS Shapes specification says that the margins are ignored
         // when a float has a shape outside.
         setLogicalWidthForFloat(newObj, shapeOutside->shapeLogicalWidth());
     } else
@@ -4102,7 +4100,7 @@ LayoutPoint RenderBlock::computeLogicalLocationForFloat(const FloatingObject* fl
     LayoutUnit logicalRightOffset; // Constant part of right offset.
 #if ENABLE(CSS_SHAPES)
     // FIXME Bug 102948: This only works for shape outside directly set on this block.
-    ExclusionShapeInsideInfo* shapeInsideInfo = exclusionShapeInsideInfo();
+    ShapeInsideInfo* shapeInsideInfo = this->shapeInsideInfo();
     // FIXME Bug 102846: Take into account the height of the content. The offset should be
     // equal to the maximum segment length.
     if (shapeInsideInfo && shapeInsideInfo->hasSegments() && shapeInsideInfo->segments().size() == 1) {
@@ -4257,8 +4255,8 @@ bool RenderBlock::positionNewFloats()
 
         setLogicalTopForFloat(floatingObject, floatLogicalLocation.y());
 #if ENABLE(CSS_SHAPES)
-        if (childBox->exclusionShapeOutsideInfo())
-            setLogicalHeightForFloat(floatingObject, childBox->exclusionShapeOutsideInfo()->shapeLogicalHeight());
+        if (childBox->shapeOutsideInfo())
+            setLogicalHeightForFloat(floatingObject, childBox->shapeOutsideInfo()->shapeLogicalHeight());
         else
 #endif
             setLogicalHeightForFloat(floatingObject, logicalHeightForChild(childBox) + marginBeforeForChild(childBox) + marginAfterForChild(childBox));
@@ -4444,7 +4442,7 @@ LayoutUnit RenderBlock::logicalLeftOffsetForLine(LayoutUnit logicalTop, LayoutUn
 #if ENABLE(CSS_SHAPES)
         const FloatingObject* lastFloat = adapter.lastFloat();
         if (offsetMode == ShapeOutsideFloatShapeOffset && lastFloat) {
-            if (ExclusionShapeOutsideInfo* shapeOutside = lastFloat->renderer()->exclusionShapeOutsideInfo()) {
+            if (ShapeOutsideInfo* shapeOutside = lastFloat->renderer()->shapeOutsideInfo()) {
                 shapeOutside->computeSegmentsForLine(logicalTop - logicalTopForFloat(lastFloat) + shapeOutside->shapeLogicalTop(), logicalHeight);
                 left += shapeOutside->rightSegmentShapeBoundingBoxDelta();
             }
@@ -4502,7 +4500,7 @@ LayoutUnit RenderBlock::logicalRightOffsetForLine(LayoutUnit logicalTop, LayoutU
 #if ENABLE(CSS_SHAPES)
         const FloatingObject* lastFloat = adapter.lastFloat();
         if (offsetMode == ShapeOutsideFloatShapeOffset && lastFloat) {
-            if (ExclusionShapeOutsideInfo* shapeOutside = lastFloat->renderer()->exclusionShapeOutsideInfo()) {
+            if (ShapeOutsideInfo* shapeOutside = lastFloat->renderer()->shapeOutsideInfo()) {
                 shapeOutside->computeSegmentsForLine(logicalTop - logicalTopForFloat(lastFloat) + shapeOutside->shapeLogicalTop(), logicalHeight);
                 rightFloatOffset += shapeOutside->leftSegmentShapeBoundingBoxDelta();
             }
index dcc6d07..bd10c98 100644 (file)
@@ -35,8 +35,8 @@
 #include <wtf/ListHashSet.h>
 
 #if ENABLE(CSS_SHAPES)
-#include "ExclusionShapeInsideInfo.h"
-#include "ExclusionShapeValue.h"
+#include "ShapeInsideInfo.h"
+#include "ShapeValue.h"
 #endif
 
 namespace WebCore {
@@ -446,28 +446,28 @@ public:
 #endif
 
 #if ENABLE(CSS_SHAPES)
-    ExclusionShapeInsideInfo* ensureExclusionShapeInsideInfo()
+    ShapeInsideInfo* ensureShapeInsideInfo()
     {
         if (!m_rareData || !m_rareData->m_shapeInsideInfo)
-            setExclusionShapeInsideInfo(ExclusionShapeInsideInfo::createInfo(this));
+            setShapeInsideInfo(ShapeInsideInfo::createInfo(this));
         return m_rareData->m_shapeInsideInfo.get();
     }
 
-    ExclusionShapeInsideInfo* exclusionShapeInsideInfo() const
+    ShapeInsideInfo* shapeInsideInfo() const
     {
         if (!m_rareData || !m_rareData->m_shapeInsideInfo)
             return 0;
-        return ExclusionShapeInsideInfo::isEnabledFor(this) ? m_rareData->m_shapeInsideInfo.get() : 0;
+        return ShapeInsideInfo::isEnabledFor(this) ? m_rareData->m_shapeInsideInfo.get() : 0;
     }
-    void setExclusionShapeInsideInfo(PassOwnPtr<ExclusionShapeInsideInfo> value)
+    void setShapeInsideInfo(PassOwnPtr<ShapeInsideInfo> value)
     {
         if (!m_rareData)
             m_rareData = adoptPtr(new RenderBlockRareData(this));
         m_rareData->m_shapeInsideInfo = value;
     }
     void markShapeInsideDescendantsForLayout();
-    ExclusionShapeInsideInfo* layoutExclusionShapeInsideInfo() const;
-    bool allowsExclusionShapeInsideInfoSharing() const { return !isInline() && !isFloating(); }
+    ShapeInsideInfo* layoutShapeInsideInfo() const;
+    bool allowsShapeInsideInfoSharing() const { return !isInline() && !isFloating(); }
 #endif
 
 protected:
@@ -586,8 +586,8 @@ protected:
 
 private:
 #if ENABLE(CSS_SHAPES)
-    void computeExclusionShapeSize();
-    void updateExclusionShapeInsideInfoAfterStyleChange(const ExclusionShapeValue*, const ExclusionShapeValue* oldExclusionShape);
+    void computeShapeSize();
+    void updateShapeInsideInfoAfterStyleChange(const ShapeValue*, const ShapeValue* oldShape);
 #endif
     virtual RenderObjectChildList* virtualChildren() { return children(); }
     virtual const RenderObjectChildList* virtualChildren() const { return children(); }
@@ -790,7 +790,7 @@ private:
     LayoutUnit xPositionForFloatIncludingMargin(const FloatingObject* child) const
     {
 #if ENABLE(CSS_SHAPES)
-        ExclusionShapeOutsideInfo *shapeOutside = child->renderer()->exclusionShapeOutsideInfo();
+        ShapeOutsideInfo *shapeOutside = child->renderer()->shapeOutsideInfo();
         if (shapeOutside)
             return child->x();
 #endif
@@ -804,7 +804,7 @@ private:
     LayoutUnit yPositionForFloatIncludingMargin(const FloatingObject* child) const
     {
 #if ENABLE(CSS_SHAPES)
-        ExclusionShapeOutsideInfo *shapeOutside = child->renderer()->exclusionShapeOutsideInfo();
+        ShapeOutsideInfo *shapeOutside = child->renderer()->shapeOutsideInfo();
         if (shapeOutside)
             return child->y();
 #endif
@@ -1085,8 +1085,8 @@ private:
     void layoutRunsAndFloats(LineLayoutState&, bool hasInlineChild);
     void layoutRunsAndFloatsInRange(LineLayoutState&, InlineBidiResolver&, const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiStatus, unsigned consecutiveHyphenatedLines);
 #if ENABLE(CSS_SHAPES)
-    void updateShapeAndSegmentsForCurrentLine(ExclusionShapeInsideInfo*, LayoutUnit&, LineLayoutState&, bool&);
-    bool adjustLogicalLineTopAndLogicalHeightIfNeeded(ExclusionShapeInsideInfo*, LayoutUnit, LineLayoutState&, InlineBidiResolver&, FloatingObject*, InlineIterator&, WordMeasurements&);
+    void updateShapeAndSegmentsForCurrentLine(ShapeInsideInfo*, LayoutUnit&, LineLayoutState&, bool&);
+    bool adjustLogicalLineTopAndLogicalHeightIfNeeded(ShapeInsideInfo*, LayoutUnit, LineLayoutState&, InlineBidiResolver&, FloatingObject*, InlineIterator&, WordMeasurements&);
 #endif
     const InlineIterator& restartLayoutRunsAndFloatsInRange(LayoutUnit oldLogicalHeight, LayoutUnit newLogicalHeight,  FloatingObject* lastFloatFromPreviousLine, InlineBidiResolver&,  const InlineIterator&);
     void linkToEndLineIfNeeded(LineLayoutState&);
@@ -1293,7 +1293,7 @@ public:
 
         RootInlineBox* m_lineBreakToAvoidWidow;
 #if ENABLE(CSS_SHAPES)
-        OwnPtr<ExclusionShapeInsideInfo> m_shapeInsideInfo;
+        OwnPtr<ShapeInsideInfo> m_shapeInsideInfo;
 #endif
         bool m_shouldBreakAtLineToAvoidWidow : 1;
         bool m_discardMarginBefore : 1;
index c1b3dbf..72091a2 100644 (file)
@@ -48,7 +48,7 @@
 #include <wtf/unicode/CharacterNames.h>
 
 #if ENABLE(CSS_SHAPES)
-#include "ExclusionShapeInsideInfo.h"
+#include "ShapeInsideInfo.h"
 #endif
 
 #if ENABLE(SVG)
@@ -77,16 +77,16 @@ static LayoutUnit logicalHeightForLine(const RenderBlock* block, bool isFirstLin
 }
 
 #if ENABLE(CSS_SHAPES)
-ExclusionShapeInsideInfo* RenderBlock::layoutExclusionShapeInsideInfo() const
+ShapeInsideInfo* RenderBlock::layoutShapeInsideInfo() const
 {
-    ExclusionShapeInsideInfo* shapeInsideInfo = view()->layoutState()->exclusionShapeInsideInfo();
+    ShapeInsideInfo* shapeInsideInfo = view()->layoutState()->shapeInsideInfo();
 
-    if (!shapeInsideInfo && flowThreadContainingBlock() && allowsExclusionShapeInsideInfoSharing()) {
+    if (!shapeInsideInfo && flowThreadContainingBlock() && allowsShapeInsideInfoSharing()) {
         // regionAtBlockOffset returns regions like an array first={0,N-1}, second={N,M-1}, ...
         LayoutUnit offset = logicalHeight() + logicalHeightForLine(this, false) - LayoutUnit(1);
         RenderRegion* region = regionAtBlockOffset(offset);
         if (region)
-            shapeInsideInfo = region->exclusionShapeInsideInfo();
+            shapeInsideInfo = region->shapeInsideInfo();
     }
 
     return shapeInsideInfo;
@@ -114,9 +114,8 @@ public:
     {
         ASSERT(block);
 #if ENABLE(CSS_SHAPES)
-        ExclusionShapeInsideInfo* exclusionShapeInsideInfo = m_block->layoutExclusionShapeInsideInfo();
-        if (exclusionShapeInsideInfo)
-            m_segment = exclusionShapeInsideInfo->currentSegment();
+        if (ShapeInsideInfo* shapeInsideInfo = m_block->layoutShapeInsideInfo())
+            m_segment = shapeInsideInfo->currentSegment();
 #endif
         updateAvailableWidth();
     }
@@ -196,21 +195,21 @@ inline void LineWidth::shrinkAvailableWidthForNewFloatIfNeeded(RenderBlock::Floa
     // when we add a subsequent float on the same line, we need to undo the shape delta in order to position
     // based on the bounding box. In order to do this, we need to walk back through the floating object list to find
     // the first previous float that is on the same side as our newFloat.
-    ExclusionShapeOutsideInfo* lastShapeOutsideInfo = 0;
+    ShapeOutsideInfo* lastShapeOutsideInfo = 0;
     const RenderBlock::FloatingObjectSet& floatingObjectSet = m_block->m_floatingObjects->set();
     RenderBlock::FloatingObjectSetIterator it = floatingObjectSet.end();
     RenderBlock::FloatingObjectSetIterator begin = floatingObjectSet.begin();
     for (--it; it != begin; --it) {
         RenderBlock::FloatingObject* lastFloat = *it;
         if (lastFloat != newFloat && lastFloat->type() == newFloat->type()) {
-            lastShapeOutsideInfo = lastFloat->renderer()->exclusionShapeOutsideInfo();
+            lastShapeOutsideInfo = lastFloat->renderer()->shapeOutsideInfo();
             if (lastShapeOutsideInfo)
                 lastShapeOutsideInfo->computeSegmentsForLine(m_block->logicalHeight() - m_block->logicalTopForFloat(lastFloat) + lastShapeOutsideInfo->shapeLogicalTop(), logicalHeightForLine(m_block, m_isFirstLine));
             break;
         }
     }
 
-    ExclusionShapeOutsideInfo* shapeOutsideInfo = newFloat->renderer()->exclusionShapeOutsideInfo();
+    ShapeOutsideInfo* shapeOutsideInfo = newFloat->renderer()->shapeOutsideInfo();
     if (shapeOutsideInfo)
         shapeOutsideInfo->computeSegmentsForLine(m_block->logicalHeight() - m_block->logicalTopForFloat(newFloat) + shapeOutsideInfo->shapeLogicalTop(), logicalHeightForLine(m_block, m_isFirstLine));
 #endif
@@ -1037,10 +1036,10 @@ void RenderBlock::computeInlineDirectionPositionsForLine(RootInlineBox* lineBox,
     updateLogicalInlinePositions(this, lineLogicalLeft, lineLogicalRight, availableLogicalWidth, isFirstLine, shouldIndentText, 0);
     bool needsWordSpacing;
 #if ENABLE(CSS_SHAPES)
-    ExclusionShapeInsideInfo* exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo();
-    if (exclusionShapeInsideInfo && exclusionShapeInsideInfo->hasSegments()) {
+    ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo();
+    if (shapeInsideInfo && shapeInsideInfo->hasSegments()) {
         BidiRun* segmentStart = firstRun;
-        const SegmentList& segments = exclusionShapeInsideInfo->segments();
+        const SegmentList& segments = shapeInsideInfo->segments();
         float logicalLeft = max<float>(roundToInt(segments[0].logicalLeft), lineLogicalLeft);
         float logicalRight = min<float>(floorToInt(segments[0].logicalRight), lineLogicalRight);
         float startLogicalLeft = logicalLeft;
@@ -1361,13 +1360,13 @@ static inline void constructBidiRunsForLine(const RenderBlock* block, InlineBidi
     UNUSED_PARAM(block);
     constructBidiRunsForSegment(topResolver, bidiRuns, endOfLine, override, previousLineBrokeCleanly);
 #else
-    ExclusionShapeInsideInfo* exclusionShapeInsideInfo = block->layoutExclusionShapeInsideInfo();
-    if (!exclusionShapeInsideInfo || !exclusionShapeInsideInfo->hasSegments()) {
+    ShapeInsideInfo* shapeInsideInfo = block->layoutShapeInsideInfo();
+    if (!shapeInsideInfo || !shapeInsideInfo->hasSegments()) {
         constructBidiRunsForSegment(topResolver, bidiRuns, endOfLine, override, previousLineBrokeCleanly);
         return;
     }
 
-    const SegmentRangeList& segmentRanges = exclusionShapeInsideInfo->segmentRanges();
+    const SegmentRangeList& segmentRanges = shapeInsideInfo->segmentRanges();
     ASSERT(segmentRanges.size());
 
     for (size_t i = 0; i < segmentRanges.size(); i++) {
@@ -1633,26 +1632,26 @@ static inline float firstPositiveWidth(const WordMeasurements& wordMeasurements)
     return 0;
 }
 
-static inline LayoutUnit adjustLogicalLineTop(ExclusionShapeInsideInfo* exclusionShapeInsideInfo, InlineIterator start, InlineIterator end, const WordMeasurements& wordMeasurements)
+static inline LayoutUnit adjustLogicalLineTop(ShapeInsideInfo* shapeInsideInfo, InlineIterator start, InlineIterator end, const WordMeasurements& wordMeasurements)
 {
-    if (!exclusionShapeInsideInfo || end != start)
+    if (!shapeInsideInfo || end != start)
         return 0;
 
     float minWidth = firstPositiveWidth(wordMeasurements);
     ASSERT(minWidth || wordMeasurements.isEmpty());
-    if (minWidth > 0 && exclusionShapeInsideInfo->adjustLogicalLineTop(minWidth))
-        return exclusionShapeInsideInfo->logicalLineTop();
+    if (minWidth > 0 && shapeInsideInfo->adjustLogicalLineTop(minWidth))
+        return shapeInsideInfo->logicalLineTop();
 
-    return exclusionShapeInsideInfo->shapeLogicalBottom();
+    return shapeInsideInfo->shapeLogicalBottom();
 }
 
-void RenderBlock::updateShapeAndSegmentsForCurrentLine(ExclusionShapeInsideInfo* exclusionShapeInsideInfo, LayoutUnit& absoluteLogicalTop, LineLayoutState& layoutState, bool& lineOverflowsFromShapeInside)
+void RenderBlock::updateShapeAndSegmentsForCurrentLine(ShapeInsideInfo* shapeInsideInfo, LayoutUnit& absoluteLogicalTop, LineLayoutState& layoutState, bool& lineOverflowsFromShapeInside)
 {
     LayoutUnit logicalHeight = this->logicalHeight();
     RenderRegion* currentRegion = regionAtBlockOffset(logicalHeight);
     if (currentRegion)
-        exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo();
-    if (!exclusionShapeInsideInfo)
+        shapeInsideInfo = layoutShapeInsideInfo();
+    if (!shapeInsideInfo)
         return;
 
     LayoutUnit lineTop = logicalHeight + absoluteLogicalTop;
@@ -1660,18 +1659,18 @@ void RenderBlock::updateShapeAndSegmentsForCurrentLine(ExclusionShapeInsideInfo*
 
     if (layoutState.flowThread()) {
         RenderRegion* nextRegion = regionAtBlockOffset(logicalHeight + lineHeight - LayoutUnit(1));
-        lineTop += exclusionShapeInsideInfo->owner()->borderAndPaddingBefore();
+        lineTop += shapeInsideInfo->owner()->borderAndPaddingBefore();
         // Content in a flow thread is relative to the beginning of the thread, but the shape calculation should be relative to the current region.
         if (currentRegion == nextRegion)
             lineTop -= currentRegion->logicalTopForFlowThreadContent();
     }
 
     // FIXME: Bug 95361: It is possible for a line to grow beyond lineHeight, in which case these segments may be incorrect.
-    exclusionShapeInsideInfo->computeSegmentsForLine(lineTop, lineHeight);
+    shapeInsideInfo->computeSegmentsForLine(lineTop, lineHeight);
 
     // The overflow should be pushed below the content box
-    LayoutUnit shapeContainingBlockHeight = exclusionShapeInsideInfo->shapeContainingBlockHeight();
-    if (!exclusionShapeInsideInfo->lineWithinShapeBounds() && !lineOverflowsFromShapeInside && shapeContainingBlockHeight) {
+    LayoutUnit shapeContainingBlockHeight = shapeInsideInfo->shapeContainingBlockHeight();
+    if (!shapeInsideInfo->lineWithinShapeBounds() && !lineOverflowsFromShapeInside && shapeContainingBlockHeight) {
         lineOverflowsFromShapeInside = true;
         LayoutUnit newLogicalHeight = shapeContainingBlockHeight;
 
@@ -1683,9 +1682,9 @@ void RenderBlock::updateShapeAndSegmentsForCurrentLine(ExclusionShapeInsideInfo*
             newLogicalHeight = logicalHeight + shapeContainingBlockHeight - lineTop - currentRegion->borderAndPaddingBefore();
 
             RenderRegion* nextRegion = regionAtBlockOffset(newLogicalHeight);
-            ExclusionShapeInsideInfo* nextShapeInfo = 0;
+            ShapeInsideInfo* nextShapeInfo = 0;
             if (nextRegion)
-                nextShapeInfo = nextRegion->exclusionShapeInsideInfo();
+                nextShapeInfo = nextRegion->shapeInsideInfo();
 
             // The overflow flows into another region with shape-inside
             if (currentRegion != nextRegion && nextShapeInfo) {
@@ -1694,7 +1693,7 @@ void RenderBlock::updateShapeAndSegmentsForCurrentLine(ExclusionShapeInsideInfo*
                 LayoutUnit offset = nextShapeInfo->shapeLogicalTop() - nextRegion->borderAndPaddingBefore();
                 nextShapeInfo->computeSegmentsForLine(offset, lineHeight);
 
-                exclusionShapeInsideInfo = nextShapeInfo;
+                shapeInsideInfo = nextShapeInfo;
                 lineOverflowsFromShapeInside = false;
             }
         }
@@ -1702,9 +1701,9 @@ void RenderBlock::updateShapeAndSegmentsForCurrentLine(ExclusionShapeInsideInfo*
     }
 }
 
-bool RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded(ExclusionShapeInsideInfo* exclusionShapeInsideInfo, LayoutUnit absoluteLogicalTop, LineLayoutState& layoutState, InlineBidiResolver& resolver, FloatingObject* lastFloatFromPreviousLine, InlineIterator& end, WordMeasurements& wordMeasurements)
+bool RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded(ShapeInsideInfo* shapeInsideInfo, LayoutUnit absoluteLogicalTop, LineLayoutState& layoutState, InlineBidiResolver& resolver, FloatingObject* lastFloatFromPreviousLine, InlineIterator& end, WordMeasurements& wordMeasurements)
 {
-    LayoutUnit adjustedLogicalLineTop = adjustLogicalLineTop(exclusionShapeInsideInfo, resolver.position(), end, wordMeasurements);
+    LayoutUnit adjustedLogicalLineTop = adjustLogicalLineTop(shapeInsideInfo, resolver.position(), end, wordMeasurements);
     if (!adjustedLogicalLineTop)
         return false;
 
@@ -1731,19 +1730,19 @@ void RenderBlock::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, Inlin
 
 #if ENABLE(CSS_SHAPES)
     LayoutUnit absoluteLogicalTop;
-    ExclusionShapeInsideInfo* exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo();
-    if (exclusionShapeInsideInfo) {
-        ASSERT(exclusionShapeInsideInfo->owner() == this || allowsExclusionShapeInsideInfoSharing());
-        if (exclusionShapeInsideInfo != this->exclusionShapeInsideInfo()) {
+    ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo();
+    if (shapeInsideInfo) {
+        ASSERT(shapeInsideInfo->owner() == this || allowsShapeInsideInfoSharing());
+        if (shapeInsideInfo != this->shapeInsideInfo()) {
             // FIXME Bug 100284: If subsequent LayoutStates are pushed, we will have to add
             // their offsets from the original shape-inside container.
             absoluteLogicalTop = logicalTop();
         }
         // Begin layout at the logical top of our shape inside.
-        if (logicalHeight() + absoluteLogicalTop < exclusionShapeInsideInfo->shapeLogicalTop()) {
-            LayoutUnit logicalHeight = exclusionShapeInsideInfo->shapeLogicalTop() - absoluteLogicalTop;
+        if (logicalHeight() + absoluteLogicalTop < shapeInsideInfo->shapeLogicalTop()) {
+            LayoutUnit logicalHeight = shapeInsideInfo->shapeLogicalTop() - absoluteLogicalTop;
             if (layoutState.flowThread())
-                logicalHeight -= exclusionShapeInsideInfo->owner()->borderAndPaddingBefore();
+                logicalHeight -= shapeInsideInfo->owner()->borderAndPaddingBefore();
             setLogicalHeight(logicalHeight);
         }
     }
@@ -1771,7 +1770,7 @@ void RenderBlock::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, Inlin
         FloatingObject* lastFloatFromPreviousLine = (containsFloats()) ? m_floatingObjects->set().last() : 0;
 
 #if ENABLE(CSS_SHAPES)
-        updateShapeAndSegmentsForCurrentLine(exclusionShapeInsideInfo, absoluteLogicalTop, layoutState, lineOverflowsFromShapeInside);
+        updateShapeAndSegmentsForCurrentLine(shapeInsideInfo, absoluteLogicalTop, layoutState, lineOverflowsFromShapeInside);
 #endif
         WordMeasurements wordMeasurements;
         end = lineBreaker.nextLineBreak(resolver, layoutState.lineInfo(), renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements);
@@ -1787,7 +1786,7 @@ void RenderBlock::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, Inlin
         }
 
 #if ENABLE(CSS_SHAPES)
-        if (adjustLogicalLineTopAndLogicalHeightIfNeeded(exclusionShapeInsideInfo, absoluteLogicalTop, layoutState, resolver, lastFloatFromPreviousLine, end, wordMeasurements))
+        if (adjustLogicalLineTopAndLogicalHeightIfNeeded(shapeInsideInfo, absoluteLogicalTop, layoutState, resolver, lastFloatFromPreviousLine, end, wordMeasurements))
             continue;
 #endif
         ASSERT(end != resolver.position());
@@ -2741,29 +2740,29 @@ InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resol
 #if !ENABLE(CSS_SHAPES)
     return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements);
 #else
-    ExclusionShapeInsideInfo* exclusionShapeInsideInfo = m_block->layoutExclusionShapeInsideInfo();
+    ShapeInsideInfo* shapeInsideInfo = m_block->layoutShapeInsideInfo();
 
-    if (!exclusionShapeInsideInfo || !exclusionShapeInsideInfo->lineOverlapsShapeBounds())
+    if (!shapeInsideInfo || !shapeInsideInfo->lineOverlapsShapeBounds())
         return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements);
 
     // 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,
     // 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.
-    if (!m_block->flowThreadContainingBlock() && !exclusionShapeInsideInfo->lineWithinShapeBounds()) {
-        exclusionShapeInsideInfo->clearSegments();
+    if (!m_block->flowThreadContainingBlock() && !shapeInsideInfo->lineWithinShapeBounds()) {
+        shapeInsideInfo->clearSegments();
         return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements);
     }
 
     InlineIterator end = resolver.position();
     InlineIterator oldEnd = end;
 
-    if (!exclusionShapeInsideInfo->hasSegments()) {
+    if (!shapeInsideInfo->hasSegments()) {
         end = nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements);
         resolver.setPositionIgnoringNestedIsolates(oldEnd);
         return oldEnd;
     }
 
-    const SegmentList& segments = exclusionShapeInsideInfo->segments();
-    SegmentRangeList& segmentRanges = exclusionShapeInsideInfo->segmentRanges();
+    const SegmentList& segments = shapeInsideInfo->segments();
+    SegmentRangeList& segmentRanges = shapeInsideInfo->segmentRanges();
 
     for (unsigned i = 0; i < segments.size() && !end.atEnd(); i++) {
         InlineIterator segmentStart = resolver.position();
@@ -3410,7 +3409,7 @@ InlineIterator RenderBlock::LineBreaker::nextSegmentBreak(InlineBidiResolver& re
 
  end:
 #if ENABLE(CSS_SHAPES)
-    ExclusionShapeInsideInfo* shapeInfo = m_block->layoutExclusionShapeInsideInfo();
+    ShapeInsideInfo* shapeInfo = m_block->layoutShapeInsideInfo();
     bool segmentAllowsOverflow = !shapeInfo || !shapeInfo->hasSegments();
 #else
     bool segmentAllowsOverflow = true;
index 308bb89..4f4a52e 100644 (file)
@@ -160,7 +160,7 @@ void RenderBox::willBeDestroyed()
     RenderBlock::removePercentHeightDescendantIfNeeded(this);
 
 #if ENABLE(CSS_SHAPES)
-    ExclusionShapeOutsideInfo::removeInfo(this);
+    ShapeOutsideInfo::removeInfo(this);
 #endif
 
     RenderBoxModelObject::willBeDestroyed();
@@ -312,22 +312,22 @@ void RenderBox::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle
     }
 
 #if ENABLE(CSS_SHAPES)
-    updateExclusionShapeOutsideInfoAfterStyleChange(style()->shapeOutside(), oldStyle ? oldStyle->shapeOutside() : 0);
+    updateShapeOutsideInfoAfterStyleChange(style()->shapeOutside(), oldStyle ? oldStyle->shapeOutside() : 0);
 #endif
 }
 
 #if ENABLE(CSS_SHAPES)
-void RenderBox::updateExclusionShapeOutsideInfoAfterStyleChange(const ExclusionShapeValue* shapeOutside, const ExclusionShapeValue* oldShapeOutside)
+void RenderBox::updateShapeOutsideInfoAfterStyleChange(const ShapeValue* shapeOutside, const ShapeValue* oldShapeOutside)
 {
     // FIXME: A future optimization would do a deep comparison for equality. (bug 100811)
     if (shapeOutside == oldShapeOutside)
         return;
 
     if (shapeOutside) {
-        ExclusionShapeOutsideInfo* exclusionShapeOutsideInfo = ExclusionShapeOutsideInfo::ensureInfo(this);
-        exclusionShapeOutsideInfo->dirtyShapeSize();
+        ShapeOutsideInfo* shapeOutsideInfo = ShapeOutsideInfo::ensureInfo(this);
+        shapeOutsideInfo->dirtyShapeSize();
     } else
-        ExclusionShapeOutsideInfo::removeInfo(this);
+        ShapeOutsideInfo::removeInfo(this);
 }
 #endif
 
index 450e7c0..d2282e8 100644 (file)
@@ -27,7 +27,7 @@
 #include "RenderOverflow.h"
 #include "ScrollTypes.h"
 #if ENABLE(CSS_SHAPES)
-#include "ExclusionShapeOutsideInfo.h"
+#include "ShapeOutsideInfo.h"
 #endif
 
 namespace WebCore {
@@ -576,9 +576,9 @@ public:
     bool hasSameDirectionAs(const RenderBox* object) const { return style()->direction() == object->style()->direction(); }
 
 #if ENABLE(CSS_SHAPES)
-    ExclusionShapeOutsideInfo* exclusionShapeOutsideInfo() const
+    ShapeOutsideInfo* shapeOutsideInfo() const
     {
-        return isFloatingWithShapeOutside() && ExclusionShapeOutsideInfo::isEnabledFor(this) ? ExclusionShapeOutsideInfo::info(this) : 0;
+        return isFloatingWithShapeOutside() && ShapeOutsideInfo::isEnabledFor(this) ? ShapeOutsideInfo::info(this) : 0;
     }
 #endif
 
@@ -623,7 +623,7 @@ protected:
  
 private:
 #if ENABLE(CSS_SHAPES)
-    void updateExclusionShapeOutsideInfoAfterStyleChange(const ExclusionShapeValue* shapeOutside, const ExclusionShapeValue* oldShapeOutside);
+    void updateShapeOutsideInfoAfterStyleChange(const ShapeValue* shapeOutside, const ShapeValue* oldShapeOutside);
 #endif
 
     bool fixedElementLaysOutRelativeToFrame(Frame*, FrameView*) const;
index 51a17bc..c6bbda2 100644 (file)
@@ -626,7 +626,7 @@ LayoutSize RenderBoxModelObject::paintOffset() const
 
 #if ENABLE(CSS_SHAPES)
     if (isBox() && isFloating())
-        if (ExclusionShapeOutsideInfo* shapeOutside = toRenderBox(this)->exclusionShapeOutsideInfo())
+        if (ShapeOutsideInfo* shapeOutside = toRenderBox(this)->shapeOutsideInfo())
             offset -= shapeOutside->shapeLogicalOffset();
 #endif
 
index 98d97c2..84c2ab1 100644 (file)
@@ -249,8 +249,8 @@ private:
         if (!doingFullRepaint() || m_layoutState->isPaginated() || renderer->hasColumns() || renderer->flowThreadContainingBlock()
             || m_layoutState->lineGrid() || (renderer->style()->lineGrid() != RenderStyle::initialLineGrid() && renderer->isBlockFlow())
 #if ENABLE(CSS_SHAPES)
-            || (renderer->isRenderBlock() && toRenderBlock(renderer)->exclusionShapeInsideInfo())
-            || (m_layoutState->exclusionShapeInsideInfo() && renderer->isRenderBlock() && !toRenderBlock(renderer)->allowsExclusionShapeInsideInfoSharing())
+            || (renderer->isRenderBlock() && toRenderBlock(renderer)->shapeInsideInfo())
+            || (m_layoutState->shapeInsideInfo() && renderer->isRenderBlock() && !toRenderBlock(renderer)->allowsShapeInsideInfoSharing())
 #endif
             ) {
             pushLayoutStateForCurrentFlowThread(renderer);
@@ -28,7 +28,7 @@
  */
 
 #include "config.h"
-#include "ExclusionPolygon.h"
+#include "PolygonShape.h"
 
 #include <wtf/MathExtras.h>
 
@@ -177,7 +177,7 @@ static inline PassOwnPtr<FloatPolygon> computeShapeMarginBounds(const FloatPolyg
     return adoptPtr(new FloatPolygon(marginVertices.release(), fillRule));
 }
 
-const FloatPolygon& ExclusionPolygon::shapePaddingBounds() const
+const FloatPolygon& PolygonShape::shapePaddingBounds() const
 {
     ASSERT(shapePadding() >= 0);
     if (!shapePadding())
@@ -189,7 +189,7 @@ const FloatPolygon& ExclusionPolygon::shapePaddingBounds() const
     return *m_paddingBounds;
 }
 
-const FloatPolygon& ExclusionPolygon::shapeMarginBounds() const
+const FloatPolygon& PolygonShape::shapeMarginBounds() const
 {
     ASSERT(shapeMargin() >= 0);
     if (!shapeMargin())
@@ -224,10 +224,10 @@ static inline bool getVertexIntersectionVertices(const EdgeIntersection& interse
     return true;
 }
 
-static inline bool appendIntervalX(float x, bool inside, Vector<ExclusionInterval>& result)
+static inline bool appendIntervalX(float x, bool inside, Vector<ShapeInterval>& result)
 {
     if (!inside)
-        result.append(ExclusionInterval(x));
+        result.append(ShapeInterval(x));
     else
         result[result.size() - 1].x2 = x;
 
@@ -241,7 +241,7 @@ static bool compareEdgeIntersectionX(const EdgeIntersection& intersection1, cons
     return (x1 == x2) ? intersection1.type < intersection2.type : x1 < x2;
 }
 
-static void computeXIntersections(const FloatPolygon& polygon, float y, bool isMinY, Vector<ExclusionInterval>& result)
+static void computeXIntersections(const FloatPolygon& polygon, float y, bool isMinY, Vector<ShapeInterval>& result)
 {
     Vector<const FloatPolygonEdge*> edges;
     if (!polygon.overlappingEdges(y, y, edges))
@@ -311,7 +311,7 @@ static void computeXIntersections(const FloatPolygon& polygon, float y, bool isM
     }
 }
 
-static void computeOverlappingEdgeXProjections(const FloatPolygon& polygon, float y1, float y2, Vector<ExclusionInterval>& result)
+static void computeOverlappingEdgeXProjections(const FloatPolygon& polygon, float y1, float y2, Vector<ShapeInterval>& result)
 {
     Vector<const FloatPolygonEdge*> edges;
     if (!polygon.overlappingEdges(y1, y2, edges))
@@ -339,13 +339,13 @@ static void computeOverlappingEdgeXProjections(const FloatPolygon& polygon, floa
             std::swap(x1, x2);
 
         if (x2 > x1)
-            result.append(ExclusionInterval(x1, x2));
+            result.append(ShapeInterval(x1, x2));
     }
 
-    sortExclusionIntervals(result);
+    sortShapeIntervals(result);
 }
 
-void ExclusionPolygon::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
+void PolygonShape::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
 {
     const FloatPolygon& polygon = shapeMarginBounds();
     if (polygon.isEmpty())
@@ -354,26 +354,26 @@ void ExclusionPolygon::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit lo
     float y1 = logicalTop;
     float y2 = logicalTop + logicalHeight;
 
-    Vector<ExclusionInterval> y1XIntervals, y2XIntervals;
+    Vector<ShapeInterval> y1XIntervals, y2XIntervals;
     computeXIntersections(polygon, y1, true, y1XIntervals);
     computeXIntersections(polygon, y2, false, y2XIntervals);
 
-    Vector<ExclusionInterval> mergedIntervals;
-    mergeExclusionIntervals(y1XIntervals, y2XIntervals, mergedIntervals);
+    Vector<ShapeInterval> mergedIntervals;
+    mergeShapeIntervals(y1XIntervals, y2XIntervals, mergedIntervals);
 
-    Vector<ExclusionInterval> edgeIntervals;
+    Vector<ShapeInterval> edgeIntervals;
     computeOverlappingEdgeXProjections(polygon, y1, y2, edgeIntervals);
 
-    Vector<ExclusionInterval> excludedIntervals;
-    mergeExclusionIntervals(mergedIntervals, edgeIntervals, excludedIntervals);
+    Vector<ShapeInterval> excludedIntervals;
+    mergeShapeIntervals(mergedIntervals, edgeIntervals, excludedIntervals);
 
     for (unsigned i = 0; i < excludedIntervals.size(); ++i) {
-        ExclusionInterval interval = excludedIntervals[i];
+        ShapeInterval interval = excludedIntervals[i];
         result.append(LineSegment(interval.x1, interval.x2));
     }
 }
 
-void ExclusionPolygon::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
+void PolygonShape::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
 {
     const FloatPolygon& polygon = shapePaddingBounds();
     if (polygon.isEmpty())
@@ -382,21 +382,21 @@ void ExclusionPolygon::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit lo
     float y1 = logicalTop;
     float y2 = logicalTop + logicalHeight;
 
-    Vector<ExclusionInterval> y1XIntervals, y2XIntervals;
+    Vector<ShapeInterval> y1XIntervals, y2XIntervals;
     computeXIntersections(polygon, y1, true, y1XIntervals);
     computeXIntersections(polygon, y2, false, y2XIntervals);
 
-    Vector<ExclusionInterval> commonIntervals;
-    intersectExclusionIntervals(y1XIntervals, y2XIntervals, commonIntervals);
+    Vector<ShapeInterval> commonIntervals;
+    intersectShapeIntervals(y1XIntervals, y2XIntervals, commonIntervals);
 
-    Vector<ExclusionInterval> edgeIntervals;
+    Vector<ShapeInterval> edgeIntervals;
     computeOverlappingEdgeXProjections(polygon, y1, y2, edgeIntervals);
 
-    Vector<ExclusionInterval> includedIntervals;
-    subtractExclusionIntervals(commonIntervals, edgeIntervals, includedIntervals);
+    Vector<ShapeInterval> includedIntervals;
+    subtractShapeIntervals(commonIntervals, edgeIntervals, includedIntervals);
 
     for (unsigned i = 0; i < includedIntervals.size(); ++i) {
-        ExclusionInterval interval = includedIntervals[i];
+        ShapeInterval interval = includedIntervals[i];
         result.append(LineSegment(interval.x1, interval.x2));
     }
 }
@@ -425,7 +425,7 @@ static inline bool aboveOrToTheLeft(const FloatRect& r1, const FloatRect& r2)
     return false;
 }
 
-bool ExclusionPolygon::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const
+bool PolygonShape::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const
 {
     float minIntervalTop = minLogicalIntervalTop;
     float minIntervalHeight = minLogicalIntervalSize.height();
similarity index 91%
rename from Source/WebCore/rendering/ExclusionPolygon.h
rename to Source/WebCore/rendering/shapes/PolygonShape.h
index c88553a..628ac3a 100644 (file)
  * OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef ExclusionPolygon_h
-#define ExclusionPolygon_h
+#ifndef PolygonShape_h
+#define PolygonShape_h
 
-#include "ExclusionInterval.h"
-#include "ExclusionShape.h"
 #include "FloatPolygon.h"
+#include "Shape.h"
+#include "ShapeInterval.h"
 
 namespace WebCore {
 
@@ -80,11 +80,11 @@ private:
     Basis m_basis;
 };
 
-class ExclusionPolygon : public ExclusionShape {
-    WTF_MAKE_NONCOPYABLE(ExclusionPolygon);
+class PolygonShape : public Shape {
+    WTF_MAKE_NONCOPYABLE(PolygonShape);
 public:
-    ExclusionPolygon(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)
-        : ExclusionShape()
+    PolygonShape(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)
+        : Shape()
         , m_polygon(vertices, fillRule)
         , m_marginBounds(nullptr)
         , m_paddingBounds(nullptr)
@@ -109,4 +109,4 @@ private:
 
 } // namespace WebCore
 
-#endif // ExclusionPolygon_h
+#endif // PolygonShape_h
@@ -28,7 +28,7 @@
  */
 
 #include "config.h"
-#include "ExclusionRectangle.h"
+#include "RectangleShape.h"
 
 #include <wtf/MathExtras.h>
 
@@ -83,7 +83,7 @@ FloatPoint FloatRoundedRect::cornerInterceptForWidth(float widthAtIntercept) con
     return FloatPoint(xi, yi);
 }
 
-FloatRoundedRect ExclusionRectangle::shapePaddingBounds() const
+FloatRoundedRect RectangleShape::shapePaddingBounds() const
 {
     if (!m_haveInitializedPaddingBounds) {
         m_haveInitializedPaddingBounds = true;
@@ -92,7 +92,7 @@ FloatRoundedRect ExclusionRectangle::shapePaddingBounds() const
     return m_paddingBounds;
 }
 
-FloatRoundedRect ExclusionRectangle::shapeMarginBounds() const
+FloatRoundedRect RectangleShape::shapeMarginBounds() const
 {
     if (!m_haveInitializedMarginBounds) {
         m_haveInitializedMarginBounds = true;
@@ -101,7 +101,7 @@ FloatRoundedRect ExclusionRectangle::shapeMarginBounds() const
     return m_marginBounds;
 }
 
-void ExclusionRectangle::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
+void RectangleShape::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
 {
     const FloatRoundedRect& bounds = shapeMarginBounds();
     if (bounds.isEmpty())
@@ -133,7 +133,7 @@ void ExclusionRectangle::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit
     result.append(LineSegment(x1, x2));
 }
 
-void ExclusionRectangle::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
+void RectangleShape::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const
 {
     const FloatRoundedRect& bounds = shapePaddingBounds();
     if (bounds.isEmpty())
@@ -178,7 +178,7 @@ void ExclusionRectangle::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit
     result.append(LineSegment(x1, x2));
 }
 
-bool ExclusionRectangle::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const
+bool RectangleShape::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const
 {
     float minIntervalTop = minLogicalIntervalTop;
     float minIntervalHeight = minLogicalIntervalSize.height();
  * OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef ExclusionRectangle_h
-#define ExclusionRectangle_h
+#ifndef RectangleShape_h
+#define RectangleShape_h
 
-#include "ExclusionShape.h"
 #include "FloatPoint.h"
 #include "FloatRect.h"
 #include "FloatSize.h"
+#include "Shape.h"
 #include <wtf/Assertions.h>
 #include <wtf/Vector.h>
 
@@ -58,10 +58,10 @@ private:
     FloatSize m_radii;
 };
 
-class ExclusionRectangle : public ExclusionShape {
+class RectangleShape : public Shape {
 public:
-    ExclusionRectangle(const FloatRect& bounds, const FloatSize& radii)
-        : ExclusionShape()
+    RectangleShape(const FloatRect& bounds, const FloatSize& radii)
+        : Shape()
         , m_bounds(bounds, radii)
         , m_haveInitializedMarginBounds(false)
         , m_haveInitializedPaddingBounds(false)
@@ -88,4 +88,4 @@ private:
 
 } // namespace WebCore
 
-#endif // ExclusionRectangle_h
+#endif // RectangleShape_h
similarity index 79%
rename from Source/WebCore/rendering/ExclusionShape.cpp
rename to Source/WebCore/rendering/shapes/Shape.cpp
index ffe640d..b7920cc 100644 (file)
  */
 
 #include "config.h"
-#include "ExclusionShape.h"
+#include "Shape.h"
 
 #include "BasicShapeFunctions.h"
-#include "ExclusionPolygon.h"
-#include "ExclusionRectangle.h"
 #include "FloatSize.h"
 #include "LengthFunctions.h"
+#include "PolygonShape.h"
+#include "RectangleShape.h"
 #include "WindRule.h"
 #include <wtf/MathExtras.h>
 #include <wtf/OwnPtr.h>
 
 namespace WebCore {
 
-static PassOwnPtr<ExclusionShape> createExclusionRectangle(const FloatRect& bounds, const FloatSize& radii)
+static PassOwnPtr<Shape> createRectangleShape(const FloatRect& bounds, const FloatSize& radii)
 {
     ASSERT(bounds.width() >= 0 && bounds.height() >= 0 && radii.width() >= 0 && radii.height() >= 0);
-    return adoptPtr(new ExclusionRectangle(bounds, radii));
+    return adoptPtr(new RectangleShape(bounds, radii));
 }
 
-static PassOwnPtr<ExclusionShape> createExclusionCircle(const FloatPoint& center, float radius)
+static PassOwnPtr<Shape> createShapeCircle(const FloatPoint& center, float radius)
 {
     ASSERT(radius >= 0);
-    return adoptPtr(new ExclusionRectangle(FloatRect(center.x() - radius, center.y() - radius, radius*2, radius*2), FloatSize(radius, radius)));
+    return adoptPtr(new RectangleShape(FloatRect(center.x() - radius, center.y() - radius, radius*2, radius*2), FloatSize(radius, radius)));
 }
 
-static PassOwnPtr<ExclusionShape> createExclusionEllipse(const FloatPoint& center, const FloatSize& radii)
+static PassOwnPtr<Shape> createShapeEllipse(const FloatPoint& center, const FloatSize& radii)
 {
     ASSERT(radii.width() >= 0 && radii.height() >= 0);
-    return adoptPtr(new ExclusionRectangle(FloatRect(center.x() - radii.width(), center.y() - radii.height(), radii.width()*2, radii.height()*2), radii));
+    return adoptPtr(new RectangleShape(FloatRect(center.x() - radii.width(), center.y() - radii.height(), radii.width()*2, radii.height()*2), radii));
 }
 
-static PassOwnPtr<ExclusionShape> createExclusionPolygon(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)
+static PassOwnPtr<Shape> createPolygonShape(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)
 {
-    return adoptPtr(new ExclusionPolygon(vertices, fillRule));
+    return adoptPtr(new PolygonShape(vertices, fillRule));
 }
 
 static inline FloatRect physicalRectToLogical(const FloatRect& rect, float logicalBoxHeight, WritingMode writingMode)
@@ -90,14 +90,14 @@ static inline FloatSize physicalSizeToLogical(const FloatSize& size, WritingMode
     return size.transposedSize();
 }
 
-PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape* basicShape, const LayoutSize& logicalBoxSize, WritingMode writingMode, Length margin, Length padding)
+PassOwnPtr<Shape> Shape::createShape(const BasicShape* basicShape, const LayoutSize& logicalBoxSize, WritingMode writingMode, Length margin, Length padding)
 {
     ASSERT(basicShape);
 
     bool horizontalWritingMode = isHorizontalWritingMode(writingMode);
     float boxWidth = horizontalWritingMode ? logicalBoxSize.width() : logicalBoxSize.height();
     float boxHeight = horizontalWritingMode ? logicalBoxSize.height() : logicalBoxSize.width();
-    OwnPtr<ExclusionShape> exclusionShape;
+    OwnPtr<Shape> shape;
 
     switch (basicShape->type()) {
 
@@ -115,7 +115,7 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
             radiusYLength.isUndefined() ? 0 : floatValueForLength(radiusYLength, boxHeight));
         FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxSize.height(), writingMode);
 
-        exclusionShape = createExclusionRectangle(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));
+        shape = createRectangleShape(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));
         break;
     }
 
@@ -126,7 +126,7 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
         float radius = floatValueForLength(circle->radius(), std::min(boxHeight, boxWidth));
         FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxSize.height(), writingMode);
 
-        exclusionShape = createExclusionCircle(logicalCenter, radius);
+        shape = createShapeCircle(logicalCenter, radius);
         break;
     }
 
@@ -139,7 +139,7 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
         FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxSize.height(), writingMode);
         FloatSize logicalRadii = physicalSizeToLogical(FloatSize(radiusX, radiusY), writingMode);
 
-        exclusionShape = createExclusionEllipse(logicalCenter, logicalRadii);
+        shape = createShapeEllipse(logicalCenter, logicalRadii);
         break;
     }
 
@@ -156,7 +156,7 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
             (*vertices)[i / 2] = physicalPointToLogical(vertex, logicalBoxSize.height(), writingMode);
         }
 
-        exclusionShape = createExclusionPolygon(vertices.release(), polygon->windRule());
+        shape = createPolygonShape(vertices.release(), polygon->windRule());
         break;
     }
 
@@ -176,7 +176,7 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
             radiusYLength.isUndefined() ? 0 : floatValueForLength(radiusYLength, boxHeight));
         FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxSize.height(), writingMode);
 
-        exclusionShape = createExclusionRectangle(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));
+        shape = createRectangleShape(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));
         break;
     }
 
@@ -184,11 +184,11 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
         ASSERT_NOT_REACHED();
     }
 
-    exclusionShape->m_writingMode = writingMode;
-    exclusionShape->m_margin = floatValueForLength(margin, 0);
-    exclusionShape->m_padding = floatValueForLength(padding, 0);
+    shape->m_writingMode = writingMode;
+    shape->m_margin = floatValueForLength(margin, 0);
+    shape->m_padding = floatValueForLength(padding, 0);
 
-    return exclusionShape.release();
+    return shape.release();
 }
 
 } // namespace WebCore
similarity index 91%
rename from Source/WebCore/rendering/ExclusionShape.h
rename to Source/WebCore/rendering/shapes/Shape.h
index e3d51f0..0d9ecfd 100644 (file)
@@ -27,8 +27,8 @@
  * OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef ExclusionShape_h
-#define ExclusionShape_h
+#ifndef Shape_h
+#define Shape_h
 
 #include "BasicShapes.h"
 #include "LayoutRect.h"
@@ -57,11 +57,11 @@ typedef Vector<LineSegment> SegmentList;
 // computed segments are returned as pairs of logical X coordinates. The BasicShape itself is defined in
 // physical coordinates.
 
-class ExclusionShape {
+class Shape {
 public:
-    static PassOwnPtr<ExclusionShape> createExclusionShape(const BasicShape*, const LayoutSize& logicalBoxSize, WritingMode, Length margin, Length padding);
+    static PassOwnPtr<Shape> createShape(const BasicShape*, const LayoutSize& logicalBoxSize, WritingMode, Length margin, Length padding);
 
-    virtual ~ExclusionShape() { }
+    virtual ~Shape() { }
 
     virtual LayoutRect shapeMarginLogicalBoundingBox() const = 0;
     virtual LayoutRect shapePaddingLogicalBoundingBox() const = 0;
@@ -82,4 +82,4 @@ private:
 
 } // namespace WebCore
 
-#endif // ExclusionShape_h
+#endif // Shape_h
  */
 
 #include "config.h"
-#include "ExclusionShapeInfo.h"
+#include "ShapeInfo.h"
 
 #if ENABLE(CSS_SHAPES)
 
-#include "ExclusionShape.h"
 #include "RenderBlock.h"
 #include "RenderBox.h"
 #include "RenderRegion.h"
 #include "RenderStyle.h"
+#include "Shape.h"
 
 namespace WebCore {
-template<class RenderType, ExclusionShapeValue* (RenderStyle::*shapeGetter)() const, void (ExclusionShape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
-const ExclusionShape* ExclusionShapeInfo<RenderType, shapeGetter, intervalGetter>::computedShape() const
+template<class RenderType, ShapeValue* (RenderStyle::*shapeGetter)() const, void (Shape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
+const Shape* ShapeInfo<RenderType, shapeGetter, intervalGetter>::computedShape() const
 {
-    if (ExclusionShape* exclusionShape = m_shape.get())
-        return exclusionShape;
+    if (Shape* shape = m_shape.get())
+        return shape;
 
-    ExclusionShapeValue* shapeValue = (m_renderer->style()->*shapeGetter)();
-    BasicShape* shape = (shapeValue && shapeValue->type() == ExclusionShapeValue::Shape) ? shapeValue->shape() : 0;
+    ShapeValue* shapeValue = (m_renderer->style()->*shapeGetter)();
+    BasicShape* shape = (shapeValue && shapeValue->type() == ShapeValue::Shape) ? shapeValue->shape() : 0;
 
     ASSERT(shape);
 
-    m_shape = ExclusionShape::createExclusionShape(shape, LayoutSize(m_shapeLogicalWidth, m_shapeLogicalHeight), m_renderer->style()->writingMode(), m_renderer->style()->shapeMargin(), m_renderer->style()->shapePadding());
+    m_shape = Shape::createShape(shape, LayoutSize(m_shapeLogicalWidth, m_shapeLogicalHeight), m_renderer->style()->writingMode(), m_renderer->style()->shapeMargin(), m_renderer->style()->shapePadding());
     ASSERT(m_shape);
     return m_shape.get();
 }
 
-template<class RenderType, ExclusionShapeValue* (RenderStyle::*shapeGetter)() const, void (ExclusionShape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
-bool ExclusionShapeInfo<RenderType, shapeGetter, intervalGetter>::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)
+template<class RenderType, ShapeValue* (RenderStyle::*shapeGetter)() const, void (Shape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
+bool ShapeInfo<RenderType, shapeGetter, intervalGetter>::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)
 {
     ASSERT(lineHeight >= 0);
     m_shapeLineTop = lineTop - logicalTopOffset();
@@ -75,7 +75,7 @@ bool ExclusionShapeInfo<RenderType, shapeGetter, intervalGetter>::computeSegment
     return m_segments.size();
 }
 
-template class ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals>;
-template class ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>;
+template class ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals>;
+template class ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>;
 }
 #endif
similarity index 90%
rename from Source/WebCore/rendering/ExclusionShapeInfo.h
rename to Source/WebCore/rendering/shapes/ShapeInfo.h
index 5a70792..0e13d32 100644 (file)
 * SUCH DAMAGE.
 */
 
-#ifndef ExclusionShapeInfo_h
-#define ExclusionShapeInfo_h
+#ifndef ShapeInfo_h
+#define ShapeInfo_h
 
 #if ENABLE(CSS_SHAPES)
 
-#include "ExclusionShape.h"
-#include "ExclusionShapeValue.h"
 #include "FloatRect.h"
 #include "LayoutUnit.h"
 #include "RenderStyle.h"
+#include "Shape.h"
+#include "ShapeValue.h"
 #include <wtf/OwnPtr.h>
 #include <wtf/Vector.h>
 
@@ -64,11 +64,11 @@ private:
     }
 };
 
-template<class RenderType, ExclusionShapeValue* (RenderStyle::*shapeGetter)() const, void (ExclusionShape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
-class ExclusionShapeInfo {
+template<class RenderType, ShapeValue* (RenderStyle::*shapeGetter)() const, void (Shape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>
+class ShapeInfo {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    virtual ~ExclusionShapeInfo() { }
+    virtual ~ShapeInfo() { }
 
     void setShapeSize(LayoutUnit logicalWidth, LayoutUnit logicalHeight)
     {
@@ -107,9 +107,9 @@ public:
     const RenderType* owner() const { return m_renderer; }
 
 protected:
-    ExclusionShapeInfo(const RenderType* renderer): m_renderer(renderer) { }
+    ShapeInfo(const RenderType* renderer): m_renderer(renderer) { }
 
-    const ExclusionShape* computedShape() const;
+    const Shape* computedShape() const;
     virtual LayoutRect computedShapeLogicalBoundingBox() const = 0;
 
     LayoutUnit logicalTopOffset() const { return m_renderer->style()->boxSizing() == CONTENT_BOX ? m_renderer->borderAndPaddingBefore() : LayoutUnit(); };
@@ -120,7 +120,7 @@ protected:
     SegmentList m_segments;
 
 private:
-    mutable OwnPtr<ExclusionShape> m_shape;
+    mutable OwnPtr<Shape> m_shape;
 
     LayoutUnit m_shapeLogicalWidth;
     LayoutUnit m_shapeLogicalHeight;
@@ -28,7 +28,7 @@
  */
 
 #include "config.h"
-#include "ExclusionShapeInsideInfo.h"
+#include "ShapeInsideInfo.h"
 
 #if ENABLE(CSS_SHAPES)
 
@@ -43,19 +43,19 @@ LineSegmentRange::LineSegmentRange(const InlineIterator& start, const InlineIter
     {
     }
 
-bool ExclusionShapeInsideInfo::isEnabledFor(const RenderBlock* renderer)
+bool ShapeInsideInfo::isEnabledFor(const RenderBlock* renderer)
 {
-    ExclusionShapeValue* shapeValue = renderer->style()->resolvedShapeInside();
-    if (!shapeValue || shapeValue->type() != ExclusionShapeValue::Shape)
+    ShapeValue* shapeValue = renderer->style()->resolvedShapeInside();
+    if (!shapeValue || shapeValue->type() != ShapeValue::Shape)
         return false;
 
     BasicShape* shape = shapeValue->shape();
     return shape && shape->type() != BasicShape::BasicShapeInsetRectangleType;
 }
 
-bool ExclusionShapeInsideInfo::adjustLogicalLineTop(float minSegmentWidth)
+bool ShapeInsideInfo::adjustLogicalLineTop(float minSegmentWidth)
 {
-    const ExclusionShape* shape = computedShape();
+    const Shape* shape = computedShape();
     if (!shape || m_lineHeight <= 0 || logicalLineTop() > shapeLogicalBottom())
         return false;
 
  * SUCH DAMAGE.
  */
 
-#ifndef ExclusionShapeInsideInfo_h
-#define ExclusionShapeInsideInfo_h
+#ifndef ShapeInsideInfo_h
+#define ShapeInsideInfo_h
 
 #if ENABLE(CSS_SHAPES)
 
-#include "ExclusionShapeInfo.h"
+#include "ShapeInfo.h"
 #include <wtf/PassOwnPtr.h>
 #include <wtf/Vector.h>
 
@@ -62,16 +62,16 @@ struct LineSegmentRange {
 
 typedef Vector<LineSegmentRange> SegmentRangeList;
 
-class ExclusionShapeInsideInfo : public ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals> {
+class ShapeInsideInfo : public ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals> {
 public:
-    static PassOwnPtr<ExclusionShapeInsideInfo> createInfo(const RenderBlock* renderer) { return adoptPtr(new ExclusionShapeInsideInfo(renderer)); }
+    static PassOwnPtr<ShapeInsideInfo> createInfo(const RenderBlock* renderer) { return adoptPtr(new ShapeInsideInfo(renderer)); }
 
     static bool isEnabledFor(const RenderBlock* renderer);
 
     virtual bool computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight) OVERRIDE
     {
         m_segmentRanges.clear();
-        return ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals>::computeSegmentsForLine(lineTop, lineHeight);
+        return ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals>::computeSegmentsForLine(lineTop, lineHeight);
     }
 
     bool hasSegments() const
@@ -101,8 +101,8 @@ protected:
     virtual LayoutRect computedShapeLogicalBoundingBox() const OVERRIDE { return computedShape()->shapePaddingLogicalBoundingBox(); }
 
 private:
-    ExclusionShapeInsideInfo(const RenderBlock* renderer)
-    : ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals> (renderer)
+    ShapeInsideInfo(const RenderBlock* renderer)
+    : ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals> (renderer)
     , m_needsLayout(false)
     { }
 
  */
 
 #include "config.h"
-#include "ExclusionInterval.h"
+#include "ShapeInterval.h"
 
 #include <wtf/MathExtras.h>
 
 namespace WebCore {
 
 struct IntervalX1Comparator {
-    bool operator() (const ExclusionInterval& i1, const ExclusionInterval& i2) const
+    bool operator() (const ShapeInterval& i1, const ShapeInterval& i2) const
     {
         return i1.x1 < i2.x1;
     }
 };
 
-bool ExclusionInterval::intersect(const ExclusionInterval& i, ExclusionInterval& rv) const
+bool ShapeInterval::intersect(const ShapeInterval& i, ShapeInterval& rv) const
 {
     if (x2 < i.x1 || x1 > i.x2)
         return false;
@@ -50,20 +50,20 @@ bool ExclusionInterval::intersect(const ExclusionInterval& i, ExclusionInterval&
     return true;
 }
 
-void sortExclusionIntervals(Vector<ExclusionInterval>& v)
+void sortShapeIntervals(Vector<ShapeInterval>& v)
 {
     std::sort(v.begin(), v.end(), IntervalX1Comparator());
 }
 
-void mergeExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<ExclusionInterval>& v2, Vector<ExclusionInterval>& rv)
+void mergeShapeIntervals(const Vector<ShapeInterval>& v1, const Vector<ShapeInterval>& v2, Vector<ShapeInterval>& rv)
 {
     if (!v1.size())
         rv.appendRange(v2.begin(), v2.end());
     else if (!v2.size())
         rv.appendRange(v1.begin(), v1.end());
     else {
-        Vector<ExclusionInterval> v(v1.size() + v2.size());
-        ExclusionInterval* interval = 0;
+        Vector<ShapeInterval> v(v1.size() + v2.size());
+        ShapeInterval* interval = 0;
 
         std::merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v.begin(), IntervalX1Comparator());
 
@@ -83,7 +83,7 @@ void mergeExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<E
     }
 }
 
-void intersectExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<ExclusionInterval>& v2, Vector<ExclusionInterval>& rv)
+void intersectShapeIntervals(const Vector<ShapeInterval>& v1, const Vector<ShapeInterval>& v2, Vector<ShapeInterval>& rv)
 {
     size_t v1Size = v1.size();
     size_t v2Size = v2.size();
@@ -91,13 +91,13 @@ void intersectExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vect
     if (!v1Size || !v2Size)
         return;
 
-    ExclusionInterval interval;
+    ShapeInterval interval;
     bool overlap = false;
     size_t i1 = 0;
     size_t i2 = 0;
 
     while (i1 < v1Size && i2 < v2Size) {
-        ExclusionInterval v12;
+        ShapeInterval v12;
         if (v1[i1].intersect(v2[i2], v12)) {
             if (!overlap || !v12.intersect(interval, interval)) {
                 if (overlap)
@@ -124,7 +124,7 @@ void intersectExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vect
         rv.append(interval);
 }
 
-void subtractExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<ExclusionInterval>& v2, Vector<ExclusionInterval>& rv)
+void subtractShapeIntervals(const Vector<ShapeInterval>& v1, const Vector<ShapeInterval>& v2, Vector<ShapeInterval>& rv)
 {
     size_t v1Size = v1.size();
     size_t v2Size = v2.size();
@@ -139,8 +139,8 @@ void subtractExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vecto
         rv.appendRange(v1.begin(), v1.end());
 
         while (i1 < rv.size() && i2 < v2Size) {
-            ExclusionInterval& interval1 = rv[i1];
-            const ExclusionInterval& interval2 = v2[i2];
+            ShapeInterval& interval1 = rv[i1];
+            const ShapeInterval& interval2 = v2[i2];
 
             if (interval2.x1 <= interval1.x1 && interval2.x2 >= interval1.x2)
                 rv.remove(i1);
@@ -149,7 +149,7 @@ void subtractExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vecto
             else if (interval2.x1 > interval1.x2)
                 i1 += 1;
             else if (interval2.x1 > interval1.x1 && interval2.x2 < interval1.x2) {
-                rv.insert(i1, ExclusionInterval(interval1.x1, interval2.x1));
+                rv.insert(i1, ShapeInterval(interval1.x1, interval2.x1));
                 interval1.x1 = interval2.x2;
                 i2 += 1;
             } else if (interval2.x1 <= interval1.x1) {
  * OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef ExclusionInterval_h
-#define ExclusionInterval_h
+#ifndef ShapeInterval_h
+#define ShapeInterval_h
 
 #include <wtf/Vector.h>
 
 namespace WebCore {
 
-struct ExclusionInterval {
+struct ShapeInterval {
 public:
     float x1;
     float x2;
 
-    ExclusionInterval(float x1 = 0, float x2 = 0)
+    ShapeInterval(float x1 = 0, float x2 = 0)
         : x1(x1)
         , x2(x2)
     {
     }
 
-    bool intersect(const ExclusionInterval&, ExclusionInterval&) const;
+    bool intersect(const ShapeInterval&, ShapeInterval&) const;
 };
 
-void sortExclusionIntervals(Vector<ExclusionInterval>&);
-void mergeExclusionIntervals(const Vector<ExclusionInterval>&, const Vector<ExclusionInterval>&, Vector<ExclusionInterval>&);
-void intersectExclusionIntervals(const Vector<ExclusionInterval>&, const Vector<ExclusionInterval>&, Vector<ExclusionInterval>&);
-void subtractExclusionIntervals(const Vector<ExclusionInterval>&, const Vector<ExclusionInterval>&, Vector<ExclusionInterval>&);
+void sortShapeIntervals(Vector<ShapeInterval>&);
+void mergeShapeIntervals(const Vector<ShapeInterval>&, const Vector<ShapeInterval>&, Vector<ShapeInterval>&);
+void intersectShapeIntervals(const Vector<ShapeInterval>&, const Vector<ShapeInterval>&, Vector<ShapeInterval>&);
+void subtractShapeIntervals(const Vector<ShapeInterval>&, const Vector<ShapeInterval>&, Vector<ShapeInterval>&);
 
 } // namespace WebCore
 
-#endif // ExclusionInterval_h
+#endif // ShapeInterval_h
 
 #if ENABLE(CSS_SHAPES)
 
-#include "ExclusionShapeOutsideInfo.h"
+#include "ShapeOutsideInfo.h"
 
 #include "RenderBox.h"
 
 namespace WebCore {
-bool ExclusionShapeOutsideInfo::isEnabledFor(const RenderBox* box)
+bool ShapeOutsideInfo::isEnabledFor(const RenderBox* box)
 {
-    ExclusionShapeValue* value = box->style()->shapeOutside();
-    return box->isFloatingWithShapeOutside() && value->type() == ExclusionShapeValue::Shape && value->shape();
+    ShapeValue* value = box->style()->shapeOutside();
+    return box->isFloatingWithShapeOutside() && value->type() == ShapeValue::Shape && value->shape();
 }
 
-bool ExclusionShapeOutsideInfo::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)
+bool ShapeOutsideInfo::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)
 {
     if (shapeSizeDirty() || m_lineTop != lineTop || m_lineHeight != lineHeight) {
-        if (ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>::computeSegmentsForLine(lineTop, lineHeight)) {
+        if (ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>::computeSegmentsForLine(lineTop, lineHeight)) {
             m_leftSegmentShapeBoundingBoxDelta = m_segments[0].logicalLeft - shapeLogicalLeft();
             m_rightSegmentShapeBoundingBoxDelta = m_segments[m_segments.size()-1].logicalRight - shapeLogicalRight();
         } else {
  * SUCH DAMAGE.
  */
 
-#ifndef ExclusionShapeOutsideInfo_h
-#define ExclusionShapeOutsideInfo_h
+#ifndef ShapeOutsideInfo_h
+#define ShapeOutsideInfo_h
 
 #if ENABLE(CSS_SHAPES)
 
-#include "ExclusionShapeInfo.h"
 #include "LayoutSize.h"
+#include "ShapeInfo.h"
 
 namespace WebCore {
 
 class RenderBox;
 
-class ExclusionShapeOutsideInfo : public ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>, public MappedInfo<RenderBox, ExclusionShapeOutsideInfo> {
+class ShapeOutsideInfo : public ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>, public MappedInfo<RenderBox, ShapeOutsideInfo> {
 public:
     LayoutSize shapeLogicalOffset() const { return LayoutSize(shapeLogicalLeft(), shapeLogicalTop()); }
 
@@ -48,14 +48,14 @@ public:
 
     virtual bool computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight) OVERRIDE;
 
-    static PassOwnPtr<ExclusionShapeOutsideInfo> createInfo(const RenderBox* renderer) { return adoptPtr(new ExclusionShapeOutsideInfo(renderer)); }
+    static PassOwnPtr<ShapeOutsideInfo> createInfo(const RenderBox* renderer) { return adoptPtr(new ShapeOutsideInfo(renderer)); }
     static bool isEnabledFor(const RenderBox*);
 
 protected:
     virtual LayoutRect computedShapeLogicalBoundingBox() const OVERRIDE { return computedShape()->shapeMarginLogicalBoundingBox(); }
 
 private:
-    ExclusionShapeOutsideInfo(const RenderBox* renderer) : ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>(renderer) { }
+    ShapeOutsideInfo(const RenderBox* renderer) : ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>(renderer) { }
 
     LayoutUnit m_leftSegmentShapeBoundingBoxDelta;
     LayoutUnit m_rightSegmentShapeBoundingBoxDelta;
index fbbd6f0..3bf7d2d 100644 (file)
@@ -1733,9 +1733,9 @@ void RenderStyle::setBorderImageOutset(LengthBox outset)
     surround.access()->border.m_image.setOutset(outset);
 }
 
-ExclusionShapeValue* RenderStyle::initialShapeInside()
+ShapeValue* RenderStyle::initialShapeInside()
 {
-    DEFINE_STATIC_LOCAL(RefPtr<ExclusionShapeValue>, sOutsideValue, (ExclusionShapeValue::createOutsideValue()));
+    DEFINE_STATIC_LOCAL(RefPtr<ShapeValue>, sOutsideValue, (ShapeValue::createOutsideValue()));
     return sOutsideValue.get();
 }
 
index 9df5725..f9cd251 100644 (file)
@@ -34,7 +34,6 @@
 #include "ColorSpace.h"
 #include "CounterDirectives.h"
 #include "DataRef.h"
-#include "ExclusionShapeValue.h"
 #include "FontBaseline.h"
 #include "FontDescription.h"
 #include "GraphicsTypes.h"
@@ -49,6 +48,7 @@
 #include "RenderStyleConstants.h"
 #include "RoundedRect.h"
 #include "ShadowData.h"
+#include "ShapeValue.h"
 #include "StyleBackgroundData.h"
 #include "StyleBoxData.h"
 #include "StyleDeprecatedFlexibleBoxData.h"
@@ -1470,31 +1470,31 @@ public:
     void setKerning(SVGLength k) { accessSVGStyle()->setKerning(k); }
 #endif
 
-    void setShapeInside(PassRefPtr<ExclusionShapeValue> value)
+    void setShapeInside(PassRefPtr<ShapeValue> value)
     {
         if (rareNonInheritedData->m_shapeInside == value)
             return;
         rareNonInheritedData.access()->m_shapeInside = value;
     }
-    ExclusionShapeValue* shapeInside() const { return rareNonInheritedData->m_shapeInside.get(); }
-    ExclusionShapeValue* resolvedShapeInside() const
+    ShapeValue* shapeInside() const { return rareNonInheritedData->m_shapeInside.get(); }
+    ShapeValue* resolvedShapeInside() const
     {
-        ExclusionShapeValue* shapeInside = this->shapeInside();
-        if (shapeInside && shapeInside->type() == ExclusionShapeValue::Outside)
+        ShapeValue* shapeInside = this->shapeInside();
+        if (shapeInside && shapeInside->type() == ShapeValue::Outside)
             return shapeOutside();
         return shapeInside;
     }
 
-    void setShapeOutside(PassRefPtr<ExclusionShapeValue> value)
+    void setShapeOutside(PassRefPtr<ShapeValue> value)
     {
         if (rareNonInheritedData->m_shapeOutside == value)
             return;
         rareNonInheritedData.access()->m_shapeOutside = value;
     }
-    ExclusionShapeValue* shapeOutside() const { return rareNonInheritedData->m_shapeOutside.get(); }
+    ShapeValue* shapeOutside() const { return rareNonInheritedData->m_shapeOutside.get(); }
 
-    static ExclusionShapeValue* initialShapeInside();
-    static ExclusionShapeValue* initialShapeOutside() { return 0; }
+    static ShapeValue* initialShapeInside();
+    static ShapeValue* initialShapeOutside() { return 0; }
 
     void setClipPath(PassRefPtr<ClipPathOperation> operation)
     {
@@ -27,8 +27,8 @@
  * SUCH DAMAGE.
  */
 
-#ifndef ExclusionShapeValue_h
-#define ExclusionShapeValue_h
+#ifndef ShapeValue_h
+#define ShapeValue_h
 
 #include "BasicShapes.h"
 #include "StyleImage.h"
 
 namespace WebCore {
 
-class ExclusionShapeValue : public RefCounted<ExclusionShapeValue> {
+class ShapeValue : public RefCounted<ShapeValue> {
 public:
-    enum ExclusionShapeValueType {
-        // The Auto value is defined by a null ExclusionShapeValue*
+    enum ShapeValueType {
+        // The Auto value is defined by a null ShapeValue*
         Shape,
         Outside,
         Image
     };
 
-    static PassRefPtr<ExclusionShapeValue> createShapeValue(PassRefPtr<BasicShape> shape)
+    static PassRefPtr<ShapeValue> createShapeValue(PassRefPtr<BasicShape> shape)
     {
-        return adoptRef(new ExclusionShapeValue(shape));
+        return adoptRef(new ShapeValue(shape));
     }
 
-    static PassRefPtr<ExclusionShapeValue> createOutsideValue()
+    static PassRefPtr<ShapeValue> createOutsideValue()
     {
-        return adoptRef(new ExclusionShapeValue(Outside));
+        return adoptRef(new ShapeValue(Outside));
     }
 
-    static PassRefPtr<ExclusionShapeValue> createImageValue(PassRefPtr<StyleImage> image)
+    static PassRefPtr<ShapeValue> createImageValue(PassRefPtr<StyleImage> image)
     {
-        return adoptRef(new ExclusionShapeValue(image));
+        return adoptRef(new ShapeValue(image));
     }
 
-    ExclusionShapeValueType type() const { return m_type; }
+    ShapeValueType type() const { return m_type; }
     BasicShape* shape() const { return m_shape.get(); }
     StyleImage* image() const { return m_image.get(); }
     void setImage(PassRefPtr<StyleImage> image)
@@ -68,24 +68,24 @@ public:
         if (m_image != image)
             m_image = image;
     }
-    bool operator==(const ExclusionShapeValue& other) const { return type() == other.type(); }
+    bool operator==(const ShapeValue& other) const { return type() == other.type(); }
 
 private:
-    ExclusionShapeValue(PassRefPtr<BasicShape> shape)
+    ShapeValue(PassRefPtr<BasicShape> shape)
         : m_type(Shape)
         , m_shape(shape)
     {
     }
-    ExclusionShapeValue(ExclusionShapeValueType type)
+    ShapeValue(ShapeValueType type)
         : m_type(type)
     {
     }
-    ExclusionShapeValue(PassRefPtr<StyleImage> image)
+    ShapeValue(PassRefPtr<StyleImage> image)
         : m_type(Image)
         , m_image(image)
     {
     }
-    ExclusionShapeValueType m_type;
+    ShapeValueType m_type;
     RefPtr<BasicShape> m_shape;
     RefPtr<StyleImage> m_image;
 };
index f231da6..11625b3 100644 (file)
 #include "CounterDirectives.h"
 #include "CursorData.h"
 #include "DataRef.h"
-#include "ExclusionShapeValue.h"
 #include "FillLayer.h"
 #include "LineClampValue.h"
 #include "NinePieceImage.h"
+#include "ShapeValue.h"
 #include <wtf/OwnPtr.h>
 #include <wtf/PassRefPtr.h>
 #include <wtf/Vector.h>
@@ -136,8 +136,8 @@ public:
 
     LengthSize m_pageSize;
 
-    RefPtr<ExclusionShapeValue> m_shapeInside;
-    RefPtr<ExclusionShapeValue> m_shapeOutside;
+    RefPtr<ShapeValue> m_shapeInside;
+    RefPtr<ShapeValue> m_shapeOutside;
     Length m_shapeMargin;
     Length m_shapePadding;
 
index 19bb4ec..2fb889d 100644 (file)
@@ -41,6 +41,7 @@ set(WebKit_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/platform/text"
     "${WEBCORE_DIR}/plugins"
     "${WEBCORE_DIR}/rendering"
+    "${WEBCORE_DIR}/rendering/shapes"
     "${WEBCORE_DIR}/rendering/style"
     "${WEBCORE_DIR}/storage"
     "${WEBCORE_DIR}/svg"
index ea30c5e..ba3dd6f 100644 (file)
@@ -1,3 +1,14 @@
+2013-06-10  Bear Travis  <betravis@adobe.com>
+
+        [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
+        https://bugs.webkit.org/show_bug.cgi?id=117162
+
+        Reviewed by Alexandru Chiculita.
+
+        Adding the WebCore/rendering/shapes directory to the include list.
+
+        * CMakeLists.txt:
+
 2013-06-06  Roger Fong  <roger_fong@apple.com>
 
         Unreviewed. Build configuration fix. WebKitExportGenerator's include path should fall back to 
index 3f88a83..006fc59 100644 (file)
@@ -93,6 +93,7 @@ set(WebKit2_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/platform/text"
     "${WEBCORE_DIR}/plugins"
     "${WEBCORE_DIR}/rendering"
+    "${WEBCORE_DIR}/rendering/shapes"
     "${WEBCORE_DIR}/rendering/style"
     "${WEBCORE_DIR}/storage"
     "${WEBCORE_DIR}/svg"
index 82fe337..a16e514 100644 (file)
@@ -1,3 +1,14 @@
+2013-06-10  Bear Travis  <betravis@adobe.com>
+
+        [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
+        https://bugs.webkit.org/show_bug.cgi?id=117162
+
+        Reviewed by Alexandru Chiculita.
+
+        Adding the WebCore/rendering/shapes directory to the include list.
+
+        * CMakeLists.txt:
+
 2013-06-10  Iago Toral Quiroga  <itoral@igalia.com>
 
         Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland
index 1e57980..ff8fcc8 100644 (file)
@@ -1,3 +1,14 @@
+2013-06-10  Bear Travis  <betravis@adobe.com>
+
+        [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
+        https://bugs.webkit.org/show_bug.cgi?id=117162
+
+        Reviewed by Alexandru Chiculita.
+
+        Adding the WebCore/rendering/shapes directory to the include list.
+
+        * DumpRenderTree/efl/CMakeLists.txt:
+
 2013-06-09  Brent Fulgham  <bfulgham@apple.com>
 
         [Windows] Unreviewed test correction:  Prevent DumpRenderTree crashes
index cdd6a99..9980191 100644 (file)
@@ -77,6 +77,7 @@ set(DumpRenderTree_INCLUDE_DIRECTORIES
     ${WEBCORE_DIR}/platform/network/soup
     ${WEBCORE_DIR}/plugins
     ${WEBCORE_DIR}/rendering
+    ${WEBCORE_DIR}/rendering/shapes
     ${WEBCORE_DIR}/rendering/style
     ${WEBCORE_DIR}/history
     ${WEBCORE_DIR}/loader