зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1505330 - Only disable explicitly locked preferences. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D33505 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
2d731ea4c9
Коммит
75a57c0d1a
|
@ -296,19 +296,15 @@ var gConnectionsDialog = {
|
|||
pref => Services.prefs.prefIsLocked(pref));
|
||||
|
||||
function setInputsDisabledState(isControlled) {
|
||||
let disabled = isLocked || isControlled;
|
||||
for (let element of gConnectionsDialog.getProxyControls()) {
|
||||
element.disabled = disabled;
|
||||
}
|
||||
if (!isLocked) {
|
||||
gConnectionsDialog.proxyTypeChanged();
|
||||
element.disabled = isControlled;
|
||||
}
|
||||
gConnectionsDialog.proxyTypeChanged();
|
||||
}
|
||||
|
||||
if (isLocked) {
|
||||
// An extension can't control this setting if any pref is locked.
|
||||
hideControllingExtension(PROXY_KEY);
|
||||
setInputsDisabledState(false);
|
||||
} else {
|
||||
handleControllingExtension(PREF_SETTING_TYPE, PROXY_KEY)
|
||||
.then(setInputsDisabledState);
|
||||
|
|
|
@ -46,6 +46,7 @@ skip-if = os != "win" # Windows-specific handler application selection dialog
|
|||
[browser_connection.js]
|
||||
[browser_connection_bug388287.js]
|
||||
[browser_connection_bug1445991.js]
|
||||
[browser_connection_bug1505330.js]
|
||||
skip-if = (verify && debug && (os == 'linux' || os == 'mac'))
|
||||
[browser_connection_dnsoverhttps.js]
|
||||
[browser_contentblocking_categories.js]
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
"use strict";
|
||||
|
||||
// Test the disabled status of the autoconfig Reload button when the proxy type
|
||||
// is autoconfig (network.proxy.type == 2).
|
||||
add_task(async function testAutoconfigReloadButton() {
|
||||
Services.prefs.lockPref("signon.autologin.proxy");
|
||||
|
||||
await openPreferencesViaOpenPreferencesAPI("general", { leaveOpen: true });
|
||||
const connectionURL = "chrome://browser/content/preferences/connection.xul";
|
||||
const promiseDialogLoaded = promiseLoadSubDialog(connectionURL);
|
||||
gBrowser.contentDocument.getElementById("connectionSettings").click();
|
||||
const dialog = await promiseDialogLoaded;
|
||||
|
||||
ok(!dialog.document.getElementById("networkProxyType").firstChild.disabled,
|
||||
"Connection options should not be disabled");
|
||||
ok(dialog.document.getElementById("autologinProxy").disabled,
|
||||
"Proxy autologin should be disabled");
|
||||
|
||||
dialog.close();
|
||||
Services.prefs.unlockPref("signon.autologin.proxy");
|
||||
gBrowser.removeCurrentTab();
|
||||
});
|
Загрузка…
Ссылка в новой задаче