| Index: ui/views/mus/desktop_window_tree_host_mus.cc
|
| diff --git a/ui/views/mus/desktop_window_tree_host_mus.cc b/ui/views/mus/desktop_window_tree_host_mus.cc
|
| index a5ad059bb0cd3e03a9b9a199c8f5fd7492c03d6f..1d054acf685c69ca66204eba3cb872745f867e9b 100644
|
| --- a/ui/views/mus/desktop_window_tree_host_mus.cc
|
| +++ b/ui/views/mus/desktop_window_tree_host_mus.cc
|
| @@ -35,6 +35,10 @@
|
| #include "ui/wm/core/window_util.h"
|
| #include "ui/wm/public/activation_client.h"
|
|
|
| +#if defined(USE_OZONE)
|
| +#include "ui/base/cursor/ozone/cursor_data_factory_ozone.h"
|
| +#endif
|
| +
|
| namespace views {
|
|
|
| namespace {
|
| @@ -131,8 +135,21 @@ class NativeCursorManagerMus : public wm::NativeCursorManager {
|
|
|
| void SetCursor(gfx::NativeCursor cursor,
|
| wm::NativeCursorManagerDelegate* delegate) override {
|
| - aura::WindowPortMus::Get(window_)->SetPredefinedCursor(
|
| - ui::mojom::CursorType(cursor.native_type()));
|
| + ui::CursorData mojo_cursor;
|
| + if (cursor.platform()) {
|
| +#if defined(USE_OZONE)
|
| + mojo_cursor =
|
| + ui::CursorDataFactoryOzone::GetCursorData(cursor.platform());
|
| +#else
|
| + NOTIMPLEMENTED()
|
| + << "Can't pass native platform cursors on non-ozone platforms";
|
| + mojo_cursor = ui::CursorData(ui::CursorType::kPointer);
|
| +#endif
|
| + } else {
|
| + mojo_cursor = ui::CursorData(cursor.native_type());
|
| + }
|
| +
|
| + aura::WindowPortMus::Get(window_)->SetCursor(mojo_cursor);
|
| delegate->CommitCursor(cursor);
|
| }
|
|
|
| @@ -143,8 +160,8 @@ class NativeCursorManagerMus : public wm::NativeCursorManager {
|
| if (visible) {
|
| SetCursor(delegate->GetCursor(), delegate);
|
| } else {
|
| - aura::WindowPortMus::Get(window_)->SetPredefinedCursor(
|
| - ui::mojom::CursorType::kNone);
|
| + aura::WindowPortMus::Get(window_)->SetCursor(
|
| + ui::CursorData(ui::CursorType::kNone));
|
| }
|
| }
|
|
|
|
|