зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1679463 - Replace :not(foo):not(bar) with :not(foo,bar) in browser/. r=ntim
Differential Revision: https://phabricator.services.mozilla.com/D98028
This commit is contained in:
Родитель
55fe392eba
Коммит
57d8ec78b2
|
@ -1717,9 +1717,9 @@ var BookmarkingUI = {
|
|||
// Do we have visible kids?
|
||||
let hasVisibleChildren = !!this.toolbar.querySelector(
|
||||
`:scope > toolbarpaletteitem > toolbarbutton:not([hidden]),
|
||||
:scope > toolbarpaletteitem > toolbaritem:not([hidden]):not(#personal-bookmarks),
|
||||
:scope > toolbarpaletteitem > toolbaritem:not([hidden], #personal-bookmarks),
|
||||
:scope > toolbarbutton:not([hidden]),
|
||||
:scope > toolbaritem:not([hidden]):not(#personal-bookmarks)`
|
||||
:scope > toolbaritem:not([hidden], #personal-bookmarks)`
|
||||
);
|
||||
|
||||
if (!hasVisibleChildren) {
|
||||
|
|
|
@ -156,7 +156,7 @@ panelview[mainview] > .panel-header {
|
|||
}
|
||||
|
||||
@supports not -moz-bool-pref("browser.tabs.tabmanager.enabled") {
|
||||
#tabbrowser-tabs:not([overflow="true"]):not([hashiddentabs]) ~ #alltabs-button {
|
||||
#tabbrowser-tabs:not([overflow="true"], [hashiddentabs]) ~ #alltabs-button {
|
||||
display: none;
|
||||
}
|
||||
#tabbrowser-tabs:not([overflow="true"])[using-closing-tabs-spacer] ~ #alltabs-button {
|
||||
|
@ -187,7 +187,7 @@ panelview[mainview] > .panel-header {
|
|||
min-width: calc(var(--tab-min-width) + 10px);
|
||||
}
|
||||
|
||||
.tabbrowser-tab:not([pinned]):not([fadein]) {
|
||||
.tabbrowser-tab:not([pinned], [fadein]) {
|
||||
max-width: 0.1px;
|
||||
min-width: 0.1px;
|
||||
visibility: hidden;
|
||||
|
@ -652,7 +652,7 @@ toolbar:not(#TabsToolbar) > #personal-bookmarks {
|
|||
}
|
||||
|
||||
#urlbar[actionoverride] > #urlbar-input-container > #urlbar-label-box,
|
||||
#urlbar:not([actiontype="switchtab"]):not([actiontype="extension"]):not([searchmode]) > #urlbar-input-container > #urlbar-label-box,
|
||||
#urlbar:not([actiontype="switchtab"], [actiontype="extension"], [searchmode]) > #urlbar-input-container > #urlbar-label-box,
|
||||
#urlbar:not([actiontype="switchtab"]) > #urlbar-input-container > #urlbar-label-box > #urlbar-label-switchtab,
|
||||
#urlbar:not([actiontype="extension"]) > #urlbar-input-container > #urlbar-label-box > #urlbar-label-extension,
|
||||
#urlbar[searchmode][breakout-extend] > #urlbar-input-container > #urlbar-label-box,
|
||||
|
@ -1444,7 +1444,7 @@ toolbarpaletteitem > toolbaritem {
|
|||
}
|
||||
}
|
||||
|
||||
toolbar[keyNav=true]:not([collapsed=true]):not([customizing=true]) toolbartabstop {
|
||||
toolbar[keyNav=true]:not([collapsed=true], [customizing=true]) toolbartabstop {
|
||||
-moz-user-focus: normal;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
.tab-icon-pending:not([pendingicon]),
|
||||
.tab-icon-pending[busy],
|
||||
.tab-icon-pending[pinned],
|
||||
.tab-icon-image:not([src]):not([pinned]):not([crashed]):not([pictureinpicture])[selected],
|
||||
.tab-icon-image:not([src]):not([pinned]):not([crashed]):not([sharing]):not([pictureinpicture]),
|
||||
.tab-icon-image:not([src], [pinned], [crashed], [pictureinpicture])[selected],
|
||||
.tab-icon-image:not([src], [pinned], [crashed], [sharing], [pictureinpicture]),
|
||||
.tab-icon-image[busy],
|
||||
.tab-throbber:not([busy]),
|
||||
.tab-icon-sound:not([soundplaying]):not([muted]):not([activemedia-blocked]):not([pictureinpicture]),
|
||||
.tab-icon-sound:not([soundplaying], [muted], [activemedia-blocked], [pictureinpicture]),
|
||||
.tab-icon-sound[pinned],
|
||||
.tab-sharing-icon-overlay,
|
||||
.tab-icon-overlay {
|
||||
|
@ -40,13 +40,13 @@
|
|||
}
|
||||
|
||||
.tab-label-container[textoverflow][labeldirection=ltr]:not([pinned]),
|
||||
.tab-label-container[textoverflow]:not([labeldirection]):not([pinned]):-moz-locale-dir(ltr) {
|
||||
.tab-label-container[textoverflow]:not([labeldirection], [pinned]):-moz-locale-dir(ltr) {
|
||||
direction: ltr;
|
||||
mask-image: linear-gradient(to left, transparent, black 2em);
|
||||
}
|
||||
|
||||
.tab-label-container[textoverflow][labeldirection=rtl]:not([pinned]),
|
||||
.tab-label-container[textoverflow]:not([labeldirection]):not([pinned]):-moz-locale-dir(rtl) {
|
||||
.tab-label-container[textoverflow]:not([labeldirection], [pinned]):-moz-locale-dir(rtl) {
|
||||
direction: rtl;
|
||||
mask-image: linear-gradient(to right, transparent, black 2em);
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ login-list {
|
|||
:root:not(.initialized) login-intro,
|
||||
:root:not(.initialized) login-item,
|
||||
:root.empty-search login-intro,
|
||||
:root:not(.no-logins):not(.empty-search):not(.login-selected) login-intro,
|
||||
:root:not(.no-logins, .empty-search, .login-selected) login-intro,
|
||||
login-item[data-editing="true"] + login-intro,
|
||||
.login-selected login-intro,
|
||||
:root:not(.login-selected) login-item:not([data-editing="true"]),
|
||||
|
|
|
@ -220,7 +220,7 @@ add_task(async function test_empty_login_username_in_list() {
|
|||
}));
|
||||
|
||||
gLoginList.setLogins([TEST_LOGIN_3]);
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
is(loginListItems.length, 1, "The one stored login should be displayed");
|
||||
is(loginListItems[0].dataset.guid, TEST_LOGIN_3.guid, "login-list-item should have correct guid attribute");
|
||||
let loginUsername = loginListItems[0].querySelector(".username");
|
||||
|
@ -229,7 +229,7 @@ add_task(async function test_empty_login_username_in_list() {
|
|||
|
||||
add_task(async function test_populated_list() {
|
||||
gLoginList.setLogins([TEST_LOGIN_1, TEST_LOGIN_2]);
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
is(loginListItems.length, 2, "The two stored logins should be displayed");
|
||||
is(loginListItems[0].getAttribute("role"), "option", "Each login-list-item should have role='option'");
|
||||
is(loginListItems[0].dataset.guid, TEST_LOGIN_1.guid, "login-list-item should have correct guid attribute");
|
||||
|
@ -240,7 +240,7 @@ add_task(async function test_populated_list() {
|
|||
ok(loginListItems[0].classList.contains("selected"), "The first item should be selected by default");
|
||||
ok(!loginListItems[1].classList.contains("selected"), "The second item should not be selected by default");
|
||||
loginListItems[0].click();
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
is(loginListItems.length, 2, "After selecting one, only the two stored logins should be displayed");
|
||||
ok(loginListItems[0].classList.contains("selected"), "The first item should be selected");
|
||||
ok(!loginListItems[1].classList.contains("selected"), "The second item should still not be selected");
|
||||
|
@ -253,7 +253,7 @@ add_task(async function test_breach_indicator() {
|
|||
vulnerableLogins.set(TEST_LOGIN_1.guid, true);
|
||||
vulnerableLogins.set(TEST_LOGIN_3.guid, true);
|
||||
gLoginList.setVulnerableLogins(vulnerableLogins);
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
let alertIcon = loginListItems[0].querySelector(".alert-icon");
|
||||
is(loginListItems[0].dataset.guid, TEST_LOGIN_1.guid, "The first login should be TEST_LOGIN_1");
|
||||
ok(!loginListItems[0].classList.contains("vulnerable"), "The first login should not have the .vulnerable class");
|
||||
|
@ -275,7 +275,7 @@ add_task(async function test_filtered_list() {
|
|||
gLoginList.setLogins([TEST_LOGIN_1, TEST_LOGIN_2]);
|
||||
let emptySearchText = gLoginList.shadowRoot.querySelector(".empty-search-message");
|
||||
ok(isHidden(emptySearchText), "The empty search text should be hidden when there are results in the list");
|
||||
is(gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])").length, 2, "Both logins should be visible");
|
||||
is(gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])").length, 2, "Both logins should be visible");
|
||||
let countSpan = gLoginList.shadowRoot.querySelector(".count");
|
||||
is(JSON.parse(countSpan.getAttribute("data-l10n-args")).count, 2, "Count should match full list length");
|
||||
window.dispatchEvent(new CustomEvent("AboutLoginsFilterLogins", {
|
||||
|
@ -399,12 +399,12 @@ add_task(async function test_login_modified() {
|
|||
add_task(async function test_login_added() {
|
||||
info("selected sort: " + gLoginList.shadowRoot.getElementById("login-sort").selectedIndex);
|
||||
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
is(loginListItems.length, 2, "Should have two logins at start of test");
|
||||
let newLogin = Object.assign({}, TEST_LOGIN_1, {title: "example2.example.com", guid: "111222"});
|
||||
gLoginList.loginAdded(newLogin);
|
||||
await asyncElementRendered();
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
is(loginListItems.length, 3, "New login should be added to the list");
|
||||
is(loginListItems[0].dataset.guid, TEST_LOGIN_1.guid, "login-list-item1 should have correct guid attribute");
|
||||
is(loginListItems[1].dataset.guid, TEST_LOGIN_2.guid, "login-list-item2 should have correct guid attribute");
|
||||
|
@ -418,7 +418,7 @@ add_task(async function test_login_added() {
|
|||
add_task(async function test_login_removed() {
|
||||
gLoginList.loginRemoved({guid: "111222"});
|
||||
await asyncElementRendered();
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
is(loginListItems.length, 2, "New login should be removed from the list");
|
||||
is(loginListItems[0].dataset.guid, TEST_LOGIN_1.guid, "login-list-item1 should have correct guid attribute");
|
||||
is(loginListItems[1].dataset.guid, TEST_LOGIN_2.guid, "login-list-item2 should have correct guid attribute");
|
||||
|
@ -479,7 +479,7 @@ add_task(async function test_sorted_list() {
|
|||
let loginSort = gLoginList.shadowRoot.getElementById("login-sort");
|
||||
loginSort.value = "last-used";
|
||||
dispatchChangeEvent(loginSort);
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
let loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
is(loginListItems.length, 3, "The list should contain the three stored logins");
|
||||
let timeUsed1 = gLoginList._logins[loginListItems[0].dataset.guid].login.timeLastUsed;
|
||||
let timeUsed2 = gLoginList._logins[loginListItems[1].dataset.guid].login.timeLastUsed;
|
||||
|
@ -490,7 +490,7 @@ add_task(async function test_sorted_list() {
|
|||
// sort by title
|
||||
loginSort.value = "name";
|
||||
dispatchChangeEvent(loginSort);
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
let title1 = gLoginList._logins[loginListItems[0].dataset.guid].login.title;
|
||||
let title2 = gLoginList._logins[loginListItems[1].dataset.guid].login.title;
|
||||
let title3 = gLoginList._logins[loginListItems[2].dataset.guid].login.title;
|
||||
|
@ -500,7 +500,7 @@ add_task(async function test_sorted_list() {
|
|||
// sort by title in reverse alphabetical order
|
||||
loginSort.value = "name-reverse";
|
||||
dispatchChangeEvent(loginSort);
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
title1 = gLoginList._logins[loginListItems[0].dataset.guid].login.title;
|
||||
title2 = gLoginList._logins[loginListItems[1].dataset.guid].login.title;
|
||||
title3 = gLoginList._logins[loginListItems[2].dataset.guid].login.title;
|
||||
|
@ -511,7 +511,7 @@ add_task(async function test_sorted_list() {
|
|||
// sort by last changed
|
||||
loginSort.value = "last-changed";
|
||||
dispatchChangeEvent(loginSort);
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
let pwChanged1 = gLoginList._logins[loginListItems[0].dataset.guid].login.timePasswordChanged;
|
||||
let pwChanged2 = gLoginList._logins[loginListItems[1].dataset.guid].login.timePasswordChanged;
|
||||
let pwChanged3 = gLoginList._logins[loginListItems[2].dataset.guid].login.timePasswordChanged;
|
||||
|
@ -524,7 +524,7 @@ add_task(async function test_sorted_list() {
|
|||
let vulnerableLogins = new Map();
|
||||
gLoginList.setVulnerableLogins(vulnerableLogins);
|
||||
dispatchChangeEvent(loginSort);
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
is(loginListItems[0].classList.contains("breached"), true, "Breached login should be displayed at top of list");
|
||||
is(!loginListItems[1].classList.contains("breached"), true, "Non-breached login should be displayed below breached");
|
||||
|
||||
|
@ -532,7 +532,7 @@ add_task(async function test_sorted_list() {
|
|||
gLoginList.setBreaches(new Map());
|
||||
loginSort.value = "alerts";
|
||||
dispatchChangeEvent(loginSort);
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item):not([hidden])");
|
||||
loginListItems = gLoginList.shadowRoot.querySelectorAll(".login-list-item:not(#new-login-list-item, [hidden])");
|
||||
title1 = gLoginList._logins[loginListItems[0].dataset.guid].login.title;
|
||||
title2 = gLoginList._logins[loginListItems[1].dataset.guid].login.title;
|
||||
is(title1.localeCompare(title2), -1, "Logins should be sorted alphabetically by hostname");
|
||||
|
|
|
@ -419,7 +419,7 @@ CustomizeMode.prototype = {
|
|||
this.document.documentElement.setAttribute("customizing", true);
|
||||
|
||||
let customizableToolbars = document.querySelectorAll(
|
||||
"toolbar[customizable=true]:not([autohide=true]):not([collapsed=true])"
|
||||
"toolbar[customizable=true]:not([autohide=true], [collapsed=true])"
|
||||
);
|
||||
for (let toolbar of customizableToolbars) {
|
||||
toolbar.setAttribute("customizing", true);
|
||||
|
|
|
@ -265,24 +265,24 @@ button.browser-style.expander {
|
|||
}
|
||||
|
||||
/* Interactive States */
|
||||
button.browser-style:hover:not(.pressed):not(:disabled):not(.focused),
|
||||
select.browser-style:hover:not(.pressed):not(:disabled):not(.focused) {
|
||||
button.browser-style:hover:not(.pressed, :disabled, .focused),
|
||||
select.browser-style:hover:not(.pressed, :disabled, .focused) {
|
||||
background-color: #ebebeb;
|
||||
border: 1px solid #b1b1b1;
|
||||
}
|
||||
|
||||
button.browser-style:hover:active:not(.hover):not(:disabled):not(.focused),
|
||||
select.browser-style:hover:active:not(.hover):not(:disabled):not(.focused) {
|
||||
button.browser-style:hover:active:not(.hover, :disabled, .focused),
|
||||
select.browser-style:hover:active:not(.hover, :disabled, .focused) {
|
||||
background-color: #d4d4d4;
|
||||
border: 1px solid #858585;
|
||||
}
|
||||
|
||||
button.browser-style.default:hover:not(.pressed):not(:disabled):not(.focused) {
|
||||
button.browser-style.default:hover:not(.pressed, :disabled, .focused) {
|
||||
background-color: #0670cc;
|
||||
border-color: #005bab;
|
||||
}
|
||||
|
||||
button.browser-style.default:hover:active:not(.hover):not(:disabled):not(.focused) {
|
||||
button.browser-style.default:hover:active:not(.hover, :disabled, .focused) {
|
||||
background-color: #005bab;
|
||||
border-color: #004480;
|
||||
}
|
||||
|
|
|
@ -8,8 +8,7 @@ test_newtab({
|
|||
before: setDefaultTopSites,
|
||||
// Test verifies the menu options for a default top site.
|
||||
test: async function defaultTopSites_menuOptions() {
|
||||
const siteSelector =
|
||||
".top-site-outer:not(.search-shortcut):not(.placeholder)";
|
||||
const siteSelector = ".top-site-outer:not(.search-shortcut, .placeholder)";
|
||||
await ContentTaskUtils.waitForCondition(
|
||||
() => content.document.querySelector(siteSelector),
|
||||
"Topsite tippytop icon not found"
|
||||
|
@ -48,8 +47,7 @@ test_newtab({
|
|||
before: setDefaultTopSites,
|
||||
// Test verifies that the next top site in queue replaces a dismissed top site.
|
||||
test: async function defaultTopSites_dismiss() {
|
||||
const siteSelector =
|
||||
".top-site-outer:not(.search-shortcut):not(.placeholder)";
|
||||
const siteSelector = ".top-site-outer:not(.search-shortcut, .placeholder)";
|
||||
await ContentTaskUtils.waitForCondition(
|
||||
() => content.document.querySelector(siteSelector),
|
||||
"Topsite tippytop icon not found"
|
||||
|
|
|
@ -31,8 +31,7 @@ test_newtab({
|
|||
before: setDefaultTopSites,
|
||||
// it should pin the website when we click the first option of the topsite context menu.
|
||||
test: async function topsites_pin_unpin() {
|
||||
const siteSelector =
|
||||
".top-site-outer:not(.search-shortcut):not(.placeholder)";
|
||||
const siteSelector = ".top-site-outer:not(.search-shortcut, .placeholder)";
|
||||
await ContentTaskUtils.waitForCondition(
|
||||
() => content.document.querySelector(siteSelector),
|
||||
"Topsite tippytop icon not found"
|
||||
|
|
|
@ -260,7 +260,7 @@ var gSearchResultsPane = {
|
|||
// Building the range for highlighted areas
|
||||
let rootPreferencesChildren = [
|
||||
...document.querySelectorAll(
|
||||
"#mainPrefPane > *:not([data-hidden-from-search]):not(script):not(stringbundle)"
|
||||
"#mainPrefPane > *:not([data-hidden-from-search], script, stringbundle)"
|
||||
),
|
||||
];
|
||||
|
||||
|
|
|
@ -185,8 +185,8 @@ menuitem.bookmark-item {
|
|||
}
|
||||
}
|
||||
|
||||
#urlbar:not(:-moz-lwtheme):not([focused="true"]) > #urlbar-background,
|
||||
#searchbar:not(:-moz-lwtheme):not(:focus-within) {
|
||||
#urlbar:not(:-moz-lwtheme, [focused="true"]) > #urlbar-background,
|
||||
#searchbar:not(:-moz-lwtheme, :focus-within) {
|
||||
border-color: ThreeDShadow;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
margin-inline-start: 4px;
|
||||
}
|
||||
|
||||
#viewButton:-moz-focusring:not(:hover):not([open]) {
|
||||
#viewButton:-moz-focusring:not(:hover, [open]) {
|
||||
outline: 1px dotted -moz-DialogText;
|
||||
}
|
||||
|
||||
|
|
|
@ -487,7 +487,7 @@
|
|||
margin-block: 1px 0;
|
||||
}
|
||||
|
||||
.tabbrowser-tab:not(:hover) > .tab-stack > .tab-content > .tab-icon-image:not([selected="true"]):not([multiselected]) {
|
||||
.tabbrowser-tab:not(:hover) > .tab-stack > .tab-content > .tab-icon-image:not([selected="true"], [multiselected]) {
|
||||
opacity: .9;
|
||||
}
|
||||
|
||||
|
@ -499,7 +499,7 @@
|
|||
opacity: 0.9999;
|
||||
}
|
||||
|
||||
.tab-label-container:not([selected="true"]):not([multiselected]) {
|
||||
.tab-label-container:not([selected="true"], [multiselected]) {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@
|
|||
transition-duration: 150ms;
|
||||
}
|
||||
|
||||
#UITourTooltipButtons > button:not(.button-link):not(:active):hover {
|
||||
#UITourTooltipButtons > button:not(.button-link, :active):hover {
|
||||
background-color: hsla(210,4%,10%,.15);
|
||||
border-color: hsla(210,4%,10%,.15);
|
||||
box-shadow: 0 1px 0 0 hsla(210,4%,10%,.05) inset;
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
.customizationmode-checkbox:not(:-moz-lwtheme):not([disabled]),
|
||||
.customizationmode-checkbox:not(:-moz-lwtheme, [disabled]),
|
||||
.customizationmode-button {
|
||||
/* !important overrides :hover:active color from button.css on Mac */
|
||||
color: rgb(71, 71, 71) !important;
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
%define appmenuWarningBackgroundColorActiveBrightText hsla(55,100%,50%,.2)
|
||||
%define appmenuWarningColorBrightText #F9F9FA
|
||||
|
||||
:root:not([uidensity=compact]):not([chromehidden~="toolbar"]) #PanelUI-button {
|
||||
:root:not([uidensity=compact], [chromehidden~="toolbar"]) #PanelUI-button {
|
||||
margin-inline-start: 3px;
|
||||
border-inline-start: 1px solid;
|
||||
border-image: linear-gradient(
|
||||
|
@ -44,7 +44,7 @@
|
|||
border-image-slice: 1;
|
||||
}
|
||||
|
||||
:root:not([uidensity=compact]):not([chromehidden~="toolbar"]) #nav-bar[brighttext] > #PanelUI-button {
|
||||
:root:not([uidensity=compact], [chromehidden~="toolbar"]) #nav-bar[brighttext] > #PanelUI-button {
|
||||
border-image-source: linear-gradient(
|
||||
transparent 4px,
|
||||
var(--lwt-toolbar-vertical-separator, rgba(255,255,255,.2)) 4px,
|
||||
|
@ -1811,7 +1811,7 @@ toolbarpaletteitem[place="menu-panel"] > .subviewbutton-nav::after {
|
|||
list-style-image: url("chrome://browser/skin/reload.svg");
|
||||
}
|
||||
|
||||
.subviewbutton.download:not([canShow]):not([canRetry]) > .action-button {
|
||||
.subviewbutton.download:not([canShow], [canRetry]) > .action-button {
|
||||
fill: currentColor;
|
||||
fill-opacity: 0.4;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
-moz-user-focus: ignore;
|
||||
}
|
||||
|
||||
#identity-box:hover:not(.no-hover):not([open=true]),
|
||||
#identity-box:hover:not(.no-hover, [open=true]),
|
||||
#tracking-protection-icon-container:hover:not([open=true]) {
|
||||
background-color: hsla(0,0%,70%,.2);
|
||||
fill-opacity: .8;
|
||||
|
@ -69,7 +69,7 @@
|
|||
#identity-icon-label {
|
||||
padding-inline-start: 4px;
|
||||
}
|
||||
#identity-box:not(.chromeUI):not(.extensionPage):not(.notSecureText) {
|
||||
#identity-box:not(.chromeUI, .extensionPage, .notSecureText) {
|
||||
--urlbar-separator-color: transparent;
|
||||
}
|
||||
|
||||
|
|
|
@ -78,8 +78,8 @@
|
|||
padding: 2px 4px;
|
||||
}
|
||||
|
||||
#sidebar-switcher-target:-moz-focusring:not(:hover):not([open]),
|
||||
#sidebar-close:-moz-focusring:not(:hover):not([open]) {
|
||||
#sidebar-switcher-target:-moz-focusring:not(:hover, [open]),
|
||||
#sidebar-close:-moz-focusring:not(:hover, [open]) {
|
||||
outline: 1px dotted;
|
||||
}
|
||||
|
||||
|
|
|
@ -460,8 +460,8 @@
|
|||
opacity: .8;
|
||||
}
|
||||
|
||||
.tab-icon-sound[soundplaying-scheduledremoval]:not([muted]):not(:hover),
|
||||
.tab-icon-overlay[soundplaying-scheduledremoval]:not([muted]):not(:hover) {
|
||||
.tab-icon-sound[soundplaying-scheduledremoval]:not([muted], :hover),
|
||||
.tab-icon-overlay[soundplaying-scheduledremoval]:not([muted], :hover) {
|
||||
transition: opacity .3s linear var(--soundplaying-removal-delay);
|
||||
opacity: 0;
|
||||
}
|
||||
|
@ -506,7 +506,7 @@
|
|||
transition: opacity 150ms ease;
|
||||
}
|
||||
|
||||
.tabbrowser-tab:not([visuallyselected=true]):not([multiselected]),
|
||||
.tabbrowser-tab:not([visuallyselected=true], [multiselected]),
|
||||
.tabbrowser-tab:-moz-lwtheme {
|
||||
color: inherit;
|
||||
}
|
||||
|
@ -582,32 +582,32 @@
|
|||
|
||||
/* Tab hover */
|
||||
|
||||
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]):not([multiselected]) {
|
||||
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true], [multiselected]) {
|
||||
background-color: rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
#TabsToolbar[brighttext] .tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]):not([multiselected]) {
|
||||
#TabsToolbar[brighttext] .tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true], [multiselected]) {
|
||||
background-color: rgba(255,255,255,.1);
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.tab-line:not([selected=true]):not([multiselected]) {
|
||||
.tab-line:not([selected=true], [multiselected]) {
|
||||
transition: transform 250ms var(--animation-easing-function), opacity 250ms var(--animation-easing-function);
|
||||
}
|
||||
}
|
||||
|
||||
.tab-line:not([selected=true]):not([multiselected]) {
|
||||
.tab-line:not([selected=true], [multiselected]) {
|
||||
opacity: 0;
|
||||
transform: scaleX(0);
|
||||
}
|
||||
|
||||
.tabbrowser-tab:hover > .tab-stack > .tab-background > .tab-line:not([selected=true]):not([multiselected]) {
|
||||
.tabbrowser-tab:hover > .tab-stack > .tab-background > .tab-line:not([selected=true], [multiselected]) {
|
||||
background-color: rgba(0,0,0,.2);
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
#TabsToolbar[brighttext] .tabbrowser-tab:hover > .tab-stack > .tab-background > .tab-line:not([selected=true]):not([multiselected]) {
|
||||
#TabsToolbar[brighttext] .tabbrowser-tab:hover > .tab-stack > .tab-background > .tab-line:not([selected=true], [multiselected]) {
|
||||
background-color: rgba(255,255,255,.2);
|
||||
}
|
||||
|
||||
|
@ -636,11 +636,11 @@
|
|||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.tabbrowser-tab[image] > .tab-stack > .tab-content[attention]:not([pinned]):not([selected="true"]) {
|
||||
.tabbrowser-tab[image] > .tab-stack > .tab-content[attention]:not([pinned], [selected="true"]) {
|
||||
background-position-x: left 11px;
|
||||
}
|
||||
|
||||
.tabbrowser-tab[image] > .tab-stack > .tab-content[attention]:not([pinned]):not([selected="true"]):-moz-locale-dir(rtl) {
|
||||
.tabbrowser-tab[image] > .tab-stack > .tab-content[attention]:not([pinned], [selected="true"]):-moz-locale-dir(rtl) {
|
||||
background-position-x: right 11px;
|
||||
}
|
||||
|
||||
|
|
|
@ -171,14 +171,14 @@ toolbar[brighttext] .toolbaritem-combined-buttons > separator {
|
|||
opacity: .3;
|
||||
}
|
||||
|
||||
#PersonalToolbar .toolbarbutton-1:not([disabled=true]):not([checked]):not([open]):not(:active):hover,
|
||||
#PersonalToolbar .toolbarbutton-1:not([disabled=true], [checked], [open], :active):hover,
|
||||
#tabbrowser-arrowscrollbox:not([scrolledtostart=true])::part(scrollbutton-up):hover,
|
||||
#tabbrowser-arrowscrollbox:not([scrolledtoend=true])::part(scrollbutton-down):hover,
|
||||
.findbar-button:not([checked="true"],[disabled="true"]):hover,
|
||||
toolbarbutton.bookmark-item:not(.subviewbutton):hover:not([disabled="true"]):not([open]),
|
||||
toolbar .toolbarbutton-1:not([disabled=true]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-icon,
|
||||
toolbar .toolbarbutton-1:not([disabled=true]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-text,
|
||||
toolbar .toolbarbutton-1:not([disabled=true]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-badge-stack {
|
||||
toolbarbutton.bookmark-item:not(.subviewbutton, [disabled=true], [open]):hover,
|
||||
toolbar .toolbarbutton-1:not([disabled=true], [checked], [open], :active):hover > .toolbarbutton-icon,
|
||||
toolbar .toolbarbutton-1:not([disabled=true], [checked], [open], :active):hover > .toolbarbutton-text,
|
||||
toolbar .toolbarbutton-1:not([disabled=true], [checked], [open], :active):hover > .toolbarbutton-badge-stack {
|
||||
background-color: var(--toolbarbutton-hover-background);
|
||||
color: inherit;
|
||||
}
|
||||
|
@ -278,7 +278,7 @@ toolbar .toolbarbutton-1:-moz-focusring {
|
|||
padding: 10px;
|
||||
}
|
||||
|
||||
:root:not([uidensity=compact]) #back-button:not([disabled]):not([open]):hover > .toolbarbutton-icon {
|
||||
:root:not([uidensity=compact]) #back-button:not([disabled], [open]):hover > .toolbarbutton-icon {
|
||||
background-color: var(--backbutton-hover-background) !important;
|
||||
box-shadow: 0 1px 6px hsla(0,0%,0%,.1);
|
||||
border-color: hsla(240,5%,5%,.35);
|
||||
|
|
|
@ -505,7 +505,7 @@
|
|||
height: 30px;
|
||||
}
|
||||
|
||||
#page-action-buttons > :not([hidden]):not(toolbartabstop) ~ #pageActionSeparator {
|
||||
#page-action-buttons > :not([hidden], toolbartabstop) ~ #pageActionSeparator {
|
||||
/* Show the separator between the page actions and other elements when at
|
||||
least one of the latter is shown. */
|
||||
visibility: visible;
|
||||
|
|
|
@ -99,7 +99,7 @@
|
|||
padding-block: 6px;
|
||||
}
|
||||
|
||||
:root[uidensity=touch] .urlbarView-row:not([type=tip]):not([type=dynamic]) {
|
||||
:root[uidensity=touch] .urlbarView-row:not([type=tip], [type=dynamic]) {
|
||||
padding-block: 11px;
|
||||
}
|
||||
|
||||
|
@ -151,7 +151,7 @@
|
|||
/* Note: switchtab entries show the url only in override mode,
|
||||
remotetab and sponsored ones only when selected or :hover. */
|
||||
.urlbarView[actionoverride] .urlbarView-results[wrap] > .urlbarView-row[has-url] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title-separator,
|
||||
.urlbarView-results[wrap] > .urlbarView-row[has-url]:not([type$=tab]):not([sponsored]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title-separator,
|
||||
.urlbarView-results[wrap] > .urlbarView-row[has-url]:not([type$=tab], [sponsored]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title-separator,
|
||||
.urlbarView-results[wrap] > .urlbarView-row:is([type=remotetab], [sponsored]):is(:hover, [selected]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title-separator,
|
||||
.urlbarView-results[wrap] > .urlbarView-row[type=tabtosearch] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title-separator {
|
||||
display: none;
|
||||
|
@ -172,12 +172,12 @@
|
|||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.urlbarView-row:not([type=tip]):not([type=dynamic]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title[overflow],
|
||||
.urlbarView-row:not([type=tip], [type=dynamic]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title[overflow],
|
||||
.urlbarView-url[overflow] {
|
||||
mask-image: linear-gradient(to left, transparent, black 2em);
|
||||
}
|
||||
|
||||
.urlbarView-row:not([type=tip]):not([type=dynamic]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title[overflow]:not([isurl]):-moz-locale-dir(rtl) {
|
||||
.urlbarView-row:not([type=tip], [type=dynamic]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title[overflow]:not([isurl]):-moz-locale-dir(rtl) {
|
||||
mask-image: linear-gradient(to right, transparent, black 2em);
|
||||
}
|
||||
|
||||
|
@ -186,11 +186,11 @@
|
|||
direction: ltr !important;
|
||||
}
|
||||
|
||||
.urlbarView-row:not([type=tip]):not([type=dynamic]):hover > .urlbarView-row-inner {
|
||||
.urlbarView-row:not([type=tip], [type=dynamic]):hover > .urlbarView-row-inner {
|
||||
background: var(--arrowpanel-dimmed);
|
||||
}
|
||||
|
||||
.urlbarView-row:not([type=tip]):not([type=dynamic])[selected] > .urlbarView-row-inner {
|
||||
.urlbarView-row:not([type=tip], [type=dynamic])[selected] > .urlbarView-row-inner {
|
||||
background: var(--autocomplete-popup-highlight-background);
|
||||
color: var(--autocomplete-popup-highlight-color);
|
||||
fill-opacity: 1;
|
||||
|
@ -494,8 +494,8 @@
|
|||
color: inherit;
|
||||
}
|
||||
|
||||
.urlbarView-row:is([type=remotetab], [sponsored]):not([selected]):not(:hover) > .urlbarView-row-inner > .urlbarView-url,
|
||||
.urlbarView-row[type=search]:not([selected]):not(:hover):not([show-action-text]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title-separator,
|
||||
.urlbarView-row:is([type=remotetab], [sponsored]):not([selected], :hover) > .urlbarView-row-inner > .urlbarView-url,
|
||||
.urlbarView-row[type=search]:not([selected], :hover, [show-action-text]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-title-separator,
|
||||
.urlbarView:not([actionoverride]) .urlbarView-row[type=switchtab] > .urlbarView-row-inner > .urlbarView-url {
|
||||
/* Use visibility:collapse instead of display:none since the latter can
|
||||
confuse the overflow state of title and url elements when their content
|
||||
|
@ -504,7 +504,7 @@
|
|||
}
|
||||
|
||||
.urlbarView-row:is([type=remotetab], [sponsored]):is([selected], :hover) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-action,
|
||||
.urlbarView-row[type=search]:not([selected]):not(:hover):not([show-action-text]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-action,
|
||||
.urlbarView-row[type=search]:not([selected], :hover, [show-action-text]) > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-action,
|
||||
.urlbarView[actionoverride] .urlbarView-row[type=switchtab] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-action {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
:root[sizemode=normal][tabsintitlebar] {
|
||||
border-top: 1px solid -moz-win-accentcolor;
|
||||
}
|
||||
:root[tabsintitlebar]:not(:-moz-window-inactive):not(:-moz-lwtheme),
|
||||
:root[tabsintitlebar]:not(:-moz-window-inactive, :-moz-lwtheme),
|
||||
:root[tabsintitlebar]:not(:-moz-window-inactive)[lwt-default-theme-in-dark-mode] {
|
||||
background-color: -moz-win-accentcolor;
|
||||
color: -moz-win-accentcolortext;
|
||||
|
@ -301,7 +301,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
:root[darkwindowframe="true"]:not(:-moz-window-inactive):not(:-moz-lwtheme) {
|
||||
:root[darkwindowframe="true"]:not(:-moz-window-inactive, :-moz-lwtheme) {
|
||||
color: white;
|
||||
}
|
||||
|
||||
|
@ -309,7 +309,7 @@
|
|||
@media (-moz-os-version: windows-win7),
|
||||
(-moz-os-version: windows-win8) {
|
||||
/* Vertical toolbar border */
|
||||
#main-window[sizemode=normal] .browser-toolbar:not(.titlebar-color):not(:-moz-lwtheme),
|
||||
#main-window[sizemode=normal] .browser-toolbar:not(.titlebar-color, :-moz-lwtheme),
|
||||
#main-window[sizemode=normal] .browser-toolbar:-moz-lwtheme {
|
||||
border-inline: 1px solid @glassShadowColor@;
|
||||
background-clip: padding-box;
|
||||
|
@ -360,7 +360,7 @@
|
|||
text-shadow: 0 0 .5em white, 0 0 .5em white, 0 1px 0 rgba(255,255,255,.4);
|
||||
}
|
||||
|
||||
#main-menubar:not(:-moz-lwtheme):not(:-moz-window-inactive) {
|
||||
#main-menubar:not(:-moz-lwtheme, :-moz-window-inactive) {
|
||||
background-color: rgba(255,255,255,.5);
|
||||
color: black;
|
||||
border-radius: 4px;
|
||||
|
|
|
@ -190,11 +190,11 @@
|
|||
/* Please keep the menu text colors in this media block in sync with
|
||||
* compacttheme.css, minus the :not(:-moz-lwtheme) condition - see Bug 1165718.
|
||||
*/
|
||||
:root[tabsintitlebar]:not([inFullscreen]):not(:-moz-lwtheme) {
|
||||
:root[tabsintitlebar]:not([inFullscreen], :-moz-lwtheme) {
|
||||
color: CaptionText;
|
||||
}
|
||||
|
||||
:root[tabsintitlebar]:not([inFullscreen]):not(:-moz-lwtheme):-moz-window-inactive {
|
||||
:root[tabsintitlebar]:not([inFullscreen], :-moz-lwtheme):-moz-window-inactive {
|
||||
color: InactiveCaptionText;
|
||||
}
|
||||
}
|
||||
|
@ -274,8 +274,8 @@
|
|||
:root:not([inDOMFullscreen]) #titlebar:-moz-lwtheme {
|
||||
visibility: hidden;
|
||||
}
|
||||
:root:not([inDOMFullscreen]):not([chromehidden~="menubar"]) #toolbar-menubar:-moz-lwtheme,
|
||||
:root:not([inDOMFullscreen]):not([chromehidden~="toolbar"]) #TabsToolbar:-moz-lwtheme {
|
||||
:root:not([inDOMFullscreen], [chromehidden~="menubar"]) #toolbar-menubar:-moz-lwtheme,
|
||||
:root:not([inDOMFullscreen], [chromehidden~="toolbar"]) #TabsToolbar:-moz-lwtheme {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
|
@ -530,8 +530,8 @@ menuitem.bookmark-item {
|
|||
}
|
||||
|
||||
@media (-moz-windows-default-theme: 0) {
|
||||
#urlbar:not(:-moz-lwtheme):not([focused="true"]) > #urlbar-background,
|
||||
#searchbar:not(:-moz-lwtheme):not(:focus-within) {
|
||||
#urlbar:not(:-moz-lwtheme, [focused="true"]) > #urlbar-background,
|
||||
#searchbar:not(:-moz-lwtheme, :focus-within) {
|
||||
border-color: ThreeDShadow;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,10 +36,10 @@
|
|||
/* Because we're forcing the tabs toolbar to be [brighttext] to
|
||||
* get white toolbar button icons, we need to manually set the
|
||||
* correct color for the tab hover state for the light theme. */
|
||||
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]):not([multiselected]):-moz-lwtheme-darktext {
|
||||
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true], [multiselected]):-moz-lwtheme-darktext {
|
||||
background-color: rgba(0,0,0,.1) !important;
|
||||
}
|
||||
.tabbrowser-tab:hover > .tab-stack > .tab-background > .tab-line:not([selected=true]):not([multiselected]):-moz-lwtheme-darktext {
|
||||
.tabbrowser-tab:hover > .tab-stack > .tab-background > .tab-line:not([selected=true], [multiselected]):-moz-lwtheme-darktext {
|
||||
background-color: rgba(0,0,0,.2) !important;
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче