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

Issue 2487403002: Allow navigations to frames that aren't being unloaded in the unload handler. (Closed)

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

Description

Allow navigations to frames that aren't being unloaded in the unload handler. This change lets the page navigate frames that aren't being unloaded in the unload handler. For example, a popup may want to navigate its opener while it's being closed. FrameLoader now also correctly checks if the |targetFrame| can be navigated, instead of checking if |m_frame| can be navigated. BUG=660496 Review-Url: https://codereview.chromium.org/2487403002 Cr-Commit-Position: refs/heads/master@{#442353} Committed: https://chromium.googlesource.com/chromium/src/+/2267cfcce06c92602376754343e5f45effeee1f1

Patch Set 1 #

Total comments: 3

Patch Set 2 : fix test name #

Patch Set 3 : rebase #

Patch Set 4 : readd the global disabler for beforeunload #

Patch Set 5 : allow javascript #

Patch Set 6 : fix test #

Total comments: 2

Patch Set 7 : rebase #

Patch Set 8 : addressing comments #

Patch Set 9 : rebase #

Patch Set 10 : rebase #

Patch Set 11 : add check\ #

Patch Set 12 : early return on back/forward navigations #

Total comments: 11

Patch Set 13 : addressing comments #

Total comments: 2

Patch Set 14 : addressing comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+67 lines, -19 lines) Patch
A third_party/WebKit/LayoutTests/http/tests/navigation/resources/targeted-navigation-in-unload-handler-subframe.html View 1 chunk +11 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/navigation/targeted-navigation-in-unload-handler.html View 1 1 chunk +30 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/History.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/loader/FrameLoader.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +12 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/loader/NavigationScheduler.h View 1 2 3 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/loader/NavigationScheduler.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +7 lines, -9 lines 0 comments Download

Messages

Total messages: 75 (45 generated)
lfg
Daniel, can you take a look? This change shouldn't break any existing use cases, only ...
4 years, 1 month ago (2016-11-10 00:15:04 UTC) #4
lfg
Ping!
4 years ago (2016-11-29 17:28:14 UTC) #5
dcheng
1) I'd rather not roll back the restrictions on beforeunload at all. 2) Is it ...
4 years ago (2016-11-30 06:15:31 UTC) #6
lfg
On 2016/11/30 06:15:31, dcheng wrote: > 1) I'd rather not roll back the restrictions on ...
4 years ago (2016-11-30 18:30:39 UTC) #7
dcheng
On 2016/11/30 18:30:39, lfg wrote: > On 2016/11/30 06:15:31, dcheng wrote: > > 1) I'd ...
4 years ago (2016-11-30 19:36:20 UTC) #8
lfg
On 2016/11/30 19:36:20, dcheng wrote: > On 2016/11/30 18:30:39, lfg wrote: > > On 2016/11/30 ...
4 years ago (2016-12-01 00:34:26 UTC) #9
dcheng
On 2016/12/01 00:34:26, lfg wrote: > On 2016/11/30 19:36:20, dcheng wrote: > > On 2016/11/30 ...
4 years ago (2016-12-01 00:42:45 UTC) #10
lfg
I've added back the global disabler for beforeunload. Please take another look.
4 years ago (2016-12-02 18:28:20 UTC) #24
dcheng
Overall, seems reasonable to me. Please do expand the CL description to cover incidental fixes ...
4 years ago (2016-12-08 23:16:53 UTC) #25
dcheng
On 2016/12/08 23:16:53, dcheng wrote: > Overall, seems reasonable to me. Please do expand the ...
4 years ago (2016-12-09 04:35:53 UTC) #26
lfg
On 2016/12/09 04:35:53, dcheng wrote: > On 2016/12/08 23:16:53, dcheng wrote: > > Overall, seems ...
4 years ago (2016-12-12 23:11:10 UTC) #29
lfg
Please take another look. https://codereview.chromium.org/2487403002/diff/100001/third_party/WebKit/Source/core/frame/LocalFrame.cpp File third_party/WebKit/Source/core/frame/LocalFrame.cpp (right): https://codereview.chromium.org/2487403002/diff/100001/third_party/WebKit/Source/core/frame/LocalFrame.cpp#newcode926 third_party/WebKit/Source/core/frame/LocalFrame.cpp:926: for (const Frame* cur = ...
4 years ago (2016-12-12 23:12:40 UTC) #32
dcheng
On 2016/12/12 23:11:10, lfg wrote: > On 2016/12/09 04:35:53, dcheng wrote: > > On 2016/12/08 ...
4 years ago (2016-12-13 01:04:53 UTC) #37
lfg
On 2016/12/13 01:04:53, dcheng wrote: > > I'm specifically referring to the case where we ...
4 years ago (2016-12-14 20:57:52 UTC) #40
dcheng
On 2016/12/14 20:57:52, lfg wrote: > On 2016/12/13 01:04:53, dcheng wrote: > > > > ...
4 years ago (2016-12-16 09:36:05 UTC) #42
lfg
Friendly ping!
4 years ago (2016-12-19 22:43:35 UTC) #43
lfg
Ping! This is an M56 release blocker, let's try to get this reviewed in time ...
4 years ago (2016-12-21 23:08:40 UTC) #44
dcheng
On 2016/12/21 23:08:40, lfg wrote: > Ping! This is an M56 release blocker, let's try ...
4 years ago (2016-12-21 23:23:34 UTC) #45
Nate Chapin
On 2016/12/16 09:36:05, dcheng wrote: > On 2016/12/14 20:57:52, lfg wrote: > > On 2016/12/13 ...
3 years, 12 months ago (2016-12-27 23:40:42 UTC) #46
lfg
On 2016/12/21 23:23:34, dcheng wrote: > On 2016/12/21 23:08:40, lfg wrote: > > Ping! This ...
3 years, 11 months ago (2017-01-04 00:03:27 UTC) #51
dcheng
On 2017/01/04 00:03:27, lfg wrote: > On 2016/12/21 23:23:34, dcheng wrote: > > On 2016/12/21 ...
3 years, 11 months ago (2017-01-04 00:52:38 UTC) #52
lfg
On 2017/01/04 00:52:38, dcheng wrote: > > It's hard for a reader to determine that ...
3 years, 11 months ago (2017-01-04 18:46:22 UTC) #53
dcheng
On 2017/01/04 18:46:22, lfg wrote: > On 2017/01/04 00:52:38, dcheng wrote: > > > > ...
3 years, 11 months ago (2017-01-04 19:12:43 UTC) #54
lfg
On 2017/01/04 19:12:43, dcheng wrote: > On 2017/01/04 18:46:22, lfg wrote: > > On 2017/01/04 ...
3 years, 11 months ago (2017-01-04 21:01:38 UTC) #59
dcheng
I think I'm largely OK with the current structure as-is, but this code has grown ...
3 years, 11 months ago (2017-01-04 23:12:03 UTC) #60
lfg
It's not possible to just check this bit on FrameLoader::load(), as the check in NavigationScheduler ...
3 years, 11 months ago (2017-01-09 19:04:12 UTC) #63
dcheng
LGTM with comments addressed. https://codereview.chromium.org/2487403002/diff/220001/third_party/WebKit/Source/core/loader/FrameLoader.cpp File third_party/WebKit/Source/core/loader/FrameLoader.cpp (right): https://codereview.chromium.org/2487403002/diff/220001/third_party/WebKit/Source/core/loader/FrameLoader.cpp#newcode1102 third_party/WebKit/Source/core/loader/FrameLoader.cpp:1102: if (m_frame->page()->suspended() && isBackForwardLoadType(frameLoadType)) { ...
3 years, 11 months ago (2017-01-09 19:17:30 UTC) #64
lfg
https://codereview.chromium.org/2487403002/diff/220001/third_party/WebKit/Source/core/loader/FrameLoader.cpp File third_party/WebKit/Source/core/loader/FrameLoader.cpp (right): https://codereview.chromium.org/2487403002/diff/220001/third_party/WebKit/Source/core/loader/FrameLoader.cpp#newcode1129 third_party/WebKit/Source/core/loader/FrameLoader.cpp:1129: !toLocalFrame(targetFrame)->isNavigationAllowed()) { On 2017/01/09 19:17:30, dcheng wrote: > On ...
3 years, 11 months ago (2017-01-09 21:18:23 UTC) #69
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/2487403002/260001
3 years, 11 months ago (2017-01-09 21:20:06 UTC) #72
commit-bot: I haz the power
3 years, 11 months ago (2017-01-09 21:28:26 UTC) #75
Message was sent while issue was closed.
Committed patchset #14 (id:260001) as
https://chromium.googlesource.com/chromium/src/+/2267cfcce06c92602376754343e5...

Powered by Google App Engine
This is Rietveld 408576698