diff options
Diffstat (limited to 'browser/themes/shared/identity-block')
5 files changed, 307 insertions, 0 deletions
diff --git a/browser/themes/shared/identity-block/identity-block.css b/browser/themes/shared/identity-block/identity-block.css new file mode 100644 index 0000000000..39cf7c917a --- /dev/null +++ b/browser/themes/shared/identity-block/identity-block.css @@ -0,0 +1,273 @@ +/* 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/. */ + +@namespace html url("http://www.w3.org/1999/xhtml"); + +#identity-box { + margin-inline-end: var(--identity-box-margin-inline); +} + +#identity-box, +#tracking-protection-icon-container { + /* Set default fill for icons in the identity block. + Individual icons can override this. */ + fill: currentColor; + fill-opacity: var(--urlbar-icon-fill-opacity); +} + +#urlbar.searchButton > #urlbar-input-container > #identity-box[pageproxystate="invalid"], +#identity-box[pageproxystate="invalid"] > #identity-permission-box, +#identity-box[pageproxystate="invalid"] > #notification-popup-box, +#identity-box[pageproxystate="invalid"] #identity-icon-label { + display: none; +} + +#urlbar:not(.searchButton) > #urlbar-input-container > #identity-box[pageproxystate="invalid"] { + pointer-events: none; + -moz-user-focus: ignore; +} + +.identity-box-button:hover:not([open=true]), +#tracking-protection-icon-container:hover:not([open=true]) { + background-color: var(--urlbar-box-hover-bgcolor); + color: var(--urlbar-box-hover-text-color); +} + +.identity-box-button:hover:active, +.identity-box-button[open=true], +#tracking-protection-icon-container:hover:active, +#tracking-protection-icon-container[open=true] { + background-color: var(--urlbar-box-active-bgcolor); + color: var(--urlbar-box-hover-text-color); +} + +.identity-box-button:focus-visible, +#tracking-protection-icon-container:focus-visible { + outline: var(--focus-outline); + outline-offset: var(--focus-outline-inset); +} + +.identity-box-button { + padding-inline: var(--urlbar-icon-padding); + border-radius: var(--urlbar-icon-border-radius); +} + +#identity-icon-label { + padding-inline-start: 4px; +} + +#identity-box[pageproxystate="valid"].notSecureText, +#identity-box[pageproxystate="valid"].chromeUI, +#identity-box[pageproxystate="valid"].extensionPage, +#urlbar-label-box { + margin-inline-end: 8px; +} + +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button, +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button, +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button, +#urlbar-label-box { + background-color: var(--urlbar-box-bgcolor); + color: var(--urlbar-box-text-color); + padding-inline: 8px; + border-radius: var(--urlbar-icon-border-radius); +} + +#urlbar[focused="true"] #identity-box[pageproxystate="valid"].notSecureText > .identity-box-button:not(:hover, [open=true]), +#urlbar[focused="true"] #identity-box[pageproxystate="valid"].chromeUI > .identity-box-button:not(:hover, [open=true]), +#urlbar[focused="true"] #identity-box[pageproxystate="valid"].extensionPage > .identity-box-button:not(:hover, [open=true]), +#urlbar[focused="true"] #urlbar-label-box { + background-color: var(--urlbar-box-focus-bgcolor); +} + +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button:hover:not([open]), +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button:hover:not([open]), +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button:hover:not([open]) { + background-color: var(--urlbar-box-hover-bgcolor); + color: var(--urlbar-box-hover-text-color); +} + +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button:hover:active, +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button[open=true], +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button:hover:active, +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button[open=true], +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button:hover:active, +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button[open=true] { + background-color: var(--urlbar-box-active-bgcolor); + color: var(--urlbar-box-hover-text-color); +} + +#urlbar[searchmode]:not([focused="true"]) > #urlbar-input-container > #urlbar-search-mode-indicator, +#urlbar[searchmode]:not([focused="true"]) > #urlbar-input-container > #urlbar-label-box { + pointer-events: none; +} + +#urlbar[searchmode]:not([focused="true"]) > #urlbar-input-container > #urlbar-search-mode-indicator > #urlbar-search-mode-indicator-close { + pointer-events: initial; +} + +.urlbar-label { + margin: 0; +} + +.sharing-icon, +#identity-icon, +#permissions-granted-icon, +#tracking-protection-icon, +.notification-anchor-icon, +#blocked-permissions-container > .blocked-permission-icon { + -moz-context-properties: fill, fill-opacity; +} + +.sharing-icon, +#identity-icon, +#permissions-granted-icon, +#tracking-protection-icon, +#blocked-permissions-container > .blocked-permission-icon { + width: 16px; + height: 16px; +} + +.sharing-icon, +#identity-icon, +#tracking-protection-icon, +#blocked-permissions-container > .blocked-permission-icon { + margin-inline-start: 4px; +} + +#tracking-protection-icon { + margin-inline-start: 0; +} + +/* MAIN IDENTITY ICON */ +#identity-icon { + margin-inline-start: 0; + list-style-image: url(chrome://global/skin/icons/info.svg); +} + +#identity-box[pageproxystate="valid"].chromeUI #identity-icon { + list-style-image: url(chrome://branding/content/icon16.png); +} +@media (min-resolution: 1.1dppx) { + #identity-box[pageproxystate="valid"].chromeUI #identity-icon { + list-style-image: url(chrome://branding/content/icon32.png); + } +} + +#identity-box[pageproxystate="valid"].localResource #identity-icon { + list-style-image: url(chrome://global/skin/icons/page-portrait.svg); +} + +#urlbar:not(.searchButton) > #urlbar-input-container > #identity-box[pageproxystate="invalid"] #identity-icon { + list-style-image: url(chrome://global/skin/icons/search-glass.svg); +} + +#urlbar[actiontype="extension"] > #urlbar-input-container > #identity-box #identity-icon { + list-style-image: url(chrome://mozapps/skin/extensions/extension.svg); +} + +#identity-box[pageproxystate="valid"].extensionPage #identity-icon { + list-style-image: url(chrome://mozapps/skin/extensions/extension.svg); +} + +#identity-box[pageproxystate="valid"].verifiedDomain #identity-icon, +#identity-box[pageproxystate="valid"].mixedActiveBlocked #identity-icon { + list-style-image: url(chrome://global/skin/icons/security.svg); +} + +#identity-box[pageproxystate="valid"].weakCipher #identity-icon, +#identity-box[pageproxystate="valid"].mixedDisplayContent #identity-icon, +#identity-box[pageproxystate="valid"].mixedDisplayContentLoadedActiveBlocked #identity-icon, +#identity-box[pageproxystate="valid"].certUserOverridden #identity-icon, +#identity-box[pageproxystate="valid"].certErrorPage #identity-icon { + list-style-image: url(chrome://global/skin/icons/security-warning.svg); + fill: unset; +} + + +#identity-box[pageproxystate="valid"].notSecure #identity-icon, +#identity-box[pageproxystate="valid"].mixedActiveContent #identity-icon, +#identity-box[pageproxystate="valid"].httpsOnlyErrorPage #identity-icon { + list-style-image: url(chrome://global/skin/icons/security-broken.svg); +} + +#permissions-granted-icon { + list-style-image: url(chrome://browser/skin/permissions.svg); +} + +#identity-permission-box { + display: none; +} + +#identity-permission-box[open=true], +#identity-permission-box[hasPermissions], +#identity-permission-box[hasSharingIcon] { + display: flex; +} + +/* SHARING ICON */ + +#webrtc-sharing-icon[sharing="camera"] { + list-style-image: url("chrome://browser/skin/notification-icons/camera.svg"); +} + +#webrtc-sharing-icon[sharing="microphone"] { + list-style-image: url("chrome://browser/skin/notification-icons/microphone.svg"); +} + +#webrtc-sharing-icon[sharing="screen"] { + list-style-image: url("chrome://browser/skin/notification-icons/screen.svg"); +} + +#geo-sharing-icon[sharing] { + list-style-image: url("chrome://browser/skin/notification-icons/geo.svg"); +} + +.sharing-icon:not([sharing]) { + display: none; +} + +#webrtc-sharing-icon[sharing]:not([paused]) { + -moz-context-properties: fill; + fill: rgb(224, 41, 29); +} + +/* TRACKING PROTECTION ICON */ + +#tracking-protection-icon-container { + padding-inline: var(--urlbar-icon-padding); + border-radius: var(--urlbar-icon-border-radius); + /* This is needed in order to position the blue dot indicator. */ + position: relative; +} + +#urlbar-input-container[pageproxystate="valid"] > #tracking-protection-icon-container.chromeUI { + display: none; +} + +#tracking-protection-icon-box { + overflow: hidden; + width: 16px; + height: 16px; +} + +#tracking-protection-icon-tooltip { + max-width: 500px; +} + +#urlbar-input-container[pageproxystate="valid"] > #tracking-protection-icon-container > #tracking-protection-icon-box { + list-style-image: url(chrome://browser/skin/tracking-protection.svg); + + &[active] { + list-style-image: url(chrome://browser/skin/tracking-protection-active.svg); + } + + &[hasException] { + list-style-image: url(chrome://browser/skin/tracking-protection-disabled.svg); + } +} + +#urlbar-input-container[pageproxystate="invalid"] > #tracking-protection-icon-container { + visibility: collapse; +} diff --git a/browser/themes/shared/identity-block/permissions.svg b/browser/themes/shared/identity-block/permissions.svg new file mode 100644 index 0000000000..0237c34e44 --- /dev/null +++ b/browser/themes/shared/identity-block/permissions.svg @@ -0,0 +1,9 @@ +<!-- 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/. --> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity"> + <path d="M12.5 4.25c.689 0 1.25.561 1.25 1.25s-.561 1.25-1.25 1.25-1.25-.561-1.25-1.25.561-1.25 1.25-1.25m0-1.25a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z"/> + <path d="M9 5.5c0-.171.027-.335.05-.5L1.625 5a.625.625 0 0 0 0 1.25l7.46 0A3.497 3.497 0 0 1 9 5.5z"/> + <path d="M3.5 9.25c.689 0 1.25.561 1.25 1.25s-.561 1.25-1.25 1.25-1.25-.561-1.25-1.25.561-1.25 1.25-1.25M3.5 8a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z"/> + <path d="M14.375 10 6.95 10c.023.165.05.329.05.5 0 .258-.032.508-.085.75l7.46 0a.625.625 0 0 0 0-1.25z"/> +</svg> diff --git a/browser/themes/shared/identity-block/tracking-protection-active.svg b/browser/themes/shared/identity-block/tracking-protection-active.svg new file mode 100644 index 0000000000..fd7069d8e0 --- /dev/null +++ b/browser/themes/shared/identity-block/tracking-protection-active.svg @@ -0,0 +1,12 @@ +<!-- 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/. --> +<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" width="16" height="16"> + <defs> + <linearGradient id="a" x1="16" y1="0" x2="0" y2="16" gradientUnits="userSpaceOnUse"> + <stop stop-color="light-dark(#AB71FF, #CB9EFF)"/> + <stop offset="1" stop-color="light-dark(#0250BB, #00DDFF)"/> + </linearGradient> + </defs> + <path d="M8 16a1.88 1.88 0 0 1-.872-.215c-1.763-.919-3.382-2.408-4.559-4.193-.563-.853-.962-1.893-1.182-3.09L.776 5.177a1.998 1.998 0 0 1 1.015-2.12L7.064.237A1.973 1.973 0 0 1 8.932.234l5.273 2.872a2 2 0 0 1 1.018 2.127l-.61 3.279c-.22 1.188-.616 2.223-1.179 3.076-1.177 1.786-2.798 3.277-4.563 4.198A1.879 1.879 0 0 1 8 16zM7.659 1.336 2.363 4.168 2 4.928l.616 3.348c.19 1.031.525 1.915.996 2.628 1.062 1.611 2.517 2.951 4.095 3.773l.585.001.001-.001c1.581-.823 3.037-2.165 4.099-3.777.469-.713.804-1.593.993-2.617l.614-3.3-.367-.766-5.291-2.882-.682.001z" fill="url(#a)"/> +</svg> diff --git a/browser/themes/shared/identity-block/tracking-protection-disabled.svg b/browser/themes/shared/identity-block/tracking-protection-disabled.svg new file mode 100644 index 0000000000..f34f1cd8de --- /dev/null +++ b/browser/themes/shared/identity-block/tracking-protection-disabled.svg @@ -0,0 +1,7 @@ +<!-- 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/. --> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity"> + <path d="m15.317 14.433-2.295-2.295c.001-.001.002-.002.003-.004l-.89-.89c-.001.001-.002.002-.003.004L4.116 3.231l.004-.002-.924-.924-.004.002L1.567.683a.626.626 0 0 0-.885.885l1.356 1.356-.247.133a1.998 1.998 0 0 0-1.015 2.12l.612 3.325c.22 1.196.618 2.236 1.182 3.09 1.178 1.785 2.797 3.274 4.559 4.193a1.877 1.877 0 0 0 1.743 0c1.228-.641 2.37-1.572 3.352-2.676l2.208 2.208a.623.623 0 0 0 .884 0 .624.624 0 0 0 .001-.884zm-7.024.244-.586 0c-1.578-.822-3.033-2.162-4.095-3.773-.471-.713-.806-1.596-.996-2.628L2 4.928l.364-.76.599-.32 8.384 8.384c-.894 1.014-1.937 1.863-3.054 2.445z"/> + <path d="m7.659 1.336.682-.001 5.291 2.882.367.766-.614 3.3a7.793 7.793 0 0 1-.582 1.859l.931.931a8.68 8.68 0 0 0 .88-2.561l.61-3.279a2 2 0 0 0-1.018-2.127L8.933.234a1.973 1.973 0 0 0-1.868.003L4.349 1.689l.924.924 2.386-1.277z"/> +</svg> diff --git a/browser/themes/shared/identity-block/tracking-protection.svg b/browser/themes/shared/identity-block/tracking-protection.svg new file mode 100644 index 0000000000..09cdb83ecf --- /dev/null +++ b/browser/themes/shared/identity-block/tracking-protection.svg @@ -0,0 +1,6 @@ +<!-- 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/. --> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity"> + <path d="M8 16a1.88 1.88 0 0 1-.872-.215c-1.763-.919-3.382-2.408-4.559-4.193-.563-.853-.962-1.893-1.182-3.09L.776 5.177a1.998 1.998 0 0 1 1.015-2.12L7.064.237A1.973 1.973 0 0 1 8.932.234l5.273 2.872a2 2 0 0 1 1.018 2.127l-.61 3.279c-.22 1.188-.616 2.223-1.179 3.076-1.177 1.786-2.798 3.277-4.563 4.198A1.879 1.879 0 0 1 8 16zM7.659 1.336 2.363 4.168 2 4.928l.616 3.348c.19 1.031.525 1.915.996 2.628 1.062 1.611 2.517 2.951 4.095 3.773l.585.001.001-.001c1.581-.823 3.037-2.165 4.099-3.777.469-.713.804-1.593.993-2.617l.614-3.3-.367-.766-5.291-2.882-.682.001z"/> +</svg> |