summaryrefslogtreecommitdiff
path: root/Libraries/LibWeb/Bindings
diff options
context:
space:
mode:
authorMatthew Olsson <matthewcolsson@gmail.com>2020-06-25 15:30:58 -0700
committerAndreas Kling <kling@serenityos.org>2020-07-01 11:16:37 +0200
commitbda39ef7ab3e05ce0d005721b0622aa52a2a6cbe (patch)
treef9ae55a919b8f9cafccf558c6c26318b61ad49f9 /Libraries/LibWeb/Bindings
parent19411e22d0d988897caf10e07c948eb203166573 (diff)
downloadserenity-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.cpp4
-rw-r--r--Libraries/LibWeb/Bindings/XMLHttpRequestConstructor.h2
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; }