| Index: chrome/browser/chromeos/net/network_portal_notification_controller.cc
|
| diff --git a/chrome/browser/chromeos/net/network_portal_notification_controller.cc b/chrome/browser/chromeos/net/network_portal_notification_controller.cc
|
| index 1a56ac5323886f888abf4b38ce8923d265cce05a..fcf4817f0fa05a4f8af007b1b1f5939fbb573f34 100644
|
| --- a/chrome/browser/chromeos/net/network_portal_notification_controller.cc
|
| +++ b/chrome/browser/chromeos/net/network_portal_notification_controller.cc
|
| @@ -259,14 +259,6 @@ void NetworkPortalNotificationController::DefaultNetworkChanged(
|
| const NetworkState* network) {
|
| if (!network)
|
| return;
|
| -
|
| - bool network_changed = (default_network_id_ != network->guid());
|
| - default_network_id_ = network->guid();
|
| - if (!network_changed && network->connection_state() == shill::kStateOnline &&
|
| - dialog_) {
|
| - dialog_->Close();
|
| - }
|
| -
|
| Profile* profile = GetProfileForPrimaryUser();
|
| extensions::NetworkingConfigService* networking_config_service =
|
| GetNetworkingConfigService(profile);
|
| @@ -284,6 +276,16 @@ void NetworkPortalNotificationController::OnPortalDetectionCompleted(
|
| if (!network ||
|
| state.status != NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL) {
|
| last_network_guid_.clear();
|
| +
|
| + // In browser tests we initiate fake network portal detection, but network
|
| + // state usually stays connected. This way, after dialog is shown, it is
|
| + // immediately closed. The testing check below prevents dialog from closing.
|
| + if (dialog_ &&
|
| + (!ignore_no_network_for_testing_ ||
|
| + state.status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE)) {
|
| + dialog_->Close();
|
| + }
|
| +
|
| CloseNotification();
|
| return;
|
| }
|
| @@ -430,6 +432,10 @@ void NetworkPortalNotificationController::OnExtensionFinishedAuthentication() {
|
| retry_detection_callback_.Run();
|
| }
|
|
|
| +void NetworkPortalNotificationController::SetIgnoreNoNetworkForTesting() {
|
| + ignore_no_network_for_testing_ = true;
|
| +}
|
| +
|
| void NetworkPortalNotificationController::CloseDialog() {
|
| if (dialog_)
|
| dialog_->Close();
|
|
|