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

Side by Side Diff: ash/system/tray_update.cc

Issue 11415014: Stop using shell::GetInstance()->system_tray() in system tray items (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/system/tray_update.h" 5 #include "ash/system/tray_update.h"
6 6
7 #include "ash/root_window_controller.h" 7 #include "ash/root_window_controller.h"
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "ash/system/status_area_widget.h" 9 #include "ash/system/status_area_widget.h"
10 #include "ash/system/tray/system_tray.h" 10 #include "ash/system/tray/system_tray.h"
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 : TrayImageItem(IDR_AURA_UBER_TRAY_UPDATE), 157 : TrayImageItem(IDR_AURA_UBER_TRAY_UPDATE),
158 severity_(UpdateObserver::UPDATE_NORMAL) { 158 severity_(UpdateObserver::UPDATE_NORMAL) {
159 } 159 }
160 160
161 TrayUpdate::~TrayUpdate() {} 161 TrayUpdate::~TrayUpdate() {}
162 162
163 bool TrayUpdate::GetInitialVisibility() { 163 bool TrayUpdate::GetInitialVisibility() {
164 return Shell::GetInstance()->tray_delegate()->SystemShouldUpgrade(); 164 return Shell::GetInstance()->tray_delegate()->SystemShouldUpgrade();
165 } 165 }
166 166
167 views::View* TrayUpdate::CreateDefaultView(user::LoginStatus status) { 167 views::View* TrayUpdate::CreateDefaultView(user::LoginStatus status,
168 int bubble_width) {
168 if (!Shell::GetInstance()->tray_delegate()->SystemShouldUpgrade()) 169 if (!Shell::GetInstance()->tray_delegate()->SystemShouldUpgrade())
169 return NULL; 170 return NULL;
170 return new UpdateView(severity_); 171 return new UpdateView(severity_);
171 } 172 }
172 173
173 views::View* TrayUpdate::CreateDetailedView(user::LoginStatus status) { 174 views::View* TrayUpdate::CreateDetailedView(user::LoginStatus status) {
174 return CreateDefaultView(status); 175 return CreateDefaultView(status, 0);
175 } 176 }
176 177
177 void TrayUpdate::DestroyDetailedView() { 178 void TrayUpdate::DestroyDetailedView() {
178 if (nagger_.get()) { 179 if (nagger_.get()) {
179 // The nagger was being displayed. Now that the detailed view is being 180 // The nagger was being displayed. Now that the detailed view is being
180 // closed, that means either the user clicks on it to restart, or the user 181 // closed, that means either the user clicks on it to restart, or the user
181 // didn't click on it to restart. In either case, start the timer to show 182 // didn't click on it to restart. In either case, start the timer to show
182 // the nag reminder again after the specified time. 183 // the nag reminder again after the specified time.
183 nagger_->RestartTimer(); 184 nagger_->RestartTimer();
184 } 185 }
185 } 186 }
186 187
187 void TrayUpdate::OnUpdateRecommended(UpdateObserver::UpdateSeverity severity) { 188 void TrayUpdate::OnUpdateRecommended(UpdateObserver::UpdateSeverity severity) {
188 severity_ = severity; 189 severity_ = severity;
189 SetImageFromResourceId(DecideResource(severity_, false)); 190 SetImageFromResourceId(DecideResource(severity_, false));
190 tray_view()->SetVisible(true); 191 tray_view()->SetVisible(true);
191 if (!Shell::GetPrimaryRootWindowController()->shelf()->IsVisible() && 192 if (!Shell::GetPrimaryRootWindowController()->shelf()->IsVisible() &&
192 !nagger_.get()) { 193 !nagger_.get()) {
193 // The shelf is not visible, and there is no nagger scheduled. 194 // The shelf is not visible, and there is no nagger scheduled.
194 nagger_.reset(new tray::UpdateNagger(this)); 195 nagger_.reset(new tray::UpdateNagger(this));
195 } 196 }
196 } 197 }
197 198
198 } // namespace internal 199 } // namespace internal
199 } // namespace ash 200 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698