Index: ash/system/ime/tray_ime.cc |
diff --git a/ash/system/ime/tray_ime.cc b/ash/system/ime/tray_ime.cc |
index 9a3526dc380a1f6cf657468d3c9e680f3c0140e2..beec2f5f02f99faeb0b177ff727f6dbc87100820 100644 |
--- a/ash/system/ime/tray_ime.cc |
+++ b/ash/system/ime/tray_ime.cc |
@@ -203,13 +203,17 @@ TrayIME::~TrayIME() { |
void TrayIME::UpdateTrayLabel(const IMEInfo& current, size_t count) { |
if (tray_label_) { |
+ bool visible = count > 1; |
+ tray_label_->SetVisible(visible); |
+ // Do not change label before hiding because this change is noticeable. |
+ if (!visible) |
+ return; |
if (current.third_party) { |
tray_label_->label()->SetText( |
current.short_name + base::UTF8ToUTF16("*")); |
} else { |
tray_label_->label()->SetText(current.short_name); |
} |
- tray_label_->SetVisible(count > 1); |
SetTrayLabelItemBorder(tray_label_, system_tray()->shelf_alignment()); |
tray_label_->Layout(); |
} |