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

Side by Side Diff: ash/shelf/shelf_widget.cc

Issue 1867223004: Convert //ash from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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/shelf/shelf_widget.h" 5 #include "ash/shelf/shelf_widget.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/focus_cycler.h" 8 #include "ash/focus_cycler.h"
9 #include "ash/root_window_controller.h" 9 #include "ash/root_window_controller.h"
10 #include "ash/session/session_state_delegate.h" 10 #include "ash/session/session_state_delegate.h"
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 // True if someone forces us not to be dimmed (e.g. a menu is open). 120 // True if someone forces us not to be dimmed (e.g. a menu is open).
121 bool force_hovered_; 121 bool force_hovered_;
122 122
123 // True if animations should be suppressed for a test. 123 // True if animations should be suppressed for a test.
124 bool disable_dimming_animations_for_test_; 124 bool disable_dimming_animations_for_test_;
125 125
126 // The animator for the background transitions. 126 // The animator for the background transitions.
127 ash::BackgroundAnimator background_animator_; 127 ash::BackgroundAnimator background_animator_;
128 128
129 // Notification of entering / exiting of the shelf area by mouse. 129 // Notification of entering / exiting of the shelf area by mouse.
130 scoped_ptr<DimmerEventFilter> event_filter_; 130 std::unique_ptr<DimmerEventFilter> event_filter_;
131 131
132 DISALLOW_COPY_AND_ASSIGN(DimmerView); 132 DISALLOW_COPY_AND_ASSIGN(DimmerView);
133 }; 133 };
134 134
135 DimmerView::DimmerView(ash::ShelfWidget* shelf_widget, 135 DimmerView::DimmerView(ash::ShelfWidget* shelf_widget,
136 bool disable_dimming_animations_for_test) 136 bool disable_dimming_animations_for_test)
137 : shelf_(shelf_widget), 137 : shelf_(shelf_widget),
138 alpha_(kDimAlpha), 138 alpha_(kDimAlpha),
139 is_hovered_(false), 139 is_hovered_(false),
140 force_hovered_(false), 140 force_hovered_(false),
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 gfx::Rect GetDimmerBoundsForTest(); 372 gfx::Rect GetDimmerBoundsForTest();
373 373
374 // Disable dimming animations for running tests. This needs to be called 374 // Disable dimming animations for running tests. This needs to be called
375 // prior to the creation of of the |dimmer_|. 375 // prior to the creation of of the |dimmer_|.
376 void disable_dimming_animations_for_test() { 376 void disable_dimming_animations_for_test() {
377 disable_dimming_animations_for_test_ = true; 377 disable_dimming_animations_for_test_ = true;
378 } 378 }
379 379
380 private: 380 private:
381 ShelfWidget* shelf_; 381 ShelfWidget* shelf_;
382 scoped_ptr<views::Widget> dimmer_; 382 std::unique_ptr<views::Widget> dimmer_;
383 FocusCycler* focus_cycler_; 383 FocusCycler* focus_cycler_;
384 int alpha_; 384 int alpha_;
385 // A black background layer which is shown when a maximized window is visible. 385 // A black background layer which is shown when a maximized window is visible.
386 ui::Layer opaque_background_; 386 ui::Layer opaque_background_;
387 // A black foreground layer which is shown while transitioning between users. 387 // A black foreground layer which is shown while transitioning between users.
388 // Note: Since the back- and foreground layers have different functions they 388 // Note: Since the back- and foreground layers have different functions they
389 // can be used simultaneously - so no repurposing possible. 389 // can be used simultaneously - so no repurposing possible.
390 ui::Layer opaque_foreground_; 390 ui::Layer opaque_foreground_;
391 391
392 // The view which does the dimming. 392 // The view which does the dimming.
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 status_area_widget_->CreateTrayViews(); 624 status_area_widget_->CreateTrayViews();
625 if (Shell::GetInstance()->session_state_delegate()-> 625 if (Shell::GetInstance()->session_state_delegate()->
626 IsActiveUserSessionStarted()) { 626 IsActiveUserSessionStarted()) {
627 status_area_widget_->Show(); 627 status_area_widget_->Show();
628 } 628 }
629 Shell::GetInstance()->focus_cycler()->AddWidget(status_area_widget_); 629 Shell::GetInstance()->focus_cycler()->AddWidget(status_area_widget_);
630 630
631 status_container->SetLayoutManager( 631 status_container->SetLayoutManager(
632 new StatusAreaLayoutManager(status_container, this)); 632 new StatusAreaLayoutManager(status_container, this));
633 633
634 shelf_container->SetEventTargeter(scoped_ptr<ui::EventTargeter>(new 634 shelf_container->SetEventTargeter(std::unique_ptr<ui::EventTargeter>(
635 ShelfWindowTargeter(shelf_container, shelf_layout_manager_))); 635 new ShelfWindowTargeter(shelf_container, shelf_layout_manager_)));
636 status_container->SetEventTargeter(scoped_ptr<ui::EventTargeter>(new 636 status_container->SetEventTargeter(std::unique_ptr<ui::EventTargeter>(
637 ShelfWindowTargeter(status_container, shelf_layout_manager_))); 637 new ShelfWindowTargeter(status_container, shelf_layout_manager_)));
638 638
639 views::Widget::AddObserver(this); 639 views::Widget::AddObserver(this);
640 } 640 }
641 641
642 ShelfWidget::~ShelfWidget() { 642 ShelfWidget::~ShelfWidget() {
643 Shell::GetInstance()->focus_cycler()->RemoveWidget(this); 643 Shell::GetInstance()->focus_cycler()->RemoveWidget(this);
644 SetFocusCycler(nullptr); 644 SetFocusCycler(nullptr);
645 RemoveObserver(this); 645 RemoveObserver(this);
646 } 646 }
647 647
648 void ShelfWidget::SetPaintsBackground( 648 void ShelfWidget::SetPaintsBackground(
649 ShelfBackgroundType background_type, 649 ShelfBackgroundType background_type,
650 BackgroundAnimatorChangeType change_type) { 650 BackgroundAnimatorChangeType change_type) {
651 ui::Layer* opaque_background = delegate_view_->opaque_background(); 651 ui::Layer* opaque_background = delegate_view_->opaque_background();
652 float target_opacity = 652 float target_opacity =
653 (background_type == SHELF_BACKGROUND_MAXIMIZED) ? 1.0f : 0.0f; 653 (background_type == SHELF_BACKGROUND_MAXIMIZED) ? 1.0f : 0.0f;
654 scoped_ptr<ui::ScopedLayerAnimationSettings> opaque_background_animation; 654 std::unique_ptr<ui::ScopedLayerAnimationSettings> opaque_background_animation;
655 if (change_type != BACKGROUND_CHANGE_IMMEDIATE) { 655 if (change_type != BACKGROUND_CHANGE_IMMEDIATE) {
656 opaque_background_animation.reset(new ui::ScopedLayerAnimationSettings( 656 opaque_background_animation.reset(new ui::ScopedLayerAnimationSettings(
657 opaque_background->GetAnimator())); 657 opaque_background->GetAnimator()));
658 opaque_background_animation->SetTransitionDuration( 658 opaque_background_animation->SetTransitionDuration(
659 base::TimeDelta::FromMilliseconds(kTimeToSwitchBackgroundMs)); 659 base::TimeDelta::FromMilliseconds(kTimeToSwitchBackgroundMs));
660 } 660 }
661 opaque_background->SetOpacity(target_opacity); 661 opaque_background->SetOpacity(target_opacity);
662 662
663 // TODO(mukai): use ui::Layer on both opaque_background and normal background 663 // TODO(mukai): use ui::Layer on both opaque_background and normal background
664 // retire background_animator_ at all. It would be simpler. 664 // retire background_animator_ at all. It would be simpler.
(...skipping 12 matching lines...) Expand all
677 677
678 return SHELF_BACKGROUND_DEFAULT; 678 return SHELF_BACKGROUND_DEFAULT;
679 } 679 }
680 680
681 void ShelfWidget::HideShelfBehindBlackBar(bool hide, int animation_time_ms) { 681 void ShelfWidget::HideShelfBehindBlackBar(bool hide, int animation_time_ms) {
682 if (IsShelfHiddenBehindBlackBar() == hide) 682 if (IsShelfHiddenBehindBlackBar() == hide)
683 return; 683 return;
684 684
685 ui::Layer* opaque_foreground = delegate_view_->opaque_foreground(); 685 ui::Layer* opaque_foreground = delegate_view_->opaque_foreground();
686 float target_opacity = hide ? 1.0f : 0.0f; 686 float target_opacity = hide ? 1.0f : 0.0f;
687 scoped_ptr<ui::ScopedLayerAnimationSettings> opaque_foreground_animation; 687 std::unique_ptr<ui::ScopedLayerAnimationSettings> opaque_foreground_animation;
688 opaque_foreground_animation.reset(new ui::ScopedLayerAnimationSettings( 688 opaque_foreground_animation.reset(new ui::ScopedLayerAnimationSettings(
689 opaque_foreground->GetAnimator())); 689 opaque_foreground->GetAnimator()));
690 opaque_foreground_animation->SetTransitionDuration( 690 opaque_foreground_animation->SetTransitionDuration(
691 base::TimeDelta::FromMilliseconds(animation_time_ms)); 691 base::TimeDelta::FromMilliseconds(animation_time_ms));
692 opaque_foreground_animation->SetPreemptionStrategy( 692 opaque_foreground_animation->SetPreemptionStrategy(
693 ui::LayerAnimator::REPLACE_QUEUED_ANIMATIONS); 693 ui::LayerAnimator::REPLACE_QUEUED_ANIMATIONS);
694 694
695 opaque_foreground->SetOpacity(target_opacity); 695 opaque_foreground->SetOpacity(target_opacity);
696 } 696 }
697 697
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 DCHECK(delegate_view_); 826 DCHECK(delegate_view_);
827 return delegate_view_->disable_dimming_animations_for_test(); 827 return delegate_view_->disable_dimming_animations_for_test();
828 } 828 }
829 829
830 void ShelfWidget::WillDeleteShelf() { 830 void ShelfWidget::WillDeleteShelf() {
831 shelf_layout_manager_->RemoveObserver(this); 831 shelf_layout_manager_->RemoveObserver(this);
832 shelf_layout_manager_ = NULL; 832 shelf_layout_manager_ = NULL;
833 } 833 }
834 834
835 } // namespace ash 835 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698