Bug 136590

Summary: Doing a navigation on a non-opaque WKWebView can result in an empty layer tree
Product: WebKit Reporter: Tim Horton <thorton>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: sam, simon.fraser
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch simon.fraser: review+

Tim Horton
Reported 2014-09-05 16:24:30 PDT
FrameView::setTransparent uses FrameView::renderView to get the RenderView from the Document, but setTransparent can be called from Frame::createView, which is before the new Document has been swapped in, so it gets the old (pre-navigation) RenderView, and uses that to schedule a compositing layer update, which eventually comes through and can blow away the new document's layer tree. rdar://problem/18234000
Attachments
patch (1.56 KB, patch)
2014-09-05 16:28 PDT, Tim Horton
simon.fraser: review+
Tim Horton
Comment 1 2014-09-05 16:28:15 PDT
Simon Fraser (smfr)
Comment 2 2014-09-05 16:42:22 PDT
Comment on attachment 237719 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=237719&action=review > Source/WebCore/ChangeLog:9 > + Reviewed by NOBODY (OOPS!). > + > + * page/FrameView.cpp: You fail to explain the "can result in an empty layer tree" part here. > Source/WebCore/page/FrameView.cpp:2586 > + if (&renderView->frameView() != this) > + return; This deserves a comment.
Tim Horton
Comment 3 2014-09-05 17:14:38 PDT
Note You need to log in before you can comment on or make changes to this bug.