Bug 213657

Summary: On load from back/forward cache, call checkCompleted() for ALL frames inside FrameLoader::commitProvisionalLoad()
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: Page LoadingAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, beidson, ews-watchlist, ggaren, japhet, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=156356
Attachments:
Description Flags
Patch
none
Patch youennf: review+

Description Chris Dumez 2020-06-26 13:09:42 PDT
On load from back/forward cache, call checkCompleted() for ALL frames inside FrameLoader::commitProvisionalLoad(). Previously, we were doing it for the main frame in FrameLoader::commitProvisionalLoad() and for subframes in FrameLoader::open().
Comment 1 Chris Dumez 2020-06-26 13:11:23 PDT
Created attachment 402893 [details]
Patch
Comment 2 Chris Dumez 2020-06-26 13:13:35 PDT
Created attachment 402894 [details]
Patch
Comment 3 Chris Dumez 2020-06-29 09:15:53 PDT
ping review?
Comment 4 youenn fablet 2020-06-29 09:25:46 PDT
Comment on attachment 402894 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=402894&action=review

> Source/WebCore/loader/FrameLoader.cpp:-2080
> -        checkCompleted();

Is there a potential change of behavior in case checkCompleted done here would have changed the list of children iframes below?

> Source/WebCore/loader/FrameLoader.cpp:2082
> +        for (Frame* child = m_frame.tree().firstChild(); child; child = child->tree().traverseNext(&m_frame))

auto*
Comment 5 Chris Dumez 2020-06-29 09:32:40 PDT
Committed r263662: <https://trac.webkit.org/changeset/263662>
Comment 6 Radar WebKit Bug Importer 2020-06-29 09:33:16 PDT
<rdar://problem/64893675>