diff options
Diffstat (limited to 'browser/themes/shared/controlcenter/panel.inc.css')
-rw-r--r-- | browser/themes/shared/controlcenter/panel.inc.css | 445 |
1 files changed, 445 insertions, 0 deletions
diff --git a/browser/themes/shared/controlcenter/panel.inc.css b/browser/themes/shared/controlcenter/panel.inc.css new file mode 100644 index 000000000..a0f3aa854 --- /dev/null +++ b/browser/themes/shared/controlcenter/panel.inc.css @@ -0,0 +1,445 @@ +%if 0 +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +%endif + +/* Hide all conditional elements by default. */ +:-moz-any([when-connection],[when-mixedcontent],[when-ciphers],[when-loginforms]) { + display: none; +} + +/* Show the right elements for the right connection states. */ +#identity-popup[connection=not-secure] [when-connection~=not-secure], +#identity-popup[connection=secure-cert-user-overridden] [when-connection~=secure-cert-user-overridden], +#identity-popup[connection=secure-ev] [when-connection~=secure-ev], +#identity-popup[connection=secure] [when-connection~=secure], +#identity-popup[connection=chrome] [when-connection~=chrome], +#identity-popup[connection=file] [when-connection~=file], +/* Show insecure login forms messages when needed. */ +#identity-popup[loginforms=insecure] [when-loginforms=insecure], +/* Show weak cipher messages when needed. */ +#identity-popup[ciphers=weak] [when-ciphers~=weak], +/* Show mixed content warnings when needed */ +#identity-popup[mixedcontent~=active-loaded] [when-mixedcontent=active-loaded], +#identity-popup[mixedcontent~=passive-loaded]:not([mixedcontent~=active-loaded]) [when-mixedcontent=passive-loaded], +#identity-popup[mixedcontent~=active-blocked]:not([mixedcontent~=passive-loaded]) [when-mixedcontent=active-blocked], +/* Show the right elements when there is mixed passive content loaded and active blocked. */ +#identity-popup[mixedcontent~=active-blocked][mixedcontent~=passive-loaded] [when-mixedcontent~=active-blocked][when-mixedcontent~=passive-loaded], +/* Show 'disable MCB' button always when there is mixed active content blocked. */ +#identity-popup-securityView-body[mixedcontent~=active-blocked] > button[when-mixedcontent=active-blocked] { + display: inherit; +} + +/* Hide redundant messages based on insecure login forms presence. */ +#identity-popup[loginforms=secure] [and-when-loginforms=insecure] { + display: none; +} +#identity-popup[loginforms=insecure] [and-when-loginforms=secure] { + display: none; +} + +/* Hide 'not secure' message in subview when weak cipher or mixed content messages are shown. */ +#identity-popup-securityView-body:-moz-any([mixedcontent],[ciphers]) > description[when-connection=not-secure], +/* Hide 'passive-loaded (only)' message when there is mixed passive content loaded and active blocked. */ +#identity-popup-securityView-body[mixedcontent~=passive-loaded][mixedcontent~=active-blocked] > description[when-mixedcontent=passive-loaded] { + display: none; +} + +/* Make sure hidden elements don't accidentally become visible from one of the + above selectors (see Bug 1194258) */ +#identity-popup [hidden] { + display: none !important; +} + +#identity-popup, +#identity-popup:not([panelopen]) .panel-viewstack[viewtype="main"]:not([transitioning]) #identity-popup-mainView { + /* Tiny hack to ensure the panel shrinks back to its original + size after closing a subview that is bigger than the main view. */ + max-height: 0; +} + +.panel-mainview[panelid=identity-popup][viewtype=subview] > #identity-popup-mainView menulist, +.panel-mainview[panelid=identity-popup][viewtype=subview] > #identity-popup-mainView button:not([panel-multiview-anchor]) { + -moz-user-focus: ignore; +} + +#identity-popup > .panel-arrowcontainer > .panel-arrowcontent { + padding: 0; +} + +.panel-mainview[panelid=identity-popup] { + min-width: 30em; +} + +#identity-popup-multiView > .panel-viewcontainer > .panel-viewstack[viewtype="main"] > .panel-subviews { + transform: translateX(100%); + box-shadow: none; +} + +#identity-popup-multiView > .panel-viewcontainer > .panel-viewstack[viewtype="main"] > .panel-subviews:-moz-locale-dir(rtl) { + transform: translateX(-100%); +} + +#identity-popup-multiView > .panel-viewcontainer > .panel-viewstack > .panel-subviews { + background: var(--arrowpanel-background); + padding: 0; +} + +.identity-popup-section:not(:first-child) { + border-top: 1px solid var(--panel-separator-color); +} + +#identity-popup-securityView, +#identity-popup-security-content, +#identity-popup-permissions-content, +#tracking-protection-content { + background-repeat: no-repeat; + background-position: 1em 1em; + background-size: 24px auto; +} + +#identity-popup-security-content, +#identity-popup-permissions-content, +#tracking-protection-content { + padding: 0.5em 0 1em; + /* .identity-popup-headline.host depends on this width */ + padding-inline-start: calc(2em + 24px); + padding-inline-end: 1em; +} + +#identity-popup-securityView:-moz-locale-dir(rtl), +#identity-popup-security-content:-moz-locale-dir(rtl), +#identity-popup-permissions-content:-moz-locale-dir(rtl), +#tracking-protection-content:-moz-locale-dir(rtl) { + background-position: calc(100% - 1em) 1em; +} + +/* EXPAND BUTTON */ + +.identity-popup-expander { + margin: 0; + padding: 4px 0; + min-width: auto; + width: var(--identity-popup-expander-width); + border: 0 none; + -moz-appearance: none; + background: url("chrome://browser/skin/controlcenter/arrow-subview.svg") center no-repeat; + background-size: 16px, auto; +} + +.identity-popup-expander:-moz-locale-dir(rtl) { + transform: scaleX(-1); +} + +.identity-popup-expander[panel-multiview-anchor] { + transition: background-color 250ms ease-in; + background-color: Highlight; + background-image: url("chrome://browser/skin/controlcenter/arrow-subview-back.svg"), + linear-gradient(rgba(255,255,255,0.3), transparent); +} + +.identity-popup-expander > .button-box { + padding: 0; + -moz-appearance: none; + border-style: none; + border-left: 1px solid var(--panel-separator-color); +} + +.identity-popup-expander:-moz-focusring > .button-box, +.identity-popup-expander[panel-multiview-anchor] > .button-box { + border-style: none; +} + +.identity-popup-expander:hover { + background-color: var(--arrowpanel-dimmed); + background-image: url("chrome://browser/skin/controlcenter/arrow-subview.svg"), + linear-gradient(rgba(255,255,255,0.3), transparent); +} + +.identity-popup-expander:hover:active { + background-color: var(--arrowpanel-dimmed-further); + box-shadow: 0 1px 0 hsla(210,4%,10%,.05) inset; +} + +/* CONTENT */ + +.identity-popup-permission-label, +.identity-popup-permission-state-label, +#identity-popup-security-content > description, +#identity-popup-security-descriptions > description, +#identity-popup-securityView-header > description, +#identity-popup-securityView-body > description, +#identity-popup-permissions-content > description, +#tracking-protection-content > label { + white-space: pre-wrap; + font-size: 110%; + margin: 0; +} + +.identity-popup-headline { + margin: 3px 0 4px; + font-size: 150%; +} + +.identity-popup-headline.host { + word-wrap: break-word; + /* 1em + 2em + 24px is #identity-popup-security-content padding + * 30em is .panel-mainview:not([panelid="PanelUI-popup"]) width */ + max-width: calc(30rem - 3rem - 24px - var(--identity-popup-expander-width)) +} + +.identity-popup-warning-gray { + padding-inline-start: 24px; + background: url(chrome://browser/skin/controlcenter/warning-gray.svg) no-repeat 0 50%; +} + +.identity-popup-warning-yellow { + padding-inline-start: 24px; + background: url(chrome://browser/skin/controlcenter/warning-yellow.svg) no-repeat 0 50%; +} + +.identity-popup-warning-gray:-moz-locale-dir(rtl), +.identity-popup-warning-yellow:-moz-locale-dir(rtl) { + background-position: 100% 50%; +} + +/* SECURITY */ + +.identity-popup-connection-secure { + color: #418220; +} + +.identity-popup-connection-not-secure { + color: #d74345; +} + +#identity-popup-securityView { + overflow: hidden; +} + +#identity-popup-securityView, +#identity-popup-security-content { + background-image: url(chrome://browser/skin/controlcenter/conn-not-secure.svg); +} + +#identity-popup[connection=chrome] #identity-popup-securityView, +#identity-popup[connection=chrome] #identity-popup-security-content { + background-image: url(chrome://branding/content/icon48.png); +} + +#identity-popup[connection^=secure] #identity-popup-securityView, +#identity-popup[connection^=secure] #identity-popup-security-content { + background-image: url(chrome://browser/skin/controlcenter/connection.svg#connection-secure); +} + +/* Use [isbroken] to make sure we don't show a lock on an http page. See Bug 1192162. */ +#identity-popup[ciphers=weak] #identity-popup-securityView, +#identity-popup[ciphers=weak] #identity-popup-security-content, +#identity-popup[mixedcontent~=passive-loaded][isbroken] #identity-popup-securityView, +#identity-popup[mixedcontent~=passive-loaded][isbroken] #identity-popup-security-content { + background-image: url(chrome://browser/skin/controlcenter/connection.svg#connection-degraded); +} + +#identity-popup[connection=secure-cert-user-overridden] #identity-popup-securityView, +#identity-popup[connection=secure-cert-user-overridden] #identity-popup-security-content { + background-image: url(chrome://browser/skin/connection-mixed-passive-loaded.svg#icon); +} + +#identity-popup[loginforms=insecure] #identity-popup-securityView, +#identity-popup[loginforms=insecure] #identity-popup-security-content, +#identity-popup[mixedcontent~=active-loaded][isbroken] #identity-popup-securityView, +#identity-popup[mixedcontent~=active-loaded][isbroken] #identity-popup-security-content { + background-image: url(chrome://browser/skin/controlcenter/mcb-disabled.svg); +} + +#identity-popup-security-descriptions > description { + margin-top: 6px; + color: Graytext; +} + +#identity-popup-securityView-header, +#identity-popup-securityView-body { + margin-inline-start: calc(2em + 24px); + margin-inline-end: 1em; +} + +#identity-popup-securityView-header { + margin-top: 0.5em; + border-bottom: 1px solid var(--panel-separator-color); + padding-bottom: 1em; +} + +#identity-popup-securityView-body { + padding-inline-end: 1em; +} + +#identity-popup-securityView-footer { + margin-top: 1em; + background-color: var(--arrowpanel-dimmed); +} + +#identity-popup-securityView-footer > button { + -moz-appearance: none; + margin: 0; + border: none; + border-top: 1px solid var(--panel-separator-color); + padding: 8px 20px; + color: inherit; + background-color: transparent; +} + +#identity-popup-securityView-footer > button:hover, +#identity-popup-securityView-footer > button:focus { + background-color: var(--arrowpanel-dimmed); +} + +#identity-popup-securityView-footer > button:hover:active { + background-color: var(--arrowpanel-dimmed-further); +} + +#identity-popup-content-verifier ~ description { + margin-top: 1em; + color: Graytext; +} + +description#identity-popup-content-verified-by, +description#identity-popup-content-owner, +description#identity-popup-content-verifier, +#identity-popup-securityView-body > button { + margin-top: 1em; +} + +#identity-popup-securityView-body > button { + margin-inline-start: 0; + margin-inline-end: 0; +} + +/* TRACKING PROTECTION */ + +#tracking-protection-content { + background-image: url("chrome://browser/skin/controlcenter/tracking-protection.svg#enabled"); +} + +#tracking-protection-content[state="loaded-tracking-content"] { + background-image: url("chrome://browser/skin/controlcenter/tracking-protection.svg#disabled"); +} + +#tracking-action-block, +#tracking-action-unblock, +#tracking-action-unblock-private { + margin: 1em 0 0; +} + +#tracking-protection-content[state] > #tracking-not-detected, +#tracking-protection-content:not([state="blocked-tracking-content"]) > #tracking-blocked, +#main-window[privatebrowsingmode] #tracking-action-unblock, +#main-window:not([privatebrowsingmode]) #tracking-action-unblock-private, +#tracking-protection-content:not([state="blocked-tracking-content"]) #tracking-action-unblock, +#tracking-protection-content:not([state="blocked-tracking-content"]) #tracking-action-unblock-private, +#tracking-protection-content:not([state="loaded-tracking-content"]) > #tracking-loaded, +#tracking-protection-content:not([state="loaded-tracking-content"]) #tracking-action-block, +#tracking-protection-content:not([state]) > #tracking-actions { + display: none; +} + +/* PERMISSIONS */ + +#identity-popup-permissions-content { + background-image: url(chrome://browser/skin/controlcenter/permissions.svg); +} + +#identity-popup-permissions-headline { + /* Make sure the label is as tall as the icon so that the permission list + which is aligned with the icon doesn't cover it up. */ + min-height: 24px; +} + +#identity-popup-permission-list { + /* Offset the padding set on #identity-popup-permissions-content so that it + shows up just below the section. The permission icons are 16px wide and + should be right aligned with the section icon. */ + margin-inline-start: calc(-1em - 16px); +} + +.identity-popup-permission-item { + min-height: 24px; +} + +#identity-popup-permission-list:not(:empty) { + margin-top: 5px; +} + +.identity-popup-permission-icon { + width: 16px; + height: 16px; +} + +.identity-popup-permission-icon.in-use { + animation: 1.5s ease in-use-blink infinite; +} + +@keyframes in-use-blink { + 50% { opacity: 0; } +} + +.identity-popup-permission-label, +.identity-popup-permission-state-label { + /* We need to align the action buttons and permission icons with the text. + This is tricky because the icon height is defined in pixels, while the + font height can vary with platform and system settings, and at least on + Windows the default font metrics reserve more extra space for accents. + This value is a good compromise for different platforms and font sizes. */ + margin-top: -0.1em; +} + +.identity-popup-permission-label { + margin-inline-start: 1em; +} + +.identity-popup-permission-state-label { + margin-inline-end: 5px; + text-align: end; + color: graytext; +} + +.identity-popup-permission-remove-button { + -moz-appearance: none; + margin: 0; + border-width: 0; + border-radius: 50%; + min-width: 0; + padding: 2px; + background-color: transparent; +} + +.identity-popup-permission-remove-button > .button-box { + padding: 0; + -moz-appearance: none; +} + +.identity-popup-permission-remove-button > .button-box > .button-icon { + margin: 0; + width: 16px; + height: 16px; + list-style-image: url(chrome://browser/skin/panel-icons.svg#cancel); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: graytext; +} + +.identity-popup-permission-remove-button > .button-box > .button-text { + display: none; +} + +/* swap foreground / background colors on hover */ +.identity-popup-permission-remove-button:not(:-moz-focusring):hover { + background-color: graytext; +} + +.identity-popup-permission-remove-button:not(:-moz-focusring):hover > .button-box > .button-icon { + fill: -moz-field; +} + +.identity-popup-permission-remove-button:not(:-moz-focusring):hover:active { + background-color: -moz-fieldtext; +} |