--- a/browser/components/extensions/test/browser/browser_ext_webRequest.js
+++ b/browser/components/extensions/test/browser/browser_ext_webRequest.js
@@ -21,31 +21,59 @@ function createHiddenBrowser(url) {
doc.documentElement.appendChild(browser);
resolve({frame: frame, browser: browser});
}));
}
let extension;
let dummy = "http://mochi.test:8888/browser/browser/components/extensions/test/browser/file_dummy.html";
+let headers = {
+ request: {
+ add: {
+ "X-WebRequest-request": "text",
+ "X-WebRequest-request-binary": "binary",
+ },
+ modify: {
+ "user-agent": "WebRequest",
+ },
+ remove: [
+ "accept-encoding",
+ ],
+ },
+ response: {
+ add: {
+ "X-WebRequest-response": "text",
+ "X-WebRequest-response-binary": "binary",
+ },
+ modify: {
+ "server": "WebRequest",
+ "content-type": "text/html; charset=utf-8",
+ },
+ remove: [
+ "connection",
+ ],
+ },
+};
add_task(function* setup() {
// SelfSupport has a tendency to fire when running this test alone, without
// a good way to turn it off we just set the url to ""
yield SpecialPowers.pushPrefEnv({
set: [["browser.selfsupport.url", ""]],
});
extension = makeExtension();
yield extension.startup();
});
add_task(function* test_newWindow() {
let expect = {
"file_dummy.html": {
type: "main_frame",
+ headers,
},
};
// NOTE: When running solo, favicon will be loaded at some point during
// the tests in this file, so all tests ignore it. When running with
// other tests in this directory, favicon gets loaded at some point before
// we run, and we never see the request, thus it cannot be handled as part
// of expect above.
extension.sendMessage("set-expected", {expect, ignore: ["favicon.ico"]});
@@ -58,30 +86,32 @@ add_task(function* test_newWindow() {
yield BrowserTestUtils.closeWindow(openedWindow);
});
add_task(function* test_newTab() {
// again, in this window
let expect = {
"file_dummy.html": {
type: "main_frame",
+ headers,
},
};
extension.sendMessage("set-expected", {expect, ignore: ["favicon.ico"]});
yield extension.awaitMessage("continue");
let tab = yield BrowserTestUtils.openNewForegroundTab(window.gBrowser, dummy + "?newTab");
yield extension.awaitMessage("done");
yield BrowserTestUtils.removeTab(tab);
});
add_task(function* test_subframe() {
let expect = {
"file_dummy.html": {
type: "main_frame",
+ headers,
},
};
// test a content subframe attached to hidden window
extension.sendMessage("set-expected", {expect, ignore: ["favicon.ico"]});
yield extension.awaitMessage("continue");
let frameInfo = yield createHiddenBrowser(dummy + "?subframe");
yield extension.awaitMessage("done");
// cleanup