From 7724a96efa5d2cbd4fbbc3979f3986fed6435dc2 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Mon, 30 Jun 2025 23:29:30 +0100 Subject: [PATCH] LibWeb: Don't expose `XMLHttpRequest.responseXML` in workers --- Libraries/LibWeb/XHR/XMLHttpRequest.idl | 2 +- ...HttpRequest-responseXML-unavailable-in-worker.txt | 1 + ...ttpRequest-responseXML-unavailable-in-worker.html | 12 ++++++++++++ ...XHttpRequest-responseXML-unavailable-in-worker.js | 5 +++++ 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 Tests/LibWeb/Text/expected/Worker/XHttpRequest-responseXML-unavailable-in-worker.txt create mode 100644 Tests/LibWeb/Text/input/Worker/XHttpRequest-responseXML-unavailable-in-worker.html create mode 100644 Tests/LibWeb/Text/input/Worker/XHttpRequest-responseXML-unavailable-in-worker.js diff --git a/Libraries/LibWeb/XHR/XMLHttpRequest.idl b/Libraries/LibWeb/XHR/XMLHttpRequest.idl index 4683e9728aa..df719f76322 100644 --- a/Libraries/LibWeb/XHR/XMLHttpRequest.idl +++ b/Libraries/LibWeb/XHR/XMLHttpRequest.idl @@ -50,6 +50,6 @@ interface XMLHttpRequest : XMLHttpRequestEventTarget { attribute XMLHttpRequestResponseType responseType; readonly attribute any response; readonly attribute DOMString responseText; - readonly attribute Document? responseXML; + [Exposed=Window] readonly attribute Document? responseXML; }; diff --git a/Tests/LibWeb/Text/expected/Worker/XHttpRequest-responseXML-unavailable-in-worker.txt b/Tests/LibWeb/Text/expected/Worker/XHttpRequest-responseXML-unavailable-in-worker.txt new file mode 100644 index 00000000000..7ef22e9a431 --- /dev/null +++ b/Tests/LibWeb/Text/expected/Worker/XHttpRequest-responseXML-unavailable-in-worker.txt @@ -0,0 +1 @@ +PASS diff --git a/Tests/LibWeb/Text/input/Worker/XHttpRequest-responseXML-unavailable-in-worker.html b/Tests/LibWeb/Text/input/Worker/XHttpRequest-responseXML-unavailable-in-worker.html new file mode 100644 index 00000000000..2902bd3df9b --- /dev/null +++ b/Tests/LibWeb/Text/input/Worker/XHttpRequest-responseXML-unavailable-in-worker.html @@ -0,0 +1,12 @@ + + + diff --git a/Tests/LibWeb/Text/input/Worker/XHttpRequest-responseXML-unavailable-in-worker.js b/Tests/LibWeb/Text/input/Worker/XHttpRequest-responseXML-unavailable-in-worker.js new file mode 100644 index 00000000000..f5c6d9457ab --- /dev/null +++ b/Tests/LibWeb/Text/input/Worker/XHttpRequest-responseXML-unavailable-in-worker.js @@ -0,0 +1,5 @@ +self.onmessage = function () { + let xhr = new XMLHttpRequest(); + postMessage(xhr.responseXML === undefined ? "PASS" : "FAIL"); + self.close(); +};