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

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

Issue 1346843003: Refactor NetworkPortalDetector and NetworkPortalNotificationController. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_notification_controller.h" 5 #include "chrome/browser/chromeos/net/network_portal_notification_controller.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/system/system_notifier.h" 10 #include "ash/system/system_notifier.h"
(...skipping 18 matching lines...) Expand all
29 #include "chrome/browser/chromeos/profiles/profile_helper.h" 29 #include "chrome/browser/chromeos/profiles/profile_helper.h"
30 #include "chrome/browser/profiles/profile_manager.h" 30 #include "chrome/browser/profiles/profile_manager.h"
31 #include "chrome/browser/ui/browser_dialogs.h" 31 #include "chrome/browser/ui/browser_dialogs.h"
32 #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" 32 #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
33 #include "chrome/browser/ui/singleton_tabs.h" 33 #include "chrome/browser/ui/singleton_tabs.h"
34 #include "chrome/common/pref_names.h" 34 #include "chrome/common/pref_names.h"
35 #include "chrome/grit/generated_resources.h" 35 #include "chrome/grit/generated_resources.h"
36 #include "chrome/grit/theme_resources.h" 36 #include "chrome/grit/theme_resources.h"
37 #include "chromeos/chromeos_switches.h" 37 #include "chromeos/chromeos_switches.h"
38 #include "chromeos/network/network_state.h" 38 #include "chromeos/network/network_state.h"
39 #include "chromeos/network/network_state_handler.h"
39 #include "chromeos/network/network_type_pattern.h" 40 #include "chromeos/network/network_type_pattern.h"
40 #include "components/captive_portal/captive_portal_detector.h" 41 #include "components/captive_portal/captive_portal_detector.h"
41 #include "components/user_manager/user_manager.h" 42 #include "components/user_manager/user_manager.h"
42 #include "extensions/browser/api/networking_config/networking_config_service.h" 43 #include "extensions/browser/api/networking_config/networking_config_service.h"
43 #include "extensions/browser/api/networking_config/networking_config_service_fac tory.h" 44 #include "extensions/browser/api/networking_config/networking_config_service_fac tory.h"
44 #include "third_party/cros_system_api/dbus/service_constants.h" 45 #include "third_party/cros_system_api/dbus/service_constants.h"
45 #include "ui/base/l10n/l10n_util.h" 46 #include "ui/base/l10n/l10n_util.h"
46 #include "ui/base/resource/resource_bundle.h" 47 #include "ui/base/resource/resource_bundle.h"
47 #include "ui/message_center/message_center.h" 48 #include "ui/message_center/message_center.h"
48 #include "ui/message_center/notification.h" 49 #include "ui/message_center/notification.h"
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 "chrome://net/network_portal_detector"; 229 "chrome://net/network_portal_detector";
229 230
230 // static 231 // static
231 const char NetworkPortalNotificationController::kNotificationMetric[] = 232 const char NetworkPortalNotificationController::kNotificationMetric[] =
232 "CaptivePortal.Notification.Status"; 233 "CaptivePortal.Notification.Status";
233 234
234 // static 235 // static
235 const char NetworkPortalNotificationController::kUserActionMetric[] = 236 const char NetworkPortalNotificationController::kUserActionMetric[] =
236 "CaptivePortal.Notification.UserAction"; 237 "CaptivePortal.Notification.UserAction";
237 238
238 NetworkPortalNotificationController::NetworkPortalNotificationController() 239 NetworkPortalNotificationController::NetworkPortalNotificationController(
239 : dialog_(nullptr), 240 NetworkPortalDetector* network_portal_detector)
240 ignore_no_network_for_testing_(false), 241 : network_portal_detector_(network_portal_detector), weak_factory_(this) {
241 weak_factory_(this) {} 242 if (NetworkHandler::IsInitialized()) {
stevenjb 2015/09/17 20:45:53 This should probably be a DCHECK, it would be bad
achuithb 2015/09/17 22:03:33 It's NULL for unit tests. I've added a comment.
243 NetworkHandler::Get()->network_state_handler()->AddObserver(this,
244 FROM_HERE);
245 }
246 if (network_portal_detector_)
247 network_portal_detector_->AddObserver(this);
248 }
242 249
243 NetworkPortalNotificationController::~NetworkPortalNotificationController() { 250 NetworkPortalNotificationController::~NetworkPortalNotificationController() {
251 if (network_portal_detector_)
252 network_portal_detector_->RemoveObserver(this);
253 if (NetworkHandler::IsInitialized()) {
254 NetworkHandler::Get()->network_state_handler()->RemoveObserver(this,
255 FROM_HERE);
256 }
244 } 257 }
245 258
246 void NetworkPortalNotificationController::DefaultNetworkChanged( 259 void NetworkPortalNotificationController::DefaultNetworkChanged(
247 const NetworkState* network) { 260 const NetworkState* network) {
248 if (!network) 261 if (!network)
249 return; 262 return;
250 Profile* profile = GetProfileForPrimaryUser(); 263 Profile* profile = GetProfileForPrimaryUser();
251 extensions::NetworkingConfigService* networking_config_service = 264 extensions::NetworkingConfigService* networking_config_service =
252 GetNetworkingConfigService(profile); 265 GetNetworkingConfigService(profile);
253 if (!networking_config_service) 266 if (!networking_config_service)
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 if (dialog_) 440 if (dialog_)
428 dialog_->Close(); 441 dialog_->Close();
429 } 442 }
430 443
431 const NetworkPortalWebDialog* 444 const NetworkPortalWebDialog*
432 NetworkPortalNotificationController::GetDialogForTesting() const { 445 NetworkPortalNotificationController::GetDialogForTesting() const {
433 return dialog_; 446 return dialog_;
434 } 447 }
435 448
436 } // namespace chromeos 449 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698