From c4d8cce9a201400c564fb0ba858e953e338a567d Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Sat, 20 Feb 2021 00:45:24 +0100 Subject: [PATCH] LibWeb: Use DOMException in XMLHttpRequest::set_request_header() --- .../Libraries/LibWeb/XHR/XMLHttpRequest.cpp | 19 +++++++++---------- .../Libraries/LibWeb/XHR/XMLHttpRequest.h | 3 ++- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp index 694d6818d2..a8f8664040 100644 --- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp +++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp @@ -27,10 +27,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -103,26 +105,23 @@ static String normalize_header_value(const String& header_value) } // https://xhr.spec.whatwg.org/#dom-xmlhttprequest-setrequestheader -void XMLHttpRequest::set_request_header(const String& header, const String& value) +DOM::ExceptionOr XMLHttpRequest::set_request_header(const String& header, const String& value) { - if (m_ready_state != ReadyState::Opened) { - // FIXME: throw an "InvalidStateError" DOMException. - return; - } + if (m_ready_state != ReadyState::Opened) + return DOM::InvalidStateError::create("XHR readyState is not OPENED"); - if (m_send) { - // FIXME: throw an "InvalidStateError" DOMException. - return; - } + if (m_send) + return DOM::InvalidStateError::create("XHR send() flag is already set"); // FIXME: Check if name matches the name production. // FIXME: Check if value matches the value production. if (is_forbidden_header_name(header)) - return; + return {}; // FIXME: Combine m_request_headers.set(header, normalize_header_value(value)); + return {}; } void XMLHttpRequest::open(const String& method, const String& url) diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h index 3071ba3aa2..686caa01d3 100644 --- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h +++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h @@ -33,6 +33,7 @@ #include #include #include +#include #include namespace Web::XHR { @@ -71,7 +72,7 @@ public: void open(const String& method, const String& url); void send(); - void set_request_header(const String& header, const String& value); + DOM::ExceptionOr set_request_header(const String& header, const String& value); private: virtual void ref_event_target() override { ref(); }