w3c / battery

Battery Status API
https://www.w3.org/TR/battery-status/
Other
24 stars 15 forks source link

Checks on allowed usage are specced incorrectly #19

Closed domenic closed 4 years ago

domenic commented 6 years ago

(This seems related to #10, but it's focused more on the details, so I opened a new issue.)

If the incumbent settings object is not a secure context, then reject this Navigator object's battery promise with a "SecurityError" DOMException, return this Navigator object's battery promise and abort these steps.

"incumbent settings object" should never be used by new specifications. I hope nobody implemented it this way. Instead, prefer the relevant settings object of this Navigator object.

See https://html.spec.whatwg.org/multipage/webappapis.html#realms-settings-objects-global-objects to learn about the (testable, observable) differences between these choices.

(Thanks @TimothyGu for spotting this.)

If the browsing context is not a top-level browsing context, then reject this Navigator object's battery promise with a "SecurityError" DOMException, return this Navigator object's battery promise and abort these steps.

What is "the browsing context"?

Probably you want, hmm, this Navigator object's relevant global object's associated Document's browsing context?

(If we see this pattern more, maybe we should make it easier to write... I'll file a tracking issue.)

anssiko commented 5 years ago

13 is where the latest is, should address both these issues too. Sorry @domenic if you wasted some time reviewing the old text. The plan was to merge that PR sooner to get this fix in too.

Please let us know if the text in #13 looks good and we try to get it landed.