Diff
Modified: trunk/LayoutTests/ChangeLog (142151 => 142152)
--- trunk/LayoutTests/ChangeLog 2013-02-07 18:39:10 UTC (rev 142151)
+++ trunk/LayoutTests/ChangeLog 2013-02-07 18:48:39 UTC (rev 142152)
@@ -1,3 +1,16 @@
+2013-01-27 Robert Hogan <[email protected]>
+
+ CSS 2.1 failure: floats-149 fails
+ https://bugs.webkit.org/show_bug.cgi?id=95772
+
+ Reviewed by David Hyatt.
+
+ * css2.1/20110323/floats-149-expected.html: Added.
+ * css2.1/20110323/floats-149.htm: Added.
+ * fast/inline/inline-with-empty-inline-children-expected.txt: Added.
+ * fast/inline/inline-with-empty-inline-children.html: Added.
+ * platform/chromium-win/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
+
2013-02-07 Max Vujovic <[email protected]>
[CSS Shaders] Add WebKitCSSFilterRule to DOMWindow.idl
Added: trunk/LayoutTests/css2.1/20110323/floats-149-expected.html (0 => 142152)
--- trunk/LayoutTests/css2.1/20110323/floats-149-expected.html (rev 0)
+++ trunk/LayoutTests/css2.1/20110323/floats-149-expected.html 2013-02-07 18:48:39 UTC (rev 142152)
@@ -0,0 +1,40 @@
+<!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=""
+
+ <style type="text/css">
+ table
+ {
+ border-spacing: 0px;
+ table-layout: fixed;
+ width: 100%;
+ }
+
+ td
+ {
+ padding: 0px;
+ vertical-align: top;
+ width: 50%;
+ }
+
+ div {background-color: green;}
+ </style>
+
+ </head>
+
+ <body>
+
+ <table>
+ <tr>
+ <td>There should be a green bar to the right: ⇨</td>
+ <td><div> </div></td>
+ </tr>
+ </table>
+
+ </body>
+</html>
\ No newline at end of file
Property changes on: trunk/LayoutTests/css2.1/20110323/floats-149-expected.html
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/css2.1/20110323/floats-149.htm (0 => 142152)
--- trunk/LayoutTests/css2.1/20110323/floats-149.htm (rev 0)
+++ trunk/LayoutTests/css2.1/20110323/floats-149.htm 2013-02-07 18:48:39 UTC (rev 142152)
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>CSS Test: Empty inlines being displaced by floats</title>
+ <link rel="author" title="Ian Hickson" href=""
+ <link rel="reviewer" title="Gérard Talbot" href="" <!-- 2012-07-01 -->
+ <link rel="alternate" href="" type="text/html">
+ <link rel="help" href=""
+ <link rel="match" href=""
+
+ <style type="text/css">
+ .block { display: block; background: green; }
+ .inline { display: inline; margin-left: 40px; }
+ span { float: left; width: 50%; background: white; }
+ </style>
+ </head>
+ <body>
+ <div class="block">
+ <div class="inline">
+ <span>There should be a green bar to the right: ⇨</span>
+ <span></span> <!-- this float should be on the second "line" -->
+ </div>
+ </div>
+ </body>
+</html>
\ No newline at end of file
Property changes on: trunk/LayoutTests/css2.1/20110323/floats-149.htm
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/fast/inline/inline-with-empty-inline-children-expected.txt (0 => 142152)
--- trunk/LayoutTests/fast/inline/inline-with-empty-inline-children-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/inline/inline-with-empty-inline-children-expected.txt 2013-02-07 18:48:39 UTC (rev 142152)
@@ -0,0 +1,9 @@
+https://bugs.webkit.org/show_bug.cgi?id=95772: There should be six green bars below with a PASS in each.
+
+ PASS
+ PASS
+ PASS
+ PASS
+ PASS
+ PASS
+
Property changes on: trunk/LayoutTests/fast/inline/inline-with-empty-inline-children-expected.txt
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/fast/inline/inline-with-empty-inline-children.html (0 => 142152)
--- trunk/LayoutTests/fast/inline/inline-with-empty-inline-children.html (rev 0)
+++ trunk/LayoutTests/fast/inline/inline-with-empty-inline-children.html 2013-02-07 18:48:39 UTC (rev 142152)
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style>
+ .block { display: block; background: green; }
+ .inline { display: inline; margin-left: 40px; font: 30px/1 Ahem;}
+ span { width: 50%; background: white; }
+ .absolute { position: absolute; }
+ .float { float: left; }
+ </style>
+ <script src=""
+ </head>
+ <body>
+ <p> https://bugs.webkit.org/show_bug.cgi?id=95772: There should be six green bars below with a PASS in each. </p>
+ <div class="block">
+ <div class="inline" data-expected-height="30"> <span class="absolute"></span> <span class="absolute"></span> </div>
+ </div>
+ <div class="block">
+ <div class="inline" data-expected-height="30"><span class="absolute"></span><span class="absolute"></span></div>
+ </div>
+ <div class="block">
+ <div class="inline" data-expected-height="30"><span class="float"></span><span class="float"></span></div>
+ </div>
+ <div class="block">
+ <div class="inline" data-expected-height="30"> <span class="float"></span> <span class="float"></span></div>
+ </div>
+ <div class="block">
+ <div class="inline" data-expected-height="30"><span></span><span></span></div>
+ </div>
+ <div class="block">
+ <div class="inline" data-expected-height="30"> <span></span> <span></span></div>
+ </div>
+ <script>
+ checkLayout('body > div > div')
+ </script>
+ </body>
+</html>
Property changes on: trunk/LayoutTests/fast/inline/inline-with-empty-inline-children.html
___________________________________________________________________
Added: svn:eol-style
Modified: trunk/LayoutTests/platform/chromium-win/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt (142151 => 142152)
--- trunk/LayoutTests/platform/chromium-win/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt 2013-02-07 18:39:10 UTC (rev 142151)
+++ trunk/LayoutTests/platform/chromium-win/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt 2013-02-07 18:48:39 UTC (rev 142152)
@@ -107,7 +107,7 @@
RenderText {#text} at (0,0) size 29x19
text run at (0,0) width 19 RTL: "\x{5D3}\x{5D4}\x{5D5}"
text run at (19,0) width 10: "(["
- RenderInline {SPAN} at (0,0) size 0x19
+ RenderInline {SPAN} at (0,0) size 20x19
RenderInline {SPAN} at (0,0) size 0x19
RenderText {#text} at (29,0) size 20x19
text run at (29,0) width 20 RTL: "\x{5D0}\x{5D1}\x{5D2}"
Modified: trunk/LayoutTests/platform/efl/TestExpectations (142151 => 142152)
--- trunk/LayoutTests/platform/efl/TestExpectations 2013-02-07 18:39:10 UTC (rev 142151)
+++ trunk/LayoutTests/platform/efl/TestExpectations 2013-02-07 18:48:39 UTC (rev 142152)
@@ -1866,3 +1866,6 @@
webkit.org/b/108370 editing/spelling/spelling-with-punctuation-selection.html [ Skip ]
webkit.org/b/108370 editing/spelling/spelling-with-underscore-selection.html [ Skip ]
webkit.org/b/108370 editing/spelling/spelling-with-whitespace-selection.html [ Skip ]
+
+# Rebaseline required after https://webkit.org/b/95772
+webkit.org/b/109209 fast/text/international/bidi-ignored-for-first-child-inline.html [ Failure ]
Modified: trunk/LayoutTests/platform/gtk/TestExpectations (142151 => 142152)
--- trunk/LayoutTests/platform/gtk/TestExpectations 2013-02-07 18:39:10 UTC (rev 142151)
+++ trunk/LayoutTests/platform/gtk/TestExpectations 2013-02-07 18:48:39 UTC (rev 142152)
@@ -74,6 +74,9 @@
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 ]
+
+# Rebaseline required after https://webkit.org/b/95772
+webkit.org/b/109209 fast/text/international/bidi-ignored-for-first-child-inline.html [ Failure ]
#////////////////////////////////////////////////////////////////////////////////////////
# Expected failures
#////////////////////////////////////////////////////////////////////////////////////////
Modified: trunk/LayoutTests/platform/mac/TestExpectations (142151 => 142152)
--- trunk/LayoutTests/platform/mac/TestExpectations 2013-02-07 18:39:10 UTC (rev 142151)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2013-02-07 18:48:39 UTC (rev 142152)
@@ -1331,3 +1331,7 @@
webkit.org/b/108257 [ Debug ] compositing/overflow/composited-scrolling-creates-a-stacking-container.html [ Crash ]
webkit.org/b/108257 [ Debug ] compositing/overflow/automatically-opt-into-composited-scrolling.html [ Crash ]
+
+
+# Rebaseline required after https://webkit.org/b/95772
+webkit.org/b/109209 fast/text/international/bidi-ignored-for-first-child-inline.html [ Failure ]
Modified: trunk/LayoutTests/platform/qt/TestExpectations (142151 => 142152)
--- trunk/LayoutTests/platform/qt/TestExpectations 2013-02-07 18:39:10 UTC (rev 142151)
+++ trunk/LayoutTests/platform/qt/TestExpectations 2013-02-07 18:48:39 UTC (rev 142152)
@@ -2617,3 +2617,6 @@
webkit.org/b/91665 fast/dynamic/absolute-positioned-to-static-positioned.html [ Skip ]
webkit.org/b/91665 fast/dynamic/floating-to-non-floating.html [ Skip ]
webkit.org/b/91665 fast/dynamic/static-positioned-to-absolute-positioned.html [ Skip ]
+
+# Rebaseline required after https://webkit.org/b/95772
+webkit.org/b/109209 fast/text/international/bidi-ignored-for-first-child-inline.html [ Failure ]
Modified: trunk/Source/WebCore/ChangeLog (142151 => 142152)
--- trunk/Source/WebCore/ChangeLog 2013-02-07 18:39:10 UTC (rev 142151)
+++ trunk/Source/WebCore/ChangeLog 2013-02-07 18:48:39 UTC (rev 142152)
@@ -1,3 +1,22 @@
+2013-01-27 Robert Hogan <[email protected]>
+
+ CSS 2.1 failure: floats-149 fails
+ https://bugs.webkit.org/show_bug.cgi?id=95772
+
+ Reviewed by David Hyatt.
+
+ Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
+
+ Tests: fast/inline/inline-with-empty-inline-children.html
+ css2.1/20110323/floats-149.htm
+
+ * rendering/InlineIterator.h:
+ (WebCore::isEmptyInline):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Now that empty inlines get a linebox any out-of-flow
+ objects inside an empty inline (on a line that is otherwise empty) won't get positioned while skipping
+ through leading whitespace.
+
2013-02-07 [email protected] <[email protected]>
[WinCairo] Compile fix after r141981
Modified: trunk/Source/WebCore/rendering/InlineIterator.h (142151 => 142152)
--- trunk/Source/WebCore/rendering/InlineIterator.h 2013-02-07 18:39:10 UTC (rev 142151)
+++ trunk/Source/WebCore/rendering/InlineIterator.h 2013-02-07 18:48:39 UTC (rev 142152)
@@ -181,10 +181,16 @@
if (!object->isRenderInline())
return false;
- if (!object->firstChild())
- return true;
+ for (RenderObject* curr = object->firstChild(); curr; curr = curr->nextSibling()) {
+ if (curr->isFloatingOrOutOfFlowPositioned())
+ continue;
+ if (curr->isText() && toRenderText(curr)->isAllCollapsibleWhitespace())
+ continue;
- return object->firstChild()->isText() && (object->firstChild() == object->lastChild()) && toRenderText(object->firstChild())->isAllCollapsibleWhitespace();
+ if (!isEmptyInline(curr))
+ return false;
+ }
+ return true;
}
// FIXME: This function is misleadingly named. It has little to do with bidi.
Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (142151 => 142152)
--- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2013-02-07 18:39:10 UTC (rev 142151)
+++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2013-02-07 18:48:39 UTC (rev 142152)
@@ -1616,10 +1616,12 @@
lineBox->setContainingRegion(regionAtBlockOffset(lineBox->lineTopWithLeading()));
}
}
+ }
- for (size_t i = 0; i < lineBreaker.positionedObjects().size(); ++i)
- setStaticPositions(this, lineBreaker.positionedObjects()[i]);
+ for (size_t i = 0; i < lineBreaker.positionedObjects().size(); ++i)
+ setStaticPositions(this, lineBreaker.positionedObjects()[i]);
+ if (!layoutState.lineInfo().isEmpty()) {
layoutState.lineInfo().setFirstLine(false);
newLine(lineBreaker.clear());
}