| // Copyright (c) 2012 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_COMPOSITOR_TEST_TEST_UTILS_H_ |
| #define UI_COMPOSITOR_TEST_TEST_UTILS_H_ |
| |
| #include "base/time/time.h" |
| #include "third_party/abseil-cpp/absl/types/optional.h" |
| |
| namespace gfx { |
| class Rect; |
| class RoundedCornersF; |
| class Transform; |
| } |
| |
| namespace ui { |
| |
| class Compositor; |
| |
| void CheckApproximatelyEqual(const gfx::Transform& lhs, |
| const gfx::Transform& rhs); |
| void CheckApproximatelyEqual(const gfx::Rect& lhs, const gfx::Rect& rhs); |
| void CheckApproximatelyEqual(const gfx::RoundedCornersF& lhs, |
| const gfx::RoundedCornersF& rhs); |
| |
| // Runs a RunLoop until the next frame is presented with an optional timeout. |
| // Returns true if a frame is presented. Otherwise, returns false. |
| [[nodiscard]] bool WaitForNextFrameToBePresented( |
| ui::Compositor* compositor, |
| absl::optional<base::TimeDelta> timeout = absl::nullopt); |
| |
| } // namespace ui |
| |
| #endif // UI_COMPOSITOR_TEST_TEST_UTILS_H_ |