Diff
Modified: branches/safari-537.73-branch/LayoutTests/ChangeLog (158163 => 158164)
--- branches/safari-537.73-branch/LayoutTests/ChangeLog 2013-10-29 02:58:43 UTC (rev 158163)
+++ branches/safari-537.73-branch/LayoutTests/ChangeLog 2013-10-29 03:05:08 UTC (rev 158164)
@@ -1,5 +1,21 @@
2013-10-28 Lucas Forschler <[email protected]>
+ Merge r155554
+
+ 2013-09-11 Myles C. Maxfield <[email protected]>
+
+ Fix nested unicode-bidi: isolate
+ https://bugs.webkit.org/show_bug.cgi?id=120504
+
+ Reviewed by Darin Adler.
+
+ * fast/text/international/unicode-bidi-isolate-nested-first-child-text-expected.html: Added.
+ * fast/text/international/unicode-bidi-isolate-nested-first-child-text.html: Added.
+ * fast/text/international/unicode-bidi-isolate-nested-simple-expected.html: Added.
+ * fast/text/international/unicode-bidi-isolate-nested-simple.html: Added.
+
+2013-10-28 Lucas Forschler <[email protected]>
+
Merge r155665
2013-09-12 Tim Horton <[email protected]>
Copied: branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text-expected.html (from rev 155554, trunk/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text-expected.html) (0 => 158164)
--- branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text-expected.html (rev 0)
+++ branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text-expected.html 2013-10-29 03:05:08 UTC (rev 158164)
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ </head>
+ <body>
+ <span>First Text
+ <span>א-></span>Second Text
+ <span>א-<</span>
+ </span>
+ </body>
+</html>
Copied: branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text.html (from rev 155554, trunk/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text.html) (0 => 158164)
--- branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text.html (rev 0)
+++ branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text.html 2013-10-29 03:05:08 UTC (rev 158164)
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <style>
+ .isolate {
+ unicode-bidi: -webkit-isolate;
+ }
+ </style>
+ </head>
+ <body>
+ <span class="isolate">First Text
+ <span class="isolate">א-></span>Second Text
+ <span class="isolate">א-<</span>
+ </span>
+ </body>
+</html>
Copied: branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple-expected.html (from rev 155554, trunk/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple-expected.html) (0 => 158164)
--- branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple-expected.html (rev 0)
+++ branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple-expected.html 2013-10-29 03:05:08 UTC (rev 158164)
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ </style>
+ </head>
+ <body>
+ <span><span>א-></span>Text</span>
+ </body>
+</html>
Copied: branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple.html (from rev 155554, trunk/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple.html) (0 => 158164)
--- branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple.html (rev 0)
+++ branches/safari-537.73-branch/LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple.html 2013-10-29 03:05:08 UTC (rev 158164)
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <style>
+ .isolate {
+ unicode-bidi: -webkit-isolate;
+ }
+ </style>
+ </head>
+ <body>
+ <span class="isolate"><span class="isolate">א-></span>Text</span>
+ </body>
+</html>
Modified: branches/safari-537.73-branch/Source/WebCore/ChangeLog (158163 => 158164)
--- branches/safari-537.73-branch/Source/WebCore/ChangeLog 2013-10-29 02:58:43 UTC (rev 158163)
+++ branches/safari-537.73-branch/Source/WebCore/ChangeLog 2013-10-29 03:05:08 UTC (rev 158164)
@@ -1,5 +1,33 @@
2013-10-28 Lucas Forschler <[email protected]>
+ Merge r155554
+
+ 2013-09-11 Myles C. Maxfield <[email protected]>
+
+ Fix nested unicode-bidi: isolate
+ https://bugs.webkit.org/show_bug.cgi?id=120504
+
+ Reviewed by Darin Adler.
+
+ When we have a nested isolate renderer if the outer isolate has a text
+ and this text is not the first child, the isolated chain is not
+ rendered correctly. This happens because constructBidiRunsForSegment
+ uses always the first inner isolated renderer as isolated inline
+ container. This patch fixes the behavior described changing
+ containingIsolate to find the right isolated container.
+
+ Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/840a57050eade39dd04dde0c6603e129b783151c
+
+ Tests: fast/text/international/unicode-bidi-isolate-nested-first-child-text.html
+ fast/text/international/unicode-bidi-isolate-nested-simple.html
+
+ * rendering/InlineIterator.h:
+ (WebCore::containingIsolate):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::constructBidiRunsForSegment):
+
+2013-10-28 Lucas Forschler <[email protected]>
+
Merge r155665
2013-09-12 Tim Horton <[email protected]>
Modified: branches/safari-537.73-branch/Source/WebCore/rendering/InlineIterator.h (158163 => 158164)
--- branches/safari-537.73-branch/Source/WebCore/rendering/InlineIterator.h 2013-10-29 02:58:43 UTC (rev 158163)
+++ branches/safari-537.73-branch/Source/WebCore/rendering/InlineIterator.h 2013-10-29 03:05:08 UTC (rev 158164)
@@ -420,12 +420,17 @@
static inline RenderObject* containingIsolate(RenderObject* object, RenderObject* root)
{
ASSERT(object);
+ RenderObject* containingIsolateObject = 0;
while (object && object != root) {
+ if (containingIsolateObject && !isIsolatedInline(object))
+ break;
+
if (isIsolatedInline(object))
- return object;
+ containingIsolateObject = object;
+
object = object->parent();
}
- return 0;
+ return containingIsolateObject;
}
static inline unsigned numberOfIsolateAncestors(const InlineIterator& iter)
Modified: branches/safari-537.73-branch/Source/WebCore/rendering/RenderBlockLineLayout.cpp (158163 => 158164)
--- branches/safari-537.73-branch/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2013-10-29 02:58:43 UTC (rev 158163)
+++ branches/safari-537.73-branch/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2013-10-29 03:05:08 UTC (rev 158164)
@@ -1351,6 +1351,7 @@
if (!isolatedResolver.isolatedRuns().isEmpty()) {
topResolver.isolatedRuns().appendVector(isolatedResolver.isolatedRuns());
isolatedResolver.isolatedRuns().clear();
+ currentRoot = isolatedInline;
}
}
}