WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
78562
New flexboxes don't split into columns
https://bugs.webkit.org/show_bug.cgi?id=78562
Summary
New flexboxes don't split into columns
Ojan Vafai
Reported
2012-02-13 18:43:15 PST
RenderBlock* RenderBlock::createAnonymousBlockWithSameTypeAs(RenderBlock* otherAnonymousBlock) const { if (otherAnonymousBlock->isAnonymousColumnsBlock()) return createAnonymousColumnsBlock(); if (otherAnonymousBlock->isAnonymousColumnSpanBlock()) return createAnonymousColumnSpanBlock(); return createAnonymousBlock(otherAnonymousBlock->style()->display() == BOX); }
Attachments
Add attachment
proposed patch, testcase, etc.
Ojan Vafai
Comment 1
2012-02-13 18:43:53 PST
As well as: RenderBlock* RenderBlock::createAnonymousBlock(bool isFlexibleBox) const { RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyle(style()); RenderBlock* newBox = 0; if (isFlexibleBox) { newStyle->setDisplay(BOX); newBox = new (renderArena()) RenderDeprecatedFlexibleBox(document() /* anonymous box */); } else { newStyle->setDisplay(BLOCK); newBox = new (renderArena()) RenderBlock(document() /* anonymous box */); } newBox->setStyle(newStyle.release()); return newBox; }
Ojan Vafai
Comment 2
2012-02-13 18:45:32 PST
And to round out the trio, RenderObject.h: bool isAnonymousBlock() const { // This function is kept in sync with anonymous block creation conditions in // RenderBlock::createAnonymousBlock(). This includes creating an anonymous // RenderBlock having a BLOCK or BOX display. Other classes such as RenderTextFragment // are not RenderBlocks and will return false. See
https://bugs.webkit.org/show_bug.cgi?id=56709
. return isAnonymous() && (style()->display() == BLOCK || style()->display() == BOX) && style()->styleType() == NOPSEUDO && isRenderBlock() && !isListMarker() #if ENABLE(FULLSCREEN_API) && !isRenderFullScreen() && !isRenderFullScreenPlaceholder() #endif ; }
Ojan Vafai
Comment 3
2012-02-15 16:47:04 PST
We need createAnonymousBlock to create a RenderFlexibleBox when splitting flexboxes. This will get new flexboxes to match the old ones. Old flexboxes are all sorts of buggy in multi-column though.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug