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

Issue 1683593002: Don't use pending NavigationEntries for navigation transfers. (Closed)

Created:
4 years, 10 months ago by Charlie Reis
Modified:
4 years, 7 months ago
Reviewers:
alexmos
CC:
chromium-reviews, darin-cc_chromium.org, nasko+codewatch_chromium.org, jam, creis+watch_chromium.org, site-isolation-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Don't use pending NavigationEntries for navigation transfers. Cross-process transfers for navigations that are about to commit had been using NavigationControllerImpl::LoadURLWithParams (as an artifact of previously going through OpenURL). Most of that code is unnecessary, in particular the fact that it creates a new pending NavigationEntry. That's problematic for subframe transfers, where we should not affect any existing pending NavigationEntry (e.g., for a slow main frame navigation). This CL shortcuts the transfer by creating a NavigationEntry without making it the pending one. A future CL can eliminate the entry entirely by validating and passing the parameters to the right RenderFrameHost directly. This also makes it possible to do cross-process navigations in subframes of the initial blank page, fixing a crash. BUG=495161, 584739 TEST=Create OOPIF on initial blank page of a tab. TEST=Cross-process subframe navigation during slow main frame navigation. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/9bc97a7b5405403cd9878556162a6234ef4381bf Cr-Commit-Position: refs/heads/master@{#384009}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Clean up #

Total comments: 8

Patch Set 4 : Rebase #

Patch Set 5 : Fixes from review #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+53 lines, -13 lines) Patch
M content/browser/frame_host/navigation_controller_impl_browsertest.cc View 1 2 3 4 1 chunk +3 lines, -2 lines 2 comments Download
M content/browser/frame_host/navigator_impl.cc View 1 2 3 4 1 chunk +50 lines, -11 lines 0 comments Download

Messages

Total messages: 17 (8 generated)
Charlie Reis
Alex, can you take a look? We can go a step further by avoiding creating ...
4 years, 9 months ago (2016-03-21 16:50:35 UTC) #4
Charlie Reis
Oh, and for reference, most of the new code is a stripped down version of ...
4 years, 9 months ago (2016-03-21 18:18:26 UTC) #5
alexmos
Looks good -- just a couple of clarification questions from comparing the old and new ...
4 years, 9 months ago (2016-03-21 21:41:26 UTC) #6
Charlie Reis
Thanks, and sorry for the delay! Fixes up. https://codereview.chromium.org/1683593002/diff/40001/content/browser/frame_host/navigator_impl.cc File content/browser/frame_host/navigator_impl.cc (left): https://codereview.chromium.org/1683593002/diff/40001/content/browser/frame_host/navigator_impl.cc#oldcode740 content/browser/frame_host/navigator_impl.cc:740: controller_->LoadURLWithParams(load_url_params); ...
4 years, 8 months ago (2016-03-30 15:26:08 UTC) #9
alexmos
LGTM https://codereview.chromium.org/1683593002/diff/80001/content/browser/frame_host/navigation_controller_impl_browsertest.cc File content/browser/frame_host/navigation_controller_impl_browsertest.cc (right): https://codereview.chromium.org/1683593002/diff/80001/content/browser/frame_host/navigation_controller_impl_browsertest.cc#newcode516 content/browser/frame_host/navigation_controller_impl_browsertest.cc:516: WaitForLoadStopWithoutSuccessCheck(new_shell->web_contents()); On 2016/03/30 15:26:08, Charlie Reis wrote: > ...
4 years, 8 months ago (2016-03-30 16:50:41 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1683593002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1683593002/80001
4 years, 8 months ago (2016-03-30 16:54:34 UTC) #12
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 8 months ago (2016-03-30 17:00:08 UTC) #14
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/9bc97a7b5405403cd9878556162a6234ef4381bf Cr-Commit-Position: refs/heads/master@{#384009}
4 years, 8 months ago (2016-03-30 17:01:36 UTC) #16
Charlie Reis
4 years, 8 months ago (2016-04-05 17:28:58 UTC) #17
Message was sent while issue was closed.
A revert of this CL (patchset #5 id:80001) has been created in
https://codereview.chromium.org/1861773002/ by creis@chromium.org.

The reason for reverting is: This is causing crashes in
https://crbug.com/600743, as well as a problem with interstitial pages in
https://crbug.com/600046.  I'll look into the problems and then reland this..

Powered by Google App Engine
This is Rietveld 408576698