Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1651)

Unified Diff: chrome/browser/chromeos/status/input_method_menu_button.cc

Issue 8438064: Separate StatusAreaView from StatusAreaViewChromeos (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/status/input_method_menu_button.cc
diff --git a/chrome/browser/chromeos/status/input_method_menu_button.cc b/chrome/browser/chromeos/status/input_method_menu_button.cc
index 1a12e02068645d663eded988843f48933a110487..fc643a4cbdbbc6b817f243a4cd5d3910aa192278 100644
--- a/chrome/browser/chromeos/status/input_method_menu_button.cc
+++ b/chrome/browser/chromeos/status/input_method_menu_button.cc
@@ -9,9 +9,8 @@
#include "base/utf_string_conversions.h"
#include "chrome/browser/chromeos/input_method/input_method_manager.h"
#include "chrome/browser/chromeos/input_method/input_method_util.h"
-#include "chrome/browser/chromeos/status/status_area_host.h"
#include "chrome/browser/prefs/pref_service.h"
-#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_window.h"
@@ -19,12 +18,10 @@
namespace {
-// Returns PrefService object associated with |host|. Returns NULL if we are NOT
-// within a browser.
-PrefService* GetPrefService(chromeos::StatusAreaHost* host) {
- if (host->GetProfile()) {
- return host->GetProfile()->GetPrefs();
- }
+PrefService* GetPrefService() {
+ Profile* profile = ProfileManager::GetDefaultProfile();
+ if (profile)
+ return profile->GetPrefs();
return NULL;
}
@@ -34,7 +31,7 @@ class MenuImpl : public chromeos::InputMethodMenu {
public:
MenuImpl(chromeos::InputMethodMenuButton* button,
PrefService* pref_service,
- chromeos::StatusAreaHost::ScreenMode screen_mode)
+ chromeos::StatusAreaViewChromeos::ScreenMode screen_mode)
: InputMethodMenu(pref_service, screen_mode, false), button_(button) {}
private:
@@ -64,9 +61,13 @@ namespace chromeos {
////////////////////////////////////////////////////////////////////////////////
// InputMethodMenuButton
-InputMethodMenuButton::InputMethodMenuButton(StatusAreaHost* host)
- : StatusAreaButton(host, this),
- menu_(new MenuImpl(this, GetPrefService(host), host->GetScreenMode())) {
+InputMethodMenuButton::InputMethodMenuButton(
+ StatusAreaButton::Delegate* delegate,
+ StatusAreaViewChromeos::ScreenMode screen_mode)
+ : StatusAreaButton(delegate, this),
+ menu_(new MenuImpl(this, GetPrefService(), screen_mode)),
+ screen_mode_(screen_mode) {
+ set_id(VIEW_ID_STATUS_BUTTON_INPUT_METHOD);
UpdateUIFromCurrentInputMethod();
}
@@ -118,7 +119,7 @@ void InputMethodMenuButton::UpdateUI(const std::string& input_method_id,
const bool hide_button =
num_active_input_methods == 1 &&
input_method::InputMethodUtil::IsKeyboardLayout(input_method_id) &&
- host_->GetScreenMode() == StatusAreaHost::kBrowserMode;
+ screen_mode_ == StatusAreaViewChromeos::BROWSER_MODE;
SetVisible(!hide_button);
SetText(name);
SetTooltipText(tooltip);
@@ -139,11 +140,14 @@ void InputMethodMenuButton::UpdateUI(const std::string& input_method_id,
}
void InputMethodMenuButton::OpenConfigUI() {
- host_->OpenButtonOptions(this); // ask browser to open the WebUI page.
+ // Ask browser to open the WebUI page.
+ delegate()->ExecuteStatusAreaCommand(
+ this, StatusAreaViewChromeos::SHOW_LANGUAGE_OPTIONS);
}
bool InputMethodMenuButton::ShouldSupportConfigUI() {
- return host_->ShouldOpenButtonOptions(this);
+ return delegate()->ShouldExecuteStatusAreaCommand(
+ this, StatusAreaViewChromeos::SHOW_LANGUAGE_OPTIONS);
}
void InputMethodMenuButton::UpdateUIFromCurrentInputMethod() {

Powered by Google App Engine
This is Rietveld 408576698