<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[184962] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/184962">184962</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-05-28 14:55:32 -0700 (Thu, 28 May 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Code clean up for extracting information from the mix of WritingMode and TextDirection
https://bugs.webkit.org/show_bug.cgi?id=143399

Patch by Said Abou-Hallawa &lt;sabouhallawa@apple.com&gt; on 2015-05-28
Reviewed by Darin Adler.
Source/WebCore:

There should be eight TextFlows. A TextFlow consists of two directions.
The first one controls the inline growing direction and the second one
controls the block growing direction. We are going to use the cardinal
directions to define these combinations.

We need to extract the following information easily from the TextFlow

-- isTextFlowReversed() // RTL
-- isTextFlowFlipped()  // the opposite direction to normal
-- isTextFlowVertical() // The line grows vertically

Mixing WritingMode and TextDirection into TextFlow and choosing their values
carefully to ease implementing the above functions can make things clearer.

* Modules/notifications/Notification.h:
* platform/graphics/TextRun.h:
* platform/ios/SelectionRect.h:
* platform/text/BidiResolver.h:
* platform/text/StringWithDirection.h:
* platform/text/TextFlags.h:
(WebCore::isLeftToRightDirection): Deleted.
enum TextDirection is moved from TextFlags.h to WritingMode.h. So include
WritingMode.h instead of including TextFlags.h.

* css/CSSProperty.cpp:
(WebCore::resolveToPhysicalProperty): Instead of handling the eight possible
cases of the text flows one by one, we can map from a LogicalSide to a
PhysicalSide using the TextFlow value.

* platform/LengthBox.h:
(WebCore::BoxExtent::before):
(WebCore::BoxExtent::after):
(WebCore::BoxExtent::start):
(WebCore::BoxExtent::end):
Use mapLogicalSideToPhysicalSide() to convert from a LogicalSide to a PhysicalSide.

* platform/text/WritingMode.h:
(WebCore::isLeftToRightDirection): Usually the default enum is defined
first. And usually the default value is equal to zero. Since LTR is the
default for the text direction, it should be defined before RTL.

(WebCore::makeTextFlow): Returns a TextFlow given a WritingMode and a
TextDirection.

(WebCore::isReversedTextFlow): Returns true if the text direction is RTL.

(WebCore::isFlippedTextFlow):
(WebCore::isFlippedWritingMode): Returns true if the block growing direction
is in the opposite direction of normal.

(WebCore::isVerticalTextFlow):
(WebCore::isVerticalWritingMode): Returns true if the line grows vertically.

(WebCore::isHorizontalWritingMode):
(WebCore::isFlippedLinesWritingMode): Use isVerticalWritingMode() and
isFlippedWritingMode() to answer these questions.

(WebCore::isHorizontalPhysicalSide):
(WebCore::mirrorPhysicalSide): top &lt;-&gt; bottom and left &lt;-&gt; right conversion.
(WebCore::rotatePhysicalSide): top &lt;-&gt; left and right &lt;-&gt; bottom conversion.

(WebCore::mapLogicalSideToPhysicalSide): Maps a LogicalSide to a PhysicalSide
using either the TextFlow or the WritingMode.

(WebCore::isFlippedBlocksWritingMode): Deleted.
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::collectLayerFragments):
(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
* rendering/shapes/Shape.cpp:
(WebCore::physicalRectToLogical):
(WebCore::physicalPointToLogical):
* rendering/style/RenderStyle.h:
Rename isFlippedBlocksWritingMode() to be isFlippedWritingMode() so we can
be consistent with other WritingMode query functions.

Source/WebKit2:

* Shared/WebPopupItem.h:
* UIProcess/API/C/efl/WKAPICastEfl.h:
* UIProcess/WebPopupMenuProxy.h:
enum TextDirection is moved from TextFlags.h to WritingMode.h. So include
WritingMode.h instead of including TextFlags.h.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesnotificationsNotificationh">trunk/Source/WebCore/Modules/notifications/Notification.h</a></li>
<li><a href="#trunkSourceWebCorecssCSSPropertycpp">trunk/Source/WebCore/css/CSSProperty.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSPropertyh">trunk/Source/WebCore/css/CSSProperty.h</a></li>
<li><a href="#trunkSourceWebCoreplatformLengthBoxh">trunk/Source/WebCore/platform/LengthBox.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsTextRunh">trunk/Source/WebCore/platform/graphics/TextRun.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosSelectionRecth">trunk/Source/WebCore/platform/ios/SelectionRect.h</a></li>
<li><a href="#trunkSourceWebCoreplatformtextBidiResolverh">trunk/Source/WebCore/platform/text/BidiResolver.h</a></li>
<li><a href="#trunkSourceWebCoreplatformtextStringWithDirectionh">trunk/Source/WebCore/platform/text/StringWithDirection.h</a></li>
<li><a href="#trunkSourceWebCoreplatformtextTextFlagsh">trunk/Source/WebCore/platform/text/TextFlags.h</a></li>
<li><a href="#trunkSourceWebCoreplatformtextWritingModeh">trunk/Source/WebCore/platform/text/WritingMode.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMultiColumnSetcpp">trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingshapesShapecpp">trunk/Source/WebCore/rendering/shapes/Shape.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStyleh">trunk/Source/WebCore/rendering/style/RenderStyle.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedWebPopupItemh">trunk/Source/WebKit2/Shared/WebPopupItem.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICeflWKAPICastEflh">trunk/Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPopupMenuProxyh">trunk/Source/WebKit2/UIProcess/WebPopupMenuProxy.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/ChangeLog        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -1,3 +1,85 @@
</span><ins>+2015-05-28  Said Abou-Hallawa  &lt;sabouhallawa@apple.com&gt;
+
+        Code clean up for extracting information from the mix of WritingMode and TextDirection
+        https://bugs.webkit.org/show_bug.cgi?id=143399
+
+        Reviewed by Darin Adler.
+        
+        There should be eight TextFlows. A TextFlow consists of two directions.
+        The first one controls the inline growing direction and the second one
+        controls the block growing direction. We are going to use the cardinal
+        directions to define these combinations.
+
+        We need to extract the following information easily from the TextFlow
+
+        -- isTextFlowReversed() // RTL
+        -- isTextFlowFlipped()  // the opposite direction to normal
+        -- isTextFlowVertical() // The line grows vertically
+        
+        Mixing WritingMode and TextDirection into TextFlow and choosing their values
+        carefully to ease implementing the above functions can make things clearer.
+
+        * Modules/notifications/Notification.h:
+        * platform/graphics/TextRun.h:
+        * platform/ios/SelectionRect.h:
+        * platform/text/BidiResolver.h:
+        * platform/text/StringWithDirection.h:
+        * platform/text/TextFlags.h:
+        (WebCore::isLeftToRightDirection): Deleted.
+        enum TextDirection is moved from TextFlags.h to WritingMode.h. So include
+        WritingMode.h instead of including TextFlags.h.
+        
+        * css/CSSProperty.cpp:
+        (WebCore::resolveToPhysicalProperty): Instead of handling the eight possible
+        cases of the text flows one by one, we can map from a LogicalSide to a
+        PhysicalSide using the TextFlow value.
+        
+        * platform/LengthBox.h:
+        (WebCore::BoxExtent::before):
+        (WebCore::BoxExtent::after):
+        (WebCore::BoxExtent::start):
+        (WebCore::BoxExtent::end):
+        Use mapLogicalSideToPhysicalSide() to convert from a LogicalSide to a PhysicalSide.
+        
+        * platform/text/WritingMode.h:
+        (WebCore::isLeftToRightDirection): Usually the default enum is defined
+        first. And usually the default value is equal to zero. Since LTR is the
+        default for the text direction, it should be defined before RTL.
+        
+        (WebCore::makeTextFlow): Returns a TextFlow given a WritingMode and a
+        TextDirection.
+        
+        (WebCore::isReversedTextFlow): Returns true if the text direction is RTL.
+        
+        (WebCore::isFlippedTextFlow):
+        (WebCore::isFlippedWritingMode): Returns true if the block growing direction
+        is in the opposite direction of normal.
+        
+        (WebCore::isVerticalTextFlow):
+        (WebCore::isVerticalWritingMode): Returns true if the line grows vertically.
+               
+        (WebCore::isHorizontalWritingMode):
+        (WebCore::isFlippedLinesWritingMode): Use isVerticalWritingMode() and 
+        isFlippedWritingMode() to answer these questions.
+        
+        (WebCore::isHorizontalPhysicalSide): 
+        (WebCore::mirrorPhysicalSide): top &lt;-&gt; bottom and left &lt;-&gt; right conversion.
+        (WebCore::rotatePhysicalSide): top &lt;-&gt; left and right &lt;-&gt; bottom conversion.
+        
+        (WebCore::mapLogicalSideToPhysicalSide): Maps a LogicalSide to a PhysicalSide
+        using either the TextFlow or the WritingMode.
+        
+        (WebCore::isFlippedBlocksWritingMode): Deleted.
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::collectLayerFragments):
+        (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
+        * rendering/shapes/Shape.cpp:
+        (WebCore::physicalRectToLogical):
+        (WebCore::physicalPointToLogical):
+        * rendering/style/RenderStyle.h:
+        Rename isFlippedBlocksWritingMode() to be isFlippedWritingMode() so we can
+        be consistent with other WritingMode query functions.
+
</ins><span class="cx"> 2015-05-28  Matt Rajca  &lt;mrajca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add ENABLE_MEDIA_SESSION feature flag (which is off by default).
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesnotificationsNotificationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/notifications/Notification.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/notifications/Notification.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/Modules/notifications/Notification.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -35,10 +35,10 @@
</span><span class="cx"> #include &quot;ActiveDOMObject.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;EventTarget.h&quot;
</span><del>-#include &quot;URL.h&quot;
</del><span class="cx"> #include &quot;NotificationClient.h&quot;
</span><del>-#include &quot;TextFlags.h&quot;
</del><span class="cx"> #include &quot;ThreadableLoaderClient.h&quot;
</span><ins>+#include &quot;URL.h&quot;
+#include &quot;WritingMode.h&quot;
</ins><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPropertycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSProperty.cpp (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSProperty.cpp        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/css/CSSProperty.cpp        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -56,107 +56,7 @@
</span><span class="cx"> 
</span><span class="cx"> static CSSPropertyID resolveToPhysicalProperty(TextDirection direction, WritingMode writingMode, LogicalBoxSide logicalSide, const StylePropertyShorthand&amp; shorthand)
</span><span class="cx"> {
</span><del>-    if (direction == LTR) {
-        if (writingMode == TopToBottomWritingMode) {
-            // The common case. The logical and physical box sides match.
-            // Left = Start, Right = End, Before = Top, After = Bottom
-            return shorthand.properties()[logicalSide];
-        }
-
-        if (writingMode == BottomToTopWritingMode) {
-            // Start = Left, End = Right, Before = Bottom, After = Top.
-            switch (logicalSide) {
-            case StartSide:
-                return shorthand.properties()[LeftSide];
-            case EndSide:
-                return shorthand.properties()[RightSide];
-            case BeforeSide:
-                return shorthand.properties()[BottomSide];
-            default:
-                return shorthand.properties()[TopSide];
-            }
-        }
-
-        if (writingMode == LeftToRightWritingMode) {
-            // Start = Top, End = Bottom, Before = Left, After = Right.
-            switch (logicalSide) {
-            case StartSide:
-                return shorthand.properties()[TopSide];
-            case EndSide:
-                return shorthand.properties()[BottomSide];
-            case BeforeSide:
-                return shorthand.properties()[LeftSide];
-            default:
-                return shorthand.properties()[RightSide];
-            }
-        }
-
-        // Start = Top, End = Bottom, Before = Right, After = Left
-        switch (logicalSide) {
-        case StartSide:
-            return shorthand.properties()[TopSide];
-        case EndSide:
-            return shorthand.properties()[BottomSide];
-        case BeforeSide:
-            return shorthand.properties()[RightSide];
-        default:
-            return shorthand.properties()[LeftSide];
-        }
-    }
-
-    if (writingMode == TopToBottomWritingMode) {
-        // Start = Right, End = Left, Before = Top, After = Bottom
-        switch (logicalSide) {
-        case StartSide:
-            return shorthand.properties()[RightSide];
-        case EndSide:
-            return shorthand.properties()[LeftSide];
-        case BeforeSide:
-            return shorthand.properties()[TopSide];
-        default:
-            return shorthand.properties()[BottomSide];
-        }
-    }
-
-    if (writingMode == BottomToTopWritingMode) {
-        // Start = Right, End = Left, Before = Bottom, After = Top
-        switch (logicalSide) {
-        case StartSide:
-            return shorthand.properties()[RightSide];
-        case EndSide:
-            return shorthand.properties()[LeftSide];
-        case BeforeSide:
-            return shorthand.properties()[BottomSide];
-        default:
-            return shorthand.properties()[TopSide];
-        }
-    }
-
-    if (writingMode == LeftToRightWritingMode) {
-        // Start = Bottom, End = Top, Before = Left, After = Right
-        switch (logicalSide) {
-        case StartSide:
-            return shorthand.properties()[BottomSide];
-        case EndSide:
-            return shorthand.properties()[TopSide];
-        case BeforeSide:
-            return shorthand.properties()[LeftSide];
-        default:
-            return shorthand.properties()[RightSide];
-        }
-    }
-
-    // Start = Bottom, End = Top, Before = Right, After = Left
-    switch (logicalSide) {
-    case StartSide:
-        return shorthand.properties()[BottomSide];
-    case EndSide:
-        return shorthand.properties()[TopSide];
-    case BeforeSide:
-        return shorthand.properties()[RightSide];
-    default:
-        return shorthand.properties()[LeftSide];
-    }
</del><ins>+    return shorthand.properties()[mapLogicalSideToPhysicalSide(makeTextFlow(writingMode, direction), logicalSide)];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> enum LogicalExtent { LogicalWidth, LogicalHeight };
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPropertyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSProperty.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSProperty.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/css/CSSProperty.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> #include &quot;CSSPropertyNames.h&quot;
</span><span class="cx"> #include &quot;CSSValue.h&quot;
</span><span class="cx"> #include &quot;RenderStyleConstants.h&quot;
</span><del>-#include &quot;TextFlags.h&quot;
</del><span class="cx"> #include &quot;WritingMode.h&quot;
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformLengthBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/LengthBox.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/LengthBox.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/platform/LengthBox.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx"> #define LengthBox_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Length.h&quot;
</span><del>-#include &quot;TextFlags.h&quot;
</del><span class="cx"> #include &quot;WritingMode.h&quot;
</span><span class="cx"> #include &lt;array&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -61,58 +60,42 @@
</span><span class="cx"> 
</span><span class="cx">     T&amp; before(WritingMode writingMode)
</span><span class="cx">     {
</span><del>-        return isHorizontalWritingMode(writingMode) ?
-            (isFlippedBlocksWritingMode(writingMode) ? bottom() : top()) :
-            (isFlippedBlocksWritingMode(writingMode) ? right() : left());
</del><ins>+        return at(mapLogicalSideToPhysicalSide(writingMode, BeforeSide));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     T&amp; after(WritingMode writingMode)
</span><span class="cx">     {
</span><del>-        return isHorizontalWritingMode(writingMode) ?
-            (isFlippedBlocksWritingMode(writingMode) ? top() : bottom()) :
-            (isFlippedBlocksWritingMode(writingMode) ? left() : right());
</del><ins>+        return at(mapLogicalSideToPhysicalSide(writingMode, AfterSide));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     T&amp; start(WritingMode writingMode, TextDirection direction = LTR)
</span><span class="cx">     {
</span><del>-        return isHorizontalWritingMode(writingMode) ?
-            (isLeftToRightDirection(direction) ? left() : right()) :
-            (isLeftToRightDirection(direction) ? top() : bottom());
</del><ins>+        return at(mapLogicalSideToPhysicalSide(makeTextFlow(writingMode, direction), StartSide));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     T&amp; end(WritingMode writingMode, TextDirection direction = LTR)
</span><span class="cx">     {
</span><del>-        return isHorizontalWritingMode(writingMode) ?
-            (isLeftToRightDirection(direction) ? right() : left()) :
-            (isLeftToRightDirection(direction) ? bottom() : top());
</del><ins>+        return at(mapLogicalSideToPhysicalSide(makeTextFlow(writingMode, direction), EndSide));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     const T&amp; before(WritingMode writingMode) const
</span><span class="cx">     {
</span><del>-        return isHorizontalWritingMode(writingMode) ?
-            (isFlippedBlocksWritingMode(writingMode) ? bottom() : top()) :
-            (isFlippedBlocksWritingMode(writingMode) ? right() : left());
</del><ins>+        return at(mapLogicalSideToPhysicalSide(writingMode, BeforeSide));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     const T&amp; after(WritingMode writingMode) const
</span><span class="cx">     {
</span><del>-        return isHorizontalWritingMode(writingMode) ?
-            (isFlippedBlocksWritingMode(writingMode) ? top() : bottom()) :
-            (isFlippedBlocksWritingMode(writingMode) ? left() : right());
</del><ins>+        return at(mapLogicalSideToPhysicalSide(writingMode, AfterSide));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     const T&amp; start(WritingMode writingMode, TextDirection direction = LTR) const
</span><span class="cx">     {
</span><del>-        return isHorizontalWritingMode(writingMode) ?
-            (isLeftToRightDirection(direction) ? left() : right()) :
-            (isLeftToRightDirection(direction) ? top() : bottom());
</del><ins>+        return at(mapLogicalSideToPhysicalSide(makeTextFlow(writingMode, direction), StartSide));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     const T&amp; end(WritingMode writingMode, TextDirection direction = LTR) const
</span><span class="cx">     {
</span><del>-        return isHorizontalWritingMode(writingMode) ?
-            (isLeftToRightDirection(direction) ? right() : left()) :
-            (isLeftToRightDirection(direction) ? bottom() : top());
</del><ins>+        return at(mapLogicalSideToPhysicalSide(makeTextFlow(writingMode, direction), EndSide));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void setBefore(const T&amp; before, WritingMode writingMode) { this-&gt;before(writingMode) = before; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsTextRunh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/TextRun.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/TextRun.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/platform/graphics/TextRun.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> #define TextRun_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;TextFlags.h&quot;
</span><ins>+#include &quot;WritingMode.h&quot;
</ins><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringView.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosSelectionRecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/SelectionRect.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/SelectionRect.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/platform/ios/SelectionRect.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> #define SelectionRect_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><del>-#include &quot;TextFlags.h&quot;
</del><ins>+#include &quot;WritingMode.h&quot;
</ins><span class="cx"> #include &lt;wtf/FastMalloc.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextBidiResolverh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/BidiResolver.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/BidiResolver.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/platform/text/BidiResolver.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BidiContext.h&quot;
</span><span class="cx"> #include &quot;BidiRunList.h&quot;
</span><del>-#include &quot;TextFlags.h&quot;
</del><ins>+#include &quot;WritingMode.h&quot;
</ins><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextStringWithDirectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/StringWithDirection.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/StringWithDirection.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/platform/text/StringWithDirection.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> #ifndef StringWithDirection_h
</span><span class="cx"> #define StringWithDirection_h
</span><span class="cx"> 
</span><del>-#include &quot;TextFlags.h&quot;
</del><ins>+#include &quot;WritingMode.h&quot;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextTextFlagsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/TextFlags.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/TextFlags.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/platform/text/TextFlags.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -28,8 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-enum TextDirection { RTL, LTR };
-
</del><span class="cx"> enum TextRenderingMode { AutoTextRendering, OptimizeSpeed, OptimizeLegibility, GeometricPrecision };
</span><span class="cx"> 
</span><span class="cx"> enum FontSmoothingMode { AutoSmoothing, NoSmoothing, Antialiased, SubpixelAntialiased };
</span><span class="lines">@@ -42,8 +40,6 @@
</span><span class="cx"> 
</span><span class="cx"> enum NonCJKGlyphOrientation { NonCJKGlyphOrientationVerticalRight, NonCJKGlyphOrientationUpright };
</span><span class="cx"> 
</span><del>-inline bool isLeftToRightDirection(TextDirection direction) { return direction == LTR; }
-
</del><span class="cx"> // Here, &quot;Leading&quot; and &quot;Trailing&quot; are relevant after the line has been rearranged for bidi.
</span><span class="cx"> // (&quot;Leading&quot; means &quot;left&quot; and &quot;Trailing&quot; means &quot;right.&quot;)
</span><span class="cx"> enum ExpansionBehaviorFlags {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextWritingModeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/WritingMode.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/WritingMode.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/platform/text/WritingMode.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (c) 2012, Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2015, Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions are
</span><span class="lines">@@ -33,28 +34,85 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+enum TextDirection { LTR, RTL };
+
+inline bool isLeftToRightDirection(TextDirection direction)
+{
+    return direction == LTR;
+}
+
</ins><span class="cx"> enum WritingMode {
</span><del>-    TopToBottomWritingMode, RightToLeftWritingMode, LeftToRightWritingMode, BottomToTopWritingMode
</del><ins>+    TopToBottomWritingMode = 0, // horizontal-tb
+    BottomToTopWritingMode = 1, // horizontal-bt
+    LeftToRightWritingMode = 2, // vertical-lr
+    RightToLeftWritingMode = 3, // vertical-rl
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+#define MAKE_TEXT_FLOW(writingMode, direction)  ((writingMode) &lt;&lt; 1 | (direction))
+
+// Define the text flow in terms of the writing mode and the text direction. The first
+// part is the line growing direction and the second part is the block growing direction.
+enum TextFlow {
+    InlineEastBlockSouth = MAKE_TEXT_FLOW(TopToBottomWritingMode, LTR),
+    InlineWestBlockSouth = MAKE_TEXT_FLOW(TopToBottomWritingMode, RTL),
+    InlineEastBlockNorth = MAKE_TEXT_FLOW(BottomToTopWritingMode, LTR),
+    InlineWestBlockNorth = MAKE_TEXT_FLOW(BottomToTopWritingMode, RTL),
+    InlineSouthBlockEast = MAKE_TEXT_FLOW(LeftToRightWritingMode, LTR),
+    InlineSouthBlockWest = MAKE_TEXT_FLOW(LeftToRightWritingMode, RTL),
+    InlineNorthBlockEast = MAKE_TEXT_FLOW(RightToLeftWritingMode, LTR),
+    InlineNorthBlockWest = MAKE_TEXT_FLOW(RightToLeftWritingMode, RTL)
+};
+
+inline TextFlow makeTextFlow(WritingMode writingMode, TextDirection direction)
+{
+    return static_cast&lt;TextFlow&gt;(MAKE_TEXT_FLOW(writingMode, direction));
+}
+
+#undef MAKE_TEXT_FLOW
+
+const unsigned TextFlowReversedMask = 1;
+const unsigned TextFlowFlippedMask = 2;
+const unsigned TextFlowVerticalMask = 4;
+
+inline bool isReversedTextFlow(TextFlow textflow)
+{
+    return textflow &amp; TextFlowReversedMask;
+}
+
+inline bool isFlippedTextFlow(TextFlow textflow)
+{
+    return textflow &amp; TextFlowFlippedMask;
+}
+
+inline bool isVerticalTextFlow(TextFlow textflow)
+{
+    return textflow &amp; TextFlowVerticalMask;
+}
+
+// Lines have vertical orientation; modes vertical-lr or vertical-rl.
+inline bool isVerticalWritingMode(WritingMode writingMode)
+{
+    return isVerticalTextFlow(makeTextFlow(writingMode, LTR));
+}
+
+// Block progression increases in the opposite direction to normal; modes vertical-rl or horizontal-bt.
+inline bool isFlippedWritingMode(WritingMode writingMode)
+{
+    return isFlippedTextFlow(makeTextFlow(writingMode, LTR));
+}
+
</ins><span class="cx"> // Lines have horizontal orientation; modes horizontal-tb or horizontal-bt.
</span><span class="cx"> inline bool isHorizontalWritingMode(WritingMode writingMode)
</span><span class="cx"> {
</span><del>-    return writingMode == TopToBottomWritingMode || writingMode == BottomToTopWritingMode;
</del><ins>+    return !isVerticalWritingMode(writingMode);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Bottom of the line occurs earlier in the block; modes vertical-lr or horizontal-bt.
</span><span class="cx"> inline bool isFlippedLinesWritingMode(WritingMode writingMode)
</span><span class="cx"> {
</span><del>-    return writingMode == LeftToRightWritingMode || writingMode == BottomToTopWritingMode;
</del><ins>+    return isVerticalWritingMode(writingMode) != isFlippedWritingMode(writingMode);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-// Block progression increases in the opposite direction to normal; modes vertical-rl or horizontal-bt.
-inline bool isFlippedBlocksWritingMode(WritingMode writingMode)
-{
-    return writingMode == RightToLeftWritingMode || writingMode == BottomToTopWritingMode;
-}
-
</del><span class="cx"> enum LogicalBoxSide {
</span><span class="cx">     BeforeSide,
</span><span class="cx">     EndSide,
</span><span class="lines">@@ -70,6 +128,45 @@
</span><span class="cx">     LeftSide
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+inline bool isHorizontalPhysicalSide(PhysicalBoxSide physicalSide)
+{
+    return physicalSide == LeftSide || physicalSide == RightSide;
+}
+
+inline PhysicalBoxSide mirrorPhysicalSide(PhysicalBoxSide physicalSide)
+{
+    // top &lt;-&gt; bottom and left &lt;-&gt; right conversion
+    return static_cast&lt;PhysicalBoxSide&gt;((static_cast&lt;int&gt;(physicalSide) + 2) % 4);
+}
+
+inline PhysicalBoxSide rotatePhysicalSide(PhysicalBoxSide physicalSide)
+{
+    // top &lt;-&gt; left and right &lt;-&gt; bottom conversion
+    bool horizontalSide = isHorizontalPhysicalSide(physicalSide);
+    return static_cast&lt;PhysicalBoxSide&gt;((static_cast&lt;int&gt;(physicalSide) + (horizontalSide ? 1 : 3)) % 4);
+}
+
+inline PhysicalBoxSide mapLogicalSideToPhysicalSide(TextFlow textflow, LogicalBoxSide logicalSide)
+{
+    PhysicalBoxSide physicalSide = static_cast&lt;PhysicalBoxSide&gt;(logicalSide);
+    bool horizontalSide = isHorizontalPhysicalSide(physicalSide);
+
+    if (isVerticalTextFlow(textflow))
+        physicalSide = rotatePhysicalSide(physicalSide);
+
+    if ((horizontalSide &amp;&amp; isReversedTextFlow(textflow)) || (!horizontalSide &amp;&amp; isFlippedTextFlow(textflow)))
+        physicalSide = mirrorPhysicalSide(physicalSide);
+
+    return physicalSide;
+}
+
+inline PhysicalBoxSide mapLogicalSideToPhysicalSide(WritingMode writingMode, LogicalBoxSide logicalSide)
+{
+    // Set the direction such that side is mirrored if isFlippedWritingMode() is true
+    TextDirection direction = isFlippedWritingMode(writingMode) ? RTL : LTR;
+    return mapLogicalSideToPhysicalSide(makeTextFlow(writingMode, direction), logicalSide);
+}
+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // WritingMode_h
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMultiColumnSetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -799,7 +799,7 @@
</span><span class="cx">             else
</span><span class="cx">                 blockOffset -= i * (computedColumnHeight() + colGap);
</span><span class="cx">         }
</span><del>-        if (isFlippedBlocksWritingMode(style().writingMode()))
</del><ins>+        if (isFlippedWritingMode(style().writingMode()))
</ins><span class="cx">             blockOffset = -blockOffset;
</span><span class="cx">         translationOffset.setHeight(blockOffset);
</span><span class="cx">         if (!isHorizontalWritingMode())
</span><span class="lines">@@ -851,7 +851,7 @@
</span><span class="cx">         else
</span><span class="cx">             blockOffset -= startColumn * (computedColumnHeight() + colGap);
</span><span class="cx">     }
</span><del>-    if (isFlippedBlocksWritingMode(style().writingMode()))
</del><ins>+    if (isFlippedWritingMode(style().writingMode()))
</ins><span class="cx">         blockOffset = -blockOffset;
</span><span class="cx">     translationOffset.setY(blockOffset);
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingshapesShapecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/shapes/Shape.cpp (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/shapes/Shape.cpp        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/rendering/shapes/Shape.cpp        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (isHorizontalWritingMode(writingMode))
</span><span class="cx">         return rect;
</span><del>-    if (isFlippedBlocksWritingMode(writingMode))
</del><ins>+    if (isFlippedWritingMode(writingMode))
</ins><span class="cx">         return FloatRect(rect.y(), logicalBoxHeight - rect.maxX(), rect.height(), rect.width());
</span><span class="cx">     return rect.transposedRect();
</span><span class="cx"> }
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (isHorizontalWritingMode(writingMode))
</span><span class="cx">         return point;
</span><del>-    if (isFlippedBlocksWritingMode(writingMode))
</del><ins>+    if (isFlippedWritingMode(writingMode))
</ins><span class="cx">         return FloatPoint(point.y(), logicalBoxHeight - point.x());
</span><span class="cx">     return point.transposedPoint();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -1136,7 +1136,7 @@
</span><span class="cx">     WritingMode writingMode() const { return static_cast&lt;WritingMode&gt;(inherited_flags.m_writingMode); }
</span><span class="cx">     bool isHorizontalWritingMode() const { return WebCore::isHorizontalWritingMode(writingMode()); }
</span><span class="cx">     bool isFlippedLinesWritingMode() const { return WebCore::isFlippedLinesWritingMode(writingMode()); }
</span><del>-    bool isFlippedBlocksWritingMode() const { return WebCore::isFlippedBlocksWritingMode(writingMode()); }
</del><ins>+    bool isFlippedBlocksWritingMode() const { return WebCore::isFlippedWritingMode(writingMode()); }
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_IMAGE_ORIENTATION)
</span><span class="cx">     ImageOrientationEnum imageOrientation() const { return static_cast&lt;ImageOrientationEnum&gt;(rareInheritedData-&gt;m_imageOrientation); }
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebKit2/ChangeLog        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2015-05-28  Said Abou-Hallawa  &lt;sabouhallawa@apple.com&gt;
+
+        Code clean up for extracting information from the mix of WritingMode and TextDirection
+        https://bugs.webkit.org/show_bug.cgi?id=143399
+
+        Reviewed by Darin Adler.
+
+        * Shared/WebPopupItem.h:
+        * UIProcess/API/C/efl/WKAPICastEfl.h:
+        * UIProcess/WebPopupMenuProxy.h:
+        enum TextDirection is moved from TextFlags.h to WritingMode.h. So include
+        WritingMode.h instead of including TextFlags.h.
+
</ins><span class="cx"> 2015-05-28  Antti Koivisto  &lt;antti@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Disable network cache for old clients
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebPopupItemh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPopupItem.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPopupItem.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebKit2/Shared/WebPopupItem.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #ifndef WebPopupItem_h
</span><span class="cx"> #define WebPopupItem_h
</span><span class="cx"> 
</span><del>-#include &lt;WebCore/TextFlags.h&gt;
</del><ins>+#include &lt;WebCore/WritingMode.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace IPC {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICeflWKAPICastEflh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx"> #error &quot;Please #include \&quot;WKAPICast.h\&quot; instead of this file directly.&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#include &lt;WebCore/TextFlags.h&gt;
</del><ins>+#include &lt;WebCore/WritingMode.h&gt;
</ins><span class="cx"> #include &lt;WebKit/WKPopupItem.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPopupMenuProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPopupMenuProxy.h (184961 => 184962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPopupMenuProxy.h        2015-05-28 21:05:26 UTC (rev 184961)
+++ trunk/Source/WebKit2/UIProcess/WebPopupMenuProxy.h        2015-05-28 21:55:32 UTC (rev 184962)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #ifndef WebPopupMenuProxy_h
</span><span class="cx"> #define WebPopupMenuProxy_h
</span><span class="cx"> 
</span><del>-#include &lt;WebCore/TextFlags.h&gt;
</del><ins>+#include &lt;WebCore/WritingMode.h&gt;
</ins><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span></span></pre>
</div>
</div>

</body>
</html>