Bug 28420 - Implement HTML5 <ruby> rendering
authorrolandsteiner@chromium.org <rolandsteiner@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Nov 2009 03:26:29 +0000 (03:26 +0000)
committerrolandsteiner@chromium.org <rolandsteiner@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Nov 2009 03:26:29 +0000 (03:26 +0000)
(https://bugs.webkit.org/show_bug.cgi?id=28420)

Reviewed by Dave Hyatt.

First rudimentary implementation of HTML5 ruby rendering support - layout tests.

New layout tests: basic rendering:
* fast/ruby/ruby-empty-rt.html: Added.
* fast/ruby/ruby-length.html: Added.
* fast/ruby/ruby-run-break.html: Added.
* fast/ruby/ruby-runs-spans.html: Added.
* fast/ruby/ruby-runs.html: Added.
* fast/ruby/ruby-simple-rp.html: Added.
* fast/ruby/ruby-simple.html: Added.
* fast/ruby/ruby-trailing.html: Added.

New layout tests: DOM manipulation within <ruby>
* fast/ruby/rubyDOM-insert-rt.html: Added.
* fast/ruby/rubyDOM-insert-text1.html: Added.
* fast/ruby/rubyDOM-insert-text2.html: Added.
* fast/ruby/rubyDOM-insert-text3.html: Added.
* fast/ruby/rubyDOM-remove-rt1.html: Added.
* fast/ruby/rubyDOM-remove-rt2.html: Added.
* fast/ruby/rubyDOM-remove-text1.html: Added.
* fast/ruby/rubyDOM-remove-text2.html: Added.

New layout tests results:
* platform/mac/fast/ruby: Added.
* platform/mac/fast/ruby/ruby-empty-rt-expected.checksum: Added.
* platform/mac/fast/ruby/ruby-empty-rt-expected.png: Added.
* platform/mac/fast/ruby/ruby-empty-rt-expected.txt: Added.
* platform/mac/fast/ruby/ruby-length-expected.checksum: Added.
* platform/mac/fast/ruby/ruby-length-expected.png: Added.
* platform/mac/fast/ruby/ruby-length-expected.txt: Added.
* platform/mac/fast/ruby/ruby-run-break-expected.checksum: Added.
* platform/mac/fast/ruby/ruby-run-break-expected.png: Added.
* platform/mac/fast/ruby/ruby-run-break-expected.txt: Added.
* platform/mac/fast/ruby/ruby-runs-expected.checksum: Added.
* platform/mac/fast/ruby/ruby-runs-expected.png: Added.
* platform/mac/fast/ruby/ruby-runs-expected.txt: Added.
* platform/mac/fast/ruby/ruby-runs-spans-expected.checksum: Added.
* platform/mac/fast/ruby/ruby-runs-spans-expected.png: Added.
* platform/mac/fast/ruby/ruby-runs-spans-expected.txt: Added.
* platform/mac/fast/ruby/ruby-simple-expected.checksum: Added.
* platform/mac/fast/ruby/ruby-simple-expected.png: Added.
* platform/mac/fast/ruby/ruby-simple-expected.txt: Added.
* platform/mac/fast/ruby/ruby-simple-rp-expected.checksum: Added.
* platform/mac/fast/ruby/ruby-simple-rp-expected.png: Added.
* platform/mac/fast/ruby/ruby-simple-rp-expected.txt: Added.
* platform/mac/fast/ruby/ruby-trailing-expected.checksum: Added.
* platform/mac/fast/ruby/ruby-trailing-expected.png: Added.
* platform/mac/fast/ruby/ruby-trailing-expected.txt: Added.
* platform/mac/fast/ruby/rubyDOM-insert-rt-expected.checksum: Added.
* platform/mac/fast/ruby/rubyDOM-insert-rt-expected.png: Added.
* platform/mac/fast/ruby/rubyDOM-insert-rt-expected.txt: Added.
* platform/mac/fast/ruby/rubyDOM-insert-text1-expected.checksum: Added.
* platform/mac/fast/ruby/rubyDOM-insert-text1-expected.png: Added.
* platform/mac/fast/ruby/rubyDOM-insert-text1-expected.txt: Added.
* platform/mac/fast/ruby/rubyDOM-insert-text2-expected.checksum: Added.
* platform/mac/fast/ruby/rubyDOM-insert-text2-expected.png: Added.
* platform/mac/fast/ruby/rubyDOM-insert-text2-expected.txt: Added.
* platform/mac/fast/ruby/rubyDOM-insert-text3-expected.checksum: Added.
* platform/mac/fast/ruby/rubyDOM-insert-text3-expected.png: Added.
* platform/mac/fast/ruby/rubyDOM-insert-text3-expected.txt: Added.
* platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.checksum: Added.
* platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.png: Added.
* platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt: Added.
* platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.checksum: Added.
* platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.png: Added.
* platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.txt: Added.
* platform/mac/fast/ruby/rubyDOM-remove-text1-expected.checksum: Added.
* platform/mac/fast/ruby/rubyDOM-remove-text1-expected.png: Added.
* platform/mac/fast/ruby/rubyDOM-remove-text1-expected.txt: Added.
* platform/mac/fast/ruby/rubyDOM-remove-text2-expected.checksum: Added.
* platform/mac/fast/ruby/rubyDOM-remove-text2-expected.png: Added.
* platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt: Added.

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

65 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/ruby/ruby-empty-rt.html [new file with mode: 0644]
LayoutTests/fast/ruby/ruby-length.html [new file with mode: 0644]
LayoutTests/fast/ruby/ruby-run-break.html [new file with mode: 0644]
LayoutTests/fast/ruby/ruby-runs-spans.html [new file with mode: 0644]
LayoutTests/fast/ruby/ruby-runs.html [new file with mode: 0644]
LayoutTests/fast/ruby/ruby-simple-rp.html [new file with mode: 0644]
LayoutTests/fast/ruby/ruby-simple.html [new file with mode: 0644]
LayoutTests/fast/ruby/ruby-trailing.html [new file with mode: 0644]
LayoutTests/fast/ruby/rubyDOM-insert-rt.html [new file with mode: 0644]
LayoutTests/fast/ruby/rubyDOM-insert-text1.html [new file with mode: 0644]
LayoutTests/fast/ruby/rubyDOM-insert-text2.html [new file with mode: 0644]
LayoutTests/fast/ruby/rubyDOM-insert-text3.html [new file with mode: 0644]
LayoutTests/fast/ruby/rubyDOM-remove-rt1.html [new file with mode: 0644]
LayoutTests/fast/ruby/rubyDOM-remove-rt2.html [new file with mode: 0644]
LayoutTests/fast/ruby/rubyDOM-remove-text1.html [new file with mode: 0644]
LayoutTests/fast/ruby/rubyDOM-remove-text2.html [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-length-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-length-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-length-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt [new file with mode: 0644]

index b2bbb80..07ba4d9 100644 (file)
@@ -1,3 +1,83 @@
+2009-11-04  Roland Steiner  <rolandsteiner@chromium.org>
+
+        Reviewed by Dave Hyatt.
+
+        Bug 28420 -  Implement HTML5 <ruby> rendering
+        (https://bugs.webkit.org/show_bug.cgi?id=28420)
+
+        First rudimentary implementation of HTML5 ruby rendering support - layout tests.
+
+        New layout tests: basic rendering:
+        * fast/ruby/ruby-empty-rt.html: Added.
+        * fast/ruby/ruby-length.html: Added.
+        * fast/ruby/ruby-run-break.html: Added.
+        * fast/ruby/ruby-runs-spans.html: Added.
+        * fast/ruby/ruby-runs.html: Added.
+        * fast/ruby/ruby-simple-rp.html: Added.
+        * fast/ruby/ruby-simple.html: Added.
+        * fast/ruby/ruby-trailing.html: Added.
+        
+        New layout tests: DOM manipulation within <ruby>
+        * fast/ruby/rubyDOM-insert-rt.html: Added.
+        * fast/ruby/rubyDOM-insert-text1.html: Added.
+        * fast/ruby/rubyDOM-insert-text2.html: Added.
+        * fast/ruby/rubyDOM-insert-text3.html: Added.
+        * fast/ruby/rubyDOM-remove-rt1.html: Added.
+        * fast/ruby/rubyDOM-remove-rt2.html: Added.
+        * fast/ruby/rubyDOM-remove-text1.html: Added.
+        * fast/ruby/rubyDOM-remove-text2.html: Added.
+        
+        New layout tests results:
+        * platform/mac/fast/ruby: Added.
+        * platform/mac/fast/ruby/ruby-empty-rt-expected.checksum: Added.
+        * platform/mac/fast/ruby/ruby-empty-rt-expected.png: Added.
+        * platform/mac/fast/ruby/ruby-empty-rt-expected.txt: Added.
+        * platform/mac/fast/ruby/ruby-length-expected.checksum: Added.
+        * platform/mac/fast/ruby/ruby-length-expected.png: Added.
+        * platform/mac/fast/ruby/ruby-length-expected.txt: Added.
+        * platform/mac/fast/ruby/ruby-run-break-expected.checksum: Added.
+        * platform/mac/fast/ruby/ruby-run-break-expected.png: Added.
+        * platform/mac/fast/ruby/ruby-run-break-expected.txt: Added.
+        * platform/mac/fast/ruby/ruby-runs-expected.checksum: Added.
+        * platform/mac/fast/ruby/ruby-runs-expected.png: Added.
+        * platform/mac/fast/ruby/ruby-runs-expected.txt: Added.
+        * platform/mac/fast/ruby/ruby-runs-spans-expected.checksum: Added.
+        * platform/mac/fast/ruby/ruby-runs-spans-expected.png: Added.
+        * platform/mac/fast/ruby/ruby-runs-spans-expected.txt: Added.
+        * platform/mac/fast/ruby/ruby-simple-expected.checksum: Added.
+        * platform/mac/fast/ruby/ruby-simple-expected.png: Added.
+        * platform/mac/fast/ruby/ruby-simple-expected.txt: Added.
+        * platform/mac/fast/ruby/ruby-simple-rp-expected.checksum: Added.
+        * platform/mac/fast/ruby/ruby-simple-rp-expected.png: Added.
+        * platform/mac/fast/ruby/ruby-simple-rp-expected.txt: Added.
+        * platform/mac/fast/ruby/ruby-trailing-expected.checksum: Added.
+        * platform/mac/fast/ruby/ruby-trailing-expected.png: Added.
+        * platform/mac/fast/ruby/ruby-trailing-expected.txt: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-rt-expected.checksum: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-rt-expected.png: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-rt-expected.txt: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-text1-expected.checksum: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-text1-expected.png: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-text1-expected.txt: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-text2-expected.checksum: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-text2-expected.png: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-text2-expected.txt: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-text3-expected.checksum: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-text3-expected.png: Added.
+        * platform/mac/fast/ruby/rubyDOM-insert-text3-expected.txt: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.checksum: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.png: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.checksum: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.png: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.txt: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-text1-expected.checksum: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-text1-expected.png: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-text1-expected.txt: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-text2-expected.checksum: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-text2-expected.png: Added.
+        * platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt: Added.
+
 2009-11-03  Kenneth Russell  <kbr@google.com>
 
         Reviewed by Oliver Hunt.
diff --git a/LayoutTests/fast/ruby/ruby-empty-rt.html b/LayoutTests/fast/ruby/ruby-empty-rt.html
new file mode 100644 (file)
index 0000000..9eb9b6c
--- /dev/null
@@ -0,0 +1,11 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<p>The following is a test for having a &lt;rt&gt; immediately following another.</p>
+<br>
+<br>
+<p>準太郎は<ruby>東京<rt>とうきょう</rt>工業大学<rt>こうぎょう</rt><rt>だいがく</rt></ruby>から卒業しました。
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/ruby-length.html b/LayoutTests/fast/ruby/ruby-length.html
new file mode 100644 (file)
index 0000000..f2a35dd
--- /dev/null
@@ -0,0 +1,12 @@
+<head>
+<style>
+</style>
+</head>
+<body>
+This is a initial test for simple ruby.
+There should be 2 ruby annotations on below line, one with a ruby text shorter than the base, 
+and one with a ruby text longer than the base.
+<br>
+<br>
+CSS3/HTML5のルビは<ruby>日本語<rt>Japanese Langauge</rt></ruby>によく<ruby>使われて<rt>used</rt></ruby>います。
+</body>
diff --git a/LayoutTests/fast/ruby/ruby-run-break.html b/LayoutTests/fast/ruby/ruby-run-break.html
new file mode 100644 (file)
index 0000000..cc78933
--- /dev/null
@@ -0,0 +1,12 @@
+<head>
+</head>
+<body>
+This is a test for multiple ruby runs and line breaks.
+There is a div with a blue border and 10px padding. This contains a single &lt;ruby&gt; markup in the text contained in the block, broken across 2 lines. 
+Part of it should be on the first line, the rest on the other line.
+<br>
+<br>
+<div style="border: 2px solid blue; padding: 10px; width:260px;">
+CSS3/HTML5のルビは<ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby>によく使われています。
+</div>
+</body>
diff --git a/LayoutTests/fast/ruby/ruby-runs-spans.html b/LayoutTests/fast/ruby/ruby-runs-spans.html
new file mode 100644 (file)
index 0000000..1b3e4b9
--- /dev/null
@@ -0,0 +1,9 @@
+<html>
+<head>
+<meta charset="utf-8">
+</head>
+<body>
+<p>The following is a test for having non-text inline elements as base in a &lt;ruby&gt;.</p>
+<p>準太郎は<ruby><span id="T">東京</span><rt>とうきょう</rt><span id="K">工業</span><span id="D">大学</span><rt>こうぎょうだいがく</rt></ruby>から卒業しました。
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/ruby-runs.html b/LayoutTests/fast/ruby/ruby-runs.html
new file mode 100644 (file)
index 0000000..b433d87
--- /dev/null
@@ -0,0 +1,10 @@
+<head>
+<style>
+</style>
+</head>
+<body>
+This is a test for multiple ruby runs.
+<br>
+<br>
+CSS3/HTML5のルビは<ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby>によく使われています。
+</body>
diff --git a/LayoutTests/fast/ruby/ruby-simple-rp.html b/LayoutTests/fast/ruby/ruby-simple-rp.html
new file mode 100644 (file)
index 0000000..5392a97
--- /dev/null
@@ -0,0 +1,11 @@
+<head>
+<style>
+</style>
+</head>
+<body>
+This is a test for simple ruby that contains &lt;rp&gt; tags. 
+Contents of the &lt;rp&gt; tags (opening and closing brackets) should not show when ruby is suppoorted.
+<br>
+<br>
+CSS3/HTML5のルビは<ruby>日本語<rp>(</rp><rt>にほんご</rt><rp>)</rp></ruby>によく使われています。
+</body>
diff --git a/LayoutTests/fast/ruby/ruby-simple.html b/LayoutTests/fast/ruby/ruby-simple.html
new file mode 100644 (file)
index 0000000..5e6a4e6
--- /dev/null
@@ -0,0 +1,10 @@
+<head>
+<style>
+</style>
+</head>
+<body>
+This is a initial test for simple ruby.
+<br>
+<br>
+CSS3/HTML5のルビは<ruby>日本語<rt>にほんご</rt></ruby>によく使われています。
+</body>
diff --git a/LayoutTests/fast/ruby/ruby-trailing.html b/LayoutTests/fast/ruby/ruby-trailing.html
new file mode 100644 (file)
index 0000000..95b51d2
--- /dev/null
@@ -0,0 +1,11 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<p>The following is a test for having a trailing base within a &lt;ruby&gt; with no associated ruby text.</p>
+<br>
+<br>
+<p>準太郎は<ruby>東京<rt>とうきょう</rt>工業<rt>こうぎょう</rt>大学</ruby>から卒業しました。
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/rubyDOM-insert-rt.html b/LayoutTests/fast/ruby/rubyDOM-insert-rt.html
new file mode 100644 (file)
index 0000000..82e7fd5
--- /dev/null
@@ -0,0 +1,24 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function test()
+{
+    var ruby = document.getElementById('R');
+    var span = document.getElementById('D');
+    var newRT = document.createElement('rt');
+    var newRTText = document.createTextNode('こうぎょう');
+    newRT.appendChild(newRTText);
+    ruby.insertBefore(newRT, span);    
+}
+</script>
+</head>
+<body onload="test()">
+<p>The following is a test for DOM manipulation within &lt;ruby&gt;: Inserting a new &lt;rt&gt; element</p>
+<p>Both lines should look identical (the first line is the one manipulated).</p>
+<br>
+<br>
+<p>準太郎は<ruby id="R"><span id="T">東京</span><rt>とうきょう</rt><span id="K">工業</span><span id="D">大学</span><rt>だいがく</rt></ruby>から卒業しました。</p>
+<p>準太郎は<ruby><span>東京</span><rt>とうきょう</rt><span>工業</span><rt>こうぎょう</rt><span>大学</span><rt>だいがく</rt></ruby>から卒業しました。</p>
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/rubyDOM-insert-text1.html b/LayoutTests/fast/ruby/rubyDOM-insert-text1.html
new file mode 100644 (file)
index 0000000..ea238fb
--- /dev/null
@@ -0,0 +1,22 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function test()
+{
+    var ruby = document.getElementById('r');
+    var rt = document.getElementById('rt');
+    var newText = document.createTextNode('工業');
+    ruby.insertBefore(newText, rt);    
+}
+</script>
+</head>
+<body onload="test()">
+<p>The following is a test for DOM manipulation within &lt;ruby&gt;: Inserting a new text before a &lt;rt&gt; element</p>
+<p>Both lines should look identical (the first line is the one manipulated).</p>
+<br>
+<br>
+<p>準太郎は<ruby id="r"><span>東京</span><rt>とうきょう</rt><rt id="rt">こうぎょう</rt><span>大学</span><rt>だいがく</rt></ruby>から卒業しました。</p>
+<p>準太郎は<ruby><span>東京</span><rt>とうきょう</rt>工業<rt>こうぎょう</rt><span>大学</span><rt>だいがく</rt></ruby>から卒業しました。</p>
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/rubyDOM-insert-text2.html b/LayoutTests/fast/ruby/rubyDOM-insert-text2.html
new file mode 100644 (file)
index 0000000..9c9a0f3
--- /dev/null
@@ -0,0 +1,22 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function test()
+{
+    var ruby = document.getElementById('r');
+    var rt = document.getElementById('rt');
+    var newText = document.createTextNode('大学');
+    ruby.insertBefore(newText, rt);    
+}
+</script>
+</head>
+<body onload="test()">
+<p>The following is a test for DOM manipulation within &lt;ruby&gt;: Inserting a new text before a &lt;rt&gt; element that already contains text.</p>
+<p>Both lines should look identical (the first line is the one manipulated).</p>
+<br>
+<br>
+<p>準太郎は<ruby id="r"><span>工業</span><rt id="rt">こうぎょうだいがく</rt></ruby>から卒業しました。</p>
+<p>準太郎は<ruby><span>工業</span>大学<rt>こうぎょうだいがく</rt></ruby>から卒業しました。</p>
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/rubyDOM-insert-text3.html b/LayoutTests/fast/ruby/rubyDOM-insert-text3.html
new file mode 100644 (file)
index 0000000..17226ca
--- /dev/null
@@ -0,0 +1,22 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function test()
+{
+    var ruby = document.getElementById('r');
+    var text = document.getElementById('t');
+    var newText = document.createTextNode('工業');
+    ruby.insertBefore(newText, t);    
+}
+</script>
+</head>
+<body onload="test()">
+<p>The following is a test for DOM manipulation within &lt;ruby&gt;: Inserting a new text before another text of a ruby base.</p>
+<p>Both lines should look identical (the first line is the one manipulated).</p>
+<br>
+<br>
+<p>準太郎は<ruby id="r"><span id="t">大学</span><rt>こうぎょうだいがく</rt></ruby>から卒業しました。</p>
+<p>準太郎は<ruby>工業<span>大学</span><rt>こうぎょうだいがく</rt></ruby>から卒業しました。</p>
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/rubyDOM-remove-rt1.html b/LayoutTests/fast/ruby/rubyDOM-remove-rt1.html
new file mode 100644 (file)
index 0000000..2a05bfd
--- /dev/null
@@ -0,0 +1,21 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function test()
+{
+    var ruby = document.getElementById('r');
+    var k = document.getElementById('rt');
+    ruby.removeChild(rt);    
+}
+</script>
+</head>
+<body onload="test()">
+<p>The following is a test for DOM manipulation within &lt;ruby&gt;: Removing the last &lt;rt&gt;, leaving the base without ruby text.</p>
+<p>Both lines should look identical (the first line is the one manipulated).</p>
+<br>
+<br>
+<p>準太郎は<ruby id="r">工業<rt>こうぎょう</rt>大学<rt id="rt">Shouldn't show</rt></ruby>から卒業しました。</p>
+<p>準太郎は<ruby>工業<rt>こうぎょう</rt>大学</ruby>から卒業しました。</p>
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/rubyDOM-remove-rt2.html b/LayoutTests/fast/ruby/rubyDOM-remove-rt2.html
new file mode 100644 (file)
index 0000000..15c6640
--- /dev/null
@@ -0,0 +1,21 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function test()
+{
+    var ruby = document.getElementById('r');
+    var k = document.getElementById('rt');
+    ruby.removeChild(rt);    
+}
+</script>
+</head>
+<body onload="test()">
+<p>The following is a test for DOM manipulation within &lt;ruby&gt;: Removing the last &lt;rt&gt;, forcing a merge with the right neighbour run</p>
+<p>Both lines should look identical (the first line is the one manipulated).</p>
+<br>
+<br>
+<p>準太郎は<ruby id="r">工業<rt id="rt">Shouldn't show</rt>大学<rt>こうぎょうだいがく</rt></ruby>から卒業しました。</p>
+<p>準太郎は<ruby>工業大学<rt>こうぎょうだいがく</rt></ruby>から卒業しました。</p>
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/rubyDOM-remove-text1.html b/LayoutTests/fast/ruby/rubyDOM-remove-text1.html
new file mode 100644 (file)
index 0000000..3e822c8
--- /dev/null
@@ -0,0 +1,21 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function test()
+{
+    var ruby = document.getElementById('r');
+    var k = document.getElementById('k');
+    ruby.removeChild(k);    
+}
+</script>
+</head>
+<body onload="test()">
+<p>The following is a test for DOM manipulation within &lt;ruby&gt;: Removing a ruby base object, leaving the base non-empty.</p>
+<p>Both lines should look identical (the first line is the one manipulated).</p>
+<br>
+<br>
+<p>準太郎は<ruby id="r"><span id="k">工業</span><span>大学</span><rt>だいがく</rt></ruby>から卒業しました。</p>
+<p>準太郎は<ruby><span>大学</span><rt>だいがく</rt></ruby>から卒業しました。</p>
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/rubyDOM-remove-text2.html b/LayoutTests/fast/ruby/rubyDOM-remove-text2.html
new file mode 100644 (file)
index 0000000..fcda536
--- /dev/null
@@ -0,0 +1,21 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function test()
+{
+    var ruby = document.getElementById('r');
+    var k = document.getElementById('k');
+    ruby.removeChild(k);    
+}
+</script>
+</head>
+<body onload="test()">
+<p>The following is a test for DOM manipulation within &lt;ruby&gt;: Removing a ruby base object, leaving the base empty.</p>
+<p>Both lines should look identical (the first line is the one manipulated).</p>
+<br>
+<br>
+<p>準太郎は<ruby id="r"><span id="k">工業</span><rt>だいがく</rt></ruby>から卒業しました。</p>
+<p>準太郎は<ruby><rt>だいがく</rt></ruby>から卒業しました。</p>
+</body>
+</html>
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.checksum b/LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.checksum
new file mode 100644 (file)
index 0000000..82290c0
--- /dev/null
@@ -0,0 +1 @@
+a492ba3222a57c03f379905ccc3412a3
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.png b/LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.png
new file mode 100644 (file)
index 0000000..332764f
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.txt b/LayoutTests/platform/mac/fast/ruby/ruby-empty-rt-expected.txt
new file mode 100644 (file)
index 0000000..ad5a3dd
--- /dev/null
@@ -0,0 +1,37 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 452x18
+          text run at (0,0) width 452: "The following is a test for having a <rt> immediately following another."
+      RenderBlock (anonymous) at (0,34) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,86) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 154x18
+          RenderRubyRun (anonymous) at (64,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3068}\x{3046}\x{304D}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderText {#text} at (9,3) size 32x18
+                text run at (9,3) width 32: "\x{6771}\x{4EAC}"
+          RenderRubyRun (anonymous) at (114,0) size 64x34
+            RenderRubyText {RT} at (0,0) size 64x13
+              RenderText {#text} at (7,0) size 50x13
+                text run at (7,0) width 50: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 64x21
+              RenderText {#text} at (0,3) size 64x18
+                text run at (0,3) width 64: "\x{5DE5}\x{696D}\x{5927}\x{5B66}"
+          RenderRubyRun (anonymous) at (178,20) size 40x13
+            RenderRubyText {RT} at (0,0) size 40x13
+              RenderText {#text} at (0,0) size 40x13
+                text run at (0,0) width 40: "\x{3060}\x{3044}\x{304C}\x{304F}"
+        RenderText {#text} at (218,16) size 144x18
+          text run at (218,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+        RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-length-expected.checksum b/LayoutTests/platform/mac/fast/ruby/ruby-length-expected.checksum
new file mode 100644 (file)
index 0000000..5fa98e3
--- /dev/null
@@ -0,0 +1 @@
+63f9665a223923d314bac8b94fec0553
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-length-expected.png b/LayoutTests/platform/mac/fast/ruby/ruby-length-expected.png
new file mode 100644 (file)
index 0000000..6e51a3a
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/ruby-length-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-length-expected.txt b/LayoutTests/platform/mac/fast/ruby/ruby-length-expected.txt
new file mode 100644 (file)
index 0000000..db475f9
--- /dev/null
@@ -0,0 +1,34 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 773x36
+        text run at (0,0) width 773: "This is a initial test for simple ruby. There should be 2 ruby annotations on below line, one with a ruby text shorter than the"
+        text run at (0,18) width 36: "base, "
+        text run at (36,18) width 291: "and one with a ruby text longer than the base. "
+      RenderBR {BR} at (327,32) size 0x0
+      RenderBR {BR} at (0,36) size 0x18
+      RenderText {#text} at (0,70) size 224x18
+        text run at (0,70) width 224: "\x{FF23}\x{FF33}\x{FF33}\x{FF13}\x{FF0F}\x{FF28}\x{FF34}\x{FF2D}\x{FF2C}\x{FF15}\x{306E}\x{30EB}\x{30D3}\x{306F}"
+      RenderRuby (inline) {RUBY} at (0,0) size 75x18
+        RenderRubyRun (anonymous) at (224,54) size 75x34
+          RenderRubyText {RT} at (0,0) size 75x13
+            RenderText {#text} at (0,0) size 75x13
+              text run at (0,0) width 75: "Japanese Langauge"
+          RenderRubyBase (anonymous) at (0,13) size 75x21
+            RenderText {#text} at (13,3) size 48x18
+              text run at (13,3) width 48: "\x{65E5}\x{672C}\x{8A9E}"
+      RenderText {#text} at (299,70) size 48x18
+        text run at (299,70) width 48: "\x{306B}\x{3088}\x{304F}"
+      RenderRuby (inline) {RUBY} at (0,0) size 64x18
+        RenderRubyRun (anonymous) at (347,54) size 64x34
+          RenderRubyText {RT} at (0,0) size 64x13
+            RenderText {#text} at (23,0) size 18x13
+              text run at (23,0) width 18: "used"
+          RenderRubyBase (anonymous) at (0,13) size 64x21
+            RenderText {#text} at (0,3) size 64x18
+              text run at (0,3) width 64: "\x{4F7F}\x{308F}\x{308C}\x{3066}"
+      RenderText {#text} at (411,70) size 64x18
+        text run at (411,70) width 64: "\x{3044}\x{307E}\x{3059}\x{3002}"
+      RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.checksum b/LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.checksum
new file mode 100644 (file)
index 0000000..bd7757d
--- /dev/null
@@ -0,0 +1 @@
+c82d6ae5089953b06ffbe9192a6ef0ac
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.png b/LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.png
new file mode 100644 (file)
index 0000000..5f6a481
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.txt b/LayoutTests/platform/mac/fast/ruby/ruby-run-break-expected.txt
new file mode 100644 (file)
index 0000000..c56a495
--- /dev/null
@@ -0,0 +1,40 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock (anonymous) at (0,0) size 784x72
+        RenderText {#text} at (0,0) size 767x54
+          text run at (0,0) width 752: "This is a test for multiple ruby runs and line breaks. There is a div with a blue border and 10px padding. This contains a"
+          text run at (0,18) width 497: "single <ruby> markup in the text contained in the block, broken across 2 lines. "
+          text run at (497,18) width 270: "Part of it should be on the first line, the rest"
+          text run at (0,36) width 110: "on the other line. "
+        RenderBR {BR} at (110,50) size 0x0
+        RenderBR {BR} at (0,54) size 0x18
+      RenderBlock {DIV} at (0,72) size 284x92 [border: (2px solid #0000FF)]
+        RenderText {#text} at (12,28) size 224x18
+          text run at (12,28) width 224: "\x{FF23}\x{FF33}\x{FF33}\x{FF13}\x{FF0F}\x{FF28}\x{FF34}\x{FF2D}\x{FF2C}\x{FF15}\x{306E}\x{30EB}\x{30D3}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 260x52
+          RenderRubyRun (anonymous) at (236,12) size 16x34
+            RenderRubyText {RT} at (0,0) size 16x13
+              RenderText {#text} at (3,0) size 10x13
+                text run at (3,0) width 10: "\x{306B}"
+            RenderRubyBase (anonymous) at (0,13) size 16x21
+              RenderText {#text} at (0,3) size 16x18
+                text run at (0,3) width 16: "\x{65E5}"
+          RenderRubyRun (anonymous) at (252,12) size 20x34
+            RenderRubyText {RT} at (0,0) size 20x13
+              RenderText {#text} at (0,0) size 20x13
+                text run at (0,0) width 20: "\x{307B}\x{3093}"
+            RenderRubyBase (anonymous) at (0,13) size 20x21
+              RenderText {#text} at (2,3) size 16x18
+                text run at (2,3) width 16: "\x{672C}"
+          RenderRubyRun (anonymous) at (12,46) size 16x34
+            RenderRubyText {RT} at (0,0) size 16x13
+              RenderText {#text} at (3,0) size 10x13
+                text run at (3,0) width 10: "\x{3054}"
+            RenderRubyBase (anonymous) at (0,13) size 16x21
+              RenderText {#text} at (0,3) size 16x18
+                text run at (0,3) width 16: "\x{8A9E}"
+        RenderText {#text} at (28,62) size 176x18
+          text run at (28,62) width 176: "\x{306B}\x{3088}\x{304F}\x{4F7F}\x{308F}\x{308C}\x{3066}\x{3044}\x{307E}\x{3059}\x{3002}"
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.checksum b/LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.checksum
new file mode 100644 (file)
index 0000000..4589665
--- /dev/null
@@ -0,0 +1 @@
+d450ca2b41bb5d18e310feeed6ce03a6
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.png b/LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.png
new file mode 100644 (file)
index 0000000..7145ce0
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.txt b/LayoutTests/platform/mac/fast/ruby/ruby-runs-expected.txt
new file mode 100644 (file)
index 0000000..6a51465
--- /dev/null
@@ -0,0 +1,36 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 227x18
+        text run at (0,0) width 227: "This is a test for multiple ruby runs. "
+      RenderBR {BR} at (227,14) size 0x0
+      RenderBR {BR} at (0,18) size 0x18
+      RenderText {#text} at (0,52) size 224x18
+        text run at (0,52) width 224: "\x{FF23}\x{FF33}\x{FF33}\x{FF13}\x{FF0F}\x{FF28}\x{FF34}\x{FF2D}\x{FF2C}\x{FF15}\x{306E}\x{30EB}\x{30D3}\x{306F}"
+      RenderRuby (inline) {RUBY} at (0,0) size 52x18
+        RenderRubyRun (anonymous) at (224,36) size 16x34
+          RenderRubyText {RT} at (0,0) size 16x13
+            RenderText {#text} at (3,0) size 10x13
+              text run at (3,0) width 10: "\x{306B}"
+          RenderRubyBase (anonymous) at (0,13) size 16x21
+            RenderText {#text} at (0,3) size 16x18
+              text run at (0,3) width 16: "\x{65E5}"
+        RenderRubyRun (anonymous) at (240,36) size 20x34
+          RenderRubyText {RT} at (0,0) size 20x13
+            RenderText {#text} at (0,0) size 20x13
+              text run at (0,0) width 20: "\x{307B}\x{3093}"
+          RenderRubyBase (anonymous) at (0,13) size 20x21
+            RenderText {#text} at (2,3) size 16x18
+              text run at (2,3) width 16: "\x{672C}"
+        RenderRubyRun (anonymous) at (260,36) size 16x34
+          RenderRubyText {RT} at (0,0) size 16x13
+            RenderText {#text} at (3,0) size 10x13
+              text run at (3,0) width 10: "\x{3054}"
+          RenderRubyBase (anonymous) at (0,13) size 16x21
+            RenderText {#text} at (0,3) size 16x18
+              text run at (0,3) width 16: "\x{8A9E}"
+      RenderText {#text} at (276,52) size 176x18
+        text run at (276,52) width 176: "\x{306B}\x{3088}\x{304F}\x{4F7F}\x{308F}\x{308C}\x{3066}\x{3044}\x{307E}\x{3059}\x{3002}"
+      RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.checksum b/LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.checksum
new file mode 100644 (file)
index 0000000..ea19f10
--- /dev/null
@@ -0,0 +1 @@
+8fb93a7db98c47b3c77a8407dd2e2dfb
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.png b/LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.png
new file mode 100644 (file)
index 0000000..d8c420d
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.txt b/LayoutTests/platform/mac/fast/ruby/ruby-runs-spans-expected.txt
new file mode 100644 (file)
index 0000000..c02e466
--- /dev/null
@@ -0,0 +1,35 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 494x18
+          text run at (0,0) width 494: "The following is a test for having non-text inline elements as base in a <ruby>."
+      RenderBlock {P} at (0,34) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 140x18
+          RenderRubyRun (anonymous) at (64,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3068}\x{3046}\x{304D}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (9,3) size 32x18
+                  text run at (9,3) width 32: "\x{6771}\x{4EAC}"
+          RenderRubyRun (anonymous) at (114,0) size 90x34
+            RenderRubyText {RT} at (0,0) size 90x13
+              RenderText {#text} at (0,0) size 90x13
+                text run at (0,0) width 90: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 90x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (13,3) size 32x18
+                  text run at (13,3) width 32: "\x{5DE5}\x{696D}"
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (45,3) size 32x18
+                  text run at (45,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (204,16) size 144x18
+          text run at (204,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+        RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.checksum b/LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.checksum
new file mode 100644 (file)
index 0000000..9c47d91
--- /dev/null
@@ -0,0 +1 @@
+148ad4f98a7821aea551fd8b32ed8276
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.png b/LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.png
new file mode 100644 (file)
index 0000000..0098a1f
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.txt b/LayoutTests/platform/mac/fast/ruby/ruby-simple-expected.txt
new file mode 100644 (file)
index 0000000..71eeb6a
--- /dev/null
@@ -0,0 +1,22 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 225x18
+        text run at (0,0) width 225: "This is a initial test for simple ruby. "
+      RenderBR {BR} at (225,14) size 0x0
+      RenderBR {BR} at (0,18) size 0x18
+      RenderText {#text} at (0,52) size 224x18
+        text run at (0,52) width 224: "\x{FF23}\x{FF33}\x{FF33}\x{FF13}\x{FF0F}\x{FF28}\x{FF34}\x{FF2D}\x{FF2C}\x{FF15}\x{306E}\x{30EB}\x{30D3}\x{306F}"
+      RenderRuby (inline) {RUBY} at (0,0) size 48x18
+        RenderRubyRun (anonymous) at (224,36) size 48x34
+          RenderRubyText {RT} at (0,0) size 48x13
+            RenderText {#text} at (4,0) size 40x13
+              text run at (4,0) width 40: "\x{306B}\x{307B}\x{3093}\x{3054}"
+          RenderRubyBase (anonymous) at (0,13) size 48x21
+            RenderText {#text} at (0,3) size 48x18
+              text run at (0,3) width 48: "\x{65E5}\x{672C}\x{8A9E}"
+      RenderText {#text} at (272,52) size 176x18
+        text run at (272,52) width 176: "\x{306B}\x{3088}\x{304F}\x{4F7F}\x{308F}\x{308C}\x{3066}\x{3044}\x{307E}\x{3059}\x{3002}"
+      RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.checksum b/LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.checksum
new file mode 100644 (file)
index 0000000..8077b71
--- /dev/null
@@ -0,0 +1 @@
+ad4ee0d0e0b5ea63d8b6bc5aea68552b
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.png b/LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.png
new file mode 100644 (file)
index 0000000..8ba0dee
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.txt b/LayoutTests/platform/mac/fast/ruby/ruby-simple-rp-expected.txt
new file mode 100644 (file)
index 0000000..5810af7
--- /dev/null
@@ -0,0 +1,24 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 760x36
+        text run at (0,0) width 333: "This is a test for simple ruby that contains <rp> tags. "
+        text run at (333,0) width 427: "Contents of the <rp> tags (opening and closing brackets) should not"
+        text run at (0,18) width 202: "show when ruby is suppoorted. "
+      RenderBR {BR} at (202,32) size 0x0
+      RenderBR {BR} at (0,36) size 0x18
+      RenderText {#text} at (0,70) size 224x18
+        text run at (0,70) width 224: "\x{FF23}\x{FF33}\x{FF33}\x{FF13}\x{FF0F}\x{FF28}\x{FF34}\x{FF2D}\x{FF2C}\x{FF15}\x{306E}\x{30EB}\x{30D3}\x{306F}"
+      RenderRuby (inline) {RUBY} at (0,0) size 48x18
+        RenderRubyRun (anonymous) at (224,54) size 48x34
+          RenderRubyText {RT} at (0,0) size 48x13
+            RenderText {#text} at (4,0) size 40x13
+              text run at (4,0) width 40: "\x{306B}\x{307B}\x{3093}\x{3054}"
+          RenderRubyBase (anonymous) at (0,13) size 48x21
+            RenderText {#text} at (0,3) size 48x18
+              text run at (0,3) width 48: "\x{65E5}\x{672C}\x{8A9E}"
+      RenderText {#text} at (272,70) size 176x18
+        text run at (272,70) width 176: "\x{306B}\x{3088}\x{304F}\x{4F7F}\x{308F}\x{308C}\x{3066}\x{3044}\x{307E}\x{3059}\x{3002}"
+      RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.checksum b/LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.checksum
new file mode 100644 (file)
index 0000000..2966312
--- /dev/null
@@ -0,0 +1 @@
+588925d599dc3a3da321d61736fb29a9
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.png b/LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.png
new file mode 100644 (file)
index 0000000..005438c
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.txt b/LayoutTests/platform/mac/fast/ruby/ruby-trailing-expected.txt
new file mode 100644 (file)
index 0000000..6173e09
--- /dev/null
@@ -0,0 +1,37 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 590x18
+          text run at (0,0) width 590: "The following is a test for having a trailing base within a <ruby> with no associated ruby text."
+      RenderBlock (anonymous) at (0,34) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,86) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 132x18
+          RenderRubyRun (anonymous) at (64,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3068}\x{3046}\x{304D}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderText {#text} at (9,3) size 32x18
+                text run at (9,3) width 32: "\x{6771}\x{4EAC}"
+          RenderRubyRun (anonymous) at (114,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderText {#text} at (9,3) size 32x18
+                text run at (9,3) width 32: "\x{5DE5}\x{696D}"
+          RenderRubyRun (anonymous) at (164,13) size 32x21
+            RenderRubyBase (anonymous) at (0,0) size 32x21
+              RenderText {#text} at (0,3) size 32x18
+                text run at (0,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (196,16) size 144x18
+          text run at (196,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+        RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.checksum b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.checksum
new file mode 100644 (file)
index 0000000..3d5e1f4
--- /dev/null
@@ -0,0 +1 @@
+8fbf254935f295ceab51e0619ee5b1e0
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.png b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.png
new file mode 100644 (file)
index 0000000..76bf9e9
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.txt b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-rt-expected.txt
new file mode 100644 (file)
index 0000000..7554bad
--- /dev/null
@@ -0,0 +1,74 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 574x18
+          text run at (0,0) width 574: "The following is a test for DOM manipulation within <ruby>: Inserting a new <rt> element"
+      RenderBlock {P} at (0,34) size 784x18
+        RenderText {#text} at (0,0) size 436x18
+          text run at (0,0) width 436: "Both lines should look identical (the first line is the one manipulated)."
+      RenderBlock (anonymous) at (0,68) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,120) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 140x18
+          RenderRubyRun (anonymous) at (64,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3068}\x{3046}\x{304D}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (9,3) size 32x18
+                  text run at (9,3) width 32: "\x{6771}\x{4EAC}"
+          RenderRubyRun (anonymous) at (114,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (9,3) size 32x18
+                  text run at (9,3) width 32: "\x{5DE5}\x{696D}"
+          RenderRubyRun (anonymous) at (164,0) size 40x34
+            RenderRubyText {RT} at (0,0) size 40x13
+              RenderText {#text} at (0,0) size 40x13
+                text run at (0,0) width 40: "\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 40x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (4,3) size 32x18
+                  text run at (4,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (204,16) size 144x18
+          text run at (204,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+      RenderBlock {P} at (0,170) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 140x18
+          RenderRubyRun (anonymous) at (64,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3068}\x{3046}\x{304D}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (9,3) size 32x18
+                  text run at (9,3) width 32: "\x{6771}\x{4EAC}"
+          RenderRubyRun (anonymous) at (114,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (9,3) size 32x18
+                  text run at (9,3) width 32: "\x{5DE5}\x{696D}"
+          RenderRubyRun (anonymous) at (164,0) size 40x34
+            RenderRubyText {RT} at (0,0) size 40x13
+              RenderText {#text} at (0,0) size 40x13
+                text run at (0,0) width 40: "\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 40x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (4,3) size 32x18
+                  text run at (4,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (204,16) size 144x18
+          text run at (204,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.checksum b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.checksum
new file mode 100644 (file)
index 0000000..4b558d8
--- /dev/null
@@ -0,0 +1 @@
+1fbc9cfb5a7bbdce48f07e2d22e535c4
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.png b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.png
new file mode 100644 (file)
index 0000000..4c9851c
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.txt b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text1-expected.txt
new file mode 100644 (file)
index 0000000..9f11d66
--- /dev/null
@@ -0,0 +1,72 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 656x18
+          text run at (0,0) width 656: "The following is a test for DOM manipulation within <ruby>: Inserting a new text before a <rt> element"
+      RenderBlock {P} at (0,34) size 784x18
+        RenderText {#text} at (0,0) size 436x18
+          text run at (0,0) width 436: "Both lines should look identical (the first line is the one manipulated)."
+      RenderBlock (anonymous) at (0,68) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,120) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 140x18
+          RenderRubyRun (anonymous) at (64,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3068}\x{3046}\x{304D}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (9,3) size 32x18
+                  text run at (9,3) width 32: "\x{6771}\x{4EAC}"
+          RenderRubyRun (anonymous) at (114,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderText {#text} at (9,3) size 32x18
+                text run at (9,3) width 32: "\x{5DE5}\x{696D}"
+          RenderRubyRun (anonymous) at (164,0) size 40x34
+            RenderRubyText {RT} at (0,0) size 40x13
+              RenderText {#text} at (0,0) size 40x13
+                text run at (0,0) width 40: "\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 40x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (4,3) size 32x18
+                  text run at (4,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (204,16) size 144x18
+          text run at (204,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+      RenderBlock {P} at (0,170) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 140x18
+          RenderRubyRun (anonymous) at (64,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3068}\x{3046}\x{304D}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (9,3) size 32x18
+                  text run at (9,3) width 32: "\x{6771}\x{4EAC}"
+          RenderRubyRun (anonymous) at (114,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderText {#text} at (9,3) size 32x18
+                text run at (9,3) width 32: "\x{5DE5}\x{696D}"
+          RenderRubyRun (anonymous) at (164,0) size 40x34
+            RenderRubyText {RT} at (0,0) size 40x13
+              RenderText {#text} at (0,0) size 40x13
+                text run at (0,0) width 40: "\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 40x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (4,3) size 32x18
+                  text run at (4,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (204,16) size 144x18
+          text run at (204,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.checksum b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.checksum
new file mode 100644 (file)
index 0000000..a52b24c
--- /dev/null
@@ -0,0 +1 @@
+afc551bc5560819615395b2b8dc779c4
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.png b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.png
new file mode 100644 (file)
index 0000000..4066777
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.txt b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text2-expected.txt
new file mode 100644 (file)
index 0000000..93b1f30
--- /dev/null
@@ -0,0 +1,47 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x36
+        RenderText {#text} at (0,0) size 733x36
+          text run at (0,0) width 733: "The following is a test for DOM manipulation within <ruby>: Inserting a new text before a <rt> element that already"
+          text run at (0,18) width 83: "contains text."
+      RenderBlock {P} at (0,52) size 784x18
+        RenderText {#text} at (0,0) size 436x18
+          text run at (0,0) width 436: "Both lines should look identical (the first line is the one manipulated)."
+      RenderBlock (anonymous) at (0,86) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,138) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 90x18
+          RenderRubyRun (anonymous) at (64,0) size 90x34
+            RenderRubyText {RT} at (0,0) size 90x13
+              RenderText {#text} at (0,0) size 90x13
+                text run at (0,0) width 90: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 90x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (13,3) size 32x18
+                  text run at (13,3) width 32: "\x{5DE5}\x{696D}"
+              RenderText {#text} at (45,3) size 32x18
+                text run at (45,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (154,16) size 144x18
+          text run at (154,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+      RenderBlock {P} at (0,188) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 90x18
+          RenderRubyRun (anonymous) at (64,0) size 90x34
+            RenderRubyText {RT} at (0,0) size 90x13
+              RenderText {#text} at (0,0) size 90x13
+                text run at (0,0) width 90: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 90x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (13,3) size 32x18
+                  text run at (13,3) width 32: "\x{5DE5}\x{696D}"
+              RenderText {#text} at (45,3) size 32x18
+                text run at (45,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (154,16) size 144x18
+          text run at (154,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.checksum b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.checksum
new file mode 100644 (file)
index 0000000..e1fedb8
--- /dev/null
@@ -0,0 +1 @@
+efff750eb83b6eaef895ea40f355437c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.png b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.png
new file mode 100644 (file)
index 0000000..0741c93
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.txt b/LayoutTests/platform/mac/fast/ruby/rubyDOM-insert-text3-expected.txt
new file mode 100644 (file)
index 0000000..72bfe4e
--- /dev/null
@@ -0,0 +1,46 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 736x18
+          text run at (0,0) width 736: "The following is a test for DOM manipulation within <ruby>: Inserting a new text before another text of a ruby base."
+      RenderBlock {P} at (0,34) size 784x18
+        RenderText {#text} at (0,0) size 436x18
+          text run at (0,0) width 436: "Both lines should look identical (the first line is the one manipulated)."
+      RenderBlock (anonymous) at (0,68) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,120) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 90x18
+          RenderRubyRun (anonymous) at (64,0) size 90x34
+            RenderRubyText {RT} at (0,0) size 90x13
+              RenderText {#text} at (0,0) size 90x13
+                text run at (0,0) width 90: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 90x21
+              RenderText {#text} at (13,3) size 32x18
+                text run at (13,3) width 32: "\x{5DE5}\x{696D}"
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (45,3) size 32x18
+                  text run at (45,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (154,16) size 144x18
+          text run at (154,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+      RenderBlock {P} at (0,170) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 90x18
+          RenderRubyRun (anonymous) at (64,0) size 90x34
+            RenderRubyText {RT} at (0,0) size 90x13
+              RenderText {#text} at (0,0) size 90x13
+                text run at (0,0) width 90: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 90x21
+              RenderText {#text} at (13,3) size 32x18
+                text run at (13,3) width 32: "\x{5DE5}\x{696D}"
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (45,3) size 32x18
+                  text run at (45,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (154,16) size 144x18
+          text run at (154,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.checksum b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.checksum
new file mode 100644 (file)
index 0000000..af2222b
--- /dev/null
@@ -0,0 +1 @@
+400e7c4e1abf30c67c0e5a5c47d68916
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.png b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.png
new file mode 100644 (file)
index 0000000..07c7732
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt
new file mode 100644 (file)
index 0000000..bc4d0c5
--- /dev/null
@@ -0,0 +1,48 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 763x18
+          text run at (0,0) width 763: "The following is a test for DOM manipulation within <ruby>: Removing the last <rt>, leaving the base without ruby text."
+      RenderBlock {P} at (0,34) size 784x18
+        RenderText {#text} at (0,0) size 436x18
+          text run at (0,0) width 436: "Both lines should look identical (the first line is the one manipulated)."
+      RenderBlock (anonymous) at (0,68) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,120) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 82x18
+          RenderRubyRun (anonymous) at (64,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderText {#text} at (9,3) size 32x18
+                text run at (9,3) width 32: "\x{5DE5}\x{696D}"
+          RenderRubyRun (anonymous) at (114,13) size 32x21
+            RenderRubyBase (anonymous) at (0,0) size 32x21
+              RenderText {#text} at (0,3) size 32x18
+                text run at (0,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (146,16) size 144x18
+          text run at (146,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+      RenderBlock {P} at (0,170) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 82x18
+          RenderRubyRun (anonymous) at (64,0) size 50x34
+            RenderRubyText {RT} at (0,0) size 50x13
+              RenderText {#text} at (0,0) size 50x13
+                text run at (0,0) width 50: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}"
+            RenderRubyBase (anonymous) at (0,13) size 50x21
+              RenderText {#text} at (9,3) size 32x18
+                text run at (9,3) width 32: "\x{5DE5}\x{696D}"
+          RenderRubyRun (anonymous) at (114,13) size 32x21
+            RenderRubyBase (anonymous) at (0,0) size 32x21
+              RenderText {#text} at (0,3) size 32x18
+                text run at (0,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (146,16) size 144x18
+          text run at (146,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.checksum b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.checksum
new file mode 100644 (file)
index 0000000..1d68d31
--- /dev/null
@@ -0,0 +1 @@
+145a4cc5a725e500937cbd0cf1ae5b87
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.png b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.png
new file mode 100644 (file)
index 0000000..d047d04
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.txt b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.txt
new file mode 100644 (file)
index 0000000..b14d0bb
--- /dev/null
@@ -0,0 +1,43 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x36
+        RenderText {#text} at (0,0) size 733x36
+          text run at (0,0) width 733: "The following is a test for DOM manipulation within <ruby>: Removing the last <rt>, forcing a merge with the right"
+          text run at (0,18) width 89: "neighbour run"
+      RenderBlock {P} at (0,52) size 784x18
+        RenderText {#text} at (0,0) size 436x18
+          text run at (0,0) width 436: "Both lines should look identical (the first line is the one manipulated)."
+      RenderBlock (anonymous) at (0,86) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,138) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 90x18
+          RenderRubyRun (anonymous) at (64,0) size 90x34
+            RenderRubyText {RT} at (0,0) size 90x13
+              RenderText {#text} at (0,0) size 90x13
+                text run at (0,0) width 90: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 90x21
+              RenderText {#text} at (13,3) size 32x18
+                text run at (13,3) width 32: "\x{5DE5}\x{696D}"
+              RenderText {#text} at (45,3) size 32x18
+                text run at (45,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (154,16) size 144x18
+          text run at (154,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+      RenderBlock {P} at (0,188) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 90x18
+          RenderRubyRun (anonymous) at (64,0) size 90x34
+            RenderRubyText {RT} at (0,0) size 90x13
+              RenderText {#text} at (0,0) size 90x13
+                text run at (0,0) width 90: "\x{3053}\x{3046}\x{304E}\x{3087}\x{3046}\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 90x21
+              RenderText {#text} at (13,3) size 64x18
+                text run at (13,3) width 64: "\x{5DE5}\x{696D}\x{5927}\x{5B66}"
+        RenderText {#text} at (154,16) size 144x18
+          text run at (154,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.checksum b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.checksum
new file mode 100644 (file)
index 0000000..07fd5d1
--- /dev/null
@@ -0,0 +1 @@
+e12eaf16d01c3a6c41b7f8aa0342e342
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.png b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.png
new file mode 100644 (file)
index 0000000..61e2884
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.txt b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text1-expected.txt
new file mode 100644 (file)
index 0000000..0b35839
--- /dev/null
@@ -0,0 +1,42 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 762x18
+          text run at (0,0) width 762: "The following is a test for DOM manipulation within <ruby>: Removing a ruby base object, leaving the base non-empty."
+      RenderBlock {P} at (0,34) size 784x18
+        RenderText {#text} at (0,0) size 436x18
+          text run at (0,0) width 436: "Both lines should look identical (the first line is the one manipulated)."
+      RenderBlock (anonymous) at (0,68) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,120) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 40x18
+          RenderRubyRun (anonymous) at (64,0) size 40x34
+            RenderRubyText {RT} at (0,0) size 40x13
+              RenderText {#text} at (0,0) size 40x13
+                text run at (0,0) width 40: "\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 40x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (4,3) size 32x18
+                  text run at (4,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (104,16) size 144x18
+          text run at (104,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+      RenderBlock {P} at (0,170) size 784x34
+        RenderText {#text} at (0,16) size 64x18
+          text run at (0,16) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 40x18
+          RenderRubyRun (anonymous) at (64,0) size 40x34
+            RenderRubyText {RT} at (0,0) size 40x13
+              RenderText {#text} at (0,0) size 40x13
+                text run at (0,0) width 40: "\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 40x21
+              RenderInline {SPAN} at (0,0) size 32x18
+                RenderText {#text} at (4,3) size 32x18
+                  text run at (4,3) width 32: "\x{5927}\x{5B66}"
+        RenderText {#text} at (104,16) size 144x18
+          text run at (104,16) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.checksum b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.checksum
new file mode 100644 (file)
index 0000000..dc371b2
--- /dev/null
@@ -0,0 +1 @@
+9b117d681dc53e92102c5ca67dc8554b
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.png b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.png
new file mode 100644 (file)
index 0000000..16ff47a
Binary files /dev/null and b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt b/LayoutTests/platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt
new file mode 100644 (file)
index 0000000..0997508
--- /dev/null
@@ -0,0 +1,35 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 733x18
+          text run at (0,0) width 733: "The following is a test for DOM manipulation within <ruby>: Removing a ruby base object, leaving the base empty."
+      RenderBlock {P} at (0,34) size 784x18
+        RenderText {#text} at (0,0) size 436x18
+          text run at (0,0) width 436: "Both lines should look identical (the first line is the one manipulated)."
+      RenderBlock (anonymous) at (0,68) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderBlock {P} at (0,120) size 784x21
+        RenderText {#text} at (0,3) size 64x18
+          text run at (0,3) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 40x18
+          RenderRubyRun (anonymous) at (64,7) size 40x13
+            RenderRubyText {RT} at (0,0) size 40x13
+              RenderText {#text} at (0,0) size 40x13
+                text run at (0,0) width 40: "\x{3060}\x{3044}\x{304C}\x{304F}"
+            RenderRubyBase (anonymous) at (0,13) size 40x0
+        RenderText {#text} at (104,3) size 144x18
+          text run at (104,3) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"
+      RenderBlock {P} at (0,157) size 784x21
+        RenderText {#text} at (0,3) size 64x18
+          text run at (0,3) width 64: "\x{6E96}\x{592A}\x{90CE}\x{306F}"
+        RenderRuby (inline) {RUBY} at (0,0) size 40x18
+          RenderRubyRun (anonymous) at (64,7) size 40x13
+            RenderRubyText {RT} at (0,0) size 40x13
+              RenderText {#text} at (0,0) size 40x13
+                text run at (0,0) width 40: "\x{3060}\x{3044}\x{304C}\x{304F}"
+        RenderText {#text} at (104,3) size 144x18
+          text run at (104,3) width 144: "\x{304B}\x{3089}\x{5352}\x{696D}\x{3057}\x{307E}\x{3057}\x{305F}\x{3002}"