Title: [147662] trunk
Revision
147662
Author
[email protected]
Date
2013-04-04 12:23:03 -0700 (Thu, 04 Apr 2013)

Log Message

REGRESSION(r142152): Text wraps in menu
https://bugs.webkit.org/show_bug.cgi?id=113706

Reviewed by David Hyatt.

Source/WebCore:

* rendering/RenderBlockLineLayout.cpp:
(WebCore::inlineLogicalWidth): Empty inline elements add their inline border/padding/margin to the width of the
line when we iterate through them in nextLineBreak(), so no need to add them again here when climbing back up
from their first child looking for border/padding/margin to add. (An empty inline element can have floating children.)

LayoutTests:

* fast/inline/inline-with-empty-inline-children-expected.txt:
* fast/inline/inline-with-empty-inline-children.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (147661 => 147662)


--- trunk/LayoutTests/ChangeLog	2013-04-04 19:15:52 UTC (rev 147661)
+++ trunk/LayoutTests/ChangeLog	2013-04-04 19:23:03 UTC (rev 147662)
@@ -1,3 +1,13 @@
+2013-04-04  Robert Hogan  <[email protected]>
+
+        REGRESSION(r142152): Text wraps in menu
+        https://bugs.webkit.org/show_bug.cgi?id=113706
+
+        Reviewed by David Hyatt.
+
+        * fast/inline/inline-with-empty-inline-children-expected.txt:
+        * fast/inline/inline-with-empty-inline-children.html:
+
 2013-04-04  Chris Fleizach  <[email protected]>
 
         AX:File upload button has wrong label

Modified: trunk/LayoutTests/fast/inline/inline-with-empty-inline-children-expected.txt (147661 => 147662)


--- trunk/LayoutTests/fast/inline/inline-with-empty-inline-children-expected.txt	2013-04-04 19:15:52 UTC (rev 147661)
+++ trunk/LayoutTests/fast/inline/inline-with-empty-inline-children-expected.txt	2013-04-04 19:23:03 UTC (rev 147662)
@@ -1,4 +1,4 @@
-https://bugs.webkit.org/show_bug.cgi?id=95772: There should be six green bars below with a PASS in each.
+https://bugs.webkit.org/show_bug.cgi?id=95772: There should be seven green bars below with a PASS in each.
 
  PASS
  PASS
@@ -6,4 +6,6 @@
  PASS
  PASS
  PASS
+Words
+PASS
 

Modified: trunk/LayoutTests/fast/inline/inline-with-empty-inline-children.html (147661 => 147662)


--- trunk/LayoutTests/fast/inline/inline-with-empty-inline-children.html	2013-04-04 19:15:52 UTC (rev 147661)
+++ trunk/LayoutTests/fast/inline/inline-with-empty-inline-children.html	2013-04-04 19:23:03 UTC (rev 147662)
@@ -4,34 +4,39 @@
   <style>
     .block { display: block; background: green; }
     .inline { display: inline; margin-left: 40px; font: 30px/1 Ahem;}
-    span { width: 50%; background: white; }
+    .white-span { width: 50%; background: white; }
     .absolute { position: absolute; }
     .float { float: left; }
+    .inline-span { display: inline-block; }
   </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>
+  <p> https://bugs.webkit.org/show_bug.cgi?id=95772: There should be seven 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 class="inline" data-expected-height="30"> <span class="absolute white-span"></span> <span class="absolute white-span"></span> </div> 
   </div>
   <div class="block">
-   <div class="inline" data-expected-height="30"><span class="absolute"></span><span class="absolute"></span></div> 
+   <div class="inline" data-expected-height="30"><span class="absolute white-span"></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 class="inline" data-expected-height="30"><span class="float white-span"></span><span class="float white-span"></span></div>
   </div>
   <div class="block">
-   <div class="inline" data-expected-height="30"> <span class="float"></span> <span class="float"></span></div>
+   <div class="inline" data-expected-height="30"> <span class="float white-span"></span> <span class="float white-span"></span></div>
   </div>
   <div class="block">
-   <div class="inline" data-expected-height="30"><span></span><span></span></div>
+   <div class="inline" data-expected-height="30"><span class="white-span"></span><span class="white-span"></span></div>
   </div>
   <div class="block">
-   <div class="inline" data-expected-height="30"> <span></span> <span></span></div>
+   <div class="inline" data-expected-height="30"> <span class="white-span"></span> <span class="white-span"></span></div>
   </div>
+  <div class="block">
+     <span class="inline-span" data-expected-height="30"><div class="inline"> <div class="float"> Words </div></div></span>
+  </div>
   <script>
    checkLayout('body > div > div')
+   checkLayout('body > div > span')
   </script>
  </body>
 </html>

Modified: trunk/Source/WebCore/ChangeLog (147661 => 147662)


--- trunk/Source/WebCore/ChangeLog	2013-04-04 19:15:52 UTC (rev 147661)
+++ trunk/Source/WebCore/ChangeLog	2013-04-04 19:23:03 UTC (rev 147662)
@@ -1,3 +1,15 @@
+2013-04-04  Robert Hogan  <[email protected]>
+
+        REGRESSION(r142152): Text wraps in menu
+        https://bugs.webkit.org/show_bug.cgi?id=113706
+
+        Reviewed by David Hyatt.
+
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::inlineLogicalWidth): Empty inline elements add their inline border/padding/margin to the width of the
+        line when we iterate through them in nextLineBreak(), so no need to add them again here when climbing back up
+        from their first child looking for border/padding/margin to add. (An empty inline element can have floating children.)
+
 2013-04-04  Ryosuke Niwa  <[email protected]>
 
         Changing typing style with font size delta overrides the previous font size delta

Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (147661 => 147662)


--- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2013-04-04 19:15:52 UTC (rev 147661)
+++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2013-04-04 19:23:03 UTC (rev 147662)
@@ -326,7 +326,8 @@
     unsigned lineDepth = 1;
     LayoutUnit extraWidth = 0;
     RenderObject* parent = child->parent();
-    while (parent->isRenderInline() && lineDepth++ < cMaxLineDepth) {
+    // Empty inline parents have added their inline border, padding and margin to the line already.
+    while (parent->isRenderInline() && !isEmptyInline(parent) && lineDepth++ < cMaxLineDepth) {
         RenderInline* parentAsRenderInline = toRenderInline(parent);
         if (!isEmptyInline(parentAsRenderInline)) {
             if (start && shouldAddBorderPaddingMargin(child->previousSibling(), start))
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to