Backed out 2 changesets (bug 1495363) for causing bug 1542912 a=backout

Backed out changeset 1d6b361c337a (bug 1495363)
Backed out changeset 7973453599bb (bug 1495363)

--HG--
extra : rebase_source : a229beaff397ed384109715ff3bf1a205a865d1d
This commit is contained in:
Andreea Pavel 2019-05-16 14:43:59 +03:00
Родитель 955ffbbf4c
Коммит f553e66590
5 изменённых файлов: 7 добавлений и 155 удалений

Просмотреть файл

@ -1,48 +0,0 @@
<!DOCTYPE HTML>
<html>
<head>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<form id="form" method="POST" action="file_bug1495363.sjs" enctype="multipart/form-data">
<input type="text" name="post" id="post" />
<input type="file" name="file" id="file" />
<input id="btn" type="submit" />
</form>
<script type="application/javascript">
let p = new Promise(resolve => {
let url = SimpleTest.getTestFileURL("../../../../dom/filesystem/tests/script_fileList.js");
let script = SpecialPowers.loadChromeScript(url);
function onOpened(message) {
SpecialPowers.wrap(document.getElementById("file")).mozSetFileArray([message.file]);
resolve();
}
script.addMessageListener("file.opened", onOpened);
script.sendAsyncMessage("file.open");
});
p.then(() => {
let form = document.getElementById("form");
form.onsubmit = function() {
setTimeout(() => {
document.getElementById("post").value = "TIMEOUT";
form.submit();
parent.timeoutExpired();
}, 0);
parent.formSubmitted();
return true;
}
document.getElementById("post").value = "CLICK";
document.getElementById("btn").click();
});
</script>
</body>
</html>

Просмотреть файл

@ -1,45 +0,0 @@
const CC = Components.Constructor;
const BinaryInputStream = CC("@mozilla.org/binaryinputstream;1",
"nsIBinaryInputStream",
"setInputStream");
function handleRequest(aRequest, aResponse) {
aResponse.setStatusLine(aRequest.httpVersion, 200);
// This returns number of requests received so far.
if (aRequest.queryString.includes("result")) {
let hints = getState("hints") || 0;
setState("hints", "0");
let submitter = getState("submitter");
setState("submitter", "");
aResponse.write(hints + "-" + submitter);
return;
}
// Here we count the number of requests and we store who was the last
// submitter.
let bodyStream = new BinaryInputStream(aRequest.bodyInputStream);
let requestBody = "";
while ((bodyAvail = bodyStream.available()) > 0) {
requestBody += bodyStream.readBytes(bodyAvail);
}
let lines = requestBody.split("\n");
let submitter = "";
for (let i = 0; i < lines.length; ++i) {
if (lines[i].trim() == 'Content-Disposition: form-data; name="post"') {
submitter = lines[i+2].trim();
break;
}
}
let hints = parseInt(getState("hints") || 0) + 1;
setState("hints", hints.toString());
setState("submitter", submitter);
aResponse.setHeader("Content-Type", "text/html", false);
aResponse.write("Hello World!");
}

Просмотреть файл

@ -119,9 +119,3 @@ skip-if = android_version == '18' || os == 'mac'
[test_valueasnumber_attribute.html]
[test_validation_not_in_doc.html]
[test_reportValidation_preventDefault.html]
[test_bug1495363.html]
skip-if = (toolkit == 'android' && !is_fennec) || (webrender && os == "linux") # Bugs 1525959, 1520674
support-files =
file_bug1495363.html
file_bug1495363.sjs
!/dom/filesystem/tests/script_fileList.js

Просмотреть файл

@ -1,50 +0,0 @@
<!DOCTYPE HTML>
<html>
<head>
<title>Test for Bug 1495363</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript">
let readyToCheck = 0;
window.timeoutExpired = () => {
ok(true, "Timeout expired");
readyToCheck++;
maybeCheckResults();
}
window.formSubmitted = () => {
ok(true, "Form submited!");
ifr.addEventListener("load", () => {
readyToCheck++;
maybeCheckResults();
}, {once: true});
}
SimpleTest.waitForExplicitFinish();
var ifr = document.createElement('iframe');
ifr.src = "file_bug1495363.html";
document.body.appendChild(ifr);
function maybeCheckResults() {
ok(readyToCheck <= 2, "So far so good");
if (readyToCheck < 2) {
return;
}
SimpleTest.executeSoon(() => {
fetch("file_bug1495363.sjs?result").then(r => r.text()).then(text => {
let parts = text.split("-");
is(parts[0], "1", "We have 1 request only");
is(parts[1], "TIMEOUT", "The request comes from the timer");
SimpleTest.finish();
});
});
}
</script>
</body>
</html>

Просмотреть файл

@ -403,12 +403,13 @@ nsDocLoader::OnStartRequest(nsIRequest* request) {
//
if (mIsLoadingDocument) {
if (loadFlags & nsIChannel::LOAD_DOCUMENT_URI) {
// If we have a document request channel, and this is not a redirect, we
// must abort it and replace it with the new one.
if (!(loadFlags & nsIChannel::LOAD_REPLACE) && mDocumentRequest) {
mDocumentRequest->Cancel(NS_ERROR_ABORT);
mDocumentRequest = nullptr;
}
//
// Make sure that the document channel is null at this point...
// (unless its been redirected)
//
NS_ASSERTION(
(loadFlags & nsIChannel::LOAD_REPLACE) || !(mDocumentRequest.get()),
"Overwriting an existing document channel!");
// This request is associated with the entire document...
mDocumentRequest = request;