summaryrefslogtreecommitdiffstats
path: root/browser/themes/shared/controlcenter/panel.inc.css
diff options
context:
space:
mode:
Diffstat (limited to 'browser/themes/shared/controlcenter/panel.inc.css')
-rw-r--r--browser/themes/shared/controlcenter/panel.inc.css445
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;
+}