You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As previous issues in this tracker plus other offline discussions have revealed, my hypotheses as to what would be implementable are not very good. As such the API currently in the README is not a great representation of what we're trying to accomplish here, as it mixes up the problem space with the solution space.
Here's my first draft of goals and non-goals that should help make things clearer for anyone, like myself, who wants to rethink the solution space.
Goals
Work in both window and worker contexts (probably worklet too)
Span built-in JS (ECMAScript spec) and web (Web IDL) ecosystems
Give the ability to do the original operation for:
Usage does not make refactoring prototype chains over time more likely to break the web (see current readme's "Instance based design rationale" section)
Be relatively efficient (at least in theory, with sufficiently smart implementations):
Invoking original operations should not be much slower than invoking things "normally"
Pages that use this API should not be worse in memory usage than pages that don't, ideally, or at least should pay only proportional to their use
Non-goals
API is easy to use for humans. Primarily we would anticipate this being used by tools that convert idiomatic code into robust get-originals-using code.
Getting the original value/doing the original operation for:
It is also a non-goal to support a way of stashing and retrieving the originals for user-supplied objects, although that would be vaguely nice if it falls out naturally from the design we end up with. (Related: drufball/layered-apis#32)
The text was updated successfully, but these errors were encountered:
Let me suggest constraining your discussions to other threads, so we can use this for the design goals of the proposal authors. I'll collapse a number of comments here.
As previous issues in this tracker plus other offline discussions have revealed, my hypotheses as to what would be implementable are not very good. As such the API currently in the README is not a great representation of what we're trying to accomplish here, as it mixes up the problem space with the solution space.
Here's my first draft of goals and non-goals that should help make things clearer for anyone, like myself, who wants to rethink the solution space.
Goals
this
whatwg/webidl#135 and also State that by default all objects are created in the relevant realm ofthis
whatwg/webidl#135 (comment)Non-goals
It is also a non-goal to support a way of stashing and retrieving the originals for user-supplied objects, although that would be vaguely nice if it falls out naturally from the design we end up with. (Related: drufball/layered-apis#32)
The text was updated successfully, but these errors were encountered: