Index: chrome/browser/chromeos/status/network_menu_button.cc |
diff --git a/chrome/browser/chromeos/status/network_menu_button.cc b/chrome/browser/chromeos/status/network_menu_button.cc |
index 8c758f6485e00de2b3795d379edbfda9175de623..f15ebd1b239cbbf64085710bb30b680166ecce4b 100644 |
--- a/chrome/browser/chromeos/status/network_menu_button.cc |
+++ b/chrome/browser/chromeos/status/network_menu_button.cc |
@@ -20,7 +20,7 @@ |
#include "chrome/browser/chromeos/login/user_manager.h" |
#include "chrome/browser/chromeos/options/network_config_view.h" |
#include "chrome/browser/chromeos/sim_dialog_delegate.h" |
-#include "chrome/browser/chromeos/status/status_area_host.h" |
+#include "chrome/browser/chromeos/view_ids.h" |
#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/browser.h" |
@@ -96,14 +96,17 @@ namespace chromeos { |
//////////////////////////////////////////////////////////////////////////////// |
// NetworkMenuButton |
-NetworkMenuButton::NetworkMenuButton(StatusAreaHost* host) |
- : StatusAreaButton(host, this), |
+NetworkMenuButton::NetworkMenuButton( |
+ StatusAreaButton::Delegate* delegate, |
+ StatusAreaViewChromeos::ScreenMode screen_mode) |
+ : StatusAreaButton(delegate, this), |
mobile_data_bubble_(NULL), |
is_browser_mode_(false), |
check_for_promo_(true), |
was_sim_locked_(false), |
ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { |
- is_browser_mode_ = (host->GetScreenMode() == StatusAreaHost::kBrowserMode); |
+ set_id(VIEW_ID_STATUS_BUTTON_NETWORK_MENU); |
+ is_browser_mode_ = (screen_mode == StatusAreaViewChromeos::BROWSER_MODE); |
network_menu_.reset(new NetworkMenu(this, is_browser_mode_)); |
network_icon_.reset( |
new NetworkMenuIcon(this, NetworkMenuIcon::MENU_MODE)); |
@@ -194,15 +197,18 @@ views::MenuButton* NetworkMenuButton::GetMenuButton() { |
} |
gfx::NativeWindow NetworkMenuButton::GetNativeWindow() const { |
- return host_->GetNativeWindow(); |
+ // This must always have a parent, which must have a widget ancestor. |
+ return parent()->GetWidget()->GetNativeWindow(); |
} |
void NetworkMenuButton::OpenButtonOptions() { |
- host_->OpenButtonOptions(this); |
+ delegate()->ExecuteStatusAreaCommand( |
+ this, StatusAreaViewChromeos::SHOW_NETWORK_OPTIONS); |
} |
bool NetworkMenuButton::ShouldOpenButtonOptions() const { |
- return host_->ShouldOpenButtonOptions(this); |
+ return delegate()->ShouldExecuteStatusAreaCommand( |
+ this, StatusAreaViewChromeos::SHOW_NETWORK_OPTIONS); |
} |
//////////////////////////////////////////////////////////////////////////////// |