62 lines
2.3 KiB
JavaScript
62 lines
2.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const { ServiceRequest } = ChromeUtils.importESModule(
|
|
"resource://gre/modules/ServiceRequest.sys.mjs"
|
|
);
|
|
|
|
add_task(async function test_tls_conservative() {
|
|
const request = new ServiceRequest();
|
|
request.open("GET", "http://example.com", false);
|
|
|
|
const sr_channel = request.channel.QueryInterface(Ci.nsIHttpChannelInternal);
|
|
ok("beConservative" in sr_channel, "TLS setting is present in SR channel");
|
|
ok(
|
|
sr_channel.beConservative,
|
|
"TLS setting in request channel is set to conservative for SR"
|
|
);
|
|
|
|
const xhr = new XMLHttpRequest();
|
|
xhr.open("GET", "http://example.com", false);
|
|
|
|
const xhr_channel = xhr.channel.QueryInterface(Ci.nsIHttpChannelInternal);
|
|
ok("beConservative" in xhr_channel, "TLS setting is present in XHR channel");
|
|
ok(
|
|
!xhr_channel.beConservative,
|
|
"TLS setting in request channel is not set to conservative for XHR"
|
|
);
|
|
});
|
|
|
|
add_task(async function test_bypassProxy_default() {
|
|
const request = new ServiceRequest();
|
|
request.open("GET", "http://example.com", true);
|
|
const sr_channel = request.channel.QueryInterface(Ci.nsIHttpChannelInternal);
|
|
|
|
ok(!sr_channel.bypassProxy, "bypassProxy is false on SR channel");
|
|
ok(!request.bypassProxy, "bypassProxy is false for SR");
|
|
});
|
|
|
|
add_task(async function test_bypassProxy_true() {
|
|
const request = new ServiceRequest();
|
|
request.open("GET", "http://example.com", { bypassProxy: true });
|
|
const sr_channel = request.channel.QueryInterface(Ci.nsIHttpChannelInternal);
|
|
|
|
ok(sr_channel.bypassProxy, "bypassProxy is true on SR channel");
|
|
ok(request.bypassProxy, "bypassProxy is true for SR");
|
|
});
|
|
|
|
add_task(async function test_bypassProxy_disabled_by_pref() {
|
|
const request = new ServiceRequest();
|
|
|
|
ok(request.bypassProxyEnabled, "bypassProxyEnabled is true");
|
|
Services.prefs.setBoolPref("network.proxy.allow_bypass", false);
|
|
ok(!request.bypassProxyEnabled, "bypassProxyEnabled is false");
|
|
|
|
request.open("GET", "http://example.com", { bypassProxy: true });
|
|
const sr_channel = request.channel.QueryInterface(Ci.nsIHttpChannelInternal);
|
|
|
|
ok(!sr_channel.bypassProxy, "bypassProxy is false on SR channel");
|
|
ok(!request.bypassProxy, "bypassProxy is false for SR");
|
|
});
|