[Webkit-unassigned] [Bug 129147] Fix crash in Youtube site when loading is finished.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 6 14:28:07 PST 2014


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


Zalan Bujtas <zalan at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zalan at apple.com




--- Comment #10 from Zalan Bujtas <zalan at apple.com>  2014-03-06 14:25:08 PST ---
(In reply to comment #8)
> If that's true then:
> 1. Your channgelog should have explained that
> 2. Your patch should do if (usingFixedLayout)... rather than a #if PLATFORM
> 
> BTW, iOS uses fixed layout and doesn't crash.
The difference is that iOS takes a different codepath at WebChromeClient::dispatchViewportPropertiesDidChange. 
By taking a quick look at the code, it seems EFL ends up segfaulting due to calling layout recursively. setFixedLayoutSize() -> forceLayout() -> layout() -> styleResolverChanged() -> updateActiveStyleSheets() -> appendAuthorStyleSheets() -> viewportStyleResolver()->resolve() -> m_document->updateViewportArguments() -> dispatchViewportPropertiesDidChange() -> sendViewportAttributesChanged() -> setFixedLayoutSize()

Provided we are inside this loop, calling scheduleRelayout() at this point is a noop as scheduling is disabled for the FrameView. (as a side node, bug 52309 introduced this API and I am not sure if the caller expects sync layout, if it does, i'd branch out and make a new function with this async behavior.)  


> BTW, I have a curiosity. In the first patch, I just only used scheduleRelayout() not with #if PLATFORM(...), and I faced an build error in mac and mac-wk2. Why is it?
scheduleRelayout needs to be exported out if you intend to use it in WebKit2. (WebCore.exp.in)

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