diff -r 000000000000 -r 6474c204b198 browser/themes/osx/downloads/downloads.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/themes/osx/downloads/downloads.css Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,356 @@ +/* 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/. */ + +/*** Panel and outer controls ***/ + +#downloadsPanel { + margin-top: -1px; +} + +#downloadsPanel > .panel-arrowcontainer > .panel-arrowcontent { + padding: 0; +} + +#downloadsListBox { + background: transparent; + padding: 4px; + color: inherit; +} + +#downloadsPanel:not([hasdownloads]) > #downloadsListBox { + display: none; +} + +#downloadsPanel[hasdownloads] > #emptyDownloads { + display: none; +} + +#emptyDownloads { + padding: 10px 20px; + max-width: 40ch; +} + +#downloadsFooter { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +#downloadsHistory { + background: transparent; + color: hsl(210,100%,75%); + cursor: pointer; +} + +#downloadsFooter { + background: #e5e5e5; + border-top: 1px solid hsla(0,0%,0%,.1); + box-shadow: 0 -1px hsla(0,0%,100%,.5) inset, 0 1px 1px hsla(0,0%,0%,.03) inset; +} + +#downloadsHistory > .button-box { + color: #808080; + margin: 1em; +} + +#downloadsPanel[keyfocus] > #downloadsFooter > #downloadsSummary:focus, +#downloadsPanel[keyfocus] > #downloadsFooter > #downloadsHistory:focus { + outline: 2px -moz-mac-focusring solid; + outline-offset: -2px; + -moz-outline-radius-bottomleft: 4px; + -moz-outline-radius-bottomright: 4px; +} + +/*** Downloads Summary and List items ***/ + +#downloadsSummary, +richlistitem[type="download"] { + height: 7em; + -moz-padding-end: 0; + color: inherit; +} + +#downloadsSummary { + padding: 8px 38px 8px 12px; + cursor: pointer; + -moz-user-focus: normal; +} + +#downloadsSummary > .downloadTypeIcon { + list-style-image: url("chrome://browser/skin/downloads/download-summary.png"); +} + +@media (min-resolution: 2dppx) { + #downloadsSummary > .downloadTypeIcon { + list-style-image: url("chrome://browser/skin/downloads/download-summary@2x.png"); + } +} + +#downloadsSummaryDescription { + color: -moz-nativehyperlinktext; +} + +richlistitem[type="download"] { + margin: 0; + border-top: 1px solid hsla(0,0%,100%,.07); + border-bottom: 1px solid hsla(0,0%,0%,.2); + background: transparent; + padding: 8px; +} + +richlistitem[type="download"]:first-child { + border-top: 1px solid transparent; +} + +richlistitem[type="download"]:last-child { + border-bottom: 1px solid transparent; +} + +.downloadTypeIcon { + -moz-margin-end: 8px; + /* Prevent flickering when changing states. */ + height: 32px; + width: 32px; +} + +.blockedIcon { + list-style-image: url("chrome://global/skin/icons/Error.png"); +} + +/* We hold .downloadTarget, .downloadProgress and .downloadDetails inside of + a vbox with class .downloadContainer. We set the font-size of the entire + container to 95% because: + + 1) This is the size that we want .downloadDetails to be + 2) The container's width is set by localizers by &downloadDetails.width;, + which is a ch unit. Since this is the value that should control the + panel width, we apply it to the outer container to constrain + .downloadTarget and .downloadProgress. + + Finally, since we want .downloadTarget's font-size to be at 100% of the + font-size of .downloadContainer's parent, we use calc to go from the + smaller font-size back to the original font-size. + */ +#downloadsSummaryDetails, +.downloadContainer { + font-size: 95%; +} + +#downloadsSummaryDescription, +.downloadTarget { + margin-bottom: 6px; + cursor: inherit; +} + +.downloadTarget { + font-size: calc(100%/0.95); +} + +#downloadsSummaryDetails, +.downloadDetails { + opacity: 0.7; + cursor: inherit; +} + +.downloadButton { + -moz-appearance: none; + min-width: 0; + min-height: 0; + margin: 3px; + border: none; + background: transparent; + padding: 5px; + list-style-image: url("chrome://browser/skin/downloads/buttons.png"); +} + +.downloadButton:focus > .button-box { + outline: 2px -moz-mac-focusring solid; + outline-offset: -2px; +} + +.downloadButton > .button-box { + padding: 0; +} + +/*** Highlighted list items ***/ + +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"][selected], +#downloadsPanel:not([keyfocus]) > #downloadsListBox > richlistitem[type="download"][state="1"][exists]:hover { + border-radius: 3px; + border-top: 1px solid hsla(0,0%,100%,.2); + border-bottom: 1px solid hsla(0,0%,0%,.4); + background-color: Highlight; + color: HighlightText; +} + +#downloadsPanel:not([keyfocus]) > #downloadsListBox > richlistitem[type="download"][state="1"][exists]:hover { + cursor: pointer; +} + +/*** Button icons ***/ + +.downloadButton.downloadCancel { + -moz-image-region: rect(0px, 16px, 16px, 0px); +} +richlistitem[type="download"]:hover > stack > .downloadButton.downloadCancel { + -moz-image-region: rect(0px, 32px, 16px, 16px); +} +richlistitem[type="download"]:hover > stack > .downloadButton.downloadCancel:hover { + -moz-image-region: rect(0px, 48px, 16px, 32px); +} +richlistitem[type="download"]:hover > stack > .downloadButton.downloadCancel:active { + -moz-image-region: rect(0px, 64px, 16px, 48px); +} +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"][selected] > stack > .downloadButton.downloadCancel { + -moz-image-region: rect(0px, 80px, 16px, 64px); +} +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadCancel { + -moz-image-region: rect(0px, 96px, 16px, 80px); +} +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadCancel:hover { + -moz-image-region: rect(0px, 112px, 16px, 96px); +} +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadCancel:active { + -moz-image-region: rect(0px, 128px, 16px, 112px); +} + +.downloadButton.downloadShow { + -moz-image-region: rect(16px, 16px, 32px, 0px); +} +#downloadsPanel[keyfocus] > #downloadsListBox > richlistitem[type="download"][state="1"]:hover:not[selected] > stack > .downloadButton.downloadShow { + -moz-image-region: rect(16px, 32px, 32px, 16px); +} +#downloadsPanel[keyfocus] > #downloadsListBox > richlistitem[type="download"][state="1"]:hover:not[selected] > stack > .downloadButton.downloadShow:hover { + -moz-image-region: rect(16px, 48px, 32px, 32px); +} +#downloadsPanel[keyfocus] > #downloadsListBox > richlistitem[type="download"][state="1"]:hover:not[selected] > stack > .downloadButton.downloadShow:active { + -moz-image-region: rect(16px, 64px, 32px, 48px); +} +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"][selected] > stack > .downloadButton.downloadShow { + -moz-image-region: rect(16px, 80px, 32px, 64px); +} +#downloadsPanel:not([keyfocus]) > #downloadsListBox > richlistitem[type="download"][state="1"]:hover > stack > .downloadButton.downloadShow, +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadShow { + -moz-image-region: rect(16px, 96px, 32px, 80px); +} +#downloadsPanel:not([keyfocus]) > #downloadsListBox > richlistitem[type="download"][state="1"]:hover > stack > .downloadButton.downloadShow:hover, +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadShow:hover { + -moz-image-region: rect(16px, 112px, 32px, 96px); +} +#downloadsPanel:not([keyfocus]) > #downloadsListBox > richlistitem[type="download"][state="1"]:hover > stack > .downloadButton.downloadShow:active, +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadShow:active { + -moz-image-region: rect(16px, 128px, 32px, 112px); +} + +.downloadButton.downloadRetry { + -moz-image-region: rect(32px, 16px, 48px, 0px); +} +richlistitem[type="download"]:hover > stack > .downloadButton.downloadRetry { + -moz-image-region: rect(32px, 32px, 48px, 16px); +} +richlistitem[type="download"]:hover > stack > .downloadButton.downloadRetry:hover { + -moz-image-region: rect(32px, 48px, 48px, 32px); +} +richlistitem[type="download"]:hover > stack > .downloadButton.downloadRetry:active { + -moz-image-region: rect(32px, 64px, 48px, 48px); +} +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"][selected] > stack > .downloadButton.downloadRetry { + -moz-image-region: rect(32px, 80px, 48px, 64px); +} +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadRetry { + -moz-image-region: rect(32px, 96px, 48px, 80px); +} +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadRetry:hover { + -moz-image-region: rect(32px, 112px, 48px, 96px); +} +#downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadRetry:active { + -moz-image-region: rect(32px, 128px, 48px, 112px); +} + +@media (min-resolution: 2dppx) { + .downloadButton { + list-style-image: url("chrome://browser/skin/downloads/buttons@2x.png"); + } + .downloadButton > .button-box > .button-icon { + width: 16px; + height: 16px; + } + + .downloadButton.downloadCancel { + -moz-image-region: rect(0px, 32px, 32px, 0px); + } + richlistitem[type="download"]:hover > stack > .downloadButton.downloadCancel { + -moz-image-region: rect(0px, 64px, 32px, 32px); + } + richlistitem[type="download"]:hover > stack > .downloadButton.downloadCancel:hover { + -moz-image-region: rect(0px, 96px, 32px, 64px); + } + richlistitem[type="download"]:hover > stack > .downloadButton.downloadCancel:active { + -moz-image-region: rect(0px, 128px, 32px, 96px); + } + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"][selected] > stack > .downloadButton.downloadCancel { + -moz-image-region: rect(0px, 160px, 32px, 128px); + } + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadCancel { + -moz-image-region: rect(0px, 192px, 32px, 160px); + } + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadCancel:hover { + -moz-image-region: rect(0px, 224px, 32px, 192px); + } + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadCancel:active { + -moz-image-region: rect(0px, 256px, 32px, 224px); + } + + .downloadButton.downloadShow { + -moz-image-region: rect(32px, 32px, 64px, 0px); + } + #downloadsPanel[keyfocus] > #downloadsListBox > richlistitem[type="download"][state="1"]:hover:not[selected] > stack > .downloadButton.downloadShow { + -moz-image-region: rect(32px, 64px, 64px, 32px); + } + #downloadsPanel[keyfocus] > #downloadsListBox > richlistitem[type="download"][state="1"]:hover:not[selected] > stack > .downloadButton.downloadShow:hover { + -moz-image-region: rect(32px, 96px, 64px, 64px); + } + #downloadsPanel[keyfocus] > #downloadsListBox > richlistitem[type="download"][state="1"]:hover:not[selected] > stack > .downloadButton.downloadShow:active { + -moz-image-region: rect(32px, 128px, 64px, 96px); + } + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"][selected] > stack > .downloadButton.downloadShow { + -moz-image-region: rect(32px, 160px, 64px, 128px); + } + #downloadsPanel:not([keyfocus]) > #downloadsListBox > richlistitem[type="download"][state="1"]:hover > stack > .downloadButton.downloadShow, + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadShow { + -moz-image-region: rect(32px, 192px, 64px, 160px); + } + #downloadsPanel:not([keyfocus]) > #downloadsListBox > richlistitem[type="download"][state="1"]:hover > stack > .downloadButton.downloadShow:hover, + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadShow:hover { + -moz-image-region: rect(32px, 224px, 64px, 192px); + } + #downloadsPanel:not([keyfocus]) > #downloadsListBox > richlistitem[type="download"][state="1"]:hover > stack > .downloadButton.downloadShow:active, + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadShow:active { + -moz-image-region: rect(32px, 256px, 64px, 224px); + } + + .downloadButton.downloadRetry { + -moz-image-region: rect(64px, 32px, 96px, 0px); + } + richlistitem[type="download"]:hover > stack > .downloadButton.downloadRetry { + -moz-image-region: rect(64px, 64px, 96px, 32px); + } + richlistitem[type="download"]:hover > stack > .downloadButton.downloadRetry:hover { + -moz-image-region: rect(64px, 96px, 96px, 64px); + } + richlistitem[type="download"]:hover > stack > .downloadButton.downloadRetry:active { + -moz-image-region: rect(64px, 128px, 96px, 96px); + } + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"][selected] > stack > .downloadButton.downloadRetry { + -moz-image-region: rect(64px, 160px, 96px, 128px); + } + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadRetry { + -moz-image-region: rect(64px, 192px, 96px, 160px); + } + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadRetry:hover { + -moz-image-region: rect(64px, 224px, 96px, 192px); + } + #downloadsPanel[keyfocus] > #downloadsListBox:focus > richlistitem[type="download"]:hover[selected] > stack > .downloadButton.downloadRetry:active { + -moz-image-region: rect(64px, 256px, 96px, 224px); + } +}