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

Issue 1519943002: Shortcut cross-process frame transfers to avoid pending NavigationEntries. (Closed)

Created:
5 years ago by Charlie Reis
Modified:
5 years ago
Reviewers:
alexmos, davidben
CC:
chromium-reviews, jam, nasko+codewatch_chromium.org, creis+watch_chromium.org, darin-cc_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

Shortcut cross-process transfers to avoid relying on OpenURLFromTab. Some navigations transfer to a different process during the network stack, such as server redirects or cross-site subframes in OOPIF-enabled modes. These should not depend on going through WebContentsDelegate's OpenURLFromTab, since many WebContentsDelegate implementations do not handle this case properly (e.g., panels, DevTools). This is one step toward further shortcutting, such as not using pending NavigationEntries or NavigationEntries at all for transfers. BUG=495161, 568357 TEST=OOPIFs work in panels and DevTools; test landing separately. Committed: https://crrev.com/29460279715f05dff407beb3ec3a517dae329f81 Cr-Commit-Position: refs/heads/master@{#365443}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Fix initial entry case #

Patch Set 4 : Fix bug #

Patch Set 5 : Better NavEntry creation (but replace broken) #

Patch Set 6 : Try smaller, less disruptive change #

Patch Set 7 : Fix prerender, test, webui #

Patch Set 8 : Clean up #

Total comments: 7

Patch Set 9 : Remove dead param #

Unified diffs Side-by-side diffs Delta from patch set Stats (+106 lines, -56 lines) Patch
M chrome/browser/prerender/prerender_contents.cc View 1 2 3 4 5 6 1 chunk +9 lines, -3 lines 0 comments Download
M content/browser/cross_site_transfer_browsertest.cc View 1 2 3 4 5 6 1 chunk +3 lines, -16 lines 0 comments Download
M content/browser/frame_host/navigator.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -2 lines 0 comments Download
M content/browser/frame_host/navigator_delegate.h View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/frame_host/navigator_delegate.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/frame_host/navigator_impl.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -2 lines 0 comments Download
M content/browser/frame_host/navigator_impl.cc View 1 2 3 4 5 6 7 8 3 chunks +67 lines, -29 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -4 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 6 1 chunk +6 lines, -0 lines 0 comments Download
M content/public/browser/web_contents_delegate.h View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M content/public/browser/web_contents_delegate.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 23 (12 generated)
Charlie Reis
Alex, can you review? (I think you have the context from your previous OpenURLFromTab CLs, ...
5 years ago (2015-12-15 21:54:51 UTC) #5
alexmos
Looks great, just a couple of questions/nits. https://codereview.chromium.org/1519943002/diff/140001/content/browser/frame_host/navigator_impl.cc File content/browser/frame_host/navigator_impl.cc (right): https://codereview.chromium.org/1519943002/diff/140001/content/browser/frame_host/navigator_impl.cc#newcode615 content/browser/frame_host/navigator_impl.cc:615: if (render_frame_host->web_ui()) ...
5 years ago (2015-12-15 23:44:02 UTC) #6
davidben
prerender lgtm
5 years ago (2015-12-15 23:48:08 UTC) #7
Charlie Reis
Thanks! https://codereview.chromium.org/1519943002/diff/140001/content/browser/frame_host/navigator_impl.cc File content/browser/frame_host/navigator_impl.cc (right): https://codereview.chromium.org/1519943002/diff/140001/content/browser/frame_host/navigator_impl.cc#newcode615 content/browser/frame_host/navigator_impl.cc:615: if (render_frame_host->web_ui()) { On 2015/12/15 23:44:02, alexmos wrote: ...
5 years ago (2015-12-16 00:27:30 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1519943002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1519943002/180001
5 years ago (2015-12-16 00:29:58 UTC) #11
alexmos
LGTM https://codereview.chromium.org/1519943002/diff/140001/content/browser/frame_host/navigator_impl.cc File content/browser/frame_host/navigator_impl.cc (right): https://codereview.chromium.org/1519943002/diff/140001/content/browser/frame_host/navigator_impl.cc#newcode615 content/browser/frame_host/navigator_impl.cc:615: if (render_frame_host->web_ui()) { On 2015/12/16 00:27:30, Charlie Reis ...
5 years ago (2015-12-16 00:40:04 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1519943002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1519943002/180001
5 years ago (2015-12-16 00:45:04 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) android_clang_dbg_recipe on ...
5 years ago (2015-12-16 02:40:52 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1519943002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1519943002/180001
5 years ago (2015-12-16 04:08:54 UTC) #20
commit-bot: I haz the power
Committed patchset #9 (id:180001)
5 years ago (2015-12-16 04:38:29 UTC) #21
commit-bot: I haz the power
5 years ago (2015-12-16 04:39:10 UTC) #23
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/29460279715f05dff407beb3ec3a517dae329f81
Cr-Commit-Position: refs/heads/master@{#365443}

Powered by Google App Engine
This is Rietveld 408576698