| Index: ui/ozone/platform/dri/test/mock_dri_wrapper.cc
|
| diff --git a/ui/ozone/platform/dri/test/mock_dri_wrapper.cc b/ui/ozone/platform/dri/test/mock_dri_wrapper.cc
|
| index 7acf06ab2060a5cf2626a13ace7014369cd36f86..4ea9dea46f45b8fe4f28f2dc224bc9e7d12daa51 100644
|
| --- a/ui/ozone/platform/dri/test/mock_dri_wrapper.cc
|
| +++ b/ui/ozone/platform/dri/test/mock_dri_wrapper.cc
|
| @@ -9,7 +9,6 @@
|
|
|
| #include "base/logging.h"
|
| #include "third_party/skia/include/core/SkCanvas.h"
|
| -#include "ui/ozone/platform/dri/crtc_controller.h"
|
| #include "ui/ozone/platform/dri/hardware_display_plane_manager_legacy.h"
|
|
|
| namespace ui {
|
| @@ -41,7 +40,7 @@ class MockHardwareDisplayPlaneManager
|
| } // namespace
|
|
|
| MockDriWrapper::MockDriWrapper(int fd)
|
| - : DriWrapper(""),
|
| + : DriWrapper("", true),
|
| get_crtc_call_count_(0),
|
| set_crtc_call_count_(0),
|
| restore_crtc_call_count_(0),
|
| @@ -49,7 +48,6 @@ MockDriWrapper::MockDriWrapper(int fd)
|
| remove_framebuffer_call_count_(0),
|
| page_flip_call_count_(0),
|
| overlay_flip_call_count_(0),
|
| - handle_events_count_(0),
|
| set_crtc_expectation_(true),
|
| add_framebuffer_expectation_(true),
|
| page_flip_expectation_(true),
|
| @@ -60,9 +58,10 @@ MockDriWrapper::MockDriWrapper(int fd)
|
| }
|
|
|
| MockDriWrapper::MockDriWrapper(int fd,
|
| + bool software_mode,
|
| std::vector<uint32_t> crtcs,
|
| size_t planes_per_crtc)
|
| - : DriWrapper(""),
|
| + : DriWrapper("", software_mode),
|
| get_crtc_call_count_(0),
|
| set_crtc_call_count_(0),
|
| restore_crtc_call_count_(0),
|
| @@ -70,7 +69,6 @@ MockDriWrapper::MockDriWrapper(int fd,
|
| remove_framebuffer_call_count_(0),
|
| page_flip_call_count_(0),
|
| overlay_flip_call_count_(0),
|
| - handle_events_count_(0),
|
| set_crtc_expectation_(true),
|
| add_framebuffer_expectation_(true),
|
| page_flip_expectation_(true),
|
| @@ -137,10 +135,16 @@ ScopedDrmFramebufferPtr MockDriWrapper::GetFramebuffer(uint32_t framebuffer) {
|
|
|
| bool MockDriWrapper::PageFlip(uint32_t crtc_id,
|
| uint32_t framebuffer,
|
| - void* data) {
|
| + const PageFlipCallback& callback) {
|
| page_flip_call_count_++;
|
| current_framebuffer_ = framebuffer;
|
| - controllers_.push(static_cast<ui::CrtcController*>(data));
|
| + if (page_flip_expectation_) {
|
| + if (software_mode_)
|
| + callback.Run(0, 0, 0);
|
| + else
|
| + callbacks_.push(callback);
|
| + }
|
| +
|
| return page_flip_expectation_;
|
| }
|
|
|
| @@ -184,13 +188,6 @@ bool MockDriWrapper::MoveCursor(uint32_t crtc_id, const gfx::Point& point) {
|
| return true;
|
| }
|
|
|
| -void MockDriWrapper::HandleEvent(drmEventContext& event) {
|
| - CHECK(!controllers_.empty());
|
| - controllers_.front()->OnPageFlipEvent(0, 0, 0);
|
| - controllers_.pop();
|
| - handle_events_count_++;
|
| -}
|
| -
|
| bool MockDriWrapper::CreateDumbBuffer(const SkImageInfo& info,
|
| uint32_t* handle,
|
| uint32_t* stride,
|
| @@ -215,4 +212,12 @@ void MockDriWrapper::DestroyDumbBuffer(const SkImageInfo& info,
|
| delete[] static_cast<char*>(pixels);
|
| }
|
|
|
| +void MockDriWrapper::RunCallbacks() {
|
| + while (!callbacks_.empty()) {
|
| + PageFlipCallback callback = callbacks_.front();
|
| + callbacks_.pop();
|
| + callback.Run(0, 0, 0);
|
| + }
|
| +}
|
| +
|
| } // namespace ui
|
|
|