[Webkit-unassigned] [Bug 115820] When a child becomes floated or out-of-flow it should find an anonymous wrapper if necessary

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat May 18 03:25:34 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=115820


Robert Hogan <robert at webkit.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |robert at webkit.org




--- Comment #1 from Robert Hogan <robert at webkit.org>  2013-05-18 03:24:00 PST ---
I definitely need advice on how to go about doing this - anonymous blocks are too complicated for trial and error.

If the render tree is like this:

      RenderBlock (anonymous) at (0,73) size 320x19
        RenderInline {SPAN} at (0,0) size 40x19
          RenderInline {SPAN} at (0,0) size 40x19 [bgcolor=#FF0000]
      RenderBlock (anonymous) at (0,92) size 320x40
        RenderBlock {DIV} at (0,0) size 160x40 [bgcolor=#008000]
          RenderText {#text} at (0,10) size 4x19
            text run at (0,10) width 4: " "
      RenderBlock (anonymous) at (0,132) size 320x0
        RenderInline {SPAN} at (0,0) size 0x0
      RenderBlock (anonymous) at (0,132) size 320x0
        RenderBlock {DIV} at (0,0) size 320x0
      RenderBlock (anonymous) at (0,132) size 320x0
        RenderInline {SPAN} at (0,0) size 0x0
          RenderInline {SPAN} at (0,0) size 0x0
            RenderText {#text} at (0,0) size 0x0
            RenderText {#text} at (0,0) size 0x0

and the first div becomes a float, I need to change it to this:

      RenderBlock (anonymous) at (0,73) size 320x19
        RenderInline {SPAN} at (0,0) size 40x19
          RenderInline {SPAN} at (0,0) size 40x19 [bgcolor=#FF0000]
          RenderBlock {DIV} (floating) at (0,0) size 160x40 [bgcolor=#008000]
            RenderText {#text} at (0,10) size 4x19
              text run at (0,10) width 4: " "
      RenderBlock (anonymous) at (0,132) size 320x0
        RenderBlock {DIV} at (0,0) size 320x0
      RenderBlock (anonymous) at (0,132) size 320x0
        RenderInline {SPAN} at (0,0) size 0x0
          RenderInline {SPAN} at (0,0) size 0x0
            RenderText {#text} at (0,0) size 0x0
            RenderText {#text} at (0,0) size 0x0

Can I just use moveChildTo() to move the float into the preceding anonymous block and destroy its old anonymous block parent? Or will I then need to rewrite the continuation map to link the RenderInline parent to the anonymous block containing the remaining block-flow DIV?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list