Title: [140693] trunk
Revision
140693
Author
[email protected]
Date
2013-01-24 10:46:11 -0800 (Thu, 24 Jan 2013)

Log Message

Inline Containing Only Collapsed Whitespace Not Getting a Linebox
https://bugs.webkit.org/show_bug.cgi?id=31397

Reviewed by David Hyatt.

Source/WebCore:

Treat inlines containing only collapsed whitespace as empty. This allows them
to get a linebox.

Test: fast/inline/inline-containing-collapsed-whitespace-treated-as-empty.html

* dom/Position.cpp:
(WebCore::boundingBoxLogicalHeight):
(WebCore):
(WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
* rendering/InlineIterator.h:
(WebCore::isEmptyInline):
(WebCore):
(WebCore::bidiNextShared):
(WebCore::bidiFirstSkippingEmptyInlines):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::alwaysRequiresLineBox):
(WebCore::requiresLineBox):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
* rendering/RenderText.cpp:
* rendering/RenderText.h:
(RenderText):

LayoutTests:

* fast/css/first-letter-capitalized-edit-select-crash-expected.txt:
* fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-expected.html: Added.
* fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl-expected.html: Added.
* fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl.html: Added.
* fast/inline/inline-containing-collapsed-whitespace-treated-as-empty.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (140692 => 140693)


--- trunk/LayoutTests/ChangeLog	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/LayoutTests/ChangeLog	2013-01-24 18:46:11 UTC (rev 140693)
@@ -1,3 +1,21 @@
+2013-01-22  Robert Hogan  <[email protected]>
+
+        Inline Containing Only Collapsed Whitespace Not Getting a Linebox
+        https://bugs.webkit.org/show_bug.cgi?id=31397
+
+        Reviewed by David Hyatt.
+
+        * fast/css/first-letter-capitalized-edit-select-crash-expected.txt:
+        * fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-expected.html: Added.
+        * fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl-expected.html: Added.
+        * fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl.html: Added.
+        * fast/inline/inline-containing-collapsed-whitespace-treated-as-empty.html: Added.
+        * platform/chromium/TestExpectations:
+        * platform/efl/TestExpectations:
+        * platform/gtk/TestExpectations:
+        * platform/mac/TestExpectations:
+        * platform/qt/TestExpectations:
+
 2013-01-24  Andrey Lushnikov  <[email protected]>
 
         Web Inspector: expand more chunks in DTE

Modified: trunk/LayoutTests/fast/css/first-letter-capitalized-edit-select-crash-expected.txt (140692 => 140693)


--- trunk/LayoutTests/fast/css/first-letter-capitalized-edit-select-crash-expected.txt	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/LayoutTests/fast/css/first-letter-capitalized-edit-select-crash-expected.txt	2013-01-24 18:46:11 UTC (rev 140693)
@@ -1,3 +1,3 @@
 Pass if no crash or assert in debug
+ 
 
-

Added: trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-expected.html (0 => 140693)


--- trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-expected.html	2013-01-24 18:46:11 UTC (rev 140693)
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<body>
+<p> https://bugs.webkit.org/show_bug.cgi?id=31397: You should see two orange-filled boxes below. </p>
+<a style="padding:5px; border:1px solid silver; background:gold;" href=""
+<a style="padding:5px; border:1px solid silver; background:gold;" href=""
+</body>
+</html>
+
Property changes on: trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-expected.html
___________________________________________________________________

Added: svn:eol-style

Added: trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl-expected.html (0 => 140693)


--- trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl-expected.html	2013-01-24 18:46:11 UTC (rev 140693)
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<body style="-webkit-writing-mode: vertical-rl;">
+<p> https://bugs.webkit.org/show_bug.cgi?id=31397: You should see two orange-filled boxes below. </p>
+<a style="padding:5px; border:1px solid silver; background:gold; " href=""
+<a style="padding:5px; border:1px solid silver; background:gold;" href=""
+</body>
+</html>
+
Property changes on: trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl-expected.html
___________________________________________________________________

Added: svn:eol-style

Added: trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl.html (0 => 140693)


--- trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl.html	                        (rev 0)
+++ trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl.html	2013-01-24 18:46:11 UTC (rev 140693)
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<body style="-webkit-writing-mode: vertical-rl;">
+<p> https://bugs.webkit.org/show_bug.cgi?id=31397: You should see two orange-filled boxes below. </p>
+<a style="padding:5px; border:1px solid silver; background:gold; " href="" </a>
+<a style="padding:5px; border:1px solid silver; background:gold;" href="" </a>
+</body>
+</html>
+
Property changes on: trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl.html
___________________________________________________________________

Added: svn:eol-style

Added: trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty.html (0 => 140693)


--- trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty.html	                        (rev 0)
+++ trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty.html	2013-01-24 18:46:11 UTC (rev 140693)
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<body>
+<p> https://bugs.webkit.org/show_bug.cgi?id=31397: You should see two orange-filled boxes below. </p>
+<a style="padding:5px; border:1px solid silver; background:gold;" href="" </a>
+<a style="padding:5px; border:1px solid silver; background:gold;" href="" </a>
+</body>
+</html>
+
Property changes on: trunk/LayoutTests/fast/inline/inline-containing-collapsed-whitespace-treated-as-empty.html
___________________________________________________________________

Added: svn:eol-style

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (140692 => 140693)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-01-24 18:46:11 UTC (rev 140693)
@@ -4333,3 +4333,16 @@
 webkit.org/b/107579 [ Debug ] media/track/track-css-matching.html [ Crash ]
 webkit.org/b/107579 [ Debug ] media/track/track-css-property-whitelist.html [ Crash ]
 
+# Rebaseline required after https://webkit.org/b/31397
+webkit.org/b/107567 svg/batik/text/xmlSpace.svg [ Failure ] 
+webkit.org/b/107567 fast/text/capitalize-empty-generated-string.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/007.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/006.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlinesWithWS.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1318.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlines.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug113235-3.html [ Failure ] 
+webkit.org/b/107567 css2.1/t0505-c16-descendant-01-e.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1188.html [ Failure ] 
+webkit.org/b/107567 editing/selection/extend-by-sentence-001.html [ Failure ] 
+webkit.org/b/107567 svg/carto.net/combobox.svg [ Failure ] 

Modified: trunk/LayoutTests/platform/efl/TestExpectations (140692 => 140693)


--- trunk/LayoutTests/platform/efl/TestExpectations	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/LayoutTests/platform/efl/TestExpectations	2013-01-24 18:46:11 UTC (rev 140693)
@@ -1815,3 +1815,17 @@
 # Needs rebaseline after https://bugs.webkit.org/show_bug.cgi?id=14664
 webkit.org/b/107476 fast/block/float/024.html [ Failure ]
 webkit.org/b/107476 fast/block/margin-collapse/empty-clear-blocks.html [ Failure ]
+
+# Rebaseline required after https://webkit.org/b/31397
+webkit.org/b/107567 svg/batik/text/xmlSpace.svg [ Failure ] 
+webkit.org/b/107567 fast/text/capitalize-empty-generated-string.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/007.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/006.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlinesWithWS.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1318.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlines.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug113235-3.html [ Failure ] 
+webkit.org/b/107567 css2.1/t0505-c16-descendant-01-e.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1188.html [ Failure ] 
+webkit.org/b/107567 editing/selection/extend-by-sentence-001.html [ Failure ] 
+webkit.org/b/107567 svg/carto.net/combobox.svg [ Failure ] 

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (140692 => 140693)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2013-01-24 18:46:11 UTC (rev 140693)
@@ -57,6 +57,19 @@
 webkit.org/b/107476 fast/block/float/024.html [ Failure ]
 webkit.org/b/107476 fast/block/margin-collapse/empty-clear-blocks.html [ Failure ]
 
+# Rebaseline required after https://webkit.org/b/31397
+webkit.org/b/107567 svg/batik/text/xmlSpace.svg [ Failure ] 
+webkit.org/b/107567 fast/text/capitalize-empty-generated-string.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/007.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/006.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlinesWithWS.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1318.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlines.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug113235-3.html [ Failure ] 
+webkit.org/b/107567 css2.1/t0505-c16-descendant-01-e.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1188.html [ Failure ] 
+webkit.org/b/107567 editing/selection/extend-by-sentence-001.html [ Failure ] 
+webkit.org/b/107567 svg/carto.net/combobox.svg [ Failure ] 
 #////////////////////////////////////////////////////////////////////////////////////////
 # Expected failures
 #////////////////////////////////////////////////////////////////////////////////////////

Modified: trunk/LayoutTests/platform/mac/TestExpectations (140692 => 140693)


--- trunk/LayoutTests/platform/mac/TestExpectations	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2013-01-24 18:46:11 UTC (rev 140693)
@@ -1288,3 +1288,16 @@
 webkit.org/b/107208 fast/regions/overflow-size-change-in-variable-width-regions.html [ Pass Failure ImageOnlyFailure ]
 webkit.org/b/107208 fast/regions/overflow-size-change-with-stacking-context.html [ Pass Failure ImageOnlyFailure ]
 
+# Rebaseline required after https://webkit.org/b/31397
+webkit.org/b/107567 svg/batik/text/xmlSpace.svg [ Failure ] 
+webkit.org/b/107567 fast/text/capitalize-empty-generated-string.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/007.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/006.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlinesWithWS.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1318.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlines.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug113235-3.html [ Failure ] 
+webkit.org/b/107567 css2.1/t0505-c16-descendant-01-e.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1188.html [ Failure ] 
+webkit.org/b/107567 editing/selection/extend-by-sentence-001.html [ Failure ] 
+webkit.org/b/107567 svg/carto.net/combobox.svg [ Failure ] 

Modified: trunk/LayoutTests/platform/qt/TestExpectations (140692 => 140693)


--- trunk/LayoutTests/platform/qt/TestExpectations	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2013-01-24 18:46:11 UTC (rev 140693)
@@ -2543,3 +2543,17 @@
 # Needs rebaseline after https://bugs.webkit.org/show_bug.cgi?id=14664
 webkit.org/b/107476 fast/block/float/024.html [ Failure ]
 webkit.org/b/107476 fast/block/margin-collapse/empty-clear-blocks.html [ Failure ]
+
+# Rebaseline required after https://webkit.org/b/31397
+webkit.org/b/107567 svg/batik/text/xmlSpace.svg [ Failure ] 
+webkit.org/b/107567 fast/text/capitalize-empty-generated-string.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/007.html [ Failure ] 
+webkit.org/b/107567 fast/text/whitespace/006.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlinesWithWS.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1318.html [ Failure ] 
+webkit.org/b/107567 fast/inline/drawStyledEmptyInlines.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug113235-3.html [ Failure ] 
+webkit.org/b/107567 css2.1/t0505-c16-descendant-01-e.html [ Failure ] 
+webkit.org/b/107567 tables/mozilla/bugs/bug1188.html [ Failure ] 
+webkit.org/b/107567 editing/selection/extend-by-sentence-001.html [ Failure ] 
+webkit.org/b/107567 svg/carto.net/combobox.svg [ Failure ] 

Modified: trunk/Source/WebCore/ChangeLog (140692 => 140693)


--- trunk/Source/WebCore/ChangeLog	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/Source/WebCore/ChangeLog	2013-01-24 18:46:11 UTC (rev 140693)
@@ -1,3 +1,32 @@
+2013-01-22  Robert Hogan  <[email protected]>
+
+        Inline Containing Only Collapsed Whitespace Not Getting a Linebox
+        https://bugs.webkit.org/show_bug.cgi?id=31397
+
+        Reviewed by David Hyatt.
+
+        Treat inlines containing only collapsed whitespace as empty. This allows them
+        to get a linebox.
+
+        Test: fast/inline/inline-containing-collapsed-whitespace-treated-as-empty.html
+
+        * dom/Position.cpp:
+        (WebCore::boundingBoxLogicalHeight):
+        (WebCore):
+        (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
+        * rendering/InlineIterator.h:
+        (WebCore::isEmptyInline):
+        (WebCore):
+        (WebCore::bidiNextShared):
+        (WebCore::bidiFirstSkippingEmptyInlines):
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::alwaysRequiresLineBox):
+        (WebCore::requiresLineBox):
+        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
+        * rendering/RenderText.cpp:
+        * rendering/RenderText.h:
+        (RenderText):
+
 2013-01-24  Andrey Lushnikov  <[email protected]>
 
         Web Inspector: expand more chunks in DTE

Modified: trunk/Source/WebCore/dom/Position.cpp (140692 => 140693)


--- trunk/Source/WebCore/dom/Position.cpp	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/Source/WebCore/dom/Position.cpp	2013-01-24 18:46:11 UTC (rev 140693)
@@ -28,10 +28,12 @@
 
 #include "CSSComputedStyleDeclaration.h"
 #include "HTMLNames.h"
+#include "InlineIterator.h"
 #include "InlineTextBox.h"
 #include "Logging.h"
 #include "PositionIterator.h"
 #include "RenderBlock.h"
+#include "RenderInline.h"
 #include "RenderText.h"
 #include "RuntimeEnabledFeatures.h"
 #include "Text.h"
@@ -841,13 +843,19 @@
     return lastVisible;
 }
 
+static int boundingBoxLogicalHeight(RenderObject *o, const IntRect &rect)
+{
+    return o->style()->isHorizontalWritingMode() ? rect.height() : rect.width();
+}
+
 bool Position::hasRenderedNonAnonymousDescendantsWithHeight(RenderObject* renderer)
 {
     RenderObject* stop = renderer->nextInPreOrderAfterChildren();
     for (RenderObject *o = renderer->firstChild(); o && o != stop; o = o->nextInPreOrder())
         if (o->nonPseudoNode()) {
-            if ((o->isText() && toRenderText(o)->linesLogicalBoundingBox().height())
-                || (o->isBox() && toRenderBox(o)->pixelSnappedLogicalHeight()))
+            if ((o->isText() && boundingBoxLogicalHeight(o, toRenderText(o)->linesBoundingBox()))
+                || (o->isBox() && toRenderBox(o)->pixelSnappedLogicalHeight())
+                || (o->isRenderInline() && isEmptyInline(o) && boundingBoxLogicalHeight(o, toRenderInline(o)->linesBoundingBox())))
                 return true;
         }
     return false;

Modified: trunk/Source/WebCore/rendering/InlineIterator.h (140692 => 140693)


--- trunk/Source/WebCore/rendering/InlineIterator.h	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/Source/WebCore/rendering/InlineIterator.h	2013-01-24 18:46:11 UTC (rev 140693)
@@ -176,6 +176,17 @@
     IncludeEmptyInlines,
 };
 
+static bool isEmptyInline(RenderObject* object)
+{
+    if (!object->isRenderInline())
+        return false;
+
+    if (!object->firstChild())
+        return true;
+
+    return object->firstChild()->isText() && (object->firstChild() == object->lastChild()) && toRenderText(object->firstChild())->isAllCollapsibleWhitespace();
+}
+
 // FIXME: This function is misleadingly named. It has little to do with bidi.
 // This function will iterate over inlines within a block, optionally notifying
 // a bidi resolver as it enters/exits inlines (so it can push/pop embedding levels).
@@ -225,7 +236,7 @@
             break;
 
         if (isIteratorTarget(next)
-            || ((emptyInlineBehavior == IncludeEmptyInlines || !next->firstChild()) // Always return EMPTY inlines.
+            || ((emptyInlineBehavior == IncludeEmptyInlines || isEmptyInline(next)) // Always return EMPTY inlines.
                 && next->isRenderInline()))
             break;
         current = next;
@@ -265,7 +276,7 @@
 
     if (o->isRenderInline()) {
         notifyObserverEnteredObject(resolver, o);
-        if (o->firstChild())
+        if (!isEmptyInline(o))
             o = bidiNextSkippingEmptyInlines(root, o, resolver);
         else {
             // Never skip empty inlines.

Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (140692 => 140693)


--- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2013-01-24 18:46:11 UTC (rev 140693)
@@ -2212,12 +2212,12 @@
     return false;
 }
 
-static bool alwaysRequiresLineBox(RenderInline* flow)
+static bool alwaysRequiresLineBox(RenderObject* flow)
 {
     // FIXME: Right now, we only allow line boxes for inlines that are truly empty.
     // We need to fix this, though, because at the very least, inlines containing only
     // ignorable whitespace should should also have line boxes.
-    return !flow->firstChild() && flow->hasInlineDirectionBordersPaddingOrMargin();
+    return isEmptyInline(flow) && toRenderInline(flow)->hasInlineDirectionBordersPaddingOrMargin();
 }
 
 static bool requiresLineBox(const InlineIterator& it, const LineInfo& lineInfo = LineInfo(), WhitespacePosition whitespacePosition = LeadingWhitespace)
@@ -2225,15 +2225,15 @@
     if (it.m_obj->isFloatingOrOutOfFlowPositioned())
         return false;
 
-    if (it.m_obj->isRenderInline() && !alwaysRequiresLineBox(toRenderInline(it.m_obj)) && !requiresLineBoxForContent(toRenderInline(it.m_obj), lineInfo))
+    if (it.m_obj->isRenderInline() && !alwaysRequiresLineBox(it.m_obj) && !requiresLineBoxForContent(toRenderInline(it.m_obj), lineInfo))
         return false;
 
     if (!shouldCollapseWhiteSpace(it.m_obj->style(), lineInfo, whitespacePosition) || it.m_obj->isBR())
         return true;
 
     UChar current = it.current();
-    return current != ' ' && current != '\t' && current != softHyphen && (current != '\n' || it.m_obj->preservesNewline())
-    && !skipNonBreakingSpace(it, lineInfo);
+    bool notJustWhitespace = current != ' ' && current != '\t' && current != softHyphen && (current != '\n' || it.m_obj->preservesNewline()) && !skipNonBreakingSpace(it, lineInfo);
+    return notJustWhitespace || isEmptyInline(it.m_obj);
 }
 
 bool RenderBlock::generatesLineBoxesForInlineChild(RenderObject* inlineObj)
@@ -2672,7 +2672,7 @@
                 floatsFitOnLine = false;
         } else if (current.m_obj->isRenderInline()) {
             // Right now, we should only encounter empty inlines here.
-            ASSERT(!current.m_obj->firstChild());
+            ASSERT(isEmptyInline(current.m_obj));
 
             RenderInline* flowBox = toRenderInline(current.m_obj);
 
@@ -2680,7 +2680,7 @@
             // to make sure that we stop to include this object and then start ignoring spaces again.
             // If this object is at the start of the line, we need to behave like list markers and
             // start ignoring spaces.
-            bool requiresLineBox = alwaysRequiresLineBox(flowBox);
+            bool requiresLineBox = alwaysRequiresLineBox(current.m_obj);
             if (requiresLineBox || requiresLineBoxForContent(flowBox, lineInfo)) {
                 // An empty inline that only has line-height, vertical-align or font-metrics will only get a
                 // line box to affect the height of the line if the rest of the line is not empty.

Modified: trunk/Source/WebCore/rendering/RenderText.cpp (140692 => 140693)


--- trunk/Source/WebCore/rendering/RenderText.cpp	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/Source/WebCore/rendering/RenderText.cpp	2013-01-24 18:46:11 UTC (rev 140693)
@@ -1614,13 +1614,6 @@
     return result;
 }
 
-IntRect RenderText::linesLogicalBoundingBox() const
-{
-    IntRect rect = linesBoundingBox();
-
-    return style()->isHorizontalWritingMode() ? rect : IntRect(rect.x(), rect.y(), rect.height(), rect.width());
-}
-
 LayoutRect RenderText::linesVisualOverflowBoundingBox() const
 {
     if (!firstTextBox())

Modified: trunk/Source/WebCore/rendering/RenderText.h (140692 => 140693)


--- trunk/Source/WebCore/rendering/RenderText.h	2013-01-24 18:01:56 UTC (rev 140692)
+++ trunk/Source/WebCore/rendering/RenderText.h	2013-01-24 18:46:11 UTC (rev 140693)
@@ -96,7 +96,6 @@
 
     virtual IntRect linesBoundingBox() const;
     LayoutRect linesVisualOverflowBoundingBox() const;
-    IntRect linesLogicalBoundingBox() const;
 
     FloatPoint firstRunOrigin() const;
     float firstRunX() const;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to