Bug 1532933 - Enable ESLint for dom/xhr (manual changes). r=Standard8,baku

Depends on D45680

Differential Revision: https://phabricator.services.mozilla.com/D45683

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Shashank Kaushik 2019-09-15 13:07:10 +00:00
parent b7630b9df2
commit 059c1179f1
30 changed files with 112 additions and 84 deletions

View file

@ -14,7 +14,6 @@ obj*/
# dom/ exclusions which should be removed (aka ESLint enabled) # dom/ exclusions which should be removed (aka ESLint enabled)
dom/media/test/ dom/media/test/
!dom/media/test/marionette/yttest/*.js !dom/media/test/marionette/yttest/*.js
dom/xhr/
# build/ third-party code # build/ third-party code
build/pgo/js-input/ build/pgo/js-input/

View file

@ -8,10 +8,7 @@ add_task(async function test() {
fileData += "hello world!"; fileData += "hello world!";
} }
let file = Cc["@mozilla.org/file/directory_service;1"] let file = Services.dirsvc.get("ProfD", Ci.nsIFile);
.getService(Ci.nsIDirectoryService)
.QueryInterface(Ci.nsIProperties)
.get("ProfD", Ci.nsIFile);
file.append("file.txt"); file.append("file.txt");
file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600); file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
@ -21,14 +18,14 @@ add_task(async function test() {
outStream.init( outStream.init(
file, file,
0x02 | 0x08 | 0x20, // write, create, truncate 0x02 | 0x08 | 0x20, // write, create, truncate
// eslint-disable-next-line no-octal
0666, 0666,
0 0
); );
outStream.write(fileData, fileData.length); outStream.write(fileData, fileData.length);
outStream.close(); outStream.close();
let fileHandler = Cc["@mozilla.org/network/io-service;1"] let fileHandler = Services.io
.getService(Ci.nsIIOService)
.getProtocolHandler("file") .getProtocolHandler("file")
.QueryInterface(Ci.nsIFileProtocolHandler); .QueryInterface(Ci.nsIFileProtocolHandler);

View file

@ -7,7 +7,7 @@ add_task(async _ => {
); );
xhr.responseType = "blob"; xhr.responseType = "blob";
xhr.send(""); xhr.send("");
xhr.onloadend = _ => { xhr.onloadend = __ => {
is(xhr.response.blobImplType, "EmptyBlobImpl", "We want a EmptyBlobImpl"); is(xhr.response.blobImplType, "EmptyBlobImpl", "We want a EmptyBlobImpl");
resolve(); resolve();
}; };
@ -29,7 +29,7 @@ add_task(async _ => {
return data; return data;
}, },
}); });
xhr.onloadend = _ => { xhr.onloadend = __ => {
is( is(
xhr.response.blobImplType, xhr.response.blobImplType,
"MemoryBlobImpl", "MemoryBlobImpl",
@ -59,7 +59,7 @@ add_task(async _ => {
return data; return data;
}, },
}); });
xhr.onloadend = _ => { xhr.onloadend = __ => {
is( is(
xhr.response.blobImplType, xhr.response.blobImplType,
"StreamBlobImpl[TemporaryBlobImpl]", "StreamBlobImpl[TemporaryBlobImpl]",

View file

@ -12,8 +12,7 @@ add_task(async function test() {
"http://mochi.test:8888/browser/dom/xhr/tests/browser_xhr_onchange_leak.html"; "http://mochi.test:8888/browser/dom/xhr/tests/browser_xhr_onchange_leak.html";
let newTab = await BrowserTestUtils.openNewForegroundTab(gBrowser, url); let newTab = await BrowserTestUtils.openNewForegroundTab(gBrowser, url);
let browser = gBrowser.selectedBrowser; let browser = gBrowser.selectedBrowser;
let done = await ContentTask.spawn(browser, {}, async function(browser) { let done = await ContentTask.spawn(browser, {}, async function() {
let doc = content.document;
let promise = ContentTaskUtils.waitForEvent(this, "DOMContentLoaded", true); let promise = ContentTaskUtils.waitForEvent(this, "DOMContentLoaded", true);
content.location = "http://example.org/"; content.location = "http://example.org/";
await promise; await promise;

View file

@ -1,3 +1,5 @@
// This file expects next() to be defined in the scope it is imported into.
/* global next */
var data = new Array(256).join("1234567890ABCDEF"); var data = new Array(256).join("1234567890ABCDEF");
function createXHR() { function createXHR() {

View file

@ -13,6 +13,7 @@ addEventListener('load', evt => {
document.write( document.write(
'<body>' + '<body>' +
'<iframe src="about:blank"></iframe>' + '<iframe src="about:blank"></iframe>' +
// eslint-disable-next-line no-useless-concat
'<script>window.opener.postMessage("DONE", "*");</' + 'script>' + '<script>window.opener.postMessage("DONE", "*");</' + 'script>' +
'</body>'); '</body>');
document.close(); document.close();

View file

@ -2,6 +2,8 @@
* Any copyright is dedicated to the Public Domain. * Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ * http://creativecommons.org/publicdomain/zero/1.0/
*/ */
/* eslint-env worker */
/* global workerURL */
const importURL = "relativeLoad_import.js"; const importURL = "relativeLoad_import.js";
onmessage = function(event) { onmessage = function(event) {
@ -12,17 +14,17 @@ onmessage = function(event) {
xhr.status != 200 || xhr.status != 200 ||
xhr.responseText != "A noisy noise annoys an oyster." xhr.responseText != "A noisy noise annoys an oyster."
) { ) {
throw "Couldn't get xhr text from where we wanted it!"; throw new Error("Couldn't get xhr text from where we wanted it!");
} }
importScripts(importURL); importScripts(importURL);
var worker = new Worker("relativeLoad_worker2.js"); var worker = new Worker("relativeLoad_worker2.js");
worker.onerror = function(event) { worker.onerror = function(e) {
throw event.message; throw e.message;
}; };
worker.onmessage = function(event) { worker.onmessage = function(e) {
if (event.data != workerURL) { if (e.data != workerURL) {
throw "Bad data!"; throw new Error("Bad data!");
} }
postMessage(workerURL); postMessage(workerURL);
}; };

View file

@ -2,6 +2,8 @@
* Any copyright is dedicated to the Public Domain. * Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ * http://creativecommons.org/publicdomain/zero/1.0/
*/ */
/* eslint-env worker */
/* global workerURL */
const importURL = "relativeLoad_import.js"; const importURL = "relativeLoad_import.js";
importScripts(importURL); importScripts(importURL);

View file

@ -2,14 +2,16 @@
* Any copyright is dedicated to the Public Domain. * Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ * http://creativecommons.org/publicdomain/zero/1.0/
*/ */
/* eslint-env worker */
/* global workerSubURL */
const importSubURL = "relativeLoad_sub_import.js"; const importSubURL = "relativeLoad_sub_import.js";
onmessage = function(event) { onmessage = function(_) {
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.open("GET", "testXHR.txt", false); xhr.open("GET", "testXHR.txt", false);
xhr.send(null); xhr.send(null);
if (xhr.status != 404) { if (xhr.status != 404) {
throw "Loaded an xhr from the wrong location!"; throw new Error("Loaded an xhr from the wrong location!");
} }
importScripts(importSubURL); importScripts(importSubURL);
@ -19,7 +21,7 @@ onmessage = function(event) {
}; };
worker.onmessage = function(event) { worker.onmessage = function(event) {
if (event.data != workerSubURL) { if (event.data != workerSubURL) {
throw "Bad data!"; throw new Error("Bad data!");
} }
postMessage(workerSubURL); postMessage(workerSubURL);
}; };

View file

@ -2,6 +2,8 @@
* Any copyright is dedicated to the Public Domain. * Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ * http://creativecommons.org/publicdomain/zero/1.0/
*/ */
/* eslint-env worker */
/* global workerSubURL */
const importSubURL = "relativeLoad_sub_import.js"; const importSubURL = "relativeLoad_sub_import.js";
importScripts(importSubURL); importScripts(importSubURL);

View file

@ -4,7 +4,7 @@
*/ */
onmessage = function(event) { onmessage = function(event) {
throw "No messages should reach me!"; throw new Error("No messages should reach me!");
}; };
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();

View file

@ -77,7 +77,7 @@ URL.revokeObjectURL(blobURL);
for (i = 0; i < failFiles.length; ++i) { for (i = 0; i < failFiles.length; ++i) {
xhr = new XMLHttpRequest(); xhr = new XMLHttpRequest();
var didthrow = false; let didthrow = false;
try { try {
xhr.open(failFiles[i][1], failFiles[i][0], false); xhr.open(failFiles[i][1], failFiles[i][0], false);
xhr.send(null); xhr.send(null);
@ -95,28 +95,28 @@ for (i = 0; i < failFiles.length; ++i) {
} }
function checkResponseTextAccessThrows(xhr) { function checkResponseTextAccessThrows(xhr) {
var didthrow = false; let didthrow = false;
try { xhr.responseText } catch (e) { didthrow = true; } try { xhr.responseText } catch (e) { didthrow = true; }
ok(didthrow, "should have thrown when accessing responseText"); ok(didthrow, "should have thrown when accessing responseText");
} }
function checkResponseXMLAccessThrows(xhr) { function checkResponseXMLAccessThrows(xhr) {
var didthrow = false; let didthrow = false;
try { xhr.responseXML } catch (e) { didthrow = true; } try { xhr.responseXML } catch (e) { didthrow = true; }
ok(didthrow, "should have thrown when accessing responseXML"); ok(didthrow, "should have thrown when accessing responseXML");
} }
function checkSetResponseType(xhr, type) { function checkSetResponseType(xhr, type) {
var didthrow = false; let didthrow = false;
try { xhr.responseType = type; } catch (e) { didthrow = true; } try { xhr.responseType = type; } catch (e) { didthrow = true; }
is(xhr.responseType, type, "responseType should be " + type); is(xhr.responseType, type, "responseType should be " + type);
ok(!didthrow, "should not have thrown when setting responseType"); ok(!didthrow, "should not have thrown when setting responseType");
} }
function checkSetResponseTypeThrows(xhr, type) { function checkSetResponseTypeThrows(xhr, type) {
var didthrow = false; let didthrow = false;
try { xhr.responseType = type; } catch (e) { didthrow = true; } try { xhr.responseType = type; } catch (e) { didthrow = true; }
ok(didthrow, "should have thrown when setting responseType"); ok(didthrow, "should have thrown when setting responseType");
} }
function checkOpenThrows(xhr, method, url, async) { function checkOpenThrows(xhr, method, url, async) {
var didthrow = false; let didthrow = false;
try { xhr.open(method, url, async); } catch (e) { didthrow = true; } try { xhr.open(method, url, async); } catch (e) { didthrow = true; }
ok(didthrow, "should have thrown when open is called"); ok(didthrow, "should have thrown when open is called");
} }
@ -235,7 +235,7 @@ is(JSON.stringify(xhr.response), jsonObjStr, "correct result");
is(xhr.response, xhr.response, "returning the same object on each access"); is(xhr.response, xhr.response, "returning the same object on each access");
// with invalid json // with invalid json
var xhr = new XMLHttpRequest(); xhr = new XMLHttpRequest();
xhr.open("POST", 'responseIdentical.sjs'); xhr.open("POST", 'responseIdentical.sjs');
xhr.responseType = 'json'; xhr.responseType = 'json';
xhr.onloadend = continueTest; xhr.onloadend = continueTest;
@ -335,7 +335,7 @@ while (xhr.readyState != 4)
xhr.onreadystatechange = null; xhr.onreadystatechange = null;
var b = xhr.response; b = xhr.response;
ok(b != null, "should have a non-null blob"); ok(b != null, "should have a non-null blob");
is(b.size, 65536, "wrong blob size"); is(b.size, 65536, "wrong blob size");

View file

@ -87,7 +87,7 @@ function* runTest() {
is(document.baseURI, "http://example.org/", "wrong doc baseURI"); is(document.baseURI, "http://example.org/", "wrong doc baseURI");
// use content XHR and access URI properties from content privileged script // use content XHR and access URI properties from content privileged script
xhr = new XMLHttpRequest; var xhr = new XMLHttpRequest;
xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.xml"); xhr.open("GET", "http://mochi.test:8888/tests/dom/xhr/tests/file_XHRDocURI.xml");
xhr.onreadystatechange = function(e) { xhr.onreadystatechange = function(e) {
if (!xhr.responseXML) { if (!xhr.responseXML) {

View file

@ -35,7 +35,7 @@ function setupAndRunTests() {
} }
function createFiles() { function createFiles() {
var filesToCreate = new Array(); var filesToCreate = [];
extensions.forEach(function (extension) { extensions.forEach(function (extension) {
filesToCreate.push({name: "testfile" + extension, data: testData}); filesToCreate.push({name: "testfile" + extension, data: testData});
}); });
@ -45,7 +45,7 @@ function createFiles() {
gen.next(); gen.next();
}, },
function (msg) { function (msg) {
testDOMFiles = new Array; testDOMFiles = [];
ok(false, "File creation error: " + msg); ok(false, "File creation error: " + msg);
gen.next(); gen.next();
}); });
@ -55,13 +55,13 @@ function createFiles() {
function continueTest() { gen.next(); } function continueTest() { gen.next(); }
function* runTests() { function* runTests() {
xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.open("GET", "file_XHRSendData_doc.xml", false); xhr.open("GET", "file_XHRSendData_doc.xml", false);
xhr.send(); xhr.send();
testDoc1 = xhr.responseXML; var testDoc1 = xhr.responseXML;
is(testDoc1.inputEncoding, "windows-1252", "wrong encoding"); is(testDoc1.inputEncoding, "windows-1252", "wrong encoding");
testDoc2 = document.implementation.createDocument("", "", null); var testDoc2 = document.implementation.createDocument("", "", null);
testDoc2.appendChild(testDoc2.createComment(" doc 2 ")); testDoc2.appendChild(testDoc2.createComment(" doc 2 "));
testDoc2.appendChild(testDoc2.createElement("res")); testDoc2.appendChild(testDoc2.createElement("res"));
testDoc2.documentElement.appendChild(testDoc2.createTextNode("text")); testDoc2.documentElement.appendChild(testDoc2.createTextNode("text"));
@ -74,7 +74,7 @@ shortInt8View[0] = 3;
var longArray = new ArrayBuffer(512); var longArray = new ArrayBuffer(512);
var longInt8View = new Uint8Array(longArray); var longInt8View = new Uint8Array(longArray);
for (var i = 0; i < longInt8View.length; i++) { for (let i = 0; i < longInt8View.length; i++) {
longInt8View[i] = i % 255; longInt8View[i] = i % 255;
} }
@ -87,7 +87,7 @@ var longInt16View2 = new Uint16Array(longArray, 256, 64)
var longInt8View1 = new Int8Array(longArraySlice) var longInt8View1 = new Int8Array(longArraySlice)
var longInt8View2 = new Int8Array(longArray, 256, 128) var longInt8View2 = new Int8Array(longArray, 256, 128)
tests = [{ body: null, var tests = [{ body: null,
resBody: "", resBody: "",
}, },
{ body: undefined, { body: undefined,
@ -202,7 +202,7 @@ tests = [{ body: null,
}, },
]; ];
for (var i = 0; i < testDOMFiles.length; i++) { for (let i = 0; i < testDOMFiles.length; i++) {
tests.push({ body: testDOMFiles[i], tests.push({ body: testDOMFiles[i],
resBody: testData, resBody: testData,
resContentType: fileTypes[i], resContentType: fileTypes[i],
@ -211,7 +211,7 @@ for (var i = 0; i < testDOMFiles.length; i++) {
} }
try { try {
for (test of tests) { for (var test of tests) {
xhr = new XMLHttpRequest; xhr = new XMLHttpRequest;
xhr.open("POST", "file_XHRSendData.sjs", !!test.resType); xhr.open("POST", "file_XHRSendData.sjs", !!test.resType);
if (test.contentType) if (test.contentType)
@ -259,8 +259,8 @@ try {
function is_identical_arraybuffer(ab1, ab2) { function is_identical_arraybuffer(ab1, ab2) {
is(ab1.byteLength, ab2.byteLength, "arraybuffer byteLengths not equal"); is(ab1.byteLength, ab2.byteLength, "arraybuffer byteLengths not equal");
u8v1 = new Uint8Array(ab1); var u8v1 = new Uint8Array(ab1);
u8v2 = new Uint8Array(ab2); var u8v2 = new Uint8Array(ab2);
is(String.fromCharCode.apply(String, u8v1), is(String.fromCharCode.apply(String, u8v1),
String.fromCharCode.apply(String, u8v2), "arraybuffer values not equal"); String.fromCharCode.apply(String, u8v2), "arraybuffer values not equal");
} }

View file

@ -38,7 +38,7 @@ function runTests() {
]; ];
let invalidParameters = [ let invalidParameters = [
{get mozSystem() { throw "Bla"; } }, {get mozSystem() { throw new Error("Bla"); } },
]; ];
let havePrivileges = false; let havePrivileges = false;

View file

@ -13,6 +13,7 @@
<body> <body>
<p id="display"></p> <p id="display"></p>
<script class="testbody" type="text/javascript"> <script class="testbody" type="text/javascript">
/* import-globals-from ../../events/test/event_leak_utils.js */
// Manipulate XHR. Its important here that we create a // Manipulate XHR. Its important here that we create a
// listener callback from the DOM objects back to the frame's global // listener callback from the DOM objects back to the frame's global
// in order to exercise the leak condition. // in order to exercise the leak condition.

View file

@ -34,8 +34,8 @@ Tests of DOM Worker Threads relative load
var worker = new Worker(urls[++index]); var worker = new Worker(urls[++index]);
worker.onmessage = messageHandler; worker.onmessage = messageHandler;
worker.onerror = function(event) { worker.onerror = function(e) {
ok(false, "Worker had an error: " + event.message); ok(false, "Worker had an error: " + e.message);
SimpleTest.finish(); SimpleTest.finish();
}; };
worker.postMessage("start"); worker.postMessage("start");

View file

@ -31,19 +31,23 @@ Tests of DOM Worker Threads XHR(Bug 450452 )
switch (args.type) { switch (args.type) {
case "progress": { case "progress": {
ok(parseInt(args.current) <= parseInt(args.total)); ok(parseInt(args.current) <= parseInt(args.total));
} break; break;
}
case "error": { case "error": {
ok(false, "XHR error: " + args.error); ok(false, "XHR error: " + args.error);
} break; break;
}
case "upload.load": { case "upload.load": {
gotUploadLoad = true; gotUploadLoad = true;
} break; break;
}
case "load": { case "load": {
ok(gotUploadLoad, "Should have gotten upload load event"); ok(gotUploadLoad, "Should have gotten upload load event");
gotLoadend = true; gotLoadend = true;
is(args.data, "A noisy noise annoys an oyster.", "correct data"); is(args.data, "A noisy noise annoys an oyster.", "correct data");
document.getElementById("content").textContent = args.data; document.getElementById("content").textContent = args.data;
} break; break;
}
case "loadend": { case "loadend": {
ok(gotLoadend, "Should have gotten load."); ok(gotLoadend, "Should have gotten load.");
SimpleTest.finish(); SimpleTest.finish();

View file

@ -16,10 +16,12 @@
<script class="testbody" type="application/javascript"> <script class="testbody" type="application/javascript">
function message(event) { function message(event) {
if (event.data.test == 'ok') if (event.data.test == 'ok') {
ok(event.data.a, event.data.event); ok(event.data.a, event.data.event);
else if(event.data.test == 'is') }
else if(event.data.test == 'is') {
is(event.data.a, event.data.b, event.data.event); is(event.data.a, event.data.b, event.data.event);
}
else if(event.data.test == 'finish') { else if(event.data.test == 'finish') {
run(); run();
} }

View file

@ -31,7 +31,7 @@ var validParameters = [
var invalidParameters = [ var invalidParameters = [
{ {
get mozSystem() { get mozSystem() {
throw "Bla"; throw new Error("Bla");
}, },
}, },
]; ];

View file

@ -16,10 +16,12 @@
<script class="testbody" type="application/javascript"> <script class="testbody" type="application/javascript">
function message(event) { function message(event) {
if (event.data.test == 'ok') if (event.data.test == 'ok') {
ok(event.data.a, event.data.event); ok(event.data.a, event.data.event);
else if(event.data.test == 'is') }
else if(event.data.test == 'is') {
is(event.data.a, event.data.b, event.data.event); is(event.data.a, event.data.b, event.data.event);
}
else if(event.data.test == 'finish') { else if(event.data.test == 'finish') {
run(); run();
} }

View file

@ -5,14 +5,14 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=308484
--> -->
<head> <head>
<title>Test for Bug 308484</title> <title>Test for Bug 308484</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script> <script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head> </head>
<body> <body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=308484">Mozilla Bug 308484</a> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=308484">Mozilla Bug 308484</a>
<p id="display"></p> <p id="display"></p>
<div id="content" style="display: none"> <div id="content" style="display: none">
</div> </div>
<pre id="test"> <pre id="test">
<script class="testbody" type="text/javascript"> <script class="testbody" type="text/javascript">
@ -56,10 +56,10 @@ function startTest() {
request.send(); // headers aren't set on the channel until send() request.send(); // headers aren't set on the channel until send()
// Read out headers // Read out headers
var channel = SpecialPowers.wrap(request).channel.QueryInterface(SpecialPowers.Ci.nsIHttpChannel); channel = SpecialPowers.wrap(request).channel.QueryInterface(SpecialPowers.Ci.nsIHttpChannel);
for (i = 0; i < headers.length; i++) { for (i = 0; i < headers.length; i++) {
// Retrieving Content-Length will throw an exception // Retrieving Content-Length will throw an exception
var value = null; value = null;
try { try {
value = channel.getRequestHeader(headers[i]); value = channel.getRequestHeader(headers[i]);
} }

View file

@ -134,10 +134,10 @@ function* runTests() {
]; ];
var responseType; var responseType;
var fileExpectedResult = ""; var fileExpectedResult = "";
for (var i = 0; i < 65536; i++) { for (let i = 0; i < 65536; i++) {
fileExpectedResult += String.fromCharCode(i & 255); fileExpectedResult += String.fromCharCode(i & 255);
} }
while (responseType = responseTypes.shift()) { while ((responseType = responseTypes.shift())) {
let tests = [{ open: "Content-Type=text/plain", name: "simple test" }, let tests = [{ open: "Content-Type=text/plain", name: "simple test" },
{ data: "hello world" }, { data: "hello world" },
{ data: "\u0000\u0001\u0002\u0003" }, { data: "\u0000\u0001\u0002\u0003" },
@ -220,7 +220,7 @@ function* runTests() {
if (!testState.file) if (!testState.file)
xhrClose = closeConn(); xhrClose = closeConn();
e = yield undefined; let e = yield undefined;
is(e.type, "readystatechange", "should readystate to done closing " + testState.name); is(e.type, "readystatechange", "should readystate to done closing " + testState.name);
is(xhr.readyState, xhr.DONE, "should be in state DONE closing " + testState.name); is(xhr.readyState, xhr.DONE, "should be in state DONE closing " + testState.name);
log("readystate to 4"); log("readystate to 4");
@ -279,7 +279,7 @@ function* runTests() {
while(testState.pendingBytes) { while(testState.pendingBytes) {
log("waiting for more bytes: " + testState.pendingBytes); log("waiting for more bytes: " + testState.pendingBytes);
e = yield undefined; let e = yield undefined;
// Readystate can fire several times between each progress event. // Readystate can fire several times between each progress event.
if (e.type === "readystatechange") if (e.type === "readystatechange")
continue; continue;

View file

@ -62,9 +62,9 @@ function testExceptionInToString() {
SimpleTest.finish(); SimpleTest.finish();
} }
try { try {
x.send({toString() { throw "dummy"; }}); x.send({toString() { throw new Error("dummy"); }});
} catch(ex) { } catch(ex) {
is(ex, "dummy"); is(ex.message, "dummy");
SimpleTest.finish(); SimpleTest.finish();
} }
} }

View file

@ -24,7 +24,7 @@ xhr.open("GET", "", false);
xhr.withCredentials = true; xhr.withCredentials = true;
ok(true, "Should not throw on withCredentials sets for sync XHR"); ok(true, "Should not throw on withCredentials sets for sync XHR");
var xhr = new XMLHttpRequest(); xhr = new XMLHttpRequest();
xhr.open("GET", "", true); xhr.open("GET", "", true);
xhr.withCredentials = true; xhr.withCredentials = true;
ok(true, "Should not throw on withCredentials sets for async XHR"); ok(true, "Should not throw on withCredentials sets for async XHR");

View file

@ -33,19 +33,23 @@ Tests of DOM Worker Threads XHR(Bug 450452 )
switch (args.type) { switch (args.type) {
case "progress": { case "progress": {
ok(parseInt(args.current) <= parseInt(args.total)); ok(parseInt(args.current) <= parseInt(args.total));
} break; break;
}
case "error": { case "error": {
ok(false, "XHR error: " + args.error); ok(false, "XHR error: " + args.error);
} break; break;
}
case "upload.load": { case "upload.load": {
gotUploadLoad = true; gotUploadLoad = true;
} break; break;
}
case "load": { case "load": {
ok(gotUploadLoad, "Should have gotten upload load event"); ok(gotUploadLoad, "Should have gotten upload load event");
gotLoadend = true; gotLoadend = true;
is(args.data, "a=cookie_is_set", "correct data"); is(args.data, "a=cookie_is_set", "correct data");
document.getElementById("content").textContent = args.data; document.getElementById("content").textContent = args.data;
} break; break;
}
case "loadend": { case "loadend": {
ok(gotLoadend, "Should have gotten load."); ok(gotLoadend, "Should have gotten load.");
finish(); finish();

View file

@ -1,3 +1,4 @@
/* eslint-env worker */
importScripts("common_temporaryFileBlob.js"); importScripts("common_temporaryFileBlob.js");
function info(msg) { function info(msg) {

View file

@ -2,7 +2,7 @@
* Any copyright is dedicated to the Public Domain. * Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ * http://creativecommons.org/publicdomain/zero/1.0/
*/ */
/* eslint-env worker */
onmessage = function(event) { onmessage = function(event) {
const url = event.data; const url = event.data;
@ -13,7 +13,7 @@ onmessage = function(event) {
const refText = xhr.responseText; const refText = xhr.responseText;
function getResponse(type) { function getResponse(type) {
var xhr = new XMLHttpRequest(); xhr = new XMLHttpRequest();
xhr.open("GET", url, false); xhr.open("GET", url, false);
if (type !== undefined) { if (type !== undefined) {
xhr.responseType = type; xhr.responseType = type;
@ -48,7 +48,7 @@ onmessage = function(event) {
// property. // property.
function testResponseTextException(type) { function testResponseTextException(type) {
var xhr = new XMLHttpRequest(); xhr = new XMLHttpRequest();
xhr.open("GET", url, false); xhr.open("GET", url, false);
xhr.responseType = type; xhr.responseType = type;
xhr.send(); xhr.send();

View file

@ -2,6 +2,8 @@
* Any copyright is dedicated to the Public Domain. * Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ * http://creativecommons.org/publicdomain/zero/1.0/
*/ */
/* eslint-env worker */
/* global WorkerProgressEvent */
function runTest() { function runTest() {
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();

View file

@ -6,15 +6,15 @@ var xhr = new XMLHttpRequest();
function onload(event) { function onload(event) {
if (event.target != xhr) { if (event.target != xhr) {
throw "onload event.target != xhr"; throw new Error("onload event.target != xhr");
} }
if (event.target.status != 200) { if (event.target.status != 200) {
var message = { type: "error", error: event.target.status }; const message = { type: "error", error: event.target.status };
postMessage(message); postMessage(message);
} }
var message = { type: "load", data: xhr.responseText }; const message = { type: "load", data: xhr.responseText };
postMessage(message); postMessage(message);
} }
@ -22,27 +22,33 @@ xhr.onload = onload;
xhr.addEventListener("load", onload); xhr.addEventListener("load", onload);
xhr.removeEventListener("load", onload); xhr.removeEventListener("load", onload);
if (!xhr.onload) { if (!xhr.onload) {
var message = { type: "error", error: "Lost message listener!" }; const message = { type: "error", error: "Lost message listener!" };
postMessage(message); postMessage(message);
} }
xhr.onerror = function(event) { xhr.onerror = function(event) {
if (event.target != xhr) { if (event.target != xhr) {
throw "onerror event.target != xhr"; throw new Error("onerror event.target != xhr");
} }
var message = { type: "error", error: event.target.status }; var message = { type: "error", error: event.target.status };
postMessage(message); postMessage(message);
}; };
// eslint-disable-next-line no-self-assign
xhr.onerror = xhr.onerror; xhr.onerror = xhr.onerror;
// eslint-disable-next-line no-self-compare
if (!xhr.onerror || xhr.onerror != xhr.onerror) { if (!xhr.onerror || xhr.onerror != xhr.onerror) {
throw "onerror wasn't set properly"; throw new Error("onerror wasn't set properly");
} }
function onprogress(event) { function onprogress(event) {
if (event.target != xhr) { if (event.target != xhr) {
throw "onprogress event.target != xhr"; throw new Error("onprogress event.target != xhr");
} }
var message = { type: "progress", current: event.loaded, total: event.total }; const message = {
type: "progress",
current: event.loaded,
total: event.total,
};
postMessage(message); postMessage(message);
} }
xhr.addEventListener("progress", onprogress); xhr.addEventListener("progress", onprogress);
@ -51,7 +57,7 @@ xhr.addEventListener("foopety", function(event) {});
xhr.removeEventListener("doopety", function(event) {}); xhr.removeEventListener("doopety", function(event) {});
xhr.onloadend = function(event) { xhr.onloadend = function(event) {
var message = { type: "loadend" }; const message = { type: "loadend" };
postMessage(message); postMessage(message);
}; };
@ -62,16 +68,16 @@ upload.removeEventListener("foo", function(event) {});
upload.addEventListener("load", function(event) {}); upload.addEventListener("load", function(event) {});
upload.removeEventListener("foo", function(event) {}); upload.removeEventListener("foo", function(event) {});
upload.onload = function(event) { upload.onload = function(event) {
var message = { type: "upload.load" }; const message = { type: "upload.load" };
postMessage(message); postMessage(message);
}; };
onmessage = function(event) { onmessage = function(event) {
if (xhr.DONE != 4 || XMLHttpRequest.DONE != 4) { if (xhr.DONE != 4 || XMLHttpRequest.DONE != 4) {
throw "xhr constants not correct!"; throw new Error("xhr constants not correct!");
} }
if (xhr.readystate > xhr.UNSENT) { if (xhr.readystate > xhr.UNSENT) {
throw "XHR already running!"; throw new Error("XHR already running!");
} }
xhr.open("POST", event.data); xhr.open("POST", event.data);
xhr.send("Data to send"); xhr.send("Data to send");