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

Unified Diff: ui/base/animation/animation_container_test_helper.h

Issue 11453012: Fix black background when locking with fullscreen window: (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Mock TimeTicks::Now() Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: ui/base/animation/animation_container_test_helper.h
diff --git a/ui/base/animation/animation_container_test_helper.h b/ui/base/animation/animation_container_test_helper.h
new file mode 100644
index 0000000000000000000000000000000000000000..fd833de4f3a43c71c9fe08d00a66a06b2a6429f1
--- /dev/null
+++ b/ui/base/animation/animation_container_test_helper.h
@@ -0,0 +1,52 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_BASE_ANIMATION_ANIMATION_CONTAINER_TEST_HELPER_H_
+#define UI_BASE_ANIMATION_ANIMATION_CONTAINER_TEST_HELPER_H_
+
+#include "base/test/scoped_time_controller.h"
+#include "base/time.h"
+#include "ui/base/animation/animation_container.h"
+#include "ui/base/ui_export.h"
+
+namespace ui {
+namespace test {
+
+// This class can be used in tests for fine control over animations.
+
+class UI_EXPORT AnimationContainerTestHelper {
+ public:
+ // Creates helper for given container. Container is now driven by this
+ // helper rather than by internal timer.
+ explicit AnimationContainerTestHelper(AnimationContainer* container);
+ virtual ~AnimationContainerTestHelper() {};
sky 2012/12/10 22:20:16 Why the virtual? And don't inline and remove ;
Denis Kuznetsov (DE-MUC) 2012/12/11 13:27:57 So that there are no warnings if it is used with s
sky 2012/12/11 16:44:17 scoped_ptr shouldn't require a virtual destructor.
+
+ // Advances AnimationContainer for |delta|.
+ void Advance(base::TimeDelta delta);
+
+ // Returns if AnimationContainer is animating.
+ bool IsAnimating();
+
+ // Forwards in large steps (1 second) while there are any animations running.
+ // Use it before deleting Helper to avoid negative time delta in animations
+ // once timer gets cleaned up.
+ void AdvanceWhileRunning();
sky 2012/12/10 22:20:16 How about AdvanceUntilDone.
Denis Kuznetsov (DE-MUC) 2012/12/11 13:27:57 Done.
+
+ // Calls Run method of Container without advancing time. Call this method once
+ // some animations were added to container so that any immediate animations
+ // get processed.
+ void Ping();
sky 2012/12/10 22:20:16 Is there a reason this is needed instead of Advanc
Denis Kuznetsov (DE-MUC) 2012/12/11 13:27:57 Done.
+
+ private:
+ AnimationContainer* container_;
+
+ scoped_ptr<base::test::ScopedTimeController> time_controller_;
sky 2012/12/10 22:20:16 Declare this by value (eg not in a scoped_ptr).
Denis Kuznetsov (DE-MUC) 2012/12/11 13:27:57 Done.
+
+ DISALLOW_COPY_AND_ASSIGN(AnimationContainerTestHelper);
+};
+
+} // namespace test
+} // namespace ui
+
+#endif // UI_BASE_ANIMATION_ANIMATION_CONTAINER_TEST_HELPER_H_

Powered by Google App Engine
This is Rietveld 408576698