ui/base seems like it should be a component at the bottom most layer of ui/, i.e. anything within ui/ should be able to depend on ui/base. It feels like there is a case for some cleanup to be made here, namely break the dependency of ui/base to ui/events.
From my investigation, here’s a list of the code that needs to be refactored to break the dependency from ui/base to ui/events:
DragDropEvent
This change moved DragDropEvent to ui/base - https://codereview.chromium.org/23503086
Seems like this should be relatively straightforward and belongs in ui/events/. However, a bit of a chicken-and-egg factor here in that it can’t move to events until the dependency is broken so will have to be part of the last change
UserActivityDetector
This change moved UserActivityDetector to ui/base - https://codereview.chromium.org/833893003
Had negative feedback on putting it under ui/events/user_activity, and it wasn’t put into its own directory because the dev didn’t think it warranted its own new unittest binary
accelerators/
Accelerator::ToKeyEvent
- can pretty easily be moved to helper in events or even make a KeyEvent ctor that takes an Accelerator (once we invert the dependency)
GlobalMediaKeysListener/MediaKeysListener
- seems like it should move into its own directory (depends on events for KeyboardHook, depends on base for Accelerator, no direct tie in to anything in ui/base or ui/events and is a relatively high-level concept).
Comment 1 by dli...@microsoft.com
, Jan 14