As part of completing the Device Service and eliminating //device, we need to eliminate //device/base. This work will be best done as an end stage of the Device Service work (i.e., when all the device features have been servicified). At that point, it should be relatively straightforward:
- DeviceClient will presumably be a dead interface that can be eliminated.
- It looks like DeviceInfoQueryWin and DeviceMonitorWin are used only in //device, so they can just be moved into //services/device to be part of the Device Service internal implementation.
- DeviceMonitorLinux is owned by //content's browser_main_loop but it looks like it's used only within //device. We will need to change it to be owned by the Device Service and then it can be moved to be part of the Device Service internal implementation.
- //device/base/synchronization is shared by //device feature impls and their clients. It can become a client library of the Device Service.
Further analysis will be required for DeviceInfoQueryWin, DeviceMonitorWin, DeviceMonitorLinux to make sure that they're not somehow used in some subtle way from outside //device.
Comment 1 by blundell@chromium.org
, Nov 7 2017