summaryrefslogtreecommitdiff
path: root/chromium/content/browser/loader/navigation_url_loader_impl_unittest.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-08-30 10:22:43 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-08-30 12:36:28 +0000
commit271a6c3487a14599023a9106329505597638d793 (patch)
treee040d58ffc86c1480b79ca8528020ca9ec919bf8 /chromium/content/browser/loader/navigation_url_loader_impl_unittest.cc
parent7b2ffa587235a47d4094787d72f38102089f402a (diff)
downloadqtwebengine-chromium-271a6c3487a14599023a9106329505597638d793.tar.gz
BASELINE: Update Chromium to 77.0.3865.59
Change-Id: I1e89a5f3b009a9519a6705102ad65c92fe736f21 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/content/browser/loader/navigation_url_loader_impl_unittest.cc')
-rw-r--r--chromium/content/browser/loader/navigation_url_loader_impl_unittest.cc57
1 files changed, 30 insertions, 27 deletions
diff --git a/chromium/content/browser/loader/navigation_url_loader_impl_unittest.cc b/chromium/content/browser/loader/navigation_url_loader_impl_unittest.cc
index 3f6e602e79b..59828257034 100644
--- a/chromium/content/browser/loader/navigation_url_loader_impl_unittest.cc
+++ b/chromium/content/browser/loader/navigation_url_loader_impl_unittest.cc
@@ -17,19 +17,18 @@
#include "content/browser/frame_host/navigation_request_info.h"
#include "content/browser/loader/navigation_loader_interceptor.h"
#include "content/browser/loader/navigation_url_loader.h"
-#include "content/browser/loader/prefetched_signed_exchange_cache.h"
+#include "content/browser/web_package/prefetched_signed_exchange_cache.h"
#include "content/common/navigation_params.h"
#include "content/common/navigation_params.mojom.h"
-#include "content/common/service_manager/service_manager_connection_impl.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_ui_data.h"
#include "content/public/browser/plugin_service.h"
#include "content/public/browser/storage_partition.h"
+#include "content/public/browser/system_connector.h"
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
-#include "content/public/common/service_manager_connection.h"
#include "content/public/test/test_browser_context.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "content/test/test_navigation_url_loader_delegate.h"
@@ -41,7 +40,7 @@
#include "net/url_request/url_request_context_builder.h"
#include "ppapi/buildflags/buildflags.h"
#include "services/network/public/cpp/features.h"
-#include "services/network/resource_scheduler_client.h"
+#include "services/network/resource_scheduler/resource_scheduler_client.h"
#include "services/network/url_loader.h"
#include "services/network/url_request_context_owner.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -74,6 +73,7 @@ class TestNavigationLoaderInterceptor : public NavigationLoaderInterceptor {
}
void MaybeCreateLoader(const network::ResourceRequest& resource_request,
+ BrowserContext* browser_context,
ResourceContext* resource_context,
LoaderCallback callback,
FallbackCallback fallback_callback) override {
@@ -89,19 +89,21 @@ class TestNavigationLoaderInterceptor : public NavigationLoaderInterceptor {
params.process_id = network::mojom::kBrowserProcessId;
params.is_corb_enabled = false;
url_loader_ = std::make_unique<network::URLLoader>(
- context_.get(), nullptr,
+ context_.get(), nullptr /* network_service_client */,
+ nullptr /* network_context_client */,
base::BindOnce(&TestNavigationLoaderInterceptor::DeleteURLLoader,
base::Unretained(this)),
std::move(request), 0 /* options */, resource_request,
std::move(client), TRAFFIC_ANNOTATION_FOR_TESTS, &params,
0, /* request_id */
- resource_scheduler_client_, nullptr,
+ resource_scheduler_client_, nullptr /* keepalive_statistics_recorder */,
nullptr /* network_usage_accumulator */, nullptr /* header_client */);
}
bool MaybeCreateLoaderForResponse(
const network::ResourceRequest& request,
const network::ResourceResponseHead& response,
+ mojo::ScopedDataPipeConsumerHandle* response_body,
network::mojom::URLLoaderPtr* loader,
network::mojom::URLLoaderClientRequest* client_request,
ThrottlingURLLoader* url_loader,
@@ -128,18 +130,18 @@ class TestNavigationLoaderInterceptor : public NavigationLoaderInterceptor {
class NavigationURLLoaderImplTest : public testing::Test {
public:
NavigationURLLoaderImplTest()
- : thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP) {
+ : thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP),
+ network_change_notifier_(
+ net::test::MockNetworkChangeNotifier::Create()) {
feature_list_.InitAndEnableFeature(network::features::kNetworkService);
- // Because the network service is enabled we need a ServiceManagerConnection
- // or BrowserContext::GetDefaultStoragePartition will segfault when
+ // Because the network service is enabled we need a system Connector or
+ // BrowserContext::GetDefaultStoragePartition will segfault when
// ContentBrowserClient::CreateNetworkContext tries to call
// GetNetworkService.
- service_manager::mojom::ServicePtr service;
- ServiceManagerConnection::SetForProcess(
- std::make_unique<ServiceManagerConnectionImpl>(
- mojo::MakeRequest(&service),
- base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::IO})));
+ service_manager::mojom::ConnectorRequest connector_request;
+ SetSystemConnectorForTesting(
+ service_manager::Connector::Create(&connector_request));
browser_context_.reset(new TestBrowserContext);
http_test_server_.AddDefaultHandlers(
@@ -151,11 +153,8 @@ class NavigationURLLoaderImplTest : public testing::Test {
}
~NavigationURLLoaderImplTest() override {
- // The context needs to be deleted before ServiceManagerConnection is
- // destroyed, so the storage partition in the context does not try to
- // reconnect to the network service after ServiceManagerConnection is dead.
browser_context_.reset();
- ServiceManagerConnection::DestroyForProcess();
+ SetSystemConnectorForTesting(nullptr);
}
std::unique_ptr<NavigationURLLoader> CreateTestLoader(
@@ -183,11 +182,12 @@ class NavigationURLLoaderImplTest : public testing::Test {
common_params.initiator_origin = url::Origin::Create(url);
common_params.method = method;
common_params.download_policy = download_policy;
+ url::Origin origin = url::Origin::Create(url);
std::unique_ptr<NavigationRequestInfo> request_info(
new NavigationRequestInfo(
common_params, std::move(begin_params), url,
- url::Origin::Create(url), is_main_frame,
+ net::NetworkIsolationKey(origin, origin), is_main_frame,
false /* parent_is_main_frame */, false /* are_ancestors_secure */,
-1 /* frame_tree_node_id */, false /* is_for_guests_only */,
false /* report_raw_headers */, false /* is_prerenering */,
@@ -201,7 +201,7 @@ class NavigationURLLoaderImplTest : public testing::Test {
&most_recent_resource_request_));
return std::make_unique<NavigationURLLoaderImpl>(
- browser_context_->GetResourceContext(),
+ browser_context_.get(), browser_context_->GetResourceContext(),
BrowserContext::GetDefaultStoragePartition(browser_context_.get()),
std::move(request_info), nullptr /* navigation_ui_data */,
nullptr /* service_worker_handle */, nullptr /* appcache_handle */,
@@ -299,7 +299,8 @@ class NavigationURLLoaderImplTest : public testing::Test {
base::test::ScopedFeatureList feature_list_;
TestBrowserThreadBundle thread_bundle_;
std::unique_ptr<TestBrowserContext> browser_context_;
- net::test::MockNetworkChangeNotifier network_change_notifier_;
+ std::unique_ptr<net::test::MockNetworkChangeNotifier>
+ network_change_notifier_;
net::EmbeddedTestServer http_test_server_;
base::Optional<network::ResourceRequest> most_recent_resource_request_;
};
@@ -314,10 +315,11 @@ TEST_F(NavigationURLLoaderImplTest, RequestPriority) {
NavigateAndReturnRequestPriority(url, false /* is_main_frame */));
}
-TEST_F(NavigationURLLoaderImplTest, TopFrameOriginOfMainFrameNavigation) {
+TEST_F(NavigationURLLoaderImplTest, NetworkIsolationKeyOfMainFrameNavigation) {
ASSERT_TRUE(http_test_server_.Start());
const GURL url = http_test_server_.GetURL("/foo");
+ const url::Origin origin = url::Origin::Create(url);
TestNavigationURLLoaderDelegate delegate;
std::unique_ptr<NavigationURLLoader> loader = CreateTestLoader(
@@ -329,21 +331,22 @@ TEST_F(NavigationURLLoaderImplTest, TopFrameOriginOfMainFrameNavigation) {
delegate.WaitForRequestStarted();
ASSERT_TRUE(most_recent_resource_request_);
- EXPECT_EQ(url::Origin::Create(url),
- *most_recent_resource_request_->top_frame_origin);
+ EXPECT_EQ(net::NetworkIsolationKey(origin, origin),
+ most_recent_resource_request_->trusted_network_isolation_key);
}
TEST_F(NavigationURLLoaderImplTest,
- TopFrameOriginOfRedirectedMainFrameNavigation) {
+ NetworkIsolationKeyOfRedirectedMainFrameNavigation) {
ASSERT_TRUE(http_test_server_.Start());
const GURL url = http_test_server_.GetURL("/redirect301-to-echo");
const GURL final_url = http_test_server_.GetURL("/echo");
+ const url::Origin origin = url::Origin::Create(url);
HTTPRedirectOriginHeaderTest(url, "GET", "GET", url.GetOrigin().spec());
- EXPECT_EQ(url::Origin::Create(final_url),
- *most_recent_resource_request_->top_frame_origin);
+ EXPECT_EQ(net::NetworkIsolationKey(origin, origin),
+ most_recent_resource_request_->trusted_network_isolation_key);
}
TEST_F(NavigationURLLoaderImplTest, Redirect301Tests) {