[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

hyatt at apple.com hyatt at apple.com
Wed Dec 22 14:19:34 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit e0461b5f60d2cd68f2984ec9124d2fe258abf436
Author: hyatt at apple.com <hyatt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Oct 6 19:02:34 2010 +0000

    https://bugs.webkit.org/show_bug.cgi?id=47285
    
    Reviewed by Dan Bernstein.
    
    Update to the latest writing-mode draft. The block-flow property is gone and has been replaced with writing-mode.
    Change all the code to use writingMode() instead of blockFlow() and rename all functions that referred to block flow
    as appropriate.
    
    WebCore:
    
    * css/CSSComputedStyleDeclaration.cpp:
    (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
    * css/CSSParser.cpp:
    (WebCore::CSSParser::parseValue):
    * css/CSSPrimitiveValueMappings.h:
    (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
    (WebCore::CSSPrimitiveValue::operator WritingMode):
    (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
    * css/CSSProperty.cpp:
    (WebCore::resolveToPhysicalProperty):
    (WebCore::CSSProperty::resolveDirectionAwareProperty):
    * css/CSSProperty.h:
    * css/CSSPropertyNames.in:
    * css/CSSStyleSelector.cpp:
    (WebCore::CSSStyleSelector::styleForDocument):
    (WebCore::CSSStyleSelector::adjustRenderStyle):
    (WebCore::CSSStyleSelector::applyDeclarations):
    (WebCore::CSSStyleSelector::applyProperty):
    * css/CSSValueKeywords.in:
    * rendering/RenderBlock.cpp:
    (WebCore::RenderBlock::MarginInfo::MarginInfo):
    (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
    (WebCore::RenderBlock::setLogicalLeftForChild):
    (WebCore::RenderBlock::setLogicalTopForChild):
    (WebCore::RenderBlock::layoutBlockChild):
    (WebCore::RenderBlock::insertFloatingObject):
    (WebCore::RenderBlock::addOverhangingFloats):
    (WebCore::RenderBlock::addIntrudingFloats):
    (WebCore::RenderBlock::collapsedMarginBeforeForChild):
    (WebCore::RenderBlock::collapsedMarginAfterForChild):
    (WebCore::RenderBlock::marginBeforeForChild):
    (WebCore::RenderBlock::marginAfterForChild):
    (WebCore::RenderBlock::marginStartForChild):
    (WebCore::RenderBlock::marginEndForChild):
    (WebCore::RenderBlock::setMarginStartForChild):
    (WebCore::RenderBlock::setMarginEndForChild):
    (WebCore::RenderBlock::setMarginBeforeForChild):
    (WebCore::RenderBlock::setMarginAfterForChild):
    (WebCore::RenderBlock::marginValuesForChild):
    * rendering/RenderBlock.h:
    (WebCore::RenderBlock::logicalWidthForChild):
    (WebCore::RenderBlock::logicalHeightForChild):
    (WebCore::RenderBlock::logicalTopForChild):
    (WebCore::RenderBlock::logicalRightOffsetForContent):
    (WebCore::RenderBlock::logicalLeftOffsetForContent):
    (WebCore::RenderBlock::logicalTopForFloat):
    (WebCore::RenderBlock::logicalBottomForFloat):
    (WebCore::RenderBlock::logicalLeftForFloat):
    (WebCore::RenderBlock::logicalRightForFloat):
    (WebCore::RenderBlock::logicalWidthForFloat):
    (WebCore::RenderBlock::setLogicalTopForFloat):
    (WebCore::RenderBlock::setLogicalLeftForFloat):
    (WebCore::RenderBlock::setLogicalHeightForFloat):
    (WebCore::RenderBlock::setLogicalWidthForFloat):
    * rendering/RenderBox.cpp:
    (WebCore::RenderBox::marginBefore):
    (WebCore::RenderBox::marginAfter):
    (WebCore::RenderBox::marginStart):
    (WebCore::RenderBox::marginEnd):
    (WebCore::RenderBox::setMarginStart):
    (WebCore::RenderBox::setMarginEnd):
    (WebCore::RenderBox::setMarginBefore):
    (WebCore::RenderBox::setMarginAfter):
    (WebCore::RenderBox::styleDidChange):
    (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
    (WebCore::RenderBox::computeLogicalWidth):
    (WebCore::RenderBox::computeLogicalHeight):
    (WebCore::RenderBox::availableLogicalHeightUsing):
    (WebCore::RenderBox::avoidsFloats):
    * rendering/RenderBox.h:
    (WebCore::RenderBox::logicalLeft):
    (WebCore::RenderBox::logicalTop):
    (WebCore::RenderBox::logicalWidth):
    (WebCore::RenderBox::logicalHeight):
    (WebCore::RenderBox::setLogicalLeft):
    (WebCore::RenderBox::setLogicalTop):
    (WebCore::RenderBox::setLogicalWidth):
    (WebCore::RenderBox::setLogicalHeight):
    (WebCore::RenderBox::setLogicalLocation):
    (WebCore::RenderBox::contentLogicalWidth):
    (WebCore::RenderBox::contentLogicalHeight):
    (WebCore::RenderBox::stretchesToViewport):
    (WebCore::RenderBox::intrinsicLogicalWidth):
    (WebCore::RenderBox::intrinsicLogicalHeight):
    (WebCore::RenderBox::availableWidth):
    (WebCore::RenderBox::availableHeight):
    (WebCore::RenderBox::scrollbarLogicalHeight):
    (WebCore::RenderBox::isWritingModeRoot):
    * rendering/RenderFieldset.cpp:
    (WebCore::RenderFieldset::paintBoxDecorations):
    (WebCore::RenderFieldset::paintMask):
    * rendering/RenderImage.cpp:
    (WebCore::RenderImage::computeReplacedLogicalWidth):
    (WebCore::RenderImage::computeReplacedLogicalHeight):
    * rendering/RenderInline.cpp:
    (WebCore::RenderInline::marginLeft):
    (WebCore::RenderInline::marginRight):
    (WebCore::RenderInline::marginTop):
    (WebCore::RenderInline::marginBottom):
    * rendering/RenderTableCell.cpp:
    (WebCore::RenderTableCell::paddingTop):
    (WebCore::RenderTableCell::paddingBottom):
    (WebCore::RenderTableCell::paddingLeft):
    (WebCore::RenderTableCell::paddingRight):
    * rendering/RenderView.h:
    (WebCore::RenderView::viewLogicalWidth):
    (WebCore::RenderView::viewLogicalHeight):
    * rendering/RootInlineBox.cpp:
    (WebCore::RootInlineBox::RootInlineBox):
    * rendering/style/RenderStyle.cpp:
    (WebCore::RenderStyle::diff):
    (WebCore::RenderStyle::logicalWidth):
    (WebCore::RenderStyle::logicalHeight):
    (WebCore::RenderStyle::logicalMinWidth):
    (WebCore::RenderStyle::logicalMaxWidth):
    (WebCore::RenderStyle::logicalMinHeight):
    (WebCore::RenderStyle::logicalMaxHeight):
    (WebCore::RenderStyle::borderBeforeWidth):
    (WebCore::RenderStyle::borderAfterWidth):
    (WebCore::RenderStyle::borderStartWidth):
    (WebCore::RenderStyle::borderEndWidth):
    (WebCore::RenderStyle::marginBefore):
    (WebCore::RenderStyle::marginAfter):
    (WebCore::RenderStyle::marginBeforeUsing):
    (WebCore::RenderStyle::marginAfterUsing):
    (WebCore::RenderStyle::marginStart):
    (WebCore::RenderStyle::marginEnd):
    (WebCore::RenderStyle::marginStartUsing):
    (WebCore::RenderStyle::marginEndUsing):
    (WebCore::RenderStyle::paddingBefore):
    (WebCore::RenderStyle::paddingAfter):
    (WebCore::RenderStyle::paddingStart):
    (WebCore::RenderStyle::paddingEnd):
    * rendering/style/RenderStyle.h:
    (WebCore::InheritedFlags::setBitDefaults):
    (WebCore::InheritedFlags::writingMode):
    (WebCore::InheritedFlags::isHorizontalWritingMode):
    (WebCore::InheritedFlags::setWritingMode):
    (WebCore::InheritedFlags::initialWritingMode):
    * rendering/style/RenderStyleConstants.h:
    * rendering/style/SVGRenderStyle.h:
    (WebCore::SVGRenderStyle::initialWritingMode):
    (WebCore::SVGRenderStyle::setWritingMode):
    (WebCore::SVGRenderStyle::writingMode):
    * rendering/style/SVGRenderStyleDefs.h:
    
    LayoutTests:
    
    Also hacked all of the getComputedStyle tests to just omit dashboard regions so that the results can be
    cross-platform.
    
    * fast/blockflow/auto-margins-across-boundaries.html:
    * fast/blockflow/block-formatting-context.html:
    * fast/blockflow/block-level-images.html:
    * fast/blockflow/display-mutation.html:
    * fast/blockflow/fieldsets.html:
    * fast/blockflow/floats-in-block-layout.html:
    * fast/blockflow/inline-direction-positioning.html:
    * fast/blockflow/margin-collapse.html:
    * fast/blockflow/percentage-padding.html:
    * fast/blockflow/relative-positioning-percentages.html:
    * fast/blockflow/root-lr-basic.html:
    * fast/blockflow/self-collapsing-block.html:
    * fast/css/getComputedStyle/computed-style-expected.txt:
    * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
    * fast/css/getComputedStyle/computed-style-without-renderer.html:
    * fast/css/getComputedStyle/computed-style.html:
    * fast/css/logical-property-resolution.html:
    * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
    * platform/mac/svg/css/getComputedStyle-basic-expected.checksum: Removed.
    * platform/mac/svg/css/getComputedStyle-basic-expected.png: Removed.
    * platform/win/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
    * platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
    * svg/css/getComputedStyle-basic-expected.txt:
    * svg/css/getComputedStyle-basic.xhtml:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 0a6ec9f..db6f353 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,41 @@
+2010-10-06  David Hyatt  <hyatt at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        https://bugs.webkit.org/show_bug.cgi?id=47285
+
+        Update to the latest writing-mode draft. The block-flow property is gone and has been replaced with writing-mode.
+        Change all the code to use writingMode() instead of blockFlow() and rename all functions that referred to block flow
+        as appropriate.
+
+        Also hacked all of the getComputedStyle tests to just omit dashboard regions so that the results can be
+        cross-platform.
+
+        * fast/blockflow/auto-margins-across-boundaries.html:
+        * fast/blockflow/block-formatting-context.html:
+        * fast/blockflow/block-level-images.html:
+        * fast/blockflow/display-mutation.html:
+        * fast/blockflow/fieldsets.html:
+        * fast/blockflow/floats-in-block-layout.html:
+        * fast/blockflow/inline-direction-positioning.html:
+        * fast/blockflow/margin-collapse.html:
+        * fast/blockflow/percentage-padding.html:
+        * fast/blockflow/relative-positioning-percentages.html:
+        * fast/blockflow/root-lr-basic.html:
+        * fast/blockflow/self-collapsing-block.html:
+        * fast/css/getComputedStyle/computed-style-expected.txt:
+        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+        * fast/css/getComputedStyle/computed-style-without-renderer.html:
+        * fast/css/getComputedStyle/computed-style.html:
+        * fast/css/logical-property-resolution.html:
+        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
+        * platform/mac/svg/css/getComputedStyle-basic-expected.checksum: Removed.
+        * platform/mac/svg/css/getComputedStyle-basic-expected.png: Removed.
+        * platform/win/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
+        * platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
+        * svg/css/getComputedStyle-basic-expected.txt:
+        * svg/css/getComputedStyle-basic.xhtml:
+
 2010-10-06  Albert J. Wong  <ajwong at chromium.org>
 
         [chromium] Unreviewed. Build fix.
diff --git a/LayoutTests/fast/blockflow/auto-margins-across-boundaries.html b/LayoutTests/fast/blockflow/auto-margins-across-boundaries.html
index ac58fd6..49314f6 100644
--- a/LayoutTests/fast/blockflow/auto-margins-across-boundaries.html
+++ b/LayoutTests/fast/blockflow/auto-margins-across-boundaries.html
@@ -1,7 +1,7 @@
 <html>
 <head>
 <style>
-.lr { -webkit-block-flow: lr; block-flow: lr; background-color:green; margin-left:auto; margin-right:auto; width:100px; height:100px; }
+.lr { -webkit-writing-mode: vertical-lr; background-color:green; margin-left:auto; margin-right:auto; width:100px; height:100px; }
 </style>
 </head>
 <body>
diff --git a/LayoutTests/fast/blockflow/block-formatting-context.html b/LayoutTests/fast/blockflow/block-formatting-context.html
index 4367180..fb1650f 100644
--- a/LayoutTests/fast/blockflow/block-formatting-context.html
+++ b/LayoutTests/fast/blockflow/block-formatting-context.html
@@ -1,7 +1,7 @@
 <html>
 <head>
 <style>
-.lr { -webkit-block-flow: lr; block-flow: lr; background-color:green; margin:10px; width:100px; height:100px; }
+.lr { -webkit-writing-mode: vertical-lr; background-color:green; margin:10px; width:100px; height:100px; }
 .float { width:100px; height:100px; background-color:blue; float:left}
 body { margin: 0 }
 </style>
diff --git a/LayoutTests/fast/blockflow/block-level-images.html b/LayoutTests/fast/blockflow/block-level-images.html
index ff8efb0..0722944 100644
--- a/LayoutTests/fast/blockflow/block-level-images.html
+++ b/LayoutTests/fast/blockflow/block-level-images.html
@@ -1,12 +1,12 @@
 <!doctype html>
-<div style="margin:2px; float:left; height:300px;border:2px solid black;-webkit-writing-mode:tb-lr; writing-mode:tb-lr">
+<div style="margin:2px; float:left; height:300px;border:2px solid black;-webkit-writing-mode:vertical-lr">
 <div style="width:25px;background-color:green"></div>
 <img style="display:block;height:50%; -webkit-border-before:2px solid maroon; -webkit-border-after:2px solid maroon; -webkit-border-start: 1px solid purple; -webkit-border-end:5px dashed grey" src="resources/circle.svg">
 <img style="-webkit-margin-start: 40px; display:block;height:50px" src="resources/oval.png">
 <div style="width:25px;background-color:green"></div>
 </div>
 
-<div style="margin:2px; float:left; height:300px;border:2px solid black;-webkit-writing-mode:bt-lr; writing-mode:bt-lr">
+<div style="margin:2px; float:left; height:300px;border:2px solid black;-webkit-writing-mode:vertical-lr; direction:rtl">
 <div style="width:25px;background-color:green"></div>
 <img style="display:block;height:50%; -webkit-border-before:2px solid maroon; -webkit-border-after:2px solid maroon; -webkit-border-start: 1px solid purple; -webkit-border-end:5px dashed grey" src="resources/circle.svg">
 <img style="-webkit-margin-start: 40px; display:block;height:50px" src="resources/oval.png">
diff --git a/LayoutTests/fast/blockflow/display-mutation.html b/LayoutTests/fast/blockflow/display-mutation.html
index 69778e0..542eafa 100644
--- a/LayoutTests/fast/blockflow/display-mutation.html
+++ b/LayoutTests/fast/blockflow/display-mutation.html
@@ -15,5 +15,5 @@ function runTest()
 </script>
 </head>
 <body onload="runTest()">
-<span id="test" style="-webkit-block-flow:lr"></span>
+<span id="test" style="-webkit-writing-mode:vertical-lr"></span>
 <div id="console"></div>
diff --git a/LayoutTests/fast/blockflow/fieldsets.html b/LayoutTests/fast/blockflow/fieldsets.html
index 678644a..83762bb 100644
--- a/LayoutTests/fast/blockflow/fieldsets.html
+++ b/LayoutTests/fast/blockflow/fieldsets.html
@@ -53,15 +53,15 @@ RTL fieldset with left/center/right text-align: <br>
 
 Vertical LTR fieldset with left/center/right text-align: <br>
 
-<fieldset style="-webkit-block-flow:lr;">
+<fieldset style="-webkit-writing-mode:vertical-lr">
 <legend style="text-align:left; margin-top:20px"><div></div></legend>
 </fieldset>
 
-<fieldset style="-webkit-block-flow:lr;">
+<fieldset style="-webkit-writing-mode:vertical-lr">
 <legend style="text-align:right; margin-bottom:20px"><div></div></legend>
 </fieldset>
 
-<fieldset style="-webkit-block-flow:lr;">
+<fieldset style="-webkit-writing-mode:vertical-lr">
 <legend style="text-align:center"><div></div></legend>
 </fieldset>
 
@@ -70,14 +70,14 @@ Vertical LTR fieldset with left/center/right text-align: <br>
 
 Vertical RTL fieldset with left/center/right text-align: <br>
 
-<fieldset dir=rtl style="-webkit-block-flow:lr;">
+<fieldset dir=rtl style="-webkit-writing-mode:vertical-lr">
 <legend style="text-align:left; margin-top:20px"><div></div></legend>
 </fieldset>
 
-<fieldset dir=rtl style="-webkit-block-flow:lr;">
+<fieldset dir=rtl style="-webkit-writing-mode:vertical-lr">
 <legend style="text-align:right; margin-bottom:20px"><div></div></legend>
 </fieldset>
 
-<fieldset dir=rtl style="-webkit-block-flow:lr;">
+<fieldset dir=rtl style="-webkit-writing-mode:vertical-lr">
 <legend style="text-align:center"><div></div></legend>
 </fieldset>
diff --git a/LayoutTests/fast/blockflow/floats-in-block-layout.html b/LayoutTests/fast/blockflow/floats-in-block-layout.html
index 8e2188f..2a45038 100644
--- a/LayoutTests/fast/blockflow/floats-in-block-layout.html
+++ b/LayoutTests/fast/blockflow/floats-in-block-layout.html
@@ -1,6 +1,6 @@
 <!doctype html>
 <html>
-<body style="-webkit-writing-mode:tb-lr; writing-mode:tb-lr;">
+<body style="-webkit-writing-mode:vertical-lr">
 <div style="width:100px; background-color:yellow"></div>
 <div style="float:left;width:100px;height:100px;background-color:green; margin-top:10px;"></div>
 <div style="float:right;width:100px;height:100px;background-color:green; margin-bottom:10px"></div>
diff --git a/LayoutTests/fast/blockflow/inline-direction-positioning.html b/LayoutTests/fast/blockflow/inline-direction-positioning.html
index 65f8fdf..da726ec 100644
--- a/LayoutTests/fast/blockflow/inline-direction-positioning.html
+++ b/LayoutTests/fast/blockflow/inline-direction-positioning.html
@@ -1,9 +1,9 @@
 <html>
 <body>
 <div style="border:2px solid black;width:600px;">
-<div style="-webkit-writing-mode: tb-lr; writing-mode:tb-lr; width:100px; height:100px; margin-left:50px; background-color:green"></div>
+<div style="-webkit-writing-mode:vertical-lr; width:100px; height:100px; margin-left:50px; background-color:green"></div>
 </div>
 
 <div style="border:2px solid black;width:600px;direction:rtl">
-<div style="-webkit-writing-mode: tb-lr; writing-mode:tb-lr; width:100px; height:100px; margin-right:50px; background-color:green"></div>
+<div style="-webkit-writing-mode:vertical-lr; width:100px; height:100px; margin-right:50px; background-color:green"></div>
 </div>
diff --git a/LayoutTests/fast/blockflow/margin-collapse.html b/LayoutTests/fast/blockflow/margin-collapse.html
index 5d5e546..e9ac5a2 100644
--- a/LayoutTests/fast/blockflow/margin-collapse.html
+++ b/LayoutTests/fast/blockflow/margin-collapse.html
@@ -5,9 +5,9 @@
 </style>
 <body>
 <div style="border:2px solid black">
-<div style="-webkit-block-flow:lr" class="block"></div>
-<div style="-webkit-block-flow:rl" class="block"></div>
-<div style="-webkit-block-flow:bt" class="block"></div>
+<div style="-webkit-writing-mode:vertical-lr" class="block"></div>
+<div style="-webkit-writing-mode:vertical-rl" class="block"></div>
+<div style="-webkit-writing-mode:horizontal-bt" class="block"></div>
 <div class="block"></div>
 </div>
 </body>
diff --git a/LayoutTests/fast/blockflow/percentage-padding.html b/LayoutTests/fast/blockflow/percentage-padding.html
index da8ae89..8024aab 100644
--- a/LayoutTests/fast/blockflow/percentage-padding.html
+++ b/LayoutTests/fast/blockflow/percentage-padding.html
@@ -11,7 +11,7 @@
 </style>
 </head>
 <body>
-<div style="width:100px;height:200px; -webkit-block-flow:lr;">
+<div style="width:100px;height:200px; -webkit-writing-mode:vertical-lr">
 <div id="test" class="block"></div>
 </div>
 <div id="console"></div>
diff --git a/LayoutTests/fast/blockflow/relative-positioning-percentages.html b/LayoutTests/fast/blockflow/relative-positioning-percentages.html
index 7d433d0..7e74317 100644
--- a/LayoutTests/fast/blockflow/relative-positioning-percentages.html
+++ b/LayoutTests/fast/blockflow/relative-positioning-percentages.html
@@ -1,7 +1,7 @@
 <html>
 <head>
 <style>
-.lr { -webkit-block-flow: lr; block-flow: lr; background-color:green; width:100px; height:100px; position:relative; top:50%; }
+.lr { -webkit-writing-mode:vertical-lr; background-color:green; width:100px; height:100px; position:relative; top:50%; }
 </style>
 </head>
 <body>
diff --git a/LayoutTests/fast/blockflow/root-lr-basic.html b/LayoutTests/fast/blockflow/root-lr-basic.html
index 940c949..85d14ec 100644
--- a/LayoutTests/fast/blockflow/root-lr-basic.html
+++ b/LayoutTests/fast/blockflow/root-lr-basic.html
@@ -1,2 +1,2 @@
 <!doctype html>
-<html style="overflow:hidden; -webkit-block-flow:lr; -webkit-logical-height:100px; border:2px solid black"></html>
+<html style="overflow:hidden; -webkit-writing-mode:vertical-lr; -webkit-logical-height:100px; border:2px solid black"></html>
diff --git a/LayoutTests/fast/blockflow/self-collapsing-block.html b/LayoutTests/fast/blockflow/self-collapsing-block.html
index aefaea5..096e233 100644
--- a/LayoutTests/fast/blockflow/self-collapsing-block.html
+++ b/LayoutTests/fast/blockflow/self-collapsing-block.html
@@ -1,6 +1,6 @@
 <!doctype html>
 <html>
-<body style="-webkit-writing-mode:tb-lr; writing-mode:tb-lr">
+<body style="-webkit-writing-mode:vertical-lr">
 <div style="width:100px;background-color:green"></div>
 <div style="height:100px;margin-left:100px;margin-right:100px"></div>
 <div style="width:100px;background-color:green"></div>
diff --git a/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt b/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
index 9d8a85e..25303a9 100644
--- a/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
+++ b/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
@@ -1,11 +1,16 @@
 Attributes that are exposed in the CSS computed style object:
 
 background-attachment: scroll;
+background-clip: border-box;
 background-color: rgba(0, 0, 0, 0);
 background-image: none;
+background-origin: padding-box;
 background-position: 0% 0%;
 background-repeat: repeat;
+background-size: auto auto;
 border-bottom-color: rgb(0, 0, 0);
+border-bottom-left-radius: 0px;
+border-bottom-right-radius: 0px;
 border-bottom-style: none;
 border-bottom-width: 0px;
 border-collapse: separate;
@@ -16,11 +21,14 @@ border-right-color: rgb(0, 0, 0);
 border-right-style: none;
 border-right-width: 0px;
 border-top-color: rgb(0, 0, 0);
+border-top-left-radius: 0px;
+border-top-right-radius: 0px;
 border-top-style: none;
 border-top-width: 0px;
 bottom: auto;
 caption-side: top;
 clear: none;
+clip: auto;
 color: rgb(0, 0, 0);
 cursor: auto;
 direction: ltr;
@@ -65,10 +73,12 @@ pointer-events: auto;
 position: static;
 resize: none;
 right: auto;
+speak: normal;
 table-layout: auto;
 text-align: -webkit-auto;
 text-decoration: none;
 text-indent: 0px;
+text-rendering: auto;
 text-shadow: none;
 text-overflow: clip;
 text-transform: none;
@@ -79,6 +89,7 @@ visibility: visible;
 white-space: normal;
 widows: 2;
 width: 784px;
+word-break: normal;
 word-spacing: 0px;
 word-wrap: normal;
 z-index: auto;
@@ -89,6 +100,7 @@ zoom: 1;
 -webkit-animation-fill-mode: none;
 -webkit-animation-iteration-count: 1;
 -webkit-animation-name: none;
+-webkit-animation-play-state: running;
 -webkit-animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
 -webkit-appearance: none;
 -webkit-backface-visibility: visible;
@@ -96,10 +108,9 @@ zoom: 1;
 -webkit-background-composite: source-over;
 -webkit-background-origin: padding-box;
 -webkit-background-size: auto auto;
--webkit-block-flow: tb;
 -webkit-border-fit: border;
--webkit-border-image: none;
 -webkit-border-horizontal-spacing: 0px;
+-webkit-border-image: none;
 -webkit-border-vertical-spacing: 0px;
 -webkit-box-align: stretch;
 -webkit-box-direction: normal;
@@ -112,6 +123,7 @@ zoom: 1;
 -webkit-box-reflect: none;
 -webkit-box-shadow: none;
 -webkit-box-sizing: content-box;
+-webkit-color-correction: default;
 -webkit-column-break-after: auto;
 -webkit-column-break-before: auto;
 -webkit-column-break-inside: auto;
@@ -122,23 +134,24 @@ zoom: 1;
 -webkit-column-rule-width: 0px;
 -webkit-column-span: 1;
 -webkit-column-width: auto;
+-webkit-font-smoothing: auto;
 -webkit-highlight: none;
 -webkit-line-break: normal;
 -webkit-line-clamp: none;
--webkit-margin-bottom-collapse: collapse;
--webkit-margin-top-collapse: collapse;
+-webkit-margin-before-collapse: collapse;
+-webkit-margin-after-collapse: collapse;
 -webkit-marquee-direction: auto;
 -webkit-marquee-increment: 6px;
 -webkit-marquee-repetition: infinite;
 -webkit-marquee-style: scroll;
 -webkit-mask-attachment: scroll;
 -webkit-mask-box-image: none;
--webkit-mask-image: none;
--webkit-mask-position: 0% 0%;
--webkit-mask-repeat: repeat;
 -webkit-mask-clip: border-box;
 -webkit-mask-composite: source-over;
+-webkit-mask-image: none;
 -webkit-mask-origin: border-box;
+-webkit-mask-position: 0% 0%;
+-webkit-mask-repeat: repeat;
 -webkit-mask-size: auto auto;
 -webkit-nbsp-mode: normal;
 -webkit-perspective: none;
@@ -159,10 +172,7 @@ zoom: 1;
 -webkit-user-drag: auto;
 -webkit-user-modify: read-only;
 -webkit-user-select: text;
--webkit-border-bottom-left-radius: 0px;
--webkit-border-bottom-right-radius: 0px;
--webkit-border-top-left-radius: 0px;
--webkit-border-top-right-radius: 0px;
+-webkit-writing-mode: horizontal-tb;
 clip-path: none;
 clip-rule: nonzero;
 mask: none;
@@ -184,28 +194,32 @@ marker-mid: none;
 marker-start: none;
 shape-rendering: auto;
 stroke: none;
-stroke-dasharray: ;
-stroke-dashoffset: ;
+stroke-dasharray: none;
+stroke-dashoffset: 0;
 stroke-linecap: butt;
 stroke-linejoin: miter;
 stroke-miterlimit: 4;
 stroke-opacity: 1;
-stroke-width: ;
-text-rendering: auto;
+stroke-width: 1;
 alignment-baseline: auto;
 baseline-shift: baseline;
 dominant-baseline: auto;
-kerning: ;
+kerning: 0;
 text-anchor: start;
 writing-mode: lr-tb;
 glyph-orientation-horizontal: 0deg;
 glyph-orientation-vertical: auto;
+-webkit-svg-shadow: none;
+vector-effect: none;
 
 Other attributes that the computed style class supports:
 
-background-position: 0% 0%;
+background-position-x: 0%;
+background-position-y: 0%;
 border-spacing: 0px 0px;
 overflow: visible;
+-webkit-mask-position-x: 0%;
+-webkit-mask-position-y: 0%;
 -webkit-match-nearest-mail-blockquote-color: normal;
 -webkit-text-size-adjust: auto;
 
diff --git a/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt b/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
index 311409b..e6e29a1 100644
--- a/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
+++ b/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
@@ -1,10 +1,15 @@
 Computed style of an element whose parent's 'display' value is 'none':
     background-attachment: scroll
+    background-clip: border-box
     background-color: rgb(0, 128, 0)
     background-image: none
+    background-origin: padding-box
     background-position: 0% 0%
     background-repeat: repeat
+    background-size: auto auto
     border-bottom-color: rgb(0, 0, 0)
+    border-bottom-left-radius: 0px
+    border-bottom-right-radius: 0px
     border-bottom-style: none
     border-bottom-width: 0px
     border-collapse: separate
@@ -15,11 +20,14 @@ Computed style of an element whose parent's 'display' value is 'none':
     border-right-style: none
     border-right-width: 0px
     border-top-color: rgb(0, 0, 0)
+    border-top-left-radius: 0px
+    border-top-right-radius: 0px
     border-top-style: solid
     border-top-width: 16px
     bottom: auto
     caption-side: top
     clear: none
+    clip: auto
     color: rgb(0, 0, 0)
     cursor: auto
     direction: ltr
@@ -64,10 +72,12 @@ Computed style of an element whose parent's 'display' value is 'none':
     position: static
     resize: none
     right: auto
+    speak: normal
     table-layout: auto
     text-align: -webkit-auto
     text-decoration: none
     text-indent: 0px
+    text-rendering: auto
     text-shadow: none
     text-overflow: clip
     text-transform: none
@@ -78,6 +88,7 @@ Computed style of an element whose parent's 'display' value is 'none':
     white-space: normal
     widows: 2
     width: 50%
+    word-break: normal
     word-spacing: 0px
     word-wrap: normal
     z-index: auto
@@ -88,6 +99,7 @@ Computed style of an element whose parent's 'display' value is 'none':
     -webkit-animation-fill-mode: none
     -webkit-animation-iteration-count: 1
     -webkit-animation-name: none
+    -webkit-animation-play-state: running
     -webkit-animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1)
     -webkit-appearance: none
     -webkit-backface-visibility: visible
@@ -95,10 +107,9 @@ Computed style of an element whose parent's 'display' value is 'none':
     -webkit-background-composite: source-over
     -webkit-background-origin: padding-box
     -webkit-background-size: auto auto
-    -webkit-block-flow: tb
     -webkit-border-fit: border
-    -webkit-border-image: none
     -webkit-border-horizontal-spacing: 0px
+    -webkit-border-image: none
     -webkit-border-vertical-spacing: 0px
     -webkit-box-align: stretch
     -webkit-box-direction: normal
@@ -111,6 +122,7 @@ Computed style of an element whose parent's 'display' value is 'none':
     -webkit-box-reflect: none
     -webkit-box-shadow: none
     -webkit-box-sizing: content-box
+    -webkit-color-correction: default
     -webkit-column-break-after: auto
     -webkit-column-break-before: auto
     -webkit-column-break-inside: auto
@@ -121,23 +133,24 @@ Computed style of an element whose parent's 'display' value is 'none':
     -webkit-column-rule-width: 0px
     -webkit-column-span: 1
     -webkit-column-width: auto
+    -webkit-font-smoothing: auto
     -webkit-highlight: none
     -webkit-line-break: normal
     -webkit-line-clamp: none
-    -webkit-margin-bottom-collapse: collapse
-    -webkit-margin-top-collapse: collapse
+    -webkit-margin-before-collapse: collapse
+    -webkit-margin-after-collapse: collapse
     -webkit-marquee-direction: auto
     -webkit-marquee-increment: 6px
     -webkit-marquee-repetition: infinite
     -webkit-marquee-style: scroll
     -webkit-mask-attachment: scroll
     -webkit-mask-box-image: none
-    -webkit-mask-image: none
-    -webkit-mask-position: 0% 0%
-    -webkit-mask-repeat: repeat
     -webkit-mask-clip: border-box
     -webkit-mask-composite: source-over
+    -webkit-mask-image: none
     -webkit-mask-origin: border-box
+    -webkit-mask-position: 0% 0%
+    -webkit-mask-repeat: repeat
     -webkit-mask-size: auto auto
     -webkit-nbsp-mode: normal
     -webkit-perspective: none
@@ -158,10 +171,7 @@ Computed style of an element whose parent's 'display' value is 'none':
     -webkit-user-drag: auto
     -webkit-user-modify: read-only
     -webkit-user-select: text
-    -webkit-border-bottom-left-radius: 0px
-    -webkit-border-bottom-right-radius: 0px
-    -webkit-border-top-left-radius: 0px
-    -webkit-border-top-right-radius: 0px
+    -webkit-writing-mode: horizontal-tb
     clip-path: none
     clip-rule: nonzero
     mask: none
@@ -183,25 +193,29 @@ Computed style of an element whose parent's 'display' value is 'none':
     marker-start: none
     shape-rendering: auto
     stroke: none
-    stroke-dasharray: 
-    stroke-dashoffset: 
+    stroke-dasharray: none
+    stroke-dashoffset: 0
     stroke-linecap: butt
     stroke-linejoin: miter
     stroke-miterlimit: 4
     stroke-opacity: 1
-    stroke-width: 
-    text-rendering: auto
+    stroke-width: 1
     alignment-baseline: auto
     baseline-shift: baseline
     dominant-baseline: auto
-    kerning: 
+    kerning: 0
     text-anchor: start
     writing-mode: lr-tb
     glyph-orientation-horizontal: 0deg
     glyph-orientation-vertical: auto
-    background-position: 0% 0%
+    -webkit-svg-shadow: none
+    vector-effect: none
+    background-position-x: 0%
+    background-position-y: 0%
     border-spacing: 0px 0px
     overflow: visible
+    -webkit-mask-position-x: 0%
+    -webkit-mask-position-y: 0%
     -webkit-match-nearest-mail-blockquote-color: normal
     -webkit-text-size-adjust: auto
 
diff --git a/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer.html b/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer.html
index c54b926..44bd60d 100644
--- a/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer.html
+++ b/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer.html
@@ -28,7 +28,8 @@
             if (!properties) {
                 for (var i = 0; i != style.length; ++i) {
                     var name = style.item(i);
-                    log("    " + name + ": " + style.getPropertyValue(name));
+                    if (name != "-webkit-dashboard-region")
+                        log("    " + name + ": " + style.getPropertyValue(name));
                 }
                 properties = others;
             }
diff --git a/LayoutTests/fast/css/getComputedStyle/computed-style.html b/LayoutTests/fast/css/getComputedStyle/computed-style.html
index 1e377ee..867dab1 100644
--- a/LayoutTests/fast/css/getComputedStyle/computed-style.html
+++ b/LayoutTests/fast/css/getComputedStyle/computed-style.html
@@ -7,7 +7,8 @@ function test() {
     for (var i = 0; i != style.length; ++i) {
         var name = style.item(i);
         var value = style.getPropertyValue(name);
-        text += name + ": " + value + ";\n";
+        if (name != "-webkit-dashboard-region")
+            text += name + ": " + value + ";\n";
     }
     document.getElementById("exposed").textContent = text;
     var others = [
diff --git a/LayoutTests/fast/css/logical-property-resolution.html b/LayoutTests/fast/css/logical-property-resolution.html
index 7dd47d0..e63dfea 100644
--- a/LayoutTests/fast/css/logical-property-resolution.html
+++ b/LayoutTests/fast/css/logical-property-resolution.html
@@ -10,19 +10,19 @@
 }
 
 .tb-block {
-  -webkit-block-flow: tb
+  -webkit-writing-mode: horizontal-tb;
 }
 
 .bt-block {
-  -webkit-block-flow: bt
+  -webkit-writing-mode: horizontal-bt
 }
 
 .lr-block {
-  -webkit-block-flow: lr
+  -webkit-writing-mode: vertical-lr
 }
 
 .rl-block {
-  -webkit-block-flow: rl
+  -webkit-writing-mode: vertical-rl
 }
 
 .test {
diff --git a/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt b/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt
deleted file mode 100644
index 95ec4c9..0000000
--- a/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt
+++ /dev/null
@@ -1,226 +0,0 @@
-Attributes that are exposed in the CSS computed style object:
-
-background-attachment: scroll;
-background-clip: border-box;
-background-color: rgba(0, 0, 0, 0);
-background-image: none;
-background-origin: padding-box;
-background-position: 0% 0%;
-background-repeat: repeat;
-background-size: auto auto;
-border-bottom-color: rgb(0, 0, 0);
-border-bottom-left-radius: 0px;
-border-bottom-right-radius: 0px;
-border-bottom-style: none;
-border-bottom-width: 0px;
-border-collapse: separate;
-border-left-color: rgb(0, 0, 0);
-border-left-style: none;
-border-left-width: 0px;
-border-right-color: rgb(0, 0, 0);
-border-right-style: none;
-border-right-width: 0px;
-border-top-color: rgb(0, 0, 0);
-border-top-left-radius: 0px;
-border-top-right-radius: 0px;
-border-top-style: none;
-border-top-width: 0px;
-bottom: auto;
-caption-side: top;
-clear: none;
-clip: auto;
-color: rgb(0, 0, 0);
-cursor: auto;
-direction: ltr;
-display: block;
-empty-cells: show;
-float: none;
-font-family: Times;
-font-size: 16px;
-font-style: normal;
-font-variant: normal;
-font-weight: normal;
-height: 576px;
-left: auto;
-letter-spacing: normal;
-line-height: normal;
-list-style-image: none;
-list-style-position: outside;
-list-style-type: disc;
-margin-bottom: 8px;
-margin-left: 8px;
-margin-right: 8px;
-margin-top: 8px;
-max-height: none;
-max-width: none;
-min-height: 0px;
-min-width: 0px;
-opacity: 1;
-orphans: 2;
-outline-color: rgb(0, 0, 0);
-outline-style: none;
-outline-width: 0px;
-overflow-x: visible;
-overflow-y: visible;
-padding-bottom: 0px;
-padding-left: 0px;
-padding-right: 0px;
-padding-top: 0px;
-page-break-after: auto;
-page-break-before: auto;
-page-break-inside: auto;
-pointer-events: auto;
-position: static;
-resize: none;
-right: auto;
-speak: normal;
-table-layout: auto;
-text-align: -webkit-auto;
-text-decoration: none;
-text-indent: 0px;
-text-rendering: auto;
-text-shadow: none;
-text-overflow: clip;
-text-transform: none;
-top: auto;
-unicode-bidi: normal;
-vertical-align: baseline;
-visibility: visible;
-white-space: normal;
-widows: 2;
-width: 784px;
-word-break: normal;
-word-spacing: 0px;
-word-wrap: normal;
-z-index: auto;
-zoom: 1;
--webkit-animation-delay: 0s;
--webkit-animation-direction: normal;
--webkit-animation-duration: 0s;
--webkit-animation-fill-mode: none;
--webkit-animation-iteration-count: 1;
--webkit-animation-name: none;
--webkit-animation-play-state: running;
--webkit-animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
--webkit-appearance: none;
--webkit-backface-visibility: visible;
--webkit-background-clip: border-box;
--webkit-background-composite: source-over;
--webkit-background-origin: padding-box;
--webkit-background-size: auto auto;
--webkit-block-flow: tb;
--webkit-border-fit: border;
--webkit-border-horizontal-spacing: 0px;
--webkit-border-image: none;
--webkit-border-vertical-spacing: 0px;
--webkit-box-align: stretch;
--webkit-box-direction: normal;
--webkit-box-flex: 0;
--webkit-box-flex-group: 1;
--webkit-box-lines: single;
--webkit-box-ordinal-group: 1;
--webkit-box-orient: horizontal;
--webkit-box-pack: start;
--webkit-box-reflect: none;
--webkit-box-shadow: none;
--webkit-box-sizing: content-box;
--webkit-color-correction: default;
--webkit-column-break-after: auto;
--webkit-column-break-before: auto;
--webkit-column-break-inside: auto;
--webkit-column-count: auto;
--webkit-column-gap: normal;
--webkit-column-rule-color: rgb(0, 0, 0);
--webkit-column-rule-style: none;
--webkit-column-rule-width: 0px;
--webkit-column-span: 1;
--webkit-column-width: auto;
--webkit-dashboard-region: null;
--webkit-font-smoothing: auto;
--webkit-highlight: none;
--webkit-line-break: normal;
--webkit-line-clamp: none;
--webkit-margin-before-collapse: collapse;
--webkit-margin-after-collapse: collapse;
--webkit-marquee-direction: auto;
--webkit-marquee-increment: 6px;
--webkit-marquee-repetition: infinite;
--webkit-marquee-style: scroll;
--webkit-mask-attachment: scroll;
--webkit-mask-box-image: none;
--webkit-mask-clip: border-box;
--webkit-mask-composite: source-over;
--webkit-mask-image: none;
--webkit-mask-origin: border-box;
--webkit-mask-position: 0% 0%;
--webkit-mask-repeat: repeat;
--webkit-mask-size: auto auto;
--webkit-nbsp-mode: normal;
--webkit-perspective: none;
--webkit-perspective-origin: 392px 288px;
--webkit-rtl-ordering: logical;
--webkit-text-decorations-in-effect: none;
--webkit-text-fill-color: rgb(0, 0, 0);
--webkit-text-security: none;
--webkit-text-stroke-color: rgb(0, 0, 0);
--webkit-text-stroke-width: 0px;
--webkit-transform: none;
--webkit-transform-origin: 392px 288px;
--webkit-transform-style: flat;
--webkit-transition-delay: 0s;
--webkit-transition-duration: 0s;
--webkit-transition-property: all;
--webkit-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
--webkit-user-drag: auto;
--webkit-user-modify: read-only;
--webkit-user-select: text;
-clip-path: none;
-clip-rule: nonzero;
-mask: none;
-filter: none;
-flood-color: rgb(0, 0, 0);
-flood-opacity: 1;
-lighting-color: rgb(255, 255, 255);
-stop-color: rgb(0, 0, 0);
-stop-opacity: 1;
-color-interpolation: srgb;
-color-interpolation-filters: linearrgb;
-color-rendering: auto;
-fill: #000000;
-fill-opacity: 1;
-fill-rule: nonzero;
-image-rendering: auto;
-marker-end: none;
-marker-mid: none;
-marker-start: none;
-shape-rendering: auto;
-stroke: none;
-stroke-dasharray: none;
-stroke-dashoffset: 0;
-stroke-linecap: butt;
-stroke-linejoin: miter;
-stroke-miterlimit: 4;
-stroke-opacity: 1;
-stroke-width: 1;
-alignment-baseline: auto;
-baseline-shift: baseline;
-dominant-baseline: auto;
-kerning: 0;
-text-anchor: start;
-writing-mode: lr-tb;
-glyph-orientation-horizontal: 0deg;
-glyph-orientation-vertical: auto;
--webkit-svg-shadow: none;
-vector-effect: none;
-
-Other attributes that the computed style class supports:
-
-background-position-x: 0%;
-background-position-y: 0%;
-border-spacing: 0px 0px;
-overflow: visible;
--webkit-mask-position-x: 0%;
--webkit-mask-position-y: 0%;
--webkit-match-nearest-mail-blockquote-color: normal;
--webkit-text-size-adjust: auto;
-
diff --git a/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.checksum b/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.checksum
deleted file mode 100644
index 5d60d8e..0000000
--- a/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.checksum
+++ /dev/null
@@ -1 +0,0 @@
-5f0c4aea9e09e80487d4ecd186f071fd
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.png b/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.png
deleted file mode 100644
index 36da3c9..0000000
Binary files a/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/win/fast/css/getComputedStyle/computed-style-expected.txt b/LayoutTests/platform/win/fast/css/getComputedStyle/computed-style-expected.txt
deleted file mode 100644
index 1e78b9a..0000000
--- a/LayoutTests/platform/win/fast/css/getComputedStyle/computed-style-expected.txt
+++ /dev/null
@@ -1,225 +0,0 @@
-Attributes that are exposed in the CSS computed style object:
-
-background-attachment: scroll;
-background-clip: border-box;
-background-color: rgba(0, 0, 0, 0);
-background-image: none;
-background-origin: padding-box;
-background-position: 0% 0%;
-background-repeat: repeat;
-background-size: auto auto;
-border-bottom-color: rgb(0, 0, 0);
-border-bottom-left-radius: 0px;
-border-bottom-right-radius: 0px;
-border-bottom-style: none;
-border-bottom-width: 0px;
-border-collapse: separate;
-border-left-color: rgb(0, 0, 0);
-border-left-style: none;
-border-left-width: 0px;
-border-right-color: rgb(0, 0, 0);
-border-right-style: none;
-border-right-width: 0px;
-border-top-color: rgb(0, 0, 0);
-border-top-left-radius: 0px;
-border-top-right-radius: 0px;
-border-top-style: none;
-border-top-width: 0px;
-bottom: auto;
-caption-side: top;
-clear: none;
-clip: auto;
-color: rgb(0, 0, 0);
-cursor: auto;
-direction: ltr;
-display: block;
-empty-cells: show;
-float: none;
-font-family: Times;
-font-size: 16px;
-font-style: normal;
-font-variant: normal;
-font-weight: normal;
-height: 576px;
-left: auto;
-letter-spacing: normal;
-line-height: normal;
-list-style-image: none;
-list-style-position: outside;
-list-style-type: disc;
-margin-bottom: 8px;
-margin-left: 8px;
-margin-right: 8px;
-margin-top: 8px;
-max-height: none;
-max-width: none;
-min-height: 0px;
-min-width: 0px;
-opacity: 1;
-orphans: 2;
-outline-color: rgb(0, 0, 0);
-outline-style: none;
-outline-width: 0px;
-overflow-x: visible;
-overflow-y: visible;
-padding-bottom: 0px;
-padding-left: 0px;
-padding-right: 0px;
-padding-top: 0px;
-page-break-after: auto;
-page-break-before: auto;
-page-break-inside: auto;
-pointer-events: auto;
-position: static;
-resize: none;
-right: auto;
-speak: normal;
-table-layout: auto;
-text-align: -webkit-auto;
-text-decoration: none;
-text-indent: 0px;
-text-rendering: auto;
-text-shadow: none;
-text-overflow: clip;
-text-transform: none;
-top: auto;
-unicode-bidi: normal;
-vertical-align: baseline;
-visibility: visible;
-white-space: normal;
-widows: 2;
-width: 784px;
-word-break: normal;
-word-spacing: 0px;
-word-wrap: normal;
-z-index: auto;
-zoom: 1;
--webkit-animation-delay: 0s;
--webkit-animation-direction: normal;
--webkit-animation-duration: 0s;
--webkit-animation-fill-mode: none;
--webkit-animation-iteration-count: 1;
--webkit-animation-name: none;
--webkit-animation-play-state: running;
--webkit-animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
--webkit-appearance: none;
--webkit-backface-visibility: visible;
--webkit-background-clip: border-box;
--webkit-background-composite: source-over;
--webkit-background-origin: padding-box;
--webkit-background-size: auto auto;
--webkit-block-flow: tb;
--webkit-border-fit: border;
--webkit-border-horizontal-spacing: 0px;
--webkit-border-image: none;
--webkit-border-vertical-spacing: 0px;
--webkit-box-align: stretch;
--webkit-box-direction: normal;
--webkit-box-flex: 0;
--webkit-box-flex-group: 1;
--webkit-box-lines: single;
--webkit-box-ordinal-group: 1;
--webkit-box-orient: horizontal;
--webkit-box-pack: start;
--webkit-box-reflect: none;
--webkit-box-shadow: none;
--webkit-box-sizing: content-box;
--webkit-color-correction: default;
--webkit-column-break-after: auto;
--webkit-column-break-before: auto;
--webkit-column-break-inside: auto;
--webkit-column-count: auto;
--webkit-column-gap: normal;
--webkit-column-rule-color: rgb(0, 0, 0);
--webkit-column-rule-style: none;
--webkit-column-rule-width: 0px;
--webkit-column-span: 1;
--webkit-column-width: auto;
--webkit-font-smoothing: auto;
--webkit-highlight: none;
--webkit-line-break: normal;
--webkit-line-clamp: none;
--webkit-margin-before-collapse: collapse;
--webkit-margin-after-collapse: collapse;
--webkit-marquee-direction: auto;
--webkit-marquee-increment: 6px;
--webkit-marquee-repetition: infinite;
--webkit-marquee-style: scroll;
--webkit-mask-attachment: scroll;
--webkit-mask-box-image: none;
--webkit-mask-clip: border-box;
--webkit-mask-composite: source-over;
--webkit-mask-image: none;
--webkit-mask-origin: border-box;
--webkit-mask-position: 0% 0%;
--webkit-mask-repeat: repeat;
--webkit-mask-size: auto auto;
--webkit-nbsp-mode: normal;
--webkit-perspective: none;
--webkit-perspective-origin: 392px 288px;
--webkit-rtl-ordering: logical;
--webkit-text-decorations-in-effect: none;
--webkit-text-fill-color: rgb(0, 0, 0);
--webkit-text-security: none;
--webkit-text-stroke-color: rgb(0, 0, 0);
--webkit-text-stroke-width: 0px;
--webkit-transform: none;
--webkit-transform-origin: 392px 288px;
--webkit-transform-style: flat;
--webkit-transition-delay: 0s;
--webkit-transition-duration: 0s;
--webkit-transition-property: all;
--webkit-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
--webkit-user-drag: auto;
--webkit-user-modify: read-only;
--webkit-user-select: text;
-clip-path: none;
-clip-rule: nonzero;
-mask: none;
-filter: none;
-flood-color: rgb(0, 0, 0);
-flood-opacity: 1;
-lighting-color: rgb(255, 255, 255);
-stop-color: rgb(0, 0, 0);
-stop-opacity: 1;
-color-interpolation: srgb;
-color-interpolation-filters: linearrgb;
-color-rendering: auto;
-fill: #000000;
-fill-opacity: 1;
-fill-rule: nonzero;
-image-rendering: auto;
-marker-end: none;
-marker-mid: none;
-marker-start: none;
-shape-rendering: auto;
-stroke: none;
-stroke-dasharray: none;
-stroke-dashoffset: 0;
-stroke-linecap: butt;
-stroke-linejoin: miter;
-stroke-miterlimit: 4;
-stroke-opacity: 1;
-stroke-width: 1;
-alignment-baseline: auto;
-baseline-shift: baseline;
-dominant-baseline: auto;
-kerning: 0;
-text-anchor: start;
-writing-mode: lr-tb;
-glyph-orientation-horizontal: 0deg;
-glyph-orientation-vertical: auto;
--webkit-svg-shadow: none;
-vector-effect: none;
-
-Other attributes that the computed style class supports:
-
-background-position-x: 0%;
-background-position-y: 0%;
-border-spacing: 0px 0px;
-overflow: visible;
--webkit-mask-position-x: 0%;
--webkit-mask-position-y: 0%;
--webkit-match-nearest-mail-blockquote-color: normal;
--webkit-text-size-adjust: auto;
-
diff --git a/LayoutTests/platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt b/LayoutTests/platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
deleted file mode 100644
index 656f78a..0000000
--- a/LayoutTests/platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
+++ /dev/null
@@ -1,236 +0,0 @@
-Computed style of an element whose parent's 'display' value is 'none':
-    background-attachment: scroll
-    background-clip: border-box
-    background-color: rgb(0, 128, 0)
-    background-image: none
-    background-origin: padding-box
-    background-position: 0% 0%
-    background-repeat: repeat
-    background-size: auto auto
-    border-bottom-color: rgb(0, 0, 0)
-    border-bottom-left-radius: 0px
-    border-bottom-right-radius: 0px
-    border-bottom-style: none
-    border-bottom-width: 0px
-    border-collapse: separate
-    border-left-color: rgb(0, 0, 0)
-    border-left-style: none
-    border-left-width: 0px
-    border-right-color: rgb(0, 0, 0)
-    border-right-style: none
-    border-right-width: 0px
-    border-top-color: rgb(0, 0, 0)
-    border-top-left-radius: 0px
-    border-top-right-radius: 0px
-    border-top-style: solid
-    border-top-width: 16px
-    bottom: auto
-    caption-side: top
-    clear: none
-    clip: auto
-    color: rgb(0, 0, 0)
-    cursor: auto
-    direction: ltr
-    display: block
-    empty-cells: show
-    float: none
-    font-family: Times
-    font-size: 16px
-    font-style: normal
-    font-variant: normal
-    font-weight: normal
-    height: 100px
-    left: auto
-    letter-spacing: normal
-    line-height: normal
-    list-style-image: none
-    list-style-position: outside
-    list-style-type: disc
-    margin-bottom: 0px
-    margin-left: auto
-    margin-right: 0px
-    margin-top: 0px
-    max-height: none
-    max-width: none
-    min-height: 0px
-    min-width: 0px
-    opacity: 1
-    orphans: 2
-    outline-color: rgb(0, 0, 0)
-    outline-style: none
-    outline-width: 0px
-    overflow-x: visible
-    overflow-y: visible
-    padding-bottom: 0px
-    padding-left: 0px
-    padding-right: 0px
-    padding-top: 0px
-    page-break-after: auto
-    page-break-before: auto
-    page-break-inside: auto
-    pointer-events: auto
-    position: static
-    resize: none
-    right: auto
-    speak: normal
-    table-layout: auto
-    text-align: -webkit-auto
-    text-decoration: none
-    text-indent: 0px
-    text-rendering: auto
-    text-shadow: none
-    text-overflow: clip
-    text-transform: none
-    top: auto
-    unicode-bidi: normal
-    vertical-align: baseline
-    visibility: visible
-    white-space: normal
-    widows: 2
-    width: 50%
-    word-break: normal
-    word-spacing: 0px
-    word-wrap: normal
-    z-index: auto
-    zoom: 1
-    -webkit-animation-delay: 0s
-    -webkit-animation-direction: normal
-    -webkit-animation-duration: 0s
-    -webkit-animation-fill-mode: none
-    -webkit-animation-iteration-count: 1
-    -webkit-animation-name: none
-    -webkit-animation-play-state: running
-    -webkit-animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1)
-    -webkit-appearance: none
-    -webkit-backface-visibility: visible
-    -webkit-background-clip: border-box
-    -webkit-background-composite: source-over
-    -webkit-background-origin: padding-box
-    -webkit-background-size: auto auto
-    -webkit-block-flow: tb
-    -webkit-border-fit: border
-    -webkit-border-horizontal-spacing: 0px
-    -webkit-border-image: none
-    -webkit-border-vertical-spacing: 0px
-    -webkit-box-align: stretch
-    -webkit-box-direction: normal
-    -webkit-box-flex: 0
-    -webkit-box-flex-group: 1
-    -webkit-box-lines: single
-    -webkit-box-ordinal-group: 1
-    -webkit-box-orient: horizontal
-    -webkit-box-pack: start
-    -webkit-box-reflect: none
-    -webkit-box-shadow: none
-    -webkit-box-sizing: content-box
-    -webkit-color-correction: default
-    -webkit-column-break-after: auto
-    -webkit-column-break-before: auto
-    -webkit-column-break-inside: auto
-    -webkit-column-count: auto
-    -webkit-column-gap: normal
-    -webkit-column-rule-color: rgb(0, 0, 0)
-    -webkit-column-rule-style: none
-    -webkit-column-rule-width: 0px
-    -webkit-column-span: 1
-    -webkit-column-width: auto
-    -webkit-font-smoothing: auto
-    -webkit-highlight: none
-    -webkit-line-break: normal
-    -webkit-line-clamp: none
-    -webkit-margin-before-collapse: collapse
-    -webkit-margin-after-collapse: collapse
-    -webkit-marquee-direction: auto
-    -webkit-marquee-increment: 6px
-    -webkit-marquee-repetition: infinite
-    -webkit-marquee-style: scroll
-    -webkit-mask-attachment: scroll
-    -webkit-mask-box-image: none
-    -webkit-mask-clip: border-box
-    -webkit-mask-composite: source-over
-    -webkit-mask-image: none
-    -webkit-mask-origin: border-box
-    -webkit-mask-position: 0% 0%
-    -webkit-mask-repeat: repeat
-    -webkit-mask-size: auto auto
-    -webkit-nbsp-mode: normal
-    -webkit-perspective: none
-    -webkit-perspective-origin: 50% 50%
-    -webkit-rtl-ordering: logical
-    -webkit-text-decorations-in-effect: none
-    -webkit-text-fill-color: rgb(0, 0, 0)
-    -webkit-text-security: none
-    -webkit-text-stroke-color: rgb(0, 0, 0)
-    -webkit-text-stroke-width: 0px
-    -webkit-transform: none
-    -webkit-transform-origin: 50% 50%
-    -webkit-transform-style: flat
-    -webkit-transition-delay: 0s
-    -webkit-transition-duration: 0s
-    -webkit-transition-property: all
-    -webkit-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1)
-    -webkit-user-drag: auto
-    -webkit-user-modify: read-only
-    -webkit-user-select: text
-    clip-path: none
-    clip-rule: nonzero
-    mask: none
-    filter: none
-    flood-color: rgb(0, 0, 0)
-    flood-opacity: 1
-    lighting-color: rgb(255, 255, 255)
-    stop-color: rgb(0, 0, 0)
-    stop-opacity: 1
-    color-interpolation: srgb
-    color-interpolation-filters: linearrgb
-    color-rendering: auto
-    fill: #000000
-    fill-opacity: 1
-    fill-rule: nonzero
-    image-rendering: auto
-    marker-end: none
-    marker-mid: none
-    marker-start: none
-    shape-rendering: auto
-    stroke: none
-    stroke-dasharray: none
-    stroke-dashoffset: 0
-    stroke-linecap: butt
-    stroke-linejoin: miter
-    stroke-miterlimit: 4
-    stroke-opacity: 1
-    stroke-width: 1
-    alignment-baseline: auto
-    baseline-shift: baseline
-    dominant-baseline: auto
-    kerning: 0
-    text-anchor: start
-    writing-mode: lr-tb
-    glyph-orientation-horizontal: 0deg
-    glyph-orientation-vertical: auto
-    -webkit-svg-shadow: none
-    vector-effect: none
-    background-position-x: 0%
-    background-position-y: 0%
-    border-spacing: 0px 0px
-    overflow: visible
-    -webkit-mask-position-x: 0%
-    -webkit-mask-position-y: 0%
-    -webkit-match-nearest-mail-blockquote-color: normal
-    -webkit-text-size-adjust: auto
-
-After changing grandparent's 'color' and the parent's 'font-size' inherited properties:
-    border-top-width: 18px
-    color: rgb(0, 0, 255)
-
-After changing the parent's 'display' property to 'block', so that the child gets a renderer:
-    height: 100px
-    margin-left: 385px
-    width: 384px
-
-After changing the parent's 'display' property back to 'none':
-    height: 100px
-    margin-left: auto
-    width: 50%
-
-
diff --git a/LayoutTests/svg/css/getComputedStyle-basic-expected.txt b/LayoutTests/svg/css/getComputedStyle-basic-expected.txt
index cfda95c..d8c7504 100644
--- a/LayoutTests/svg/css/getComputedStyle-basic-expected.txt
+++ b/LayoutTests/svg/css/getComputedStyle-basic-expected.txt
@@ -214,8 +214,6 @@ rect: style.getPropertyValue(-webkit-background-origin) : padding-box
 rect: style.getPropertyCSSValue(-webkit-background-origin) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-background-size) : auto auto
 rect: style.getPropertyCSSValue(-webkit-background-size) : [object CSSValueList]
-rect: style.getPropertyValue(-webkit-block-flow) : tb
-rect: style.getPropertyCSSValue(-webkit-block-flow) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-border-fit) : border
 rect: style.getPropertyCSSValue(-webkit-border-fit) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-border-horizontal-spacing) : 0px
@@ -268,8 +266,6 @@ rect: style.getPropertyValue(-webkit-column-span) : 1
 rect: style.getPropertyCSSValue(-webkit-column-span) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-column-width) : auto
 rect: style.getPropertyCSSValue(-webkit-column-width) : [object CSSPrimitiveValue]
-rect: style.getPropertyValue(-webkit-dashboard-region) : null
-rect: style.getPropertyCSSValue(-webkit-dashboard-region) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-font-smoothing) : auto
 rect: style.getPropertyCSSValue(-webkit-font-smoothing) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-highlight) : none
@@ -346,6 +342,8 @@ rect: style.getPropertyValue(-webkit-user-modify) : read-only
 rect: style.getPropertyCSSValue(-webkit-user-modify) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(-webkit-user-select) : text
 rect: style.getPropertyCSSValue(-webkit-user-select) : [object CSSPrimitiveValue]
+rect: style.getPropertyValue(-webkit-writing-mode) : horizontal-tb
+rect: style.getPropertyCSSValue(-webkit-writing-mode) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(clip-path) : none
 rect: style.getPropertyCSSValue(clip-path) : [object CSSPrimitiveValue]
 rect: style.getPropertyValue(clip-rule) : nonzero
@@ -638,8 +636,6 @@ g: style.getPropertyValue(-webkit-background-origin) : padding-box
 g: style.getPropertyCSSValue(-webkit-background-origin) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-background-size) : auto auto
 g: style.getPropertyCSSValue(-webkit-background-size) : [object CSSValueList]
-g: style.getPropertyValue(-webkit-block-flow) : tb
-g: style.getPropertyCSSValue(-webkit-block-flow) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-border-fit) : border
 g: style.getPropertyCSSValue(-webkit-border-fit) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-border-horizontal-spacing) : 0px
@@ -692,8 +688,6 @@ g: style.getPropertyValue(-webkit-column-span) : 1
 g: style.getPropertyCSSValue(-webkit-column-span) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-column-width) : auto
 g: style.getPropertyCSSValue(-webkit-column-width) : [object CSSPrimitiveValue]
-g: style.getPropertyValue(-webkit-dashboard-region) : null
-g: style.getPropertyCSSValue(-webkit-dashboard-region) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-font-smoothing) : auto
 g: style.getPropertyCSSValue(-webkit-font-smoothing) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-highlight) : none
@@ -770,6 +764,8 @@ g: style.getPropertyValue(-webkit-user-modify) : read-only
 g: style.getPropertyCSSValue(-webkit-user-modify) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(-webkit-user-select) : text
 g: style.getPropertyCSSValue(-webkit-user-select) : [object CSSPrimitiveValue]
+g: style.getPropertyValue(-webkit-writing-mode) : horizontal-tb
+g: style.getPropertyCSSValue(-webkit-writing-mode) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(clip-path) : none
 g: style.getPropertyCSSValue(clip-path) : [object CSSPrimitiveValue]
 g: style.getPropertyValue(clip-rule) : nonzero
diff --git a/LayoutTests/svg/css/getComputedStyle-basic.xhtml b/LayoutTests/svg/css/getComputedStyle-basic.xhtml
index 6a709d6..28966ea 100644
--- a/LayoutTests/svg/css/getComputedStyle-basic.xhtml
+++ b/LayoutTests/svg/css/getComputedStyle-basic.xhtml
@@ -25,8 +25,10 @@
           var value = style.getPropertyValue(name);
           var cssValue = style.getPropertyCSSValue(name);
   
-          debugLog(elementId + ": style.getPropertyValue(" + name + ") : " + value);
-          debugLog(elementId + ": style.getPropertyCSSValue(" + name + ") : " + cssValue);
+          if (name != "-webkit-dashboard-region") {
+            debugLog(elementId + ": style.getPropertyValue(" + name + ") : " + value);
+            debugLog(elementId + ": style.getPropertyCSSValue(" + name + ") : " + cssValue);
+          }
         }
       }
       
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index eb4ea10..5115ed2 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,159 @@
+2010-10-06  David Hyatt  <hyatt at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        https://bugs.webkit.org/show_bug.cgi?id=47285
+
+        Update to the latest writing-mode draft. The block-flow property is gone and has been replaced with writing-mode.
+        Change all the code to use writingMode() instead of blockFlow() and rename all functions that referred to block flow
+        as appropriate.
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseValue):
+        * css/CSSPrimitiveValueMappings.h:
+        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+        (WebCore::CSSPrimitiveValue::operator WritingMode):
+        (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
+        * css/CSSProperty.cpp:
+        (WebCore::resolveToPhysicalProperty):
+        (WebCore::CSSProperty::resolveDirectionAwareProperty):
+        * css/CSSProperty.h:
+        * css/CSSPropertyNames.in:
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::styleForDocument):
+        (WebCore::CSSStyleSelector::adjustRenderStyle):
+        (WebCore::CSSStyleSelector::applyDeclarations):
+        (WebCore::CSSStyleSelector::applyProperty):
+        * css/CSSValueKeywords.in:
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::MarginInfo::MarginInfo):
+        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
+        (WebCore::RenderBlock::setLogicalLeftForChild):
+        (WebCore::RenderBlock::setLogicalTopForChild):
+        (WebCore::RenderBlock::layoutBlockChild):
+        (WebCore::RenderBlock::insertFloatingObject):
+        (WebCore::RenderBlock::addOverhangingFloats):
+        (WebCore::RenderBlock::addIntrudingFloats):
+        (WebCore::RenderBlock::collapsedMarginBeforeForChild):
+        (WebCore::RenderBlock::collapsedMarginAfterForChild):
+        (WebCore::RenderBlock::marginBeforeForChild):
+        (WebCore::RenderBlock::marginAfterForChild):
+        (WebCore::RenderBlock::marginStartForChild):
+        (WebCore::RenderBlock::marginEndForChild):
+        (WebCore::RenderBlock::setMarginStartForChild):
+        (WebCore::RenderBlock::setMarginEndForChild):
+        (WebCore::RenderBlock::setMarginBeforeForChild):
+        (WebCore::RenderBlock::setMarginAfterForChild):
+        (WebCore::RenderBlock::marginValuesForChild):
+        * rendering/RenderBlock.h:
+        (WebCore::RenderBlock::logicalWidthForChild):
+        (WebCore::RenderBlock::logicalHeightForChild):
+        (WebCore::RenderBlock::logicalTopForChild):
+        (WebCore::RenderBlock::logicalRightOffsetForContent):
+        (WebCore::RenderBlock::logicalLeftOffsetForContent):
+        (WebCore::RenderBlock::logicalTopForFloat):
+        (WebCore::RenderBlock::logicalBottomForFloat):
+        (WebCore::RenderBlock::logicalLeftForFloat):
+        (WebCore::RenderBlock::logicalRightForFloat):
+        (WebCore::RenderBlock::logicalWidthForFloat):
+        (WebCore::RenderBlock::setLogicalTopForFloat):
+        (WebCore::RenderBlock::setLogicalLeftForFloat):
+        (WebCore::RenderBlock::setLogicalHeightForFloat):
+        (WebCore::RenderBlock::setLogicalWidthForFloat):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::marginBefore):
+        (WebCore::RenderBox::marginAfter):
+        (WebCore::RenderBox::marginStart):
+        (WebCore::RenderBox::marginEnd):
+        (WebCore::RenderBox::setMarginStart):
+        (WebCore::RenderBox::setMarginEnd):
+        (WebCore::RenderBox::setMarginBefore):
+        (WebCore::RenderBox::setMarginAfter):
+        (WebCore::RenderBox::styleDidChange):
+        (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
+        (WebCore::RenderBox::computeLogicalWidth):
+        (WebCore::RenderBox::computeLogicalHeight):
+        (WebCore::RenderBox::availableLogicalHeightUsing):
+        (WebCore::RenderBox::avoidsFloats):
+        * rendering/RenderBox.h:
+        (WebCore::RenderBox::logicalLeft):
+        (WebCore::RenderBox::logicalTop):
+        (WebCore::RenderBox::logicalWidth):
+        (WebCore::RenderBox::logicalHeight):
+        (WebCore::RenderBox::setLogicalLeft):
+        (WebCore::RenderBox::setLogicalTop):
+        (WebCore::RenderBox::setLogicalWidth):
+        (WebCore::RenderBox::setLogicalHeight):
+        (WebCore::RenderBox::setLogicalLocation):
+        (WebCore::RenderBox::contentLogicalWidth):
+        (WebCore::RenderBox::contentLogicalHeight):
+        (WebCore::RenderBox::stretchesToViewport):
+        (WebCore::RenderBox::intrinsicLogicalWidth):
+        (WebCore::RenderBox::intrinsicLogicalHeight):
+        (WebCore::RenderBox::availableWidth):
+        (WebCore::RenderBox::availableHeight):
+        (WebCore::RenderBox::scrollbarLogicalHeight):
+        (WebCore::RenderBox::isWritingModeRoot):
+        * rendering/RenderFieldset.cpp:
+        (WebCore::RenderFieldset::paintBoxDecorations):
+        (WebCore::RenderFieldset::paintMask):
+        * rendering/RenderImage.cpp:
+        (WebCore::RenderImage::computeReplacedLogicalWidth):
+        (WebCore::RenderImage::computeReplacedLogicalHeight):
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::marginLeft):
+        (WebCore::RenderInline::marginRight):
+        (WebCore::RenderInline::marginTop):
+        (WebCore::RenderInline::marginBottom):
+        * rendering/RenderTableCell.cpp:
+        (WebCore::RenderTableCell::paddingTop):
+        (WebCore::RenderTableCell::paddingBottom):
+        (WebCore::RenderTableCell::paddingLeft):
+        (WebCore::RenderTableCell::paddingRight):
+        * rendering/RenderView.h:
+        (WebCore::RenderView::viewLogicalWidth):
+        (WebCore::RenderView::viewLogicalHeight):
+        * rendering/RootInlineBox.cpp:
+        (WebCore::RootInlineBox::RootInlineBox):
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::diff):
+        (WebCore::RenderStyle::logicalWidth):
+        (WebCore::RenderStyle::logicalHeight):
+        (WebCore::RenderStyle::logicalMinWidth):
+        (WebCore::RenderStyle::logicalMaxWidth):
+        (WebCore::RenderStyle::logicalMinHeight):
+        (WebCore::RenderStyle::logicalMaxHeight):
+        (WebCore::RenderStyle::borderBeforeWidth):
+        (WebCore::RenderStyle::borderAfterWidth):
+        (WebCore::RenderStyle::borderStartWidth):
+        (WebCore::RenderStyle::borderEndWidth):
+        (WebCore::RenderStyle::marginBefore):
+        (WebCore::RenderStyle::marginAfter):
+        (WebCore::RenderStyle::marginBeforeUsing):
+        (WebCore::RenderStyle::marginAfterUsing):
+        (WebCore::RenderStyle::marginStart):
+        (WebCore::RenderStyle::marginEnd):
+        (WebCore::RenderStyle::marginStartUsing):
+        (WebCore::RenderStyle::marginEndUsing):
+        (WebCore::RenderStyle::paddingBefore):
+        (WebCore::RenderStyle::paddingAfter):
+        (WebCore::RenderStyle::paddingStart):
+        (WebCore::RenderStyle::paddingEnd):
+        * rendering/style/RenderStyle.h:
+        (WebCore::InheritedFlags::setBitDefaults):
+        (WebCore::InheritedFlags::writingMode):
+        (WebCore::InheritedFlags::isHorizontalWritingMode):
+        (WebCore::InheritedFlags::setWritingMode):
+        (WebCore::InheritedFlags::initialWritingMode):
+        * rendering/style/RenderStyleConstants.h:
+        * rendering/style/SVGRenderStyle.h:
+        (WebCore::SVGRenderStyle::initialWritingMode):
+        (WebCore::SVGRenderStyle::setWritingMode):
+        (WebCore::SVGRenderStyle::writingMode):
+        * rendering/style/SVGRenderStyleDefs.h:
+
 2010-10-06  Sheriff Bot  <webkit.review.bot at gmail.com>
 
         Unreviewed, rolling out r69201.
diff --git a/WebCore/css/CSSComputedStyleDeclaration.cpp b/WebCore/css/CSSComputedStyleDeclaration.cpp
index d6490ac..14c3bb3 100644
--- a/WebCore/css/CSSComputedStyleDeclaration.cpp
+++ b/WebCore/css/CSSComputedStyleDeclaration.cpp
@@ -159,7 +159,6 @@ static const int computedProperties[] = {
     CSSPropertyWebkitBackgroundComposite,
     CSSPropertyWebkitBackgroundOrigin,
     CSSPropertyWebkitBackgroundSize,
-    CSSPropertyWebkitBlockFlow,
     CSSPropertyWebkitBorderFit,
     CSSPropertyWebkitBorderHorizontalSpacing,
     CSSPropertyWebkitBorderImage,
@@ -226,7 +225,8 @@ static const int computedProperties[] = {
     CSSPropertyWebkitTransitionTimingFunction,
     CSSPropertyWebkitUserDrag,
     CSSPropertyWebkitUserModify,
-    CSSPropertyWebkitUserSelect
+    CSSPropertyWebkitUserSelect,
+    CSSPropertyWebkitWritingMode
 
 #if ENABLE(SVG)
     ,
@@ -734,7 +734,7 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
     if (!style)
         return 0;
 
-    propertyID = CSSProperty::resolveDirectionAwareProperty(propertyID, style->direction(), style->blockFlow());
+    propertyID = CSSProperty::resolveDirectionAwareProperty(propertyID, style->direction(), style->writingMode());
 
     switch (static_cast<CSSPropertyID>(propertyID)) {
         case CSSPropertyInvalid:
@@ -1354,8 +1354,6 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
             return CSSPrimitiveValue::create(style->appearance());
         case CSSPropertyWebkitBackfaceVisibility:
             return CSSPrimitiveValue::createIdentifier((style->backfaceVisibility() == BackfaceVisibilityHidden) ? CSSValueHidden : CSSValueVisible);
-        case CSSPropertyWebkitBlockFlow:
-            return CSSPrimitiveValue::create(style->blockFlow());
         case CSSPropertyWebkitBorderImage:
             return valueForNinePieceImage(style->borderImage());
         case CSSPropertyWebkitMaskBoxImage:
@@ -1463,7 +1461,9 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
             return CSSPrimitiveValue::create(style->pointerEvents());
         case CSSPropertyWebkitColorCorrection:
             return CSSPrimitiveValue::create(style->colorSpace());
-
+        case CSSPropertyWebkitWritingMode:
+            return CSSPrimitiveValue::create(style->writingMode());
+        
         /* Shorthand properties, currently not supported see bug 13658*/
         case CSSPropertyBackground:
         case CSSPropertyBorder:
@@ -1479,7 +1479,6 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
         case CSSPropertyListStyle:
         case CSSPropertyMargin:
         case CSSPropertyPadding:
-        case CSSPropertyWebkitWritingMode:
             break;
 
         /* Unimplemented CSS 3 properties (including CSS3 shorthand properties) */
diff --git a/WebCore/css/CSSParser.cpp b/WebCore/css/CSSParser.cpp
index eb4109e..26c3876 100644
--- a/WebCore/css/CSSParser.cpp
+++ b/WebCore/css/CSSParser.cpp
@@ -1781,15 +1781,8 @@ bool CSSParser::parseValue(int propId, bool important)
 #endif
 
     // CSS Text Layout Module Level 3: Vertical writing support
-    case CSSPropertyWebkitBlockFlow:
-        // [ "tb" | "rl" | "lr" | "bt" ]
-        if (id == CSSValueTb || id == CSSValueRl || id == CSSValueLr || id == CSSValueBt)
-            validPrimitive = true;
-        break;
-
     case CSSPropertyWebkitWritingMode:
-        // [ "lr-tb" | "rl-tb" | "tb-rl" | "bt-rl" | "tb-lr" | "bt-lr" ]
-        if (id == CSSValueLrTb || id == CSSValueRlTb || id == CSSValueTbRl || id == CSSValueBtRl || id == CSSValueTbLr || id == CSSValueBtLr)
+        if (id >= CSSValueHorizontalTb && id <= CSSValueHorizontalBt)
             validPrimitive = true;
         break;
 
diff --git a/WebCore/css/CSSPrimitiveValueMappings.h b/WebCore/css/CSSPrimitiveValueMappings.h
index 070a5f6..61ba45b 100644
--- a/WebCore/css/CSSPrimitiveValueMappings.h
+++ b/WebCore/css/CSSPrimitiveValueMappings.h
@@ -2003,40 +2003,40 @@ template<> inline CSSPrimitiveValue::operator TextDirection() const
     }
 }
 
-template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBlockFlowDirection e)
+template<> inline CSSPrimitiveValue::CSSPrimitiveValue(WritingMode e)
     : m_type(CSS_IDENT)
     , m_hasCachedCSSText(false)
 {
     switch (e) {
-    case TopToBottomBlockFlow:
-        m_value.ident = CSSValueTb;
+    case TopToBottomWritingMode:
+        m_value.ident = CSSValueHorizontalTb;
         break;
-    case RightToLeftBlockFlow:
-        m_value.ident = CSSValueRl;
+    case RightToLeftWritingMode:
+        m_value.ident = CSSValueVerticalRl;
         break;
-    case LeftToRightBlockFlow:
-        m_value.ident = CSSValueLr;
+    case LeftToRightWritingMode:
+        m_value.ident = CSSValueVerticalLr;
         break;
-    case BottomToTopBlockFlow:
-        m_value.ident = CSSValueBt;
+    case BottomToTopWritingMode:
+        m_value.ident = CSSValueHorizontalBt;
         break;
     }
 }
 
-template<> inline CSSPrimitiveValue::operator EBlockFlowDirection() const
+template<> inline CSSPrimitiveValue::operator WritingMode() const
 {
     switch (m_value.ident) {
-    case CSSValueTb:
-        return TopToBottomBlockFlow;
-    case CSSValueRl:
-        return RightToLeftBlockFlow;
-    case CSSValueLr:
-        return LeftToRightBlockFlow;
-    case CSSValueBt:
-        return BottomToTopBlockFlow;
+    case CSSValueHorizontalTb:
+        return TopToBottomWritingMode;
+    case CSSValueVerticalRl:
+        return RightToLeftWritingMode;
+    case CSSValueVerticalLr:
+        return LeftToRightWritingMode;
+    case CSSValueHorizontalBt:
+        return BottomToTopWritingMode;
     default:
         ASSERT_NOT_REACHED();
-        return TopToBottomBlockFlow;
+        return TopToBottomWritingMode;
     }
 }
 
@@ -2703,7 +2703,7 @@ template<> inline CSSPrimitiveValue::operator ETextAnchor() const
     }
 }
 
-template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EWritingMode e)
+template<> inline CSSPrimitiveValue::CSSPrimitiveValue(SVGWritingMode e)
     : m_type(CSS_IDENT)
     , m_hasCachedCSSText(false)
 {
@@ -2729,7 +2729,7 @@ template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EWritingMode e)
     }
 }
 
-template<> inline CSSPrimitiveValue::operator EWritingMode() const
+template<> inline CSSPrimitiveValue::operator SVGWritingMode() const
 {
     switch (m_value.ident) {
     case CSSValueLrTb:
diff --git a/WebCore/css/CSSProperty.cpp b/WebCore/css/CSSProperty.cpp
index 7779aad..61300a2 100644
--- a/WebCore/css/CSSProperty.cpp
+++ b/WebCore/css/CSSProperty.cpp
@@ -42,16 +42,16 @@ bool operator==(const CSSProperty& a, const CSSProperty& b)
 enum LogicalBoxSide { BeforeSide, EndSide, AfterSide, StartSide };
 enum PhysicalBoxSide { TopSide, RightSide, BottomSide, LeftSide };
 
-static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirection blockDirection, LogicalBoxSide logicalSide, const int* properties)
+static int resolveToPhysicalProperty(TextDirection direction, WritingMode writingMode, LogicalBoxSide logicalSide, const int* properties)
 {
     if (direction == LTR) {
-        if (blockDirection == TopToBottomBlockFlow) {
+        if (writingMode == TopToBottomWritingMode) {
             // The common case. The logical and physical box sides match.
             // Left = Start, Right = End, Before = Top, After = Bottom
             return properties[logicalSide];
         }
         
-        if (blockDirection == BottomToTopBlockFlow) {
+        if (writingMode == BottomToTopWritingMode) {
             // Start = Left, End = Right, Before = Bottom, After = Top.
             switch (logicalSide) {
             case StartSide:
@@ -65,7 +65,7 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio
             }
         }
         
-        if (blockDirection == LeftToRightBlockFlow) {
+        if (writingMode == LeftToRightWritingMode) {
             // Start = Top, End = Bottom, Before = Left, After = Right.
             switch (logicalSide) {
             case StartSide:
@@ -92,7 +92,7 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio
         }
     }
 
-    if (blockDirection == TopToBottomBlockFlow) {
+    if (writingMode == TopToBottomWritingMode) {
         // Start = Right, End = Left, Before = Top, After = Bottom
         switch (logicalSide) {
         case StartSide:
@@ -106,7 +106,7 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio
         }
     }
     
-    if (blockDirection == BottomToTopBlockFlow) {
+    if (writingMode == BottomToTopWritingMode) {
         // Start = Right, End = Left, Before = Bottom, After = Top
         switch (logicalSide) {
         case StartSide:
@@ -120,7 +120,7 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio
         }
     }
     
-    if (blockDirection == LeftToRightBlockFlow) {
+    if (writingMode == LeftToRightWritingMode) {
         // Start = Bottom, End = Top, Before = Left, After = Right
         switch (logicalSide) {
         case StartSide:
@@ -149,135 +149,135 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio
 
 enum LogicalExtent { LogicalWidth, LogicalHeight };
 
-static int resolveToPhysicalProperty(EBlockFlowDirection blockDirection, LogicalExtent logicalSide, const int* properties)
+static int resolveToPhysicalProperty(WritingMode writingMode, LogicalExtent logicalSide, const int* properties)
 {
-    if (blockDirection == TopToBottomBlockFlow || blockDirection == BottomToTopBlockFlow)
+    if (writingMode == TopToBottomWritingMode || writingMode == BottomToTopWritingMode)
         return properties[logicalSide];
     return logicalSide == LogicalWidth ? properties[1] : properties[0];
 }
         
-int CSSProperty::resolveDirectionAwareProperty(int propertyID, TextDirection direction, EBlockFlowDirection blockDirection)
+int CSSProperty::resolveDirectionAwareProperty(int propertyID, TextDirection direction, WritingMode writingMode)
 {
     switch (static_cast<CSSPropertyID>(propertyID)) {
     case CSSPropertyWebkitMarginEnd: {
         const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, EndSide, properties);
     }
     case CSSPropertyWebkitMarginStart: {
         const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, StartSide, properties);
     }
     case CSSPropertyWebkitMarginBefore: {
         const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties);
     }
     case CSSPropertyWebkitMarginAfter: {
         const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties);
     }
     case CSSPropertyWebkitPaddingEnd: {
         const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, EndSide, properties);
     }
     case CSSPropertyWebkitPaddingStart: {
         const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, StartSide, properties);
     }
     case CSSPropertyWebkitPaddingBefore: {
         const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties);
     }
     case CSSPropertyWebkitPaddingAfter: {
         const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties);
     }
     case CSSPropertyWebkitBorderEnd: {
         const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, EndSide, properties);
     }
     case CSSPropertyWebkitBorderStart: {
         const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, StartSide, properties);
     }
     case CSSPropertyWebkitBorderBefore: {
         const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties);
     }
     case CSSPropertyWebkitBorderAfter: {
         const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft };
-        return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties);
     }
     case CSSPropertyWebkitBorderEndColor: {
         const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor };
-        return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, EndSide, properties);
     }
     case CSSPropertyWebkitBorderStartColor: {
         const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor };
-        return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, StartSide, properties);
     }
     case CSSPropertyWebkitBorderBeforeColor: {
         const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor };
-        return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties);
     }
     case CSSPropertyWebkitBorderAfterColor: {
         const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor };
-        return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties);
     }
     case CSSPropertyWebkitBorderEndStyle: {
         const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle };
-        return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, EndSide, properties);
     }
     case CSSPropertyWebkitBorderStartStyle: {
         const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle };
-        return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, StartSide, properties);
     }
     case CSSPropertyWebkitBorderBeforeStyle: {
         const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle };
-        return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties);
     }
     case CSSPropertyWebkitBorderAfterStyle: {
         const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle };
-        return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties);
     }
     case CSSPropertyWebkitBorderEndWidth: {
         const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth };
-        return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, EndSide, properties);
     }
     case CSSPropertyWebkitBorderStartWidth: {
         const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth };
-        return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, StartSide, properties);
     }
     case CSSPropertyWebkitBorderBeforeWidth: {
         const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth };
-        return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties);
     }
     case CSSPropertyWebkitBorderAfterWidth: {
         const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth };
-        return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties);
+        return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties);
     }
     case CSSPropertyWebkitLogicalWidth: {
         const int properties[2] = { CSSPropertyWidth, CSSPropertyHeight };
-        return resolveToPhysicalProperty(blockDirection, LogicalWidth, properties);
+        return resolveToPhysicalProperty(writingMode, LogicalWidth, properties);
     }
     case CSSPropertyWebkitLogicalHeight: {
         const int properties[2] = { CSSPropertyWidth, CSSPropertyHeight };
-        return resolveToPhysicalProperty(blockDirection, LogicalHeight, properties);
+        return resolveToPhysicalProperty(writingMode, LogicalHeight, properties);
     }
     case CSSPropertyWebkitMinLogicalWidth: {
         const int properties[2] = { CSSPropertyMinWidth, CSSPropertyMinHeight };
-        return resolveToPhysicalProperty(blockDirection, LogicalWidth, properties);
+        return resolveToPhysicalProperty(writingMode, LogicalWidth, properties);
     }
     case CSSPropertyWebkitMinLogicalHeight: {
         const int properties[2] = { CSSPropertyMinWidth, CSSPropertyMinHeight };
-        return resolveToPhysicalProperty(blockDirection, LogicalHeight, properties);
+        return resolveToPhysicalProperty(writingMode, LogicalHeight, properties);
     }
     case CSSPropertyWebkitMaxLogicalWidth: {
         const int properties[2] = { CSSPropertyMaxWidth, CSSPropertyMaxHeight };
-        return resolveToPhysicalProperty(blockDirection, LogicalWidth, properties);
+        return resolveToPhysicalProperty(writingMode, LogicalWidth, properties);
     }
     case CSSPropertyWebkitMaxLogicalHeight: {
         const int properties[2] = { CSSPropertyMaxWidth, CSSPropertyMaxHeight };
-        return resolveToPhysicalProperty(blockDirection, LogicalHeight, properties);
+        return resolveToPhysicalProperty(writingMode, LogicalHeight, properties);
     }
     default:
         return propertyID;
diff --git a/WebCore/css/CSSProperty.h b/WebCore/css/CSSProperty.h
index 0da6050..106171d 100644
--- a/WebCore/css/CSSProperty.h
+++ b/WebCore/css/CSSProperty.h
@@ -60,7 +60,7 @@ public:
     
     String cssText() const;
 
-    static int resolveDirectionAwareProperty(int propertyID, TextDirection, EBlockFlowDirection);
+    static int resolveDirectionAwareProperty(int propertyID, TextDirection, WritingMode);
 
     friend bool operator==(const CSSProperty&, const CSSProperty&);
 
diff --git a/WebCore/css/CSSPropertyNames.in b/WebCore/css/CSSPropertyNames.in
index dba0069..9fd2d2c 100644
--- a/WebCore/css/CSSPropertyNames.in
+++ b/WebCore/css/CSSPropertyNames.in
@@ -20,7 +20,6 @@ font-style
 font-variant
 font-weight
 text-rendering
--webkit-block-flow
 -webkit-font-smoothing
 -webkit-text-size-adjust
 -webkit-writing-mode
diff --git a/WebCore/css/CSSStyleSelector.cpp b/WebCore/css/CSSStyleSelector.cpp
index fc470c9..5d22bfe 100644
--- a/WebCore/css/CSSStyleSelector.cpp
+++ b/WebCore/css/CSSStyleSelector.cpp
@@ -1110,7 +1110,7 @@ PassRefPtr<RenderStyle> CSSStyleSelector::styleForDocument(Document* document)
     if (docElement && docElement->renderer()) {
         // Use the direction and block-flow of the document element to set the
         // viewport's direction and block-flow.
-        documentStyle->setBlockFlow(docElement->renderer()->style()->blockFlow());
+        documentStyle->setWritingMode(docElement->renderer()->style()->writingMode());
         documentStyle->setDirection(docElement->renderer()->style()->direction());
     }
 
@@ -1726,7 +1726,7 @@ void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, RenderStyle* parent
         
         // FIXME: Don't support this mutation for pseudo styles like first-letter or first-line, since it's not completely
         // clear how that should work.
-        if (style->display() == INLINE && style->styleType() == NOPSEUDO && parentStyle && style->blockFlow() != parentStyle->blockFlow())
+        if (style->display() == INLINE && style->styleType() == NOPSEUDO && parentStyle && style->writingMode() != parentStyle->writingMode())
             style->setDisplay(INLINE_BLOCK);
         
         // After performing the display mutation, check table rows.  We do not honor position:relative on
@@ -1738,14 +1738,14 @@ void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, RenderStyle* parent
             style->setPosition(StaticPosition);
         
         // FIXME: Since we don't support block-flow on either tables or flexible boxes yet, disallow setting
-        // of block-flow to anything other than TopToBottomBlockFlow.
+        // of block-flow to anything other than TopToBottomWritingMode.
         // https://bugs.webkit.org/show_bug.cgi?id=46417 - Tables support
         // https://bugs.webkit.org/show_bug.cgi?id=46418 - Flexible box support.
-        if (style->blockFlow() != TopToBottomBlockFlow && (style->display() == TABLE || style->display() == INLINE_TABLE
+        if (style->writingMode() != TopToBottomWritingMode && (style->display() == TABLE || style->display() == INLINE_TABLE
             || style->display() == TABLE_HEADER_GROUP || style->display() == TABLE_ROW_GROUP
             || style->display() == TABLE_FOOTER_GROUP || style->display() == TABLE_ROW || style->display() == TABLE_CELL
             || style->display() == BOX || style->display() == INLINE_BOX))
-            style->setBlockFlow(TopToBottomBlockFlow);
+            style->setWritingMode(TopToBottomWritingMode);
     }
 
     // Make sure our z-index value is only applied if the object is positioned.
@@ -2946,7 +2946,7 @@ void CSSStyleSelector::applyDeclarations(bool isImportant, int startIndex, int e
 
                 if (applyFirst) {
                     COMPILE_ASSERT(firstCSSProperty == CSSPropertyColor, CSS_color_is_first_property);
-                    COMPILE_ASSERT(CSSPropertyZoom == CSSPropertyColor + 14, CSS_zoom_is_end_of_first_prop_range);
+                    COMPILE_ASSERT(CSSPropertyZoom == CSSPropertyColor + 13, CSS_zoom_is_end_of_first_prop_range);
                     COMPILE_ASSERT(CSSPropertyLineHeight == CSSPropertyZoom + 1, CSS_line_height_is_after_zoom);
 
                     // give special priority to font-xxx, color properties, etc
@@ -3134,7 +3134,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
     bool isInherit = m_parentNode && valueType == CSSValue::CSS_INHERIT;
     bool isInitial = valueType == CSSValue::CSS_INITIAL || (!m_parentNode && valueType == CSSValue::CSS_INHERIT);
     
-    id = CSSProperty::resolveDirectionAwareProperty(id, m_style->direction(), m_style->blockFlow());
+    id = CSSProperty::resolveDirectionAwareProperty(id, m_style->direction(), m_style->writingMode());
 
     if (m_checker.m_matchVisitedPseudoClass && !isValidVisitedLinkProperty(id)) {
         // Limit the properties that can be applied to only the ones honored by :visited.
@@ -5571,50 +5571,8 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
 #endif 
 
     // CSS Text Layout Module Level 3: Vertical writing support
-    case CSSPropertyWebkitBlockFlow:
-        HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(blockFlow, BlockFlow)
-        return;
-
     case CSSPropertyWebkitWritingMode:
-        // The 'writing-mode' property is a shorthand property for the 'direction' property and the 'block-flow' property. 
-        if (isInherit) {
-            m_style->setDirection(m_parentStyle->direction());
-            m_style->setBlockFlow(m_parentStyle->blockFlow());
-        } else if (isInitial) {
-            m_style->setDirection(m_style->initialDirection());
-            m_style->setBlockFlow(m_style->initialBlockFlow());
-        } else {
-            if (!primitiveValue)
-                return;
-            switch (primitiveValue->getIdent()) {
-            case CSSValueLrTb:
-                m_style->setDirection(LTR);
-                m_style->setBlockFlow(TopToBottomBlockFlow);
-                break;
-            case CSSValueRlTb:
-                m_style->setDirection(RTL);
-                m_style->setBlockFlow(TopToBottomBlockFlow);
-                break;
-            case CSSValueTbRl:
-                m_style->setDirection(LTR);
-                m_style->setBlockFlow(RightToLeftBlockFlow);
-                break;
-            case CSSValueBtRl:
-                m_style->setDirection(RTL);
-                m_style->setBlockFlow(RightToLeftBlockFlow);
-                break;
-            case CSSValueTbLr:
-                m_style->setDirection(LTR);
-                m_style->setBlockFlow(LeftToRightBlockFlow);
-                break;
-            case CSSValueBtLr:
-                m_style->setDirection(RTL);
-                m_style->setBlockFlow(LeftToRightBlockFlow);
-                break;
-            default:
-                break;
-            }
-        }
+        HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(writingMode, WritingMode)
         return;
 
 #if ENABLE(SVG)
diff --git a/WebCore/css/CSSValueKeywords.in b/WebCore/css/CSSValueKeywords.in
index b8d01b8..fa0a214 100644
--- a/WebCore/css/CSSValueKeywords.in
+++ b/WebCore/css/CSSValueKeywords.in
@@ -751,16 +751,16 @@ windowed
 manual
 # auto
 
-# -webkit-block-flow
-tb
-rl
-lr
-bt
-
 # -webkit-writing-mode
+# SVG compatibility
+lr
+rl
+tb
 lr-tb
 rl-tb
 tb-rl
-bt-rl
-tb-lr
-bt-lr
+# Standard values from CSS3
+horizontal-tb
+vertical-rl
+vertical-lr
+horizontal-bt
diff --git a/WebCore/rendering/RenderBlock.cpp b/WebCore/rendering/RenderBlock.cpp
index bc8d4c1..63288a7 100644
--- a/WebCore/rendering/RenderBlock.cpp
+++ b/WebCore/rendering/RenderBlock.cpp
@@ -90,7 +90,7 @@ RenderBlock::MarginInfo::MarginInfo(RenderBlock* block, int beforeBorderPadding,
     // we're positioned, floating, a table cell.
     m_canCollapseWithChildren = !block->isRenderView() && !block->isRoot() && !block->isPositioned()
         && !block->isFloating() && !block->isTableCell() && !block->hasOverflowClip() && !block->isInlineBlockOrInlineTable()
-        && !block->isBlockFlowRoot();
+        && !block->isWritingModeRoot();
 
     m_canCollapseMarginBeforeWithChildren = m_canCollapseWithChildren && (beforeBorderPadding == 0) && block->style()->marginBeforeCollapse() != MSEPARATE;
 
@@ -1319,7 +1319,7 @@ void RenderBlock::addOverflowFromFloats()
 bool RenderBlock::expandsToEncloseOverhangingFloats() const
 {
     return isInlineBlockOrInlineTable() || isFloatingOrPositioned() || hasOverflowClip() || (parent() && parent()->isFlexibleBox())
-           || hasColumns() || isTableCell() || isFieldset() || isBlockFlowRoot();
+           || hasColumns() || isTableCell() || isFieldset() || isWritingModeRoot();
 }
 
 void RenderBlock::adjustPositionedBlock(RenderBox* child, const MarginInfo& marginInfo)
@@ -1720,7 +1720,7 @@ void RenderBlock::handleAfterSideOfBlock(int beforeSide, int afterSide, MarginIn
 
 void RenderBlock::setLogicalLeftForChild(RenderBox* child, int logicalLeft, ApplyLayoutDeltaMode applyDelta)
 {
-    if (style()->isVerticalBlockFlow()) {
+    if (style()->isHorizontalWritingMode()) {
         if (applyDelta == ApplyLayoutDelta)
             view()->addLayoutDelta(IntSize(child->x() - logicalLeft, 0));
         child->setX(logicalLeft);
@@ -1733,7 +1733,7 @@ void RenderBlock::setLogicalLeftForChild(RenderBox* child, int logicalLeft, Appl
 
 void RenderBlock::setLogicalTopForChild(RenderBox* child, int logicalTop, ApplyLayoutDeltaMode applyDelta)
 {
-    if (style()->isVerticalBlockFlow()) {
+    if (style()->isHorizontalWritingMode()) {
         if (applyDelta == ApplyLayoutDelta)
             view()->addLayoutDelta(IntSize(0, child->y() - logicalTop));
         child->setY(logicalTop);
@@ -1858,7 +1858,7 @@ void RenderBlock::layoutBlockChild(RenderBox* child, MarginInfo& marginInfo, int
     if (childRenderBlock) {
         if (markDescendantsWithFloats)
             childRenderBlock->markAllDescendantsWithFloatsForLayout();
-        if (!child->isBlockFlowRoot())
+        if (!child->isWritingModeRoot())
             previousFloatLogicalBottom = max(previousFloatLogicalBottom, oldLogicalTop + childRenderBlock->lowestFloatLogicalBottom());
     }
 
@@ -2936,7 +2936,7 @@ RenderBlock::FloatingObject* RenderBlock::insertFloatingObject(RenderBox* o)
     // Our location is irrelevant if we're unsplittable or no pagination is in effect.
     // Just go ahead and lay out the float.
     bool affectedByPagination = o->isRenderBlock() && view()->layoutState()->m_pageHeight;
-    if (!affectedByPagination || isBlockFlowRoot()) // We are unsplittable if we're a block flow root.
+    if (!affectedByPagination || isWritingModeRoot()) // We are unsplittable if we're a block flow root.
         o->layoutIfNeeded();
     else {
         o->computeLogicalWidth();
@@ -3720,7 +3720,7 @@ void RenderBlock::clearFloats()
 int RenderBlock::addOverhangingFloats(RenderBlock* child, int logicalLeftOffset, int logicalTopOffset, bool makeChildPaintOtherFloats)
 {
     // Prevent floats from being added to the canvas by the root element, e.g., <html>.
-    if (child->hasOverflowClip() || !child->containsFloats() || child->isRoot() || child->hasColumns() || child->isBlockFlowRoot())
+    if (child->hasOverflowClip() || !child->containsFloats() || child->isRoot() || child->hasColumns() || child->isWritingModeRoot())
         return 0;
 
     int lowestFloatLogicalBottom = 0;
@@ -3735,8 +3735,8 @@ int RenderBlock::addOverhangingFloats(RenderBlock* child, int logicalLeftOffset,
         if (logicalBottom > logicalHeight()) {
             // If the object is not in the list, we add it now.
             if (!containsFloat(r->m_renderer)) {
-                int leftOffset = style()->isVerticalBlockFlow() ? logicalLeftOffset : logicalTopOffset;
-                int topOffset = style()->isVerticalBlockFlow() ? logicalTopOffset : logicalLeftOffset;
+                int leftOffset = style()->isHorizontalWritingMode() ? logicalLeftOffset : logicalTopOffset;
+                int topOffset = style()->isHorizontalWritingMode() ? logicalTopOffset : logicalLeftOffset;
                 FloatingObject* floatingObj = new FloatingObject(r->type(), IntRect(r->left() - leftOffset, r->top() - topOffset, r->width(), r->height()));
                 floatingObj->m_renderer = r->m_renderer;
 
@@ -3777,7 +3777,7 @@ void RenderBlock::addIntrudingFloats(RenderBlock* prev, int logicalLeftOffset, i
     if (!prev->m_floatingObjects)
         return;
 
-    logicalLeftOffset += (style()->isVerticalBlockFlow() ? marginLeft() : marginTop());
+    logicalLeftOffset += (style()->isHorizontalWritingMode() ? marginLeft() : marginTop());
                 
     DeprecatedPtrListIterator<FloatingObject> it(*prev->m_floatingObjects);
     for (FloatingObject *r; (r = it.current()); ++it) {
@@ -3794,8 +3794,8 @@ void RenderBlock::addIntrudingFloats(RenderBlock* prev, int logicalLeftOffset, i
                 }
             }
             if (!f) {
-                int leftOffset = style()->isVerticalBlockFlow() ? logicalLeftOffset : logicalTopOffset;
-                int topOffset = style()->isVerticalBlockFlow() ? logicalTopOffset : logicalLeftOffset;
+                int leftOffset = style()->isHorizontalWritingMode() ? logicalLeftOffset : logicalTopOffset;
+                int topOffset = style()->isHorizontalWritingMode() ? logicalTopOffset : logicalLeftOffset;
                 
                 FloatingObject* floatingObj = new FloatingObject(r->type(), IntRect(r->left() - leftOffset, r->top() - topOffset, r->width(), r->height()));
 
@@ -3805,7 +3805,7 @@ void RenderBlock::addIntrudingFloats(RenderBlock* prev, int logicalLeftOffset, i
                 // into account.  Only apply this code if prev is the parent, since otherwise the left margin
                 // will get applied twice.
                 if (prev != parent())
-                    floatingObj->setLeft(floatingObj->left() + (style()->isVerticalBlockFlow() ? prev->marginLeft() : prev->marginTop()));
+                    floatingObj->setLeft(floatingObj->left() + (style()->isHorizontalWritingMode() ? prev->marginLeft() : prev->marginTop()));
                
                 floatingObj->m_shouldPaint = false;  // We are not in the direct inheritance chain for this float. We will never paint it.
                 floatingObj->m_renderer = r->m_renderer;
@@ -5997,12 +5997,12 @@ int RenderBlock::collapsedMarginBeforeForChild(RenderBox* child) const
 {
     // If the child has the same directionality as we do, then we can just return its
     // collapsed margin.
-    if (!child->isBlockFlowRoot())
+    if (!child->isWritingModeRoot())
         return child->collapsedMarginBefore();
     
     // The child has a different directionality.  If the child is parallel, then it's just
     // flipped relative to us.  We can use the collapsed margin for the opposite edge.
-    if (child->style()->isVerticalBlockFlow() == style()->isVerticalBlockFlow())
+    if (child->style()->isHorizontalWritingMode() == style()->isHorizontalWritingMode())
         return child->collapsedMarginAfter();
     
     // The child is perpendicular to us, which means its margins don't collapse but are on the
@@ -6014,12 +6014,12 @@ int RenderBlock::collapsedMarginAfterForChild(RenderBox* child) const
 {
     // If the child has the same directionality as we do, then we can just return its
     // collapsed margin.
-    if (!child->isBlockFlowRoot())
+    if (!child->isWritingModeRoot())
         return child->collapsedMarginAfter();
     
     // The child has a different directionality.  If the child is parallel, then it's just
     // flipped relative to us.  We can use the collapsed margin for the opposite edge.
-    if (child->style()->isVerticalBlockFlow() == style()->isVerticalBlockFlow())
+    if (child->style()->isHorizontalWritingMode() == style()->isHorizontalWritingMode())
         return child->collapsedMarginBefore();
     
     // The child is perpendicular to us, which means its margins don't collapse but are on the
@@ -6029,14 +6029,14 @@ int RenderBlock::collapsedMarginAfterForChild(RenderBox* child) const
 
 int RenderBlock::marginBeforeForChild(RenderBoxModelObject* child) const
 {
-    switch (style()->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (style()->writingMode()) {
+    case TopToBottomWritingMode:
         return child->marginTop();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return child->marginBottom();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return child->marginLeft();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return child->marginRight();
     }
     ASSERT_NOT_REACHED();
@@ -6045,14 +6045,14 @@ int RenderBlock::marginBeforeForChild(RenderBoxModelObject* child) const
 
 int RenderBlock::marginAfterForChild(RenderBoxModelObject* child) const
 {
-    switch (style()->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (style()->writingMode()) {
+    case TopToBottomWritingMode:
         return child->marginBottom();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return child->marginTop();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return child->marginRight();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return child->marginLeft();
     }
     ASSERT_NOT_REACHED();
@@ -6061,21 +6061,21 @@ int RenderBlock::marginAfterForChild(RenderBoxModelObject* child) const
     
 int RenderBlock::marginStartForChild(RenderBoxModelObject* child) const
 {
-    if (style()->isVerticalBlockFlow())
+    if (style()->isHorizontalWritingMode())
         return style()->isLeftToRightDirection() ? child->marginLeft() : child->marginRight();
     return style()->isLeftToRightDirection() ? child->marginTop() : child->marginBottom();
 }
 
 int RenderBlock::marginEndForChild(RenderBoxModelObject* child) const
 {
-    if (style()->isVerticalBlockFlow())
+    if (style()->isHorizontalWritingMode())
         return style()->isLeftToRightDirection() ? child->marginRight() : child->marginLeft();
     return style()->isLeftToRightDirection() ? child->marginBottom() : child->marginTop();
 }
 
 void RenderBlock::setMarginStartForChild(RenderBox* child, int margin)
 {
-    if (style()->isVerticalBlockFlow()) {
+    if (style()->isHorizontalWritingMode()) {
         if (style()->isLeftToRightDirection())
             child->setMarginLeft(margin);
         else
@@ -6090,7 +6090,7 @@ void RenderBlock::setMarginStartForChild(RenderBox* child, int margin)
 
 void RenderBlock::setMarginEndForChild(RenderBox* child, int margin)
 {
-    if (style()->isVerticalBlockFlow()) {
+    if (style()->isHorizontalWritingMode()) {
         if (style()->isLeftToRightDirection())
             child->setMarginRight(margin);
         else
@@ -6105,17 +6105,17 @@ void RenderBlock::setMarginEndForChild(RenderBox* child, int margin)
 
 void RenderBlock::setMarginBeforeForChild(RenderBox* child, int margin)
 {
-    switch (style()->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (style()->writingMode()) {
+    case TopToBottomWritingMode:
         child->setMarginTop(margin);
         break;
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         child->setMarginBottom(margin);
         break;
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         child->setMarginLeft(margin);
         break;
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         child->setMarginRight(margin);
         break;
     }
@@ -6123,17 +6123,17 @@ void RenderBlock::setMarginBeforeForChild(RenderBox* child, int margin)
 
 void RenderBlock::setMarginAfterForChild(RenderBox* child, int margin)
 {
-    switch (style()->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (style()->writingMode()) {
+    case TopToBottomWritingMode:
         child->setMarginBottom(margin);
         break;
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         child->setMarginTop(margin);
         break;
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         child->setMarginRight(margin);
         break;
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         child->setMarginLeft(margin);
         break;
     }
@@ -6153,7 +6153,7 @@ RenderBlock::MarginValues RenderBlock::marginValuesForChild(RenderBox* child)
     
     // If the child has the same directionality as we do, then we can just return its
     // margins in the same direction.
-    if (!child->isBlockFlowRoot()) {
+    if (!child->isWritingModeRoot()) {
         if (childRenderBlock) {
             childBeforePositive = childRenderBlock->maxPositiveMarginBefore();
             childBeforeNegative = childRenderBlock->maxNegativeMarginBefore();
@@ -6163,7 +6163,7 @@ RenderBlock::MarginValues RenderBlock::marginValuesForChild(RenderBox* child)
             beforeMargin = child->marginBefore();
             afterMargin = child->marginAfter();
         }
-    } else if (child->style()->isVerticalBlockFlow() == style()->isVerticalBlockFlow()) {
+    } else if (child->style()->isHorizontalWritingMode() == style()->isHorizontalWritingMode()) {
         // The child has a different directionality.  If the child is parallel, then it's just
         // flipped relative to us.  We can use the margins for the opposite edges.
         if (childRenderBlock) {
diff --git a/WebCore/rendering/RenderBlock.h b/WebCore/rendering/RenderBlock.h
index aad5ff8..2533852 100644
--- a/WebCore/rendering/RenderBlock.h
+++ b/WebCore/rendering/RenderBlock.h
@@ -171,9 +171,9 @@ public:
 
     // Accessors for logical width/height and margins in the containing block's block-flow direction.
     enum ApplyLayoutDeltaMode { ApplyLayoutDelta, DoNotApplyLayoutDelta };
-    int logicalWidthForChild(RenderBox* child) { return style()->isVerticalBlockFlow() ? child->width() : child->height(); }
-    int logicalHeightForChild(RenderBox* child) { return style()->isVerticalBlockFlow() ? child->height() : child->width(); }
-    int logicalTopForChild(RenderBox* child) { return style()->isVerticalBlockFlow() ? child->y() : child->x(); }
+    int logicalWidthForChild(RenderBox* child) { return style()->isHorizontalWritingMode() ? child->width() : child->height(); }
+    int logicalHeightForChild(RenderBox* child) { return style()->isHorizontalWritingMode() ? child->height() : child->width(); }
+    int logicalTopForChild(RenderBox* child) { return style()->isHorizontalWritingMode() ? child->y() : child->x(); }
     void setLogicalLeftForChild(RenderBox* child, int logicalLeft, ApplyLayoutDeltaMode = DoNotApplyLayoutDelta);
     void setLogicalTopForChild(RenderBox* child, int logicalTop, ApplyLayoutDeltaMode = DoNotApplyLayoutDelta);
     int marginBeforeForChild(RenderBoxModelObject* child) const;
@@ -263,8 +263,8 @@ protected:
     virtual void paint(PaintInfo&, int tx, int ty);
     virtual void paintObject(PaintInfo&, int tx, int ty);
 
-    int logicalRightOffsetForContent() const { return style()->isVerticalBlockFlow() ? borderLeft() + paddingLeft() + availableLogicalWidth() : borderTop() + paddingTop() + availableLogicalWidth(); }
-    int logicalLeftOffsetForContent() const { return style()->isVerticalBlockFlow() ? borderLeft() + paddingLeft() : borderTop() + paddingTop(); }
+    int logicalRightOffsetForContent() const { return style()->isHorizontalWritingMode() ? borderLeft() + paddingLeft() + availableLogicalWidth() : borderTop() + paddingTop() + availableLogicalWidth(); }
+    int logicalLeftOffsetForContent() const { return style()->isHorizontalWritingMode() ? borderLeft() + paddingLeft() : borderTop() + paddingTop(); }
     int logicalRightOffsetForLine(int position, int fixedOffset, bool applyTextIndent = true, int* logicalHeightRemaining = 0) const;
     int logicalLeftOffsetForLine(int position, int fixedOffset, bool applyTextIndent = true, int* logicalHeightRemaining = 0) const;
 
@@ -414,35 +414,35 @@ private:
         bool m_isPlaced : 1;
     };
 
-    int logicalTopForFloat(FloatingObject* child) const { return style()->isVerticalBlockFlow() ? child->top() : child->left(); }
-    int logicalBottomForFloat(FloatingObject* child) const { return style()->isVerticalBlockFlow() ? child->bottom() : child->right(); }
-    int logicalLeftForFloat(FloatingObject* child) const { return style()->isVerticalBlockFlow() ? child->left() : child->top(); }
-    int logicalRightForFloat(FloatingObject* child) const { return style()->isVerticalBlockFlow() ? child->right() : child->bottom(); }
-    int logicalWidthForFloat(FloatingObject* child) const { return style()->isVerticalBlockFlow() ? child->width() : child->height(); }
+    int logicalTopForFloat(FloatingObject* child) const { return style()->isHorizontalWritingMode() ? child->top() : child->left(); }
+    int logicalBottomForFloat(FloatingObject* child) const { return style()->isHorizontalWritingMode() ? child->bottom() : child->right(); }
+    int logicalLeftForFloat(FloatingObject* child) const { return style()->isHorizontalWritingMode() ? child->left() : child->top(); }
+    int logicalRightForFloat(FloatingObject* child) const { return style()->isHorizontalWritingMode() ? child->right() : child->bottom(); }
+    int logicalWidthForFloat(FloatingObject* child) const { return style()->isHorizontalWritingMode() ? child->width() : child->height(); }
     void setLogicalTopForFloat(FloatingObject* child, int logicalTop)
     {
-        if (style()->isVerticalBlockFlow())
+        if (style()->isHorizontalWritingMode())
             child->setTop(logicalTop);
         else
             child->setLeft(logicalTop);
     }
     void setLogicalLeftForFloat(FloatingObject* child, int logicalLeft)
     {
-        if (style()->isVerticalBlockFlow())
+        if (style()->isHorizontalWritingMode())
             child->setLeft(logicalLeft);
         else
             child->setTop(logicalLeft);
     }
     void setLogicalHeightForFloat(FloatingObject* child, int logicalHeight)
     {
-        if (style()->isVerticalBlockFlow())
+        if (style()->isHorizontalWritingMode())
             child->setHeight(logicalHeight);
         else
             child->setWidth(logicalHeight);
     }
     void setLogicalWidthForFloat(FloatingObject* child, int logicalWidth)
     {
-        if (style()->isVerticalBlockFlow())
+        if (style()->isHorizontalWritingMode())
             child->setWidth(logicalWidth);
         else
             child->setHeight(logicalWidth);
diff --git a/WebCore/rendering/RenderBox.cpp b/WebCore/rendering/RenderBox.cpp
index 9862a7b..d54af1f 100644
--- a/WebCore/rendering/RenderBox.cpp
+++ b/WebCore/rendering/RenderBox.cpp
@@ -85,14 +85,14 @@ RenderBox::~RenderBox()
 
 int RenderBox::marginBefore() const
 {
-    switch (style()->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (style()->writingMode()) {
+    case TopToBottomWritingMode:
         return m_marginTop;
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return m_marginBottom;
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return m_marginLeft;
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return m_marginRight;
     }
     ASSERT_NOT_REACHED();
@@ -101,14 +101,14 @@ int RenderBox::marginBefore() const
 
 int RenderBox::marginAfter() const
 {
-    switch (style()->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (style()->writingMode()) {
+    case TopToBottomWritingMode:
         return m_marginBottom;
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return m_marginTop;
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return m_marginRight;
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return m_marginLeft;
     }
     ASSERT_NOT_REACHED();
@@ -117,21 +117,21 @@ int RenderBox::marginAfter() const
 
 int RenderBox::marginStart() const
 {
-    if (style()->isVerticalBlockFlow())
+    if (style()->isHorizontalWritingMode())
         return style()->isLeftToRightDirection() ? m_marginLeft : m_marginRight;
     return style()->isLeftToRightDirection() ? m_marginTop : m_marginBottom;
 }
 
 int RenderBox::marginEnd() const
 {
-    if (style()->isVerticalBlockFlow())
+    if (style()->isHorizontalWritingMode())
         return style()->isLeftToRightDirection() ? m_marginRight : m_marginLeft;
     return style()->isLeftToRightDirection() ? m_marginBottom : m_marginTop;
 }
 
 void RenderBox::setMarginStart(int margin)
 {
-    if (style()->isVerticalBlockFlow()) {
+    if (style()->isHorizontalWritingMode()) {
         if (style()->isLeftToRightDirection())
             m_marginLeft = margin;
         else
@@ -146,7 +146,7 @@ void RenderBox::setMarginStart(int margin)
 
 void RenderBox::setMarginEnd(int margin)
 {
-    if (style()->isVerticalBlockFlow()) {
+    if (style()->isHorizontalWritingMode()) {
         if (style()->isLeftToRightDirection())
             m_marginRight = margin;
         else
@@ -161,17 +161,17 @@ void RenderBox::setMarginEnd(int margin)
 
 void RenderBox::setMarginBefore(int margin)
 {
-    switch (style()->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (style()->writingMode()) {
+    case TopToBottomWritingMode:
         m_marginTop = margin;
         break;
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         m_marginBottom = margin;
         break;
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         m_marginLeft = margin;
         break;
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         m_marginRight = margin;
         break;
     }
@@ -179,17 +179,17 @@ void RenderBox::setMarginBefore(int margin)
 
 void RenderBox::setMarginAfter(int margin)
 {
-    switch (style()->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (style()->writingMode()) {
+    case TopToBottomWritingMode:
         m_marginBottom = margin;
         break;
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         m_marginTop = margin;
         break;
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         m_marginRight = margin;
         break;
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         m_marginLeft = margin;
         break;
     }
@@ -300,13 +300,13 @@ void RenderBox::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle
     // Set the text color if we're the body.
     if (isBody())
         document()->setTextColor(style()->visitedDependentColor(CSSPropertyColor));
-    else if (isRoot() && (!oldStyle || oldStyle->blockFlow() != style()->blockFlow() || oldStyle->direction() != style()->direction())) {
+    else if (isRoot() && (!oldStyle || oldStyle->writingMode() != style()->writingMode() || oldStyle->direction() != style()->direction())) {
         // Propagate the new block flow and direction up to the RenderView.
         // FIXME: WinIE seems to propagate from the <body> as well.  We may want to consider doing that at some point.
         RenderView* viewRenderer = view();
         RenderStyle* viewStyle = viewRenderer->style();
-        if (viewStyle->blockFlow() != style()->blockFlow() || viewStyle->direction() != style()->direction()) {
-            viewStyle->setBlockFlow(style()->blockFlow());
+        if (viewStyle->writingMode() != style()->writingMode() || viewStyle->direction() != style()->direction()) {
+            viewStyle->setWritingMode(style()->writingMode());
             viewStyle->setDirection(style()->direction());
             viewRenderer->setNeedsLayoutAndPrefWidthsRecalc();
         }
@@ -1099,7 +1099,7 @@ int RenderBox::perpendicularContainingBlockLogicalHeight() const
         // Rather than making the child be completely unconstrained, WinIE uses the viewport width and height
         // as a constraint.  We do that for now as well even though it's likely being unconstrained is what the spec
         // will decide.
-        return containingBlockStyle->isVerticalBlockFlow() ? view()->frameView()->visibleHeight() : view()->frameView()->visibleWidth();
+        return containingBlockStyle->isHorizontalWritingMode() ? view()->frameView()->visibleHeight() : view()->frameView()->visibleWidth();
     }
     
     // Use the content box logical height as specified by the style.
@@ -1443,7 +1443,7 @@ void RenderBox::computeLogicalWidth()
 
     RenderBlock* cb = containingBlock();
     int containerLogicalWidth = max(0, containingBlockLogicalWidthForContent());
-    bool hasPerpendicularContainingBlock = cb->style()->isVerticalBlockFlow() != style()->isVerticalBlockFlow();
+    bool hasPerpendicularContainingBlock = cb->style()->isHorizontalWritingMode() != style()->isHorizontalWritingMode();
     int containerWidthInInlineDirection = containerLogicalWidth;
     if (hasPerpendicularContainingBlock)
         containerWidthInInlineDirection = perpendicularContainingBlockLogicalHeight();
@@ -1618,7 +1618,7 @@ void RenderBox::computeLogicalHeight()
         computePositionedLogicalHeight();
     } else {
         RenderBlock* cb = containingBlock();
-        bool hasPerpendicularContainingBlock = cb->style()->isVerticalBlockFlow() != style()->isVerticalBlockFlow();
+        bool hasPerpendicularContainingBlock = cb->style()->isHorizontalWritingMode() != style()->isHorizontalWritingMode();
     
         if (!hasPerpendicularContainingBlock)
             computeBlockDirectionMargins(cb);
@@ -1699,7 +1699,7 @@ void RenderBox::computeLogicalHeight()
         if (document()->printing())
             visHeight = static_cast<int>(view()->pageHeight());
         else  {
-            if (style()->isVerticalBlockFlow())
+            if (style()->isHorizontalWritingMode())
                 visHeight = view()->viewHeight();
             else
                 visHeight = view()->viewWidth();
@@ -1907,7 +1907,7 @@ int RenderBox::availableLogicalHeightUsing(const Length& h) const
         return computeContentBoxLogicalHeight(h.value());
 
     if (isRenderView())
-        return style()->isVerticalBlockFlow() ? toRenderView(this)->frameView()->visibleHeight() : toRenderView(this)->frameView()->visibleWidth();
+        return style()->isHorizontalWritingMode() ? toRenderView(this)->frameView()->visibleHeight() : toRenderView(this)->frameView()->visibleWidth();
 
     // We need to stop here, since we don't want to increase the height of the table
     // artificially.  We're going to rely on this cell getting expanded to some new
@@ -3038,7 +3038,7 @@ bool RenderBox::shrinkToAvoidFloats() const
 
 bool RenderBox::avoidsFloats() const
 {
-    return isReplaced() || hasOverflowClip() || isHR() || isBlockFlowRoot();
+    return isReplaced() || hasOverflowClip() || isHR() || isWritingModeRoot();
 }
 
 void RenderBox::addShadowOverflow()
diff --git a/WebCore/rendering/RenderBox.h b/WebCore/rendering/RenderBox.h
index 29ffdb6..dc7a4b3 100644
--- a/WebCore/rendering/RenderBox.h
+++ b/WebCore/rendering/RenderBox.h
@@ -50,41 +50,41 @@ public:
     void setWidth(int width) { m_frameRect.setWidth(width); }
     void setHeight(int height) { m_frameRect.setHeight(height); }
 
-    int logicalLeft() const { return style()->isVerticalBlockFlow() ? x() : y(); }
-    int logicalTop() const { return style()->isVerticalBlockFlow() ? y() : x(); }
-    int logicalWidth() const { return style()->isVerticalBlockFlow() ? width() : height(); }
-    int logicalHeight() const { return style()->isVerticalBlockFlow() ? height() : width(); }
+    int logicalLeft() const { return style()->isHorizontalWritingMode() ? x() : y(); }
+    int logicalTop() const { return style()->isHorizontalWritingMode() ? y() : x(); }
+    int logicalWidth() const { return style()->isHorizontalWritingMode() ? width() : height(); }
+    int logicalHeight() const { return style()->isHorizontalWritingMode() ? height() : width(); }
     void setLogicalLeft(int left)
     {
-        if (style()->isVerticalBlockFlow())
+        if (style()->isHorizontalWritingMode())
             setX(left);
         else
             setY(left);
     }
     void setLogicalTop(int top)
     {
-        if (style()->isVerticalBlockFlow())
+        if (style()->isHorizontalWritingMode())
             setY(top);
         else
             setX(top);
     }
     void setLogicalWidth(int size)
     {
-        if (style()->isVerticalBlockFlow())
+        if (style()->isHorizontalWritingMode())
             setWidth(size);
         else
             setHeight(size);
     }
     void setLogicalHeight(int size)
     {
-        if (style()->isVerticalBlockFlow())
+        if (style()->isHorizontalWritingMode())
             setHeight(size);
         else
             setWidth(size);
     }
     void setLogicalLocation(int left, int top)
     {
-        if (style()->isVerticalBlockFlow())
+        if (style()->isHorizontalWritingMode())
             setLocation(left, top);
         else
             setLocation(top, left);
@@ -150,8 +150,8 @@ public:
 
     int contentWidth() const { return clientWidth() - paddingLeft() - paddingRight(); }
     int contentHeight() const { return clientHeight() - paddingTop() - paddingBottom(); }
-    int contentLogicalWidth() const { return style()->isVerticalBlockFlow() ? contentWidth() : contentHeight(); }
-    int contentLogicalHeight() const { return style()->isVerticalBlockFlow() ? contentHeight() : contentWidth(); }
+    int contentLogicalWidth() const { return style()->isHorizontalWritingMode() ? contentWidth() : contentHeight(); }
+    int contentLogicalHeight() const { return style()->isHorizontalWritingMode() ? contentHeight() : contentWidth(); }
 
     // IE extensions. Used to calculate offsetWidth/Height.  Overridden by inlines (RenderFlow)
     // to return the remaining width on a given line (and the height of a single line).
@@ -272,12 +272,12 @@ public:
 
     bool stretchesToViewport() const
     {
-        return document()->inQuirksMode() && style()->logicalHeight().isAuto() && !isFloatingOrPositioned() && (isRoot() || isBody()) && !isBlockFlowRoot();
+        return document()->inQuirksMode() && style()->logicalHeight().isAuto() && !isFloatingOrPositioned() && (isRoot() || isBody()) && !isWritingModeRoot();
     }
 
     virtual IntSize intrinsicSize() const { return IntSize(); }
-    int intrinsicLogicalWidth() const { return style()->isVerticalBlockFlow() ? intrinsicSize().width() : intrinsicSize().height(); }
-    int intrinsicLogicalHeight() const { return style()->isVerticalBlockFlow() ? intrinsicSize().height() : intrinsicSize().width(); }
+    int intrinsicLogicalWidth() const { return style()->isHorizontalWritingMode() ? intrinsicSize().width() : intrinsicSize().height(); }
+    int intrinsicLogicalHeight() const { return style()->isHorizontalWritingMode() ? intrinsicSize().height() : intrinsicSize().width(); }
 
     // Whether or not the element shrinks to its intrinsic width (rather than filling the width
     // of a containing block).  HTML4 buttons, <select>s, <input>s, legends, and floating/compact elements do this.
@@ -301,12 +301,12 @@ public:
     
     // There are a few cases where we need to refer specifically to the available physical width and available physical height.
     // Relative positioning is one of those cases, since left/top offsets are physical.
-    int availableWidth() const { return style()->isVerticalBlockFlow() ? availableLogicalWidth() : availableLogicalHeight(); }
-    int availableHeight() const { return style()->isVerticalBlockFlow() ? availableLogicalHeight() : availableLogicalWidth(); }
+    int availableWidth() const { return style()->isHorizontalWritingMode() ? availableLogicalWidth() : availableLogicalHeight(); }
+    int availableHeight() const { return style()->isHorizontalWritingMode() ? availableLogicalHeight() : availableLogicalWidth(); }
 
     virtual int verticalScrollbarWidth() const;
     int horizontalScrollbarHeight() const;
-    int scrollbarLogicalHeight() const { return style()->isVerticalBlockFlow() ? horizontalScrollbarHeight() : verticalScrollbarWidth(); }
+    int scrollbarLogicalHeight() const { return style()->isHorizontalWritingMode() ? horizontalScrollbarHeight() : verticalScrollbarWidth(); }
     virtual bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1, Node** stopNode = 0);
     bool canBeScrolledAndHasScrollableArea() const;
     virtual bool canBeProgramaticallyScrolled(bool) const;
@@ -360,7 +360,7 @@ public:
 
     virtual void markDescendantBlocksAndLinesForLayout(bool inLayout = true);
     
-    bool isBlockFlowRoot() const { return !parent() || parent()->style()->blockFlow() != style()->blockFlow(); }
+    bool isWritingModeRoot() const { return !parent() || parent()->style()->writingMode() != style()->writingMode(); }
 
 protected:
     virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle);
diff --git a/WebCore/rendering/RenderFieldset.cpp b/WebCore/rendering/RenderFieldset.cpp
index 4a40049..12386e9 100644
--- a/WebCore/rendering/RenderFieldset.cpp
+++ b/WebCore/rendering/RenderFieldset.cpp
@@ -141,7 +141,7 @@ void RenderFieldset::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
     // FIXME: We need to work with "rl" and "bt" block flow directions.  In those
     // cases the legend is embedded in the right and bottom borders respectively.
     // https://bugs.webkit.org/show_bug.cgi?id=47236
-    if (style()->isVerticalBlockFlow()) {
+    if (style()->isHorizontalWritingMode()) {
         int yOff = (legend->y() > 0) ? 0 : (legend->height() - borderTop()) / 2;
         h -= yOff;
         ty += yOff;
@@ -166,7 +166,7 @@ void RenderFieldset::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
     // FIXME: We need to work with "rl" and "bt" block flow directions.  In those
     // cases the legend is embedded in the right and bottom borders respectively.
     // https://bugs.webkit.org/show_bug.cgi?id=47236
-    if (style()->isVerticalBlockFlow()) {
+    if (style()->isHorizontalWritingMode()) {
         int clipTop = ty;
         int clipHeight = max(static_cast<int>(style()->borderTopWidth()), legend->height());
         graphicsContext->clipOut(IntRect(tx + legend->x(), clipTop, legend->width(), clipHeight));
@@ -195,7 +195,7 @@ void RenderFieldset::paintMask(PaintInfo& paintInfo, int tx, int ty)
     // FIXME: We need to work with "rl" and "bt" block flow directions.  In those
     // cases the legend is embedded in the right and bottom borders respectively.
     // https://bugs.webkit.org/show_bug.cgi?id=47236
-    if (style()->isVerticalBlockFlow()) {
+    if (style()->isHorizontalWritingMode()) {
         int yOff = (legend->y() > 0) ? 0 : (legend->height() - borderTop()) / 2;
         h -= yOff;
         ty += yOff;
diff --git a/WebCore/rendering/RenderImage.cpp b/WebCore/rendering/RenderImage.cpp
index e7624de..2ed20c4 100644
--- a/WebCore/rendering/RenderImage.cpp
+++ b/WebCore/rendering/RenderImage.cpp
@@ -442,7 +442,7 @@ int RenderImage::computeReplacedLogicalWidth(bool includeMaxWidth) const
         logicalWidth = computeReplacedLogicalWidthUsing(style()->logicalWidth());
     else if (m_imageResource->usesImageContainerSize()) {
         IntSize size = m_imageResource->imageSize(style()->effectiveZoom());
-        logicalWidth = style()->isVerticalBlockFlow() ? size.width() : size.height();
+        logicalWidth = style()->isHorizontalWritingMode() ? size.width() : size.height();
     } else if (m_imageResource->imageHasRelativeWidth())
         logicalWidth = 0; // If the image is relatively-sized, set the width to 0 until there is a set container size.
     else
@@ -461,7 +461,7 @@ int RenderImage::computeReplacedLogicalHeight() const
         logicalHeight = computeReplacedLogicalHeightUsing(style()->logicalHeight());
     else if (m_imageResource->usesImageContainerSize()) {
         IntSize size = m_imageResource->imageSize(style()->effectiveZoom());
-        logicalHeight = style()->isVerticalBlockFlow() ? size.height() : size.width();
+        logicalHeight = style()->isHorizontalWritingMode() ? size.height() : size.width();
     } else if (m_imageResource->imageHasRelativeHeight())
         logicalHeight = 0; // If the image is relatively-sized, set the height to 0 until there is a set container size.
     else
diff --git a/WebCore/rendering/RenderInline.cpp b/WebCore/rendering/RenderInline.cpp
index b4bfe2f..2eb275c 100644
--- a/WebCore/rendering/RenderInline.cpp
+++ b/WebCore/rendering/RenderInline.cpp
@@ -471,28 +471,28 @@ static int computeMargin(const RenderInline* renderer, const Length& margin)
 
 int RenderInline::marginLeft() const
 {
-    if (!style()->isVerticalBlockFlow())
+    if (!style()->isHorizontalWritingMode())
         return 0;
     return computeMargin(this, style()->marginLeft());
 }
 
 int RenderInline::marginRight() const
 {
-    if (!style()->isVerticalBlockFlow())
+    if (!style()->isHorizontalWritingMode())
         return 0;
     return computeMargin(this, style()->marginRight());
 }
 
 int RenderInline::marginTop() const
 {
-    if (style()->isVerticalBlockFlow())
+    if (style()->isHorizontalWritingMode())
         return 0;
     return computeMargin(this, style()->marginTop());
 }
 
 int RenderInline::marginBottom() const
 {
-    if (style()->isVerticalBlockFlow())
+    if (style()->isHorizontalWritingMode())
         return 0;
     return computeMargin(this, style()->marginBottom());
 }
diff --git a/WebCore/rendering/RenderTableCell.cpp b/WebCore/rendering/RenderTableCell.cpp
index 735b82f..005d8df 100644
--- a/WebCore/rendering/RenderTableCell.cpp
+++ b/WebCore/rendering/RenderTableCell.cpp
@@ -165,34 +165,34 @@ void RenderTableCell::layout()
 int RenderTableCell::paddingTop(bool includeIntrinsicPadding) const
 {
     int result = RenderBlock::paddingTop();
-    if (!includeIntrinsicPadding || !style()->isVerticalBlockFlow())
+    if (!includeIntrinsicPadding || !style()->isHorizontalWritingMode())
         return result;
-    return result + (style()->blockFlow() == TopToBottomBlockFlow ? intrinsicPaddingBefore() : intrinsicPaddingAfter());
+    return result + (style()->writingMode() == TopToBottomWritingMode ? intrinsicPaddingBefore() : intrinsicPaddingAfter());
 }
 
 int RenderTableCell::paddingBottom(bool includeIntrinsicPadding) const
 {
     int result = RenderBlock::paddingBottom();
-    if (!includeIntrinsicPadding || !style()->isVerticalBlockFlow())
+    if (!includeIntrinsicPadding || !style()->isHorizontalWritingMode())
         return result;
-    return result + (style()->blockFlow() == TopToBottomBlockFlow ? intrinsicPaddingAfter() : intrinsicPaddingBefore());
+    return result + (style()->writingMode() == TopToBottomWritingMode ? intrinsicPaddingAfter() : intrinsicPaddingBefore());
 }
 
 int RenderTableCell::paddingLeft(bool includeIntrinsicPadding) const
 {
     int result = RenderBlock::paddingLeft();
-    if (!includeIntrinsicPadding || style()->isVerticalBlockFlow())
+    if (!includeIntrinsicPadding || style()->isHorizontalWritingMode())
         return result;
-    return result + (style()->blockFlow() == LeftToRightBlockFlow ? intrinsicPaddingBefore() : intrinsicPaddingAfter());
+    return result + (style()->writingMode() == LeftToRightWritingMode ? intrinsicPaddingBefore() : intrinsicPaddingAfter());
     
 }
 
 int RenderTableCell::paddingRight(bool includeIntrinsicPadding) const
 {   
     int result = RenderBlock::paddingRight();
-    if (!includeIntrinsicPadding || style()->isVerticalBlockFlow())
+    if (!includeIntrinsicPadding || style()->isHorizontalWritingMode())
         return result;
-    return result + (style()->blockFlow() == LeftToRightBlockFlow ? intrinsicPaddingAfter() : intrinsicPaddingBefore());
+    return result + (style()->writingMode() == LeftToRightWritingMode ? intrinsicPaddingAfter() : intrinsicPaddingBefore());
 }
 
 int RenderTableCell::paddingBefore(bool includeIntrinsicPadding) const
diff --git a/WebCore/rendering/RenderView.h b/WebCore/rendering/RenderView.h
index ff70e86..81d91f6 100644
--- a/WebCore/rendering/RenderView.h
+++ b/WebCore/rendering/RenderView.h
@@ -54,8 +54,8 @@ public:
     // The same as the FrameView's layoutHeight/layoutWidth but with null check guards.
     int viewHeight() const;
     int viewWidth() const;
-    int viewLogicalWidth() const { return style()->isVerticalBlockFlow() ? viewWidth() : viewHeight(); }
-    int viewLogicalHeight() const { return style()->isVerticalBlockFlow() ? viewHeight() : viewWidth(); }
+    int viewLogicalWidth() const { return style()->isHorizontalWritingMode() ? viewWidth() : viewHeight(); }
+    int viewLogicalHeight() const { return style()->isHorizontalWritingMode() ? viewHeight() : viewWidth(); }
 
     float zoomFactor() const;
 
diff --git a/WebCore/rendering/RootInlineBox.cpp b/WebCore/rendering/RootInlineBox.cpp
index 52586c5..3be9994 100644
--- a/WebCore/rendering/RootInlineBox.cpp
+++ b/WebCore/rendering/RootInlineBox.cpp
@@ -47,7 +47,7 @@ RootInlineBox::RootInlineBox(RenderBlock* block)
     , m_lineBottom(0)
     , m_paginationStrut(0)
 {
-    setIsVertical(!block->style()->isVerticalBlockFlow());
+    setIsVertical(!block->style()->isHorizontalWritingMode());
 }
 
 
diff --git a/WebCore/rendering/style/RenderStyle.cpp b/WebCore/rendering/style/RenderStyle.cpp
index d243a7f..43aba57 100644
--- a/WebCore/rendering/style/RenderStyle.cpp
+++ b/WebCore/rendering/style/RenderStyle.cpp
@@ -446,7 +446,7 @@ StyleDifference RenderStyle::diff(const RenderStyle* other, unsigned& changedCon
         return StyleDifferenceLayout;
 
     // Check block flow direction.
-    if (inherited_flags._blockFlow != other->inherited_flags._blockFlow)
+    if (inherited_flags.m_writingMode != other->inherited_flags.m_writingMode)
         return StyleDifferenceLayout;
 
     // Overflow returns a layout hint.
@@ -1079,56 +1079,56 @@ const Color RenderStyle::visitedDependentColor(int colorProperty) const
 
 Length RenderStyle::logicalWidth() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return width();
     return height();
 }
 
 Length RenderStyle::logicalHeight() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return height();
     return width();
 }
 
 Length RenderStyle::logicalMinWidth() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return minWidth();
     return minHeight();
 }
 
 Length RenderStyle::logicalMaxWidth() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return maxWidth();
     return maxHeight();
 }
 
 Length RenderStyle::logicalMinHeight() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return minHeight();
     return minWidth();
 }
 
 Length RenderStyle::logicalMaxHeight() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return maxHeight();
     return maxWidth();
 }
 
 unsigned short RenderStyle::borderBeforeWidth() const
 {
-    switch (blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (writingMode()) {
+    case TopToBottomWritingMode:
         return borderTopWidth();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return borderBottomWidth();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return borderLeftWidth();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return borderRightWidth();
     }
     ASSERT_NOT_REACHED();
@@ -1137,14 +1137,14 @@ unsigned short RenderStyle::borderBeforeWidth() const
 
 unsigned short RenderStyle::borderAfterWidth() const
 {
-    switch (blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (writingMode()) {
+    case TopToBottomWritingMode:
         return borderBottomWidth();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return borderTopWidth();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return borderRightWidth();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return borderLeftWidth();
     }
     ASSERT_NOT_REACHED();
@@ -1153,28 +1153,28 @@ unsigned short RenderStyle::borderAfterWidth() const
 
 unsigned short RenderStyle::borderStartWidth() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return isLeftToRightDirection() ? borderLeftWidth() : borderRightWidth();
     return isLeftToRightDirection() ? borderTopWidth() : borderBottomWidth();
 }
 
 unsigned short RenderStyle::borderEndWidth() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return isLeftToRightDirection() ? borderRightWidth() : borderLeftWidth();
     return isLeftToRightDirection() ? borderBottomWidth() : borderTopWidth();
 }
     
 Length RenderStyle::marginBefore() const
 {
-    switch (blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (writingMode()) {
+    case TopToBottomWritingMode:
         return marginTop();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return marginBottom();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return marginLeft();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return marginRight();
     }
     ASSERT_NOT_REACHED();
@@ -1183,14 +1183,14 @@ Length RenderStyle::marginBefore() const
 
 Length RenderStyle::marginAfter() const
 {
-    switch (blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (writingMode()) {
+    case TopToBottomWritingMode:
         return marginBottom();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return marginTop();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return marginRight();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return marginLeft();
     }
     ASSERT_NOT_REACHED();
@@ -1199,14 +1199,14 @@ Length RenderStyle::marginAfter() const
 
 Length RenderStyle::marginBeforeUsing(const RenderStyle* otherStyle) const
 {
-    switch (otherStyle->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (otherStyle->writingMode()) {
+    case TopToBottomWritingMode:
         return marginTop();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return marginBottom();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return marginLeft();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return marginRight();
     }
     ASSERT_NOT_REACHED();
@@ -1215,14 +1215,14 @@ Length RenderStyle::marginBeforeUsing(const RenderStyle* otherStyle) const
 
 Length RenderStyle::marginAfterUsing(const RenderStyle* otherStyle) const
 {
-    switch (otherStyle->blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (otherStyle->writingMode()) {
+    case TopToBottomWritingMode:
         return marginBottom();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return marginTop();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return marginRight();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return marginLeft();
     }
     ASSERT_NOT_REACHED();
@@ -1231,42 +1231,42 @@ Length RenderStyle::marginAfterUsing(const RenderStyle* otherStyle) const
 
 Length RenderStyle::marginStart() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return isLeftToRightDirection() ? marginLeft() : marginRight();
     return isLeftToRightDirection() ? marginTop() : marginBottom();
 }
 
 Length RenderStyle::marginEnd() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return isLeftToRightDirection() ? marginRight() : marginLeft();
     return isLeftToRightDirection() ? marginBottom() : marginTop();
 }
     
 Length RenderStyle::marginStartUsing(const RenderStyle* otherStyle) const
 {
-    if (otherStyle->isVerticalBlockFlow())
+    if (otherStyle->isHorizontalWritingMode())
         return otherStyle->isLeftToRightDirection() ? marginLeft() : marginRight();
     return otherStyle->isLeftToRightDirection() ? marginTop() : marginBottom();
 }
 
 Length RenderStyle::marginEndUsing(const RenderStyle* otherStyle) const
 {
-    if (otherStyle->isVerticalBlockFlow())
+    if (otherStyle->isHorizontalWritingMode())
         return otherStyle->isLeftToRightDirection() ? marginRight() : marginLeft();
     return otherStyle->isLeftToRightDirection() ? marginBottom() : marginTop();
 }
 
 Length RenderStyle::paddingBefore() const
 {
-    switch (blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (writingMode()) {
+    case TopToBottomWritingMode:
         return paddingTop();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return paddingBottom();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return paddingLeft();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return paddingRight();
     }
     ASSERT_NOT_REACHED();
@@ -1275,14 +1275,14 @@ Length RenderStyle::paddingBefore() const
 
 Length RenderStyle::paddingAfter() const
 {
-    switch (blockFlow()) {
-    case TopToBottomBlockFlow:
+    switch (writingMode()) {
+    case TopToBottomWritingMode:
         return paddingBottom();
-    case BottomToTopBlockFlow:
+    case BottomToTopWritingMode:
         return paddingTop();
-    case LeftToRightBlockFlow:
+    case LeftToRightWritingMode:
         return paddingRight();
-    case RightToLeftBlockFlow:
+    case RightToLeftWritingMode:
         return paddingLeft();
     }
     ASSERT_NOT_REACHED();
@@ -1291,14 +1291,14 @@ Length RenderStyle::paddingAfter() const
 
 Length RenderStyle::paddingStart() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return isLeftToRightDirection() ? paddingLeft() : paddingRight();
     return isLeftToRightDirection() ? paddingTop() : paddingBottom();
 }
 
 Length RenderStyle::paddingEnd() const
 {
-    if (isVerticalBlockFlow())
+    if (isHorizontalWritingMode())
         return isLeftToRightDirection() ? paddingRight() : paddingLeft();
     return isLeftToRightDirection() ? paddingBottom() : paddingTop();
 }
diff --git a/WebCore/rendering/style/RenderStyle.h b/WebCore/rendering/style/RenderStyle.h
index 95e3b08..b9f77d2 100644
--- a/WebCore/rendering/style/RenderStyle.h
+++ b/WebCore/rendering/style/RenderStyle.h
@@ -178,7 +178,7 @@ protected:
                    (_force_backgrounds_to_white == other._force_backgrounds_to_white) &&
                    (_pointerEvents == other._pointerEvents) &&
                    (_insideLink == other._insideLink) &&
-                   (_blockFlow == other._blockFlow);
+                   (m_writingMode == other.m_writingMode);
         }
 
         bool operator!=(const InheritedFlags& other) const { return !(*this == other); }
@@ -206,7 +206,7 @@ protected:
         // 43 bits
 
         // CSS Text Layout Module Level 3: Vertical writing support
-        unsigned _blockFlow : 2; // EBlockFlowDirection
+        unsigned m_writingMode : 2; // WritingMode
         // 45 bits
     } inherited_flags;
 
@@ -283,7 +283,7 @@ protected:
         inherited_flags._force_backgrounds_to_white = false;
         inherited_flags._pointerEvents = initialPointerEvents();
         inherited_flags._insideLink = NotInsideLink;
-        inherited_flags._blockFlow = initialBlockFlow();
+        inherited_flags.m_writingMode = initialWritingMode();
 
         noninherited_flags._effectiveDisplay = noninherited_flags._originalDisplay = initialDisplay();
         noninherited_flags._overflowX = initialOverflowX();
@@ -743,8 +743,8 @@ public:
     bool textSizeAdjust() const { return rareInheritedData->textSizeAdjust; }
     ETextSecurity textSecurity() const { return static_cast<ETextSecurity>(rareInheritedData->textSecurity); }
 
-    EBlockFlowDirection blockFlow() const { return static_cast<EBlockFlowDirection>(inherited_flags._blockFlow); }
-    bool isVerticalBlockFlow() const { return blockFlow() == TopToBottomBlockFlow || blockFlow() == BottomToTopBlockFlow; }
+    WritingMode writingMode() const { return static_cast<WritingMode>(inherited_flags.m_writingMode); }
+    bool isHorizontalWritingMode() const { return writingMode() == TopToBottomWritingMode || writingMode() == BottomToTopWritingMode; }
 
     ESpeak speak() { return static_cast<ESpeak>(rareInheritedData->speak); }
         
@@ -1124,7 +1124,7 @@ public:
                originalDisplay() == INLINE_BOX || originalDisplay() == INLINE_TABLE;
     }
 
-    void setBlockFlow(EBlockFlowDirection v) { inherited_flags._blockFlow = v; }
+    void setWritingMode(WritingMode v) { inherited_flags.m_writingMode = v; }
 
     // To tell if this style matched attribute selectors. This makes it impossible to share.
     bool affectedByAttributeSelectors() const { return m_affectedByAttributeSelectors; }
@@ -1165,7 +1165,7 @@ public:
     static ECaptionSide initialCaptionSide() { return CAPTOP; }
     static EClear initialClear() { return CNONE; }
     static TextDirection initialDirection() { return LTR; }
-    static EBlockFlowDirection initialBlockFlow() { return TopToBottomBlockFlow; }
+    static WritingMode initialWritingMode() { return TopToBottomWritingMode; }
     static EDisplay initialDisplay() { return INLINE; }
     static EEmptyCell initialEmptyCells() { return SHOW; }
     static EFloat initialFloating() { return FNONE; }
diff --git a/WebCore/rendering/style/RenderStyleConstants.h b/WebCore/rendering/style/RenderStyleConstants.h
index d751aa8..0112c03 100644
--- a/WebCore/rendering/style/RenderStyleConstants.h
+++ b/WebCore/rendering/style/RenderStyleConstants.h
@@ -129,8 +129,8 @@ enum EUnicodeBidi {
 };
 
 // CSS Text Layout Module Level 3: Vertical writing support
-enum EBlockFlowDirection {
-    TopToBottomBlockFlow, RightToLeftBlockFlow, LeftToRightBlockFlow, BottomToTopBlockFlow
+enum WritingMode {
+    TopToBottomWritingMode, RightToLeftWritingMode, LeftToRightWritingMode, BottomToTopWritingMode
 };
 
 enum EFillAttachment {
diff --git a/WebCore/rendering/style/SVGRenderStyle.h b/WebCore/rendering/style/SVGRenderStyle.h
index d959ed1..8f0be39 100644
--- a/WebCore/rendering/style/SVGRenderStyle.h
+++ b/WebCore/rendering/style/SVGRenderStyle.h
@@ -67,7 +67,7 @@ public:
     static LineJoin initialJoinStyle() { return MiterJoin; }
     static EShapeRendering initialShapeRendering() { return SR_AUTO; }
     static ETextAnchor initialTextAnchor() { return TA_START; }
-    static EWritingMode initialWritingMode() { return WM_LRTB; }
+    static SVGWritingMode initialWritingMode() { return WM_LRTB; }
     static EGlyphOrientation initialGlyphOrientationHorizontal() { return GO_0DEG; }
     static EGlyphOrientation initialGlyphOrientationVertical() { return GO_AUTO; }
     static float initialFillOpacity() { return 1.0f; }
@@ -132,7 +132,7 @@ public:
     void setJoinStyle(LineJoin val) { svg_inherited_flags._joinStyle = val; }
     void setShapeRendering(EShapeRendering val) { svg_inherited_flags._shapeRendering = val; }
     void setTextAnchor(ETextAnchor val) { svg_inherited_flags._textAnchor = val; }
-    void setWritingMode(EWritingMode val) { svg_inherited_flags._writingMode = val; }
+    void setWritingMode(SVGWritingMode val) { svg_inherited_flags._writingMode = val; }
     void setGlyphOrientationHorizontal(EGlyphOrientation val) { svg_inherited_flags._glyphOrientationHorizontal = val; }
     void setGlyphOrientationVertical(EGlyphOrientation val) { svg_inherited_flags._glyphOrientationVertical = val; }
     
@@ -281,7 +281,7 @@ public:
     LineJoin joinStyle() const { return (LineJoin) svg_inherited_flags._joinStyle; }
     EShapeRendering shapeRendering() const { return (EShapeRendering) svg_inherited_flags._shapeRendering; }
     ETextAnchor textAnchor() const { return (ETextAnchor) svg_inherited_flags._textAnchor; }
-    EWritingMode writingMode() const { return (EWritingMode) svg_inherited_flags._writingMode; }
+    SVGWritingMode writingMode() const { return (SVGWritingMode) svg_inherited_flags._writingMode; }
     EGlyphOrientation glyphOrientationHorizontal() const { return (EGlyphOrientation) svg_inherited_flags._glyphOrientationHorizontal; }
     EGlyphOrientation glyphOrientationVertical() const { return (EGlyphOrientation) svg_inherited_flags._glyphOrientationVertical; }
     float fillOpacity() const { return fill->opacity; }
@@ -351,7 +351,7 @@ protected:
         unsigned _textAnchor : 2; // ETextAnchor
         unsigned _colorInterpolation : 2; // EColorInterpolation
         unsigned _colorInterpolationFilters : 2; // EColorInterpolation
-        unsigned _writingMode : 3; // EWritingMode
+        unsigned _writingMode : 3; // SVGWritingMode
         unsigned _glyphOrientationHorizontal : 3; // EGlyphOrientation
         unsigned _glyphOrientationVertical : 3; // EGlyphOrientation
     } svg_inherited_flags;
diff --git a/WebCore/rendering/style/SVGRenderStyleDefs.h b/WebCore/rendering/style/SVGRenderStyleDefs.h
index 339bb77..de058a2 100644
--- a/WebCore/rendering/style/SVGRenderStyleDefs.h
+++ b/WebCore/rendering/style/SVGRenderStyleDefs.h
@@ -64,7 +64,7 @@ namespace WebCore {
         SR_AUTO, SR_OPTIMIZESPEED, SR_CRISPEDGES, SR_GEOMETRICPRECISION
     };
 
-    enum EWritingMode {
+    enum SVGWritingMode {
         WM_LRTB, WM_LR, WM_RLTB, WM_RL, WM_TBRL, WM_TB
     };
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list