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

Side by Side Diff: ash/wm/session_state_animator.cc

Issue 2867673004: Use OnceCallback on Mojo interfaces in //ash (Closed)
Patch Set: count -> container_count Created 3 years, 7 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
« no previous file with comments | « ash/wm/session_state_animator.h ('k') | ash/wm/session_state_animator_impl.h » ('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/wm/session_state_animator.h" 5 #include "ash/wm/session_state_animator.h"
6 6
7 #include <utility>
8
7 #include "ash/ash_switches.h" 9 #include "ash/ash_switches.h"
8 #include "ash/public/cpp/shell_window_ids.h" 10 #include "ash/public/cpp/shell_window_ids.h"
9 #include "ash/shell.h" 11 #include "ash/shell.h"
10 #include "ash/wm/window_animations.h" 12 #include "ash/wm/window_animations.h"
11 #include "base/command_line.h" 13 #include "base/command_line.h"
12 #include "ui/aura/client/aura_constants.h" 14 #include "ui/aura/client/aura_constants.h"
13 #include "ui/aura/window_event_dispatcher.h" 15 #include "ui/aura/window_event_dispatcher.h"
14 #include "ui/compositor/layer_animation_observer.h" 16 #include "ui/compositor/layer_animation_observer.h"
15 #include "ui/compositor/layer_animation_sequence.h" 17 #include "ui/compositor/layer_animation_sequence.h"
16 #include "ui/compositor/scoped_layer_animation_settings.h" 18 #include "ui/compositor/scoped_layer_animation_settings.h"
(...skipping 14 matching lines...) Expand all
31 SessionStateAnimator::LOCK_SCREEN_WALLPAPER | 33 SessionStateAnimator::LOCK_SCREEN_WALLPAPER |
32 SessionStateAnimator::LOCK_SCREEN_CONTAINERS | 34 SessionStateAnimator::LOCK_SCREEN_CONTAINERS |
33 SessionStateAnimator::LOCK_SCREEN_RELATED_CONTAINERS; 35 SessionStateAnimator::LOCK_SCREEN_RELATED_CONTAINERS;
34 36
35 const int SessionStateAnimator::kAllNonRootContainersMask = 37 const int SessionStateAnimator::kAllNonRootContainersMask =
36 SessionStateAnimator::kAllLockScreenContainersMask | 38 SessionStateAnimator::kAllLockScreenContainersMask |
37 SessionStateAnimator::WALLPAPER | SessionStateAnimator::LAUNCHER | 39 SessionStateAnimator::WALLPAPER | SessionStateAnimator::LAUNCHER |
38 SessionStateAnimator::NON_LOCK_SCREEN_CONTAINERS; 40 SessionStateAnimator::NON_LOCK_SCREEN_CONTAINERS;
39 41
40 SessionStateAnimator::AnimationSequence::AnimationSequence( 42 SessionStateAnimator::AnimationSequence::AnimationSequence(
41 base::Closure callback) 43 base::OnceClosure callback)
42 : sequence_ended_(false), 44 : sequence_ended_(false),
43 animation_completed_(false), 45 animation_completed_(false),
44 invoke_callback_(false), 46 invoke_callback_(false),
45 callback_(callback) {} 47 callback_(std::move(callback)) {}
46 48
47 SessionStateAnimator::AnimationSequence::~AnimationSequence() {} 49 SessionStateAnimator::AnimationSequence::~AnimationSequence() {}
48 50
49 void SessionStateAnimator::AnimationSequence::EndSequence() { 51 void SessionStateAnimator::AnimationSequence::EndSequence() {
50 sequence_ended_ = true; 52 sequence_ended_ = true;
51 CleanupIfSequenceCompleted(); 53 CleanupIfSequenceCompleted();
52 } 54 }
53 55
54 void SessionStateAnimator::AnimationSequence::OnAnimationCompleted() { 56 void SessionStateAnimator::AnimationSequence::OnAnimationCompleted() {
55 animation_completed_ = true; 57 animation_completed_ = true;
56 invoke_callback_ = true; 58 invoke_callback_ = true;
57 CleanupIfSequenceCompleted(); 59 CleanupIfSequenceCompleted();
58 } 60 }
59 61
60 void SessionStateAnimator::AnimationSequence::OnAnimationAborted() { 62 void SessionStateAnimator::AnimationSequence::OnAnimationAborted() {
61 animation_completed_ = true; 63 animation_completed_ = true;
62 invoke_callback_ = false; 64 invoke_callback_ = false;
63 CleanupIfSequenceCompleted(); 65 CleanupIfSequenceCompleted();
64 } 66 }
65 67
66 void SessionStateAnimator::AnimationSequence::CleanupIfSequenceCompleted() { 68 void SessionStateAnimator::AnimationSequence::CleanupIfSequenceCompleted() {
67 if (sequence_ended_ && animation_completed_) { 69 if (sequence_ended_ && animation_completed_) {
68 if (invoke_callback_) 70 if (invoke_callback_)
69 callback_.Run(); 71 std::move(callback_).Run();
70 delete this; 72 delete this;
71 } 73 }
72 } 74 }
73 75
74 SessionStateAnimator::SessionStateAnimator() {} 76 SessionStateAnimator::SessionStateAnimator() {}
75 77
76 SessionStateAnimator::~SessionStateAnimator() {} 78 SessionStateAnimator::~SessionStateAnimator() {}
77 79
78 base::TimeDelta SessionStateAnimator::GetDuration( 80 base::TimeDelta SessionStateAnimator::GetDuration(
79 SessionStateAnimator::AnimationSpeed speed) { 81 SessionStateAnimator::AnimationSpeed speed) {
(...skipping 18 matching lines...) Expand all
98 case ANIMATION_SPEED_REVERT_SHUTDOWN: 100 case ANIMATION_SPEED_REVERT_SHUTDOWN:
99 return base::TimeDelta::FromMilliseconds(500); 101 return base::TimeDelta::FromMilliseconds(500);
100 } 102 }
101 // Satisfy compilers that do not understand that we will return from switch 103 // Satisfy compilers that do not understand that we will return from switch
102 // above anyway. 104 // above anyway.
103 DCHECK(false) << "Unhandled animation speed " << speed; 105 DCHECK(false) << "Unhandled animation speed " << speed;
104 return base::TimeDelta(); 106 return base::TimeDelta();
105 } 107 }
106 108
107 } // namespace ash 109 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/session_state_animator.h ('k') | ash/wm/session_state_animator_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698