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

Unified Diff: content/network/network_service.cc

Issue 2968293002: Introduce SystemNetworkContextManager. (Closed)
Patch Set: Fix windows non-component build (??) Created 3 years, 5 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
Index: content/network/network_service.cc
diff --git a/content/network/network_service.cc b/content/network/network_service.cc
deleted file mode 100644
index a133884b0251b8fe163c130f2c1922c39734b6e1..0000000000000000000000000000000000000000
--- a/content/network/network_service.cc
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2017 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 "content/network/network_service.h"
-
-#include "base/command_line.h"
-#include "base/logging.h"
-#include "base/memory/ptr_util.h"
-#include "content/network/network_context.h"
-#include "content/public/common/content_switches.h"
-#include "mojo/public/cpp/bindings/strong_binding.h"
-#include "net/log/net_log_util.h"
-#include "net/log/write_to_file_net_log_observer.h"
-#include "services/service_manager/public/cpp/bind_source_info.h"
-
-namespace content {
-
-class NetworkService::MojoNetLog : public net::NetLog {
- public:
- MojoNetLog() {
- const base::CommandLine* command_line =
- base::CommandLine::ForCurrentProcess();
- if (!command_line->HasSwitch(switches::kLogNetLog))
- return;
- base::FilePath log_path =
- command_line->GetSwitchValuePath(switches::kLogNetLog);
- base::ScopedFILE file;
-#if defined(OS_WIN)
- file.reset(_wfopen(log_path.value().c_str(), L"w"));
-#elif defined(OS_POSIX)
- file.reset(fopen(log_path.value().c_str(), "w"));
-#endif
- if (!file) {
- LOG(ERROR) << "Could not open file " << log_path.value()
- << " for net logging";
- } else {
- write_to_file_observer_.reset(new net::WriteToFileNetLogObserver());
- write_to_file_observer_->set_capture_mode(
- net::NetLogCaptureMode::IncludeCookiesAndCredentials());
- write_to_file_observer_->StartObserving(this, std::move(file), nullptr,
- nullptr);
- }
- }
- ~MojoNetLog() override {
- if (write_to_file_observer_)
- write_to_file_observer_->StopObserving(nullptr);
- }
-
- private:
- std::unique_ptr<net::WriteToFileNetLogObserver> write_to_file_observer_;
- DISALLOW_COPY_AND_ASSIGN(MojoNetLog);
-};
-
-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)));
- }
-}
-
-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) {}
-
-void NetworkService::OnBindInterface(
- const service_manager::BindSourceInfo& source_info,
- const std::string& interface_name,
- mojo::ScopedMessagePipeHandle interface_pipe) {
- registry_->BindInterface(source_info, interface_name,
- std::move(interface_pipe));
-}
-
-void NetworkService::Create(const service_manager::BindSourceInfo& source_info,
- mojom::NetworkServiceRequest request) {
- DCHECK(!binding_.is_bound());
- binding_.Bind(std::move(request));
-}
-
-} // namespace content

Powered by Google App Engine
This is Rietveld 408576698