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

Add Promise.withResolvers to permits list #1850

Merged
merged 1 commit into from
Nov 7, 2023

Conversation

doodlewind
Copy link
Contributor

closes: #1849

Description

This allows Promise.withResolves to the permits list.

Security Considerations

Scaling Considerations

Documentation Considerations

Testing Considerations

Upgrade Considerations

@kriskowal kriskowal self-requested a review November 7, 2023 22:47
@kriskowal kriskowal enabled auto-merge November 7, 2023 22:51
@kriskowal kriskowal disabled auto-merge November 7, 2023 22:52
@kriskowal
Copy link
Member

Tapping @erights. I am almost 100% confident that this is complete and consistent with our design. Hardened JavaScript does not ensure that all objects obtained through shared intrinsics are themselves hardened, just that their prototypes are hardened. We do not harden instances returned by intrinsics unless they themselves are implicitly shared with other compartments. I’m merging and commit to fix before release if not.

@kriskowal kriskowal enabled auto-merge November 7, 2023 22:57
@kriskowal kriskowal merged commit d5646cb into endojs:master Nov 7, 2023
14 checks passed
@erights
Copy link
Contributor

erights commented Nov 7, 2023

commit to fix before release if not

Please add a comment above entry linking to https://github.com/tc39/proposal-promise-with-resolvers , consistent with other such comments in permits.js

@erights
Copy link
Contributor

erights commented Nov 7, 2023

Other than that, LGTM

does not ensure that all objects obtained through shared intrinsics are themselves hardened, just that their prototypes are hardened. We do not harden instances returned by intrinsics unless they themselves are implicitly shared with other compartments.

Of those two sentences, the second is correct. The first sentence by itself

  • mistakenly doesn't include shared intrinsics other than prototypes.
  • mistakenly includes prototypes, even if they are freshly made and therefore unshared, IIUC such as the prototypes of new async generator functions.

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.

Promise.withResolvers is unexpectedly removed
3 participants