Skip to content

Commit

Permalink
Get web packaging working with network service.
Browse files Browse the repository at this point in the history
Move the code to call certificate verification from content/browser to services/network.

Bug: 803774

Cq-Include-Trybots: luci.chromium.try:linux_mojo
Change-Id: I7a7c6c986afa8340a6467d26024e6382b8b2f13b
Reviewed-on: https://chromium-review.googlesource.com/1182872
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Ryan Sleevi <rsleevi@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585952}
  • Loading branch information
John Abd-El-Malek authored and Commit Bot committed Aug 24, 2018
1 parent 4da8bd2 commit 9ee2a71
Show file tree
Hide file tree
Showing 21 changed files with 408 additions and 351 deletions.
8 changes: 2 additions & 6 deletions content/browser/loader/navigation_url_loader_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -472,8 +472,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
resource_context_, url_request_context_getter),
base::BindRepeating(
&URLLoaderRequestController::CreateURLLoaderThrottles,
base::Unretained(this)),
url_request_context_getter));
base::Unretained(this))));
}

uint32_t options = GetURLLoaderOptions(request_info->is_main_frame);
Expand Down Expand Up @@ -595,7 +594,6 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
}

void Start(
net::URLRequestContextGetter* url_request_context_getter,
std::unique_ptr<network::SharedURLLoaderFactoryInfo>
network_loader_factory_info,
ServiceWorkerNavigationHandleCore* service_worker_navigation_handle_core,
Expand Down Expand Up @@ -688,8 +686,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
request_info->begin_params->load_flags, network_loader_factory_,
base::BindRepeating(
&URLLoaderRequestController::CreateURLLoaderThrottles,
base::Unretained(this)),
url_request_context_getter));
base::Unretained(this))));
}

std::vector<std::unique_ptr<URLLoaderRequestInterceptor>>
Expand Down Expand Up @@ -1556,7 +1553,6 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl(
base::BindOnce(
&URLLoaderRequestController::Start,
base::Unretained(request_controller_.get()),
base::RetainedRef(storage_partition->GetURLRequestContext()),
partition->url_loader_factory_getter()->GetNetworkFactoryInfo(),
service_worker_navigation_handle_core, appcache_handle_core,
std::move(request_info), std::move(navigation_ui_data),
Expand Down
29 changes: 8 additions & 21 deletions content/browser/loader/prefetch_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,8 @@
namespace content {

struct PrefetchBrowserTestParam {
PrefetchBrowserTestParam(bool network_service_enabled,
bool signed_exchange_enabled)
: network_service_enabled(network_service_enabled),
signed_exchange_enabled(signed_exchange_enabled) {}
const bool network_service_enabled;
PrefetchBrowserTestParam(bool signed_exchange_enabled)
: signed_exchange_enabled(signed_exchange_enabled) {}
const bool signed_exchange_enabled;
};

Expand Down Expand Up @@ -69,8 +66,6 @@ class PrefetchBrowserTest

void SetUp() override {
std::vector<base::Feature> enable_features;
if (GetParam().network_service_enabled)
enable_features.push_back(network::features::kNetworkService);
if (GetParam().signed_exchange_enabled)
enable_features.push_back(features::kSignedHTTPExchange);
feature_list_.InitWithFeatures(enable_features, {});
Expand Down Expand Up @@ -128,8 +123,7 @@ class PrefetchBrowserTest
void OnPrefetchURLLoaderCalled() { prefetch_url_loader_called_++; }

bool CheckPrefetchURLLoaderCountIfSupported(int expected) const {
if (!base::FeatureList::IsEnabled(features::kSignedHTTPExchange) &&
!base::FeatureList::IsEnabled(network::features::kNetworkService))
if (!base::FeatureList::IsEnabled(features::kSignedHTTPExchange))
return true;
return prefetch_url_loader_called_ == expected;
}
Expand Down Expand Up @@ -374,7 +368,7 @@ IN_PROC_BROWSER_TEST_P(PrefetchBrowserTest, WebPackageWithPreload) {
EXPECT_TRUE(CheckPrefetchURLLoaderCountIfSupported(0));

MockSignedExchangeHandlerFactory factory(
net::OK, GURL(target_url), "text/html",
net::OK, GURL(embedded_test_server()->GetURL(target_url)), "text/html",
{base::StringPrintf(
"Link: <%s>;rel=\"preload\";as=\"script\"",
embedded_test_server()->GetURL(preload_url_in_sxg).spec().c_str())});
Expand All @@ -392,12 +386,8 @@ IN_PROC_BROWSER_TEST_P(PrefetchBrowserTest, WebPackageWithPreload) {
else
EXPECT_EQ(prefetch_headers["Accept"], "*/*");

// Test after this point requires SignedHTTPExchange support, which is now
// disabled when Network Service is enabled.
// TODO(https://crbug.com/849935): Remove the second condition once we
// re-enable Signed Exchange with Network Service.
if (!base::FeatureList::IsEnabled(features::kSignedHTTPExchange) ||
base::FeatureList::IsEnabled(network::features::kNetworkService))
// Test after this point requires SignedHTTPExchange support
if (!base::FeatureList::IsEnabled(features::kSignedHTTPExchange))
return;

// If the header in the .sxg file is correctly extracted, we should
Expand All @@ -408,10 +398,7 @@ IN_PROC_BROWSER_TEST_P(PrefetchBrowserTest, WebPackageWithPreload) {

INSTANTIATE_TEST_CASE_P(PrefetchBrowserTest,
PrefetchBrowserTest,
testing::Values(PrefetchBrowserTestParam(true, true),
PrefetchBrowserTestParam(true, false),
PrefetchBrowserTestParam(false, true),
PrefetchBrowserTestParam(false,
false)));
testing::Values(PrefetchBrowserTestParam(true),
PrefetchBrowserTestParam(false)));

} // namespace content
Loading

0 comments on commit 9ee2a71

Please sign in to comment.