mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 814576. Make XMLHttpRequest really set its progress events as trusted. r=smaug
This commit is contained in:
parent
f28a2da3cb
commit
266b4382fd
@ -1608,8 +1608,6 @@ nsXMLHttpRequest::DispatchProgressEvent(nsDOMEventTargetHelper* aTarget,
|
||||
return;
|
||||
}
|
||||
|
||||
event->SetTrusted(true);
|
||||
|
||||
nsCOMPtr<nsIDOMProgressEvent> progress = do_QueryInterface(event);
|
||||
if (!progress) {
|
||||
return;
|
||||
@ -1618,6 +1616,8 @@ nsXMLHttpRequest::DispatchProgressEvent(nsDOMEventTargetHelper* aTarget,
|
||||
progress->InitProgressEvent(aType, false, false, aLengthComputable,
|
||||
aLoaded, (aTotal == UINT64_MAX) ? 0 : aTotal);
|
||||
|
||||
event->SetTrusted(true);
|
||||
|
||||
if (aUseLSEventWrapper) {
|
||||
nsCOMPtr<nsIDOMProgressEvent> xhrprogressEvent =
|
||||
new nsXMLHttpProgressEvent(progress, aPosition, aTotalSize, GetOwner());
|
||||
|
@ -597,6 +597,7 @@ MOCHITEST_FILES_B = \
|
||||
test_textnode_normalize_in_selection.html \
|
||||
test_xhr_send_readystate.html \
|
||||
test_bug813919.html \
|
||||
test_bug814576.html \
|
||||
$(NULL)
|
||||
|
||||
# OOP tests don't work on Windows (bug 763081) or native-fennec
|
||||
|
41
content/base/test/test_bug814576.html
Normal file
41
content/base/test/test_bug814576.html
Normal file
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=814576
|
||||
-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Test for Bug 814576</title>
|
||||
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=814576">Mozilla Bug 814576</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
<script type="application/javascript">
|
||||
|
||||
/** Test for Bug 814576 **/
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", "");
|
||||
xhr.send();
|
||||
var called = false;
|
||||
// Add an event listener that only listens for trusted events
|
||||
xhr.addEventListener("abort", function() { called = true; }, false, false);
|
||||
|
||||
// Check that synthetic events don't trigger the listener
|
||||
var ev = document.createEvent("Events");
|
||||
ev.initEvent("abort", false, false);
|
||||
xhr.dispatchEvent(ev);
|
||||
is(called, false, "Should not call listener for untrusted events");
|
||||
|
||||
// And now make sure we get our abort
|
||||
xhr.abort();
|
||||
is(called, true, "Should call listener when we abort");
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user