Wed, 31 Dec 2014 06:55:50 +0100
Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
5 /**
6 * The downloads richlistbox may list thousands of items, and it turns out
7 * XBL binding attachment, and even more so detachment, is a performance hog.
8 * This hack makes sure we don't apply any binding to inactive items (inactive
9 * items are history downloads that haven't been in the visible area).
10 * We can do this because the richlistbox implementation does not interact
11 * much with the richlistitem binding. However, this may turn out to have
12 * some side effects (see bug 828111 for the details).
13 *
14 * We might be able to do away with this workaround once bug 653881 is fixed.
15 */
16 richlistitem.download {
17 -moz-binding: none;
18 }
20 richlistitem.download[active] {
21 -moz-binding: url('chrome://browser/content/downloads/download.xml#download-full-ui');
22 }
24 .download-state:not( [state="0"] /* Downloading */)
25 .downloadPauseMenuItem,
26 .download-state:not( [state="4"] /* Paused */)
27 .downloadResumeMenuItem,
28 .download-state:not(:-moz-any([state="2"], /* Failed */
29 [state="4"]) /* Paused */)
30 .downloadCancelMenuItem,
31 .download-state[state]:not(:-moz-any([state="1"], /* Finished */
32 [state="2"], /* Failed */
33 [state="3"], /* Canceled */
34 [state="6"], /* Blocked (parental) */
35 [state="8"], /* Blocked (dirty) */
36 [state="9"]) /* Blocked (policy) */)
37 .downloadRemoveFromHistoryMenuItem,
38 .download-state:not(:-moz-any([state="-1"],/* Starting (initial) */
39 [state="0"], /* Downloading */
40 [state="1"], /* Finished */
41 [state="4"], /* Paused */
42 [state="5"]) /* Starting (queued) */)
43 .downloadShowMenuItem,
44 .download-state[state="7"] .downloadCommandsSeparator
45 {
46 display: none;
47 }