New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 705037 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Apr 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Crash in WebCursor::GetPlatformCursor() in mash

Project Member Reported by sky@chromium.org, Mar 24 2017

Issue description

steps:

. search for sunnyvale house for rent
. click on zillow link
. move mouse over content

Soon there after get this crash:
[159964:159964:0324/122304.435389:FATAL:cursor_factory_ozone.cc(25)] Check failed: impl_. No CursorFactoryOzone implementation set.
#0 0x7f9efda2702b base::debug::StackTrace::StackTrace()
#1 0x7f9efda256fc base::debug::StackTrace::StackTrace()
#2 0x7f9efda8ba3c logging::LogMessage::~LogMessage()
#3 0x7f9eef12bbfc ui::CursorFactoryOzone::GetInstance()
#4 0x7f9ef6a5f189 content::WebCursor::GetPlatformCursor()
#5 0x7f9ef6a5ed24 content::WebCursor::GetNativeCursor()
#6 0x7f9ef7bee2d7 content::RenderWidgetHostViewAura::UpdateCursorIfOverSelf()
#7 0x7f9ef7bee117 content::RenderWidgetHostViewAura::UpdateCursor()
#8 0x7f9ef7bc4b8c content::RenderWidgetHostImpl::SetCursor()
#9 0x7f9ef7bc0672 content::RenderWidgetHostImpl::OnSetCursor()
#10 0x7f9ef7bd569d _ZN4base20DispatchToMethodImplIPN7content20RenderWidgetHostImplEMS2_FvRKNS1_9WebCursorEERKSt5tupleIJS4_EEJLm0EEEEvRKT_T0_OT1_NS_13IndexSequenceI\
JXspT2_EEEE
#11 0x7f9ef7bd55f0 _ZN4base16DispatchToMethodIPN7content20RenderWidgetHostImplEMS2_FvRKNS1_9WebCursorEERKSt5tupleIJS4_EEEEvRKT_T0_OT1_
#12 0x7f9ef7bd556f _ZN3IPC16DispatchToMethodIN7content20RenderWidgetHostImplEMS2_FvRKNS1_9WebCursorEEvSt5tupleIJS3_EEEEvPT_T0_PT1_RKT2_
#13 0x7f9ef7bcc5af _ZN3IPC8MessageTI26ViewHostMsg_SetCursor_MetaSt5tupleIJN7content9WebCursorEEEvE8DispatchINS3_20RenderWidgetHostImplES8_vMS8_FvRKS4_EEEbPKNS_7Mes\
sageEPT_PT0_PT1_T2_
#14 0x7f9ef7bbe236 content::RenderWidgetHostImpl::OnMessageReceived()
#15 0x7f9ef7b6fa47 content::RenderProcessHostImpl::OnMessageReceived()
#16 0x7f9efbf4d1c8 IPC::ChannelProxy::Context::OnDispatchMessage()
#17 0x7f9efbf52a5f _ZN4base8internal13FunctorTraitsIMN3IPC12ChannelProxy7ContextEFvRKNS2_7MessageEEvE6InvokeIRK13scoped_refptrIS4_EJS7_EEEvS9_OT_DpOT0_
#18 0x7f9efbf52946 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN3IPC12ChannelProxy7ContextEFvRKNS4_7MessageEEJRK13scoped_refptrIS6_ES9_EEEvOT_DpOT0_
#19 0x7f9efbf528d3 _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE7RunImplIRKSA_RKSt5tuple\
IJSC_S6_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#20 0x7f9efbf527ec _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE3RunEPNS0_13BindStateBas\
eE
#21 0x7f9efda2c6fe _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv
#22 0x7f9efda2bff1 base::debug::TaskAnnotator::RunTask()
#23 0x7f9efdab2a6e base::MessageLoop::RunTask()
#24 0x7f9efdab2ce4 base::MessageLoop::DeferOrRunPendingTask()
#25 0x7f9efdab2fd4 base::MessageLoop::DoWork()
#26 0x7f9efdac8fec base::MessagePumpLibevent::Run()
#27 0x7f9efdab2652 base::MessageLoop::RunHandler()
#28 0x7f9efdb55404 base::RunLoop::Run()
#29 0x7f9f009083c6 ChromeBrowserMainParts::MainMessageLoopRun()
#30 0x7f9ef7316e5b content::BrowserMainLoop::RunMainMessageLoopParts()
#31 0x7f9ef7324705 content::BrowserMainRunnerImpl::Run()
#32 0x7f9ef7310908 content::BrowserMain()
#33 0x7f9ef8a108c6 content::RunNamedProcessTypeMain()
#34 0x7f9ef8a1285e content::ContentMainRunnerImpl::Run()
#35 0x7f9ef8a0fd4a content::ContentServiceManagerMainDelegate::Run()
#36 0x7f9ee82aea1a service_manager::Main()
#37 0x7f9ef8a103bb content::ContentMain()
#38 0x7f9efea60476 ChromeMain
#39 0x7f9efea60332 main
#40 0x7f9ee850ef45 __libc_start_main
#41 0x7f9efea60235 <unknown>

 

Comment 1 by sky@chromium.org, Mar 24 2017

Labels: Proj-Mustash-Chrome

Comment 2 by e...@chromium.org, Mar 24 2017

There's several things going on in this bug.

- The content layer is trying to set a custom image cursor with ozone. To fix the *crash*, we just need to create something like a CursorFactoryOzoneMus in the mus client processes. This appears to be separate from the cursor paths that I did previously, though it does eventually feed into the cursor code at the aura layer.

- There's currently no support on the mus side for image cursors yet (that code predates bitmaps over the wire), but AFAICT, we just silently fail on this case instead of crash when we hit this case in the views code. To fix the *feature*, this needs to be implemented.
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc921013f0a8420393406ba8208321fb4c60229f

commit fc921013f0a8420393406ba8208321fb4c60229f
Author: erg <erg@chromium.org>
Date: Wed Mar 29 00:54:39 2017

mus: Rename mojom::Cursor to mojom::CursorType.

Previously, the enum which specified which type of cursor was used
mojom::Cursor. Rename that to mojom::CursorType so the next patch
can actually specify a mojom::Cursor struct for all cursor related
information.

BUG= 705037 
R=sky,tsepez
TBR=rjkroege

Review-Url: https://codereview.chromium.org/2784663003
Cr-Commit-Position: refs/heads/master@{#460252}

[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ash/mus/move_event_handler.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/content/renderer/mus/renderer_window_tree_client.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/content/renderer/mus/renderer_window_tree_client.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/mash/simple_wm/move_event_handler.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/public/interfaces/cursor.mojom
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/public/interfaces/window_manager.mojom
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/public/interfaces/window_tree.mojom
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/cursor_unittest.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/display.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/display.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/drag_controller.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/drag_controller.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/drag_controller_unittest.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/event_dispatcher.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/event_dispatcher.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/platform_display.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/platform_display_default.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/platform_display_default.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/server_window.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/server_window.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/server_window_observer.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/test_change_tracker.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/test_change_tracker.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/test_utils.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/test_utils.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/window_manager_state.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/window_manager_state_unittest.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/window_server.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/window_server.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/window_tree.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/window_tree.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/services/ui/ws/window_tree_unittest.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/mus/in_flight_change.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/mus/in_flight_change.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/mus/window_manager_delegate.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/mus/window_mus.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/test/mus/test_window_tree.cc
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/aura/test/mus/test_window_tree.h
[modify] https://crrev.com/fc921013f0a8420393406ba8208321fb4c60229f/ui/views/mus/desktop_window_tree_host_mus.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0c80ac5421d4b7f81595b525163d54b686ca8785

commit 0c80ac5421d4b7f81595b525163d54b686ca8785
Author: erg <erg@chromium.org>
Date: Tue Apr 04 19:25:17 2017

[aura-mus] Add ui::CursorData, with mojo serialization.

This creates a new ui::CursorData class which is a cross-platform way of
moving cursor descriptions over a mojo pipe. This maps to the new
ui.mojom.CursorData struct via added type traits. Finally, adds unit
tests for serialization.

BUG= 705037 

Review-Url: https://codereview.chromium.org/2786983003
Cr-Commit-Position: refs/heads/master@{#461801}

[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/ash/mus/move_event_handler.cc
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/mash/simple_wm/move_event_handler.cc
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/mojo/public/tools/bindings/chromium_bindings_configuration.gni
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/BUILD.gn
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/cursor/BUILD.gn
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/cursor/DEPS
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/cursor/OWNERS
[rename] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/cursor/cursor.mojom
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/cursor/cursor.typemap
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/cursor/cursor_struct_traits.cc
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/cursor/cursor_struct_traits.h
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/cursor/cursor_struct_traits_unittest.cc
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/cursor/typemaps.gni
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/window_manager.mojom
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/public/interfaces/window_tree.mojom
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/ws/display.cc
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/ws/drag_controller.cc
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/ws/drag_controller.h
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/ws/drag_controller_unittest.cc
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/ws/event_dispatcher.h
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/ws/platform_display.h
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/ws/server_window_observer.h
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/services/ui/ws/test_utils.cc
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/ui/aura/mus/window_manager_delegate.h
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/ui/aura/mus/window_mus.h
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/ui/base/BUILD.gn
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/ui/base/cursor/cursor_data.cc
[add] https://crrev.com/0c80ac5421d4b7f81595b525163d54b686ca8785/ui/base/cursor/cursor_data.h

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3

commit ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3
Author: erg <erg@chromium.org>
Date: Wed Apr 12 20:54:53 2017

[views-mus] Prevent creating a native OzonePlatform in mus tests.

In the views_mus_unittests, we were always creating a native
OzonePlatform instance. Sometimes this was used instead of mus for the
test body. In most cases, it was accessed during test setup. This
modifies the test code to not build an implicit OzonePlatform.

In normal mus builds of chrome, we do not run with an OzonePlatform and
instead manually initialize some of the objects that OzonePlatform
owns. This ensures that AuraTestHelper doesn't create a local
implementation using the same detection method that Env uses to flip
into aura-mus mode.

BUG= 705037 ,  710195 ,  710939 

Review-Url: https://codereview.chromium.org/2807833002
Cr-Commit-Position: refs/heads/master@{#464147}

[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ash/system/status_area_widget_unittest.cc
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/aura/env.cc
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/aura/mus/os_exchange_data_provider_mus_unittest.cc
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/aura/test/aura_test_helper.cc
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/base/dragdrop/os_exchange_data_provider_factory.cc
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/base/dragdrop/os_exchange_data_provider_factory.h
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/keyboard/keyboard_controller.cc
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/views/BUILD.gn
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/views/mus/views_mus_test_suite.cc
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/views/mus/views_mus_test_suite.h
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/views/test/widget_test_unittest.cc
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/views/views_test_suite.cc
[modify] https://crrev.com/ac2e0aeea11a2641dfca4d1b192bd1641b5cd5d3/ui/views/views_test_suite.h

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d05afac1ecd0d9808289a7151dcb68ae18940852

commit d05afac1ecd0d9808289a7151dcb68ae18940852
Author: erg <erg@chromium.org>
Date: Tue Apr 18 19:23:23 2017

[ozone,views-mus] Build CursorDataFactoryOzone.

This class is-a CursorFactoryOzone. It takes data from WebCursor and
parses it into a ui::CursorData, which is exposes through
PlatformCursor. The views layer has access to PlatformCursor and can
transmit this data to a remote process.

[Next patch: modify the mus bindings to take CursorData instead of a
CursorType.]

BUG= 705037 

Review-Url: https://codereview.chromium.org/2798883003
Cr-Commit-Position: refs/heads/master@{#465325}

[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/components/exo/pointer.cc
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/content/common/cursors/webcursor_ozone.cc
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/base/BUILD.gn
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/base/cursor/cursor_loader_ozone.cc
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h
[add] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/base/cursor/ozone/cursor_data_factory_ozone.cc
[add] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/base/cursor/ozone/cursor_data_factory_ozone.h
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/ozone/platform/x11/x11_cursor_factory_ozone.cc
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/ozone/platform/x11/x11_cursor_factory_ozone.h
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/ozone/public/cursor_factory_ozone.cc
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/ozone/public/cursor_factory_ozone.h
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/views/mus/BUILD.gn
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/views/mus/mus_client.cc
[modify] https://crrev.com/d05afac1ecd0d9808289a7151dcb68ae18940852/ui/views/mus/mus_client.h

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eeba7c6297fb07e155f3fef779a6ea448be621bd

commit eeba7c6297fb07e155f3fef779a6ea448be621bd
Author: erg <erg@chromium.org>
Date: Tue Apr 25 18:06:34 2017

Change ui cursor identifiers to an enum class.

ui::Cursor used to use ints across the codebase to identify
cursors. This patch changes that to an enum class, changes all usages of
these constants in chrome, and then creates an EnumTraits mapping of
this new enum to the mojo transport enum.

This means cursor enums are now validated when they previously were just
assumed to be correct.

BUG= 705037 
R=sky,tsepez
TBR=jam

Review-Url: https://codereview.chromium.org/2833163002
Cr-Commit-Position: refs/heads/master@{#467047}

[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/display/cursor_window_controller.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/display/cursor_window_controller.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/display/cursor_window_controller_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/display/mirror_window_controller_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/drag_drop/drag_drop_controller.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/extended_desktop_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/mus/move_event_handler.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/shell.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/test/mirror_window_test_api.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/test/mirror_window_test_api.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/utility/screenshot_controller.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/wm/ash_native_cursor_manager.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/wm/ash_native_cursor_manager_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/wm/resize_shadow_and_cursor_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/wm/toplevel_window_event_handler.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ash/wm/window_manager_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/components/exo/pointer.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/components/exo/shell_surface.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/components/exo/surface.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/components/exo/surface.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/content/common/cursors/webcursor_aura.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/extensions/shell/browser/shell_desktop_controller_aura.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/mash/simple_wm/move_event_handler.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/remoting/host/chromeos/mouse_cursor_monitor_aura.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/public/interfaces/cursor/cursor.mojom
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/public/interfaces/cursor/cursor_struct_traits.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/public/interfaces/cursor/cursor_struct_traits.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/public/interfaces/cursor/cursor_struct_traits_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/cursor_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/display.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/drag_controller.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/drag_controller_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/event_dispatcher.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/platform_display_default.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/server_window.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/test_utils.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/window_manager_state_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/services/ui/ws/window_tree_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/aura/test/test_cursor_client.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/aura/window_tree_host.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/aura/window_tree_host_platform.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/aura/window_tree_host_x11.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor_data.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor_data.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor_loader.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor_loader_ozone.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor_loader_ozone.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor_loader_win.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor_loader_win.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor_loader_x11.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursor_loader_x11.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursors_aura.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/cursors_aura.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/image_cursors.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/ozone/cursor_data_factory_ozone.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/base/cursor/ozone/cursor_data_factory_ozone.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/gfx/native_widget_types.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/ozone/platform/x11/x11_cursor_factory_ozone.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/ozone/platform/x11/x11_cursor_factory_ozone.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/ozone/public/cursor_factory_ozone.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/ozone/public/cursor_factory_ozone.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/views/controls/native/native_view_host_aura_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/views/native_cursor_aura.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/views/widget/desktop_aura/desktop_native_cursor_manager.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/views/widget/desktop_aura/desktop_native_cursor_manager.h
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/views/widget/desktop_aura/desktop_native_widget_aura_unittest.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/views/widget/desktop_aura/x11_whole_screen_move_loop.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/wm/core/compound_event_filter.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/wm/core/cursor_manager.cc
[modify] https://crrev.com/eeba7c6297fb07e155f3fef779a6ea448be621bd/ui/wm/core/cursor_manager_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4

commit a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4
Author: erg <erg@chromium.org>
Date: Fri Apr 28 02:06:34 2017

[views-mus] Support custom cursors.

This changes the mus interface to pass a CursorData instead of a
CursorType. The previous patch had mus clients create CursorDatas on
ozone platforms, and this patch passes CursorDatas across the mojo pipe
and passes it to the native ozone platform on the window server.

BUG= 705037 

Review-Url: https://codereview.chromium.org/2830703003
Cr-Commit-Position: refs/heads/master@{#467832}

[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ash/mus/move_event_handler.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/content/renderer/mus/renderer_window_tree_client.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/content/renderer/mus/renderer_window_tree_client.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/mash/simple_wm/move_event_handler.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/public/interfaces/cursor/cursor.mojom
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/public/interfaces/cursor/cursor_struct_traits_unittest.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/public/interfaces/window_manager.mojom
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/public/interfaces/window_tree.mojom
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/cursor_unittest.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/display.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/display.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/drag_controller.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/drag_controller.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/drag_controller_unittest.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/event_dispatcher.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/event_dispatcher.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/platform_display.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/platform_display_default.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/platform_display_default.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/server_window.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/server_window.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/server_window_observer.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/test_change_tracker.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/test_change_tracker.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/test_utils.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/test_utils.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/window_manager_state.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/window_manager_state_unittest.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/window_server.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/window_server.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/window_tree.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/window_tree.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/services/ui/ws/window_tree_unittest.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/mus/in_flight_change.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/mus/in_flight_change.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/mus/window_manager_delegate.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/mus/window_mus.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/test/mus/test_window_manager_client.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/test/mus/test_window_manager_client.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/test/mus/test_window_tree.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/aura/test/mus/test_window_tree.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/base/cursor/cursor_data.cc
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/base/cursor/cursor_data.h
[modify] https://crrev.com/a3cfe1428faf4f5bd556e5d9aa4924a7d0fb02f4/ui/views/mus/desktop_window_tree_host_mus.cc

Comment 9 by e...@chromium.org, Apr 28 2017

Status: Fixed (was: Assigned)
Labels: VerifyIn-61

Comment 11 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment