| Index: ash/system/ime/tray_ime.cc
|
| diff --git a/ash/system/ime/tray_ime.cc b/ash/system/ime/tray_ime.cc
|
| index f6e7efdc20213ff1ea004362042a5d505172e3e1..525e477231f8655f60f46509e443a2c9509bd533 100644
|
| --- a/ash/system/ime/tray_ime.cc
|
| +++ b/ash/system/ime/tray_ime.cc
|
| @@ -181,24 +181,30 @@ class IMEDetailedView : public views::View,
|
|
|
| } // namespace tray
|
|
|
| -TrayIME::TrayIME() {
|
| +TrayIME::TrayIME()
|
| + : tray_label_(NULL),
|
| + default_(NULL),
|
| + detailed_(NULL) {
|
| }
|
|
|
| TrayIME::~TrayIME() {
|
| }
|
|
|
| void TrayIME::UpdateTrayLabel(const IMEInfo& current, size_t count) {
|
| - tray_label_->label()->SetText(current.short_name);
|
| - tray_label_->SetVisible(count > 1);
|
| + if (tray_label_) {
|
| + tray_label_->label()->SetText(current.short_name);
|
| + tray_label_->SetVisible(count > 1);
|
| + }
|
| }
|
|
|
| views::View* TrayIME::CreateTrayView(user::LoginStatus status) {
|
| - tray_label_.reset(new TrayItemView);
|
| + CHECK(tray_label_ == NULL);
|
| + tray_label_ = new TrayItemView;
|
| tray_label_->CreateLabel();
|
| SetupLabelForTray(tray_label_->label());
|
| tray_label_->set_border(
|
| views::Border::CreateEmptyBorder(0, 2, 0, 2));
|
| - return tray_label_.get();
|
| + return tray_label_;
|
| }
|
|
|
| views::View* TrayIME::CreateDefaultView(user::LoginStatus status) {
|
| @@ -209,25 +215,27 @@ views::View* TrayIME::CreateDefaultView(user::LoginStatus status) {
|
| delegate->GetCurrentIMEProperties(&property_list);
|
| if (list.size() <= 1 && property_list.size() <= 1)
|
| return NULL;
|
| - default_.reset(new tray::IMEDefaultView(this));
|
| - return default_.get();
|
| + CHECK(default_ == NULL);
|
| + default_ = new tray::IMEDefaultView(this);
|
| + return default_;
|
| }
|
|
|
| views::View* TrayIME::CreateDetailedView(user::LoginStatus status) {
|
| - detailed_.reset(new tray::IMEDetailedView(this, status));
|
| - return detailed_.get();
|
| + CHECK(detailed_ == NULL);
|
| + detailed_ = new tray::IMEDetailedView(this, status);
|
| + return detailed_;
|
| }
|
|
|
| void TrayIME::DestroyTrayView() {
|
| - tray_label_.reset();
|
| + tray_label_ = NULL;
|
| }
|
|
|
| void TrayIME::DestroyDefaultView() {
|
| - default_.reset();
|
| + default_ = NULL;
|
| }
|
|
|
| void TrayIME::DestroyDetailedView() {
|
| - detailed_.reset();
|
| + detailed_ = NULL;
|
| }
|
|
|
| void TrayIME::UpdateAfterLoginStatusChange(user::LoginStatus status) {
|
| @@ -244,9 +252,9 @@ void TrayIME::OnIMERefresh() {
|
|
|
| UpdateTrayLabel(current, list.size());
|
|
|
| - if (default_.get())
|
| + if (default_)
|
| default_->UpdateLabel(current);
|
| - if (detailed_.get())
|
| + if (detailed_)
|
| detailed_->Update(list, property_list);
|
| }
|
|
|
|
|