New issue
Advanced search Search tips
Starred by 29 users

Issue metadata

Status: WontFix
Owner:
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Launch-OWP
Launch-Accessibility: ----
Launch-Exp-Leadership: ----
Launch-Leadership: ----
Launch-Legal: ----
Launch-M-Approved: ----
Launch-M-Target: ----
Launch-Privacy: ----
Launch-Security: ----
Launch-Test: ----
Launch-UI: ----

Restricted
  • Only users with Commit permission may comment.



Sign in to add a comment
link

Issue 383125: Implement Geofencing API

Reported by mek@chromium.org, Jun 10 2014 Project Member

Issue description

Change description:
The Geofencing API is an extension of the Geolocation API allowing web applications to setup boundaries around specific locations and then receive notifications when the user enters or leaves those areas.

Changes to API surface:
* add navigator.geolocation.registerRegion
* add navigator.geolocation.deregisterRegion
* add navigator.geolocation.getRegisteredRegions
* add regionenter and regionexit events
* somehow expose this to ServiceWorkers as well

Links:
https://gist.github.com/kalman/821df370e6c019d58cc9

Support in other browsers:
Internet Explorer: No public signal
Firefox: No public signal
Safari: No public signal
 

Comment 1 by peter@chromium.org, Jul 14 2014

Cc: mvanouwe...@chromium.org peter@chromium.org

Comment 2 by bugdroid1@chromium.org, Jul 14 2014

Project Member
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=178052

------------------------------------------------------------------
r178052 | mek@chromium.org | 2014-07-14T12:58:48.886625Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Geolocation/geofencing-not-implemented.html?r1=178052&r2=178051&pathrev=178052
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/Geolocation.idl?r1=178052&r2=178051&pathrev=178052
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=178052&r2=178051&pathrev=178052
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=178052&r2=178051&pathrev=178052
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/CircularRegion.idl?r1=178052&r2=178051&pathrev=178052
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/GeofencingRegion.idl?r1=178052&r2=178051&pathrev=178052
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Geolocation/geofencing-not-implemented-expected.txt?r1=178052&r2=178051&pathrev=178052
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-constructors-listing-expected.txt?r1=178052&r2=178051&pathrev=178052
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/Geolocation.cpp?r1=178052&r2=178051&pathrev=178052
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/window-properties-geolocation-expected.txt?r1=178052&r2=178051&pathrev=178052
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/CircularRegion.cpp?r1=178052&r2=178051&pathrev=178052
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/Geolocation.h?r1=178052&r2=178051&pathrev=178052
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/CircularRegion.h?r1=178052&r2=178051&pathrev=178052
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/GeofencingRegion.h?r1=178052&r2=178051&pathrev=178052
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-constructors-listing-dedicated-worker-expected.txt?r1=178052&r2=178051&pathrev=178052
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-constructors-listing-shared-worker-expected.txt?r1=178052&r2=178051&pathrev=178052

Add the first very basic bits of a geofencing API.

Just adding the various methods on navigator.geolocation, which currently all always fail.

BUG= 383125 

Review URL: https://codereview.chromium.org/375353002
-----------------------------------------------------------------

Comment 3 by bugdroid1@chromium.org, Aug 7 2014

Project Member
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=179669

------------------------------------------------------------------
r179669 | mek@chromium.org | 2014-08-07T01:02:04.008400Z

Changed paths:
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/CircularRegion.idl?r1=179669&r2=179668&pathrev=179669
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/GeofencingRegion.idl?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/CircularRegion.idl?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingRegion.idl?r1=179669&r2=179668&pathrev=179669
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Geolocation/geofencing-not-implemented-expected.txt?r1=179669&r2=179668&pathrev=179669
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/Geolocation.cpp?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/Geofencing.cpp?r1=179669&r2=179668&pathrev=179669
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/window-properties-geolocation-expected.txt?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/NavigatorGeofencing.idl?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/geofencing?r1=179669&r2=179668&pathrev=179669
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/CircularRegion.cpp?r1=179669&r2=179668&pathrev=179669
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/Geolocation.h?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/CircularRegion.cpp?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/Geofencing.h?r1=179669&r2=179668&pathrev=179669
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/GeofencingRegion.h?r1=179669&r2=179668&pathrev=179669
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/CircularRegion.h?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/CircularRegion.h?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingRegion.h?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/geofencing/geofencing-not-implemented.html?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/NavigatorGeofencing.cpp?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/NavigatorGeofencing.h?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/geofencing/geofencing-not-implemented-expected.txt?r1=179669&r2=179668&pathrev=179669
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geolocation/Geolocation.idl?r1=179669&r2=179668&pathrev=179669
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Geolocation/geofencing-not-implemented.html?r1=179669&r2=179668&pathrev=179669
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=179669&r2=179668&pathrev=179669
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/Geofencing.idl?r1=179669&r2=179668&pathrev=179669

Move all geofencing code into its own module separate from geolocation.

BUG= 383125 

Review URL: https://codereview.chromium.org/401713005
-----------------------------------------------------------------

Comment 4 by bugdroid1@chromium.org, Sep 10 2014

Project Member
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=181755

------------------------------------------------------------------
r181755 | mek@chromium.org | 2014-09-10T18:59:44.836509Z

Changed paths:
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/CircularRegion.idl?r1=181755&r2=181754&pathrev=181755
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingRegion.idl?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/WorkerNavigatorGeofencing.idl?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/CircularGeofencingRegion.h?r1=181755&r2=181754&pathrev=181755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-constructors-listing-expected.txt?r1=181755&r2=181754&pathrev=181755
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/Geofencing.cpp?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/WebGeofencingError.h?r1=181755&r2=181754&pathrev=181755
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/CircularRegion.cpp?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/WebGeofencingProvider.h?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/WorkerNavigatorGeofencing.cpp?r1=181755&r2=181754&pathrev=181755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/geofencing/geofencing-not-implemented.html?r1=181755&r2=181754&pathrev=181755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-constructors-listing-dedicated-worker-expected.txt?r1=181755&r2=181754&pathrev=181755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-constructors-listing-shared-worker-expected.txt?r1=181755&r2=181754&pathrev=181755
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/CircularRegion.h?r1=181755&r2=181754&pathrev=181755
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingRegion.h?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/WorkerNavigatorGeofencing.h?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingError.cpp?r1=181755&r2=181754&pathrev=181755
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/Platform.h?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/CircularGeofencingRegion.idl?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingError.h?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/WebCircularGeofencingRegion.h?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/WebGeofencingRegistration.h?r1=181755&r2=181754&pathrev=181755
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=181755&r2=181754&pathrev=181755
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/CircularGeofencingRegion.cpp?r1=181755&r2=181754&pathrev=181755

Pass through geofencing API calls to the content layer.

BUG= 383125 

Review URL: https://codereview.chromium.org/464073002
-----------------------------------------------------------------

Comment 6 by bugdroid1@chromium.org, Oct 2 2014

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d

commit 5741bc85329c968d4590ceba67148b1dced8621d
Author: mek <mek@chromium.org>
Date: Thu Oct 02 20:38:22 2014

Pass through geofencing API calls to the browser process.

BUG= 383125 

Review URL: https://codereview.chromium.org/476293002

Cr-Commit-Position: refs/heads/master@{#297892}

[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/browser/DEPS
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/browser/geofencing/geofencing_dispatcher_host.cc
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/browser/geofencing/geofencing_dispatcher_host.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/blink_platform_impl.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/blink_platform_impl.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/child_thread.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/child_thread.h
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/geofencing/geofencing_dispatcher.cc
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/geofencing/geofencing_dispatcher.h
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/geofencing/geofencing_message_filter.cc
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/geofencing/geofencing_message_filter.h
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/geofencing/web_geofencing_provider_impl.cc
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/child/geofencing/web_geofencing_provider_impl.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/common/DEPS
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/common/content_message_generator.h
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/common/geofencing_messages.h
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/common/geofencing_status.cc
[add] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/common/geofencing_status.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/content_browser.gypi
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/content_child.gypi
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/content/content_common.gypi
[modify] https://chromium.googlesource.com/chromium/src.git/+/5741bc85329c968d4590ceba67148b1dced8621d/ipc/ipc_message_start.h

Comment 7 by bugdroid1@chromium.org, Oct 8 2014

Project Member
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=183426

------------------------------------------------------------------
r183426 | mek@chromium.org | 2014-10-08T19:41:15.072890Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/ServiceWorkerGlobalScopeGeofencing.h?r1=183426&r2=183425&pathrev=183426
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/ServiceWorkerGlobalScopeGeofencing.idl?r1=183426&r2=183425&pathrev=183426
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/WebGeofencingEventType.h?r1=183426&r2=183425&pathrev=183426
   M http://src.chromium.org/viewvc/blink/trunk/public/web/WebServiceWorkerContextProxy.h?r1=183426&r2=183425&pathrev=183426
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingEvent.cpp?r1=183426&r2=183425&pathrev=183426
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/ServiceWorkerGlobalScopeProxy.cpp?r1=183426&r2=183425&pathrev=183426
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=183426&r2=183425&pathrev=183426
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/events/EventTypeNames.in?r1=183426&r2=183425&pathrev=183426
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingEvent.h?r1=183426&r2=183425&pathrev=183426
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingEvent.idl?r1=183426&r2=183425&pathrev=183426
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/ServiceWorkerGlobalScopeProxy.h?r1=183426&r2=183425&pathrev=183426

Blink side of geofencing event dispatching in service workers.

BUG= 383125 

Review URL: https://codereview.chromium.org/624343002
-----------------------------------------------------------------

Comment 8 by bugdroid1@chromium.org, Oct 9 2014

Project Member
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=183442

------------------------------------------------------------------
r183442 | sigbjornf@opera.com | 2014-10-09T06:41:12.778302Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingEvent.cpp?r1=183442&r2=183441&pathrev=183442
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/GeofencingEvent.h?r1=183442&r2=183441&pathrev=183442

Oilpan: fix build after r183426.

TBR=haraken,oilpan-reviews
BUG= 383125 
NOTRY=true

Review URL: https://codereview.chromium.org/639133002
-----------------------------------------------------------------

Comment 9 by bugdroid1@chromium.org, Oct 10 2014

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

commit d19c6afcdf3d786de4e782a62e81fc75058f7b23
Author: mek <mek@chromium.org>
Date: Fri Oct 10 20:16:33 2014

Basic implementation of GeofencingManager class.

This class is the single entry point for all Geofencing related API calls, and will be responsible for storing all geofence registrations, and registering them with the underlying platform specific GeofencingProvider.

BUG= 383125 

Review URL: https://codereview.chromium.org/586163003

Cr-Commit-Position: refs/heads/master@{#299172}

[modify] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/browser/geofencing/geofencing_dispatcher_host.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/browser/geofencing/geofencing_dispatcher_host.h
[add] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/browser/geofencing/geofencing_manager.cc
[add] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/browser/geofencing/geofencing_manager.h
[add] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/browser/geofencing/geofencing_manager_unittest.cc
[add] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/browser/geofencing/geofencing_provider.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/common/geofencing_status.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/common/geofencing_status.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/content_browser.gypi
[modify] https://chromium.googlesource.com/chromium/src.git/+/d19c6afcdf3d786de4e782a62e81fc75058f7b23/content/content_tests.gypi

Comment 11 by bugdroid1@chromium.org, Oct 14 2014

Project Member
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=183691

------------------------------------------------------------------
r183691 | mek@chromium.org | 2014-10-14T18:30:17.109380Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/OWNERS?r1=183691&r2=183690&pathrev=183691

Make myself owner of the geofencing module.

BUG= 383125 

Review URL: https://codereview.chromium.org/655663003
-----------------------------------------------------------------

Comment 12 by kbr@chromium.org, Oct 16 2014

Cc: iannucci@chromium.org hendr...@chromium.org kbr@chromium.org sergeybe...@chromium.org jam@chromium.org
Labels: Cr-Internals-GPU-Testing Build-CommitQueue
https://codereview.chromium.org/645763003 caused the browser to hang upon exit on Windows and sent the Windows GPU tryserver into a loop -- buildbot would repeatedly retry the run, taking one slave offline permanently. Here are a couple of such jobs:

One that I killed:

http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered_tests/builds/64497
http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered_tests/builds/64483
http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered_tests/builds/64472
http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered_tests/builds/64455

Comment 13 by mek@chromium.org, Oct 16 2014

Cc: -kbr@chromium.org -iannucci@chromium.org -jam@chromium.org -sergeybe...@chromium.org -hendr...@chromium.org
Labels: -Cr-Internals-GPU-Testing -Build-CommitQueue
I assume adding those labels to this bug was a mistake? There are already two other bugs about the tryserver problems. Hijacking this bug doesn't seem like it would make sense.

Comment 14 by bugdroid1@chromium.org, Oct 17 2014

Project Member
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=183931

------------------------------------------------------------------
r183931 | mek@chromium.org | 2014-10-17T22:31:13.246399Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/serviceworkers/ServiceWorkerRegistration.h?r1=183931&r2=183930&pathrev=183931
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/Geofencing.cpp?r1=183931&r2=183930&pathrev=183931
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/geofencing/resources/emptyworker.js?r1=183931&r2=183930&pathrev=183931
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/NavigatorGeofencing.idl?r1=183931&r2=183930&pathrev=183931
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebGeofencingProvider.h?r1=183931&r2=183930&pathrev=183931
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/Geofencing.h?r1=183931&r2=183930&pathrev=183931
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/WorkerNavigatorGeofencing.cpp?r1=183931&r2=183930&pathrev=183931
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.cpp?r1=183931&r2=183930&pathrev=183931
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/geofencing/geofencing-not-implemented.html?r1=183931&r2=183930&pathrev=183931
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/WorkerNavigatorGeofencing.h?r1=183931&r2=183930&pathrev=183931
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.h?r1=183931&r2=183930&pathrev=183931
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/NavigatorGeofencing.cpp?r1=183931&r2=183930&pathrev=183931
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/NavigatorGeofencing.h?r1=183931&r2=183930&pathrev=183931
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=183931&r2=183930&pathrev=183931
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/geofencing/apis_not_implemented.html?r1=183931&r2=183930&pathrev=183931
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=183931&r2=183930&pathrev=183931
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/serviceworkers/ServiceWorkerRegistration.cpp?r1=183931&r2=183930&pathrev=183931
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/WorkerNavigatorGeofencing.idl?r1=183931&r2=183930&pathrev=183931
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.idl?r1=183931&r2=183930&pathrev=183931

Blink side of exposing the service worker registration associated with geofencing API calls.
This still leaves the old codepaths for the geofencing API in place, those will be cleaned up in a followup CL.

BUG= 383125 

Review URL: https://codereview.chromium.org/623813002
-----------------------------------------------------------------

Comment 15 by bugdroid1@chromium.org, Oct 23 2014

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

commit 0c55c7f631795d3f76b38bc7f6b54f5be7da8f22
Author: mek <mek@chromium.org>
Date: Thu Oct 23 22:06:09 2014

Refactor GeofencingManager to have one instance per StoragePartition.

Add a new GeofencingService class for the few global tasks GeofencingManager
used to do.

BUG= 383125 

Review URL: https://codereview.chromium.org/645763003

Cr-Commit-Position: refs/heads/master@{#300960}

[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/chrome/browser/browsing_data/browsing_data_remover_unittest.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_dispatcher_host.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_dispatcher_host.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_manager.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_manager.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_manager_unittest.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_provider.h
[add] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_registration_delegate.h
[add] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_service.cc
[add] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_service.h
[add] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/geofencing/geofencing_service_unittest.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/storage_partition_impl.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/browser/storage_partition_impl.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/content_browser.gypi
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/content_tests.gypi
[modify] https://chromium.googlesource.com/chromium/src.git/+/0c55c7f631795d3f76b38bc7f6b54f5be7da8f22/content/public/browser/storage_partition.h

Comment 16 by bugdroid1@chromium.org, Oct 24 2014

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

commit a38764be36077683d9fd7e5190fbae0ce8733d4c
Author: mek <mek@chromium.org>
Date: Fri Oct 24 01:00:40 2014

Chrome side of passing on the service worker registration with geofencing API calls.

BUG= 383125 

Review URL: https://codereview.chromium.org/623823002

Cr-Commit-Position: refs/heads/master@{#301010}

[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/browser/geofencing/geofencing_dispatcher_host.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/browser/geofencing/geofencing_dispatcher_host.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/browser/geofencing/geofencing_manager.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/browser/geofencing/geofencing_manager.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/browser/service_worker/service_worker_registration_handle.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/child/geofencing/geofencing_dispatcher.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/child/geofencing/geofencing_dispatcher.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/child/geofencing/web_geofencing_provider_impl.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/child/geofencing/web_geofencing_provider_impl.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/child/service_worker/service_worker_registration_handle_reference.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/child/service_worker/web_service_worker_registration_impl.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/child/service_worker/web_service_worker_registration_impl.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/common/geofencing_messages.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/common/service_worker/service_worker_messages.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/a38764be36077683d9fd7e5190fbae0ce8733d4c/content/common/service_worker/service_worker_types.h

Comment 18 by bugdroid1@chromium.org, Oct 24 2014

Project Member
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=184375

------------------------------------------------------------------
r184375 | mek@chromium.org | 2014-10-24T17:52:11.221789Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebGeofencingProvider.h?r1=184375&r2=184374&pathrev=184375
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/geofencing/Geofencing.cpp?r1=184375&r2=184374&pathrev=184375

Cleanup after http://crrev.com/623813002/ now the chrome side has landed.

BUG= 383125 

Review URL: https://codereview.chromium.org/680503004
-----------------------------------------------------------------

Comment 19 by bugdroid1@chromium.org, Oct 29 2014

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c

commit 1c397381ff0444275cbc932eb750c86888f5669c
Author: mek <mek@chromium.org>
Date: Wed Oct 29 23:01:55 2014

Chromium side of geofencing event dispatching.

BUG= 383125 

Review URL: https://codereview.chromium.org/629393002

Cr-Commit-Position: refs/heads/master@{#301965}

[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/browser/DEPS
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/browser/geofencing/geofencing_manager.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/browser/geofencing/geofencing_manager.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/browser/geofencing/geofencing_registration_delegate.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/browser/geofencing/geofencing_service_unittest.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/browser/service_worker/service_worker_version.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/browser/service_worker/service_worker_version.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/common/DEPS
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/common/service_worker/service_worker_messages.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/renderer/service_worker/service_worker_script_context.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/1c397381ff0444275cbc932eb750c86888f5669c/content/renderer/service_worker/service_worker_script_context.h

Comment 20 by bugdroid1@chromium.org, Dec 8 2014

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f97f68bc038393ce05cdb9bd7aa145c01b69027

commit 5f97f68bc038393ce05cdb9bd7aa145c01b69027
Author: mek <mek@chromium.org>
Date: Mon Dec 08 17:45:52 2014

Don't handle DCHECK failure in geofencing code.

BUG= 383125 

Review URL: https://codereview.chromium.org/754023004

Cr-Commit-Position: refs/heads/master@{#307273}

[modify] http://crrev.com/5f97f68bc038393ce05cdb9bd7aa145c01b69027/content/child/geofencing/geofencing_dispatcher.cc

Comment 21 by bugdroid1@chromium.org, Dec 11 2014

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/340dd9d3de95a7e7c027972cce7168f201ae84e8

commit 340dd9d3de95a7e7c027972cce7168f201ae84e8
Author: mek <mek@chromium.org>
Date: Thu Dec 11 02:10:46 2014

Expose mock geofencing service via testRunner.

BUG= 383125 

Review URL: https://codereview.chromium.org/701953007

Cr-Commit-Position: refs/heads/master@{#307836}

[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/geofencing_dispatcher_host.cc
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/geofencing_dispatcher_host.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/geofencing_manager.cc
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/geofencing_manager.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/geofencing_manager_unittest.cc
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/geofencing_provider.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/geofencing_registration_delegate.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/geofencing_service.h
[add] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/mock_geofencing_service.cc
[add] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/browser/geofencing/mock_geofencing_service.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/child/geofencing/geofencing_dispatcher.cc
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/child/geofencing/geofencing_dispatcher.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/child/geofencing/web_geofencing_provider_impl.cc
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/child/geofencing/web_geofencing_provider_impl.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/common/geofencing_messages.h
[rename] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/common/geofencing_types.cc
[rename] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/common/geofencing_types.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/content_browser.gypi
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/content_common.gypi
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/public/test/layouttest_support.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/shell/renderer/layout_test/webkit_test_runner.cc
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/shell/renderer/layout_test/webkit_test_runner.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/shell/renderer/test_runner/test_runner.cc
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/shell/renderer/test_runner/test_runner.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/shell/renderer/test_runner/web_test_delegate.h
[modify] http://crrev.com/340dd9d3de95a7e7c027972cce7168f201ae84e8/content/test/layouttest_support.cc

Comment 22 by bugdroid1@chromium.org, Dec 11 2014

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 10 2015

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/05b26f88e6d0a7559a050c12ae01cf00917bd0b2

commit 05b26f88e6d0a7559a050c12ae01cf00917bd0b2
Author: mek <mek@chromium.org>
Date: Sat Jan 10 00:09:59 2015

Cleanup geofence registrations when a service worker is unregistered.

This changes ServiceWorkerContextObserver::OnRegistrationDeleted to include the
registration ID.
Also modify GeofencingManager unit tests to have an actual
ServiceWorkerContextWrapper instance to test this behavior.

BUG= 444136 , 383125 

Review URL: https://codereview.chromium.org/788073007

Cr-Commit-Position: refs/heads/master@{#310905}

[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/geofencing/geofencing_manager.cc
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/geofencing/geofencing_manager.h
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/geofencing/geofencing_manager_unittest.cc
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/service_worker/service_worker_context_core.cc
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/service_worker/service_worker_context_core.h
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/service_worker/service_worker_context_observer.h
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/service_worker/service_worker_context_unittest.cc
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/service_worker/service_worker_internals_ui.cc
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/service_worker/service_worker_job_unittest.cc
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/service_worker/service_worker_unregister_job.cc
[modify] http://crrev.com/05b26f88e6d0a7559a050c12ae01cf00917bd0b2/content/browser/service_worker/service_worker_unregister_job.h

Comment 24 by lafo...@chromium.org, Sep 23 2015

Labels: Hotlist-Recharge
This issue likely requires triage.  The current issue owner maybe inactive (i.e. hasn't fixed an issue in the last 30 days).  Thanks for helping out!

-Anthony

Comment 25 by mvanouwe...@chromium.org, Feb 18 2016

 Issue 587248  has been merged into this issue.

Comment 26 by mahe...@googlemail.com, Feb 19 2016

https://bugs.chromium.org/p/chromium/issues/detail?id=587248 has been closed so: -

GPS Tracking Use Cases: -

* Can I beseech the browser-developer community at large to please contribute their own use cases to this thread?

1) University security have just been told there's a shooter on campus. They touch the google maps screen and tell the system to warn everyone in a 2km radius to get out or get down. The geoFence has only just been created. Pushing the details to the client won't help you because the architects are currently considering banning creating a geofence around current position as it facilitates quasi-tracking. What's more is the time, bandwidth, CPU, and baterry-power wasted pushing a geofence to ALL users when most of them are not effected by or resident in the danger zone.

2) I want to track my jogging and bike-riding journeys to share with friends and manage calories-burned and effort. "Health & Fitness" market? Ignore it?

3) I want to know when members of my coffee club are getting close so I can start ordering.

4) Let me know if bad weather is moving in.

5) The library is closing. The librarian sends a push message to anyone in the building (who hopefully have their notifications on vibrate :-) giving clients 15mins to finish up.

6) The next 10 customers to the Guild Tavern get a free beer. No use having permanent geofences around every retail establishment that may want to communicate with customers.

7) How about a trucking or taxi company wants a central head office PC constantly tracking fleet movements in real-time.

8) Pizza Co. want to let users see where their pizza van is. The van driver doesn't have to have his phone screen on killing his battery for Pete's sake.

Look, I'm not paranoid enough to suggest that W3C members are on the take from the Native App providers but, Service Worker developers are simply being obtuse if they continue to deny the requirements for location tracking and not just a hamstrung, debilitated geoFence API. The requestWakeLock() method has it's uses for those who don't care about battery life. User/device tracking Apps is not one of them.

The devolved decision-making paradigm inherent in the current GeoFencing model is simply incapable of satisfying the legitimate business and user requirements. User's want to know more than "Elvis has left the building"!

Comment 27 by mahe...@googlemail.com, Feb 19 2016

Re #4 ( https://bugs.chromium.org/p/chromium/issues/detail?id=587248 )

> This functionality really falls under the umbrella of geofencing,

A rose by any other name . . .

> I notice that your proposal to the geolocation working group was not met with much enthusiasm,

C'mon Michael give me a break! I've only just put my proposal out there. This issue may be a slow-burner or, more likely, the fact that "it's time has come" is lacking visibility in the broader developer community. I'm working on it. (BTW, what is the accepted norm for response-time there?)

Regarding the less than enthusiastic response here and at W3C however, I put it down to the emotional, financial, and temporal investment that has already gone into the lemon that is https://www.w3.org/TR/geofencing/ 

I have stuck my head into the W3C pram and revealed to the parents that their GeoFence baby is simply butt ugly! What's more, outside of the rarefied atmosphere of "F2F time at TPAC" and the ski slopes of Sapporo, *EVERYONE* knows the GeoFence API has no clothes. Chrome has long ago aborted its implementation. It's a shame that the "plenary" sessions don't include WebApp development grunts as the resulting standards would be far less limited in their application.

Please name one browser-based implementation of the W3C proposal in the wild, or even one ongoing development. How's that for enthusiasm? I'm not accusing anyone of running around like FIFA or the IOC but there are times when I do question the focus of some W3C members.

> Perhaps they do not agree that the use cases are compelling and common enough

I hold the truth of the use cases to be self-evident for all those willing to see.

> or perhaps the resource consumption, privacy, and security issues are considered too severe.

Now you're talking! This is the debate we need to have and the problems we have to solve.

I honestly believe that the broad brush-strokes of my proposal have captured the essence of a secure, battery-friendly solution. Please bring on the nay-sayers: -

peter@chromium.org writes in https://bugs.chromium.org/p/chromium/issues/detail?id=506435

>>>>>>>>
I am not arguing that there are no use-cases for tracking users' locations
in the background, but I am arguing that this is incredibly hard to do in
way that's cheap on resource usage and, at all times, clear and
understandable to the user. None of the proposals so far address this.
<<<<<<<<

Peter has me at a distinct disadvantage by asking for a solution before applying unquantifiable success metrics before dismissing the solution out of hand.

I submit that poorly resourced devices are free to take whatever action their OS requires and my solution mandates no additional environmental requirements (other than those already available to Service Workers) The User is in control of the functionality -vs- battery life trade-off, and not the nanny-state browser.

I also submit that the measures outlined under "User-empowerment, transparency, and governance:" and "Other Options:" are capable keeping the user informed and in control at all times.

But *please*, tell me why you don't agree!

More on Mozilla's efforts to date: -

They have implemented the B2G-only band-aid solution of the WakeLock("gps") as described here: -
https://bugzilla.mozilla.org/show_bug.cgi?id=1216148
https://bugzilla.mozilla.org/show_bug.cgi?id=784505

How's that for resource consumption?

What's more why has Mozilla simply turned a blind eye to the unauthorized tracking capability in current FireFox that they have acknowledged yet continue to make available to estranged spouses, unscrupulous employers, and information hungry supermarket chains?

But the GeoFence API won't really hit the fan until FireFox and the Android Browser stop propping up Apps/Sites that currently rely on the inherent browser vulnerability. For the life of me I cannot understand engineering's complacency.

Comment 28 by jinho.b...@samsung.com, Feb 19 2016

Cc: jinho.b...@samsung.com

Comment 29 by mvanouwe...@chromium.org, Feb 19 2016

I think that while one can come up with some use cases, none of them are especially compelling or common when compared to the many other (non geo) use cases Chrome addresses and wants to address. When we researched usage in native Android apps of similar functionality, it was low. Even a project as large and well-funded as Chrome has limits in how much work it can prioritize.

Comment 30 by mahe...@googlemail.com, Feb 20 2016

#29

>>>
I think that while one can come up with some use cases, none of them are especially compelling or common when compared to the many other (non geo) use cases Chrome addresses and wants to address.
<<<

Thanks for sharing Michael, fascinating stuff, but can we hold off on voting until all the facts are on the table?

>>>
When we researched usage in native Android apps of similar functionality, it was low. 
<<<

Now you're talking! Where can I get a look at this research? I have to admit to being completely gob-smacked that few Android users are into fitness and want to track their runs, rides, and paddles. Inconceivable! Maybe Domino's delivery tracker wasn't available then? Uber was just a twinkle in someone's eye? When exactly was this research undertaken?

>>>
Even a project as large and well-funded as Chrome has limits in how much work it can prioritize.
<<<

Fair enough. So why was Peter and his team permitted to squander millions to date on the Chrome Geofence effort to expose GeoFences in the main thread under Navigator.geolocation?

Anyway, I think the main thing here is that, by now shifting the goal posts to funding and opportunity cost, one can only conclude that you've given up the argument that a Backround Service Worker Travel Manager cannot be delivered in both a secure and battery-friendly fashion.

Oh, and I'm willing to conceded your argument that Google Chrome is strapped for cash.

Comment 31 by mahe...@googlemail.com, Feb 21 2016

Cross reference FireFox bug report: -
https://bugzilla.mozilla.org/show_bug.cgi?id=1249130

Comment 32 by mvanouwe...@chromium.org, Feb 22 2016

Prioritization takes into account the potential usage, cost of implementation and maintenance, potential risks to privacy and security, other vendor's support, opportunity cost of not investing in other things, etc. This is not shifting the goal posts, this is always part of the process.

Comment 33 by mahe...@googlemail.com, Feb 22 2016

Re: #32

Michael, could you please pay me the courtesy of replying to the questions (#30) that I posed to you?

Q1) Where/how can I get a look at the "research" you spoke of?
Q2) Why was Peter and his team permitted to squander millions to date on the Chrome Geofence effort?

But, as decorum requires I address you points on "process" directly, I once again refer you to the process that was followed by Mek, Peter and crew when they took an educated (yet wrong) guess on an emerging standard and bet on the GeoFence API residing in the main thread and hanging of Navigator.GeoLocation. Google Chrome willingly opened the purse-strings for that ill-fated attempt and judging by all the TODO markers in the spec they've been winging it big time.

Let me contrast this effort with what I have provided on a shoe-string with my serviceWorkerRegistration.travelManager.subscribe({opions. . .}) solution: -

1) I have provided an architecturally complete end to end solution design.
2) I have addressed privacy an security concerns, offered further options, and invited challenges.
3) I have addressed resource usage such as battery (Galaxy S7 = 17hrs HD!) and memory
4) I have addressed resilience to aggressive Android culling and user expectations
5) Most importantly, I have paraded just a few of the every day, real world, background GeoLocation requirements, so much so, that your recalcitrance is becoming tiresome.
6) I have been met with self-interest, denial, and recalcitrance.

Look, I don't recognize any of the names here but I get the distinct impression that everyone I've talked to so far is wearing a fez, a waste-coat, and carrying a tin cup. I'm happy that everyone is smarter than me and I don't care if the Travel Manager and Event goes down as someone else's idea, but I would just like to think I'm talking to the organ grinder for once! I tell you what, if someone could run this past Jake Archibald and he says it's without merit then I'm happy to disappear. Fair enough?

As I alluded to some time ago in: -
https://github.com/slightlyoff/ServiceWorker/issues/745
It's very easy to abuse "process" and game the system as a means of concocting artificial and exaggerated speed-humps on the release path of much needed functionality. If that's the game here then I'd rather not play.

Comment 34 by mvanouwe...@chromium.org, Feb 22 2016

As to Q1, the research we did included counting the number of Android apps using geofencing APIs, distinct from one-shot geolocation queries. I cannot publish the exact numbers, but percentage-wise it was sufficiently low that even given time usage might never exceed Blink's feature deprecation threshold. That's a risk.

As to Q2, I never said how much was spent on this, I'm not sure where you got that number from. Please don't put words in my mouth. However, I think the current owner of this bug is best placed to argue for past and current engineering investment, as he took over after I investigated the potential and deprioritized it.

Comment 35 by mahe...@googlemail.com, Feb 22 2016

Re: #34

> Please don't put words in my mouth.

I think you'll find that I never attributed the GeoFence life-to-date cost estimate to you. I used the accepted formula: -

Cost = No. of team members * Years of development * Google Hollywood hourly rates;
Cost += Bill for junkets like Sapporo (Flights, accommodation, lift passes and brewery tour)
DELIVERABLES === 0;

> I investigated the potential and deprioritized it.

Ah, I fear this is the stumbling block and the source of my angst :-( Just to put my solution in the proper perspective remember that you would NOT be resurrecting the GeoFence API but implementing background access to GeoLocation!

Look Michael, we're going round in circles. Please throw away everything else I've said if you can take this final point on board. Apps such as those for Uber, Domino's, and GrindR have entered folklore and revolutionized the way people do business and interact. (You want research? Check downloads/sales!) HTML5 Web App developers are banging at your door begging the browser vendors and standards organizations to give them the tools they need to compete with and surpass native Apps' functionality. And you're just sitting there like Jimmy Durante saying "What Elephant?"

Please step out of the bubble and ask Jake Archibald for a second opinion. Telling the starving masses to simply "eat cake" has never ended well. The Travel Manager functionality WILL come to HTML5 Service Workers. It's up to you as to how long it will take and how history will remember you.

Just think, when you and your countrymen hit the German autobahns in you caravans again this summer, there may just be an App that shows the rest of the drivers where you are :-)

Comment 36 by peter@chromium.org, Feb 23 2016

Richard,

I find your argument particularly unconstructive and rude. In addition, this issue is not an appropriate place to discuss topics that are not strictly about development progress of an implementation of the Geofencing API in Chromium.

Please take your feedback elsewhere. I would, again, suggest further discussing and advocating your proposals with the W3C Geolocation working group prior to engaging on our issue tracker.

Thanks.

Comment 37 by mahe...@googlemail.com, Feb 23 2016

Re #36 Yeah, no worries. I'm done.

Comment 38 by p.simon....@gmail.com, Mar 21 2016

Interesting dialogue
Speaking just for myself as a developer of Webapps I would very much like to see Geofencing coming to Webworkers as I have a valid use case and many interested clients.
Could we get an official indication of whether and when this will be implemented?

Comment 39 by mahe...@googlemail.com, Mar 22 2016

Re: #38

Are you able to share your use case?

Comment 40 by p.simon....@gmail.com, Mar 22 2016

I can share this in public:

The clients have usage patterns clearly showing that their traditional native APPs is less and less used whereas traffic is building up on their webapps.

We have build Android and IOS apps to validate the geofencing use case, but as indicated a traditional APP is not an option.

We can get by with the main-thread geo API's watch method but it is not ideal as it is a tracking rather than fencing API and a) hence requires server roundtrips to fetch and implement the fence b) gives us an exact location of the device which we do not need and do not want and finally and most important c) do not run in the background.

A webworker fencing API will be ideal for the use case and from a privacy point of view as we do not have to have the exact position but only need to know whether the user enters a fence that can be as inaccurate as 100m or even 500m.

Comment 41 by mahe...@googlemail.com, Mar 22 2016

Re: #40 

> a) hence requires server roundtrips to fetch and implement the fence

I don't believe this to be true. I perform client/Javascript-based GeoFence calculations ALL the time. Circles and Rectangles. (Rectangles assume North/South orientation. Works with Google maps.)

My example uses a Web Worker to re-test the in/out fence test when the user moves the GeoFenced zone around the map with their finger. The icons (dis)appear as needed. I personally think it is impressive. NB: You do not need a web-worker and just copy the code you want. You'll then only have to AJAX the in/out event change.

Does that make sense or have I misunderstood you?

Please see attached FacFinder.js The bit thats missing isCalculateDistance in the CircleCheck function. Here it is: -

	
    Tier3Toolbox.EARTH_RADIUS = 6378137; /* Equitorial Radius instead of 6371000 */
	Tier3Toolbox.toRad = 
		function (num) {
			return num * Math.PI / 180;
		};	
	Tier3Toolbox.calculateDistance =
		function(lat1, lon1, lat2, lon2){
			var dLat = this.toRad(lat2 - lat1);
			var dLon = this.toRad(lon2 - lon1);
			var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(this.toRad(lat1)) * 
					Math.cos(this.toRad(lat2)) * Math.sin(dLon / 2) * Math.sin(dLon / 2);
			var distance = this.EARTH_RADIUS * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
			return distance;
		}
FacFinder.js
3.7 KB View Download

Comment 42 by p.simon....@gmail.com, Mar 22 2016

Quite impressive - thanks a lot for sharing - a) is because we already had servercode available to reuse between apps and webapps - granted not very elegant and requiring a working internet connection to boot - but already there :)

Anyway the big killer would be to get the geofence API in the worker. I may resort to kludge together a worker that invokes a hidden browser window to post the normal Navigator location back to the worker. We already invoke a new main tread on Push Receive if it is not running already so it could be doable but quite some kludge compared to just having the darn geolocation api.

Again thanks very much for sharing!

Comment 43 by mahe...@googlemail.com, Mar 22 2016

Re: #42

IMHO> You don't need a Web Worker here. Just watchPosition and then test your GeoFence(s). OK, if you have a LOT of fences then a separate thread is probably a good idea.

What is a fantastically essential idea is a throttle for watchPosition! (See attached for one I prepared earlier :-)

So you throttle watchPosition in the main thread and then postMessage an "interesting" location change to the Web Worker for vetting. Like you, I believe uninteresting movements are those less than the "accuracy" attribute or 10 readings a sec.

This is what I am desperately asking Chrome, Mozilla, and Edge to implement but they won't do it until it's a W3C or IETF standard and you have no idea of what you have to do over there :-(

I think I've answered all of your concerns except background processing? That's where the ServiceWorker.TravelManager comes in. When you subscribe you specify the throttle attributes min meters, min secs etc and then the Travel Event let's you check your GeoFences and/or AJAX your server. 

Sounds good doesn't it?
GeoLocationThrottle.js
5.3 KB View Download

Comment 44 by p.simon....@gmail.com, Mar 22 2016

Thanks a lot again for sharing this - Yes we definitely need to throttle and weed out uninteresting location changes - 100.000's of users running unthrottled watchPosition calls from phones bouncing about in their pockets - with subsequent untrottled AJAX calls - would soon DDOS the backend to oblivion :)

The use case involves posting a pushmessage or some other action whenever a combination of location and other factors occur also as background processing. The foreground mainthread bit works both for MVP usage and real usage but we will heed the advice and lift much more geolocation calculations off the servers.

Could sure use the ServiceWorker.TravelManager.

Incidentally Cordova has already implemented ServiceWorker Geofencing https://github.com/MobileChromeApps/cordova-plugin-service-worker-geofencing/ And yes Cordova based apps can be made to run in the background (been-there-done-that) I.e. effectively circumventing the privacy concerns and tracki you - if that was the use case (wich it surely is NOT).

Comment 45 by mahe...@googlemail.com, Mar 23 2016

Re: #44

> we definitely need to throttle and weed out uninteresting location changes

Yes, but the true [battery-] life-saving beauty of the navigator.serviceWorker.travelManager.subscribe(options) method is that the watchLocation() and position-throttling is all done in the User-Agent. There can be many clients for the UA and each client could potentially have many Travel Managers but only when an interesting movement has been observed in the UA will a Service Worker need to be run up. Call me sad but that's what I get my jollies about! Double that up with the Service Worker TTL algorithms and what we have is pure resource efficiency for the typical: -

Travelling->Travelling->Travelling->------------At Rest---------> Travelling scenarios. 
< ------- Service Worker 1 -------->                            <-- SW 2 --->

> Incidentally Cordova has already implemented ServiceWorker Geofencing

Look, I acknowledge that there is a market for static, pre-ordained, and rigid geofences but those users are typically called Moses and never need more than 10 GeoFences. I'm catering for Uber, Dominos, Facebook, and the University Security staff who want to notify everyone in a 1KM radius of the shooter whose just started firing. Call me crazy :-(

> Could sure use the ServiceWorker.TravelManager.

Well if you look at the recent Bora Bora W3C WebAPI plennary sessions https://www.youtube.com/watch?v=C9jAsPwvgms you will see that me and Chief had our hands up but Nurse Ratched is now demanding that all the W3C Chronics vote.

Keep your shirt on Peter, I'm leaving. I've got my hat and coat and will take my voice back to the wilderness from whence I came. . .

Comment 46 by mahe...@googlemail.com, May 12 2016

A victory for common sense. Excellent news!

On Thu, May 12, 2016 at 2:40 AM, Marijn Kruisselbrink <mek@chromium.org> wrote:
For quite a while now the geofencing API hasn't been much of a priority for us. Now in addition to that we're no longer convinced the geofencing API in its current shape is the best way to address the use cases we're interested in addressing. So with that in mind we've decided to stop work on the geofencing API in its current form.

Marijn

Combine that outcome with this at the upcoming TPAC: -

Hello All,

The registration for TPAC 2016 is now open - relevant information is provided in the email attachment below.  There will not be a stand-alone meeting for the Geolocation Working Group, but there will likely be a joint meeting between the Geo WG and the Devices and Sensors (DAS) WG.  This should be confirmed soon, and will take place during the DAS WG's allocated meeting time (Sep. 19-20).

Thanks,

-Giri Mandyam, Geolocation Working Group Chair

An the scene is set for a ServiceWorker.TravelManager.subscribe() outcome or, more likely, a generic sensor.AddListener(filterOptions). Either way these are exciting times indeed. Good Luck!

Comment 47 by bugdroid1@chromium.org, May 13 2016

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

commit e078907f62cb060ddd19fe3dddea3e2142c0f7d8
Author: mek <mek@chromium.org>
Date: Fri May 13 19:06:10 2016

Delete geofencing implementation.

We've decided that this API is not the right approach to solve the use cases
we care about, so delete the implementation.

BUG= 383125 

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

[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/chrome/browser/browsing_data/browsing_data_remover_unittest.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/components/test_runner/test_runner.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/components/test_runner/test_runner.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/components/test_runner/web_test_delegate.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/browser/DEPS
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/browser/background_sync/background_sync_manager_unittest.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/browser/background_sync/background_sync_service_impl_unittest.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/OWNERS
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_dispatcher_host.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_dispatcher_host.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_manager.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_manager.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_manager_unittest.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_provider.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_registration_delegate.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_service.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_service.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/geofencing_service_unittest.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/mock_geofencing_service.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/browser/geofencing/mock_geofencing_service.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/browser/service_worker/service_worker_metrics.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/browser/service_worker/service_worker_metrics.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/browser/storage_partition_impl.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/child/blink_platform_impl.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/child/blink_platform_impl.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/child/child_thread_impl.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/child/child_thread_impl.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/child/geofencing/OWNERS
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/child/geofencing/geofencing_dispatcher.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/child/geofencing/geofencing_dispatcher.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/child/geofencing/geofencing_message_filter.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/child/geofencing/geofencing_message_filter.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/child/geofencing/web_geofencing_provider_impl.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/child/geofencing/web_geofencing_provider_impl.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/common/DEPS
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/common/content_message_generator.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/common/geofencing_messages.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/common/geofencing_types.cc
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/content/common/geofencing_types.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/content_browser.gypi
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/content_child.gypi
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/content_common.gypi
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/content_tests.gypi
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/public/browser/storage_partition.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/public/test/layouttest_support.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/shell/renderer/layout_test/blink_test_runner.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/shell/renderer/layout_test/blink_test_runner.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/content/test/layouttest_support.cc
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/ipc/ipc_message_start.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/LayoutTests/http/tests/geofencing/event_triggering.html
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/LayoutTests/http/tests/geofencing/resources/emptyworker.js
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/LayoutTests/http/tests/geofencing/resources/worker-passes-events-back.js
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/LayoutTests/http/tests/geofencing/resources/worker-service-not-available.js
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/LayoutTests/http/tests/geofencing/service-not-available.html
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/LayoutTests/http/tests/geofencing/service-worker.html
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Document-createEvent-expected.txt
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/Source/core/frame/UseCounter.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/CircularGeofencingRegion.cpp
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/CircularGeofencingRegion.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/CircularGeofencingRegion.idl
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/CircularGeofencingRegionInit.idl
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/DEPS
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/Geofencing.cpp
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/Geofencing.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/Geofencing.idl
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/GeofencingError.cpp
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/GeofencingError.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/GeofencingEvent.cpp
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/GeofencingEvent.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/GeofencingEvent.idl
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/GeofencingRegion.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/GeofencingRegion.idl
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/OWNERS
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/ServiceWorkerGlobalScopeGeofencing.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/ServiceWorkerGlobalScopeGeofencing.idl
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.cpp
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.idl
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/WorkerNavigatorGeofencing.cpp
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/WorkerNavigatorGeofencing.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/Source/modules/geofencing/WorkerNavigatorGeofencing.idl
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/Source/modules/modules.gypi
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/public/blink_headers.gypi
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/public/platform/Platform.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/public/platform/WebCircularGeofencingRegion.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/public/platform/WebGeofencingError.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/public/platform/WebGeofencingEventType.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/public/platform/WebGeofencingProvider.h
[delete] https://crrev.com/0d469008149c3b642fd2817b8c102dfc763413f1/third_party/WebKit/public/platform/WebGeofencingRegistration.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/third_party/WebKit/public/web/modules/serviceworker/WebServiceWorkerContextProxy.h
[modify] https://crrev.com/e078907f62cb060ddd19fe3dddea3e2142c0f7d8/tools/metrics/histograms/histograms.xml

Comment 48 by mek@chromium.org, May 13 2016

Status: WontFix (was: Started)

Comment 49 by mahe...@googlemail.com, May 14 2016

Mek, can you now please do the right thing and re-open: -
https://bugs.chromium.org/p/chromium/issues/detail?id=506435

Comment 50 by coenen....@gmail.com, Jul 15 2016

I second this. This should really get fixed.

Comment 51 by mahe...@googlemail.com, Jul 19 2016

@https://bugs.chromium.org/p/chromium/issues/detail?id=383125#c50

Mek & Co. are not answerable to anyone let alone the user base. Wether or not their marvellous solutions bear any resemblance to business requirements is not the point. Your impertinence has been noted, now move along.

For another example of the prevailing attitude: -
https://github.com/slightlyoff/ServiceWorker/issues/745

Out of sheer frustration I've appealed to the European Commission on a similar issue here: -
https://bugs.chromium.org/p/chromium/issues/detail?id=607083

Comment 52 by ka.gema...@gmail.com, Jan 23 2017

+1 on re-opening https://bugs.chromium.org/p/chromium/issues/detail?id=506435

I've written a geo-pubsub website/progressive web app that uses Geolocation + WebSocket + ServiceWorker, everything works fine except the Geolocation is suspended when the tab or the PWA is in background, which makes the app unusable.

While investigating I tried several combinations and came across several issues which are overlapping the topic :

- WebSocket has been disabled in ServiceWorker since Chrome 55 (but might be back on Chrome 56) ;

- Geolocation is not directly accessible from the ServiceWorker (but it's possible to use client.postMessage to bypass that restriction) ;

- the tab (but not sure for its PWA version) is suspended so I emulated a WakeLock API running a hidden <video/> (I feel like an evil marketer doing so) so that I could maintain the WebSocket connection and the Geolocation, but unsuccessfully the Geolocation is suspended as soon I switch focus off the site/PWA.

As several others users, I think there's a lot of potential geo-pubsub apps to write, specially PWA, I'm not sure I'd need Geofencing, Geolocation.watchPosition is enough for my use case.

So +1 on re-opening the ticket mentioned above.

Comment 53 by mahe...@googlemail.com, Mar 23 2017

Re: #52 I've come to the conclusion that those in Google capable of appreciating these requirement pearls do not frequent this monorail bug forum :-(

The good news is that there are many others in Google who are prepared to move forward over the usual speed-humps on the road to progress (W3C and IETF).

I am absolutely ecstatic over the news of a broadcast message capability for WebApps: - https://firebase.google.com/docs/cloud-messaging/js/send-multiple#about_topic_messaging

These are the heros we need to appeal to for background geolocation and leave Mek and his cronies to geoFences.

Comment 54 by ka.gema...@gmail.com, Mar 28 2017

@ #53: I read lots of your comments about background geolocation on this bug tracker and on the W3C ServiceWorker Github's one, and I think that technically you're right, you've explored several paths of possibilities and use cases, and seen relevant points, basically you're in advance on the topic.

But the manner you lobby Google and the W3C is too aggressive and undermines the credibility of very good ideas. Throwing names at people is not a good manner, even more when those people are the ones who could make your wish come true.

On the FCM broadcast message capability for WebApps you mention, I don't see how useful it is to circumvent the inability to fetch geolocation in background. There's an indirect mention of geopubsub-like notification with the area-based weather notification example, but it doesn't solve the problem, does it ?

Comment 55 by mahe...@googlemail.com, Mar 28 2017

@ #54 I'm glad you agree. We are by no means alone!

C'mon Ka, "Sticks and stones" eh? Let's all agree to have a little cup of concrete before discussions start so the profanity won't bruise us?

Look, I'm a wanker, always have been. Nothing I can do about. So where are the bloody diversity and inclusivity proponents now eh? "Oh, I'm afraid that doe not extend to obnoxious knobs like you Dickie" :-(

I've always said I'm happy to walk away as this is not about personalities even though it *is* the cult or personality driving W3C/IETF committees, chairs, tables, F3Fs, Twatter Feeds, ad nauseum.

The only reason I mentioned FCM Topic broadcasts is that this was explicitly banned by the push-api and web-push protocol authors due to their absolute fixation with encryption. Firebase's outside-the-square engineers bypassed the restrictions as well as the anti-competitive practice of only allowing browser-manufacturers to be Push providers.

I tried to be nice and respectful at the start but the sheer arrogance and sense of entitlement of the children in these star chambers is absolutely unbelievable. For example after spending years on the focused and clearly demarcated "draft-ietf-webpush-protocol-12" [here](https://datatracker.ietf.org/doc/draft-thomson-webpush-protocol/) they make a shameless grab for additional funding from Muppet telcos and IT companies by using smoke and mirrors to rebrand it as "Generic Event Delivery Using HTTP Push" and no one says anything :-(

A filtered GeoLocation TravelEvent *is not* a "Generic Event handled by a message push"!

Background geolocation CANNOT be left in the hands of these people. Everyday another UBEResque company comes along with Native Apps because we simply can't compete with WebApps :-( I proposed a solution, feel free to knock it down or come up with something "better".

Let's just get on with it. Please!

Comment 56 by mvanouwe...@chromium.org, Mar 28 2017

Cc: -mvanouwe...@chromium.org

Comment 57 by mahe...@googlemail.com, Apr 3 2017

For those hoping that W3C/IETF will wake up to the background geolocation requirement, I'm afraid the answer is "Not this year" :-(
https://github.com/w3c/ServiceWorker/issues/1053

Still, at least the sponsors are getting value for their money and quality F2F time in Tokyo: -
https://twitter.com/jaffathecake/status/848018836922093570

You just can't be that productive via email or a conference call!

Comment 58 by mahe...@googlemail.com, Apr 20 2017

FYI Background Geolocation via ServiceWorkers has made Firebase Engineering's TODO list: -

[4-9024000017061] WebApp Background Geolocation via Firebase

You bewdy! You people should try to get on that :can do" team.

Comment 59 by mek@chromium.org, Apr 20 2017

Labels: Restrict-AddIssueComment-Commit

Sign in to add a comment