Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove note about sharing data between platform sensors #482

Merged

Conversation

rakuco
Copy link
Member

@rakuco rakuco commented Feb 16, 2024

The original note was added in #267 and expanded in #347, but its advice is
impractical:

  • Sharing the activated sensors objects between multiple browsing
    contexts/documents/windows means these Sensor objects could potentially be
    shared by contexts in different top-level traversables (i.e. different
    tabs).
    Furthermore, if "can expose sensor readings" passes for one context but
    not the other, "update sensor reading" would still invoke "report latest
    reading updated" with sensors that cannot expose sensor readings.
  • Similarly, if the latest reading map is shared between multiple contexts,
    an update would affect all contexts, including those for which "update
    sensor reading" should not have been invoked in the first place (e.g. two
    pages with the same origin share the latest readings map, but only one is
    visible; updates to the latest reading map would be accessible from the
    other as well).

PR #267 also made the "platform sensor" concept used in this section
per-browsing context (although in a very confusing way), which on its own is
a stricter requirement than what the note allowed, so we can drop the note
without making things less secure.

Incidentally, this also gets rid of one of the usages of "browsing context"
in the spec, which helps with #444.


Preview | Diff

The original note was added in #267 and expanded in #347, but its advice is
impractical:
- Sharing the activated sensors objects between multiple browsing
  contexts/documents/windows means these Sensor objects could potentially be
  shared by contexts in different top-level traversables (i.e. different
  tabs).
  Furthermore, if "can expose sensor readings" passes for one context but
  not the other, "update sensor reading" would still invoke "report latest
  reading updated" with sensors that cannot expose sensor readings.
- Similarly, if the latest reading map is shared between multiple contexts,
  an update would affect all contexts, including those for which "update
  sensor reading" should not have been invoked in the first place (e.g. two
  pages with the same origin share the latest readings map, but only one is
  visible; updates to the latest reading map would be accessible from the
  other as well).

PR #267 also made the "platform sensor" concept used in this section
per-browsing context (although in a very confusing way), which on its own is
a stricter requirement than what the note allowed, so we can drop the note
without making things less secure.

Incidentally, this also gets rid of one of the usages of "browsing context"
in the spec, which helps with #444.
@rakuco rakuco merged commit ad110bd into main Feb 17, 2024
2 checks passed
@rakuco rakuco deleted the remove-note-about-sharing-data-between-platform-sensors branch February 17, 2024 11:25
github-actions bot added a commit that referenced this pull request Feb 17, 2024
SHA: ad110bd
Reason: push, by rakuco

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants