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

Unified Diff: chrome/browser/chromeos/net/network_portal_notification_controller.h

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_notification_controller.h
diff --git a/chrome/browser/chromeos/net/network_portal_notification_controller.h b/chrome/browser/chromeos/net/network_portal_notification_controller.h
index a4992b075eb391e6a7454496abba6a60ad911a76..e2dd8f912224410830d2918e8beb79b4860642b1 100644
--- a/chrome/browser/chromeos/net/network_portal_notification_controller.h
+++ b/chrome/browser/chromeos/net/network_portal_notification_controller.h
@@ -9,22 +9,24 @@
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
+#include "chromeos/network/network_state_handler_observer.h"
#include "chromeos/network/portal_detector/network_portal_detector.h"
#include "ui/message_center/notification.h"
namespace extensions {
-
class Extension;
class NetworkingConfigService;
-
-} // namespace extensions
+}
namespace chromeos {
class NetworkState;
class NetworkPortalWebDialog;
+class NetworkPortalNotificationControllerTest;
-class NetworkPortalNotificationController {
+class NetworkPortalNotificationController
+ : public NetworkStateHandlerObserver,
+ public NetworkPortalDetector::Observer {
public:
// The values of these metrics are being used for UMA gathering, so it is
// important that they don't change between releases.
@@ -53,8 +55,9 @@ class NetworkPortalNotificationController {
static const char kNotificationMetric[];
static const char kUserActionMetric[];
- NetworkPortalNotificationController();
- ~NetworkPortalNotificationController();
+ explicit NetworkPortalNotificationController(
+ NetworkPortalDetector* network_portal_dectector);
+ ~NetworkPortalNotificationController() override;
// |retry_detection_callback| will be called if the controller learns about a
// potential change of the captive portal (e.g. if an extension notifies about
@@ -66,12 +69,6 @@ class NetworkPortalNotificationController {
retry_detection_callback_ = retry_detection_callback;
}
- void DefaultNetworkChanged(const NetworkState* network);
-
- void OnPortalDetectionCompleted(
- const NetworkState* network,
- const NetworkPortalDetector::CaptivePortalState& state);
-
// Creates NetworkPortalWebDialog.
void ShowDialog();
@@ -93,6 +90,8 @@ class NetworkPortalNotificationController {
const NetworkPortalWebDialog* GetDialogForTesting() const;
private:
+ friend NetworkPortalNotificationControllerTest;
+
// Creates the default notification informing the user that a captive portal
// has been detected. On click the captive portal login page is opened in the
// browser.
@@ -116,14 +115,25 @@ class NetworkPortalNotificationController {
const NetworkState* network,
const NetworkPortalDetector::CaptivePortalState& state);
+ // NetworkStateHandlerObserver:
+ void DefaultNetworkChanged(const NetworkState* network) override;
+
+ // NetworkPortalDetector::Observer:
+ void OnPortalDetectionCompleted(
+ const NetworkState* network,
+ const NetworkPortalDetector::CaptivePortalState& state) override;
+
// Last network path for which notification was displayed.
std::string last_network_path_;
+ // Backpointer to owner.
+ NetworkPortalDetector* network_portal_detector_ = nullptr;
+
// Currently displayed authorization dialog, or NULL if none.
- NetworkPortalWebDialog* dialog_;
+ NetworkPortalWebDialog* dialog_ = nullptr;
// Do not close Portal Login dialog on "No network" error in browser tests.
- bool ignore_no_network_for_testing_;
+ bool ignore_no_network_for_testing_ = false;
// This is called if the controller learns about a potential change of the
// captive portal.

Powered by Google App Engine
This is Rietveld 408576698