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

Unified Diff: ash/system/ime/tray_ime.cc

Issue 10235010: Prepare SystemTray to support notifications (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 8 months 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: ash/system/ime/tray_ime.cc
diff --git a/ash/system/ime/tray_ime.cc b/ash/system/ime/tray_ime.cc
index 15a9d80f1a7ad75654778d47b028b90d8c17e955..6359af62683970c2b9f770c5296cd5f4a8c63247 100644
--- a/ash/system/ime/tray_ime.cc
+++ b/ash/system/ime/tray_ime.cc
@@ -22,6 +22,7 @@
#include "ui/gfx/image/image.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/box_layout.h"
+#include "ui/views/widget/widget.h"
namespace ash {
namespace internal {
@@ -180,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);
+ DCHECK(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) {
@@ -208,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();
+ DCHECK(detailed_ == 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();
+ DCHECK(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) {
@@ -243,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);
}

Powered by Google App Engine
This is Rietveld 408576698