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

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

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/lock_state_controller.cc ('k') | ash/wm/session_state_animator.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 #ifndef ASH_WM_SESSION_STATE_ANIMATOR_H_ 5 #ifndef ASH_WM_SESSION_STATE_ANIMATOR_H_
6 #define ASH_WM_SESSION_STATE_ANIMATOR_H_ 6 #define ASH_WM_SESSION_STATE_ANIMATOR_H_
7 7
8 #include "ash/ash_export.h" 8 #include "ash/ash_export.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 // when the animation sequence has completed. No more animations should be 136 // when the animation sequence has completed. No more animations should be
137 // started after EndSequence is called because the AnimationSequenceObserver 137 // started after EndSequence is called because the AnimationSequenceObserver
138 // may have destroyed itself. 138 // may have destroyed itself.
139 // NOTE: Clients of AnimationSequence should not access it after EndSequence 139 // NOTE: Clients of AnimationSequence should not access it after EndSequence
140 // has been called. 140 // has been called.
141 virtual void EndSequence(); 141 virtual void EndSequence();
142 142
143 protected: 143 protected:
144 // AnimationSequence should not be instantiated directly, only through 144 // AnimationSequence should not be instantiated directly, only through
145 // subclasses. 145 // subclasses.
146 explicit AnimationSequence(base::Closure callback); 146 explicit AnimationSequence(base::OnceClosure callback);
147 147
148 // Subclasses should call this when the contained animations completed 148 // Subclasses should call this when the contained animations completed
149 // successfully. 149 // successfully.
150 // NOTE: This should NOT be accessed after OnAnimationCompleted has been 150 // NOTE: This should NOT be accessed after OnAnimationCompleted has been
151 // called. 151 // called.
152 virtual void OnAnimationCompleted(); 152 virtual void OnAnimationCompleted();
153 153
154 // Subclasses should call this when the contained animations did NOT 154 // Subclasses should call this when the contained animations did NOT
155 // complete successfully. 155 // complete successfully.
156 // NOTE: This should NOT be accessed after OnAnimationAborted has been 156 // NOTE: This should NOT be accessed after OnAnimationAborted has been
(...skipping 10 matching lines...) Expand all
167 167
168 // Track whether the contained animations have completed or not, both 168 // Track whether the contained animations have completed or not, both
169 // successfully and unsuccessfully. 169 // successfully and unsuccessfully.
170 bool animation_completed_; 170 bool animation_completed_;
171 171
172 // Flag to specify whether the callback should be invoked once the sequence 172 // Flag to specify whether the callback should be invoked once the sequence
173 // has completed. 173 // has completed.
174 bool invoke_callback_; 174 bool invoke_callback_;
175 175
176 // Callback to be called. 176 // Callback to be called.
177 base::Closure callback_; 177 base::OnceClosure callback_;
178 178
179 DISALLOW_COPY_AND_ASSIGN(AnimationSequence); 179 DISALLOW_COPY_AND_ASSIGN(AnimationSequence);
180 }; 180 };
181 181
182 SessionStateAnimator(); 182 SessionStateAnimator();
183 virtual ~SessionStateAnimator(); 183 virtual ~SessionStateAnimator();
184 184
185 // Reports animation duration for |speed|. 185 // Reports animation duration for |speed|.
186 virtual base::TimeDelta GetDuration(AnimationSpeed speed); 186 virtual base::TimeDelta GetDuration(AnimationSpeed speed);
187 187
188 // Apply animation |type| to all containers included in |container_mask| with 188 // Apply animation |type| to all containers included in |container_mask| with
189 // specified |speed|. 189 // specified |speed|.
190 virtual void StartAnimation(int container_mask, 190 virtual void StartAnimation(int container_mask,
191 AnimationType type, 191 AnimationType type,
192 AnimationSpeed speed) = 0; 192 AnimationSpeed speed) = 0;
193 193
194 // Apply animation |type| to all containers included in |container_mask| with 194 // Apply animation |type| to all containers included in |container_mask| with
195 // specified |speed| and call a |callback| once at the end of the animations, 195 // specified |speed| and call a |callback| once at the end of the animations,
196 // if it is not null. 196 // if it is not null.
197 virtual void StartAnimationWithCallback(int container_mask, 197 virtual void StartAnimationWithCallback(int container_mask,
198 AnimationType type, 198 AnimationType type,
199 AnimationSpeed speed, 199 AnimationSpeed speed,
200 base::Closure callback) = 0; 200 base::OnceClosure callback) = 0;
201 201
202 // Begins an animation sequence. Use this when you need to be notified when 202 // Begins an animation sequence. Use this when you need to be notified when
203 // a group of animations are completed. See AnimationSequence documentation 203 // a group of animations are completed. See AnimationSequence documentation
204 // for more details. 204 // for more details.
205 virtual AnimationSequence* BeginAnimationSequence(base::Closure callback) = 0; 205 virtual AnimationSequence* BeginAnimationSequence(
206 base::OnceClosure callback) = 0;
206 207
207 // Retruns true if the wallpaper is hidden. 208 // Retruns true if the wallpaper is hidden.
208 virtual bool IsWallpaperHidden() const = 0; 209 virtual bool IsWallpaperHidden() const = 0;
209 210
210 // Shows the wallpaper immediately. 211 // Shows the wallpaper immediately.
211 virtual void ShowWallpaper() = 0; 212 virtual void ShowWallpaper() = 0;
212 213
213 // Hides the wallpaper immediately. 214 // Hides the wallpaper immediately.
214 virtual void HideWallpaper() = 0; 215 virtual void HideWallpaper() = 0;
215 216
216 private: 217 private:
217 DISALLOW_COPY_AND_ASSIGN(SessionStateAnimator); 218 DISALLOW_COPY_AND_ASSIGN(SessionStateAnimator);
218 }; 219 };
219 220
220 } // namespace ash 221 } // namespace ash
221 222
222 #endif // ASH_WM_SESSION_STATE_ANIMATOR_H_ 223 #endif // ASH_WM_SESSION_STATE_ANIMATOR_H_
OLDNEW
« no previous file with comments | « ash/wm/lock_state_controller.cc ('k') | ash/wm/session_state_animator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698