When starting the Geolocation service provider, check that the WebView is not already paused.
This fixes the following scenario ...
- The browser back stack contains a page which calls Geolocation::watchPosition form its onload handler.
- User presses the back button quickly and repeatedly until the browser goes to the background.
- The browser calls WebViewCore::Pause when it goes into the background, which suspends any Geolocation
services in use. However, this call is made before the page which calls Geolocation::watchPosition has
been loaded. WebKit later loads this page, which creates a new Geolocation object which is never paused.
With this fix, the new Geolocation object is not started when it is first created. It does nothing until
it is resumed when the Browser is brought back to the foreground.
Bug:
2363338