Chromium Code Reviews| Index: ui/ozone/platform/wayland/fake_server.cc |
| diff --git a/ui/ozone/platform/wayland/fake_server.cc b/ui/ozone/platform/wayland/fake_server.cc |
| index 03704a94d049c1a42dda143f8248e595858cb0e1..b9d89b1efcb7c3edb51a370d7d8b83147f59e2a7 100644 |
| --- a/ui/ozone/platform/wayland/fake_server.cc |
| +++ b/ui/ozone/platform/wayland/fake_server.cc |
| @@ -18,6 +18,7 @@ namespace wl { |
| namespace { |
| const uint32_t kCompositorVersion = 4; |
| +const uint32_t kOutputVersion = 2; |
| const uint32_t kSeatVersion = 4; |
| const uint32_t kXdgShellVersion = 1; |
| @@ -278,6 +279,17 @@ void Global::Bind(wl_client* client, |
| global->resource_ = resource; |
| wl_resource_set_implementation(resource, global->implementation_, global, |
| &Global::OnResourceDestroyed); |
| + |
| + if (global->interface_ == &wl_output_interface) { |
| + auto output = static_cast<MockOutput*>(data); |
| + gfx::Rect bounds = output->Display().bounds(); |
| + const char* kUnknownMake = "unknown"; |
| + const char* kUnknownModel = "unknown"; |
| + wl_output_send_geometry(resource, bounds.x(), bounds.y(), 0, 0, 0, |
| + kUnknownMake, kUnknownModel, 0); |
| + wl_output_send_mode(resource, WL_OUTPUT_MODE_CURRENT, bounds.width(), |
| + bounds.height(), 0); |
| + } |
|
Michael Forney
2016/06/14 00:55:18
Maybe instead you could add a virtual method to Gl
joone
2016/06/14 22:10:28
Done.
|
| } |
| // static |
| @@ -296,6 +308,11 @@ void MockCompositor::AddSurface(std::unique_ptr<MockSurface> surface) { |
| surfaces_.push_back(std::move(surface)); |
| } |
| +MockOutput::MockOutput() |
| + : Global(&wl_output_interface, nullptr, kOutputVersion) {} |
| + |
| +MockOutput::~MockOutput() {} |
| + |
| MockSeat::MockSeat() : Global(&wl_seat_interface, &seat_impl, kSeatVersion) {} |
| MockSeat::~MockSeat() {} |
| @@ -319,6 +336,10 @@ FakeServer::~FakeServer() { |
| Stop(); |
| } |
| +void FakeServer::AddDisplay(const display::Display& fake_display) { |
| + output_.SetDisplay(fake_display); |
| +} |
| + |
| bool FakeServer::Start() { |
| display_.reset(wl_display_create()); |
| if (!display_) |
| @@ -335,6 +356,8 @@ bool FakeServer::Start() { |
| return false; |
| if (!compositor_.Initialize(display_.get())) |
| return false; |
| + if (!output_.Initialize(display_.get())) |
| + return false; |
| if (!seat_.Initialize(display_.get())) |
| return false; |
| if (!xdg_shell_.Initialize(display_.get())) |