New issue
Advanced search Search tips

Issue 695008 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature

Blocking:
issue 695006



Sign in to add a comment

Determine how to eliminate //content's browser_main_loop.cc needing to call directly into GamepadService

Project Member Reported by blundell@chromium.org, Feb 22 2017

Issue description

To host the Gamepad Mojo interfaces in the Device Service, the Device Service should also be responsible for shutting down the GamepadService for the appropriate time.

That shutdown currently occurs in //content's browser_main_loop.cc, with a comment saying that that shutdown has to occur after the IO thread shuts down, which is in turn after the service manager and Device Service shut down. Given that comment, it's unclear how to move this shutdown into the Device Service.
 
Update: Per the discussion here: https://groups.google.com/a/chromium.org/forum/#!topic/services-dev/Y9FKZf9n1ls, the approach to be taken in this case is to move the shutdown in question to happen on the IO thread, keyed off that thread's destruction via MessageLoopObserver. This will remove the direct dependency from browser_main_loop.cc to GamepadService.
Components: Blink>GamepadAPI
Labels: -Pri-2 Pri-3
Cc: jam@chromium.org blundell@chromium.org
Labels: -Type-Bug OS-All Type-Feature
Owner: mattreynolds@chromium.org
Status: Started (was: Available)
Cc: reillyg@chromium.org gab@chromium.org
Note that the approach we took in a similar case (https://codereview.chromium.org/2730333002) turns out to conflict with Lucky Luke's goal of removing MessageLoop::DestructionObserver (https://groups.google.com/a/chromium.org/forum/#!topic/services-dev/Y9FKZf9n1ls). However, we didn't come up with an alternative design while discussing this general problem (see that linked thread). Given this new information about Lucky Luke, the first question is: Can we eliminate GamepadService shutdown altogether?

Comment 6 Deleted

Comment 7 by scheib@chromium.org, May 31 2017

Status: Available (was: Started)
Components: Internals>Services>Device
Status: Assigned (was: Available)

Sign in to add a comment