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

Unified Diff: content/network/network_service.cc

Issue 2960843005: Revert of NetworkService: Destroy NetworkContexts on NetworkService teardown. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/network/network_service.h ('k') | content/network/network_service_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/network/network_service.cc
diff --git a/content/network/network_service.cc b/content/network/network_service.cc
index a133884b0251b8fe163c130f2c1922c39734b6e1..28d947b6adf5db1639efec3138b5dfdef1ce2620 100644
--- a/content/network/network_service.cc
+++ b/content/network/network_service.cc
@@ -55,44 +55,11 @@
NetworkService::NetworkService(
std::unique_ptr<service_manager::BinderRegistry> registry)
: net_log_(new MojoNetLog), registry_(std::move(registry)), binding_(this) {
- // |registry_| may be nullptr in tests.
- if (registry_) {
- registry_->AddInterface<mojom::NetworkService>(
- base::Bind(&NetworkService::Create, base::Unretained(this)));
- }
+ registry_->AddInterface<mojom::NetworkService>(
+ base::Bind(&NetworkService::Create, base::Unretained(this)));
}
-NetworkService::~NetworkService() {
- // Call each Network and ask it to release its net::URLRequestContext, as they
- // may have references to shared objects owned by the NetworkService. The
- // NetworkContexts deregister themselves in Cleanup(), so have to be careful.
- while (!network_contexts_.empty())
- (*network_contexts_.begin())->Cleanup();
-}
-
-std::unique_ptr<NetworkService> NetworkService::CreateForTesting() {
- return base::WrapUnique(new NetworkService());
-}
-
-void NetworkService::RegisterNetworkContext(NetworkContext* network_context) {
- DCHECK_EQ(0u, network_contexts_.count(network_context));
- network_contexts_.insert(network_context);
-}
-
-void NetworkService::DeregisterNetworkContext(NetworkContext* network_context) {
- DCHECK_EQ(1u, network_contexts_.count(network_context));
- network_contexts_.erase(network_context);
-}
-
-void NetworkService::CreateNetworkContext(
- mojom::NetworkContextRequest request,
- mojom::NetworkContextParamsPtr params) {
- // The NetworkContext will destroy itself on connection error, or when the
- // service is destroyed.
- new NetworkContext(this, std::move(request), std::move(params));
-}
-
-NetworkService::NetworkService() : NetworkService(nullptr) {}
+NetworkService::~NetworkService() = default;
void NetworkService::OnBindInterface(
const service_manager::BindSourceInfo& source_info,
@@ -108,4 +75,12 @@
binding_.Bind(std::move(request));
}
+void NetworkService::CreateNetworkContext(
+ mojom::NetworkContextRequest request,
+ mojom::NetworkContextParamsPtr params) {
+ mojo::MakeStrongBinding(
+ base::MakeUnique<NetworkContext>(std::move(request), std::move(params)),
+ std::move(request));
+}
+
} // namespace content
« no previous file with comments | « content/network/network_service.h ('k') | content/network/network_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698