Spoof Geolocation position.heading in Chrome DevTools

In Chrome DevTools you have the ability to spoof a location to return to the Geolocation API, by putting a lat/lon into the Sensors tab. This works well, but there doesn’t seem to be a way to spoof the heading or speed or any of other the properties that are returned.

This makes testing anything that makes use of heading/speed rather difficult, as it just returns null when you override from DevTools. At the moment I am having to load my localhost application onto a real device, then unplug it take it outside and wander round the streets, which is a little tiresome.

Does anyone know of a way to emulate the heading/speed properties without leaving my seat, either using other dev tools, a plugin or a code snippet.

How does the Chrome Geolocation Sensor work?

There is an option within the Chrome dev tools which allows you to change your ubication (More Tools > Sensors). How does it work internally? Does it add an extra HTTP header indicating the GEO coordinates?