Get a working Promises implementation #360

Closed
opened 7 years ago by wolfbeast · 5 comments
wolfbeast commented 7 years ago (Migrated from github.com)

This must get top priority. With disabling it in 26.1 due to non-functionality we are left without promises.

A few choices:

  • Fix the injector, or
  • Implement DOM promises following Mozilla's code, even if it's out of place in DOM (we already have the base work but it's not spec compliant), or
  • Find a way to self-host Promises in the JS engine itself
This must get top priority. With disabling it in 26.1 due to non-functionality we are left without promises. A few choices: - Fix the injector, _or_ - Implement DOM promises following Mozilla's code, even if it's out of place in DOM (we already have the base work but it's not spec compliant), _or_ - Find a way to self-host Promises in the JS engine itself
wolfbeast commented 7 years ago (Migrated from github.com)

I'm working on a DOM implementation, since self-hosting in SpiderMonkey is currently not working (we need a way to hook it into the event loop, somehow)

I'm working on a DOM implementation, since self-hosting in SpiderMonkey is currently not working (we need a way to hook it into the event loop, somehow)
wolfbeast commented 7 years ago (Migrated from github.com)

DOM Promises work is almost done as regards the basic implementation according to the current ES6 spec, but there is a problem with GC/CC yanking promises out from under us leading to crashes. Branch DOM-promises-work has the functionally-working (but crashing) DOM implementation of Promises.

After a week of research into GC and CC and trying to make these crashes stop, I'm at the end of my repertoire of options, have unassigned myself, and I'm now offering a bounty to whomever can make this a stable, non-crashing (and preferably non-leaking!) implementation or find a way to use either of the other two options to solve this issue in a complete fashion.

DOM Promises work is almost done as regards the basic implementation according to the current ES6 spec, but there is a problem with GC/CC yanking promises out from under us leading to crashes. Branch **DOM-promises-work** has the functionally-working (but crashing) DOM implementation of Promises. After a week of research into GC and CC and trying to make these crashes stop, I'm at the end of my repertoire of options, have unassigned myself, and I'm now offering a bounty to whomever can make this a stable, non-crashing (and preferably non-leaking!) implementation or find a way to use either of the other two options to solve this issue in a complete fashion.
wolfbeast commented 7 years ago (Migrated from github.com)

Cancelling the bounty on this. A stopgap injector extension is in place which helps for some sites, and Tycho will fix this in the DOM.

Cancelling the bounty on this. A stopgap injector extension is in place which helps for some sites, and Tycho will fix this in the DOM.
hkmaly commented 7 years ago (Migrated from github.com)

Which version will this be in? Because google AMP still doesn't work correctly in 26.3.0.

Which version will this be in? Because google AMP still doesn't work correctly in 26.3.0.
trav90 commented 7 years ago (Migrated from github.com)

As mentioned by wolfbeast above, it will be fixed by Tycho (our current re-base project that will be Pale Moon 27.0).

As mentioned by wolfbeast above, it will be fixed by Tycho (our current re-base project that will be Pale Moon 27.0).
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: MoonchildProductions/Pale-Moon#360
Loading…
There is no content yet.