| Index: ui/ozone/platform/dri/dri_window_delegate_impl_unittest.cc
|
| diff --git a/ui/ozone/platform/dri/dri_window_delegate_impl_unittest.cc b/ui/ozone/platform/dri/dri_window_delegate_impl_unittest.cc
|
| index f6c55705349f6975a4bf4508b7ba7b233abd9340..95068bd0666149b536a8d6080cf77e81e59ae1db 100644
|
| --- a/ui/ozone/platform/dri/dri_window_delegate_impl_unittest.cc
|
| +++ b/ui/ozone/platform/dri/dri_window_delegate_impl_unittest.cc
|
| @@ -32,6 +32,19 @@ const uint32_t kDefaultCrtc = 1;
|
| const uint32_t kDefaultConnector = 2;
|
| const int kDefaultCursorSize = 64;
|
|
|
| +std::vector<skia::RefPtr<SkSurface>> GetCursorBuffers(
|
| + const scoped_refptr<ui::MockDriWrapper> drm) {
|
| + std::vector<skia::RefPtr<SkSurface>> cursor_buffers;
|
| + for (const skia::RefPtr<SkSurface>& cursor_buffer : drm->buffers()) {
|
| + if (cursor_buffer->width() == kDefaultCursorSize &&
|
| + cursor_buffer->height() == kDefaultCursorSize) {
|
| + cursor_buffers.push_back(cursor_buffer);
|
| + }
|
| + }
|
| +
|
| + return cursor_buffers;
|
| +}
|
| +
|
| } // namespace
|
|
|
| class DriWindowDelegateImplTest : public testing::Test {
|
| @@ -70,6 +83,8 @@ void DriWindowDelegateImplTest::SetUp() {
|
| drm_device_manager_.get(),
|
| screen_manager_.get()));
|
| window_delegate->Initialize();
|
| + window_delegate->OnBoundsChanged(
|
| + gfx::Rect(gfx::Size(kDefaultMode.hdisplay, kDefaultMode.vdisplay)));
|
| window_delegate_manager_->AddWindowDelegate(kDefaultWidgetHandle,
|
| window_delegate.Pass());
|
| }
|
| @@ -94,14 +109,7 @@ TEST_F(DriWindowDelegateImplTest, SetCursorImage) {
|
| ->SetCursor(cursor_bitmaps, gfx::Point(4, 2), 0);
|
|
|
| SkBitmap cursor;
|
| - std::vector<skia::RefPtr<SkSurface>> cursor_buffers;
|
| - for (const skia::RefPtr<SkSurface>& cursor_buffer : dri_->buffers()) {
|
| - if (cursor_buffer->width() == kDefaultCursorSize &&
|
| - cursor_buffer->height() == kDefaultCursorSize) {
|
| - cursor_buffers.push_back(cursor_buffer);
|
| - }
|
| - }
|
| -
|
| + std::vector<skia::RefPtr<SkSurface>> cursor_buffers = GetCursorBuffers(dri_);
|
| EXPECT_EQ(2u, cursor_buffers.size());
|
|
|
| // Buffers 1 is the cursor backbuffer we just drew in.
|
| @@ -119,3 +127,20 @@ TEST_F(DriWindowDelegateImplTest, SetCursorImage) {
|
| }
|
| }
|
| }
|
| +
|
| +TEST_F(DriWindowDelegateImplTest, CheckCursorSurfaceAfterChangingDevice) {
|
| + // Add another device.
|
| + scoped_refptr<ui::MockDriWrapper> drm = new ui::MockDriWrapper();
|
| + screen_manager_->AddDisplayController(drm, kDefaultCrtc, kDefaultConnector);
|
| + screen_manager_->ConfigureDisplayController(
|
| + drm, kDefaultCrtc, kDefaultConnector,
|
| + gfx::Point(0, kDefaultMode.vdisplay), kDefaultMode);
|
| +
|
| + // Move window to the display on the new device.
|
| + window_delegate_manager_->GetWindowDelegate(kDefaultWidgetHandle)
|
| + ->OnBoundsChanged(gfx::Rect(0, kDefaultMode.vdisplay,
|
| + kDefaultMode.hdisplay,
|
| + kDefaultMode.vdisplay));
|
| +
|
| + EXPECT_EQ(2u, GetCursorBuffers(drm).size());
|
| +}
|
|
|