Bug 88374

Summary: WebPage::windowIsVisible is incorrect during resumePainting
Product: WebKit Reporter: Tim Horton <thorton>
Component: WebKit2Assignee: Tim Horton <thorton>
Status: RESOLVED FIXED    
Severity: Normal CC: adele, andersca, dino, jer.noble, mitz
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch simon.fraser: review+

Tim Horton
Reported 2012-06-05 16:25:21 PDT
A few methods in WKView do something like this: _data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible); [self _updateWindowVisibility]; viewStateDidChange can end up calling resumePainting, which depends on the window visibility (windowIsVisible) being correctly set in order to unpause the requestAnimationFrame controller. The only other thing that depends on windowIsVisible is PluginView and friends, which seem unlikely to mind it being updated slightly earlier. The behavior as it stands now seems wrong, and will likely only serve to confuse future users of windowIsVisible. <rdar://problem/11587039>
Attachments
patch (3.77 KB, patch)
2012-06-05 16:53 PDT, Tim Horton
simon.fraser: review+
Tim Horton
Comment 1 2012-06-05 16:30:06 PDT
I've tried and failed continuously to make a test for this. The mixture of fullscreen and rAF and WebKit2 and the different DrawingArea implementations is making it very hard, and potentially not possible (I can't cause the problem to reproduce in WKTR at all).
Tim Horton
Comment 2 2012-06-05 16:40:27 PDT
One effect of this is that Bing Maps stops updating if you full-screen it (http://binged.it/K9uLcw).
Tim Horton
Comment 3 2012-06-05 16:53:16 PDT
Created attachment 145897 [details] patch went a bit overboard with the changelog
Simon Fraser (smfr)
Comment 4 2012-06-05 17:14:03 PDT
Comment on attachment 145897 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=145897&action=review r=me as long as jer and/or anders is OK with this. > Source/WebKit2/ChangeLog:24 > + Will cause the second and third rAF calls to have no effect. Even after cancelFullScreen() is called, lowercase w
Jer Noble
Comment 5 2012-06-05 17:19:33 PDT
I'm fine with this.
Tim Horton
Comment 6 2012-06-06 00:55:31 PDT
Anders said it was OK on IRC before lunch yesterday, too. http://trac.webkit.org/changeset/119570
Tim Horton
Comment 7 2012-06-06 00:56:31 PDT
(In reply to comment #4) > (From update of attachment 145897 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=145897&action=review > > r=me as long as jer and/or anders is OK with this. > > > Source/WebKit2/ChangeLog:24 > > + Will cause the second and third rAF calls to have no effect. Even after cancelFullScreen() is called, > > lowercase w Aack, I missed this comment. I don't really see a follow-up commit to fix the ChangeLog, though?
Note You need to log in before you can comment on or make changes to this bug.