зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1376519 - Photon download notifications. r=Paolo
* Filmstrip style svg animation for start download notification, vertically centered to allow for variable-height toolbar buttons * Simultaneous identifer "dip" animation on the icon for download start * Identifier icon bounce animation for download finish (no notification animation in the #downloads-animation-container) * Always measure the anchor element as toolbarheight may change in a session (e.g. switching to compact mode) * Conditionally include the start/finish pngs for non-Photon builds MozReview-Commit-ID: LJF6iV9HiJi --HG-- extra : rebase_source : 4af001e78fef409ff7ff6b273bc426c438f25de3
This commit is contained in:
Родитель
a8397f2404
Коммит
97c128c536
|
@ -27,6 +27,8 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
Components.utils.import("resource://gre/modules/AppConstants.jsm");
|
||||
|
||||
// DownloadsButton
|
||||
|
||||
/**
|
||||
|
@ -341,8 +343,12 @@ const DownloadsIndicatorView = {
|
|||
// be able to anchor the notification elsewhere if required, and to ensure
|
||||
// the notification isn't clipped by overflow properties of the anchor's
|
||||
// container.
|
||||
// Note: no notifier animation for download finished in Photon
|
||||
let notifier = this.notifier;
|
||||
if (notifier.style.transform == "") {
|
||||
|
||||
if (aType == "start" || !AppConstants.MOZ_PHOTON_ANIMATIONS) {
|
||||
// the anchor height may vary if font-size is changed or
|
||||
// compact/tablet mode is selected so recalculate this each time
|
||||
let anchorRect = anchor.getBoundingClientRect();
|
||||
let notifierRect = notifier.getBoundingClientRect();
|
||||
let topDiff = anchorRect.top - notifierRect.top;
|
||||
|
@ -352,15 +358,23 @@ const DownloadsIndicatorView = {
|
|||
let translateX = (leftDiff + .5 * widthDiff) + "px";
|
||||
let translateY = (topDiff + .5 * heightDiff) + "px";
|
||||
notifier.style.transform = "translate(" + translateX + ", " + translateY + ")";
|
||||
notifier.setAttribute("notification", aType);
|
||||
}
|
||||
notifier.setAttribute("notification", aType);
|
||||
anchor.setAttribute("notification", aType);
|
||||
|
||||
let animationDuration;
|
||||
// This value is determined by the overall duration of animation in CSS.
|
||||
if (AppConstants.MOZ_PHOTON_ANIMATIONS) {
|
||||
animationDuration = aType == "start" ? 760 : 570;
|
||||
} else {
|
||||
animationDuration = 2000;
|
||||
}
|
||||
|
||||
this._notificationTimeout = setTimeout(() => {
|
||||
anchor.removeAttribute("notification");
|
||||
notifier.removeAttribute("notification");
|
||||
notifier.style.transform = "";
|
||||
// This value is determined by the overall duration of animation in CSS.
|
||||
}, 2000);
|
||||
}, animationDuration);
|
||||
},
|
||||
|
||||
// Callback functions from DownloadsIndicatorData
|
||||
|
|
|
@ -41,8 +41,10 @@ browser.jar:
|
|||
* skin/classic/browser/customizableui/panelUI.css (customizableui/panelUI.css)
|
||||
* skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
|
||||
skin/classic/browser/downloads/download-glow-menuPanel.png (downloads/download-glow-menuPanel.png)
|
||||
#ifndef MOZ_PHOTON_ANIMATIONS
|
||||
skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png)
|
||||
skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png)
|
||||
#endif
|
||||
* skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
|
||||
skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
|
||||
skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
}
|
||||
|
||||
|
||||
%ifndef MOZ_PHOTON_ANIMATIONS
|
||||
@media (min-resolution: 2dppx) {
|
||||
#downloads-notification-anchor[notification="start"] > #downloads-indicator-notification {
|
||||
background-image: url("chrome://browser/skin/downloads/download-notification-start@2x.png");
|
||||
|
@ -24,3 +25,4 @@
|
|||
background-image: url("chrome://browser/skin/downloads/download-notification-finish@2x.png");
|
||||
}
|
||||
}
|
||||
%endif
|
||||
|
|
|
@ -60,10 +60,12 @@ browser.jar:
|
|||
* skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
|
||||
skin/classic/browser/downloads/download-glow-menuPanel.png (downloads/download-glow-menuPanel.png)
|
||||
skin/classic/browser/downloads/download-glow-menuPanel@2x.png (downloads/download-glow-menuPanel@2x.png)
|
||||
#ifndef MOZ_PHOTON_ANIMATIONS
|
||||
skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png)
|
||||
skin/classic/browser/downloads/download-notification-finish@2x.png (downloads/download-notification-finish@2x.png)
|
||||
skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png)
|
||||
skin/classic/browser/downloads/download-notification-start@2x.png (downloads/download-notification-start@2x.png)
|
||||
#endif
|
||||
* skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
|
||||
skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)
|
||||
skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
|
||||
|
|
|
@ -158,11 +158,19 @@ toolbar[brighttext] #downloads-indicator-progress-inner {
|
|||
/*** Download notifications ***/
|
||||
|
||||
%ifdef MOZ_PHOTON_ANIMATIONS
|
||||
#downloads-button[notification="start"] > #downloads-indicator-anchor > #downloads-indicator-icon
|
||||
#downloads-button[notification="start"] > #downloads-indicator-anchor > #downloads-indicator-icon {
|
||||
animation-name: downloadsIndicatorStartDip;
|
||||
/* Upon changing the duration_delay below, please keep the delay time of
|
||||
setTimeout() identical in indicator.js for this animation.
|
||||
|
||||
Timing here needs to align with the animation on #downloads-indicator-notification
|
||||
*/
|
||||
animation-duration: 360ms;
|
||||
animation-delay: 400ms;
|
||||
animation-iteration-count: 1;
|
||||
}
|
||||
%else
|
||||
#downloads-button[notification="start"] > #downloads-indicator-anchor > #downloads-indicator-progress-outer
|
||||
%endif
|
||||
{
|
||||
#downloads-button[notification="start"] > #downloads-indicator-anchor > #downloads-indicator-progress-outer {
|
||||
animation-name: downloadsIndicatorStartJump;
|
||||
/* Upon changing the overall duration below, please keep the delay time of
|
||||
setTimeout() identical in indicator.js for this animation. */
|
||||
|
@ -170,6 +178,33 @@ toolbar[brighttext] #downloads-indicator-progress-inner {
|
|||
animation-delay: 1s;
|
||||
animation-iteration-count: 2;
|
||||
}
|
||||
%endif
|
||||
|
||||
%ifdef MOZ_PHOTON_ANIMATIONS
|
||||
@keyframes downloadsIndicatorStartDip {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
animation-timing-function: linear;
|
||||
}
|
||||
50% {
|
||||
transform: translateY(0);
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
88% {
|
||||
transform: translateY(3px);
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
100% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes downloadsIndicatorFinishPulse {
|
||||
from { transform: scale(1); }
|
||||
37.5% { transform: scale(1.4); animation-timing-function: ease-out; }
|
||||
to { transform: scale(1); animation-timing-function: ease-in; }
|
||||
}
|
||||
%else
|
||||
|
||||
@keyframes downloadsIndicatorStartJump {
|
||||
0% {
|
||||
|
@ -184,6 +219,16 @@ toolbar[brighttext] #downloads-indicator-progress-inner {
|
|||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
%endif
|
||||
|
||||
%ifdef MOZ_PHOTON_ANIMATIONS
|
||||
#downloads-button[notification="finish"] > #downloads-indicator-anchor > #downloads-indicator-icon {
|
||||
animation-name: downloadsIndicatorFinishPulse;
|
||||
animation-delay: 250ms;
|
||||
animation-duration: 320ms;
|
||||
animation-iteration-count: 2;
|
||||
}
|
||||
%endif
|
||||
|
||||
#downloads-animation-container {
|
||||
min-height: 1px;
|
||||
|
@ -198,15 +243,48 @@ toolbar[brighttext] #downloads-indicator-progress-inner {
|
|||
z-index: 5;
|
||||
}
|
||||
|
||||
%ifdef MOZ_PHOTON_ANIMATIONS
|
||||
/* download start animation */
|
||||
|
||||
#downloads-notification-anchor {
|
||||
width: 42px;
|
||||
/* Height is equal to height of each frame in the SVG animation
|
||||
Use of min/max-height instead of height is to avoid an
|
||||
assertion for `inline-size less than zero..` (bug 1379332). */
|
||||
min-height: 98px;
|
||||
max-height: 98px;
|
||||
overflow: hidden;
|
||||
}
|
||||
%endif
|
||||
|
||||
#downloads-indicator-notification {
|
||||
opacity: 0;
|
||||
%ifdef MOZ_PHOTON_ANIMATIONS
|
||||
min-width: 1344px;
|
||||
height: 98px; /* Height is equal to height of each frame in the SVG animation */
|
||||
-moz-context-properties: fill;
|
||||
/* Intentionally not using --toolbarbutton-icon-fill to get better contrast/balance
|
||||
across default, dark and light themes */
|
||||
fill: #737373;
|
||||
%else
|
||||
background-size: 16px;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
%endif
|
||||
}
|
||||
|
||||
%ifdef MOZ_PHOTON_ANIMATIONS
|
||||
@keyframes downloadsIndicatorNotificationStart {
|
||||
from {
|
||||
transform: translateX(0);
|
||||
}
|
||||
to {
|
||||
transform: translateX(-1302px);
|
||||
}
|
||||
}
|
||||
%else
|
||||
@keyframes downloadsIndicatorNotificationStartRight {
|
||||
from { opacity: 0; transform: translate(-128px, 128px) scale(8); }
|
||||
20% { opacity: .85; animation-timing-function: ease-out; }
|
||||
|
@ -224,13 +302,25 @@ toolbar[brighttext] #downloads-indicator-progress-inner {
|
|||
20% { opacity: .65; animation-timing-function: ease-in; }
|
||||
to { opacity: 0; transform: scale(8); }
|
||||
}
|
||||
%endif
|
||||
|
||||
#downloads-notification-anchor[notification="start"] > #downloads-indicator-notification {
|
||||
%ifdef MOZ_PHOTON_ANIMATIONS
|
||||
opacity: 1;
|
||||
background: url("chrome://browser/skin/downloads/notification-start-animation.svg") 0 center no-repeat;
|
||||
transform: translateX(0px);
|
||||
animation-name: downloadsIndicatorNotificationStart;
|
||||
animation-duration: 540ms;
|
||||
animation-delay: 64ms;
|
||||
animation-timing-function: steps(31);
|
||||
%else
|
||||
background-image: url("chrome://browser/skin/downloads/download-notification-start.png");
|
||||
animation-name: downloadsIndicatorNotificationStartRight;
|
||||
animation-duration: 1s;
|
||||
%endif
|
||||
}
|
||||
|
||||
%ifndef MOZ_PHOTON_ANIMATIONS
|
||||
#downloads-notification-anchor[notification="start"]:-moz-locale-dir(rtl) > #downloads-indicator-notification {
|
||||
animation-name: downloadsIndicatorNotificationStartLeft;
|
||||
}
|
||||
|
@ -240,3 +330,4 @@ toolbar[brighttext] #downloads-indicator-progress-inner {
|
|||
animation-name: downloadsIndicatorNotificationFinish;
|
||||
animation-duration: 1s;
|
||||
}
|
||||
%endif
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
<!-- 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="1344" height="98">
|
||||
<svg width="42" height="98"/>
|
||||
<svg width="42" height="98" x="42"/>
|
||||
<svg width="42" height="98" x="84">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" opacity=".333" transform="translate(21.018 22.854) scale(3.50932)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="126">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" opacity=".667" transform="translate(21.017 23.815) scale(3.41419)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="168">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.017 24.798) scale(3.31695)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="210">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.016 25.793) scale(3.21855)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="252">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.016 26.795) scale(3.11952)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="294">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.015 27.8) scale(3.02017)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="336">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.015 28.805) scale(2.92072)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="378">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.014 29.81) scale(2.82134)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="420">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.014 30.813) scale(2.72216)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="462">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.013 31.813) scale(2.6233)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="504">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.013 32.809) scale(2.52484)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="546">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.012 33.799) scale(2.42691)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="588">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.012 34.783) scale(2.32959)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="630">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.011 35.76) scale(2.23297)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="672">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.01 36.727) scale(2.13718)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="714">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.01 37.686) scale(2.0423)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="756">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.01 38.634) scale(1.94849)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="798">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.01 39.57) scale(1.85587)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="840">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.009 40.491) scale(1.76462)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="882">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.008 41.397) scale(1.67492)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="924">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.008 42.284) scale(1.58703)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="966">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.008 43.15) scale(1.50124)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="1008">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.007 43.99) scale(1.41793)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="1050">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.007 44.8) scale(1.33758)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="1092">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.006 45.573) scale(1.26087)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="1134">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.006 46.299) scale(1.18877)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="1176">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.006 46.963) scale(1.1227)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="1218">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.005 47.541) scale(1.0651)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="1260">
|
||||
<path fill="context-fill" d="M-0.712 6.158a1 1 0 0 0 1.414 0l5 -5a1 1 0 0 0 -1.414 -1.413l-3.293 3.293v-8.586a1 1 0 0 0 -2 0v8.586l-3.293 -3.293a1 1 0 0 0 -1.414 0.025a0.999 0.999 0 0 0 0 1.388l5 5z" transform="translate(21.005 47.988) scale(1.02049)"/>
|
||||
</svg>
|
||||
<svg width="42" height="98" x="1302"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 9.1 KiB |
|
@ -63,6 +63,9 @@
|
|||
skin/classic/browser/downloads/download-summary.svg (../shared/downloads/download-summary.svg)
|
||||
#ifdef MOZ_PHOTON_THEME
|
||||
skin/classic/browser/downloads/download-icons.svg (../shared/downloads/download-icons.svg)
|
||||
#endif
|
||||
#ifdef MOZ_PHOTON_ANIMATIONS
|
||||
skin/classic/browser/downloads/notification-start-animation.svg (../shared/downloads/notification-start-animation.svg)
|
||||
#endif
|
||||
skin/classic/browser/drm-icon.svg (../shared/drm-icon.svg)
|
||||
skin/classic/browser/fullscreen/insecure.svg (../shared/fullscreen/insecure.svg)
|
||||
|
|
|
@ -65,8 +65,10 @@ browser.jar:
|
|||
* skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
|
||||
skin/classic/browser/downloads/download-glow-menuPanel.png (downloads/download-glow-menuPanel.png)
|
||||
skin/classic/browser/downloads/download-glow-menuPanel-win7.png (downloads/download-glow-menuPanel-win7.png)
|
||||
#ifndef MOZ_PHOTON_ANIMATIONS
|
||||
skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png)
|
||||
skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png)
|
||||
#endif
|
||||
* skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
|
||||
skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
|
||||
skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
|
||||
|
|
Загрузка…
Ссылка в новой задаче