<!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>[202057] trunk</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/202057">202057</a></dd>
<dt>Author</dt> <dd>mmaxfield@apple.com</dd>
<dt>Date</dt> <dd>2016-06-14 11:59:48 -0700 (Tue, 14 Jun 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Honor bidi unicode codepoints
https://bugs.webkit.org/show_bug.cgi?id=149170
&lt;rdar://problem/26527378&gt;

Reviewed by Simon Fraser.

Source/WebCore:

BidiResolver doesn't have any concept of isolate Unicode code points, so produces
unexpected output when they are present. Fix by considering such code points as
whitespace in the bidi algorithm. This is a stop-gap measure until we can support
the codepoints fully in our Bidi algorithm.

Test: fast/text/isolate-ignore.html

* platform/graphics/Font.cpp:
(WebCore::createAndFillGlyphPage):
* platform/text/BidiResolver.h:
(WebCore::Subclass&gt;::createBidiRunsForLine):

Source/WTF:

* wtf/unicode/CharacterNames.h:

LayoutTests:

* fast/text/isolate-ignore-expected.html: Added.
* fast/text/isolate-ignore.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfunicodeCharacterNamesh">trunk/Source/WTF/wtf/unicode/CharacterNames.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontcpp">trunk/Source/WebCore/platform/graphics/Font.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformtextBidiResolverh">trunk/Source/WebCore/platform/text/BidiResolver.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfasttextisolateignoreexpectedhtml">trunk/LayoutTests/fast/text/isolate-ignore-expected.html</a></li>
<li><a href="#trunkLayoutTestsfasttextisolateignorehtml">trunk/LayoutTests/fast/text/isolate-ignore.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (202056 => 202057)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-06-14 18:51:44 UTC (rev 202056)
+++ trunk/LayoutTests/ChangeLog        2016-06-14 18:59:48 UTC (rev 202057)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2016-06-14  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Honor bidi unicode codepoints
+        https://bugs.webkit.org/show_bug.cgi?id=149170
+        &lt;rdar://problem/26527378&gt;
+
+        Reviewed by Simon Fraser.
+
+        * fast/text/isolate-ignore-expected.html: Added.
+        * fast/text/isolate-ignore.html: Added.
+
</ins><span class="cx"> 2016-06-14  Ryan Haddad  &lt;ryanhaddad@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Removing duplicated TestExpectation and sorting others alphabetically
</span></span></pre></div>
<a id="trunkLayoutTestsfasttextisolateignoreexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/text/isolate-ignore-expected.html (0 => 202057)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/text/isolate-ignore-expected.html                                (rev 0)
+++ trunk/LayoutTests/fast/text/isolate-ignore-expected.html        2016-06-14 18:59:48 UTC (rev 202057)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;body&gt;
+This test makes sure that isolate codepoints are ignored.
+&lt;div dir=&quot;ltr&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;English &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; English&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfasttextisolateignorehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/text/isolate-ignore.html (0 => 202057)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/text/isolate-ignore.html                                (rev 0)
+++ trunk/LayoutTests/fast/text/isolate-ignore.html        2016-06-14 18:59:48 UTC (rev 202057)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;body&gt;
+This test makes sure that isolate codepoints are ignored.
+&lt;div dir=&quot;ltr&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; &amp;#x2068;English&amp;#x2069; &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;English &amp;#x2068;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&amp;#x2069; English&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; &amp;#x2068;English&amp;#x2069; &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;English &amp;#x2068;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&amp;#x2069; English&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; &amp;#x2066;English&amp;#x2069; &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;English &amp;#x2066;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&amp;#x2069; English&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; &amp;#x2066;English&amp;#x2069; &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;English &amp;#x2066;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&amp;#x2069; English&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; &amp;#x2067;English&amp;#x2069; &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;ltr&quot;&gt;English &amp;#x2067;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&amp;#x2069; English&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea; &amp;#x2067;English&amp;#x2069; &amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&lt;/div&gt;
+&lt;div dir=&quot;rtl&quot;&gt;English &amp;#x2067;&amp;#x05e2;&amp;#x05d1;&amp;#x05e8;&amp;#x05d9;&amp;#x05ea;&amp;#x2069; English&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (202056 => 202057)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2016-06-14 18:51:44 UTC (rev 202056)
+++ trunk/Source/WTF/ChangeLog        2016-06-14 18:59:48 UTC (rev 202057)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2016-06-14  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Honor bidi unicode codepoints
+        https://bugs.webkit.org/show_bug.cgi?id=149170
+        &lt;rdar://problem/26527378&gt;
+
+        Reviewed by Simon Fraser.
+
+        * wtf/unicode/CharacterNames.h:
+
</ins><span class="cx"> 2016-06-13  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Add WebSocketProvider stub
</span></span></pre></div>
<a id="trunkSourceWTFwtfunicodeCharacterNamesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/unicode/CharacterNames.h (202056 => 202057)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/unicode/CharacterNames.h        2016-06-14 18:51:44 UTC (rev 202056)
+++ trunk/Source/WTF/wtf/unicode/CharacterNames.h        2016-06-14 18:59:48 UTC (rev 202057)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx"> const UChar carriageReturn = 0x000D;
</span><span class="cx"> const UChar ethiopicPrefaceColon = 0x1366;
</span><span class="cx"> const UChar ethiopicWordspace = 0x1361;
</span><ins>+const UChar firstStrongIsolate = 0x2068;
</ins><span class="cx"> const UChar fisheye = 0x25C9;
</span><span class="cx"> const UChar quotationMark = 0x0022;
</span><span class="cx"> const UChar hebrewPunctuationGeresh = 0x05F3;
</span><span class="lines">@@ -62,6 +63,7 @@
</span><span class="cx"> const UChar leftDoubleQuotationMark = 0x201C;
</span><span class="cx"> const UChar leftSingleQuotationMark = 0x2018;
</span><span class="cx"> const UChar leftToRightEmbed = 0x202A;
</span><ins>+const UChar leftToRightIsolate = 0x2066;
</ins><span class="cx"> const UChar leftToRightMark = 0x200E;
</span><span class="cx"> const UChar leftToRightOverride = 0x202D;
</span><span class="cx"> const UChar minusSign = 0x2212;
</span><span class="lines">@@ -70,10 +72,12 @@
</span><span class="cx"> const UChar noBreakSpace = 0x00A0;
</span><span class="cx"> const UChar objectReplacementCharacter = 0xFFFC;
</span><span class="cx"> const UChar popDirectionalFormatting = 0x202C;
</span><ins>+const UChar popDirectionalIsolate = 0x2069;
</ins><span class="cx"> const UChar replacementCharacter = 0xFFFD;
</span><span class="cx"> const UChar rightDoubleQuotationMark = 0x201D;
</span><span class="cx"> const UChar rightSingleQuotationMark = 0x2019;
</span><span class="cx"> const UChar rightToLeftEmbed = 0x202B;
</span><ins>+const UChar rightToLeftIsolate = 0x2067;
</ins><span class="cx"> const UChar rightToLeftMark = 0x200F;
</span><span class="cx"> const UChar rightToLeftOverride = 0x202E;
</span><span class="cx"> const UChar sesameDot = 0xFE45;
</span><span class="lines">@@ -107,6 +111,7 @@
</span><span class="cx"> using WTF::Unicode::carriageReturn;
</span><span class="cx"> using WTF::Unicode::ethiopicPrefaceColon;
</span><span class="cx"> using WTF::Unicode::ethiopicWordspace;
</span><ins>+using WTF::Unicode::firstStrongIsolate;
</ins><span class="cx"> using WTF::Unicode::fisheye;
</span><span class="cx"> using WTF::Unicode::hebrewPunctuationGeresh;
</span><span class="cx"> using WTF::Unicode::hebrewPunctuationGershayim;
</span><span class="lines">@@ -120,6 +125,7 @@
</span><span class="cx"> using WTF::Unicode::leftDoubleQuotationMark;
</span><span class="cx"> using WTF::Unicode::leftSingleQuotationMark;
</span><span class="cx"> using WTF::Unicode::leftToRightEmbed;
</span><ins>+using WTF::Unicode::leftToRightIsolate;
</ins><span class="cx"> using WTF::Unicode::leftToRightMark;
</span><span class="cx"> using WTF::Unicode::leftToRightOverride;
</span><span class="cx"> using WTF::Unicode::minusSign;
</span><span class="lines">@@ -128,10 +134,12 @@
</span><span class="cx"> using WTF::Unicode::noBreakSpace;
</span><span class="cx"> using WTF::Unicode::objectReplacementCharacter;
</span><span class="cx"> using WTF::Unicode::popDirectionalFormatting;
</span><ins>+using WTF::Unicode::popDirectionalIsolate;
</ins><span class="cx"> using WTF::Unicode::replacementCharacter;
</span><span class="cx"> using WTF::Unicode::rightDoubleQuotationMark;
</span><span class="cx"> using WTF::Unicode::rightSingleQuotationMark;
</span><span class="cx"> using WTF::Unicode::rightToLeftEmbed;
</span><ins>+using WTF::Unicode::rightToLeftIsolate;
</ins><span class="cx"> using WTF::Unicode::rightToLeftMark;
</span><span class="cx"> using WTF::Unicode::rightToLeftOverride;
</span><span class="cx"> using WTF::Unicode::sesameDot;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (202056 => 202057)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-06-14 18:51:44 UTC (rev 202056)
+++ trunk/Source/WebCore/ChangeLog        2016-06-14 18:59:48 UTC (rev 202057)
</span><span class="lines">@@ -1,3 +1,23 @@
</span><ins>+2016-06-14  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Honor bidi unicode codepoints
+        https://bugs.webkit.org/show_bug.cgi?id=149170
+        &lt;rdar://problem/26527378&gt;
+
+        Reviewed by Simon Fraser.
+
+        BidiResolver doesn't have any concept of isolate Unicode code points, so produces
+        unexpected output when they are present. Fix by considering such code points as
+        whitespace in the bidi algorithm. This is a stop-gap measure until we can support
+        the codepoints fully in our Bidi algorithm.
+
+        Test: fast/text/isolate-ignore.html
+
+        * platform/graphics/Font.cpp:
+        (WebCore::createAndFillGlyphPage):
+        * platform/text/BidiResolver.h:
+        (WebCore::Subclass&gt;::createBidiRunsForLine):
+
</ins><span class="cx"> 2016-06-14  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r200455.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Font.cpp (202056 => 202057)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Font.cpp        2016-06-14 18:51:44 UTC (rev 202056)
+++ trunk/Source/WebCore/platform/graphics/Font.cpp        2016-06-14 18:59:48 UTC (rev 202057)
</span><span class="lines">@@ -185,9 +185,13 @@
</span><span class="cx">             buffer[rightToLeftEmbed - start] = zeroWidthSpace;
</span><span class="cx">             buffer[leftToRightOverride - start] = zeroWidthSpace;
</span><span class="cx">             buffer[rightToLeftOverride - start] = zeroWidthSpace;
</span><ins>+            buffer[leftToRightIsolate - start] = zeroWidthSpace;
+            buffer[rightToLeftIsolate - start] = zeroWidthSpace;
</ins><span class="cx">             buffer[zeroWidthNonJoiner - start] = zeroWidthSpace;
</span><span class="cx">             buffer[zeroWidthJoiner - start] = zeroWidthSpace;
</span><span class="cx">             buffer[popDirectionalFormatting - start] = zeroWidthSpace;
</span><ins>+            buffer[popDirectionalIsolate - start] = zeroWidthSpace;
+            buffer[firstStrongIsolate - start] = zeroWidthSpace;
</ins><span class="cx">         } else if (start == (objectReplacementCharacter &amp; ~(GlyphPage::size - 1))) {
</span><span class="cx">             // Object replacement character must not render at all.
</span><span class="cx">             buffer[objectReplacementCharacter - start] = zeroWidthSpace;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextBidiResolverh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/BidiResolver.h (202056 => 202057)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/BidiResolver.h        2016-06-14 18:51:44 UTC (rev 202056)
+++ trunk/Source/WebCore/platform/text/BidiResolver.h        2016-06-14 18:59:48 UTC (rev 202057)
</span><span class="lines">@@ -632,7 +632,7 @@
</span><span class="cx"> 
</span><span class="cx">         // We ignore all character directionality while in unicode-bidi: isolate spans.
</span><span class="cx">         // We'll handle ordering the isolated characters in a second pass.
</span><del>-        if (inIsolate())
</del><ins>+        if (inIsolate() || dirCurrent == U_FIRST_STRONG_ISOLATE || dirCurrent == U_LEFT_TO_RIGHT_ISOLATE || dirCurrent == U_RIGHT_TO_LEFT_ISOLATE || dirCurrent == U_POP_DIRECTIONAL_ISOLATE)
</ins><span class="cx">             dirCurrent = U_OTHER_NEUTRAL;
</span><span class="cx"> 
</span><span class="cx">         ASSERT(m_status.eor != U_OTHER_NEUTRAL || m_eor.atEnd());
</span></span></pre>
</div>
</div>

</body>
</html>