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

Side by Side Diff: ash/system/tray/system_tray.cc

Issue 14297013: Cleanup: Remove unnecessary ".get()" from scoped_ptrs<>. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/shell.cc ('k') | ash/system/tray/system_tray_bubble.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/system_tray.h" 5 #include "ash/system/tray/system_tray.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/shelf/shelf_layout_manager.h" 8 #include "ash/shelf/shelf_layout_manager.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/shell/panel_window.h" 10 #include "ash/shell/panel_window.h"
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 TrayBubbleView::InitParams::kArrowDefaultOffset); 206 TrayBubbleView::InitParams::kArrowDefaultOffset);
207 } 207 }
208 208
209 void SystemTray::ShowDetailedView(SystemTrayItem* item, 209 void SystemTray::ShowDetailedView(SystemTrayItem* item,
210 int close_delay, 210 int close_delay,
211 bool activate, 211 bool activate,
212 BubbleCreationType creation_type) { 212 BubbleCreationType creation_type) {
213 std::vector<SystemTrayItem*> items; 213 std::vector<SystemTrayItem*> items;
214 items.push_back(item); 214 items.push_back(item);
215 ShowItems(items, true, activate, creation_type, GetTrayXOffset(item)); 215 ShowItems(items, true, activate, creation_type, GetTrayXOffset(item));
216 if (system_bubble_.get()) 216 if (system_bubble_)
217 system_bubble_->bubble()->StartAutoCloseTimer(close_delay); 217 system_bubble_->bubble()->StartAutoCloseTimer(close_delay);
218 } 218 }
219 219
220 void SystemTray::SetDetailedViewCloseDelay(int close_delay) { 220 void SystemTray::SetDetailedViewCloseDelay(int close_delay) {
221 if (HasSystemBubbleType(SystemTrayBubble::BUBBLE_TYPE_DETAILED)) 221 if (HasSystemBubbleType(SystemTrayBubble::BUBBLE_TYPE_DETAILED))
222 system_bubble_->bubble()->StartAutoCloseTimer(close_delay); 222 system_bubble_->bubble()->StartAutoCloseTimer(close_delay);
223 } 223 }
224 224
225 void SystemTray::HideDetailedView(SystemTrayItem* item) { 225 void SystemTray::HideDetailedView(SystemTrayItem* item) {
226 if (item != detailed_item_) 226 if (item != detailed_item_)
(...skipping 10 matching lines...) Expand all
237 UpdateNotificationBubble(); 237 UpdateNotificationBubble();
238 } 238 }
239 239
240 void SystemTray::HideNotificationView(SystemTrayItem* item) { 240 void SystemTray::HideNotificationView(SystemTrayItem* item) {
241 std::vector<SystemTrayItem*>::iterator found_iter = 241 std::vector<SystemTrayItem*>::iterator found_iter =
242 std::find(notification_items_.begin(), notification_items_.end(), item); 242 std::find(notification_items_.begin(), notification_items_.end(), item);
243 if (found_iter == notification_items_.end()) 243 if (found_iter == notification_items_.end())
244 return; 244 return;
245 notification_items_.erase(found_iter); 245 notification_items_.erase(found_iter);
246 // Only update the notification bubble if visible (i.e. don't create one). 246 // Only update the notification bubble if visible (i.e. don't create one).
247 if (notification_bubble_.get()) 247 if (notification_bubble_)
248 UpdateNotificationBubble(); 248 UpdateNotificationBubble();
249 } 249 }
250 250
251 void SystemTray::UpdateAfterLoginStatusChange(user::LoginStatus login_status) { 251 void SystemTray::UpdateAfterLoginStatusChange(user::LoginStatus login_status) {
252 DestroySystemBubble(); 252 DestroySystemBubble();
253 UpdateNotificationBubble(); 253 UpdateNotificationBubble();
254 254
255 for (std::vector<SystemTrayItem*>::iterator it = items_.begin(); 255 for (std::vector<SystemTrayItem*>::iterator it = items_.begin();
256 it != items_.end(); 256 it != items_.end();
257 ++it) { 257 ++it) {
258 (*it)->UpdateAfterLoginStatusChange(login_status); 258 (*it)->UpdateAfterLoginStatusChange(login_status);
259 } 259 }
260 260
261 SetVisible(true); 261 SetVisible(true);
262 PreferredSizeChanged(); 262 PreferredSizeChanged();
263 } 263 }
264 264
265 void SystemTray::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) { 265 void SystemTray::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) {
266 for (std::vector<SystemTrayItem*>::iterator it = items_.begin(); 266 for (std::vector<SystemTrayItem*>::iterator it = items_.begin();
267 it != items_.end(); 267 it != items_.end();
268 ++it) { 268 ++it) {
269 (*it)->UpdateAfterShelfAlignmentChange(alignment); 269 (*it)->UpdateAfterShelfAlignmentChange(alignment);
270 } 270 }
271 } 271 }
272 272
273 void SystemTray::SetHideNotifications(bool hide_notifications) { 273 void SystemTray::SetHideNotifications(bool hide_notifications) {
274 if (notification_bubble_.get()) 274 if (notification_bubble_)
275 notification_bubble_->bubble()->SetVisible(!hide_notifications); 275 notification_bubble_->bubble()->SetVisible(!hide_notifications);
276 hide_notifications_ = hide_notifications; 276 hide_notifications_ = hide_notifications;
277 } 277 }
278 278
279 bool SystemTray::ShouldShowLauncher() const { 279 bool SystemTray::ShouldShowLauncher() const {
280 return system_bubble_.get() && system_bubble_->bubble()->ShouldShowLauncher(); 280 return system_bubble_.get() && system_bubble_->bubble()->ShouldShowLauncher();
281 } 281 }
282 282
283 bool SystemTray::HasSystemBubble() const { 283 bool SystemTray::HasSystemBubble() const {
284 return system_bubble_.get() != NULL; 284 return system_bubble_.get() != NULL;
285 } 285 }
286 286
287 bool SystemTray::HasNotificationBubble() const { 287 bool SystemTray::HasNotificationBubble() const {
288 return notification_bubble_.get() != NULL; 288 return notification_bubble_.get() != NULL;
289 } 289 }
290 290
291 internal::SystemTrayBubble* SystemTray::GetSystemBubble() { 291 internal::SystemTrayBubble* SystemTray::GetSystemBubble() {
292 if (!system_bubble_.get()) 292 if (!system_bubble_)
293 return NULL; 293 return NULL;
294 return system_bubble_->bubble(); 294 return system_bubble_->bubble();
295 } 295 }
296 296
297 bool SystemTray::IsAnyBubbleVisible() const { 297 bool SystemTray::IsAnyBubbleVisible() const {
298 return ((system_bubble_.get() && 298 return ((system_bubble_.get() &&
299 system_bubble_->bubble()->IsVisible()) || 299 system_bubble_->bubble()->IsVisible()) ||
300 (notification_bubble_.get() && 300 (notification_bubble_.get() &&
301 notification_bubble_->bubble()->IsVisible())); 301 notification_bubble_->bubble()->IsVisible()));
302 } 302 }
303 303
304 bool SystemTray::IsMouseInNotificationBubble() const { 304 bool SystemTray::IsMouseInNotificationBubble() const {
305 if (!notification_bubble_.get()) 305 if (!notification_bubble_)
306 return false; 306 return false;
307 return notification_bubble_->bubble_view()->GetBoundsInScreen().Contains( 307 return notification_bubble_->bubble_view()->GetBoundsInScreen().Contains(
308 Shell::GetScreen()->GetCursorScreenPoint()); 308 Shell::GetScreen()->GetCursorScreenPoint());
309 } 309 }
310 310
311 bool SystemTray::CloseSystemBubbleForTest() const { 311 bool SystemTray::CloseSystemBubbleForTest() const {
312 if (!system_bubble_.get()) 312 if (!system_bubble_)
313 return false; 313 return false;
314 system_bubble_->bubble()->Close(); 314 system_bubble_->bubble()->Close();
315 return true; 315 return true;
316 } 316 }
317 317
318 bool SystemTray::CloseNotificationBubbleForTest() const { 318 bool SystemTray::CloseNotificationBubbleForTest() const {
319 if (!notification_bubble_.get()) 319 if (!notification_bubble_)
320 return false; 320 return false;
321 notification_bubble_->bubble()->Close(); 321 notification_bubble_->bubble()->Close();
322 return true; 322 return true;
323 } 323 }
324 324
325 // Private methods. 325 // Private methods.
326 326
327 bool SystemTray::HasSystemBubbleType(SystemTrayBubble::BubbleType type) { 327 bool SystemTray::HasSystemBubbleType(SystemTrayBubble::BubbleType type) {
328 DCHECK(type != SystemTrayBubble::BUBBLE_TYPE_NOTIFICATION); 328 DCHECK(type != SystemTrayBubble::BUBBLE_TYPE_NOTIFICATION);
329 return system_bubble_.get() && system_bubble_->bubble_type() == type; 329 return system_bubble_.get() && system_bubble_->bubble_type() == type;
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 } 467 }
468 468
469 void SystemTray::SetShelfAlignment(ShelfAlignment alignment) { 469 void SystemTray::SetShelfAlignment(ShelfAlignment alignment) {
470 if (alignment == shelf_alignment()) 470 if (alignment == shelf_alignment())
471 return; 471 return;
472 internal::TrayBackgroundView::SetShelfAlignment(alignment); 472 internal::TrayBackgroundView::SetShelfAlignment(alignment);
473 UpdateAfterShelfAlignmentChange(alignment); 473 UpdateAfterShelfAlignmentChange(alignment);
474 // Destroy any existing bubble so that it is rebuilt correctly. 474 // Destroy any existing bubble so that it is rebuilt correctly.
475 system_bubble_.reset(); 475 system_bubble_.reset();
476 // Rebuild any notification bubble. 476 // Rebuild any notification bubble.
477 if (notification_bubble_.get()) { 477 if (notification_bubble_) {
478 notification_bubble_.reset(); 478 notification_bubble_.reset();
479 UpdateNotificationBubble(); 479 UpdateNotificationBubble();
480 } 480 }
481 } 481 }
482 482
483 void SystemTray::AnchorUpdated() { 483 void SystemTray::AnchorUpdated() {
484 if (notification_bubble_.get()) { 484 if (notification_bubble_) {
485 notification_bubble_->bubble_view()->UpdateBubble(); 485 notification_bubble_->bubble_view()->UpdateBubble();
486 // Ensure that the notification buble is above the launcher/status area. 486 // Ensure that the notification buble is above the launcher/status area.
487 notification_bubble_->bubble_view()->GetWidget()->StackAtTop(); 487 notification_bubble_->bubble_view()->GetWidget()->StackAtTop();
488 UpdateBubbleViewArrow(notification_bubble_->bubble_view()); 488 UpdateBubbleViewArrow(notification_bubble_->bubble_view());
489 } 489 }
490 if (system_bubble_.get()) { 490 if (system_bubble_) {
491 system_bubble_->bubble_view()->UpdateBubble(); 491 system_bubble_->bubble_view()->UpdateBubble();
492 UpdateBubbleViewArrow(system_bubble_->bubble_view()); 492 UpdateBubbleViewArrow(system_bubble_->bubble_view());
493 } 493 }
494 } 494 }
495 495
496 base::string16 SystemTray::GetAccessibleNameForTray() { 496 base::string16 SystemTray::GetAccessibleNameForTray() {
497 return l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_ACCESSIBLE_NAME); 497 return l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_ACCESSIBLE_NAME);
498 } 498 }
499 499
500 void SystemTray::HideBubbleWithView(const TrayBubbleView* bubble_view) { 500 void SystemTray::HideBubbleWithView(const TrayBubbleView* bubble_view) {
501 if (system_bubble_.get() && bubble_view == system_bubble_->bubble_view()) { 501 if (system_bubble_.get() && bubble_view == system_bubble_->bubble_view()) {
502 DestroySystemBubble(); 502 DestroySystemBubble();
503 UpdateNotificationBubble(); // State changed, re-create notifications. 503 UpdateNotificationBubble(); // State changed, re-create notifications.
504 GetShelfLayoutManager()->UpdateAutoHideState(); 504 GetShelfLayoutManager()->UpdateAutoHideState();
505 } else if (notification_bubble_.get() && 505 } else if (notification_bubble_.get() &&
506 bubble_view == notification_bubble_->bubble_view()) { 506 bubble_view == notification_bubble_->bubble_view()) {
507 DestroyNotificationBubble(); 507 DestroyNotificationBubble();
508 } 508 }
509 } 509 }
510 510
511 bool SystemTray::ClickedOutsideBubble() { 511 bool SystemTray::ClickedOutsideBubble() {
512 if (!system_bubble_.get()) 512 if (!system_bubble_)
513 return false; 513 return false;
514 HideBubbleWithView(system_bubble_->bubble_view()); 514 HideBubbleWithView(system_bubble_->bubble_view());
515 return true; 515 return true;
516 } 516 }
517 517
518 void SystemTray::BubbleViewDestroyed() { 518 void SystemTray::BubbleViewDestroyed() {
519 if (system_bubble_.get()) { 519 if (system_bubble_) {
520 system_bubble_->bubble()->DestroyItemViews(); 520 system_bubble_->bubble()->DestroyItemViews();
521 system_bubble_->bubble()->BubbleViewDestroyed(); 521 system_bubble_->bubble()->BubbleViewDestroyed();
522 } 522 }
523 } 523 }
524 524
525 void SystemTray::OnMouseEnteredView() { 525 void SystemTray::OnMouseEnteredView() {
526 if (system_bubble_.get()) 526 if (system_bubble_)
527 system_bubble_->bubble()->StopAutoCloseTimer(); 527 system_bubble_->bubble()->StopAutoCloseTimer();
528 } 528 }
529 529
530 void SystemTray::OnMouseExitedView() { 530 void SystemTray::OnMouseExitedView() {
531 if (system_bubble_.get()) 531 if (system_bubble_)
532 system_bubble_->bubble()->RestartAutoCloseTimer(); 532 system_bubble_->bubble()->RestartAutoCloseTimer();
533 } 533 }
534 534
535 base::string16 SystemTray::GetAccessibleNameForBubble() { 535 base::string16 SystemTray::GetAccessibleNameForBubble() {
536 return GetAccessibleNameForTray(); 536 return GetAccessibleNameForTray();
537 } 537 }
538 538
539 gfx::Rect SystemTray::GetAnchorRect( 539 gfx::Rect SystemTray::GetAnchorRect(
540 views::Widget* anchor_widget, 540 views::Widget* anchor_widget,
541 TrayBubbleView::AnchorType anchor_type, 541 TrayBubbleView::AnchorType anchor_type,
(...skipping 21 matching lines...) Expand all
563 ConvertPointToWidget(this, &point); 563 ConvertPointToWidget(this, &point);
564 arrow_offset = point.x(); 564 arrow_offset = point.x();
565 } 565 }
566 } 566 }
567 ShowDefaultViewWithOffset(BUBBLE_CREATE_NEW, arrow_offset); 567 ShowDefaultViewWithOffset(BUBBLE_CREATE_NEW, arrow_offset);
568 } 568 }
569 return true; 569 return true;
570 } 570 }
571 571
572 } // namespace ash 572 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shell.cc ('k') | ash/system/tray/system_tray_bubble.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698