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 3b825d41ace5afee005bc791c9e1c29eeabb44f0..1d279af90f09185193793ab7f505cbd1d043f291 100644 |
--- a/chrome/browser/chromeos/net/network_portal_notification_controller.h |
+++ b/chrome/browser/chromeos/net/network_portal_notification_controller.h |
@@ -8,13 +8,16 @@ |
#include <string> |
#include "base/macros.h" |
+#include "base/memory/weak_ptr.h" |
#include "chromeos/network/portal_detector/network_portal_detector.h" |
namespace chromeos { |
class NetworkState; |
+class NetworkPortalWebDialog; |
-class NetworkPortalNotificationController { |
+class NetworkPortalNotificationController |
+ : public base::SupportsWeakPtr<NetworkPortalNotificationController> { |
public: |
// The values of these metrics are being used for UMA gathering, so it is |
// important that they don't change between releases. |
@@ -47,10 +50,19 @@ class NetworkPortalNotificationController { |
const NetworkState* network, |
const NetworkPortalDetector::CaptivePortalState& state); |
+ // Creates NetworkPortalWebDialog. |
+ void ShowDialog(); |
+ |
+ // NULLifies reference to the active dialog. |
+ void OnDialogDestroyed(const NetworkPortalWebDialog* dialog); |
+ |
private: |
// Last network path for which notification was displayed. |
std::string last_network_path_; |
+ // Currently displayed authorization dialog, or NULL if none. |
+ NetworkPortalWebDialog* dialog_; |
+ |
DISALLOW_COPY_AND_ASSIGN(NetworkPortalNotificationController); |
}; |