diff options
107 files changed, 2934 insertions, 1772 deletions
diff --git a/arc-firefox-theme/chrome/browser/Geolocation-16.png b/arc-firefox-theme/chrome/browser/Geolocation-16.png Binary files differdeleted file mode 100644 index 082b177..0000000 --- a/arc-firefox-theme/chrome/browser/Geolocation-16.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/Geolocation-64.png b/arc-firefox-theme/chrome/browser/Geolocation-64.png Binary files differdeleted file mode 100644 index 6e09ab9..0000000 --- a/arc-firefox-theme/chrome/browser/Geolocation-64.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/Toolbar-inverted@2x.png b/arc-firefox-theme/chrome/browser/Toolbar-inverted@2x.png Binary files differnew file mode 100644 index 0000000..3472548 --- /dev/null +++ b/arc-firefox-theme/chrome/browser/Toolbar-inverted@2x.png diff --git a/arc-firefox-theme/chrome/browser/Toolbar@2x.png b/arc-firefox-theme/chrome/browser/Toolbar@2x.png Binary files differnew file mode 100644 index 0000000..3244081 --- /dev/null +++ b/arc-firefox-theme/chrome/browser/Toolbar@2x.png diff --git a/arc-firefox-theme/chrome/browser/aboutNetError.css b/arc-firefox-theme/chrome/browser/aboutNetError.css index 7c3a6d0..7141c0c 100644 --- a/arc-firefox-theme/chrome/browser/aboutNetError.css +++ b/arc-firefox-theme/chrome/browser/aboutNetError.css @@ -110,6 +110,10 @@ span#hostname { #automaticallyReportInFuture { cursor: pointer; + display: inline-block; + padding-inline-start: 2.3em; + text-indent: -2.3em; + line-height: 16px } #errorCode:not([href]) { diff --git a/arc-firefox-theme/chrome/browser/addons/addon-install-anchor.svg b/arc-firefox-theme/chrome/browser/addons/addon-install-anchor.svg index 563ca35..60c59cf 100644 --- a/arc-firefox-theme/chrome/browser/addons/addon-install-anchor.svg +++ b/arc-firefox-theme/chrome/browser/addons/addon-install-anchor.svg @@ -5,23 +5,7 @@ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16"> <defs> - <style> - use:not(:target) { - display: none; - } - .style-icon-notification { - fill: #666; - } - .style-icon-notification.hover { - fill: #808080; - } - .style-icon-notification.active { - fill: #4d4d4d; - } - </style> - <path id="shape-notifcations-addons" d="M10,15c0.5,0,1-0.4,1-1v-3c0,0,0-0.8,0.8-0.8c0.6,0,0.6,0.8,1.8,0.8c0.6,0,1.5-0.2,1.5-2c0-1.8-0.9-2-1.5-2 c-1.1,0-1.1,0.7-1.8,0.7C11,7.7,11,7,11,7V6c0-0.6-0.5-1-1-1H8c0,0-0.8,0-0.8-0.8C7.2,3.6,8,3.6,8,2.5C8,1.9,7.8,1,6,1 C4.2,1,4,1.9,4,2.5c0,1.1,0.8,1.1,0.8,1.8C4.8,5,4,5,4,5H2C1.5,5,1,5.4,1,6l0,1.5c0,0-0.1,1,1.1,1c0.8,0,0.9-1,1.9-1 C4.5,7.4,5,8,5,9c0,1-0.5,1.6-1,1.6c-1,0-1.1-1.1-1.9-1.1C0.9,9.5,1,10.8,1,10.8V14c0,0.6,0.5,1,1,1l2.6,0c0,0,1.1,0,1.1-1 c0-0.8-1-0.1-1-1.1c0-0.5,0.7-1.2,1.8-1.2s1.8,0.7,1.8,1.2c0,1-1.1,0.3-1.1,1.1c0,1,1.2,1,1.2,1H10z"/> + <path id="shape-notifications-addons" d="M10,15c0.5,0,1-0.4,1-1v-3c0,0,0-0.8,0.8-0.8c0.6,0,0.6,0.8,1.8,0.8c0.6,0,1.5-0.2,1.5-2c0-1.8-0.9-2-1.5-2 c-1.1,0-1.1,0.7-1.8,0.7C11,7.7,11,7,11,7V6c0-0.6-0.5-1-1-1H8c0,0-0.8,0-0.8-0.8C7.2,3.6,8,3.6,8,2.5C8,1.9,7.8,1,6,1 C4.2,1,4,1.9,4,2.5c0,1.1,0.8,1.1,0.8,1.8C4.8,5,4,5,4,5H2C1.5,5,1,5.4,1,6l0,1.5c0,0-0.1,1,1.1,1c0.8,0,0.9-1,1.9-1 C4.5,7.4,5,8,5,9c0,1-0.5,1.6-1,1.6c-1,0-1.1-1.1-1.9-1.1C0.9,9.5,1,10.8,1,10.8V14c0,0.6,0.5,1,1,1l2.6,0c0,0,1.1,0,1.1-1 c0-0.8-1-0.1-1-1.1c0-0.5,0.7-1.2,1.8-1.2s1.8,0.7,1.8,1.2c0,1-1.1,0.3-1.1,1.1c0,1,1.2,1,1.2,1H10z"/> </defs> - <use id="default" xlink:href="#shape-notifcations-addons" class="style-icon-notification"/> - <use id="hover" xlink:href="#shape-notifcations-addons" class="style-icon-notification hover"/> - <use id="active" xlink:href="#shape-notifcations-addons" class="style-icon-notification active"/> + <use id="default" xlink:href="#shape-notifications-addons" /> </svg> diff --git a/arc-firefox-theme/chrome/browser/browser.css b/arc-firefox-theme/chrome/browser/browser.css index fee8692..ec0dcd1 100644 --- a/arc-firefox-theme/chrome/browser/browser.css +++ b/arc-firefox-theme/chrome/browser/browser.css @@ -774,6 +774,171 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #webide-button[cui-areatype="toolbar"] { -moz-image-region: rect(0, 738px, 18px, 720px); } +/* +@media (min-resolution: 1.1dppx) { + :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar@2x.png"); + } + + toolbar[brighttext] :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + toolbar[brighttext] #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar-inverted@2x.png"); + } + + #back-button { + -moz-image-region: rect(0, 72px, 36px, 36px); + } + + #forward-button { + -moz-image-region: rect(0, 144px, 36px, 108px); + } + + #home-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 252px, 36px, 216px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 288px, 36px, 252px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"][starred] { + -moz-image-region: rect(0, 324px, 36px, 288px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + -moz-image-region: rect(0px, 1260px, 36px, 1224px); + } + + #history-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 360px, 36px, 324px); + } + + #downloads-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 396px, 36px, 360px); + } + + #add-ons-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 432px, 36px, 396px); + } + + #open-file-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 468px, 36px, 432px); + } + + #save-page-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 504px, 36px, 468px); + } + + #sync-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1584px, 36px, 1548px); + } + + #containers-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1620px, 36px, 1584px); + } + + #feed-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 576px, 36px, 540px); + } + + #social-share-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 612px, 36px, 576px); + } + + #characterencoding-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 648px, 36px, 612px); + } + + #new-window-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button > .toolbarbutton-icon { + transform: scaleY(-1); + } + + #new-tab-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 720px, 36px, 684px); + } + + #privatebrowsing-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 756px, 36px, 720px); + } + + #find-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 792px, 36px, 756px); + } + + #print-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 828px, 36px, 792px); + } + + #fullscreen-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 864px, 36px, 828px); + } + + #developer-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 900px, 36px, 864px); + } + + #preferences-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 936px, 36px, 900px); + } + + #PanelUI-menu-button { + -moz-image-region: rect(0, 972px, 36px, 936px); + } + + #edit-controls[cui-areatype="toolbar"] > #cut-button { + -moz-image-region: rect(0, 1008px, 36px, 972px); + } + + #edit-controls[cui-areatype="toolbar"] > #copy-button { + -moz-image-region: rect(0, 1044px, 36px, 1008px); + } + + #edit-controls[cui-areatype="toolbar"] > #paste-button { + -moz-image-region: rect(0, 1080px, 36px, 1044px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-out-button { + -moz-image-region: rect(0, 1116px, 36px, 1080px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-in-button { + -moz-image-region: rect(0, 1152px, 36px, 1116px); + } + + #nav-bar-overflow-button { + -moz-image-region: rect(0, 1224px, 36px, 1188px); + } + + #email-link-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1332px, 36px, 1296px); + } + + #sidebar-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1368px, 36px, 1332px); + } + + #panic-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1404px, 36px, 1368px); + } + + #panic-button[cui-areatype="toolbar"][open] { + -moz-image-region: rect(36px, 1404px, 72px, 1368px); + } + + #webide-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1476px, 36px, 1440px); + } +} +*/ /* Menu panel and palette styles */ :root { --menupanel-list-style-image: url(chrome://browser/skin/menuPanel.png); @@ -1132,7 +1297,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { /* Fullscreen window controls */ #window-controls { -moz-box-align: start; - -moz-margin-start: 10px; } + margin-inline-start: 10px; } #close-button, #restore-button, #minimize-button { padding: 2px 4px; @@ -1205,7 +1370,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #urlbar-wrapper[switchingtabs] > #urlbar > .urlbar-textbox-container > .urlbar-history-dropmarker { transition: none; } -#navigator-toolbox:not(:hover) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { +#navigator-toolbox:not(:hover) #nav-bar:not([customizing="true"]) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { opacity: 0; } #urlbar-container { @@ -1245,9 +1410,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #urlbar-display-box { margin-top: -1px; - margin-bottom: -1px; - border-inline-end: 1px solid #AAA; - margin-inline-end: 3px; } + margin-bottom: -1px; } .urlbar-display { margin-top: 0; @@ -1345,19 +1508,23 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { padding-inline-start: 9px; border-radius: 0; } -window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box { - border-radius: 0; } - /* MAIN IDENTITY ICON */ #identity-icon { width: 16px; height: 16px; list-style-image: url(chrome://browser/skin/identity-icon.svg#normal); } -#identity-box:hover > #identity-icon, +#identity-box:hover > #identity-icon:not(.no-hover), #identity-box[open=true] > #identity-icon { list-style-image: url(chrome://browser/skin/identity-icon.svg#hover); } +#identity-box.grantedPermissions > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice); } + +#identity-box.grantedPermissions:hover > #identity-icon:not(.no-hover), +#identity-box.grantedPermissions[open=true] > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice-hover); } + #urlbar[pageproxystate="valid"] > #identity-box.chromeUI > #identity-icon { list-style-image: url(chrome://branding/content/identity-icons-brand.svg); } @@ -1404,10 +1571,15 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box visibility: collapse; } #urlbar[pageproxystate="valid"] > #identity-box.verifiedDomain > #connection-icon, -#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon { +#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon, +#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { list-style-image: url(chrome://browser/skin/identity-secure.svg); visibility: visible; } +#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { + list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); + visibility: visible; } + #urlbar[pageproxystate="valid"] > #identity-box.insecureLoginForms > #connection-icon, #urlbar[pageproxystate="valid"] > #identity-box.mixedActiveContent > #connection-icon { list-style-image: url(chrome://browser/skin/identity-mixed-active-loaded.svg); @@ -1419,149 +1591,206 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); visibility: visible; } -#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-active-blocked.svg); - visibility: visible; } +#notification-popup-box { + padding: 5px 0px; + margin: -5px 0px; + margin-inline-end: -5px; + padding-inline-end: 5px; } -#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); - visibility: visible; } +/* This class can be used alone or in combination with the class defining the + type of icon displayed. This rule must be defined before the others in order + for its list-style-image to be overridden. */ +.notification-anchor-icon { + width: 16px; + height: 16px; + margin-inline-start: 2px; + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); } +@media (min-resolution: 1.1dppx) { + .notification-anchor-icon { + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); } } .popup-notification-icon { width: 64px; height: 64px; margin-inline-end: 10px; } -.popup-notification-icon[popupid="geolocation"] { - list-style-image: url(chrome://browser/skin/Geolocation-64.png); } +#notification-popup-box > .notification-anchor-icon:not(.in-use):hover { + fill: #606060; } -.popup-notification-icon[popupid="xpinstall-disabled"], -.popup-notification-icon[popupid="addon-install-blocked"], -.popup-notification-icon[popupid="addon-install-origin-blocked"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); } +/* INDIVIDUAL NOTIFICATIONS */ +/* For the moment we apply the color filter only on the icons listed here. + The first two selectors are used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.camera-icon, +.geo-icon, +.indexedDB-icon, +.install-icon, +.login-icon, +.microphone-icon, +.plugin-icon, +.pointerLock-icon, +.popup-icon, +.screen-icon, +.desktop-notification-icon, +.popup-notification-icon[popupid="geolocation"], +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.popup-notification-icon[popupid="password"], +.popup-notification-icon[popupid="pointerLock"], +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-shareScreen"], +.popup-notification-icon[popupid="webRTC-sharingDevices"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingScreen"], +.popup-notification-icon[popupid="web-notifications"] { + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #999; } -.popup-notification-icon[popupid="addon-progress"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); } +/* The first two selectors are used by socialchat.xml (bug 1275558). The + notifications in the chat window are only shown when they are in use. */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.in-use { + fill: #fea01b; } -.popup-notification-icon[popupid="addon-install-failed"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); } +.popup-notification-icon[popupid="web-notifications"], +.desktop-notification-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification); } -.popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); } +.desktop-notification-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification-blocked); } -#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); } +.geo-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux); } -.popup-notification-icon[popupid="addon-install-complete"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); } +.geo-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-blocked); } -.popup-notification-icon[popupid="addon-install-restart"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); } +.popup-notification-icon[popupid="geolocation"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-detailed); } -.popup-notification-icon[popupid="click-to-play-plugins"] { - list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); } +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.indexedDB-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB); } -.popup-notification-icon[popupid="web-notifications"] { - list-style-image: url(chrome://browser/skin/web-notifications-icon.svg); } +.indexedDB-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB-blocked); } -.popup-notification-icon[popupid="indexedDB-permissions-prompt"], -.popup-notification-icon[popupid*="offline-app-requested"], -.popup-notification-icon[popupid="offline-app-usage"] { - list-style-image: url(chrome://global/skin/icons/question-64.png); } +.login-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#login); } .popup-notification-icon[popupid="password"] { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-64.png); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#login-detailed); } -.popup-notification-icon[popupid="webRTC-sharingDevices"], -.popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64.png); } +#login-fill-notification-icon { + /* Temporary solution until the capture and fill doorhangers are unified. */ + transform: scaleX(-1); } -.popup-notification-icon[popupid="webRTC-sharingMicrophone"], -.popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64.png); } +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.camera-icon, +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-sharingDevices"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera); } + +.camera-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera-blocked); } +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingMicrophone-notification-icon, +.microphone-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone); } + +.microphone-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-blocked); } + +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-detailed); } + +.popup-notification-icon[popupid="webRTC-shareScreen"], .popup-notification-icon[popupid="webRTC-sharingScreen"], -.popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64.png); } +.screen-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen); } -.popup-notification-icon[popupid="pointerLock"] { - list-style-image: url(chrome://browser/skin/pointerLock-64.png); } +.screen-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen-blocked); } -.popup-notification-icon[popupid="servicesInstall"] { - list-style-image: url(chrome://browser/skin/social/services-64.png); } +.popup-notification-icon[popupid="pointerLock"], +.pointerLock-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock); } -/* Notification icon box */ -#notification-popup-box { - position: relative; - background-color: transparent; - background-clip: padding-box; - padding-left: 5px; - padding-right: 8px; - border-width: 0 1px 0 0; - border-style: solid; - border-color: rgba(207, 214, 230, 0.5); } +.pointerLock-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock-blocked); } -/* This changes the direction of the main notification box on the url bar. */ -#notification-popup-box:-moz-locale-dir(rtl), -.notification-anchor-icon:-moz-locale-dir(rtl) { - transform: scaleX(-1); } +/* This icon has a block sign in it, so we don't need a blocked version. */ +.popup-icon { + list-style-image: url("chrome://browser/skin/notification-icons.svg#popup"); } -/* For the anchor icons in the chat window, we don't have the notification popup box, - so we need to cancel the RTL transform. */ -.notification-anchor-icon.chat-toolbarbutton:-moz-locale-dir(rtl) { - transform: none; } +/* EME */ +.popup-notification-icon[popupid="drmContentPlaying"], +.drm-icon { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); } -/* This class can be used alone or in combination with the class defining the - type of icon displayed. This rule must be defined before the others in order - for its list-style-image to be overridden. */ -.notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); - width: 16px; - height: 16px; - margin: 0 2px; } +.drm-icon:hover:active { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); } -@media (min-resolution: 1.1dppx) { - .notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); } } -.geo-icon { - list-style-image: url(chrome://browser/skin/Geolocation-16.png); } +#eme-notification-icon[firstplay=true] { + animation: emeTeachingMoment 0.2s linear 0s 5 normal; } +@keyframes emeTeachingMoment { + 0% { + transform: translateX(0); } + 25% { + transform: translateX(3px); } + 75% { + transform: translateX(-3px); } + 100% { + transform: translateX(0); } } +/* INSTALL ADDONS */ .install-icon { list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#default); } -.install-icon:hover { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#hover); } +.popup-notification-icon[popupid="xpinstall-disabled"], +.popup-notification-icon[popupid="addon-install-blocked"], +.popup-notification-icon[popupid="addon-install-origin-blocked"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); } -.install-icon:hover:active { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#active); } +.popup-notification-icon[popupid="addon-progress"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); } -.indexedDB-icon { - list-style-image: url(chrome://global/skin/icons/question-16.png); } +.popup-notification-icon[popupid="addon-install-failed"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); } -.login-icon { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-16.png); } +.popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); } -#login-fill-notification-icon { - /* Temporary solution until the capture and fill doorhangers are unified. */ - transform: scaleX(-1); } +#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); } -.plugin-icon { - list-style-image: url(chrome://browser/skin/notification-pluginNormal.png); } +.popup-notification-icon[popupid="addon-install-complete"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); } -.plugin-icon.plugin-hidden { - list-style-image: url(chrome://browser/skin/notification-pluginAlert.png); } +.popup-notification-icon[popupid="addon-install-restart"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); } -.plugin-icon.plugin-blocked { - list-style-image: url(chrome://browser/skin/notification-pluginBlocked.png); } +.popup-notification-icon[popupid="click-to-play-plugins"] { + list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); } -.plugin-icon { - -moz-image-region: rect(0, 16px, 16px, 0); } +/* OFFLINE APPS */ +.popup-notification-icon[popupid*="offline-app-requested"], +.popup-notification-icon[popupid="offline-app-usage"] { + list-style-image: url(chrome://global/skin/icons/question-64.png); } -.plugin-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); } +/* PLUGINS */ +.plugin-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); } -.plugin-icon:active { - -moz-image-region: rect(0, 48px, 16px, 32px); } +.plugin-icon.plugin-blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + fill: #d92215 !important; + /* important! to override the default hover color */ } #notification-popup-box[hidden] { /* Override display:none to make the pluginBlockedNotification animation work @@ -1577,44 +1806,14 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box opacity: 0; } to { opacity: 1; } } -.camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16.png); } - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingDevices-notification-icon, -.camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16.png); } - -.microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16.png); } - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingMicrophone-notification-icon, -.microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16.png); } - -.screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16.png); } - -.screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16.png); } - -.web-notifications-icon { - list-style-image: url(chrome://browser/skin/web-notifications-tray.svg); - -moz-image-region: rect(0, 16px, 16px, 0); } - -.web-notifications-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); } - -.web-notifications-icon:hover:active { - -moz-image-region: rect(0, 48px, 16px, 32px); } - -.pointer-icon { - list-style-image: url(chrome://browser/skin/pointerLock-16.png); } +/* SOCIAL API */ +.popup-notification-icon[popupid="servicesInstall"] { + list-style-image: url(chrome://browser/skin/social/services-64.png); } .service-icon { list-style-image: url(chrome://browser/skin/social/services-16.png); } +/* TRANSLATION */ .translation-icon { list-style-image: url(chrome://browser/skin/translation-16.png); -moz-image-region: rect(0px, 16px, 16px, 0px); } @@ -1622,57 +1821,6 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box .translation-icon.in-use { -moz-image-region: rect(0px, 32px, 16px, 16px); } -/* EME notifications */ -.popup-notification-icon[popupid="drmContentPlaying"], -.drm-icon { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); } - -.drm-icon:hover:active { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); } - -#eme-notification-icon[firstplay=true] { - animation: emeTeachingMoment 0.2s linear 0s 5 normal; } - -@keyframes emeTeachingMoment { - 0% { - transform: translateX(0); } - 25% { - transform: translateX(3px); } - 75% { - transform: translateX(-3px); } - 100% { - transform: translateX(0); } } -/* HiDPI notification icons */ -@media (min-resolution: 1.1dppx) { - .camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16@2x.png); } - - .camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16@2x.png); } - - .microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16@2x.png); } - - .microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16@2x.png); } - - .screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16@2x.png); } - - .screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingDevices"], - .popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingMicrophone"], - .popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingScreen"], - .popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64@2x.png); } } .popup-notification-body[popupid="addon-progress"], .popup-notification-body[popupid="addon-install-confirmation"] { width: 28em; @@ -1682,15 +1830,9 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box font-weight: bold; } /* Notification icon box */ -#notification-popup-box { - border-radius: 2.5px 0 0 2.5px; } - .notification-anchor-icon:-moz-focusring { outline: 1px dotted -moz-DialogText; } -.indexedDB-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-question?size=16); } - /* Translation infobar */ notification[value="translation"] .messageImage { list-style-image: url(chrome://browser/skin/translation-16.png); @@ -2231,11 +2373,13 @@ html|span.ac-emphasize-text-url { .tab-throbber, .tab-icon-image, +.tab-sharing-icon-overlay, .tab-icon-sound, .tab-close-button { margin-top: 1px; } .tab-throbber, +.tab-sharing-icon-overlay, .tab-icon-image { height: 16px; width: 16px; @@ -2244,6 +2388,36 @@ html|span.ac-emphasize-text-url { .tab-icon-image { list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png"); } +.tab-icon-image[sharing]:not([selected]), +.tab-sharing-icon-overlay { + animation: 3s linear pulse infinite; } + +@keyframes pulse { + 0%, 16.66%, 83.33%, 100% { + opacity: 0; } + 33.33%, 66.66% { + opacity: 1; } } +.tab-icon-image[sharing]:not([selected]) { + animation-delay: -1.5s; } + +.tab-sharing-icon-overlay { + /* 16px of the icon + 6px of margin-inline-end of .tab-icon-image */ + margin-inline-start: -22px; + position: relative; } + +.tab-sharing-icon-overlay[sharing="camera"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#camera"); } + +.tab-sharing-icon-overlay[sharing="microphone"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#microphone"); } + +.tab-sharing-icon-overlay[sharing="screen"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#screen"); } + +.tab-sharing-icon-overlay[sharing] { + filter: url("chrome://browser/skin/filters.svg#fill"); + fill: #e0291d; } + .tab-icon-overlay { width: 16px; height: 16px; @@ -2570,7 +2744,7 @@ lwtHeader;*/ /* Tabstrip new tab button */ .tabs-newtab-button, #TabsToolbar > #new-tab-button, -#TabsToolbar > #wrapper-new-tab-button > #new-tab-button { +#TabsToolbar > toolbarpaletteitem > #new-tab-button { list-style-image: url("moz-icon://stock/gtk-add?size=menu"); -moz-image-region: auto; } @@ -2652,7 +2826,7 @@ menuitem:hover > hbox > .alltabs-endimage[soundplaying] { toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron.gif") !important; } -toolbar[brighttext] toolbarbutton.chevron:not(:hover):not([open="true"]) { +toolbar[brighttext] toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron-inverted.png") !important; } toolbarbutton.chevron:-moz-locale-dir(rtl) > .toolbarbutton-icon { @@ -2666,15 +2840,14 @@ toolbarbutton.chevron > .toolbarbutton-icon { margin: 0; } /* Ctrl-Tab */ -.ctrlTab-preview { - -moz-appearance: toolbarbutton; } - -.tabPreview-canvas { - box-shadow: 0 0 5px ThreeDShadow; } - -.ctrlTab-preview:focus .tabPreview-canvas, -.ctrlTab-preview:hover .tabPreview-canvas { - box-shadow: none; } +#ctrlTab-panel { + -moz-appearance: none; + background: rgba(68, 68, 68, 0.7); + color: white; + border-style: none; + padding: 20px 10px 10px; + font-weight: bold; + text-shadow: 0 0 1px #444444, 0 0 2px #444444; } .ctrlTab-favicon[src] { background-color: white; @@ -2682,17 +2855,33 @@ toolbarbutton.chevron > .toolbarbutton-icon { height: 20px; padding: 2px; } -#ctrlTab-panel { - padding: 10px; } +.ctrlTab-preview-inner > .tabPreview-canvas { + box-shadow: 1px 1px 2px #1f1f1f; } -.ctrlTab-preview:not(#ctrlTab-showAll) .tabPreview-canvas { +.ctrlTab-preview:not(#ctrlTab-showAll) > * > .ctrlTab-preview-inner > .tabPreview-canvas { margin-bottom: 2px; } +.ctrlTab-preview-inner { + padding-bottom: 10px; } + +#ctrlTab-showAll:not(:focus) > * > .ctrlTab-preview-inner { + padding: 10px; + background-color: rgba(255, 255, 255, 0.2); + border-radius: .5em; } + +.ctrlTab-preview:focus > * > .ctrlTab-preview-inner { + color: white; + background-color: rgba(0, 0, 0, 0.6); + text-shadow: none; + padding: 8px; + border: 2px solid white; + border-radius: .5em; } + +.ctrlTab-preview:not(#ctrlTab-showAll):focus > * > .ctrlTab-preview-inner { + margin: -10px -10px 0; } + #ctrlTab-showAll { - -moz-appearance: button; - color: ButtonText; - padding: 0 3px; - margin-top: 10px; } + margin-top: .5em; } /* Status panel */ .statuspanel-label { @@ -2716,7 +2905,7 @@ toolbarbutton.chevron > .toolbarbutton-icon { border-top-left-radius: .3em; margin-left: 1em; } -html|*#fullscreen-warning { +html|*.pointerlockfswarning { align-items: center; color: #BAC3CF; background: rgba(53, 57, 69, 0.95); @@ -2726,30 +2915,30 @@ html|*#fullscreen-warning { padding: 24px 16px; font: message-box; } -html|*#fullscreen-warning::before { +html|*.pointerlockfswarning::before { margin: 0; width: 24px; height: 24px; } -html|*#fullscreen-warning.verifiedIdentity::before, -html|*#fullscreen-warning.verifiedDomain::before { +html|*.pointerlockfswarning[data-identity="verifiedIdentity"]::before, +html|*.pointerlockfswarning[data-identity="verifiedDomain"]::before { content: url("chrome://browser/skin/fullscreen/secure.svg"); } -html|*#fullscreen-warning.unknownIdentity::before { +html|*.pointerlockfswarning[data-identity="unknownIdentity"]::before { content: url("chrome://browser/skin/fullscreen/insecure.svg"); } -html|*#fullscreen-domain-text, -html|*#fullscreen-generic-text { +html|*.pointerlockfswarning-domain-text, +html|*.pointerlockfswarning-generic-text { font-size: 21px; font-weight: lighter; color: #fafafa; margin: 0 16px; } -html|*#fullscreen-domain { +html|*.pointerlockfswarning-domain { font-weight: bold; margin: 0; } -html|*#fullscreen-exit-button { +html|*.pointerlockfswarning-exit-button { padding: 5px 30px; font: message-box; font-size: 14px; @@ -2762,11 +2951,11 @@ html|*#fullscreen-exit-button { color: #BAC3CF; border-color: rgba(26, 28, 34, 0.35); background-color: rgba(102, 109, 132, 0.35); } - html|*#fullscreen-exit-button:hover { + html|*.pointerlockfswarning-exit-button:hover { color: #BAC3CF; border-color: rgba(26, 28, 34, 0.35); background-color: rgba(119, 127, 151, 0.45); } - html|*#fullscreen-exit-button:active, html|*#fullscreen-exit-button:checked { + html|*.pointerlockfswarning-exit-button:active, html|*.pointerlockfswarning-exit-button:checked { color: #ffffff; border-color: rgba(26, 28, 34, 0.35); background-color: #5294E2; } @@ -2907,6 +3096,9 @@ html|*#fullscreen-exit-button { .devtools-responsiveui-close { list-style-image: url("chrome://devtools/skin/images/close.svg"); } +.devtools-responsiveui-close > image { + filter: invert(1); } + .devtools-responsiveui-rotate { list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-rotate.png"); } @@ -3278,8 +3470,9 @@ html|*#gcli-output-frame { margin: 0; } .messageImage[value="plugin-hidden"] { - list-style-image: url("chrome://browser/skin/notification-pluginNormal.png"); - -moz-image-region: rect(0, 16px, 16px, 0); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #808080; } /* Keep any changes to this style in sync with pluginProblem.css */ notification.pluginVulnerable { @@ -3288,7 +3481,9 @@ notification.pluginVulnerable { color: white; } notification.pluginVulnerable .messageImage { - list-style-image: url("chrome://browser/skin/notification-pluginBlocked.png"); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #d92215; } notification.pluginVulnerable > .notification-inner > .messageCloseButton:not(:hover) { background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 80, 16, 64); } @@ -3545,19 +3740,6 @@ toolbar[brighttext] #downloads-indicator-counter { border-radius: 1px; margin-inline-end: 2px; } -/* Social toolbar item */ -.social-activation-icon { - width: auto; - height: auto; - max-height: 64px; - max-width: 64px; } - -#social-activation-message { - max-width: 250px; } - -#social-activation-message > label { - margin: 0; } - /* social toolbar provider menu */ #social-statusarea-popup { margin-top: 0; @@ -3771,6 +3953,9 @@ window > chatbox { * 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/. */ /* Customization mode */ +:root { + --drag-drop-transition-duration: .3s; } + #main-window:-moz-any([customize-entering], [customize-entered]) #browser-bottombox { margin-bottom: 2em; } @@ -3843,7 +4028,7 @@ window > chatbox { #customization-palette, #customization-empty { - padding: 0 25px 25px; } + padding: 5px 25px 25px; } #customization-header { font-size: 1.75em; @@ -3938,7 +4123,7 @@ toolbarpaletteitem[mousedown] { .panel-customization-placeholder, toolbarpaletteitem[place="palette"], toolbarpaletteitem[place="panel"] { - transition: transform .3s ease-in-out; } + transition: transform var(--drag-drop-transition-duration) ease-in-out; } #customization-palette { transition: opacity .3s ease-in-out; @@ -3947,6 +4132,9 @@ toolbarpaletteitem[place="panel"] { #customization-palette[showing="true"] { opacity: 1; } +toolbarpaletteitem toolbarbutton[disabled] { + color: inherit !important; } + toolbarpaletteitem[notransition].panel-customization-placeholder, toolbarpaletteitem[notransition][place="toolbar"], toolbarpaletteitem[notransition][place="palette"], @@ -3957,7 +4145,7 @@ toolbarpaletteitem > toolbarbutton > .toolbarbutton-icon, toolbarpaletteitem > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon, toolbarpaletteitem > toolbaritem.panel-wide-item, toolbarpaletteitem > toolbarbutton[type="menu-button"] { - transition: transform 0.3s cubic-bezier(0.6, 2, 0.75, 1.5) !important; } + transition: transform var(--drag-drop-transition-duration) cubic-bezier(0.6, 2, 0.75, 1.5) !important; } toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-icon, toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon { @@ -3980,10 +4168,19 @@ toolbarpaletteitem[place="toolbar"] { toolbarpaletteitem[place="palette"]:-moz-focusring, toolbarpaletteitem[place="panel"]:-moz-focusring, toolbarpaletteitem[place="toolbar"]:-moz-focusring { + outline-width: 0; } + +toolbarpaletteitem[place="palette"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="panel"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + /* Delay adding the focusring back until after the transform transition completes. */ + transition: outline-width 0.01s linear var(--drag-drop-transition-duration); outline: 1px dotted rgba(0, 0, 0, 0.5); - outline-offset: -5px; -moz-outline-radius: 2.5px; } +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + outline-offset: -5px; } + #wrapper-edit-controls[place="palette"] > #edit-controls > toolbarbutton, #wrapper-edit-controls[place="palette"] > #edit-controls > separator, #wrapper-zoom-controls[place="palette"] > #zoom-controls > toolbarbutton, @@ -4553,7 +4750,7 @@ notification.heartbeat { .webextension-popup-browser { border-radius: inherit; } -.menuitem-iconic[command="Browser:NewUserContextTab"] > .menu-iconic-left > .menu-iconic-icon { +.menuitem-iconic[usercontextid] > .menu-iconic-left > .menu-iconic-icon { visibility: visible; } #nav-bar #loop-button, #nav-bar diff --git a/arc-firefox-theme/chrome/browser/controlcenter/panel.css b/arc-firefox-theme/chrome/browser/controlcenter/panel.css index 58942fe..dc7c522 100644 --- a/arc-firefox-theme/chrome/browser/controlcenter/panel.css +++ b/arc-firefox-theme/chrome/browser/controlcenter/panel.css @@ -348,8 +348,21 @@ description#identity-popup-content-verifier, background-image: url(chrome://browser/skin/controlcenter/permissions.svg); } -#identity-popup-permission-list menulist { - min-width: 60px; +#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) { @@ -360,11 +373,59 @@ description#identity-popup-content-verifier, display: none; } +.identity-popup-permission-icon { + width: 16px; + height: 16px; +} + .identity-popup-permission-label { - margin-inline-start: 0; - word-wrap: break-word; + margin-inline-start: 1em; +} + +.identity-popup-permission-state-label { + text-align: end; + opacity: 0.6; +} + +.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: #999; +} + +.identity-popup-permission-remove-button > .button-box > .button-text { + display: none; +} + +.identity-popup-permission-remove-button:not(:-moz-focusring):hover { + background-color: #999; +} + +.identity-popup-permission-remove-button:not(:-moz-focusring):hover > .button-box > .button-icon { + fill: #fff; +} + +.identity-popup-permission-remove-button:not(:-moz-focusring):hover:active { + background-color: #808080; +} .identity-popup-expander:-moz-focusring { padding: 1px; diff --git a/arc-firefox-theme/chrome/browser/customizableui/panelUIOverlay.css b/arc-firefox-theme/chrome/browser/customizableui/panelUI.css index d24d47e..ef775e0 100644 --- a/arc-firefox-theme/chrome/browser/customizableui/panelUIOverlay.css +++ b/arc-firefox-theme/chrome/browser/customizableui/panelUI.css @@ -265,6 +265,10 @@ panelmultiview[nosubviews=true] > .panel-viewcontainer > .panel-viewstack > .pan padding: 0; } +panelview[id^=PanelUI-webext-] { + overflow: hidden; +} + panelview:not([mainview]) .toolbarbutton-text, .cui-widget-panel toolbarbutton > .toolbarbutton-text { text-align: start; @@ -514,7 +518,7 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton { margin: 0; } -#main-window[customizing] #PanelUI-footer-fxa > toolbarseparator { +#main-window[customizing] #PanelUI-footer-fxa { display: none; } @@ -786,7 +790,7 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton { display: none; } -#PanelUI-fxa-icon[syncstatus="active"] { +#PanelUI-fxa-icon[syncstatus="active"]:not([disabled]) { list-style-image: url(chrome://browser/skin/syncProgress-horizontalbar.png); } @@ -830,12 +834,8 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton { display: none; } -#PanelUI-fxa-avatar[disabled], +#PanelUI-fxa-status[disabled], #PanelUI-fxa-icon[disabled] { - display: none; -} - -#PanelUI-fxa-status[disabled] { pointer-events: none; } @@ -874,7 +874,11 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton { } #PanelUI-help[disabled], -#PanelUI-quit[disabled] { +#PanelUI-quit[disabled], +#PanelUI-fxa-icon[disabled], +#PanelUI-fxa-avatar[disabled], +#PanelUI-fxa-label[disabled] > .toolbarbutton-icon, +#PanelUI-fxa-status::after { opacity: 0.4; } @@ -1655,7 +1659,7 @@ menuitem[checked="true"].subviewbutton > .menu-iconic-left { list-style-image: url(chrome://browser/skin/sync-horizontalbar@2x.png); } - #PanelUI-fxa-icon[syncstatus="active"] { + #PanelUI-fxa-icon[syncstatus="active"]:not([disabled]) { list-style-image: url(chrome://browser/skin/syncProgress-horizontalbar@2x.png); } diff --git a/arc-firefox-theme/chrome/browser/devedition.css b/arc-firefox-theme/chrome/browser/devedition.css index 6bc7d37..bc9aed1 100644 --- a/arc-firefox-theme/chrome/browser/devedition.css +++ b/arc-firefox-theme/chrome/browser/devedition.css @@ -59,8 +59,6 @@ :root[devtoolstheme="dark"] #identity-box { --identity-box-chrome-color: #46afe3; --identity-box-verified-background-color: transparent; - --identity-box-hover-background-color: rgba(231,230,230,.2); - --identity-box-selected-background-color: rgba(211,210,210,.2); } :root[devtoolstheme="light"] { @@ -150,7 +148,7 @@ color: var(--chrome-color); } -#navigator-toolbox::after { +#navigator-toolbox:-moz-lwtheme::after { background: var(--chrome-navigator-toolbox-separator-color); } @@ -207,23 +205,6 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper { margin-inline-start: 0; } -/* Swap out the white arrow with a dark one for the dark theme */ -:root[devtoolstheme="dark"] #notification-popup-box { - border-image: url("chrome://browser/skin/devedition/urlbar-arrow.png") 0 8 0 0 fill; -} - -@media (min-resolution: 1.1dppx) { - :root[devtoolstheme="dark"] #notification-popup-box { - border-image: url("chrome://browser/skin/devedition/urlbar-arrow@2x.png") 0 16 0 0 fill; - } -} - -/* The (white) notification box background color should match the theme */ -#notification-popup-box { - border-radius: 0; - background-color: var(--url-and-searchbar-background-color); -} - /* Nav bar specific stuff */ #nav-bar { margin-top: 0 !important; @@ -245,6 +226,12 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper { -moz-image-region: rect(0, 54px, 18px, 36px); } +@media (min-resolution: 1.1dppx) { + #back-button { + -moz-image-region: rect(0, 108px, 36px, 72px); + } +} + .tab-background { visibility: hidden; } diff --git a/arc-firefox-theme/chrome/browser/devedition/urlbar-arrow.png b/arc-firefox-theme/chrome/browser/devedition/urlbar-arrow.png Binary files differdeleted file mode 100644 index c14afc7..0000000 --- a/arc-firefox-theme/chrome/browser/devedition/urlbar-arrow.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/devedition/urlbar-arrow@2x.png b/arc-firefox-theme/chrome/browser/devedition/urlbar-arrow@2x.png Binary files differdeleted file mode 100644 index e6867a4..0000000 --- a/arc-firefox-theme/chrome/browser/devedition/urlbar-arrow@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/downloads/allDownloadsViewOverlay.css b/arc-firefox-theme/chrome/browser/downloads/allDownloadsViewOverlay.css index c9af0bf..9d1a568 100644 --- a/arc-firefox-theme/chrome/browser/downloads/allDownloadsViewOverlay.css +++ b/arc-firefox-theme/chrome/browser/downloads/allDownloadsViewOverlay.css @@ -27,14 +27,30 @@ } .downloadTypeIcon { - margin-inline-end: 8px; + margin-top: 8px; + margin-inline-end: 12px; + margin-bottom: 8px; + margin-inline-start: 0; width: 32px; height: 32px; } -.blockedIcon { - list-style-image: url("chrome://global/skin/icons/Error.png"); +.downloadBlockedBadge { + margin: 0 4px; + background: url("chrome://browser/skin/downloads/download-blocked.svg") top right / 16px no-repeat; +} + +.downloadBlockedBadge:-moz-locale-dir(rtl) { + background-position-x: left; +} + +richlistitem.download[verdict="PotentiallyUnwanted"] .downloadBlockedBadge { + background-image: url("chrome://browser/skin/warning.svg"); +} + +richlistitem.download[verdict="Uncommon"] .downloadBlockedBadge { + background-image: url("chrome://browser/skin/info.svg"); } .downloadTarget { @@ -65,18 +81,6 @@ --downloads-item-height: 5em; } -.blockedIcon { - list-style-image: url("moz-icon://stock/gtk-dialog-error?size=32"); -} - -richlistitem.download[verdict="PotentiallyUnwanted"] .blockedIcon { - list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=32"); -} - -richlistitem.download[verdict="Uncommon"] .blockedIcon { - list-style-image: url("moz-icon://stock/gtk-dialog-info?size=32"); -} - /*** Button icons ***/ .downloadButton.downloadIconCancel { diff --git a/arc-firefox-theme/chrome/browser/downloads/buttons.png b/arc-firefox-theme/chrome/browser/downloads/buttons.png Binary files differindex 071f7f7..0c91695 100644 --- a/arc-firefox-theme/chrome/browser/downloads/buttons.png +++ b/arc-firefox-theme/chrome/browser/downloads/buttons.png diff --git a/arc-firefox-theme/chrome/browser/downloads/download-blocked.svg b/arc-firefox-theme/chrome/browser/downloads/download-blocked.svg new file mode 100644 index 0000000..e73efe9 --- /dev/null +++ b/arc-firefox-theme/chrome/browser/downloads/download-blocked.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- 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" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16"> + <style> + circle { + fill: #D92215; + } + rect { + fill: #fff; + } + </style> + + <circle cx="8" cy="8" r="8" /> + <rect x="3" y="6" width="10" height="4" rx=".5" ry=".5" /> +</svg> diff --git a/arc-firefox-theme/chrome/browser/downloads/downloads.css b/arc-firefox-theme/chrome/browser/downloads/downloads.css index b08d909..0ab69eb 100644 --- a/arc-firefox-theme/chrome/browser/downloads/downloads.css +++ b/arc-firefox-theme/chrome/browser/downloads/downloads.css @@ -11,6 +11,12 @@ /*** Panel and outer controls ***/ #downloadsPanel > .panel-arrowcontainer > .panel-arrowcontent { + overflow: hidden; + display: block; +} + +#downloadsPanel > .panel-arrowcontainer > .panel-arrowcontent, +#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack > .panel-subviews { padding: 0; } @@ -20,21 +26,61 @@ color: inherit; } -#downloadsPanel:not([hasdownloads]) > #downloadsListBox { - display: none; +#emptyDownloads { + padding: 10px 20px; + /* The panel can be wider than this description after the blocked subview is + shown, so center the text. */ + text-align: center; } -#downloadsPanel[hasdownloads] > #emptyDownloads { - display: none; +.downloadsPanelFooter { + background-color: hsla(210,4%,10%,.07); + border-top: 1px solid hsla(210,4%,10%,.14); } -#emptyDownloads { - padding: 10px 20px; - max-width: 40ch; +.downloadsPanelFooter > toolbarseparator { + margin: 0; + border: 0; + min-width: 0; + border-left: 1px solid hsla(210,4%,10%,.14); + -moz-appearance: none !important; +} + +.downloadsPanelFooterButton { + -moz-appearance: none; + background-color: transparent; + color: inherit; + margin: 0; + padding: 0; + min-height: 40px; +} + +.downloadsPanelFooterButton:hover { + outline: 1px solid hsla(210,4%,10%,.07); + background-color: hsla(210,4%,10%,.07); +} + +.downloadsPanelFooterButton:hover:active { + outline: 1px solid hsla(210,4%,10%,.12); + background-color: hsla(210,4%,10%,.12); + box-shadow: 0 1px 0 hsla(210,4%,10%,.05) inset; +} + +.downloadsPanelFooterButton[default] { + background-color: #0996f8; + color: white; +} + +.downloadsPanelFooterButton[default]:hover { + background-color: #0675d3; +} + +.downloadsPanelFooterButton[default]:hover:active { + background-color: #0568ba; } #downloadsSummary { - padding: 8px 38px 8px 12px; + padding: 0 12px; cursor: pointer; -moz-user-focus: normal; } @@ -48,15 +94,6 @@ color: -moz-nativehyperlinktext; } -#downloadsHistory { - background: transparent; - cursor: pointer; -} - -#downloadsHistory > .button-box { - margin: 1em; -} - /*** List items and similar elements in the summary ***/ #downloadsSummary, @@ -83,14 +120,29 @@ richlistitem[type="download"]:last-child { } .downloadTypeIcon { - margin-inline-end: 8px; - /* Prevent flickering when changing states. */ - height: 32px; + margin-top: 8px; + margin-inline-end: 12px; + margin-bottom: 8px; + margin-inline-start: 0; width: 32px; + height: 32px; +} + +.downloadBlockedBadge { + margin: 0 4px; + background: url("chrome://browser/skin/downloads/download-blocked.svg") top right / 16px no-repeat; +} + +.downloadBlockedBadge:-moz-locale-dir(rtl) { + background-position-x: left; +} + +richlistitem[type="download"][verdict="PotentiallyUnwanted"] .downloadBlockedBadge { + background-image: url("chrome://browser/skin/warning.svg"); } -.blockedIcon { - list-style-image: url("chrome://global/skin/icons/Error.png"); +richlistitem[type="download"][verdict="Uncommon"] .downloadBlockedBadge { + background-image: url("chrome://browser/skin/info.svg"); } /* We hold .downloadTarget, .downloadProgress and .downloadDetails inside of @@ -144,23 +196,65 @@ richlistitem[type="download"]:last-child { padding: 0; } -/*** Panel and outer controls ***/ -#downloadsFooter { - border-top: 1px solid ThreeDShadow; - background-image: linear-gradient(hsla(0,0%,0%,.15), hsla(0,0%,0%,.08) 6px); +/*** Blocked subview ***/ + +#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack[viewtype=main] > .panel-subviews { + /* When the main view is showing, the shadow on the left edge of the subview is + barely visible on the right edge of the main view, so set it to none. */ + box-shadow: none; } -#downloadsHistory { - color: -moz-nativehyperlinktext; +/* When the subview is showing, turn the download button into an arrow pointing + back to the main view. */ +#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack[viewtype="subview"] .download-state[showingsubview] .downloadButton { + list-style-image: url("chrome://browser/skin/customizableui/subView-arrow-back-inverted.png"); } -#downloadsPanel[keyfocus] #downloadsSummary:focus, -#downloadsPanel[keyfocus] #downloadsHistory:focus > .button-box { - outline: 1px -moz-dialogtext dotted; +#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack[viewtype="subview"] .download-state[showingsubview] .downloadButton:-moz-locale-dir(rtl) { + list-style-image: url("chrome://browser/skin/customizableui/subView-arrow-back-inverted-rtl.png"); +} + +#downloadsPanel-blockedSubview { + background-image: url("chrome://browser/skin/warning.svg"); + background-size: 32px 32px; + background-position: 16px 16px; + background-repeat: no-repeat; +} + +#downloadsPanel-blockedSubview:-moz-locale-dir(rtl) { + background-position: calc(100% - 16px) 16px; +} + +#downloadsPanel-blockedSubview[verdict=Malware] { + background-image: url("chrome://browser/skin/downloads/download-blocked.svg"); +} + +#downloadsPanel-blockedSubview-title { + margin-top: 16px; + margin-bottom: 16px; + font-size: calc(100% / var(--downloads-item-font-size-factor)); +} + +#downloadsPanel-blockedSubview-details1, +#downloadsPanel-blockedSubview-details2 { + font-size: calc(100% * var(--downloads-item-font-size-factor)); + margin-bottom: 16px; + opacity: var(--downloads-item-details-opacity); +} + +#downloadsPanel-blockedSubview-title, +#downloadsPanel-blockedSubview-details1, +#downloadsPanel-blockedSubview-details2 { + -moz-margin-start: 64px; + -moz-margin-end: 16px; } -#downloadsPanel[keyfocus] #downloadsSummary:focus { +/*** Panel and outer controls ***/ + +#downloadsPanel[keyfocus] #downloadsSummary:focus, +#downloadsPanel[keyfocus] .downloadsPanelFooterButton:focus { + outline: 1px -moz-dialogtext dotted; outline-offset: -5px; } @@ -176,18 +270,6 @@ richlistitem[type="download"]:last-child { --downloads-item-details-opacity: 0.6; } -.blockedIcon { - list-style-image: url("moz-icon://stock/gtk-dialog-error?size=32"); -} - -richlistitem[type="download"][verdict="PotentiallyUnwanted"] .blockedIcon { - list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=32"); -} - -richlistitem[type="download"][verdict="Uncommon"] .blockedIcon { - list-style-image: url("moz-icon://stock/gtk-dialog-info?size=32"); -} - .downloadButton:focus > .button-box { outline: 1px -moz-dialogtext dotted; } @@ -199,7 +281,8 @@ richlistitem[type="download"][verdict="Uncommon"] .blockedIcon { outline-offset: -1px; } -#downloadsPanel:not([keyfocus]) richlistitem[type="download"][state="1"][exists]:hover { +#downloadsPanel:not([keyfocus]) richlistitem[type="download"][state="1"][exists]:hover, +richlistitem[type="download"][showingsubview] { border-radius: 3px; border-top: 1px solid hsla(0,0%,100%,.3); border-bottom: 1px solid hsla(0,0%,0%,.2); @@ -209,6 +292,12 @@ richlistitem[type="download"][verdict="Uncommon"] .blockedIcon { cursor: pointer; } +#downloadsPanel:not([keyfocus]) richlistitem[type="download"][state="1"][exists][verdict="Malware"]:hover, +richlistitem[type="download"][showingsubview][verdict="Malware"] { + background-color: hsl(4, 82%, 47%); + color: white; +} + /*** Button icons ***/ .downloadButton.downloadIconCancel { @@ -258,3 +347,29 @@ richlistitem[type="download"]:hover .downloadButton.downloadIconRetry:hover { richlistitem[type="download"]:hover .downloadButton.downloadIconRetry:active { -moz-image-region: rect(32px, 64px, 48px, 48px); } + +.downloadButton.downloadShowBlockedInfo { + -moz-image-region: rect(48px, 16px, 64px, 0px); +} +richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo { + -moz-image-region: rect(48px, 32px, 64px, 16px); +} +richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:hover { + -moz-image-region: rect(48px, 48px, 64px, 32px); +} +richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:active { + -moz-image-region: rect(48px, 64px, 64px, 48px); +} + +.downloadButton.downloadShowBlockedInfo:-moz-locale-dir(rtl) { + -moz-image-region: rect(64px, 16px, 80px, 0px); +} +richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:-moz-locale-dir(rtl) { + -moz-image-region: rect(64px, 32px, 80px, 16px); +} +richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:hover:-moz-locale-dir(rtl) { + -moz-image-region: rect(64px, 48px, 80px, 32px); +} +richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:active:-moz-locale-dir(rtl) { + -moz-image-region: rect(64px, 64px, 80px, 48px); +} diff --git a/arc-firefox-theme/chrome/browser/error-pages.css b/arc-firefox-theme/chrome/browser/error-pages.css index e66e531..0711be9 100644 --- a/arc-firefox-theme/chrome/browser/error-pages.css +++ b/arc-firefox-theme/chrome/browser/error-pages.css @@ -10,6 +10,11 @@ body { /* Top padding for when the window height is small. Bottom padding to keep everything centered. */ padding: 75px 0; + /* info-pages.css sets a minimum width of 13em to the content + * container. If we don't set a min-width here, the content + * gets clipped in iframes with small width. We don't accomodate + * any padding to prioritize real estate in the small viewport. */ + min-width: 13em; } .button-container { diff --git a/arc-firefox-theme/chrome/browser/filters.svg b/arc-firefox-theme/chrome/browser/filters.svg new file mode 100644 index 0000000..8fccb13 --- /dev/null +++ b/arc-firefox-theme/chrome/browser/filters.svg @@ -0,0 +1,9 @@ +<?xml version="1.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/. --> +<svg xmlns="http://www.w3.org/2000/svg"> + <filter id="fill"> + <feComposite in="FillPaint" in2="SourceGraphic" operator="in"/> + </filter> +</svg> diff --git a/arc-firefox-theme/chrome/browser/identity-icon.svg b/arc-firefox-theme/chrome/browser/identity-icon.svg index 531aec4..c19765a 100644 --- a/arc-firefox-theme/chrome/browser/identity-icon.svg +++ b/arc-firefox-theme/chrome/browser/identity-icon.svg @@ -3,29 +3,34 @@ - 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" xmlns:xlink="http://www.w3.org/1999/xlink"
- width="48" height="16" viewBox="0 0 32 16">
+ width="64" height="16" viewBox="0 0 64 16">
<defs>
- <circle id="shape-circle-base" cx="8" cy="8" r="7" />
- <g id="shape-i">
- <circle cx="8" cy="5" r="1" />
- <rect x="7" y="7" width="2" height="5" rx="1" ry="1" />
- </g>
- <mask id="mask-ring-cutout">
- <rect width="16" height="16" fill="#000" />
- <use xlink:href="#shape-circle-base" fill="#fff" />
- <circle cx="8" cy="8" r="6" fill="#000" />
- </mask>
+ <style>
+ path {
+ fill-rule: evenodd;
+ fill: #999999;
+ }
+ </style>
</defs>
<view id="normal" viewBox="0 0 16 16"/>
<g>
- <use xlink:href="#shape-circle-base" mask="url(#mask-ring-cutout)" fill="#999" />
- <use xlink:href="#shape-i" fill="#999" />
+ <path d="M128,193a7,7,0,1,1,7-7A7,7,0,0,1,128,193Zm0-13a6,6,0,1,0,6,6A6,6,0,0,0,128,180Zm0,10a1,1,0,0,1-1-1v-3a1,1,0,0,1,2,0v3A1,1,0,0,1,128,190Zm0-6a1,1,0,1,1,1-1A1,1,0,0,1,128,184Z" transform="translate(-120 -178)"/>
</g>
<view id="hover" viewBox="16 0 16 16"/>
<g transform="translate(16)">
- <use xlink:href="#shape-circle-base" fill="#4c9ed9" />
- <use xlink:href="#shape-i" fill="#fff" />
+ <path d="M102,179a7,7,0,1,1-7,7A7,7,0,0,1,102,179Zm0,3a1,1,0,1,1-1,1A1,1,0,0,1,102,182Zm0,3a1,1,0,0,1,1,1v3a1,1,0,0,1-2,0v-3A1,1,0,0,1,102,185Z" transform="translate(-94 -178)"/>
</g>
+
+ <view id="notice" viewBox="32 0 16 16"/>
+ <g transform="translate(32)">
+ <path d="M133.5,202a2.5,2.5,0,1,1,2.5-2.5A2.5,2.5,0,0,1,133.5,202Zm-5.5,1a1,1,0,1,1,1-1A1,1,0,0,1,128,203Zm1,5a1,1,0,0,1-2,0v-3a1,1,0,0,1,2,0v3Zm-1-9a6.08,6.08,0,1,0,5.629,3.987,3.452,3.452,0,0,0,.984-0.185A6.9,6.9,0,0,1,135,205a7,7,0,1,1-7-7,6.9,6.9,0,0,1,2.2.387,3.452,3.452,0,0,0-.185.984A5.951,5.951,0,0,0,128,199Z" transform="translate(-120 -197)"/>
+ </g>
+
+ <view id="notice-hover" viewBox="48 0 16 16"/>
+ <g transform="translate(48)">
+ <path d="M107.5,202a2.5,2.5,0,1,1,2.5-2.5A2.5,2.5,0,0,1,107.5,202Zm0,1.039a3.5,3.5,0,0,0,1.125-.2,7.124,7.124,0,1,1-4.464-4.464,3.5,3.5,0,0,0-.2,1.125A3.54,3.54,0,0,0,107.5,203.039ZM102,201a1,1,0,1,0,1,1A1,1,0,0,0,102,201Zm1,4a1,1,0,0,0-2,0v3a1,1,0,0,0,2,0v-3Z" transform="translate(-94 -197)"/>
+ </g>
+
</svg>
diff --git a/arc-firefox-theme/chrome/browser/identity-mixed-active-blocked.svg b/arc-firefox-theme/chrome/browser/identity-mixed-active-blocked.svg deleted file mode 100644 index 8b442ba..0000000 --- a/arc-firefox-theme/chrome/browser/identity-mixed-active-blocked.svg +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- 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" xmlns:xlink="http://www.w3.org/1999/xlink" - width="16" height="16" viewBox="0 0 16 16"> - <style> - .icon-default { - fill: #4d9a26; - } - </style> - - <defs> - <rect id="shape-lock-clasp-outer" x="2" y="1" width="8" height="10" rx="4" ry="4" /> - <rect id="shape-lock-clasp-inner" x="4" y="3" width="4" height="6" rx="2" ry="2" /> - <rect id="shape-lock-base" x="1" y="6" width="10" height="7" rx="1" ry="1" /> - - <mask id="mask-clasp-cutout"> - <rect width="16" height="16" fill="#000" /> - <use xlink:href="#shape-lock-clasp-outer" fill="#fff" /> - <use xlink:href="#shape-lock-clasp-inner" fill="#000" /> - </mask> - </defs> - - <use xlink:href="#shape-lock-clasp-outer" mask="url(#mask-clasp-cutout)" class="icon-default" /> - <use xlink:href="#shape-lock-base" class="icon-default" /> - <path fill="#fff" d="M10.5,5C9.8,5,9.1,5.4,8.8,6.2l-3.5,6.8c-0.4,0.7-0.4,1.4,0,2c0.4,0.6,1,1,1.8,1H14c0.8,0,1.4-0.4,1.8-1 c0.3-0.6,0.3-1.4,0-2l-3.5-6.8C11.9,5.4,11.2,5,10.5,5L10.5,5z"/> - <path fill="#999" d="M14.8,13.4l-3.5-6.8C11.2,6.2,10.9,6,10.5,6c-0.3,0-0.7,0.2-0.9,0.6l-3.5,6.8c-0.2,0.4-0.2,0.8,0,1.1C6.3,14.8,6.6,15,7,15 H14c0.4,0,0.7-0.2,0.9-0.5C15.1,14.2,15,13.8,14.8,13.4z"/> - <path fill="#fff" d="M10,8.5C10,8.2,10.2,8,10.5,8S11,8.2,11,8.5L10.8,11h-0.6L10,8.5z" /> - <circle fill="#fff" cx="10.5" cy="12.5" r=".75" /> -</svg> diff --git a/arc-firefox-theme/chrome/browser/notification-icons.svg b/arc-firefox-theme/chrome/browser/notification-icons.svg new file mode 100644 index 0000000..ff13181 --- /dev/null +++ b/arc-firefox-theme/chrome/browser/notification-icons.svg @@ -0,0 +1,74 @@ +<?xml version="1.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/. --> +<svg xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + width="32" height="32" viewBox="0 0 32 32"> + <style> + use:not(:target) { + display: none; + } + #strikeout { + display: none; + } + .blocked:target ~ #strikeout { + display: block; + } + .blocked { + clip-path: url(#clip); + } + </style> + + <defs> + <path id="camera-icon" d="m 2,23 a 3,3 0 0 0 3,3 l 14,0 a 3,3 0 0 0 3,-3 l 0,-4 6,5.5 c 0.5,0.5 1,0.7 2,0.5 l 0,-18 c -1,-0.2 -1.5,0 -2,0.5 l -6,5.5 0,-4 a 3,3 0 0 0 -3,-3 l -14,0 a 3,3 0 0 0 -3,3 z" /> + <path id="desktop-notification-icon" d="m 2,20 a 4,4 0 0 0 4,4 l 13,0 7,7 0,-7 a 4,4 0 0 0 4,-4 l 0,-12 a 4,4 0 0 0 -4,-4 l -20,0 a 4,4 0 0 0 -4,4 z m 5,-2 a 1,1 0 1 1 0,-2 l 10,0 a 1,1 0 1 1 0,2 z m 0,-4 a 1,1 0 1 1 0,-2 l 14,0 a 1,1 0 1 1 0,2 z m 0,-4 a 1,1 0 1 1 0,-2 l 18,0 a 1,1 0 1 1 0,2 z" /> + <path id="geo-linux-icon" d="m 2,15.9 a 14,14 0 1 1 0,0.2 z m 4,2.1 a 10,10 0 0 0 8,8 l 0,-4 4,0 0,4 a 10,10 0 0 0 8,-8 l -4,0 0,-4 4,0 a 10,10 0 0 0 -8,-8 l 0,4 -4,0 0,-4 a 10,10 0 0 0 -8,8 l 4,0 0,4 z" /> + <path id="geo-linux-detailed-icon" d="m 2,15.9 a 14,14 0 1 1 0,0.2 z m 3,2.1 a 11,11 0 0 0 9,9 l 1,-5 2,0 1,5 a 11,11 0 0 0 9,-9 l -5,-1 0,-2 5,-1 a 11,11 0 0 0 -9,-9 l -1,5 -2,0 -1,-5 a 11,11 0 0 0 -9,9 l 5,1 0,2 z" /> + <path id="geo-osx-icon" d="m 0,16 16,0 0,16 12,-28 z" /> + <path id="geo-windows-icon" d="m 2,14 0,4 2,0 a 12,12 0 0 0 10,10 l 0,2 4,0 0,-2 a 12,12 0 0 0 10,-10 l 2,0 0,-4 -2,0 a 12,12 0 0 0 -10,-10 l 0,-2 -4,0 0,2 a 12,12 0 0 0 -10,10 z m 4,1.9 a 10,10 0 1 1 0,0.2 z m 4,0 a 6,6 0 1 1 0,0.2 z" /> + <path id="geo-windows-detailed-icon" d="m 2,14.5 0,3 2,0.5 a 12,12 0 0 0 10,10 l 0.5,2 3,0 0.5,-2 a 12,12 0 0 0 10,-10 l 2,-0.5 0,-3 -2,-0.5 a 12,12 0 0 0 -10,-10 l -0.5,-2 -3,0 -0.5,2 a 12,12 0 0 0 -10,10 z m 4,1.4 a 10,10 0 1 1 0,0.2 z m 3,0 a 7,7 0 1 1 0,0.2 z" /> + <path id="indexedDB-icon" d="m 2,24 a 4,4 0 0 0 4,4 l 2,0 0,-4 -2,0 0,-16 20,0 0,16 -2,0 0,4 2,0 a 4,4 0 0 0 4,-4 l 0,-16 a 4,4 0 0 0 -4,-4 l -20,0 a 4,4 0 0 0 -4,4 z m 8,-2 6,7 6,-7 -4,0 0,-8 -4,0 0,8 z" /> + <path id="login-icon" d="m 2,26 0,4 6,0 0,-2 2,0 0,-2 1,0 0,-1 2,0 0,-3 2,0 2.5,-2.5 1.5,1.5 3,-3 a 8,8 0 1 0 -8,-8 l -3,3 2,2 z m 20,-18.1 a 2,2 0 1 1 0,0.2 z" /> + <path id="login-detailed-icon" d="m 1,27 0,3.5 a 0.5,0.5 0 0 0 0.5,0.5 l 5,0 a 0.5,0.5 0 0 0 0.5,-0.5 l 0,-1.5 1.5,0 a 0.5,0.5 0 0 0 0.5,-0.5 l 0,-1.5 1,0 a 0.5,0.5 0 0 0 0.5,-0.5 l 0,-1 1,0 a 0.5,0.5 0 0 0 0.5,-0.5 l 0,-2 2,0 2.5,-2.5 q 0.5,-0.5 1,0 l 1,1 c 0.5,0.5 1,0.5 1.5,-0.5 l 1,-2 a 9,9 0 1 0 -8,-8 l -2,1 c -1,0.5 -1,1 -0.5,1.5 l 1.5,1.5 q 0.5,0.5 0,1 z m 21,-19.1 a 2,2 0 1 1 0,0.2 z" /> + <path id="microphone-icon" d="m 8,14 0,4 a 8,8 0 0 0 6,7.7 l 0,2.3 -2,0 a 2,2 0 0 0 -2,2 l 12,0 a 2,2 0 0 0 -2,-2 l -2,0 0,-2.3 a 8,8 0 0 0 6,-7.7 l 0,-4 -2,0 0,4 a 6,6 0 0 1 -12,0 l 0,-4 z m 4,4 a 4,4 0 0 0 8,0 l 0,-12 a 4,4 0 0 0 -8,0 z" /> + <path id="microphone-detailed-icon" d="m 8,18 a 8,8 0 0 0 6,7.7 l 0,2.3 -1,0 a 3,2 0 0 0 -3,2 l 12,0 a 3,2 0 0 0 -3,-2 l -1,0 0,-2.3 a 8,8 0 0 0 6,-7.7 l 0,-4 a 1,1 0 0 0 -2,0 l 0,4 a 6,6 0 0 1 -12,0 l 0,-4 a 1,1 0 0 0 -2,0 z m 4,0 a 4,4 0 0 0 8,0 l 0,-12 a 4,4 0 0 0 -8,0 z" /> + <path id="plugin-icon" d="m 2,26 a 2,2 0 0 0 2,2 l 24,0 a 2,2 0 0 0 2,-2 l 0,-16 a 2,2 0 0 0 -2,-2 l -24,0 a 2,2 0 0 0 -2,2 z m 2,-20 10,0 0,-2 a 2,2 0 0 0 -2,-2 l -6,0 a 2,2 0 0 0 -2,2 z m 14,0 10,0 0,-2 a 2,2 0 0 0 -2,-2 l -6,0 a 2,2 0 0 0 -2,2 z" /> + <path id="pointerLock-icon" d="m 8,24 6,-5 5,10 4,-2 -5,-10 7,-1 -17,-14 z" /> + <path id="popup-icon" d="m 2,24 a 4,4 0 0 0 4,4 l 8,0 a 10,10 0 0 1 -2,-4 l -4,0 a 2,2 0 0 1 -2,-2 l 0,-12 18,0 0,2 a 10,10 0 0 1 4,2 l 0,-8 a 4,4 0 0 0 -4,-4 l -18,0 a 4,4 0 0 0 -4,4 z m 12,-2.1 a 8,8 0 1 1 0,0.2 m 10.7,-4.3 a 5,5 0 0 0 -6.9,6.9 z m -5.4,8.4 a 5,5 0 0 0 6.9,-6.9 z" /> + <path id="screen-icon" d="m 2,18 a 2,2 0 0 0 2,2 l 2,0 0,-6 a 4,4 0 0 1 4,-4 l 14,0 0,-6 a 2,2 0 0 0 -2,-2 l -18,0 a 2,2 0 0 0 -2,2 z m 6,10 a 2,2 0 0 0 2,2 l 18,0 a 2,2 0 0 0 2,-2 l 0,-14 a 2,2 0 0 0 -2,-2 l -18,0 a 2,2 0 0 0 -2,2 z" /> + + <clipPath id="clip"> + <path d="m 0,0 0,31 31,-31 z m 6,32 26,0 0,-26 z"/> + </clipPath> + </defs> + + <use id="camera" xlink:href="#camera-icon" /> + <use id="camera-blocked" class="blocked" xlink:href="#camera-icon" /> + <use id="desktop-notification" xlink:href="#desktop-notification-icon" /> + <use id="desktop-notification-blocked" class="blocked" xlink:href="#desktop-notification-icon" /> + <use id="geo-osx" xlink:href="#geo-osx-icon" /> + <use id="geo-osx-blocked" class="blocked" xlink:href="#geo-osx-icon" /> + <use id="geo-linux" xlink:href="#geo-linux-icon" /> + <use id="geo-linux-blocked" class="blocked" xlink:href="#geo-linux-icon" /> + <use id="geo-linux-detailed" xlink:href="#geo-linux-detailed-icon" /> + <use id="geo-windows" xlink:href="#geo-windows-icon" /> + <use id="geo-windows-blocked" class="blocked" xlink:href="#geo-windows-icon" /> + <use id="geo-windows-detailed" xlink:href="#geo-windows-detailed-icon" /> + <use id="indexedDB" xlink:href="#indexedDB-icon" /> + <use id="indexedDB-blocked" class="blocked" xlink:href="#indexedDB-icon" /> + <use id="login" xlink:href="#login-icon" /> + <use id="login-detailed" xlink:href="#login-detailed-icon" /> + <use id="microphone" xlink:href="#microphone-icon" /> + <use id="microphone-blocked" class="blocked" xlink:href="#microphone-icon" /> + <use id="microphone-detailed" xlink:href="#microphone-detailed-icon" /> + <use id="plugin" xlink:href="#plugin-icon" /> + <use id="plugin-blocked" class="blocked" xlink:href="#plugin-icon" /> + <use id="pointerLock" xlink:href="#pointerLock-icon" /> + <use id="pointerLock-blocked" class="blocked" xlink:href="#pointerLock-icon" /> + <use id="popup" xlink:href="#popup-icon" /> + <use id="screen" xlink:href="#screen-icon" /> + <use id="screen-blocked" class="blocked" xlink:href="#screen-icon" /> + + <path id="strikeout" d="m 2,28 2,2 26,-26 -2,-2 z"/> +</svg> diff --git a/arc-firefox-theme/chrome/browser/notification-pluginAlert.png b/arc-firefox-theme/chrome/browser/notification-pluginAlert.png Binary files differdeleted file mode 100644 index 7492fdd..0000000 --- a/arc-firefox-theme/chrome/browser/notification-pluginAlert.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/notification-pluginAlert@2x.png b/arc-firefox-theme/chrome/browser/notification-pluginAlert@2x.png Binary files differdeleted file mode 100644 index f335996..0000000 --- a/arc-firefox-theme/chrome/browser/notification-pluginAlert@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/notification-pluginBlocked.png b/arc-firefox-theme/chrome/browser/notification-pluginBlocked.png Binary files differdeleted file mode 100644 index e2e9489..0000000 --- a/arc-firefox-theme/chrome/browser/notification-pluginBlocked.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/notification-pluginBlocked@2x.png b/arc-firefox-theme/chrome/browser/notification-pluginBlocked@2x.png Binary files differdeleted file mode 100644 index 5126be0..0000000 --- a/arc-firefox-theme/chrome/browser/notification-pluginBlocked@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/notification-pluginNormal.png b/arc-firefox-theme/chrome/browser/notification-pluginNormal.png Binary files differdeleted file mode 100644 index 979e92b..0000000 --- a/arc-firefox-theme/chrome/browser/notification-pluginNormal.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/notification-pluginNormal@2x.png b/arc-firefox-theme/chrome/browser/notification-pluginNormal@2x.png Binary files differdeleted file mode 100644 index c081bbb..0000000 --- a/arc-firefox-theme/chrome/browser/notification-pluginNormal@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/panel-icons.svg b/arc-firefox-theme/chrome/browser/panel-icons.svg new file mode 100644 index 0000000..2f93607 --- /dev/null +++ b/arc-firefox-theme/chrome/browser/panel-icons.svg @@ -0,0 +1,8 @@ +<?xml version="1.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/. --> +<svg xmlns="http://www.w3.org/2000/svg" + width="32" height="32" viewBox="0 0 32 32"> + <path id="cancel" d="m 6,9.5 6.5,6.5 -6.5,6.5 3.5,3.5 6.5,-6.5 6.5,6.5 3.5,-3.5 -6.5,-6.5 6.5,-6.5 -3.5,-3.5 -6.5,6.5 -6.5,-6.5 z" /> +</svg> diff --git a/arc-firefox-theme/chrome/browser/pointerLock-16.png b/arc-firefox-theme/chrome/browser/pointerLock-16.png Binary files differdeleted file mode 100644 index 862cd11..0000000 --- a/arc-firefox-theme/chrome/browser/pointerLock-16.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/pointerLock-64.png b/arc-firefox-theme/chrome/browser/pointerLock-64.png Binary files differdeleted file mode 100644 index a35ce04..0000000 --- a/arc-firefox-theme/chrome/browser/pointerLock-64.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/preferences/Options-sync.png b/arc-firefox-theme/chrome/browser/preferences/Options-sync.png Binary files differdeleted file mode 100644 index 89901fb..0000000 --- a/arc-firefox-theme/chrome/browser/preferences/Options-sync.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/preferences/Options.png b/arc-firefox-theme/chrome/browser/preferences/Options.png Binary files differdeleted file mode 100644 index 82bebd2..0000000 --- a/arc-firefox-theme/chrome/browser/preferences/Options.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/preferences/in-content/dialog.css b/arc-firefox-theme/chrome/browser/preferences/in-content/dialog.css index c5eb833..6977dd5 100644 --- a/arc-firefox-theme/chrome/browser/preferences/in-content/dialog.css +++ b/arc-firefox-theme/chrome/browser/preferences/in-content/dialog.css @@ -73,3 +73,9 @@ description, caption > label { font-size: 1.2em; } + +/* Create a separate rule to unset these styles on .tree-input instead of + using :not(.tree-input) so the selector specifity doesn't change. */ +textbox.tree-input { + font-size: unset; +} diff --git a/arc-firefox-theme/chrome/browser/preferences/in-content/preferences.css b/arc-firefox-theme/chrome/browser/preferences/in-content/preferences.css index 8c3d396..58cea34 100644 --- a/arc-firefox-theme/chrome/browser/preferences/in-content/preferences.css +++ b/arc-firefox-theme/chrome/browser/preferences/in-content/preferences.css @@ -222,7 +222,8 @@ treecol { /* Privacy pane */ #trackingProtectionPBMLearnMore, -#trackingProtectionLearnMore { +#trackingProtectionLearnMore, +#browserContainersLearnMore { margin-inline-start: 1.5em !important; margin-top: 0; font-weight: normal; diff --git a/arc-firefox-theme/chrome/browser/preferences/mail.png b/arc-firefox-theme/chrome/browser/preferences/mail.png Binary files differdeleted file mode 100644 index 66d2bc9..0000000 --- a/arc-firefox-theme/chrome/browser/preferences/mail.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/preferences/preferences.css b/arc-firefox-theme/chrome/browser/preferences/preferences.css index 76cf63c..45e2dc2 100644 --- a/arc-firefox-theme/chrome/browser/preferences/preferences.css +++ b/arc-firefox-theme/chrome/browser/preferences/preferences.css @@ -6,59 +6,10 @@ */ /* Global Styles */ -#BrowserPreferences radio[pane] { - list-style-image: url("chrome://browser/skin/preferences/Options.png"); -} - -radio[pane=paneMain] { - -moz-image-region: rect(0px, 32px, 32px, 0px) -} - -radio[pane=paneTabs] { - -moz-image-region: rect(0px, 64px, 32px, 32px) -} - -#BrowserPreferences radio[pane=paneSearch] { - list-style-image: url("chrome://browser/skin/search-pref.png"); -} - .checkbox-check { -moz-appearance: checkbox; } -radio[pane=paneContent] { - -moz-image-region: rect(0px, 96px, 32px, 64px) -} - -radio[pane=paneApplications] { - -moz-image-region: rect(0px, 128px, 32px, 96px) -} - -radio[pane=panePrivacy] { - -moz-image-region: rect(0px, 160px, 32px, 128px) -} - -radio[pane=paneSecurity] { - -moz-image-region: rect(0px, 192px, 32px, 160px) -} - -radio[pane=paneAdvanced] { - -moz-image-region: rect(0px, 224px, 32px, 192px) -} - -radio[pane=paneSync] { - list-style-image: url("chrome://browser/skin/preferences/Options-sync.png") !important; -} - -/* These lines should be removed as part of fixing bug 1140495 */ -label.small { - font-size: smaller; -} - -#tabPrefsBox { - margin: 5px; -} - /* General Pane */ #useFirefoxSync, #getStarted { @@ -75,15 +26,6 @@ label.small { cursor: pointer; } -/* Applications Pane */ -#BrowserPreferences[animated="true"] #handlersView { - height: 25em; -} - -#BrowserPreferences[animated="false"] #handlersView { - -moz-box-flex: 1; -} - /* Modeless Window Dialogs */ .windowDialog, .windowDialog prefpane { @@ -106,20 +48,10 @@ label.small { list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png"); } -#paneApplications { - margin-left: 4px; - margin-right: 4px; - padding-left: 0; - padding-right: 0; -} - #linksOpenInBox { margin-top: 5px; } -#paneAdvanced { - padding-bottom: 10px; -} #advancedPrefs { margin-left: 0; margin-right: 0; diff --git a/arc-firefox-theme/chrome/browser/sass/_browser-sass.scss b/arc-firefox-theme/chrome/browser/sass/_browser-sass.scss index b7cd1ad..51699b3 100644 --- a/arc-firefox-theme/chrome/browser/sass/_browser-sass.scss +++ b/arc-firefox-theme/chrome/browser/sass/_browser-sass.scss @@ -149,12 +149,29 @@ toolbarbutton.bookmark-item:not(.subviewbutton):not(:hover):not(:active):not([op color: inherit; } +//toolbarbutton.bookmark-item:not(.subviewbutton) { +// -moz-appearance: none; +// border: 1px solid transparent; +// border-radius: 2px; +// transition-property: background-color, border-color; +// transition-duration: 150ms; +//} +// +//toolbarbutton.bookmark-item:not(.subviewbutton):hover:not([open]) { +// background: var(--toolbarbutton-hover-background); +// border-color: var(--toolbarbutton-hover-bordercolor); +//} +// //toolbarbutton.bookmark-item:not(.subviewbutton):hover:active, //toolbarbutton.bookmark-item[open="true"] { -// padding-top: 3px; -// padding-bottom: 1px; -// -moz-padding-start: 4px; -// -moz-padding-end: 2px; +// background: var(--toolbarbutton-active-background); +// box-shadow: var(--toolbarbutton-active-boxshadow); +// border-color: var(--toolbarbutton-active-bordercolor); +//} +// +//toolbarbutton.bookmark-item:not(.subviewbutton):hover:-moz-lwtheme { +// background: var(--toolbarbutton-hover-background); +// border-color: var(--toolbarbutton-hover-bordercolor); //} .bookmark-item > .toolbarbutton-icon, @@ -660,7 +677,6 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { border-image: url("chrome://browser/skin/custom_images/#{$asset_path}/navbar-separator.png") 0 0 0 2 / 0 0 0 2px; } - .findbar-button:not(:-moz-any([checked="true"],[disabled="true"])):hover > .toolbarbutton-text, :-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1[open]:not([disabled=true]) > .toolbarbutton-menubutton-button > .toolbarbutton-icon, :-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):not([open]):hover > .toolbarbutton-menubutton-button > .toolbarbutton-icon, @@ -1049,6 +1065,172 @@ list-style-image: url("chrome://browser/skin/custom_images/toolbar-icons-active. -moz-image-region: rect(0, 738px, 18px, 720px); } +/* +@media (min-resolution: 1.1dppx) { + :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar@2x.png"); + } + + toolbar[brighttext] :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + toolbar[brighttext] #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar-inverted@2x.png"); + } + + #back-button { + -moz-image-region: rect(0, 72px, 36px, 36px); + } + + #forward-button { + -moz-image-region: rect(0, 144px, 36px, 108px); + } + + #home-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 252px, 36px, 216px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 288px, 36px, 252px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"][starred] { + -moz-image-region: rect(0, 324px, 36px, 288px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + -moz-image-region: rect(0px, 1260px, 36px, 1224px); + } + + #history-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 360px, 36px, 324px); + } + + #downloads-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 396px, 36px, 360px); + } + + #add-ons-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 432px, 36px, 396px); + } + + #open-file-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 468px, 36px, 432px); + } + + #save-page-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 504px, 36px, 468px); + } + + #sync-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1584px, 36px, 1548px); + } + + #containers-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1620px, 36px, 1584px); + } + + #feed-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 576px, 36px, 540px); + } + + #social-share-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 612px, 36px, 576px); + } + + #characterencoding-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 648px, 36px, 612px); + } + + #new-window-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button > .toolbarbutton-icon { + transform: scaleY(-1); + } + + #new-tab-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 720px, 36px, 684px); + } + + #privatebrowsing-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 756px, 36px, 720px); + } + + #find-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 792px, 36px, 756px); + } + + #print-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 828px, 36px, 792px); + } + + #fullscreen-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 864px, 36px, 828px); + } + + #developer-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 900px, 36px, 864px); + } + + #preferences-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 936px, 36px, 900px); + } + + #PanelUI-menu-button { + -moz-image-region: rect(0, 972px, 36px, 936px); + } + + #edit-controls[cui-areatype="toolbar"] > #cut-button { + -moz-image-region: rect(0, 1008px, 36px, 972px); + } + + #edit-controls[cui-areatype="toolbar"] > #copy-button { + -moz-image-region: rect(0, 1044px, 36px, 1008px); + } + + #edit-controls[cui-areatype="toolbar"] > #paste-button { + -moz-image-region: rect(0, 1080px, 36px, 1044px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-out-button { + -moz-image-region: rect(0, 1116px, 36px, 1080px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-in-button { + -moz-image-region: rect(0, 1152px, 36px, 1116px); + } + + #nav-bar-overflow-button { + -moz-image-region: rect(0, 1224px, 36px, 1188px); + } + + #email-link-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1332px, 36px, 1296px); + } + + #sidebar-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1368px, 36px, 1332px); + } + + #panic-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1404px, 36px, 1368px); + } + + #panic-button[cui-areatype="toolbar"][open] { + -moz-image-region: rect(36px, 1404px, 72px, 1368px); + } + + #webide-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1476px, 36px, 1440px); + } +} +*/ + /* Menu panel and palette styles */ :root { @@ -1503,7 +1685,7 @@ list-style-image: url("chrome://browser/skin/custom_images/toolbar-icons-active. /* Fullscreen window controls */ #window-controls { -moz-box-align: start; - -moz-margin-start: 10px; + margin-inline-start: 10px; } #close-button, #restore-button, #minimize-button { @@ -1533,11 +1715,11 @@ list-style-image: url("chrome://browser/skin/custom_images/toolbar-icons-active. } /* Location bar */ -//#nav-bar { +//#main-window { // --urlbar-border-color: ThreeDShadow; //} - -//#nav-bar:-moz-lwtheme { +// +//#navigator-toolbox:-moz-lwtheme { // --urlbar-border-color: rgba(0,0,0,.3); //} @@ -1582,6 +1764,14 @@ list-style-image: url("chrome://browser/skin/custom_images/toolbar-icons-active. margin-inline-start: 0; } +//.urlbar-input-box, +//#urlbar-display-box { +// padding-inline-start: 4px; +// border-inline-start: 1px solid var(--urlbar-separator-color); +// border-image: linear-gradient(transparent 15%, var(--urlbar-separator-color) 15%, var(--urlbar-separator-color) 85%, transparent 85%); +// border-image-slice: 1; +//} + .urlbar-history-dropmarker { -moz-appearance: toolbarbutton-dropdown; transition: opacity 0.15s ease; @@ -1591,7 +1781,7 @@ list-style-image: url("chrome://browser/skin/custom_images/toolbar-icons-active. transition: none; } -#navigator-toolbox:not(:hover) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { +#navigator-toolbox:not(:hover) #nav-bar:not([customizing="true"]) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { opacity: 0; } @@ -1676,8 +1866,6 @@ list-style-image: url("chrome://browser/skin/custom_images/toolbar-icons-active. #urlbar-display-box { margin-top: -1px; margin-bottom: -1px; - border-inline-end: 1px solid #AAA; - margin-inline-end: 3px; } .urlbar-display { @@ -1784,20 +1972,6 @@ list-style-image: url("chrome://browser/skin/custom_images/toolbar-icons-active. // transition: background-color 150ms ease, padding-left, padding-right; } -//#identity-box:hover, -//#identity-box[open=true] { -// border-image-source: none; -//} - -//#identity-box:hover { -// background-color: var(--identity-box-hover-background-color); -//} - -//#identity-box:hover:active, -//#identity-box[open=true] { -// background-color: var(--identity-box-selected-background-color); -//} - #urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity { color: var(--identity-box-verified-color); } @@ -1814,31 +1988,27 @@ list-style-image: url("chrome://browser/skin/custom_images/toolbar-icons-active. padding-right: 2px; } -#notification-popup-box:not([hidden]) + #identity-box { - padding-inline-start: 9px; - border-radius: 0; -} - -window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box { - border-radius: 0; -} - -//window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #forward-button[disabled] + #urlbar > #notification-popup-box[hidden] + #identity-box { -// padding-inline-start: calc(var(--backbutton-urlbar-overlap) + 4px); +//window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #forward-button[disabled] + #urlbar > #identity-box { +// padding-inline-start: calc(var(--backbutton-urlbar-overlap) + 5px); //} - -//window:not([chromehidden~="toolbar"]) #urlbar-wrapper:hover:not([switchingtabs]) > #forward-button[disabled] + #urlbar > #notification-popup-box[hidden] + #identity-box { +// +//window:not([chromehidden~="toolbar"]) #urlbar-wrapper:hover:not([switchingtabs]) > #forward-button[disabled] + #urlbar > #identity-box { // /* Forward button hiding is delayed when hovered, so we should use the same // delay for the identity box. We handle both horizontal paddings (for LTR and // RTL), the latter two delays here are for padding-left and padding-right. */ // transition-delay: 0s, 100s, 100s; //} - -//window:not([chromehidden~="toolbar"]) #urlbar-wrapper:not(:hover) > #forward-button[disabled] + #urlbar > #notification-popup-box[hidden] + #identity-box { +// +//window:not([chromehidden~="toolbar"]) #urlbar-wrapper:not(:hover) > #forward-button[disabled] + #urlbar > #identity-box { // /* when not hovered anymore, trigger a new non-delayed transition to react to the forward button hiding */ -// padding-inline-start: calc(var(--backbutton-urlbar-overlap) + 4.01px); +// padding-inline-start: calc(var(--backbutton-urlbar-overlap) + 5.01px); //} +#notification-popup-box:not([hidden]) + #identity-box { + padding-inline-start: 9px; + border-radius: 0; +} + /* MAIN IDENTITY ICON */ #identity-icon { @@ -1847,11 +2017,20 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box list-style-image: url(chrome://browser/skin/identity-icon.svg#normal); } -#identity-box:hover > #identity-icon, +#identity-box:hover > #identity-icon:not(.no-hover), #identity-box[open=true] > #identity-icon { list-style-image: url(chrome://browser/skin/identity-icon.svg#hover); } +#identity-box.grantedPermissions > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice); +} + +#identity-box.grantedPermissions:hover > #identity-icon:not(.no-hover), +#identity-box.grantedPermissions[open=true] > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice-hover); +} + #urlbar[pageproxystate="valid"] > #identity-box.chromeUI > #identity-icon { list-style-image: url(chrome://branding/content/identity-icons-brand.svg); } @@ -1909,11 +2088,17 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box } #urlbar[pageproxystate="valid"] > #identity-box.verifiedDomain > #connection-icon, -#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon { +#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon, +#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { list-style-image: url(chrome://browser/skin/identity-secure.svg); visibility: visible; } +#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { + list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); + visibility: visible; +} + #urlbar[pageproxystate="valid"] > #identity-box.insecureLoginForms > #connection-icon, #urlbar[pageproxystate="valid"] > #identity-box.mixedActiveContent > #connection-icon { list-style-image: url(chrome://browser/skin/identity-mixed-active-loaded.svg); @@ -1927,16 +2112,29 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box visibility: visible; } -#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-active-blocked.svg); - visibility: visible; + +#notification-popup-box { + padding: 5px 0px; + margin: -5px 0px; + margin-inline-end: -5px; + padding-inline-end: 5px; } -#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); - visibility: visible; +/* This class can be used alone or in combination with the class defining the + type of icon displayed. This rule must be defined before the others in order + for its list-style-image to be overridden. */ +.notification-anchor-icon { + width: 16px; + height: 16px; + margin-inline-start: 2px; + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); } +@media (min-resolution: 1.1dppx) { + .notification-anchor-icon { + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); + } +} .popup-notification-icon { width: 64px; @@ -1944,180 +2142,222 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box margin-inline-end: 10px; } -.popup-notification-icon[popupid="geolocation"] { - list-style-image: url(chrome://browser/skin/Geolocation-64.png); +#notification-popup-box > .notification-anchor-icon:not(.in-use):hover { + fill: #606060; } -.popup-notification-icon[popupid="xpinstall-disabled"], -.popup-notification-icon[popupid="addon-install-blocked"], -.popup-notification-icon[popupid="addon-install-origin-blocked"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); +/* INDIVIDUAL NOTIFICATIONS */ + +/* For the moment we apply the color filter only on the icons listed here. + The first two selectors are used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.camera-icon, +.geo-icon, +.indexedDB-icon, +.install-icon, +.login-icon, +.microphone-icon, +.plugin-icon, +.pointerLock-icon, +.popup-icon, +.screen-icon, +.desktop-notification-icon, +.popup-notification-icon[popupid="geolocation"], +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.popup-notification-icon[popupid="password"], +.popup-notification-icon[popupid="pointerLock"], +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-shareScreen"], +.popup-notification-icon[popupid="webRTC-sharingDevices"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingScreen"], +.popup-notification-icon[popupid="web-notifications"] { + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #999; } -.popup-notification-icon[popupid="addon-progress"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); +/* The first two selectors are used by socialchat.xml (bug 1275558). The + notifications in the chat window are only shown when they are in use. */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.in-use { + fill: #fea01b; } -.popup-notification-icon[popupid="addon-install-failed"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); +.popup-notification-icon[popupid="web-notifications"], +.desktop-notification-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification); } -.popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); +.desktop-notification-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification-blocked); } -#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); +.geo-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux); } -.popup-notification-icon[popupid="addon-install-complete"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); +.geo-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-blocked); } -.popup-notification-icon[popupid="addon-install-restart"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); +.popup-notification-icon[popupid="geolocation"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-detailed); } -.popup-notification-icon[popupid="click-to-play-plugins"] { - list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.indexedDB-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB); } -.popup-notification-icon[popupid="web-notifications"] { - list-style-image: url(chrome://browser/skin/web-notifications-icon.svg); +.indexedDB-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB-blocked); } -.popup-notification-icon[popupid="indexedDB-permissions-prompt"], -.popup-notification-icon[popupid*="offline-app-requested"], -.popup-notification-icon[popupid="offline-app-usage"] { - list-style-image: url(chrome://global/skin/icons/question-64.png); +.login-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#login); } .popup-notification-icon[popupid="password"] { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-64.png); + list-style-image: url(chrome://browser/skin/notification-icons.svg#login-detailed); } -.popup-notification-icon[popupid="webRTC-sharingDevices"], -.popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64.png); +#login-fill-notification-icon { + /* Temporary solution until the capture and fill doorhangers are unified. */ + transform: scaleX(-1); } -.popup-notification-icon[popupid="webRTC-sharingMicrophone"], -.popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64.png); +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.camera-icon, +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-sharingDevices"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera); } -.popup-notification-icon[popupid="webRTC-sharingScreen"], -.popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64.png); +.camera-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera-blocked); } -.popup-notification-icon[popupid="pointerLock"] { - list-style-image: url(chrome://browser/skin/pointerLock-64.png); +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingMicrophone-notification-icon, +.microphone-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone); } -.popup-notification-icon[popupid="servicesInstall"] { - list-style-image: url(chrome://browser/skin/social/services-64.png); +.microphone-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-blocked); } -/* Notification icon box */ -#notification-popup-box { - position: relative; - background-color: transparent; - background-clip: padding-box; - padding-left: 5px; - padding-right: 8px; - border-width: 0 1px 0 0; - border-style: solid; - border-color: transparentize($entry_border, 0.5); - //border-image: url("chrome://browser/skin/urlbar-arrow.png") 0 8 0 0 fill; - //-moz-margin-end: -8px; +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-detailed); } -//window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #forward-button[disabled] + #urlbar > #notification-popup-box { -// padding-left: 7px; -//} +.popup-notification-icon[popupid="webRTC-shareScreen"], +.popup-notification-icon[popupid="webRTC-sharingScreen"], +.screen-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen); +} -/* This changes the direction of the main notification box on the url bar. */ -#notification-popup-box:-moz-locale-dir(rtl), -/* This adds a second flip for the notification anchors, as they don't switch direction - for RTL mode. */ -.notification-anchor-icon:-moz-locale-dir(rtl) { - transform: scaleX(-1); +.screen-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen-blocked); } -/* For the anchor icons in the chat window, we don't have the notification popup box, - so we need to cancel the RTL transform. */ -.notification-anchor-icon.chat-toolbarbutton:-moz-locale-dir(rtl) { - transform: none; +.popup-notification-icon[popupid="pointerLock"], +.pointerLock-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock); } -/* This class can be used alone or in combination with the class defining the - type of icon displayed. This rule must be defined before the others in order - for its list-style-image to be overridden. */ -.notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); - width: 16px; - height: 16px; - margin: 0 2px; +.pointerLock-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock-blocked); } -@media (min-resolution: 1.1dppx) { - .notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); - } +/* This icon has a block sign in it, so we don't need a blocked version. */ +.popup-icon { + list-style-image: url("chrome://browser/skin/notification-icons.svg#popup"); } -.geo-icon { - list-style-image: url(chrome://browser/skin/Geolocation-16.png); +/* EME */ + +.popup-notification-icon[popupid="drmContentPlaying"], +.drm-icon { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); +} + +.drm-icon:hover:active { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); +} + +#eme-notification-icon[firstplay=true] { + animation: emeTeachingMoment 0.2s linear 0s 5 normal; } +@keyframes emeTeachingMoment { + 0% {transform: translateX(0); } + 25% {transform: translateX(3px) } + 75% {transform: translateX(-3px) } + 100% { transform: translateX(0); } +} + +/* INSTALL ADDONS */ + .install-icon { list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#default); } -.install-icon:hover { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#hover); +.popup-notification-icon[popupid="xpinstall-disabled"], +.popup-notification-icon[popupid="addon-install-blocked"], +.popup-notification-icon[popupid="addon-install-origin-blocked"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); } -.install-icon:hover:active { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#active); +.popup-notification-icon[popupid="addon-progress"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); } -.indexedDB-icon { - list-style-image: url(chrome://global/skin/icons/question-16.png); +.popup-notification-icon[popupid="addon-install-failed"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); } -.login-icon { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-16.png); +.popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); } -#login-fill-notification-icon { - /* Temporary solution until the capture and fill doorhangers are unified. */ - transform: scaleX(-1); +#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); } -.plugin-icon { - list-style-image: url(chrome://browser/skin/notification-pluginNormal.png); +.popup-notification-icon[popupid="addon-install-complete"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); } -.plugin-icon.plugin-hidden { - list-style-image: url(chrome://browser/skin/notification-pluginAlert.png); +.popup-notification-icon[popupid="addon-install-restart"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); } -.plugin-icon.plugin-blocked { - list-style-image: url(chrome://browser/skin/notification-pluginBlocked.png); +.popup-notification-icon[popupid="click-to-play-plugins"] { + list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); } -.plugin-icon { - -moz-image-region: rect(0, 16px, 16px, 0); +/* OFFLINE APPS */ + +.popup-notification-icon[popupid*="offline-app-requested"], +.popup-notification-icon[popupid="offline-app-usage"] { + list-style-image: url(chrome://global/skin/icons/question-64.png); } -.plugin-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); +/* PLUGINS */ + +.plugin-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); } -.plugin-icon:active { - -moz-image-region: rect(0, 48px, 16px, 32px); +.plugin-icon.plugin-blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + fill: #d92215 !important; /* important! to override the default hover color */ } #notification-popup-box[hidden] { @@ -2140,55 +2380,19 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box } } -.camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16.png); -} - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingDevices-notification-icon, -.camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16.png); -} - -.microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16.png); -} - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingMicrophone-notification-icon, -.microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16.png); -} - -.screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16.png); -} - -.screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16.png); -} - -.web-notifications-icon { - list-style-image: url(chrome://browser/skin/web-notifications-tray.svg); - -moz-image-region: rect(0, 16px, 16px, 0); -} - -.web-notifications-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); -} - -.web-notifications-icon:hover:active { - -moz-image-region: rect(0, 48px, 16px, 32px); -} +/* SOCIAL API */ -.pointer-icon { - list-style-image: url(chrome://browser/skin/pointerLock-16.png); +.popup-notification-icon[popupid="servicesInstall"] { + list-style-image: url(chrome://browser/skin/social/services-64.png); } .service-icon { list-style-image: url(chrome://browser/skin/social/services-16.png); } + +/* TRANSLATION */ + .translation-icon { list-style-image: url(chrome://browser/skin/translation-16.png); -moz-image-region: rect(0px, 16px, 16px, 0px); @@ -2198,74 +2402,6 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box -moz-image-region: rect(0px, 32px, 16px, 16px); } -/* EME notifications */ - -.popup-notification-icon[popupid="drmContentPlaying"], -.drm-icon { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); -} - -.drm-icon:hover:active { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); -} - -#eme-notification-icon[firstplay=true] { - animation: emeTeachingMoment 0.2s linear 0s 5 normal; -} - -@keyframes emeTeachingMoment { - 0% {transform: translateX(0); } - 25% {transform: translateX(3px) } - 75% {transform: translateX(-3px) } - 100% { transform: translateX(0); } -} - -/* HiDPI notification icons */ -@media (min-resolution: 1.1dppx) { - #notification-popup-box { - //border-image: url("chrome://browser/skin/urlbar-arrow@2x.png") 0 16 0 0 fill; - } - - .camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16@2x.png); - } - - .camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16@2x.png); - } - - .microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16@2x.png); - } - - .microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16@2x.png); - } - - .screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16@2x.png); - } - - .screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16@2x.png); - } - - .popup-notification-icon[popupid="webRTC-sharingDevices"], - .popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64@2x.png); - } - - .popup-notification-icon[popupid="webRTC-sharingMicrophone"], - .popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64@2x.png); - } - - .popup-notification-icon[popupid="webRTC-sharingScreen"], - .popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64@2x.png); - } - -} .popup-notification-body[popupid="addon-progress"], .popup-notification-body[popupid="addon-install-confirmation"] { @@ -2278,18 +2414,11 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box } /* Notification icon box */ -#notification-popup-box { - border-radius: 2.5px 0 0 2.5px; -} .notification-anchor-icon:-moz-focusring { outline: 1px dotted -moz-DialogText; } -.indexedDB-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-question?size=16); -} - /* Translation infobar */ notification[value="translation"] .messageImage { @@ -2987,12 +3116,14 @@ html|span.ac-emphasize-text-url { .tab-throbber, .tab-icon-image, +.tab-sharing-icon-overlay, .tab-icon-sound, .tab-close-button { margin-top: 1px; } .tab-throbber, +.tab-sharing-icon-overlay, .tab-icon-image { height: 16px; width: 16px; @@ -3003,6 +3134,47 @@ html|span.ac-emphasize-text-url { list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png"); } +.tab-icon-image[sharing]:not([selected]), +.tab-sharing-icon-overlay { + animation: 3s linear pulse infinite; +} + +@keyframes pulse { + 0%, 16.66%, 83.33%, 100% { + opacity: 0; + } + 33.33%, 66.66% { + opacity: 1; + } +} + +.tab-icon-image[sharing]:not([selected]) { + animation-delay: -1.5s; +} + +.tab-sharing-icon-overlay { + /* 16px of the icon + 6px of margin-inline-end of .tab-icon-image */ + margin-inline-start: -22px; + position: relative; +} + +.tab-sharing-icon-overlay[sharing="camera"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#camera"); +} + +.tab-sharing-icon-overlay[sharing="microphone"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#microphone"); +} + +.tab-sharing-icon-overlay[sharing="screen"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#screen"); +} + +.tab-sharing-icon-overlay[sharing] { + filter: url("chrome://browser/skin/filters.svg#fill"); + fill: rgb(224, 41, 29); +} + .tab-icon-overlay { width: 16px; height: 16px; @@ -3478,7 +3650,7 @@ html|span.ac-emphasize-text-url { /* Tabstrip new tab button */ .tabs-newtab-button, #TabsToolbar > #new-tab-button , -#TabsToolbar > #wrapper-new-tab-button > #new-tab-button { +#TabsToolbar > toolbarpaletteitem > #new-tab-button { list-style-image: url("moz-icon://stock/gtk-add?size=menu"); -moz-image-region: auto; } @@ -3592,7 +3764,7 @@ toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron.gif") !important; } -toolbar[brighttext] toolbarbutton.chevron:not(:hover):not([open="true"]) { +toolbar[brighttext] toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron-inverted.png") !important; } @@ -3611,17 +3783,14 @@ toolbarbutton.chevron > .toolbarbutton-icon { /* Ctrl-Tab */ -.ctrlTab-preview { - -moz-appearance: toolbarbutton; -} - -.tabPreview-canvas { - box-shadow: 0 0 5px ThreeDShadow; -} - -.ctrlTab-preview:focus .tabPreview-canvas, -.ctrlTab-preview:hover .tabPreview-canvas { - box-shadow: none; +#ctrlTab-panel { + -moz-appearance: none; + background: rgba(27%,27%,27%,.7); + color: white; + border-style: none; + padding: 20px 10px 10px; + font-weight: bold; + text-shadow: 0 0 1px rgb(27%,27%,27%), 0 0 2px rgb(27%,27%,27%); } .ctrlTab-favicon[src] { @@ -3631,19 +3800,39 @@ toolbarbutton.chevron > .toolbarbutton-icon { padding: 2px; } -#ctrlTab-panel { - padding: 10px; +.ctrlTab-preview-inner > .tabPreview-canvas { + box-shadow: 1px 1px 2px hsl(0,0%,12%); } -.ctrlTab-preview:not(#ctrlTab-showAll) .tabPreview-canvas { +.ctrlTab-preview:not(#ctrlTab-showAll) > * > .ctrlTab-preview-inner > .tabPreview-canvas { margin-bottom: 2px; } +.ctrlTab-preview-inner { + padding-bottom: 10px; +} + +#ctrlTab-showAll:not(:focus) > * > .ctrlTab-preview-inner { + padding: 10px; + background-color: rgba(255,255,255,.2); + border-radius: .5em; +} + +.ctrlTab-preview:focus > * > .ctrlTab-preview-inner { + color: white; + background-color: rgba(0,0,0,.6); + text-shadow: none; + padding: 8px; + border: 2px solid white; + border-radius: .5em; +} + +.ctrlTab-preview:not(#ctrlTab-showAll):focus > * > .ctrlTab-preview-inner { + margin: -10px -10px 0; +} + #ctrlTab-showAll { - -moz-appearance: button; - color: ButtonText; - padding: 0 3px; - margin-top: 10px; + margin-top: .5em; } /* Status panel */ @@ -3673,7 +3862,7 @@ toolbarbutton.chevron > .toolbarbutton-icon { } -html|*#fullscreen-warning { +html|*.pointerlockfswarning { align-items: center; color: $dark_sidebar_fg; background: $dark_sidebar_bg; @@ -3684,34 +3873,34 @@ html|*#fullscreen-warning { font: message-box; } -html|*#fullscreen-warning::before { +html|*.pointerlockfswarning::before { margin: 0; width: 24px; height: 24px; } -html|*#fullscreen-warning.verifiedIdentity::before, -html|*#fullscreen-warning.verifiedDomain::before { +html|*.pointerlockfswarning[data-identity="verifiedIdentity"]::before, +html|*.pointerlockfswarning[data-identity="verifiedDomain"]::before { content: url("chrome://browser/skin/fullscreen/secure.svg"); } -html|*#fullscreen-warning.unknownIdentity::before { +html|*.pointerlockfswarning[data-identity="unknownIdentity"]::before { content: url("chrome://browser/skin/fullscreen/insecure.svg"); } -html|*#fullscreen-domain-text, -html|*#fullscreen-generic-text { +html|*.pointerlockfswarning-domain-text, +html|*.pointerlockfswarning-generic-text { font-size: 21px; font-weight: lighter; color: #fafafa; margin: 0 16px; } -html|*#fullscreen-domain { +html|*.pointerlockfswarning-domain { font-weight: bold; margin: 0; } -html|*#fullscreen-exit-button { +html|*.pointerlockfswarning-exit-button { padding: 5px 30px; font: message-box; font-size: 14px; @@ -3727,7 +3916,6 @@ html|*#fullscreen-exit-button { &:hover { @include button(osd-hover); } &:active, &:checked { @include button(osd-active); } } - /* Responsive Mode */ .browserContainer[responsivemode] { @@ -3891,6 +4079,10 @@ html|*#fullscreen-exit-button { list-style-image: url("chrome://devtools/skin/images/close.svg"); } +.devtools-responsiveui-close > image { + filter: invert(1); +} + .devtools-responsiveui-rotate { list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-rotate.png"); } @@ -4338,8 +4530,9 @@ html|*#gcli-output-frame { } .messageImage[value="plugin-hidden"] { - list-style-image: url("chrome://browser/skin/notification-pluginNormal.png"); - -moz-image-region: rect(0, 16px, 16px, 0); + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #808080; } /* Keep any changes to this style in sync with pluginProblem.css */ @@ -4350,7 +4543,9 @@ notification.pluginVulnerable { } notification.pluginVulnerable .messageImage { - list-style-image: url("chrome://browser/skin/notification-pluginBlocked.png"); + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #d92215; } notification.pluginVulnerable > .notification-inner > .messageCloseButton:not(:hover) { @@ -4669,23 +4864,6 @@ toolbar[brighttext] #downloads-indicator-counter { margin-inline-end: 2px; } -/* Social toolbar item */ - -.social-activation-icon { - width: auto; - height: auto; - max-height: 64px; - max-width: 64px; -} - -#social-activation-message { - max-width: 250px; -} - -#social-activation-message > label { - margin: 0; -} - /* social toolbar provider menu */ #social-statusarea-popup { margin-top: 0; @@ -4950,6 +5128,10 @@ window > chatbox { /* Customization mode */ +:root { + --drag-drop-transition-duration: .3s; +} + #main-window:-moz-any([customize-entering],[customize-entered]) #browser-bottombox { margin-bottom: 2em; } @@ -5036,7 +5218,7 @@ window > chatbox { #customization-palette, #customization-empty { - padding: 0 25px 25px; + padding: 5px 25px 25px; } #customization-header { @@ -5159,7 +5341,7 @@ toolbarpaletteitem[mousedown] { .panel-customization-placeholder, toolbarpaletteitem[place="palette"], toolbarpaletteitem[place="panel"] { - transition: transform .3s ease-in-out; + transition: transform var(--drag-drop-transition-duration) ease-in-out; } #customization-palette { @@ -5171,6 +5353,10 @@ toolbarpaletteitem[place="panel"] { opacity: 1; } +toolbarpaletteitem toolbarbutton[disabled] { + color: inherit !important; +} + toolbarpaletteitem[notransition].panel-customization-placeholder, toolbarpaletteitem[notransition][place="toolbar"], toolbarpaletteitem[notransition][place="palette"], @@ -5182,7 +5368,7 @@ toolbarpaletteitem > toolbarbutton > .toolbarbutton-icon, toolbarpaletteitem > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon, toolbarpaletteitem > toolbaritem.panel-wide-item, toolbarpaletteitem > toolbarbutton[type="menu-button"] { - transition: transform .3s cubic-bezier(.6, 2, .75, 1.5) !important; + transition: transform var(--drag-drop-transition-duration) cubic-bezier(.6, 2, .75, 1.5) !important; } toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-icon, @@ -5210,11 +5396,22 @@ toolbarpaletteitem[place="toolbar"] { toolbarpaletteitem[place="palette"]:-moz-focusring, toolbarpaletteitem[place="panel"]:-moz-focusring, toolbarpaletteitem[place="toolbar"]:-moz-focusring { + outline-width: 0; +} + +toolbarpaletteitem[place="palette"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="panel"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + /* Delay adding the focusring back until after the transform transition completes. */ + transition: outline-width .01s linear var(--drag-drop-transition-duration); outline: 1px dotted rgba(0,0,0,.5); - outline-offset: -5px; -moz-outline-radius: 2.5px; } +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + outline-offset: -5px; +} + #wrapper-edit-controls[place="palette"] > #edit-controls > toolbarbutton, #wrapper-edit-controls[place="palette"] > #edit-controls > separator, #wrapper-zoom-controls[place="palette"] > #zoom-controls > toolbarbutton, @@ -5915,6 +6112,6 @@ notification.heartbeat { border-radius: inherit; } -.menuitem-iconic[command="Browser:NewUserContextTab"] > .menu-iconic-left > .menu-iconic-icon { +.menuitem-iconic[usercontextid] > .menu-iconic-left > .menu-iconic-icon { visibility: visible; } diff --git a/arc-firefox-theme/chrome/browser/sass/browser-dark.css b/arc-firefox-theme/chrome/browser/sass/browser-dark.css index a29f2b0..ab1ce34 100644 --- a/arc-firefox-theme/chrome/browser/sass/browser-dark.css +++ b/arc-firefox-theme/chrome/browser/sass/browser-dark.css @@ -774,6 +774,171 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #webide-button[cui-areatype="toolbar"] { -moz-image-region: rect(0, 738px, 18px, 720px); } +/* +@media (min-resolution: 1.1dppx) { + :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar@2x.png"); + } + + toolbar[brighttext] :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + toolbar[brighttext] #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar-inverted@2x.png"); + } + + #back-button { + -moz-image-region: rect(0, 72px, 36px, 36px); + } + + #forward-button { + -moz-image-region: rect(0, 144px, 36px, 108px); + } + + #home-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 252px, 36px, 216px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 288px, 36px, 252px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"][starred] { + -moz-image-region: rect(0, 324px, 36px, 288px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + -moz-image-region: rect(0px, 1260px, 36px, 1224px); + } + + #history-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 360px, 36px, 324px); + } + + #downloads-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 396px, 36px, 360px); + } + + #add-ons-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 432px, 36px, 396px); + } + + #open-file-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 468px, 36px, 432px); + } + + #save-page-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 504px, 36px, 468px); + } + + #sync-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1584px, 36px, 1548px); + } + + #containers-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1620px, 36px, 1584px); + } + + #feed-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 576px, 36px, 540px); + } + + #social-share-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 612px, 36px, 576px); + } + + #characterencoding-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 648px, 36px, 612px); + } + + #new-window-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button > .toolbarbutton-icon { + transform: scaleY(-1); + } + + #new-tab-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 720px, 36px, 684px); + } + + #privatebrowsing-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 756px, 36px, 720px); + } + + #find-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 792px, 36px, 756px); + } + + #print-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 828px, 36px, 792px); + } + + #fullscreen-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 864px, 36px, 828px); + } + + #developer-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 900px, 36px, 864px); + } + + #preferences-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 936px, 36px, 900px); + } + + #PanelUI-menu-button { + -moz-image-region: rect(0, 972px, 36px, 936px); + } + + #edit-controls[cui-areatype="toolbar"] > #cut-button { + -moz-image-region: rect(0, 1008px, 36px, 972px); + } + + #edit-controls[cui-areatype="toolbar"] > #copy-button { + -moz-image-region: rect(0, 1044px, 36px, 1008px); + } + + #edit-controls[cui-areatype="toolbar"] > #paste-button { + -moz-image-region: rect(0, 1080px, 36px, 1044px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-out-button { + -moz-image-region: rect(0, 1116px, 36px, 1080px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-in-button { + -moz-image-region: rect(0, 1152px, 36px, 1116px); + } + + #nav-bar-overflow-button { + -moz-image-region: rect(0, 1224px, 36px, 1188px); + } + + #email-link-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1332px, 36px, 1296px); + } + + #sidebar-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1368px, 36px, 1332px); + } + + #panic-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1404px, 36px, 1368px); + } + + #panic-button[cui-areatype="toolbar"][open] { + -moz-image-region: rect(36px, 1404px, 72px, 1368px); + } + + #webide-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1476px, 36px, 1440px); + } +} +*/ /* Menu panel and palette styles */ :root { --menupanel-list-style-image: url(chrome://browser/skin/menuPanel.png); @@ -1132,7 +1297,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { /* Fullscreen window controls */ #window-controls { -moz-box-align: start; - -moz-margin-start: 10px; } + margin-inline-start: 10px; } #close-button, #restore-button, #minimize-button { padding: 2px 4px; @@ -1206,7 +1371,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #urlbar-wrapper[switchingtabs] > #urlbar > .urlbar-textbox-container > .urlbar-history-dropmarker { transition: none; } -#navigator-toolbox:not(:hover) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { +#navigator-toolbox:not(:hover) #nav-bar:not([customizing="true"]) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { opacity: 0; } #urlbar-container { @@ -1246,9 +1411,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #urlbar-display-box { margin-top: -1px; - margin-bottom: -1px; - border-inline-end: 1px solid #AAA; - margin-inline-end: 3px; } + margin-bottom: -1px; } .urlbar-display { margin-top: 0; @@ -1346,19 +1509,23 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { padding-inline-start: 9px; border-radius: 0; } -window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box { - border-radius: 0; } - /* MAIN IDENTITY ICON */ #identity-icon { width: 16px; height: 16px; list-style-image: url(chrome://browser/skin/identity-icon.svg#normal); } -#identity-box:hover > #identity-icon, +#identity-box:hover > #identity-icon:not(.no-hover), #identity-box[open=true] > #identity-icon { list-style-image: url(chrome://browser/skin/identity-icon.svg#hover); } +#identity-box.grantedPermissions > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice); } + +#identity-box.grantedPermissions:hover > #identity-icon:not(.no-hover), +#identity-box.grantedPermissions[open=true] > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice-hover); } + #urlbar[pageproxystate="valid"] > #identity-box.chromeUI > #identity-icon { list-style-image: url(chrome://branding/content/identity-icons-brand.svg); } @@ -1405,10 +1572,15 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box visibility: collapse; } #urlbar[pageproxystate="valid"] > #identity-box.verifiedDomain > #connection-icon, -#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon { +#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon, +#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { list-style-image: url(chrome://browser/skin/identity-secure.svg); visibility: visible; } +#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { + list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); + visibility: visible; } + #urlbar[pageproxystate="valid"] > #identity-box.insecureLoginForms > #connection-icon, #urlbar[pageproxystate="valid"] > #identity-box.mixedActiveContent > #connection-icon { list-style-image: url(chrome://browser/skin/identity-mixed-active-loaded.svg); @@ -1420,149 +1592,206 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); visibility: visible; } -#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-active-blocked.svg); - visibility: visible; } +#notification-popup-box { + padding: 5px 0px; + margin: -5px 0px; + margin-inline-end: -5px; + padding-inline-end: 5px; } -#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); - visibility: visible; } +/* This class can be used alone or in combination with the class defining the + type of icon displayed. This rule must be defined before the others in order + for its list-style-image to be overridden. */ +.notification-anchor-icon { + width: 16px; + height: 16px; + margin-inline-start: 2px; + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); } +@media (min-resolution: 1.1dppx) { + .notification-anchor-icon { + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); } } .popup-notification-icon { width: 64px; height: 64px; margin-inline-end: 10px; } -.popup-notification-icon[popupid="geolocation"] { - list-style-image: url(chrome://browser/skin/Geolocation-64.png); } +#notification-popup-box > .notification-anchor-icon:not(.in-use):hover { + fill: #606060; } -.popup-notification-icon[popupid="xpinstall-disabled"], -.popup-notification-icon[popupid="addon-install-blocked"], -.popup-notification-icon[popupid="addon-install-origin-blocked"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); } +/* INDIVIDUAL NOTIFICATIONS */ +/* For the moment we apply the color filter only on the icons listed here. + The first two selectors are used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.camera-icon, +.geo-icon, +.indexedDB-icon, +.install-icon, +.login-icon, +.microphone-icon, +.plugin-icon, +.pointerLock-icon, +.popup-icon, +.screen-icon, +.desktop-notification-icon, +.popup-notification-icon[popupid="geolocation"], +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.popup-notification-icon[popupid="password"], +.popup-notification-icon[popupid="pointerLock"], +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-shareScreen"], +.popup-notification-icon[popupid="webRTC-sharingDevices"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingScreen"], +.popup-notification-icon[popupid="web-notifications"] { + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #999; } -.popup-notification-icon[popupid="addon-progress"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); } +/* The first two selectors are used by socialchat.xml (bug 1275558). The + notifications in the chat window are only shown when they are in use. */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.in-use { + fill: #fea01b; } -.popup-notification-icon[popupid="addon-install-failed"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); } +.popup-notification-icon[popupid="web-notifications"], +.desktop-notification-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification); } -.popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); } +.desktop-notification-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification-blocked); } -#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); } +.geo-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux); } -.popup-notification-icon[popupid="addon-install-complete"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); } +.geo-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-blocked); } -.popup-notification-icon[popupid="addon-install-restart"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); } +.popup-notification-icon[popupid="geolocation"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-detailed); } -.popup-notification-icon[popupid="click-to-play-plugins"] { - list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); } +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.indexedDB-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB); } -.popup-notification-icon[popupid="web-notifications"] { - list-style-image: url(chrome://browser/skin/web-notifications-icon.svg); } +.indexedDB-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB-blocked); } -.popup-notification-icon[popupid="indexedDB-permissions-prompt"], -.popup-notification-icon[popupid*="offline-app-requested"], -.popup-notification-icon[popupid="offline-app-usage"] { - list-style-image: url(chrome://global/skin/icons/question-64.png); } +.login-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#login); } .popup-notification-icon[popupid="password"] { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-64.png); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#login-detailed); } -.popup-notification-icon[popupid="webRTC-sharingDevices"], -.popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64.png); } +#login-fill-notification-icon { + /* Temporary solution until the capture and fill doorhangers are unified. */ + transform: scaleX(-1); } -.popup-notification-icon[popupid="webRTC-sharingMicrophone"], -.popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64.png); } +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.camera-icon, +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-sharingDevices"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera); } + +.camera-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera-blocked); } +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingMicrophone-notification-icon, +.microphone-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone); } + +.microphone-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-blocked); } + +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-detailed); } + +.popup-notification-icon[popupid="webRTC-shareScreen"], .popup-notification-icon[popupid="webRTC-sharingScreen"], -.popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64.png); } +.screen-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen); } -.popup-notification-icon[popupid="pointerLock"] { - list-style-image: url(chrome://browser/skin/pointerLock-64.png); } +.screen-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen-blocked); } -.popup-notification-icon[popupid="servicesInstall"] { - list-style-image: url(chrome://browser/skin/social/services-64.png); } +.popup-notification-icon[popupid="pointerLock"], +.pointerLock-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock); } -/* Notification icon box */ -#notification-popup-box { - position: relative; - background-color: transparent; - background-clip: padding-box; - padding-left: 5px; - padding-right: 8px; - border-width: 0 1px 0 0; - border-style: solid; - border-color: rgba(43, 46, 57, 0.5); } +.pointerLock-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock-blocked); } -/* This changes the direction of the main notification box on the url bar. */ -#notification-popup-box:-moz-locale-dir(rtl), -.notification-anchor-icon:-moz-locale-dir(rtl) { - transform: scaleX(-1); } +/* This icon has a block sign in it, so we don't need a blocked version. */ +.popup-icon { + list-style-image: url("chrome://browser/skin/notification-icons.svg#popup"); } -/* For the anchor icons in the chat window, we don't have the notification popup box, - so we need to cancel the RTL transform. */ -.notification-anchor-icon.chat-toolbarbutton:-moz-locale-dir(rtl) { - transform: none; } +/* EME */ +.popup-notification-icon[popupid="drmContentPlaying"], +.drm-icon { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); } -/* This class can be used alone or in combination with the class defining the - type of icon displayed. This rule must be defined before the others in order - for its list-style-image to be overridden. */ -.notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); - width: 16px; - height: 16px; - margin: 0 2px; } +.drm-icon:hover:active { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); } -@media (min-resolution: 1.1dppx) { - .notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); } } -.geo-icon { - list-style-image: url(chrome://browser/skin/Geolocation-16.png); } +#eme-notification-icon[firstplay=true] { + animation: emeTeachingMoment 0.2s linear 0s 5 normal; } +@keyframes emeTeachingMoment { + 0% { + transform: translateX(0); } + 25% { + transform: translateX(3px); } + 75% { + transform: translateX(-3px); } + 100% { + transform: translateX(0); } } +/* INSTALL ADDONS */ .install-icon { list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#default); } -.install-icon:hover { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#hover); } +.popup-notification-icon[popupid="xpinstall-disabled"], +.popup-notification-icon[popupid="addon-install-blocked"], +.popup-notification-icon[popupid="addon-install-origin-blocked"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); } -.install-icon:hover:active { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#active); } +.popup-notification-icon[popupid="addon-progress"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); } -.indexedDB-icon { - list-style-image: url(chrome://global/skin/icons/question-16.png); } +.popup-notification-icon[popupid="addon-install-failed"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); } -.login-icon { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-16.png); } +.popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); } -#login-fill-notification-icon { - /* Temporary solution until the capture and fill doorhangers are unified. */ - transform: scaleX(-1); } +#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); } -.plugin-icon { - list-style-image: url(chrome://browser/skin/notification-pluginNormal.png); } +.popup-notification-icon[popupid="addon-install-complete"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); } -.plugin-icon.plugin-hidden { - list-style-image: url(chrome://browser/skin/notification-pluginAlert.png); } +.popup-notification-icon[popupid="addon-install-restart"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); } -.plugin-icon.plugin-blocked { - list-style-image: url(chrome://browser/skin/notification-pluginBlocked.png); } +.popup-notification-icon[popupid="click-to-play-plugins"] { + list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); } -.plugin-icon { - -moz-image-region: rect(0, 16px, 16px, 0); } +/* OFFLINE APPS */ +.popup-notification-icon[popupid*="offline-app-requested"], +.popup-notification-icon[popupid="offline-app-usage"] { + list-style-image: url(chrome://global/skin/icons/question-64.png); } -.plugin-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); } +/* PLUGINS */ +.plugin-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); } -.plugin-icon:active { - -moz-image-region: rect(0, 48px, 16px, 32px); } +.plugin-icon.plugin-blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + fill: #d92215 !important; + /* important! to override the default hover color */ } #notification-popup-box[hidden] { /* Override display:none to make the pluginBlockedNotification animation work @@ -1578,44 +1807,14 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box opacity: 0; } to { opacity: 1; } } -.camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16.png); } - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingDevices-notification-icon, -.camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16.png); } - -.microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16.png); } - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingMicrophone-notification-icon, -.microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16.png); } - -.screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16.png); } - -.screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16.png); } - -.web-notifications-icon { - list-style-image: url(chrome://browser/skin/web-notifications-tray.svg); - -moz-image-region: rect(0, 16px, 16px, 0); } - -.web-notifications-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); } - -.web-notifications-icon:hover:active { - -moz-image-region: rect(0, 48px, 16px, 32px); } - -.pointer-icon { - list-style-image: url(chrome://browser/skin/pointerLock-16.png); } +/* SOCIAL API */ +.popup-notification-icon[popupid="servicesInstall"] { + list-style-image: url(chrome://browser/skin/social/services-64.png); } .service-icon { list-style-image: url(chrome://browser/skin/social/services-16.png); } +/* TRANSLATION */ .translation-icon { list-style-image: url(chrome://browser/skin/translation-16.png); -moz-image-region: rect(0px, 16px, 16px, 0px); } @@ -1623,57 +1822,6 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box .translation-icon.in-use { -moz-image-region: rect(0px, 32px, 16px, 16px); } -/* EME notifications */ -.popup-notification-icon[popupid="drmContentPlaying"], -.drm-icon { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); } - -.drm-icon:hover:active { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); } - -#eme-notification-icon[firstplay=true] { - animation: emeTeachingMoment 0.2s linear 0s 5 normal; } - -@keyframes emeTeachingMoment { - 0% { - transform: translateX(0); } - 25% { - transform: translateX(3px); } - 75% { - transform: translateX(-3px); } - 100% { - transform: translateX(0); } } -/* HiDPI notification icons */ -@media (min-resolution: 1.1dppx) { - .camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16@2x.png); } - - .camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16@2x.png); } - - .microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16@2x.png); } - - .microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16@2x.png); } - - .screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16@2x.png); } - - .screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingDevices"], - .popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingMicrophone"], - .popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingScreen"], - .popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64@2x.png); } } .popup-notification-body[popupid="addon-progress"], .popup-notification-body[popupid="addon-install-confirmation"] { width: 28em; @@ -1683,15 +1831,9 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box font-weight: bold; } /* Notification icon box */ -#notification-popup-box { - border-radius: 2.5px 0 0 2.5px; } - .notification-anchor-icon:-moz-focusring { outline: 1px dotted -moz-DialogText; } -.indexedDB-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-question?size=16); } - /* Translation infobar */ notification[value="translation"] .messageImage { list-style-image: url(chrome://browser/skin/translation-16.png); @@ -2231,11 +2373,13 @@ html|span.ac-emphasize-text-url { .tab-throbber, .tab-icon-image, +.tab-sharing-icon-overlay, .tab-icon-sound, .tab-close-button { margin-top: 1px; } .tab-throbber, +.tab-sharing-icon-overlay, .tab-icon-image { height: 16px; width: 16px; @@ -2244,6 +2388,36 @@ html|span.ac-emphasize-text-url { .tab-icon-image { list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png"); } +.tab-icon-image[sharing]:not([selected]), +.tab-sharing-icon-overlay { + animation: 3s linear pulse infinite; } + +@keyframes pulse { + 0%, 16.66%, 83.33%, 100% { + opacity: 0; } + 33.33%, 66.66% { + opacity: 1; } } +.tab-icon-image[sharing]:not([selected]) { + animation-delay: -1.5s; } + +.tab-sharing-icon-overlay { + /* 16px of the icon + 6px of margin-inline-end of .tab-icon-image */ + margin-inline-start: -22px; + position: relative; } + +.tab-sharing-icon-overlay[sharing="camera"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#camera"); } + +.tab-sharing-icon-overlay[sharing="microphone"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#microphone"); } + +.tab-sharing-icon-overlay[sharing="screen"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#screen"); } + +.tab-sharing-icon-overlay[sharing] { + filter: url("chrome://browser/skin/filters.svg#fill"); + fill: #e0291d; } + .tab-icon-overlay { width: 16px; height: 16px; @@ -2570,7 +2744,7 @@ lwtHeader;*/ /* Tabstrip new tab button */ .tabs-newtab-button, #TabsToolbar > #new-tab-button, -#TabsToolbar > #wrapper-new-tab-button > #new-tab-button { +#TabsToolbar > toolbarpaletteitem > #new-tab-button { list-style-image: url("moz-icon://stock/gtk-add?size=menu"); -moz-image-region: auto; } @@ -2652,7 +2826,7 @@ menuitem:hover > hbox > .alltabs-endimage[soundplaying] { toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron.gif") !important; } -toolbar[brighttext] toolbarbutton.chevron:not(:hover):not([open="true"]) { +toolbar[brighttext] toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron-inverted.png") !important; } toolbarbutton.chevron:-moz-locale-dir(rtl) > .toolbarbutton-icon { @@ -2666,15 +2840,14 @@ toolbarbutton.chevron > .toolbarbutton-icon { margin: 0; } /* Ctrl-Tab */ -.ctrlTab-preview { - -moz-appearance: toolbarbutton; } - -.tabPreview-canvas { - box-shadow: 0 0 5px ThreeDShadow; } - -.ctrlTab-preview:focus .tabPreview-canvas, -.ctrlTab-preview:hover .tabPreview-canvas { - box-shadow: none; } +#ctrlTab-panel { + -moz-appearance: none; + background: rgba(68, 68, 68, 0.7); + color: white; + border-style: none; + padding: 20px 10px 10px; + font-weight: bold; + text-shadow: 0 0 1px #444444, 0 0 2px #444444; } .ctrlTab-favicon[src] { background-color: white; @@ -2682,17 +2855,33 @@ toolbarbutton.chevron > .toolbarbutton-icon { height: 20px; padding: 2px; } -#ctrlTab-panel { - padding: 10px; } +.ctrlTab-preview-inner > .tabPreview-canvas { + box-shadow: 1px 1px 2px #1f1f1f; } -.ctrlTab-preview:not(#ctrlTab-showAll) .tabPreview-canvas { +.ctrlTab-preview:not(#ctrlTab-showAll) > * > .ctrlTab-preview-inner > .tabPreview-canvas { margin-bottom: 2px; } +.ctrlTab-preview-inner { + padding-bottom: 10px; } + +#ctrlTab-showAll:not(:focus) > * > .ctrlTab-preview-inner { + padding: 10px; + background-color: rgba(255, 255, 255, 0.2); + border-radius: .5em; } + +.ctrlTab-preview:focus > * > .ctrlTab-preview-inner { + color: white; + background-color: rgba(0, 0, 0, 0.6); + text-shadow: none; + padding: 8px; + border: 2px solid white; + border-radius: .5em; } + +.ctrlTab-preview:not(#ctrlTab-showAll):focus > * > .ctrlTab-preview-inner { + margin: -10px -10px 0; } + #ctrlTab-showAll { - -moz-appearance: button; - color: ButtonText; - padding: 0 3px; - margin-top: 10px; } + margin-top: .5em; } /* Status panel */ .statuspanel-label { @@ -2716,7 +2905,7 @@ toolbarbutton.chevron > .toolbarbutton-icon { border-top-left-radius: .3em; margin-left: 1em; } -html|*#fullscreen-warning { +html|*.pointerlockfswarning { align-items: center; color: #BAC3CF; background: rgba(53, 57, 69, 0.95); @@ -2726,30 +2915,30 @@ html|*#fullscreen-warning { padding: 24px 16px; font: message-box; } -html|*#fullscreen-warning::before { +html|*.pointerlockfswarning::before { margin: 0; width: 24px; height: 24px; } -html|*#fullscreen-warning.verifiedIdentity::before, -html|*#fullscreen-warning.verifiedDomain::before { +html|*.pointerlockfswarning[data-identity="verifiedIdentity"]::before, +html|*.pointerlockfswarning[data-identity="verifiedDomain"]::before { content: url("chrome://browser/skin/fullscreen/secure.svg"); } -html|*#fullscreen-warning.unknownIdentity::before { +html|*.pointerlockfswarning[data-identity="unknownIdentity"]::before { content: url("chrome://browser/skin/fullscreen/insecure.svg"); } -html|*#fullscreen-domain-text, -html|*#fullscreen-generic-text { +html|*.pointerlockfswarning-domain-text, +html|*.pointerlockfswarning-generic-text { font-size: 21px; font-weight: lighter; color: #fafafa; margin: 0 16px; } -html|*#fullscreen-domain { +html|*.pointerlockfswarning-domain { font-weight: bold; margin: 0; } -html|*#fullscreen-exit-button { +html|*.pointerlockfswarning-exit-button { padding: 5px 30px; font: message-box; font-size: 14px; @@ -2762,11 +2951,11 @@ html|*#fullscreen-exit-button { color: #BAC3CF; border-color: rgba(26, 28, 34, 0.35); background-color: rgba(102, 109, 132, 0.35); } - html|*#fullscreen-exit-button:hover { + html|*.pointerlockfswarning-exit-button:hover { color: #BAC3CF; border-color: rgba(26, 28, 34, 0.35); background-color: rgba(119, 127, 151, 0.45); } - html|*#fullscreen-exit-button:active, html|*#fullscreen-exit-button:checked { + html|*.pointerlockfswarning-exit-button:active, html|*.pointerlockfswarning-exit-button:checked { color: #ffffff; border-color: rgba(26, 28, 34, 0.35); background-color: #5294E2; } @@ -2907,6 +3096,9 @@ html|*#fullscreen-exit-button { .devtools-responsiveui-close { list-style-image: url("chrome://devtools/skin/images/close.svg"); } +.devtools-responsiveui-close > image { + filter: invert(1); } + .devtools-responsiveui-rotate { list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-rotate.png"); } @@ -3278,8 +3470,9 @@ html|*#gcli-output-frame { margin: 0; } .messageImage[value="plugin-hidden"] { - list-style-image: url("chrome://browser/skin/notification-pluginNormal.png"); - -moz-image-region: rect(0, 16px, 16px, 0); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #808080; } /* Keep any changes to this style in sync with pluginProblem.css */ notification.pluginVulnerable { @@ -3288,7 +3481,9 @@ notification.pluginVulnerable { color: white; } notification.pluginVulnerable .messageImage { - list-style-image: url("chrome://browser/skin/notification-pluginBlocked.png"); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #d92215; } notification.pluginVulnerable > .notification-inner > .messageCloseButton:not(:hover) { background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 80, 16, 64); } @@ -3545,19 +3740,6 @@ toolbar[brighttext] #downloads-indicator-counter { border-radius: 1px; margin-inline-end: 2px; } -/* Social toolbar item */ -.social-activation-icon { - width: auto; - height: auto; - max-height: 64px; - max-width: 64px; } - -#social-activation-message { - max-width: 250px; } - -#social-activation-message > label { - margin: 0; } - /* social toolbar provider menu */ #social-statusarea-popup { margin-top: 0; @@ -3771,6 +3953,9 @@ window > chatbox { * 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/. */ /* Customization mode */ +:root { + --drag-drop-transition-duration: .3s; } + #main-window:-moz-any([customize-entering], [customize-entered]) #browser-bottombox { margin-bottom: 2em; } @@ -3843,7 +4028,7 @@ window > chatbox { #customization-palette, #customization-empty { - padding: 0 25px 25px; } + padding: 5px 25px 25px; } #customization-header { font-size: 1.75em; @@ -3938,7 +4123,7 @@ toolbarpaletteitem[mousedown] { .panel-customization-placeholder, toolbarpaletteitem[place="palette"], toolbarpaletteitem[place="panel"] { - transition: transform .3s ease-in-out; } + transition: transform var(--drag-drop-transition-duration) ease-in-out; } #customization-palette { transition: opacity .3s ease-in-out; @@ -3947,6 +4132,9 @@ toolbarpaletteitem[place="panel"] { #customization-palette[showing="true"] { opacity: 1; } +toolbarpaletteitem toolbarbutton[disabled] { + color: inherit !important; } + toolbarpaletteitem[notransition].panel-customization-placeholder, toolbarpaletteitem[notransition][place="toolbar"], toolbarpaletteitem[notransition][place="palette"], @@ -3957,7 +4145,7 @@ toolbarpaletteitem > toolbarbutton > .toolbarbutton-icon, toolbarpaletteitem > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon, toolbarpaletteitem > toolbaritem.panel-wide-item, toolbarpaletteitem > toolbarbutton[type="menu-button"] { - transition: transform 0.3s cubic-bezier(0.6, 2, 0.75, 1.5) !important; } + transition: transform var(--drag-drop-transition-duration) cubic-bezier(0.6, 2, 0.75, 1.5) !important; } toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-icon, toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon { @@ -3980,10 +4168,19 @@ toolbarpaletteitem[place="toolbar"] { toolbarpaletteitem[place="palette"]:-moz-focusring, toolbarpaletteitem[place="panel"]:-moz-focusring, toolbarpaletteitem[place="toolbar"]:-moz-focusring { + outline-width: 0; } + +toolbarpaletteitem[place="palette"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="panel"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + /* Delay adding the focusring back until after the transform transition completes. */ + transition: outline-width 0.01s linear var(--drag-drop-transition-duration); outline: 1px dotted rgba(0, 0, 0, 0.5); - outline-offset: -5px; -moz-outline-radius: 2.5px; } +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + outline-offset: -5px; } + #wrapper-edit-controls[place="palette"] > #edit-controls > toolbarbutton, #wrapper-edit-controls[place="palette"] > #edit-controls > separator, #wrapper-zoom-controls[place="palette"] > #zoom-controls > toolbarbutton, @@ -4553,7 +4750,7 @@ notification.heartbeat { .webextension-popup-browser { border-radius: inherit; } -.menuitem-iconic[command="Browser:NewUserContextTab"] > .menu-iconic-left > .menu-iconic-icon { +.menuitem-iconic[usercontextid] > .menu-iconic-left > .menu-iconic-icon { visibility: visible; } #nav-bar #loop-button, #nav-bar diff --git a/arc-firefox-theme/chrome/browser/sass/browser-darker.css b/arc-firefox-theme/chrome/browser/sass/browser-darker.css index 2650e51..92759b4 100644 --- a/arc-firefox-theme/chrome/browser/sass/browser-darker.css +++ b/arc-firefox-theme/chrome/browser/sass/browser-darker.css @@ -774,6 +774,171 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #webide-button[cui-areatype="toolbar"] { -moz-image-region: rect(0, 738px, 18px, 720px); } +/* +@media (min-resolution: 1.1dppx) { + :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar@2x.png"); + } + + toolbar[brighttext] :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + toolbar[brighttext] #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar-inverted@2x.png"); + } + + #back-button { + -moz-image-region: rect(0, 72px, 36px, 36px); + } + + #forward-button { + -moz-image-region: rect(0, 144px, 36px, 108px); + } + + #home-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 252px, 36px, 216px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 288px, 36px, 252px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"][starred] { + -moz-image-region: rect(0, 324px, 36px, 288px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + -moz-image-region: rect(0px, 1260px, 36px, 1224px); + } + + #history-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 360px, 36px, 324px); + } + + #downloads-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 396px, 36px, 360px); + } + + #add-ons-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 432px, 36px, 396px); + } + + #open-file-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 468px, 36px, 432px); + } + + #save-page-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 504px, 36px, 468px); + } + + #sync-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1584px, 36px, 1548px); + } + + #containers-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1620px, 36px, 1584px); + } + + #feed-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 576px, 36px, 540px); + } + + #social-share-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 612px, 36px, 576px); + } + + #characterencoding-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 648px, 36px, 612px); + } + + #new-window-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button > .toolbarbutton-icon { + transform: scaleY(-1); + } + + #new-tab-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 720px, 36px, 684px); + } + + #privatebrowsing-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 756px, 36px, 720px); + } + + #find-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 792px, 36px, 756px); + } + + #print-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 828px, 36px, 792px); + } + + #fullscreen-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 864px, 36px, 828px); + } + + #developer-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 900px, 36px, 864px); + } + + #preferences-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 936px, 36px, 900px); + } + + #PanelUI-menu-button { + -moz-image-region: rect(0, 972px, 36px, 936px); + } + + #edit-controls[cui-areatype="toolbar"] > #cut-button { + -moz-image-region: rect(0, 1008px, 36px, 972px); + } + + #edit-controls[cui-areatype="toolbar"] > #copy-button { + -moz-image-region: rect(0, 1044px, 36px, 1008px); + } + + #edit-controls[cui-areatype="toolbar"] > #paste-button { + -moz-image-region: rect(0, 1080px, 36px, 1044px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-out-button { + -moz-image-region: rect(0, 1116px, 36px, 1080px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-in-button { + -moz-image-region: rect(0, 1152px, 36px, 1116px); + } + + #nav-bar-overflow-button { + -moz-image-region: rect(0, 1224px, 36px, 1188px); + } + + #email-link-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1332px, 36px, 1296px); + } + + #sidebar-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1368px, 36px, 1332px); + } + + #panic-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1404px, 36px, 1368px); + } + + #panic-button[cui-areatype="toolbar"][open] { + -moz-image-region: rect(36px, 1404px, 72px, 1368px); + } + + #webide-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1476px, 36px, 1440px); + } +} +*/ /* Menu panel and palette styles */ :root { --menupanel-list-style-image: url(chrome://browser/skin/menuPanel.png); @@ -1132,7 +1297,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { /* Fullscreen window controls */ #window-controls { -moz-box-align: start; - -moz-margin-start: 10px; } + margin-inline-start: 10px; } #close-button, #restore-button, #minimize-button { padding: 2px 4px; @@ -1205,7 +1370,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #urlbar-wrapper[switchingtabs] > #urlbar > .urlbar-textbox-container > .urlbar-history-dropmarker { transition: none; } -#navigator-toolbox:not(:hover) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { +#navigator-toolbox:not(:hover) #nav-bar:not([customizing="true"]) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { opacity: 0; } #urlbar-container { @@ -1245,9 +1410,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #urlbar-display-box { margin-top: -1px; - margin-bottom: -1px; - border-inline-end: 1px solid #AAA; - margin-inline-end: 3px; } + margin-bottom: -1px; } .urlbar-display { margin-top: 0; @@ -1345,19 +1508,23 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { padding-inline-start: 9px; border-radius: 0; } -window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box { - border-radius: 0; } - /* MAIN IDENTITY ICON */ #identity-icon { width: 16px; height: 16px; list-style-image: url(chrome://browser/skin/identity-icon.svg#normal); } -#identity-box:hover > #identity-icon, +#identity-box:hover > #identity-icon:not(.no-hover), #identity-box[open=true] > #identity-icon { list-style-image: url(chrome://browser/skin/identity-icon.svg#hover); } +#identity-box.grantedPermissions > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice); } + +#identity-box.grantedPermissions:hover > #identity-icon:not(.no-hover), +#identity-box.grantedPermissions[open=true] > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice-hover); } + #urlbar[pageproxystate="valid"] > #identity-box.chromeUI > #identity-icon { list-style-image: url(chrome://branding/content/identity-icons-brand.svg); } @@ -1404,10 +1571,15 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box visibility: collapse; } #urlbar[pageproxystate="valid"] > #identity-box.verifiedDomain > #connection-icon, -#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon { +#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon, +#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { list-style-image: url(chrome://browser/skin/identity-secure.svg); visibility: visible; } +#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { + list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); + visibility: visible; } + #urlbar[pageproxystate="valid"] > #identity-box.insecureLoginForms > #connection-icon, #urlbar[pageproxystate="valid"] > #identity-box.mixedActiveContent > #connection-icon { list-style-image: url(chrome://browser/skin/identity-mixed-active-loaded.svg); @@ -1419,149 +1591,206 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); visibility: visible; } -#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-active-blocked.svg); - visibility: visible; } +#notification-popup-box { + padding: 5px 0px; + margin: -5px 0px; + margin-inline-end: -5px; + padding-inline-end: 5px; } -#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); - visibility: visible; } +/* This class can be used alone or in combination with the class defining the + type of icon displayed. This rule must be defined before the others in order + for its list-style-image to be overridden. */ +.notification-anchor-icon { + width: 16px; + height: 16px; + margin-inline-start: 2px; + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); } +@media (min-resolution: 1.1dppx) { + .notification-anchor-icon { + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); } } .popup-notification-icon { width: 64px; height: 64px; margin-inline-end: 10px; } -.popup-notification-icon[popupid="geolocation"] { - list-style-image: url(chrome://browser/skin/Geolocation-64.png); } +#notification-popup-box > .notification-anchor-icon:not(.in-use):hover { + fill: #606060; } -.popup-notification-icon[popupid="xpinstall-disabled"], -.popup-notification-icon[popupid="addon-install-blocked"], -.popup-notification-icon[popupid="addon-install-origin-blocked"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); } +/* INDIVIDUAL NOTIFICATIONS */ +/* For the moment we apply the color filter only on the icons listed here. + The first two selectors are used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.camera-icon, +.geo-icon, +.indexedDB-icon, +.install-icon, +.login-icon, +.microphone-icon, +.plugin-icon, +.pointerLock-icon, +.popup-icon, +.screen-icon, +.desktop-notification-icon, +.popup-notification-icon[popupid="geolocation"], +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.popup-notification-icon[popupid="password"], +.popup-notification-icon[popupid="pointerLock"], +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-shareScreen"], +.popup-notification-icon[popupid="webRTC-sharingDevices"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingScreen"], +.popup-notification-icon[popupid="web-notifications"] { + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #999; } -.popup-notification-icon[popupid="addon-progress"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); } +/* The first two selectors are used by socialchat.xml (bug 1275558). The + notifications in the chat window are only shown when they are in use. */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.in-use { + fill: #fea01b; } -.popup-notification-icon[popupid="addon-install-failed"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); } +.popup-notification-icon[popupid="web-notifications"], +.desktop-notification-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification); } -.popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); } +.desktop-notification-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification-blocked); } -#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); } +.geo-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux); } -.popup-notification-icon[popupid="addon-install-complete"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); } +.geo-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-blocked); } -.popup-notification-icon[popupid="addon-install-restart"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); } +.popup-notification-icon[popupid="geolocation"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-detailed); } -.popup-notification-icon[popupid="click-to-play-plugins"] { - list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); } +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.indexedDB-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB); } -.popup-notification-icon[popupid="web-notifications"] { - list-style-image: url(chrome://browser/skin/web-notifications-icon.svg); } +.indexedDB-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB-blocked); } -.popup-notification-icon[popupid="indexedDB-permissions-prompt"], -.popup-notification-icon[popupid*="offline-app-requested"], -.popup-notification-icon[popupid="offline-app-usage"] { - list-style-image: url(chrome://global/skin/icons/question-64.png); } +.login-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#login); } .popup-notification-icon[popupid="password"] { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-64.png); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#login-detailed); } -.popup-notification-icon[popupid="webRTC-sharingDevices"], -.popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64.png); } +#login-fill-notification-icon { + /* Temporary solution until the capture and fill doorhangers are unified. */ + transform: scaleX(-1); } -.popup-notification-icon[popupid="webRTC-sharingMicrophone"], -.popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64.png); } +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.camera-icon, +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-sharingDevices"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera); } + +.camera-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera-blocked); } +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingMicrophone-notification-icon, +.microphone-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone); } + +.microphone-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-blocked); } + +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-detailed); } + +.popup-notification-icon[popupid="webRTC-shareScreen"], .popup-notification-icon[popupid="webRTC-sharingScreen"], -.popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64.png); } +.screen-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen); } -.popup-notification-icon[popupid="pointerLock"] { - list-style-image: url(chrome://browser/skin/pointerLock-64.png); } +.screen-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen-blocked); } -.popup-notification-icon[popupid="servicesInstall"] { - list-style-image: url(chrome://browser/skin/social/services-64.png); } +.popup-notification-icon[popupid="pointerLock"], +.pointerLock-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock); } -/* Notification icon box */ -#notification-popup-box { - position: relative; - background-color: transparent; - background-clip: padding-box; - padding-left: 5px; - padding-right: 8px; - border-width: 0 1px 0 0; - border-style: solid; - border-color: rgba(207, 214, 230, 0.5); } +.pointerLock-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock-blocked); } -/* This changes the direction of the main notification box on the url bar. */ -#notification-popup-box:-moz-locale-dir(rtl), -.notification-anchor-icon:-moz-locale-dir(rtl) { - transform: scaleX(-1); } +/* This icon has a block sign in it, so we don't need a blocked version. */ +.popup-icon { + list-style-image: url("chrome://browser/skin/notification-icons.svg#popup"); } -/* For the anchor icons in the chat window, we don't have the notification popup box, - so we need to cancel the RTL transform. */ -.notification-anchor-icon.chat-toolbarbutton:-moz-locale-dir(rtl) { - transform: none; } +/* EME */ +.popup-notification-icon[popupid="drmContentPlaying"], +.drm-icon { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); } -/* This class can be used alone or in combination with the class defining the - type of icon displayed. This rule must be defined before the others in order - for its list-style-image to be overridden. */ -.notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); - width: 16px; - height: 16px; - margin: 0 2px; } +.drm-icon:hover:active { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); } -@media (min-resolution: 1.1dppx) { - .notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); } } -.geo-icon { - list-style-image: url(chrome://browser/skin/Geolocation-16.png); } +#eme-notification-icon[firstplay=true] { + animation: emeTeachingMoment 0.2s linear 0s 5 normal; } +@keyframes emeTeachingMoment { + 0% { + transform: translateX(0); } + 25% { + transform: translateX(3px); } + 75% { + transform: translateX(-3px); } + 100% { + transform: translateX(0); } } +/* INSTALL ADDONS */ .install-icon { list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#default); } -.install-icon:hover { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#hover); } +.popup-notification-icon[popupid="xpinstall-disabled"], +.popup-notification-icon[popupid="addon-install-blocked"], +.popup-notification-icon[popupid="addon-install-origin-blocked"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); } -.install-icon:hover:active { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#active); } +.popup-notification-icon[popupid="addon-progress"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); } -.indexedDB-icon { - list-style-image: url(chrome://global/skin/icons/question-16.png); } +.popup-notification-icon[popupid="addon-install-failed"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); } -.login-icon { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-16.png); } +.popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); } -#login-fill-notification-icon { - /* Temporary solution until the capture and fill doorhangers are unified. */ - transform: scaleX(-1); } +#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); } -.plugin-icon { - list-style-image: url(chrome://browser/skin/notification-pluginNormal.png); } +.popup-notification-icon[popupid="addon-install-complete"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); } -.plugin-icon.plugin-hidden { - list-style-image: url(chrome://browser/skin/notification-pluginAlert.png); } +.popup-notification-icon[popupid="addon-install-restart"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); } -.plugin-icon.plugin-blocked { - list-style-image: url(chrome://browser/skin/notification-pluginBlocked.png); } +.popup-notification-icon[popupid="click-to-play-plugins"] { + list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); } -.plugin-icon { - -moz-image-region: rect(0, 16px, 16px, 0); } +/* OFFLINE APPS */ +.popup-notification-icon[popupid*="offline-app-requested"], +.popup-notification-icon[popupid="offline-app-usage"] { + list-style-image: url(chrome://global/skin/icons/question-64.png); } -.plugin-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); } +/* PLUGINS */ +.plugin-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); } -.plugin-icon:active { - -moz-image-region: rect(0, 48px, 16px, 32px); } +.plugin-icon.plugin-blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + fill: #d92215 !important; + /* important! to override the default hover color */ } #notification-popup-box[hidden] { /* Override display:none to make the pluginBlockedNotification animation work @@ -1577,44 +1806,14 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box opacity: 0; } to { opacity: 1; } } -.camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16.png); } - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingDevices-notification-icon, -.camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16.png); } - -.microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16.png); } - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingMicrophone-notification-icon, -.microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16.png); } - -.screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16.png); } - -.screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16.png); } - -.web-notifications-icon { - list-style-image: url(chrome://browser/skin/web-notifications-tray.svg); - -moz-image-region: rect(0, 16px, 16px, 0); } - -.web-notifications-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); } - -.web-notifications-icon:hover:active { - -moz-image-region: rect(0, 48px, 16px, 32px); } - -.pointer-icon { - list-style-image: url(chrome://browser/skin/pointerLock-16.png); } +/* SOCIAL API */ +.popup-notification-icon[popupid="servicesInstall"] { + list-style-image: url(chrome://browser/skin/social/services-64.png); } .service-icon { list-style-image: url(chrome://browser/skin/social/services-16.png); } +/* TRANSLATION */ .translation-icon { list-style-image: url(chrome://browser/skin/translation-16.png); -moz-image-region: rect(0px, 16px, 16px, 0px); } @@ -1622,57 +1821,6 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box .translation-icon.in-use { -moz-image-region: rect(0px, 32px, 16px, 16px); } -/* EME notifications */ -.popup-notification-icon[popupid="drmContentPlaying"], -.drm-icon { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); } - -.drm-icon:hover:active { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); } - -#eme-notification-icon[firstplay=true] { - animation: emeTeachingMoment 0.2s linear 0s 5 normal; } - -@keyframes emeTeachingMoment { - 0% { - transform: translateX(0); } - 25% { - transform: translateX(3px); } - 75% { - transform: translateX(-3px); } - 100% { - transform: translateX(0); } } -/* HiDPI notification icons */ -@media (min-resolution: 1.1dppx) { - .camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16@2x.png); } - - .camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16@2x.png); } - - .microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16@2x.png); } - - .microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16@2x.png); } - - .screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16@2x.png); } - - .screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingDevices"], - .popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingMicrophone"], - .popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingScreen"], - .popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64@2x.png); } } .popup-notification-body[popupid="addon-progress"], .popup-notification-body[popupid="addon-install-confirmation"] { width: 28em; @@ -1682,15 +1830,9 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box font-weight: bold; } /* Notification icon box */ -#notification-popup-box { - border-radius: 2.5px 0 0 2.5px; } - .notification-anchor-icon:-moz-focusring { outline: 1px dotted -moz-DialogText; } -.indexedDB-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-question?size=16); } - /* Translation infobar */ notification[value="translation"] .messageImage { list-style-image: url(chrome://browser/skin/translation-16.png); @@ -2231,11 +2373,13 @@ html|span.ac-emphasize-text-url { .tab-throbber, .tab-icon-image, +.tab-sharing-icon-overlay, .tab-icon-sound, .tab-close-button { margin-top: 1px; } .tab-throbber, +.tab-sharing-icon-overlay, .tab-icon-image { height: 16px; width: 16px; @@ -2244,6 +2388,36 @@ html|span.ac-emphasize-text-url { .tab-icon-image { list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png"); } +.tab-icon-image[sharing]:not([selected]), +.tab-sharing-icon-overlay { + animation: 3s linear pulse infinite; } + +@keyframes pulse { + 0%, 16.66%, 83.33%, 100% { + opacity: 0; } + 33.33%, 66.66% { + opacity: 1; } } +.tab-icon-image[sharing]:not([selected]) { + animation-delay: -1.5s; } + +.tab-sharing-icon-overlay { + /* 16px of the icon + 6px of margin-inline-end of .tab-icon-image */ + margin-inline-start: -22px; + position: relative; } + +.tab-sharing-icon-overlay[sharing="camera"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#camera"); } + +.tab-sharing-icon-overlay[sharing="microphone"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#microphone"); } + +.tab-sharing-icon-overlay[sharing="screen"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#screen"); } + +.tab-sharing-icon-overlay[sharing] { + filter: url("chrome://browser/skin/filters.svg#fill"); + fill: #e0291d; } + .tab-icon-overlay { width: 16px; height: 16px; @@ -2570,7 +2744,7 @@ lwtHeader;*/ /* Tabstrip new tab button */ .tabs-newtab-button, #TabsToolbar > #new-tab-button, -#TabsToolbar > #wrapper-new-tab-button > #new-tab-button { +#TabsToolbar > toolbarpaletteitem > #new-tab-button { list-style-image: url("moz-icon://stock/gtk-add?size=menu"); -moz-image-region: auto; } @@ -2652,7 +2826,7 @@ menuitem:hover > hbox > .alltabs-endimage[soundplaying] { toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron.gif") !important; } -toolbar[brighttext] toolbarbutton.chevron:not(:hover):not([open="true"]) { +toolbar[brighttext] toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron-inverted.png") !important; } toolbarbutton.chevron:-moz-locale-dir(rtl) > .toolbarbutton-icon { @@ -2666,15 +2840,14 @@ toolbarbutton.chevron > .toolbarbutton-icon { margin: 0; } /* Ctrl-Tab */ -.ctrlTab-preview { - -moz-appearance: toolbarbutton; } - -.tabPreview-canvas { - box-shadow: 0 0 5px ThreeDShadow; } - -.ctrlTab-preview:focus .tabPreview-canvas, -.ctrlTab-preview:hover .tabPreview-canvas { - box-shadow: none; } +#ctrlTab-panel { + -moz-appearance: none; + background: rgba(68, 68, 68, 0.7); + color: white; + border-style: none; + padding: 20px 10px 10px; + font-weight: bold; + text-shadow: 0 0 1px #444444, 0 0 2px #444444; } .ctrlTab-favicon[src] { background-color: white; @@ -2682,17 +2855,33 @@ toolbarbutton.chevron > .toolbarbutton-icon { height: 20px; padding: 2px; } -#ctrlTab-panel { - padding: 10px; } +.ctrlTab-preview-inner > .tabPreview-canvas { + box-shadow: 1px 1px 2px #1f1f1f; } -.ctrlTab-preview:not(#ctrlTab-showAll) .tabPreview-canvas { +.ctrlTab-preview:not(#ctrlTab-showAll) > * > .ctrlTab-preview-inner > .tabPreview-canvas { margin-bottom: 2px; } +.ctrlTab-preview-inner { + padding-bottom: 10px; } + +#ctrlTab-showAll:not(:focus) > * > .ctrlTab-preview-inner { + padding: 10px; + background-color: rgba(255, 255, 255, 0.2); + border-radius: .5em; } + +.ctrlTab-preview:focus > * > .ctrlTab-preview-inner { + color: white; + background-color: rgba(0, 0, 0, 0.6); + text-shadow: none; + padding: 8px; + border: 2px solid white; + border-radius: .5em; } + +.ctrlTab-preview:not(#ctrlTab-showAll):focus > * > .ctrlTab-preview-inner { + margin: -10px -10px 0; } + #ctrlTab-showAll { - -moz-appearance: button; - color: ButtonText; - padding: 0 3px; - margin-top: 10px; } + margin-top: .5em; } /* Status panel */ .statuspanel-label { @@ -2716,7 +2905,7 @@ toolbarbutton.chevron > .toolbarbutton-icon { border-top-left-radius: .3em; margin-left: 1em; } -html|*#fullscreen-warning { +html|*.pointerlockfswarning { align-items: center; color: #BAC3CF; background: rgba(53, 57, 69, 0.95); @@ -2726,30 +2915,30 @@ html|*#fullscreen-warning { padding: 24px 16px; font: message-box; } -html|*#fullscreen-warning::before { +html|*.pointerlockfswarning::before { margin: 0; width: 24px; height: 24px; } -html|*#fullscreen-warning.verifiedIdentity::before, -html|*#fullscreen-warning.verifiedDomain::before { +html|*.pointerlockfswarning[data-identity="verifiedIdentity"]::before, +html|*.pointerlockfswarning[data-identity="verifiedDomain"]::before { content: url("chrome://browser/skin/fullscreen/secure.svg"); } -html|*#fullscreen-warning.unknownIdentity::before { +html|*.pointerlockfswarning[data-identity="unknownIdentity"]::before { content: url("chrome://browser/skin/fullscreen/insecure.svg"); } -html|*#fullscreen-domain-text, -html|*#fullscreen-generic-text { +html|*.pointerlockfswarning-domain-text, +html|*.pointerlockfswarning-generic-text { font-size: 21px; font-weight: lighter; color: #fafafa; margin: 0 16px; } -html|*#fullscreen-domain { +html|*.pointerlockfswarning-domain { font-weight: bold; margin: 0; } -html|*#fullscreen-exit-button { +html|*.pointerlockfswarning-exit-button { padding: 5px 30px; font: message-box; font-size: 14px; @@ -2762,11 +2951,11 @@ html|*#fullscreen-exit-button { color: #BAC3CF; border-color: rgba(26, 28, 34, 0.35); background-color: rgba(102, 109, 132, 0.35); } - html|*#fullscreen-exit-button:hover { + html|*.pointerlockfswarning-exit-button:hover { color: #BAC3CF; border-color: rgba(26, 28, 34, 0.35); background-color: rgba(119, 127, 151, 0.45); } - html|*#fullscreen-exit-button:active, html|*#fullscreen-exit-button:checked { + html|*.pointerlockfswarning-exit-button:active, html|*.pointerlockfswarning-exit-button:checked { color: #ffffff; border-color: rgba(26, 28, 34, 0.35); background-color: #5294E2; } @@ -2907,6 +3096,9 @@ html|*#fullscreen-exit-button { .devtools-responsiveui-close { list-style-image: url("chrome://devtools/skin/images/close.svg"); } +.devtools-responsiveui-close > image { + filter: invert(1); } + .devtools-responsiveui-rotate { list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-rotate.png"); } @@ -3278,8 +3470,9 @@ html|*#gcli-output-frame { margin: 0; } .messageImage[value="plugin-hidden"] { - list-style-image: url("chrome://browser/skin/notification-pluginNormal.png"); - -moz-image-region: rect(0, 16px, 16px, 0); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #808080; } /* Keep any changes to this style in sync with pluginProblem.css */ notification.pluginVulnerable { @@ -3288,7 +3481,9 @@ notification.pluginVulnerable { color: white; } notification.pluginVulnerable .messageImage { - list-style-image: url("chrome://browser/skin/notification-pluginBlocked.png"); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #d92215; } notification.pluginVulnerable > .notification-inner > .messageCloseButton:not(:hover) { background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 80, 16, 64); } @@ -3545,19 +3740,6 @@ toolbar[brighttext] #downloads-indicator-counter { border-radius: 1px; margin-inline-end: 2px; } -/* Social toolbar item */ -.social-activation-icon { - width: auto; - height: auto; - max-height: 64px; - max-width: 64px; } - -#social-activation-message { - max-width: 250px; } - -#social-activation-message > label { - margin: 0; } - /* social toolbar provider menu */ #social-statusarea-popup { margin-top: 0; @@ -3771,6 +3953,9 @@ window > chatbox { * 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/. */ /* Customization mode */ +:root { + --drag-drop-transition-duration: .3s; } + #main-window:-moz-any([customize-entering], [customize-entered]) #browser-bottombox { margin-bottom: 2em; } @@ -3843,7 +4028,7 @@ window > chatbox { #customization-palette, #customization-empty { - padding: 0 25px 25px; } + padding: 5px 25px 25px; } #customization-header { font-size: 1.75em; @@ -3938,7 +4123,7 @@ toolbarpaletteitem[mousedown] { .panel-customization-placeholder, toolbarpaletteitem[place="palette"], toolbarpaletteitem[place="panel"] { - transition: transform .3s ease-in-out; } + transition: transform var(--drag-drop-transition-duration) ease-in-out; } #customization-palette { transition: opacity .3s ease-in-out; @@ -3947,6 +4132,9 @@ toolbarpaletteitem[place="panel"] { #customization-palette[showing="true"] { opacity: 1; } +toolbarpaletteitem toolbarbutton[disabled] { + color: inherit !important; } + toolbarpaletteitem[notransition].panel-customization-placeholder, toolbarpaletteitem[notransition][place="toolbar"], toolbarpaletteitem[notransition][place="palette"], @@ -3957,7 +4145,7 @@ toolbarpaletteitem > toolbarbutton > .toolbarbutton-icon, toolbarpaletteitem > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon, toolbarpaletteitem > toolbaritem.panel-wide-item, toolbarpaletteitem > toolbarbutton[type="menu-button"] { - transition: transform 0.3s cubic-bezier(0.6, 2, 0.75, 1.5) !important; } + transition: transform var(--drag-drop-transition-duration) cubic-bezier(0.6, 2, 0.75, 1.5) !important; } toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-icon, toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon { @@ -3980,10 +4168,19 @@ toolbarpaletteitem[place="toolbar"] { toolbarpaletteitem[place="palette"]:-moz-focusring, toolbarpaletteitem[place="panel"]:-moz-focusring, toolbarpaletteitem[place="toolbar"]:-moz-focusring { + outline-width: 0; } + +toolbarpaletteitem[place="palette"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="panel"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + /* Delay adding the focusring back until after the transform transition completes. */ + transition: outline-width 0.01s linear var(--drag-drop-transition-duration); outline: 1px dotted rgba(0, 0, 0, 0.5); - outline-offset: -5px; -moz-outline-radius: 2.5px; } +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + outline-offset: -5px; } + #wrapper-edit-controls[place="palette"] > #edit-controls > toolbarbutton, #wrapper-edit-controls[place="palette"] > #edit-controls > separator, #wrapper-zoom-controls[place="palette"] > #zoom-controls > toolbarbutton, @@ -4553,7 +4750,7 @@ notification.heartbeat { .webextension-popup-browser { border-radius: inherit; } -.menuitem-iconic[command="Browser:NewUserContextTab"] > .menu-iconic-left > .menu-iconic-icon { +.menuitem-iconic[usercontextid] > .menu-iconic-left > .menu-iconic-icon { visibility: visible; } #nav-bar #loop-button, #nav-bar diff --git a/arc-firefox-theme/chrome/browser/sass/browser-light.css b/arc-firefox-theme/chrome/browser/sass/browser-light.css index fee8692..ec0dcd1 100644 --- a/arc-firefox-theme/chrome/browser/sass/browser-light.css +++ b/arc-firefox-theme/chrome/browser/sass/browser-light.css @@ -774,6 +774,171 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #webide-button[cui-areatype="toolbar"] { -moz-image-region: rect(0, 738px, 18px, 720px); } +/* +@media (min-resolution: 1.1dppx) { + :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar@2x.png"); + } + + toolbar[brighttext] :-moz-any(#back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button, #e10s-button, #panic-button, #webide-button, #containers-panelmenu), + toolbar[brighttext] #bookmarks-menu-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + list-style-image: url("chrome://browser/skin/Toolbar-inverted@2x.png"); + } + + #back-button { + -moz-image-region: rect(0, 72px, 36px, 36px); + } + + #forward-button { + -moz-image-region: rect(0, 144px, 36px, 108px); + } + + #home-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 252px, 36px, 216px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 288px, 36px, 252px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"][starred] { + -moz-image-region: rect(0, 324px, 36px, 288px); + } + + #bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + -moz-image-region: rect(0px, 1260px, 36px, 1224px); + } + + #history-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 360px, 36px, 324px); + } + + #downloads-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 396px, 36px, 360px); + } + + #add-ons-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 432px, 36px, 396px); + } + + #open-file-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 468px, 36px, 432px); + } + + #save-page-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 504px, 36px, 468px); + } + + #sync-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1584px, 36px, 1548px); + } + + #containers-panelmenu[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1620px, 36px, 1584px); + } + + #feed-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 576px, 36px, 540px); + } + + #social-share-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 612px, 36px, 576px); + } + + #characterencoding-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 648px, 36px, 612px); + } + + #new-window-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 684px, 36px, 648px); + } + + #e10s-button > .toolbarbutton-icon { + transform: scaleY(-1); + } + + #new-tab-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 720px, 36px, 684px); + } + + #privatebrowsing-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 756px, 36px, 720px); + } + + #find-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 792px, 36px, 756px); + } + + #print-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 828px, 36px, 792px); + } + + #fullscreen-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 864px, 36px, 828px); + } + + #developer-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 900px, 36px, 864px); + } + + #preferences-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 936px, 36px, 900px); + } + + #PanelUI-menu-button { + -moz-image-region: rect(0, 972px, 36px, 936px); + } + + #edit-controls[cui-areatype="toolbar"] > #cut-button { + -moz-image-region: rect(0, 1008px, 36px, 972px); + } + + #edit-controls[cui-areatype="toolbar"] > #copy-button { + -moz-image-region: rect(0, 1044px, 36px, 1008px); + } + + #edit-controls[cui-areatype="toolbar"] > #paste-button { + -moz-image-region: rect(0, 1080px, 36px, 1044px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-out-button { + -moz-image-region: rect(0, 1116px, 36px, 1080px); + } + + #zoom-controls[cui-areatype="toolbar"] > #zoom-in-button { + -moz-image-region: rect(0, 1152px, 36px, 1116px); + } + + #nav-bar-overflow-button { + -moz-image-region: rect(0, 1224px, 36px, 1188px); + } + + #email-link-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1332px, 36px, 1296px); + } + + #sidebar-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1368px, 36px, 1332px); + } + + #panic-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1404px, 36px, 1368px); + } + + #panic-button[cui-areatype="toolbar"][open] { + -moz-image-region: rect(36px, 1404px, 72px, 1368px); + } + + #webide-button[cui-areatype="toolbar"] { + -moz-image-region: rect(0, 1476px, 36px, 1440px); + } +} +*/ /* Menu panel and palette styles */ :root { --menupanel-list-style-image: url(chrome://browser/skin/menuPanel.png); @@ -1132,7 +1297,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { /* Fullscreen window controls */ #window-controls { -moz-box-align: start; - -moz-margin-start: 10px; } + margin-inline-start: 10px; } #close-button, #restore-button, #minimize-button { padding: 2px 4px; @@ -1205,7 +1370,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #urlbar-wrapper[switchingtabs] > #urlbar > .urlbar-textbox-container > .urlbar-history-dropmarker { transition: none; } -#navigator-toolbox:not(:hover) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { +#navigator-toolbox:not(:hover) #nav-bar:not([customizing="true"]) #urlbar:not([focused]) > .urlbar-textbox-container > .urlbar-history-dropmarker { opacity: 0; } #urlbar-container { @@ -1245,9 +1410,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { #urlbar-display-box { margin-top: -1px; - margin-bottom: -1px; - border-inline-end: 1px solid #AAA; - margin-inline-end: 3px; } + margin-bottom: -1px; } .urlbar-display { margin-top: 0; @@ -1345,19 +1508,23 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) { padding-inline-start: 9px; border-radius: 0; } -window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box { - border-radius: 0; } - /* MAIN IDENTITY ICON */ #identity-icon { width: 16px; height: 16px; list-style-image: url(chrome://browser/skin/identity-icon.svg#normal); } -#identity-box:hover > #identity-icon, +#identity-box:hover > #identity-icon:not(.no-hover), #identity-box[open=true] > #identity-icon { list-style-image: url(chrome://browser/skin/identity-icon.svg#hover); } +#identity-box.grantedPermissions > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice); } + +#identity-box.grantedPermissions:hover > #identity-icon:not(.no-hover), +#identity-box.grantedPermissions[open=true] > #identity-icon { + list-style-image: url(chrome://browser/skin/identity-icon.svg#notice-hover); } + #urlbar[pageproxystate="valid"] > #identity-box.chromeUI > #identity-icon { list-style-image: url(chrome://branding/content/identity-icons-brand.svg); } @@ -1404,10 +1571,15 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box visibility: collapse; } #urlbar[pageproxystate="valid"] > #identity-box.verifiedDomain > #connection-icon, -#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon { +#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity > #connection-icon, +#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { list-style-image: url(chrome://browser/skin/identity-secure.svg); visibility: visible; } +#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { + list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); + visibility: visible; } + #urlbar[pageproxystate="valid"] > #identity-box.insecureLoginForms > #connection-icon, #urlbar[pageproxystate="valid"] > #identity-box.mixedActiveContent > #connection-icon { list-style-image: url(chrome://browser/skin/identity-mixed-active-loaded.svg); @@ -1419,149 +1591,206 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); visibility: visible; } -#urlbar[pageproxystate="valid"] > #identity-box.mixedActiveBlocked > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-active-blocked.svg); - visibility: visible; } +#notification-popup-box { + padding: 5px 0px; + margin: -5px 0px; + margin-inline-end: -5px; + padding-inline-end: 5px; } -#urlbar[pageproxystate="valid"] > #identity-box.certUserOverridden > #connection-icon { - list-style-image: url(chrome://browser/skin/identity-mixed-passive-loaded.svg); - visibility: visible; } +/* This class can be used alone or in combination with the class defining the + type of icon displayed. This rule must be defined before the others in order + for its list-style-image to be overridden. */ +.notification-anchor-icon { + width: 16px; + height: 16px; + margin-inline-start: 2px; + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); } +@media (min-resolution: 1.1dppx) { + .notification-anchor-icon { + list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); } } .popup-notification-icon { width: 64px; height: 64px; margin-inline-end: 10px; } -.popup-notification-icon[popupid="geolocation"] { - list-style-image: url(chrome://browser/skin/Geolocation-64.png); } +#notification-popup-box > .notification-anchor-icon:not(.in-use):hover { + fill: #606060; } -.popup-notification-icon[popupid="xpinstall-disabled"], -.popup-notification-icon[popupid="addon-install-blocked"], -.popup-notification-icon[popupid="addon-install-origin-blocked"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); } +/* INDIVIDUAL NOTIFICATIONS */ +/* For the moment we apply the color filter only on the icons listed here. + The first two selectors are used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.camera-icon, +.geo-icon, +.indexedDB-icon, +.install-icon, +.login-icon, +.microphone-icon, +.plugin-icon, +.pointerLock-icon, +.popup-icon, +.screen-icon, +.desktop-notification-icon, +.popup-notification-icon[popupid="geolocation"], +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.popup-notification-icon[popupid="password"], +.popup-notification-icon[popupid="pointerLock"], +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-shareScreen"], +.popup-notification-icon[popupid="webRTC-sharingDevices"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingScreen"], +.popup-notification-icon[popupid="web-notifications"] { + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #999; } -.popup-notification-icon[popupid="addon-progress"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); } +/* The first two selectors are used by socialchat.xml (bug 1275558). The + notifications in the chat window are only shown when they are in use. */ +.webRTC-sharingDevices-notification-icon, +.webRTC-sharingMicrophone-notification-icon, +.in-use { + fill: #fea01b; } -.popup-notification-icon[popupid="addon-install-failed"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); } +.popup-notification-icon[popupid="web-notifications"], +.desktop-notification-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification); } -.popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); } +.desktop-notification-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#desktop-notification-blocked); } -#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); } +.geo-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux); } -.popup-notification-icon[popupid="addon-install-complete"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); } +.geo-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-blocked); } -.popup-notification-icon[popupid="addon-install-restart"] { - list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); } +.popup-notification-icon[popupid="geolocation"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#geo-linux-detailed); } -.popup-notification-icon[popupid="click-to-play-plugins"] { - list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); } +.popup-notification-icon[popupid="indexedDB-permissions-prompt"], +.indexedDB-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB); } -.popup-notification-icon[popupid="web-notifications"] { - list-style-image: url(chrome://browser/skin/web-notifications-icon.svg); } +.indexedDB-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#indexedDB-blocked); } -.popup-notification-icon[popupid="indexedDB-permissions-prompt"], -.popup-notification-icon[popupid*="offline-app-requested"], -.popup-notification-icon[popupid="offline-app-usage"] { - list-style-image: url(chrome://global/skin/icons/question-64.png); } +.login-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#login); } .popup-notification-icon[popupid="password"] { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-64.png); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#login-detailed); } -.popup-notification-icon[popupid="webRTC-sharingDevices"], -.popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64.png); } +#login-fill-notification-icon { + /* Temporary solution until the capture and fill doorhangers are unified. */ + transform: scaleX(-1); } -.popup-notification-icon[popupid="webRTC-sharingMicrophone"], -.popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64.png); } +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingDevices-notification-icon, +.camera-icon, +.popup-notification-icon[popupid="webRTC-shareDevices"], +.popup-notification-icon[popupid="webRTC-sharingDevices"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera); } + +.camera-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#camera-blocked); } +/* The first selector is used by socialchat.xml (bug 1275558). */ +.webRTC-sharingMicrophone-notification-icon, +.microphone-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone); } + +.microphone-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-blocked); } + +.popup-notification-icon[popupid="webRTC-shareMicrophone"], +.popup-notification-icon[popupid="webRTC-sharingMicrophone"] { + list-style-image: url(chrome://browser/skin/notification-icons.svg#microphone-detailed); } + +.popup-notification-icon[popupid="webRTC-shareScreen"], .popup-notification-icon[popupid="webRTC-sharingScreen"], -.popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64.png); } +.screen-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen); } -.popup-notification-icon[popupid="pointerLock"] { - list-style-image: url(chrome://browser/skin/pointerLock-64.png); } +.screen-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#screen-blocked); } -.popup-notification-icon[popupid="servicesInstall"] { - list-style-image: url(chrome://browser/skin/social/services-64.png); } +.popup-notification-icon[popupid="pointerLock"], +.pointerLock-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock); } -/* Notification icon box */ -#notification-popup-box { - position: relative; - background-color: transparent; - background-clip: padding-box; - padding-left: 5px; - padding-right: 8px; - border-width: 0 1px 0 0; - border-style: solid; - border-color: rgba(207, 214, 230, 0.5); } +.pointerLock-icon.blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#pointerLock-blocked); } -/* This changes the direction of the main notification box on the url bar. */ -#notification-popup-box:-moz-locale-dir(rtl), -.notification-anchor-icon:-moz-locale-dir(rtl) { - transform: scaleX(-1); } +/* This icon has a block sign in it, so we don't need a blocked version. */ +.popup-icon { + list-style-image: url("chrome://browser/skin/notification-icons.svg#popup"); } -/* For the anchor icons in the chat window, we don't have the notification popup box, - so we need to cancel the RTL transform. */ -.notification-anchor-icon.chat-toolbarbutton:-moz-locale-dir(rtl) { - transform: none; } +/* EME */ +.popup-notification-icon[popupid="drmContentPlaying"], +.drm-icon { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); } -/* This class can be used alone or in combination with the class defining the - type of icon displayed. This rule must be defined before the others in order - for its list-style-image to be overridden. */ -.notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=16); - width: 16px; - height: 16px; - margin: 0 2px; } +.drm-icon:hover:active { + list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); } -@media (min-resolution: 1.1dppx) { - .notification-anchor-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-info?size=dialog); } } -.geo-icon { - list-style-image: url(chrome://browser/skin/Geolocation-16.png); } +#eme-notification-icon[firstplay=true] { + animation: emeTeachingMoment 0.2s linear 0s 5 normal; } +@keyframes emeTeachingMoment { + 0% { + transform: translateX(0); } + 25% { + transform: translateX(3px); } + 75% { + transform: translateX(-3px); } + 100% { + transform: translateX(0); } } +/* INSTALL ADDONS */ .install-icon { list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#default); } -.install-icon:hover { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#hover); } +.popup-notification-icon[popupid="xpinstall-disabled"], +.popup-notification-icon[popupid="addon-install-blocked"], +.popup-notification-icon[popupid="addon-install-origin-blocked"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-blocked.svg); } -.install-icon:hover:active { - list-style-image: url(chrome://browser/skin/addons/addon-install-anchor.svg#active); } +.popup-notification-icon[popupid="addon-progress"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-downloading.svg); } -.indexedDB-icon { - list-style-image: url(chrome://global/skin/icons/question-16.png); } +.popup-notification-icon[popupid="addon-install-failed"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-error.svg); } -.login-icon { - list-style-image: url(chrome://mozapps/skin/passwordmgr/key-16.png); } +.popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-confirm.svg); } -#login-fill-notification-icon { - /* Temporary solution until the capture and fill doorhangers are unified. */ - transform: scaleX(-1); } +#addon-install-confirmation-notification[warning] .popup-notification-icon[popupid="addon-install-confirmation"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-warning.svg); } -.plugin-icon { - list-style-image: url(chrome://browser/skin/notification-pluginNormal.png); } +.popup-notification-icon[popupid="addon-install-complete"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-installed.svg); } -.plugin-icon.plugin-hidden { - list-style-image: url(chrome://browser/skin/notification-pluginAlert.png); } +.popup-notification-icon[popupid="addon-install-restart"] { + list-style-image: url(chrome://browser/skin/addons/addon-install-restart.svg); } -.plugin-icon.plugin-blocked { - list-style-image: url(chrome://browser/skin/notification-pluginBlocked.png); } +.popup-notification-icon[popupid="click-to-play-plugins"] { + list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png); } -.plugin-icon { - -moz-image-region: rect(0, 16px, 16px, 0); } +/* OFFLINE APPS */ +.popup-notification-icon[popupid*="offline-app-requested"], +.popup-notification-icon[popupid="offline-app-usage"] { + list-style-image: url(chrome://global/skin/icons/question-64.png); } -.plugin-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); } +/* PLUGINS */ +.plugin-icon { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); } -.plugin-icon:active { - -moz-image-region: rect(0, 48px, 16px, 32px); } +.plugin-icon.plugin-blocked { + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + fill: #d92215 !important; + /* important! to override the default hover color */ } #notification-popup-box[hidden] { /* Override display:none to make the pluginBlockedNotification animation work @@ -1577,44 +1806,14 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box opacity: 0; } to { opacity: 1; } } -.camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16.png); } - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingDevices-notification-icon, -.camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16.png); } - -.microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16.png); } - -/* The first selector is used by socialchat.xml (bug 1275558). */ -.webRTC-sharingMicrophone-notification-icon, -.microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16.png); } - -.screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16.png); } - -.screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16.png); } - -.web-notifications-icon { - list-style-image: url(chrome://browser/skin/web-notifications-tray.svg); - -moz-image-region: rect(0, 16px, 16px, 0); } - -.web-notifications-icon:hover { - -moz-image-region: rect(0, 32px, 16px, 16px); } - -.web-notifications-icon:hover:active { - -moz-image-region: rect(0, 48px, 16px, 32px); } - -.pointer-icon { - list-style-image: url(chrome://browser/skin/pointerLock-16.png); } +/* SOCIAL API */ +.popup-notification-icon[popupid="servicesInstall"] { + list-style-image: url(chrome://browser/skin/social/services-64.png); } .service-icon { list-style-image: url(chrome://browser/skin/social/services-16.png); } +/* TRANSLATION */ .translation-icon { list-style-image: url(chrome://browser/skin/translation-16.png); -moz-image-region: rect(0px, 16px, 16px, 0px); } @@ -1622,57 +1821,6 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box .translation-icon.in-use { -moz-image-region: rect(0px, 32px, 16px, 16px); } -/* EME notifications */ -.popup-notification-icon[popupid="drmContentPlaying"], -.drm-icon { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains"); } - -.drm-icon:hover:active { - list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed"); } - -#eme-notification-icon[firstplay=true] { - animation: emeTeachingMoment 0.2s linear 0s 5 normal; } - -@keyframes emeTeachingMoment { - 0% { - transform: translateX(0); } - 25% { - transform: translateX(3px); } - 75% { - transform: translateX(-3px); } - 100% { - transform: translateX(0); } } -/* HiDPI notification icons */ -@media (min-resolution: 1.1dppx) { - .camera-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16@2x.png); } - - .camera-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16@2x.png); } - - .microphone-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16@2x.png); } - - .microphone-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16@2x.png); } - - .screen-icon { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-16@2x.png); } - - .screen-icon.in-use { - list-style-image: url(chrome://browser/skin/webRTC-sharingScreen-16@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingDevices"], - .popup-notification-icon[popupid="webRTC-shareDevices"] { - list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingMicrophone"], - .popup-notification-icon[popupid="webRTC-shareMicrophone"] { - list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64@2x.png); } - - .popup-notification-icon[popupid="webRTC-sharingScreen"], - .popup-notification-icon[popupid="webRTC-shareScreen"] { - list-style-image: url(chrome://browser/skin/webRTC-shareScreen-64@2x.png); } } .popup-notification-body[popupid="addon-progress"], .popup-notification-body[popupid="addon-install-confirmation"] { width: 28em; @@ -1682,15 +1830,9 @@ window:not([chromehidden~="toolbar"]) #urlbar-wrapper > #urlbar > #identity-box font-weight: bold; } /* Notification icon box */ -#notification-popup-box { - border-radius: 2.5px 0 0 2.5px; } - .notification-anchor-icon:-moz-focusring { outline: 1px dotted -moz-DialogText; } -.indexedDB-icon { - list-style-image: url(moz-icon://stock/gtk-dialog-question?size=16); } - /* Translation infobar */ notification[value="translation"] .messageImage { list-style-image: url(chrome://browser/skin/translation-16.png); @@ -2231,11 +2373,13 @@ html|span.ac-emphasize-text-url { .tab-throbber, .tab-icon-image, +.tab-sharing-icon-overlay, .tab-icon-sound, .tab-close-button { margin-top: 1px; } .tab-throbber, +.tab-sharing-icon-overlay, .tab-icon-image { height: 16px; width: 16px; @@ -2244,6 +2388,36 @@ html|span.ac-emphasize-text-url { .tab-icon-image { list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png"); } +.tab-icon-image[sharing]:not([selected]), +.tab-sharing-icon-overlay { + animation: 3s linear pulse infinite; } + +@keyframes pulse { + 0%, 16.66%, 83.33%, 100% { + opacity: 0; } + 33.33%, 66.66% { + opacity: 1; } } +.tab-icon-image[sharing]:not([selected]) { + animation-delay: -1.5s; } + +.tab-sharing-icon-overlay { + /* 16px of the icon + 6px of margin-inline-end of .tab-icon-image */ + margin-inline-start: -22px; + position: relative; } + +.tab-sharing-icon-overlay[sharing="camera"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#camera"); } + +.tab-sharing-icon-overlay[sharing="microphone"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#microphone"); } + +.tab-sharing-icon-overlay[sharing="screen"] { + list-style-image: url("chrome://browser/skin/notification-icons.svg#screen"); } + +.tab-sharing-icon-overlay[sharing] { + filter: url("chrome://browser/skin/filters.svg#fill"); + fill: #e0291d; } + .tab-icon-overlay { width: 16px; height: 16px; @@ -2570,7 +2744,7 @@ lwtHeader;*/ /* Tabstrip new tab button */ .tabs-newtab-button, #TabsToolbar > #new-tab-button, -#TabsToolbar > #wrapper-new-tab-button > #new-tab-button { +#TabsToolbar > toolbarpaletteitem > #new-tab-button { list-style-image: url("moz-icon://stock/gtk-add?size=menu"); -moz-image-region: auto; } @@ -2652,7 +2826,7 @@ menuitem:hover > hbox > .alltabs-endimage[soundplaying] { toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron.gif") !important; } -toolbar[brighttext] toolbarbutton.chevron:not(:hover):not([open="true"]) { +toolbar[brighttext] toolbarbutton.chevron { list-style-image: url("chrome://global/skin/toolbar/chevron-inverted.png") !important; } toolbarbutton.chevron:-moz-locale-dir(rtl) > .toolbarbutton-icon { @@ -2666,15 +2840,14 @@ toolbarbutton.chevron > .toolbarbutton-icon { margin: 0; } /* Ctrl-Tab */ -.ctrlTab-preview { - -moz-appearance: toolbarbutton; } - -.tabPreview-canvas { - box-shadow: 0 0 5px ThreeDShadow; } - -.ctrlTab-preview:focus .tabPreview-canvas, -.ctrlTab-preview:hover .tabPreview-canvas { - box-shadow: none; } +#ctrlTab-panel { + -moz-appearance: none; + background: rgba(68, 68, 68, 0.7); + color: white; + border-style: none; + padding: 20px 10px 10px; + font-weight: bold; + text-shadow: 0 0 1px #444444, 0 0 2px #444444; } .ctrlTab-favicon[src] { background-color: white; @@ -2682,17 +2855,33 @@ toolbarbutton.chevron > .toolbarbutton-icon { height: 20px; padding: 2px; } -#ctrlTab-panel { - padding: 10px; } +.ctrlTab-preview-inner > .tabPreview-canvas { + box-shadow: 1px 1px 2px #1f1f1f; } -.ctrlTab-preview:not(#ctrlTab-showAll) .tabPreview-canvas { +.ctrlTab-preview:not(#ctrlTab-showAll) > * > .ctrlTab-preview-inner > .tabPreview-canvas { margin-bottom: 2px; } +.ctrlTab-preview-inner { + padding-bottom: 10px; } + +#ctrlTab-showAll:not(:focus) > * > .ctrlTab-preview-inner { + padding: 10px; + background-color: rgba(255, 255, 255, 0.2); + border-radius: .5em; } + +.ctrlTab-preview:focus > * > .ctrlTab-preview-inner { + color: white; + background-color: rgba(0, 0, 0, 0.6); + text-shadow: none; + padding: 8px; + border: 2px solid white; + border-radius: .5em; } + +.ctrlTab-preview:not(#ctrlTab-showAll):focus > * > .ctrlTab-preview-inner { + margin: -10px -10px 0; } + #ctrlTab-showAll { - -moz-appearance: button; - color: ButtonText; - padding: 0 3px; - margin-top: 10px; } + margin-top: .5em; } /* Status panel */ .statuspanel-label { @@ -2716,7 +2905,7 @@ toolbarbutton.chevron > .toolbarbutton-icon { border-top-left-radius: .3em; margin-left: 1em; } -html|*#fullscreen-warning { +html|*.pointerlockfswarning { align-items: center; color: #BAC3CF; background: rgba(53, 57, 69, 0.95); @@ -2726,30 +2915,30 @@ html|*#fullscreen-warning { padding: 24px 16px; font: message-box; } -html|*#fullscreen-warning::before { +html|*.pointerlockfswarning::before { margin: 0; width: 24px; height: 24px; } -html|*#fullscreen-warning.verifiedIdentity::before, -html|*#fullscreen-warning.verifiedDomain::before { +html|*.pointerlockfswarning[data-identity="verifiedIdentity"]::before, +html|*.pointerlockfswarning[data-identity="verifiedDomain"]::before { content: url("chrome://browser/skin/fullscreen/secure.svg"); } -html|*#fullscreen-warning.unknownIdentity::before { +html|*.pointerlockfswarning[data-identity="unknownIdentity"]::before { content: url("chrome://browser/skin/fullscreen/insecure.svg"); } -html|*#fullscreen-domain-text, -html|*#fullscreen-generic-text { +html|*.pointerlockfswarning-domain-text, +html|*.pointerlockfswarning-generic-text { font-size: 21px; font-weight: lighter; color: #fafafa; margin: 0 16px; } -html|*#fullscreen-domain { +html|*.pointerlockfswarning-domain { font-weight: bold; margin: 0; } -html|*#fullscreen-exit-button { +html|*.pointerlockfswarning-exit-button { padding: 5px 30px; font: message-box; font-size: 14px; @@ -2762,11 +2951,11 @@ html|*#fullscreen-exit-button { color: #BAC3CF; border-color: rgba(26, 28, 34, 0.35); background-color: rgba(102, 109, 132, 0.35); } - html|*#fullscreen-exit-button:hover { + html|*.pointerlockfswarning-exit-button:hover { color: #BAC3CF; border-color: rgba(26, 28, 34, 0.35); background-color: rgba(119, 127, 151, 0.45); } - html|*#fullscreen-exit-button:active, html|*#fullscreen-exit-button:checked { + html|*.pointerlockfswarning-exit-button:active, html|*.pointerlockfswarning-exit-button:checked { color: #ffffff; border-color: rgba(26, 28, 34, 0.35); background-color: #5294E2; } @@ -2907,6 +3096,9 @@ html|*#fullscreen-exit-button { .devtools-responsiveui-close { list-style-image: url("chrome://devtools/skin/images/close.svg"); } +.devtools-responsiveui-close > image { + filter: invert(1); } + .devtools-responsiveui-rotate { list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-rotate.png"); } @@ -3278,8 +3470,9 @@ html|*#gcli-output-frame { margin: 0; } .messageImage[value="plugin-hidden"] { - list-style-image: url("chrome://browser/skin/notification-pluginNormal.png"); - -moz-image-region: rect(0, 16px, 16px, 0); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #808080; } /* Keep any changes to this style in sync with pluginProblem.css */ notification.pluginVulnerable { @@ -3288,7 +3481,9 @@ notification.pluginVulnerable { color: white; } notification.pluginVulnerable .messageImage { - list-style-image: url("chrome://browser/skin/notification-pluginBlocked.png"); } + list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked); + filter: url(chrome://browser/skin/filters.svg#fill); + fill: #d92215; } notification.pluginVulnerable > .notification-inner > .messageCloseButton:not(:hover) { background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 80, 16, 64); } @@ -3545,19 +3740,6 @@ toolbar[brighttext] #downloads-indicator-counter { border-radius: 1px; margin-inline-end: 2px; } -/* Social toolbar item */ -.social-activation-icon { - width: auto; - height: auto; - max-height: 64px; - max-width: 64px; } - -#social-activation-message { - max-width: 250px; } - -#social-activation-message > label { - margin: 0; } - /* social toolbar provider menu */ #social-statusarea-popup { margin-top: 0; @@ -3771,6 +3953,9 @@ window > chatbox { * 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/. */ /* Customization mode */ +:root { + --drag-drop-transition-duration: .3s; } + #main-window:-moz-any([customize-entering], [customize-entered]) #browser-bottombox { margin-bottom: 2em; } @@ -3843,7 +4028,7 @@ window > chatbox { #customization-palette, #customization-empty { - padding: 0 25px 25px; } + padding: 5px 25px 25px; } #customization-header { font-size: 1.75em; @@ -3938,7 +4123,7 @@ toolbarpaletteitem[mousedown] { .panel-customization-placeholder, toolbarpaletteitem[place="palette"], toolbarpaletteitem[place="panel"] { - transition: transform .3s ease-in-out; } + transition: transform var(--drag-drop-transition-duration) ease-in-out; } #customization-palette { transition: opacity .3s ease-in-out; @@ -3947,6 +4132,9 @@ toolbarpaletteitem[place="panel"] { #customization-palette[showing="true"] { opacity: 1; } +toolbarpaletteitem toolbarbutton[disabled] { + color: inherit !important; } + toolbarpaletteitem[notransition].panel-customization-placeholder, toolbarpaletteitem[notransition][place="toolbar"], toolbarpaletteitem[notransition][place="palette"], @@ -3957,7 +4145,7 @@ toolbarpaletteitem > toolbarbutton > .toolbarbutton-icon, toolbarpaletteitem > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon, toolbarpaletteitem > toolbaritem.panel-wide-item, toolbarpaletteitem > toolbarbutton[type="menu-button"] { - transition: transform 0.3s cubic-bezier(0.6, 2, 0.75, 1.5) !important; } + transition: transform var(--drag-drop-transition-duration) cubic-bezier(0.6, 2, 0.75, 1.5) !important; } toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-icon, toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon { @@ -3980,10 +4168,19 @@ toolbarpaletteitem[place="toolbar"] { toolbarpaletteitem[place="palette"]:-moz-focusring, toolbarpaletteitem[place="panel"]:-moz-focusring, toolbarpaletteitem[place="toolbar"]:-moz-focusring { + outline-width: 0; } + +toolbarpaletteitem[place="palette"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="panel"]:not([mousedown="true"]):-moz-focusring, +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + /* Delay adding the focusring back until after the transform transition completes. */ + transition: outline-width 0.01s linear var(--drag-drop-transition-duration); outline: 1px dotted rgba(0, 0, 0, 0.5); - outline-offset: -5px; -moz-outline-radius: 2.5px; } +toolbarpaletteitem[place="toolbar"]:not([mousedown="true"]):-moz-focusring { + outline-offset: -5px; } + #wrapper-edit-controls[place="palette"] > #edit-controls > toolbarbutton, #wrapper-edit-controls[place="palette"] > #edit-controls > separator, #wrapper-zoom-controls[place="palette"] > #zoom-controls > toolbarbutton, @@ -4553,7 +4750,7 @@ notification.heartbeat { .webextension-popup-browser { border-radius: inherit; } -.menuitem-iconic[command="Browser:NewUserContextTab"] > .menu-iconic-left > .menu-iconic-icon { +.menuitem-iconic[usercontextid] > .menu-iconic-left > .menu-iconic-icon { visibility: visible; } #nav-bar #loop-button, #nav-bar diff --git a/arc-firefox-theme/chrome/browser/search-arrow-go.svg b/arc-firefox-theme/chrome/browser/search-arrow-go.svg index ddddff1..66d4bc9 100644 --- a/arc-firefox-theme/chrome/browser/search-arrow-go.svg +++ b/arc-firefox-theme/chrome/browser/search-arrow-go.svg @@ -18,5 +18,7 @@ <path id="search-arrow-go-glyph" d="M1,7v2.2C1,9.8,1.4,10,2,10h7.5l-3,3.1c-0.4,0.3-0.4,1,0,1.4l0.8,0.8 c0.4,0.4,1,0.4,1.4,0l6.6-6.6c0.4-0.4,0.4-1,0-1.4L8.7,0.7c-0.4-0.4-1-0.4-1.4,0L6.5,1.6C6.1,2,6.1,2.6,6.5,3l3,3H2C1.4,6,1,6.4,1,7z"/> </defs> <use id="search-arrow-go" xlink:href="#search-arrow-go-glyph"/> + <use id="search-arrow-go-rtl" transform="rotate(180 8 8)" xlink:href="#search-arrow-go-glyph"/> <use id="search-arrow-go-inverted" xlink:href="#search-arrow-go-glyph"/> + <use id="search-arrow-go-rtl-inverted" transform="rotate(180 8 8)" xlink:href="#search-arrow-go-glyph"/> </svg> diff --git a/arc-firefox-theme/chrome/browser/search-pref.png b/arc-firefox-theme/chrome/browser/search-pref.png Binary files differdeleted file mode 100644 index 1d50804..0000000 --- a/arc-firefox-theme/chrome/browser/search-pref.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/searchbar.css b/arc-firefox-theme/chrome/browser/searchbar.css index a79bc5e..f1544af 100644 --- a/arc-firefox-theme/chrome/browser/searchbar.css +++ b/arc-firefox-theme/chrome/browser/searchbar.css @@ -3,7 +3,14 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #PopupSearchAutoComplete { - margin-inline-start: -24px; + /* JS code forces the panel to have the width of the searchbar rather than + * the width of the textfield. Alignment of the panel with the searchbar is + * obtained with negative margins here: margin-inline-start when the text + * field is in the same direction as the rest of the UI, margin-inline-end + * when the textfield's direction has been reversed. + * (eg. using ctrl+shift+X) */ + margin-inline-start: -23px; + margin-inline-end: -16px; } .autocomplete-textbox-container { @@ -31,6 +38,7 @@ padding: 1px; list-style-image: url("chrome://browser/skin/reload-stop-go.png"); -moz-image-region: rect(0, 42px, 14px, 28px); + width: 14px; } .search-go-button:hover { @@ -41,7 +49,7 @@ -moz-image-region: rect(28px, 42px, 42px, 28px); } -.search-go-button:-moz-locale-dir(rtl) > .toolbarbutton-icon { +.search-go-button:-moz-locale-dir(rtl) { transform: scaleX(-1); } @@ -63,6 +71,7 @@ menuitem[cmd="cmd_clearhistory"][disabled] { margin-top: 1px; margin-bottom: 1px; margin-inline-start: 2px; + width: 20px; } .searchbar-search-button[addengines="true"] { @@ -77,6 +86,41 @@ menuitem[cmd="cmd_clearhistory"][disabled] { -moz-image-region: rect(0, 60px, 20px, 40px); } +@media (min-resolution: 1.1dppx) { + .searchbar-engine-image { + list-style-image: url("chrome://mozapps/skin/places/defaultFavicon@2x.png"); + } + + .searchbar-search-button { + list-style-image: url("chrome://browser/skin/search-indicator@2x.png"); + -moz-image-region: rect(0, 40px, 40px, 0); + } + + .searchbar-search-button[addengines="true"] { + list-style-image: url("chrome://browser/skin/search-indicator-badge-add@2x.png"); + } + + .searchbar-search-button:hover { + -moz-image-region: rect(0, 80px, 40px, 40px); + } + + .searchbar-search-button:hover:active { + -moz-image-region: rect(0, 120px, 40px, 80px); + } + + .search-go-button { + list-style-image: url("chrome://browser/skin/reload-stop-go@2x.png"); + -moz-image-region: rect(0, 84px, 28px, 56px); + } + + .search-go-button:hover { + -moz-image-region: rect(28px, 84px, 56px, 56px); + } + + .search-go-button:hover:active { + -moz-image-region: rect(56px, 84px, 84px, 56px); + } +} .search-panel-current-engine { border-top: none !important; @@ -130,6 +174,10 @@ menuitem[cmd="cmd_clearhistory"][disabled] { background-position: right center; } +.searchbar-engine-one-off-item:-moz-locale-dir(rtl) { + background-position: left center; +} + .searchbar-engine-one-off-item:not(.last-row) { box-sizing: content-box; border-bottom: 1px solid rgba(0, 0, 0, 0.2); @@ -204,6 +252,16 @@ menuitem[cmd="cmd_clearhistory"][disabled] { list-style-image: url("chrome://browser/skin/search-engine-placeholder.png"); } +@media (min-resolution: 1.1dppx) { + .addengine-badge { + list-style-image: url("chrome://browser/skin/badge-add-engine@2x.png"); + } + + .addengine-item:not([image]) { + list-style-image: url("chrome://browser/skin/search-engine-placeholder@2x.png"); + } +} + .search-panel-tree > .autocomplete-treebody::-moz-tree-cell { border-top: none !important; } diff --git a/arc-firefox-theme/chrome/browser/syncedtabs/sidebar.css b/arc-firefox-theme/chrome/browser/syncedtabs/sidebar.css index acfb2b9..cc4ba26 100644 --- a/arc-firefox-theme/chrome/browser/syncedtabs/sidebar.css +++ b/arc-firefox-theme/chrome/browser/syncedtabs/sidebar.css @@ -90,24 +90,22 @@ body { padding-inline-start: 20px; } -.item.client.device-image-desktop.selected > .item-title-container > .item-icon-container { - background-image: url("chrome://browser/skin/sync-desktopIcon.svg#icon-inverted"); -} - -.item.client.device-image-desktop:not(.selected) > .item-title-container > .item-icon-container, -.item.client.device-image-desktop.selected > .item-title-container > .item-icon-container:-moz-window-inactive { +.item.client.device-image-desktop > .item-title-container > .item-icon-container { background-image: url("chrome://browser/skin/sync-desktopIcon.svg#icon"); } -.item.client.device-image-mobile.selected > .item-title-container > .item-icon-container { - background-image: url("chrome://browser/skin/sync-mobileIcon.svg#icon-inverted"); +.item.client.device-image-desktop.selected:focus > .item-title-container > .item-icon-container { + background-image: url("chrome://browser/skin/sync-desktopIcon.svg#icon-inverted"); } -.item.client.device-image-mobile:not(.selected) > .item-title-container > .item-icon-container, -.item.client.device-image-mobile.selected > .item-title-container > .item-icon-container:-moz-window-inactive { +.item.client.device-image-mobile > .item-title-container > .item-icon-container { background-image: url("chrome://browser/skin/sync-mobileIcon.svg#icon"); } +.item.client.device-image-mobile.selected:focus > .item-title-container > .item-icon-container { + background-image: url("chrome://browser/skin/sync-mobileIcon.svg#icon-inverted"); +} + .item.tab > .item-title-container > .item-icon-container { background-image: url("chrome://mozapps/skin/places/defaultFavicon.png"); } diff --git a/arc-firefox-theme/chrome/browser/tabbrowser/connecting@2x.png b/arc-firefox-theme/chrome/browser/tabbrowser/connecting@2x.png Binary files differnew file mode 100644 index 0000000..97e2b2e --- /dev/null +++ b/arc-firefox-theme/chrome/browser/tabbrowser/connecting@2x.png diff --git a/arc-firefox-theme/chrome/browser/tabbrowser/tab-active-middle@2x.png b/arc-firefox-theme/chrome/browser/tabbrowser/tab-active-middle@2x.png Binary files differnew file mode 100644 index 0000000..1e92acb --- /dev/null +++ b/arc-firefox-theme/chrome/browser/tabbrowser/tab-active-middle@2x.png diff --git a/arc-firefox-theme/chrome/browser/tabbrowser/tab-background-end@2x.png b/arc-firefox-theme/chrome/browser/tabbrowser/tab-background-end@2x.png Binary files differnew file mode 100644 index 0000000..eefb6ac --- /dev/null +++ b/arc-firefox-theme/chrome/browser/tabbrowser/tab-background-end@2x.png diff --git a/arc-firefox-theme/chrome/browser/tabbrowser/tab-background-middle@2x.png b/arc-firefox-theme/chrome/browser/tabbrowser/tab-background-middle@2x.png Binary files differnew file mode 100644 index 0000000..b26cb95 --- /dev/null +++ b/arc-firefox-theme/chrome/browser/tabbrowser/tab-background-middle@2x.png diff --git a/arc-firefox-theme/chrome/browser/tabbrowser/tab-background-start@2x.png b/arc-firefox-theme/chrome/browser/tabbrowser/tab-background-start@2x.png Binary files differnew file mode 100644 index 0000000..bbfc77d --- /dev/null +++ b/arc-firefox-theme/chrome/browser/tabbrowser/tab-background-start@2x.png diff --git a/arc-firefox-theme/chrome/browser/tabbrowser/tab-stroke-end@2x.png b/arc-firefox-theme/chrome/browser/tabbrowser/tab-stroke-end@2x.png Binary files differnew file mode 100644 index 0000000..a87002a --- /dev/null +++ b/arc-firefox-theme/chrome/browser/tabbrowser/tab-stroke-end@2x.png diff --git a/arc-firefox-theme/chrome/browser/tabbrowser/tab-stroke-start@2x.png b/arc-firefox-theme/chrome/browser/tabbrowser/tab-stroke-start@2x.png Binary files differnew file mode 100644 index 0000000..13bd6ad --- /dev/null +++ b/arc-firefox-theme/chrome/browser/tabbrowser/tab-stroke-start@2x.png diff --git a/arc-firefox-theme/chrome/browser/urlbar-arrow.png b/arc-firefox-theme/chrome/browser/urlbar-arrow.png Binary files differdeleted file mode 100644 index ed83d8a..0000000 --- a/arc-firefox-theme/chrome/browser/urlbar-arrow.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/urlbar-arrow@2x.png b/arc-firefox-theme/chrome/browser/urlbar-arrow@2x.png Binary files differdeleted file mode 100644 index 91d9f8d..0000000 --- a/arc-firefox-theme/chrome/browser/urlbar-arrow@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/web-notifications-icon.svg b/arc-firefox-theme/chrome/browser/web-notifications-icon.svg deleted file mode 100644 index 8c03565..0000000 --- a/arc-firefox-theme/chrome/browser/web-notifications-icon.svg +++ /dev/null @@ -1,6 +0,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/. --> -<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"> - <path fill="#a6a6a6" d="M53.6,8H10.4A6.4,6.4,0,0,0,4,14.4V41.6A6.4,6.4,0,0,0,10.4,48H12V62L26.7,48H53.6A6.4,6.4,0,0,0,60,41.6V14.4A6.4,6.4,0,0,0,53.6,8ZM34,36H14a2,2,0,0,1,0-4H34A2,2,0,0,1,34,36Zm8-8H14a2,2,0,0,1,0-4H42A2,2,0,0,1,42,28Zm8-8H14a2,2,0,0,1,0-4H50A2,2,0,0,1,50,20Z"/> -</svg> diff --git a/arc-firefox-theme/chrome/browser/web-notifications-tray.svg b/arc-firefox-theme/chrome/browser/web-notifications-tray.svg deleted file mode 100644 index 9c47315..0000000 --- a/arc-firefox-theme/chrome/browser/web-notifications-tray.svg +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- 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" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="16" viewBox="0 0 48 16"> - <defs> - <style> - .style-icon-notification { - fill: #666; - } - .style-icon-notification.hover { - fill: #808080; - } - .style-icon-notification.active { - fill: #4d4d4d; - } - </style> - <path id="shape-notifications-push" d="M13.4,2H2.6A1.6,1.6,0,0,0,1,3.6v6.8A1.6,1.6,0,0,0,2.6,12H3v3.5L6.7,12h6.7A1.6,1.6,0,0,0,15,10.4V3.6A1.6,1.6,0,0,0,13.4,2ZM8.5,9h-5a0.5,0.5,0,0,1,0-1h5A0.5,0.5,0,0,1,8.5,9Zm2-2h-7a0.5,0.5,0,0,1,0-1h7A0.5,0.5,0,0,1,10.5,7Zm2-2h-9a0.5,0.5,0,0,1,0-1h9A0.5,0.5,0,0,1,12.5,5Z"/> - </defs> - <use xlink:href="#shape-notifications-push" class="style-icon-notification"/> - <use xlink:href="#shape-notifications-push" transform="translate(16)" class="style-icon-notification hover"/> - <use xlink:href="#shape-notifications-push" transform="translate(32)" class="style-icon-notification active"/> -</svg> diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareDevice-16.png b/arc-firefox-theme/chrome/browser/webRTC-shareDevice-16.png Binary files differdeleted file mode 100644 index 8bc5b3a..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareDevice-16.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareDevice-16@2x.png b/arc-firefox-theme/chrome/browser/webRTC-shareDevice-16@2x.png Binary files differdeleted file mode 100644 index 72d53e6..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareDevice-16@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareDevice-64.png b/arc-firefox-theme/chrome/browser/webRTC-shareDevice-64.png Binary files differdeleted file mode 100644 index d125789..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareDevice-64.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareDevice-64@2x.png b/arc-firefox-theme/chrome/browser/webRTC-shareDevice-64@2x.png Binary files differdeleted file mode 100644 index 82e591f..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareDevice-64@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-16.png b/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-16.png Binary files differdeleted file mode 100644 index fea67f7..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-16.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-16@2x.png b/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-16@2x.png Binary files differdeleted file mode 100644 index 590d032..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-16@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-64.png b/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-64.png Binary files differdeleted file mode 100644 index f2ca85c..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-64.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-64@2x.png b/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-64@2x.png Binary files differdeleted file mode 100644 index 46cc433..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareMicrophone-64@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareScreen-16.png b/arc-firefox-theme/chrome/browser/webRTC-shareScreen-16.png Binary files differdeleted file mode 100644 index 30b1e87..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareScreen-16.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareScreen-16@2x.png b/arc-firefox-theme/chrome/browser/webRTC-shareScreen-16@2x.png Binary files differdeleted file mode 100644 index 6eae122..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareScreen-16@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareScreen-64.png b/arc-firefox-theme/chrome/browser/webRTC-shareScreen-64.png Binary files differdeleted file mode 100644 index aae5238..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareScreen-64.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-shareScreen-64@2x.png b/arc-firefox-theme/chrome/browser/webRTC-shareScreen-64@2x.png Binary files differdeleted file mode 100644 index 8d57427..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-shareScreen-64@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-sharingDevice-16.png b/arc-firefox-theme/chrome/browser/webRTC-sharingDevice-16.png Binary files differdeleted file mode 100644 index b7ab6f0..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-sharingDevice-16.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-sharingDevice-16@2x.png b/arc-firefox-theme/chrome/browser/webRTC-sharingDevice-16@2x.png Binary files differdeleted file mode 100644 index cf1dd9a..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-sharingDevice-16@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-sharingMicrophone-16.png b/arc-firefox-theme/chrome/browser/webRTC-sharingMicrophone-16.png Binary files differdeleted file mode 100644 index 2b4d219..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-sharingMicrophone-16.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-sharingMicrophone-16@2x.png b/arc-firefox-theme/chrome/browser/webRTC-sharingMicrophone-16@2x.png Binary files differdeleted file mode 100644 index b45d08c..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-sharingMicrophone-16@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-sharingScreen-16.png b/arc-firefox-theme/chrome/browser/webRTC-sharingScreen-16.png Binary files differdeleted file mode 100644 index 6cde0cb..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-sharingScreen-16.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/browser/webRTC-sharingScreen-16@2x.png b/arc-firefox-theme/chrome/browser/webRTC-sharingScreen-16@2x.png Binary files differdeleted file mode 100644 index a0aac6c..0000000 --- a/arc-firefox-theme/chrome/browser/webRTC-sharingScreen-16@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/global/console/console-error-caret.gif b/arc-firefox-theme/chrome/global/console/console-error-caret.gif Binary files differdeleted file mode 100644 index a8f30f9..0000000 --- a/arc-firefox-theme/chrome/global/console/console-error-caret.gif +++ /dev/null diff --git a/arc-firefox-theme/chrome/global/console/console-error-dash.gif b/arc-firefox-theme/chrome/global/console/console-error-dash.gif Binary files differdeleted file mode 100644 index 74679a2..0000000 --- a/arc-firefox-theme/chrome/global/console/console-error-dash.gif +++ /dev/null diff --git a/arc-firefox-theme/chrome/global/console/console-toolbar.png b/arc-firefox-theme/chrome/global/console/console-toolbar.png Binary files differdeleted file mode 100644 index 05277b6..0000000 --- a/arc-firefox-theme/chrome/global/console/console-toolbar.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/global/console/console.css b/arc-firefox-theme/chrome/global/console/console.css deleted file mode 100644 index adb17fc..0000000 --- a/arc-firefox-theme/chrome/global/console/console.css +++ /dev/null @@ -1,156 +0,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/. */ - -/* ===== console.css ==================================================== - == Styles used by the Error Console window. - ====================================================================== */ - -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); - -.console-box { - background-color: -moz-Field; - color: -moz-FieldText; -} - -/* ::::: console rows ::::: */ - -.console-row { - border-bottom: 1px dotted threedshadow; - padding: 4px 0px; -} - -.console-row-icon { - padding: 4px; - padding-inline-start: 5px; - -moz-box-align: start !important; -} - -.console-row-msg > label:first-child, -.console-row-file > label:first-child { - display: none; -} - -.console-time { - font-weight: normal !important; -} - -.console-icon { - list-style-image: inherit; -} - -.console-error-msg { - margin-bottom: 2px; -} - -/* ..... error rows ..... */ - -.console-row-code { - padding-top: 3px; - padding-bottom: 3px; - padding-inline-start: 3px; - padding-inline-end: 0px; - color: #0000BB; - font-size: larger; -} - -.console-dots, -.console-caret { - height: 9px; -} - -.console-dots { - background: url("chrome://global/skin/console/console-error-dash.gif") repeat-x top; -} - -.console-caret { - width: 7px; - background: url("chrome://global/skin/console/console-error-caret.gif") no-repeat top; -} - -/* ..... message rows ..... */ - -.console-row[type="message"] { - font-family: monospace; -} - -/* ..... selected state ..... */ - -.console-row[selected="true"] { - background-image: url("chrome://global/skin/console/itemSelected.png"); -} - -.console-row-code[selected="true"], -.console-row-content[selected="true"] > .console-row-file > .console-error-source > .text-link { - color: inherit !important; -} - -/* ::::: icons ::::: */ - -.console-row[type="error"], -.console-row[type="exception"] { - list-style-image: url("moz-icon://stock/gtk-dialog-error?size=menu"); -} - -.console-row[type="error"] .console-row-msg, -.console-row[type="exception"] .console-row-msg { - font-weight: bold; -} - -.console-row[type="warning"] { - list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=menu"); -} - -.console-row[type="message"] { - list-style-image: url("moz-icon://stock/gtk-dialog-info?size=menu"); -} - -/* ::::: toolbars ::::: */ - -#TextboxEval { - margin: 2px !important; -} - -#ButtonEval { - margin-top: 2px !important; - margin-bottom: 2px !important; - margin-inline-start: 0px !important; - margin-inline-end: 2px !important; -} - -/* Toolbar icons */ - -toolbar#ToolbarMode toolbarbutton { - -moz-box-orient: horizontal; -} - -#Console\:modeAll { - list-style-image: url("chrome://global/skin/console/console-toolbar.png"); -} - -#Console\:modeErrors { - list-style-image: url("moz-icon://stock/gtk-dialog-error?size=toolbar"); -} - -#Console\:modeWarnings { - list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=toolbar"); -} - -#Console\:modeMessages { - list-style-image: url("moz-icon://stock/gtk-dialog-info?size=toolbar"); -} - -#Console\:clear { - list-style-image: url("moz-icon://stock/gtk-clear?size=toolbar"); -} - -toolbar#ToolbarMode .toolbarbutton-text { - padding-inline-end: 4px; -} - -/* ::::: Fix Error Console toolbar button text spacing ::::: */ - -.toolbarbutton-text { - padding-inline-start: 0px; - padding-inline-end: 5px; -} diff --git a/arc-firefox-theme/chrome/global/console/console.png b/arc-firefox-theme/chrome/global/console/console.png Binary files differdeleted file mode 100644 index c1be13b..0000000 --- a/arc-firefox-theme/chrome/global/console/console.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/global/console/itemSelected.png b/arc-firefox-theme/chrome/global/console/itemSelected.png Binary files differdeleted file mode 100644 index 964cd6a..0000000 --- a/arc-firefox-theme/chrome/global/console/itemSelected.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/global/findBar.css b/arc-firefox-theme/chrome/global/findBar.css index 44aa43b..f049114 100644 --- a/arc-firefox-theme/chrome/global/findBar.css +++ b/arc-firefox-theme/chrome/global/findBar.css @@ -85,9 +85,8 @@ findbar[noanim] { .findbar-find-next { margin-inline-start: 0; -moz-appearance: none; - background: linear-gradient(rgba(255,255,255,.9), rgba(255,255,255,.2)); + background: linear-gradient(rgba(255,255,255,.8) 1px, rgba(255,255,255,.4) 1px, rgba(255,255,255,.1)); border: 1px solid ThreeDShadow; - box-shadow: 0 1px #fff inset; padding: 5px 9px; line-height: 1em; } @@ -143,7 +142,8 @@ findbar[noanim] { } .findbar-highlight, -.findbar-case-sensitive { +.findbar-case-sensitive, +.findbar-entire-word { margin-inline-start: 5px; } diff --git a/arc-firefox-theme/chrome/global/icons/loading-inverted.png b/arc-firefox-theme/chrome/global/icons/loading-inverted.png Binary files differdeleted file mode 100644 index 8831a80..0000000 --- a/arc-firefox-theme/chrome/global/icons/loading-inverted.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/global/icons/loading-inverted@2x.png b/arc-firefox-theme/chrome/global/icons/loading-inverted@2x.png Binary files differdeleted file mode 100644 index b25b445..0000000 --- a/arc-firefox-theme/chrome/global/icons/loading-inverted@2x.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/global/icons/loading.png b/arc-firefox-theme/chrome/global/icons/loading.png Binary files differindex a2f9b79..b886c73 100644 --- a/arc-firefox-theme/chrome/global/icons/loading.png +++ b/arc-firefox-theme/chrome/global/icons/loading.png diff --git a/arc-firefox-theme/chrome/global/icons/loading@2x.png b/arc-firefox-theme/chrome/global/icons/loading@2x.png Binary files differnew file mode 100644 index 0000000..ac928c5 --- /dev/null +++ b/arc-firefox-theme/chrome/global/icons/loading@2x.png diff --git a/arc-firefox-theme/chrome/global/in-content/common.css b/arc-firefox-theme/chrome/global/in-content/common.css index 1a4bff3..0252f7f 100644 --- a/arc-firefox-theme/chrome/global/in-content/common.css +++ b/arc-firefox-theme/chrome/global/in-content/common.css @@ -428,6 +428,14 @@ xul|textbox { padding-left: 10px; } +/* Create a separate rule to unset these styles on .tree-input instead of + using :not(.tree-input) so the selector specifity doesn't change. */ +xul|textbox.tree-input { + min-height: unset; + padding-right: unset; + padding-left: unset; +} + html|input[type="text"], html|textarea { font-family: inherit; diff --git a/arc-firefox-theme/chrome/global/media/clicktoplay-bgtexture.png b/arc-firefox-theme/chrome/global/media/clicktoplay-bgtexture.png Binary files differindex 0d3cacd..caffc24 100644 --- a/arc-firefox-theme/chrome/global/media/clicktoplay-bgtexture.png +++ b/arc-firefox-theme/chrome/global/media/clicktoplay-bgtexture.png diff --git a/arc-firefox-theme/chrome/global/media/closeCaptionButton.png b/arc-firefox-theme/chrome/global/media/closeCaptionButton.png Binary files differnew file mode 100644 index 0000000..469310f --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/closeCaptionButton.png diff --git a/arc-firefox-theme/chrome/global/media/closeCaptionButton@2x.png b/arc-firefox-theme/chrome/global/media/closeCaptionButton@2x.png Binary files differnew file mode 100644 index 0000000..0335078 --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/closeCaptionButton@2x.png diff --git a/arc-firefox-theme/chrome/global/media/fullscreenButton@2x.png b/arc-firefox-theme/chrome/global/media/fullscreenButton@2x.png Binary files differnew file mode 100644 index 0000000..b09ebbd --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/fullscreenButton@2x.png diff --git a/arc-firefox-theme/chrome/global/media/muteButton@2x.png b/arc-firefox-theme/chrome/global/media/muteButton@2x.png Binary files differnew file mode 100644 index 0000000..b2cd21c --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/muteButton@2x.png diff --git a/arc-firefox-theme/chrome/global/media/noAudio@2x.png b/arc-firefox-theme/chrome/global/media/noAudio@2x.png Binary files differnew file mode 100644 index 0000000..7de728b --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/noAudio@2x.png diff --git a/arc-firefox-theme/chrome/global/media/pauseButton@2x.png b/arc-firefox-theme/chrome/global/media/pauseButton@2x.png Binary files differnew file mode 100644 index 0000000..df22919 --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/pauseButton@2x.png diff --git a/arc-firefox-theme/chrome/global/media/playButton@2x.png b/arc-firefox-theme/chrome/global/media/playButton@2x.png Binary files differnew file mode 100644 index 0000000..fb20075 --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/playButton@2x.png diff --git a/arc-firefox-theme/chrome/global/media/scrubberThumb@2x.png b/arc-firefox-theme/chrome/global/media/scrubberThumb@2x.png Binary files differnew file mode 100644 index 0000000..f8790f4 --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/scrubberThumb@2x.png diff --git a/arc-firefox-theme/chrome/global/media/scrubberThumbWide@2x.png b/arc-firefox-theme/chrome/global/media/scrubberThumbWide@2x.png Binary files differnew file mode 100644 index 0000000..52c9d72 --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/scrubberThumbWide@2x.png diff --git a/arc-firefox-theme/chrome/global/media/unmuteButton@2x.png b/arc-firefox-theme/chrome/global/media/unmuteButton@2x.png Binary files differnew file mode 100644 index 0000000..86f2185 --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/unmuteButton@2x.png diff --git a/arc-firefox-theme/chrome/global/media/videocontrols.css b/arc-firefox-theme/chrome/global/media/videocontrols.css index 09e9a5f..6907620 100644 --- a/arc-firefox-theme/chrome/global/media/videocontrols.css +++ b/arc-firefox-theme/chrome/global/media/videocontrols.css @@ -12,6 +12,7 @@ .playButton, .muteButton, +.closedCaptionButton, .fullscreenButton { background-color: transparent; background-repeat: no-repeat; @@ -27,12 +28,14 @@ .playButton:hover, .muteButton:hover, +.closedCaptionButton:hover, .fullscreenButton:hover { opacity: 1; } .playButton:hover:active, .muteButton:hover:active, +.closedCaptionButton:hover:active, .fullscreenButton:hover:active { opacity: 0.4; } @@ -63,6 +66,19 @@ display: none; } +.closedCaptionButton { + background-image: url(chrome://global/skin/media/closeCaptionButton.png); + background-position: 4px; +} + +.closedCaptionButton[enabled] { + opacity: 1; +} + +.closedCaptionButton[hidden] { + display: none; +} + .fullscreenButton { background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 16, 16, 0); } @@ -92,9 +108,44 @@ background-clip: content-box; } -.controlBar[fullscreen-unavailable] > .volumeStack { +.textTrackList { + display: -moz-box; + -moz-appearance: none; + -moz-box-pack: end; + -moz-box-align: end; + padding: 0; +} + +.textTrackList[hidden] { + display: none; +} + +.textTrackList > html|*.textTrackItem { + -moz-appearance: none; + -moz-box-align: start; + text-align: start; + overflow: hidden; + margin: 0; + padding: 2px 10px; + -moz-margin-end: 10px; + border: none; + color: rgba(255,255,255,.5); + background-color: rgba(35,31,32,.74); + white-space: nowrap; +} + +.textTrackList > html|*.textTrackItem[on] { + color: white; + background-color: black; +} + +.textTrackList > html|*.textTrackItem:hover { + background-color: rgba(0,0,0,.55); +} + +.controlBar[fullscreen-unavailable] { /* This value is duplicated in the videocontrols.xml adjustControlSize function. */ - margin-inline-end: 8px; + padding-inline-end: 8px; } .volumeControl .scale-thumb { @@ -109,10 +160,13 @@ .durationLabel { margin-left: -22px; /* 1/2 of scrubber thumb width, for overhang. */ padding-left: 8px; /* don't bump into the scrubber bar */ - padding-top: 0; /* center vertically with scrubber bar */ color: rgba(255,255,255,.75); + font: message-box; font-size: 11px; - font-family: Arial, sans-serif; +} + +.durationLabel { + padding-top: 0; /* center vertically with scrubber bar */ } .positionLabel { @@ -171,7 +225,6 @@ margin-top: -10px; margin-bottom: 10px; } - /* .scale-thumb is an element inside the <scale> implementation. */ .scrubber .scale-thumb, .volumeControl .scale-thumb { @@ -194,10 +247,14 @@ .timeLabel { color: rgba(255,255,255,.75); + font: message-box; font-size: 10px; - font-family: Arial, sans-serif; text-shadow: rgba(0,0,0,.3) 0 1px; - padding-top: 5px; + padding-top: 7px; +} + +.timeLabel { + padding-top: 5px; /* center vertically with scrubber bar */ } .statusOverlay { @@ -317,3 +374,55 @@ html|table { padding: 0 10px; text-align: center; } + +@media (min-resolution: 2dppx) { + .playButton { + background-image: url(chrome://global/skin/media/pauseButton@2x.png); + background-size: 28px 28px; + } + .playButton[paused] { + background-image: url(chrome://global/skin/media/playButton@2x.png); + background-size: 28px 28px; + } + .volumeBackground { + background-image: url(chrome://global/skin/media/volume-empty@2x.png); + background-size: 32px 16px; + } + .volumeForeground { + background-image: url(chrome://global/skin/media/volume-full@2x.png); + background-size: 32px 16px; + } + .muteButton { + background-image: url(chrome://global/skin/media/muteButton@2x.png); + background-size: 33px 28px; + } + .muteButton[muted] { + background-image: url(chrome://global/skin/media/unmuteButton@2x.png); + background-size: 33px 28px; + } + .muteButton[noAudio] { + background-image: url(chrome://global/skin/media/noAudio@2x.png); + background-size: 33px 28px; + } + .closedCaptionButton { + background-image: url(chrome://global/skin/media/closeCaptionButton@2x.png); + background-position: 4px; + background-size: 28px 28px; + } + .fullscreenButton { + background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 32, 32, 0); + background-size: 16px 16px; + } + .fullscreenButton[fullscreened] { + background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 64, 32, 32); + background-size: 16px 16px; + } + .timeThumb { + background-image: url(chrome://global/skin/media/scrubberThumb@2x.png); + background-size: 33px 28px; + } + .timeThumb[showhours="true"] { + background-image: url(chrome://global/skin/media/scrubberThumbWide@2x.png); + background-size: 45px 28px; + } +} diff --git a/arc-firefox-theme/chrome/global/media/volume-empty@2x.png b/arc-firefox-theme/chrome/global/media/volume-empty@2x.png Binary files differnew file mode 100644 index 0000000..ca494e8 --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/volume-empty@2x.png diff --git a/arc-firefox-theme/chrome/global/media/volume-full@2x.png b/arc-firefox-theme/chrome/global/media/volume-full@2x.png Binary files differnew file mode 100644 index 0000000..5bf63c7 --- /dev/null +++ b/arc-firefox-theme/chrome/global/media/volume-full@2x.png diff --git a/arc-firefox-theme/chrome/mozapps/extensions/extensions.css b/arc-firefox-theme/chrome/mozapps/extensions/extensions.css index 112b088..682a3d9 100644 --- a/arc-firefox-theme/chrome/mozapps/extensions/extensions.css +++ b/arc-firefox-theme/chrome/mozapps/extensions/extensions.css @@ -5,9 +5,7 @@ @import url("chrome://global/skin/in-content/common.css"); .main-content { - padding-top: 0; - padding-inline-end: 0; - padding-bottom: 0; + padding: 0; } #nav-header { @@ -16,7 +14,8 @@ } .view-pane > .list > scrollbox { - padding-inline-end: 48px; + padding-right: 48px; + padding-left: 48px; } @@ -98,7 +97,8 @@ .alert-container { -moz-box-align: center; - margin-inline-end: 48px; + margin-right: 48px; + margin-left: 48px; } .alert-spacer-before { @@ -233,7 +233,8 @@ button.warning { #header { margin-top: 20px; margin-bottom: 20px; - margin-inline-end: 48px; + margin-right: 48px; + margin-left: 48px; } @media (max-width: 600px) { @@ -243,8 +244,7 @@ button.warning { } .view-header { - margin: 0; - margin-inline-end: 48px; + margin: 0 48px; border-bottom: 1px solid #c1c1c1; } @@ -627,7 +627,8 @@ button.warning { #search-filter { padding: 5px 20px; - margin-inline-end: 48px; + margin-right: 48px; + margin-left: 48px; font-size: 120%; border-bottom: 1px solid #c1c1c1; overflow-x: hidden; @@ -647,8 +648,9 @@ button.warning { /*** detail view ***/ -#detail-view { - margin-inline-end: 48px; +#detail-view > .box-inherit { + margin-right: 48px; + margin-left: 48px; } #detail-view .loading { diff --git a/arc-firefox-theme/chrome/mozapps/passwordmgr/key-16.png b/arc-firefox-theme/chrome/mozapps/passwordmgr/key-16.png Binary files differdeleted file mode 100644 index 9472be0..0000000 --- a/arc-firefox-theme/chrome/mozapps/passwordmgr/key-16.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/mozapps/passwordmgr/key-64.png b/arc-firefox-theme/chrome/mozapps/passwordmgr/key-64.png Binary files differdeleted file mode 100644 index c300a26..0000000 --- a/arc-firefox-theme/chrome/mozapps/passwordmgr/key-64.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/mozapps/passwordmgr/key.png b/arc-firefox-theme/chrome/mozapps/passwordmgr/key.png Binary files differdeleted file mode 100644 index 9472be0..0000000 --- a/arc-firefox-theme/chrome/mozapps/passwordmgr/key.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/mozapps/plugins/notifyPluginCrashed.png b/arc-firefox-theme/chrome/mozapps/plugins/notifyPluginCrashed.png Binary files differdeleted file mode 100644 index 34cabf8..0000000 --- a/arc-firefox-theme/chrome/mozapps/plugins/notifyPluginCrashed.png +++ /dev/null diff --git a/arc-firefox-theme/chrome/mozapps/plugins/notifyPluginGeneric.png b/arc-firefox-theme/chrome/mozapps/plugins/notifyPluginGeneric.png Binary files differdeleted file mode 100644 index 34cabf8..0000000 --- a/arc-firefox-theme/chrome/mozapps/plugins/notifyPluginGeneric.png +++ /dev/null diff --git a/arc-firefox-theme/install.rdf b/arc-firefox-theme/install.rdf index b094a22..3a296a4 100644 --- a/arc-firefox-theme/install.rdf +++ b/arc-firefox-theme/install.rdf @@ -5,7 +5,7 @@ <Description about="urn:mozilla:install-manifest"> <em:id>{52c2877e-44e1-11e5-8874-a62d1d5d46B0}</em:id> - <em:version>49.20160920</em:version> + <em:version>50.20160920</em:version> <em:type>4</em:type> <em:name>Arc Theme</em:name> <em:description>Arc Theme for Firefox</em:description> @@ -20,8 +20,8 @@ <em:targetApplication> <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> - <em:minVersion>49.0</em:minVersion> - <em:maxVersion>52.0</em:maxVersion> + <em:minVersion>50.0</em:minVersion> + <em:maxVersion>53.0</em:maxVersion> </Description> </em:targetApplication> diff --git a/configure.ac b/configure.ac index 513070e..d7d0fae 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([arc-firefox-theme], [49.20160920], [https://github.com/horst3180/arc-firefox-theme/issues], [arc-firefox-theme], [https://github.com/horst3180/arc-firefox-theme]) +AC_INIT([arc-firefox-theme], [50.20160920], [https://github.com/horst3180/arc-firefox-theme/issues], [arc-firefox-theme], [https://github.com/horst3180/arc-firefox-theme]) AM_INIT_AUTOMAKE([-Wno-portability no-dist-gzip dist-xz foreign subdir-objects tar-ustar]) AC_PREFIX_DEFAULT(/usr/local) AM_SILENT_RULES([yes]) |