RESOLVED FIXED92902
[Qt][WK2] Race condition between first layout and viewport attributes initialization
https://bugs.webkit.org/show_bug.cgi?id=92902
Summary [Qt][WK2] Race condition between first layout and viewport attributes initial...
Jesus Sanchez-Palencia
Reported 2012-08-01 12:53:41 PDT
During our WebView initialization a default FrameView is created, triggering a layout. This is triggering QtViewportHandler::pageContentsSizeChanged earlier than the first QtViewportHandler::viewportAttributesChanged, which was responsible for initializing m_rawAttributes from QtViewportHandler. This hasn't been noticed before because we set useFixedLayout in QQuickWebViewFlickablePrivate::initialize before the layout is finished, which triggers the correct layout anyway. However, while debugging https://bugs.webkit.org/show_bug.cgi?id=92753, debug messages delayed the initialization of the webview and the first layout finished before expected, leading us to "ASSERT(scale < 0)" in QQuickWebPage::setContentsScale. (The random negative scale was returned by WebCore::computeMinimumScaleFactorForContentContained, called in QtViewportHandler::pageContentsSizeChanged). This overly descriptive bug report is for the sake of remembering, since it took me a while to understand the race condition... Patch is coming.
Attachments
Patch (2.08 KB, patch)
2012-08-01 13:38 PDT, Jesus Sanchez-Palencia
no flags
Jesus Sanchez-Palencia
Comment 1 2012-08-01 13:38:32 PDT
WebKit Review Bot
Comment 2 2012-08-01 15:21:16 PDT
Comment on attachment 155874 [details] Patch Clearing flags on attachment: 155874 Committed r124374: <http://trac.webkit.org/changeset/124374>
WebKit Review Bot
Comment 3 2012-08-01 15:21:20 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.