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

Unified Diff: chromecast/net/connectivity_checker_impl.cc

Issue 2647323010: [Chromecast] Add proxy server support to chromecast (Closed)
Patch Set: Fix unittest failure Created 3 years, 10 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: chromecast/net/connectivity_checker_impl.cc
diff --git a/chromecast/net/connectivity_checker_impl.cc b/chromecast/net/connectivity_checker_impl.cc
index b1b24eba9dc1f30eb8464738515fa3cab77764d0..eed6a45fcb9edd41a235aa1a9f697110cdd2e91e 100644
--- a/chromecast/net/connectivity_checker_impl.cc
+++ b/chromecast/net/connectivity_checker_impl.cc
@@ -14,12 +14,11 @@
#include "chromecast/base/metrics/cast_metrics_helper.h"
#include "chromecast/chromecast_features.h"
#include "chromecast/net/net_switches.h"
+#include "components/proxy_config/pref_proxy_config_tracker.h"
#include "net/base/request_priority.h"
#include "net/http/http_response_headers.h"
#include "net/http/http_response_info.h"
#include "net/http/http_status_code.h"
-#include "net/proxy/proxy_config.h"
-#include "net/proxy/proxy_config_service_fixed.h"
#include "net/socket/ssl_client_socket.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_builder.h"
@@ -58,18 +57,27 @@ const char kMetricNameNetworkConnectivityCheckingErrorType[] =
} // namespace
ConnectivityCheckerImpl::ConnectivityCheckerImpl(
- const scoped_refptr<base::SingleThreadTaskRunner>& task_runner)
+ const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
+ std::unique_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker)
: ConnectivityChecker(),
task_runner_(task_runner),
connected_(false),
connection_type_(net::NetworkChangeNotifier::CONNECTION_NONE),
check_errors_(0),
- network_changed_pending_(false) {
+ network_changed_pending_(false),
+ pref_proxy_config_tracker_(std::move(pref_proxy_config_tracker)) {
DCHECK(task_runner_.get());
+
task_runner->PostTask(FROM_HERE,
base::Bind(&ConnectivityCheckerImpl::Initialize, this));
}
+void ConnectivityCheckerImpl::DetachFromPrefService() {
+ if (pref_proxy_config_tracker_.get()) {
+ pref_proxy_config_tracker_->DetachFromPrefService();
+ }
+}
+
void ConnectivityCheckerImpl::Initialize() {
DCHECK(task_runner_->BelongsToCurrentThread());
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
@@ -79,9 +87,10 @@ void ConnectivityCheckerImpl::Initialize() {
check_url_str.empty() ? kDefaultConnectivityCheckUrl : check_url_str));
net::URLRequestContextBuilder builder;
+
builder.set_proxy_config_service(
- base::MakeUnique<net::ProxyConfigServiceFixed>(
- net::ProxyConfig::CreateDirect()));
+ pref_proxy_config_tracker_->CreateTrackingProxyConfigService(nullptr));
+
builder.DisableHttpCache();
url_request_context_ = builder.Build();

Powered by Google App Engine
This is Rietveld 408576698