Changeset 135314 in webkit
- Timestamp:
- Nov 20, 2012 2:39:38 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r135311 r135314 1 2012-11-20 Bear Travis <betravis@adobe.com> 2 3 [CSS Exclusions] Support outside-shape value on shape-inside 4 https://bugs.webkit.org/show_bug.cgi?id=101108 5 6 Reviewed by Dirk Schulze. 7 8 Adding tests to make sure the 'outside-shape' value properly applies only to the 9 shape-inside property. 10 11 * fast/exclusions/parsing-wrap-shape-inside-expected.txt: 12 * fast/exclusions/parsing-wrap-shape-outside-expected.txt: 13 * fast/exclusions/script-tests/parsing-wrap-shape-inside.js: 14 * fast/exclusions/script-tests/parsing-wrap-shape-outside.js: 15 1 16 2012-11-20 Jian Li <jianli@chromium.org> 2 17 -
trunk/LayoutTests/fast/exclusions/parsing-wrap-shape-inside-expected.txt
r113400 r135314 6 6 PASS testCSSText("auto") is "auto" 7 7 PASS testComputedStyle("auto") is "auto" 8 PASS testCSSText("outside-shape") is "outside-shape" 9 PASS testComputedStyle("outside-shape") is "outside-shape" 8 10 PASS testCSSText("rectangle(10px, 20px, 30px, 40px)") is "rectangle(10px, 20px, 30px, 40px)" 9 11 PASS testComputedStyle("rectangle(10px, 20px, 30px, 40px)") is "rectangle(10px, 20px, 30px, 40px)" … … 23 25 PASS testComputedStyle("polygon(nonzero, 10px 20px, 30px 40px, 40px 50px)") is "polygon(nonzero, 10px 20px, 30px 40px, 40px 50px)" 24 26 PASS testNotInherited("auto", "rectangle(10px, 20px, 30px, 40px)") is "parent: auto, child: rectangle(10px, 20px, 30px, 40px)" 27 PASS testNotInherited("outside-shape", "rectangle(10px, 20px, 30px, 40px)") is "parent: outside-shape, child: rectangle(10px, 20px, 30px, 40px)" 25 28 PASS testNotInherited("rectangle(10px, 20px, 30px, 40px)", "initial") is "parent: rectangle(10px, 20px, 30px, 40px), child: auto" 26 29 PASS testNotInherited("rectangle(10px, 20px, 30px, 40px)", "") is "parent: rectangle(10px, 20px, 30px, 40px), child: auto" -
trunk/LayoutTests/fast/exclusions/parsing-wrap-shape-outside-expected.txt
r113400 r135314 32 32 PASS testCSSText("none") is "" 33 33 PASS testComputedStyle("none") is "auto" 34 PASS testCSSText("outside-shape") is "" 35 PASS testComputedStyle("outside-shape") is "auto" 34 36 PASS testCSSText("rectangle()") is "" 35 37 PASS testComputedStyle("rectangle()") is "auto" -
trunk/LayoutTests/fast/exclusions/script-tests/parsing-wrap-shape-inside.js
r127241 r135314 59 59 60 60 test("auto", "auto"); 61 test("outside-shape", "outside-shape"); 61 62 test("rectangle(10px, 20px, 30px, 40px)", "rectangle(10px, 20px, 30px, 40px)"); 62 63 test("rectangle(10px, 20px, 30px, 40px, 5px)", "rectangle(10px, 20px, 30px, 40px, 5px)"); … … 72 73 73 74 shouldBeEqualToString('testNotInherited("auto", "rectangle(10px, 20px, 30px, 40px)")', "parent: auto, child: rectangle(10px, 20px, 30px, 40px)"); 75 shouldBeEqualToString('testNotInherited("outside-shape", "rectangle(10px, 20px, 30px, 40px)")', "parent: outside-shape, child: rectangle(10px, 20px, 30px, 40px)"); 74 76 shouldBeEqualToString('testNotInherited("rectangle(10px, 20px, 30px, 40px)", "initial")', "parent: rectangle(10px, 20px, 30px, 40px), child: auto"); 75 77 shouldBeEqualToString('testNotInherited("rectangle(10px, 20px, 30px, 40px)", "")', "parent: rectangle(10px, 20px, 30px, 40px), child: auto"); -
trunk/LayoutTests/fast/exclusions/script-tests/parsing-wrap-shape-outside.js
r127241 r135314 82 82 negative_test("calc()"); 83 83 negative_test("none"); 84 negative_test("outside-shape"); 84 85 85 86 negative_test("rectangle()"); -
trunk/Source/WebCore/ChangeLog
r135313 r135314 1 2012-11-20 Bear Travis <betravis@adobe.com> 2 3 [CSS Exclusions] Support outside-shape value on shape-inside 4 https://bugs.webkit.org/show_bug.cgi?id=101108 5 6 Reviewed by Dirk Schulze. 7 8 Shape-inside can potentially be: 'auto' | 'outside-shape' | <shape> | <url>. 9 Webkit currently supports the value 'auto' (null) and <shape> (a BasicShape*). 10 This patch adds support for the value 'outside-shape.' It adds the ExclusionShapeValue 11 class, which may be any of the three values: 'auto', 'outside-shape', or <shape>. 12 Bug 102738 tracks adding <url> support. 13 14 Modifying existing tests: 15 LayoutTests/fast/exclusions/parsing-wrap-shape-inside.html 16 LayoutTests/fast/exclusions/parsing-wrap-shape-outside.html 17 18 * GNUmakefile.list.am: Adding ExclusionShapeValue.h to the build files. 19 * Target.pri: Ditto. 20 * WebCore.gypi: Ditto. 21 * WebCore.vcproj/WebCore.vcproj: Ditto. 22 * WebCore.xcodeproj/project.pbxproj: Ditto. 23 (WebCore): 24 * css/CSSComputedStyleDeclaration.cpp: 25 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Modifying code to use 26 ExclusionShapeValue* rather than the previous BasicShape* values. 27 * css/CSSParser.cpp: 28 (WebCore::CSSParser::parseValue): Handle the outside-shape value. 29 * css/CSSValueKeywords.in: Adding outside-shape value. 30 * css/StyleBuilder.cpp: 31 (WebCore): 32 (WebCore::ApplyPropertyExclusionShape::setValue): Modify code to use 33 ExclusionShapeValue* rather than BasicShape*. 34 (WebCore::ApplyPropertyExclusionShape::applyValue): Ditto. 35 (WebCore::ApplyPropertyExclusionShape::createHandler): Ditto. 36 * page/animation/CSSPropertyAnimation.cpp: Ditto. 37 (WebCore::blendFunc): Ditto. 38 (WebCore::PropertyWrapperExclusionShape::PropertyWrapperExclusionShape): Ditto. 39 (WebCore::CSSPropertyAnimation::ensurePropertyMap): Ditto. 40 * rendering/ExclusionShapeInsideInfo.cpp: 41 (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock): 42 Ditto. 43 (WebCore::ExclusionShapeInsideInfo::computeShapeSize): Ditto. 44 * rendering/RenderBlock.cpp: 45 (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Ditto. 46 * rendering/RenderBlock.h: 47 (RenderBlock): 48 * rendering/style/ExclusionShapeValue.h: Added. 49 (WebCore): 50 (ExclusionShapeValue): New type to represent the possible values of shape-inside 51 and shape-outside. Only shape-inside can have a value of 'outside-shape.' 52 (WebCore::ExclusionShapeValue::~ExclusionShapeValue): 53 (WebCore::ExclusionShapeValue::type): Returns the value type. 54 (WebCore::ExclusionShapeValue::shape): Returns <shape> value's BasicShape*. 55 (WebCore::ExclusionShapeValue::operator==): 56 (WebCore::ExclusionShapeInfo::createShapeValue): 57 (WebCore::ExclusionShapeInfo::createOutsideValue): 58 (WebCore::ExclusionShapeValue::ExclusionShapeValue): 59 * rendering/style/RenderStyle.h: 60 * rendering/style/StyleRareNonInheritedData.h: 61 (StyleRareNonInheritedData): 62 1 63 2012-11-20 Alpha Lam <hclam@chromium.org> 2 64 -
trunk/Source/WebCore/GNUmakefile.list.am
r135310 r135314 4438 4438 Source/WebCore/rendering/style/CursorList.h \ 4439 4439 Source/WebCore/rendering/style/DataRef.h \ 4440 Source/WebCore/rendering/style/ExclusionShapeValue.h \ 4440 4441 Source/WebCore/rendering/style/FillLayer.cpp \ 4441 4442 Source/WebCore/rendering/style/FillLayer.h \ -
trunk/Source/WebCore/Target.pri
r135310 r135314 2447 2447 rendering/style/CursorData.h \ 2448 2448 rendering/style/CursorList.h \ 2449 rendering/style/ExclusionShapeValue.h \ 2449 2450 rendering/style/FillLayer.h \ 2450 2451 rendering/style/KeyframeList.h \ -
trunk/Source/WebCore/WebCore.gypi
r135310 r135314 598 598 'rendering/style/CursorList.h', 599 599 'rendering/style/DataRef.h', 600 'rendering/style/ExclusionShapeValue.h', 600 601 'rendering/style/FillLayer.h', 601 602 'rendering/style/GridPosition.h', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r135310 r135314 45444 45444 </File> 45445 45445 <File 45446 RelativePath="..\rendering\style\ExclusionShapeValue.h" 45447 > 45448 </File> 45449 <File 45446 45450 RelativePath="..\rendering\style\FillLayer.cpp" 45447 45451 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r135310 r135314 6388 6388 FD06DFA6134A4DEF006F5D7D /* DefaultAudioDestinationNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD06DFA4134A4DEF006F5D7D /* DefaultAudioDestinationNode.h */; }; 6389 6389 FD1660A513787C6D001FFA7B /* DenormalDisabler.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1660A413787C6D001FFA7B /* DenormalDisabler.h */; }; 6390 FD1AF1501656F15100C6D4F7 /* ExclusionShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6390 6391 FD23A12513F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD23A12313F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp */; }; 6391 6392 FD23A12613F5FA5900F67001 /* JSMediaElementAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD23A12413F5FA5900F67001 /* JSMediaElementAudioSourceNode.h */; }; … … 13876 13877 FD06DFA4134A4DEF006F5D7D /* DefaultAudioDestinationNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultAudioDestinationNode.h; sourceTree = "<group>"; }; 13877 13878 FD1660A413787C6D001FFA7B /* DenormalDisabler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DenormalDisabler.h; sourceTree = "<group>"; }; 13879 FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExclusionShapeValue.h; path = style/ExclusionShapeValue.h; sourceTree = "<group>"; }; 13878 13880 FD23A12313F5FA5900F67001 /* JSMediaElementAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaElementAudioSourceNode.cpp; sourceTree = "<group>"; }; 13879 13881 FD23A12413F5FA5900F67001 /* JSMediaElementAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaElementAudioSourceNode.h; sourceTree = "<group>"; }; … … 20631 20633 BC2272AC0E82E8F300E7F975 /* CursorList.h */, 20632 20634 BC22746E0E83664500E7F975 /* DataRef.h */, 20635 FD1AF14E1656F12100C6D4F7 /* ExclusionShapeValue.h */, 20633 20636 BC5EB69C0E81DAEB00B25965 /* FillLayer.cpp */, 20634 20637 BC5EB69D0E81DAEB00B25965 /* FillLayer.h */, … … 22458 22461 buildActionMask = 2147483647; 22459 22462 files = ( 22463 FD1AF1501656F15100C6D4F7 /* ExclusionShapeValue.h in Headers */, 22460 22464 BC7FA6210D1F0CBD00DB22A9 /* DynamicNodeList.h in Headers */, 22461 22465 A81369DA097374F600D74463 /* HTMLOptionsCollection.h in Headers */, -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
r135164 r135314 64 64 #include "WebKitFontFamilyNames.h" 65 65 #include <wtf/text/StringBuilder.h> 66 67 #if ENABLE(CSS_EXCLUSIONS) 68 #include "ExclusionShapeValue.h" 69 #endif 66 70 67 71 #if ENABLE(CSS_SHADERS) … … 2505 2509 if (!style->shapeInside()) 2506 2510 return cssValuePool().createIdentifierValue(CSSValueAuto); 2507 return valueForBasicShape(style->shapeInside()); 2511 else if (style->shapeInside()->type() == ExclusionShapeValue::OUTSIDE) 2512 return cssValuePool().createIdentifierValue(CSSValueOutsideShape); 2513 ASSERT(style->shapeInside()->type() == ExclusionShapeValue::SHAPE); 2514 return valueForBasicShape(style->shapeInside()->shape()); 2508 2515 case CSSPropertyWebkitShapeOutside: 2509 2516 if (!style->shapeOutside()) 2510 2517 return cssValuePool().createIdentifierValue(CSSValueAuto); 2511 return valueForBasicShape(style->shapeOutside()); 2518 ASSERT(style->shapeOutside()->type() == ExclusionShapeValue::SHAPE); 2519 return valueForBasicShape(style->shapeOutside()->shape()); 2512 2520 case CSSPropertyWebkitWrapThrough: 2513 2521 return cssValuePool().createValue(style->wrapThrough()); -
trunk/Source/WebCore/css/CSSParser.cpp
r135136 r135314 2735 2735 return false; 2736 2736 if (id == CSSValueAuto) 2737 validPrimitive = true; 2738 else if (propId == CSSPropertyWebkitShapeInside && id == CSSValueOutsideShape) 2737 2739 validPrimitive = true; 2738 2740 else if (value->unit == CSSParserValue::Function) -
trunk/Source/WebCore/css/CSSValueKeywords.in
r133458 r135314 915 915 -webkit-optimize-contrast 916 916 917 // -webkit-wrap-shape 917 // -webkit-shape-inside 918 // -webkit-shape-outside 918 919 nonzero 919 920 evenodd 921 outside-shape 920 922 921 923 // -webkit-region-overflow -
trunk/Source/WebCore/css/StyleBuilder.cpp
r134433 r135314 47 47 #include <wtf/StdLibExtras.h> 48 48 #include <wtf/UnusedParam.h> 49 50 #if ENABLE(CSS_EXCLUSIONS) 51 #include "ExclusionShapeValue.h" 52 #endif 49 53 50 54 using namespace std; … … 1717 1721 1718 1722 #if ENABLE(CSS_EXCLUSIONS) 1719 template < BasicShape* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<BasicShape>), BasicShape* (*initialFunction)()>1723 template <ExclusionShapeValue* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<ExclusionShapeValue>), ExclusionShapeValue* (*initialFunction)()> 1720 1724 class ApplyPropertyExclusionShape { 1721 1725 public: 1722 static void setValue(RenderStyle* style, PassRefPtr< BasicShape> value) { (style->*setterFunction)(value); }1726 static void setValue(RenderStyle* style, PassRefPtr<ExclusionShapeValue> value) { (style->*setterFunction)(value); } 1723 1727 static void applyValue(CSSPropertyID, StyleResolver* styleResolver, CSSValue* value) 1724 1728 { … … 1727 1731 if (primitiveValue->getIdent() == CSSValueAuto) 1728 1732 setValue(styleResolver->style(), 0); 1733 // FIXME Bug 102571: Layout for the value 'outside-shape' is not yet implemented 1734 else if (primitiveValue->getIdent() == CSSValueOutsideShape) 1735 setValue(styleResolver->style(), ExclusionShapeValue::createOutsideValue()); 1729 1736 else if (primitiveValue->isShape()) { 1730 RefPtr< BasicShape> shape = basicShapeForValue(styleResolver, primitiveValue->getShapeValue());1737 RefPtr<ExclusionShapeValue> shape = ExclusionShapeValue::createShapeValue(basicShapeForValue(styleResolver, primitiveValue->getShapeValue())); 1731 1738 setValue(styleResolver->style(), shape.release()); 1732 1739 } … … 1735 1742 static PropertyHandler createHandler() 1736 1743 { 1737 PropertyHandler handler = ApplyPropertyDefaultBase< BasicShape*, getterFunction, PassRefPtr<BasicShape>, setterFunction, BasicShape*, initialFunction>::createHandler();1744 PropertyHandler handler = ApplyPropertyDefaultBase<ExclusionShapeValue*, getterFunction, PassRefPtr<ExclusionShapeValue>, setterFunction, ExclusionShapeValue*, initialFunction>::createHandler(); 1738 1745 return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue); 1739 1746 } -
trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp
r134736 r135314 144 144 145 145 #if ENABLE(CSS_EXCLUSIONS) 146 static inline PassRefPtr<BasicShape> blendFunc(const AnimationBase*, BasicShape* from, BasicShape* to, double progress) 147 { 148 if (!from->canBlend(to)) 146 static inline PassRefPtr<ExclusionShapeValue> blendFunc(const AnimationBase*, ExclusionShapeValue* from, ExclusionShapeValue* to, double progress) 147 { 148 // FIXME Bug 102723: Shape-inside should be able to animate a value of 'outside-shape' when shape-outside is set to a BasicShape 149 if (from->type() != ExclusionShapeValue::SHAPE || to->type() != ExclusionShapeValue::SHAPE) 149 150 return to; 150 151 151 return to->blend(from, progress); 152 const BasicShape* fromShape = from->shape(); 153 const BasicShape* toShape = to->shape(); 154 155 if (!fromShape->canBlend(toShape)) 156 return to; 157 158 return ExclusionShapeValue::createShapeValue(toShape->blend(fromShape, progress)); 152 159 } 153 160 #endif … … 405 412 406 413 #if ENABLE(CSS_EXCLUSIONS) 407 class PropertyWrapper BasicShape : public RefCountedPropertyWrapper<BasicShape> {408 public: 409 PropertyWrapper BasicShape(CSSPropertyID prop, BasicShape* (RenderStyle::*getter)() const, void (RenderStyle::*setter)(PassRefPtr<BasicShape>))410 : RefCountedPropertyWrapper< BasicShape>(prop, getter, setter)414 class PropertyWrapperExclusionShape : public RefCountedPropertyWrapper<ExclusionShapeValue> { 415 public: 416 PropertyWrapperExclusionShape(CSSPropertyID prop, ExclusionShapeValue* (RenderStyle::*getter)() const, void (RenderStyle::*setter)(PassRefPtr<ExclusionShapeValue>)) 417 : RefCountedPropertyWrapper<ExclusionShapeValue>(prop, getter, setter) 411 418 { 412 419 } … … 1163 1170 1164 1171 #if ENABLE(CSS_EXCLUSIONS) 1165 gPropertyWrappers->append(new PropertyWrapper BasicShape(CSSPropertyWebkitShapeInside, &RenderStyle::shapeInside, &RenderStyle::setShapeInside));1172 gPropertyWrappers->append(new PropertyWrapperExclusionShape(CSSPropertyWebkitShapeInside, &RenderStyle::shapeInside, &RenderStyle::setShapeInside)); 1166 1173 #endif 1167 1174 -
trunk/Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp
r132127 r135314 73 73 { 74 74 // FIXME: Bug 89707: Enable shape inside for non-rectangular shapes 75 BasicShape* shape = block->style()->shapeInside(); 75 ExclusionShapeValue* shapeValue = block->style()->shapeInside(); 76 BasicShape* shape = (shapeValue && shapeValue->type() == ExclusionShapeValue::SHAPE) ? shapeValue->shape() : 0; 76 77 return shape && (shape->type() == BasicShape::BASIC_SHAPE_RECTANGLE || shape->type() == BasicShape::BASIC_SHAPE_POLYGON); 77 78 } … … 94 95 95 96 // FIXME: Bug 89993: The wrap shape may come from the parent object 96 BasicShape* shape = m_block->style()->shapeInside(); 97 ExclusionShapeValue* shapeValue = m_block->style()->shapeInside(); 98 BasicShape* shape = (shapeValue && shapeValue->type() == ExclusionShapeValue::SHAPE) ? shapeValue->shape() : 0; 99 97 100 ASSERT(shape); 98 101 -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r134505 r135314 1399 1399 1400 1400 #if ENABLE(CSS_EXCLUSIONS) 1401 void RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange(const BasicShape* shapeInside, const BasicShape* oldShapeInside)1401 void RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange(const ExclusionShapeValue* shapeInside, const ExclusionShapeValue* oldShapeInside) 1402 1402 { 1403 1403 // FIXME: A future optimization would do a deep comparison for equality. -
trunk/Source/WebCore/rendering/RenderBlock.h
r133845 r135314 37 37 #if ENABLE(CSS_EXCLUSIONS) 38 38 #include "ExclusionShapeInsideInfo.h" 39 #include "ExclusionShapeValue.h" 39 40 #endif 40 41 … … 522 523 #if ENABLE(CSS_EXCLUSIONS) 523 524 void computeExclusionShapeSize(); 524 void updateExclusionShapeInsideInfoAfterStyleChange(const BasicShape*, const BasicShape* oldWrapShape);525 void updateExclusionShapeInsideInfoAfterStyleChange(const ExclusionShapeValue*, const ExclusionShapeValue* oldExclusionShape); 525 526 #endif 526 527 virtual RenderObjectChildList* virtualChildren() { return children(); } -
trunk/Source/WebCore/rendering/style/RenderStyle.h
r135164 r135314 35 35 #include "CounterDirectives.h" 36 36 #include "DataRef.h" 37 #include "ExclusionShapeValue.h" 37 38 #include "FontBaseline.h" 38 39 #include "FontDescription.h" … … 1456 1457 #endif 1457 1458 1458 void setShapeInside(PassRefPtr<BasicShape> shape) 1459 { 1460 if (rareNonInheritedData->m_shapeInside != shape) 1461 rareNonInheritedData.access()->m_shapeInside = shape; 1462 } 1463 BasicShape* shapeInside() const { return rareNonInheritedData->m_shapeInside.get(); } 1464 1465 void setShapeOutside(PassRefPtr<BasicShape> shape) 1466 { 1467 if (rareNonInheritedData->m_shapeOutside != shape) 1468 rareNonInheritedData.access()->m_shapeOutside = shape; 1469 } 1470 BasicShape* shapeOutside() const { return rareNonInheritedData->m_shapeOutside.get(); } 1471 1472 static BasicShape* initialShapeInside() { return 0; } 1473 static BasicShape* initialShapeOutside() { return 0; } 1459 void setShapeInside(PassRefPtr<ExclusionShapeValue> value) 1460 { 1461 if (rareNonInheritedData->m_shapeInside == value) 1462 return; 1463 rareNonInheritedData.access()->m_shapeInside = value; 1464 } 1465 ExclusionShapeValue* shapeInside() const { return rareNonInheritedData->m_shapeInside.get(); } 1466 1467 void setShapeOutside(PassRefPtr<ExclusionShapeValue> value) 1468 { 1469 if (rareNonInheritedData->m_shapeOutside == value) 1470 return; 1471 rareNonInheritedData.access()->m_shapeOutside = value; 1472 } 1473 ExclusionShapeValue* shapeOutside() const { return rareNonInheritedData->m_shapeOutside.get(); } 1474 1475 static ExclusionShapeValue* initialShapeInside() { return 0; } 1476 static ExclusionShapeValue* initialShapeOutside() { return 0; } 1474 1477 1475 1478 void setClipPath(PassRefPtr<ClipPathOperation> operation) -
trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.h
r134433 r135314 31 31 #include "CursorData.h" 32 32 #include "DataRef.h" 33 #include "ExclusionShapeValue.h" 33 34 #include "FillLayer.h" 34 35 #include "LineClampValue.h" … … 138 139 LengthSize m_pageSize; 139 140 140 RefPtr< BasicShape> m_shapeInside;141 RefPtr< BasicShape> m_shapeOutside;141 RefPtr<ExclusionShapeValue> m_shapeInside; 142 RefPtr<ExclusionShapeValue> m_shapeOutside; 142 143 Length m_shapeMargin; 143 144 Length m_shapePadding;
Note: See TracChangeset
for help on using the changeset viewer.