Index: ash/system/ime_menu/ime_menu_tray.cc |
diff --git a/ash/system/ime_menu/ime_menu_tray.cc b/ash/system/ime_menu/ime_menu_tray.cc |
index df15493b0e9bdbf761bcf795c5098bda8f458828..abf3f9f97d10b3f5fd9f77d9fe492c46304421ba 100644 |
--- a/ash/system/ime_menu/ime_menu_tray.cc |
+++ b/ash/system/ime_menu/ime_menu_tray.cc |
@@ -190,7 +190,7 @@ class ImeButtonsView : public views::View, public views::ButtonListener { |
// views::ButtonListener: |
void ButtonPressed(views::Button* sender, const ui::Event& event) override { |
if (sender == settings_button_) { |
- ime_menu_tray_->HideImeMenuBubble(); |
+ ime_menu_tray_->CloseBubble(); |
ShowIMESettings(); |
return; |
} |
@@ -320,19 +320,6 @@ ImeMenuTray::~ImeMenuTray() { |
keyboard_controller->RemoveObserver(this); |
} |
-void ImeMenuTray::ShowImeMenuBubble() { |
- keyboard::KeyboardController* keyboard_controller = |
- keyboard::KeyboardController::GetInstance(); |
- if (keyboard_controller && keyboard_controller->keyboard_visible()) { |
- show_bubble_after_keyboard_hidden_ = true; |
- keyboard_controller->AddObserver(this); |
- keyboard_controller->HideKeyboard( |
- keyboard::KeyboardController::HIDE_REASON_AUTOMATIC); |
- } else { |
- ShowImeMenuBubbleInternal(); |
- } |
-} |
- |
void ImeMenuTray::ShowImeMenuBubbleInternal() { |
views::TrayBubbleView::InitParams init_params; |
init_params.delegate = this; |
@@ -365,19 +352,8 @@ void ImeMenuTray::ShowImeMenuBubbleInternal() { |
SetIsActive(true); |
} |
-void ImeMenuTray::HideImeMenuBubble() { |
- bubble_.reset(); |
- ime_list_view_ = nullptr; |
- SetIsActive(false); |
- shelf()->UpdateAutoHideState(); |
-} |
- |
-bool ImeMenuTray::IsImeMenuBubbleShown() { |
- return !!bubble_; |
-} |
- |
void ImeMenuTray::ShowKeyboardWithKeyset(const std::string& keyset) { |
- HideImeMenuBubble(); |
+ CloseBubble(); |
// Overrides the keyboard url ref to make it shown with the given keyset. |
if (InputMethodManager::Get()) |
@@ -455,21 +431,50 @@ base::string16 ImeMenuTray::GetAccessibleNameForTray() { |
void ImeMenuTray::HideBubbleWithView(const views::TrayBubbleView* bubble_view) { |
if (bubble_->bubble_view() == bubble_view) |
- HideImeMenuBubble(); |
+ CloseBubble(); |
} |
void ImeMenuTray::ClickedOutsideBubble() { |
- HideImeMenuBubble(); |
+ CloseBubble(); |
} |
bool ImeMenuTray::PerformAction(const ui::Event& event) { |
if (bubble_) |
- HideImeMenuBubble(); |
+ CloseBubble(); |
else |
- ShowImeMenuBubble(); |
+ ShowBubble(); |
return true; |
} |
+void ImeMenuTray::CloseBubble() { |
+ bubble_.reset(); |
+ ime_list_view_ = nullptr; |
+ SetIsActive(false); |
+ shelf()->UpdateAutoHideState(); |
+} |
+ |
+void ImeMenuTray::ShowBubble() { |
+ keyboard::KeyboardController* keyboard_controller = |
+ keyboard::KeyboardController::GetInstance(); |
+ if (keyboard_controller && keyboard_controller->keyboard_visible()) { |
+ show_bubble_after_keyboard_hidden_ = true; |
+ keyboard_controller->AddObserver(this); |
+ keyboard_controller->HideKeyboard( |
+ keyboard::KeyboardController::HIDE_REASON_AUTOMATIC); |
+ } else { |
+ ShowImeMenuBubbleInternal(); |
+ } |
+} |
+ |
+views::TrayBubbleView* ImeMenuTray::GetBubbleView() { |
+ return bubble_ ? bubble_->bubble_view() : nullptr; |
+} |
+ |
+void ImeMenuTray::OnGestureEvent(ui::GestureEvent* event) { |
+ if (!drag_controller()->ProcessGestureEvent(event, this)) |
+ TrayBackgroundView::OnGestureEvent(event); |
+} |
+ |
void ImeMenuTray::OnIMERefresh() { |
UpdateTrayLabel(); |
if (bubble_ && ime_list_view_) { |
@@ -485,7 +490,7 @@ void ImeMenuTray::OnIMEMenuActivationChanged(bool is_activated) { |
if (is_activated) |
UpdateTrayLabel(); |
else |
- HideImeMenuBubble(); |
+ CloseBubble(); |
} |
void ImeMenuTray::BubbleViewDestroyed() { |
@@ -519,6 +524,9 @@ void ImeMenuTray::HideBubble(const views::TrayBubbleView* bubble_view) { |
HideBubbleWithView(bubble_view); |
} |
+bool ImeMenuTray::ProcessGestureEventForBubble(ui::GestureEvent* event) { |
+ return drag_controller()->ProcessGestureEvent(event, this); |
+} |
void ImeMenuTray::OnKeyboardBoundsChanging(const gfx::Rect& new_bounds) {} |
void ImeMenuTray::OnKeyboardClosed() { |
@@ -572,7 +580,7 @@ void ImeMenuTray::OnKeyboardHidden() { |
void ImeMenuTray::OnKeyboardSuppressionChanged(bool suppressed) { |
if (suppressed != keyboard_suppressed_ && bubble_) |
- HideImeMenuBubble(); |
+ CloseBubble(); |
keyboard_suppressed_ = suppressed; |
} |