Chromium Code Reviews| Index: ash/system/status_area_widget.cc |
| diff --git a/ash/system/status_area_widget.cc b/ash/system/status_area_widget.cc |
| index 3a0c7405ebe024024414380fe0b3e39d179bb4d8..1cfed9b6ad1f5f82ad72fbff3236842a8c78c40c 100644 |
| --- a/ash/system/status_area_widget.cc |
| +++ b/ash/system/status_area_widget.cc |
| @@ -18,6 +18,7 @@ |
| #include "base/i18n/time_formatting.h" |
| #if defined(OS_CHROMEOS) |
| +#include "ash/system/chromeos/ime_menu/ime_menu_tray.h" |
| #include "ash/system/chromeos/session/logout_button_tray.h" |
| #include "ash/system/chromeos/virtual_keyboard/virtual_keyboard_tray.h" |
| #endif |
| @@ -33,6 +34,7 @@ StatusAreaWidget::StatusAreaWidget(WmWindow* status_container, |
| #if defined(OS_CHROMEOS) |
| logout_button_tray_(NULL), |
| virtual_keyboard_tray_(NULL), |
| + ime_menu_tray_(nullptr), |
| #endif |
| login_status_(LoginStatus::NOT_LOGGED_IN), |
| wm_shelf_(wm_shelf) { |
| @@ -58,6 +60,7 @@ void StatusAreaWidget::CreateTrayViews() { |
| #if defined(OS_CHROMEOS) |
| AddLogoutButtonTray(); |
| AddVirtualKeyboardTray(); |
| + AddImeMenuTray(); |
| #endif |
| SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate(); |
| @@ -68,6 +71,7 @@ void StatusAreaWidget::CreateTrayViews() { |
| #if defined(OS_CHROMEOS) |
| logout_button_tray_->Initialize(); |
| virtual_keyboard_tray_->Initialize(); |
| + ime_menu_tray_->Initialize(); |
| #endif |
| overview_button_tray_->Initialize(); |
| SetShelfAlignment(system_tray_->shelf_alignment()); |
| @@ -87,6 +91,8 @@ void StatusAreaWidget::Shutdown() { |
| virtual_keyboard_tray_ = NULL; |
| delete logout_button_tray_; |
| logout_button_tray_ = NULL; |
| + delete ime_menu_tray_; |
| + ime_menu_tray_ = nullptr; |
|
sadrul
2016/06/29 15:14:10
the destruction order should normally be the rever
Azure Wei
2016/06/30 00:36:30
Done.
|
| #endif |
| delete overview_button_tray_; |
| overview_button_tray_ = NULL; |
| @@ -121,6 +127,7 @@ void StatusAreaWidget::SchedulePaint() { |
| #if defined(OS_CHROMEOS) |
| virtual_keyboard_tray_->SchedulePaint(); |
| logout_button_tray_->SchedulePaint(); |
| + ime_menu_tray_->SchedulePaint(); |
| #endif |
| overview_button_tray_->SchedulePaint(); |
| } |
| @@ -161,6 +168,11 @@ void StatusAreaWidget::AddVirtualKeyboardTray() { |
| virtual_keyboard_tray_ = new VirtualKeyboardTray(this); |
| status_area_widget_delegate_->AddTray(virtual_keyboard_tray_); |
| } |
| + |
| +void StatusAreaWidget::AddImeMenuTray() { |
| + ime_menu_tray_ = new ImeMenuTray(this); |
| + status_area_widget_delegate_->AddTray(ime_menu_tray_); |
| +} |
| #endif |
| void StatusAreaWidget::AddOverviewButtonTray() { |
| @@ -179,6 +191,8 @@ void StatusAreaWidget::SetShelfAlignment(ShelfAlignment alignment) { |
| logout_button_tray_->SetShelfAlignment(alignment); |
| if (virtual_keyboard_tray_) |
| virtual_keyboard_tray_->SetShelfAlignment(alignment); |
| + if (ime_menu_tray_) |
| + ime_menu_tray_->SetShelfAlignment(alignment); |
| #endif |
| if (overview_button_tray_) |
| overview_button_tray_->SetShelfAlignment(alignment); |