Commit 90a153bf authored by Carsten Schoenert's avatar Carsten Schoenert
Browse files

New upstream version 91.0~b3

parent 3d29fcfe
......@@ -15,7 +15,7 @@ rev = "85551909b95a5cf553a85dbcddfa5f117cfbbe0e"
[source."https://github.com/mozilla/neqo"]
git = "https://github.com/mozilla/neqo"
replace-with = "vendored-sources"
tag = "v0.4.27"
tag = "v0.4.28"
[source."https://github.com/mozilla/mp4parse-rust"]
git = "https://github.com/mozilla/mp4parse-rust"
......@@ -70,7 +70,7 @@ rev = "746743227485a83123784df0c53227ab466612ed"
[source."https://github.com/hsivonen/packed_simd"]
git = "https://github.com/hsivonen/packed_simd"
replace-with = "vendored-sources"
rev = "0917fe780032a6bbb23d71be545f9c1834128d75"
rev = "6a16f954950401b92b4e220fbf2dfaf6f00e1fb2"
[source."https://github.com/hsivonen/chardetng_c"]
git = "https://github.com/hsivonen/chardetng_c"
......
......@@ -121,6 +121,7 @@ jobs:
- mozilla-beta
- mozilla-release
- mozilla-esr78
- mozilla-esr91
when:
by-project:
# We want to run at both of the times the nightly runs.
......@@ -140,6 +141,7 @@ jobs:
mozilla-beta: [{hour: 10, minute: 0}]
mozilla-release: [{hour: 10, minute: 0}]
mozilla-esr78: [{hour: 10, minute: 0}]
mozilla-esr91: [{hour: 10, minute: 0}]
- name: coverity-tree-analysis
job:
......@@ -157,7 +159,6 @@ jobs:
treeherder-symbol: linux64-clang-trunk-perf
target-tasks-method: linux64_clang_trunk_perf
run-on-projects:
- mozilla-beta
- mozilla-central
when:
- {hour: 2, minute: 0}
......@@ -209,6 +210,7 @@ jobs:
- mozilla-beta
- mozilla-release
- mozilla-esr78
- mozilla-esr91
when:
by-project:
# No default branch
......@@ -224,6 +226,9 @@ jobs:
mozilla-esr78:
- {hour: 7, minute: 0}
- {hour: 19, minute: 0}
mozilla-esr91:
- {hour: 7, minute: 0}
- {hour: 19, minute: 0}
- name: periodic-update
job:
......@@ -235,6 +240,7 @@ jobs:
- mozilla-beta
- mozilla-release
- mozilla-esr78
- mozilla-esr91
when:
- {weekday: 'Monday', hour: 8, minute: 0}
- {weekday: 'Thursday', hour: 8, minute: 0}
......
......@@ -3207,8 +3207,8 @@ dependencies = [
[[package]]
name = "neqo-common"
version = "0.4.27"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.27#5771ba0cff6e126ab44f6f6f8be8f3f756fadb8b"
version = "0.4.28"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.28#c3d909e40d2ee68e2937b7dac1831a27520bf460"
dependencies = [
"chrono",
"env_logger",
......@@ -3220,8 +3220,8 @@ dependencies = [
[[package]]
name = "neqo-crypto"
version = "0.4.27"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.27#5771ba0cff6e126ab44f6f6f8be8f3f756fadb8b"
version = "0.4.28"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.28#c3d909e40d2ee68e2937b7dac1831a27520bf460"
dependencies = [
"bindgen",
"log",
......@@ -3233,8 +3233,8 @@ dependencies = [
[[package]]
name = "neqo-http3"
version = "0.4.27"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.27#5771ba0cff6e126ab44f6f6f8be8f3f756fadb8b"
version = "0.4.28"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.28#c3d909e40d2ee68e2937b7dac1831a27520bf460"
dependencies = [
"log",
"neqo-common",
......@@ -3247,8 +3247,8 @@ dependencies = [
[[package]]
name = "neqo-qpack"
version = "0.4.27"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.27#5771ba0cff6e126ab44f6f6f8be8f3f756fadb8b"
version = "0.4.28"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.28#c3d909e40d2ee68e2937b7dac1831a27520bf460"
dependencies = [
"lazy_static",
"log",
......@@ -3261,8 +3261,8 @@ dependencies = [
[[package]]
name = "neqo-transport"
version = "0.4.27"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.27#5771ba0cff6e126ab44f6f6f8be8f3f756fadb8b"
version = "0.4.28"
source = "git+https://github.com/mozilla/neqo?tag=v0.4.28#c3d909e40d2ee68e2937b7dac1831a27520bf460"
dependencies = [
"indexmap",
"lazy_static",
......@@ -3521,7 +3521,7 @@ dependencies = [
[[package]]
name = "packed_simd"
version = "0.3.4"
source = "git+https://github.com/hsivonen/packed_simd?rev=0917fe780032a6bbb23d71be545f9c1834128d75#0917fe780032a6bbb23d71be545f9c1834128d75"
source = "git+https://github.com/hsivonen/packed_simd?rev=6a16f954950401b92b4e220fbf2dfaf6f00e1fb2#6a16f954950401b92b4e220fbf2dfaf6f00e1fb2"
dependencies = [
"cfg-if 0.1.10",
]
......
......@@ -78,7 +78,7 @@ opt-level = 2
chardetng = { git = "https://github.com/hsivonen/chardetng", rev="302c995f91f44cf26e77dc4758ad56c3ff0153ad" }
chardetng_c = { git = "https://github.com/hsivonen/chardetng_c", rev="ed8a4c6f900a90d4dbc1d64b856e61490a1c3570" }
libudev-sys = { path = "dom/webauthn/libudev-sys" }
packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="0917fe780032a6bbb23d71be545f9c1834128d75" }
packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="6a16f954950401b92b4e220fbf2dfaf6f00e1fb2" }
rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/", rev="5c8e79048d3ff6f434109e19d4aee4ff8624d3d7" }
nix = { git = "https://github.com/shravanrn/nix/", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu5" }
......
......@@ -33,6 +33,11 @@ inline MsaaAccessible* sdnAccessible::GetMsaa() {
// may preserve object identity.
AccessibleWrap* wrap = static_cast<AccessibleWrap*>(
document->GetAccessibleEvenIfNotInMap(mNode));
if (!wrap) {
return nullptr;
}
wrap->GetNativeInterface(getter_AddRefs(mMsaa));
return mMsaa;
}
......
......@@ -195,14 +195,15 @@ const CustomizableWidgets = [
let panelview = event.target;
let document = event.target.ownerDocument;
let window = document.defaultView;
let viewType =
panelview.id == this.recentlyClosedTabsPanel ? "Tabs" : "Windows";
this._panelMenuView.clearAllContents(panelview);
let utils = RecentlyClosedTabsAndWindowsMenuUtils;
let method = `get${viewType}Fragment`;
let fragment = utils[method](window, "toolbarbutton", true);
let getFragment =
panelview.id == this.recentlyClosedTabsPanel
? RecentlyClosedTabsAndWindowsMenuUtils.getTabsFragment
: RecentlyClosedTabsAndWindowsMenuUtils.getWindowsFragment;
let fragment = getFragment(window, "toolbarbutton", true);
let elementCount = fragment.childElementCount;
this._panelMenuView._setEmptyPopupStatus(panelview, !elementCount);
if (!elementCount) {
......
......@@ -150,6 +150,7 @@ skip-if = os == "win" && bits == 64 # 1526429
[browser_help_panel_cloning.js]
[browser_history_after_appMenu.js]
[browser_history_recently_closed.js]
[browser_history_recently_closed_middleclick.js]
[browser_history_restore_session.js]
[browser_insert_before_moved_node.js]
[browser_menubar_visibility.js]
......
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Verifies that middle-clicking "Recently Closed Tabs" in both history
// menus works as expected.
const URLS = [
"http://example.com/",
"http://example.org/",
"http://example.net/",
];
async function setupTest() {
// Navigate the initial tab to ensure that it won't be reused for the tab
// that will be reopened.
let loadPromise = BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
BrowserTestUtils.loadURI(gBrowser.selectedBrowser, "https://example.com");
await loadPromise;
// Populate the recently closed tabs list.
for (let url of URLS) {
await BrowserTestUtils.openNewForegroundTab(gBrowser, url);
}
for (let i = 0; i < URLS.length; i++) {
gBrowser.removeTab(gBrowser.selectedTab);
}
return gBrowser.tabs.length;
}
add_task(async function testMenubar() {
if (AppConstants.platform === "macosx") {
ok(true, "Can't open menu items on macOS");
return;
}
let nOpenTabs = await setupTest();
// Open the "History" menu.
let menu = document.getElementById("history-menu");
let popupPromise = BrowserTestUtils.waitForEvent(menu, "popupshown");
menu.open = true;
await popupPromise;
ok(true, "Opened 'History' menu");
// Open the "Recently Closed Tabs" submenu.
let undoMenu = document.getElementById("historyUndoMenu");
popupPromise = BrowserTestUtils.waitForEvent(undoMenu, "popupshown");
undoMenu.open = true;
let popupEvent = await popupPromise;
ok(true, "Opened 'Recently Closed Tabs' menu");
// And now middle-click the first item in that menu, and ensure that we're
// only opening a single new tab.
let menuitems = popupEvent.target.querySelectorAll("menuitem");
let newTabPromise = BrowserTestUtils.waitForNewTab(gBrowser, null, true);
popupEvent.target.activateItem(menuitems[0], { button: 1 });
let newTab = await newTabPromise;
is(newTab.linkedBrowser.currentURI.spec, URLS[0], "Opened correct URL");
is(gBrowser.tabs.length, nOpenTabs + 1, "Only opened 1 new tab");
gBrowser.removeTab(newTab);
});
add_task(async function testHistoryPanel() {
let nOpenTabs = await setupTest();
// Setup history panel.
CustomizableUI.addWidgetToArea(
"history-panelmenu",
CustomizableUI.AREA_FIXED_OVERFLOW_PANEL
);
registerCleanupFunction(() => CustomizableUI.reset());
await openHistoryPanel();
// Open the "Recently closed tabs" panel.
let recentlyClosedTabs = document.getElementById("appMenuRecentlyClosedTabs");
recentlyClosedTabs.click();
let recentlyClosedTabsPanel = document.getElementById(
"appMenu-library-recentlyClosedTabs"
);
await BrowserTestUtils.waitForEvent(recentlyClosedTabsPanel, "ViewShown");
ok(true, "Opened 'Recently closed tabs' panel");
let panelBody = recentlyClosedTabsPanel.querySelector(".panel-subview-body");
let toolbarButtons = panelBody.querySelectorAll("toolbarbutton");
// Middle-click the first toolbar button in the panel.
let newTabPromise = BrowserTestUtils.waitForNewTab(gBrowser, null, true);
EventUtils.sendMouseEvent(
{ type: "click", button: 1 },
toolbarButtons[0],
window
);
let newTab = await newTabPromise;
is(newTab.linkedBrowser.currentURI.spec, URLS[0], "Opened correct URL");
is(gBrowser.tabs.length, nOpenTabs + 1, "Only opened 1 new tab");
gBrowser.removeTab(newTab);
});
......@@ -38,9 +38,9 @@ export class _CustomizeMenu extends React.PureComponent {
appear={true}
>
<button
className="personalize-button"
className="icon icon-settings personalize-button"
onClick={() => this.props.onOpen()}
data-l10n-id="newtab-personalize-button-label"
data-l10n-id="newtab-personalize-icon-label"
ref={c => (this.openButton = c)}
/>
</CSSTransition>
......
......@@ -17,14 +17,10 @@
}
.personalize-button {
font-size: 12px;
font-weight: 600;
border: 0;
border-radius: 4px;
background-color: var(--newtab-background-button-color);
color: var(--newtab-background-button-text-color);
padding: 3px 10px;
min-height: 32px;
background-color: transparent;
padding: 15px;
&:hover {
background-color: var(--newtab-background-button-hover-color);
......
......@@ -41,8 +41,6 @@ body {
@include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations
// Background buttons
--newtab-background-button-color: #{$newtab-background-button-default-color};
--newtab-background-button-text-color: #{$newtab-background-button-default-text-color};
--newtab-background-button-hover-color: #{$newtab-background-button-default-hover-color};
--newtab-background-button-active-color: #{$newtab-background-button-default-active-color};
......@@ -143,8 +141,6 @@ body {
@include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations
// Background buttons.
--newtab-background-button-color: #{$newtab-background-button-darktheme-color};
--newtab-background-button-text-color: #{$newtab-background-button-darktheme-text-color};
--newtab-background-button-hover-color: #{$newtab-background-button-darktheme-hover-color};
--newtab-background-button-active-color: #{$newtab-background-button-darktheme-active-color};
......
......@@ -52,8 +52,6 @@ body {
--newtab-textbox-border: rgba(12, 12, 13, 0.2);
--newtab-textbox-focus-color: #0060DF;
--newtab-textbox-focus-boxshadow: 0 0 0 1px #0060DF, 0 0 0 4px rgba(0, 96, 223, 0.3);
--newtab-background-button-color: rgba(223, 223, 223, 0.5);
--newtab-background-button-text-color: #484848;
--newtab-background-button-hover-color: rgba(196, 196, 196, 0.5);
--newtab-background-button-active-color: rgba(151, 151, 151, 0.5);
--newtab-button-primary-color: #0060DF;
......@@ -132,8 +130,6 @@ body[lwt-newtab-brighttext] {
--newtab-textbox-border: rgba(249, 249, 250, 0.2);
--newtab-textbox-focus-color: #45A1FF;
--newtab-textbox-focus-boxshadow: 0 0 0 1px #45A1FF, 0 0 0 4px rgba(69, 161, 255, 0.3);
--newtab-background-button-color: rgba(80, 80, 80, 0.5);
--newtab-background-button-text-color: #CDCDD4;
--newtab-background-button-hover-color: rgba(114, 114, 114, 0.5);
--newtab-background-button-active-color: rgba(173, 173, 173, 0.5);
--newtab-feed-button-background: #38383D;
......@@ -2004,14 +2000,10 @@ main.has-snippet {
}
}
.personalize-button {
font-size: 12px;
font-weight: 600;
border: 0;
border-radius: 4px;
background-color: var(--newtab-background-button-color);
color: var(--newtab-background-button-text-color);
padding: 3px 10px;
min-height: 32px;
background-color: transparent;
padding: 15px;
}
.personalize-button:hover {
background-color: var(--newtab-background-button-hover-color);
......
......@@ -56,8 +56,6 @@ body {
--newtab-textbox-border: rgba(12, 12, 13, 0.2);
--newtab-textbox-focus-color: #0060DF;
--newtab-textbox-focus-boxshadow: 0 0 0 1px #0060DF, 0 0 0 4px rgba(0, 96, 223, 0.3);
--newtab-background-button-color: rgba(223, 223, 223, 0.5);
--newtab-background-button-text-color: #484848;
--newtab-background-button-hover-color: rgba(196, 196, 196, 0.5);
--newtab-background-button-active-color: rgba(151, 151, 151, 0.5);
--newtab-button-primary-color: #0060DF;
......@@ -136,8 +134,6 @@ body[lwt-newtab-brighttext] {
--newtab-textbox-border: rgba(249, 249, 250, 0.2);
--newtab-textbox-focus-color: #45A1FF;
--newtab-textbox-focus-boxshadow: 0 0 0 1px #45A1FF, 0 0 0 4px rgba(69, 161, 255, 0.3);
--newtab-background-button-color: rgba(80, 80, 80, 0.5);
--newtab-background-button-text-color: #CDCDD4;
--newtab-background-button-hover-color: rgba(114, 114, 114, 0.5);
--newtab-background-button-active-color: rgba(173, 173, 173, 0.5);
--newtab-feed-button-background: #38383D;
......@@ -2008,14 +2004,10 @@ main.has-snippet {
}
}
.personalize-button {
font-size: 12px;
font-weight: 600;
border: 0;
border-radius: 4px;
background-color: var(--newtab-background-button-color);
color: var(--newtab-background-button-text-color);
padding: 3px 10px;
min-height: 32px;
background-color: transparent;
padding: 15px;
}
.personalize-button:hover {
background-color: var(--newtab-background-button-hover-color);
......
......@@ -52,8 +52,6 @@ body {
--newtab-textbox-border: rgba(12, 12, 13, 0.2);
--newtab-textbox-focus-color: #0060DF;
--newtab-textbox-focus-boxshadow: 0 0 0 1px #0060DF, 0 0 0 4px rgba(0, 96, 223, 0.3);
--newtab-background-button-color: rgba(223, 223, 223, 0.5);
--newtab-background-button-text-color: #484848;
--newtab-background-button-hover-color: rgba(196, 196, 196, 0.5);
--newtab-background-button-active-color: rgba(151, 151, 151, 0.5);
--newtab-button-primary-color: #0060DF;
......@@ -132,8 +130,6 @@ body[lwt-newtab-brighttext] {
--newtab-textbox-border: rgba(249, 249, 250, 0.2);
--newtab-textbox-focus-color: #45A1FF;
--newtab-textbox-focus-boxshadow: 0 0 0 1px #45A1FF, 0 0 0 4px rgba(69, 161, 255, 0.3);
--newtab-background-button-color: rgba(80, 80, 80, 0.5);
--newtab-background-button-text-color: #CDCDD4;
--newtab-background-button-hover-color: rgba(114, 114, 114, 0.5);
--newtab-background-button-active-color: rgba(173, 173, 173, 0.5);
--newtab-feed-button-background: #38383D;
......@@ -2004,14 +2000,10 @@ main.has-snippet {
}
}
.personalize-button {
font-size: 12px;
font-weight: 600;
border: 0;
border-radius: 4px;
background-color: var(--newtab-background-button-color);
color: var(--newtab-background-button-text-color);
padding: 3px 10px;
min-height: 32px;
background-color: transparent;
padding: 15px;
}
.personalize-button:hover {
background-color: var(--newtab-background-button-hover-color);
......
......@@ -14760,9 +14760,9 @@ class CustomizeMenu_CustomizeMenu extends external_React_default.a.PureComponent
in: !this.props.showing,
appear: true
}, /*#__PURE__*/external_React_default.a.createElement("button", {
className: "personalize-button",
className: "icon icon-settings personalize-button",
onClick: () => this.props.onOpen(),
"data-l10n-id": "newtab-personalize-button-label",
"data-l10n-id": "newtab-personalize-icon-label",
ref: c => this.openButton = c
})), /*#__PURE__*/external_React_default.a.createElement(external_ReactTransitionGroup_["CSSTransition"], {
timeout: 250,
......
......@@ -119,23 +119,32 @@ var gConnectionsDialog = {
let dnsOverHttpsResolverChoice = document.getElementById(
"networkDnsOverHttpsResolverChoices"
).value;
let writeURIandMode = uri => {
Services.prefs.setStringPref("network.trr.uri", uri);
// When writing the URI, also write the mode. This is needed in addition
// to the mode reacting in realtime to the checkbox state because of the
// case when the checkbox was ticked due to the rollout being enabled at
// the time of clicking "Accept".
Services.prefs.setIntPref(
"network.trr.mode",
this.writeDnsOverHttpsMode()
);
};
// We treat clicking "Accept" as a user choice, and set both the TRR
// URI and mode here. This will cause DoHController to permanently
// disable heuristics and the values at the time of accept will persist.
// This includes the case when no changes were made.
if (dnsOverHttpsResolverChoice == "custom") {
let customValue = document
.getElementById("networkCustomDnsOverHttpsInput")
.value.trim();
if (customValue) {
Services.prefs.setStringPref("network.trr.uri", customValue);
writeURIandMode(customValue);
} else {
Services.prefs.setStringPref(
"network.trr.uri",
DoHConfigController.currentConfig.fallbackProviderURI
);
writeURIandMode(DoHConfigController.currentConfig.fallbackProviderURI);
}
} else if (this.isDnsOverHttpsEnabled()) {
Services.prefs.setStringPref(
"network.trr.uri",
dnsOverHttpsResolverChoice
);
} else {
writeURIandMode(dnsOverHttpsResolverChoice);
}
var proxyTypePref = Preferences.get("network.proxy.type");
......
......@@ -15,6 +15,10 @@ function test() {
Services.prefs.setIntPref("network.proxy.type", oldNetworkProxyType);
Services.prefs.clearUserPref("network.proxy.no_proxies_on");
Services.prefs.clearUserPref("browser.preferences.instantApply");
// On accepting the dialog, we also write TRR values, so we need to clear
// them. They are tested separately in browser_connect_dnsoverhttps.js.
Services.prefs.clearUserPref("network.trr.mode");
Services.prefs.clearUserPref("network.trr.uri");
});
let connectionURL =
......
......@@ -28,6 +28,10 @@ function test() {
"network.proxy.backup." + proxyType + "_port"
);
}
// On accepting the dialog, we also write TRR values, so we need to clear
// them. They are tested separately in browser_connect_dnsoverhttps.js.
Services.prefs.clearUserPref("network.trr.mode");
Services.prefs.clearUserPref("network.trr.uri");
});
/*
......
......@@ -340,7 +340,7 @@ add_task(async function default_values() {
let testVariations = [
// verify state with defaults
{ name: "default", expectedModePref: 0, expectedUriValue: "" },
{ name: "default", expectedModePref: 5, expectedUriValue: "" },
// verify each of the modes maps to the correct checked state
{ name: "mode 0", [TRR_MODE_PREF]: 0, expectedModeChecked: false },
......@@ -431,6 +431,14 @@ let testVariations = [
selectResolver: SECOND_RESOLVER_VALUE,
expectedFinalUriPref: SECOND_RESOLVER_VALUE,
},
// Test selecting non-default, non-custom TRR provider, NextDNS,
// with DoH not enabled. The provider selection should stick.
{
name: "Select NextDNS as TRR provider in mode 0",
[TRR_MODE_PREF]: 0,
selectResolver: SECOND_RESOLVER_VALUE,
expectedFinalUriPref: SECOND_RESOLVER_VALUE,
},
{
name: "return to default from NextDNS",
[TRR_MODE_PREF]: 2,
......@@ -545,6 +553,7 @@ add_task(async function testRemoteSettingsEnable() {
ok(true, "Heuristics remained enabled.");
}
is(Services.prefs.getStringPref("network.trr.uri"), "");
ok(!Services.prefs.prefHasUserValue("network.trr.mode"));
} else {
// If accepting, the chosen provider is persisted to network.trr.uri
// and heuristics should get disabled.
......@@ -559,6 +568,7 @@ add_task(async function testRemoteSettingsEnable() {
Services.prefs.getStringPref("network.trr.uri"),
DEFAULT_RESOLVER_VALUE
);
is(Services.prefs.getIntPref("network.trr.mode"), 2);
}
};
......
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