New issue
Advanced search Search tips

Issue 383125 link

Starred by 28 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: ----
Rollout-Type: ----

Restricted
  • Only users with Commit permission may comment.



Sign in to add a comment

Implement Geofencing API

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

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
Project Member

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

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
-----------------------------------------------------------------
Project Member

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

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
-----------------------------------------------------------------
Project Member

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

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
-----------------------------------------------------------------
Project Member

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

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

Project Member

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

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
-----------------------------------------------------------------
Project Member

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

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
-----------------------------------------------------------------
Project Member

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

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

Project Member

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

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.
Project Member

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

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
-----------------------------------------------------------------
Project Member

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

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

Project Member

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

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

Project Member

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

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
-----------------------------------------------------------------
Project Member

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

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

Project Member

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

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

Project Member

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

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

Project Member

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

Project Member

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

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

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
 Issue 587248  has been merged into this issue.
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"!

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. 

Cc: jinho.b...@samsung.com
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.
#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. 

Cross reference FireFox bug report: -
https://bugzilla.mozilla.org/show_bug.cgi?id=1249130
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.
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.
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.
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.
Re #36 Yeah, no worries. I'm done.
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?
Re: #38

Are you able to share your use case?
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.
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
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!
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
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).
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. . .
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!
Project Member

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

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)
Mek, can you now please do the right thing and re-open: -
https://bugs.chromium.org/p/chromium/issues/detail?id=506435

I second this. This should really get fixed.
@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



+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.
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.
@ #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 ?
@ #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!
Cc: -mvanouwe...@chromium.org
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!

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