Bug 95772 - CSS 2.1 failure: floats-149 fails
Summary: CSS 2.1 failure: floats-149 fails
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Robert Hogan
URL: http://test.csswg.org/suites/css2.1/n...
Keywords:
Depends on:
Blocks: 31397
  Show dependency treegraph
 
Reported: 2012-09-04 12:39 PDT by Robert Hogan
Modified: 2013-02-07 10:50 PST (History)
7 users (show)

See Also:


Attachments
Patch (9.73 KB, patch)
2013-01-27 07:19 PST, Robert Hogan
no flags Details | Formatted Diff | Diff
Patch (9.81 KB, patch)
2013-01-28 11:06 PST, Robert Hogan
hyatt: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Hogan 2012-09-04 12:39:31 PDT
Should the RenderInline expand to enclose the float? It currently gets a zero height - which is why the RenderBlock parent gets a zero height.
Comment 1 Dave Hyatt 2012-09-04 12:58:56 PDT
Just a guess but:


static bool alwaysRequiresLineBox(RenderInline* 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();
}


I think !flow->firstChild() (the subject of the FIXME) is probably why we're failing this test.

You should replace that with a function that recurs and looks for whether or not you have child content that will force the creation of a line box.
Comment 2 Robert Hogan 2012-09-24 11:09:57 PDT
This test can be at least partly reduced to the fact that the inline div will get a line box in this case:

  <div><div style="display:inline"></div></div>

But not in this:

  <div><div style="display:inline"><span></span></div></div>

FF, Opera and IE create a line box for the latter case. So presumably WebKit should too. But then WebKit would always create a line box for empty lines. Is that what should happen?
Comment 3 Robert Hogan 2013-01-27 07:19:55 PST
Created attachment 184913 [details]
Patch
Comment 4 Build Bot 2013-01-27 07:59:29 PST
Comment on attachment 184913 [details]
Patch

Attachment 184913 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/16155267
Comment 5 Build Bot 2013-01-27 10:33:36 PST
Comment on attachment 184913 [details]
Patch

Attachment 184913 [details] did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16155308

New failing tests:
fast/text/international/bidi-ignored-for-first-child-inline.html
Comment 6 Build Bot 2013-01-27 11:07:15 PST
Comment on attachment 184913 [details]
Patch

Attachment 184913 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16146538

New failing tests:
http/tests/inspector/resource-tree/resource-request-content-while-loading.html
fast/text/international/bidi-ignored-for-first-child-inline.html
Comment 7 Robert Hogan 2013-01-28 11:06:36 PST
Created attachment 185011 [details]
Patch
Comment 8 Build Bot 2013-01-28 16:51:04 PST
Comment on attachment 185011 [details]
Patch

Attachment 185011 [details] did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16180278

New failing tests:
fast/text/international/bidi-ignored-for-first-child-inline.html
Comment 9 Build Bot 2013-01-28 22:58:32 PST
Comment on attachment 185011 [details]
Patch

Attachment 185011 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16191013

New failing tests:
fast/text/international/bidi-ignored-for-first-child-inline.html
Comment 10 Dave Hyatt 2013-02-04 14:09:32 PST
Comment on attachment 185011 [details]
Patch

r=me
Comment 11 Robert Hogan 2013-02-07 10:50:29 PST
Committed r142152: <http://trac.webkit.org/changeset/142152>