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

Side by Side Diff: chrome/browser/chromeos/net/network_portal_detector_impl.cc

Issue 14729017: Add NetworkHandler to own network handlers in src/chromeos/network (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase + elim LoginState dependency Created 7 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/net/network_portal_detector_impl.h" 5 #include "chrome/browser/chromeos/net/network_portal_detector_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 content::NotificationService::AllSources()); 91 content::NotificationService::AllSources());
92 } 92 }
93 93
94 NetworkPortalDetectorImpl::~NetworkPortalDetectorImpl() { 94 NetworkPortalDetectorImpl::~NetworkPortalDetectorImpl() {
95 } 95 }
96 96
97 void NetworkPortalDetectorImpl::Init() { 97 void NetworkPortalDetectorImpl::Init() {
98 DCHECK(CalledOnValidThread()); 98 DCHECK(CalledOnValidThread());
99 99
100 state_ = STATE_IDLE; 100 state_ = STATE_IDLE;
101 NetworkStateHandler::Get()->AddObserver(this); 101 NetworkHandler::Get()->network_state_handler()->AddObserver(this);
102 } 102 }
103 103
104 void NetworkPortalDetectorImpl::Shutdown() { 104 void NetworkPortalDetectorImpl::Shutdown() {
105 DCHECK(CalledOnValidThread()); 105 DCHECK(CalledOnValidThread());
106 106
107 detection_task_.Cancel(); 107 detection_task_.Cancel();
108 detection_timeout_.Cancel(); 108 detection_timeout_.Cancel();
109 109
110 captive_portal_detector_->Cancel(); 110 captive_portal_detector_->Cancel();
111 captive_portal_detector_.reset(); 111 captive_portal_detector_.reset();
112 observers_.Clear(); 112 observers_.Clear();
113 if (NetworkStateHandler::IsInitialized()) 113 if (NetworkHandler::IsInitialized())
114 NetworkStateHandler::Get()->RemoveObserver(this); 114 NetworkHandler::Get()->network_state_handler()->RemoveObserver(this);
115 } 115 }
116 116
117 void NetworkPortalDetectorImpl::AddObserver(Observer* observer) { 117 void NetworkPortalDetectorImpl::AddObserver(Observer* observer) {
118 DCHECK(CalledOnValidThread()); 118 DCHECK(CalledOnValidThread());
119 if (!observer || observers_.HasObserver(observer)) 119 if (!observer || observers_.HasObserver(observer))
120 return; 120 return;
121 observers_.AddObserver(observer); 121 observers_.AddObserver(observer);
122 } 122 }
123 123
124 void NetworkPortalDetectorImpl::AddAndFireObserver(Observer* observer) { 124 void NetworkPortalDetectorImpl::AddAndFireObserver(Observer* observer) {
125 DCHECK(CalledOnValidThread()); 125 DCHECK(CalledOnValidThread());
126 if (!observer) 126 if (!observer)
127 return; 127 return;
128 AddObserver(observer); 128 AddObserver(observer);
129 const NetworkState* network = NetworkStateHandler::Get()->DefaultNetwork(); 129 const NetworkState* network =
130 NetworkHandler::Get()->network_state_handler()->DefaultNetwork();
130 observer->OnPortalDetectionCompleted(network, GetCaptivePortalState(network)); 131 observer->OnPortalDetectionCompleted(network, GetCaptivePortalState(network));
131 } 132 }
132 133
133 void NetworkPortalDetectorImpl::RemoveObserver(Observer* observer) { 134 void NetworkPortalDetectorImpl::RemoveObserver(Observer* observer) {
134 DCHECK(CalledOnValidThread()); 135 DCHECK(CalledOnValidThread());
135 if (observer) 136 if (observer)
136 observers_.RemoveObserver(observer); 137 observers_.RemoveObserver(observer);
137 } 138 }
138 139
139 bool NetworkPortalDetectorImpl::IsEnabled() { 140 bool NetworkPortalDetectorImpl::IsEnabled() {
140 return enabled_; 141 return enabled_;
141 } 142 }
142 143
143 void NetworkPortalDetectorImpl::Enable(bool start_detection) { 144 void NetworkPortalDetectorImpl::Enable(bool start_detection) {
144 DCHECK(CalledOnValidThread()); 145 DCHECK(CalledOnValidThread());
145 if (enabled_) 146 if (enabled_)
146 return; 147 return;
147 enabled_ = true; 148 enabled_ = true;
148 DCHECK(!IsPortalCheckPending()); 149 DCHECK(!IsPortalCheckPending());
149 DCHECK(!IsCheckingForPortal()); 150 DCHECK(!IsCheckingForPortal());
150 DCHECK(!lazy_detection_enabled()); 151 DCHECK(!lazy_detection_enabled());
151 if (!start_detection) 152 if (!start_detection)
152 return; 153 return;
153 state_ = STATE_IDLE; 154 state_ = STATE_IDLE;
154 attempt_count_ = 0; 155 attempt_count_ = 0;
155 const NetworkState* default_network = 156 const NetworkState* default_network =
156 NetworkStateHandler::Get()->DefaultNetwork(); 157 NetworkHandler::Get()->network_state_handler()->DefaultNetwork();
157 if (!default_network) 158 if (!default_network)
158 return; 159 return;
159 portal_state_map_.erase(default_network->path()); 160 portal_state_map_.erase(default_network->path());
160 DetectCaptivePortal(base::TimeDelta()); 161 DetectCaptivePortal(base::TimeDelta());
161 } 162 }
162 163
163 NetworkPortalDetectorImpl::CaptivePortalState 164 NetworkPortalDetectorImpl::CaptivePortalState
164 NetworkPortalDetectorImpl::GetCaptivePortalState(const NetworkState* network) { 165 NetworkPortalDetectorImpl::GetCaptivePortalState(const NetworkState* network) {
165 DCHECK(CalledOnValidThread()); 166 DCHECK(CalledOnValidThread());
166 if (!network) 167 if (!network)
(...skipping 22 matching lines...) Expand all
189 190
190 void NetworkPortalDetectorImpl::DisableLazyDetection() { 191 void NetworkPortalDetectorImpl::DisableLazyDetection() {
191 CHECK(lazy_detection_enabled()); 192 CHECK(lazy_detection_enabled());
192 lazy_detection_enabled_ = false; 193 lazy_detection_enabled_ = false;
193 VLOG(1) << "Lazy detection mode disabled."; 194 VLOG(1) << "Lazy detection mode disabled.";
194 } 195 }
195 196
196 void NetworkPortalDetectorImpl::NetworkManagerChanged() { 197 void NetworkPortalDetectorImpl::NetworkManagerChanged() {
197 DCHECK(CalledOnValidThread()); 198 DCHECK(CalledOnValidThread());
198 const NetworkState* default_network = 199 const NetworkState* default_network =
199 NetworkStateHandler::Get()->DefaultNetwork(); 200 NetworkHandler::Get()->network_state_handler()->DefaultNetwork();
200 if (!default_network) { 201 if (!default_network) {
201 default_network_id_.clear(); 202 default_network_id_.clear();
202 return; 203 return;
203 } 204 }
204 205
205 default_network_id_ = default_network->guid(); 206 default_network_id_ = default_network->guid();
206 207
207 bool network_changed = (default_service_path_ != default_network->path()); 208 bool network_changed = (default_service_path_ != default_network->path());
208 default_service_path_ = default_network->path(); 209 default_service_path_ = default_network->path();
209 210
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 VLOG(1) << "Portal detection completed: " 342 VLOG(1) << "Portal detection completed: "
342 << "network=" << default_network_id_ << ", " 343 << "network=" << default_network_id_ << ", "
343 << "result=" << CaptivePortalDetector::CaptivePortalResultToString( 344 << "result=" << CaptivePortalDetector::CaptivePortalResultToString(
344 results.result) << ", " 345 results.result) << ", "
345 << "response_code=" << results.response_code; 346 << "response_code=" << results.response_code;
346 347
347 state_ = STATE_IDLE; 348 state_ = STATE_IDLE;
348 detection_timeout_.Cancel(); 349 detection_timeout_.Cancel();
349 350
350 const NetworkState* default_network = 351 const NetworkState* default_network =
351 NetworkStateHandler::Get()->DefaultNetwork(); 352 NetworkHandler::Get()->network_state_handler()->DefaultNetwork();
352 353
353 CaptivePortalState state; 354 CaptivePortalState state;
354 state.response_code = results.response_code; 355 state.response_code = results.response_code;
355 switch (results.result) { 356 switch (results.result) {
356 case captive_portal::RESULT_NO_RESPONSE: 357 case captive_portal::RESULT_NO_RESPONSE:
357 if (attempt_count_ >= kMaxRequestAttempts) { 358 if (attempt_count_ >= kMaxRequestAttempts) {
358 if (state.response_code == net::HTTP_PROXY_AUTHENTICATION_REQUIRED) { 359 if (state.response_code == net::HTTP_PROXY_AUTHENTICATION_REQUIRED) {
359 state.status = CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED; 360 state.status = CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED;
360 } else if (default_network && (default_network->connection_state() == 361 } else if (default_network && (default_network->connection_state() ==
361 flimflam::kStatePortal)) { 362 flimflam::kStatePortal)) {
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 else 461 else
461 return time_ticks_for_testing_; 462 return time_ticks_for_testing_;
462 } 463 }
463 464
464 bool NetworkPortalDetectorImpl::DetectionTimeoutIsCancelledForTesting() const { 465 bool NetworkPortalDetectorImpl::DetectionTimeoutIsCancelledForTesting() const {
465 return detection_timeout_.IsCancelled(); 466 return detection_timeout_.IsCancelled();
466 } 467 }
467 468
468 int NetworkPortalDetectorImpl::GetRequestTimeoutSec() const { 469 int NetworkPortalDetectorImpl::GetRequestTimeoutSec() const {
469 DCHECK_LE(0, attempt_count_); 470 DCHECK_LE(0, attempt_count_);
470 const NetworkState* network = NetworkStateHandler::Get()->DefaultNetwork(); 471 const NetworkState* network =
472 NetworkHandler::Get()->network_state_handler()->DefaultNetwork();
471 if (!network) 473 if (!network)
472 return kBaseRequestTimeoutSec; 474 return kBaseRequestTimeoutSec;
473 if (lazy_detection_enabled_) 475 if (lazy_detection_enabled_)
474 return kLazyRequestTimeoutSec; 476 return kLazyRequestTimeoutSec;
475 return attempt_count_ * kBaseRequestTimeoutSec; 477 return attempt_count_ * kBaseRequestTimeoutSec;
476 } 478 }
477 479
478 } // namespace chromeos 480 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698