Commit f38d78f8 authored by Carsten Schoenert's avatar Carsten Schoenert
Browse files

New upstream version 78.10.0

parent 828b9d73
......@@ -822,16 +822,6 @@ var gIdentityHandler = {
return;
}
// If this condition is true, the URL bar will have an "invalid"
// pageproxystate, which will hide the security indicators. Thus, we can
// safely avoid updating the security UI.
//
// This will also filter out intermediate about:blank loads to avoid
// flickering the identity block and doing unnecessary work.
if (this._hasInvalidPageProxyState()) {
return;
}
this._refreshIdentityIcons();
this._refreshPermissionIcons();
......
......@@ -1905,6 +1905,26 @@ var Policies = {
},
},
ShowHomeButton: {
onAllWindowsRestored(manager, param) {
if (param) {
let homeButtonPlacement = CustomizableUI.getPlacementOfWidget(
"home-button"
);
if (!homeButtonPlacement) {
let placement = CustomizableUI.getPlacementOfWidget("forward-button");
CustomizableUI.addWidgetToArea(
"home-button",
CustomizableUI.AREA_NAVBAR,
placement.position + 2
);
}
} else {
CustomizableUI.removeWidgetFromArea("home-button");
}
},
},
SSLVersionMax: {
onBeforeAddons(manager, param) {
let tlsVersion;
......@@ -1985,7 +2005,11 @@ var Policies = {
}
if ("SkipOnboarding") {
setAndLockPref("trailhead.firstrun.branches", "nofirstrun-empty");
setAndLockPref("browser.aboutwelcome.enabled", false);
setDefaultPref(
"browser.aboutwelcome.enabled",
!param.SkipOnboarding,
locked
);
}
},
},
......
......@@ -1138,6 +1138,10 @@
}
},
"ShowHomeButton": {
"type": "boolean"
},
"SSLVersionMax": {
"type": "string",
"enum": ["tls1", "tls1.1", "tls1.2", "tls1.3"]
......
[DEFAULT]
support-files =
../head.js
[browser_policy_show_home_button.js]
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/* import-globals-from ../head.js */
"use strict";
add_task(async function test_home_button_shown_boolean() {
await setupPolicyEngineWithJson({
policies: {
ShowHomeButton: true,
},
});
// Since testing will apply the policy after the browser has already started,
// we will need to open a new window to actually see the menu bar
let newWin = await BrowserTestUtils.openNewBrowserWindow();
let homeButton = newWin.document.getElementById("home-button");
isnot(homeButton, null, "The home button should be visible");
await BrowserTestUtils.closeWindow(newWin);
});
add_task(async function test_home_button_hidden_boolean() {
await setupPolicyEngineWithJson({
policies: {
ShowHomeButton: false,
},
});
// Since testing will apply the policy after the browser has already started,
// we will need to open a new window to actually see the menu bar
let newWin = await BrowserTestUtils.openNewBrowserWindow();
let homeButton = newWin.document.getElementById("home-button");
is(homeButton, null, "The home button should be gone");
await BrowserTestUtils.closeWindow(newWin);
});
......@@ -13,6 +13,7 @@ BROWSER_CHROME_MANIFESTS += [
'browser/disable_fxscreenshots/browser.ini',
'browser/hardware_acceleration/browser.ini',
'browser/managedbookmarks/browser.ini',
"browser/show_home_button/browser.ini",
]
XPCSHELL_TESTS_MANIFESTS += ['xpcshell/xpcshell.ini']
......@@ -575,11 +575,25 @@ const POLICIES_TESTS = [
policies: {
UserMessaging: {
WhatsNew: false,
SkipOnboarding: true,
Locked: true,
},
},
lockedPrefs: {
"browser.messaging-system.whatsNewPanel.enabled": false,
"browser.aboutwelcome.enabled": false,
},
},
// POLICY: UserMessaging->SkipOnboarding false (bug 1697566)
{
policies: {
UserMessaging: {
SkipOnboarding: false,
},
},
unlockedPrefs: {
"browser.aboutwelcome.enabled": true,
},
},
......
......@@ -595,6 +595,35 @@ const AVAILABLE_UA_OVERRIDES = [
},
},
},
{
/*
* Bug 1563839 - rolb.santanderbank.com - Build UA override
* Bug 1646791 - bancosantander.es - Re-add UA override.
* Bug 1665129 - *.gruposantander.es - Add wildcard domains.
* WebCompat issue #33462 - https://webcompat.com/issues/33462
* SuMo request - https://support.mozilla.org/es/questions/1291085
*
* santanderbank expects UA to have 'like Gecko', otherwise it runs
* xmlDoc.onload whose support has been dropped. It results in missing labels in forms
* and some other issues. Adding 'like Gecko' fixes those issues.
*/
id: "bug1646791",
platform: "all",
domain: "santanderbank.com",
bug: "1646791",
config: {
matches: [
"*://*.bancosantander.es/*",
"*://*.gruposantander.es/*",
"*://*.santander.co.uk/*",
"*://bob.santanderbank.com/*",
"*://rolb.santanderbank.com/*",
],
uaTransformer: originalUA => {
return originalUA.replace("Gecko", "like Gecko");
},
},
},
{
/*
* Bug 1630280 - UA override for dominos.ch
......
......@@ -2,7 +2,7 @@
"manifest_version": 2,
"name": "Web Compat",
"description": "Urgent post-release fixes for web compatibility.",
"version": "11.0.0",
"version": "11.1.0",
"applications": {
"gecko": {
......
......@@ -178,6 +178,8 @@ policy-SearchSuggestEnabled = Enable or disable search suggestions.
# For more information, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Installation
policy-SecurityDevices = Install PKCS #11 modules.
policy-ShowHomeButton = Show the home button on the toolbar.
policy-SSLVersionMax = Set the maximum SSL version.
policy-SSLVersionMin = Set the minimum SSL version.
......
---
GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified
GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-esr78
GECKO_HEAD_REF: FIREFOX_78_9_0esr_BUILD1
GECKO_HEAD_REV: 403985a1dd4d3c4c51ab977e1212bef4bfee6a32
GECKO_HEAD_REF: FIREFOX_78_10_0esr_BUILD1
GECKO_HEAD_REV: 0dac34b853c6879d421456128afa3c4a5a4e86ff
### For comm-central
# GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified
......
......@@ -1778,6 +1778,9 @@ CalDavCalendar.prototype = {
return normalized == chs.path || normalized == chs.spec;
};
let createBoxUrl = path => {
if (!path) {
return null;
}
let newPath = this.ensureDecodedPath(path);
// Make sure the uri has a / at the end, as we do with the calendarUri.
if (newPath.charAt(newPath.length - 1) != "/") {
......@@ -1811,7 +1814,7 @@ CalDavCalendar.prototype = {
this.mInboxUrl = createBoxUrl(response.firstProps["C:schedule-inbox-URL"]);
this.mOutboxUrl = createBoxUrl(response.firstProps["C:schedule-outbox-URL"]);
if (this.calendarUri.spec == this.mInboxUrl.spec) {
if (!this.mInboxUrl || this.calendarUri.spec == this.mInboxUrl.spec) {
// If the inbox matches the calendar uri (i.e SOGo), then we
// don't need to poll the inbox.
this.mShouldPollInbox = false;
......
......@@ -16,10 +16,21 @@ interface prplIProtocol: nsISupports {
*/
void init(in AUTF8String aId);
/**
* A human readable (potentially localized) name for the protocol.
*/
readonly attribute AUTF8String name;
/**
* A unique ID for the protocol, should start with the prefix 'prpl-'.
*/
readonly attribute AUTF8String id;
// A name that can be used to check for duplicates and is the basis
// for the directory name for log storage.
/**
* A unique name for this protocol, it must consist of only lowercase letters
* & numbers.
*
* It can be used to check for duplicates and is the basis for the directory
* name for log storage.
*/
readonly attribute AUTF8String normalizedName;
// returns a chrome URI pointing to a folder that contains the files:
......
......@@ -103,7 +103,8 @@ UnknownProtocol.prototype = {
return "";
},
get normalizedName() {
return this.name;
// Use the ID, but remove the 'prpl-' prefix.
return this.id.replace(/^prpl-/, "");
},
get iconBaseURI() {
return "chrome://chat/skin/prpl-unknown/";
......
......@@ -13,62 +13,78 @@ const { OS } = ChromeUtils.import("resource://gre/modules/osfile.jsm");
var abi = ctypes.default_abi;
// Open libotr. Determine the path to the chrome directory and look for it
// there first. If not, fallback to searching the standard locations.
var libotr, libotrPath;
function tryLoadOTR(name, suffix) {
let filename = ctypes.libraryName(name) + suffix;
function getLibraryFilename(baseName, suffix) {
return ctypes.libraryName(baseName) + suffix;
}
function getDistributionFilename() {
let baseName;
let suffix;
switch (systemOS) {
case "winnt":
baseName = "libotr-5";
suffix = "";
break;
case "darwin":
baseName = "otr.5";
suffix = "";
break;
default:
baseName = "otr";
suffix = ".5";
break;
}
return getLibraryFilename(baseName, suffix);
}
function getDistributionFullPath() {
let binPath = Services.dirsvc.get("XpcomLib", Ci.nsIFile).path;
let binDir = OS.Path.dirname(binPath);
libotrPath = OS.Path.join(binDir, filename);
return OS.Path.join(binDir, getDistributionFilename());
}
let loadFromInfo;
function tryLoadOTR(filename, info) {
console.debug(`Trying to load ${filename}${info}`);
libotrPath = filename;
try {
loadFromInfo = libotrPath;
libotr = ctypes.open(libotrPath);
libotr = ctypes.open(filename);
} catch (e) {}
if (!libotr) {
try {
loadFromInfo = "system's standard library locations";
// look in standard locations
libotrPath = filename;
libotr = ctypes.open(libotrPath);
} catch (e) {}
}
if (libotr) {
console.debug(
"Successfully loaded OTR library " + filename + " from " + loadFromInfo
);
console.debug("Successfully loaded OTR library " + filename + info);
}
}
function loadExternalOTRLib() {
if (!libotr && (systemOS === "winnt" || systemOS === "darwin")) {
// otr.5.dll or otr.5.dylib
tryLoadOTR("otr.5", "");
const systemInfo = " from system's standard library locations";
// Try to load using an absolute path from our install directory
if (!libotr) {
tryLoadOTR(getDistributionFullPath(), "");
}
if (!libotr && systemOS === "winnt") {
// otr-5.dll
tryLoadOTR("otr-5", "");
// Try to load using our expected filename from system directories
if (!libotr) {
tryLoadOTR(getDistributionFilename(), systemInfo);
}
if (!libotr && systemOS === "winnt") {
// libotr-5.dll
tryLoadOTR("libotr-5", "");
// Try other filenames
if (!libotr && systemOS == "winnt") {
tryLoadOTR(getLibraryFilename("otr.5", ""), systemInfo);
}
if (!libotr && !(systemOS === "winnt") && !(systemOS === "darwin")) {
// libotr.so.5
tryLoadOTR("otr", ".5");
if (!libotr && systemOS == "winnt") {
tryLoadOTR(getLibraryFilename("otr-5", ""), systemInfo);
}
if (!libotr) {
tryLoadOTR("otr", "");
tryLoadOTR(getLibraryFilename("otr", ""), systemInfo);
}
if (!libotr) {
......
......@@ -1143,11 +1143,6 @@ var GenericProtocolPrototype = {
get id() {
return "prpl-" + this.normalizedName;
},
// This is more aggressive than the account normalization of just
// toLowerCase() since prpl names must be only letters/numbers.
get normalizedName() {
return this.name.replace(/[^a-z0-9]/gi, "").toLowerCase();
},
get iconBaseURI() {
return "chrome://chat/skin/prpl-generic/";
},
......
......@@ -2340,15 +2340,15 @@ ircProtocol.prototype = {
get name() {
return "IRC";
},
get normalizedName() {
return "irc";
},
get iconBaseURI() {
return "chrome://prpl-irc/skin/";
},
get usernameEmptyText() {
return _("irc.usernameHint");
},
get baseId() {
return "prpl-irc";
},
usernameSplits: [
{
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment