Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
michael@0 | 1 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 4 | |
michael@0 | 5 | @import url(resource://gre-resources/html.css); |
michael@0 | 6 | @import url(chrome://global/content/xul.css); |
michael@0 | 7 | |
michael@0 | 8 | @namespace parsererror url(http://www.mozilla.org/newlayout/xml/parsererror.xml); |
michael@0 | 9 | @namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); |
michael@0 | 10 | |
michael@0 | 11 | /* magic -- some of these rules are important to keep pages from overriding |
michael@0 | 12 | them |
michael@0 | 13 | */ |
michael@0 | 14 | |
michael@0 | 15 | /* Tables */ |
michael@0 | 16 | |
michael@0 | 17 | *|*::-moz-table { |
michael@0 | 18 | display: table !important; |
michael@0 | 19 | box-sizing: border-box; /* XXX do we really want this? */ |
michael@0 | 20 | } |
michael@0 | 21 | |
michael@0 | 22 | *|*::-moz-inline-table { |
michael@0 | 23 | display: inline-table !important; |
michael@0 | 24 | box-sizing: border-box; /* XXX do we really want this? */ |
michael@0 | 25 | } |
michael@0 | 26 | |
michael@0 | 27 | *|*::-moz-table-outer { |
michael@0 | 28 | display: inherit !important; /* table or inline-table */ |
michael@0 | 29 | margin: inherit ! important; |
michael@0 | 30 | padding: 0 ! important; |
michael@0 | 31 | border: none ! important; |
michael@0 | 32 | float: inherit; |
michael@0 | 33 | clear: inherit; |
michael@0 | 34 | position: inherit; |
michael@0 | 35 | top: inherit; |
michael@0 | 36 | right: inherit; |
michael@0 | 37 | bottom: inherit; |
michael@0 | 38 | left: inherit; |
michael@0 | 39 | z-index: inherit; |
michael@0 | 40 | page-break-before: inherit; |
michael@0 | 41 | page-break-after: inherit; |
michael@0 | 42 | page-break-inside: inherit; |
michael@0 | 43 | vertical-align: inherit; /* needed for inline-table */ |
michael@0 | 44 | line-height: inherit; /* needed for vertical-align on inline-table */ |
michael@0 | 45 | align-self: inherit; /* needed for "align-self" to work on table flex items */ |
michael@0 | 46 | order: inherit; /* needed for "order" to work on table flex items */ |
michael@0 | 47 | /* Bug 722777 */ |
michael@0 | 48 | -moz-transform: inherit; |
michael@0 | 49 | -moz-transform-origin: inherit; |
michael@0 | 50 | /* Bug 724750 */ |
michael@0 | 51 | -moz-backface-visibility: inherit; |
michael@0 | 52 | clip: inherit; |
michael@0 | 53 | } |
michael@0 | 54 | |
michael@0 | 55 | *|*::-moz-table-row { |
michael@0 | 56 | display: table-row !important; |
michael@0 | 57 | } |
michael@0 | 58 | |
michael@0 | 59 | /* The ::-moz-table-column pseudo-element is for extra columns at the end |
michael@0 | 60 | of a table. */ |
michael@0 | 61 | *|*::-moz-table-column { |
michael@0 | 62 | display: table-column !important; |
michael@0 | 63 | } |
michael@0 | 64 | |
michael@0 | 65 | *|*::-moz-table-column-group { |
michael@0 | 66 | display: table-column-group !important; |
michael@0 | 67 | } |
michael@0 | 68 | |
michael@0 | 69 | *|*::-moz-table-row-group { |
michael@0 | 70 | display: table-row-group !important; |
michael@0 | 71 | } |
michael@0 | 72 | |
michael@0 | 73 | *|*::-moz-table-cell { |
michael@0 | 74 | display: table-cell !important; |
michael@0 | 75 | white-space: inherit; |
michael@0 | 76 | } |
michael@0 | 77 | |
michael@0 | 78 | /* Lists */ |
michael@0 | 79 | |
michael@0 | 80 | *|*::-moz-list-bullet, *|*::-moz-list-number { |
michael@0 | 81 | display: inline; |
michael@0 | 82 | vertical-align: baseline; |
michael@0 | 83 | /* Note that this padding is suppressed for some CJK numbering styles; |
michael@0 | 84 | * see bug 934072 */ |
michael@0 | 85 | -moz-padding-end: 0.5em; |
michael@0 | 86 | } |
michael@0 | 87 | |
michael@0 | 88 | /* Links */ |
michael@0 | 89 | |
michael@0 | 90 | *|*:-moz-any-link { |
michael@0 | 91 | cursor: pointer; |
michael@0 | 92 | } |
michael@0 | 93 | |
michael@0 | 94 | *|*:-moz-any-link:-moz-focusring { |
michael@0 | 95 | /* Don't specify the outline-color, we should always use initial value. */ |
michael@0 | 96 | outline: 1px dotted; |
michael@0 | 97 | } |
michael@0 | 98 | |
michael@0 | 99 | /* Miscellaneous */ |
michael@0 | 100 | |
michael@0 | 101 | *|*::-moz-anonymous-block, *|*::-moz-cell-content { |
michael@0 | 102 | display: block !important; |
michael@0 | 103 | position: static !important; |
michael@0 | 104 | unicode-bidi: inherit; |
michael@0 | 105 | text-overflow: inherit; |
michael@0 | 106 | overflow-clip-box: inherit; |
michael@0 | 107 | } |
michael@0 | 108 | |
michael@0 | 109 | *|*::-moz-anonymous-block, *|*::-moz-anonymous-positioned-block { |
michael@0 | 110 | /* we currently inherit from the inline that is split */ |
michael@0 | 111 | outline: inherit; |
michael@0 | 112 | outline-offset: inherit; |
michael@0 | 113 | clip-path: inherit; |
michael@0 | 114 | filter: inherit; |
michael@0 | 115 | mask: inherit; |
michael@0 | 116 | opacity: inherit; |
michael@0 | 117 | text-decoration: inherit; |
michael@0 | 118 | -moz-box-ordinal-group: inherit !important; |
michael@0 | 119 | overflow-clip-box: inherit; |
michael@0 | 120 | } |
michael@0 | 121 | |
michael@0 | 122 | *|*::-moz-xul-anonymous-block { |
michael@0 | 123 | display: block ! important; |
michael@0 | 124 | position: static ! important; |
michael@0 | 125 | float: none ! important; |
michael@0 | 126 | -moz-box-ordinal-group: inherit !important; |
michael@0 | 127 | text-overflow: inherit; |
michael@0 | 128 | overflow-clip-box: inherit; |
michael@0 | 129 | } |
michael@0 | 130 | |
michael@0 | 131 | *|*::-moz-scrolled-content, *|*::-moz-scrolled-canvas, |
michael@0 | 132 | *|*::-moz-scrolled-page-sequence { |
michael@0 | 133 | /* e.g., text inputs, select boxes */ |
michael@0 | 134 | padding: inherit; |
michael@0 | 135 | /* The display doesn't affect the kind of frame constructed here. This just |
michael@0 | 136 | affects auto-width sizing of the block we create. */ |
michael@0 | 137 | display: block; |
michael@0 | 138 | -moz-box-orient: inherit; |
michael@0 | 139 | /* make unicode-bidi inherit, otherwise it has no effect on text inputs and |
michael@0 | 140 | blocks with overflow: scroll; */ |
michael@0 | 141 | unicode-bidi: inherit; |
michael@0 | 142 | text-overflow: inherit; |
michael@0 | 143 | -moz-column-count: inherit; |
michael@0 | 144 | -moz-column-width: inherit; |
michael@0 | 145 | -moz-column-gap: inherit; |
michael@0 | 146 | -moz-column-rule: inherit; |
michael@0 | 147 | /* CSS3 flexbox properties that apply to the flex container: */ |
michael@0 | 148 | align-content: inherit; |
michael@0 | 149 | align-items: inherit; |
michael@0 | 150 | flex-direction: inherit; |
michael@0 | 151 | flex-wrap: inherit; |
michael@0 | 152 | justify-content: inherit; |
michael@0 | 153 | /* Do not change these. nsCSSFrameConstructor depends on them to create a good |
michael@0 | 154 | frame tree. */ |
michael@0 | 155 | position: static !important; |
michael@0 | 156 | float: none !important; |
michael@0 | 157 | overflow-clip-box: inherit; |
michael@0 | 158 | } |
michael@0 | 159 | |
michael@0 | 160 | *|*::-moz-viewport, *|*::-moz-viewport-scroll, *|*::-moz-canvas, *|*::-moz-scrolled-canvas { |
michael@0 | 161 | display: block !important; |
michael@0 | 162 | background-color: inherit; |
michael@0 | 163 | } |
michael@0 | 164 | |
michael@0 | 165 | *|*::-moz-viewport-scroll { |
michael@0 | 166 | overflow: auto; |
michael@0 | 167 | %ifdef XP_WIN |
michael@0 | 168 | resize: both; |
michael@0 | 169 | %endif |
michael@0 | 170 | } |
michael@0 | 171 | |
michael@0 | 172 | *|*::-moz-column-content { |
michael@0 | 173 | /* the column boxes inside a column-flowed block */ |
michael@0 | 174 | /* make unicode-bidi inherit, otherwise it has no effect on column boxes */ |
michael@0 | 175 | unicode-bidi: inherit; |
michael@0 | 176 | text-overflow: inherit; |
michael@0 | 177 | /* inherit the outer frame's display, otherwise we turn into an inline */ |
michael@0 | 178 | display: inherit !important; |
michael@0 | 179 | /* Carry through our parent's height so that %-height children get |
michael@0 | 180 | their heights set */ |
michael@0 | 181 | height: 100%; |
michael@0 | 182 | } |
michael@0 | 183 | |
michael@0 | 184 | *|*::-moz-anonymous-flex-item { |
michael@0 | 185 | /* Anonymous blocks that wrap contiguous runs of inline non-replaced |
michael@0 | 186 | * content inside of a flex container. */ |
michael@0 | 187 | display: block; |
michael@0 | 188 | } |
michael@0 | 189 | |
michael@0 | 190 | *|*::-moz-page-sequence, *|*::-moz-scrolled-page-sequence { |
michael@0 | 191 | /* Collection of pages in print/print preview. Visual styles may only appear |
michael@0 | 192 | * in print preview. */ |
michael@0 | 193 | display: block !important; |
michael@0 | 194 | background: linear-gradient(#606060, #8a8a8a) fixed; |
michael@0 | 195 | height: 100%; |
michael@0 | 196 | } |
michael@0 | 197 | |
michael@0 | 198 | *|*::-moz-page { |
michael@0 | 199 | /* Individual page in print/print preview. Visual styles may only appear |
michael@0 | 200 | * in print preview. */ |
michael@0 | 201 | display: block !important; |
michael@0 | 202 | background: white; |
michael@0 | 203 | box-shadow: 5px 5px 8px #202020; |
michael@0 | 204 | margin: 0.125in 0.25in; |
michael@0 | 205 | } |
michael@0 | 206 | |
michael@0 | 207 | *|*::-moz-pagecontent { |
michael@0 | 208 | display: block !important; |
michael@0 | 209 | margin: auto; |
michael@0 | 210 | } |
michael@0 | 211 | |
michael@0 | 212 | *|*::-moz-pagebreak { |
michael@0 | 213 | display: block !important; |
michael@0 | 214 | } |
michael@0 | 215 | |
michael@0 | 216 | *|*::-moz-anonymous-positioned-block { |
michael@0 | 217 | display: block !important; |
michael@0 | 218 | position: inherit; /* relative or sticky */ |
michael@0 | 219 | top: inherit; |
michael@0 | 220 | left: inherit; |
michael@0 | 221 | bottom: inherit; |
michael@0 | 222 | right: inherit; |
michael@0 | 223 | z-index: inherit; |
michael@0 | 224 | clip: inherit; |
michael@0 | 225 | opacity: inherit; |
michael@0 | 226 | unicode-bidi: inherit; |
michael@0 | 227 | text-overflow: inherit; |
michael@0 | 228 | } |
michael@0 | 229 | |
michael@0 | 230 | /* Printing */ |
michael@0 | 231 | |
michael@0 | 232 | @media print { |
michael@0 | 233 | |
michael@0 | 234 | * { |
michael@0 | 235 | cursor: default !important; |
michael@0 | 236 | } |
michael@0 | 237 | |
michael@0 | 238 | } |
michael@0 | 239 | |
michael@0 | 240 | *|*:not(:root):-moz-full-screen { |
michael@0 | 241 | position: fixed !important; |
michael@0 | 242 | top: 0 !important; |
michael@0 | 243 | left: 0 !important; |
michael@0 | 244 | right: 0 !important; |
michael@0 | 245 | bottom: 0 !important; |
michael@0 | 246 | z-index: 2147483647 !important; |
michael@0 | 247 | background: black; |
michael@0 | 248 | width: 100% !important; |
michael@0 | 249 | height: 100% !important; |
michael@0 | 250 | margin: 0 !important; |
michael@0 | 251 | min-width: 0 !important; |
michael@0 | 252 | max-width: none !important; |
michael@0 | 253 | min-height: 0 !important; |
michael@0 | 254 | max-height: none !important; |
michael@0 | 255 | box-sizing: border-box !important; |
michael@0 | 256 | } |
michael@0 | 257 | |
michael@0 | 258 | /* If there is a full-screen element that is not the root then |
michael@0 | 259 | we should hide the viewport scrollbar. We exclude the chrome |
michael@0 | 260 | document to prevent reframing of contained plugins. */ |
michael@0 | 261 | :not(xul|*):root:-moz-full-screen-ancestor { |
michael@0 | 262 | overflow: hidden !important; |
michael@0 | 263 | } |
michael@0 | 264 | |
michael@0 | 265 | /* XML parse error reporting */ |
michael@0 | 266 | |
michael@0 | 267 | parsererror|parsererror { |
michael@0 | 268 | display: block; |
michael@0 | 269 | font-family: sans-serif; |
michael@0 | 270 | font-weight: bold; |
michael@0 | 271 | white-space: pre; |
michael@0 | 272 | margin: 1em; |
michael@0 | 273 | padding: 1em; |
michael@0 | 274 | border-width: thin; |
michael@0 | 275 | border-style: inset; |
michael@0 | 276 | border-color: red; |
michael@0 | 277 | font-size: 14pt; |
michael@0 | 278 | background-color: lightyellow; |
michael@0 | 279 | } |
michael@0 | 280 | |
michael@0 | 281 | parsererror|sourcetext { |
michael@0 | 282 | display: block; |
michael@0 | 283 | white-space: pre; |
michael@0 | 284 | font-family: -moz-fixed; |
michael@0 | 285 | margin-top: 2em; |
michael@0 | 286 | margin-bottom: 1em; |
michael@0 | 287 | color: red; |
michael@0 | 288 | font-weight: bold; |
michael@0 | 289 | font-size: 12pt; |
michael@0 | 290 | } |