summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/options
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/options')
-rw-r--r--chrome/browser/chromeos/options/network_config_view.cc9
-rw-r--r--chrome/browser/chromeos/options/network_config_view.h4
2 files changed, 10 insertions, 3 deletions
diff --git a/chrome/browser/chromeos/options/network_config_view.cc b/chrome/browser/chromeos/options/network_config_view.cc
index e3ea604..d854954 100644
--- a/chrome/browser/chromeos/options/network_config_view.cc
+++ b/chrome/browser/chromeos/options/network_config_view.cc
@@ -89,13 +89,16 @@ bool NetworkConfigView::Cancel() {
}
bool NetworkConfigView::Accept() {
+ bool result = true;
if (flags_ & FLAG_WIFI) {
if (flags_ & FLAG_LOGIN_ONLY)
- return wificonfig_view_->Login();
+ result = wificonfig_view_->Login();
else
- return wificonfig_view_->Save();
+ result = wificonfig_view_->Save();
}
- return true;
+ if (result && delegate_)
+ delegate_->OnDialogAccepted();
+ return result;
}
std::wstring NetworkConfigView::GetWindowTitle() const {
diff --git a/chrome/browser/chromeos/options/network_config_view.h b/chrome/browser/chromeos/options/network_config_view.h
index 6a2653e..9a3b771 100644
--- a/chrome/browser/chromeos/options/network_config_view.h
+++ b/chrome/browser/chromeos/options/network_config_view.h
@@ -30,8 +30,12 @@ class NetworkConfigView : public views::View,
public:
class Delegate {
public:
+ // Called when dialog "OK" button is pressed.
+ virtual void OnDialogAccepted() = 0;
+
// Called when dialog "Cancel" button is pressed.
virtual void OnDialogCancelled() = 0;
+
protected:
virtual ~Delegate() {}
};