summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 03:12:12 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 03:12:12 +0000
commitcae97656821756121ae569faa1100963c8b5d4d2 (patch)
tree244ffc6a91916c8f81889deec8e3aa6090fb3227
parent9bbb5c279cb33ee4ce45c8fe0c03e022f158a159 (diff)
downloadchromium_src-cae97656821756121ae569faa1100963c8b5d4d2.zip
chromium_src-cae97656821756121ae569faa1100963c8b5d4d2.tar.gz
chromium_src-cae97656821756121ae569faa1100963c8b5d4d2.tar.bz2
Move a lot of ChromeOS stuff out of Browser and onto various Ash-related helpers.
BUG=none TEST=none TBR=davemoore Review URL: https://chromiumcodereview.appspot.com/10035061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133138 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ash/accelerators/accelerator_controller.cc21
-rw-r--r--ash/accelerators/accelerator_table.cc3
-rw-r--r--ash/accelerators/accelerator_table.h3
-rw-r--r--ash/shell/shell_delegate_impl.cc14
-rw-r--r--ash/shell/shell_delegate_impl.h6
-rw-r--r--ash/shell_delegate.h20
-rw-r--r--ash/test/test_shell_delegate.cc14
-rw-r--r--ash/test/test_shell_delegate.h6
-rw-r--r--chrome/app/chrome_command_ids.h6
-rw-r--r--chrome/browser/browser_commands_unittest.cc35
-rw-r--r--chrome/browser/chromeos/network_message_observer.cc6
-rw-r--r--chrome/browser/chromeos/offline/offline_load_page.cc6
-rw-r--r--chrome/browser/chromeos/status/network_menu.cc6
-rw-r--r--chrome/browser/chromeos/system/ash_system_tray_delegate.cc19
-rw-r--r--chrome/browser/ui/browser.cc141
-rw-r--r--chrome/browser/ui/browser.h15
-rw-r--r--chrome/browser/ui/browser_window.h3
-rw-r--r--chrome/browser/ui/toolbar/wrench_menu_model.cc3
-rw-r--r--chrome/browser/ui/views/accelerator_table.cc10
-rw-r--r--chrome/browser/ui/views/ash/chrome_shell_delegate.cc91
-rw-r--r--chrome/browser/ui/views/ash/chrome_shell_delegate.h8
-rw-r--r--chrome/browser/ui/views/frame/browser_view.cc7
-rw-r--r--chrome/browser/ui/views/frame/browser_view.h1
-rw-r--r--chrome/browser/ui/webui/feedback_ui.cc9
-rw-r--r--chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc11
25 files changed, 199 insertions, 265 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index a72c7d2..0af9e59 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -110,18 +110,17 @@ void HandleCycleWindowLinear(ash::WindowCycleController::Direction direction) {
#if defined(OS_CHROMEOS)
bool HandleLock() {
- ash::ShellDelegate* delegate = ash::Shell::GetInstance()->delegate();
- if (!delegate)
- return false;
- delegate->LockScreen();
+ ash::Shell::GetInstance()->delegate()->LockScreen();
return true;
}
bool HandleFileManager() {
- ash::ShellDelegate* delegate = ash::Shell::GetInstance()->delegate();
- if (!delegate)
- return false;
- delegate->OpenFileManager();
+ ash::Shell::GetInstance()->delegate()->OpenFileManager();
+ return true;
+}
+
+bool HandleCrosh() {
+ ash::Shell::GetInstance()->delegate()->OpenCrosh();
return true;
}
#endif
@@ -346,6 +345,8 @@ bool AcceleratorController::AcceleratorPressed(
return HandleLock();
case OPEN_FILE_MANAGER:
return HandleFileManager();
+ case OPEN_CROSH:
+ return HandleCrosh();
#endif
case EXIT:
return HandleExit();
@@ -367,8 +368,8 @@ bool AcceleratorController::AcceleratorPressed(
// Return true to prevent propagation of the key event because
// this key combination is reserved for partial screenshot.
return true;
- case TOGGLE_APP_LIST:
- ash::Shell::GetInstance()->ToggleAppList();
+ case SEARCH_KEY:
+ ash::Shell::GetInstance()->delegate()->Search();
break;
case TOGGLE_CAPS_LOCK:
if (caps_lock_delegate_.get())
diff --git a/ash/accelerators/accelerator_table.cc b/ash/accelerators/accelerator_table.cc
index cf841b3..47690f9 100644
--- a/ash/accelerators/accelerator_table.cc
+++ b/ash/accelerators/accelerator_table.cc
@@ -39,6 +39,7 @@ const AcceleratorData kAcceleratorData[] = {
{ ui::ET_TRANSLATED_KEY_PRESS, ui::VKEY_L, true, true, false, LOCK_SCREEN },
{ ui::ET_TRANSLATED_KEY_PRESS, ui::VKEY_M, false, true, false,
OPEN_FILE_MANAGER },
+ { ui::ET_TRANSLATED_KEY_PRESS, ui::VKEY_T, false, true, true, OPEN_CROSH },
#endif
{ ui::ET_TRANSLATED_KEY_PRESS, ui::VKEY_Q, true, true, false, EXIT },
{ ui::ET_TRANSLATED_KEY_PRESS, ui::VKEY_N, true, true, false,
@@ -54,7 +55,7 @@ const AcceleratorData kAcceleratorData[] = {
TAKE_SCREENSHOT },
// On Chrome OS, Search key is mapped to LWIN.
{ ui::ET_TRANSLATED_KEY_PRESS, ui::VKEY_LWIN, false, true, false,
- TOGGLE_APP_LIST },
+ SEARCH_KEY },
{ ui::ET_TRANSLATED_KEY_PRESS, ui::VKEY_LWIN, true, false, false,
TOGGLE_CAPS_LOCK },
{ ui::ET_TRANSLATED_KEY_PRESS, ui::VKEY_F6, false, false, false,
diff --git a/ash/accelerators/accelerator_table.h b/ash/accelerators/accelerator_table.h
index a960eee..1c072a3 100644
--- a/ash/accelerators/accelerator_table.h
+++ b/ash/accelerators/accelerator_table.h
@@ -25,7 +25,7 @@ enum AcceleratorAction {
SWITCH_IME, // Switch to another IME depending on the accelerator.
TAKE_SCREENSHOT,
TAKE_PARTIAL_SCREENSHOT,
- TOGGLE_APP_LIST,
+ SEARCH_KEY,
TOGGLE_CAPS_LOCK,
VOLUME_DOWN,
VOLUME_MUTE,
@@ -35,6 +35,7 @@ enum AcceleratorAction {
#if defined(OS_CHROMEOS)
LOCK_SCREEN,
OPEN_FILE_MANAGER,
+ OPEN_CROSH,
#endif
SELECT_WIN_0,
SELECT_WIN_1,
diff --git a/ash/shell/shell_delegate_impl.cc b/ash/shell/shell_delegate_impl.cc
index 334e597..c2bfdc0 100644
--- a/ash/shell/shell_delegate_impl.cc
+++ b/ash/shell/shell_delegate_impl.cc
@@ -49,7 +49,7 @@ bool ShellDelegateImpl::IsScreenLocked() const {
return locked_;
}
-void ShellDelegateImpl::OpenFileManager() {
+void ShellDelegateImpl::Shutdown() {
}
void ShellDelegateImpl::Exit() {
@@ -63,6 +63,18 @@ void ShellDelegateImpl::NewWindow(bool incognito) {
ash::shell::ToplevelWindow::CreateToplevelWindow(create_params);
}
+void ShellDelegateImpl::Search() {
+}
+
+void ShellDelegateImpl::OpenFileManager() {
+}
+
+void ShellDelegateImpl::OpenCrosh() {
+}
+
+void ShellDelegateImpl::OpenMobileSetup() {
+}
+
ash::AppListViewDelegate* ShellDelegateImpl::CreateAppListViewDelegate() {
return ash::shell::CreateAppListViewDelegate();
}
diff --git a/ash/shell/shell_delegate_impl.h b/ash/shell/shell_delegate_impl.h
index b0709f6..b3905e0 100644
--- a/ash/shell/shell_delegate_impl.h
+++ b/ash/shell/shell_delegate_impl.h
@@ -26,9 +26,13 @@ class ShellDelegateImpl : public ash::ShellDelegate {
virtual void LockScreen() OVERRIDE;
virtual void UnlockScreen() OVERRIDE;
virtual bool IsScreenLocked() const OVERRIDE;
- virtual void OpenFileManager() OVERRIDE;
+ virtual void Shutdown() OVERRIDE;
virtual void Exit() OVERRIDE;
virtual void NewWindow(bool incognito) OVERRIDE;
+ virtual void Search() OVERRIDE;
+ virtual void OpenFileManager() OVERRIDE;
+ virtual void OpenCrosh() OVERRIDE;
+ virtual void OpenMobileSetup() OVERRIDE;
virtual ash::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
virtual void StartPartialScreenshot(
ash::ScreenshotDelegate* screenshot_delegate) OVERRIDE;
diff --git a/ash/shell_delegate.h b/ash/shell_delegate.h
index bf687fd..0a86aa3 100644
--- a/ash/shell_delegate.h
+++ b/ash/shell_delegate.h
@@ -50,15 +50,27 @@ class ASH_EXPORT ShellDelegate {
// Returns true if the screen is currently locked.
virtual bool IsScreenLocked() const = 0;
- // Invoked when a user uses Ctrl-M to open file manager.
- virtual void OpenFileManager() = 0;
+ // Shuts down the environment.
+ virtual void Shutdown() = 0;
- // Invoked when a user uses Ctrl-Shift-Q to close chrome.
+ // Invoked when the user uses Ctrl-Shift-Q to close chrome.
virtual void Exit() = 0;
- // Invoked when a user uses Ctrl-N or Ctrl-Shift-N to open a new window.
+ // Invoked when the user uses Ctrl-N or Ctrl-Shift-N to open a new window.
virtual void NewWindow(bool incognito) = 0;
+ // Invoked when the user presses the Search key.
+ virtual void Search() = 0;
+
+ // Invoked when the user uses Ctrl-M to open file manager.
+ virtual void OpenFileManager() = 0;
+
+ // Invoked when the user opens Crosh.
+ virtual void OpenCrosh() = 0;
+
+ // Invoked when the user needs to set up mobile networking.
+ virtual void OpenMobileSetup() = 0;
+
// Invoked to create an AppListViewDelegate. Shell takes the ownership of
// the created delegate.
virtual AppListViewDelegate* CreateAppListViewDelegate() = 0;
diff --git a/ash/test/test_shell_delegate.cc b/ash/test/test_shell_delegate.cc
index d24d34b..f3dbea5 100644
--- a/ash/test/test_shell_delegate.cc
+++ b/ash/test/test_shell_delegate.cc
@@ -38,7 +38,7 @@ bool TestShellDelegate::IsScreenLocked() const {
return locked_;
}
-void TestShellDelegate::OpenFileManager() {
+void TestShellDelegate::Shutdown() {
}
void TestShellDelegate::Exit() {
@@ -47,6 +47,18 @@ void TestShellDelegate::Exit() {
void TestShellDelegate::NewWindow(bool incognito) {
}
+void TestShellDelegate::Search() {
+}
+
+void TestShellDelegate::OpenFileManager() {
+}
+
+void TestShellDelegate::OpenCrosh() {
+}
+
+void TestShellDelegate::OpenMobileSetup() {
+}
+
AppListViewDelegate* TestShellDelegate::CreateAppListViewDelegate() {
return NULL;
}
diff --git a/ash/test/test_shell_delegate.h b/ash/test/test_shell_delegate.h
index 0751126..1788a4a 100644
--- a/ash/test/test_shell_delegate.h
+++ b/ash/test/test_shell_delegate.h
@@ -22,9 +22,13 @@ class TestShellDelegate : public ShellDelegate {
virtual void LockScreen() OVERRIDE;
virtual void UnlockScreen() OVERRIDE;
virtual bool IsScreenLocked() const OVERRIDE;
- virtual void OpenFileManager() OVERRIDE;
+ virtual void Shutdown() OVERRIDE;
virtual void Exit() OVERRIDE;
virtual void NewWindow(bool incognito) OVERRIDE;
+ virtual void Search() OVERRIDE;
+ virtual void OpenFileManager() OVERRIDE;
+ virtual void OpenCrosh() OVERRIDE;
+ virtual void OpenMobileSetup() OVERRIDE;
virtual AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
virtual void StartPartialScreenshot(
ScreenshotDelegate* screenshot_delegate) OVERRIDE;
diff --git a/chrome/app/chrome_command_ids.h b/chrome/app/chrome_command_ids.h
index 952f812..cc2dd2b 100644
--- a/chrome/app/chrome_command_ids.h
+++ b/chrome/app/chrome_command_ids.h
@@ -167,7 +167,6 @@
#define IDC_VIEW_BACKGROUND_PAGES 40025
#define IDC_SHOW_KEYBOARD_OVERLAY 40026
#define IDC_PROFILING_ENABLED 40027
-#define IDC_FILE_MANAGER 40028
#define IDC_BOOKMARKS_MENU 40029
#define IDC_SHOW_SYNC_SETUP 40030
#define IDC_EXTENSION_ERRORS 40031
@@ -216,11 +215,6 @@
// Identifiers for platform-specific items.
// Placed in a common file to help insure they never collide.
#define IDC_VIEW_MENU 44000 // OSX only
-#define IDC_INTERNET_OPTIONS 45100 // ChromeOS only
-#define IDC_LANGUAGE_OPTIONS 45200 // ChromeOS only
-#define IDC_LOCK_SCREEN 45300 // ChromeOS only
-#define IDC_SHUTDOWN 45400 // ChromeOS only
-#define IDC_NEW_CROSH_TAB 45500 // ChromeOS Aura only
#define IDC_HISTORY_MENU 46000 // OSX only
#define IDC_PROFILE_MAIN_MENU 46100 // OSX only
#define IDC_INPUT_METHODS_MENU 46300 // Linux only
diff --git a/chrome/browser/browser_commands_unittest.cc b/chrome/browser/browser_commands_unittest.cc
index ea4d148..0013670 100644
--- a/chrome/browser/browser_commands_unittest.cc
+++ b/chrome/browser/browser_commands_unittest.cc
@@ -176,38 +176,3 @@ TEST_F(BrowserCommandsTest, BackForwardInNewTab) {
ASSERT_EQ(url2, browser()->GetSelectedWebContents()->GetURL());
}
-// Tests IDC_SEARCH (the Search key on Chrome OS devices).
-#if defined(OS_CHROMEOS)
-
-namespace chromeos {
-
-TEST_F(BrowserCommandsTest, Search) {
- ScopedMockUserManagerEnabler mock_user_manager;
- EXPECT_CALL(*mock_user_manager.user_manager(), IsLoggedInAsGuest())
- .Times(1).WillRepeatedly(::testing::Return(false));
-
- // Load a non-NTP URL.
- GURL non_ntp_url("http://foo/");
- AddTab(browser(), non_ntp_url);
- ASSERT_EQ(1, browser()->tab_count());
- EXPECT_EQ(non_ntp_url, browser()->GetSelectedWebContents()->GetURL());
-
- // Pressing the Search key should open a new tab containing the NTP.
- browser()->Search();
- ASSERT_EQ(2, browser()->tab_count());
- ASSERT_EQ(1, browser()->active_index());
- GURL current_url = browser()->GetSelectedWebContents()->GetURL();
- EXPECT_TRUE(current_url.SchemeIs(chrome::kChromeUIScheme));
- EXPECT_EQ(chrome::kChromeUINewTabHost, current_url.host());
-
- // Pressing it a second time while the NTP is open shouldn't change anything.
- browser()->Search();
- ASSERT_EQ(2, browser()->tab_count());
- ASSERT_EQ(1, browser()->active_index());
- current_url = browser()->GetSelectedWebContents()->GetURL();
- EXPECT_TRUE(current_url.SchemeIs(chrome::kChromeUIScheme));
- EXPECT_EQ(chrome::kChromeUINewTabHost, current_url.host());
-}
-
-} // namespace chromeos
-#endif
diff --git a/chrome/browser/chromeos/network_message_observer.cc b/chrome/browser/chromeos/network_message_observer.cc
index 648cdc9..777ad7d 100644
--- a/chrome/browser/chromeos/network_message_observer.cc
+++ b/chrome/browser/chromeos/network_message_observer.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/chromeos/network_message_observer.h"
+#include "ash/shell.h"
+#include "ash/shell_delegate.h"
#include "base/bind.h"
#include "base/callback.h"
#include "base/stl_util.h"
@@ -79,9 +81,7 @@ bool NetworkMessageObserver::IsApplicableBackupPlan(
}
void NetworkMessageObserver::OpenMobileSetupPage(const ListValue* args) {
- Browser* browser = Browser::GetOrCreateTabbedBrowser(
- ProfileManager::GetDefaultProfileOrOffTheRecord());
- browser->OpenMobilePlanTabAndActivate();
+ ash::Shell::GetInstance()->delegate()->OpenMobileSetup();
}
void NetworkMessageObserver::OpenMoreInfoPage(const ListValue* args) {
diff --git a/chrome/browser/chromeos/offline/offline_load_page.cc b/chrome/browser/chromeos/offline/offline_load_page.cc
index e7bce3b..ac107da 100644
--- a/chrome/browser/chromeos/offline/offline_load_page.cc
+++ b/chrome/browser/chromeos/offline/offline_load_page.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/chromeos/offline/offline_load_page.h"
+#include "ash/shell.h"
+#include "ash/shell_delegate.h"
#include "base/i18n/rtl.h"
#include "base/metrics/histogram.h"
#include "base/string_piece.h"
@@ -189,9 +191,7 @@ void OfflineLoadPage::CommandReceived(const std::string& cmd) {
DCHECK(browser);
browser->ShowOptionsTab(chrome::kInternetOptionsSubPage);
} else if (command == "open_activate_broadband") {
- Browser* browser = BrowserList::GetLastActive();
- DCHECK(browser);
- browser->OpenMobilePlanTabAndActivate();
+ ash::Shell::GetInstance()->delegate()->OpenMobileSetup();
} else {
LOG(WARNING) << "Unknown command:" << cmd;
}
diff --git a/chrome/browser/chromeos/status/network_menu.cc b/chrome/browser/chromeos/status/network_menu.cc
index 689b629..c86323c 100644
--- a/chrome/browser/chromeos/status/network_menu.cc
+++ b/chrome/browser/chromeos/status/network_menu.cc
@@ -6,6 +6,8 @@
#include <algorithm>
+#include "ash/shell.h"
+#include "ash/shell_delegate.h"
#include "base/bind.h"
#include "base/command_line.h"
#include "base/logging.h"
@@ -94,9 +96,7 @@ void ActivateCellular(const chromeos::CellularNetwork* cellular) {
if (!chromeos::UserManager::Get()->IsUserLoggedIn())
return;
- Browser* browser = Browser::GetOrCreateTabbedBrowser(
- ProfileManager::GetDefaultProfileOrOffTheRecord());
- browser->OpenMobilePlanTabAndActivate();
+ ash::Shell::GetInstance()->delegate()->OpenMobileSetup();
}
// Decides whether a network should be highlighted in the UI.
diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
index 2ab63cf..1922b4c 100644
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
@@ -51,10 +51,12 @@
#include "chrome/browser/upgrade_detector.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/pref_names.h"
+#include "chrome/common/url_constants.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_manager_client.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_service.h"
+#include "content/public/browser/user_metrics.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
@@ -252,11 +254,16 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
}
virtual void ShowDateSettings() OVERRIDE {
- GetAppropriateBrowser()->ShowDateOptions();
+ content::RecordAction(content::UserMetricsAction("ShowDateOptions"));
+ std::string sub_page = std::string(chrome::kSearchSubPage) + "#" +
+ l10n_util::GetStringUTF8(IDS_OPTIONS_SETTINGS_SECTION_TITLE_DATETIME);
+ GetAppropriateBrowser()->ShowOptionsTab(sub_page);
}
virtual void ShowNetworkSettings() OVERRIDE {
- GetAppropriateBrowser()->OpenInternetOptionsDialog();
+ content::RecordAction(
+ content::UserMetricsAction("OpenInternetOptionsDialog"));
+ GetAppropriateBrowser()->ShowOptionsTab(chrome::kInternetOptionsSubPage);
}
virtual void ShowBluetoothSettings() OVERRIDE {
@@ -264,7 +271,9 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
}
virtual void ShowIMESettings() OVERRIDE {
- GetAppropriateBrowser()->OpenLanguageOptionsDialog();
+ content::RecordAction(
+ content::UserMetricsAction("OpenLanguageOptionsDialog"));
+ GetAppropriateBrowser()->ShowOptionsTab(chrome::kLanguageOptionsSubPage);
}
virtual void ShowHelp() OVERRIDE {
@@ -524,7 +533,9 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
virtual void AddBluetoothDevice() OVERRIDE {
// Open the Bluetooth device dialog, which automatically starts the
// discovery process.
- GetAppropriateBrowser()->OpenAddBluetoothDeviceDialog();
+ content::RecordAction(
+ content::UserMetricsAction("OpenAddBluetoothDeviceDialog"));
+ GetAppropriateBrowser()->ShowOptionsTab(chrome::kBluetoothAddDeviceSubPage);
}
virtual void ToggleAirplaneMode() OVERRIDE {
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 320b9c9..00aa19b 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -206,12 +206,6 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/boot_times_loader.h"
#include "chrome/browser/chromeos/gdata/gdata_util.h"
-#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
-#include "chromeos/dbus/dbus_thread_manager.h"
-#include "chromeos/dbus/power_manager_client.h"
-#if defined(USE_AURA)
-#include "chrome/browser/extensions/api/terminal/terminal_extension_helper.h"
-#endif
#endif
#if defined(USE_ASH)
@@ -220,10 +214,6 @@
#include "chrome/browser/ui/views/ash/panel_view_aura.h"
#endif
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/extensions/file_manager_util.h"
-#endif
-
using base::TimeDelta;
using content::NavigationController;
using content::NavigationEntry;
@@ -316,13 +306,8 @@ bool ParseCommaSeparatedIntegers(const std::string& str,
}
bool AllowPanels(const std::string& app_name) {
-#if (!defined(OS_CHROMEOS) || defined(USE_AURA))
- if (!PanelManager::ShouldUsePanels(
- web_app::GetExtensionIdFromApplicationName(app_name))) {
- return false;
- }
-#endif // !OS_CHROMEOS || USE_AURA
- return true;
+ return PanelManager::ShouldUsePanels(
+ web_app::GetExtensionIdFromApplicationName(app_name));
}
} // namespace
@@ -1152,8 +1137,8 @@ string16 Browser::GetWindowTitleForCurrentTab() const {
if (title.empty())
title = CoreTabHelper::GetDefaultTitle();
-#if defined(OS_MACOSX) || defined(OS_CHROMEOS)
- // On Mac or ChromeOS, we don't want to suffix the page title with
+#if defined(OS_MACOSX) || defined(USE_ASH)
+ // On Mac or Ash, we don't want to suffix the page title with
// the application name.
return title;
#else
@@ -1918,29 +1903,6 @@ void Browser::TogglePresentationMode() {
#endif
#if defined(OS_CHROMEOS)
-void Browser::Search() {
- // Exit fullscreen to show omnibox.
- if (window_->IsFullscreen()) {
- ToggleFullscreenMode();
- // ToggleFullscreenMode is asynchronous, so we don't have omnibox
- // visible at this point. Wait for next event cycle which toggles
- // the visibility of omnibox before creating new tab.
- MessageLoop::current()->PostTask(
- FROM_HERE, base::Bind(&Browser::Search, weak_factory_.GetWeakPtr()));
- return;
- }
-
- const GURL& url = GetSelectedWebContents()->GetURL();
- if (url.SchemeIs(chrome::kChromeUIScheme) &&
- url.host() == chrome::kChromeUINewTabHost) {
- // If the NTP is showing, focus the omnibox.
- window_->SetFocusToLocationBar(true);
- } else {
- // Otherwise, open the NTP.
- NewTab();
- }
-}
-
void Browser::ShowKeyboardOverlay() {
window_->ShowKeyboardOverlay(window_->GetNativeHandle());
}
@@ -2492,79 +2454,6 @@ void Browser::OpenSearchEngineOptionsDialog() {
ShowOptionsTab(chrome::kSearchEnginesSubPage);
}
-#if defined(OS_CHROMEOS)
-void Browser::OpenFileManager() {
- file_manager_util::OpenApplication();
-}
-
-void Browser::LockScreen() {
- content::RecordAction(UserMetricsAction("LockScreen"));
- // Never lock the screen for kiosk mode.
- if (chromeos::KioskModeSettings::Get()->IsKioskModeEnabled())
- return;
- chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
- NotifyScreenLockRequested();
-}
-
-void Browser::Shutdown() {
- content::RecordAction(UserMetricsAction("Shutdown"));
- chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
- RequestShutdown();
-}
-
-void Browser::ShowDateOptions() {
- content::RecordAction(UserMetricsAction("ShowDateOptions"));
- std::string sub_page = std::string(chrome::kSearchSubPage) + "#" +
- l10n_util::GetStringUTF8(IDS_OPTIONS_SETTINGS_SECTION_TITLE_DATETIME);
- ShowOptionsTab(sub_page);
-}
-
-void Browser::OpenInternetOptionsDialog() {
- content::RecordAction(UserMetricsAction("OpenInternetOptionsDialog"));
- ShowOptionsTab(chrome::kInternetOptionsSubPage);
-}
-
-void Browser::OpenLanguageOptionsDialog() {
- content::RecordAction(UserMetricsAction("OpenLanguageOptionsDialog"));
- ShowOptionsTab(chrome::kLanguageOptionsSubPage);
-}
-
-void Browser::OpenSystemTabAndActivate() {
- OpenURL(OpenURLParams(
- GURL(chrome::kChromeUISystemInfoURL), Referrer(), NEW_FOREGROUND_TAB,
- content::PAGE_TRANSITION_LINK, false));
- window_->Activate();
-}
-
-void Browser::OpenMobilePlanTabAndActivate() {
- if (CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableMobileSetupDialog)) {
- window_->ShowMobileSetup();
- } else {
- OpenURL(OpenURLParams(
- GURL(chrome::kChromeUIMobileSetupURL), Referrer(), NEW_FOREGROUND_TAB,
- content::PAGE_TRANSITION_LINK, false));
- window_->Activate();
- }
-}
-
-void Browser::OpenAddBluetoothDeviceDialog() {
- content::RecordAction(UserMetricsAction("OpenAddBluetoothDeviceDialog"));
- ShowOptionsTab(chrome::kBluetoothAddDeviceSubPage);
-}
-#endif // defined(OS_CHROMEOS)
-
-#if defined(OS_CHROMEOS) && defined(USE_AURA)
-void Browser::OpenCrosh() {
- GURL crosh_url = TerminalExtensionHelper::GetCroshExtensionURL(profile_);
- if (!crosh_url.is_valid())
- return;
- OpenURL(OpenURLParams(crosh_url, Referrer(), NEW_FOREGROUND_TAB,
- content::PAGE_TRANSITION_GENERATED,
- false));
-}
-#endif
-
void Browser::OpenPluginsTabAndActivate() {
OpenURL(OpenURLParams(
GURL(chrome::kChromeUIPluginsURL), Referrer(), NEW_FOREGROUND_TAB,
@@ -3074,7 +2963,6 @@ void Browser::ExecuteCommandWithDisposition(
#endif
case IDC_EXIT: Exit(); break;
#if defined(OS_CHROMEOS)
- case IDC_SEARCH: Search(); break;
case IDC_SHOW_KEYBOARD_OVERLAY: ShowKeyboardOverlay(); break;
#endif
@@ -3184,16 +3072,6 @@ void Browser::ExecuteCommandWithDisposition(
case IDC_UPGRADE_DIALOG: OpenUpdateChromeDialog(); break;
case IDC_VIEW_INCOMPATIBILITIES: ShowAboutConflictsTab(); break;
case IDC_HELP_PAGE: ShowHelpTab(); break;
-#if defined(OS_CHROMEOS)
- case IDC_LOCK_SCREEN: LockScreen(); break;
- case IDC_SHUTDOWN: Shutdown(); break;
- case IDC_FILE_MANAGER: OpenFileManager(); break;
- case IDC_INTERNET_OPTIONS: OpenInternetOptionsDialog(); break;
- case IDC_LANGUAGE_OPTIONS: OpenLanguageOptionsDialog(); break;
-#endif
-#if defined(OS_CHROMEOS) && defined(USE_AURA)
- case IDC_NEW_CROSH_TAB: OpenCrosh(); break;
-#endif
case IDC_SHOW_SYNC_SETUP: ShowSyncSetup(SyncPromoUI::SOURCE_MENU);
break;
case IDC_TOGGLE_SPEECH_INPUT: ToggleSpeechInput(); break;
@@ -4618,9 +4496,6 @@ void Browser::InitCommandState() {
// Window management commands
command_updater_.UpdateCommandEnabled(IDC_CLOSE_WINDOW, true);
command_updater_.UpdateCommandEnabled(IDC_NEW_TAB, true);
-#if defined(OS_CHROMEOS) && defined(USE_AURA)
- command_updater_.UpdateCommandEnabled(IDC_NEW_CROSH_TAB, true);
-#endif
command_updater_.UpdateCommandEnabled(IDC_CLOSE_TAB, true);
command_updater_.UpdateCommandEnabled(IDC_DUPLICATE_TAB, true);
command_updater_.UpdateCommandEnabled(IDC_RESTORE_TAB, false);
@@ -4685,15 +4560,7 @@ void Browser::InitCommandState() {
command_updater_.UpdateCommandEnabled(IDC_BOOKMARKS_MENU, true);
#if defined(OS_CHROMEOS)
- // Don't allow screen lock for guest sessions.
- command_updater_.UpdateCommandEnabled(
- IDC_LOCK_SCREEN,
- !CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession));
- command_updater_.UpdateCommandEnabled(IDC_SHUTDOWN, true);
- command_updater_.UpdateCommandEnabled(IDC_FILE_MANAGER, true);
- command_updater_.UpdateCommandEnabled(IDC_SEARCH, true);
command_updater_.UpdateCommandEnabled(IDC_SHOW_KEYBOARD_OVERLAY, true);
- command_updater_.UpdateCommandEnabled(IDC_INTERNET_OPTIONS, true);
#endif
command_updater_.UpdateCommandEnabled(
IDC_SHOW_SYNC_SETUP, profile_->GetOriginalProfile()->IsSyncAccessible());
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index 376be7f..8477198 100644
--- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h
@@ -579,7 +579,6 @@ class Browser : public TabHandlerDelegate,
#endif
void Exit();
#if defined(OS_CHROMEOS)
- void Search();
void ShowKeyboardOverlay();
#endif
@@ -670,20 +669,6 @@ class Browser : public TabHandlerDelegate,
void OpenAutofillHelpTabAndActivate();
void OpenPrivacyDashboardTabAndActivate();
void OpenSearchEngineOptionsDialog();
-#if defined(OS_CHROMEOS)
- void OpenFileManager();
- void LockScreen();
- void Shutdown();
- void ShowDateOptions();
- void OpenInternetOptionsDialog();
- void OpenLanguageOptionsDialog();
- void OpenSystemTabAndActivate();
- void OpenMobilePlanTabAndActivate();
- void OpenAddBluetoothDeviceDialog();
-#endif
-#if defined(OS_CHROMEOS) && defined(USE_AURA)
- void OpenCrosh();
-#endif
void OpenPluginsTabAndActivate();
void ShowSyncSetup(SyncPromoUI::Source source);
void ToggleSpeechInput();
diff --git a/chrome/browser/ui/browser_window.h b/chrome/browser/ui/browser_window.h
index 6551c43..52e0794 100644
--- a/chrome/browser/ui/browser_window.h
+++ b/chrome/browser/ui/browser_window.h
@@ -329,9 +329,6 @@ class BrowserWindow : public BaseWindow {
virtual FindBar* CreateFindBar() = 0;
#if defined(OS_CHROMEOS)
- // Shows the mobile setup dialog.
- virtual void ShowMobileSetup() = 0;
-
// Shows the keyboard overlay dialog box.
virtual void ShowKeyboardOverlay(gfx::NativeWindow owning_window) = 0;
#endif
diff --git a/chrome/browser/ui/toolbar/wrench_menu_model.cc b/chrome/browser/ui/toolbar/wrench_menu_model.cc
index fd5b0e8..6e56ed7 100644
--- a/chrome/browser/ui/toolbar/wrench_menu_model.cc
+++ b/chrome/browser/ui/toolbar/wrench_menu_model.cc
@@ -169,9 +169,6 @@ void ToolsMenuModel::Build(Browser* browser) {
#endif
AddItemWithStringId(IDC_MANAGE_EXTENSIONS, IDS_SHOW_EXTENSIONS);
-#if defined(OS_CHROMEOS)
- AddItemWithStringId(IDC_FILE_MANAGER, IDS_FILE_MANAGER);
-#endif
AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER);
AddItemWithStringId(IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA);
diff --git a/chrome/browser/ui/views/accelerator_table.cc b/chrome/browser/ui/views/accelerator_table.cc
index 487133d..4613a92c 100644
--- a/chrome/browser/ui/views/accelerator_table.cc
+++ b/chrome/browser/ui/views/accelerator_table.cc
@@ -85,9 +85,6 @@ const AcceleratorMapping kAcceleratorMap[] = {
{ ui::VKEY_OEM_2, false, true, false, IDC_HELP_PAGE },
{ ui::VKEY_OEM_2, true, true, false, IDC_HELP_PAGE },
#endif
-#if defined(OS_CHROMEOS) && !defined(USE_AURA)
- { ui::VKEY_L, true, true, false, IDC_LOCK_SCREEN },
-#endif
{ ui::VKEY_I, true, true, false, IDC_DEV_TOOLS },
#if defined(OS_CHROMEOS)
{ ui::VKEY_I, true, false, true, IDC_FEEDBACK },
@@ -115,13 +112,6 @@ const AcceleratorMapping kAcceleratorMap[] = {
{ ui::VKEY_HOME, false, false, true, IDC_HOME },
{ ui::VKEY_T, true, true, false, IDC_RESTORE_TAB },
{ ui::VKEY_S, false, true, false, IDC_SAVE_PAGE },
-#if defined(OS_CHROMEOS) && defined(USE_AURA)
- { ui::VKEY_T, false, true, true, IDC_NEW_CROSH_TAB },
-#endif
-#if defined(OS_CHROMEOS)
- { ui::VKEY_M, false, true, false, IDC_FILE_MANAGER },
- { ui::VKEY_LWIN, false, false, false, IDC_SEARCH },
-#endif
{ ui::VKEY_9, false, true, false, IDC_SELECT_LAST_TAB },
{ ui::VKEY_NUMPAD9, false, true, false, IDC_SELECT_LAST_TAB },
{ ui::VKEY_TAB, false, true, false, IDC_SELECT_NEXT_TAB },
diff --git a/chrome/browser/ui/views/ash/chrome_shell_delegate.cc b/chrome/browser/ui/views/ash/chrome_shell_delegate.cc
index c81504b..65ce620 100644
--- a/chrome/browser/ui/views/ash/chrome_shell_delegate.cc
+++ b/chrome/browser/ui/views/ash/chrome_shell_delegate.cc
@@ -10,6 +10,7 @@
#include "ash/wm/window_util.h"
#include "base/command_line.h"
#include "chrome/browser/chromeos/login/screen_locker.h"
+#include "chrome/browser/extensions/api/terminal/terminal_extension_helper.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.h"
@@ -19,7 +20,11 @@
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_switches.h"
+#include "chrome/common/url_constants.h"
#include "content/public/browser/notification_service.h"
+#include "content/public/browser/user_metrics.h"
+#include "content/public/browser/web_contents.h"
+#include "grit/generated_resources.h"
#include "ui/aura/window.h"
#if defined(OS_CHROMEOS)
@@ -29,6 +34,7 @@
#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
#include "chrome/browser/chromeos/login/user_manager.h"
#include "chrome/browser/chromeos/system/ash_system_tray_delegate.h"
+#include "chrome/browser/ui/webui/chromeos/mobile_setup_dialog.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_manager_client.h"
#endif
@@ -37,7 +43,8 @@
ChromeShellDelegate* ChromeShellDelegate::instance_ = NULL;
ChromeShellDelegate::ChromeShellDelegate()
- : window_positioner_(new WindowPositioner()) {
+ : window_positioner_(new WindowPositioner()),
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
instance_ = this;
#if defined(OS_CHROMEOS)
registrar_.Add(
@@ -90,9 +97,11 @@ bool ChromeShellDelegate::IsScreenLocked() const {
#endif
}
-void ChromeShellDelegate::OpenFileManager() {
+void ChromeShellDelegate::Shutdown() {
#if defined(OS_CHROMEOS)
- file_manager_util::OpenApplication();
+ content::RecordAction(content::UserMetricsAction("Shutdown"));
+ chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
+ RequestShutdown();
#endif
}
@@ -102,12 +111,82 @@ void ChromeShellDelegate::Exit() {
void ChromeShellDelegate::NewWindow(bool is_incognito) {
Profile* profile = ProfileManager::GetDefaultProfileOrOffTheRecord();
- Browser::NewEmptyWindow(is_incognito ? profile->GetOffTheRecordProfile() :
- profile);
+ Browser::NewEmptyWindow(
+ is_incognito ? profile->GetOffTheRecordProfile() : profile);
+}
+
+void ChromeShellDelegate::Search() {
+ // Exit fullscreen to show omnibox.
+ Browser* last_active = BrowserList::GetLastActive();
+ if (last_active) {
+ if (last_active->window()->IsFullscreen()) {
+ last_active->ToggleFullscreenMode();
+ // ToggleFullscreenMode is asynchronous, so we don't have omnibox
+ // visible at this point. Wait for next event cycle which toggles
+ // the visibility of omnibox before creating new tab.
+ MessageLoop::current()->PostTask(
+ FROM_HERE, base::Bind(&ChromeShellDelegate::Search,
+ weak_factory_.GetWeakPtr()));
+ return;
+ }
+ }
+
+ Browser* target_browser = Browser::GetOrCreateTabbedBrowser(
+ ProfileManager::GetDefaultProfileOrOffTheRecord());
+ const GURL& url = target_browser->GetSelectedWebContents()->GetURL();
+ if (url.SchemeIs(chrome::kChromeUIScheme) &&
+ url.host() == chrome::kChromeUINewTabHost) {
+ // If the NTP is showing, focus the omnibox.
+ target_browser->window()->SetFocusToLocationBar(true);
+ } else {
+ target_browser->NewTab();
+ }
+}
+
+void ChromeShellDelegate::OpenFileManager() {
+#if defined(OS_CHROMEOS)
+ file_manager_util::OpenApplication();
+#endif
+}
+
+void ChromeShellDelegate::OpenCrosh() {
+#if defined(OS_CHROMEOS)
+ Browser* browser = Browser::GetOrCreateTabbedBrowser(
+ ProfileManager::GetDefaultProfileOrOffTheRecord());
+ GURL crosh_url = TerminalExtensionHelper::GetCroshExtensionURL(
+ browser->profile());
+ if (!crosh_url.is_valid())
+ return;
+ browser->OpenURL(
+ content::OpenURLParams(crosh_url,
+ content::Referrer(),
+ NEW_FOREGROUND_TAB,
+ content::PAGE_TRANSITION_GENERATED,
+ false));
+#endif
+}
+
+void ChromeShellDelegate::OpenMobileSetup() {
+#if defined(OS_CHROMEOS)
+ Browser* browser = Browser::GetOrCreateTabbedBrowser(
+ ProfileManager::GetDefaultProfileOrOffTheRecord());
+ if (CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableMobileSetupDialog)) {
+ MobileSetupDialog::Show();
+ } else {
+ browser->OpenURL(
+ content::OpenURLParams(GURL(chrome::kChromeUIMobileSetupURL),
+ content::Referrer(),
+ NEW_FOREGROUND_TAB,
+ content::PAGE_TRANSITION_LINK,
+ false));
+ browser->window()->Activate();
+ }
+#endif
}
ash::AppListViewDelegate*
-ChromeShellDelegate::CreateAppListViewDelegate() {
+ ChromeShellDelegate::CreateAppListViewDelegate() {
// Shell will own the created delegate.
return new AppListViewDelegate;
}
diff --git a/chrome/browser/ui/views/ash/chrome_shell_delegate.h b/chrome/browser/ui/views/ash/chrome_shell_delegate.h
index 929750e..7a71f49 100644
--- a/chrome/browser/ui/views/ash/chrome_shell_delegate.h
+++ b/chrome/browser/ui/views/ash/chrome_shell_delegate.h
@@ -35,9 +35,13 @@ class ChromeShellDelegate : public ash::ShellDelegate,
virtual void LockScreen() OVERRIDE;
virtual void UnlockScreen() OVERRIDE;
virtual bool IsScreenLocked() const OVERRIDE;
- virtual void OpenFileManager() OVERRIDE;
+ virtual void Shutdown() OVERRIDE;
virtual void Exit() OVERRIDE;
virtual void NewWindow(bool is_incognito) OVERRIDE;
+ virtual void Search() OVERRIDE;
+ virtual void OpenFileManager() OVERRIDE;
+ virtual void OpenCrosh() OVERRIDE;
+ virtual void OpenMobileSetup() OVERRIDE;
virtual ash::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
virtual void StartPartialScreenshot(
ash::ScreenshotDelegate* screenshot_delegate) OVERRIDE;
@@ -59,6 +63,8 @@ class ChromeShellDelegate : public ash::ShellDelegate,
scoped_ptr<WindowPositioner> window_positioner_;
+ base::WeakPtrFactory<ChromeShellDelegate> weak_factory_;
+
DISALLOW_COPY_AND_ASSIGN(ChromeShellDelegate);
};
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 4b7cf0c..64f765e 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -124,7 +124,6 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/ui/views/keyboard_overlay_dialog_view.h"
-#include "chrome/browser/ui/webui/chromeos/mobile_setup_dialog.h"
#endif
#if defined(ENABLE_ONE_CLICK_SIGNIN)
@@ -1339,10 +1338,6 @@ FindBar* BrowserView::CreateFindBar() {
}
#if defined(OS_CHROMEOS)
-void BrowserView::ShowMobileSetup() {
- MobileSetupDialog::Show();
-}
-
void BrowserView::ShowKeyboardOverlay(gfx::NativeWindow owning_window) {
KeyboardOverlayDialogView::ShowDialog(owning_window, this);
}
@@ -2454,7 +2449,6 @@ void BrowserView::CreateLauncherIcon() {
#endif // defined(USE_AURA)
}
-#if !defined(OS_CHROMEOS) || defined(USE_AURA)
// static
BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) {
// Create the view and the frame. The frame will attach itself via the view
@@ -2465,7 +2459,6 @@ BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) {
l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
return view;
}
-#endif
void BrowserView::ShowAvatarBubble(WebContents* web_contents,
const gfx::Rect& rect) {
diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h
index a1c3622..743d81e 100644
--- a/chrome/browser/ui/views/frame/browser_view.h
+++ b/chrome/browser/ui/views/frame/browser_view.h
@@ -321,7 +321,6 @@ class BrowserView : public BrowserWindow,
const gfx::Rect& bounds) OVERRIDE;
virtual FindBar* CreateFindBar() OVERRIDE;
#if defined(OS_CHROMEOS)
- virtual void ShowMobileSetup() OVERRIDE;
virtual void ShowKeyboardOverlay(gfx::NativeWindow owning_window) OVERRIDE;
#endif
virtual void ShowAvatarBubble(content::WebContents* web_contents,
diff --git a/chrome/browser/ui/webui/feedback_ui.cc b/chrome/browser/ui/webui/feedback_ui.cc
index 0e74ebb..250f06a 100644
--- a/chrome/browser/ui/webui/feedback_ui.cc
+++ b/chrome/browser/ui/webui/feedback_ui.cc
@@ -538,7 +538,14 @@ void FeedbackHandler::HandleCancel(const ListValue*) {
void FeedbackHandler::HandleOpenSystemTab(const ListValue* args) {
#if defined(OS_CHROMEOS)
- BrowserList::GetLastActive()->OpenSystemTabAndActivate();
+ Browser* last_active = BrowserList::GetLastActive();
+ last_active->OpenURL(
+ content::OpenURLParams(GURL(chrome::kChromeUISystemInfoURL),
+ content::Referrer(),
+ NEW_FOREGROUND_TAB,
+ content::PAGE_TRANSITION_LINK,
+ false));
+ last_active->window()->Activate();
#endif
}
diff --git a/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc b/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc
index db1153e..181c8c8 100644
--- a/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc
+++ b/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc
@@ -10,6 +10,8 @@
#include <string>
#include <vector>
+#include "ash/shell.h"
+#include "ash/shell_delegate.h"
#include "base/base64.h"
#include "base/basictypes.h"
#include "base/bind.h"
@@ -526,10 +528,7 @@ void InternetOptionsHandler::ShowMorePlanInfoCallback(const ListValue* args) {
void InternetOptionsHandler::BuyDataPlanCallback(const ListValue* args) {
if (!web_ui())
return;
- Browser* browser = BrowserList::FindBrowserWithFeature(
- Profile::FromWebUI(web_ui()), Browser::FEATURE_TABSTRIP);
- if (browser)
- browser->OpenMobilePlanTabAndActivate();
+ ash::Shell::GetInstance()->delegate()->OpenMobileSetup();
}
void InternetOptionsHandler::SetApnCallback(const ListValue* args) {
@@ -1102,9 +1101,7 @@ void InternetOptionsHandler::HandleCellularButtonClick(
} else if (command == "disconnect") {
cros_->DisconnectFromNetwork(cellular);
} else if (command == "activate") {
- Browser* browser = BrowserList::GetLastActive();
- if (browser)
- browser->OpenMobilePlanTabAndActivate();
+ ash::Shell::GetInstance()->delegate()->OpenMobileSetup();
} else if (command == "options") {
PopulateDictionaryDetails(cellular);
}