[CSS Regions]Change content:-webkit-from-flow to -webkit-flow-from
authormihnea@adobe.com <mihnea@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Oct 2011 02:17:25 +0000 (02:17 +0000)
committermihnea@adobe.com <mihnea@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Oct 2011 02:17:25 +0000 (02:17 +0000)
https://bugs.webkit.org/show_bug.cgi?id=70104

Reviewed by David Hyatt.

1. -webkit-flow-from is now a property instead of being an addition to content property.
2. -webkit-flow-from takes an identifier instead of string.

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseRegionThread):
* css/CSSParser.h:
* css/CSSPrimitiveValue.cpp:
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::getStringValue):
(WebCore::CSSPrimitiveValue::cssText):
* css/CSSPrimitiveValue.h:
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):

LayoutTests:

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/regions/bottom-overflow-out-of-first-region.html:
* fast/regions/content-flowed-into-regions-no-scroll.html:
* fast/regions/content-webkit-from-flow-parsing-expected.txt:
* fast/regions/float-pushed-width-change.html:
* fast/regions/floats-basic-in-variable-width-regions.html:
* fast/regions/flow-anonymous-children.html:
* fast/regions/flow-content-basic-vertical-rl.html:
* fast/regions/flow-content-basic-vertical.html:
* fast/regions/flow-content-basic.html:
* fast/regions/flows-dependency-dynamic-remove.html:
* fast/regions/flows-dependency-same-flow.html:
* fast/regions/hit-test-float.html:
* fast/regions/multiple-directionality-changes-in-variable-width-regions.html:
* fast/regions/no-split-line-box.html:
* fast/regions/outline-sides-in-region.html:
* fast/regions/overflow-in-uniform-regions-dynamic.html:
* fast/regions/overflow-in-uniform-regions.html:
* fast/regions/overflow-in-variable-width-regions.html:
* fast/regions/overflow-moving-below-floats-in-variable-width-regions.html:
* fast/regions/overflow-not-moving-below-floats-in-variable-width-regions.html:
* fast/regions/overflow-rtl-in-variable-width-regions.html:
* fast/regions/overflow-size-change-in-variable-width-regions.html:
* fast/regions/overflow-size-change-with-stacking-context-rtl.html:
* fast/regions/overflow-size-change-with-stacking-context.html:
* fast/regions/percentage-margins-mixed-ltr-dominant-regions.html:
* fast/regions/percentage-margins-mixed-rtl-dominant-regions.html:
* fast/regions/percentage-margins-rtl-variable-width-regions.html:
* fast/regions/percentage-margins-variable-width-regions.html:
* fast/regions/position-writing-modes-in-variable-width-regions.html:
* fast/regions/positioned-objects-block-static-in-regions.html:
* fast/regions/positioned-objects-block-static-in-rtl-regions.html:
* fast/regions/positioned-objects-block-static-spanning-regions-rtl.html:
* fast/regions/positioned-objects-block-static-spanning-regions.html:
* fast/regions/positioned-objects-in-regions.html:
* fast/regions/positioned-objects-in-rtl-regions.html:
* fast/regions/positioned-objects-inline-static-in-regions.html:
* fast/regions/positioned-objects-inline-static-in-rtl-regions.html:
* fast/regions/positioned-objects-inline-static-spanning-regions-rtl.html:
* fast/regions/positioned-objects-inline-static-spanning-regions.html:
* fast/regions/positioned-objects-perpendicular-flows-in-regions.html:
* fast/regions/positioned-objects-spanning-regions.html:
* fast/regions/region-element-dynamic-attach-flow.html:
* fast/regions/region-element-dynamic-detach-flow.html:
* fast/regions/region-overflow-auto-overflow-hidden.html:
* fast/regions/region-overflow-auto-overflow-visible.html:
* fast/regions/region-overflow-break.html:
* fast/regions/render-region-renderer.html:
* fast/regions/resources/region-style.css:
(.regionArticle):
* fast/regions/script-tests/content-webkit-from-flow-parsing.js:
(testCSSText):
(testComputedStyle):
* fast/regions/script-tests/region-element-display-restriction.js:
(createRegionElement):
* fast/regions/text-region-breaks.html:
* fast/regions/text-region-split-after-resize.html:
* fast/regions/text-region-split-horizontal-bt.html:
* fast/regions/text-region-split-small-pagination.html:
* fast/regions/text-region-split-vertical-rl.html:
* fast/regions/text-region-split-vertical.html:
* fast/regions/text-region-split.html:
* fast/regions/top-overflow-out-of-second-region.html:
* fast/regions/webkit-flow-double-pagination-float-push.html:
* fast/regions/webkit-flow-float-pushed-to-last-region.html:
* fast/regions/webkit-flow-float-unable-to-push.html:
* fast/regions/webkit-flow-floats-inside-regions-bounds.html:
* fast/regions/webkit-flow-inlines-dynamic.html:
* fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html:
* fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical.html:
* fast/regions/webkit-flow-inlines-inside-regions-bounds.html:
* fast/regions/webkit-flow-renderer-layer.html:
* fast/regions/webkit-flow-renderer-nested.html:
* fast/regions/webkit-flow-renderer.html:
* fast/repaint/japanese-rl-selection-repaint-in-regions.html:
* fast/repaint/line-flow-with-floats-in-regions.html:
* fast/repaint/overflow-flipped-writing-mode-block-in-regions.html:
* fast/repaint/region-painting-via-layout.html:
* platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:

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

88 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
LayoutTests/fast/regions/bottom-overflow-out-of-first-region.html
LayoutTests/fast/regions/content-flowed-into-regions-no-scroll.html
LayoutTests/fast/regions/content-webkit-from-flow-parsing-expected.txt
LayoutTests/fast/regions/float-pushed-width-change.html
LayoutTests/fast/regions/floats-basic-in-variable-width-regions.html
LayoutTests/fast/regions/flow-anonymous-children.html
LayoutTests/fast/regions/flow-content-basic-vertical-rl.html
LayoutTests/fast/regions/flow-content-basic-vertical.html
LayoutTests/fast/regions/flow-content-basic.html
LayoutTests/fast/regions/flows-dependency-dynamic-remove.html
LayoutTests/fast/regions/flows-dependency-same-flow.html
LayoutTests/fast/regions/hit-test-float.html
LayoutTests/fast/regions/multiple-directionality-changes-in-variable-width-regions.html
LayoutTests/fast/regions/no-split-line-box.html
LayoutTests/fast/regions/outline-sides-in-region.html
LayoutTests/fast/regions/overflow-in-uniform-regions-dynamic.html
LayoutTests/fast/regions/overflow-in-uniform-regions.html
LayoutTests/fast/regions/overflow-in-variable-width-regions.html
LayoutTests/fast/regions/overflow-moving-below-floats-in-variable-width-regions.html
LayoutTests/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions.html
LayoutTests/fast/regions/overflow-rtl-in-variable-width-regions.html
LayoutTests/fast/regions/overflow-size-change-in-variable-width-regions.html
LayoutTests/fast/regions/overflow-size-change-with-stacking-context-rtl.html
LayoutTests/fast/regions/overflow-size-change-with-stacking-context.html
LayoutTests/fast/regions/percentage-margins-mixed-ltr-dominant-regions.html
LayoutTests/fast/regions/percentage-margins-mixed-rtl-dominant-regions.html
LayoutTests/fast/regions/percentage-margins-rtl-variable-width-regions.html
LayoutTests/fast/regions/percentage-margins-variable-width-regions.html
LayoutTests/fast/regions/position-writing-modes-in-variable-width-regions.html
LayoutTests/fast/regions/positioned-objects-block-static-in-regions.html
LayoutTests/fast/regions/positioned-objects-block-static-in-rtl-regions.html
LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-rtl.html
LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions.html
LayoutTests/fast/regions/positioned-objects-in-regions.html
LayoutTests/fast/regions/positioned-objects-in-rtl-regions.html
LayoutTests/fast/regions/positioned-objects-inline-static-in-regions.html
LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions.html
LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions-rtl.html
LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions.html
LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions.html
LayoutTests/fast/regions/positioned-objects-spanning-regions.html
LayoutTests/fast/regions/region-element-dynamic-attach-flow.html
LayoutTests/fast/regions/region-element-dynamic-detach-flow.html
LayoutTests/fast/regions/region-overflow-auto-overflow-hidden.html
LayoutTests/fast/regions/region-overflow-auto-overflow-visible.html
LayoutTests/fast/regions/region-overflow-break.html
LayoutTests/fast/regions/render-region-renderer.html
LayoutTests/fast/regions/resources/region-style.css
LayoutTests/fast/regions/script-tests/content-webkit-from-flow-parsing.js
LayoutTests/fast/regions/script-tests/region-element-display-restriction.js
LayoutTests/fast/regions/text-region-breaks.html
LayoutTests/fast/regions/text-region-split-after-resize.html
LayoutTests/fast/regions/text-region-split-horizontal-bt.html
LayoutTests/fast/regions/text-region-split-small-pagination.html
LayoutTests/fast/regions/text-region-split-vertical-rl.html
LayoutTests/fast/regions/text-region-split-vertical.html
LayoutTests/fast/regions/text-region-split.html
LayoutTests/fast/regions/top-overflow-out-of-second-region.html
LayoutTests/fast/regions/webkit-flow-double-pagination-float-push.html
LayoutTests/fast/regions/webkit-flow-float-pushed-to-last-region.html
LayoutTests/fast/regions/webkit-flow-float-unable-to-push.html
LayoutTests/fast/regions/webkit-flow-floats-inside-regions-bounds.html
LayoutTests/fast/regions/webkit-flow-inlines-dynamic.html
LayoutTests/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html
LayoutTests/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical.html
LayoutTests/fast/regions/webkit-flow-inlines-inside-regions-bounds.html
LayoutTests/fast/regions/webkit-flow-renderer-layer.html
LayoutTests/fast/regions/webkit-flow-renderer-nested.html
LayoutTests/fast/regions/webkit-flow-renderer.html
LayoutTests/fast/repaint/japanese-rl-selection-repaint-in-regions.html
LayoutTests/fast/repaint/line-flow-with-floats-in-regions.html
LayoutTests/fast/repaint/overflow-flipped-writing-mode-block-in-regions.html
LayoutTests/fast/repaint/region-painting-via-layout.html
LayoutTests/platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt
LayoutTests/platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
LayoutTests/platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt
LayoutTests/svg/css/getComputedStyle-basic-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/css/CSSComputedStyleDeclaration.cpp
Source/WebCore/css/CSSParser.cpp
Source/WebCore/css/CSSParser.h
Source/WebCore/css/CSSPrimitiveValue.cpp
Source/WebCore/css/CSSPrimitiveValue.h
Source/WebCore/css/CSSPropertyNames.in
Source/WebCore/css/CSSStyleSelector.cpp

index 95fb0ff..1afdc6c 100644 (file)
@@ -1,3 +1,97 @@
+2011-10-17  Mihnea Ovidenie  <mihnea@adobe.com>
+
+        [CSS Regions]Change content:-webkit-from-flow to -webkit-flow-from
+        https://bugs.webkit.org/show_bug.cgi?id=70104
+
+        Reviewed by David Hyatt.
+
+        1. -webkit-flow-from is now a property instead of being an addition to content property.
+        2. -webkit-flow-from takes an identifier instead of string.
+
+        * fast/css/getComputedStyle/computed-style-expected.txt:
+        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+        * fast/regions/bottom-overflow-out-of-first-region.html:
+        * fast/regions/content-flowed-into-regions-no-scroll.html:
+        * fast/regions/content-webkit-from-flow-parsing-expected.txt:
+        * fast/regions/float-pushed-width-change.html:
+        * fast/regions/floats-basic-in-variable-width-regions.html:
+        * fast/regions/flow-anonymous-children.html:
+        * fast/regions/flow-content-basic-vertical-rl.html:
+        * fast/regions/flow-content-basic-vertical.html:
+        * fast/regions/flow-content-basic.html:
+        * fast/regions/flows-dependency-dynamic-remove.html:
+        * fast/regions/flows-dependency-same-flow.html:
+        * fast/regions/hit-test-float.html:
+        * fast/regions/multiple-directionality-changes-in-variable-width-regions.html:
+        * fast/regions/no-split-line-box.html:
+        * fast/regions/outline-sides-in-region.html:
+        * fast/regions/overflow-in-uniform-regions-dynamic.html:
+        * fast/regions/overflow-in-uniform-regions.html:
+        * fast/regions/overflow-in-variable-width-regions.html:
+        * fast/regions/overflow-moving-below-floats-in-variable-width-regions.html:
+        * fast/regions/overflow-not-moving-below-floats-in-variable-width-regions.html:
+        * fast/regions/overflow-rtl-in-variable-width-regions.html:
+        * fast/regions/overflow-size-change-in-variable-width-regions.html:
+        * fast/regions/overflow-size-change-with-stacking-context-rtl.html:
+        * fast/regions/overflow-size-change-with-stacking-context.html:
+        * fast/regions/percentage-margins-mixed-ltr-dominant-regions.html:
+        * fast/regions/percentage-margins-mixed-rtl-dominant-regions.html:
+        * fast/regions/percentage-margins-rtl-variable-width-regions.html:
+        * fast/regions/percentage-margins-variable-width-regions.html:
+        * fast/regions/position-writing-modes-in-variable-width-regions.html:
+        * fast/regions/positioned-objects-block-static-in-regions.html:
+        * fast/regions/positioned-objects-block-static-in-rtl-regions.html:
+        * fast/regions/positioned-objects-block-static-spanning-regions-rtl.html:
+        * fast/regions/positioned-objects-block-static-spanning-regions.html:
+        * fast/regions/positioned-objects-in-regions.html:
+        * fast/regions/positioned-objects-in-rtl-regions.html:
+        * fast/regions/positioned-objects-inline-static-in-regions.html:
+        * fast/regions/positioned-objects-inline-static-in-rtl-regions.html:
+        * fast/regions/positioned-objects-inline-static-spanning-regions-rtl.html:
+        * fast/regions/positioned-objects-inline-static-spanning-regions.html:
+        * fast/regions/positioned-objects-perpendicular-flows-in-regions.html:
+        * fast/regions/positioned-objects-spanning-regions.html:
+        * fast/regions/region-element-dynamic-attach-flow.html:
+        * fast/regions/region-element-dynamic-detach-flow.html:
+        * fast/regions/region-overflow-auto-overflow-hidden.html:
+        * fast/regions/region-overflow-auto-overflow-visible.html:
+        * fast/regions/region-overflow-break.html:
+        * fast/regions/render-region-renderer.html:
+        * fast/regions/resources/region-style.css:
+        (.regionArticle):
+        * fast/regions/script-tests/content-webkit-from-flow-parsing.js:
+        (testCSSText):
+        (testComputedStyle):
+        * fast/regions/script-tests/region-element-display-restriction.js:
+        (createRegionElement):
+        * fast/regions/text-region-breaks.html:
+        * fast/regions/text-region-split-after-resize.html:
+        * fast/regions/text-region-split-horizontal-bt.html:
+        * fast/regions/text-region-split-small-pagination.html:
+        * fast/regions/text-region-split-vertical-rl.html:
+        * fast/regions/text-region-split-vertical.html:
+        * fast/regions/text-region-split.html:
+        * fast/regions/top-overflow-out-of-second-region.html:
+        * fast/regions/webkit-flow-double-pagination-float-push.html:
+        * fast/regions/webkit-flow-float-pushed-to-last-region.html:
+        * fast/regions/webkit-flow-float-unable-to-push.html:
+        * fast/regions/webkit-flow-floats-inside-regions-bounds.html:
+        * fast/regions/webkit-flow-inlines-dynamic.html:
+        * fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html:
+        * fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical.html:
+        * fast/regions/webkit-flow-inlines-inside-regions-bounds.html:
+        * fast/regions/webkit-flow-renderer-layer.html:
+        * fast/regions/webkit-flow-renderer-nested.html:
+        * fast/regions/webkit-flow-renderer.html:
+        * fast/repaint/japanese-rl-selection-repaint-in-regions.html:
+        * fast/repaint/line-flow-with-floats-in-regions.html:
+        * fast/repaint/overflow-flipped-writing-mode-block-in-regions.html:
+        * fast/repaint/region-painting-via-layout.html:
+        * platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
+        * platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+        * platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt:
+        * svg/css/getComputedStyle-basic-expected.txt:
+
 2011-10-17  Dirk Pranke  <dpranke@chromium.org>
 
         Assign a bug for flaky layout tests
index 6e2df7e..6bd2750 100644 (file)
@@ -198,6 +198,7 @@ zoom: 1;
 -webkit-user-select: text;
 -webkit-writing-mode: horizontal-tb;
 -webkit-flow-into: auto;
+-webkit-flow-from: none;
 -webkit-region-overflow: auto;
 -webkit-region-break-after: auto;
 -webkit-region-break-before: auto;
index 3037d7f..5049571 100644 (file)
@@ -197,6 +197,7 @@ Computed style of an element whose parent's 'display' value is 'none':
     -webkit-user-select: text
     -webkit-writing-mode: horizontal-tb
     -webkit-flow-into: auto
+    -webkit-flow-from: none
     -webkit-region-overflow: auto
     -webkit-region-break-after: auto
     -webkit-region-break-before: auto
index 898a7f4..df7322a 100644 (file)
@@ -20,7 +20,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index dc728fb..3115eeb 100644 (file)
@@ -16,7 +16,7 @@
             }
 
             #region {
-                content: -webkit-from-flow('article');
+                -webkit-flow-from: article;
                 overflow: hidden;
             }
 
index 544af93..1479543 100644 (file)
@@ -1,37 +1,26 @@
-Tests being able to set content to -webkit-from-flow
+Tests parsing of -webkit-flow-from property
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS testCSSText("content: -webkit-from-flow('first-flow')") is "-webkit-from-flow(first-flow)"
-PASS testCSSText("content: -webkit-from-flow('first flow')") is "-webkit-from-flow('first flow')"
-PASS testCSSText("content: -webkit-from-flow('auto')") is "-webkit-from-flow(auto)"
-PASS testCSSText("content: -webkit-from-flow(auto)") is ""
-PASS testCSSText("content: -webkit-from-flow(initial)") is ""
-PASS testCSSText("content: -webkit-from-flow(inherit)") is ""
-PASS testCSSText("content: -webkit-from-flow()") is ""
-PASS testCSSText("content: -webkit-from-flow('')") is "-webkit-from-flow('')"
-PASS testCSSText("content: ;") is ""
-PASS testCSSText("content: -webkit-from-flow(1)") is ""
-PASS testCSSText("content: -webkit-from-flow(1.2)") is ""
-PASS testCSSText("content: -webkit-from-flow(-1)") is ""
-PASS testCSSText("content: -webkit-from-flow(12px)") is ""
-PASS testCSSText("content: -webkit-from-flow(first flow)") is ""
-PASS testCSSText("content: -webkit-from-flow(first-flow)") is ""
-PASS testComputedStyle("-webkit-from-flow('first-flow')") is "first-flow"
-PASS testComputedStyle("-webkit-from-flow('first flow')") is "'first flow'"
-PASS testComputedStyle("-webkit-from-flow('auto')") is "auto"
-PASS testComputedStyle("-webkit-from-flow(auto)") is ""
-PASS testComputedStyle("-webkit-from-flow(initial)") is ""
-PASS testComputedStyle("-webkit-from-flow(inherit)") is ""
-PASS testComputedStyle("-webkit-from-flow()") is ""
-PASS testComputedStyle("-webkit-from-flow(1)") is ""
-PASS testComputedStyle("-webkit-from-flow(1.2)") is ""
-PASS testComputedStyle("-webkit-from-flow(-1)") is ""
-PASS testComputedStyle("-webkit-from-flow(12px)") is ""
-PASS testComputedStyle("-webkit-from-flow('')") is "''"
-PASS testComputedStyle("-webkit-from-flow(first flow)") is ""
-PASS testComputedStyle("-webkit-from-flow(first-flow)") is ""
+PASS testCSSText("-webkit-flow-from: first-flow") is "first-flow"
+PASS testCSSText("-webkit-flow-from: none") is "none"
+PASS testCSSText("-webkit-flow-from: ") is ""
+PASS testCSSText("-webkit-flow-from: 'first-flow'") is ""
+PASS testCSSText("-webkit-flow-from: 1") is ""
+PASS testCSSText("-webkit-flow-from: 1.2") is ""
+PASS testCSSText("-webkit-flow-from: -1") is ""
+PASS testCSSText("-webkit-flow-from: 12px") is ""
+PASS testCSSText("-webkit-from-flow: first flow") is ""
+PASS testComputedStyle("first-flow") is "first-flow"
+PASS testComputedStyle("'first flow'") is "none"
+PASS testComputedStyle("none") is "none"
+PASS testComputedStyle("initial") is "none"
+PASS testComputedStyle("inherit") is "none"
+PASS testComputedStyle("1") is "none"
+PASS testComputedStyle("1.2") is "none"
+PASS testComputedStyle("-1") is "none"
+PASS testComputedStyle("12px") is "none"
 PASS successfullyParsed is true
 
 TEST COMPLETE
index c68aeb9..dbe8be1 100644 (file)
@@ -23,7 +23,7 @@
 
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 94fc757..3c28fa2 100644 (file)
@@ -19,7 +19,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 4751a64..a1fee31 100644 (file)
@@ -2,7 +2,7 @@
 
 <style>
 .flow { -webkit-flow-into: flow; }
-#region { content: -webkit-from-flow("flow"); }
+#region { -webkit-flow-from: flow; }
 span { display: inline-block; }
 </style>
 
index c20cac8..60f636e 100644 (file)
@@ -15,7 +15,7 @@
             -webkit-flow-into: main-thread;
         }
 
-        .region { width: 100px; height:300px; content: -webkit-from-flow("main-thread"); border:1px solid black; padding:5px }
+        .region { width: 100px; height:300px; -webkit-flow-from: main-thread; border:1px solid black; padding:5px }
 
         .pass{
             color: green;
index 78a7c38..bf8984f 100644 (file)
@@ -16,7 +16,7 @@
         }
         
         .region{
-            content: -webkit-from-flow("main-thread");
+            -webkit-flow-from: main-thread;
             width:100px;
             height:300px;
         }
index 89f46b0..f385f9d 100644 (file)
@@ -14,7 +14,7 @@
         }
         
         .region{
-            content: -webkit-from-flow("main-thread");
+            -webkit-flow-from: main-thread;
             height:100px;
             width:300px;
         }
index d30a825..caec535 100644 (file)
@@ -5,9 +5,9 @@
 .flowB { -webkit-flow-into: flowB; }
 .flowC { -webkit-flow-into: flowC; }
 
-.regionFlowA { content: -webkit-from-flow('flowA'); }
-.regionFlowB { content: -webkit-from-flow('flowB'); }
-.regionFlowC { content: -webkit-from-flow('flowC'); }
+.regionFlowA { -webkit-flow-from: flowA; }
+.regionFlowB { -webkit-flow-from: flowB; }
+.regionFlowC { -webkit-flow-from: flowC; }
 </style>
 
 <div class="flowA">
index 2b68593..b729868 100644 (file)
@@ -5,9 +5,9 @@
 .flowB { -webkit-flow-into: flowB; }
 .flowC { -webkit-flow-into: flowC; }
 
-.regionFlowA { content: -webkit-from-flow('flowA'); }
-.regionFlowB { content: -webkit-from-flow('flowB'); }
-.regionFlowC { content: -webkit-from-flow('flowC'); }
+.regionFlowA { -webkit-flow-from: flowA; }
+.regionFlowB { -webkit-flow-from: flowB; }
+.regionFlowC { -webkit-flow-from: flowC; }
 </style>
 
 <div class="flowA">
index f4cfc1f..f099bee 100644 (file)
@@ -5,8 +5,8 @@
     Test for hit-testing of floats inside CSS Regions.
 </p>
 <div style="position:relative; margin: 100px; width: 300px; height: 200px; outline: solid black;">
-    <div style="position:absolute;left:0;top:0;content: -webkit-from-flow('flow'); width:150px;height:200px;"></div>
-    <div style="position:absolute;left:150px;top:0;content: -webkit-from-flow('flow'); width:150px;height:200px"></div>
+    <div style="position:absolute;left:0;top:0; -webkit-flow-from: flow; width:150px;height:200px;"></div>
+    <div style="position:absolute;left:150px;top:0; -webkit-flow-from: flow; width:150px;height:200px"></div>
     <div style="-webkit-flow-into: flow">
         <div style="height: 250px; background-color: purple;"></div>
         <div style="float: right; background-color: lightyellow; margin: 5px;">
index c1a9c98..c13f79b 100644 (file)
@@ -25,7 +25,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 4b35e0d..7472cfb 100644 (file)
@@ -10,7 +10,7 @@
     line-height:14px;
   }
   .region{
-    content:-webkit-from-flow("thread");
+    -webkit-flow-from: thread;
     width:4em;
     height:35px;  /*2.5x line height*/
     background-color:lightgray;
index f07494c..472d1f1 100644 (file)
@@ -10,7 +10,7 @@
        }
        
        #region{
-               content:-webkit-from-flow("body");
+               -webkit-flow-from: body;
        }
        div{
                width:200px;
index 9c27f4b..c26ce57 100644 (file)
@@ -19,7 +19,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 70f0a90..be86fe8 100644 (file)
@@ -19,7 +19,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index b9b2cba..3035217 100644 (file)
@@ -19,7 +19,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 21f3df2..6f2f9f3 100644 (file)
@@ -20,7 +20,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index b15ce48..6ef46c3 100644 (file)
@@ -20,7 +20,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index f781f9a..f8a2a2b 100644 (file)
@@ -21,7 +21,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 90abd75..df3f04c 100644 (file)
@@ -21,7 +21,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 281d1ca..e2a757b 100644 (file)
@@ -24,7 +24,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 903b2e5..c3c6c9d 100644 (file)
@@ -23,7 +23,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 3d7a394..2a1e06f 100644 (file)
@@ -21,7 +21,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index cc5f8cb..59b4131 100644 (file)
@@ -21,7 +21,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index b85929e..0f47ac5 100644 (file)
@@ -20,7 +20,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 662deb1..865b770 100644 (file)
@@ -19,7 +19,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 59ee99c..87cb6a8 100644 (file)
@@ -13,7 +13,7 @@
     }
     
     #region1, #region2 {
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 1a1ccef..4df46cf 100644 (file)
@@ -19,7 +19,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 39e9a27..7c5eb74 100644 (file)
@@ -20,7 +20,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 6423faa..0516e9a 100644 (file)
@@ -23,7 +23,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 286a3a0..a9f0093 100644 (file)
@@ -22,7 +22,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index c781e06..42cce7c 100644 (file)
@@ -22,7 +22,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 7996272..2aa2d76 100644 (file)
@@ -23,7 +23,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index eaa34d2..671d289 100644 (file)
@@ -20,7 +20,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 4cdd7a2..b04eb37 100644 (file)
@@ -21,7 +21,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 7bac003..047a3a4 100644 (file)
@@ -23,7 +23,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index fe5e496..891079f 100644 (file)
@@ -22,7 +22,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index cdf97f8..ee8b5f6 100644 (file)
@@ -24,7 +24,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index d9a4047..a196041 100644 (file)
@@ -22,7 +22,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 1b8d497..4381489 100644 (file)
@@ -4,7 +4,7 @@
         <style>
             .region
             {
-                content: -webkit-from-flow('no_flow');
+                -webkit-flow-from: no_flow;
             }
         </style>
     </head>
index 9ea56d1..fe04e89 100644 (file)
@@ -4,7 +4,7 @@
         <style>
             .region
             {
-                content: -webkit-from-flow("no-flow");
+                -webkit-flow-from: no-flow;
             }
         </style>
     </head>
index ad75103..15b15d7 100644 (file)
@@ -6,7 +6,7 @@
 }
 
 #region_1, #region_2 {
-    content: -webkit-from-flow("article");
+    -webkit-flow-from: article;
     -webkit-region-overflow: auto;
     overflow:hidden;
     display:inline-block;
index 0cc68e1..165eab6 100644 (file)
@@ -6,7 +6,7 @@
 }
 
 #region_1, #region_2 {
-    content: -webkit-from-flow("article");
+    -webkit-flow-from: article;
     -webkit-region-overflow: auto;
     overflow:visible;
     display:inline-block;
index c19ab94..8612bd1 100644 (file)
@@ -6,7 +6,7 @@
 }
 
 #region_1, #region_2 {
-    content: -webkit-from-flow("article");
+    -webkit-flow-from: article;
     -webkit-region-overflow: break;
     display:inline-block;
     vertical-align:top;
index 370153b..ec61535 100644 (file)
@@ -4,7 +4,7 @@
     <style>
     .region
     {
-        content: -webkit-from-flow("no-flow");
+        -webkit-flow-from: no-flow;
     }
 
     .border
index 8ff3c6a..644e35c 100644 (file)
@@ -21,7 +21,7 @@
 }
 
 .regionArticle {
-    content: -webkit-from-flow("article");
+    -webkit-flow-from: article;
 }
 
 .borderBox {
index 8590171..5495434 100644 (file)
@@ -1,50 +1,39 @@
-description('Tests being able to set content to -webkit-from-flow');
-
+description('Tests parsing of -webkit-flow-from property');
 function testCSSText(declaration) {
   var div = document.createElement("div");
   div.setAttribute("style", declaration);
   return div.style.content;
+ var div = document.createElement("div");
+ div.setAttribute("style", declaration);
return div.style.webkitFlowFrom;
 }
 
 function testComputedStyle(declaration) {
   var div = document.createElement("div");
   document.body.appendChild(div);
   div.style.setProperty("content", declaration);
+ var div = document.createElement("div");
+ document.body.appendChild(div);
div.style.setProperty("-webkit-flow-from", declaration);
 
   var contentComputedValue = getComputedStyle(div).getPropertyValue("content");
   document.body.removeChild(div);
   return contentComputedValue;
var contentComputedValue = getComputedStyle(div).getPropertyValue("-webkit-flow-from");
+ document.body.removeChild(div);
+ return contentComputedValue;
 }
 
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(\'first-flow\')")', "-webkit-from-flow(first-flow)");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(\'first flow\')")', "-webkit-from-flow('first flow')");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(\'auto\')")', "-webkit-from-flow(auto)");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(auto)")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(initial)")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(inherit)")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow()")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(\'\')")', "-webkit-from-flow('')");
-shouldBeEqualToString('testCSSText("content: ;")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(1)")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(1.2)")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(-1)")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(12px)")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(first flow)")', "");
-shouldBeEqualToString('testCSSText("content: -webkit-from-flow(first-flow)")', "");
+shouldBeEqualToString('testCSSText("-webkit-flow-from: first-flow")', "first-flow");
+shouldBeEqualToString('testCSSText("-webkit-flow-from: none")', "none");
+shouldBeEqualToString('testCSSText("-webkit-flow-from: ")', "");
+shouldBeEqualToString('testCSSText("-webkit-flow-from: \'first-flow\'")', "");
+shouldBeEqualToString('testCSSText("-webkit-flow-from: 1")', "");
+shouldBeEqualToString('testCSSText("-webkit-flow-from: 1.2")', "");
+shouldBeEqualToString('testCSSText("-webkit-flow-from: -1")', "");
+shouldBeEqualToString('testCSSText("-webkit-flow-from: 12px")', "");
+shouldBeEqualToString('testCSSText("-webkit-from-flow: first flow")', "");
 
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(\'first-flow\')")', "first-flow");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(\'first flow\')")', "'first flow'");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(\'auto\')")', "auto");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(auto)")', "");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(initial)")', "");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(inherit)")', "");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow()")', "");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(1)")', "");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(1.2)")', "");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(-1)")', "");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(12px)")', "");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(\'\')")', "''");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(first flow)")', "");
-shouldBeEqualToString('testComputedStyle("-webkit-from-flow(first-flow)")', "");
+shouldBeEqualToString('testComputedStyle("first-flow")', "first-flow");
+shouldBeEqualToString('testComputedStyle("\'first flow\'")', "none");
+shouldBeEqualToString('testComputedStyle("none")', "none");
+shouldBeEqualToString('testComputedStyle("initial")', "none");
+shouldBeEqualToString('testComputedStyle("inherit")', "none");
+shouldBeEqualToString('testComputedStyle("1")', "none");
+shouldBeEqualToString('testComputedStyle("1.2")', "none");
+shouldBeEqualToString('testComputedStyle("-1")', "none");
+shouldBeEqualToString('testComputedStyle("12px")', "none");
 
 successfullyParsed = true;
index cc1207a..6d459a8 100644 (file)
@@ -9,7 +9,7 @@ function createRegionElement(elementType, displayType)
     document.body.appendChild(element);
 
     // Transform the element into a region.
-    element.style.setProperty("content", "-webkit-from-flow('no-flow')");
+    element.style.setProperty("-webkit-flow-from", "no-flow");
 
     // The region element was created if the length of inner text is 0.
     var regionCreated = element.innerText.length == 0;
index eb85a46..1b6a130 100644 (file)
@@ -2,7 +2,7 @@
 
 <style>
     #content { -webkit-flow-into: flow; }
-    .region { content: -webkit-from-flow("flow"); }
+    .region { -webkit-flow-from: flow; }
     .finished #content, .finished .region { display: none; }
 
     #region1 { width: 70px; height: 60px; }
index a4cad98..1e281bd 100644 (file)
@@ -2,7 +2,7 @@
 <head>
 <style>
     #content { -webkit-flow-into: flow; }
-    .region { content: -webkit-from-flow("flow"); border:2px solid black; margin:1em 0}
+    .region { -webkit-flow-from: flow; border:2px solid black; margin:1em 0}
     .finished #content, .finished .region { display: none; }
 
     #region1 { width: 200px; height: 30px; }
index 2a0f692..f8cdc44 100644 (file)
@@ -4,7 +4,7 @@
     html { -webkit-writing-mode: horizontal-bt; }
 
     #content { -webkit-flow-into: flow; }
-    .region { content: -webkit-from-flow("flow"); }
+    .region { -webkit-flow-from: flow; }
     .finished #content, .finished .region { display: none; }
 
     #region1 { width: 70px; height: 60px; }
index 824e4ba..4260d56 100644 (file)
@@ -2,7 +2,7 @@
 <head>
 <style>
     #content { -webkit-flow-into: flow; }
-    .region { content: -webkit-from-flow("flow"); border:2px solid black; margin:1em 0}
+    .region { -webkit-flow-from: flow; border:2px solid black; margin:1em 0}
     .finished #content, .finished .region { display: none; }
 
     #region1 { width: 200px; height: 30px; }
index 288b1e0..d1743d6 100644 (file)
@@ -4,7 +4,7 @@
     html { -webkit-writing-mode: vertical-rl; }
     
     #content { -webkit-flow-into: flow; }
-    .region { content: -webkit-from-flow("flow"); }
+    .region { -webkit-flow-from: flow; }
     .finished #content, .finished .region { display: none; }
 
     #region1 { width: 70px; height: 60px; }
index 2269eda..cfed082 100644 (file)
@@ -4,7 +4,7 @@
     html { -webkit-writing-mode: vertical-lr; }
     
     #content { -webkit-flow-into: flow; }
-    .region { content: -webkit-from-flow("flow"); }
+    .region { -webkit-flow-from: flow; }
     .finished #content, .finished .region { display: none; }
     
     #region1 { height: 70px; width: 60px; }
index 9172854..fb306bd 100644 (file)
@@ -2,7 +2,7 @@
 
 <style>
     #content { -webkit-flow-into: flow; }
-    .region { content: -webkit-from-flow("flow"); }
+    .region { -webkit-flow-from: flow; }
     .finished #content, .finished .region { display: none; }
 
     #region1 { width: 70px; height: 60px; }
index f74d247..4aa58d2 100644 (file)
@@ -20,7 +20,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 042fd4c..cfbe7a5 100644 (file)
@@ -32,7 +32,7 @@
 
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index d0fb9d4..77bfb35 100644 (file)
@@ -25,7 +25,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index aee3814..872b392 100644 (file)
@@ -25,7 +25,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index c473b2a..6f71f69 100644 (file)
@@ -25,7 +25,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 353ecf7..7bb1dfe 100644 (file)
@@ -18,7 +18,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index 5b61849..f6fd9a5 100644 (file)
@@ -20,7 +20,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index f1970a7..ae421d6 100644 (file)
@@ -20,7 +20,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index dd50987..25d216e 100644 (file)
@@ -18,7 +18,7 @@
     
     #region1, #region2, #region3 {
         border: 1px solid black;
-        content: -webkit-from-flow("flow1");
+        -webkit-flow-from: flow1;
     }
 
     #region1 {
index cff2dde..4e581fa 100644 (file)
@@ -23,9 +23,9 @@
         width: 100%;
         height: 100px;
     }
-    #REGION1 { content: -webkit-from-flow('flowA'); }
-    #REGION2 { content: -webkit-from-flow('flowB'); }
-    #REGION3 { content: -webkit-from-flow('flowC'); }
+    #REGION1 { -webkit-flow-from: flowA; }
+    #REGION2 { -webkit-flow-from: flowB; }
+    #REGION3 { -webkit-flow-from: flowC; }
 </style>
 
 <div id="DIV1">DIV1 - flowA</div>
index 0849550..9997405 100644 (file)
@@ -8,8 +8,8 @@
     width: 100%;
     height: 100px;
 }
-#REGION1 { content: -webkit-from-flow('flowA'); }
-#REGION2 { content: -webkit-from-flow('flowB'); }
+#REGION1 { -webkit-flow-from: flowA; }
+#REGION2 { -webkit-flow-from: flowB; }
 </style>
 
 <div id="DIV1">
index 5a4b3f3..7b4c675 100644 (file)
@@ -9,9 +9,9 @@
     width: 100%;
     height: 100px;
 }
-#REGION1 { content: -webkit-from-flow('flowA'); }
-#REGION2 { content: -webkit-from-flow('flowB'); }
-#REGION3 { content: -webkit-from-flow('flowC'); }
+#REGION1 { -webkit-flow-from: flowA; }
+#REGION2 { -webkit-flow-from: flowB; }
+#REGION3 { -webkit-flow-from: flowC; }
 </style>
 
 <div id="DIV1">DIV1 - flowA</div>
index 02860f5..19917cf 100644 (file)
@@ -27,5 +27,5 @@ body {
 <div style="-webkit-flow-into:thread">
 せっかく見つけたすばらしい記事がどこにあったか忘れてしまった経験はありますかならタイトルとアドレスだけでなく、訪問したウェブページのコンテンツからも検索することができます。せっかく見つけたすばらしい記事がどこにあったか忘れてしまった経験はありますか ならタイトルとアドレスだけでなく、訪問したウェブページのコンテンツからも検索することができます。訪問したウェブページのコンテンツからも検索することができます。せっかく見つけたすばらしい記事がどこにあったか忘れてしまった経験はありますか ならタイトルとアドレスだけでなく、訪問
 </div>
-<div style="content:-webkit-from-flow('thread'); position:absolute;right:100px; top:100px; border:2px solid black; width:400px; height:400px"></div>
+<div style="-webkit-flow-from: thread; position:absolute;right:100px; top:100px; border:2px solid black; width:400px; height:400px"></div>
 </body>
index 54ff8cd..b4864c6 100644 (file)
@@ -7,5 +7,5 @@
         }
     </script>
     <iframe onload="loaded()" id="iframe" src="resources/line-flow-with-floats.html" style="border: none; width: 500px; height: 600px; -webkit-flow-into:thread"></iframe>
-    <div style="position:absolute;left:100px;top:0;width:500px;height:600px;content:-webkit-from-flow('thread')"></div>
+    <div style="position:absolute;left:100px;top:0;width:500px;height:600px;-webkit-flow-from: thread"></div>
 </body>
index 9564dc4..fb1379b 100644 (file)
@@ -13,4 +13,4 @@
     </div>
 </div>
 <div id="target" style="-webkit-flow-into: thread; height: 50px; width: 100px; background-color: red; margin-top: -100px;"></div>
-<div style="content:-webkit-from-flow('thread'); width:100px;height:400px; border:2px solid black; position:absolute; left:100px; top:100px"></div>
+<div style="-webkit-flow-from: thread; width:100px;height:400px; border:2px solid black; position:absolute; left:100px; top:100px"></div>
index 9cf319d..2e2df3a 100644 (file)
@@ -11,7 +11,7 @@
 #target { height: 200px; background-color: red }
 
 #region1, #region2, #region3 {
-    content: -webkit-from-flow("flow1");
+    -webkit-flow-from: flow1;
 }
 
 #region1 {
index f02e20d..3e3bfb1 100644 (file)
@@ -198,6 +198,7 @@ zoom: 1;
 -webkit-user-select: text;
 -webkit-writing-mode: horizontal-tb;
 -webkit-flow-into: auto;
+-webkit-flow-from: none;
 -webkit-region-overflow: auto;
 -webkit-region-break-after: auto;
 -webkit-region-break-before: auto;
index f816505..e781be0 100644 (file)
@@ -197,6 +197,7 @@ Computed style of an element whose parent's 'display' value is 'none':
     -webkit-user-select: text
     -webkit-writing-mode: horizontal-tb
     -webkit-flow-into: auto
+    -webkit-flow-from: none
     -webkit-region-overflow: auto
     -webkit-region-break-after: auto
     -webkit-region-break-before: auto
index 2383166..fbd056f 100644 (file)
@@ -394,6 +394,8 @@ rect: style.getPropertyValue(-webkit-writing-mode) : horizontal-tb
 rect: style.getPropertyCSSValue(-webkit-writing-mode) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-flow-into) : auto
 rect: style.getPropertyCSSValue(-webkit-flow-into) : [object CSSPrimitiveValue]
+rect: style.getPropertyValue(-webkit-flow-from) : none
+rect: style.getPropertyCSSValue(-webkit-flow-from) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-region-overflow) : auto
 rect: style.getPropertyCSSValue(-webkit-region-overflow) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-region-break-after) : auto
@@ -872,6 +874,8 @@ g: style.getPropertyValue(-webkit-writing-mode) : horizontal-tb
 g: style.getPropertyCSSValue(-webkit-writing-mode) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-flow-into) : auto
 g: style.getPropertyCSSValue(-webkit-flow-into) : [object CSSPrimitiveValue]
+g: style.getPropertyValue(-webkit-flow-from) : none
+g: style.getPropertyCSSValue(-webkit-flow-from) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-region-overflow) : auto
 g: style.getPropertyCSSValue(-webkit-region-overflow) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-region-break-after) : auto
index e2ad88c..6351615 100644 (file)
@@ -394,6 +394,8 @@ rect: style.getPropertyValue(-webkit-writing-mode) : horizontal-tb
 rect: style.getPropertyCSSValue(-webkit-writing-mode) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-flow-into) : auto
 rect: style.getPropertyCSSValue(-webkit-flow-into) : [object CSSPrimitiveValue]
+rect: style.getPropertyValue(-webkit-flow-from) : none
+rect: style.getPropertyCSSValue(-webkit-flow-from) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-region-overflow) : auto
 rect: style.getPropertyCSSValue(-webkit-region-overflow) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-region-break-after) : auto
@@ -872,6 +874,8 @@ g: style.getPropertyValue(-webkit-writing-mode) : horizontal-tb
 g: style.getPropertyCSSValue(-webkit-writing-mode) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-flow-into) : auto
 g: style.getPropertyCSSValue(-webkit-flow-into) : [object CSSPrimitiveValue]
+g: style.getPropertyValue(-webkit-flow-from) : none
+g: style.getPropertyCSSValue(-webkit-flow-from) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-region-overflow) : auto
 g: style.getPropertyCSSValue(-webkit-region-overflow) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-region-break-after) : auto
index 9f90ffc..05f3a29 100644 (file)
@@ -1,3 +1,30 @@
+2011-10-17  Mihnea Ovidenie  <mihnea@adobe.com>
+
+        [CSS Regions]Change content:-webkit-from-flow to -webkit-flow-from
+        https://bugs.webkit.org/show_bug.cgi?id=70104
+
+        Reviewed by David Hyatt.
+
+        1. -webkit-flow-from is now a property instead of being an addition to content property.
+        2. -webkit-flow-from takes an identifier instead of string.
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseValue):
+        (WebCore::CSSParser::parseContent):
+        (WebCore::CSSParser::parseRegionThread):
+        * css/CSSParser.h:
+        * css/CSSPrimitiveValue.cpp:
+        (WebCore::isValidCSSUnitTypeForDoubleConversion):
+        (WebCore::CSSPrimitiveValue::cleanup):
+        (WebCore::CSSPrimitiveValue::getStringValue):
+        (WebCore::CSSPrimitiveValue::cssText):
+        * css/CSSPrimitiveValue.h:
+        * css/CSSPropertyNames.in:
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::applyProperty):
+
 2011-10-17  Kentaro Hara  <haraken@chromium.org>
 
         MessageEvent.data can be stored as ScriptValue.
index 6faf8fa..7768ff3 100644 (file)
@@ -275,6 +275,7 @@ static const int computedProperties[] = {
     CSSPropertyWebkitUserSelect,
     CSSPropertyWebkitWritingMode,
     CSSPropertyWebkitFlowInto,
+    CSSPropertyWebkitFlowFrom,
     CSSPropertyWebkitRegionOverflow,
     CSSPropertyWebkitRegionBreakAfter,
     CSSPropertyWebkitRegionBreakBefore,
@@ -1987,6 +1988,10 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
             if (style->flowThread().isNull())
                 return primitiveValueCache->createIdentifierValue(CSSValueAuto);
             return primitiveValueCache->createValue(style->flowThread(), CSSPrimitiveValue::CSS_STRING);
+        case CSSPropertyWebkitFlowFrom:
+            if (style->regionThread().isNull())
+                return primitiveValueCache->createIdentifierValue(CSSValueNone);
+            return primitiveValueCache->createValue(style->regionThread(), CSSPrimitiveValue::CSS_STRING);
         case CSSPropertyWebkitRegionOverflow:
             return primitiveValueCache->createValue(style->regionOverflow());
 #if ENABLE(CSS_FILTERS)
index 2dc0faa..5740cc4 100644 (file)
@@ -1641,6 +1641,8 @@ bool CSSParser::parseValue(int propId, bool important)
         break;
     case CSSPropertyWebkitFlowInto:
         return parseFlowThread(propId, important);
+    case CSSPropertyWebkitFlowFrom:
+        return parseRegionThread(propId, important);
     case CSSPropertyWebkitRegionOverflow:
         if (id == CSSValueAuto || id == CSSValueBreak)
             validPrimitive = true;
@@ -2718,10 +2720,6 @@ bool CSSParser::parseContent(int propId, bool important)
             } else if (isGeneratedImageValue(val)) {
                 if (!parseGeneratedImage(parsedValue))
                     return false;
-            } else if (equalIgnoringCase(val->function->name, "-webkit-from-flow(")) {
-                parsedValue = parseFromFlowContent(args);
-                if (!parsedValue)
-                    return false;
             } else
                 return false;
         } else if (val->unit == CSSPrimitiveValue::CSS_IDENT) {
@@ -6548,20 +6546,34 @@ bool CSSParser::parseFlowThread(int propId, bool important)
     return true;
 }
 
-// The region name is now specified as an argument to the content property:
-// content: from-flow(flow_thread_name)
-PassRefPtr<CSSValue> CSSParser::parseFromFlowContent(CSSParserValueList* args)
+// -webkit-flow-from: none | <ident>
+bool CSSParser::parseRegionThread(int propId, bool important)
 {
-    // It should be only one name for the region thread.
-    if (args->size() != 1)
-        return 0;
+    ASSERT(propId == CSSPropertyWebkitFlowFrom);
 
-    CSSParserValue* argFlowThreadName = args->current();
+    if (m_valueList->size() != 1)
+        return false;
 
-    if (argFlowThreadName->unit != CSSPrimitiveValue::CSS_STRING)
-        return 0;
+    CSSParserValue* value = m_valueList->current();
+    if (!value)
+        return false;
 
-    return CSSPrimitiveValue::create(argFlowThreadName->string, CSSPrimitiveValue::CSS_FROM_FLOW);
+    if (value->unit != CSSPrimitiveValue::CSS_IDENT)
+        return false;
+
+    if (value->id == CSSValueNone)
+        addProperty(propId, primitiveValueCache()->createIdentifierValue(value->id), important);
+    else {
+        String inputProperty = String(value->string);
+        if (!inputProperty.isEmpty()) {
+            if (!validFlowName(inputProperty))
+                return false;
+            addProperty(propId, primitiveValueCache()->createValue(inputProperty, CSSPrimitiveValue::CSS_STRING), important);
+        } else
+            addProperty(propId, primitiveValueCache()->createIdentifierValue(CSSValueNone), important);
+    }
+
+    return true;
 }
 
 bool CSSParser::parseTransformOrigin(int propId, int& propId1, int& propId2, int& propId3, RefPtr<CSSValue>& value, RefPtr<CSSValue>& value2, RefPtr<CSSValue>& value3)
index e05b4cf..e9f63a7 100644 (file)
@@ -200,7 +200,7 @@ public:
     bool parseFontFeatureSettings(bool important);
 
     bool parseFlowThread(int propId, bool important);
-    PassRefPtr<CSSValue> parseFromFlowContent(CSSParserValueList*);
+    bool parseRegionThread(int propId, bool important);
 
     int yyparse();
 
index 05f7f37..4564e31 100644 (file)
@@ -77,7 +77,6 @@ static inline bool isValidCSSUnitTypeForDoubleConversion(CSSPrimitiveValue::Unit
     case CSSPrimitiveValue:: CSS_COUNTER:
     case CSSPrimitiveValue:: CSS_COUNTER_NAME:
     case CSSPrimitiveValue:: CSS_DASHBOARD_REGION:
-    case CSSPrimitiveValue:: CSS_FROM_FLOW:
     case CSSPrimitiveValue:: CSS_IDENT:
     case CSSPrimitiveValue:: CSS_PAIR:
     case CSSPrimitiveValue:: CSS_PARSER_HEXCOLOR:
@@ -293,7 +292,6 @@ void CSSPrimitiveValue::cleanup()
         case CSS_STRING:
         case CSS_URI:
         case CSS_ATTR:
-        case CSS_FROM_FLOW:
         case CSS_PARSER_HEXCOLOR:
             if (m_value.string)
                 m_value.string->deref();
@@ -583,7 +581,6 @@ String CSSPrimitiveValue::getStringValue(ExceptionCode& ec) const
         case CSS_STRING:
         case CSS_ATTR:
         case CSS_URI:
-        case CSS_FROM_FLOW:
             return m_value.string;
         case CSS_IDENT:
             return valueOrPropertyName(m_value.ident);
@@ -601,7 +598,6 @@ String CSSPrimitiveValue::getStringValue() const
         case CSS_STRING:
         case CSS_ATTR:
         case CSS_URI:
-        case CSS_FROM_FLOW:
              return m_value.string;
         case CSS_IDENT:
             return valueOrPropertyName(m_value.ident);
@@ -776,9 +772,6 @@ String CSSPrimitiveValue::cssText() const
         case CSS_STRING:
             text = quoteCSSStringIfNeeded(m_value.string);
             break;
-        case CSS_FROM_FLOW:
-            text = "-webkit-from-flow(" + quoteCSSStringIfNeeded(m_value.string) + ")";
-            break;
         case CSS_URI:
             text = "url(" + quoteCSSURLIfNeeded(m_value.string) + ")";
             break;
index 5e8156c..6e565ab 100644 (file)
@@ -98,13 +98,12 @@ public:
 
         // This is used internally for counter names (as opposed to counter values)
         CSS_COUNTER_NAME = 109,
-        CSS_FROM_FLOW = 110,
 
         // This is used by the CSS Exclusions draft
-        CSS_SHAPE = 111,
+        CSS_SHAPE = 110,
         
         // Used by border images.
-        CSS_QUAD = 112
+        CSS_QUAD = 111
     };
     
     // This enum follows the CSSParser::Units enum augmented with UNIT_FREQUENCY for frequencies.
index 133707a..f7fbe42 100644 (file)
@@ -349,6 +349,7 @@ z-index
 -webkit-user-modify
 -webkit-user-select
 -webkit-flow-into
+-webkit-flow-from
 -webkit-region-overflow
 -webkit-wrap-shape
 -webkit-region-break-after
index 7120c0e..078df9d 100644 (file)
@@ -2694,15 +2694,6 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
         if (!value->isValueList())
             return;
 
-        CSSValueListInspector inspector = value;
-        if (inspector.length() == 1 && inspector.first()->isPrimitiveValue()) {
-            CSSPrimitiveValue* contentValue = static_cast<CSSPrimitiveValue*>(inspector.first());
-            if (contentValue->primitiveType() == CSSPrimitiveValue::CSS_FROM_FLOW) {
-                m_style->setRegionThread(contentValue->getStringValue().impl());
-                return;
-            }
-        }
-
         bool didSet = false;
         for (CSSValueListIterator i = value; i.hasMore(); i.advance()) {
             CSSValue* item = i.value();
@@ -3367,17 +3358,19 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
         HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(marqueeBehavior, MarqueeBehavior)      
         return;
     case CSSPropertyWebkitFlowInto:
-        if (isInitial)
-            HANDLE_INITIAL_COND(CSSPropertyWebkitFlowInto, FlowThread);
-        if (isInherit) {
-            m_style->setFlowThread(nullAtom);
-            return;
-        }
+        HANDLE_INHERIT_AND_INITIAL(flowThread, FlowThread);
         if (primitiveValue->getIdent() == CSSValueAuto)
             m_style->setFlowThread(nullAtom);
         else
             m_style->setFlowThread(primitiveValue->getStringValue());
         return;
+    case CSSPropertyWebkitFlowFrom:
+        HANDLE_INHERIT_AND_INITIAL(regionThread, RegionThread);
+        if (primitiveValue->getIdent() == CSSValueNone)
+            m_style->setRegionThread(nullAtom);
+        else
+            m_style->setRegionThread(primitiveValue->getStringValue());
+        return;
     case CSSPropertyWebkitRegionOverflow:
         HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(regionOverflow, RegionOverflow);
         return;