summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/devtools/BUILD.gn2
-rw-r--r--chrome/browser/devtools/devtools_network_controller.cc27
-rw-r--r--chrome/browser/devtools/devtools_network_controller.h30
-rw-r--r--chrome/browser/devtools/devtools_network_controller_handle.cc52
-rw-r--r--chrome/browser/devtools/devtools_network_controller_handle.h41
-rw-r--r--chrome/browser/devtools/devtools_network_controller_unittest.cc2
-rw-r--r--chrome/browser/devtools/devtools_network_protocol_handler.cc4
-rw-r--r--chrome/browser/profiles/off_the_record_profile_impl.cc6
-rw-r--r--chrome/browser/profiles/off_the_record_profile_impl.h3
-rw-r--r--chrome/browser/profiles/off_the_record_profile_io_data.cc6
-rw-r--r--chrome/browser/profiles/off_the_record_profile_io_data.h4
-rw-r--r--chrome/browser/profiles/profile.h7
-rw-r--r--chrome/browser/profiles/profile_impl.cc5
-rw-r--r--chrome/browser/profiles/profile_impl.h3
-rw-r--r--chrome/browser/profiles/profile_impl_io_data.cc6
-rw-r--r--chrome/browser/profiles/profile_impl_io_data.h4
-rw-r--r--chrome/browser/profiles/profile_io_data.cc7
-rw-r--r--chrome/browser/profiles/profile_io_data.h8
-rw-r--r--chrome/browser/ui/app_list/test/fake_profile.cc3
-rw-r--r--chrome/browser/ui/app_list/test/fake_profile.h3
-rw-r--r--chrome/chrome_debugger.gypi2
-rw-r--r--chrome/test/base/testing_profile.cc3
-rw-r--r--chrome/test/base/testing_profile.h3
23 files changed, 151 insertions, 80 deletions
diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
index 976801b..c87984a 100644
--- a/chrome/browser/devtools/BUILD.gn
+++ b/chrome/browser/devtools/BUILD.gn
@@ -36,6 +36,8 @@ static_library("devtools") {
"devtools_network_conditions.h",
"devtools_network_controller.cc",
"devtools_network_controller.h",
+ "devtools_network_controller_handle.cc",
+ "devtools_network_controller_handle.h",
"devtools_network_interceptor.cc",
"devtools_network_interceptor.h",
"devtools_network_protocol_handler.cc",
diff --git a/chrome/browser/devtools/devtools_network_controller.cc b/chrome/browser/devtools/devtools_network_controller.cc
index ff785b55..43d09b6 100644
--- a/chrome/browser/devtools/devtools_network_controller.cc
+++ b/chrome/browser/devtools/devtools_network_controller.cc
@@ -7,18 +7,14 @@
#include "chrome/browser/devtools/devtools_network_conditions.h"
#include "chrome/browser/devtools/devtools_network_interceptor.h"
#include "chrome/browser/devtools/devtools_network_transaction.h"
-#include "content/public/browser/browser_thread.h"
#include "net/http/http_request_info.h"
-using content::BrowserThread;
-
DevToolsNetworkController::DevToolsNetworkController()
: default_interceptor_(new DevToolsNetworkInterceptor()),
- appcache_interceptor_(new DevToolsNetworkInterceptor()),
- weak_ptr_factory_(this) {
-}
+ appcache_interceptor_(new DevToolsNetworkInterceptor()) {}
DevToolsNetworkController::~DevToolsNetworkController() {
+ DCHECK(thread_checker_.CalledOnValidThread());
}
base::WeakPtr<DevToolsNetworkInterceptor>
@@ -47,20 +43,6 @@ DevToolsNetworkController::GetInterceptor(
void DevToolsNetworkController::SetNetworkState(
const std::string& client_id,
scoped_ptr<DevToolsNetworkConditions> conditions) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- BrowserThread::PostTask(
- content::BrowserThread::IO,
- FROM_HERE,
- base::Bind(
- &DevToolsNetworkController::SetNetworkStateOnIO,
- weak_ptr_factory_.GetWeakPtr(),
- client_id,
- base::Passed(&conditions)));
-}
-
-void DevToolsNetworkController::SetNetworkStateOnIO(
- const std::string& client_id,
- scoped_ptr<DevToolsNetworkConditions> conditions) {
DCHECK(thread_checker_.CalledOnValidThread());
DevToolsNetworkInterceptor* interceptor = interceptors_.get(client_id);
@@ -68,7 +50,8 @@ void DevToolsNetworkController::SetNetworkStateOnIO(
DCHECK(conditions);
if (!conditions)
return;
- Interceptor new_interceptor = Interceptor(new DevToolsNetworkInterceptor());
+ scoped_ptr<DevToolsNetworkInterceptor> new_interceptor(
+ new DevToolsNetworkInterceptor());
new_interceptor->UpdateConditions(conditions.Pass());
interceptors_.set(client_id, new_interceptor.Pass());
} else {
@@ -83,7 +66,7 @@ void DevToolsNetworkController::SetNetworkStateOnIO(
}
bool has_offline_interceptors = false;
- Interceptors::iterator it = interceptors_.begin();
+ InterceptorMap::iterator it = interceptors_.begin();
for (; it != interceptors_.end(); ++it) {
if (it->second->conditions()->offline()) {
has_offline_interceptors = true;
diff --git a/chrome/browser/devtools/devtools_network_controller.h b/chrome/browser/devtools/devtools_network_controller.h
index dddcac9..2fe0880 100644
--- a/chrome/browser/devtools/devtools_network_controller.h
+++ b/chrome/browser/devtools/devtools_network_controller.h
@@ -17,13 +17,8 @@ class DevToolsNetworkConditions;
class DevToolsNetworkInterceptor;
class DevToolsNetworkTransaction;
-namespace test {
-class DevToolsNetworkControllerHelper;
-}
-
// DevToolsNetworkController tracks DevToolsNetworkTransactions.
class DevToolsNetworkController {
-
public:
DevToolsNetworkController();
virtual ~DevToolsNetworkController();
@@ -36,26 +31,15 @@ class DevToolsNetworkController {
base::WeakPtr<DevToolsNetworkInterceptor> GetInterceptor(
DevToolsNetworkTransaction* transaction);
- protected:
- friend class test::DevToolsNetworkControllerHelper;
-
private:
- // Controller must be constructed on IO thread.
- base::ThreadChecker thread_checker_;
+ using InterceptorMap =
+ base::ScopedPtrHashMap<std::string,
+ scoped_ptr<DevToolsNetworkInterceptor>>;
- void SetNetworkStateOnIO(
- const std::string& client_id,
- scoped_ptr<DevToolsNetworkConditions> conditions);
-
- typedef scoped_ptr<DevToolsNetworkInterceptor> Interceptor;
- Interceptor default_interceptor_;
- Interceptor appcache_interceptor_;
- typedef base::ScopedPtrHashMap<std::string,
- scoped_ptr<DevToolsNetworkInterceptor>>
- Interceptors;
- Interceptors interceptors_;
-
- base::WeakPtrFactory<DevToolsNetworkController> weak_ptr_factory_;
+ scoped_ptr<DevToolsNetworkInterceptor> default_interceptor_;
+ scoped_ptr<DevToolsNetworkInterceptor> appcache_interceptor_;
+ InterceptorMap interceptors_;
+ base::ThreadChecker thread_checker_;
DISALLOW_COPY_AND_ASSIGN(DevToolsNetworkController);
};
diff --git a/chrome/browser/devtools/devtools_network_controller_handle.cc b/chrome/browser/devtools/devtools_network_controller_handle.cc
new file mode 100644
index 0000000..0cd1349
--- /dev/null
+++ b/chrome/browser/devtools/devtools_network_controller_handle.cc
@@ -0,0 +1,52 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/devtools/devtools_network_controller_handle.h"
+
+#include "base/bind.h"
+#include "chrome/browser/devtools/devtools_network_conditions.h"
+#include "chrome/browser/devtools/devtools_network_controller.h"
+#include "content/public/browser/browser_thread.h"
+
+using content::BrowserThread;
+
+DevToolsNetworkControllerHandle::DevToolsNetworkControllerHandle() {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+}
+
+DevToolsNetworkControllerHandle::~DevToolsNetworkControllerHandle() {}
+
+void DevToolsNetworkControllerHandle::SetNetworkState(
+ const std::string& client_id,
+ scoped_ptr<DevToolsNetworkConditions> conditions) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ base::Bind(&DevToolsNetworkControllerHandle::SetNetworkStateOnIO,
+ base::Unretained(this), client_id, base::Passed(&conditions)));
+}
+
+DevToolsNetworkController* DevToolsNetworkControllerHandle::GetController() {
+ DCHECK_CURRENTLY_ON(BrowserThread::IO);
+
+ LazyInitialize();
+ return controller_.get();
+}
+
+void DevToolsNetworkControllerHandle::LazyInitialize() {
+ DCHECK_CURRENTLY_ON(BrowserThread::IO);
+
+ if (!controller_)
+ controller_.reset(new DevToolsNetworkController);
+}
+
+void DevToolsNetworkControllerHandle::SetNetworkStateOnIO(
+ const std::string& client_id,
+ scoped_ptr<DevToolsNetworkConditions> conditions) {
+ DCHECK_CURRENTLY_ON(BrowserThread::IO);
+
+ LazyInitialize();
+ controller_->SetNetworkState(client_id, conditions.Pass());
+}
diff --git a/chrome/browser/devtools/devtools_network_controller_handle.h b/chrome/browser/devtools/devtools_network_controller_handle.h
new file mode 100644
index 0000000..7aee0ff
--- /dev/null
+++ b/chrome/browser/devtools/devtools_network_controller_handle.h
@@ -0,0 +1,41 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_DEVTOOLS_DEVTOOLS_NETWORK_CONTROLLER_HANDLE_H_
+#define CHROME_BROWSER_DEVTOOLS_DEVTOOLS_NETWORK_CONTROLLER_HANDLE_H_
+
+#include <string>
+
+#include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
+
+class DevToolsNetworkConditions;
+class DevToolsNetworkController;
+
+// A handle to manage an IO-thread DevToolsNetworkController on the IO thread
+// while allowing SetNetworkState to be called from the UI thread. Must be
+// created on the UI thread and destroyed on the IO thread.
+class DevToolsNetworkControllerHandle {
+ public:
+ DevToolsNetworkControllerHandle();
+ ~DevToolsNetworkControllerHandle();
+
+ // Called on the UI thread.
+ void SetNetworkState(const std::string& client_id,
+ scoped_ptr<DevToolsNetworkConditions> conditions);
+
+ // Called on the IO thread.
+ DevToolsNetworkController* GetController();
+
+ private:
+ void LazyInitialize();
+ void SetNetworkStateOnIO(const std::string& client_id,
+ scoped_ptr<DevToolsNetworkConditions> conditions);
+
+ scoped_ptr<DevToolsNetworkController> controller_;
+
+ DISALLOW_COPY_AND_ASSIGN(DevToolsNetworkControllerHandle);
+};
+
+#endif // CHROME_BROWSER_DEVTOOLS_DEVTOOLS_NETWORK_CONTROLLER_HANDLE_H_
diff --git a/chrome/browser/devtools/devtools_network_controller_unittest.cc b/chrome/browser/devtools/devtools_network_controller_unittest.cc
index de428fc..6893b3e 100644
--- a/chrome/browser/devtools/devtools_network_controller_unittest.cc
+++ b/chrome/browser/devtools/devtools_network_controller_unittest.cc
@@ -71,7 +71,7 @@ class DevToolsNetworkControllerHelper {
void SetNetworkState(const std::string id, bool offline) {
scoped_ptr<DevToolsNetworkConditions> conditions(
new DevToolsNetworkConditions(offline));
- controller_.SetNetworkStateOnIO(id, conditions.Pass());
+ controller_.SetNetworkState(id, conditions.Pass());
}
int Start() {
diff --git a/chrome/browser/devtools/devtools_network_protocol_handler.cc b/chrome/browser/devtools/devtools_network_protocol_handler.cc
index 1e93065..1c18152 100644
--- a/chrome/browser/devtools/devtools_network_protocol_handler.cc
+++ b/chrome/browser/devtools/devtools_network_protocol_handler.cc
@@ -6,7 +6,7 @@
#include "base/values.h"
#include "chrome/browser/devtools/devtools_network_conditions.h"
-#include "chrome/browser/devtools/devtools_network_controller.h"
+#include "chrome/browser/devtools/devtools_network_controller_handle.h"
#include "chrome/browser/devtools/devtools_protocol_constants.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/devtools_agent_host.h"
@@ -100,7 +100,7 @@ void DevToolsNetworkProtocolHandler::UpdateNetworkState(
agent_host->GetBrowserContext());
if (!profile)
return;
- profile->GetDevToolsNetworkController()->SetNetworkState(
+ profile->GetDevToolsNetworkControllerHandle()->SetNetworkState(
agent_host->GetId(), conditions.Pass());
}
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc
index 400005a..de1513c 100644
--- a/chrome/browser/profiles/off_the_record_profile_impl.cc
+++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -497,9 +497,9 @@ chrome_browser_net::Predictor* OffTheRecordProfileImpl::GetNetworkPredictor() {
return NULL;
}
-DevToolsNetworkController*
-OffTheRecordProfileImpl::GetDevToolsNetworkController() {
- return io_data_->GetDevToolsNetworkController();
+DevToolsNetworkControllerHandle*
+OffTheRecordProfileImpl::GetDevToolsNetworkControllerHandle() {
+ return io_data_->GetDevToolsNetworkControllerHandle();
}
void OffTheRecordProfileImpl::ClearNetworkingHistorySince(
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.h b/chrome/browser/profiles/off_the_record_profile_impl.h
index c257e0d..732b4df 100644
--- a/chrome/browser/profiles/off_the_record_profile_impl.h
+++ b/chrome/browser/profiles/off_the_record_profile_impl.h
@@ -78,7 +78,8 @@ class OffTheRecordProfileImpl : public Profile {
PrefProxyConfigTracker* GetProxyConfigTracker() override;
chrome_browser_net::Predictor* GetNetworkPredictor() override;
- DevToolsNetworkController* GetDevToolsNetworkController() override;
+ DevToolsNetworkControllerHandle* GetDevToolsNetworkControllerHandle()
+ override;
void ClearNetworkingHistorySince(base::Time time,
const base::Closure& completion) override;
GURL GetHomePage() override;
diff --git a/chrome/browser/profiles/off_the_record_profile_io_data.cc b/chrome/browser/profiles/off_the_record_profile_io_data.cc
index f6d1b0f..74ea40f 100644
--- a/chrome/browser/profiles/off_the_record_profile_io_data.cc
+++ b/chrome/browser/profiles/off_the_record_profile_io_data.cc
@@ -147,10 +147,10 @@ OffTheRecordProfileIOData::Handle::CreateIsolatedAppRequestContextGetter(
return context;
}
-DevToolsNetworkController*
-OffTheRecordProfileIOData::Handle::GetDevToolsNetworkController() const {
+DevToolsNetworkControllerHandle*
+OffTheRecordProfileIOData::Handle::GetDevToolsNetworkControllerHandle() const {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return io_data_->network_controller();
+ return io_data_->network_controller_handle();
}
void OffTheRecordProfileIOData::Handle::LazyInitialize() const {
diff --git a/chrome/browser/profiles/off_the_record_profile_io_data.h b/chrome/browser/profiles/off_the_record_profile_io_data.h
index f3b3733..f1cd12e 100644
--- a/chrome/browser/profiles/off_the_record_profile_io_data.h
+++ b/chrome/browser/profiles/off_the_record_profile_io_data.h
@@ -66,8 +66,8 @@ class OffTheRecordProfileIOData : public ProfileIOData {
content::URLRequestInterceptorScopedVector
request_interceptors) const;
- // Returns the DevToolsNetworkController attached to ProfileIOData.
- DevToolsNetworkController* GetDevToolsNetworkController() const;
+ // Returns the DevToolsNetworkControllerHandle attached to ProfileIOData.
+ DevToolsNetworkControllerHandle* GetDevToolsNetworkControllerHandle() const;
private:
typedef std::map<StoragePartitionDescriptor,
diff --git a/chrome/browser/profiles/profile.h b/chrome/browser/profiles/profile.h
index 292358f..243dd0b 100644
--- a/chrome/browser/profiles/profile.h
+++ b/chrome/browser/profiles/profile.h
@@ -17,7 +17,7 @@
#include "content/public/browser/content_browser_client.h"
class ChromeAppCacheService;
-class DevToolsNetworkController;
+class DevToolsNetworkControllerHandle;
class ExtensionSpecialStoragePolicy;
class HostContentSettingsMap;
class PrefProxyConfigTracker;
@@ -287,8 +287,9 @@ class Profile : public content::BrowserContext {
// Returns the Predictor object used for dns prefetch.
virtual chrome_browser_net::Predictor* GetNetworkPredictor() = 0;
- // Returns the DevToolsNetworkController for this profile.
- virtual DevToolsNetworkController* GetDevToolsNetworkController() = 0;
+ // Returns the DevToolsNetworkControllerHandle for this profile.
+ virtual DevToolsNetworkControllerHandle*
+ GetDevToolsNetworkControllerHandle() = 0;
// Deletes all network related data since |time|. It deletes transport
// security state since |time| and it also deletes HttpServerProperties data.
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
index b50d00d..a0f1c78 100644
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -1185,8 +1185,9 @@ chrome_browser_net::Predictor* ProfileImpl::GetNetworkPredictor() {
return predictor_;
}
-DevToolsNetworkController* ProfileImpl::GetDevToolsNetworkController() {
- return io_data_.GetDevToolsNetworkController();
+DevToolsNetworkControllerHandle*
+ProfileImpl::GetDevToolsNetworkControllerHandle() {
+ return io_data_.GetDevToolsNetworkControllerHandle();
}
void ProfileImpl::ClearNetworkingHistorySince(
diff --git a/chrome/browser/profiles/profile_impl.h b/chrome/browser/profiles/profile_impl.h
index 49d32ac..8390445 100644
--- a/chrome/browser/profiles/profile_impl.h
+++ b/chrome/browser/profiles/profile_impl.h
@@ -125,7 +125,8 @@ class ProfileImpl : public Profile {
base::FilePath last_selected_directory() override;
void set_last_selected_directory(const base::FilePath& path) override;
chrome_browser_net::Predictor* GetNetworkPredictor() override;
- DevToolsNetworkController* GetDevToolsNetworkController() override;
+ DevToolsNetworkControllerHandle* GetDevToolsNetworkControllerHandle()
+ override;
void ClearNetworkingHistorySince(base::Time time,
const base::Closure& completion) override;
GURL GetHomePage() override;
diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc
index b633bb2..1974d93 100644
--- a/chrome/browser/profiles/profile_impl_io_data.cc
+++ b/chrome/browser/profiles/profile_impl_io_data.cc
@@ -345,10 +345,10 @@ ProfileImplIOData::Handle::GetIsolatedMediaRequestContextGetter(
return context;
}
-DevToolsNetworkController*
-ProfileImplIOData::Handle::GetDevToolsNetworkController() const {
+DevToolsNetworkControllerHandle*
+ProfileImplIOData::Handle::GetDevToolsNetworkControllerHandle() const {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return io_data_->network_controller();
+ return io_data_->network_controller_handle();
}
void ProfileImplIOData::Handle::ClearNetworkingHistorySince(
diff --git a/chrome/browser/profiles/profile_impl_io_data.h b/chrome/browser/profiles/profile_impl_io_data.h
index 1eca955..214ec74 100644
--- a/chrome/browser/profiles/profile_impl_io_data.h
+++ b/chrome/browser/profiles/profile_impl_io_data.h
@@ -98,8 +98,8 @@ class ProfileImplIOData : public ProfileIOData {
const base::FilePath& partition_path,
bool in_memory) const;
- // Returns the DevToolsNetworkController attached to ProfileIOData.
- DevToolsNetworkController* GetDevToolsNetworkController() const;
+ // Returns the DevToolsNetworkControllerHandle attached to ProfileIOData.
+ DevToolsNetworkControllerHandle* GetDevToolsNetworkControllerHandle() const;
// Deletes all network related data since |time|. It deletes transport
// security state since |time| and also deletes HttpServerProperties data.
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
index bf7e2a9..614c0cb 100644
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
@@ -1314,11 +1314,10 @@ scoped_ptr<net::HttpCache> ProfileIOData::CreateMainHttpFactory(
if (data_reduction_proxy_io_data_.get())
params.proxy_delegate = data_reduction_proxy_io_data_->proxy_delegate();
- network_controller_.reset(new DevToolsNetworkController());
-
net::HttpNetworkSession* session = new net::HttpNetworkSession(params);
return scoped_ptr<net::HttpCache>(new net::HttpCache(
- new DevToolsNetworkTransactionFactory(network_controller_.get(), session),
+ new DevToolsNetworkTransactionFactory(
+ network_controller_handle_.GetController(), session),
context->net_log(), main_backend));
}
@@ -1327,7 +1326,7 @@ scoped_ptr<net::HttpCache> ProfileIOData::CreateHttpFactory(
net::HttpCache::BackendFactory* backend) const {
return scoped_ptr<net::HttpCache>(new net::HttpCache(
new DevToolsNetworkTransactionFactory(
- network_controller_.get(), shared_session),
+ network_controller_handle_.GetController(), shared_session),
shared_session->net_log(), backend));
}
diff --git a/chrome/browser/profiles/profile_io_data.h b/chrome/browser/profiles/profile_io_data.h
index a3a55b1..7233c40 100644
--- a/chrome/browser/profiles/profile_io_data.h
+++ b/chrome/browser/profiles/profile_io_data.h
@@ -18,6 +18,7 @@
#include "base/prefs/pref_member.h"
#include "base/synchronization/lock.h"
#include "chrome/browser/custom_handlers/protocol_handler_registry.h"
+#include "chrome/browser/devtools/devtools_network_controller_handle.h"
#include "chrome/browser/io_thread.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/storage_partition_descriptor.h"
@@ -34,7 +35,6 @@
class ChromeHttpUserAgentSettings;
class ChromeNetworkDelegate;
class ChromeURLRequestContextGetter;
-class DevToolsNetworkController;
class HostContentSettingsMap;
class MediaDeviceIDSalt;
class ProtocolHandlerRegistry;
@@ -174,8 +174,8 @@ class ProfileIOData {
content::ResourceContext::SaltCallback GetMediaDeviceIDSalt() const;
- DevToolsNetworkController* network_controller() const {
- return network_controller_.get();
+ DevToolsNetworkControllerHandle* network_controller_handle() const {
+ return &network_controller_handle_;
}
net::TransportSecurityState* transport_security_state() const {
@@ -594,7 +594,7 @@ class ProfileIOData {
extension_throttle_manager_;
#endif
- mutable scoped_ptr<DevToolsNetworkController> network_controller_;
+ mutable DevToolsNetworkControllerHandle network_controller_handle_;
// TODO(jhawkins): Remove once crbug.com/102004 is fixed.
bool initialized_on_UI_thread_;
diff --git a/chrome/browser/ui/app_list/test/fake_profile.cc b/chrome/browser/ui/app_list/test/fake_profile.cc
index 9a91fd5..55621f5f 100644
--- a/chrome/browser/ui/app_list/test/fake_profile.cc
+++ b/chrome/browser/ui/app_list/test/fake_profile.cc
@@ -191,7 +191,8 @@ chrome_browser_net::Predictor* FakeProfile::GetNetworkPredictor() {
return nullptr;
}
-DevToolsNetworkController* FakeProfile::GetDevToolsNetworkController() {
+DevToolsNetworkControllerHandle*
+FakeProfile::GetDevToolsNetworkControllerHandle() {
return nullptr;
}
diff --git a/chrome/browser/ui/app_list/test/fake_profile.h b/chrome/browser/ui/app_list/test/fake_profile.h
index b294544..74dbaf4 100644
--- a/chrome/browser/ui/app_list/test/fake_profile.h
+++ b/chrome/browser/ui/app_list/test/fake_profile.h
@@ -90,7 +90,8 @@ class FakeProfile : public Profile {
PrefProxyConfigTracker* GetProxyConfigTracker() override;
chrome_browser_net::Predictor* GetNetworkPredictor() override;
- DevToolsNetworkController* GetDevToolsNetworkController() override;
+ DevToolsNetworkControllerHandle* GetDevToolsNetworkControllerHandle()
+ override;
void ClearNetworkingHistorySince(base::Time time,
const base::Closure& completion) override;
GURL GetHomePage() override;
diff --git a/chrome/chrome_debugger.gypi b/chrome/chrome_debugger.gypi
index 7beba91..48e1ea3 100644
--- a/chrome/chrome_debugger.gypi
+++ b/chrome/chrome_debugger.gypi
@@ -29,6 +29,8 @@
'browser/devtools/devtools_network_conditions.h',
'browser/devtools/devtools_network_controller.cc',
'browser/devtools/devtools_network_controller.h',
+ 'browser/devtools/devtools_network_controller_handle.cc',
+ 'browser/devtools/devtools_network_controller_handle.h',
'browser/devtools/devtools_network_interceptor.cc',
'browser/devtools/devtools_network_interceptor.h',
'browser/devtools/devtools_network_protocol_handler.cc',
diff --git a/chrome/test/base/testing_profile.cc b/chrome/test/base/testing_profile.cc
index efdf3c6..dba1e98 100644
--- a/chrome/test/base/testing_profile.cc
+++ b/chrome/test/base/testing_profile.cc
@@ -928,7 +928,8 @@ chrome_browser_net::Predictor* TestingProfile::GetNetworkPredictor() {
return NULL;
}
-DevToolsNetworkController* TestingProfile::GetDevToolsNetworkController() {
+DevToolsNetworkControllerHandle*
+TestingProfile::GetDevToolsNetworkControllerHandle() {
return NULL;
}
diff --git a/chrome/test/base/testing_profile.h b/chrome/test/base/testing_profile.h
index 2b00728..efac4a2 100644
--- a/chrome/test/base/testing_profile.h
+++ b/chrome/test/base/testing_profile.h
@@ -308,7 +308,8 @@ class TestingProfile : public Profile {
void BlockUntilHistoryProcessesPendingRequests();
chrome_browser_net::Predictor* GetNetworkPredictor() override;
- DevToolsNetworkController* GetDevToolsNetworkController() override;
+ DevToolsNetworkControllerHandle* GetDevToolsNetworkControllerHandle()
+ override;
void ClearNetworkingHistorySince(base::Time time,
const base::Closure& completion) override;
GURL GetHomePage() override;