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

Unified Diff: chrome/browser/chromeos/net/network_portal_detector_impl.cc

Issue 1346843003: Refactor NetworkPortalDetector and NetworkPortalNotificationController. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: stub Created 5 years, 3 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: chrome/browser/chromeos/net/network_portal_detector_impl.cc
diff --git a/chrome/browser/chromeos/net/network_portal_detector_impl.cc b/chrome/browser/chromeos/net/network_portal_detector_impl.cc
index e58698103d432c11710eb725c0029d14839210ee..7f717b2a1148a0c7c08c9d35b7ffb8a5874108ef 100644
--- a/chrome/browser/chromeos/net/network_portal_detector_impl.cc
+++ b/chrome/browser/chromeos/net/network_portal_detector_impl.cc
@@ -13,11 +13,13 @@
#include "base/metrics/histogram.h"
#include "base/strings/stringprintf.h"
#include "chrome/browser/chrome_notification_types.h"
+#include "chrome/browser/chromeos/net/network_portal_notification_controller.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/shill_profile_client.h"
#include "chromeos/login/login_state.h"
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
+#include "chromeos/network/portal_detector/network_portal_detector_stub.h"
#include "components/device_event_log/device_event_log.h"
#include "content/public/browser/notification_service.h"
#include "content/public/common/content_switches.h"
@@ -209,34 +211,38 @@ const char NetworkPortalDetectorImpl::kSessionPortalToOnlineHistogram[] =
// static
void NetworkPortalDetectorImpl::Initialize(
net::URLRequestContextGetter* url_context) {
- if (NetworkPortalDetector::set_for_testing())
+ if (set_for_testing())
return;
- CHECK(!NetworkPortalDetector::network_portal_detector())
+ CHECK(!network_portal_detector())
<< "NetworkPortalDetector was initialized twice.";
- NET_LOG(EVENT) << "NetworkPortalDetectorImpl::Initialize()";
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(::switches::kTestType))
- set_network_portal_detector(new NetworkPortalDetectorStubImpl());
- else
- set_network_portal_detector(new NetworkPortalDetectorImpl(url_context));
+ NET_LOG(EVENT) << "NetworkPortalDetectorImpl::Initialize";
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ ::switches::kTestType)) {
+ set_network_portal_detector(new NetworkPortalDetectorStub());
+ } else {
+ set_network_portal_detector(
+ new NetworkPortalDetectorImpl(url_context, true));
+ }
}
NetworkPortalDetectorImpl::NetworkPortalDetectorImpl(
- const scoped_refptr<net::URLRequestContextGetter>& request_context)
- : state_(STATE_IDLE),
- test_url_(CaptivePortalDetector::kDefaultURL),
- enabled_(false),
+ const scoped_refptr<net::URLRequestContextGetter>& request_context,
+ bool create_notification_controller)
+ : test_url_(CaptivePortalDetector::kDefaultURL),
strategy_(PortalDetectorStrategy::CreateById(
PortalDetectorStrategy::STRATEGY_ID_LOGIN_SCREEN,
this)),
- last_detection_result_(CAPTIVE_PORTAL_STATUS_UNKNOWN),
- same_detection_result_count_(0),
- no_response_result_count_(0),
weak_factory_(this) {
NET_LOG(EVENT) << "NetworkPortalDetectorImpl::NetworkPortalDetectorImpl()";
captive_portal_detector_.reset(new CaptivePortalDetector(request_context));
- notification_controller_.set_retry_detection_callback(base::Bind(
- &NetworkPortalDetectorImpl::RetryDetection, base::Unretained(this)));
+ if (create_notification_controller) {
+ notification_controller_.reset(
+ new NetworkPortalNotificationController(this));
+ notification_controller_->set_retry_detection_callback(
+ base::Bind(&NetworkPortalDetectorImpl::RetryDetection,
+ weak_factory_.GetWeakPtr()));
+ }
registrar_.Add(this,
chrome::NOTIFICATION_LOGIN_PROXY_CHANGED,
@@ -337,14 +343,14 @@ void NetworkPortalDetectorImpl::SetStrategy(
}
void NetworkPortalDetectorImpl::OnLockScreenRequest() {
- notification_controller_.CloseDialog();
+ if (notification_controller_)
+ notification_controller_->CloseDialog();
}
void NetworkPortalDetectorImpl::DefaultNetworkChanged(
const NetworkState* default_network) {
DCHECK(CalledOnValidThread());
- notification_controller_.DefaultNetworkChanged(default_network);
if (!default_network) {
NET_LOG(EVENT) << "Default network changed: None";
@@ -354,7 +360,7 @@ void NetworkPortalDetectorImpl::DefaultNetworkChanged(
CaptivePortalState state;
state.status = CAPTIVE_PORTAL_STATUS_OFFLINE;
- OnDetectionCompleted(NULL, state);
+ OnDetectionCompleted(nullptr, state);
return;
}
@@ -608,7 +614,6 @@ void NetworkPortalDetectorImpl::NotifyDetectionCompleted(
const CaptivePortalState& state) {
FOR_EACH_OBSERVER(
Observer, observers_, OnPortalDetectionCompleted(network, state));
- notification_controller_.OnPortalDetectionCompleted(network, state);
}
bool NetworkPortalDetectorImpl::AttemptTimeoutIsCancelledForTesting() const {

Powered by Google App Engine
This is Rietveld 408576698