+2011-11-23 Mihnea Ovidenie <mihnea@adobe.com>
+
+ CSS Exclusions: update the name of the shape CSS properties
+ https://bugs.webkit.org/show_bug.cgi?id=71898
+ Instead of a single wrap-shape property, we have wrap-shape-inside and wrap-shape-outside.
+
+ Reviewed by Dean Jackson.
+
+ * fast/exclusions/parsing-wrap-shape-inside-expected.txt: Copied from LayoutTests/fast/exclusions/parsing-wrap-shape-expected.txt.
+ * fast/exclusions/parsing-wrap-shape-inside.html: Copied from LayoutTests/fast/exclusions/parsing-wrap-shape.html.
+ * fast/exclusions/parsing-wrap-shape-outside-expected.txt: Renamed from LayoutTests/fast/exclusions/parsing-wrap-shape-expected.txt.
+ * fast/exclusions/parsing-wrap-shape-outside.html: Renamed from LayoutTests/fast/exclusions/parsing-wrap-shape.html.
+ * fast/exclusions/script-tests/parsing-wrap-shape-inside.js: Copied from LayoutTests/fast/exclusions/script-tests/parsing-wrap-shape.js.
+ * fast/exclusions/script-tests/parsing-wrap-shape-outside.js: Renamed from LayoutTests/fast/exclusions/script-tests/parsing-wrap-shape.js.
+
2011-11-22 Csaba Osztrogonác <ossy@webkit.org>
[Qt][GTK] editing/spelling/spellcheck-async.html fails
-Testing the parsing of the -webkit-wrap-shape property.
+Testing the parsing of the -webkit-wrap-shape-inside property.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
<script src="../js/resources/js-test-pre.js"></script>
</head>
<body>
-<script src="script-tests/parsing-wrap-shape.js"></script>
+<script src="script-tests/parsing-wrap-shape-inside.js"></script>
<script src="../js/resources/js-test-post.js"></script>
</body>
</html>
--- /dev/null
+Testing the parsing of the -webkit-wrap-shape-outside property.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS testCSSText("auto") is "auto"
+PASS testComputedStyle("auto") is "auto"
+PASS testCSSText("rect(10px, 20px, 30px, 40px)") is "rect(10px, 20px, 30px, 40px)"
+PASS testComputedStyle("rect(10px, 20px, 30px, 40px)") is "rect(10px, 20px, 30px, 40px)"
+PASS testCSSText("rect(10px, 20px, 30px, 40px, 5px)") is "rect(10px, 20px, 30px, 40px, 5px)"
+PASS testComputedStyle("rect(10px, 20px, 30px, 40px, 5px)") is "rect(10px, 20px, 30px, 40px, 5px)"
+PASS testCSSText("rect(10px, 20px, 30px, 40px, 5px, 10px)") is "rect(10px, 20px, 30px, 40px, 5px, 10px)"
+PASS testComputedStyle("rect(10px, 20px, 30px, 40px, 5px, 10px)") is "rect(10px, 20px, 30px, 40px, 5px, 10px)"
+PASS testCSSText("circle(10px, 20px, 30px)") is "circle(10px, 20px, 30px)"
+PASS testComputedStyle("circle(10px, 20px, 30px)") is "circle(10px, 20px, 30px)"
+PASS testCSSText("ellipse(10px, 20px, 30px, 40px)") is "ellipse(10px, 20px, 30px, 40px)"
+PASS testComputedStyle("ellipse(10px, 20px, 30px, 40px)") is "ellipse(10px, 20px, 30px, 40px)"
+PASS testCSSText("polygon(10px, 20px 30px, 40px 40px, 50px)") is "polygon(nonzero, 10px, 20px 30px, 40px 40px, 50px)"
+PASS testComputedStyle("polygon(10px, 20px 30px, 40px 40px, 50px)") is "polygon(nonzero, 10px, 20px 30px, 40px 40px, 50px)"
+PASS testCSSText("polygon(evenodd, 10px, 20px 30px, 40px 40px, 50px)") is "polygon(evenodd, 10px, 20px 30px, 40px 40px, 50px)"
+PASS testComputedStyle("polygon(evenodd, 10px, 20px 30px, 40px 40px, 50px)") is "polygon(evenodd, 10px, 20px 30px, 40px 40px, 50px)"
+PASS testCSSText("polygon(nonzero, 10px, 20px 30px, 40px 40px, 50px)") is "polygon(nonzero, 10px, 20px 30px, 40px 40px, 50px)"
+PASS testComputedStyle("polygon(nonzero, 10px, 20px 30px, 40px 40px, 50px)") is "polygon(nonzero, 10px, 20px 30px, 40px 40px, 50px)"
+PASS testNotInherited("auto", "rect(10px, 20px, 30px, 40px)") is "parent: auto, child: rect(10px, 20px, 30px, 40px)"
+PASS testNotInherited("rect(10px, 20px, 30px, 40px)", "initial") is "parent: rect(10px, 20px, 30px, 40px), child: auto"
+PASS testNotInherited("rect(10px, 20px, 30px, 40px)", "") is "parent: rect(10px, 20px, 30px, 40px), child: auto"
+PASS testNotInherited("rect(10px, 20px, 30px, 40px)", "inherit") is "parent: rect(10px, 20px, 30px, 40px), child: rect(10px, 20px, 30px, 40px)"
+PASS testNotInherited("", "inherit") is "parent: auto, child: auto"
+PASS testNotInherited("auto", "inherit") is "parent: auto, child: auto"
+PASS testCSSText("calc()") is ""
+PASS testComputedStyle("calc()") is "auto"
+PASS testCSSText("none") is ""
+PASS testComputedStyle("none") is "auto"
+PASS testCSSText("rect()") is ""
+PASS testComputedStyle("rect()") is "auto"
+PASS testCSSText("rect(10px)") is ""
+PASS testComputedStyle("rect(10px)") is "auto"
+PASS testCSSText("rect(10px, 10px)") is ""
+PASS testComputedStyle("rect(10px, 10px)") is "auto"
+PASS testCSSText("rect(10px, 20px, 30px)") is ""
+PASS testComputedStyle("rect(10px, 20px, 30px)") is "auto"
+PASS testCSSText("rect(10px 20px 30px 40px)") is ""
+PASS testComputedStyle("rect(10px 20px 30px 40px)") is "auto"
+PASS testCSSText("rect(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is ""
+PASS testComputedStyle("rect(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is "auto"
+PASS testCSSText("circle()") is ""
+PASS testComputedStyle("circle()") is "auto"
+PASS testCSSText("circle(10px)") is ""
+PASS testComputedStyle("circle(10px)") is "auto"
+PASS testCSSText("circle(10px, 20px)") is ""
+PASS testComputedStyle("circle(10px, 20px)") is "auto"
+PASS testCSSText("circle(10px 20px 30px)") is ""
+PASS testComputedStyle("circle(10px 20px 30px)") is "auto"
+PASS testCSSText("circle(10px, 20px, 30px, 40px)") is ""
+PASS testComputedStyle("circle(10px, 20px, 30px, 40px)") is "auto"
+PASS testCSSText("ellipse()") is ""
+PASS testComputedStyle("ellipse()") is "auto"
+PASS testCSSText("ellipse(10px)") is ""
+PASS testComputedStyle("ellipse(10px)") is "auto"
+PASS testCSSText("ellipse(10px, 20px)") is ""
+PASS testComputedStyle("ellipse(10px, 20px)") is "auto"
+PASS testCSSText("ellipse(10px, 20px, 30px)") is ""
+PASS testComputedStyle("ellipse(10px, 20px, 30px)") is "auto"
+PASS testCSSText("ellipse(10px 20px 30px 40px)") is ""
+PASS testComputedStyle("ellipse(10px 20px 30px 40px)") is "auto"
+PASS testCSSText("polygon()") is ""
+PASS testComputedStyle("polygon()") is "auto"
+PASS testCSSText("polygon(evenodd 10px, 20px 30px, 40px 40px, 50px)") is ""
+PASS testComputedStyle("polygon(evenodd 10px, 20px 30px, 40px 40px, 50px)") is "auto"
+PASS testCSSText("polygon(nonzero 10px, 20px 30px, 40px 40px, 50px)") is ""
+PASS testComputedStyle("polygon(nonzero 10px, 20px 30px, 40px 40px, 50px)") is "auto"
+PASS testCSSText("polygon(nonzero)") is ""
+PASS testComputedStyle("polygon(nonzero)") is "auto"
+PASS testCSSText("polygon(evenodd)") is ""
+PASS testComputedStyle("polygon(evenodd)") is "auto"
+PASS testCSSText("polygon(10px)") is ""
+PASS testComputedStyle("polygon(10px)") is "auto"
+PASS testCSSText("polygon(nonzero,10px)") is ""
+PASS testComputedStyle("polygon(nonzero,10px)") is "auto"
+PASS testCSSText("polygon(evenodd,12px)") is ""
+PASS testComputedStyle("polygon(evenodd,12px)") is "auto"
+PASS testCSSText("polygon(10px, 20px, 30px, 40px, 40px, 50px)") is ""
+PASS testComputedStyle("polygon(10px, 20px, 30px, 40px, 40px, 50px)") is "auto"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<script src="script-tests/parsing-wrap-shape-outside.js"></script>
+<script src="../js/resources/js-test-post.js"></script>
+</body>
+</html>
-description('Testing the parsing of the -webkit-wrap-shape property.');
+description('Testing the parsing of the -webkit-wrap-shape-inside property.');
function testCSSText(declaration, expected)
{
var element = document.createElement("div");
- element.style.cssText = "-webkit-wrap-shape: " + declaration;
- return element.style.webkitWrapShape;
+ element.style.cssText = "-webkit-wrap-shape-inside: " + declaration;
+ return element.style.webkitWrapShapeInside;
}
function testComputedStyle(value, expected) {
var element = document.createElement("div");
document.body.appendChild(element);
- element.style.setProperty("-webkit-wrap-shape", value);
-
+ element.style.setProperty("-webkit-wrap-shape-inside", value);
+
var computedStyle = getComputedStyle(element);
- var actualValue = computedStyle.getPropertyValue("-webkit-wrap-shape");
+ var actualValue = computedStyle.getPropertyValue("-webkit-wrap-shape-inside");
document.body.removeChild(element);
return actualValue;
function testNotInherited(parentValue, childValue) {
var parentElement = document.createElement("div");
document.body.appendChild(parentElement);
- parentElement.style.setProperty("-webkit-wrap-shape", parentValue);
+ parentElement.style.setProperty("-webkit-wrap-shape-inside", parentValue);
var childElement = document.createElement("div");
parentElement.appendChild(childElement);
- childElement.style.setProperty("-webkit-wrap-shape", childValue);
+ childElement.style.setProperty("-webkit-wrap-shape-inside", childValue);
var parentComputedStyle = getComputedStyle(parentElement);
- var parentActual = parentComputedStyle.getPropertyValue('-webkit-wrap-shape')
-
+ var parentActual = parentComputedStyle.getPropertyValue('-webkit-wrap-shape-inside')
+
var childComputedStyle = getComputedStyle(childElement);
- var childActual = childComputedStyle.getPropertyValue('-webkit-wrap-shape')
-
+ var childActual = childComputedStyle.getPropertyValue('-webkit-wrap-shape-inside')
+
parentElement.removeChild(childElement);
document.body.removeChild(parentElement);
-
+
return "parent: " + parentActual + ", child: " + childActual;
}
--- /dev/null
+description('Testing the parsing of the -webkit-wrap-shape-outside property.');
+
+function testCSSText(declaration, expected)
+{
+ var element = document.createElement("div");
+ element.style.cssText = "-webkit-wrap-shape-outside: " + declaration;
+ return element.style.webkitWrapShapeOutside;
+}
+
+function testComputedStyle(value, expected) {
+ var element = document.createElement("div");
+ document.body.appendChild(element);
+ element.style.setProperty("-webkit-wrap-shape-outside", value);
+
+ var computedStyle = getComputedStyle(element);
+ var actualValue = computedStyle.getPropertyValue("-webkit-wrap-shape-outside");
+ document.body.removeChild(element);
+
+ return actualValue;
+}
+
+function testNotInherited(parentValue, childValue) {
+ var parentElement = document.createElement("div");
+ document.body.appendChild(parentElement);
+ parentElement.style.setProperty("-webkit-wrap-shape-outside", parentValue);
+
+ var childElement = document.createElement("div");
+ parentElement.appendChild(childElement);
+ childElement.style.setProperty("-webkit-wrap-shape-outside", childValue);
+
+ var parentComputedStyle = getComputedStyle(parentElement);
+ var parentActual = parentComputedStyle.getPropertyValue('-webkit-wrap-shape-outside')
+
+ var childComputedStyle = getComputedStyle(childElement);
+ var childActual = childComputedStyle.getPropertyValue('-webkit-wrap-shape-outside')
+
+ parentElement.removeChild(childElement);
+ document.body.removeChild(parentElement);
+
+ return "parent: " + parentActual + ", child: " + childActual;
+}
+
+function test(value, expected) {
+ var unevaledString = '"' + value.replace(/\\/g, "\\\\").replace(/"/g, "\"").replace(/\n/g, "\\n").replace(/\r/g, "\\r") + '"';
+ shouldBeEqualToString('testCSSText(' + unevaledString + ')', expected);
+ shouldBeEqualToString('testComputedStyle(' + unevaledString + ')', expected);
+}
+
+function negative_test(value) {
+ var unevaledString = '"' + value.replace(/\\/g, "\\\\").replace(/"/g, "\"").replace(/\n/g, "\\n").replace(/\r/g, "\\r") + '"';
+ shouldBeEqualToString('testCSSText(' + unevaledString + ')', '');
+ shouldBeEqualToString('testComputedStyle(' + unevaledString + ')', 'auto');
+}
+
+// positive tests
+
+test("auto", "auto");
+test("rect(10px, 20px, 30px, 40px)", "rect(10px, 20px, 30px, 40px)");
+test("rect(10px, 20px, 30px, 40px, 5px)", "rect(10px, 20px, 30px, 40px, 5px)");
+test("rect(10px, 20px, 30px, 40px, 5px, 10px)", "rect(10px, 20px, 30px, 40px, 5px, 10px)");
+
+test("circle(10px, 20px, 30px)", "circle(10px, 20px, 30px)");
+
+test("ellipse(10px, 20px, 30px, 40px)", "ellipse(10px, 20px, 30px, 40px)");
+
+test("polygon(10px, 20px 30px, 40px 40px, 50px)", "polygon(nonzero, 10px, 20px 30px, 40px 40px, 50px)");
+test("polygon(evenodd, 10px, 20px 30px, 40px 40px, 50px)", "polygon(evenodd, 10px, 20px 30px, 40px 40px, 50px)");
+test("polygon(nonzero, 10px, 20px 30px, 40px 40px, 50px)", "polygon(nonzero, 10px, 20px 30px, 40px 40px, 50px)");
+
+shouldBeEqualToString('testNotInherited("auto", "rect(10px, 20px, 30px, 40px)")', "parent: auto, child: rect(10px, 20px, 30px, 40px)");
+shouldBeEqualToString('testNotInherited("rect(10px, 20px, 30px, 40px)", "initial")', "parent: rect(10px, 20px, 30px, 40px), child: auto");
+shouldBeEqualToString('testNotInherited("rect(10px, 20px, 30px, 40px)", "")', "parent: rect(10px, 20px, 30px, 40px), child: auto");
+shouldBeEqualToString('testNotInherited("rect(10px, 20px, 30px, 40px)", "inherit")', "parent: rect(10px, 20px, 30px, 40px), child: rect(10px, 20px, 30px, 40px)");
+shouldBeEqualToString('testNotInherited("", "inherit")', "parent: auto, child: auto");
+shouldBeEqualToString('testNotInherited("auto", "inherit")', "parent: auto, child: auto");
+
+// negative tests
+
+negative_test("calc()");
+negative_test("none");
+
+negative_test("rect()");
+negative_test("rect(10px)");
+negative_test("rect(10px, 10px)");
+negative_test("rect(10px, 20px, 30px)");
+negative_test("rect(10px 20px 30px 40px)");
+negative_test("rect(10px, 20px, 30px, 40px, 50px, 60px, 70px)");
+
+negative_test("circle()");
+negative_test("circle(10px)");
+negative_test("circle(10px, 20px)");
+negative_test("circle(10px 20px 30px)");
+negative_test("circle(10px, 20px, 30px, 40px)");
+
+negative_test("ellipse()");
+negative_test("ellipse(10px)");
+negative_test("ellipse(10px, 20px)");
+negative_test("ellipse(10px, 20px, 30px)");
+negative_test("ellipse(10px 20px 30px 40px)");
+
+negative_test("polygon()");
+negative_test("polygon(evenodd 10px, 20px 30px, 40px 40px, 50px)");
+negative_test("polygon(nonzero 10px, 20px 30px, 40px 40px, 50px)");
+negative_test("polygon(nonzero)");
+negative_test("polygon(evenodd)");
+negative_test("polygon(10px)");
+negative_test("polygon(nonzero,10px)");
+negative_test("polygon(evenodd,12px)");
+negative_test("polygon(10px, 20px, 30px, 40px, 40px, 50px)");
+2011-11-23 Mihnea Ovidenie <mihnea@adobe.com>
+
+ CSS Exclusions: update the name of the shape CSS properties
+ https://bugs.webkit.org/show_bug.cgi?id=71898
+ Instead of a single wrap-shape property, we have wrap-shape-inside and wrap-shape-outside.
+
+ Reviewed by Dean Jackson.
+
+ Tests: fast/exclusions/parsing-wrap-shape-inside.html
+ fast/exclusions/parsing-wrap-shape-outside.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseWrapShape):
+ * css/CSSParser.h:
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty):
+ * css/CSSPropertyNames.in:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::setWrapShapeInside):
+ (WebCore::InheritedFlags::wrapShapeInside):
+ (WebCore::InheritedFlags::setWrapShapeOutside):
+ (WebCore::InheritedFlags::wrapShapeOutside):
+ (WebCore::InheritedFlags::initialWrapShapeInside):
+ (WebCore::InheritedFlags::initialWrapShapeOutside):
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+ (WebCore::StyleRareNonInheritedData::operator==):
+ * rendering/style/StyleRareNonInheritedData.h:
+
2011-11-23 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extensions API] avoid exception in initExtensions() if elements panel is not present
case CSSPropertyWebkitTransition:
break;
- case CSSPropertyWebkitWrapShape:
- if (!style->wrapShape())
+ case CSSPropertyWebkitWrapShapeInside:
+ if (!style->wrapShapeInside())
return primitiveValueCache->createIdentifierValue(CSSValueAuto);
+ return primitiveValueCache->createValue(style->wrapShapeInside());
- return primitiveValueCache->createValue(style->wrapShape());
+ case CSSPropertyWebkitWrapShapeOutside:
+ if (!style->wrapShapeOutside())
+ return primitiveValueCache->createIdentifierValue(CSSValueAuto);
+ return primitiveValueCache->createValue(style->wrapShapeOutside());
case CSSPropertyWebkitWrapFlow:
return primitiveValueCache->createValue(style->wrapFlow());
return parseFontFeatureSettings(important);
break;
- case CSSPropertyWebkitWrapShape:
+ case CSSPropertyWebkitWrapShapeInside:
+ case CSSPropertyWebkitWrapShapeOutside:
if (id == CSSValueAuto)
validPrimitive = true;
else if (value->unit == CSSParserValue::Function)
- return parseWrapShape(important);
+ return parseWrapShape((propId == CSSPropertyWebkitWrapShapeInside), important);
break;
case CSSPropertyWebkitWrapFlow:
if (id == CSSValueAuto || id == CSSValueBoth || id == CSSValueLeft || id == CSSValueRight || id == CSSValueMaximum || id == CSSValueClear)
return shape;
}
-bool CSSParser::parseWrapShape(bool important)
+bool CSSParser::parseWrapShape(bool shapeInside, bool important)
{
CSSParserValue* value = m_valueList->current();
CSSParserValueList* args = value->function->args.get();
shape = parseWrapShapePolygon(args);
if (shape) {
- addProperty(CSSPropertyWebkitWrapShape, primitiveValueCache()->createValue(shape.release()), important);
+ addProperty(shapeInside ? CSSPropertyWebkitWrapShapeInside : CSSPropertyWebkitWrapShapeOutside, primitiveValueCache()->createValue(shape.release()), important);
m_valueList->next();
return true;
}
bool parseShape(int propId, bool important);
- bool parseWrapShape(bool important);
+ bool parseWrapShape(bool shapeInside, bool important);
PassRefPtr<CSSWrapShape> parseWrapShapeRect(CSSParserValueList* args);
PassRefPtr<CSSWrapShape> parseWrapShapeCircle(CSSParserValueList* args);
PassRefPtr<CSSWrapShape> parseWrapShapeEllipse(CSSParserValueList* args);
case CSSPropertyWebkitFlowInto:
case CSSPropertyWebkitFlowFrom:
case CSSPropertyWebkitRegionOverflow:
- case CSSPropertyWebkitWrapShape:
+ case CSSPropertyWebkitWrapShapeInside:
+ case CSSPropertyWebkitWrapShapeOutside:
case CSSPropertyWebkitWrapMargin:
case CSSPropertyWebkitWrapPadding:
case CSSPropertyWebkitRegionBreakAfter:
-webkit-flow-into
-webkit-flow-from
-webkit-region-overflow
--webkit-wrap-shape
+-webkit-wrap-shape-inside
+-webkit-wrap-shape-outside
-webkit-wrap-margin
-webkit-wrap-padding
-webkit-region-break-after
HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(columnAxis, ColumnAxis);
return;
- case CSSPropertyWebkitWrapShape:
- HANDLE_INHERIT_AND_INITIAL(wrapShape, WrapShape);
+ case CSSPropertyWebkitWrapShapeInside:
+ HANDLE_INHERIT_AND_INITIAL(wrapShapeInside, WrapShapeInside);
if (!primitiveValue)
return;
-
if (primitiveValue->getIdent() == CSSValueAuto)
- m_style->setWrapShape(0);
+ m_style->setWrapShapeInside(0);
else if (primitiveValue->primitiveType() == CSSPrimitiveValue::CSS_SHAPE)
- m_style->setWrapShape(primitiveValue->getShapeValue());
+ m_style->setWrapShapeInside(primitiveValue->getShapeValue());
+ return;
+ case CSSPropertyWebkitWrapShapeOutside:
+ HANDLE_INHERIT_AND_INITIAL(wrapShapeOutside, WrapShapeOutside);
+ if (!primitiveValue)
+ return;
+ if (primitiveValue->getIdent() == CSSValueAuto)
+ m_style->setWrapShapeOutside(0);
+ else if (primitiveValue->primitiveType() == CSSPrimitiveValue::CSS_SHAPE)
+ m_style->setWrapShapeOutside(primitiveValue->getShapeValue());
return;
case CSSPropertyWebkitWrapFlow:
// the parent container. For sure, I will have to revisit this code, but for now I've added this in order
// to avoid having diff() == StyleDifferenceEqual where wrap-shapes actually differ.
// Tracking bug: https://bugs.webkit.org/show_bug.cgi?id=62991
- if (rareNonInheritedData->m_wrapShape != other->rareNonInheritedData->m_wrapShape)
+ if (rareNonInheritedData->m_wrapShapeInside != other->rareNonInheritedData->m_wrapShapeInside
+ || rareNonInheritedData->m_wrapShapeOutside != other->rareNonInheritedData->m_wrapShapeOutside)
return StyleDifferenceRepaint;
#if USE(ACCELERATED_COMPOSITING)
void setKerning(SVGLength k) { accessSVGStyle()->setKerning(k); }
#endif
- void setWrapShape(PassRefPtr<CSSWrapShape> shape)
+ void setWrapShapeInside(PassRefPtr<CSSWrapShape> shape)
{
- if (rareNonInheritedData->m_wrapShape != shape)
- rareNonInheritedData.access()->m_wrapShape = shape;
+ if (rareNonInheritedData->m_wrapShapeInside != shape)
+ rareNonInheritedData.access()->m_wrapShapeInside = shape;
}
- CSSWrapShape* wrapShape() const { return rareNonInheritedData->m_wrapShape.get(); }
- static CSSWrapShape* initialWrapShape() { return 0; }
+ CSSWrapShape* wrapShapeInside() const { return rareNonInheritedData->m_wrapShapeInside.get(); }
+
+ void setWrapShapeOutside(PassRefPtr<CSSWrapShape> shape)
+ {
+ if (rareNonInheritedData->m_wrapShapeOutside != shape)
+ rareNonInheritedData.access()->m_wrapShapeOutside = shape;
+ }
+ CSSWrapShape* wrapShapeOutside() const { return rareNonInheritedData->m_wrapShapeOutside.get(); }
+
+ static CSSWrapShape* initialWrapShapeInside() { return 0; }
+ static CSSWrapShape* initialWrapShapeOutside() { return 0; }
Length wrapPadding() const { return rareNonInheritedData->m_wrapPadding; }
void setWrapPadding(Length wrapPadding) { SET_VAR(rareNonInheritedData, m_wrapPadding, wrapPadding); }
, lineClamp(RenderStyle::initialLineClamp())
, m_mask(FillLayer(MaskFillLayer))
, m_pageSize()
- , m_wrapShape(RenderStyle::initialWrapShape())
+ , m_wrapShapeInside(RenderStyle::initialWrapShapeInside())
+ , m_wrapShapeOutside(RenderStyle::initialWrapShapeOutside())
, m_wrapMargin(RenderStyle::initialWrapMargin())
, m_wrapPadding(RenderStyle::initialWrapPadding())
, m_visitedLinkBackgroundColor(RenderStyle::initialBackgroundColor())
, m_mask(o.m_mask)
, m_maskBoxImage(o.m_maskBoxImage)
, m_pageSize(o.m_pageSize)
- , m_wrapShape(o.m_wrapShape)
+ , m_wrapShapeInside(o.m_wrapShapeInside)
+ , m_wrapShapeOutside(o.m_wrapShapeOutside)
, m_wrapMargin(o.m_wrapMargin)
, m_wrapPadding(o.m_wrapPadding)
, m_visitedLinkBackgroundColor(o.m_visitedLinkBackgroundColor)
&& (m_flowThread == o.m_flowThread)
&& (m_regionThread == o.m_regionThread)
&& (m_regionOverflow == o.m_regionOverflow)
- && (m_wrapShape == o.m_wrapShape)
+ && (m_wrapShapeInside == o.m_wrapShapeInside)
+ && (m_wrapShapeOutside == o.m_wrapShapeOutside)
&& (m_wrapFlow == o.m_wrapFlow)
&& (m_wrapThrough == o.m_wrapThrough)
&& (m_wrapMargin == o.m_wrapMargin)
LengthSize m_pageSize;
- RefPtr<CSSWrapShape> m_wrapShape;
+ RefPtr<CSSWrapShape> m_wrapShapeInside;
+ RefPtr<CSSWrapShape> m_wrapShapeOutside;
Length m_wrapMargin;
Length m_wrapPadding;