[webkit-reviews] review granted: [Bug 194924] REGRESSION(PSON) Scroll position is sometimes not restored on history navigation : [Attachment 362689] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 22 10:15:54 PST 2019

Geoffrey Garen <ggaren at apple.com> has granted Chris Dumez <cdumez at apple.com>'s
request for review:
Bug 194924: REGRESSION(PSON) Scroll position is sometimes not restored on
history navigation

Attachment 362689: Patch


--- Comment #19 from Geoffrey Garen <ggaren at apple.com> ---
Comment on attachment 362689
  --> https://bugs.webkit.org/attachment.cgi?id=362689

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


> Source/WebKit/ChangeLog:10
> +	   call restoreSessionInternal() to restore the HistoryItems based on
the UIProcess'


> Source/WebKit/ChangeLog:12
> +	   updates back to the UIProcess. Without PSON, this would be
unnecessary but harmless.

When did this ever happen without PSON? (I think only PSON creates a new
WebPage for backforward navigation.)

> Source/WebKit/WebProcess/WebPage/WebPage.cpp:2705
> +    // Since we're merely restoring HistoryItems from the UIProcess, there
is no need to send HistoryItem update notifications back to the UIProcess.

I would comment more strongly: Avoid sending HistoryItem updates to the
UIProcess because we may overwrite important in-flight state from the UI
process (like scroll position).

> Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:4816
> +// Pages with dedicated workers do not go into page cache.
> +var myWorker = new Worker('worker.js');

Seems like it would be nice to add window.internals.disablePageCache() for
cases like this.

More information about the webkit-reviews mailing list