Chromium Code Reviews
Help | Chromium Project | Gerrit Changes | Sign in
(77)

Issue 1159723003: Don't reuse HistoryItems for multiple navigations (Closed)

Created:
4 years, 11 months ago by Nate Chapin
Modified:
4 years, 11 months ago
Reviewers:
bokan, dcheng
CC:
blink-reviews, gavinp+loader_chromium.org, tyoshino+watch_chromium.org
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Don't reuse HistoryItems for multiple navigations Explicitly propagate shared state instead of implicitly doing so via HistoryItem reuse in FrameLoader::setHistoryItemStateForCommit(). If, for example, a page calls replaceState() while a back/forward navigation is in progress, it would co-op the provisional history item for the back/forward navigation and set its scroll state on it. This state would then get reused when the back/forward navigation actually committed. BUG=481393 TEST=fast/history/resources/replaceState-during-beforeunload.html Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=196532

Patch Set 1 #

Patch Set 2 : +test #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Total comments: 2

Patch Set 7 : #

Total comments: 6

Patch Set 8 : Address comments #

Total comments: 1

Patch Set 9 : Don't change the magic number #

Patch Set 10 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+101 lines, -65 lines) Patch
A LayoutTests/fast/history/replaceState-onbeforeunload-scroll-state.html View 1 1 chunk +27 lines, -0 lines 0 comments Download
A LayoutTests/fast/history/replaceState-onbeforeunload-scroll-state-expected.txt View 1 1 chunk +1 line, -0 lines 0 comments Download
A LayoutTests/fast/history/resources/replaceState-during-beforeunload.html View 1 1 chunk +11 lines, -0 lines 0 comments Download
M Source/core/loader/FrameLoader.h View 1 2 3 4 5 6 7 2 chunks +6 lines, -3 lines 0 comments Download
M Source/core/loader/FrameLoader.cpp View 1 2 3 4 5 6 7 8 9 4 chunks +31 lines, -27 lines 0 comments Download
M Source/core/loader/HistoryItem.h View 1 2 3 4 5 6 7 8 2 chunks +0 lines, -6 lines 0 comments Download
M Source/core/loader/HistoryItem.cpp View 1 2 3 4 5 6 7 8 2 chunks +0 lines, -16 lines 0 comments Download
M Source/web/WebViewImpl.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -3 lines 0 comments Download
M Source/web/tests/WebFrameTest.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +24 lines, -7 lines 0 comments Download
M Source/web/tests/WebViewTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -3 lines 0 comments Download

Messages

Total messages: 20 (7 generated)
Nate Chapin
4 years, 11 months ago (2015-06-02 18:52:20 UTC) #2
Avi (use Gerrit)
random drive by comment https://codereview.chromium.org/1159723003/diff/100001/Source/core/loader/FrameLoader.cpp File Source/core/loader/FrameLoader.cpp (right): https://codereview.chromium.org/1159723003/diff/100001/Source/core/loader/FrameLoader.cpp#newcode303 Source/core/loader/FrameLoader.cpp:303: // or if this is ...
4 years, 11 months ago (2015-06-02 18:55:27 UTC) #3
Nate Chapin
https://codereview.chromium.org/1159723003/diff/100001/Source/core/loader/FrameLoader.cpp File Source/core/loader/FrameLoader.cpp (right): https://codereview.chromium.org/1159723003/diff/100001/Source/core/loader/FrameLoader.cpp#newcode303 Source/core/loader/FrameLoader.cpp:303: // or if this is a back/forward naivgation, since ...
4 years, 11 months ago (2015-06-02 18:56:28 UTC) #4
dcheng
https://codereview.chromium.org/1159723003/diff/120001/Source/core/loader/FrameLoader.cpp File Source/core/loader/FrameLoader.cpp (right): https://codereview.chromium.org/1159723003/diff/120001/Source/core/loader/FrameLoader.cpp#newcode195 Source/core/loader/FrameLoader.cpp:195: m_currentItem->setPageScaleFactor(scaleFactor == 1.0f ? 0 : scaleFactor); Does 0 ...
4 years, 11 months ago (2015-06-02 19:11:36 UTC) #5
Nate Chapin
https://codereview.chromium.org/1159723003/diff/120001/Source/core/loader/FrameLoader.cpp File Source/core/loader/FrameLoader.cpp (right): https://codereview.chromium.org/1159723003/diff/120001/Source/core/loader/FrameLoader.cpp#newcode195 Source/core/loader/FrameLoader.cpp:195: m_currentItem->setPageScaleFactor(scaleFactor == 1.0f ? 0 : scaleFactor); On 2015/06/02 ...
4 years, 11 months ago (2015-06-02 21:18:57 UTC) #6
dcheng
lgtm if bokan@ is OK with the page scale changes.
4 years, 11 months ago (2015-06-02 21:42:39 UTC) #8
bokan
https://codereview.chromium.org/1159723003/diff/140001/Source/core/loader/FrameLoader.cpp File Source/core/loader/FrameLoader.cpp (right): https://codereview.chromium.org/1159723003/diff/140001/Source/core/loader/FrameLoader.cpp#newcode1043 Source/core/loader/FrameLoader.cpp:1043: if (m_frame->isMainFrame() && m_currentItem->pageScaleFactor() != 1.0f) { I don't ...
4 years, 11 months ago (2015-06-03 15:07:29 UTC) #9
Nate Chapin
On 2015/06/03 15:07:29, bokan wrote: > https://codereview.chromium.org/1159723003/diff/140001/Source/core/loader/FrameLoader.cpp > File Source/core/loader/FrameLoader.cpp (right): > > https://codereview.chromium.org/1159723003/diff/140001/Source/core/loader/FrameLoader.cpp#newcode1043 > ...
4 years, 11 months ago (2015-06-03 18:29:24 UTC) #10
bokan
Page scale changes lgtm
4 years, 11 months ago (2015-06-03 19:35:04 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1159723003/160001
4 years, 11 months ago (2015-06-03 19:44:23 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_compile_dbg on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/mac_blink_compile_dbg/builds/46400) mac_blink_rel on tryserver.blink (JOB_FAILED, ...
4 years, 11 months ago (2015-06-03 19:48:57 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1159723003/180001
4 years, 11 months ago (2015-06-04 20:19:51 UTC) #19
commit-bot: I haz the power
4 years, 11 months ago (2015-06-04 21:30:43 UTC) #20
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=196532

Powered by Google App Engine
This is Rietveld 408576698