[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 13:29:11 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 504038d4d5ba6682a4ddfd47295e2d6d521158ca
Author: hyatt at apple.com <hyatt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Sep 16 21:37:06 2010 +0000

    https://bugs.webkit.org/show_bug.cgi?id=45020
    Support "block-flow" and "writing-mode": interpret properties into RenderStyle
    
    Patch by takano takumi <takano1 at asia.apple.com> on 2010-09-16
    Reviewed by Dave Hyatt.
    
    Added code that interprets "block-flow" property and "writing-mode" property settings
    into a RenderStyle object.
    
    WebCore:
    
    Test: fast/text/international/block-flow-parser-test.html
    
    * css/CSSComputedStyleDeclaration.cpp:
    (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
    * css/CSSParser.cpp:
    (WebCore::CSSParser::parseValue):
    * css/CSSPrimitiveValueMappings.h:
    (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
    (WebCore::CSSPrimitiveValue::operator EBlockFlowDirection):
    * css/CSSPropertyNames.in:
    * css/CSSStyleSelector.cpp:
    (WebCore::CSSStyleSelector::applyProperty):
    * css/CSSValueKeywords.in:
    * css/SVGCSSValueKeywords.in:
    * rendering/style/RenderStyle.cpp:
    (WebCore::RenderStyle::diff):
    * rendering/style/RenderStyle.h:
    (WebCore::InheritedFlags::setBitDefaults):
    (WebCore::InheritedFlags::blockFlow):
    (WebCore::InheritedFlags::setBlockFlow):
    (WebCore::InheritedFlags::initialBlockFlow):
    * rendering/style/RenderStyleConstants.h:
    
    LayoutTests:
    
    * fast/css/getComputedStyle/computed-style-expected.txt:
    * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
    * fast/text/international/block-flow-parser-test-expected.txt: Added.
    * fast/text/international/block-flow-parser-test.html: Added.
    * svg/css/getComputedStyle-basic-expected.txt:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67667 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index b83d83d..fa11822 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2010-09-16  takano takumi  <takano1 at asia.apple.com>
+
+        Reviewed by Dave Hyatt.
+
+        https://bugs.webkit.org/show_bug.cgi?id=45020
+        Support "block-flow" and "writing-mode": interpret properties into RenderStyle
+ 
+        Added code that interprets "block-flow" property and "writing-mode" property settings
+        into a RenderStyle object.
+
+        * fast/css/getComputedStyle/computed-style-expected.txt:
+        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+        * fast/text/international/block-flow-parser-test-expected.txt: Added.
+        * fast/text/international/block-flow-parser-test.html: Added.
+        * svg/css/getComputedStyle-basic-expected.txt:
+
 2010-09-15  David Hyatt  <hyatt at apple.com>
 
         Reviewed by Darin Adler.
diff --git a/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt b/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
index 392391c..9d8a85e 100644
--- a/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
+++ b/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
@@ -96,6 +96,7 @@ 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;
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 e6487fb..311409b 100644
--- a/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
+++ b/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
@@ -95,6 +95,7 @@ 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
diff --git a/LayoutTests/fast/text/international/block-flow-parser-test-expected.txt b/LayoutTests/fast/text/international/block-flow-parser-test-expected.txt
new file mode 100644
index 0000000..bf86a0e
--- /dev/null
+++ b/LayoutTests/fast/text/international/block-flow-parser-test-expected.txt
@@ -0,0 +1,13 @@
+block-flow parser test
+
+-webkit-block-flow:tb
+-webkit-block-flow:rl
+-webkit-block-flow:lr
+-webkit-block-flow:bt
+Okay if -webkit-block-flow values above and below are the same.
+
+-webkit-block-flow:tb
+-webkit-block-flow:rl
+-webkit-block-flow:lr
+-webkit-block-flow:bt
+
diff --git a/LayoutTests/fast/text/international/block-flow-parser-test.html b/LayoutTests/fast/text/international/block-flow-parser-test.html
new file mode 100644
index 0000000..d4dc09a
--- /dev/null
+++ b/LayoutTests/fast/text/international/block-flow-parser-test.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>block-flow parser test</title>
+<script>
+function print(message)
+{
+    var paragraph = document.createElement("li");
+    paragraph.appendChild(document.createTextNode(message));
+    document.getElementById("console").appendChild(paragraph);
+}
+function test()
+{
+    if (window.layoutTestController)
+        layoutTestController.dumpAsText();
+
+	var blockFlowValues = ["tb", "rl", "lr", "bt"];
+	var pElems = document.getElementsByTagName("div");
+	for ( i = 0 ; i < pElems.length ; ++i )
+	{
+		var elem = pElems[i];
+		elem.style.webkitBlockFlow = blockFlowValues[i];
+		print("-webkit-block-flow:" + elem.style.webkitBlockFlow);
+	}
+}
+</script>
+</head>
+<body onload="test()">
+<p>block-flow parser test</p>
+<div>-webkit-block-flow:tb</div>
+<div>-webkit-block-flow:rl</div>
+<div>-webkit-block-flow:lr</div>
+<div>-webkit-block-flow:bt</div>
+<p>Okay if -webkit-block-flow values above and below are the same.</p>
+<hr>
+<p><ol id=console></ol></p>
+</body>
+</html>
diff --git a/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt b/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt
index ff242ef..c642012 100644
--- a/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt
+++ b/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt
@@ -107,6 +107,7 @@ 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-horizontal-spacing: 0px;
 -webkit-border-image: none;
diff --git a/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt b/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
index 21baf09..1f742b8 100644
--- a/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
+++ b/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
@@ -106,6 +106,7 @@ 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-horizontal-spacing: 0px
     -webkit-border-image: none
diff --git a/LayoutTests/svg/css/getComputedStyle-basic-expected.txt b/LayoutTests/svg/css/getComputedStyle-basic-expected.txt
index 9de0e2a..757db21 100644
--- a/LayoutTests/svg/css/getComputedStyle-basic-expected.txt
+++ b/LayoutTests/svg/css/getComputedStyle-basic-expected.txt
@@ -212,6 +212,8 @@ 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
@@ -632,6 +634,8 @@ 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
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 506d0e1..d6f8b8a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,36 @@
+2010-09-16  takano takumi  <takano1 at asia.apple.com>
+
+        Reviewed by Dave Hyatt.
+
+        https://bugs.webkit.org/show_bug.cgi?id=45020
+        Support "block-flow" and "writing-mode": interpret properties into RenderStyle
+ 
+        Added code that interprets "block-flow" property and "writing-mode" property settings
+        into a RenderStyle object.
+
+        Test: fast/text/international/block-flow-parser-test.html
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseValue):
+        * css/CSSPrimitiveValueMappings.h:
+        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+        (WebCore::CSSPrimitiveValue::operator EBlockFlowDirection):
+        * css/CSSPropertyNames.in:
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::applyProperty):
+        * css/CSSValueKeywords.in:
+        * css/SVGCSSValueKeywords.in:
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::diff):
+        * rendering/style/RenderStyle.h:
+        (WebCore::InheritedFlags::setBitDefaults):
+        (WebCore::InheritedFlags::blockFlow):
+        (WebCore::InheritedFlags::setBlockFlow):
+        (WebCore::InheritedFlags::initialBlockFlow):
+        * rendering/style/RenderStyleConstants.h:
+
 2010-09-16  Martin Robinson  <mrobinson at igalia.com>
 
         Reviewed by Xan Lopez.
diff --git a/WebCore/css/CSSComputedStyleDeclaration.cpp b/WebCore/css/CSSComputedStyleDeclaration.cpp
index ab96347..e4a4186 100644
--- a/WebCore/css/CSSComputedStyleDeclaration.cpp
+++ b/WebCore/css/CSSComputedStyleDeclaration.cpp
@@ -158,6 +158,7 @@ static const int computedProperties[] = {
     CSSPropertyWebkitBackgroundComposite,
     CSSPropertyWebkitBackgroundOrigin,
     CSSPropertyWebkitBackgroundSize,
+    CSSPropertyWebkitBlockFlow,
     CSSPropertyWebkitBorderFit,
     CSSPropertyWebkitBorderHorizontalSpacing,
     CSSPropertyWebkitBorderImage,
@@ -1352,6 +1353,8 @@ 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:
@@ -1471,6 +1474,7 @@ 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 7c35739..c3c3149 100644
--- a/WebCore/css/CSSParser.cpp
+++ b/WebCore/css/CSSParser.cpp
@@ -1720,6 +1720,19 @@ bool CSSParser::parseValue(int propId, bool important)
         break;
 #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)
+            validPrimitive = true;
+        break;
+
 #if ENABLE(SVG)
     default:
         return parseSVGValue(propId, important);
diff --git a/WebCore/css/CSSPrimitiveValueMappings.h b/WebCore/css/CSSPrimitiveValueMappings.h
index 3da5cf6..2183c3c 100644
--- a/WebCore/css/CSSPrimitiveValueMappings.h
+++ b/WebCore/css/CSSPrimitiveValueMappings.h
@@ -2003,6 +2003,43 @@ template<> inline CSSPrimitiveValue::operator TextDirection() const
     }
 }
 
+template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBlockFlowDirection e)
+    : m_type(CSS_IDENT)
+    , m_hasCachedCSSText(false)
+{
+    switch (e) {
+    case TopToBottomBlockFlow:
+        m_value.ident = CSSValueTb;
+        break;
+    case RightToLeftBlockFlow:
+        m_value.ident = CSSValueRl;
+        break;
+    case LeftToRightBlockFlow:
+        m_value.ident = CSSValueLr;
+        break;
+    case BottomToTopBlockFlow:
+        m_value.ident = CSSValueBt;
+        break;
+    }
+}
+
+template<> inline CSSPrimitiveValue::operator EBlockFlowDirection() const
+{
+    switch (m_value.ident) {
+    case CSSValueTb:
+        return TopToBottomBlockFlow;
+    case CSSValueRl:
+        return RightToLeftBlockFlow;
+    case CSSValueLr:
+        return LeftToRightBlockFlow;
+    case CSSValueBt:
+        return BottomToTopBlockFlow;
+    default:
+        ASSERT_NOT_REACHED();
+        return TopToBottomBlockFlow;
+    }
+}
+
 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EPointerEvents e)
     : m_type(CSS_IDENT)
     , m_hasCachedCSSText(false)
diff --git a/WebCore/css/CSSPropertyNames.in b/WebCore/css/CSSPropertyNames.in
index a3063db..9079ea1 100644
--- a/WebCore/css/CSSPropertyNames.in
+++ b/WebCore/css/CSSPropertyNames.in
@@ -173,6 +173,8 @@ z-index
 # a single value: -webkit-background-size: l; is equivalent to background-size: l l;
 # whereas background-size: l; is equivalent to background-size: l auto;
 -webkit-background-size
+# CSS Text Layout Module Level 3: Vertical writing support
+-webkit-block-flow
 -webkit-border-end
 -webkit-border-end-color
 -webkit-border-end-style
@@ -275,3 +277,5 @@ z-index
 -webkit-user-modify
 -webkit-user-select
 -webkit-variable-declaration-block
+# CSS Text Layout Module Level 3: Vertical writing support
+-webkit-writing-mode
diff --git a/WebCore/css/CSSStyleSelector.cpp b/WebCore/css/CSSStyleSelector.cpp
index b22ba8f..3f0029e 100644
--- a/WebCore/css/CSSStyleSelector.cpp
+++ b/WebCore/css/CSSStyleSelector.cpp
@@ -5521,6 +5521,53 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
         return;
 #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;
+            }
+        }
+        return;
+
 #if ENABLE(SVG)
     default:
         // Try the SVG properties
diff --git a/WebCore/css/CSSValueKeywords.in b/WebCore/css/CSSValueKeywords.in
index 1e7c2b5..990bb36 100644
--- a/WebCore/css/CSSValueKeywords.in
+++ b/WebCore/css/CSSValueKeywords.in
@@ -742,3 +742,17 @@ windowed
 # none
 manual
 # auto
+
+# -webkit-block-flow
+tb
+rl
+lr
+bt
+
+# -webkit-writing-mode
+lr-tb
+rl-tb
+tb-rl
+bt-rl
+tb-lr
+bt-lr
diff --git a/WebCore/css/SVGCSSValueKeywords.in b/WebCore/css/SVGCSSValueKeywords.in
index 420fbd8..a2c9f83 100644
--- a/WebCore/css/SVGCSSValueKeywords.in
+++ b/WebCore/css/SVGCSSValueKeywords.in
@@ -276,12 +276,3 @@ reset-size
 # CSS_PROP_VECTOR_EFFECT
 # none
 non-scaling-stroke
-
-
-# CSS_PROP_WRITING_MODE
-lr-tb
-rl-tb
-tb-rl
-lr
-rl
-tb
diff --git a/WebCore/rendering/style/RenderStyle.cpp b/WebCore/rendering/style/RenderStyle.cpp
index 93cd8de..4930a13 100644
--- a/WebCore/rendering/style/RenderStyle.cpp
+++ b/WebCore/rendering/style/RenderStyle.cpp
@@ -441,6 +441,10 @@ StyleDifference RenderStyle::diff(const RenderStyle* other, unsigned& changedCon
         noninherited_flags._clear != other->noninherited_flags._clear)
         return StyleDifferenceLayout;
 
+    // Check block flow direction.
+    if (inherited_flags._blockFlow != other->inherited_flags._blockFlow)
+        return StyleDifferenceLayout;
+
     // Overflow returns a layout hint.
     if (noninherited_flags._overflowX != other->noninherited_flags._overflowX ||
         noninherited_flags._overflowY != other->noninherited_flags._overflowY)
diff --git a/WebCore/rendering/style/RenderStyle.h b/WebCore/rendering/style/RenderStyle.h
index 9ede4e6..cf344dc 100644
--- a/WebCore/rendering/style/RenderStyle.h
+++ b/WebCore/rendering/style/RenderStyle.h
@@ -178,7 +178,8 @@ protected:
                    (_visuallyOrdered == other._visuallyOrdered) &&
                    (_force_backgrounds_to_white == other._force_backgrounds_to_white) &&
                    (_pointerEvents == other._pointerEvents) &&
-                   (_insideLink == other._insideLink);
+                   (_insideLink == other._insideLink) &&
+                   (_blockFlow == other._blockFlow);
         }
 
         bool operator!=(const InheritedFlags& other) const { return !(*this == other); }
@@ -204,6 +205,10 @@ protected:
         unsigned _pointerEvents : 4; // EPointerEvents
         unsigned _insideLink : 2; // EInsideLink
         // 43 bits
+
+        // CSS Text Layout Module Level 3: Vertical writing support
+        unsigned _blockFlow : 2; // EBlockFlowDirection
+        // 45 bits
     } inherited_flags;
 
 // don't inherit
@@ -279,6 +284,7 @@ protected:
         inherited_flags._force_backgrounds_to_white = false;
         inherited_flags._pointerEvents = initialPointerEvents();
         inherited_flags._insideLink = NotInsideLink;
+        inherited_flags._blockFlow = initialBlockFlow();
 
         noninherited_flags._effectiveDisplay = noninherited_flags._originalDisplay = initialDisplay();
         noninherited_flags._overflowX = initialOverflowX();
@@ -712,6 +718,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); }
+
 // attribute setter methods
 
     void setDisplay(EDisplay v) { noninherited_flags._effectiveDisplay = v; }
@@ -1087,6 +1095,8 @@ public:
                originalDisplay() == INLINE_BOX || originalDisplay() == INLINE_TABLE;
     }
 
+    void setBlockFlow(EBlockFlowDirection v) { inherited_flags._blockFlow = v; }
+
     // To tell if this style matched attribute selectors. This makes it impossible to share.
     bool affectedByAttributeSelectors() const { return m_affectedByAttributeSelectors; }
     void setAffectedByAttributeSelectors() { m_affectedByAttributeSelectors = true; }
@@ -1126,6 +1136,7 @@ public:
     static ECaptionSide initialCaptionSide() { return CAPTOP; }
     static EClear initialClear() { return CNONE; }
     static TextDirection initialDirection() { return LTR; }
+    static EBlockFlowDirection initialBlockFlow() { return TopToBottomBlockFlow; }
     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 a78321f..94d30d5 100644
--- a/WebCore/rendering/style/RenderStyleConstants.h
+++ b/WebCore/rendering/style/RenderStyleConstants.h
@@ -128,6 +128,11 @@ enum EUnicodeBidi {
     UBNormal, Embed, Override
 };
 
+// CSS Text Layout Module Level 3: Vertical writing support
+enum EBlockFlowDirection {
+    TopToBottomBlockFlow, RightToLeftBlockFlow, LeftToRightBlockFlow, BottomToTopBlockFlow
+};
+
 enum EFillAttachment {
     ScrollBackgroundAttachment, LocalBackgroundAttachment, FixedBackgroundAttachment
 };

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list