Commit 1fd60e68 authored by arthursonzogni's avatar arthursonzogni Committed by Commit Bot

Rename NavigationURLLoaderNetworkService.

NavigationMojoResponse has been launched and the old code path has been
removed.
The current and sole NavigationURLLoader implementation is now the
NavigationURLLoaderNetworkService. The CL renames it into
NavigationURLLoaderImpl.

Bug: 705744
Change-Id: I982f024c9318d6e03d63d73452f75b5f38b1e495
Reviewed-on: https://chromium-review.googlesource.com/1039488Reviewed-by: default avatarChristian Dullweber <dullweber@chromium.org>
Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557198}
parent 933195da
......@@ -989,8 +989,8 @@ jumbo_source_set("browser") {
"loader/navigation_url_loader.h",
"loader/navigation_url_loader_delegate.h",
"loader/navigation_url_loader_factory.h",
"loader/navigation_url_loader_network_service.cc",
"loader/navigation_url_loader_network_service.h",
"loader/navigation_url_loader_impl.cc",
"loader/navigation_url_loader_impl.h",
"loader/null_resource_controller.cc",
"loader/null_resource_controller.h",
"loader/prefetch_url_loader.cc",
......
......@@ -70,7 +70,7 @@ class CONTENT_EXPORT AppCacheRequestHandler
// NetworkService loading
// NavigationLoaderInterceptor overrides - main resource loading.
// These methods are used by the NavigationURLLoaderNetworkService.
// These methods are used by the NavigationURLLoaderImpl.
// Internally they use same methods used by the network library based impl,
// MaybeLoadResource and MaybeLoadFallbackForResponse.
// Eventually one of the Deliver*Response() methods is called and the
......
......@@ -10,7 +10,7 @@
#include "content/browser/frame_host/navigation_request_info.h"
#include "content/browser/loader/navigation_loader_interceptor.h"
#include "content/browser/loader/navigation_url_loader_factory.h"
#include "content/browser/loader/navigation_url_loader_network_service.h"
#include "content/browser/loader/navigation_url_loader_impl.h"
#include "content/public/browser/navigation_ui_data.h"
#include "content/public/common/browser_side_navigation_policy.h"
#include "services/network/public/cpp/features.h"
......@@ -32,7 +32,7 @@ std::unique_ptr<NavigationURLLoader> NavigationURLLoader::Create(
resource_context, storage_partition, std::move(request_info),
std::move(navigation_ui_data), service_worker_handle, delegate);
}
return std::make_unique<NavigationURLLoaderNetworkService>(
return std::make_unique<NavigationURLLoaderImpl>(
resource_context, storage_partition, std::move(request_info),
std::move(navigation_ui_data), service_worker_handle, appcache_handle,
delegate, std::vector<std::unique_ptr<NavigationLoaderInterceptor>>());
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/browser/loader/navigation_url_loader_network_service.h"
#include "content/browser/loader/navigation_url_loader_impl.h"
#include <memory>
......@@ -76,8 +76,7 @@ namespace content {
namespace {
// Only used on the IO thread.
base::LazyInstance<
NavigationURLLoaderNetworkService::BeginNavigationInterceptor>::Leaky
base::LazyInstance<NavigationURLLoaderImpl::BeginNavigationInterceptor>::Leaky
g_interceptor = LAZY_INSTANCE_INITIALIZER;
// Returns true if interception by NavigationLoaderInterceptors is enabled.
......@@ -271,7 +270,7 @@ void UnknownSchemeCallback(bool handled_externally,
// on each until the request is successfully handled. The same sequence
// may be performed multiple times when redirects happen.
// TODO(michaeln): Expose this class and add more unittests.
class NavigationURLLoaderNetworkService::URLLoaderRequestController
class NavigationURLLoaderImpl::URLLoaderRequestController
: public network::mojom::URLLoaderClient {
public:
URLLoaderRequestController(
......@@ -284,7 +283,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
network::mojom::URLLoaderFactoryRequest proxied_factory_request,
network::mojom::URLLoaderFactoryPtrInfo proxied_factory_info,
std::set<std::string> known_schemes,
const base::WeakPtr<NavigationURLLoaderNetworkService>& owner)
const base::WeakPtr<NavigationURLLoaderImpl>& owner)
: interceptors_(std::move(initial_interceptors)),
resource_request_(std::move(resource_request)),
resource_context_(resource_context),
......@@ -390,8 +389,8 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
// create a URLLoader. When it doesn't, do not send OnRequestStarted().
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::BindOnce(&NavigationURLLoaderNetworkService::OnRequestStarted,
owner_, base::TimeTicks::Now()));
base::BindOnce(&NavigationURLLoaderImpl::OnRequestStarted, owner_,
base::TimeTicks::Now()));
}
// TODO(arthursonzogni): See if this could eventually be unified with Start().
......@@ -685,7 +684,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
if (!non_network_factory.is_bound()) {
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::BindOnce(&NavigationURLLoaderNetworkService ::
base::BindOnce(&NavigationURLLoaderImpl ::
BindNonNetworkURLLoaderFactoryRequest,
owner_, frame_tree_node_id_,
resource_request_->url,
......@@ -925,8 +924,8 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
// response. https://crbug.com/416050
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::BindOnce(&NavigationURLLoaderNetworkService::OnReceiveResponse,
owner_, response->DeepCopy(),
base::BindOnce(&NavigationURLLoaderImpl::OnReceiveResponse, owner_,
response->DeepCopy(),
std::move(url_loader_client_endpoints),
std::move(cloned_navigation_data), global_request_id_,
is_download, is_stream, std::move(downloaded_file)));
......@@ -957,8 +956,8 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
// response. https://crbug.com/416050
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::BindOnce(&NavigationURLLoaderNetworkService::OnReceiveRedirect,
owner_, redirect_info, response->DeepCopy()));
base::BindOnce(&NavigationURLLoaderImpl::OnReceiveRedirect, owner_,
redirect_info, response->DeepCopy()));
}
void OnDataDownloaded(int64_t data_length, int64_t encoded_length) override {}
......@@ -995,8 +994,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::BindOnce(&NavigationURLLoaderNetworkService::OnComplete, owner_,
status));
base::BindOnce(&NavigationURLLoaderImpl::OnComplete, owner_, status));
}
// Returns true if an interceptor wants to handle the response, i.e. return a
......@@ -1081,7 +1079,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
base::Optional<SubresourceLoaderParams> subresource_loader_params_;
// This is referenced only on the UI thread.
base::WeakPtr<NavigationURLLoaderNetworkService> owner_;
base::WeakPtr<NavigationURLLoaderImpl> owner_;
// Set to true if the default URLLoader (network service) was used for the
// current navigation.
......@@ -1141,7 +1139,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
// TODO(https://crbug.com/790734): pass |navigation_ui_data| along with the
// request so that it could be modified.
NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService(
NavigationURLLoaderImpl::NavigationURLLoaderImpl(
ResourceContext* resource_context,
StoragePartition* storage_partition,
std::unique_ptr<NavigationRequestInfo> request_info,
......@@ -1270,21 +1268,21 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService(
ServiceManagerConnection::GetForProcess()->GetConnector()->Clone()));
}
NavigationURLLoaderNetworkService::~NavigationURLLoaderNetworkService() {
NavigationURLLoaderImpl::~NavigationURLLoaderImpl() {
BrowserThread::DeleteSoon(BrowserThread::IO, FROM_HERE,
request_controller_.release());
}
void NavigationURLLoaderNetworkService::FollowRedirect() {
void NavigationURLLoaderImpl::FollowRedirect() {
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::BindOnce(&URLLoaderRequestController::FollowRedirect,
base::Unretained(request_controller_.get())));
}
void NavigationURLLoaderNetworkService::ProceedWithResponse() {}
void NavigationURLLoaderImpl::ProceedWithResponse() {}
void NavigationURLLoaderNetworkService::OnReceiveResponse(
void NavigationURLLoaderImpl::OnReceiveResponse(
scoped_refptr<network::ResourceResponse> response,
network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints,
std::unique_ptr<NavigationData> navigation_data,
......@@ -1293,8 +1291,7 @@ void NavigationURLLoaderNetworkService::OnReceiveResponse(
bool is_stream,
network::mojom::DownloadedTempFilePtr downloaded_file) {
TRACE_EVENT_ASYNC_END2("navigation", "Navigation timeToResponseStarted", this,
"&NavigationURLLoaderNetworkService", this, "success",
true);
"&NavigationURLLoaderImpl", this, "success", true);
// TODO(scottmg): This needs to do more of what
// NavigationResourceHandler::OnResponseStarted() does.
......@@ -1306,27 +1303,26 @@ void NavigationURLLoaderNetworkService::OnReceiveResponse(
request_controller_->TakeSubresourceLoaderParams());
}
void NavigationURLLoaderNetworkService::OnReceiveRedirect(
void NavigationURLLoaderImpl::OnReceiveRedirect(
const net::RedirectInfo& redirect_info,
scoped_refptr<network::ResourceResponse> response) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
delegate_->OnRequestRedirected(redirect_info, std::move(response));
}
void NavigationURLLoaderNetworkService::OnComplete(
void NavigationURLLoaderImpl::OnComplete(
const network::URLLoaderCompletionStatus& status) {
if (status.error_code == net::OK)
return;
TRACE_EVENT_ASYNC_END2("navigation", "Navigation timeToResponseStarted", this,
"&NavigationURLLoaderNetworkService", this, "success",
false);
"&NavigationURLLoaderImpl", this, "success", false);
delegate_->OnRequestFailed(status.exists_in_cache, status.error_code,
status.ssl_info);
}
void NavigationURLLoaderNetworkService::SetBeginNavigationInterceptorForTesting(
void NavigationURLLoaderImpl::SetBeginNavigationInterceptorForTesting(
const BeginNavigationInterceptor& interceptor) {
DCHECK(!BrowserThread::IsThreadInitialized(BrowserThread::IO) ||
BrowserThread::CurrentlyOn(BrowserThread::IO));
......@@ -1334,13 +1330,12 @@ void NavigationURLLoaderNetworkService::SetBeginNavigationInterceptorForTesting(
g_interceptor.Get() = interceptor;
}
void NavigationURLLoaderNetworkService::OnRequestStarted(
base::TimeTicks timestamp) {
void NavigationURLLoaderImpl::OnRequestStarted(base::TimeTicks timestamp) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
delegate_->OnRequestStarted(timestamp);
}
void NavigationURLLoaderNetworkService::BindNonNetworkURLLoaderFactoryRequest(
void NavigationURLLoaderImpl::BindNonNetworkURLLoaderFactoryRequest(
int frame_tree_node_id,
const GURL& url,
network::mojom::URLLoaderFactoryRequest factory) {
......
......@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_BROWSER_LOADER_NAVIGATION_URL_LOADER_NETWORK_SERVICE_H_
#define CONTENT_BROWSER_LOADER_NAVIGATION_URL_LOADER_NETWORK_SERVICE_H_
#ifndef CONTENT_BROWSER_LOADER_NAVIGATION_URL_LOADER_IMPL_H_
#define CONTENT_BROWSER_LOADER_NAVIGATION_URL_LOADER_IMPL_H_
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
......@@ -27,14 +27,11 @@ class StoragePartition;
class NavigationLoaderInterceptor;
struct GlobalRequestID;
// This is an implementation of NavigationURLLoader used when
// --enable-features=NetworkService is used.
class CONTENT_EXPORT NavigationURLLoaderNetworkService
: public NavigationURLLoader {
class CONTENT_EXPORT NavigationURLLoaderImpl : public NavigationURLLoader {
public:
// The caller is responsible for ensuring that |delegate| outlives the loader.
// Note |initial_interceptors| is there for test purposes only.
NavigationURLLoaderNetworkService(
NavigationURLLoaderImpl(
ResourceContext* resource_context,
StoragePartition* storage_partition,
std::unique_ptr<NavigationRequestInfo> request_info,
......@@ -44,7 +41,7 @@ class CONTENT_EXPORT NavigationURLLoaderNetworkService
NavigationURLLoaderDelegate* delegate,
std::vector<std::unique_ptr<NavigationLoaderInterceptor>>
initial_interceptors);
~NavigationURLLoaderNetworkService() override;
~NavigationURLLoaderImpl() override;
// NavigationURLLoader implementation:
void FollowRedirect() override;
......@@ -99,11 +96,11 @@ class CONTENT_EXPORT NavigationURLLoaderNetworkService
ContentBrowserClient::NonNetworkURLLoaderFactoryMap
non_network_url_loader_factories_;
base::WeakPtrFactory<NavigationURLLoaderNetworkService> weak_factory_;
base::WeakPtrFactory<NavigationURLLoaderImpl> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(NavigationURLLoaderNetworkService);
DISALLOW_COPY_AND_ASSIGN(NavigationURLLoaderImpl);
};
} // namespace content
#endif // CONTENT_BROWSER_LOADER_NAVIGATION_URL_LOADER_NETWORK_SERVICE_H_
#endif // CONTENT_BROWSER_LOADER_NAVIGATION_URL_LOADER_IMPL_H_
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/browser/loader/navigation_url_loader_network_service.h"
#include "content/browser/loader/navigation_url_loader_impl.h"
#include "base/run_loop.h"
#include "base/test/scoped_feature_list.h"
......@@ -110,9 +110,9 @@ class TestNavigationLoaderInterceptor : public NavigationLoaderInterceptor {
} // namespace
class NavigationURLLoaderNetworkServiceTest : public testing::Test {
class NavigationURLLoaderImplTest : public testing::Test {
public:
NavigationURLLoaderNetworkServiceTest()
NavigationURLLoaderImplTest()
: thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP) {
feature_list_.InitAndEnableFeature(network::features::kNetworkService);
......@@ -135,7 +135,7 @@ class NavigationURLLoaderNetworkServiceTest : public testing::Test {
#endif
}
~NavigationURLLoaderNetworkServiceTest() override {
~NavigationURLLoaderImplTest() override {
ServiceManagerConnection::DestroyForProcess();
}
......@@ -173,7 +173,7 @@ class NavigationURLLoaderNetworkServiceTest : public testing::Test {
interceptors.push_back(std::make_unique<TestNavigationLoaderInterceptor>(
&most_recent_resource_request_));
return std::make_unique<NavigationURLLoaderNetworkService>(
return std::make_unique<NavigationURLLoaderImpl>(
browser_context_->GetResourceContext(),
BrowserContext::GetDefaultStoragePartition(browser_context_.get()),
std::move(request_info), nullptr /* navigation_ui_data */,
......@@ -255,7 +255,7 @@ class NavigationURLLoaderNetworkServiceTest : public testing::Test {
base::Optional<network::ResourceRequest> most_recent_resource_request_;
};
TEST_F(NavigationURLLoaderNetworkServiceTest, RequestPriority) {
TEST_F(NavigationURLLoaderImplTest, RequestPriority) {
ASSERT_TRUE(http_test_server_.Start());
const GURL url = http_test_server_.GetURL("/redirect301-to-echo");
......@@ -265,7 +265,7 @@ TEST_F(NavigationURLLoaderNetworkServiceTest, RequestPriority) {
NavigateAndReturnRequestPriority(url, false /* is_main_frame */));
}
TEST_F(NavigationURLLoaderNetworkServiceTest, Redirect301Tests) {
TEST_F(NavigationURLLoaderImplTest, Redirect301Tests) {
ASSERT_TRUE(http_test_server_.Start());
const GURL url = http_test_server_.GetURL("/redirect301-to-echo");
......@@ -279,7 +279,7 @@ TEST_F(NavigationURLLoaderNetworkServiceTest, Redirect301Tests) {
true);
}
TEST_F(NavigationURLLoaderNetworkServiceTest, Redirect302Tests) {
TEST_F(NavigationURLLoaderImplTest, Redirect302Tests) {
ASSERT_TRUE(http_test_server_.Start());
const GURL url = http_test_server_.GetURL("/redirect302-to-echo");
......@@ -293,7 +293,7 @@ TEST_F(NavigationURLLoaderNetworkServiceTest, Redirect302Tests) {
true);
}
TEST_F(NavigationURLLoaderNetworkServiceTest, Redirect303Tests) {
TEST_F(NavigationURLLoaderImplTest, Redirect303Tests) {
ASSERT_TRUE(http_test_server_.Start());
const GURL url = http_test_server_.GetURL("/redirect303-to-echo");
......@@ -307,7 +307,7 @@ TEST_F(NavigationURLLoaderNetworkServiceTest, Redirect303Tests) {
true);
}
TEST_F(NavigationURLLoaderNetworkServiceTest, Redirect307Tests) {
TEST_F(NavigationURLLoaderImplTest, Redirect307Tests) {
ASSERT_TRUE(http_test_server_.Start());
const GURL url = http_test_server_.GetURL("/redirect307-to-echo");
......@@ -321,7 +321,7 @@ TEST_F(NavigationURLLoaderNetworkServiceTest, Redirect307Tests) {
true);
}
TEST_F(NavigationURLLoaderNetworkServiceTest, Redirect308Tests) {
TEST_F(NavigationURLLoaderImplTest, Redirect308Tests) {
ASSERT_TRUE(http_test_server_.Start());
const GURL url = http_test_server_.GetURL("/redirect308-to-echo");
......
......@@ -57,8 +57,7 @@ class CONTENT_EXPORT ServiceWorkerNavigationLoader
// determines how the request should be served (e.g. should fallback
// to network or should be sent to the SW). If it decides to fallback
// to the network this will call |loader_callback| with a null
// RequestHandler, which will be then handled by
// NavigationURLLoaderNetworkService.
// RequestHandler, which will be then handled by NavigationURLLoaderImpl.
// 2. If it is decided that the request should be sent to the SW,
// this job dispatches a FetchEvent in StartRequest.
// 3. In DidDispatchFetchEvent() this job determines the request's
......@@ -69,12 +68,12 @@ class CONTENT_EXPORT ServiceWorkerNavigationLoader
// StartResponse().
// 5. Then StartResponse() will be called with a
// network::mojom::URLLoaderClientPtr that is connected to
// NavigationURLLoaderNetworkService (for resource loading for navigation).
// NavigationURLLoaderImpl (for resource loading for navigation).
// This forwards the blob/stream data pipe to the NavigationURLLoader if
// the response body was sent as a blob/stream.
//
// Loads for shared workers work similarly, except SharedWorkerScriptLoader
// is used instead of NavigationURLLoaderNetworkService.
// is used instead of NavigationURLLoaderImpl.
ServiceWorkerNavigationLoader(
NavigationLoaderInterceptor::LoaderCallback loader_callback,
Delegate* delegate,
......
......@@ -21,7 +21,7 @@ class URLLoaderFactoryGetter;
// The URLLoader for loading a shared worker script. Only used for the main
// script request.
//
// This acts much like NavigationURLLoaderNetworkService. It allows a
// This acts much like NavigationURLLoaderImpl. It allows a
// NavigationLoaderInterceptor to intercept the request with its own loader, and
// goes to the network loader otherwise. Once a loader is started, this class
// acts as the URLLoaderClient for it, forwarding messages to the outer client.
......@@ -76,8 +76,7 @@ class SharedWorkerScriptLoader : public network::mojom::URLLoader,
SingleRequestURLLoaderFactory::RequestHandler single_request_handler);
void LoadFromNetwork();
// TODO(falken): Add other interceptors like in
// NavigationURLLoaderNetworkService.
// TODO(falken): Add other interceptors like in NavigationURLLoaderImpl.
std::unique_ptr<NavigationLoaderInterceptor> service_worker_interceptor_;
const int32_t routing_id_;
......
......@@ -6,7 +6,7 @@
#include "base/test/bind_test_util.h"
#include "content/browser/frame_host/render_frame_host_impl.h"
#include "content/browser/loader/navigation_url_loader_network_service.h"
#include "content/browser/loader/navigation_url_loader_impl.h"
#include "content/browser/loader/resource_message_filter.h"
#include "content/browser/loader/url_loader_factory_impl.h"
#include "content/browser/storage_partition_impl.h"
......@@ -367,7 +367,7 @@ void URLLoaderInterceptor::InitializeOnIOThread(base::OnceClosure closure) {
base::BindRepeating(&URLLoaderInterceptor::GetNetworkFactoryCallback,
base::Unretained(this)));
} else {
NavigationURLLoaderNetworkService::SetBeginNavigationInterceptorForTesting(
NavigationURLLoaderImpl::SetBeginNavigationInterceptorForTesting(
base::BindRepeating(&URLLoaderInterceptor::BeginNavigationCallback,
base::Unretained(this)));
}
......@@ -398,8 +398,8 @@ void URLLoaderInterceptor::ShutdownOnIOThread(base::OnceClosure closure) {
URLLoaderFactoryGetter::SetGetNetworkFactoryCallbackForTesting(
URLLoaderFactoryGetter::GetNetworkFactoryCallback());
} else {
NavigationURLLoaderNetworkService::SetBeginNavigationInterceptorForTesting(
NavigationURLLoaderNetworkService::BeginNavigationInterceptor());
NavigationURLLoaderImpl::SetBeginNavigationInterceptorForTesting(
NavigationURLLoaderImpl::BeginNavigationInterceptor());
}
if (!base::FeatureList::IsEnabled(network::features::kNetworkService)) {
......
......@@ -102,9 +102,9 @@ class URLLoaderInterceptor {
void GetNetworkFactoryCallback(
URLLoaderFactoryGetter* url_loader_factory_getter);
// Callback on IO thread whenever a NavigationURLLoaderNetworkService
// is loading a frame request through ResourceDispatcherHost (i.e. when the
// network service is disabled).
// Callback on IO thread whenever a NavigationURLLoaderImpl is loading a frame
// request through ResourceDispatcherHost (i.e. when the network service is
// disabled).
bool BeginNavigationCallback(
network::mojom::URLLoaderRequest* request,
int32_t routing_id,
......
......@@ -1337,7 +1337,7 @@ test("content_unittests") {
"../browser/loader/mock_resource_loader.cc",
"../browser/loader/mock_resource_loader.h",
"../browser/loader/mojo_async_resource_handler_unittest.cc",
"../browser/loader/navigation_url_loader_network_service_unittest.cc",
"../browser/loader/navigation_url_loader_impl_unittest.cc",
"../browser/loader/navigation_url_loader_unittest.cc",
"../browser/loader/redirect_to_file_resource_handler_unittest.cc",
"../browser/loader/resource_buffer_unittest.cc",
......
......@@ -137,7 +137,7 @@ Refer to README.md for content description and update process.
<item id="metrics_report_uma" hash_code="727528" type="0" content_hash_code="10176197" os_list="linux,windows" file_path="components/metrics/net/net_metrics_log_uploader.cc"/>
<item id="missing" hash_code="77012883" type="0" reserved="1" os_list="linux,windows" file_path=""/>
<item id="mojo_context_state" hash_code="93232258" type="0" deprecated="2017-10-20" content_hash_code="124821232" file_path=""/>
<item id="navigation_url_loader" hash_code="63171670" type="0" content_hash_code="129352907" os_list="linux,windows" file_path="content/browser/loader/navigation_url_loader_network_service.cc"/>
<item id="navigation_url_loader" hash_code="63171670" type="0" content_hash_code="129352907" os_list="linux,windows" file_path="content/browser/loader/navigation_url_loader_impl.cc"/>
<item id="net_error_helper" hash_code="60071001" type="0" content_hash_code="68322861" os_list="linux,windows" file_path="chrome/renderer/net/net_error_helper.cc"/>
<item id="network_location_provider" hash_code="23472048" type="1" second_id="96590038" content_hash_code="41087976" os_list="linux,windows" semantics_fields="1" policy_fields="3,4" file_path="device/geolocation/network_location_provider.cc"/>
<item id="network_location_request" hash_code="96590038" type="2" content_hash_code="59824433" os_list="linux,windows" semantics_fields="2,3,4,5" policy_fields="-1" file_path="device/geolocation/network_location_request.cc"/>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment