CSS 2.1 failure: Word-spacing affects each space and non-breaking space
authorrobert@webkit.org <robert@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 Aug 2012 17:36:45 +0000 (17:36 +0000)
committerrobert@webkit.org <robert@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 Aug 2012 17:36:45 +0000 (17:36 +0000)
https://bugs.webkit.org/show_bug.cgi?id=89826

Reviewed by Eric Seidel.

Source/WebCore:

Add word spacing to consecutive spaces in a run per http://www.w3.org/TR/CSS21/text.html#spacing-props.

Test: fast/css/word-spacing-characters.html
      fast/css/word-spacing-characters-complex-text.html
      fast/css/word-spacing-characters-linebreak.html
      css2.1/20110323/word-spacing-characters-002.htm
      css2.1/20110323/word-spacing-characters-003.htm
      css2.1/20110323/word-spacing-remove-space-001.htm
      css2.1/20110323/word-spacing-remove-space-002.htm
      css2.1/20110323/word-spacing-remove-space-003.htm
      css2.1/20110323/word-spacing-remove-space-004.htm
      css2.1/20110323/word-spacing-remove-space-005.htm
      css2.1/20110323/word-spacing-remove-space-006.htm
      css2.1/20110323/c541-word-sp-001.htm
      css2.1/20110323/c541-word-sp-000.htm

* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advance): All spaces (ordinary space or &nbsp;) get word-spacing added, even
  if they are consecutive.
* platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
(WebCore::HarfBuzzShaperBase::isWordEnd): ditto, but for the complex text case on Chromium. Had to use
  m_run rather than m_normalizedBuffer here as m_normalizedBuffer turns tabs into spaces! Unlike the simple
  text path, '\n' gets word-spacing - I observed this from fast/text/atsui-spacing-features.html but can't
  find it specified anywhere.
* platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
(WebCore::HarfBuzzShaperBase::isCodepointSpace):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Tested by word-spacing-linebreak.html

LayoutTests:

* css2.1/20110323/c541-word-sp-000-expected.html: Added.
* css2.1/20110323/c541-word-sp-000.htm: Renamed from LayoutTests/css2.1/t1604-c541-word-sp-00-b-a.html.
* css2.1/20110323/c541-word-sp-001-expected.html: Added.
* css2.1/20110323/c541-word-sp-001.htm: Added.
  Replaces t1604-c541-word-sp-01-b-a.html below.
* css2.1/20110323/word-spacing-characters-002-expected.html: Added.
* css2.1/20110323/word-spacing-characters-002.htm: Added.
* css2.1/20110323/word-spacing-characters-003-expected.html: Added.
* css2.1/20110323/word-spacing-characters-003.htm: Added.
  These passed already.
* css2.1/20110323/word-spacing-remove-space-001-expected.html: Added.
* css2.1/20110323/word-spacing-remove-space-001.htm: Added.
* css2.1/20110323/word-spacing-remove-space-002-expected.html: Added.
* css2.1/20110323/word-spacing-remove-space-002.htm: Added.
* css2.1/20110323/word-spacing-remove-space-003-expected.html: Added.
* css2.1/20110323/word-spacing-remove-space-003.htm: Added.
* css2.1/20110323/word-spacing-remove-space-004-expected.html: Added.
* css2.1/20110323/word-spacing-remove-space-004.htm: Added.
* css2.1/20110323/word-spacing-remove-space-005-expected.html: Added.
* css2.1/20110323/word-spacing-remove-space-005.htm: Added.
* css2.1/20110323/word-spacing-remove-space-006-expected.html: Added.
* css2.1/20110323/word-spacing-remove-space-006.htm: Added.
  These 6 tests are fixed by this patch.
* css2.1/t1604-c541-word-sp-01-b-a.html: Removed.
  Per http://lists.w3.org/Archives/Public/public-css-testsuite/2010Jan/0029.html t1604-c541-word-sp-01-b-a.htm is
  now invalid and has been replaced by c541-word-sp-001.htm above.
* fast/css/word-spacing-characters-complex-text-expected.html: Added.
* fast/css/word-spacing-characters-complex-text.html: Added.
  This is a complex text version of word-spacing-characters-001.htm
* fast/css/word-spacing-characters-expected.html: Added.
* fast/css/word-spacing-characters.html: Added.
  The original test (word-spacing-characters-001.htm) has two spaces between the non-breaking spaces in the second last case.
  This causes WebKit to split the text into two-runs and drop the second of the two spaces. This entire test can be replaced
  with word-spacing-characters-001.htm from the css test suite when https://bugs.webkit.org/show_bug.cgi?id=89827 is fixed.
* fast/css/word-spacing-linebreak-expected.html: Added.
* fast/css/word-spacing-linebreak.html: Added.
* platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
* platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
* platform/chromium-linux/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
* platform/chromium-linux/fast/css/word-space-extra-expected.png:
* platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
* platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
* platform/chromium-mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
* platform/chromium-mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
* platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
* platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
* platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
* platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
* platform/chromium-win/fast/css/word-space-extra-expected.txt:
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
* platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
* platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
* platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
* platform/gtk/TestExpectations:
* platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
* platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
* platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
* platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
* platform/mac/TestExpectations:
* platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
* platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
* platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
* platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
* platform/qt/TestExpectations:
* platform/qt/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
* platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
* platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
* platform/win/Skipped:

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

67 files changed:
LayoutTests/ChangeLog
LayoutTests/css2.1/20110323/c541-word-sp-000-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/c541-word-sp-000.htm [moved from LayoutTests/css2.1/t1604-c541-word-sp-00-b-a.html with 61% similarity]
LayoutTests/css2.1/20110323/c541-word-sp-001-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/c541-word-sp-001.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-characters-002-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-characters-002.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-characters-003-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-characters-003.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-001-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-001.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-002-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-002.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-003-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-003.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-004-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-004.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-005-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-005.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-006-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/word-spacing-remove-space-006.htm [new file with mode: 0644]
LayoutTests/css2.1/t1604-c541-word-sp-01-b-a.html [deleted file]
LayoutTests/fast/css/word-spacing-characters-complex-text-expected.html [new file with mode: 0644]
LayoutTests/fast/css/word-spacing-characters-complex-text.html [new file with mode: 0644]
LayoutTests/fast/css/word-spacing-characters-expected.html [new file with mode: 0644]
LayoutTests/fast/css/word-spacing-characters.html [new file with mode: 0644]
LayoutTests/fast/css/word-spacing-linebreak-expected.html [new file with mode: 0644]
LayoutTests/fast/css/word-spacing-linebreak.html [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.png [deleted file]
LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.txt [deleted file]
LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-01-b-a-expected.png [deleted file]
LayoutTests/platform/chromium-linux/fast/css/word-space-extra-expected.png
LayoutTests/platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-00-b-a-expected.png [deleted file]
LayoutTests/platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-01-b-a-expected.png [deleted file]
LayoutTests/platform/chromium-mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png [deleted file]
LayoutTests/platform/chromium-mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png [deleted file]
LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.png [deleted file]
LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.txt [deleted file]
LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.png [deleted file]
LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.txt [deleted file]
LayoutTests/platform/chromium-win/fast/css/word-space-extra-expected.txt
LayoutTests/platform/chromium/TestExpectations
LayoutTests/platform/efl/TestExpectations
LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.png [deleted file]
LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.txt [deleted file]
LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.png [deleted file]
LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.txt [deleted file]
LayoutTests/platform/gtk/TestExpectations
LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.png [deleted file]
LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.txt [deleted file]
LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.png [deleted file]
LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.txt [deleted file]
LayoutTests/platform/mac/TestExpectations
LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png [deleted file]
LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.txt [deleted file]
LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png [deleted file]
LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.txt [deleted file]
LayoutTests/platform/qt/TestExpectations
LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-00-b-a-expected.txt [deleted file]
LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.png [deleted file]
LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.txt [deleted file]
LayoutTests/platform/win/Skipped
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/WidthIterator.cpp
Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp
Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaperBase.h
Source/WebCore/rendering/RenderBlockLineLayout.cpp

index bdd6beb..7cbeb13 100644 (file)
@@ -1,3 +1,81 @@
+2012-06-24  Robert Hogan  <robert@webkit.org>
+
+        CSS 2.1 failure: Word-spacing affects each space and non-breaking space
+        https://bugs.webkit.org/show_bug.cgi?id=89826
+
+        Reviewed by Eric Seidel.
+
+        * css2.1/20110323/c541-word-sp-000-expected.html: Added.
+        * css2.1/20110323/c541-word-sp-000.htm: Renamed from LayoutTests/css2.1/t1604-c541-word-sp-00-b-a.html.
+        * css2.1/20110323/c541-word-sp-001-expected.html: Added.
+        * css2.1/20110323/c541-word-sp-001.htm: Added.
+          Replaces t1604-c541-word-sp-01-b-a.html below.
+        * css2.1/20110323/word-spacing-characters-002-expected.html: Added.
+        * css2.1/20110323/word-spacing-characters-002.htm: Added.
+        * css2.1/20110323/word-spacing-characters-003-expected.html: Added.
+        * css2.1/20110323/word-spacing-characters-003.htm: Added.
+          These passed already.
+        * css2.1/20110323/word-spacing-remove-space-001-expected.html: Added.
+        * css2.1/20110323/word-spacing-remove-space-001.htm: Added.
+        * css2.1/20110323/word-spacing-remove-space-002-expected.html: Added.
+        * css2.1/20110323/word-spacing-remove-space-002.htm: Added.
+        * css2.1/20110323/word-spacing-remove-space-003-expected.html: Added.
+        * css2.1/20110323/word-spacing-remove-space-003.htm: Added.
+        * css2.1/20110323/word-spacing-remove-space-004-expected.html: Added.
+        * css2.1/20110323/word-spacing-remove-space-004.htm: Added.
+        * css2.1/20110323/word-spacing-remove-space-005-expected.html: Added.
+        * css2.1/20110323/word-spacing-remove-space-005.htm: Added.
+        * css2.1/20110323/word-spacing-remove-space-006-expected.html: Added.
+        * css2.1/20110323/word-spacing-remove-space-006.htm: Added.
+          These 6 tests are fixed by this patch.
+        * css2.1/t1604-c541-word-sp-01-b-a.html: Removed.
+          Per http://lists.w3.org/Archives/Public/public-css-testsuite/2010Jan/0029.html t1604-c541-word-sp-01-b-a.htm is
+          now invalid and has been replaced by c541-word-sp-001.htm above.
+        * fast/css/word-spacing-characters-complex-text-expected.html: Added.
+        * fast/css/word-spacing-characters-complex-text.html: Added.
+          This is a complex text version of word-spacing-characters-001.htm
+        * fast/css/word-spacing-characters-expected.html: Added.
+        * fast/css/word-spacing-characters.html: Added.
+          The original test (word-spacing-characters-001.htm) has two spaces between the non-breaking spaces in the second last case. 
+          This causes WebKit to split the text into two-runs and drop the second of the two spaces. This entire test can be replaced 
+          with word-spacing-characters-001.htm from the css test suite when https://bugs.webkit.org/show_bug.cgi?id=89827 is fixed.
+        * fast/css/word-spacing-linebreak-expected.html: Added.
+        * fast/css/word-spacing-linebreak.html: Added.
+        * platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
+        * platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
+        * platform/chromium-linux/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
+        * platform/chromium-linux/fast/css/word-space-extra-expected.png:
+        * platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
+        * platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
+        * platform/chromium-mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
+        * platform/chromium-mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
+        * platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
+        * platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
+        * platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
+        * platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
+        * platform/chromium-win/fast/css/word-space-extra-expected.txt:
+        * platform/chromium/TestExpectations:
+        * platform/efl/TestExpectations:
+        * platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
+        * platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
+        * platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
+        * platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
+        * platform/gtk/TestExpectations:
+        * platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
+        * platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
+        * platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
+        * platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
+        * platform/mac/TestExpectations:
+        * platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
+        * platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
+        * platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
+        * platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
+        * platform/qt/TestExpectations:
+        * platform/qt/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
+        * platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
+        * platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
+        * platform/win/Skipped:
+
 2012-08-14  Christophe Dumez  <christophe.dumez@intel.com>
 
         Fix  LayoutTests/canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html
diff --git a/LayoutTests/css2.1/20110323/c541-word-sp-000-expected.html b/LayoutTests/css2.1/20110323/c541-word-sp-000-expected.html
new file mode 100644 (file)
index 0000000..713daa1
--- /dev/null
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing</title>
+  <meta name="flags" content="ahem">
+  <link rel="help" href="http://www.w3.org/TR/REC-CSS1#word-spacing">
+  <link rel="author" title="CSS1 Test Suite Contributors" href="http://www.w3.org/Style/CSS/Test/CSS1/current/tsack.html">
+  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
+  <style type="text/css">
+   div { font: 24px/1 Ahem; width: 18em; background: yellow; color: aqua; }
+   .one {word-spacing: 0.25in;}
+   .two {word-spacing: 0.635cm;}
+   .three {word-spacing: 6.35mm;}
+   .four {word-spacing: 18pt;}
+   .five {word-spacing: 1.5pc;}
+   .six {word-spacing: 1em;}
+   .seven {word-spacing: 1.25ex;}
+   .eight {word-spacing: 24px;}
+  </style>
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props" title="16.4 Letter and word spacing: the 'letter-spacing' and 'word-spacing' properties">
+ </head>
+ <body>
+  <p>There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken).</p>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+ </body>
+</html>
\ No newline at end of file
@@ -1,7 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html>
  <head>
-  <title>CSS 2.1 Test Suite: word-spacing</title>
+  <title>CSS Test: word-spacing</title>
+  <meta name="flags" content="ahem">
+  <link rel="help" href="http://www.w3.org/TR/REC-CSS1#word-spacing">
+  <link rel="author" title="CSS1 Test Suite Contributors" href="http://www.w3.org/Style/CSS/Test/CSS1/current/tsack.html">
+  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
   <style type="text/css">
    div { font: 24px/1 Ahem; width: 18em; background: yellow; color: aqua; }
    .one {word-spacing: 0.25in;}
@@ -17,9 +21,9 @@
  </head>
  <body>
   <p>There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken).</p>
-  <div class="test">x  xx  xxx  xxxx</div>
-  <div class="test">x  xx  xxx  xxxx</div>
-  <div class="test">x  xx  xxx  xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
+  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
   <div class="one"> x xx xxx xxxx </div>
   <div class="two"> x xx xxx xxxx </div>
   <div class="three"> x xx xxx xxxx </div>
diff --git a/LayoutTests/css2.1/20110323/c541-word-sp-001-expected.html b/LayoutTests/css2.1/20110323/c541-word-sp-001-expected.html
new file mode 100644 (file)
index 0000000..a4e66c6
--- /dev/null
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+
+  <style type="text/css">
+  div
+  {
+  background-color: aqua;
+  margin-left: 50px;
+  width: 300px;
+  }
+
+  img {vertical-align: bottom;}
+
+  img.left-and-right-sides {margin-left: 25px;}
+  
+  img.central {margin: 0px 25px;}
+  
+  </style>
+
+ </head>
+
+ <body>
+
+  <p>There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken).</p>
+
+  <div><img src="support/swatch-yellow.png" width="50" height="150" alt="Image download support must be enabled" class="left-and-right-sides"><img src="support/swatch-yellow.png" width="50" height="150" alt="Image download support must be enabled" class="central"><img src="support/swatch-yellow.png" width="25" height="150" alt="Image download support must be enabled" class="central"><img src="support/swatch-yellow.png" width="25" height="150" alt="Image download support must be enabled" class="left-and-right-sides"></div>
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/c541-word-sp-001.htm b/LayoutTests/css2.1/20110323/c541-word-sp-001.htm
new file mode 100644 (file)
index 0000000..3d741da
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing</title>
+  <meta name="flags" content="ahem">
+  <link rel="help" href="http://www.w3.org/TR/REC-CSS1#word-spacing">
+  <link rel="author" title="CSS1 Test Suite Contributors" href="http://www.w3.org/Style/CSS/Test/CSS1/current/tsack.html">
+  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
+  <link rel="match" href="c541-word-sp-001-ref.htm">
+
+  <style type="text/css">
+   div { font: 25px/1 Ahem; width: 12em; background: yellow; color: aqua; margin: 0 0 0 2em; }
+   .eight {word-spacing: 25px;}
+   .nine {word-spacing: normal;}
+   .ten {word-spacing: 300%;}
+   .eleven {word-spacing: -1em;}
+   .fill { color: yellow; }
+  </style>
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props" title="16.4 Letter and word spacing: the 'letter-spacing' and 'word-spacing' properties">
+ </head>
+ <body>
+  <p>There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken).</p>
+  <div class="test">x&nbsp;&nbsp;x&nbsp;&nbsp;xx&nbsp;xx</div>
+  <div class="test">x&nbsp;&nbsp;x&nbsp;&nbsp;xx&nbsp;xx</div>
+  <div class="test">x&nbsp;&nbsp;x&nbsp;&nbsp;xx&nbsp;xx</div>
+  <div class="eight"> x x <span class="nine">xx xx</span> </div>
+  <div class="ten"> x&nbsp; x &nbsp;xx xx </div>
+  <div class="eleven"> x&nbsp; &nbsp;<span class="nine"> &nbsp;</span>x&nbsp;&nbsp;<span class="fill">xx</span> xx&nbsp; <span class="fill">x</span>xx </div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-characters-002-expected.html b/LayoutTests/css2.1/20110323/word-spacing-characters-002-expected.html
new file mode 100644 (file)
index 0000000..e36399f
--- /dev/null
@@ -0,0 +1,177 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing on Fixed-Width Space Characters</title>
+  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <meta name="flags" content="">
+  <meta name="assert" content="Word-spacing does not affect fixed-width spaces.">
+  <style type="text/css">
+    div {
+      margin: 1em;
+      font-family: monospace;
+      page-break-inside: avoid;
+    }
+    div p {
+      margin: 0;
+    }
+
+    .control span {
+      background: blue;
+      color: blue;
+    }
+    .test span {
+      background: orange;
+      color: orange;
+    }
+    .ws-pre p {
+      white-space: pre;
+    }
+  </style>
+ </head>
+ <body>
+   <p>In each of the following pairs, the blue and orange bars must have equal lengths.</p>
+
+   <!-- IDEOGRAPHIC SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x3000;&#x3000;&#x3000;&#x3000;B</span></p>
+     <p class="test"><span>A&#x3000;&#x3000;&#x3000;&#x3000;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x3000;&#x3000;&#x3000;&#x3000;B</span></p>
+     <p class="test"><span>A&#x3000;&#x3000;&#x3000;&#x3000;B</span></p>
+   </div>
+
+   <!-- EN QUAD -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2000;&#x2000;&#x2000;&#x2000;B</span></p>
+     <p class="test"><span>A&#x2000;&#x2000;&#x2000;&#x2000;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2000;&#x2000;&#x2000;&#x2000;B</span></p>
+     <p class="test"><span>A&#x2000;&#x2000;&#x2000;&#x2000;B</span></p>
+   </div>
+
+   <!-- EM QUAD -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2001;&#x2001;&#x2001;&#x2001;B</span></p>
+     <p class="test"><span>A&#x2001;&#x2001;&#x2001;&#x2001;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2001;&#x2001;&#x2001;&#x2001;B</span></p>
+     <p class="test"><span>A&#x2001;&#x2001;&#x2001;&#x2001;B</span></p>
+   </div>
+
+   <!-- EN SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&ensp;&ensp;&ensp;&ensp;B</span></p>
+     <p class="test"><span>A&ensp;&ensp;&ensp;&ensp;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&ensp;&ensp;&ensp;&ensp;B</span></p>
+     <p class="test"><span>A&ensp;&ensp;&ensp;&ensp;B</span></p>
+   </div>
+
+   <!-- EM SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&emsp;&emsp;&emsp;&emsp;B</span></p>
+     <p class="test"><span>A&emsp;&emsp;&emsp;&emsp;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&emsp;&emsp;&emsp;&emsp;B</span></p>
+     <p class="test"><span>A&emsp;&emsp;&emsp;&emsp;B</span></p>
+   </div>
+
+   <!-- THREE-PER-EM SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2004;&#x2004;&#x2004;&#x2004;B</span></p>
+     <p class="test"><span>A&#x2004;&#x2004;&#x2004;&#x2004;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2004;&#x2004;&#x2004;&#x2004;B</span></p>
+     <p class="test"><span>A&#x2004;&#x2004;&#x2004;&#x2004;B</span></p>
+   </div>
+
+   <!-- FOUR-PER-EM SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2005;&#x2005;&#x2005;&#x2005;B</span></p>
+     <p class="test"><span>A&#x2005;&#x2005;&#x2005;&#x2005;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2005;&#x2005;&#x2005;&#x2005;B</span></p>
+     <p class="test"><span>A&#x2005;&#x2005;&#x2005;&#x2005;B</span></p>
+   </div>
+
+   <!-- SIX-PER-EM SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2006;&#x2006;&#x2006;&#x2006;B</span></p>
+     <p class="test"><span>A&#x2006;&#x2006;&#x2006;&#x2006;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2006;&#x2006;&#x2006;&#x2006;B</span></p>
+     <p class="test"><span>A&#x2006;&#x2006;&#x2006;&#x2006;B</span></p>
+   </div>
+
+   <!-- FIGURE SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2007;&#x2007;&#x2007;&#x2007;B</span></p>
+     <p class="test"><span>A&#x2007;&#x2007;&#x2007;&#x2007;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2007;&#x2007;&#x2007;&#x2007;B</span></p>
+     <p class="test"><span>A&#x2007;&#x2007;&#x2007;&#x2007;B</span></p>
+   </div>
+
+   <!-- PUNCTUATION SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2008;&#x2008;&#x2008;&#x2008;B</span></p>
+     <p class="test"><span>A&#x2008;&#x2008;&#x2008;&#x2008;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2008;&#x2008;&#x2008;&#x2008;B</span></p>
+     <p class="test"><span>A&#x2008;&#x2008;&#x2008;&#x2008;B</span></p>
+   </div>
+
+   <!--THIN SPACE  -->
+   <div class="ws-normal">
+     <p class="control"><span>A&thinsp;&thinsp;&thinsp;&thinsp;B</span></p>
+     <p class="test"><span>A&thinsp;&thinsp;&thinsp;&thinsp;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&thinsp;&thinsp;&thinsp;&thinsp;B</span></p>
+     <p class="test"><span>A&thinsp;&thinsp;&thinsp;&thinsp;B</span></p>
+   </div>
+
+   <!-- HAIR SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x200A;&#x200A;&#x200A;&#x200A;B</span></p>
+     <p class="test"><span>A&#x200A;&#x200A;&#x200A;&#x200A;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x200A;&#x200A;&#x200A;&#x200A;B</span></p>
+     <p class="test"><span>A&#x200A;&#x200A;&#x200A;&#x200A;B</span></p>
+   </div>
+
+   <!-- NARROW NO-BREAK SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x202F;&#x202F;&#x202F;&#x202F;B</span></p>
+     <p class="test"><span>A&#x202F;&#x202F;&#x202F;&#x202F;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x202F;&#x202F;&#x202F;&#x202F;B</span></p>
+     <p class="test"><span>A&#x202F;&#x202F;&#x202F;&#x202F;B</span></p>
+   </div>
+
+   <!-- MEDIUM MATHEMATICAL SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x205F;&#x205F;&#x205F;&#x205F;B</span></p>
+     <p class="test"><span>A&#x205F;&#x205F;&#x205F;&#x205F;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x205F;&#x205F;&#x205F;&#x205F;B</span></p>
+     <p class="test"><span>A&#x205F;&#x205F;&#x205F;&#x205F;B</span></p>
+   </div>
+
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-characters-002.htm b/LayoutTests/css2.1/20110323/word-spacing-characters-002.htm
new file mode 100644 (file)
index 0000000..4f61e18
--- /dev/null
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing on Fixed-Width Space Characters</title>
+  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <meta name="flags" content="">
+  <meta name="assert" content="Word-spacing does not affect fixed-width spaces.">
+  <style type="text/css">
+    div {
+      margin: 1em;
+      font-family: monospace;
+      page-break-inside: avoid;
+    }
+    div p {
+      margin: 0;
+    }
+
+    .control span {
+      background: blue;
+      color: blue;
+    }
+    .test span {
+      word-spacing: 4em;
+      background: orange;
+      color: orange;
+    }
+    .ws-pre p {
+      white-space: pre;
+    }
+  </style>
+ </head>
+ <body>
+   <p>In each of the following pairs, the blue and orange bars must have equal lengths.</p>
+
+   <!-- IDEOGRAPHIC SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x3000;&#x3000;&#x3000;&#x3000;B</span></p>
+     <p class="test"><span>A&#x3000;&#x3000;&#x3000;&#x3000;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x3000;&#x3000;&#x3000;&#x3000;B</span></p>
+     <p class="test"><span>A&#x3000;&#x3000;&#x3000;&#x3000;B</span></p>
+   </div>
+
+   <!-- EN QUAD -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2000;&#x2000;&#x2000;&#x2000;B</span></p>
+     <p class="test"><span>A&#x2000;&#x2000;&#x2000;&#x2000;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2000;&#x2000;&#x2000;&#x2000;B</span></p>
+     <p class="test"><span>A&#x2000;&#x2000;&#x2000;&#x2000;B</span></p>
+   </div>
+
+   <!-- EM QUAD -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2001;&#x2001;&#x2001;&#x2001;B</span></p>
+     <p class="test"><span>A&#x2001;&#x2001;&#x2001;&#x2001;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2001;&#x2001;&#x2001;&#x2001;B</span></p>
+     <p class="test"><span>A&#x2001;&#x2001;&#x2001;&#x2001;B</span></p>
+   </div>
+
+   <!-- EN SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&ensp;&ensp;&ensp;&ensp;B</span></p>
+     <p class="test"><span>A&ensp;&ensp;&ensp;&ensp;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&ensp;&ensp;&ensp;&ensp;B</span></p>
+     <p class="test"><span>A&ensp;&ensp;&ensp;&ensp;B</span></p>
+   </div>
+
+   <!-- EM SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&emsp;&emsp;&emsp;&emsp;B</span></p>
+     <p class="test"><span>A&emsp;&emsp;&emsp;&emsp;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&emsp;&emsp;&emsp;&emsp;B</span></p>
+     <p class="test"><span>A&emsp;&emsp;&emsp;&emsp;B</span></p>
+   </div>
+
+   <!-- THREE-PER-EM SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2004;&#x2004;&#x2004;&#x2004;B</span></p>
+     <p class="test"><span>A&#x2004;&#x2004;&#x2004;&#x2004;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2004;&#x2004;&#x2004;&#x2004;B</span></p>
+     <p class="test"><span>A&#x2004;&#x2004;&#x2004;&#x2004;B</span></p>
+   </div>
+
+   <!-- FOUR-PER-EM SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2005;&#x2005;&#x2005;&#x2005;B</span></p>
+     <p class="test"><span>A&#x2005;&#x2005;&#x2005;&#x2005;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2005;&#x2005;&#x2005;&#x2005;B</span></p>
+     <p class="test"><span>A&#x2005;&#x2005;&#x2005;&#x2005;B</span></p>
+   </div>
+
+   <!-- SIX-PER-EM SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2006;&#x2006;&#x2006;&#x2006;B</span></p>
+     <p class="test"><span>A&#x2006;&#x2006;&#x2006;&#x2006;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2006;&#x2006;&#x2006;&#x2006;B</span></p>
+     <p class="test"><span>A&#x2006;&#x2006;&#x2006;&#x2006;B</span></p>
+   </div>
+
+   <!-- FIGURE SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2007;&#x2007;&#x2007;&#x2007;B</span></p>
+     <p class="test"><span>A&#x2007;&#x2007;&#x2007;&#x2007;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2007;&#x2007;&#x2007;&#x2007;B</span></p>
+     <p class="test"><span>A&#x2007;&#x2007;&#x2007;&#x2007;B</span></p>
+   </div>
+
+   <!-- PUNCTUATION SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x2008;&#x2008;&#x2008;&#x2008;B</span></p>
+     <p class="test"><span>A&#x2008;&#x2008;&#x2008;&#x2008;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x2008;&#x2008;&#x2008;&#x2008;B</span></p>
+     <p class="test"><span>A&#x2008;&#x2008;&#x2008;&#x2008;B</span></p>
+   </div>
+
+   <!--THIN SPACE  -->
+   <div class="ws-normal">
+     <p class="control"><span>A&thinsp;&thinsp;&thinsp;&thinsp;B</span></p>
+     <p class="test"><span>A&thinsp;&thinsp;&thinsp;&thinsp;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&thinsp;&thinsp;&thinsp;&thinsp;B</span></p>
+     <p class="test"><span>A&thinsp;&thinsp;&thinsp;&thinsp;B</span></p>
+   </div>
+
+   <!-- HAIR SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x200A;&#x200A;&#x200A;&#x200A;B</span></p>
+     <p class="test"><span>A&#x200A;&#x200A;&#x200A;&#x200A;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x200A;&#x200A;&#x200A;&#x200A;B</span></p>
+     <p class="test"><span>A&#x200A;&#x200A;&#x200A;&#x200A;B</span></p>
+   </div>
+
+   <!-- NARROW NO-BREAK SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x202F;&#x202F;&#x202F;&#x202F;B</span></p>
+     <p class="test"><span>A&#x202F;&#x202F;&#x202F;&#x202F;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x202F;&#x202F;&#x202F;&#x202F;B</span></p>
+     <p class="test"><span>A&#x202F;&#x202F;&#x202F;&#x202F;B</span></p>
+   </div>
+
+   <!-- MEDIUM MATHEMATICAL SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x205F;&#x205F;&#x205F;&#x205F;B</span></p>
+     <p class="test"><span>A&#x205F;&#x205F;&#x205F;&#x205F;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x205F;&#x205F;&#x205F;&#x205F;B</span></p>
+     <p class="test"><span>A&#x205F;&#x205F;&#x205F;&#x205F;B</span></p>
+   </div>
+
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-characters-003-expected.html b/LayoutTests/css2.1/20110323/word-spacing-characters-003-expected.html
new file mode 100644 (file)
index 0000000..c882425
--- /dev/null
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing on Zero-Width Characters</title>
+  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <meta name="flags" content="">
+  <meta name="assert" content="Word-spacing does not affect zero-width characters.">
+  <style type="text/css">
+    div {
+      margin: 1em;
+      font-family: monospace;
+      page-break-inside: avoid;
+    }
+    div p {
+      margin: 0;
+    }
+
+    .control span {
+      background: blue;
+      color: blue;
+    }
+    .test span {
+      background: orange;
+      color: orange;
+    }
+    .ws-pre p {
+      white-space: pre;
+    }
+  </style>
+ </head>
+ <body>
+   <p>In each of the following pairs, the blue and orange bars must have equal lengths.</p>
+
+   <!-- ZERO-WIDTH SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x200B;&#x200B;&#x200B;&#x200B;B</span></p>
+     <p class="test"><span>A&#x200B;&#x200B;&#x200B;&#x200B;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x200B;&#x200B;&#x200B;&#x200B;B</span></p>
+     <p class="test"><span>A&#x200B;&#x200B;&#x200B;&#x200B;B</span></p>
+   </div>
+
+   <!-- ZERO-WIDTH NO-BREAK SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>AB</span></p>
+     <p class="test"><span>AB</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>AB</span></p>
+     <p class="test"><span>AB</span></p>
+   </div>
+
+   <!-- ZERO-WIDTH NON-JOINER -->
+   <div class="ws-normal">
+     <p class="control"><span>A&zwnj;&zwnj;&zwnj;&zwnj;B</span></p>
+     <p class="test"><span>A&zwnj;&zwnj;&zwnj;&zwnj;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&zwnj;&zwnj;&zwnj;&zwnj;B</span></p>
+     <p class="test"><span>A&zwnj;&zwnj;&zwnj;&zwnj;B</span></p>
+   </div>
+
+   <!-- ZERO-WIDTH JOINER -->
+   <div class="ws-normal">
+     <p class="control"><span>A&zwj;&zwj;&zwj;&zwj;B</span></p>
+     <p class="test"><span>A&zwj;&zwj;&zwj;&zwj;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&zwj;&zwj;&zwj;&zwj;B</span></p>
+     <p class="test"><span>A&zwj;&zwj;&zwj;&zwj;B</span></p>
+   </div>
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-characters-003.htm b/LayoutTests/css2.1/20110323/word-spacing-characters-003.htm
new file mode 100644 (file)
index 0000000..3e5db19
--- /dev/null
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing on Zero-Width Characters</title>
+  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <meta name="flags" content="">
+  <meta name="assert" content="Word-spacing does not affect zero-width characters.">
+  <style type="text/css">
+    div {
+      margin: 1em;
+      font-family: monospace;
+      page-break-inside: avoid;
+    }
+    div p {
+      margin: 0;
+    }
+
+    .control span {
+      background: blue;
+      color: blue;
+    }
+    .test span {
+      word-spacing: 4em;
+      background: orange;
+      color: orange;
+    }
+    .ws-pre p {
+      white-space: pre;
+    }
+  </style>
+ </head>
+ <body>
+   <p>In each of the following pairs, the blue and orange bars must have equal lengths.</p>
+
+   <!-- ZERO-WIDTH SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>A&#x200B;&#x200B;&#x200B;&#x200B;B</span></p>
+     <p class="test"><span>A&#x200B;&#x200B;&#x200B;&#x200B;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&#x200B;&#x200B;&#x200B;&#x200B;B</span></p>
+     <p class="test"><span>A&#x200B;&#x200B;&#x200B;&#x200B;B</span></p>
+   </div>
+
+   <!-- ZERO-WIDTH NO-BREAK SPACE -->
+   <div class="ws-normal">
+     <p class="control"><span>AB</span></p>
+     <p class="test"><span>AB</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>AB</span></p>
+     <p class="test"><span>AB</span></p>
+   </div>
+
+   <!-- ZERO-WIDTH NON-JOINER -->
+   <div class="ws-normal">
+     <p class="control"><span>A&zwnj;&zwnj;&zwnj;&zwnj;B</span></p>
+     <p class="test"><span>A&zwnj;&zwnj;&zwnj;&zwnj;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&zwnj;&zwnj;&zwnj;&zwnj;B</span></p>
+     <p class="test"><span>A&zwnj;&zwnj;&zwnj;&zwnj;B</span></p>
+   </div>
+
+   <!-- ZERO-WIDTH JOINER -->
+   <div class="ws-normal">
+     <p class="control"><span>A&zwj;&zwj;&zwj;&zwj;B</span></p>
+     <p class="test"><span>A&zwj;&zwj;&zwj;&zwj;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&zwj;&zwj;&zwj;&zwj;B</span></p>
+     <p class="test"><span>A&zwj;&zwj;&zwj;&zwj;B</span></p>
+   </div>
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-001-expected.html b/LayoutTests/css2.1/20110323/word-spacing-remove-space-001-expected.html
new file mode 100644 (file)
index 0000000..a63fe10
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="The white space processing removes spaces before 'word-spacing' is applied.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+                word-spacing: 2em;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 3em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X  X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-001.htm b/LayoutTests/css2.1/20110323/word-spacing-remove-space-001.htm
new file mode 100644 (file)
index 0000000..67bbc58
--- /dev/null
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="The white space processing removes spaces before 'word-spacing' is applied.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+            }
+            #div1
+            {
+                word-spacing: 2em;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 3em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X  X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-002-expected.html b/LayoutTests/css2.1/20110323/word-spacing-remove-space-002-expected.html
new file mode 100644 (file)
index 0000000..970305c
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple non-breaking spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="The white space processing removes non-breaking space before 'word-spacing' is applied.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+                white-space: pre;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 12em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X            X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-002.htm b/LayoutTests/css2.1/20110323/word-spacing-remove-space-002.htm
new file mode 100644 (file)
index 0000000..ae60e32
--- /dev/null
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple non-breaking spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="The white space processing removes non-breaking space before 'word-spacing' is applied.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+            }
+            #div1
+            {
+                word-spacing: 2em;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 12em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X&nbsp; &nbsp; X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-003-expected.html b/LayoutTests/css2.1/20110323/word-spacing-remove-space-003-expected.html
new file mode 100644 (file)
index 0000000..c440718
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple ideographic spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="The white space processing removes ideographic space before 'word-spacing' is applied.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+                white-space: pre;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 8em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X        X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-003.htm b/LayoutTests/css2.1/20110323/word-spacing-remove-space-003.htm
new file mode 100644 (file)
index 0000000..2fe65ff
--- /dev/null
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple ideographic spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="The white space processing removes ideographic space before 'word-spacing' is applied.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+            }
+            #div1
+            {
+                word-spacing: 2em;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 8em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X&#x3000;  &#x3000; X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-004-expected.html b/LayoutTests/css2.1/20110323/word-spacing-remove-space-004-expected.html
new file mode 100644 (file)
index 0000000..585c506
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple preserved spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="Any space left after white-space processing model occurs, has word-spacing applied to it.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+                white-space: pre;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 6em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X      X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-004.htm b/LayoutTests/css2.1/20110323/word-spacing-remove-space-004.htm
new file mode 100644 (file)
index 0000000..c5821a9
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple preserved spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="Any space left after white-space processing model occurs, has word-spacing applied to it.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+            }
+            #div1
+            {
+                word-spacing: 2em;
+                white-space: pre;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 6em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X  X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-005-expected.html b/LayoutTests/css2.1/20110323/word-spacing-remove-space-005-expected.html
new file mode 100644 (file)
index 0000000..8dcf9d4
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple preserved spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="Any non-breaking space left after white-space processing model occurs, has word-spacing applied to it.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+                white-space: pre;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 9em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X         X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-005.htm b/LayoutTests/css2.1/20110323/word-spacing-remove-space-005.htm
new file mode 100644 (file)
index 0000000..0756e52
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple preserved spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="Any non-breaking space left after white-space processing model occurs, has word-spacing applied to it.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+            }
+            #div1
+            {
+                word-spacing: 2em;
+                white-space: pre;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 9em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X&nbsp; &nbsp;X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-006-expected.html b/LayoutTests/css2.1/20110323/word-spacing-remove-space-006-expected.html
new file mode 100644 (file)
index 0000000..a549207
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple preserved spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="Any ideographic space left after white-space processing model occurs, has word-spacing applied to it.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+                white-space: pre;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 8em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X        X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/word-spacing-remove-space-006.htm b/LayoutTests/css2.1/20110323/word-spacing-remove-space-006.htm
new file mode 100644 (file)
index 0000000..1a99846
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Word-spacing and white space with multiple preserved spaces</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+        <meta name="flags" content="ahem">
+        <meta name="assert" content="Any ideographic space left after white-space processing model occurs, has word-spacing applied to it.">
+        <style type="text/css">
+            div
+            {
+                font: 16px/1em Ahem;
+            }
+            #div1
+            {
+                word-spacing: 2em;
+                white-space: pre;
+            }
+            #div2, #div3
+            {
+                background: black;
+                display: inline-block;
+                height: 1em;
+                width: 1em;
+            }
+            #div3
+            {
+                margin-left: 8em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there are only two boxes below.</p>
+        <div id="div1">X&#x3000;  &#x3000;X</div>
+        <div id="div2"></div><div id="div3"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/t1604-c541-word-sp-01-b-a.html b/LayoutTests/css2.1/t1604-c541-word-sp-01-b-a.html
deleted file mode 100644 (file)
index 35bda4c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<html>
- <head>
-  <title>CSS 2.1 Test Suite: word-spacing</title>
-  <style type="text/css">
-   div { font: 24px/1 Ahem; width: 12em; background: yellow; color: aqua; margin: 0 0 0 2em; }
-   .eight {word-spacing: 24px;}
-   .nine {word-spacing: normal;}
-   .ten {word-spacing: 300%;}
-   .eleven {word-spacing: -1em;}
-  </style>
-  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props" title="16.4 Letter and word spacing: the 'letter-spacing' and 'word-spacing' properties">
- </head>
- <body>
-  <p>There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken).</p>
-  <div class="test">x  x  xx xx</div>
-  <div class="test">x  x  xx xx</div>
-  <div class="test">x  x  xx xx</div>
-  <div class="eight"> x x <span class="nine">xx xx</span> </div>
-  <div class="ten"> x  x  xx xx </div>
-  <div class="eleven"> x   x   xx  xx </div>
- </body>
-</html>
\ No newline at end of file
diff --git a/LayoutTests/fast/css/word-spacing-characters-complex-text-expected.html b/LayoutTests/fast/css/word-spacing-characters-complex-text-expected.html
new file mode 100644 (file)
index 0000000..aaf94fe
--- /dev/null
@@ -0,0 +1,85 @@
+<!DOCTYPE html PU&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;LIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing on Flexible Space Characters (adapted from word-spacing-characters-001.htm)</title>
+  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <meta name="flags" content="">
+  <meta name="assert" content="Word-spacing affects each space (U+0020)         and non-breaking space (U+00A0).">
+  <style type="text/css">
+    div {
+      margin: 1em;
+      font-family: monospace;
+      page-break-inside: avoid;
+    }
+    div p {
+      margin: 0;
+    }
+    .controlcontrol {
+      background: orange;
+      width: 4em;
+    }
+
+    .control span {
+      background: blue;
+      color: blue;
+    }
+    .spacer {
+      padding-left: 4em;
+    }
+    .test span {
+      background: orange;
+      color: orange;
+    }
+    .ws-pre p {
+      white-space: pre;
+    }
+  </style>
+ </head>
+ <body>
+   <p>In each of the following pairs, the blue and orange bars must have equal lengths.</p>
+
+    <div>
+      <p class="control"><span class="spacer"></span>&nbsp;</p>
+      <p class="controlcontrol">&nbsp;</p>
+    </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; <span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; <span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; <span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; <span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; <span class="spacer"></span> <span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; <span class="spacer"></span> <span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;<span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;<span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp; &nbsp; <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+<!-- The original test has two spaces between the non-breaking spaces below. This causes WebKit to split the text into two-runs and drop the second of the two spaces.
+     This entire test can be replaced with word-spacing-characters-001.htm from the css test suite when https://bugs.webkit.org/show_bug.cgi?id=89827 is fixed.-->
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp; &nbsp; <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;  &nbsp;  <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>       &#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;  &nbsp;  <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>  &#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+
+ </body>
+</html>
diff --git a/LayoutTests/fast/css/word-spacing-characters-complex-text.html b/LayoutTests/fast/css/word-spacing-characters-complex-text.html
new file mode 100644 (file)
index 0000000..5270151
--- /dev/null
@@ -0,0 +1,87 @@
+<!DOCTYPE html PU&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;LIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing on Flexible Space Characters (adapted from word-spacing-characters-001.htm)</title>
+  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <meta name="flags" content="">
+  <meta name="assert" content="Word-spacing affects each space (U+0020)         and non-breaking space (U+00A0).">
+  <style type="text/css">
+    div {
+      margin: 1em;
+      font-family: monospace;
+      page-break-inside: avoid;
+    }
+    div p {
+      margin: 0;
+    }
+    .controlcontrol {
+      background: orange;
+      width: 4em;
+    }
+
+    .control span {
+      background: blue;
+      color: blue;
+    }
+    .spacer {
+      padding-left: 4em;
+    }
+    .test span {
+      word-spacing: 4em;
+      background: orange;
+      color: orange;
+    }
+    .ws-pre p {
+      white-space: pre;
+    }
+  </style>
+ </head>
+ <body>
+   <p>In each of the following pairs, the blue and orange bars must have equal lengths.</p>
+
+    <div>
+      <p class="control"><span class="spacer"></span>&nbsp;</p>
+      <p class="controlcontrol">&nbsp;</p>
+    </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; <span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; &#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; <span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;  &#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902; <span class="spacer"></span> <span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;  &#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;<span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;&nbsp;&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;&nbsp;&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp; &nbsp; <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+<!-- The original test has two spaces between the non-breaking spaces below. This causes WebKit to split the text into two-runs and drop the second of the two spaces.
+     This entire test can be replaced with word-spacing-characters-001.htm from the css test suite when https://bugs.webkit.org/show_bug.cgi?id=89827 is fixed.-->
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp; &nbsp;     
+        &#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;  &nbsp;  <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>       &#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+     <p class="test"><span>&#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;&nbsp;  &nbsp;    &#x935;&#x93F;&#x937;&#x92F;&#x94B;&#x902;</span></p>
+   </div>
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/fast/css/word-spacing-characters-expected.html b/LayoutTests/fast/css/word-spacing-characters-expected.html
new file mode 100644 (file)
index 0000000..4f98452
--- /dev/null
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing on Flexible Space Characters (adapted from word-spacing-characters-001.htm)</title>
+  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <meta name="flags" content="">
+  <meta name="assert" content="Word-spacing affects each space (U+0020)         and non-breaking space (U+00A0).">
+  <style type="text/css">
+    div {
+      margin: 1em;
+      font-family: monospace;
+      page-break-inside: avoid;
+    }
+    div p {
+      margin: 0;
+    }
+    .controlcontrol {
+      background: orange;
+      width: 4em;
+    }
+
+    .control span {
+      background: blue;
+      color: blue;
+    }
+    .spacer {
+      padding-left: 4em;
+    }
+    .test span {
+      background: orange;
+      color: orange;
+    }
+    .ws-pre p {
+      white-space: pre;
+    }
+  </style>
+ </head>
+ <body>
+   <p>In each of the following pairs, the blue and orange bars must have equal lengths.</p>
+
+    <div>
+      <p class="control"><span class="spacer"></span>&nbsp;</p>
+      <p class="controlcontrol"><span class="spacer"></span>&nbsp;</p>
+    </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>A <span class="spacer"></span>B</span></p>
+     <p class="test"><span>A <span class="spacer"></span>B</span></p>
+   </div>
+   <div class="ws-normal">
+     <p class="control"><span>A <span class="spacer"></span>B</span></p>
+     <p class="test"><span>A <span class="spacer"></span>B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A <span class="spacer"></span> <span class="spacer"></span>B</span></p>
+     <p class="test"><span>A <span class="spacer"></span> <span class="spacer"></span>B</span></p>
+   </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>A&nbsp;<span class="spacer"></span>B</span></p>
+     <p class="test"><span>A&nbsp;<span class="spacer"></span>B</span></p>
+   </div>
+   <div class="ws-normal">
+     <p class="control"><span>A&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>B</span></p>
+     <p class="test"><span>A&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>B</span></p>
+     <p class="test"><span>A&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>B</span></p>
+   </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>A&nbsp; &nbsp; <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>B</span></p>
+<!-- The original test has two spaces between the non-breaking spaces below. This causes WebKit to split the text into two-runs and drop the second of the two spaces.
+     This entire test can be replaced with word-spacing-characters-001.htm from the css test suite when https://bugs.webkit.org/show_bug.cgi?id=89827 is fixed.-->
+     <p class="test"><span>A&nbsp; &nbsp; <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&nbsp;  &nbsp;  <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>        B</span></p>
+     <p class="test"><span>A&nbsp;  &nbsp;  <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>   B</span></p>
+   </div>
+
+ </body>
+</html>
diff --git a/LayoutTests/fast/css/word-spacing-characters.html b/LayoutTests/fast/css/word-spacing-characters.html
new file mode 100644 (file)
index 0000000..0b7c401
--- /dev/null
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing on Flexible Space Characters (adapted from word-spacing-characters-001.htm)</title>
+  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <meta name="flags" content="">
+  <meta name="assert" content="Word-spacing affects each space (U+0020)         and non-breaking space (U+00A0).">
+  <style type="text/css">
+    div {
+      margin: 1em;
+      font-family: monospace;
+      page-break-inside: avoid;
+    }
+    div p {
+      margin: 0;
+    }
+    .controlcontrol {
+      background: orange;
+      width: 4em;
+    }
+
+    .control span {
+      background: blue;
+      color: blue;
+    }
+    .spacer {
+      padding-left: 4em;
+    }
+    .test span {
+      word-spacing: 4em;
+      background: orange;
+      color: orange;
+    }
+    .ws-pre p {
+      white-space: pre;
+    }
+  </style>
+ </head>
+ <body>
+   <p>In each of the following pairs, the blue and orange bars must have equal lengths.</p>
+
+    <div>
+      <p class="control"><span class="spacer"></span>&nbsp;</p>
+      <p class="controlcontrol">&nbsp;</p>
+    </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>A <span class="spacer"></span>B</span></p>
+     <p class="test"><span>A B</span></p>
+   </div>
+   <div class="ws-normal">
+     <p class="control"><span>A <span class="spacer"></span>B</span></p>
+     <p class="test"><span>A  B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A <span class="spacer"></span> <span class="spacer"></span>B</span></p>
+     <p class="test"><span>A  B</span></p>
+   </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>A&nbsp;<span class="spacer"></span>B</span></p>
+     <p class="test"><span>A&nbsp;B</span></p>
+   </div>
+   <div class="ws-normal">
+     <p class="control"><span>A&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>B</span></p>
+     <p class="test"><span>A&nbsp;&nbsp;B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&nbsp;&nbsp;<span class="spacer"></span><span class="spacer"></span>B</span></p>
+     <p class="test"><span>A&nbsp;&nbsp;B</span></p>
+   </div>
+
+   <div class="ws-normal">
+     <p class="control"><span>A&nbsp; &nbsp; <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>B</span></p>
+<!-- The original test has two spaces between the non-breaking spaces below. This causes WebKit to split the text into two-runs and drop the second of the two spaces.
+     This entire test can be replaced with word-spacing-characters-001.htm from the css test suite when https://bugs.webkit.org/show_bug.cgi?id=89827 is fixed.-->
+     <p class="test"><span>A&nbsp; &nbsp;      
+        B</span></p>
+   </div>
+   <div class="ws-pre">
+     <p class="control"><span>A&nbsp;  &nbsp;  <span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span><span class="spacer"></span>        B</span></p>
+     <p class="test"><span>A&nbsp;  &nbsp;     B</span></p>
+   </div>
+
+   </div>
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/fast/css/word-spacing-linebreak-expected.html b/LayoutTests/fast/css/word-spacing-linebreak-expected.html
new file mode 100644 (file)
index 0000000..e269672
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing and line-break</title>
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <meta name="assert" content="Word-spacing affects each space (U+0020) and non-breaking space (U+00A0).">
+  <style type="text/css">
+    div {
+      font: 12px Ahem;
+      width: 10em;
+    }
+  </style>
+ </head>
+ <body>
+
+    <p>The spaces should trigger a line-break, and the last black box should break onto the next line.</p>
+   <div class="ws-pre">
+      <p class="test"><span>1234567890 2</span></p>
+    </div>
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/fast/css/word-spacing-linebreak.html b/LayoutTests/fast/css/word-spacing-linebreak.html
new file mode 100644 (file)
index 0000000..3c8157c
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+  <title>CSS Test: word-spacing and line-break</title>
+  <link rel="help" href="http://www.w3.org/TR/CSS21/text.html#spacing-props">
+  <style type="text/css">
+    div {
+      font: 12px Ahem;
+      width: 14em;
+    }
+    .test span {
+      word-spacing: 1em;
+    }
+    .ws-pre p {
+      white-space: pre-wrap;
+    }
+  </style>
+ </head>
+ <body>
+
+   <p>The spaces should trigger a line-break, and the last black box should break onto the next line.</p>
+    <div class="ws-pre">
+      <p class="test"><span>1234567890  2</span></p>
+    </div>
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.png b/LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.png
deleted file mode 100644 (file)
index f94494e..0000000
Binary files a/LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.txt
deleted file mode 100644 (file)
index 832bb0a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x324
-  RenderBlock {HTML} at (0,0) size 800x324
-    RenderBody {BODY} at (8,16) size 784x300
-      RenderBlock {P} at (0,0) size 784x20
-        RenderText {#text} at (0,0) size 676x19
-          text run at (0,0) width 676: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (0,36) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,60) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,84) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,108) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,132) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,156) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,180) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,204) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,228) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,252) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,276) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
diff --git a/LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-01-b-a-expected.png b/LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-01-b-a-expected.png
deleted file mode 100644 (file)
index b1ed5df..0000000
Binary files a/LayoutTests/platform/chromium-linux/css2.1/t1604-c541-word-sp-01-b-a-expected.png and /dev/null differ
index 15c986e..3ec5ee1 100644 (file)
Binary files a/LayoutTests/platform/chromium-linux/fast/css/word-space-extra-expected.png and b/LayoutTests/platform/chromium-linux/fast/css/word-space-extra-expected.png differ
diff --git a/LayoutTests/platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-00-b-a-expected.png b/LayoutTests/platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-00-b-a-expected.png
deleted file mode 100644 (file)
index 8f6eaca..0000000
Binary files a/LayoutTests/platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-00-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-01-b-a-expected.png b/LayoutTests/platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-01-b-a-expected.png
deleted file mode 100644 (file)
index 946941a..0000000
Binary files a/LayoutTests/platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-01-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/chromium-mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png b/LayoutTests/platform/chromium-mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png
deleted file mode 100644 (file)
index f156975..0000000
Binary files a/LayoutTests/platform/chromium-mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/chromium-mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png b/LayoutTests/platform/chromium-mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png
deleted file mode 100644 (file)
index 2eecaf7..0000000
Binary files a/LayoutTests/platform/chromium-mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.png b/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.png
deleted file mode 100644 (file)
index 6dcbbdf..0000000
Binary files a/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.txt b/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.txt
deleted file mode 100644 (file)
index c176615..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x324
-  RenderBlock {HTML} at (0,0) size 800x324
-    RenderBody {BODY} at (8,16) size 784x300
-      RenderBlock {P} at (0,0) size 784x20
-        RenderText {#text} at (0,0) size 676x19
-          text run at (0,0) width 676: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (0,36) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,60) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,84) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,108) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,132) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,156) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,180) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,204) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,228) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,252) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 402x24
-          text run at (0,0) width 402: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,276) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
diff --git a/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.png b/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.png
deleted file mode 100644 (file)
index 6f791a1..0000000
Binary files a/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.txt b/LayoutTests/platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.txt
deleted file mode 100644 (file)
index ba8d106..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x204
-  RenderBlock {HTML} at (0,0) size 800x204
-    RenderBody {BODY} at (8,16) size 784x180
-      RenderBlock {P} at (0,0) size 784x20
-        RenderText {#text} at (0,0) size 676x19
-          text run at (0,0) width 676: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (48,36) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,60) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,84) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,108) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 144x24
-          text run at (0,0) width 144: "x x "
-        RenderInline {SPAN} at (0,0) size 120x24
-          RenderText {#text} at (144,0) size 120x24
-            text run at (144,0) width 120: "xx xx"
-        RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (48,132) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,156) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x   x   xx  xx"
index 02dede8..fc0eec5 100644 (file)
@@ -1,4 +1,4 @@
-layer at (0,0) size 2026x2576
+layer at (0,0) size 2066x2576
   RenderView at (0,0) size 785x585
 layer at (0,0) size 785x2576
   RenderBlock {HTML} at (0,0) size 785x2577
@@ -6,284 +6,284 @@ layer at (0,0) size 785x2576
       RenderBlock {H2} at (0,0) size 769x27
         RenderText {#text} at (0,0) size 138x26
           text run at (0,0) width 138: "word-spacing"
-      RenderBlock (floating) {PRE} at (0,59) size 1224x184
-        RenderBlock {H3} at (0,15) size 1224x18
+      RenderBlock (floating) {PRE} at (0,59) size 1264x184
+        RenderBlock {H3} at (0,15) size 1264x18
           RenderText {#text} at (0,0) size 204x17
             text run at (0,0) width 204: "In a floated pre"
-        RenderBlock (anonymous) at (0,47) size 1224x136
-          RenderText {#text} at (0,0) size 220x33
+        RenderBlock (anonymous) at (0,47) size 1264x136
+          RenderText {#text} at (0,0) size 260x33
             text run at (0,0) width 0: " "
-            text run at (0,17) width 220: "Word   spacing test "
+            text run at (0,17) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,16) size 24x17
-              text run at (220,16) width 24: "for"
-          RenderText {#text} at (264,17) size 8x16
-            text run at (264,17) width 8: " "
+            RenderText {#text} at (260,16) size 24x17
+              text run at (260,16) width 24: "for"
+          RenderText {#text} at (304,17) size 8x16
+            text run at (304,17) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,17) size 64x16
-              text run at (272,17) width 64: "elements"
-          RenderText {#text} at (356,17) size 8x16
-            text run at (356,17) width 8: " "
+            RenderText {#text} at (312,17) size 64x16
+              text run at (312,17) width 64: "elements"
+          RenderText {#text} at (396,17) size 8x16
+            text run at (396,17) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,17) size 48x16
-              text run at (364,17) width 48: "within"
-          RenderText {#text} at (432,17) size 584x33
-            text run at (432,17) width 132: " elements too."
-            text run at (584,17) width 0: " "
-            text run at (0,34) width 220: "Word   spacing test "
+            RenderText {#text} at (404,17) size 48x16
+              text run at (404,17) width 48: "within"
+          RenderText {#text} at (472,17) size 624x33
+            text run at (472,17) width 132: " elements too."
+            text run at (624,17) width 0: " "
+            text run at (0,34) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,33) size 24x17
-              text run at (220,33) width 24: "for"
-          RenderText {#text} at (264,34) size 8x16
-            text run at (264,34) width 8: " "
+            RenderText {#text} at (260,33) size 24x17
+              text run at (260,33) width 24: "for"
+          RenderText {#text} at (304,34) size 8x16
+            text run at (304,34) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,34) size 64x16
-              text run at (272,34) width 64: "elements"
-          RenderText {#text} at (356,34) size 8x16
-            text run at (356,34) width 8: " "
+            RenderText {#text} at (312,34) size 64x16
+              text run at (312,34) width 64: "elements"
+          RenderText {#text} at (396,34) size 8x16
+            text run at (396,34) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,34) size 48x16
-              text run at (364,34) width 48: "within"
-          RenderText {#text} at (432,34) size 100x16
-            text run at (432,34) width 100: " elements "
-          RenderText {#text} at (532,34) size 1032x33
-            text run at (532,34) width 480: " too. (with comment between elements and too)"
-            text run at (1032,34) width 0: " "
-            text run at (0,51) width 220: "Word   spacing test "
+            RenderText {#text} at (404,34) size 48x16
+              text run at (404,34) width 48: "within"
+          RenderText {#text} at (472,34) size 100x16
+            text run at (472,34) width 100: " elements "
+          RenderText {#text} at (572,34) size 1072x33
+            text run at (572,34) width 480: " too. (with comment between elements and too)"
+            text run at (1072,34) width 0: " "
+            text run at (0,51) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,50) size 24x17
-              text run at (220,50) width 24: "for"
-          RenderText {#text} at (264,51) size 8x16
-            text run at (264,51) width 8: " "
+            RenderText {#text} at (260,50) size 24x17
+              text run at (260,50) width 24: "for"
+          RenderText {#text} at (304,51) size 8x16
+            text run at (304,51) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,51) size 64x16
-              text run at (272,51) width 64: "elements"
-          RenderText {#text} at (356,51) size 8x16
-            text run at (356,51) width 8: " "
+            RenderText {#text} at (312,51) size 64x16
+              text run at (312,51) width 64: "elements"
+          RenderText {#text} at (396,51) size 8x16
+            text run at (396,51) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,51) size 48x16
-              text run at (364,51) width 48: "within"
-          RenderText {#text} at (432,51) size 72x16
-            text run at (432,51) width 72: " elements"
-          RenderText {#text} at (524,51) size 1260x33
-            text run at (524,51) width 716: " too. (with comment (no preceeding space) between elements and too)"
-            text run at (1260,51) width 0: " "
-            text run at (0,68) width 220: "Word   spacing test "
+            RenderText {#text} at (404,51) size 48x16
+              text run at (404,51) width 48: "within"
+          RenderText {#text} at (472,51) size 72x16
+            text run at (472,51) width 72: " elements"
+          RenderText {#text} at (564,51) size 1300x33
+            text run at (564,51) width 716: " too. (with comment (no preceeding space) between elements and too)"
+            text run at (1300,51) width 0: " "
+            text run at (0,68) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,67) size 24x17
-              text run at (220,67) width 24: "for"
-          RenderText {#text} at (264,68) size 8x16
-            text run at (264,68) width 8: " "
+            RenderText {#text} at (260,67) size 24x17
+              text run at (260,67) width 24: "for"
+          RenderText {#text} at (304,68) size 8x16
+            text run at (304,68) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,68) size 64x16
-              text run at (272,68) width 64: "elements"
-          RenderText {#text} at (356,68) size 8x16
-            text run at (356,68) width 8: " "
+            RenderText {#text} at (312,68) size 64x16
+              text run at (312,68) width 64: "elements"
+          RenderText {#text} at (396,68) size 8x16
+            text run at (396,68) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,68) size 48x16
-              text run at (364,68) width 48: "within"
-          RenderText {#text} at (432,68) size 100x16
-            text run at (432,68) width 100: " elements "
-          RenderText {#text} at (532,68) size 712x16
-            text run at (532,68) width 692: "too. (with comment (no trailing space) between elements and too)"
-            text run at (1244,68) width 0: " "
-          RenderInline {SPAN} at (0,0) size 336x16
-            RenderText {#text} at (0,85) size 220x16
-              text run at (0,85) width 220: "Word   spacing test "
+            RenderText {#text} at (404,68) size 48x16
+              text run at (404,68) width 48: "within"
+          RenderText {#text} at (472,68) size 100x16
+            text run at (472,68) width 100: " elements "
+          RenderText {#text} at (572,68) size 712x16
+            text run at (572,68) width 692: "too. (with comment (no trailing space) between elements and too)"
+            text run at (1284,68) width 0: " "
+          RenderInline {SPAN} at (0,0) size 376x16
+            RenderText {#text} at (0,85) size 260x16
+              text run at (0,85) width 260: "Word   spacing test "
             RenderInline {EM} at (0,0) size 24x17
-              RenderText {#text} at (220,84) size 24x17
-                text run at (220,84) width 24: "for"
-            RenderText {#text} at (264,85) size 8x16
-              text run at (264,85) width 8: " "
+              RenderText {#text} at (260,84) size 24x17
+                text run at (260,84) width 24: "for"
+            RenderText {#text} at (304,85) size 8x16
+              text run at (304,85) width 8: " "
             RenderInline {STRONG} at (0,0) size 64x16
-              RenderText {#text} at (272,85) size 64x16
-                text run at (272,85) width 64: "elements"
-          RenderText {#text} at (356,85) size 8x16
-            text run at (356,85) width 8: " "
+              RenderText {#text} at (312,85) size 64x16
+                text run at (312,85) width 64: "elements"
+          RenderText {#text} at (396,85) size 8x16
+            text run at (396,85) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,85) size 48x16
-              text run at (364,85) width 48: "within"
-          RenderText {#text} at (432,85) size 1076x33
-            text run at (432,85) width 624: " elements too. (with monospace font from Word to elements)"
-            text run at (1076,85) width 0: " "
-            text run at (0,102) width 220: "Word   spacing test "
+            RenderText {#text} at (404,85) size 48x16
+              text run at (404,85) width 48: "within"
+          RenderText {#text} at (472,85) size 1116x33
+            text run at (472,85) width 624: " elements too. (with monospace font from Word to elements)"
+            text run at (1116,85) width 0: " "
+            text run at (0,102) width 260: "Word   spacing test "
           RenderInline {SPAN} at (0,0) size 192x16
             RenderInline {EM} at (0,0) size 24x17
-              RenderText {#text} at (220,101) size 24x17
-                text run at (220,101) width 24: "for"
-            RenderText {#text} at (264,102) size 8x16
-              text run at (264,102) width 8: " "
+              RenderText {#text} at (260,101) size 24x17
+                text run at (260,101) width 24: "for"
+            RenderText {#text} at (304,102) size 8x16
+              text run at (304,102) width 8: " "
             RenderInline {STRONG} at (0,0) size 64x16
-              RenderText {#text} at (272,102) size 64x16
-                text run at (272,102) width 64: "elements"
-            RenderText {#text} at (356,102) size 8x16
-              text run at (356,102) width 8: " "
+              RenderText {#text} at (312,102) size 64x16
+                text run at (312,102) width 64: "elements"
+            RenderText {#text} at (396,102) size 8x16
+              text run at (396,102) width 8: " "
             RenderInline {TT} at (0,0) size 48x16
-              RenderText {#text} at (364,102) size 48x16
-                text run at (364,102) width 48: "within"
-          RenderText {#text} at (432,102) size 1052x33
-            text run at (432,102) width 600: " elements too. (with monospace font from for to within)"
-            text run at (1052,102) width 0: " "
-            text run at (0,119) width 220: "Word   spacing test "
+              RenderText {#text} at (404,102) size 48x16
+                text run at (404,102) width 48: "within"
+          RenderText {#text} at (472,102) size 1092x33
+            text run at (472,102) width 600: " elements too. (with monospace font from for to within)"
+            text run at (1092,102) width 0: " "
+            text run at (0,119) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,118) size 24x17
-              text run at (220,118) width 24: "for"
-          RenderText {#text} at (264,119) size 8x16
-            text run at (264,119) width 8: " "
+            RenderText {#text} at (260,118) size 24x17
+              text run at (260,118) width 24: "for"
+          RenderText {#text} at (304,119) size 8x16
+            text run at (304,119) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,119) size 64x16
-              text run at (272,119) width 64: "elements"
-          RenderText {#text} at (356,119) size 8x16
-            text run at (356,119) width 8: " "
+            RenderText {#text} at (312,119) size 64x16
+              text run at (312,119) width 64: "elements"
+          RenderText {#text} at (396,119) size 8x16
+            text run at (396,119) width 8: " "
           RenderInline {SPAN} at (0,0) size 192x16
             RenderInline {TT} at (0,0) size 48x16
-              RenderText {#text} at (364,119) size 48x16
-                text run at (364,119) width 48: "within"
-            RenderText {#text} at (432,119) size 124x16
-              text run at (432,119) width 124: " elements too"
-          RenderText {#text} at (556,119) size 512x16
-            text run at (556,119) width 492: ". (with monospace font from elements to too)"
-            text run at (1068,119) width 0: " "
+              RenderText {#text} at (404,119) size 48x16
+                text run at (404,119) width 48: "within"
+            RenderText {#text} at (472,119) size 124x16
+              text run at (472,119) width 124: " elements too"
+          RenderText {#text} at (596,119) size 512x16
+            text run at (596,119) width 492: ". (with monospace font from elements to too)"
+            text run at (1108,119) width 0: " "
       RenderBlock (anonymous) at (0,46) size 769x210
-        RenderBR {BR} at (1224,0) size 0x19
+        RenderBR {BR} at (1264,0) size 0x19
       RenderBlock {PRE} at (0,270) size 769x168
         RenderBlock {H3} at (0,0) size 769x17
           RenderText {#text} at (0,0) size 240x17
             text run at (0,0) width 240: "In an un-floated pre"
         RenderBlock (anonymous) at (0,32) size 769x136
-          RenderText {#text} at (0,0) size 220x33
+          RenderText {#text} at (0,0) size 260x33
             text run at (0,0) width 0: " "
-            text run at (0,17) width 220: "Word   spacing test "
+            text run at (0,17) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,16) size 24x17
-              text run at (220,16) width 24: "for"
-          RenderText {#text} at (264,17) size 8x16
-            text run at (264,17) width 8: " "
+            RenderText {#text} at (260,16) size 24x17
+              text run at (260,16) width 24: "for"
+          RenderText {#text} at (304,17) size 8x16
+            text run at (304,17) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,17) size 64x16
-              text run at (272,17) width 64: "elements"
-          RenderText {#text} at (356,17) size 8x16
-            text run at (356,17) width 8: " "
+            RenderText {#text} at (312,17) size 64x16
+              text run at (312,17) width 64: "elements"
+          RenderText {#text} at (396,17) size 8x16
+            text run at (396,17) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,17) size 48x16
-              text run at (364,17) width 48: "within"
-          RenderText {#text} at (432,17) size 584x33
-            text run at (432,17) width 132: " elements too."
-            text run at (584,17) width 0: " "
-            text run at (0,34) width 220: "Word   spacing test "
+            RenderText {#text} at (404,17) size 48x16
+              text run at (404,17) width 48: "within"
+          RenderText {#text} at (472,17) size 624x33
+            text run at (472,17) width 132: " elements too."
+            text run at (624,17) width 0: " "
+            text run at (0,34) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,33) size 24x17
-              text run at (220,33) width 24: "for"
-          RenderText {#text} at (264,34) size 8x16
-            text run at (264,34) width 8: " "
+            RenderText {#text} at (260,33) size 24x17
+              text run at (260,33) width 24: "for"
+          RenderText {#text} at (304,34) size 8x16
+            text run at (304,34) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,34) size 64x16
-              text run at (272,34) width 64: "elements"
-          RenderText {#text} at (356,34) size 8x16
-            text run at (356,34) width 8: " "
+            RenderText {#text} at (312,34) size 64x16
+              text run at (312,34) width 64: "elements"
+          RenderText {#text} at (396,34) size 8x16
+            text run at (396,34) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,34) size 48x16
-              text run at (364,34) width 48: "within"
-          RenderText {#text} at (432,34) size 100x16
-            text run at (432,34) width 100: " elements "
-          RenderText {#text} at (532,34) size 1032x33
-            text run at (532,34) width 480: " too. (with comment between elements and too)"
-            text run at (1032,34) width 0: " "
-            text run at (0,51) width 220: "Word   spacing test "
+            RenderText {#text} at (404,34) size 48x16
+              text run at (404,34) width 48: "within"
+          RenderText {#text} at (472,34) size 100x16
+            text run at (472,34) width 100: " elements "
+          RenderText {#text} at (572,34) size 1072x33
+            text run at (572,34) width 480: " too. (with comment between elements and too)"
+            text run at (1072,34) width 0: " "
+            text run at (0,51) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,50) size 24x17
-              text run at (220,50) width 24: "for"
-          RenderText {#text} at (264,51) size 8x16
-            text run at (264,51) width 8: " "
+            RenderText {#text} at (260,50) size 24x17
+              text run at (260,50) width 24: "for"
+          RenderText {#text} at (304,51) size 8x16
+            text run at (304,51) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,51) size 64x16
-              text run at (272,51) width 64: "elements"
-          RenderText {#text} at (356,51) size 8x16
-            text run at (356,51) width 8: " "
+            RenderText {#text} at (312,51) size 64x16
+              text run at (312,51) width 64: "elements"
+          RenderText {#text} at (396,51) size 8x16
+            text run at (396,51) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,51) size 48x16
-              text run at (364,51) width 48: "within"
-          RenderText {#text} at (432,51) size 72x16
-            text run at (432,51) width 72: " elements"
-          RenderText {#text} at (524,51) size 1260x33
-            text run at (524,51) width 716: " too. (with comment (no preceeding space) between elements and too)"
-            text run at (1260,51) width 0: " "
-            text run at (0,68) width 220: "Word   spacing test "
+            RenderText {#text} at (404,51) size 48x16
+              text run at (404,51) width 48: "within"
+          RenderText {#text} at (472,51) size 72x16
+            text run at (472,51) width 72: " elements"
+          RenderText {#text} at (564,51) size 1300x33
+            text run at (564,51) width 716: " too. (with comment (no preceeding space) between elements and too)"
+            text run at (1300,51) width 0: " "
+            text run at (0,68) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,67) size 24x17
-              text run at (220,67) width 24: "for"
-          RenderText {#text} at (264,68) size 8x16
-            text run at (264,68) width 8: " "
+            RenderText {#text} at (260,67) size 24x17
+              text run at (260,67) width 24: "for"
+          RenderText {#text} at (304,68) size 8x16
+            text run at (304,68) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,68) size 64x16
-              text run at (272,68) width 64: "elements"
-          RenderText {#text} at (356,68) size 8x16
-            text run at (356,68) width 8: " "
+            RenderText {#text} at (312,68) size 64x16
+              text run at (312,68) width 64: "elements"
+          RenderText {#text} at (396,68) size 8x16
+            text run at (396,68) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,68) size 48x16
-              text run at (364,68) width 48: "within"
-          RenderText {#text} at (432,68) size 100x16
-            text run at (432,68) width 100: " elements "
-          RenderText {#text} at (532,68) size 712x16
-            text run at (532,68) width 692: "too. (with comment (no trailing space) between elements and too)"
-            text run at (1244,68) width 0: " "
-          RenderInline {SPAN} at (0,0) size 336x16
-            RenderText {#text} at (0,85) size 220x16
-              text run at (0,85) width 220: "Word   spacing test "
+            RenderText {#text} at (404,68) size 48x16
+              text run at (404,68) width 48: "within"
+          RenderText {#text} at (472,68) size 100x16
+            text run at (472,68) width 100: " elements "
+          RenderText {#text} at (572,68) size 712x16
+            text run at (572,68) width 692: "too. (with comment (no trailing space) between elements and too)"
+            text run at (1284,68) width 0: " "
+          RenderInline {SPAN} at (0,0) size 376x16
+            RenderText {#text} at (0,85) size 260x16
+              text run at (0,85) width 260: "Word   spacing test "
             RenderInline {EM} at (0,0) size 24x17
-              RenderText {#text} at (220,84) size 24x17
-                text run at (220,84) width 24: "for"
-            RenderText {#text} at (264,85) size 8x16
-              text run at (264,85) width 8: " "
+              RenderText {#text} at (260,84) size 24x17
+                text run at (260,84) width 24: "for"
+            RenderText {#text} at (304,85) size 8x16
+              text run at (304,85) width 8: " "
             RenderInline {STRONG} at (0,0) size 64x16
-              RenderText {#text} at (272,85) size 64x16
-                text run at (272,85) width 64: "elements"
-          RenderText {#text} at (356,85) size 8x16
-            text run at (356,85) width 8: " "
+              RenderText {#text} at (312,85) size 64x16
+                text run at (312,85) width 64: "elements"
+          RenderText {#text} at (396,85) size 8x16
+            text run at (396,85) width 8: " "
           RenderInline {TT} at (0,0) size 48x16
-            RenderText {#text} at (364,85) size 48x16
-              text run at (364,85) width 48: "within"
-          RenderText {#text} at (432,85) size 1076x33
-            text run at (432,85) width 624: " elements too. (with monospace font from Word to elements)"
-            text run at (1076,85) width 0: " "
-            text run at (0,102) width 220: "Word   spacing test "
+            RenderText {#text} at (404,85) size 48x16
+              text run at (404,85) width 48: "within"
+          RenderText {#text} at (472,85) size 1116x33
+            text run at (472,85) width 624: " elements too. (with monospace font from Word to elements)"
+            text run at (1116,85) width 0: " "
+            text run at (0,102) width 260: "Word   spacing test "
           RenderInline {SPAN} at (0,0) size 192x16
             RenderInline {EM} at (0,0) size 24x17
-              RenderText {#text} at (220,101) size 24x17
-                text run at (220,101) width 24: "for"
-            RenderText {#text} at (264,102) size 8x16
-              text run at (264,102) width 8: " "
+              RenderText {#text} at (260,101) size 24x17
+                text run at (260,101) width 24: "for"
+            RenderText {#text} at (304,102) size 8x16
+              text run at (304,102) width 8: " "
             RenderInline {STRONG} at (0,0) size 64x16
-              RenderText {#text} at (272,102) size 64x16
-                text run at (272,102) width 64: "elements"
-            RenderText {#text} at (356,102) size 8x16
-              text run at (356,102) width 8: " "
+              RenderText {#text} at (312,102) size 64x16
+                text run at (312,102) width 64: "elements"
+            RenderText {#text} at (396,102) size 8x16
+              text run at (396,102) width 8: " "
             RenderInline {TT} at (0,0) size 48x16
-              RenderText {#text} at (364,102) size 48x16
-                text run at (364,102) width 48: "within"
-          RenderText {#text} at (432,102) size 1052x33
-            text run at (432,102) width 600: " elements too. (with monospace font from for to within)"
-            text run at (1052,102) width 0: " "
-            text run at (0,119) width 220: "Word   spacing test "
+              RenderText {#text} at (404,102) size 48x16
+                text run at (404,102) width 48: "within"
+          RenderText {#text} at (472,102) size 1092x33
+            text run at (472,102) width 600: " elements too. (with monospace font from for to within)"
+            text run at (1092,102) width 0: " "
+            text run at (0,119) width 260: "Word   spacing test "
           RenderInline {EM} at (0,0) size 24x17
-            RenderText {#text} at (220,118) size 24x17
-              text run at (220,118) width 24: "for"
-          RenderText {#text} at (264,119) size 8x16
-            text run at (264,119) width 8: " "
+            RenderText {#text} at (260,118) size 24x17
+              text run at (260,118) width 24: "for"
+          RenderText {#text} at (304,119) size 8x16
+            text run at (304,119) width 8: " "
           RenderInline {STRONG} at (0,0) size 64x16
-            RenderText {#text} at (272,119) size 64x16
-              text run at (272,119) width 64: "elements"
-          RenderText {#text} at (356,119) size 8x16
-            text run at (356,119) width 8: " "
+            RenderText {#text} at (312,119) size 64x16
+              text run at (312,119) width 64: "elements"
+          RenderText {#text} at (396,119) size 8x16
+            text run at (396,119) width 8: " "
           RenderInline {SPAN} at (0,0) size 192x16
             RenderInline {TT} at (0,0) size 48x16
-              RenderText {#text} at (364,119) size 48x16
-                text run at (364,119) width 48: "within"
-            RenderText {#text} at (432,119) size 124x16
-              text run at (432,119) width 124: " elements too"
-          RenderText {#text} at (556,119) size 512x16
-            text run at (556,119) width 492: ". (with monospace font from elements to too)"
-            text run at (1068,119) width 0: " "
+              RenderText {#text} at (404,119) size 48x16
+                text run at (404,119) width 48: "within"
+            RenderText {#text} at (472,119) size 124x16
+              text run at (472,119) width 124: " elements too"
+          RenderText {#text} at (596,119) size 512x16
+            text run at (596,119) width 492: ". (with monospace font from elements to too)"
+            text run at (1108,119) width 0: " "
       RenderBlock (anonymous) at (0,450) size 769x1
         RenderInline {SPAN} at (0,0) size 0x0
           RenderText {#text} at (0,0) size 0x0
@@ -441,7 +441,7 @@ layer at (0,0) size 785x2576
               text run at (369,223) width 124: " elements too"
           RenderText {#text} at (493,220) size 743x39
             text run at (493,220) width 250: ". (with monospace font from"
-            text run at (0,240) width 161: "elements to too) "
+            text run at (0,240) width 141: "elements to too) "
         RenderText {#text} at (0,0) size 0x0
         RenderBR {BR} at (0,0) size 0x0
         RenderBR {BR} at (0,260) size 0x19
@@ -893,284 +893,284 @@ layer at (0,0) size 785x2576
       RenderBlock {H2} at (0,1669) size 769x28
         RenderText {#text} at (0,0) size 131x26
           text run at (0,0) width 131: "both-spacing"
-      RenderBlock (floating) {PRE} at (0,1729) size 1978x183
-        RenderBlock {H3} at (0,15) size 1978x18
+      RenderBlock (floating) {PRE} at (0,1729) size 2018x183
+        RenderBlock {H3} at (0,15) size 2018x18
           RenderText {#text} at (0,0) size 284x17
             text run at (0,0) width 284: "In a floated pre"
-        RenderBlock (anonymous) at (0,47) size 1978x136
-          RenderText {#text} at (0,0) size 503x33
+        RenderBlock (anonymous) at (0,47) size 2018x136
+          RenderText {#text} at (0,0) size 543x33
             text run at (0,0) width 0: " "
-            text run at (0,17) width 503: "Word and letter   spacing test "
+            text run at (0,17) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,16) size 39x17
-              text run at (503,16) width 39: "for"
-          RenderText {#text} at (562,17) size 13x16
-            text run at (562,17) width 13: " "
+            RenderText {#text} at (543,16) size 39x17
+              text run at (543,16) width 39: "for"
+          RenderText {#text} at (602,17) size 13x16
+            text run at (602,17) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,17) size 104x16
-              text run at (575,17) width 104: "elements"
-          RenderText {#text} at (699,17) size 13x16
-            text run at (699,17) width 13: " "
+            RenderText {#text} at (615,17) size 104x16
+              text run at (615,17) width 104: "elements"
+          RenderText {#text} at (739,17) size 13x16
+            text run at (739,17) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,17) size 78x16
-              text run at (712,17) width 78: "within"
-          RenderText {#text} at (810,17) size 1032x33
-            text run at (810,17) width 202: " elements too."
-            text run at (1032,17) width 0: " "
-            text run at (0,34) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,17) size 78x16
+              text run at (752,17) width 78: "within"
+          RenderText {#text} at (850,17) size 1072x33
+            text run at (850,17) width 202: " elements too."
+            text run at (1072,17) width 0: " "
+            text run at (0,34) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,33) size 39x17
-              text run at (503,33) width 39: "for"
-          RenderText {#text} at (562,34) size 13x16
-            text run at (562,34) width 13: " "
+            RenderText {#text} at (543,33) size 39x17
+              text run at (543,33) width 39: "for"
+          RenderText {#text} at (602,34) size 13x16
+            text run at (602,34) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,34) size 104x16
-              text run at (575,34) width 104: "elements"
-          RenderText {#text} at (699,34) size 13x16
-            text run at (699,34) width 13: " "
+            RenderText {#text} at (615,34) size 104x16
+              text run at (615,34) width 104: "elements"
+          RenderText {#text} at (739,34) size 13x16
+            text run at (739,34) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,34) size 78x16
-              text run at (712,34) width 78: "within"
-          RenderText {#text} at (810,34) size 150x16
-            text run at (810,34) width 150: " elements "
-          RenderText {#text} at (960,34) size 1685x33
-            text run at (960,34) width 705: " too. (with comment between elements and too)"
-            text run at (1685,34) width 0: " "
-            text run at (0,51) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,34) size 78x16
+              text run at (752,34) width 78: "within"
+          RenderText {#text} at (850,34) size 150x16
+            text run at (850,34) width 150: " elements "
+          RenderText {#text} at (1000,34) size 1725x33
+            text run at (1000,34) width 705: " too. (with comment between elements and too)"
+            text run at (1725,34) width 0: " "
+            text run at (0,51) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,50) size 39x17
-              text run at (503,50) width 39: "for"
-          RenderText {#text} at (562,51) size 13x16
-            text run at (562,51) width 13: " "
+            RenderText {#text} at (543,50) size 39x17
+              text run at (543,50) width 39: "for"
+          RenderText {#text} at (602,51) size 13x16
+            text run at (602,51) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,51) size 104x16
-              text run at (575,51) width 104: "elements"
-          RenderText {#text} at (699,51) size 13x16
-            text run at (699,51) width 13: " "
+            RenderText {#text} at (615,51) size 104x16
+              text run at (615,51) width 104: "elements"
+          RenderText {#text} at (739,51) size 13x16
+            text run at (739,51) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,51) size 78x16
-              text run at (712,51) width 78: "within"
-          RenderText {#text} at (810,51) size 117x16
-            text run at (810,51) width 117: " elements"
-          RenderText {#text} at (947,51) size 2018x33
-            text run at (947,51) width 1051: " too. (with comment (no preceeding space) between elements and too)"
-            text run at (2018,51) width 0: " "
-            text run at (0,68) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,51) size 78x16
+              text run at (752,51) width 78: "within"
+          RenderText {#text} at (850,51) size 117x16
+            text run at (850,51) width 117: " elements"
+          RenderText {#text} at (987,51) size 2058x33
+            text run at (987,51) width 1051: " too. (with comment (no preceeding space) between elements and too)"
+            text run at (2058,51) width 0: " "
+            text run at (0,68) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,67) size 39x17
-              text run at (503,67) width 39: "for"
-          RenderText {#text} at (562,68) size 13x16
-            text run at (562,68) width 13: " "
+            RenderText {#text} at (543,67) size 39x17
+              text run at (543,67) width 39: "for"
+          RenderText {#text} at (602,68) size 13x16
+            text run at (602,68) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,68) size 104x16
-              text run at (575,68) width 104: "elements"
-          RenderText {#text} at (699,68) size 13x16
-            text run at (699,68) width 13: " "
+            RenderText {#text} at (615,68) size 104x16
+              text run at (615,68) width 104: "elements"
+          RenderText {#text} at (739,68) size 13x16
+            text run at (739,68) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,68) size 78x16
-              text run at (712,68) width 78: "within"
-          RenderText {#text} at (810,68) size 150x16
-            text run at (810,68) width 150: " elements "
-          RenderText {#text} at (960,68) size 1032x16
-            text run at (960,68) width 1012: "too. (with comment (no trailing space) between elements and too)"
-            text run at (1992,68) width 0: " "
-          RenderInline {SPAN} at (0,0) size 679x16
-            RenderText {#text} at (0,85) size 503x16
-              text run at (0,85) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,68) size 78x16
+              text run at (752,68) width 78: "within"
+          RenderText {#text} at (850,68) size 150x16
+            text run at (850,68) width 150: " elements "
+          RenderText {#text} at (1000,68) size 1032x16
+            text run at (1000,68) width 1012: "too. (with comment (no trailing space) between elements and too)"
+            text run at (2032,68) width 0: " "
+          RenderInline {SPAN} at (0,0) size 719x16
+            RenderText {#text} at (0,85) size 543x16
+              text run at (0,85) width 543: "Word and letter   spacing test "
             RenderInline {EM} at (0,0) size 39x17
-              RenderText {#text} at (503,84) size 39x17
-                text run at (503,84) width 39: "for"
-            RenderText {#text} at (562,85) size 13x16
-              text run at (562,85) width 13: " "
+              RenderText {#text} at (543,84) size 39x17
+                text run at (543,84) width 39: "for"
+            RenderText {#text} at (602,85) size 13x16
+              text run at (602,85) width 13: " "
             RenderInline {STRONG} at (0,0) size 104x16
-              RenderText {#text} at (575,85) size 104x16
-                text run at (575,85) width 104: "elements"
-          RenderText {#text} at (699,85) size 13x16
-            text run at (699,85) width 13: " "
+              RenderText {#text} at (615,85) size 104x16
+                text run at (615,85) width 104: "elements"
+          RenderText {#text} at (739,85) size 13x16
+            text run at (739,85) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,85) size 78x16
-              text run at (712,85) width 78: "within"
-          RenderText {#text} at (810,85) size 1744x33
-            text run at (810,85) width 914: " elements too. (with monospace font from Word to elements)"
-            text run at (1744,85) width 0: " "
-            text run at (0,102) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,85) size 78x16
+              text run at (752,85) width 78: "within"
+          RenderText {#text} at (850,85) size 1784x33
+            text run at (850,85) width 914: " elements too. (with monospace font from Word to elements)"
+            text run at (1784,85) width 0: " "
+            text run at (0,102) width 543: "Word and letter   spacing test "
           RenderInline {SPAN} at (0,0) size 287x16
             RenderInline {EM} at (0,0) size 39x17
-              RenderText {#text} at (503,101) size 39x17
-                text run at (503,101) width 39: "for"
-            RenderText {#text} at (562,102) size 13x16
-              text run at (562,102) width 13: " "
+              RenderText {#text} at (543,101) size 39x17
+                text run at (543,101) width 39: "for"
+            RenderText {#text} at (602,102) size 13x16
+              text run at (602,102) width 13: " "
             RenderInline {STRONG} at (0,0) size 104x16
-              RenderText {#text} at (575,102) size 104x16
-                text run at (575,102) width 104: "elements"
-            RenderText {#text} at (699,102) size 13x16
-              text run at (699,102) width 13: " "
+              RenderText {#text} at (615,102) size 104x16
+                text run at (615,102) width 104: "elements"
+            RenderText {#text} at (739,102) size 13x16
+              text run at (739,102) width 13: " "
             RenderInline {TT} at (0,0) size 78x16
-              RenderText {#text} at (712,102) size 78x16
-                text run at (712,102) width 78: "within"
-          RenderText {#text} at (810,102) size 1705x33
-            text run at (810,102) width 875: " elements too. (with monospace font from for to within)"
-            text run at (1705,102) width 0: " "
-            text run at (0,119) width 503: "Word and letter   spacing test "
+              RenderText {#text} at (752,102) size 78x16
+                text run at (752,102) width 78: "within"
+          RenderText {#text} at (850,102) size 1745x33
+            text run at (850,102) width 875: " elements too. (with monospace font from for to within)"
+            text run at (1745,102) width 0: " "
+            text run at (0,119) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,118) size 39x17
-              text run at (503,118) width 39: "for"
-          RenderText {#text} at (562,119) size 13x16
-            text run at (562,119) width 13: " "
+            RenderText {#text} at (543,118) size 39x17
+              text run at (543,118) width 39: "for"
+          RenderText {#text} at (602,119) size 13x16
+            text run at (602,119) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,119) size 104x16
-              text run at (575,119) width 104: "elements"
-          RenderText {#text} at (699,119) size 13x16
-            text run at (699,119) width 13: " "
+            RenderText {#text} at (615,119) size 104x16
+              text run at (615,119) width 104: "elements"
+          RenderText {#text} at (739,119) size 13x16
+            text run at (739,119) width 13: " "
           RenderInline {SPAN} at (0,0) size 287x16
             RenderInline {TT} at (0,0) size 78x16
-              RenderText {#text} at (712,119) size 78x16
-                text run at (712,119) width 78: "within"
-            RenderText {#text} at (810,119) size 189x16
-              text run at (810,119) width 189: " elements too"
-          RenderText {#text} at (999,119) size 732x16
-            text run at (999,119) width 712: ". (with monospace font from elements to too)"
-            text run at (1731,119) width 0: " "
+              RenderText {#text} at (752,119) size 78x16
+                text run at (752,119) width 78: "within"
+            RenderText {#text} at (850,119) size 189x16
+              text run at (850,119) width 189: " elements too"
+          RenderText {#text} at (1039,119) size 732x16
+            text run at (1039,119) width 712: ". (with monospace font from elements to too)"
+            text run at (1771,119) width 0: " "
       RenderBlock (anonymous) at (0,1716) size 769x209
-        RenderBR {BR} at (1978,0) size 0x19
+        RenderBR {BR} at (2018,0) size 0x19
       RenderBlock {PRE} at (0,1939) size 769x168
         RenderBlock {H3} at (0,0) size 769x17
           RenderText {#text} at (0,0) size 340x17
             text run at (0,0) width 340: "In an un-floated pre"
         RenderBlock (anonymous) at (0,32) size 769x136
-          RenderText {#text} at (0,0) size 503x33
+          RenderText {#text} at (0,0) size 543x33
             text run at (0,0) width 0: " "
-            text run at (0,17) width 503: "Word and letter   spacing test "
+            text run at (0,17) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,16) size 39x17
-              text run at (503,16) width 39: "for"
-          RenderText {#text} at (562,17) size 13x16
-            text run at (562,17) width 13: " "
+            RenderText {#text} at (543,16) size 39x17
+              text run at (543,16) width 39: "for"
+          RenderText {#text} at (602,17) size 13x16
+            text run at (602,17) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,17) size 104x16
-              text run at (575,17) width 104: "elements"
-          RenderText {#text} at (699,17) size 13x16
-            text run at (699,17) width 13: " "
+            RenderText {#text} at (615,17) size 104x16
+              text run at (615,17) width 104: "elements"
+          RenderText {#text} at (739,17) size 13x16
+            text run at (739,17) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,17) size 78x16
-              text run at (712,17) width 78: "within"
-          RenderText {#text} at (810,17) size 1032x33
-            text run at (810,17) width 202: " elements too."
-            text run at (1032,17) width 0: " "
-            text run at (0,34) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,17) size 78x16
+              text run at (752,17) width 78: "within"
+          RenderText {#text} at (850,17) size 1072x33
+            text run at (850,17) width 202: " elements too."
+            text run at (1072,17) width 0: " "
+            text run at (0,34) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,33) size 39x17
-              text run at (503,33) width 39: "for"
-          RenderText {#text} at (562,34) size 13x16
-            text run at (562,34) width 13: " "
+            RenderText {#text} at (543,33) size 39x17
+              text run at (543,33) width 39: "for"
+          RenderText {#text} at (602,34) size 13x16
+            text run at (602,34) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,34) size 104x16
-              text run at (575,34) width 104: "elements"
-          RenderText {#text} at (699,34) size 13x16
-            text run at (699,34) width 13: " "
+            RenderText {#text} at (615,34) size 104x16
+              text run at (615,34) width 104: "elements"
+          RenderText {#text} at (739,34) size 13x16
+            text run at (739,34) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,34) size 78x16
-              text run at (712,34) width 78: "within"
-          RenderText {#text} at (810,34) size 150x16
-            text run at (810,34) width 150: " elements "
-          RenderText {#text} at (960,34) size 1685x33
-            text run at (960,34) width 705: " too. (with comment between elements and too)"
-            text run at (1685,34) width 0: " "
-            text run at (0,51) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,34) size 78x16
+              text run at (752,34) width 78: "within"
+          RenderText {#text} at (850,34) size 150x16
+            text run at (850,34) width 150: " elements "
+          RenderText {#text} at (1000,34) size 1725x33
+            text run at (1000,34) width 705: " too. (with comment between elements and too)"
+            text run at (1725,34) width 0: " "
+            text run at (0,51) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,50) size 39x17
-              text run at (503,50) width 39: "for"
-          RenderText {#text} at (562,51) size 13x16
-            text run at (562,51) width 13: " "
+            RenderText {#text} at (543,50) size 39x17
+              text run at (543,50) width 39: "for"
+          RenderText {#text} at (602,51) size 13x16
+            text run at (602,51) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,51) size 104x16
-              text run at (575,51) width 104: "elements"
-          RenderText {#text} at (699,51) size 13x16
-            text run at (699,51) width 13: " "
+            RenderText {#text} at (615,51) size 104x16
+              text run at (615,51) width 104: "elements"
+          RenderText {#text} at (739,51) size 13x16
+            text run at (739,51) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,51) size 78x16
-              text run at (712,51) width 78: "within"
-          RenderText {#text} at (810,51) size 117x16
-            text run at (810,51) width 117: " elements"
-          RenderText {#text} at (947,51) size 2018x33
-            text run at (947,51) width 1051: " too. (with comment (no preceeding space) between elements and too)"
-            text run at (2018,51) width 0: " "
-            text run at (0,68) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,51) size 78x16
+              text run at (752,51) width 78: "within"
+          RenderText {#text} at (850,51) size 117x16
+            text run at (850,51) width 117: " elements"
+          RenderText {#text} at (987,51) size 2058x33
+            text run at (987,51) width 1051: " too. (with comment (no preceeding space) between elements and too)"
+            text run at (2058,51) width 0: " "
+            text run at (0,68) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,67) size 39x17
-              text run at (503,67) width 39: "for"
-          RenderText {#text} at (562,68) size 13x16
-            text run at (562,68) width 13: " "
+            RenderText {#text} at (543,67) size 39x17
+              text run at (543,67) width 39: "for"
+          RenderText {#text} at (602,68) size 13x16
+            text run at (602,68) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,68) size 104x16
-              text run at (575,68) width 104: "elements"
-          RenderText {#text} at (699,68) size 13x16
-            text run at (699,68) width 13: " "
+            RenderText {#text} at (615,68) size 104x16
+              text run at (615,68) width 104: "elements"
+          RenderText {#text} at (739,68) size 13x16
+            text run at (739,68) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,68) size 78x16
-              text run at (712,68) width 78: "within"
-          RenderText {#text} at (810,68) size 150x16
-            text run at (810,68) width 150: " elements "
-          RenderText {#text} at (960,68) size 1032x16
-            text run at (960,68) width 1012: "too. (with comment (no trailing space) between elements and too)"
-            text run at (1992,68) width 0: " "
-          RenderInline {SPAN} at (0,0) size 679x16
-            RenderText {#text} at (0,85) size 503x16
-              text run at (0,85) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,68) size 78x16
+              text run at (752,68) width 78: "within"
+          RenderText {#text} at (850,68) size 150x16
+            text run at (850,68) width 150: " elements "
+          RenderText {#text} at (1000,68) size 1032x16
+            text run at (1000,68) width 1012: "too. (with comment (no trailing space) between elements and too)"
+            text run at (2032,68) width 0: " "
+          RenderInline {SPAN} at (0,0) size 719x16
+            RenderText {#text} at (0,85) size 543x16
+              text run at (0,85) width 543: "Word and letter   spacing test "
             RenderInline {EM} at (0,0) size 39x17
-              RenderText {#text} at (503,84) size 39x17
-                text run at (503,84) width 39: "for"
-            RenderText {#text} at (562,85) size 13x16
-              text run at (562,85) width 13: " "
+              RenderText {#text} at (543,84) size 39x17
+                text run at (543,84) width 39: "for"
+            RenderText {#text} at (602,85) size 13x16
+              text run at (602,85) width 13: " "
             RenderInline {STRONG} at (0,0) size 104x16
-              RenderText {#text} at (575,85) size 104x16
-                text run at (575,85) width 104: "elements"
-          RenderText {#text} at (699,85) size 13x16
-            text run at (699,85) width 13: " "
+              RenderText {#text} at (615,85) size 104x16
+                text run at (615,85) width 104: "elements"
+          RenderText {#text} at (739,85) size 13x16
+            text run at (739,85) width 13: " "
           RenderInline {TT} at (0,0) size 78x16
-            RenderText {#text} at (712,85) size 78x16
-              text run at (712,85) width 78: "within"
-          RenderText {#text} at (810,85) size 1744x33
-            text run at (810,85) width 914: " elements too. (with monospace font from Word to elements)"
-            text run at (1744,85) width 0: " "
-            text run at (0,102) width 503: "Word and letter   spacing test "
+            RenderText {#text} at (752,85) size 78x16
+              text run at (752,85) width 78: "within"
+          RenderText {#text} at (850,85) size 1784x33
+            text run at (850,85) width 914: " elements too. (with monospace font from Word to elements)"
+            text run at (1784,85) width 0: " "
+            text run at (0,102) width 543: "Word and letter   spacing test "
           RenderInline {SPAN} at (0,0) size 287x16
             RenderInline {EM} at (0,0) size 39x17
-              RenderText {#text} at (503,101) size 39x17
-                text run at (503,101) width 39: "for"
-            RenderText {#text} at (562,102) size 13x16
-              text run at (562,102) width 13: " "
+              RenderText {#text} at (543,101) size 39x17
+                text run at (543,101) width 39: "for"
+            RenderText {#text} at (602,102) size 13x16
+              text run at (602,102) width 13: " "
             RenderInline {STRONG} at (0,0) size 104x16
-              RenderText {#text} at (575,102) size 104x16
-                text run at (575,102) width 104: "elements"
-            RenderText {#text} at (699,102) size 13x16
-              text run at (699,102) width 13: " "
+              RenderText {#text} at (615,102) size 104x16
+                text run at (615,102) width 104: "elements"
+            RenderText {#text} at (739,102) size 13x16
+              text run at (739,102) width 13: " "
             RenderInline {TT} at (0,0) size 78x16
-              RenderText {#text} at (712,102) size 78x16
-                text run at (712,102) width 78: "within"
-          RenderText {#text} at (810,102) size 1705x33
-            text run at (810,102) width 875: " elements too. (with monospace font from for to within)"
-            text run at (1705,102) width 0: " "
-            text run at (0,119) width 503: "Word and letter   spacing test "
+              RenderText {#text} at (752,102) size 78x16
+                text run at (752,102) width 78: "within"
+          RenderText {#text} at (850,102) size 1745x33
+            text run at (850,102) width 875: " elements too. (with monospace font from for to within)"
+            text run at (1745,102) width 0: " "
+            text run at (0,119) width 543: "Word and letter   spacing test "
           RenderInline {EM} at (0,0) size 39x17
-            RenderText {#text} at (503,118) size 39x17
-              text run at (503,118) width 39: "for"
-          RenderText {#text} at (562,119) size 13x16
-            text run at (562,119) width 13: " "
+            RenderText {#text} at (543,118) size 39x17
+              text run at (543,118) width 39: "for"
+          RenderText {#text} at (602,119) size 13x16
+            text run at (602,119) width 13: " "
           RenderInline {STRONG} at (0,0) size 104x16
-            RenderText {#text} at (575,119) size 104x16
-              text run at (575,119) width 104: "elements"
-          RenderText {#text} at (699,119) size 13x16
-            text run at (699,119) width 13: " "
+            RenderText {#text} at (615,119) size 104x16
+              text run at (615,119) width 104: "elements"
+          RenderText {#text} at (739,119) size 13x16
+            text run at (739,119) width 13: " "
           RenderInline {SPAN} at (0,0) size 287x16
             RenderInline {TT} at (0,0) size 78x16
-              RenderText {#text} at (712,119) size 78x16
-                text run at (712,119) width 78: "within"
-            RenderText {#text} at (810,119) size 189x16
-              text run at (810,119) width 189: " elements too"
-          RenderText {#text} at (999,119) size 732x16
-            text run at (999,119) width 712: ". (with monospace font from elements to too)"
-            text run at (1731,119) width 0: " "
+              RenderText {#text} at (752,119) size 78x16
+                text run at (752,119) width 78: "within"
+            RenderText {#text} at (850,119) size 189x16
+              text run at (850,119) width 189: " elements too"
+          RenderText {#text} at (1039,119) size 732x16
+            text run at (1039,119) width 712: ". (with monospace font from elements to too)"
+            text run at (1771,119) width 0: " "
       RenderBlock (anonymous) at (0,2119) size 769x21
         RenderBR {BR} at (0,0) size 0x19
         RenderInline {SPAN} at (0,0) size 0x0
index 63e4d90..86cf7c9 100644 (file)
@@ -3480,3 +3480,7 @@ BUGWK93938 LION RELEASE : fast/forms/range/slider-delete-while-dragging-thumb.ht
 BUGWK93938 DEBUG : fast/forms/range/slider-mouse-events.html = PASS TEXT
 BUGWK93938 LION RELEASE : fast/forms/range/slider-mouse-events.html = PASS TEXT
 BUGWK93938 WIN LINUX DEBUG : fast/forms/range/slider-onchange-event.html = PASS TEXT
+
+// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
+BUGWK89826 MAC WIN : fast/css/word-space-extra.html = IMAGE+TEXT
+
index fb61a99..24da3bd 100644 (file)
@@ -853,3 +853,6 @@ BUGWK92956 : http/tests/security/contentSecurityPolicy/object-src-url-blocked.ht
 BUGWK93212 : http/tests/incremental/slow-utf8-text.pl = TIMEOUT
 
 BUGWK93247 DEBUG : fast/lists/list-marker-remove-crash.html = CRASH
+
+// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
+BUGWK89826 : fast/css/word-space-extra.html = TEXT
diff --git a/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.png b/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.png
deleted file mode 100644 (file)
index 5aae0c6..0000000
Binary files a/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.txt b/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.txt
deleted file mode 100644 (file)
index 4fd9c10..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x322
-  RenderBlock {HTML} at (0,0) size 800x322
-    RenderBody {BODY} at (8,16) size 784x298
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 708x19
-          text run at (0,0) width 708: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (0,34) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,58) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,82) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,106) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,130) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,154) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,178) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,202) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,226) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,250) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 405x25
-          text run at (0,0) width 405: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,274) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
diff --git a/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.png b/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.png
deleted file mode 100644 (file)
index 4b7ca1e..0000000
Binary files a/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.txt b/LayoutTests/platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.txt
deleted file mode 100644 (file)
index 1ba7b00..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x202
-  RenderBlock {HTML} at (0,0) size 800x202
-    RenderBody {BODY} at (8,16) size 784x178
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 708x19
-          text run at (0,0) width 708: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (48,34) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,58) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,82) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,106) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 144x25
-          text run at (0,0) width 144: "x x "
-        RenderInline {SPAN} at (0,0) size 120x25
-          RenderText {#text} at (144,0) size 120x25
-            text run at (144,0) width 120: "xx xx"
-        RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (48,130) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,154) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x   x   xx  xx"
index b6ec86a..271a650 100644 (file)
@@ -36,6 +36,9 @@
 // Tests that require new results.
 //////////////////////////////////////////////////////////////////////////////////////////
 
+// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
+BUGWK89826 : fast/css/word-space-extra.html = TEXT
+
 
 //////////////////////////////////////////////////////////////////////////////////////////
 // Expected failures
diff --git a/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.png b/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.png
deleted file mode 100644 (file)
index 0fd41f6..0000000
Binary files a/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.txt b/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.txt
deleted file mode 100644 (file)
index 4fd9c10..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x322
-  RenderBlock {HTML} at (0,0) size 800x322
-    RenderBody {BODY} at (8,16) size 784x298
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 708x19
-          text run at (0,0) width 708: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (0,34) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,58) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,82) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,106) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,130) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,154) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,178) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,202) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,226) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,250) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 405x25
-          text run at (0,0) width 405: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,274) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x25
-          text run at (0,0) width 384: "x xx xxx xxxx"
diff --git a/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.png b/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.png
deleted file mode 100644 (file)
index 4c2e60f..0000000
Binary files a/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.txt b/LayoutTests/platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.txt
deleted file mode 100644 (file)
index 1ba7b00..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x202
-  RenderBlock {HTML} at (0,0) size 800x202
-    RenderBody {BODY} at (8,16) size 784x178
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 708x19
-          text run at (0,0) width 708: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (48,34) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,58) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,82) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,106) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 144x25
-          text run at (0,0) width 144: "x x "
-        RenderInline {SPAN} at (0,0) size 120x25
-          RenderText {#text} at (144,0) size 120x25
-            text run at (144,0) width 120: "xx xx"
-        RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (48,130) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,154) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x   x   xx  xx"
index 1f37c8b..e18ddd2 100644 (file)
@@ -373,3 +373,7 @@ BUGWK93636 : http/tests/images/jpg-img-partial-load.html = TEXT
 // Relative units are not set when the canvas has no parent
 BUGWK93840 : canvas/philip/tests/2d.text.font.parse.size.percentage.html = TEXT
 BUGWK93840 : canvas/philip/tests/2d.text.font.parse.size.percentage.default.html = TEXT
+
+// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
+BUGWK89826 : fast/css/word-space-extra.html = TEXT
+
diff --git a/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png b/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png
deleted file mode 100644 (file)
index 5e7545f..0000000
Binary files a/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.txt b/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.txt
deleted file mode 100644 (file)
index 4468a33..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x322
-  RenderBlock {HTML} at (0,0) size 800x322
-    RenderBody {BODY} at (8,16) size 784x298
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 708x18
-          text run at (0,0) width 708: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (0,34) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,58) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,82) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,106) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,130) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,154) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,178) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,202) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,226) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,250) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,274) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 384x24
-          text run at (0,0) width 384: "x xx xxx xxxx"
diff --git a/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png b/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png
deleted file mode 100644 (file)
index 2394a76..0000000
Binary files a/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.txt b/LayoutTests/platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.txt
deleted file mode 100644 (file)
index 1812d62..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x202
-  RenderBlock {HTML} at (0,0) size 800x202
-    RenderBody {BODY} at (8,16) size 784x178
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 708x18
-          text run at (0,0) width 708: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (48,34) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,58) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,82) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,106) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 144x24
-          text run at (0,0) width 144: "x x "
-        RenderInline {SPAN} at (0,0) size 120x24
-          RenderText {#text} at (144,0) size 120x24
-            text run at (144,0) width 120: "xx xx"
-        RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (48,130) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,154) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x24
-          text run at (0,0) width 264: "x   x   xx  xx"
index 1444e96..fd740bf 100644 (file)
@@ -173,3 +173,6 @@ BUGWK93148 : fast/css/nested-layers-with-hover.html = TEXT
 BUGWK93247 DEBUG : fast/lists/list-marker-remove-crash.html = CRASH
 
 BUGWK93654 DEBUG : fast/events/keyevent-iframe-removed-crash.html = CRASH
+
+// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
+BUGWK89826 : fast/css/word-space-extra.html = TEXT
diff --git a/LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-00-b-a-expected.txt b/LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-00-b-a-expected.txt
deleted file mode 100644 (file)
index 11c09f6..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x319
-  RenderBlock {HTML} at (0,0) size 800x319
-    RenderBody {BODY} at (8,14) size 784x297
-      RenderBlock {P} at (0,0) size 784x19
-        RenderText {#text} at (0,0) size 713x19
-          text run at (0,0) width 713: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (0,33) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,57) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,81) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x  xx  xxx  xxxx"
-      RenderBlock {DIV} at (0,105) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,129) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,153) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,177) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,201) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,225) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,249) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 381x26
-          text run at (0,-1) width 381: "x xx xxx xxxx"
-      RenderBlock {DIV} at (0,273) size 432x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,-1) size 384x26
-          text run at (0,-1) width 384: "x xx xxx xxxx"
diff --git a/LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.png b/LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.png
deleted file mode 100644 (file)
index fe32aba..0000000
Binary files a/LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.txt b/LayoutTests/platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.txt
deleted file mode 100644 (file)
index 3a0d08d..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x203
-  RenderBlock {HTML} at (0,0) size 800x203
-    RenderBody {BODY} at (8,16) size 784x179
-      RenderBlock {P} at (0,0) size 784x19
-        RenderText {#text} at (0,0) size 676x19
-          text run at (0,0) width 676: "There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken)."
-      RenderBlock {DIV} at (48,35) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,59) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,83) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,107) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 144x25
-          text run at (0,0) width 144: "x x "
-        RenderInline {SPAN} at (0,0) size 120x25
-          RenderText {#text} at (144,0) size 120x25
-            text run at (144,0) width 120: "xx xx"
-        RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (48,131) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x  x  xx xx"
-      RenderBlock {DIV} at (48,155) size 288x24 [color=#00FFFF] [bgcolor=#FFFF00]
-        RenderText {#text} at (0,0) size 264x25
-          text run at (0,0) width 264: "x   x   xx  xx"
index 954451c..942718b 100644 (file)
@@ -1976,3 +1976,6 @@ fast/forms/select/menulist-popup-crash.html
 
 # This test causes any following plugins test to crash
 plugins/nested-plugin-objects.html
+
+#Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
+fast/css/word-space-extra.html
index 8ec1a50..9521943 100644 (file)
@@ -1,3 +1,39 @@
+2012-06-24  Robert Hogan  <robert@webkit.org>
+
+        CSS 2.1 failure: Word-spacing affects each space and non-breaking space
+        https://bugs.webkit.org/show_bug.cgi?id=89826
+
+        Reviewed by Eric Seidel.
+
+        Add word spacing to consecutive spaces in a run per http://www.w3.org/TR/CSS21/text.html#spacing-props.
+
+        Test: fast/css/word-spacing-characters.html
+              fast/css/word-spacing-characters-complex-text.html
+              fast/css/word-spacing-characters-linebreak.html
+              css2.1/20110323/word-spacing-characters-002.htm
+              css2.1/20110323/word-spacing-characters-003.htm
+              css2.1/20110323/word-spacing-remove-space-001.htm
+              css2.1/20110323/word-spacing-remove-space-002.htm
+              css2.1/20110323/word-spacing-remove-space-003.htm
+              css2.1/20110323/word-spacing-remove-space-004.htm
+              css2.1/20110323/word-spacing-remove-space-005.htm
+              css2.1/20110323/word-spacing-remove-space-006.htm
+              css2.1/20110323/c541-word-sp-001.htm
+              css2.1/20110323/c541-word-sp-000.htm
+
+        * platform/graphics/WidthIterator.cpp:
+        (WebCore::WidthIterator::advance): All spaces (ordinary space or &nbsp;) get word-spacing added, even
+          if they are consecutive.
+        * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
+        (WebCore::HarfBuzzShaperBase::isWordEnd): ditto, but for the complex text case on Chromium. Had to use
+          m_run rather than m_normalizedBuffer here as m_normalizedBuffer turns tabs into spaces! Unlike the simple
+          text path, '\n' gets word-spacing - I observed this from fast/text/atsui-spacing-features.html but can't
+          find it specified anywhere.
+        * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
+        (WebCore::HarfBuzzShaperBase::isCodepointSpace):
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Tested by word-spacing-linebreak.html
+
 2012-08-14  Antoine Labour  <piman@chromium.org>
 
         [chromium] race between CCLayerTreeHostImpl::releaseContentsTextures and CCThreadProxy::beginFrameCompleteOnImplThread
index 8d975b7..b23d4c9 100644 (file)
@@ -185,7 +185,8 @@ unsigned WidthIterator::advance(int offset, GlyphBuffer* glyphBuffer)
 
                 // Account for word spacing.
                 // We apply additional space between "words" by adding width to the space character.
-                if (treatAsSpace && textIterator.currentCharacter() && !Font::treatAsSpace(textIterator.characters()[-1]) && m_font->wordSpacing())
+                // Word-spacing affects each space (U+0020) and non-breaking space (U+00A0).
+                if ((character == noBreakSpace || character == ' ') && textIterator.currentCharacter() && m_font->wordSpacing())
                     width += m_font->wordSpacing();
             } else
                 m_isAfterExpansion = false;
index 5002fdf..17d4ddc 100644 (file)
@@ -121,7 +121,7 @@ void HarfBuzzShaperBase::setNormalizedBuffer(NormalizeMode normalizeMode)
 bool HarfBuzzShaperBase::isWordEnd(unsigned index)
 {
     // This could refer a high-surrogate, but should work.
-    return index && isCodepointSpace(m_normalizedBuffer[index]) && !isCodepointSpace(m_normalizedBuffer[index - 1]);
+    return index && isCodepointSpace(m_run[index]);
 }
 
 int HarfBuzzShaperBase::determineWordBreakSpacing()
index 67bcadb..be368b2 100644 (file)
@@ -33,6 +33,7 @@
 
 #include "TextRun.h"
 #include <wtf/OwnArrayPtr.h>
+#include <wtf/unicode/CharacterNames.h>
 
 namespace WebCore {
 
@@ -57,8 +58,8 @@ protected:
     // WebKit uses this to justify text.
     void setPadding(int);
 
-    // This matches the logic in RenderBlock::findNextLineBreak
-    static bool isCodepointSpace(UChar c) { return c == ' ' || c == '\t'; }
+    // In complex text word-spacing affects each line-break, space (U+0020) and non-breaking space (U+00A0).
+    static bool isCodepointSpace(UChar c) { return c == ' ' || c == noBreakSpace || c == '\n'; }
 
     const Font* m_font;
     OwnArrayPtr<UChar> m_normalizedBuffer;
index 06bd0cb..421503f 100755 (executable)
@@ -2426,7 +2426,7 @@ InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resol
                         appliedStartWidth = true;
                     }
 
-                    applyWordSpacing =  wordSpacing && currentCharacterIsSpace && !previousCharacterIsSpace;
+                    applyWordSpacing =  wordSpacing && currentCharacterIsSpace;
 
                     if (!width.committedWidth() && autoWrap && !width.fitsOnLine())
                         width.fitBelowFloats();