Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Issue 2467433002: Check scrollRestorationType explicitly in FrameLoader::processFragment() (Closed)

Created:
4 years, 1 month ago by hiroshige
Modified:
4 years, 1 month ago
Reviewers:
majidvp, skobes
CC:
chromium-reviews, blink-reviews, loading-reviews_chromium.org, tyoshino+watch_chromium.org, Nate Chapin, gavinp+loader_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Check scrollRestorationType explicitly in FrameLoader::processFragment() This is preparation for [1], fixing test failure of virtual/rootlayerscrolls/fast/history/scroll-restoration/scroll-restoration-fragment-navigation-crossdoc.html with [1]. Before [1], the test is passing because, in FrameLoader::finishedParsing(), restoreScrollPositionAndViewState() is called (in checkCompleted()) before processFragment(), and thus processFragment() doesn't cause scroll because |shouldScrollToFragment| is false because |didRestoreFromHistory| is set to true by restoreScrollPositionAndViewState(). However, after [1], restoreScrollPositionAndViewState() is NOT called in checkCompleted() because [1] causes the document onload to be called after finishedParsing(), and thus processFragment() causes scrolling unexpectedly, not reflecting history.scrollRestoration = 'manual'. This CL makes processFragment() to check scrollRestorationType explicitly, not depending on previous restoreScrollPositionAndViewState() call. [1] https://codereview.chromium.org/2269043002/. BUG=624697, 417782 TEST=virtual/rootlayerscrolls/fast/history/scroll-restoration/scroll-restoration-fragment-navigation-crossdoc.html Committed: https://crrev.com/41ca771082edfcdbe304abbce42fce6de58c0657 Cr-Commit-Position: refs/heads/master@{#430237}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Check scrollRestorationType directly #

Patch Set 4 : fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+6 lines, -3 lines) Patch
M third_party/WebKit/Source/core/loader/FrameLoader.cpp View 1 2 3 1 chunk +6 lines, -3 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 33 (24 generated)
hiroshige
Could you take a look?
4 years, 1 month ago (2016-10-31 09:29:04 UTC) #9
skobes
You wrote: "after [1], restoreScrollPositionAndViewState() is NOT called in checkCompleted() because [1] causes the document ...
4 years, 1 month ago (2016-11-02 04:05:40 UTC) #12
hiroshige
On 2016/11/02 04:05:40, skobes wrote: > You wrote: > > "after [1], restoreScrollPositionAndViewState() is NOT ...
4 years, 1 month ago (2016-11-02 04:20:04 UTC) #13
skobes
On 2016/11/02 04:20:04, hiroshige wrote: > checkCompleted() calls restoreScrollPositionAndViewState(), only if > shouldComplete() returns true. ...
4 years, 1 month ago (2016-11-02 04:39:45 UTC) #15
hiroshige
On 2016/11/02 04:39:45, skobes wrote: > On 2016/11/02 04:20:04, hiroshige wrote: > > checkCompleted() calls ...
4 years, 1 month ago (2016-11-04 11:57:00 UTC) #26
skobes
lgtm
4 years, 1 month ago (2016-11-04 16:38:52 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2467433002/60001
4 years, 1 month ago (2016-11-07 06:26:18 UTC) #29
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 1 month ago (2016-11-07 09:06:54 UTC) #31
commit-bot: I haz the power
4 years, 1 month ago (2016-11-07 09:08:22 UTC) #33
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/41ca771082edfcdbe304abbce42fce6de58c0657
Cr-Commit-Position: refs/heads/master@{#430237}

Powered by Google App Engine
This is Rietveld 408576698