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

Issue 648813002: PlzNavigate: Add first version of NavigationURLLoader. (Closed)

Created:
6 years, 2 months ago by davidben
Modified:
6 years, 1 month ago
Reviewers:
clamy, nasko, mmenke
CC:
chromium-reviews, vsevik, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, yurys, paulirish+reviews_chromium.org, darin-cc_chromium.org, devtools-reviews_chromium.org, aandrey+blink_chromium.org, pfeldman, zork+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@plz-navigate-prepare
Project:
chromium
Visibility:
Public.

Description

PlzNavigate: Add first version of NavigationURLLoader. Split out from https://codereview.chromium.org/519533002/ This adds the first iteration of a NavigationURLLoader to own the URL request on the UI thread. It owns the request up until the response starts, at which point ownership is tranferred to a StreamHandle which resolves to the body. The request itself is missing much of the handlers and context which are normally attached to the request. That will need to be resolved later, ideally in a way that allows most consumers to treat navigation and subresource requests the same. With this CL, content_shell with --enable-browser-side-navigation can load a page in fresh window with no existing renderer. BUG=376015 Committed: https://crrev.com/6b77cd746e176a15d8cd3002732124687c403a53 Cr-Commit-Position: refs/heads/master@{#301929}

Patch Set 1 #

Patch Set 2 : Stray change #

Patch Set 3 : rebase, OVERRIDE -> override, NULL -> nullptr #

Total comments: 12

Patch Set 4 : rebase, clamy comments #

Patch Set 5 : Fix build #

Total comments: 25

Patch Set 6 : rebase, rework Core ownership story #

Total comments: 34

Patch Set 7 : mmenke comments #

Total comments: 32

Patch Set 8 : rebase #

Patch Set 9 : nasko and mmenke comments #

Total comments: 19

Patch Set 10 : mmenke comments #

Patch Set 11 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1638 lines, -68 lines) Patch
M content/browser/frame_host/navigation_request.h View 1 2 3 4 5 6 7 8 9 4 chunks +14 lines, -5 lines 0 comments Download
M content/browser/frame_host/navigation_request.cc View 1 2 3 4 5 6 7 8 9 2 chunks +37 lines, -1 line 0 comments Download
M content/browser/frame_host/navigation_request_info.h View 2 chunks +2 lines, -1 line 0 comments Download
M content/browser/frame_host/navigator_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 12 chunks +155 lines, -13 lines 0 comments Download
A content/browser/loader/navigation_resource_handler.h View 1 2 3 4 5 6 7 8 1 chunk +60 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_resource_handler.cc View 1 2 3 4 5 6 7 8 1 chunk +149 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_url_loader.h View 1 2 3 4 5 6 7 8 1 chunk +62 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_url_loader.cc View 1 2 3 4 5 6 1 chunk +37 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_url_loader_delegate.h View 1 2 3 4 5 6 7 8 9 1 chunk +52 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_url_loader_factory.h View 1 2 3 4 5 6 1 chunk +36 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_url_loader_impl.h View 1 2 3 4 5 6 7 8 9 1 chunk +66 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_url_loader_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +76 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_url_loader_impl_core.h View 1 2 3 4 5 6 1 chunk +75 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_url_loader_impl_core.cc View 1 2 3 4 5 6 7 8 1 chunk +104 lines, -0 lines 0 comments Download
A content/browser/loader/navigation_url_loader_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +389 lines, -0 lines 0 comments Download
M content/browser/loader/resource_dispatcher_host_impl.h View 1 2 3 4 5 6 3 chunks +20 lines, -13 lines 0 comments Download
M content/browser/loader/resource_dispatcher_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +207 lines, -33 lines 0 comments Download
M content/browser/loader/upload_data_stream_builder.cc View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 8 9 10 1 chunk +10 lines, -0 lines 0 comments Download
M content/content_common.gypi View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M content/public/common/resource_devtools_info.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M content/public/common/resource_devtools_info.cc View 1 chunk +11 lines, -0 lines 0 comments Download
M content/public/common/resource_response.h View 1 chunk +10 lines, -2 lines 0 comments Download
A content/public/common/resource_response.cc View 1 2 3 4 5 6 7 8 1 chunk +55 lines, -0 lines 0 comments Download
M content/public/common/resource_response_info.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 24 (2 generated)
davidben
This depends on https://codereview.chromium.org/625993002/. This is the remainder of the original monster CL, rebased on ...
6 years, 2 months ago (2014-10-10 18:42:23 UTC) #2
clamy
Thanks! please find a few comments below. https://chromiumcodereview.appspot.com/648813002/diff/310001/content/browser/loader/navigation_resource_handler.h File content/browser/loader/navigation_resource_handler.h (right): https://chromiumcodereview.appspot.com/648813002/diff/310001/content/browser/loader/navigation_resource_handler.h#newcode17 content/browser/loader/navigation_resource_handler.h:17: // The ...
6 years, 2 months ago (2014-10-13 15:22:43 UTC) #3
davidben
https://codereview.chromium.org/648813002/diff/310001/content/browser/loader/navigation_resource_handler.h File content/browser/loader/navigation_resource_handler.h (right): https://codereview.chromium.org/648813002/diff/310001/content/browser/loader/navigation_resource_handler.h#newcode17 content/browser/loader/navigation_resource_handler.h:17: // The leaf ResourceHandler used with NavigationURLLoaderCore. On 2014/10/13 ...
6 years, 2 months ago (2014-10-15 22:53:29 UTC) #4
clamy
Thanks! Lgtm with a nit. https://chromiumcodereview.appspot.com/648813002/diff/460001/content/browser/loader/resource_dispatcher_host_impl.h File content/browser/loader/resource_dispatcher_host_impl.h (right): https://chromiumcodereview.appspot.com/648813002/diff/460001/content/browser/loader/resource_dispatcher_host_impl.h#newcode410 content/browser/loader/resource_dispatcher_host_impl.h:410: // loading and navigation ...
6 years, 2 months ago (2014-10-16 13:43:51 UTC) #5
nasko
Mostly a bunch of nits. https://codereview.chromium.org/648813002/diff/460001/content/browser/frame_host/navigator_impl_unittest.cc File content/browser/frame_host/navigator_impl_unittest.cc (right): https://codereview.chromium.org/648813002/diff/460001/content/browser/frame_host/navigator_impl_unittest.cc#newcode52 content/browser/frame_host/navigator_impl_unittest.cc:52: if (delegate_) What would ...
6 years, 2 months ago (2014-10-20 13:52:18 UTC) #6
mmenke
https://codereview.chromium.org/648813002/diff/460001/content/browser/loader/navigation_url_loader_core.h File content/browser/loader/navigation_url_loader_core.h (right): https://codereview.chromium.org/648813002/diff/460001/content/browser/loader/navigation_url_loader_core.h#newcode32 content/browser/loader/navigation_url_loader_core.h:32: // thread. It passes signals across threads between the ...
6 years, 2 months ago (2014-10-20 18:52:13 UTC) #7
mmenke
https://codereview.chromium.org/648813002/diff/460001/content/browser/loader/navigation_url_loader_core.h File content/browser/loader/navigation_url_loader_core.h (right): https://codereview.chromium.org/648813002/diff/460001/content/browser/loader/navigation_url_loader_core.h#newcode34 content/browser/loader/navigation_url_loader_core.h:34: : public base::RefCountedThreadSafe<NavigationURLLoaderCore> { On 2014/10/20 18:52:13, mmenke wrote: ...
6 years, 2 months ago (2014-10-20 18:55:18 UTC) #8
davidben
Okay, reworked the Impl/Core/Handler ownership story. Core is now an IO-thread object and unambiguously owned ...
6 years, 2 months ago (2014-10-22 01:32:38 UTC) #9
mmenke
Focused on the loader code, haven't yet looked at RDH. https://codereview.chromium.org/648813002/diff/480001/content/browser/loader/navigation_resource_handler.cc File content/browser/loader/navigation_resource_handler.cc (right): https://codereview.chromium.org/648813002/diff/480001/content/browser/loader/navigation_resource_handler.cc#newcode32 ...
6 years, 2 months ago (2014-10-22 15:32:59 UTC) #10
davidben
https://codereview.chromium.org/648813002/diff/480001/content/browser/loader/navigation_resource_handler.cc File content/browser/loader/navigation_resource_handler.cc (right): https://codereview.chromium.org/648813002/diff/480001/content/browser/loader/navigation_resource_handler.cc#newcode32 content/browser/loader/navigation_resource_handler.cc:32: core_->NotifyRequestFailed(net::ERR_ABORTED); On 2014/10/22 15:32:58, mmenke wrote: > Can we ...
6 years, 2 months ago (2014-10-22 20:58:04 UTC) #11
mmenke
I'm pretty happy with the loader code https://codereview.chromium.org/648813002/diff/500001/content/browser/loader/navigation_url_loader.h File content/browser/loader/navigation_url_loader.h (right): https://codereview.chromium.org/648813002/diff/500001/content/browser/loader/navigation_url_loader.h#newcode53 content/browser/loader/navigation_url_loader.h:53: protected: Doesn't ...
6 years, 2 months ago (2014-10-23 20:43:40 UTC) #12
nasko
Mostly a bunch of nits. https://codereview.chromium.org/648813002/diff/500001/content/browser/frame_host/navigator_impl_unittest.cc File content/browser/frame_host/navigator_impl_unittest.cc (right): https://codereview.chromium.org/648813002/diff/500001/content/browser/frame_host/navigator_impl_unittest.cc#newcode56 content/browser/frame_host/navigator_impl_unittest.cc:56: redirect_count_++; nit: Be consistent, ...
6 years, 2 months ago (2014-10-23 22:36:17 UTC) #13
davidben
https://codereview.chromium.org/648813002/diff/500001/content/browser/frame_host/navigator_impl_unittest.cc File content/browser/frame_host/navigator_impl_unittest.cc (right): https://codereview.chromium.org/648813002/diff/500001/content/browser/frame_host/navigator_impl_unittest.cc#newcode56 content/browser/frame_host/navigator_impl_unittest.cc:56: redirect_count_++; On 2014/10/23 22:36:16, nasko wrote: > nit: Be ...
6 years, 1 month ago (2014-10-27 20:46:05 UTC) #14
nasko
LGTM! Now, commit quickly, so we don't get another change to ResourceResponse and need to ...
6 years, 1 month ago (2014-10-27 23:03:08 UTC) #15
mmenke
https://codereview.chromium.org/648813002/diff/540001/content/browser/loader/navigation_url_loader_delegate.h File content/browser/loader/navigation_url_loader_delegate.h (right): https://codereview.chromium.org/648813002/diff/540001/content/browser/loader/navigation_url_loader_delegate.h#newcode27 content/browser/loader/navigation_url_loader_delegate.h:27: ResourceResponse* response) = 0; Suggest making this a "const ...
6 years, 1 month ago (2014-10-28 16:05:39 UTC) #16
mmenke
Oh, and loader/ LGTM. On 2014/10/28 16:05:39, mmenke wrote: > https://codereview.chromium.org/648813002/diff/540001/content/browser/loader/navigation_url_loader_delegate.h > File content/browser/loader/navigation_url_loader_delegate.h (right): ...
6 years, 1 month ago (2014-10-28 18:23:57 UTC) #17
davidben
https://codereview.chromium.org/648813002/diff/540001/content/browser/loader/navigation_url_loader_delegate.h File content/browser/loader/navigation_url_loader_delegate.h (right): https://codereview.chromium.org/648813002/diff/540001/content/browser/loader/navigation_url_loader_delegate.h#newcode27 content/browser/loader/navigation_url_loader_delegate.h:27: ResourceResponse* response) = 0; On 2014/10/28 16:05:39, mmenke wrote: ...
6 years, 1 month ago (2014-10-29 19:10:34 UTC) #18
mmenke
LGTM https://codereview.chromium.org/648813002/diff/540001/content/browser/loader/navigation_url_loader_delegate.h File content/browser/loader/navigation_url_loader_delegate.h (right): https://codereview.chromium.org/648813002/diff/540001/content/browser/loader/navigation_url_loader_delegate.h#newcode33 content/browser/loader/navigation_url_loader_delegate.h:33: scoped_ptr<StreamHandle> body) = 0; On 2014/10/29 19:10:33, David ...
6 years, 1 month ago (2014-10-29 19:44:47 UTC) #19
davidben
https://codereview.chromium.org/648813002/diff/540001/content/browser/loader/navigation_url_loader_delegate.h File content/browser/loader/navigation_url_loader_delegate.h (right): https://codereview.chromium.org/648813002/diff/540001/content/browser/loader/navigation_url_loader_delegate.h#newcode33 content/browser/loader/navigation_url_loader_delegate.h:33: scoped_ptr<StreamHandle> body) = 0; On 2014/10/29 19:44:46, mmenke wrote: ...
6 years, 1 month ago (2014-10-29 19:46:54 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/648813002/580001
6 years, 1 month ago (2014-10-29 20:22:31 UTC) #22
commit-bot: I haz the power
Committed patchset #11 (id:580001)
6 years, 1 month ago (2014-10-29 21:14:02 UTC) #23
commit-bot: I haz the power
6 years, 1 month ago (2014-10-29 21:14:41 UTC) #24
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/6b77cd746e176a15d8cd3002732124687c403a53
Cr-Commit-Position: refs/heads/master@{#301929}

Powered by Google App Engine
This is Rietveld 408576698