Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
michael@0 | 1 | /* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
michael@0 | 2 | /* vim: set shiftwidth=4 tabstop=4 autoindent cindent noexpandtab: */ |
michael@0 | 3 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 5 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 6 | |
michael@0 | 7 | /* testcase data for paced-mode animations of CSS properties */ |
michael@0 | 8 | |
michael@0 | 9 | // Lists of testcases for re-use across multiple properties of the same type |
michael@0 | 10 | var _pacedTestLists = |
michael@0 | 11 | { |
michael@0 | 12 | color: [ |
michael@0 | 13 | new AnimTestcasePaced("rgb(2, 4, 6); " + |
michael@0 | 14 | "rgb(4, 8, 12); " + |
michael@0 | 15 | "rgb(8, 16, 24)", |
michael@0 | 16 | { comp0: "rgb(2, 4, 6)", |
michael@0 | 17 | comp1_6: "rgb(3, 6, 9)", |
michael@0 | 18 | comp1_3: "rgb(4, 8, 12)", |
michael@0 | 19 | comp2_3: "rgb(6, 12, 18)", |
michael@0 | 20 | comp1: "rgb(8, 16, 24)" |
michael@0 | 21 | }), |
michael@0 | 22 | new AnimTestcasePaced("rgb(10, 10, 10); " + |
michael@0 | 23 | "rgb(20, 10, 8); " + |
michael@0 | 24 | "rgb(20, 30, 4)", |
michael@0 | 25 | { comp0: "rgb(10, 10, 10)", |
michael@0 | 26 | comp1_6: "rgb(15, 10, 9)", |
michael@0 | 27 | comp1_3: "rgb(20, 10, 8)", |
michael@0 | 28 | comp2_3: "rgb(20, 20, 6)", |
michael@0 | 29 | comp1: "rgb(20, 30, 4)" |
michael@0 | 30 | }), |
michael@0 | 31 | new AnimTestcasePaced("olive; " + // rgb(128, 128, 0) |
michael@0 | 32 | "currentColor; " + // rgb(50, 50, 50) |
michael@0 | 33 | "rgb(206, 150, 206)", |
michael@0 | 34 | { comp0: "rgb(128, 128, 0)", |
michael@0 | 35 | comp1_6: "rgb(89, 89, 25)", |
michael@0 | 36 | comp1_3: "rgb(50, 50, 50)", |
michael@0 | 37 | comp2_3: "rgb(128, 100, 128)", |
michael@0 | 38 | comp1: "rgb(206, 150, 206)" |
michael@0 | 39 | }), |
michael@0 | 40 | ], |
michael@0 | 41 | paintServer : [ |
michael@0 | 42 | // Sanity check: These aren't interpolatable -- they should end up |
michael@0 | 43 | // ignoring the calcMode="paced" and falling into discrete-mode. |
michael@0 | 44 | new AnimTestcasePaced("url(#gradA); url(#gradB)", |
michael@0 | 45 | { |
michael@0 | 46 | comp0: "url(\"" + document.URL + "#gradA\") rgb(0, 0, 0)", |
michael@0 | 47 | comp1_6: "url(\"" + document.URL + "#gradA\") rgb(0, 0, 0)", |
michael@0 | 48 | comp1_3: "url(\"" + document.URL + "#gradA\") rgb(0, 0, 0)", |
michael@0 | 49 | comp2_3: "url(\"" + document.URL + "#gradB\") rgb(0, 0, 0)", |
michael@0 | 50 | comp1: "url(\"" + document.URL + "#gradB\") rgb(0, 0, 0)" |
michael@0 | 51 | }, |
michael@0 | 52 | "need support for URI-based paints"), |
michael@0 | 53 | new AnimTestcasePaced("url(#gradA); url(#gradB); url(#gradC)", |
michael@0 | 54 | { |
michael@0 | 55 | comp0: "url(\"" + document.URL + "#gradA\") rgb(0, 0, 0)", |
michael@0 | 56 | comp1_6: "url(\"" + document.URL + "#gradA\") rgb(0, 0, 0)", |
michael@0 | 57 | comp1_3: "url(\"" + document.URL + "#gradB\") rgb(0, 0, 0)", |
michael@0 | 58 | comp2_3: "url(\"" + document.URL + "#gradC\") rgb(0, 0, 0)", |
michael@0 | 59 | comp1: "url(\"" + document.URL + "#gradC\") rgb(0, 0, 0)" |
michael@0 | 60 | }, |
michael@0 | 61 | "need support for URI-based paints"), |
michael@0 | 62 | ], |
michael@0 | 63 | lengthNoUnits : [ |
michael@0 | 64 | new AnimTestcasePaced("2; 0; 4", |
michael@0 | 65 | { comp0: "2px", |
michael@0 | 66 | comp1_6: "1px", |
michael@0 | 67 | comp1_3: "0px", |
michael@0 | 68 | comp2_3: "2px", |
michael@0 | 69 | comp1: "4px" |
michael@0 | 70 | }), |
michael@0 | 71 | new AnimTestcasePaced("10; 12; 8", |
michael@0 | 72 | { comp0: "10px", |
michael@0 | 73 | comp1_6: "11px", |
michael@0 | 74 | comp1_3: "12px", |
michael@0 | 75 | comp2_3: "10px", |
michael@0 | 76 | comp1: "8px" |
michael@0 | 77 | }), |
michael@0 | 78 | ], |
michael@0 | 79 | lengthNoUnitsSVG : [ |
michael@0 | 80 | new AnimTestcasePaced("2; 0; 4", |
michael@0 | 81 | { comp0: "2", |
michael@0 | 82 | comp1_6: "1", |
michael@0 | 83 | comp1_3: "0", |
michael@0 | 84 | comp2_3: "2", |
michael@0 | 85 | comp1: "4" |
michael@0 | 86 | }), |
michael@0 | 87 | new AnimTestcasePaced("10; 12; 8", |
michael@0 | 88 | { comp0: "10", |
michael@0 | 89 | comp1_6: "11", |
michael@0 | 90 | comp1_3: "12", |
michael@0 | 91 | comp2_3: "10", |
michael@0 | 92 | comp1: "8" |
michael@0 | 93 | }), |
michael@0 | 94 | ], |
michael@0 | 95 | lengthPx : [ |
michael@0 | 96 | new AnimTestcasePaced("0px; 2px; 6px", |
michael@0 | 97 | { comp0: "0px", |
michael@0 | 98 | comp1_6: "1px", |
michael@0 | 99 | comp1_3: "2px", |
michael@0 | 100 | comp2_3: "4px", |
michael@0 | 101 | comp1: "6px" |
michael@0 | 102 | }), |
michael@0 | 103 | ], |
michael@0 | 104 | lengthPx : [ |
michael@0 | 105 | new AnimTestcasePaced("0px; 2px; 6px", |
michael@0 | 106 | { comp0: "0px", |
michael@0 | 107 | comp1_6: "1px", |
michael@0 | 108 | comp1_3: "2px", |
michael@0 | 109 | comp2_3: "4px", |
michael@0 | 110 | comp1: "6px" |
michael@0 | 111 | }), |
michael@0 | 112 | new AnimTestcasePaced("10px; 12px; 8px", |
michael@0 | 113 | { comp0: "10px", |
michael@0 | 114 | comp1_6: "11px", |
michael@0 | 115 | comp1_3: "12px", |
michael@0 | 116 | comp2_3: "10px", |
michael@0 | 117 | comp1: "8px" |
michael@0 | 118 | }), |
michael@0 | 119 | ], |
michael@0 | 120 | lengthPctSVG : [ |
michael@0 | 121 | new AnimTestcasePaced("5%; 6%; 4%", |
michael@0 | 122 | { comp0: "5%", |
michael@0 | 123 | comp1_6: "5.5%", |
michael@0 | 124 | comp1_3: "6%", |
michael@0 | 125 | comp2_3: "5%", |
michael@0 | 126 | comp1: "4%" |
michael@0 | 127 | }), |
michael@0 | 128 | ], |
michael@0 | 129 | lengthPxPctSVG : [ |
michael@0 | 130 | new AnimTestcasePaced("0px; 1%; 6px", |
michael@0 | 131 | { comp0: "0px", |
michael@0 | 132 | comp1_6: "1px", |
michael@0 | 133 | comp1_3: "1%", |
michael@0 | 134 | comp2_3: "4px", |
michael@0 | 135 | comp1: "6px" |
michael@0 | 136 | }, |
michael@0 | 137 | "need support for interpolating between " + |
michael@0 | 138 | "px and percent values"), |
michael@0 | 139 | ], |
michael@0 | 140 | opacity : [ |
michael@0 | 141 | new AnimTestcasePaced("0; 0.2; 0.6", |
michael@0 | 142 | { comp0: "0", |
michael@0 | 143 | comp1_6: "0.1", |
michael@0 | 144 | comp1_3: "0.2", |
michael@0 | 145 | comp2_3: "0.4", |
michael@0 | 146 | comp1: "0.6" |
michael@0 | 147 | }), |
michael@0 | 148 | new AnimTestcasePaced("0.7; 1.0; 0.4", |
michael@0 | 149 | { comp0: "0.7", |
michael@0 | 150 | comp1_6: "0.85", |
michael@0 | 151 | comp1_3: "1", |
michael@0 | 152 | comp2_3: "0.7", |
michael@0 | 153 | comp1: "0.4" |
michael@0 | 154 | }), |
michael@0 | 155 | ], |
michael@0 | 156 | rect : [ |
michael@0 | 157 | new AnimTestcasePaced("rect(2px, 4px, 6px, 8px); " + |
michael@0 | 158 | "rect(4px, 8px, 12px, 16px); " + |
michael@0 | 159 | "rect(8px, 16px, 24px, 32px)", |
michael@0 | 160 | { comp0: "rect(2px, 4px, 6px, 8px)", |
michael@0 | 161 | comp1_6: "rect(3px, 6px, 9px, 12px)", |
michael@0 | 162 | comp1_3: "rect(4px, 8px, 12px, 16px)", |
michael@0 | 163 | comp2_3: "rect(6px, 12px, 18px, 24px)", |
michael@0 | 164 | comp1: "rect(8px, 16px, 24px, 32px)" |
michael@0 | 165 | }), |
michael@0 | 166 | new AnimTestcasePaced("rect(10px, 10px, 10px, 10px); " + |
michael@0 | 167 | "rect(20px, 10px, 50px, 8px); " + |
michael@0 | 168 | "rect(20px, 30px, 130px, 4px)", |
michael@0 | 169 | { comp0: "rect(10px, 10px, 10px, 10px)", |
michael@0 | 170 | comp1_6: "rect(15px, 10px, 30px, 9px)", |
michael@0 | 171 | comp1_3: "rect(20px, 10px, 50px, 8px)", |
michael@0 | 172 | comp2_3: "rect(20px, 20px, 90px, 6px)", |
michael@0 | 173 | comp1: "rect(20px, 30px, 130px, 4px)" |
michael@0 | 174 | }), |
michael@0 | 175 | new AnimTestcasePaced("rect(10px, auto, 10px, 10px); " + |
michael@0 | 176 | "rect(20px, auto, 50px, 8px); " + |
michael@0 | 177 | "rect(40px, auto, 130px, 4px)", |
michael@0 | 178 | { comp0: "rect(10px, auto, 10px, 10px)", |
michael@0 | 179 | comp1_6: "rect(15px, auto, 30px, 9px)", |
michael@0 | 180 | comp1_3: "rect(20px, auto, 50px, 8px)", |
michael@0 | 181 | comp2_3: "rect(30px, auto, 90px, 6px)", |
michael@0 | 182 | comp1: "rect(40px, auto, 130px, 4px)" |
michael@0 | 183 | }), |
michael@0 | 184 | // Paced-mode animation is not supported in these next few cases |
michael@0 | 185 | // (Can't compute subcomponent distance between 'auto' & px-values) |
michael@0 | 186 | new AnimTestcasePaced("rect(10px, 10px, 10px, auto); " + |
michael@0 | 187 | "rect(20px, 10px, 50px, 8px); " + |
michael@0 | 188 | "rect(20px, 30px, 130px, 4px)", |
michael@0 | 189 | { comp0: "rect(10px, 10px, 10px, auto)", |
michael@0 | 190 | comp1_6: "rect(10px, 10px, 10px, auto)", |
michael@0 | 191 | comp1_3: "rect(20px, 10px, 50px, 8px)", |
michael@0 | 192 | comp2_3: "rect(20px, 30px, 130px, 4px)", |
michael@0 | 193 | comp1: "rect(20px, 30px, 130px, 4px)" |
michael@0 | 194 | }), |
michael@0 | 195 | new AnimTestcasePaced("rect(10px, 10px, 10px, 10px); " + |
michael@0 | 196 | "rect(20px, 10px, 50px, 8px); " + |
michael@0 | 197 | "auto", |
michael@0 | 198 | { comp0: "rect(10px, 10px, 10px, 10px)", |
michael@0 | 199 | comp1_6: "rect(10px, 10px, 10px, 10px)", |
michael@0 | 200 | comp1_3: "rect(20px, 10px, 50px, 8px)", |
michael@0 | 201 | comp2_3: "auto", |
michael@0 | 202 | comp1: "auto" |
michael@0 | 203 | }), |
michael@0 | 204 | new AnimTestcasePaced("auto; " + |
michael@0 | 205 | "auto; " + |
michael@0 | 206 | "rect(20px, 30px, 130px, 4px)", |
michael@0 | 207 | { comp0: "auto", |
michael@0 | 208 | comp1_6: "auto", |
michael@0 | 209 | comp1_3: "auto", |
michael@0 | 210 | comp2_3: "rect(20px, 30px, 130px, 4px)", |
michael@0 | 211 | comp1: "rect(20px, 30px, 130px, 4px)" |
michael@0 | 212 | }), |
michael@0 | 213 | new AnimTestcasePaced("auto; auto; auto", |
michael@0 | 214 | { comp0: "auto", |
michael@0 | 215 | comp1_6: "auto", |
michael@0 | 216 | comp1_3: "auto", |
michael@0 | 217 | comp2_3: "auto", |
michael@0 | 218 | comp1: "auto" |
michael@0 | 219 | }), |
michael@0 | 220 | ], |
michael@0 | 221 | }; |
michael@0 | 222 | |
michael@0 | 223 | // TODO: test more properties here. |
michael@0 | 224 | var gPacedBundles = |
michael@0 | 225 | [ |
michael@0 | 226 | new TestcaseBundle(gPropList.clip, _pacedTestLists.rect), |
michael@0 | 227 | new TestcaseBundle(gPropList.color, _pacedTestLists.color), |
michael@0 | 228 | new TestcaseBundle(gPropList.direction, [ |
michael@0 | 229 | new AnimTestcasePaced("rtl; ltr; rtl") |
michael@0 | 230 | ]), |
michael@0 | 231 | new TestcaseBundle(gPropList.fill, |
michael@0 | 232 | [].concat(_pacedTestLists.color, |
michael@0 | 233 | _pacedTestLists.paintServer)), |
michael@0 | 234 | new TestcaseBundle(gPropList.font_size, |
michael@0 | 235 | [].concat(_pacedTestLists.lengthNoUnits, |
michael@0 | 236 | _pacedTestLists.lengthPx, [ |
michael@0 | 237 | new AnimTestcasePaced("20%; 24%; 16%", |
michael@0 | 238 | { comp0: "10px", |
michael@0 | 239 | comp1_6: "11px", |
michael@0 | 240 | comp1_3: "12px", |
michael@0 | 241 | comp2_3: "10px", |
michael@0 | 242 | comp1: "8px" |
michael@0 | 243 | }), |
michael@0 | 244 | new AnimTestcasePaced("0px; 4%; 6px", |
michael@0 | 245 | { comp0: "0px", |
michael@0 | 246 | comp1_6: "1px", |
michael@0 | 247 | comp1_3: "2px", |
michael@0 | 248 | comp2_3: "4px", |
michael@0 | 249 | comp1: "6px" |
michael@0 | 250 | }), |
michael@0 | 251 | ]) |
michael@0 | 252 | ), |
michael@0 | 253 | new TestcaseBundle(gPropList.font_size_adjust, [ |
michael@0 | 254 | new AnimTestcasePaced("0.2; 0.6; 0.8", |
michael@0 | 255 | { comp0: "0.2", |
michael@0 | 256 | comp1_6: "0.3", |
michael@0 | 257 | comp1_3: "0.4", |
michael@0 | 258 | comp2_3: "0.6", |
michael@0 | 259 | comp1: "0.8" |
michael@0 | 260 | }), |
michael@0 | 261 | new AnimTestcasePaced("none; none; 0.5", |
michael@0 | 262 | { comp0: "none", |
michael@0 | 263 | comp1_6: "none", |
michael@0 | 264 | comp1_3: "none", |
michael@0 | 265 | comp2_3: "0.5", |
michael@0 | 266 | comp1: "0.5" |
michael@0 | 267 | }), |
michael@0 | 268 | ]), |
michael@0 | 269 | new TestcaseBundle(gPropList.font_family, [ |
michael@0 | 270 | // Sanity check: 'font-family' isn't interpolatable. It should end up |
michael@0 | 271 | // ignoring the calcMode="paced" and falling into discrete-mode. |
michael@0 | 272 | new AnimTestcasePaced("serif; sans-serif; monospace", |
michael@0 | 273 | { comp0: "serif", |
michael@0 | 274 | comp1_6: "serif", |
michael@0 | 275 | comp1_3: "sans-serif", |
michael@0 | 276 | comp2_3: "monospace", |
michael@0 | 277 | comp1: "monospace" |
michael@0 | 278 | }, |
michael@0 | 279 | "need support for more font properties"), |
michael@0 | 280 | ]), |
michael@0 | 281 | new TestcaseBundle(gPropList.opacity, _pacedTestLists.opacity), |
michael@0 | 282 | new TestcaseBundle(gPropList.stroke_dasharray, |
michael@0 | 283 | [].concat(_pacedTestLists.lengthPctSVG, [ |
michael@0 | 284 | new AnimTestcasePaced("7, 7, 7; 7, 10, 3; 1, 2, 3", |
michael@0 | 285 | { comp0: "7, 7, 7", |
michael@0 | 286 | comp1_6: "7, 8.5, 5", |
michael@0 | 287 | comp1_3: "7, 10, 3", |
michael@0 | 288 | comp2_3: "4, 6, 3", |
michael@0 | 289 | comp1: "1, 2, 3" |
michael@0 | 290 | }), |
michael@0 | 291 | ])), |
michael@0 | 292 | new TestcaseBundle(gPropList.stroke_dashoffset, |
michael@0 | 293 | [].concat(_pacedTestLists.lengthNoUnitsSVG, |
michael@0 | 294 | _pacedTestLists.lengthPx, |
michael@0 | 295 | _pacedTestLists.lengthPctSVG, |
michael@0 | 296 | _pacedTestLists.lengthPxPctSVG)), |
michael@0 | 297 | new TestcaseBundle(gPropList.stroke_width, |
michael@0 | 298 | [].concat(_pacedTestLists.lengthNoUnitsSVG, |
michael@0 | 299 | _pacedTestLists.lengthPx, |
michael@0 | 300 | _pacedTestLists.lengthPctSVG, |
michael@0 | 301 | _pacedTestLists.lengthPxPctSVG)), |
michael@0 | 302 | // XXXdholbert TODO: test 'stroke-dasharray' once we support animating it |
michael@0 | 303 | ]; |