Make outside-shape the default value for shape-inside
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Feb 2013 19:09:41 +0000 (19:09 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Feb 2013 19:09:41 +0000 (19:09 +0000)
https://bugs.webkit.org/show_bug.cgi?id=109605

Patch by Bear Travis <betravis@adobe.com> on 2013-02-14
Reviewed by Levi Weintraub.

Source/WebCore:

Creating a single reference outside-shape value and setting it as the default
for shape-inside.

Existing tests cover the default value, just updating them to use outside-shape.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::initialShapeInside): Define a local static outside-shape
value.
(WebCore):
* rendering/style/RenderStyle.h: Move the initialShapeInside method to the .cpp
file.

LayoutTests:

Updating tests to account for the new default value of shape-inside.

* fast/exclusions/css-exclusions-disabled-expected.txt:
* fast/exclusions/css-exclusions-disabled.html:
* fast/exclusions/parsing-wrap-shape-inside-expected.txt:
* fast/exclusions/parsing-wrap-shape-lengths-expected.txt:
* fast/exclusions/parsing-wrap-shape-lengths.html:
* fast/exclusions/script-tests/parsing-wrap-shape-inside.js:
(negative_test):

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

LayoutTests/ChangeLog
LayoutTests/fast/exclusions/css-exclusions-disabled-expected.txt
LayoutTests/fast/exclusions/css-exclusions-disabled.html
LayoutTests/fast/exclusions/parsing-wrap-shape-inside-expected.txt
LayoutTests/fast/exclusions/parsing-wrap-shape-lengths-expected.txt
LayoutTests/fast/exclusions/parsing-wrap-shape-lengths.html
LayoutTests/fast/exclusions/script-tests/parsing-wrap-shape-inside.js
Source/WebCore/ChangeLog
Source/WebCore/rendering/style/RenderStyle.cpp
Source/WebCore/rendering/style/RenderStyle.h

index c1ae8022303aaaf60b4f2ce3b73d474733a60b07..92ff10d3ff634bad871428fb9a238c639ba32143 100644 (file)
@@ -1,3 +1,20 @@
+2013-02-14  Bear Travis  <betravis@adobe.com>
+
+        Make outside-shape the default value for shape-inside
+        https://bugs.webkit.org/show_bug.cgi?id=109605
+
+        Reviewed by Levi Weintraub.
+
+        Updating tests to account for the new default value of shape-inside.
+
+        * fast/exclusions/css-exclusions-disabled-expected.txt:
+        * fast/exclusions/css-exclusions-disabled.html:
+        * fast/exclusions/parsing-wrap-shape-inside-expected.txt:
+        * fast/exclusions/parsing-wrap-shape-lengths-expected.txt:
+        * fast/exclusions/parsing-wrap-shape-lengths.html:
+        * fast/exclusions/script-tests/parsing-wrap-shape-inside.js:
+        (negative_test):
+
 2013-02-14  Tony Chang  <tony@chromium.org>
 
         Padding and border changes doesn't trigger relayout of children
index 291beeabb933c162177e8522a8fd1620ad0c52f0..94bbedd15789d38cd0552c1164d4ef75d8eb5fe7 100644 (file)
@@ -14,7 +14,7 @@ PASS testComputedStyle("-webkit-wrap-through", "none") is "wrap"
 PASS testInlineStyle("-webkit-shape-outside", "circle(10px, 10px, 10px)") is null
 PASS testComputedStyle("-webkit-shape-outside", "circle(10px, 10px, 10px)") is "auto"
 PASS testInlineStyle("-webkit-shape-inside", "circle(10px, 10px, 10px)") is null
-PASS testComputedStyle("-webkit-shape-inside", "circle(10px, 10px, 10px)") is "auto"
+PASS testComputedStyle("-webkit-shape-inside", "circle(10px, 10px, 10px)") is "outside-shape"
 PASS successfullyParsed is true
 
 TEST COMPLETE
index b05d6db5f44c8f436433abaf453bf8f74ac2622f..9704234cc716b31ccd86208d3e1e952c4360f3b2 100644 (file)
@@ -39,7 +39,7 @@ testStyle("-webkit-wrap-through", "none", "wrap");
 testInlineStyle("-webkit-wrap", "both 10px 10px");
 
 testStyle("-webkit-shape-outside", "circle(10px, 10px, 10px)", "auto");
-testStyle("-webkit-shape-inside", "circle(10px, 10px, 10px)", "auto");
+testStyle("-webkit-shape-inside", "circle(10px, 10px, 10px)", "outside-shape");
 
 </script>
 <script src="../js/resources/js-test-post.js"></script>
index bc8e6746d758cdc8c454c84aca82881ff72b2a97..93f582ed619d0b06ff4653087cc1874fc0ae8a23 100644 (file)
@@ -25,65 +25,65 @@ PASS testCSSText("polygon(nonzero, 10px 20px, 30px 40px, 40px 50px)") is "polygo
 PASS testComputedStyle("polygon(nonzero, 10px 20px, 30px 40px, 40px 50px)") is "polygon(nonzero, 10px 20px, 30px 40px, 40px 50px)"
 PASS testNotInherited("auto", "rectangle(10px, 20px, 30px, 40px)") is "parent: auto, child: rectangle(10px, 20px, 30px, 40px)"
 PASS testNotInherited("outside-shape", "rectangle(10px, 20px, 30px, 40px)") is "parent: outside-shape, child: rectangle(10px, 20px, 30px, 40px)"
-PASS testNotInherited("rectangle(10px, 20px, 30px, 40px)", "initial") is "parent: rectangle(10px, 20px, 30px, 40px), child: auto"
-PASS testNotInherited("rectangle(10px, 20px, 30px, 40px)", "") is "parent: rectangle(10px, 20px, 30px, 40px), child: auto"
+PASS testNotInherited("rectangle(10px, 20px, 30px, 40px)", "initial") is "parent: rectangle(10px, 20px, 30px, 40px), child: outside-shape"
+PASS testNotInherited("rectangle(10px, 20px, 30px, 40px)", "") is "parent: rectangle(10px, 20px, 30px, 40px), child: outside-shape"
 PASS testNotInherited("rectangle(10px, 20px, 30px, 40px)", "inherit") is "parent: rectangle(10px, 20px, 30px, 40px), child: rectangle(10px, 20px, 30px, 40px)"
-PASS testNotInherited("", "inherit") is "parent: auto, child: auto"
+PASS testNotInherited("", "inherit") is "parent: outside-shape, child: outside-shape"
 PASS testNotInherited("auto", "inherit") is "parent: auto, child: auto"
 PASS testCSSText("calc()") is ""
-PASS testComputedStyle("calc()") is "auto"
+PASS testComputedStyle("calc()") is "outside-shape"
 PASS testCSSText("none") is ""
-PASS testComputedStyle("none") is "auto"
+PASS testComputedStyle("none") is "outside-shape"
 PASS testCSSText("rectangle()") is ""
-PASS testComputedStyle("rectangle()") is "auto"
+PASS testComputedStyle("rectangle()") is "outside-shape"
 PASS testCSSText("rectangle(10px)") is ""
-PASS testComputedStyle("rectangle(10px)") is "auto"
+PASS testComputedStyle("rectangle(10px)") is "outside-shape"
 PASS testCSSText("rectangle(10px, 10px)") is ""
-PASS testComputedStyle("rectangle(10px, 10px)") is "auto"
+PASS testComputedStyle("rectangle(10px, 10px)") is "outside-shape"
 PASS testCSSText("rectangle(10px, 20px, 30px)") is ""
-PASS testComputedStyle("rectangle(10px, 20px, 30px)") is "auto"
+PASS testComputedStyle("rectangle(10px, 20px, 30px)") is "outside-shape"
 PASS testCSSText("rectangle(10px 20px 30px 40px)") is ""
-PASS testComputedStyle("rectangle(10px 20px 30px 40px)") is "auto"
+PASS testComputedStyle("rectangle(10px 20px 30px 40px)") is "outside-shape"
 PASS testCSSText("rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is ""
-PASS testComputedStyle("rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is "auto"
+PASS testComputedStyle("rectangle(10px, 20px, 30px, 40px, 50px, 60px, 70px)") is "outside-shape"
 PASS testCSSText("circle()") is ""
-PASS testComputedStyle("circle()") is "auto"
+PASS testComputedStyle("circle()") is "outside-shape"
 PASS testCSSText("circle(10px)") is ""
-PASS testComputedStyle("circle(10px)") is "auto"
+PASS testComputedStyle("circle(10px)") is "outside-shape"
 PASS testCSSText("circle(10px, 20px)") is ""
-PASS testComputedStyle("circle(10px, 20px)") is "auto"
+PASS testComputedStyle("circle(10px, 20px)") is "outside-shape"
 PASS testCSSText("circle(10px 20px 30px)") is ""
-PASS testComputedStyle("circle(10px 20px 30px)") is "auto"
+PASS testComputedStyle("circle(10px 20px 30px)") is "outside-shape"
 PASS testCSSText("circle(10px, 20px, 30px, 40px)") is ""
-PASS testComputedStyle("circle(10px, 20px, 30px, 40px)") is "auto"
+PASS testComputedStyle("circle(10px, 20px, 30px, 40px)") is "outside-shape"
 PASS testCSSText("ellipse()") is ""
-PASS testComputedStyle("ellipse()") is "auto"
+PASS testComputedStyle("ellipse()") is "outside-shape"
 PASS testCSSText("ellipse(10px)") is ""
-PASS testComputedStyle("ellipse(10px)") is "auto"
+PASS testComputedStyle("ellipse(10px)") is "outside-shape"
 PASS testCSSText("ellipse(10px, 20px)") is ""
-PASS testComputedStyle("ellipse(10px, 20px)") is "auto"
+PASS testComputedStyle("ellipse(10px, 20px)") is "outside-shape"
 PASS testCSSText("ellipse(10px, 20px, 30px)") is ""
-PASS testComputedStyle("ellipse(10px, 20px, 30px)") is "auto"
+PASS testComputedStyle("ellipse(10px, 20px, 30px)") is "outside-shape"
 PASS testCSSText("ellipse(10px 20px 30px 40px)") is ""
-PASS testComputedStyle("ellipse(10px 20px 30px 40px)") is "auto"
+PASS testComputedStyle("ellipse(10px 20px 30px 40px)") is "outside-shape"
 PASS testCSSText("polygon()") is ""
-PASS testComputedStyle("polygon()") is "auto"
+PASS testComputedStyle("polygon()") is "outside-shape"
 PASS testCSSText("polygon(evenodd 10px 20px, 30px 40px, 40px 50px)") is ""
-PASS testComputedStyle("polygon(evenodd 10px 20px, 30px 40px, 40px 50px)") is "auto"
+PASS testComputedStyle("polygon(evenodd 10px 20px, 30px 40px, 40px 50px)") is "outside-shape"
 PASS testCSSText("polygon(nonzero 10px 20px, 30px 40px, 40px 50px)") is ""
-PASS testComputedStyle("polygon(nonzero 10px 20px, 30px 40px, 40px 50px)") is "auto"
+PASS testComputedStyle("polygon(nonzero 10px 20px, 30px 40px, 40px 50px)") is "outside-shape"
 PASS testCSSText("polygon(nonzero)") is ""
-PASS testComputedStyle("polygon(nonzero)") is "auto"
+PASS testComputedStyle("polygon(nonzero)") is "outside-shape"
 PASS testCSSText("polygon(evenodd)") is ""
-PASS testComputedStyle("polygon(evenodd)") is "auto"
+PASS testComputedStyle("polygon(evenodd)") is "outside-shape"
 PASS testCSSText("polygon(10px)") is ""
-PASS testComputedStyle("polygon(10px)") is "auto"
+PASS testComputedStyle("polygon(10px)") is "outside-shape"
 PASS testCSSText("polygon(nonzero,10px)") is ""
-PASS testComputedStyle("polygon(nonzero,10px)") is "auto"
+PASS testComputedStyle("polygon(nonzero,10px)") is "outside-shape"
 PASS testCSSText("polygon(evenodd,12px)") is ""
-PASS testComputedStyle("polygon(evenodd,12px)") is "auto"
+PASS testComputedStyle("polygon(evenodd,12px)") is "outside-shape"
 PASS testCSSText("polygon(10px, 20px, 30px, 40px, 40px, 50px)") is ""
-PASS testComputedStyle("polygon(10px, 20px, 30px, 40px, 40px, 50px)") is "auto"
+PASS testComputedStyle("polygon(10px, 20px, 30px, 40px, 40px, 50px)") is "outside-shape"
 PASS successfullyParsed is true
 
 TEST COMPLETE
index a6ade2acae0e12e45cd5d83d6d301a867cd63b4a..3adf9054470b3270ade641911ad9399fc737e004 100644 (file)
@@ -30,27 +30,27 @@ PASS computedStyle("-webkit-shape-inside", "rectangle(45%, 45%, 90%, 60%, 25%, 1
 PASS computedStyle("-webkit-shape-inside", "ellipse(100%, 100%, 100%, 100%)") is "ellipse(100%, 100%, 100%, 100%)"
 PASS computedStyle("-webkit-shape-inside", "polygon(10% 20%, 30% 40%, 40% 50%)") is "polygon(nonzero, 10% 20%, 30% 40%, 40% 50%)"
 PASS innerStyle("-webkit-shape-inside", "circle(1px, 1px, 1)") is null
-PASS computedStyle("-webkit-shape-inside", "circle(1px, 1px, 1)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "circle(1px, 1px, 1)") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "circle(1px, 1px, px)") is null
-PASS computedStyle("-webkit-shape-inside", "circle(1px, 1px, px)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "circle(1px, 1px, px)") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "circle(1px, 1px, 1p)") is null
-PASS computedStyle("-webkit-shape-inside", "circle(1px, 1px, 1p)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "circle(1px, 1px, 1p)") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "circle(1px, 1px, calc())") is null
-PASS computedStyle("-webkit-shape-inside", "circle(1px, 1px, calc())") is "auto"
+PASS computedStyle("-webkit-shape-inside", "circle(1px, 1px, calc())") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "circle(-1.5px, +1.5px, -1.5px)") is null
-PASS computedStyle("-webkit-shape-inside", "circle(-1.5px, +1.5px, -1.5px)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "circle(-1.5px, +1.5px, -1.5px)") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)") is null
-PASS computedStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, -1pt, 1pc)") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)") is null
-PASS computedStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, 1pt, -1pc)") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "ellipse(1em, 1em, -1em, 1em)") is null
-PASS computedStyle("-webkit-shape-inside", "ellipse(1em, 1em, -1em, 1em)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "ellipse(1em, 1em, -1em, 1em)") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "ellipse(1em, 1em, 1em, -1em)") is null
-PASS computedStyle("-webkit-shape-inside", "ellipse(1em, 1em, 1em, -1em)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "ellipse(1em, 1em, 1em, -1em)") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is null
-PASS computedStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is "outside-shape"
 PASS innerStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is null
-PASS computedStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is "auto"
+PASS computedStyle("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is "outside-shape"
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 97e7369d948f673856c8d2cfecf37917141d3117..528f980039f2b38079bd27c14b56038a738660de 100644 (file)
@@ -40,7 +40,7 @@ function testInner(property, value, expected) {
 
 function negativeTest(property, value) {
     testInner(property, value, null);
-    testComputed(property, value, 'auto');
+    testComputed(property, value, 'outside-shape');
 }
 
 // absolute lengths - number serialization, units
index 43928febda1c2cc056307b72cb80eefa48af17aa..88dd5ceb1ecae0d2cd1970e3df5d6bd1d9ca8861 100644 (file)
@@ -52,7 +52,7 @@ function test(value, 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');
+    shouldBeEqualToString('testComputedStyle(' + unevaledString + ')', 'outside-shape');
 }
 
 // positive tests
@@ -73,10 +73,10 @@ test("polygon(nonzero, 10px 20px, 30px 40px, 40px 50px)", "polygon(nonzero, 10px
 
 shouldBeEqualToString('testNotInherited("auto", "rectangle(10px, 20px, 30px, 40px)")', "parent: auto, child: rectangle(10px, 20px, 30px, 40px)");
 shouldBeEqualToString('testNotInherited("outside-shape", "rectangle(10px, 20px, 30px, 40px)")', "parent: outside-shape, child: rectangle(10px, 20px, 30px, 40px)");
-shouldBeEqualToString('testNotInherited("rectangle(10px, 20px, 30px, 40px)", "initial")', "parent: rectangle(10px, 20px, 30px, 40px), child: auto");
-shouldBeEqualToString('testNotInherited("rectangle(10px, 20px, 30px, 40px)", "")', "parent: rectangle(10px, 20px, 30px, 40px), child: auto");
+shouldBeEqualToString('testNotInherited("rectangle(10px, 20px, 30px, 40px)", "initial")', "parent: rectangle(10px, 20px, 30px, 40px), child: outside-shape");
+shouldBeEqualToString('testNotInherited("rectangle(10px, 20px, 30px, 40px)", "")', "parent: rectangle(10px, 20px, 30px, 40px), child: outside-shape");
 shouldBeEqualToString('testNotInherited("rectangle(10px, 20px, 30px, 40px)", "inherit")', "parent: rectangle(10px, 20px, 30px, 40px), child: rectangle(10px, 20px, 30px, 40px)");
-shouldBeEqualToString('testNotInherited("", "inherit")', "parent: auto, child: auto");
+shouldBeEqualToString('testNotInherited("", "inherit")', "parent: outside-shape, child: outside-shape");
 shouldBeEqualToString('testNotInherited("auto", "inherit")', "parent: auto, child: auto");
 
 // negative tests
index 3e8bcbf926ef5365452b56f773105b55a7e10809..9f1c51025dd6a7f70de14131bc70c57ba215b70c 100644 (file)
@@ -1,3 +1,22 @@
+2013-02-14  Bear Travis  <betravis@adobe.com>
+
+        Make outside-shape the default value for shape-inside
+        https://bugs.webkit.org/show_bug.cgi?id=109605
+
+        Reviewed by Levi Weintraub.
+
+        Creating a single reference outside-shape value and setting it as the default
+        for shape-inside.
+
+        Existing tests cover the default value, just updating them to use outside-shape.
+
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::initialShapeInside): Define a local static outside-shape
+        value.
+        (WebCore):
+        * rendering/style/RenderStyle.h: Move the initialShapeInside method to the .cpp
+        file.
+
 2013-02-14  Min Qin  <qinmin@chromium.org>
 
         Passing alpha to DeferredImageDecoder once decoding completes
index cefc3c120e1988debaa7216e13ca7c07a9934b21..725b8d8ec162a3dd04a2c221a3b6e0b4046f0e7c 100644 (file)
@@ -1634,6 +1634,12 @@ void RenderStyle::setBorderImageOutset(LengthBox outset)
     surround.access()->border.m_image.setOutset(outset);
 }
 
+ExclusionShapeValue* RenderStyle::initialShapeInside()
+{
+    DEFINE_STATIC_LOCAL(RefPtr<ExclusionShapeValue>, sOutsideValue, (ExclusionShapeValue::createOutsideValue()));
+    return sOutsideValue.get();
+}
+
 void RenderStyle::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
 {
     MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
index 253be7c4a743454a9c5889d17334862ae6e0efd6..5a5ed06c0228681606f61383bca7fe4d3a2f4d5b 100644 (file)
@@ -1428,7 +1428,7 @@ public:
     }
     ExclusionShapeValue* shapeOutside() const { return rareNonInheritedData->m_shapeOutside.get(); }
 
-    static ExclusionShapeValue* initialShapeInside() { return 0; }
+    static ExclusionShapeValue* initialShapeInside();
     static ExclusionShapeValue* initialShapeOutside() { return 0; }
 
     void setClipPath(PassRefPtr<ClipPathOperation> operation)