Bug 135058

Summary: Take navigation snapshots whenever the current back-forward item is going to change
Product: WebKit Reporter: Tim Horton <thorton>
Component: WebKit2Assignee: Tim Horton <thorton>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca, benjamin, commit-queue, japhet, mitz, rniwa, sam, simon.fraser
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch mitz: review+

Description Tim Horton 2014-07-18 11:41:07 PDT
Instead of trying to have the UI process figure out when to take navigation snapshots by itself, provide some help from the Web process (let the UI process know whenever we're going to change which back-forward item is "current") so that we can take snapshots at the right time when pushState happens, and so that we can bottleneck snapshotting down to just two places (instead of 5).

<rdar://problem/17464515>
Comment 1 Tim Horton 2014-07-18 12:07:27 PDT
Created attachment 235134 [details]
patch
Comment 2 mitz 2014-07-18 12:37:56 PDT
Comment on attachment 235134 [details]
patch

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

> Source/WebCore/loader/HistoryController.cpp:882
> +    m_frame.loader().client().willChangeCurrentHistoryItem();

Do we need to call this if we end up changing just the provisional item?
Comment 3 Tim Horton 2014-07-18 12:40:46 PDT
Comment on attachment 235134 [details]
patch

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

>> Source/WebCore/loader/HistoryController.cpp:882
>> +    m_frame.loader().client().willChangeCurrentHistoryItem();
> 
> Do we need to call this if we end up changing just the provisional item?

No, good point. Thanks!
Comment 4 Tim Horton 2014-07-18 13:35:11 PDT
http://trac.webkit.org/changeset/171239
Comment 5 Ryosuke Niwa 2014-07-19 00:26:59 PDT
Looks like this caused a PLT regression on all platforms.