forked from mirrors/gecko-dev
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:
parent
b7630b9df2
commit
059c1179f1
30 changed files with 112 additions and 84 deletions
|
|
@ -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/
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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]",
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ var validParameters = [
|
||||||
var invalidParameters = [
|
var invalidParameters = [
|
||||||
{
|
{
|
||||||
get mozSystem() {
|
get mozSystem() {
|
||||||
throw "Bla";
|
throw new Error("Bla");
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
/* eslint-env worker */
|
||||||
importScripts("common_temporaryFileBlob.js");
|
importScripts("common_temporaryFileBlob.js");
|
||||||
|
|
||||||
function info(msg) {
|
function info(msg) {
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue