diff options
author | Matthew Olsson <matthewcolsson@gmail.com> | 2020-06-25 15:30:58 -0700 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-07-01 11:16:37 +0200 |
commit | bda39ef7ab3e05ce0d005721b0622aa52a2a6cbe (patch) | |
tree | f9ae55a919b8f9cafccf558c6c26318b61ad49f9 /Libraries/LibWeb/Bindings | |
parent | 19411e22d0d988897caf10e07c948eb203166573 (diff) | |
download | serenity-bda39ef7ab3e05ce0d005721b0622aa52a2a6cbe.zip |
LibJS: Explicitly pass a "Function& new_target" to Function::construct
This allows the proxy handler to pass the proper new.target to construct
handlers.
Diffstat (limited to 'Libraries/LibWeb/Bindings')
-rw-r--r-- | Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.cpp | 4 | ||||
-rw-r--r-- | Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.cpp b/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.cpp index c2682383ec..e1bb113a74 100644 --- a/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.cpp +++ b/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.cpp @@ -59,10 +59,10 @@ XMLHttpRequestConstructor::~XMLHttpRequestConstructor() JS::Value XMLHttpRequestConstructor::call(JS::Interpreter& interpreter) { - return construct(interpreter); + return construct(interpreter, *this); } -JS::Value XMLHttpRequestConstructor::construct(JS::Interpreter& interpreter) +JS::Value XMLHttpRequestConstructor::construct(JS::Interpreter& interpreter, Function&) { auto& window = static_cast<WindowObject&>(global_object()); return interpreter.heap().allocate<XMLHttpRequestWrapper>(window, window, XMLHttpRequest::create(window.impl())); diff --git a/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.h b/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.h index ca5a8f8652..5c9b733e73 100644 --- a/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.h +++ b/Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.h @@ -38,7 +38,7 @@ public: virtual ~XMLHttpRequestConstructor() override; virtual JS::Value call(JS::Interpreter&) override; - virtual JS::Value construct(JS::Interpreter&) override; + virtual JS::Value construct(JS::Interpreter& interpreter, Function& new_target) override; private: virtual bool has_constructor() const override { return true; } |