WebKit Bugzilla
Attachment 371346 Details for
Bug 198534
: Crash when calling XMLHttpRequest.setRequestHeader() in a worker
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198534-20190604155252.patch (text/plain), 4.64 KB, created by
Chris Dumez
on 2019-06-04 15:52:55 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2019-06-04 15:52:55 PDT
Size:
4.64 KB
patch
obsolete
>Subversion Revision: 246084 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 18993dac63b7508e5c7a6617aea74d84b26b8953..c7abe4c4a5bb5354cf9008e3b2cfae5714614b1b 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,19 @@ >+2019-06-04 Chris Dumez <cdumez@apple.com> >+ >+ Crash when calling XMLHttpRequest.setRequestHeader() in a worker >+ https://bugs.webkit.org/show_bug.cgi?id=198534 >+ <rdar://problem/51393912> >+ >+ Reviewed by Alex Christensen. >+ >+ Make sure the script execution context is a Document because calling document() >+ to get the settings. >+ >+ Test: fast/workers/worker-xhr-setRequestHeader.html >+ >+ * xml/XMLHttpRequest.cpp: >+ (WebCore::XMLHttpRequest::setRequestHeader): >+ > 2019-06-04 Antti Koivisto <antti@apple.com> > > Sticky positioning is jumpy in many overflow cases >diff --git a/Source/WebCore/xml/XMLHttpRequest.cpp b/Source/WebCore/xml/XMLHttpRequest.cpp >index 2f717c3a1fb31272d08b51d1eee80d8335aa317a..4c351f6ad9504122a45bc64196f6502d996ad30b 100644 >--- a/Source/WebCore/xml/XMLHttpRequest.cpp >+++ b/Source/WebCore/xml/XMLHttpRequest.cpp >@@ -817,7 +817,9 @@ ExceptionOr<void> XMLHttpRequest::setRequestHeader(const String& name, const Str > #if ENABLE(DASHBOARD_SUPPORT) > allowUnsafeHeaderField = usesDashboardBackwardCompatibilityMode(); > #endif >- if (securityOrigin()->canLoadLocalResources() && document()->settings().allowSettingAnyXHRHeaderFromFileURLs()) >+ >+ // FIXME: The allowSettingAnyXHRHeaderFromFileURLs setting currently only applies to Documents, not workers. >+ if (securityOrigin()->canLoadLocalResources() && scriptExecutionContext()->isDocument() && document()->settings().allowSettingAnyXHRHeaderFromFileURLs()) > allowUnsafeHeaderField = true; > if (!allowUnsafeHeaderField && isForbiddenHeaderName(name)) { > logConsoleError(scriptExecutionContext(), "Refused to set unsafe header \"" + name + "\""); >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index ddf3dddac387fba9adb3046a77679627d008985f..f71a239ccd8f392beab143b5dae0e09279a0b713 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,17 @@ >+2019-06-04 Chris Dumez <cdumez@apple.com> >+ >+ Crash when calling XMLHttpRequest.setRequestHeader() in a worker >+ https://bugs.webkit.org/show_bug.cgi?id=198534 >+ <rdar://problem/51393912> >+ >+ Reviewed by Alex Christensen. >+ >+ Add layout test coverage. >+ >+ * fast/workers/resources/worker-xhr-setRequestHeader.js: Added. >+ * fast/workers/worker-xhr-setRequestHeader-expected.txt: Added. >+ * fast/workers/worker-xhr-setRequestHeader.html: Added. >+ > 2019-06-04 Antti Koivisto <antti@apple.com> > > Sticky positioning is jumpy in many overflow cases >diff --git a/LayoutTests/fast/workers/resources/worker-xhr-setRequestHeader.js b/LayoutTests/fast/workers/resources/worker-xhr-setRequestHeader.js >new file mode 100644 >index 0000000000000000000000000000000000000000..64cd8bb504504245619e0e0237d57280ea77171e >--- /dev/null >+++ b/LayoutTests/fast/workers/resources/worker-xhr-setRequestHeader.js >@@ -0,0 +1,14 @@ >+importScripts('../../../resources/js-test-pre.js'); >+ >+var global = this; >+global.jsTestIsAsync = true; >+ >+description("Tests XMLHttpRequest.setRequestHeader() in workers"); >+ >+var xhr = new XMLHttpRequest; >+xhr.open("GET", "empty-worker.js", false); >+xhr.setRequestHeader("Accept", "*/*"); >+xhr.send(null); >+ >+finishJSTest(); >+ >diff --git a/LayoutTests/fast/workers/worker-xhr-setRequestHeader-expected.txt b/LayoutTests/fast/workers/worker-xhr-setRequestHeader-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..25f9ec5260dd1eff6a8910879d0e67fc022c2b9a >--- /dev/null >+++ b/LayoutTests/fast/workers/worker-xhr-setRequestHeader-expected.txt >@@ -0,0 +1,10 @@ >+[Worker] Tests XMLHttpRequest.setRequestHeader() in workers >+ >+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >+ >+ >+Starting worker: resources/worker-xhr-setRequestHeader.js >+PASS successfullyParsed is true >+ >+TEST COMPLETE >+ >diff --git a/LayoutTests/fast/workers/worker-xhr-setRequestHeader.html b/LayoutTests/fast/workers/worker-xhr-setRequestHeader.html >new file mode 100644 >index 0000000000000000000000000000000000000000..f6fa138959001a36dc78ecb86fef5dbed282181b >--- /dev/null >+++ b/LayoutTests/fast/workers/worker-xhr-setRequestHeader.html >@@ -0,0 +1,12 @@ >+<!DOCTYPE html> >+<html> >+<head> >+<script src="../../resources/js-test-pre.js"></script> >+</head> >+<body> >+<script> >+worker = startWorker('resources/worker-xhr-setRequestHeader.js'); >+</script> >+<script src="../../resources/js-test-post.js"></script> >+</body> >+</html>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198534
:
371297
|
371304
|
371316
|
371317
|
371321
|
371324
|
371327
|
371343
|
371344
| 371346