[Webkit-unassigned] [Bug 116689] Regression(r145959) Convert <select> to new flex box causes strange positioning problems

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 30 15:20:23 PDT 2013


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





--- Comment #17 from Ojan Vafai <ojan at chromium.org>  2013-05-30 15:18:54 PST ---
(In reply to comment #15)
> Hmm one concern I have is if anything else needs the layoutOverflowRect between the time we call updateScrolInfoAfterLayout and we exit the RenderBlock::layout. (where it was called before).
> Although I guess updateScrollInfoAFTERlayout should imply that all the layout stuff has already happened and we're good to go?

Yeah. It's a valid concern. It wouldn't surprise me if there's other bugs like this one hiding here. You could add an ASSERT(!gDelayUpdateScrollInfo) to layoutOverflowRect as well.

(In reply to comment #16)
> One more thing is that RenderDeprecatedFlexibleBox and RenderGrid both call
> layer()->updateScrollInfoAfterLayout();
> directly, not via RenderBlock::udpateScrollInfoAfterLayout() ... should I add clearOverflowRect to those as well? Otherwise it'll never be called for those elements right? (unless their scroll info update is delayed)

I think those should be calling RenderBlock's udpateScrollInfoAfterLayout.

(In reply to comment #14)
> (In reply to comment #12)
> > -Not directly related to your patch, but while we're in this code...it doesn't seem like the hasControlClip check provides any value. clearLayoutOverflow already early returns if !m_overflow. I might be missing something here though.
> 
> Just looking at the method, hasControlClip seems to be unrelated to m_overflow, it's overridden in various Render classes and simply either returns true or false (in RenderMenuLists's case the implementation is just: return true;) I guess it doesn't matter if I'm removing the call from layout() altogether though :)

Hmmm...I'm not sure about this. Might want to get Hyatt to take a look at this first. Thinking about this more, it might be wrong to clear m_overflow if !hasControlClip(). I'm not sure.

-- 
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