Changeset 151402 in webkit
- Timestamp:
- Jun 10, 2013 2:23:45 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 31 edited
- 15 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r151223 r151402 77 77 "${WEBCORE_DIR}/rendering" 78 78 "${WEBCORE_DIR}/rendering/mathml" 79 "${WEBCORE_DIR}/rendering/shapes" 79 80 "${WEBCORE_DIR}/rendering/style" 80 81 "${WEBCORE_DIR}/rendering/svg" … … 2094 2095 rendering/CounterNode.cpp 2095 2096 rendering/EllipsisBox.cpp 2096 rendering/ExclusionInterval.cpp2097 rendering/ExclusionPolygon.cpp2098 rendering/ExclusionRectangle.cpp2099 rendering/ExclusionShape.cpp2100 rendering/ExclusionShapeInfo.cpp2101 rendering/ExclusionShapeInsideInfo.cpp2102 rendering/ExclusionShapeOutsideInfo.cpp2103 2097 rendering/FilterEffectRenderer.cpp 2104 2098 rendering/FixedTableLayout.cpp … … 2214 2208 rendering/mathml/RenderMathMLSubSup.cpp 2215 2209 rendering/mathml/RenderMathMLUnderOver.cpp 2210 2211 rendering/shapes/PolygonShape.cpp 2212 rendering/shapes/RectangleShape.cpp 2213 rendering/shapes/Shape.cpp 2214 rendering/shapes/ShapeInfo.cpp 2215 rendering/shapes/ShapeInsideInfo.cpp 2216 rendering/shapes/ShapeInterval.cpp 2217 rendering/shapes/ShapeOutsideInfo.cpp 2216 2218 2217 2219 rendering/style/BasicShapes.cpp -
trunk/Source/WebCore/ChangeLog
r151398 r151402 1 2013-06-10 Bear Travis <betravis@adobe.com> 2 3 [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code 4 https://bugs.webkit.org/show_bug.cgi?id=117162 5 6 Reviewed by Alexandru Chiculita. 7 8 With the split between the CSS Exclusions and CSS Shapes specifications, 9 some renaming is necessary. In general, this patch removes 'Exclusion' from 10 any Shapes code, while organizing the rendering shapes code into a 'shapes' 11 folder. 12 13 Renames: 14 ExclusionShape -> Shape 15 Exclusion[Rectangle|Polygon] -> [Rectangle|Polygon]Shape 16 Exclusion -> Shape 17 18 Refactoring, no new tests. 19 20 * CMakeLists.txt: 21 * GNUmakefile.am: 22 * GNUmakefile.list.am: 23 * Target.pri: 24 * WebCore.pri: 25 * WebCore.vcxproj/WebCore.vcxproj: 26 * WebCore.vcxproj/WebCore.vcxproj.filters: 27 * WebCore.xcodeproj/project.pbxproj: 28 * css/CSSComputedStyleDeclaration.cpp: 29 (WebCore::ComputedStyleExtractor::propertyValue): 30 * css/CSSPrimitiveValue.h: 31 * css/DeprecatedStyleBuilder.cpp: 32 (WebCore::ApplyPropertyShape::setValue): 33 (WebCore::ApplyPropertyShape::applyValue): 34 (WebCore::ApplyPropertyShape::createHandler): 35 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): 36 * page/animation/CSSPropertyAnimation.cpp: 37 (WebCore::blendFunc): 38 (WebCore::PropertyWrapperShape::PropertyWrapperShape): 39 (WebCore::CSSPropertyAnimation::ensurePropertyMap): 40 * rendering/LayoutState.cpp: 41 (WebCore::LayoutState::LayoutState): 42 * rendering/LayoutState.h: 43 (WebCore::LayoutState::LayoutState): 44 (WebCore::LayoutState::shapeInsideInfo): 45 * rendering/RenderBlock.cpp: 46 (WebCore::RenderBlock::styleDidChange): 47 (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): 48 (WebCore::shapeInfoRequiresRelayout): 49 (WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout): 50 (WebCore::RenderBlock::computeShapeSize): 51 (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout): 52 (WebCore::RenderBlock::insertFloatingObject): 53 (WebCore::RenderBlock::computeLogicalLocationForFloat): 54 (WebCore::RenderBlock::positionNewFloats): 55 (WebCore::RenderBlock::logicalLeftOffsetForLine): 56 (WebCore::RenderBlock::logicalRightOffsetForLine): 57 * rendering/RenderBlock.h: 58 (WebCore::RenderBlock::ensureShapeInsideInfo): 59 (WebCore::RenderBlock::shapeInsideInfo): 60 (WebCore::RenderBlock::setShapeInsideInfo): 61 (WebCore::RenderBlock::allowsShapeInsideInfoSharing): 62 (WebCore::RenderBlock::xPositionForFloatIncludingMargin): 63 (WebCore::RenderBlock::yPositionForFloatIncludingMargin): 64 * rendering/RenderBlockLineLayout.cpp: 65 (WebCore::RenderBlock::layoutShapeInsideInfo): 66 (WebCore::LineWidth::LineWidth): 67 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): 68 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 69 (WebCore::constructBidiRunsForLine): 70 (WebCore::adjustLogicalLineTop): 71 (WebCore::RenderBlock::updateLineBoundariesForShapes): 72 (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): 73 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): 74 (WebCore::RenderBlock::LineBreaker::nextLineBreak): 75 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): 76 * rendering/RenderBox.cpp: 77 (WebCore::RenderBox::willBeDestroyed): 78 (WebCore::RenderBox::styleDidChange): 79 (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): 80 * rendering/RenderBox.h: 81 (WebCore::RenderBox::shapeOutsideInfo): 82 * rendering/RenderBoxModelObject.cpp: 83 (WebCore::RenderBoxModelObject::paintOffset): 84 * rendering/RenderView.h: 85 (WebCore::RenderView::pushLayoutState): 86 * rendering/shapes/PolygonShape.cpp: Renamed from Source/WebCore/rendering/ExclusionPolygon.cpp. 87 (WebCore::leftSide): 88 (WebCore::isReflexVertex): 89 (WebCore::computeXIntersection): 90 (WebCore::inwardEdgeNormal): 91 (WebCore::outwardEdgeNormal): 92 (WebCore::appendArc): 93 (WebCore::snapVerticesToLayoutUnitGrid): 94 (WebCore::computeShapePaddingBounds): 95 (WebCore::computeShapeMarginBounds): 96 (WebCore::PolygonShape::shapePaddingBounds): 97 (WebCore::PolygonShape::shapeMarginBounds): 98 (WebCore::getVertexIntersectionVertices): 99 (WebCore::appendIntervalX): 100 (WebCore::compareEdgeIntersectionX): 101 (WebCore::computeXIntersections): 102 (WebCore::computeOverlappingEdgeXProjections): 103 (WebCore::PolygonShape::getExcludedIntervals): 104 (WebCore::PolygonShape::getIncludedIntervals): 105 (WebCore::firstFitRectInPolygon): 106 (WebCore::aboveOrToTheLeft): 107 (WebCore::PolygonShape::firstIncludedIntervalLogicalTop): 108 * rendering/shapes/PolygonShape.h: Renamed from Source/WebCore/rendering/ExclusionPolygon.h. 109 (WebCore::OffsetPolygonEdge::OffsetPolygonEdge): 110 (WebCore::OffsetPolygonEdge::edgeIndex): 111 (WebCore::OffsetPolygonEdge::basis): 112 (WebCore::PolygonShape::PolygonShape): 113 * rendering/shapes/RectangleShape.cpp: Renamed from Source/WebCore/rendering/ExclusionRectangle.cpp. 114 (WebCore::ellipseXIntercept): 115 (WebCore::ellipseYIntercept): 116 (WebCore::FloatRoundedRect::paddingBounds): 117 (WebCore::FloatRoundedRect::marginBounds): 118 (WebCore::FloatRoundedRect::cornerInterceptForWidth): 119 (WebCore::RectangleShape::shapePaddingBounds): 120 (WebCore::RectangleShape::shapeMarginBounds): 121 (WebCore::RectangleShape::getExcludedIntervals): 122 (WebCore::RectangleShape::getIncludedIntervals): 123 (WebCore::RectangleShape::firstIncludedIntervalLogicalTop): 124 * rendering/shapes/RectangleShape.h: Renamed from Source/WebCore/rendering/ExclusionRectangle.h. 125 (WebCore::FloatRoundedRect::FloatRoundedRect): 126 (WebCore::FloatRoundedRect::rx): 127 (WebCore::FloatRoundedRect::ry): 128 (WebCore::RectangleShape::RectangleShape): 129 * rendering/shapes/Shape.cpp: Renamed from Source/WebCore/rendering/ExclusionShape.cpp. 130 (WebCore::createRectangleShape): 131 (WebCore::createShapeCircle): 132 (WebCore::createShapeEllipse): 133 (WebCore::createPolygonShape): 134 (WebCore::physicalRectToLogical): 135 (WebCore::physicalPointToLogical): 136 (WebCore::physicalSizeToLogical): 137 (WebCore::Shape::createShape): 138 * rendering/shapes/Shape.h: Renamed from Source/WebCore/rendering/ExclusionShape.h. 139 (WebCore::LineSegment::LineSegment): 140 (WebCore::Shape::~Shape): 141 (WebCore::Shape::shapeMargin): 142 (WebCore::Shape::shapePadding): 143 * rendering/shapes/ShapeInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.cpp. 144 (WebCore::::computedShape): 145 (WebCore::::computeSegmentsForLine): 146 * rendering/shapes/ShapeInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.h. 147 (WebCore::MappedInfo::ensureInfo): 148 (WebCore::MappedInfo::removeInfo): 149 (WebCore::MappedInfo::info): 150 (WebCore::MappedInfo::infoMap): 151 (WebCore::ShapeInfo::~ShapeInfo): 152 (WebCore::ShapeInfo::setShapeSize): 153 (WebCore::ShapeInfo::clearSegments): 154 (WebCore::ShapeInfo::shapeLogicalTop): 155 (WebCore::ShapeInfo::shapeLogicalBottom): 156 (WebCore::ShapeInfo::shapeLogicalLeft): 157 (WebCore::ShapeInfo::shapeLogicalRight): 158 (WebCore::ShapeInfo::shapeLogicalWidth): 159 (WebCore::ShapeInfo::shapeLogicalHeight): 160 (WebCore::ShapeInfo::logicalLineTop): 161 (WebCore::ShapeInfo::logicalLineBottom): 162 (WebCore::ShapeInfo::shapeContainingBlockHeight): 163 (WebCore::ShapeInfo::lineOverlapsShapeBounds): 164 (WebCore::ShapeInfo::lineWithinShapeBounds): 165 (WebCore::ShapeInfo::dirtyShapeSize): 166 (WebCore::ShapeInfo::shapeSizeDirty): 167 (WebCore::ShapeInfo::owner): 168 (WebCore::ShapeInfo::ShapeInfo): 169 (WebCore::ShapeInfo::logicalTopOffset): 170 (WebCore::ShapeInfo::logicalLeftOffset): 171 * rendering/shapes/ShapeInsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp. 172 (WebCore::LineSegmentRange::LineSegmentRange): 173 (WebCore::ShapeInsideInfo::isEnabledFor): 174 (WebCore::ShapeInsideInfo::adjustLogicalLineTop): 175 * rendering/shapes/ShapeInsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.h. 176 (WebCore::LineSegmentIterator::LineSegmentIterator): 177 (WebCore::ShapeInsideInfo::createInfo): 178 (WebCore::ShapeInsideInfo::hasSegments): 179 (WebCore::ShapeInsideInfo::segments): 180 (WebCore::ShapeInsideInfo::segmentRanges): 181 (WebCore::ShapeInsideInfo::currentSegment): 182 (WebCore::ShapeInsideInfo::setNeedsLayout): 183 (WebCore::ShapeInsideInfo::needsLayout): 184 (WebCore::ShapeInsideInfo::ShapeInsideInfo): 185 * rendering/shapes/ShapeInterval.cpp: Renamed from Source/WebCore/rendering/ExclusionInterval.cpp. 186 (WebCore::IntervalX1Comparator::operator()): 187 (WebCore::ShapeInterval::intersect): 188 (WebCore::sortShapeIntervals): 189 (WebCore::mergeShapeIntervals): 190 (WebCore::intersectShapeIntervals): 191 (WebCore::subtractShapeIntervals): 192 * rendering/shapes/ShapeInterval.h: Renamed from Source/WebCore/rendering/ExclusionInterval.h. 193 (WebCore::ShapeInterval::ShapeInterval): 194 * rendering/shapes/ShapeOutsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp. 195 (WebCore::ShapeOutsideInfo::isEnabledFor): 196 (WebCore::ShapeOutsideInfo::computeSegmentsForLine): 197 * rendering/shapes/ShapeOutsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.h. 198 (WebCore::ShapeOutsideInfo::shapeLogicalOffset): 199 (WebCore::ShapeOutsideInfo::leftSegmentShapeBoundingBoxDelta): 200 (WebCore::ShapeOutsideInfo::rightSegmentShapeBoundingBoxDelta): 201 (WebCore::ShapeOutsideInfo::createInfo): 202 (WebCore::ShapeOutsideInfo::ShapeOutsideInfo): 203 * rendering/style/RenderStyle.cpp: 204 (WebCore::RenderStyle::initialShapeInside): 205 * rendering/style/RenderStyle.h: 206 * rendering/style/ShapeValue.h: Renamed from Source/WebCore/rendering/style/ExclusionShapeValue.h. 207 (WebCore::ShapeValue::createShapeValue): 208 (WebCore::ShapeValue::createOutsideValue): 209 (WebCore::ShapeValue::createImageValue): 210 (WebCore::ShapeValue::type): 211 (WebCore::ShapeValue::shape): 212 (WebCore::ShapeValue::image): 213 (WebCore::ShapeValue::setImage): 214 (WebCore::ShapeValue::operator==): 215 (WebCore::ShapeValue::ShapeValue): 216 * rendering/style/StyleRareNonInheritedData.h: 217 1 218 2013-06-10 Iago Toral Quiroga <itoral@igalia.com> 2 219 -
trunk/Source/WebCore/GNUmakefile.am
r151325 r151402 91 91 -I$(srcdir)/Source/WebCore/rendering \ 92 92 -I$(srcdir)/Source/WebCore/rendering/mathml \ 93 -I$(srcdir)/Source/WebCore/rendering/shapes \ 93 94 -I$(srcdir)/Source/WebCore/rendering/style \ 94 95 -I$(srcdir)/Source/WebCore/rendering/svg \ -
trunk/Source/WebCore/GNUmakefile.list.am
r151398 r151402 4386 4386 Source/WebCore/rendering/EllipsisBox.cpp \ 4387 4387 Source/WebCore/rendering/EllipsisBox.h \ 4388 Source/WebCore/rendering/ExclusionInterval.cpp \4389 Source/WebCore/rendering/ExclusionInterval.h \4390 Source/WebCore/rendering/ExclusionPolygon.cpp \4391 Source/WebCore/rendering/ExclusionPolygon.h \4392 Source/WebCore/rendering/ExclusionRectangle.cpp \4393 Source/WebCore/rendering/ExclusionRectangle.h \4394 Source/WebCore/rendering/ExclusionShape.cpp \4395 Source/WebCore/rendering/ExclusionShape.h \4396 Source/WebCore/rendering/ExclusionShapeInfo.cpp \4397 Source/WebCore/rendering/ExclusionShapeInfo.h \4398 Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp \4399 Source/WebCore/rendering/ExclusionShapeInsideInfo.h \4400 Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp \4401 Source/WebCore/rendering/ExclusionShapeOutsideInfo.h \4402 4388 Source/WebCore/rendering/FilterEffectRenderer.cpp \ 4403 4389 Source/WebCore/rendering/FilterEffectRenderer.h \ … … 4634 4620 Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp \ 4635 4621 Source/WebCore/rendering/mathml/RenderMathMLUnderOver.h \ 4622 Source/WebCore/rendering/shapes/PolygonShape.cpp \ 4623 Source/WebCore/rendering/shapes/PolygonShape.h \ 4624 Source/WebCore/rendering/shapes/RectangleShape.cpp \ 4625 Source/WebCore/rendering/shapes/RectangleShape.h \ 4626 Source/WebCore/rendering/shapes/Shape.cpp \ 4627 Source/WebCore/rendering/shapes/Shape.h \ 4628 Source/WebCore/rendering/shapes/ShapeInfo.cpp \ 4629 Source/WebCore/rendering/shapes/ShapeInfo.h \ 4630 Source/WebCore/rendering/shapes/ShapeInsideInfo.cpp \ 4631 Source/WebCore/rendering/shapes/ShapeInsideInfo.h \ 4632 Source/WebCore/rendering/shapes/ShapeInterval.cpp \ 4633 Source/WebCore/rendering/shapes/ShapeInterval.h \ 4634 Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp \ 4635 Source/WebCore/rendering/shapes/ShapeOutsideInfo.h \ 4636 4636 Source/WebCore/rendering/style/BasicShapes.cpp \ 4637 4637 Source/WebCore/rendering/style/BasicShapes.h \ … … 4647 4647 Source/WebCore/rendering/style/CursorList.h \ 4648 4648 Source/WebCore/rendering/style/DataRef.h \ 4649 Source/WebCore/rendering/style/ExclusionShapeValue.h \4650 4649 Source/WebCore/rendering/style/FillLayer.cpp \ 4651 4650 Source/WebCore/rendering/style/FillLayer.h \ … … 4664 4663 Source/WebCore/rendering/style/ShadowData.cpp \ 4665 4664 Source/WebCore/rendering/style/ShadowData.h \ 4665 Source/WebCore/rendering/style/ShapeValue.h \ 4666 4666 Source/WebCore/rendering/style/StyleBackgroundData.cpp \ 4667 4667 Source/WebCore/rendering/style/StyleBackgroundData.h \ -
trunk/Source/WebCore/Target.pri
r151199 r151402 1146 1146 rendering/CounterNode.cpp \ 1147 1147 rendering/EllipsisBox.cpp \ 1148 rendering/ExclusionInterval.cpp \1149 rendering/ExclusionPolygon.cpp \1150 rendering/ExclusionRectangle.cpp \1151 rendering/ExclusionShape.cpp \1152 rendering/ExclusionShapeInfo.cpp \1153 rendering/ExclusionShapeInsideInfo.cpp \1154 rendering/ExclusionShapeOutsideInfo.cpp \1155 1148 rendering/FilterEffectRenderer.cpp \ 1156 1149 rendering/FixedTableLayout.cpp \ … … 1246 1239 rendering/RootInlineBox.cpp \ 1247 1240 rendering/ScrollBehavior.cpp \ 1241 rendering/shapes/PolygonShape.cpp \ 1242 rendering/shapes/RectangleShape.cpp \ 1243 rendering/shapes/Shape.cpp \ 1244 rendering/shapes/ShapeInfo.cpp \ 1245 rendering/shapes/ShapeInsideInfo.cpp \ 1246 rendering/shapes/ShapeInterval.cpp \ 1247 rendering/shapes/ShapeOutsideInfo.cpp \ 1248 1248 rendering/style/BasicShapes.cpp \ 1249 1249 rendering/style/ContentData.cpp \ … … 2404 2404 rendering/CounterNode.h \ 2405 2405 rendering/EllipsisBox.h \ 2406 rendering/ExclusionInterval.h \2407 rendering/ExclusionPolygon.h \2408 rendering/ExclusionRectangle.h \2409 rendering/ExclusionShape.h \2410 rendering/ExclusionShapeInfo.h \2411 rendering/ExclusionShapeInsideInfo.h \2412 rendering/ExclusionShapeOutsideInfo.h \2413 2406 rendering/FilterEffectRenderer.h \ 2414 2407 rendering/FixedTableLayout.h \ … … 2514 2507 rendering/RootInlineBox.h \ 2515 2508 rendering/ScrollBehavior.h \ 2509 rendering/shapes/PolygonShape.h \ 2510 rendering/shapes/RectangleShape.h \ 2511 rendering/shapes/Shape.h \ 2512 rendering/shapes/ShapeInfo.h \ 2513 rendering/shapes/ShapeInsideInfo.h \ 2514 rendering/shapes/ShapeInterval.h \ 2515 rendering/shapes/ShapeOutsideInfo.h \ 2516 2516 rendering/style/BasicShapes.h \ 2517 2517 rendering/style/ContentData.h \ … … 2519 2519 rendering/style/CursorData.h \ 2520 2520 rendering/style/CursorList.h \ 2521 rendering/style/ExclusionShapeValue.h \2522 2521 rendering/style/FillLayer.h \ 2523 2522 rendering/style/KeyframeList.h \ … … 2526 2525 rendering/style/RenderStyle.h \ 2527 2526 rendering/style/ShadowData.h \ 2527 rendering/style/ShapeValue.h \ 2528 2528 rendering/style/StyleBackgroundData.h \ 2529 2529 rendering/style/StyleBoxData.h \ -
trunk/Source/WebCore/WebCore.pri
r150837 r151402 86 86 $$SOURCE_DIR/rendering \ 87 87 $$SOURCE_DIR/rendering/mathml \ 88 $$SOURCE_DIR/rendering/shapes \ 88 89 $$SOURCE_DIR/rendering/style \ 89 90 $$SOURCE_DIR/rendering/svg \ -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
r151199 r151402 5423 5423 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild> 5424 5424 </ClCompile> 5425 <ClCompile Include="..\rendering\ExclusionInterval.cpp" />5426 <ClCompile Include="..\rendering\ExclusionPolygon.cpp" />5427 <ClCompile Include="..\rendering\ExclusionRectangle.cpp" />5428 <ClCompile Include="..\rendering\ExclusionShape.cpp" />5429 <ClCompile Include="..\rendering\ExclusionShapeInsideInfo.cpp" />5430 <ClCompile Include="..\rendering\ExclusionShapeOutsideInfo.cpp" />5431 5425 <ClCompile Include="..\rendering\FilterEffectRenderer.cpp"> 5432 5426 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> … … 6307 6301 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild> 6308 6302 </ClCompile> 6303 <ClCompile Include="..\rendering\shapes\PolygonShape.cpp" /> 6304 <ClCompile Include="..\rendering\shapes\RectangleShape.cpp" /> 6305 <ClCompile Include="..\rendering\shapes\Shape.cpp" /> 6306 <ClCompile Include="..\rendering\shapes\ShapeInsideInfo.cpp" /> 6307 <ClCompile Include="..\rendering\shapes\ShapeInterval.cpp" /> 6308 <ClCompile Include="..\rendering\shapes\ShapeOutsideInfo.cpp" /> 6309 6309 <ClCompile Include="..\rendering\svg\SVGPathData.cpp"> 6310 6310 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> … … 12110 12110 <ClInclude Include="..\rendering\CounterNode.h" /> 12111 12111 <ClInclude Include="..\rendering\EllipsisBox.h" /> 12112 <ClInclude Include="..\rendering\ExclusionInterval.h" />12113 <ClInclude Include="..\rendering\ExclusionPolygon.h" />12114 <ClInclude Include="..\rendering\ExclusionShape.h" />12115 <ClInclude Include="..\rendering\ExclusionShapeInsideInfo.h" />12116 <ClInclude Include="..\rendering\ExclusionShapeOutsideInfo.h" />12117 12112 <ClInclude Include="..\rendering\FilterEffectRenderer.h" /> 12118 12113 <ClInclude Include="..\rendering\FixedTableLayout.h" /> … … 12198 12193 <ClInclude Include="..\rendering\RenderSlider.h" /> 12199 12194 <ClInclude Include="..\rendering\RenderSnapshottedPlugIn.h" /> 12195 <ClInclude Include="..\rendering\shapes\PolygonShape.h" /> 12196 <ClInclude Include="..\rendering\shapes\RectangleShape.h" /> 12197 <ClInclude Include="..\rendering\shapes\Shape.h" /> 12198 <ClInclude Include="..\rendering\shapes\ShapeInsideInfo.h" /> 12199 <ClInclude Include="..\rendering\shapes\ShapeInterval.h" /> 12200 <ClInclude Include="..\rendering\shapes\ShapeOutsideInfo.h" /> 12200 12201 <ClInclude Include="..\rendering\svg\RenderSVGBlock.h" /> 12201 12202 <ClInclude Include="..\rendering\svg\RenderSVGContainer.h" /> … … 12270 12271 <ClInclude Include="..\rendering\style\CursorList.h" /> 12271 12272 <ClInclude Include="..\rendering\style\DataRef.h" /> 12272 <ClInclude Include="..\rendering\style\ExclusionShapeValue.h" />12273 12273 <ClInclude Include="..\rendering\style\FillLayer.h" /> 12274 12274 <ClInclude Include="..\rendering\style\GridPosition.h" /> … … 12281 12281 <ClInclude Include="..\rendering\style\RenderStyleConstants.h" /> 12282 12282 <ClInclude Include="..\rendering\style\ShadowData.h" /> 12283 <ClInclude Include="..\rendering\style\ShapeValue.h" /> 12283 12284 <ClInclude Include="..\rendering\style\StyleBackgroundData.h" /> 12284 12285 <ClInclude Include="..\rendering\style\StyleBoxData.h" /> -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
r151199 r151402 2433 2433 <ClCompile Include="..\rendering\EllipsisBox.cpp"> 2434 2434 <Filter>rendering</Filter> 2435 < /ClCompile>2436 <ClCompile Include="..\rendering\ExclusionInterval.cpp">2437 <Filter>rendering</Filter>2438 < /ClCompile>2439 <ClCompile Include="..\rendering\ExclusionPolygon.cpp">2440 <Filter>rendering</Filter>2441 < /ClCompile>2442 <ClCompile Include="..\rendering\ExclusionRectangle.cpp">2443 <Filter>rendering</Filter>2444 < /ClCompile>2445 <ClCompile Include="..\rendering\ExclusionShape.cpp">2446 <Filter>rendering</Filter>2447 </ClCompile> 2448 <ClCompile Include="..\rendering\ ExclusionShapeInsideInfo.cpp">2449 <Filter>rendering</Filter> 2450 </ClCompile> 2451 <ClCompile Include="..\rendering\ ExclusionShapeOutsideInfo.cpp">2435 <ClCompile Include="..\rendering\shapes\PolygonShape.cpp"> 2436 <Filter>rendering</Filter> 2437 </ClCompile> 2438 <ClCompile Include="..\rendering\shapes\RectangleShape.cpp"> 2439 <Filter>rendering</Filter> 2440 </ClCompile> 2441 <ClCompile Include="..\rendering\shapes\Shape.cpp"> 2442 <Filter>rendering</Filter> 2443 </ClCompile> 2444 <ClCompile Include="..\rendering\shapes\ShapeInsideInfo.cpp"> 2445 <Filter>rendering</Filter> 2446 </ClCompile> 2447 </ClCompile> 2448 <ClCompile Include="..\rendering\shapes\ShapeInterval.cpp"> 2449 <Filter>rendering</Filter> 2450 </ClCompile> 2451 <ClCompile Include="..\rendering\shapes\ShapeOutsideInfo.cpp"> 2452 2452 <Filter>rendering</Filter> 2453 2453 </ClCompile> … … 9121 9121 <Filter>rendering</Filter> 9122 9122 </ClInclude> 9123 <ClInclude Include="..\rendering\ExclusionInterval.h"> 9124 <Filter>rendering</Filter> 9125 </ClInclude> 9126 <ClInclude Include="..\rendering\ExclusionPolygon.h"> 9127 <Filter>rendering</Filter> 9128 </ClInclude> 9129 <ClInclude Include="..\rendering\ExclusionShape.h"> 9130 <Filter>rendering</Filter> 9131 </ClInclude> 9132 <ClInclude Include="..\rendering\ExclusionShapeInsideInfo.h"> 9133 <Filter>rendering</Filter> 9134 </ClInclude> 9135 <ClInclude Include="..\rendering\ExclusionShapeOutsideInfo.h"> 9123 <ClInclude Include="..\rendering\shapes\PolygonShape.h"> 9124 <Filter>rendering</Filter> 9125 </ClInclude> 9126 <ClInclude Include="..\rendering\shapes\RectangleShape.h"> 9127 <Filter>rendering</Filter> 9128 </ClInclude> 9129 <ClInclude Include="..\rendering\shapes\Shape.h"> 9130 <Filter>rendering</Filter> 9131 </ClInclude> 9132 <ClInclude Include="..\rendering\shapes\ShapeInsideInfo.h"> 9133 <Filter>rendering</Filter> 9134 </ClInclude> 9135 <ClInclude Include="..\rendering\shapes\ShapeInterval.h"> 9136 <Filter>rendering</Filter> 9137 </ClInclude> 9138 <ClInclude Include="..\rendering\shapes\ShapeOutsideInfo.h"> 9136 9139 <Filter>rendering</Filter> 9137 9140 </ClInclude> … … 9589 9592 <Filter>rendering\style</Filter> 9590 9593 </ClInclude> 9591 <ClInclude Include="..\rendering\style\ExclusionShapeValue.h">9592 <Filter>rendering\style</Filter>9593 </ClInclude>9594 9594 <ClInclude Include="..\rendering\style\FillLayer.h"> 9595 9595 <Filter>rendering\style</Filter> … … 9620 9620 </ClInclude> 9621 9621 <ClInclude Include="..\rendering\style\ShadowData.h"> 9622 <Filter>rendering\style</Filter> 9623 </ClInclude> 9624 <ClInclude Include="..\rendering\style\ShapeValue.h"> 9622 9625 <Filter>rendering\style</Filter> 9623 9626 </ClInclude> -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r151223 r151402 1836 1836 6E67D2A71280E8A4008758F7 /* Extensions3DOpenGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E67D2A51280E8A4008758F7 /* Extensions3DOpenGL.h */; }; 1837 1837 6E67D2A91280E8BD008758F7 /* Extensions3D.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E67D2A81280E8BD008758F7 /* Extensions3D.h */; }; 1838 6E8798BA15F81E4A00BFE4AA /* ExclusionInterval.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8798B415F81E4A00BFE4AA /* ExclusionInterval.cpp */; };1839 6E8798BB15F81E4A00BFE4AA /* ExclusionInterval.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8798B515F81E4A00BFE4AA /* ExclusionInterval.h */; settings = {ATTRIBUTES = (Private, ); }; };1840 6E8798BC15F81E4A00BFE4AA /* ExclusionRectangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8798B615F81E4A00BFE4AA /* ExclusionRectangle.cpp */; };1841 6E8798BD15F81E4A00BFE4AA /* ExclusionRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8798B715F81E4A00BFE4AA /* ExclusionRectangle.h */; };1842 6E8798BE15F81E4A00BFE4AA /* ExclusionShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8798B815F81E4A00BFE4AA /* ExclusionShape.cpp */; };1843 6E8798BF15F81E4A00BFE4AA /* ExclusionShape.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8798B915F81E4A00BFE4AA /* ExclusionShape.h */; settings = {ATTRIBUTES = (Private, ); }; };1844 6EAF340F1613869A00859625 /* ExclusionPolygon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EAF340D1613869A00859625 /* ExclusionPolygon.cpp */; };1845 6EAF34101613869A00859625 /* ExclusionPolygon.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EAF340E1613869A00859625 /* ExclusionPolygon.h */; };1846 1838 6EBC5EAF138B50F200A0CF8A /* JSFloat64Array.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EBC5EAD138B50F200A0CF8A /* JSFloat64Array.cpp */; }; 1847 1839 6EBC5EB0138B50F200A0CF8A /* JSFloat64Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EBC5EAE138B50F200A0CF8A /* JSFloat64Array.h */; }; … … 3264 3256 98EB1F951313FE0500D0E1EA /* NotImplemented.h in Headers */ = {isa = PBXBuildFile; fileRef = 98EB1F941313FE0500D0E1EA /* NotImplemented.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3265 3257 9A1B6F97158869C80011A8C4 /* JSDOMStringListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A1B6F96158869C80011A8C4 /* JSDOMStringListCustom.cpp */; }; 3266 9A9CEF8D163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9CEF8B163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp */; };3267 9A9CEF8E163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9CEF8C163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };3268 3258 9B1AB07C1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */; }; 3269 3259 9B24DE8E15194B9500C59C27 /* HTMLBDIElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B24DE8C15194B9500C59C27 /* HTMLBDIElement.h */; }; … … 5740 5730 FD06DFA6134A4DEF006F5D7D /* DefaultAudioDestinationNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD06DFA4134A4DEF006F5D7D /* DefaultAudioDestinationNode.h */; }; 5741 5731 FD1660A513787C6D001FFA7B /* DenormalDisabler.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1660A413787C6D001FFA7B /* DenormalDisabler.h */; }; 5742 FD1AF1501656F15100C6D4F7 /* ExclusionShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */; settings = {ATTRIBUTES = (Private, ); }; };5732 FD1AF1501656F15100C6D4F7 /* ShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1AF14E1656F12100C6D4F7 /* ShapeValue.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5743 5733 FD23A12513F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD23A12313F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp */; }; 5744 5734 FD23A12613F5FA5900F67001 /* JSMediaElementAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD23A12413F5FA5900F67001 /* JSMediaElementAudioSourceNode.h */; }; … … 5857 5847 FD35918F138DB22000E1EBEC /* AudioParamTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD35918D138DB22000E1EBEC /* AudioParamTimeline.cpp */; }; 5858 5848 FD359190138DB22000E1EBEC /* AudioParamTimeline.h in Headers */ = {isa = PBXBuildFile; fileRef = FD35918E138DB22000E1EBEC /* AudioParamTimeline.h */; }; 5849 FD45A94F175D3F3E00C21EC8 /* Shape.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A87F175D3926002CD360 /* Shape.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5850 FD45A950175D3F3E00C21EC8 /* ShapeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A881175D3926002CD360 /* ShapeInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5851 FD45A951175D3F3E00C21EC8 /* ShapeInsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A883175D3926002CD360 /* ShapeInsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5852 FD45A952175D3F3E00C21EC8 /* ShapeOutsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A887175D3926002CD360 /* ShapeOutsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5853 FD45A953175D3FB800C21EC8 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A87E175D3926002CD360 /* Shape.cpp */; }; 5854 FD45A954175D3FB800C21EC8 /* ShapeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A880175D3926002CD360 /* ShapeInfo.cpp */; }; 5855 FD45A955175D3FB800C21EC8 /* ShapeInsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A882175D3926002CD360 /* ShapeInsideInfo.cpp */; }; 5856 FD45A956175D3FB800C21EC8 /* ShapeOutsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A886175D3926002CD360 /* ShapeOutsideInfo.cpp */; }; 5857 FD45A957175D414C00C21EC8 /* PolygonShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A87B175D3926002CD360 /* PolygonShape.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5858 FD45A958175D414C00C21EC8 /* RectangleShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A87D175D3926002CD360 /* RectangleShape.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5859 FD45A959175D417100C21EC8 /* PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A87A175D3926002CD360 /* PolygonShape.cpp */; }; 5860 FD45A95A175D417100C21EC8 /* RectangleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A87C175D3926002CD360 /* RectangleShape.cpp */; }; 5861 FD45A95B175D41EE00C21EC8 /* ShapeInterval.h in Headers */ = {isa = PBXBuildFile; fileRef = FD08A885175D3926002CD360 /* ShapeInterval.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5862 FD45A95C175D420D00C21EC8 /* ShapeInterval.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD08A884175D3926002CD360 /* ShapeInterval.cpp */; }; 5859 5863 FD537352137B651800008DCE /* ZeroPole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD537350137B651800008DCE /* ZeroPole.cpp */; }; 5860 5864 FD537353137B651800008DCE /* ZeroPole.h in Headers */ = {isa = PBXBuildFile; fileRef = FD537351137B651800008DCE /* ZeroPole.h */; }; … … 5879 5883 FD6F252C13F5EF0E0065165F /* MediaElementAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD6F252913F5EF0E0065165F /* MediaElementAudioSourceNode.cpp */; }; 5880 5884 FD6F252D13F5EF0E0065165F /* MediaElementAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD6F252A13F5EF0E0065165F /* MediaElementAudioSourceNode.h */; }; 5881 FD748ABF15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD748ABD15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp */; };5882 FD748AC015BF74ED0059CF0D /* ExclusionShapeInsideInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD748ABE15BF74ED0059CF0D /* ExclusionShapeInsideInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };5883 5885 FD7868B9136B999200D403DF /* JSDynamicsCompressorNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */; }; 5884 5886 FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */; }; … … 5941 5943 FDB1700514A2BAB200A2B5D9 /* MultiChannelResampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */; }; 5942 5944 FDB1700614A2BAB200A2B5D9 /* MultiChannelResampler.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */; }; 5943 FDB8D1DA16B0C0D700340F10 /* ExclusionShapeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB8D1D916B0C0D700340F10 /* ExclusionShapeInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };5944 FDB8D1E516B0CC9700340F10 /* ExclusionShapeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDB8D1DB16B0C0F600340F10 /* ExclusionShapeInfo.cpp */; };5945 5945 FDBD1DFC167FE27D0051A11E /* JSOscillatorNodeCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */; }; 5946 5946 FDBD480C159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */; }; … … 8229 8229 6E67D2A51280E8A4008758F7 /* Extensions3DOpenGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Extensions3DOpenGL.h; sourceTree = "<group>"; }; 8230 8230 6E67D2A81280E8BD008758F7 /* Extensions3D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Extensions3D.h; sourceTree = "<group>"; }; 8231 6E8798B415F81E4A00BFE4AA /* ExclusionInterval.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionInterval.cpp; sourceTree = "<group>"; };8232 6E8798B515F81E4A00BFE4AA /* ExclusionInterval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionInterval.h; sourceTree = "<group>"; };8233 6E8798B615F81E4A00BFE4AA /* ExclusionRectangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionRectangle.cpp; sourceTree = "<group>"; };8234 6E8798B715F81E4A00BFE4AA /* ExclusionRectangle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionRectangle.h; sourceTree = "<group>"; };8235 6E8798B815F81E4A00BFE4AA /* ExclusionShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShape.cpp; sourceTree = "<group>"; };8236 6E8798B915F81E4A00BFE4AA /* ExclusionShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShape.h; sourceTree = "<group>"; };8237 6EAF340D1613869A00859625 /* ExclusionPolygon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionPolygon.cpp; sourceTree = "<group>"; };8238 6EAF340E1613869A00859625 /* ExclusionPolygon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionPolygon.h; sourceTree = "<group>"; };8239 8231 6EBC5D80138B4C4E00A0CF8A /* Float64Array.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Float64Array.idl; path = canvas/Float64Array.idl; sourceTree = "<group>"; }; 8240 8232 6EBC5EAD138B50F200A0CF8A /* JSFloat64Array.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFloat64Array.cpp; sourceTree = "<group>"; }; … … 9707 9699 98EB1F941313FE0500D0E1EA /* NotImplemented.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotImplemented.h; sourceTree = "<group>"; }; 9708 9700 9A1B6F96158869C80011A8C4 /* JSDOMStringListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMStringListCustom.cpp; sourceTree = "<group>"; }; 9709 9A9CEF8B163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShapeOutsideInfo.cpp; sourceTree = "<group>"; };9710 9A9CEF8C163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShapeOutsideInfo.h; sourceTree = "<group>"; };9711 9701 9B1AB0791648C69D0051F3F2 /* HTMLFormControlsCollection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLFormControlsCollection.idl; sourceTree = "<group>"; }; 9712 9702 9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFormControlsCollectionCustom.cpp; sourceTree = "<group>"; }; … … 12581 12571 FD06DFA3134A4DEF006F5D7D /* DefaultAudioDestinationNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DefaultAudioDestinationNode.cpp; sourceTree = "<group>"; }; 12582 12572 FD06DFA4134A4DEF006F5D7D /* DefaultAudioDestinationNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultAudioDestinationNode.h; sourceTree = "<group>"; }; 12573 FD08A87A175D3926002CD360 /* PolygonShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PolygonShape.cpp; sourceTree = "<group>"; }; 12574 FD08A87B175D3926002CD360 /* PolygonShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PolygonShape.h; sourceTree = "<group>"; }; 12575 FD08A87C175D3926002CD360 /* RectangleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RectangleShape.cpp; sourceTree = "<group>"; }; 12576 FD08A87D175D3926002CD360 /* RectangleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RectangleShape.h; sourceTree = "<group>"; }; 12577 FD08A87E175D3926002CD360 /* Shape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shape.cpp; sourceTree = "<group>"; }; 12578 FD08A87F175D3926002CD360 /* Shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shape.h; sourceTree = "<group>"; }; 12579 FD08A880175D3926002CD360 /* ShapeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInfo.cpp; sourceTree = "<group>"; }; 12580 FD08A881175D3926002CD360 /* ShapeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeInfo.h; sourceTree = "<group>"; }; 12581 FD08A882175D3926002CD360 /* ShapeInsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInsideInfo.cpp; sourceTree = "<group>"; }; 12582 FD08A883175D3926002CD360 /* ShapeInsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeInsideInfo.h; sourceTree = "<group>"; }; 12583 FD08A884175D3926002CD360 /* ShapeInterval.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInterval.cpp; sourceTree = "<group>"; }; 12584 FD08A885175D3926002CD360 /* ShapeInterval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeInterval.h; sourceTree = "<group>"; }; 12585 FD08A886175D3926002CD360 /* ShapeOutsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeOutsideInfo.cpp; sourceTree = "<group>"; }; 12586 FD08A887175D3926002CD360 /* ShapeOutsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeOutsideInfo.h; sourceTree = "<group>"; }; 12583 12587 FD1660A413787C6D001FFA7B /* DenormalDisabler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DenormalDisabler.h; sourceTree = "<group>"; }; 12584 FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExclusionShapeValue.h; path = style/ExclusionShapeValue.h; sourceTree = "<group>"; };12588 FD1AF14E1656F12100C6D4F7 /* ShapeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ShapeValue.h; path = style/ShapeValue.h; sourceTree = "<group>"; }; 12585 12589 FD23A12313F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaElementAudioSourceNode.cpp; sourceTree = "<group>"; }; 12586 12590 FD23A12413F5FA5900F67001 /* JSMediaElementAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaElementAudioSourceNode.h; sourceTree = "<group>"; }; … … 12743 12747 FD6F252A13F5EF0E0065165F /* MediaElementAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaElementAudioSourceNode.h; sourceTree = "<group>"; }; 12744 12748 FD6F252B13F5EF0E0065165F /* MediaElementAudioSourceNode.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaElementAudioSourceNode.idl; sourceTree = "<group>"; }; 12745 FD748ABD15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShapeInsideInfo.cpp; sourceTree = "<group>"; };12746 FD748ABE15BF74ED0059CF0D /* ExclusionShapeInsideInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShapeInsideInfo.h; sourceTree = "<group>"; };12747 12749 FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDynamicsCompressorNode.cpp; sourceTree = "<group>"; }; 12748 12750 FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDynamicsCompressorNode.h; sourceTree = "<group>"; }; … … 12808 12810 FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiChannelResampler.cpp; sourceTree = "<group>"; }; 12809 12811 FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiChannelResampler.h; sourceTree = "<group>"; }; 12810 FDB8D1D916B0C0D700340F10 /* ExclusionShapeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExclusionShapeInfo.h; sourceTree = "<group>"; };12811 FDB8D1DB16B0C0F600340F10 /* ExclusionShapeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExclusionShapeInfo.cpp; sourceTree = "<group>"; };12812 12812 FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSOscillatorNodeCustom.cpp; sourceTree = "<group>"; }; 12813 12813 FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamAudioSourceNode.cpp; sourceTree = "<group>"; }; … … 18923 18923 BC2272AC0E82E8F300E7F975 /* CursorList.h */, 18924 18924 BC22746E0E83664500E7F975 /* DataRef.h */, 18925 FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */,18926 18925 BC5EB69C0E81DAEB00B25965 /* FillLayer.cpp */, 18927 18926 BC5EB69D0E81DAEB00B25965 /* FillLayer.h */, … … 18941 18940 BC5EB8C10E82031B00B25965 /* ShadowData.cpp */, 18942 18941 BC5EB8C20E82031B00B25965 /* ShadowData.h */, 18942 FD1AF14E1656F12100C6D4F7 /* ShapeValue.h */, 18943 18943 BC5EB6A00E81DC4F00B25965 /* StyleBackgroundData.cpp */, 18944 18944 BC5EB6A10E81DC4F00B25965 /* StyleBackgroundData.h */, … … 19873 19873 children = ( 19874 19874 439046C212DA25CE00AF80A2 /* mathml */, 19875 FD08A879175D3926002CD360 /* shapes */, 19875 19876 BC8C8FAA0DDCD2F200B592F4 /* style */, 19876 19877 088C2F7412390080003D65CE /* svg */, … … 19886 19887 A8CFF6CA0A1561CD000A4234 /* EllipsisBox.cpp */, 19887 19888 A8CFF6BD0A156118000A4234 /* EllipsisBox.h */, 19888 6E8798B415F81E4A00BFE4AA /* ExclusionInterval.cpp */,19889 6E8798B515F81E4A00BFE4AA /* ExclusionInterval.h */,19890 6EAF340D1613869A00859625 /* ExclusionPolygon.cpp */,19891 6EAF340E1613869A00859625 /* ExclusionPolygon.h */,19892 6E8798B615F81E4A00BFE4AA /* ExclusionRectangle.cpp */,19893 6E8798B715F81E4A00BFE4AA /* ExclusionRectangle.h */,19894 6E8798B815F81E4A00BFE4AA /* ExclusionShape.cpp */,19895 6E8798B915F81E4A00BFE4AA /* ExclusionShape.h */,19896 FDB8D1DB16B0C0F600340F10 /* ExclusionShapeInfo.cpp */,19897 FDB8D1D916B0C0D700340F10 /* ExclusionShapeInfo.h */,19898 FD748ABD15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp */,19899 FD748ABE15BF74ED0059CF0D /* ExclusionShapeInsideInfo.h */,19900 9A9CEF8B163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp */,19901 9A9CEF8C163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h */,19902 19889 31313F631443B35E006E2A90 /* FilterEffectRenderer.cpp */, 19903 19890 31313F641443B35E006E2A90 /* FilterEffectRenderer.h */, … … 20551 20538 ); 20552 20539 path = opengl; 20540 sourceTree = "<group>"; 20541 }; 20542 FD08A879175D3926002CD360 /* shapes */ = { 20543 isa = PBXGroup; 20544 children = ( 20545 FD08A87A175D3926002CD360 /* PolygonShape.cpp */, 20546 FD08A87B175D3926002CD360 /* PolygonShape.h */, 20547 FD08A87C175D3926002CD360 /* RectangleShape.cpp */, 20548 FD08A87D175D3926002CD360 /* RectangleShape.h */, 20549 FD08A87E175D3926002CD360 /* Shape.cpp */, 20550 FD08A87F175D3926002CD360 /* Shape.h */, 20551 FD08A880175D3926002CD360 /* ShapeInfo.cpp */, 20552 FD08A881175D3926002CD360 /* ShapeInfo.h */, 20553 FD08A882175D3926002CD360 /* ShapeInsideInfo.cpp */, 20554 FD08A883175D3926002CD360 /* ShapeInsideInfo.h */, 20555 FD08A884175D3926002CD360 /* ShapeInterval.cpp */, 20556 FD08A885175D3926002CD360 /* ShapeInterval.h */, 20557 FD08A886175D3926002CD360 /* ShapeOutsideInfo.cpp */, 20558 FD08A887175D3926002CD360 /* ShapeOutsideInfo.h */, 20559 ); 20560 path = shapes; 20553 20561 sourceTree = "<group>"; 20554 20562 }; … … 21717 21725 9767CE0B145ABC13005E64DB /* ExceptionHeaders.h in Headers */, 21718 21726 9767CE0C145ABC13005E64DB /* ExceptionInterfaces.h in Headers */, 21719 6E8798BB15F81E4A00BFE4AA /* ExclusionInterval.h in Headers */,21720 6EAF34101613869A00859625 /* ExclusionPolygon.h in Headers */,21721 6E8798BD15F81E4A00BFE4AA /* ExclusionRectangle.h in Headers */,21722 6E8798BF15F81E4A00BFE4AA /* ExclusionShape.h in Headers */,21723 FDB8D1DA16B0C0D700340F10 /* ExclusionShapeInfo.h in Headers */,21724 FD748AC015BF74ED0059CF0D /* ExclusionShapeInsideInfo.h in Headers */,21725 9A9CEF8E163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.h in Headers */,21726 FD1AF1501656F15100C6D4F7 /* ExclusionShapeValue.h in Headers */,21727 21727 A024575216CEAA27000E5671 /* EXTDrawBuffers.h in Headers */, 21728 21728 6E67D2A91280E8BD008758F7 /* Extensions3D.h in Headers */, … … 22988 22988 97059978107D975200A50A7C /* PolicyCallback.h in Headers */, 22989 22989 9705997A107D975200A50A7C /* PolicyChecker.h in Headers */, 22990 FD45A957175D414C00C21EC8 /* PolygonShape.h in Headers */, 22990 22991 5174E20A10A1F44F00F95E6F /* PopStateEvent.h in Headers */, 22991 22992 0668E18B0ADD9624004128E0 /* PopupMenu.h in Headers */, … … 23029 23030 FD31603C12B0267600C1A359 /* RealtimeAnalyser.h in Headers */, 23030 23031 BC4368E80C226E32005EFB5F /* Rect.h in Headers */, 23032 FD45A958175D414C00C21EC8 /* RectangleShape.h in Headers */, 23031 23033 A72EA3BB1585CF55004FAA26 /* RefCountedSupplement.h in Headers */, 23032 23034 9831AE4A154225C900FE2644 /* ReferrerPolicy.h in Headers */, … … 23299 23301 A6D169641346B4C1000EB770 /* ShadowRoot.h in Headers */, 23300 23302 A80E6CE80A1989CA007FB8C5 /* ShadowValue.h in Headers */, 23303 FD45A94F175D3F3E00C21EC8 /* Shape.h in Headers */, 23304 FD45A950175D3F3E00C21EC8 /* ShapeInfo.h in Headers */, 23305 FD45A951175D3F3E00C21EC8 /* ShapeInsideInfo.h in Headers */, 23306 FD45A95B175D41EE00C21EC8 /* ShapeInterval.h in Headers */, 23307 FD45A952175D3F3E00C21EC8 /* ShapeOutsideInfo.h in Headers */, 23308 FD1AF1501656F15100C6D4F7 /* ShapeValue.h in Headers */, 23301 23309 1A4A954E0B4EDCCB002D8C3C /* SharedBuffer.h in Headers */, 23302 23310 97B1F02F13B025D200F5103F /* SharedBufferChunkReader.h in Headers */, … … 24343 24351 buildActionMask = 2147483647; 24344 24352 files = ( 24353 FD45A95C175D420D00C21EC8 /* ShapeInterval.cpp in Sources */, 24354 FD45A959175D417100C21EC8 /* PolygonShape.cpp in Sources */, 24355 FD45A95A175D417100C21EC8 /* RectangleShape.cpp in Sources */, 24356 FD45A953175D3FB800C21EC8 /* Shape.cpp in Sources */, 24357 FD45A954175D3FB800C21EC8 /* ShapeInfo.cpp in Sources */, 24358 FD45A955175D3FB800C21EC8 /* ShapeInsideInfo.cpp in Sources */, 24359 FD45A956175D3FB800C21EC8 /* ShapeOutsideInfo.cpp in Sources */, 24345 24360 41E1B1D00FF5986900576B3B /* AbstractWorker.cpp in Sources */, 24346 24361 0F29C16E1300C2E2002D794E /* AccessibilityAllInOne.cpp in Sources */, … … 24918 24933 A7CACDB113CE875C00BBBE3F /* ExceptionCodePlaceholder.cpp in Sources */, 24919 24934 148AFDA60AF58360008CC700 /* ExceptionHandlers.mm in Sources */, 24920 6E8798BA15F81E4A00BFE4AA /* ExclusionInterval.cpp in Sources */,24921 6EAF340F1613869A00859625 /* ExclusionPolygon.cpp in Sources */,24922 6E8798BC15F81E4A00BFE4AA /* ExclusionRectangle.cpp in Sources */,24923 6E8798BE15F81E4A00BFE4AA /* ExclusionShape.cpp in Sources */,24924 FDB8D1E516B0CC9700340F10 /* ExclusionShapeInfo.cpp in Sources */,24925 FD748ABF15BF74ED0059CF0D /* ExclusionShapeInsideInfo.cpp in Sources */,24926 9A9CEF8D163B3EA100DE7EFE /* ExclusionShapeOutsideInfo.cpp in Sources */,24927 24935 A024575116CEAA27000E5671 /* EXTDrawBuffers.cpp in Sources */, 24928 24936 6E67D2A61280E8A4008758F7 /* Extensions3DOpenGL.cpp in Sources */, -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
r151394 r151402 67 67 68 68 #if ENABLE(CSS_SHAPES) 69 #include " ExclusionShapeValue.h"69 #include "ShapeValue.h" 70 70 #endif 71 71 … … 2700 2700 if (!style->shapeInside()) 2701 2701 return cssValuePool().createIdentifierValue(CSSValueAuto); 2702 if (style->shapeInside()->type() == ExclusionShapeValue::Outside)2702 if (style->shapeInside()->type() == ShapeValue::Outside) 2703 2703 return cssValuePool().createIdentifierValue(CSSValueOutsideShape); 2704 if (style->shapeInside()->type() == ExclusionShapeValue::Image) {2704 if (style->shapeInside()->type() == ShapeValue::Image) { 2705 2705 if (style->shapeInside()->image()) 2706 2706 return style->shapeInside()->image()->cssValue(); 2707 2707 return cssValuePool().createIdentifierValue(CSSValueNone); 2708 2708 } 2709 ASSERT(style->shapeInside()->type() == ExclusionShapeValue::Shape);2709 ASSERT(style->shapeInside()->type() == ShapeValue::Shape); 2710 2710 return valueForBasicShape(style->shapeInside()->shape()); 2711 2711 case CSSPropertyWebkitShapeOutside: 2712 2712 if (!style->shapeOutside()) 2713 2713 return cssValuePool().createIdentifierValue(CSSValueAuto); 2714 if (style->shapeOutside()->type() == ExclusionShapeValue::Image) {2714 if (style->shapeOutside()->type() == ShapeValue::Image) { 2715 2715 if (style->shapeOutside()->image()) 2716 2716 return style->shapeOutside()->image()->cssValue(); 2717 2717 return cssValuePool().createIdentifierValue(CSSValueNone); 2718 2718 } 2719 ASSERT(style->shapeOutside()->type() == ExclusionShapeValue::Shape);2719 ASSERT(style->shapeOutside()->type() == ShapeValue::Shape); 2720 2720 return valueForBasicShape(style->shapeOutside()->shape()); 2721 2721 #endif -
trunk/Source/WebCore/css/CSSPrimitiveValue.h
r148921 r151402 122 122 CSS_COUNTER_NAME = 110, 123 123 124 // This is used by the CSS Exclusions draft124 // This is used by the CSS Shapes draft 125 125 CSS_SHAPE = 111, 126 126 -
trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp
r151394 r151402 49 49 50 50 #if ENABLE(CSS_SHAPES) 51 #include " ExclusionShapeValue.h"51 #include "ShapeValue.h" 52 52 #endif 53 53 … … 1934 1934 1935 1935 #if ENABLE(CSS_SHAPES) 1936 template < ExclusionShapeValue* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<ExclusionShapeValue>), ExclusionShapeValue* (*initialFunction)()>1937 class ApplyProperty ExclusionShape {1938 public: 1939 static void setValue(RenderStyle* style, PassRefPtr< ExclusionShapeValue> value) { (style->*setterFunction)(value); }1936 template <ShapeValue* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<ShapeValue>), ShapeValue* (*initialFunction)()> 1937 class ApplyPropertyShape { 1938 public: 1939 static void setValue(RenderStyle* style, PassRefPtr<ShapeValue> value) { (style->*setterFunction)(value); } 1940 1940 static void applyValue(CSSPropertyID property, StyleResolver* styleResolver, CSSValue* value) 1941 1941 { … … 1946 1946 // FIXME Bug 102571: Layout for the value 'outside-shape' is not yet implemented 1947 1947 else if (primitiveValue->getIdent() == CSSValueOutsideShape) 1948 setValue(styleResolver->style(), ExclusionShapeValue::createOutsideValue());1948 setValue(styleResolver->style(), ShapeValue::createOutsideValue()); 1949 1949 else if (primitiveValue->isShape()) { 1950 RefPtr< ExclusionShapeValue> shape = ExclusionShapeValue::createShapeValue(basicShapeForValue(styleResolver->style(), styleResolver->rootElementStyle(), primitiveValue->getShapeValue()));1950 RefPtr<ShapeValue> shape = ShapeValue::createShapeValue(basicShapeForValue(styleResolver->style(), styleResolver->rootElementStyle(), primitiveValue->getShapeValue())); 1951 1951 setValue(styleResolver->style(), shape.release()); 1952 1952 } 1953 1953 } else if (value->isImageValue()) { 1954 RefPtr< ExclusionShapeValue> shape = ExclusionShapeValue::createImageValue(styleResolver->styleImage(property, value));1954 RefPtr<ShapeValue> shape = ShapeValue::createImageValue(styleResolver->styleImage(property, value)); 1955 1955 setValue(styleResolver->style(), shape.release()); 1956 1956 } … … 1959 1959 static PropertyHandler createHandler() 1960 1960 { 1961 PropertyHandler handler = ApplyPropertyDefaultBase< ExclusionShapeValue*, getterFunction, PassRefPtr<ExclusionShapeValue>, setterFunction, ExclusionShapeValue*, initialFunction>::createHandler();1961 PropertyHandler handler = ApplyPropertyDefaultBase<ShapeValue*, getterFunction, PassRefPtr<ShapeValue>, setterFunction, ShapeValue*, initialFunction>::createHandler(); 1962 1962 return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue); 1963 1963 } … … 2344 2344 setPropertyHandler(CSSPropertyWebkitShapeMargin, ApplyPropertyLength<&RenderStyle::shapeMargin, &RenderStyle::setShapeMargin, &RenderStyle::initialShapeMargin>::createHandler()); 2345 2345 setPropertyHandler(CSSPropertyWebkitShapePadding, ApplyPropertyLength<&RenderStyle::shapePadding, &RenderStyle::setShapePadding, &RenderStyle::initialShapePadding>::createHandler()); 2346 setPropertyHandler(CSSPropertyWebkitShapeInside, ApplyProperty ExclusionShape<&RenderStyle::shapeInside, &RenderStyle::setShapeInside, &RenderStyle::initialShapeInside>::createHandler());2347 setPropertyHandler(CSSPropertyWebkitShapeOutside, ApplyProperty ExclusionShape<&RenderStyle::shapeOutside, &RenderStyle::setShapeOutside, &RenderStyle::initialShapeOutside>::createHandler());2346 setPropertyHandler(CSSPropertyWebkitShapeInside, ApplyPropertyShape<&RenderStyle::shapeInside, &RenderStyle::setShapeInside, &RenderStyle::initialShapeInside>::createHandler()); 2347 setPropertyHandler(CSSPropertyWebkitShapeOutside, ApplyPropertyShape<&RenderStyle::shapeOutside, &RenderStyle::setShapeOutside, &RenderStyle::initialShapeOutside>::createHandler()); 2348 2348 #endif 2349 2349 setPropertyHandler(CSSPropertyWhiteSpace, ApplyPropertyDefault<EWhiteSpace, &RenderStyle::whiteSpace, EWhiteSpace, &RenderStyle::setWhiteSpace, EWhiteSpace, &RenderStyle::initialWhiteSpace>::createHandler()); -
trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp
r151247 r151402 145 145 146 146 #if ENABLE(CSS_SHAPES) 147 static inline PassRefPtr< ExclusionShapeValue> blendFunc(const AnimationBase*, ExclusionShapeValue* from, ExclusionShapeValue* to, double progress)147 static inline PassRefPtr<ShapeValue> blendFunc(const AnimationBase*, ShapeValue* from, ShapeValue* to, double progress) 148 148 { 149 149 // FIXME Bug 102723: Shape-inside should be able to animate a value of 'outside-shape' when shape-outside is set to a BasicShape 150 if (from->type() != ExclusionShapeValue::Shape || to->type() != ExclusionShapeValue::Shape)150 if (from->type() != ShapeValue::Shape || to->type() != ShapeValue::Shape) 151 151 return to; 152 152 … … 157 157 return to; 158 158 159 return ExclusionShapeValue::createShapeValue(toShape->blend(fromShape, progress));159 return ShapeValue::createShapeValue(toShape->blend(fromShape, progress)); 160 160 } 161 161 #endif … … 406 406 407 407 #if ENABLE(CSS_SHAPES) 408 class PropertyWrapper ExclusionShape : public RefCountedPropertyWrapper<ExclusionShapeValue> {409 public: 410 PropertyWrapper ExclusionShape(CSSPropertyID prop, ExclusionShapeValue* (RenderStyle::*getter)() const, void (RenderStyle::*setter)(PassRefPtr<ExclusionShapeValue>))411 : RefCountedPropertyWrapper< ExclusionShapeValue>(prop, getter, setter)408 class PropertyWrapperShape : public RefCountedPropertyWrapper<ShapeValue> { 409 public: 410 PropertyWrapperShape(CSSPropertyID prop, ShapeValue* (RenderStyle::*getter)() const, void (RenderStyle::*setter)(PassRefPtr<ShapeValue>)) 411 : RefCountedPropertyWrapper<ShapeValue>(prop, getter, setter) 412 412 { 413 413 } … … 1166 1166 1167 1167 #if ENABLE(CSS_SHAPES) 1168 gPropertyWrappers->append(new PropertyWrapper ExclusionShape(CSSPropertyWebkitShapeInside, &RenderStyle::shapeInside, &RenderStyle::setShapeInside));1168 gPropertyWrappers->append(new PropertyWrapperShape(CSSPropertyWebkitShapeInside, &RenderStyle::shapeInside, &RenderStyle::setShapeInside)); 1169 1169 #endif 1170 1170 -
trunk/Source/WebCore/rendering/LayoutState.cpp
r151247 r151402 41 41 , m_next(prev) 42 42 #if ENABLE(CSS_SHAPES) 43 , m_ exclusionShapeInsideInfo(0)43 , m_shapeInsideInfo(0) 44 44 #endif 45 45 #ifndef NDEBUG … … 114 114 if (renderer->isRenderBlock()) { 115 115 const RenderBlock* renderBlock = toRenderBlock(renderer); 116 m_ exclusionShapeInsideInfo = renderBlock->exclusionShapeInsideInfo();117 if (!m_ exclusionShapeInsideInfo && m_next->m_exclusionShapeInsideInfo && renderBlock->allowsExclusionShapeInsideInfoSharing())118 m_ exclusionShapeInsideInfo = m_next->m_exclusionShapeInsideInfo;116 m_shapeInsideInfo = renderBlock->shapeInsideInfo(); 117 if (!m_shapeInsideInfo && m_next->m_shapeInsideInfo && renderBlock->allowsShapeInsideInfoSharing()) 118 m_shapeInsideInfo = m_next->m_shapeInsideInfo; 119 119 } 120 120 #endif … … 150 150 , m_next(0) 151 151 #if ENABLE(CSS_SHAPES) 152 , m_ exclusionShapeInsideInfo(0)152 , m_shapeInsideInfo(0) 153 153 #endif 154 154 , m_pageLogicalHeight(0) -
trunk/Source/WebCore/rendering/LayoutState.h
r151338 r151402 40 40 class RenderFlowThread; 41 41 #if ENABLE(CSS_SHAPES) 42 class ExclusionShapeInsideInfo;42 class ShapeInsideInfo; 43 43 #endif 44 44 … … 58 58 , m_next(0) 59 59 #if ENABLE(CSS_SHAPES) 60 , m_ exclusionShapeInsideInfo(0)60 , m_shapeInsideInfo(0) 61 61 #endif 62 62 , m_pageLogicalHeight(0) … … 100 100 101 101 #if ENABLE(CSS_SHAPES) 102 ExclusionShapeInsideInfo* exclusionShapeInsideInfo() const { return m_exclusionShapeInsideInfo; }102 ShapeInsideInfo* shapeInsideInfo() const { return m_shapeInsideInfo; } 103 103 #endif 104 104 private: … … 127 127 LayoutState* m_next; 128 128 #if ENABLE(CSS_SHAPES) 129 ExclusionShapeInsideInfo* m_exclusionShapeInsideInfo;129 ShapeInsideInfo* m_shapeInsideInfo; 130 130 #endif 131 131 -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r151394 r151402 66 66 67 67 #if ENABLE(CSS_SHAPES) 68 #include " ExclusionShapeInsideInfo.h"69 #include " ExclusionShapeOutsideInfo.h"68 #include "ShapeInsideInfo.h" 69 #include "ShapeOutsideInfo.h" 70 70 #endif 71 71 … … 360 360 361 361 #if ENABLE(CSS_SHAPES) 362 // FIXME: Bug 89993: Style changes should affect the ExclusionShapeInsideInfos for other render blocks that 363 // share the same ExclusionShapeInsideInfo 364 updateExclusionShapeInsideInfoAfterStyleChange(newStyle->resolvedShapeInside(), oldStyle ? oldStyle->resolvedShapeInside() : 0); 362 updateShapeInsideInfoAfterStyleChange(newStyle->resolvedShapeInside(), oldStyle ? oldStyle->resolvedShapeInside() : 0); 365 363 #endif 366 364 … … 1438 1436 1439 1437 #if ENABLE(CSS_SHAPES) 1440 void RenderBlock::update ExclusionShapeInsideInfoAfterStyleChange(const ExclusionShapeValue* shapeInside, const ExclusionShapeValue* oldShapeInside)1438 void RenderBlock::updateShapeInsideInfoAfterStyleChange(const ShapeValue* shapeInside, const ShapeValue* oldShapeInside) 1441 1439 { 1442 1440 // FIXME: A future optimization would do a deep comparison for equality. … … 1445 1443 1446 1444 if (shapeInside) { 1447 ExclusionShapeInsideInfo* exclusionShapeInsideInfo = ensureExclusionShapeInsideInfo();1448 exclusionShapeInsideInfo->dirtyShapeSize();1445 ShapeInsideInfo* shapeInsideInfo = ensureShapeInsideInfo(); 1446 shapeInsideInfo->dirtyShapeSize(); 1449 1447 } else { 1450 set ExclusionShapeInsideInfo(nullptr);1448 setShapeInsideInfo(nullptr); 1451 1449 markShapeInsideDescendantsForLayout(); 1452 1450 } … … 1470 1468 #endif 1471 1469 1472 static inline bool exclusionInfoRequiresRelayout(const RenderBlock* block)1470 static inline bool shapeInfoRequiresRelayout(const RenderBlock* block) 1473 1471 { 1474 1472 #if !ENABLE(CSS_SHAPES) 1475 1473 return false; 1476 1474 #else 1477 ExclusionShapeInsideInfo* info = block->exclusionShapeInsideInfo();1475 ShapeInsideInfo* info = block->shapeInsideInfo(); 1478 1476 if (info) 1479 1477 info->setNeedsLayout(info->shapeSizeDirty()); 1480 1478 else 1481 info = block->layout ExclusionShapeInsideInfo();1479 info = block->layoutShapeInsideInfo(); 1482 1480 return info && info->needsLayout(); 1483 1481 #endif … … 1487 1485 { 1488 1486 #if ENABLE(CSS_SHAPES) 1489 if (!flowThread && ! exclusionShapeInsideInfo())1487 if (!flowThread && !shapeInsideInfo()) 1490 1488 #else 1491 1489 if (!flowThread) 1492 1490 #endif 1493 return exclusionInfoRequiresRelayout(this);1491 return shapeInfoRequiresRelayout(this); 1494 1492 1495 1493 LayoutUnit oldHeight = logicalHeight(); … … 1502 1500 1503 1501 #if ENABLE(CSS_SHAPES) 1504 compute ExclusionShapeSize();1502 computeShapeSize(); 1505 1503 #endif 1506 1504 … … 1512 1510 setLogicalTop(oldTop); 1513 1511 1514 return exclusionInfoRequiresRelayout(this);1512 return shapeInfoRequiresRelayout(this); 1515 1513 } 1516 1514 1517 1515 #if ENABLE(CSS_SHAPES) 1518 void RenderBlock::compute ExclusionShapeSize()1519 { 1520 ExclusionShapeInsideInfo* exclusionShapeInsideInfo = this->exclusionShapeInsideInfo();1521 if ( exclusionShapeInsideInfo) {1516 void RenderBlock::computeShapeSize() 1517 { 1518 ShapeInsideInfo* shapeInsideInfo = this->shapeInsideInfo(); 1519 if (shapeInsideInfo) { 1522 1520 bool percentageLogicalHeightResolvable = percentageLogicalHeightIsResolvableFromBlock(this, false); 1523 exclusionShapeInsideInfo->setShapeSize(logicalWidth(), percentageLogicalHeightResolvable ? logicalHeight() : LayoutUnit());1521 shapeInsideInfo->setShapeSize(logicalWidth(), percentageLogicalHeightResolvable ? logicalHeight() : LayoutUnit()); 1524 1522 } 1525 1523 } … … 1530 1528 #if ENABLE(CSS_SHAPES) 1531 1529 // A previous sibling has changed dimension, so we need to relayout the shape with the content 1532 ExclusionShapeInsideInfo* shapeInsideInfo = layoutExclusionShapeInsideInfo();1530 ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo(); 1533 1531 if (heightChanged && shapeInsideInfo) 1534 1532 shapeInsideInfo->dirtyShapeSize(); … … 4022 4020 4023 4021 #if ENABLE(CSS_SHAPES) 4024 ExclusionShapeOutsideInfo* shapeOutside = o->exclusionShapeOutsideInfo();4022 ShapeOutsideInfo* shapeOutside = o->shapeOutsideInfo(); 4025 4023 if (shapeOutside) { 4026 4024 shapeOutside->setShapeSize(o->logicalWidth(), o->logicalHeight()); 4027 // The CSS Exclusions specification says that the margins are ignored4025 // The CSS Shapes specification says that the margins are ignored 4028 4026 // when a float has a shape outside. 4029 4027 setLogicalWidthForFloat(newObj, shapeOutside->shapeLogicalWidth()); … … 4103 4101 #if ENABLE(CSS_SHAPES) 4104 4102 // FIXME Bug 102948: This only works for shape outside directly set on this block. 4105 ExclusionShapeInsideInfo* shapeInsideInfo = exclusionShapeInsideInfo();4103 ShapeInsideInfo* shapeInsideInfo = this->shapeInsideInfo(); 4106 4104 // FIXME Bug 102846: Take into account the height of the content. The offset should be 4107 4105 // equal to the maximum segment length. … … 4258 4256 setLogicalTopForFloat(floatingObject, floatLogicalLocation.y()); 4259 4257 #if ENABLE(CSS_SHAPES) 4260 if (childBox-> exclusionShapeOutsideInfo())4261 setLogicalHeightForFloat(floatingObject, childBox-> exclusionShapeOutsideInfo()->shapeLogicalHeight());4258 if (childBox->shapeOutsideInfo()) 4259 setLogicalHeightForFloat(floatingObject, childBox->shapeOutsideInfo()->shapeLogicalHeight()); 4262 4260 else 4263 4261 #endif … … 4445 4443 const FloatingObject* lastFloat = adapter.lastFloat(); 4446 4444 if (offsetMode == ShapeOutsideFloatShapeOffset && lastFloat) { 4447 if ( ExclusionShapeOutsideInfo* shapeOutside = lastFloat->renderer()->exclusionShapeOutsideInfo()) {4445 if (ShapeOutsideInfo* shapeOutside = lastFloat->renderer()->shapeOutsideInfo()) { 4448 4446 shapeOutside->computeSegmentsForLine(logicalTop - logicalTopForFloat(lastFloat) + shapeOutside->shapeLogicalTop(), logicalHeight); 4449 4447 left += shapeOutside->rightSegmentShapeBoundingBoxDelta(); … … 4503 4501 const FloatingObject* lastFloat = adapter.lastFloat(); 4504 4502 if (offsetMode == ShapeOutsideFloatShapeOffset && lastFloat) { 4505 if ( ExclusionShapeOutsideInfo* shapeOutside = lastFloat->renderer()->exclusionShapeOutsideInfo()) {4503 if (ShapeOutsideInfo* shapeOutside = lastFloat->renderer()->shapeOutsideInfo()) { 4506 4504 shapeOutside->computeSegmentsForLine(logicalTop - logicalTopForFloat(lastFloat) + shapeOutside->shapeLogicalTop(), logicalHeight); 4507 4505 rightFloatOffset += shapeOutside->leftSegmentShapeBoundingBoxDelta(); -
trunk/Source/WebCore/rendering/RenderBlock.h
r151360 r151402 36 36 37 37 #if ENABLE(CSS_SHAPES) 38 #include " ExclusionShapeInsideInfo.h"39 #include " ExclusionShapeValue.h"38 #include "ShapeInsideInfo.h" 39 #include "ShapeValue.h" 40 40 #endif 41 41 … … 447 447 448 448 #if ENABLE(CSS_SHAPES) 449 ExclusionShapeInsideInfo* ensureExclusionShapeInsideInfo()449 ShapeInsideInfo* ensureShapeInsideInfo() 450 450 { 451 451 if (!m_rareData || !m_rareData->m_shapeInsideInfo) 452 set ExclusionShapeInsideInfo(ExclusionShapeInsideInfo::createInfo(this));452 setShapeInsideInfo(ShapeInsideInfo::createInfo(this)); 453 453 return m_rareData->m_shapeInsideInfo.get(); 454 454 } 455 455 456 ExclusionShapeInsideInfo* exclusionShapeInsideInfo() const456 ShapeInsideInfo* shapeInsideInfo() const 457 457 { 458 458 if (!m_rareData || !m_rareData->m_shapeInsideInfo) 459 459 return 0; 460 return ExclusionShapeInsideInfo::isEnabledFor(this) ? m_rareData->m_shapeInsideInfo.get() : 0;461 } 462 void set ExclusionShapeInsideInfo(PassOwnPtr<ExclusionShapeInsideInfo> value)460 return ShapeInsideInfo::isEnabledFor(this) ? m_rareData->m_shapeInsideInfo.get() : 0; 461 } 462 void setShapeInsideInfo(PassOwnPtr<ShapeInsideInfo> value) 463 463 { 464 464 if (!m_rareData) … … 467 467 } 468 468 void markShapeInsideDescendantsForLayout(); 469 ExclusionShapeInsideInfo* layoutExclusionShapeInsideInfo() const;470 bool allows ExclusionShapeInsideInfoSharing() const { return !isInline() && !isFloating(); }469 ShapeInsideInfo* layoutShapeInsideInfo() const; 470 bool allowsShapeInsideInfoSharing() const { return !isInline() && !isFloating(); } 471 471 #endif 472 472 … … 587 587 private: 588 588 #if ENABLE(CSS_SHAPES) 589 void compute ExclusionShapeSize();590 void update ExclusionShapeInsideInfoAfterStyleChange(const ExclusionShapeValue*, const ExclusionShapeValue* oldExclusionShape);589 void computeShapeSize(); 590 void updateShapeInsideInfoAfterStyleChange(const ShapeValue*, const ShapeValue* oldShape); 591 591 #endif 592 592 virtual RenderObjectChildList* virtualChildren() { return children(); } … … 791 791 { 792 792 #if ENABLE(CSS_SHAPES) 793 ExclusionShapeOutsideInfo *shapeOutside = child->renderer()->exclusionShapeOutsideInfo();793 ShapeOutsideInfo *shapeOutside = child->renderer()->shapeOutsideInfo(); 794 794 if (shapeOutside) 795 795 return child->x(); … … 805 805 { 806 806 #if ENABLE(CSS_SHAPES) 807 ExclusionShapeOutsideInfo *shapeOutside = child->renderer()->exclusionShapeOutsideInfo();807 ShapeOutsideInfo *shapeOutside = child->renderer()->shapeOutsideInfo(); 808 808 if (shapeOutside) 809 809 return child->y(); … … 1086 1086 void layoutRunsAndFloatsInRange(LineLayoutState&, InlineBidiResolver&, const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiStatus, unsigned consecutiveHyphenatedLines); 1087 1087 #if ENABLE(CSS_SHAPES) 1088 void updateShapeAndSegmentsForCurrentLine( ExclusionShapeInsideInfo*, LayoutUnit&, LineLayoutState&, bool&);1089 bool adjustLogicalLineTopAndLogicalHeightIfNeeded( ExclusionShapeInsideInfo*, LayoutUnit, LineLayoutState&, InlineBidiResolver&, FloatingObject*, InlineIterator&, WordMeasurements&);1088 void updateShapeAndSegmentsForCurrentLine(ShapeInsideInfo*, LayoutUnit&, LineLayoutState&, bool&); 1089 bool adjustLogicalLineTopAndLogicalHeightIfNeeded(ShapeInsideInfo*, LayoutUnit, LineLayoutState&, InlineBidiResolver&, FloatingObject*, InlineIterator&, WordMeasurements&); 1090 1090 #endif 1091 1091 const InlineIterator& restartLayoutRunsAndFloatsInRange(LayoutUnit oldLogicalHeight, LayoutUnit newLogicalHeight, FloatingObject* lastFloatFromPreviousLine, InlineBidiResolver&, const InlineIterator&); … … 1294 1294 RootInlineBox* m_lineBreakToAvoidWidow; 1295 1295 #if ENABLE(CSS_SHAPES) 1296 OwnPtr< ExclusionShapeInsideInfo> m_shapeInsideInfo;1296 OwnPtr<ShapeInsideInfo> m_shapeInsideInfo; 1297 1297 #endif 1298 1298 bool m_shouldBreakAtLineToAvoidWidow : 1; -
trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp
r151327 r151402 49 49 50 50 #if ENABLE(CSS_SHAPES) 51 #include " ExclusionShapeInsideInfo.h"51 #include "ShapeInsideInfo.h" 52 52 #endif 53 53 … … 78 78 79 79 #if ENABLE(CSS_SHAPES) 80 ExclusionShapeInsideInfo* RenderBlock::layoutExclusionShapeInsideInfo() const81 { 82 ExclusionShapeInsideInfo* shapeInsideInfo = view()->layoutState()->exclusionShapeInsideInfo();83 84 if (!shapeInsideInfo && flowThreadContainingBlock() && allows ExclusionShapeInsideInfoSharing()) {80 ShapeInsideInfo* RenderBlock::layoutShapeInsideInfo() const 81 { 82 ShapeInsideInfo* shapeInsideInfo = view()->layoutState()->shapeInsideInfo(); 83 84 if (!shapeInsideInfo && flowThreadContainingBlock() && allowsShapeInsideInfoSharing()) { 85 85 // regionAtBlockOffset returns regions like an array first={0,N-1}, second={N,M-1}, ... 86 86 LayoutUnit offset = logicalHeight() + logicalHeightForLine(this, false) - LayoutUnit(1); 87 87 RenderRegion* region = regionAtBlockOffset(offset); 88 88 if (region) 89 shapeInsideInfo = region-> exclusionShapeInsideInfo();89 shapeInsideInfo = region->shapeInsideInfo(); 90 90 } 91 91 … … 115 115 ASSERT(block); 116 116 #if ENABLE(CSS_SHAPES) 117 ExclusionShapeInsideInfo* exclusionShapeInsideInfo = m_block->layoutExclusionShapeInsideInfo(); 118 if (exclusionShapeInsideInfo) 119 m_segment = exclusionShapeInsideInfo->currentSegment(); 117 if (ShapeInsideInfo* shapeInsideInfo = m_block->layoutShapeInsideInfo()) 118 m_segment = shapeInsideInfo->currentSegment(); 120 119 #endif 121 120 updateAvailableWidth(); … … 197 196 // based on the bounding box. In order to do this, we need to walk back through the floating object list to find 198 197 // the first previous float that is on the same side as our newFloat. 199 ExclusionShapeOutsideInfo* lastShapeOutsideInfo = 0;198 ShapeOutsideInfo* lastShapeOutsideInfo = 0; 200 199 const RenderBlock::FloatingObjectSet& floatingObjectSet = m_block->m_floatingObjects->set(); 201 200 RenderBlock::FloatingObjectSetIterator it = floatingObjectSet.end(); … … 204 203 RenderBlock::FloatingObject* lastFloat = *it; 205 204 if (lastFloat != newFloat && lastFloat->type() == newFloat->type()) { 206 lastShapeOutsideInfo = lastFloat->renderer()-> exclusionShapeOutsideInfo();205 lastShapeOutsideInfo = lastFloat->renderer()->shapeOutsideInfo(); 207 206 if (lastShapeOutsideInfo) 208 207 lastShapeOutsideInfo->computeSegmentsForLine(m_block->logicalHeight() - m_block->logicalTopForFloat(lastFloat) + lastShapeOutsideInfo->shapeLogicalTop(), logicalHeightForLine(m_block, m_isFirstLine)); … … 211 210 } 212 211 213 ExclusionShapeOutsideInfo* shapeOutsideInfo = newFloat->renderer()->exclusionShapeOutsideInfo();212 ShapeOutsideInfo* shapeOutsideInfo = newFloat->renderer()->shapeOutsideInfo(); 214 213 if (shapeOutsideInfo) 215 214 shapeOutsideInfo->computeSegmentsForLine(m_block->logicalHeight() - m_block->logicalTopForFloat(newFloat) + shapeOutsideInfo->shapeLogicalTop(), logicalHeightForLine(m_block, m_isFirstLine)); … … 1038 1037 bool needsWordSpacing; 1039 1038 #if ENABLE(CSS_SHAPES) 1040 ExclusionShapeInsideInfo* exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo();1041 if ( exclusionShapeInsideInfo && exclusionShapeInsideInfo->hasSegments()) {1039 ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo(); 1040 if (shapeInsideInfo && shapeInsideInfo->hasSegments()) { 1042 1041 BidiRun* segmentStart = firstRun; 1043 const SegmentList& segments = exclusionShapeInsideInfo->segments();1042 const SegmentList& segments = shapeInsideInfo->segments(); 1044 1043 float logicalLeft = max<float>(roundToInt(segments[0].logicalLeft), lineLogicalLeft); 1045 1044 float logicalRight = min<float>(floorToInt(segments[0].logicalRight), lineLogicalRight); … … 1362 1361 constructBidiRunsForSegment(topResolver, bidiRuns, endOfLine, override, previousLineBrokeCleanly); 1363 1362 #else 1364 ExclusionShapeInsideInfo* exclusionShapeInsideInfo = block->layoutExclusionShapeInsideInfo();1365 if (! exclusionShapeInsideInfo || !exclusionShapeInsideInfo->hasSegments()) {1363 ShapeInsideInfo* shapeInsideInfo = block->layoutShapeInsideInfo(); 1364 if (!shapeInsideInfo || !shapeInsideInfo->hasSegments()) { 1366 1365 constructBidiRunsForSegment(topResolver, bidiRuns, endOfLine, override, previousLineBrokeCleanly); 1367 1366 return; 1368 1367 } 1369 1368 1370 const SegmentRangeList& segmentRanges = exclusionShapeInsideInfo->segmentRanges();1369 const SegmentRangeList& segmentRanges = shapeInsideInfo->segmentRanges(); 1371 1370 ASSERT(segmentRanges.size()); 1372 1371 … … 1634 1633 } 1635 1634 1636 static inline LayoutUnit adjustLogicalLineTop( ExclusionShapeInsideInfo* exclusionShapeInsideInfo, InlineIterator start, InlineIterator end, const WordMeasurements& wordMeasurements)1637 { 1638 if (! exclusionShapeInsideInfo || end != start)1635 static inline LayoutUnit adjustLogicalLineTop(ShapeInsideInfo* shapeInsideInfo, InlineIterator start, InlineIterator end, const WordMeasurements& wordMeasurements) 1636 { 1637 if (!shapeInsideInfo || end != start) 1639 1638 return 0; 1640 1639 1641 1640 float minWidth = firstPositiveWidth(wordMeasurements); 1642 1641 ASSERT(minWidth || wordMeasurements.isEmpty()); 1643 if (minWidth > 0 && exclusionShapeInsideInfo->adjustLogicalLineTop(minWidth))1644 return exclusionShapeInsideInfo->logicalLineTop();1645 1646 return exclusionShapeInsideInfo->shapeLogicalBottom();1647 } 1648 1649 void RenderBlock::updateShapeAndSegmentsForCurrentLine( ExclusionShapeInsideInfo* exclusionShapeInsideInfo, LayoutUnit& absoluteLogicalTop, LineLayoutState& layoutState, bool& lineOverflowsFromShapeInside)1642 if (minWidth > 0 && shapeInsideInfo->adjustLogicalLineTop(minWidth)) 1643 return shapeInsideInfo->logicalLineTop(); 1644 1645 return shapeInsideInfo->shapeLogicalBottom(); 1646 } 1647 1648 void RenderBlock::updateShapeAndSegmentsForCurrentLine(ShapeInsideInfo* shapeInsideInfo, LayoutUnit& absoluteLogicalTop, LineLayoutState& layoutState, bool& lineOverflowsFromShapeInside) 1650 1649 { 1651 1650 LayoutUnit logicalHeight = this->logicalHeight(); 1652 1651 RenderRegion* currentRegion = regionAtBlockOffset(logicalHeight); 1653 1652 if (currentRegion) 1654 exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo();1655 if (! exclusionShapeInsideInfo)1653 shapeInsideInfo = layoutShapeInsideInfo(); 1654 if (!shapeInsideInfo) 1656 1655 return; 1657 1656 … … 1661 1660 if (layoutState.flowThread()) { 1662 1661 RenderRegion* nextRegion = regionAtBlockOffset(logicalHeight + lineHeight - LayoutUnit(1)); 1663 lineTop += exclusionShapeInsideInfo->owner()->borderAndPaddingBefore();1662 lineTop += shapeInsideInfo->owner()->borderAndPaddingBefore(); 1664 1663 // Content in a flow thread is relative to the beginning of the thread, but the shape calculation should be relative to the current region. 1665 1664 if (currentRegion == nextRegion) … … 1668 1667 1669 1668 // FIXME: Bug 95361: It is possible for a line to grow beyond lineHeight, in which case these segments may be incorrect. 1670 exclusionShapeInsideInfo->computeSegmentsForLine(lineTop, lineHeight);1669 shapeInsideInfo->computeSegmentsForLine(lineTop, lineHeight); 1671 1670 1672 1671 // The overflow should be pushed below the content box 1673 LayoutUnit shapeContainingBlockHeight = exclusionShapeInsideInfo->shapeContainingBlockHeight();1674 if (! exclusionShapeInsideInfo->lineWithinShapeBounds() && !lineOverflowsFromShapeInside && shapeContainingBlockHeight) {1672 LayoutUnit shapeContainingBlockHeight = shapeInsideInfo->shapeContainingBlockHeight(); 1673 if (!shapeInsideInfo->lineWithinShapeBounds() && !lineOverflowsFromShapeInside && shapeContainingBlockHeight) { 1675 1674 lineOverflowsFromShapeInside = true; 1676 1675 LayoutUnit newLogicalHeight = shapeContainingBlockHeight; … … 1684 1683 1685 1684 RenderRegion* nextRegion = regionAtBlockOffset(newLogicalHeight); 1686 ExclusionShapeInsideInfo* nextShapeInfo = 0;1685 ShapeInsideInfo* nextShapeInfo = 0; 1687 1686 if (nextRegion) 1688 nextShapeInfo = nextRegion-> exclusionShapeInsideInfo();1687 nextShapeInfo = nextRegion->shapeInsideInfo(); 1689 1688 1690 1689 // The overflow flows into another region with shape-inside … … 1695 1694 nextShapeInfo->computeSegmentsForLine(offset, lineHeight); 1696 1695 1697 exclusionShapeInsideInfo = nextShapeInfo;1696 shapeInsideInfo = nextShapeInfo; 1698 1697 lineOverflowsFromShapeInside = false; 1699 1698 } … … 1703 1702 } 1704 1703 1705 bool RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded( ExclusionShapeInsideInfo* exclusionShapeInsideInfo, LayoutUnit absoluteLogicalTop, LineLayoutState& layoutState, InlineBidiResolver& resolver, FloatingObject* lastFloatFromPreviousLine, InlineIterator& end, WordMeasurements& wordMeasurements)1706 { 1707 LayoutUnit adjustedLogicalLineTop = adjustLogicalLineTop( exclusionShapeInsideInfo, resolver.position(), end, wordMeasurements);1704 bool RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded(ShapeInsideInfo* shapeInsideInfo, LayoutUnit absoluteLogicalTop, LineLayoutState& layoutState, InlineBidiResolver& resolver, FloatingObject* lastFloatFromPreviousLine, InlineIterator& end, WordMeasurements& wordMeasurements) 1705 { 1706 LayoutUnit adjustedLogicalLineTop = adjustLogicalLineTop(shapeInsideInfo, resolver.position(), end, wordMeasurements); 1708 1707 if (!adjustedLogicalLineTop) 1709 1708 return false; … … 1732 1731 #if ENABLE(CSS_SHAPES) 1733 1732 LayoutUnit absoluteLogicalTop; 1734 ExclusionShapeInsideInfo* exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo();1735 if ( exclusionShapeInsideInfo) {1736 ASSERT( exclusionShapeInsideInfo->owner() == this || allowsExclusionShapeInsideInfoSharing());1737 if ( exclusionShapeInsideInfo != this->exclusionShapeInsideInfo()) {1733 ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo(); 1734 if (shapeInsideInfo) { 1735 ASSERT(shapeInsideInfo->owner() == this || allowsShapeInsideInfoSharing()); 1736 if (shapeInsideInfo != this->shapeInsideInfo()) { 1738 1737 // FIXME Bug 100284: If subsequent LayoutStates are pushed, we will have to add 1739 1738 // their offsets from the original shape-inside container. … … 1741 1740 } 1742 1741 // Begin layout at the logical top of our shape inside. 1743 if (logicalHeight() + absoluteLogicalTop < exclusionShapeInsideInfo->shapeLogicalTop()) {1744 LayoutUnit logicalHeight = exclusionShapeInsideInfo->shapeLogicalTop() - absoluteLogicalTop;1742 if (logicalHeight() + absoluteLogicalTop < shapeInsideInfo->shapeLogicalTop()) { 1743 LayoutUnit logicalHeight = shapeInsideInfo->shapeLogicalTop() - absoluteLogicalTop; 1745 1744 if (layoutState.flowThread()) 1746 logicalHeight -= exclusionShapeInsideInfo->owner()->borderAndPaddingBefore();1745 logicalHeight -= shapeInsideInfo->owner()->borderAndPaddingBefore(); 1747 1746 setLogicalHeight(logicalHeight); 1748 1747 } … … 1772 1771 1773 1772 #if ENABLE(CSS_SHAPES) 1774 updateShapeAndSegmentsForCurrentLine( exclusionShapeInsideInfo, absoluteLogicalTop, layoutState, lineOverflowsFromShapeInside);1773 updateShapeAndSegmentsForCurrentLine(shapeInsideInfo, absoluteLogicalTop, layoutState, lineOverflowsFromShapeInside); 1775 1774 #endif 1776 1775 WordMeasurements wordMeasurements; … … 1788 1787 1789 1788 #if ENABLE(CSS_SHAPES) 1790 if (adjustLogicalLineTopAndLogicalHeightIfNeeded( exclusionShapeInsideInfo, absoluteLogicalTop, layoutState, resolver, lastFloatFromPreviousLine, end, wordMeasurements))1789 if (adjustLogicalLineTopAndLogicalHeightIfNeeded(shapeInsideInfo, absoluteLogicalTop, layoutState, resolver, lastFloatFromPreviousLine, end, wordMeasurements)) 1791 1790 continue; 1792 1791 #endif … … 2742 2741 return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements); 2743 2742 #else 2744 ExclusionShapeInsideInfo* exclusionShapeInsideInfo = m_block->layoutExclusionShapeInsideInfo();2745 2746 if (! exclusionShapeInsideInfo || !exclusionShapeInsideInfo->lineOverlapsShapeBounds())2743 ShapeInsideInfo* shapeInsideInfo = m_block->layoutShapeInsideInfo(); 2744 2745 if (!shapeInsideInfo || !shapeInsideInfo->lineOverlapsShapeBounds()) 2747 2746 return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements); 2748 2747 2749 2748 // 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, 2750 2749 // so in this case we can end up with some extra segments for the overflowing content, but we don't want to apply the segments for the overflowing content, so we need to reset it. 2751 if (!m_block->flowThreadContainingBlock() && ! exclusionShapeInsideInfo->lineWithinShapeBounds()) {2752 exclusionShapeInsideInfo->clearSegments();2750 if (!m_block->flowThreadContainingBlock() && !shapeInsideInfo->lineWithinShapeBounds()) { 2751 shapeInsideInfo->clearSegments(); 2753 2752 return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements); 2754 2753 } … … 2757 2756 InlineIterator oldEnd = end; 2758 2757 2759 if (! exclusionShapeInsideInfo->hasSegments()) {2758 if (!shapeInsideInfo->hasSegments()) { 2760 2759 end = nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements); 2761 2760 resolver.setPositionIgnoringNestedIsolates(oldEnd); … … 2763 2762 } 2764 2763 2765 const SegmentList& segments = exclusionShapeInsideInfo->segments();2766 SegmentRangeList& segmentRanges = exclusionShapeInsideInfo->segmentRanges();2764 const SegmentList& segments = shapeInsideInfo->segments(); 2765 SegmentRangeList& segmentRanges = shapeInsideInfo->segmentRanges(); 2767 2766 2768 2767 for (unsigned i = 0; i < segments.size() && !end.atEnd(); i++) { … … 3411 3410 end: 3412 3411 #if ENABLE(CSS_SHAPES) 3413 ExclusionShapeInsideInfo* shapeInfo = m_block->layoutExclusionShapeInsideInfo();3412 ShapeInsideInfo* shapeInfo = m_block->layoutShapeInsideInfo(); 3414 3413 bool segmentAllowsOverflow = !shapeInfo || !shapeInfo->hasSegments(); 3415 3414 #else -
trunk/Source/WebCore/rendering/RenderBox.cpp
r151360 r151402 161 161 162 162 #if ENABLE(CSS_SHAPES) 163 ExclusionShapeOutsideInfo::removeInfo(this);163 ShapeOutsideInfo::removeInfo(this); 164 164 #endif 165 165 … … 313 313 314 314 #if ENABLE(CSS_SHAPES) 315 update ExclusionShapeOutsideInfoAfterStyleChange(style()->shapeOutside(), oldStyle ? oldStyle->shapeOutside() : 0);315 updateShapeOutsideInfoAfterStyleChange(style()->shapeOutside(), oldStyle ? oldStyle->shapeOutside() : 0); 316 316 #endif 317 317 } 318 318 319 319 #if ENABLE(CSS_SHAPES) 320 void RenderBox::update ExclusionShapeOutsideInfoAfterStyleChange(const ExclusionShapeValue* shapeOutside, const ExclusionShapeValue* oldShapeOutside)320 void RenderBox::updateShapeOutsideInfoAfterStyleChange(const ShapeValue* shapeOutside, const ShapeValue* oldShapeOutside) 321 321 { 322 322 // FIXME: A future optimization would do a deep comparison for equality. (bug 100811) … … 325 325 326 326 if (shapeOutside) { 327 ExclusionShapeOutsideInfo* exclusionShapeOutsideInfo = ExclusionShapeOutsideInfo::ensureInfo(this);328 exclusionShapeOutsideInfo->dirtyShapeSize();327 ShapeOutsideInfo* shapeOutsideInfo = ShapeOutsideInfo::ensureInfo(this); 328 shapeOutsideInfo->dirtyShapeSize(); 329 329 } else 330 ExclusionShapeOutsideInfo::removeInfo(this);330 ShapeOutsideInfo::removeInfo(this); 331 331 } 332 332 #endif -
trunk/Source/WebCore/rendering/RenderBox.h
r151360 r151402 28 28 #include "ScrollTypes.h" 29 29 #if ENABLE(CSS_SHAPES) 30 #include " ExclusionShapeOutsideInfo.h"30 #include "ShapeOutsideInfo.h" 31 31 #endif 32 32 … … 577 577 578 578 #if ENABLE(CSS_SHAPES) 579 ExclusionShapeOutsideInfo* exclusionShapeOutsideInfo() const580 { 581 return isFloatingWithShapeOutside() && ExclusionShapeOutsideInfo::isEnabledFor(this) ? ExclusionShapeOutsideInfo::info(this) : 0;579 ShapeOutsideInfo* shapeOutsideInfo() const 580 { 581 return isFloatingWithShapeOutside() && ShapeOutsideInfo::isEnabledFor(this) ? ShapeOutsideInfo::info(this) : 0; 582 582 } 583 583 #endif … … 624 624 private: 625 625 #if ENABLE(CSS_SHAPES) 626 void update ExclusionShapeOutsideInfoAfterStyleChange(const ExclusionShapeValue* shapeOutside, const ExclusionShapeValue* oldShapeOutside);626 void updateShapeOutsideInfoAfterStyleChange(const ShapeValue* shapeOutside, const ShapeValue* oldShapeOutside); 627 627 #endif 628 628 -
trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp
r151307 r151402 627 627 #if ENABLE(CSS_SHAPES) 628 628 if (isBox() && isFloating()) 629 if ( ExclusionShapeOutsideInfo* shapeOutside = toRenderBox(this)->exclusionShapeOutsideInfo())629 if (ShapeOutsideInfo* shapeOutside = toRenderBox(this)->shapeOutsideInfo()) 630 630 offset -= shapeOutside->shapeLogicalOffset(); 631 631 #endif -
trunk/Source/WebCore/rendering/RenderView.h
r151322 r151402 250 250 || m_layoutState->lineGrid() || (renderer->style()->lineGrid() != RenderStyle::initialLineGrid() && renderer->isBlockFlow()) 251 251 #if ENABLE(CSS_SHAPES) 252 || (renderer->isRenderBlock() && toRenderBlock(renderer)-> exclusionShapeInsideInfo())253 || (m_layoutState-> exclusionShapeInsideInfo() && renderer->isRenderBlock() && !toRenderBlock(renderer)->allowsExclusionShapeInsideInfoSharing())252 || (renderer->isRenderBlock() && toRenderBlock(renderer)->shapeInsideInfo()) 253 || (m_layoutState->shapeInsideInfo() && renderer->isRenderBlock() && !toRenderBlock(renderer)->allowsShapeInsideInfoSharing()) 254 254 #endif 255 255 ) { -
trunk/Source/WebCore/rendering/shapes/PolygonShape.cpp
r151398 r151402 29 29 30 30 #include "config.h" 31 #include " ExclusionPolygon.h"31 #include "PolygonShape.h" 32 32 33 33 #include <wtf/MathExtras.h> … … 178 178 } 179 179 180 const FloatPolygon& ExclusionPolygon::shapePaddingBounds() const180 const FloatPolygon& PolygonShape::shapePaddingBounds() const 181 181 { 182 182 ASSERT(shapePadding() >= 0); … … 190 190 } 191 191 192 const FloatPolygon& ExclusionPolygon::shapeMarginBounds() const192 const FloatPolygon& PolygonShape::shapeMarginBounds() const 193 193 { 194 194 ASSERT(shapeMargin() >= 0); … … 225 225 } 226 226 227 static inline bool appendIntervalX(float x, bool inside, Vector< ExclusionInterval>& result)227 static inline bool appendIntervalX(float x, bool inside, Vector<ShapeInterval>& result) 228 228 { 229 229 if (!inside) 230 result.append( ExclusionInterval(x));230 result.append(ShapeInterval(x)); 231 231 else 232 232 result[result.size() - 1].x2 = x; … … 242 242 } 243 243 244 static void computeXIntersections(const FloatPolygon& polygon, float y, bool isMinY, Vector< ExclusionInterval>& result)244 static void computeXIntersections(const FloatPolygon& polygon, float y, bool isMinY, Vector<ShapeInterval>& result) 245 245 { 246 246 Vector<const FloatPolygonEdge*> edges; … … 312 312 } 313 313 314 static void computeOverlappingEdgeXProjections(const FloatPolygon& polygon, float y1, float y2, Vector< ExclusionInterval>& result)314 static void computeOverlappingEdgeXProjections(const FloatPolygon& polygon, float y1, float y2, Vector<ShapeInterval>& result) 315 315 { 316 316 Vector<const FloatPolygonEdge*> edges; … … 340 340 341 341 if (x2 > x1) 342 result.append( ExclusionInterval(x1, x2));343 } 344 345 sort ExclusionIntervals(result);346 } 347 348 void ExclusionPolygon::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const342 result.append(ShapeInterval(x1, x2)); 343 } 344 345 sortShapeIntervals(result); 346 } 347 348 void PolygonShape::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const 349 349 { 350 350 const FloatPolygon& polygon = shapeMarginBounds(); … … 355 355 float y2 = logicalTop + logicalHeight; 356 356 357 Vector< ExclusionInterval> y1XIntervals, y2XIntervals;357 Vector<ShapeInterval> y1XIntervals, y2XIntervals; 358 358 computeXIntersections(polygon, y1, true, y1XIntervals); 359 359 computeXIntersections(polygon, y2, false, y2XIntervals); 360 360 361 Vector< ExclusionInterval> mergedIntervals;362 merge ExclusionIntervals(y1XIntervals, y2XIntervals, mergedIntervals);363 364 Vector< ExclusionInterval> edgeIntervals;361 Vector<ShapeInterval> mergedIntervals; 362 mergeShapeIntervals(y1XIntervals, y2XIntervals, mergedIntervals); 363 364 Vector<ShapeInterval> edgeIntervals; 365 365 computeOverlappingEdgeXProjections(polygon, y1, y2, edgeIntervals); 366 366 367 Vector< ExclusionInterval> excludedIntervals;368 merge ExclusionIntervals(mergedIntervals, edgeIntervals, excludedIntervals);367 Vector<ShapeInterval> excludedIntervals; 368 mergeShapeIntervals(mergedIntervals, edgeIntervals, excludedIntervals); 369 369 370 370 for (unsigned i = 0; i < excludedIntervals.size(); ++i) { 371 ExclusionInterval interval = excludedIntervals[i];371 ShapeInterval interval = excludedIntervals[i]; 372 372 result.append(LineSegment(interval.x1, interval.x2)); 373 373 } 374 374 } 375 375 376 void ExclusionPolygon::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const376 void PolygonShape::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const 377 377 { 378 378 const FloatPolygon& polygon = shapePaddingBounds(); … … 383 383 float y2 = logicalTop + logicalHeight; 384 384 385 Vector< ExclusionInterval> y1XIntervals, y2XIntervals;385 Vector<ShapeInterval> y1XIntervals, y2XIntervals; 386 386 computeXIntersections(polygon, y1, true, y1XIntervals); 387 387 computeXIntersections(polygon, y2, false, y2XIntervals); 388 388 389 Vector< ExclusionInterval> commonIntervals;390 intersect ExclusionIntervals(y1XIntervals, y2XIntervals, commonIntervals);391 392 Vector< ExclusionInterval> edgeIntervals;389 Vector<ShapeInterval> commonIntervals; 390 intersectShapeIntervals(y1XIntervals, y2XIntervals, commonIntervals); 391 392 Vector<ShapeInterval> edgeIntervals; 393 393 computeOverlappingEdgeXProjections(polygon, y1, y2, edgeIntervals); 394 394 395 Vector< ExclusionInterval> includedIntervals;396 subtract ExclusionIntervals(commonIntervals, edgeIntervals, includedIntervals);395 Vector<ShapeInterval> includedIntervals; 396 subtractShapeIntervals(commonIntervals, edgeIntervals, includedIntervals); 397 397 398 398 for (unsigned i = 0; i < includedIntervals.size(); ++i) { 399 ExclusionInterval interval = includedIntervals[i];399 ShapeInterval interval = includedIntervals[i]; 400 400 result.append(LineSegment(interval.x1, interval.x2)); 401 401 } … … 426 426 } 427 427 428 bool ExclusionPolygon::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const428 bool PolygonShape::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const 429 429 { 430 430 float minIntervalTop = minLogicalIntervalTop; -
trunk/Source/WebCore/rendering/shapes/PolygonShape.h
r151398 r151402 28 28 */ 29 29 30 #ifndef ExclusionPolygon_h31 #define ExclusionPolygon_h30 #ifndef PolygonShape_h 31 #define PolygonShape_h 32 32 33 #include "ExclusionInterval.h"34 #include "ExclusionShape.h"35 33 #include "FloatPolygon.h" 34 #include "Shape.h" 35 #include "ShapeInterval.h" 36 36 37 37 namespace WebCore { … … 81 81 }; 82 82 83 class ExclusionPolygon : public ExclusionShape {84 WTF_MAKE_NONCOPYABLE( ExclusionPolygon);83 class PolygonShape : public Shape { 84 WTF_MAKE_NONCOPYABLE(PolygonShape); 85 85 public: 86 ExclusionPolygon(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)87 : ExclusionShape()86 PolygonShape(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule) 87 : Shape() 88 88 , m_polygon(vertices, fillRule) 89 89 , m_marginBounds(nullptr) … … 110 110 } // namespace WebCore 111 111 112 #endif // ExclusionPolygon_h112 #endif // PolygonShape_h -
trunk/Source/WebCore/rendering/shapes/RectangleShape.cpp
r151398 r151402 29 29 30 30 #include "config.h" 31 #include " ExclusionRectangle.h"31 #include "RectangleShape.h" 32 32 33 33 #include <wtf/MathExtras.h> … … 84 84 } 85 85 86 FloatRoundedRect ExclusionRectangle::shapePaddingBounds() const86 FloatRoundedRect RectangleShape::shapePaddingBounds() const 87 87 { 88 88 if (!m_haveInitializedPaddingBounds) { … … 93 93 } 94 94 95 FloatRoundedRect ExclusionRectangle::shapeMarginBounds() const95 FloatRoundedRect RectangleShape::shapeMarginBounds() const 96 96 { 97 97 if (!m_haveInitializedMarginBounds) { … … 102 102 } 103 103 104 void ExclusionRectangle::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const104 void RectangleShape::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const 105 105 { 106 106 const FloatRoundedRect& bounds = shapeMarginBounds(); … … 134 134 } 135 135 136 void ExclusionRectangle::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const136 void RectangleShape::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList& result) const 137 137 { 138 138 const FloatRoundedRect& bounds = shapePaddingBounds(); … … 179 179 } 180 180 181 bool ExclusionRectangle::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const181 bool RectangleShape::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const 182 182 { 183 183 float minIntervalTop = minLogicalIntervalTop; -
trunk/Source/WebCore/rendering/shapes/RectangleShape.h
r151398 r151402 28 28 */ 29 29 30 #ifndef ExclusionRectangle_h31 #define ExclusionRectangle_h30 #ifndef RectangleShape_h 31 #define RectangleShape_h 32 32 33 #include "ExclusionShape.h"34 33 #include "FloatPoint.h" 35 34 #include "FloatRect.h" 36 35 #include "FloatSize.h" 36 #include "Shape.h" 37 37 #include <wtf/Assertions.h> 38 38 #include <wtf/Vector.h> … … 59 59 }; 60 60 61 class ExclusionRectangle : public ExclusionShape {61 class RectangleShape : public Shape { 62 62 public: 63 ExclusionRectangle(const FloatRect& bounds, const FloatSize& radii)64 : ExclusionShape()63 RectangleShape(const FloatRect& bounds, const FloatSize& radii) 64 : Shape() 65 65 , m_bounds(bounds, radii) 66 66 , m_haveInitializedMarginBounds(false) … … 89 89 } // namespace WebCore 90 90 91 #endif // ExclusionRectangle_h91 #endif // RectangleShape_h -
trunk/Source/WebCore/rendering/shapes/Shape.cpp
r151398 r151402 29 29 30 30 #include "config.h" 31 #include " ExclusionShape.h"31 #include "Shape.h" 32 32 33 33 #include "BasicShapeFunctions.h" 34 #include "ExclusionPolygon.h"35 #include "ExclusionRectangle.h"36 34 #include "FloatSize.h" 37 35 #include "LengthFunctions.h" 36 #include "PolygonShape.h" 37 #include "RectangleShape.h" 38 38 #include "WindRule.h" 39 39 #include <wtf/MathExtras.h> … … 43 43 namespace WebCore { 44 44 45 static PassOwnPtr< ExclusionShape> createExclusionRectangle(const FloatRect& bounds, const FloatSize& radii)45 static PassOwnPtr<Shape> createRectangleShape(const FloatRect& bounds, const FloatSize& radii) 46 46 { 47 47 ASSERT(bounds.width() >= 0 && bounds.height() >= 0 && radii.width() >= 0 && radii.height() >= 0); 48 return adoptPtr(new ExclusionRectangle(bounds, radii));48 return adoptPtr(new RectangleShape(bounds, radii)); 49 49 } 50 50 51 static PassOwnPtr< ExclusionShape> createExclusionCircle(const FloatPoint& center, float radius)51 static PassOwnPtr<Shape> createShapeCircle(const FloatPoint& center, float radius) 52 52 { 53 53 ASSERT(radius >= 0); 54 return adoptPtr(new ExclusionRectangle(FloatRect(center.x() - radius, center.y() - radius, radius*2, radius*2), FloatSize(radius, radius)));54 return adoptPtr(new RectangleShape(FloatRect(center.x() - radius, center.y() - radius, radius*2, radius*2), FloatSize(radius, radius))); 55 55 } 56 56 57 static PassOwnPtr< ExclusionShape> createExclusionEllipse(const FloatPoint& center, const FloatSize& radii)57 static PassOwnPtr<Shape> createShapeEllipse(const FloatPoint& center, const FloatSize& radii) 58 58 { 59 59 ASSERT(radii.width() >= 0 && radii.height() >= 0); 60 return adoptPtr(new ExclusionRectangle(FloatRect(center.x() - radii.width(), center.y() - radii.height(), radii.width()*2, radii.height()*2), radii));60 return adoptPtr(new RectangleShape(FloatRect(center.x() - radii.width(), center.y() - radii.height(), radii.width()*2, radii.height()*2), radii)); 61 61 } 62 62 63 static PassOwnPtr< ExclusionShape> createExclusionPolygon(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule)63 static PassOwnPtr<Shape> createPolygonShape(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule) 64 64 { 65 return adoptPtr(new ExclusionPolygon(vertices, fillRule));65 return adoptPtr(new PolygonShape(vertices, fillRule)); 66 66 } 67 67 … … 91 91 } 92 92 93 PassOwnPtr< ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape* basicShape, const LayoutSize& logicalBoxSize, WritingMode writingMode, Length margin, Length padding)93 PassOwnPtr<Shape> Shape::createShape(const BasicShape* basicShape, const LayoutSize& logicalBoxSize, WritingMode writingMode, Length margin, Length padding) 94 94 { 95 95 ASSERT(basicShape); … … 98 98 float boxWidth = horizontalWritingMode ? logicalBoxSize.width() : logicalBoxSize.height(); 99 99 float boxHeight = horizontalWritingMode ? logicalBoxSize.height() : logicalBoxSize.width(); 100 OwnPtr< ExclusionShape> exclusionShape;100 OwnPtr<Shape> shape; 101 101 102 102 switch (basicShape->type()) { … … 116 116 FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxSize.height(), writingMode); 117 117 118 exclusionShape = createExclusionRectangle(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));118 shape = createRectangleShape(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode)); 119 119 break; 120 120 } … … 127 127 FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxSize.height(), writingMode); 128 128 129 exclusionShape = createExclusionCircle(logicalCenter, radius);129 shape = createShapeCircle(logicalCenter, radius); 130 130 break; 131 131 } … … 140 140 FloatSize logicalRadii = physicalSizeToLogical(FloatSize(radiusX, radiusY), writingMode); 141 141 142 exclusionShape = createExclusionEllipse(logicalCenter, logicalRadii);142 shape = createShapeEllipse(logicalCenter, logicalRadii); 143 143 break; 144 144 } … … 157 157 } 158 158 159 exclusionShape = createExclusionPolygon(vertices.release(), polygon->windRule());159 shape = createPolygonShape(vertices.release(), polygon->windRule()); 160 160 break; 161 161 } … … 177 177 FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxSize.height(), writingMode); 178 178 179 exclusionShape = createExclusionRectangle(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));179 shape = createRectangleShape(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode)); 180 180 break; 181 181 } … … 185 185 } 186 186 187 exclusionShape->m_writingMode = writingMode;188 exclusionShape->m_margin = floatValueForLength(margin, 0);189 exclusionShape->m_padding = floatValueForLength(padding, 0);187 shape->m_writingMode = writingMode; 188 shape->m_margin = floatValueForLength(margin, 0); 189 shape->m_padding = floatValueForLength(padding, 0); 190 190 191 return exclusionShape.release();191 return shape.release(); 192 192 } 193 193 -
trunk/Source/WebCore/rendering/shapes/Shape.h
r151398 r151402 28 28 */ 29 29 30 #ifndef ExclusionShape_h31 #define ExclusionShape_h30 #ifndef Shape_h 31 #define Shape_h 32 32 33 33 #include "BasicShapes.h" … … 58 58 // physical coordinates. 59 59 60 class ExclusionShape {60 class Shape { 61 61 public: 62 static PassOwnPtr< ExclusionShape> createExclusionShape(const BasicShape*, const LayoutSize& logicalBoxSize, WritingMode, Length margin, Length padding);62 static PassOwnPtr<Shape> createShape(const BasicShape*, const LayoutSize& logicalBoxSize, WritingMode, Length margin, Length padding); 63 63 64 virtual ~ ExclusionShape() { }64 virtual ~Shape() { } 65 65 66 66 virtual LayoutRect shapeMarginLogicalBoundingBox() const = 0; … … 83 83 } // namespace WebCore 84 84 85 #endif // ExclusionShape_h85 #endif // Shape_h -
trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp
r151398 r151402 29 29 30 30 #include "config.h" 31 #include " ExclusionShapeInfo.h"31 #include "ShapeInfo.h" 32 32 33 33 #if ENABLE(CSS_SHAPES) 34 34 35 #include "ExclusionShape.h"36 35 #include "RenderBlock.h" 37 36 #include "RenderBox.h" 38 37 #include "RenderRegion.h" 39 38 #include "RenderStyle.h" 39 #include "Shape.h" 40 40 41 41 namespace WebCore { 42 template<class RenderType, ExclusionShapeValue* (RenderStyle::*shapeGetter)() const, void (ExclusionShape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>43 const ExclusionShape* ExclusionShapeInfo<RenderType, shapeGetter, intervalGetter>::computedShape() const42 template<class RenderType, ShapeValue* (RenderStyle::*shapeGetter)() const, void (Shape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const> 43 const Shape* ShapeInfo<RenderType, shapeGetter, intervalGetter>::computedShape() const 44 44 { 45 if ( ExclusionShape* exclusionShape = m_shape.get())46 return exclusionShape;45 if (Shape* shape = m_shape.get()) 46 return shape; 47 47 48 ExclusionShapeValue* shapeValue = (m_renderer->style()->*shapeGetter)();49 BasicShape* shape = (shapeValue && shapeValue->type() == ExclusionShapeValue::Shape) ? shapeValue->shape() : 0;48 ShapeValue* shapeValue = (m_renderer->style()->*shapeGetter)(); 49 BasicShape* shape = (shapeValue && shapeValue->type() == ShapeValue::Shape) ? shapeValue->shape() : 0; 50 50 51 51 ASSERT(shape); 52 52 53 m_shape = ExclusionShape::createExclusionShape(shape, LayoutSize(m_shapeLogicalWidth, m_shapeLogicalHeight), m_renderer->style()->writingMode(), m_renderer->style()->shapeMargin(), m_renderer->style()->shapePadding());53 m_shape = Shape::createShape(shape, LayoutSize(m_shapeLogicalWidth, m_shapeLogicalHeight), m_renderer->style()->writingMode(), m_renderer->style()->shapeMargin(), m_renderer->style()->shapePadding()); 54 54 ASSERT(m_shape); 55 55 return m_shape.get(); 56 56 } 57 57 58 template<class RenderType, ExclusionShapeValue* (RenderStyle::*shapeGetter)() const, void (ExclusionShape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>59 bool ExclusionShapeInfo<RenderType, shapeGetter, intervalGetter>::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)58 template<class RenderType, ShapeValue* (RenderStyle::*shapeGetter)() const, void (Shape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const> 59 bool ShapeInfo<RenderType, shapeGetter, intervalGetter>::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight) 60 60 { 61 61 ASSERT(lineHeight >= 0); … … 76 76 } 77 77 78 template class ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals>;79 template class ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>;78 template class ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals>; 79 template class ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>; 80 80 } 81 81 #endif -
trunk/Source/WebCore/rendering/shapes/ShapeInfo.h
r151398 r151402 28 28 */ 29 29 30 #ifndef ExclusionShapeInfo_h31 #define ExclusionShapeInfo_h30 #ifndef ShapeInfo_h 31 #define ShapeInfo_h 32 32 33 33 #if ENABLE(CSS_SHAPES) 34 34 35 #include "ExclusionShape.h"36 #include "ExclusionShapeValue.h"37 35 #include "FloatRect.h" 38 36 #include "LayoutUnit.h" 39 37 #include "RenderStyle.h" 38 #include "Shape.h" 39 #include "ShapeValue.h" 40 40 #include <wtf/OwnPtr.h> 41 41 #include <wtf/Vector.h> … … 65 65 }; 66 66 67 template<class RenderType, ExclusionShapeValue* (RenderStyle::*shapeGetter)() const, void (ExclusionShape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const>68 class ExclusionShapeInfo {67 template<class RenderType, ShapeValue* (RenderStyle::*shapeGetter)() const, void (Shape::*intervalGetter)(LayoutUnit, LayoutUnit, SegmentList&) const> 68 class ShapeInfo { 69 69 WTF_MAKE_FAST_ALLOCATED; 70 70 public: 71 virtual ~ ExclusionShapeInfo() { }71 virtual ~ShapeInfo() { } 72 72 73 73 void setShapeSize(LayoutUnit logicalWidth, LayoutUnit logicalHeight) … … 108 108 109 109 protected: 110 ExclusionShapeInfo(const RenderType* renderer): m_renderer(renderer) { }110 ShapeInfo(const RenderType* renderer): m_renderer(renderer) { } 111 111 112 const ExclusionShape* computedShape() const;112 const Shape* computedShape() const; 113 113 virtual LayoutRect computedShapeLogicalBoundingBox() const = 0; 114 114 … … 121 121 122 122 private: 123 mutable OwnPtr< ExclusionShape> m_shape;123 mutable OwnPtr<Shape> m_shape; 124 124 125 125 LayoutUnit m_shapeLogicalWidth; -
trunk/Source/WebCore/rendering/shapes/ShapeInsideInfo.cpp
r151398 r151402 29 29 30 30 #include "config.h" 31 #include " ExclusionShapeInsideInfo.h"31 #include "ShapeInsideInfo.h" 32 32 33 33 #if ENABLE(CSS_SHAPES) … … 44 44 } 45 45 46 bool ExclusionShapeInsideInfo::isEnabledFor(const RenderBlock* renderer)46 bool ShapeInsideInfo::isEnabledFor(const RenderBlock* renderer) 47 47 { 48 ExclusionShapeValue* shapeValue = renderer->style()->resolvedShapeInside();49 if (!shapeValue || shapeValue->type() != ExclusionShapeValue::Shape)48 ShapeValue* shapeValue = renderer->style()->resolvedShapeInside(); 49 if (!shapeValue || shapeValue->type() != ShapeValue::Shape) 50 50 return false; 51 51 … … 54 54 } 55 55 56 bool ExclusionShapeInsideInfo::adjustLogicalLineTop(float minSegmentWidth)56 bool ShapeInsideInfo::adjustLogicalLineTop(float minSegmentWidth) 57 57 { 58 const ExclusionShape* shape = computedShape();58 const Shape* shape = computedShape(); 59 59 if (!shape || m_lineHeight <= 0 || logicalLineTop() > shapeLogicalBottom()) 60 60 return false; -
trunk/Source/WebCore/rendering/shapes/ShapeInsideInfo.h
r151398 r151402 28 28 */ 29 29 30 #ifndef ExclusionShapeInsideInfo_h31 #define ExclusionShapeInsideInfo_h30 #ifndef ShapeInsideInfo_h 31 #define ShapeInsideInfo_h 32 32 33 33 #if ENABLE(CSS_SHAPES) 34 34 35 #include " ExclusionShapeInfo.h"35 #include "ShapeInfo.h" 36 36 #include <wtf/PassOwnPtr.h> 37 37 #include <wtf/Vector.h> … … 63 63 typedef Vector<LineSegmentRange> SegmentRangeList; 64 64 65 class ExclusionShapeInsideInfo : public ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals> {65 class ShapeInsideInfo : public ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals> { 66 66 public: 67 static PassOwnPtr< ExclusionShapeInsideInfo> createInfo(const RenderBlock* renderer) { return adoptPtr(new ExclusionShapeInsideInfo(renderer)); }67 static PassOwnPtr<ShapeInsideInfo> createInfo(const RenderBlock* renderer) { return adoptPtr(new ShapeInsideInfo(renderer)); } 68 68 69 69 static bool isEnabledFor(const RenderBlock* renderer); … … 72 72 { 73 73 m_segmentRanges.clear(); 74 return ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals>::computeSegmentsForLine(lineTop, lineHeight);74 return ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals>::computeSegmentsForLine(lineTop, lineHeight); 75 75 } 76 76 … … 102 102 103 103 private: 104 ExclusionShapeInsideInfo(const RenderBlock* renderer)105 : ExclusionShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &ExclusionShape::getIncludedIntervals> (renderer)104 ShapeInsideInfo(const RenderBlock* renderer) 105 : ShapeInfo<RenderBlock, &RenderStyle::resolvedShapeInside, &Shape::getIncludedIntervals> (renderer) 106 106 , m_needsLayout(false) 107 107 { } -
trunk/Source/WebCore/rendering/shapes/ShapeInterval.cpp
r151398 r151402 29 29 30 30 #include "config.h" 31 #include " ExclusionInterval.h"31 #include "ShapeInterval.h" 32 32 33 33 #include <wtf/MathExtras.h> … … 36 36 37 37 struct IntervalX1Comparator { 38 bool operator() (const ExclusionInterval& i1, const ExclusionInterval& i2) const38 bool operator() (const ShapeInterval& i1, const ShapeInterval& i2) const 39 39 { 40 40 return i1.x1 < i2.x1; … … 42 42 }; 43 43 44 bool ExclusionInterval::intersect(const ExclusionInterval& i, ExclusionInterval& rv) const44 bool ShapeInterval::intersect(const ShapeInterval& i, ShapeInterval& rv) const 45 45 { 46 46 if (x2 < i.x1 || x1 > i.x2) … … 51 51 } 52 52 53 void sort ExclusionIntervals(Vector<ExclusionInterval>& v)53 void sortShapeIntervals(Vector<ShapeInterval>& v) 54 54 { 55 55 std::sort(v.begin(), v.end(), IntervalX1Comparator()); 56 56 } 57 57 58 void merge ExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<ExclusionInterval>& v2, Vector<ExclusionInterval>& rv)58 void mergeShapeIntervals(const Vector<ShapeInterval>& v1, const Vector<ShapeInterval>& v2, Vector<ShapeInterval>& rv) 59 59 { 60 60 if (!v1.size()) … … 63 63 rv.appendRange(v1.begin(), v1.end()); 64 64 else { 65 Vector< ExclusionInterval> v(v1.size() + v2.size());66 ExclusionInterval* interval = 0;65 Vector<ShapeInterval> v(v1.size() + v2.size()); 66 ShapeInterval* interval = 0; 67 67 68 68 std::merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v.begin(), IntervalX1Comparator()); … … 84 84 } 85 85 86 void intersect ExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<ExclusionInterval>& v2, Vector<ExclusionInterval>& rv)86 void intersectShapeIntervals(const Vector<ShapeInterval>& v1, const Vector<ShapeInterval>& v2, Vector<ShapeInterval>& rv) 87 87 { 88 88 size_t v1Size = v1.size(); … … 92 92 return; 93 93 94 ExclusionInterval interval;94 ShapeInterval interval; 95 95 bool overlap = false; 96 96 size_t i1 = 0; … … 98 98 99 99 while (i1 < v1Size && i2 < v2Size) { 100 ExclusionInterval v12;100 ShapeInterval v12; 101 101 if (v1[i1].intersect(v2[i2], v12)) { 102 102 if (!overlap || !v12.intersect(interval, interval)) { … … 125 125 } 126 126 127 void subtract ExclusionIntervals(const Vector<ExclusionInterval>& v1, const Vector<ExclusionInterval>& v2, Vector<ExclusionInterval>& rv)127 void subtractShapeIntervals(const Vector<ShapeInterval>& v1, const Vector<ShapeInterval>& v2, Vector<ShapeInterval>& rv) 128 128 { 129 129 size_t v1Size = v1.size(); … … 140 140 141 141 while (i1 < rv.size() && i2 < v2Size) { 142 ExclusionInterval& interval1 = rv[i1];143 const ExclusionInterval& interval2 = v2[i2];142 ShapeInterval& interval1 = rv[i1]; 143 const ShapeInterval& interval2 = v2[i2]; 144 144 145 145 if (interval2.x1 <= interval1.x1 && interval2.x2 >= interval1.x2) … … 150 150 i1 += 1; 151 151 else if (interval2.x1 > interval1.x1 && interval2.x2 < interval1.x2) { 152 rv.insert(i1, ExclusionInterval(interval1.x1, interval2.x1));152 rv.insert(i1, ShapeInterval(interval1.x1, interval2.x1)); 153 153 interval1.x1 = interval2.x2; 154 154 i2 += 1; -
trunk/Source/WebCore/rendering/shapes/ShapeInterval.h
r151398 r151402 28 28 */ 29 29 30 #ifndef ExclusionInterval_h31 #define ExclusionInterval_h30 #ifndef ShapeInterval_h 31 #define ShapeInterval_h 32 32 33 33 #include <wtf/Vector.h> … … 35 35 namespace WebCore { 36 36 37 struct ExclusionInterval {37 struct ShapeInterval { 38 38 public: 39 39 float x1; 40 40 float x2; 41 41 42 ExclusionInterval(float x1 = 0, float x2 = 0)42 ShapeInterval(float x1 = 0, float x2 = 0) 43 43 : x1(x1) 44 44 , x2(x2) … … 46 46 } 47 47 48 bool intersect(const ExclusionInterval&, ExclusionInterval&) const;48 bool intersect(const ShapeInterval&, ShapeInterval&) const; 49 49 }; 50 50 51 void sort ExclusionIntervals(Vector<ExclusionInterval>&);52 void merge ExclusionIntervals(const Vector<ExclusionInterval>&, const Vector<ExclusionInterval>&, Vector<ExclusionInterval>&);53 void intersect ExclusionIntervals(const Vector<ExclusionInterval>&, const Vector<ExclusionInterval>&, Vector<ExclusionInterval>&);54 void subtract ExclusionIntervals(const Vector<ExclusionInterval>&, const Vector<ExclusionInterval>&, Vector<ExclusionInterval>&);51 void sortShapeIntervals(Vector<ShapeInterval>&); 52 void mergeShapeIntervals(const Vector<ShapeInterval>&, const Vector<ShapeInterval>&, Vector<ShapeInterval>&); 53 void intersectShapeIntervals(const Vector<ShapeInterval>&, const Vector<ShapeInterval>&, Vector<ShapeInterval>&); 54 void subtractShapeIntervals(const Vector<ShapeInterval>&, const Vector<ShapeInterval>&, Vector<ShapeInterval>&); 55 55 56 56 } // namespace WebCore 57 57 58 #endif // ExclusionInterval_h58 #endif // ShapeInterval_h -
trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp
r151398 r151402 32 32 #if ENABLE(CSS_SHAPES) 33 33 34 #include " ExclusionShapeOutsideInfo.h"34 #include "ShapeOutsideInfo.h" 35 35 36 36 #include "RenderBox.h" 37 37 38 38 namespace WebCore { 39 bool ExclusionShapeOutsideInfo::isEnabledFor(const RenderBox* box)39 bool ShapeOutsideInfo::isEnabledFor(const RenderBox* box) 40 40 { 41 ExclusionShapeValue* value = box->style()->shapeOutside();42 return box->isFloatingWithShapeOutside() && value->type() == ExclusionShapeValue::Shape && value->shape();41 ShapeValue* value = box->style()->shapeOutside(); 42 return box->isFloatingWithShapeOutside() && value->type() == ShapeValue::Shape && value->shape(); 43 43 } 44 44 45 bool ExclusionShapeOutsideInfo::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight)45 bool ShapeOutsideInfo::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight) 46 46 { 47 47 if (shapeSizeDirty() || m_lineTop != lineTop || m_lineHeight != lineHeight) { 48 if ( ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>::computeSegmentsForLine(lineTop, lineHeight)) {48 if (ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>::computeSegmentsForLine(lineTop, lineHeight)) { 49 49 m_leftSegmentShapeBoundingBoxDelta = m_segments[0].logicalLeft - shapeLogicalLeft(); 50 50 m_rightSegmentShapeBoundingBoxDelta = m_segments[m_segments.size()-1].logicalRight - shapeLogicalRight(); -
trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.h
r151398 r151402 28 28 */ 29 29 30 #ifndef ExclusionShapeOutsideInfo_h31 #define ExclusionShapeOutsideInfo_h30 #ifndef ShapeOutsideInfo_h 31 #define ShapeOutsideInfo_h 32 32 33 33 #if ENABLE(CSS_SHAPES) 34 34 35 #include "ExclusionShapeInfo.h"36 35 #include "LayoutSize.h" 36 #include "ShapeInfo.h" 37 37 38 38 namespace WebCore { … … 40 40 class RenderBox; 41 41 42 class ExclusionShapeOutsideInfo : public ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>, public MappedInfo<RenderBox, ExclusionShapeOutsideInfo> {42 class ShapeOutsideInfo : public ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>, public MappedInfo<RenderBox, ShapeOutsideInfo> { 43 43 public: 44 44 LayoutSize shapeLogicalOffset() const { return LayoutSize(shapeLogicalLeft(), shapeLogicalTop()); } … … 49 49 virtual bool computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight) OVERRIDE; 50 50 51 static PassOwnPtr< ExclusionShapeOutsideInfo> createInfo(const RenderBox* renderer) { return adoptPtr(new ExclusionShapeOutsideInfo(renderer)); }51 static PassOwnPtr<ShapeOutsideInfo> createInfo(const RenderBox* renderer) { return adoptPtr(new ShapeOutsideInfo(renderer)); } 52 52 static bool isEnabledFor(const RenderBox*); 53 53 … … 56 56 57 57 private: 58 ExclusionShapeOutsideInfo(const RenderBox* renderer) : ExclusionShapeInfo<RenderBox, &RenderStyle::shapeOutside, &ExclusionShape::getExcludedIntervals>(renderer) { }58 ShapeOutsideInfo(const RenderBox* renderer) : ShapeInfo<RenderBox, &RenderStyle::shapeOutside, &Shape::getExcludedIntervals>(renderer) { } 59 59 60 60 LayoutUnit m_leftSegmentShapeBoundingBoxDelta; -
trunk/Source/WebCore/rendering/style/RenderStyle.cpp
r151394 r151402 1734 1734 } 1735 1735 1736 ExclusionShapeValue* RenderStyle::initialShapeInside()1737 { 1738 DEFINE_STATIC_LOCAL(RefPtr< ExclusionShapeValue>, sOutsideValue, (ExclusionShapeValue::createOutsideValue()));1736 ShapeValue* RenderStyle::initialShapeInside() 1737 { 1738 DEFINE_STATIC_LOCAL(RefPtr<ShapeValue>, sOutsideValue, (ShapeValue::createOutsideValue())); 1739 1739 return sOutsideValue.get(); 1740 1740 } -
trunk/Source/WebCore/rendering/style/RenderStyle.h
r151394 r151402 35 35 #include "CounterDirectives.h" 36 36 #include "DataRef.h" 37 #include "ExclusionShapeValue.h"38 37 #include "FontBaseline.h" 39 38 #include "FontDescription.h" … … 50 49 #include "RoundedRect.h" 51 50 #include "ShadowData.h" 51 #include "ShapeValue.h" 52 52 #include "StyleBackgroundData.h" 53 53 #include "StyleBoxData.h" … … 1471 1471 #endif 1472 1472 1473 void setShapeInside(PassRefPtr< ExclusionShapeValue> value)1473 void setShapeInside(PassRefPtr<ShapeValue> value) 1474 1474 { 1475 1475 if (rareNonInheritedData->m_shapeInside == value) … … 1477 1477 rareNonInheritedData.access()->m_shapeInside = value; 1478 1478 } 1479 ExclusionShapeValue* shapeInside() const { return rareNonInheritedData->m_shapeInside.get(); }1480 ExclusionShapeValue* resolvedShapeInside() const1481 { 1482 ExclusionShapeValue* shapeInside = this->shapeInside();1483 if (shapeInside && shapeInside->type() == ExclusionShapeValue::Outside)1479 ShapeValue* shapeInside() const { return rareNonInheritedData->m_shapeInside.get(); } 1480 ShapeValue* resolvedShapeInside() const 1481 { 1482 ShapeValue* shapeInside = this->shapeInside(); 1483 if (shapeInside && shapeInside->type() == ShapeValue::Outside) 1484 1484 return shapeOutside(); 1485 1485 return shapeInside; 1486 1486 } 1487 1487 1488 void setShapeOutside(PassRefPtr< ExclusionShapeValue> value)1488 void setShapeOutside(PassRefPtr<ShapeValue> value) 1489 1489 { 1490 1490 if (rareNonInheritedData->m_shapeOutside == value) … … 1492 1492 rareNonInheritedData.access()->m_shapeOutside = value; 1493 1493 } 1494 ExclusionShapeValue* shapeOutside() const { return rareNonInheritedData->m_shapeOutside.get(); }1495 1496 static ExclusionShapeValue* initialShapeInside();1497 static ExclusionShapeValue* initialShapeOutside() { return 0; }1494 ShapeValue* shapeOutside() const { return rareNonInheritedData->m_shapeOutside.get(); } 1495 1496 static ShapeValue* initialShapeInside(); 1497 static ShapeValue* initialShapeOutside() { return 0; } 1498 1498 1499 1499 void setClipPath(PassRefPtr<ClipPathOperation> operation) -
trunk/Source/WebCore/rendering/style/ShapeValue.h
r151398 r151402 28 28 */ 29 29 30 #ifndef ExclusionShapeValue_h31 #define ExclusionShapeValue_h30 #ifndef ShapeValue_h 31 #define ShapeValue_h 32 32 33 33 #include "BasicShapes.h" … … 37 37 namespace WebCore { 38 38 39 class ExclusionShapeValue : public RefCounted<ExclusionShapeValue> {39 class ShapeValue : public RefCounted<ShapeValue> { 40 40 public: 41 enum ExclusionShapeValueType {42 // The Auto value is defined by a null ExclusionShapeValue*41 enum ShapeValueType { 42 // The Auto value is defined by a null ShapeValue* 43 43 Shape, 44 44 Outside, … … 46 46 }; 47 47 48 static PassRefPtr< ExclusionShapeValue> createShapeValue(PassRefPtr<BasicShape> shape)48 static PassRefPtr<ShapeValue> createShapeValue(PassRefPtr<BasicShape> shape) 49 49 { 50 return adoptRef(new ExclusionShapeValue(shape));50 return adoptRef(new ShapeValue(shape)); 51 51 } 52 52 53 static PassRefPtr< ExclusionShapeValue> createOutsideValue()53 static PassRefPtr<ShapeValue> createOutsideValue() 54 54 { 55 return adoptRef(new ExclusionShapeValue(Outside));55 return adoptRef(new ShapeValue(Outside)); 56 56 } 57 57 58 static PassRefPtr< ExclusionShapeValue> createImageValue(PassRefPtr<StyleImage> image)58 static PassRefPtr<ShapeValue> createImageValue(PassRefPtr<StyleImage> image) 59 59 { 60 return adoptRef(new ExclusionShapeValue(image));60 return adoptRef(new ShapeValue(image)); 61 61 } 62 62 63 ExclusionShapeValueType type() const { return m_type; }63 ShapeValueType type() const { return m_type; } 64 64 BasicShape* shape() const { return m_shape.get(); } 65 65 StyleImage* image() const { return m_image.get(); } … … 69 69 m_image = image; 70 70 } 71 bool operator==(const ExclusionShapeValue& other) const { return type() == other.type(); }71 bool operator==(const ShapeValue& other) const { return type() == other.type(); } 72 72 73 73 private: 74 ExclusionShapeValue(PassRefPtr<BasicShape> shape)74 ShapeValue(PassRefPtr<BasicShape> shape) 75 75 : m_type(Shape) 76 76 , m_shape(shape) 77 77 { 78 78 } 79 ExclusionShapeValue(ExclusionShapeValueType type)79 ShapeValue(ShapeValueType type) 80 80 : m_type(type) 81 81 { 82 82 } 83 ExclusionShapeValue(PassRefPtr<StyleImage> image)83 ShapeValue(PassRefPtr<StyleImage> image) 84 84 : m_type(Image) 85 85 , m_image(image) 86 86 { 87 87 } 88 ExclusionShapeValueType m_type;88 ShapeValueType m_type; 89 89 RefPtr<BasicShape> m_shape; 90 90 RefPtr<StyleImage> m_image; -
trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.h
r151394 r151402 31 31 #include "CursorData.h" 32 32 #include "DataRef.h" 33 #include "ExclusionShapeValue.h"34 33 #include "FillLayer.h" 35 34 #include "LineClampValue.h" 36 35 #include "NinePieceImage.h" 36 #include "ShapeValue.h" 37 37 #include <wtf/OwnPtr.h> 38 38 #include <wtf/PassRefPtr.h> … … 137 137 LengthSize m_pageSize; 138 138 139 RefPtr< ExclusionShapeValue> m_shapeInside;140 RefPtr< ExclusionShapeValue> m_shapeOutside;139 RefPtr<ShapeValue> m_shapeInside; 140 RefPtr<ShapeValue> m_shapeOutside; 141 141 Length m_shapeMargin; 142 142 Length m_shapePadding; -
trunk/Source/WebKit/CMakeLists.txt
r150837 r151402 42 42 "${WEBCORE_DIR}/plugins" 43 43 "${WEBCORE_DIR}/rendering" 44 "${WEBCORE_DIR}/rendering/shapes" 44 45 "${WEBCORE_DIR}/rendering/style" 45 46 "${WEBCORE_DIR}/storage" -
trunk/Source/WebKit/ChangeLog
r151304 r151402 1 2013-06-10 Bear Travis <betravis@adobe.com> 2 3 [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code 4 https://bugs.webkit.org/show_bug.cgi?id=117162 5 6 Reviewed by Alexandru Chiculita. 7 8 Adding the WebCore/rendering/shapes directory to the include list. 9 10 * CMakeLists.txt: 11 1 12 2013-06-06 Roger Fong <roger_fong@apple.com> 2 13 -
trunk/Source/WebKit2/CMakeLists.txt
r150921 r151402 94 94 "${WEBCORE_DIR}/plugins" 95 95 "${WEBCORE_DIR}/rendering" 96 "${WEBCORE_DIR}/rendering/shapes" 96 97 "${WEBCORE_DIR}/rendering/style" 97 98 "${WEBCORE_DIR}/storage" -
trunk/Source/WebKit2/ChangeLog
r151398 r151402 1 2013-06-10 Bear Travis <betravis@adobe.com> 2 3 [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code 4 https://bugs.webkit.org/show_bug.cgi?id=117162 5 6 Reviewed by Alexandru Chiculita. 7 8 Adding the WebCore/rendering/shapes directory to the include list. 9 10 * CMakeLists.txt: 11 1 12 2013-06-10 Iago Toral Quiroga <itoral@igalia.com> 2 13 -
trunk/Tools/ChangeLog
r151361 r151402 1 2013-06-10 Bear Travis <betravis@adobe.com> 2 3 [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code 4 https://bugs.webkit.org/show_bug.cgi?id=117162 5 6 Reviewed by Alexandru Chiculita. 7 8 Adding the WebCore/rendering/shapes directory to the include list. 9 10 * DumpRenderTree/efl/CMakeLists.txt: 11 1 12 2013-06-09 Brent Fulgham <bfulgham@apple.com> 2 13 -
trunk/Tools/DumpRenderTree/efl/CMakeLists.txt
r150376 r151402 78 78 ${WEBCORE_DIR}/plugins 79 79 ${WEBCORE_DIR}/rendering 80 ${WEBCORE_DIR}/rendering/shapes 80 81 ${WEBCORE_DIR}/rendering/style 81 82 ${WEBCORE_DIR}/history
Note: See TracChangeset
for help on using the changeset viewer.