Re: [geolocation-api] Deal with active/inactive documents (#78)

@rakina ok, below is a simple test case... I'll covert it to a WPT, but would like your feedback before I do.

The neat thing in all browsers is that removal and reattachment does indeed kill the geolocation service for the frame.   

```JS
  async function runTest() {
    const iframe = document.createElement("iframe");
    iframe.src = "empty.html";
    document.body.appendChild(iframe);
    console.log("loading iframe");
    await new Promise((r) => {
      iframe.onload = r;
    });

    // steal geolocation
    const geo = win.navigator.geolocation;

    // queue up some position watchers...
    console.log(geo.watchPosition(console.log, console.error));
    console.log(geo.watchPosition(console.log, console.error));
    console.log(geo.watchPosition(console.log, console.error));
    geo.getCurrentPosition(console.log, console.error)
    geo.getCurrentPosition(console.log, console.error)
    geo.getCurrentPosition(console.log, console.error)

    // make doc no longer fully active
    iframe.remove();

    // try to use geolocation
    try {
      console.log("watchPosition", geo.watchPosition(console.log, console.error));
    } catch (err) {
      console.log(err);
    }

    try {
      console.log(
        "getCurrentPosition",
        geo.getCurrentPosition(console.log, console.error)
      );
    } catch (err) {
      console.log(err);
    }
    // re-attach
    console.log("reattach");
    document.body.appendChild(iframe);

    // And we are back! But dead... 
    iframe.contentWindow.navigator.geolocation.getCurrentPosition(
      console.log,
      console.error
    );
    iframe.contentWindow.navigator.geolocation.watchPosition(
      console.log,
      console.error
    );

    console.log("done");
  }

  runTest();
```

-- 
GitHub Notification of comment by marcoscaceres
Please view or discuss this issue at https://github.com/w3c/geolocation-api/issues/78#issuecomment-857549097 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 9 June 2021 09:42:23 UTC