[BiDi] Add support for the BDI element
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Sep 2011 00:34:59 +0000 (00:34 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Sep 2011 00:34:59 +0000 (00:34 +0000)
https://bugs.webkit.org/show_bug.cgi?id=50913

Reviewed by Ryosuke Niwa.

Source/WebCore:

This patch is ridiculously trivial now that we have unicode-bidi: isolate support in WebKit.

Test: css3/bdi-element.html

* css/html.css:
(bdi):

LayoutTests:

* css3/bdi-element.html: Added.
* platform/mac/css3/bdi-element-expected.png: Added.
* platform/mac/css3/bdi-element-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@94822 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/css3/bdi-element.html [new file with mode: 0644]
LayoutTests/platform/mac/css3/bdi-element-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/css3/bdi-element-expected.txt [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/css/html.css

index c344408..0800e5d 100644 (file)
@@ -1,3 +1,14 @@
+2011-09-08  Eric Seidel  <eric@webkit.org>
+
+        [BiDi] Add support for the BDI element
+        https://bugs.webkit.org/show_bug.cgi?id=50913
+
+        Reviewed by Ryosuke Niwa.
+
+        * css3/bdi-element.html: Added.
+        * platform/mac/css3/bdi-element-expected.png: Added.
+        * platform/mac/css3/bdi-element-expected.txt: Added.
+
 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
 
         Unreviewed, rolling out r94809.
diff --git a/LayoutTests/css3/bdi-element.html b/LayoutTests/css3/bdi-element.html
new file mode 100644 (file)
index 0000000..d4ef2cd
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</head>
+<body>
+<p>
+  From WebKit <a href='https://bugs.webkit.org/show_bug.cgi?id=50913'>bug 50913</a>
+</p>
+<p>
+In this example, usernames are shown along with the number of posts that the user has submitted. If the bdi element were not used, the username of the Arabic user would end up confusing the text (the bidirectional algorithm would put the colon and the number "3" next to the word "User" rather than next to the word "posts").
+</p>
+<ul>
+ <li>User <bdi>jcranmer</bdi>: 12 posts.
+ <li>User <bdi>hober</bdi>: 5 posts.
+ <li>User <bdi>إيان</bdi>: 3 posts.
+</ul>
+</body>
+</html>
diff --git a/LayoutTests/platform/mac/css3/bdi-element-expected.png b/LayoutTests/platform/mac/css3/bdi-element-expected.png
new file mode 100644 (file)
index 0000000..5db7a47
Binary files /dev/null and b/LayoutTests/platform/mac/css3/bdi-element-expected.png differ
diff --git a/LayoutTests/platform/mac/css3/bdi-element-expected.txt b/LayoutTests/platform/mac/css3/bdi-element-expected.txt
new file mode 100644 (file)
index 0000000..9216e22
--- /dev/null
@@ -0,0 +1,45 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x193
+  RenderBlock {HTML} at (0,0) size 800x193
+    RenderBody {BODY} at (8,16) size 784x161
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 92x18
+          text run at (0,0) width 92: "From WebKit "
+        RenderInline {A} at (0,0) size 68x18 [color=#0000EE]
+          RenderText {#text} at (92,0) size 68x18
+            text run at (92,0) width 68: "bug 50913"
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {P} at (0,34) size 784x54
+        RenderText {#text} at (0,0) size 772x54
+          text run at (0,0) width 761: "In this example, usernames are shown along with the number of posts that the user has submitted. If the bdi element were"
+          text run at (0,18) width 772: "not used, the username of the Arabic user would end up confusing the text (the bidirectional algorithm would put the colon"
+          text run at (0,36) width 516: "and the number \"3\" next to the word \"User\" rather than next to the word \"posts\")."
+      RenderBlock {UL} at (0,104) size 784x57
+        RenderListItem {LI} at (40,0) size 744x18
+          RenderListMarker at (-17,0) size 7x18: bullet
+          RenderText {#text} at (0,0) size 34x18
+            text run at (0,0) width 34: "User "
+          RenderInline {BDI} at (0,0) size 55x18
+            RenderText {#text} at (34,0) size 55x18
+              text run at (34,0) width 55: "jcranmer"
+          RenderText {#text} at (89,0) size 64x18
+            text run at (89,0) width 64: ": 12 posts."
+        RenderListItem {LI} at (40,18) size 744x18
+          RenderListMarker at (-17,0) size 7x18: bullet
+          RenderText {#text} at (0,0) size 34x18
+            text run at (0,0) width 34: "User "
+          RenderInline {BDI} at (0,0) size 36x18
+            RenderText {#text} at (34,0) size 36x18
+              text run at (34,0) width 36: "hober"
+          RenderText {#text} at (70,0) size 56x18
+            text run at (70,0) width 56: ": 5 posts."
+        RenderListItem {LI} at (40,36) size 744x21
+          RenderListMarker at (-17,1) size 7x18: bullet
+          RenderText {#text} at (0,1) size 34x18
+            text run at (0,1) width 34: "User "
+          RenderInline {BDI} at (0,0) size 24x18
+            RenderText {#text} at (34,1) size 24x18
+              text run at (34,1) width 24 RTL: "\x{625}\x{64A}\x{627}\x{646}"
+          RenderText {#text} at (58,1) size 56x18
+            text run at (58,1) width 56: ": 3 posts."
index bcfa59d..4df9301 100644 (file)
@@ -1,3 +1,17 @@
+2011-09-08  Eric Seidel  <eric@webkit.org>
+
+        [BiDi] Add support for the BDI element
+        https://bugs.webkit.org/show_bug.cgi?id=50913
+
+        Reviewed by Ryosuke Niwa.
+
+        This patch is ridiculously trivial now that we have unicode-bidi: isolate support in WebKit.
+
+        Test: css3/bdi-element.html
+
+        * css/html.css:
+        (bdi):
+
 2011-09-08  David Levin  <levin@chromium.org>
 
         [chromium] KURL::copy doesn't produce something usable on another thread.
index 58fb989..8d20159 100644 (file)
@@ -992,6 +992,10 @@ summary::-webkit-details-marker {
     margin-right: 0.4em;
 }
 
+bdi {
+    unicode-bidi: -webkit-isolate;
+}
+
 /* page */
 
 @page {