Comments (2)
The deeper issue here is there's no way to distinguish these two types, so such an overload---or union---is meaningless. JavaScript functions passed to your method don't signal their return value in some way spec code can distinguish. You can't know what a JavaScript function will return, until you call it!
Probably instead you want the callback to return object, and then you can do tests in prose accounting for the three cases of interest: the result of calling the callback implements HTMLMediaElement, the result implements AudioContext, or neither of those things are true.
from autoplay.
Hmm, that means that browsers would need to call the constructor themselves to check the return type. That does not sound like very good design (arbitrary constructors may have side effects).
For context, the current design originates from #15 (comment)
@alastor0325, this may suggest that the spec needs to consider a different approach. Perhaps with an enum? Something like:
enum AutoplayPolicyMediaType { "audio", "video", "media" };
[Exposed=Window]
partial interface Navigator {
AutoplayPolicy getAutoplayPolicy(AutoplayPolicyMediaType type);
};
from autoplay.
Related Issues (20)
- Intent to Migrate: Autoplay Policy Detection HOT 3
- CFC: Issues #3, #6, and #7 - sync vs. async HOT 11
- The final decision of autoplay detection API name HOT 60
- Alternate API design HOT 18
- Throw an exception when authors pass an unsupported constructor or element to `getAutoplayPolicy()`
- Preventing sites from prompting users on Autoplay HOT 4
- Privacy, Spec should call out that the API discloses user settings that is a fingerprinting vector. HOT 3
- The API restricts autoplay options to current status quo HOT 5
- Publish FPWD HOT 1
- Relationship to Permissions Policy HOT 1
- Split security and privacy considerations HOT 1
- FPWD Horizontal reviews
- Autoplay Policy Detection API i18n self-review HOT 4
- Autoplay Policy Detection API accessibility self-review HOT 1
- Declarative Autoplay Policy Detection
- Query by a Media Type feels inconsistent HOT 6
- Relation to prefers-reduced-motion HOT 2
- Spec should document fingerprinting and XSLeak risk
- notifying the site of a browser intervention can be user harming HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autoplay.