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

Issue 725044 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Dec 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocking:
issue 709301



Sign in to add a comment

Change calls to GeolocationProvider::UserDidOptIntoLocationServices() to occur via Mojo

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

Issue description

Add a Mojo interface via which the browser process can inform the geolocation service that the user opted in to location tracking. Allow only the content_browser service to connect to this interface. Change //chrome's call to UserDidOptIntoLocationServices() to occur via this interface.

Note that this will have to be ordered wrt the actual call to connect to geolocation so that by the time the Geolocation Services receives the request for a geolocation connection it has already received the information that the user has opted in.

 
Components: Blink>Location
Labels: DeviceService OS-All
Blocking: 709301
Components: Blink>Geolocation
Components: -Blink>Location
Update: It's not clear whether we should take this approach or change this check to be made at the GeolocationServiceImpl level, in which case it could stay a C++ call.
Components: Internals>Services>Device

Comment 7 by ke...@intel.com, Nov 9 2017

Owner: ke...@intel.com
Status: Started (was: Available)

Comment 8 by jochen@chromium.org, Nov 24 2017

Components: Privacy
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 18 2017

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

commit 0be22baf2251b72e634497f7208842db88337c9a
Author: Ke He <ke.he@intel.com>
Date: Mon Dec 18 05:12:38 2017

Change calls to GeolocationProvider::UserDidOptIntoLocationServices() to occur via Mojo.

Add the GeolocationControl mojo interface via which the chrome can inform
the geolocation-core that user opted in to location tracking.

Note that both the GeolocationServiceImpl from content and the
GeolocationPermissionContext from chrome have their own mojo connections to
Device Service. However, races are not an issue, as the Geolocation
implementation is already equipped to handle the case where requests for
geolocation come in prior to permission being granted by queuing those requests
and then unblocking them on granting of permission.

BUG= 725044 

Change-Id: I7e53f9cfd5698d09e4860ed7c869bcbd6991857a
Reviewed-on: https://chromium-review.googlesource.com/760239
Commit-Queue: Ke He <ke.he@intel.com>
Reviewed-by: Tim Volodine <timvolodine@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Will Harris <wfh@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524652}
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/chrome/browser/DEPS
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/chrome/browser/chrome_content_browser_manifest_overlay.json
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/chrome/browser/geolocation/geolocation_permission_context.cc
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/chrome/browser/geolocation/geolocation_permission_context.h
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/device/geolocation/geolocation_provider.h
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/device/geolocation/geolocation_provider_impl.cc
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/device/geolocation/geolocation_provider_impl.h
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/device/geolocation/public/interfaces/BUILD.gn
[add] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/device/geolocation/public/interfaces/geolocation_control.mojom
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/services/device/device_service.cc
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/services/device/device_service.h
[modify] https://crrev.com/0be22baf2251b72e634497f7208842db88337c9a/services/device/manifest.json

Comment 10 by ke...@intel.com, Dec 18 2017

Status: Fixed (was: Started)

Sign in to add a comment