1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:28:11 +00:00
serenity/Userland/Libraries/LibJS
Linus Groh f27bc56e5e LibJS: Capture promise capability in new_promise_capability() executor
This is how the spec suggests implementing this; we need to be slightly
more verbose as our PromiseCapability implementation cannot hold
arbitrary JS values.

Unfortunately it makes the error message slightly more ambiguous as we
no longer expose the non-function value to the outer scope (we could!),
but at least we don't UAF the stack allocated values anymore :^)
2022-10-02 23:02:27 +01:00
..
Bytecode LibJS: Show class name in the dump from the NewClass instruction 2022-10-02 18:49:17 +01:00
Contrib/Test262 LibJS: Implement $262.evalScript() according to the given algorithm 2022-08-30 12:00:04 +01:00
Heap LibJS: Add Visitor::visit(GCPtr<T>) and Visitor::visit(NonnullGCPtr<T>) 2022-10-02 23:02:27 +01:00
Runtime LibJS: Capture promise capability in new_promise_capability() executor 2022-10-02 23:02:27 +01:00
Tests LibJS: Change default time display options to "always" for digital style 2022-09-22 14:39:24 +01:00
AST.cpp LibJS: Make PromiseCapability GC-allocated 2022-10-02 23:02:27 +01:00
AST.h LibJS: Allow SpreadExpressions to generate bytecode 2022-10-01 00:04:02 +01:00
CMakeLists.txt LibJS: Move PromiseCapability into its own cpp/h file 2022-10-02 23:02:27 +01:00
Console.cpp LibJS: Create Console using a Realm instead of a VM 2022-09-21 20:03:49 +01:00
Console.h LibJS: Create Console using a Realm instead of a VM 2022-09-21 20:03:49 +01:00
CyclicModule.cpp LibJS: Make PromiseCapability GC-allocated 2022-10-02 23:02:27 +01:00
CyclicModule.h LibJS: Make PromiseCapability GC-allocated 2022-10-02 23:02:27 +01:00
Forward.h LibJS: Make PromiseCapability GC-allocated 2022-10-02 23:02:27 +01:00
Interpreter.cpp LibJS: Make Script and Module GC-allocated 2022-09-06 00:27:09 +02:00
Interpreter.h LibJS: Remove {Bytecode::,}Interpreter::global_object() 2022-08-23 13:58:30 +01:00
Lexer.cpp Everywhere: Use default StringView constructor over nullptr 2022-07-12 23:11:35 +02:00
Lexer.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
MarkupGenerator.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
MarkupGenerator.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Module.cpp LibJS: Make Script and Module GC-allocated 2022-09-06 00:27:09 +02:00
Module.h LibJS: Make Script and Module GC-allocated 2022-09-06 00:27:09 +02:00
Parser.cpp LibJS: Allow anonymous functions as default exports 2022-09-02 02:07:37 +01:00
Parser.h LibJS: Allow anonymous functions as default exports 2022-09-02 02:07:37 +01:00
SafeFunction.h LibJS: Add JS::SafeFunction, like Function but protects captures from GC 2022-09-24 12:23:29 +02:00
Script.cpp LibJS: Make sure JS::Script visits its HostDefined object 2022-09-06 01:21:09 +02:00
Script.h LibJS+LibWeb: Make HTML::Script GC-allocated 2022-09-06 00:27:09 +02:00
SourceRange.h LibJS: Add missing headers 2021-10-06 23:52:40 +01:00
SourceTextModule.cpp LibJS: Make PromiseCapability GC-allocated 2022-10-02 23:02:27 +01:00
SourceTextModule.h LibJS: Make PromiseCapability GC-allocated 2022-10-02 23:02:27 +01:00
SyntaxHighlighter.cpp LibJS: Remove a bunch of gratuitous JS namespace qualifiers 2022-04-03 15:19:33 +01:00
SyntaxHighlighter.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SyntheticModule.cpp LibJS: Make Script and Module GC-allocated 2022-09-06 00:27:09 +02:00
SyntheticModule.h LibJS: Make Script and Module GC-allocated 2022-09-06 00:27:09 +02:00
Token.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Token.h Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00