Thu, 15 Jan 2015 15:59:08 +0100
Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 <!doctype html>
2 <head>
4 <!-- This font only has glyphs defined for 'A', 'B', 'C' and 'D', and is
5 designed purely for testing ssty functionality
6 The glyphs for 'A' and 'D' are identical, the difference between them is
7 that 'A' supports the ssty font feature.
8 'A' with ssty = 1 maps to 'B'
9 'A' with ssty = 2 maps to 'C'-->
10 <style type="text/css" media="screen, print">
11 @font-face {
12 font-family: "sstyfont";
13 src: url("ssty.woff");
14 }
15 </style>
16 </head>
17 <body>
19 <!-- Test whether the ssty font feature setting is used appropriately for
20 supscripts et al.
21 Assumes NS_MATHML_DEFAULT_SCRIPT_SIZE_MULTIPLIER is 0.71-->
23 <math>
24 <mstyle style="font-family: 'sstyfont';">
25 <msup>
26 <mo>D</mo>
27 <msup>
28 <mo>B</mo>
29 <msup>
30 <mo>C</mo>
31 <mo>C</mo> <!-- ssty value capped at 2 -->
32 </msup>
33 </msup>
34 </msup>
36 <msub>
37 <mo>D</mo>
38 <msub>
39 <mo>B</mo>
40 <msub>
41 <mo>C</mo>
42 <mo>C</mo>
43 </msub>
44 </msub>
45 </msub>
47 <msubsup>
48 <mo>D</mo>
49 <msubsup>
50 <mo>B</mo>
51 <msubsup>
52 <mo>C</mo>
53 <mo>C</mo>
54 <mo>C</mo>
55 </msubsup>
56 <msubsup>
57 <mo>C</mo>
58 <mo>C</mo>
59 <mo>C</mo>
60 </msubsup>
61 </msubsup>
62 <msubsup>
63 <mo>B</mo>
64 <msubsup>
65 <mo>C</mo>
66 <mo>C</mo>
67 <mo>C</mo>
68 </msubsup>
69 <msubsup>
70 <mo>C</mo>
71 <mo>C</mo>
72 <mo>C</mo>
73 </msubsup>
74 </msubsup>
75 </msubsup>
77 <mmultiscripts>
78 <mo>D</mo>
79 <mmultiscripts>
80 <mo>B</mo>
81 <mmultiscripts>
82 <mo>C</mo>
83 <mo>C</mo>
84 <mo>C</mo>
85 </mmultiscripts>
86 <mmultiscripts>
87 <mo>C</mo>
88 <mo>C</mo>
89 <mo>C</mo>
90 </mmultiscripts>
91 </mmultiscripts>
92 <mmultiscripts>
93 <mo>B</mo>
94 <mmultiscripts>
95 <mo>C</mo>
96 <mo>C</mo>
97 <mo>C</mo>
98 </mmultiscripts>
99 <mmultiscripts>
100 <mo>C</mo>
101 <mo>C</mo>
102 <mo>C</mo>
103 </mmultiscripts>
104 </mmultiscripts>
105 </mmultiscripts>
106 </mstyle>
107 </math>
109 <p>
111 <!-- Automatically set ssty ignores user set scriptlevel -->
112 <math>
113 <mstyle style="font-family: 'sstyfont';" scriptlevel="-3">
114 <msup>
115 <mo>D</mo>
116 <msup>
117 <mo>B</mo>
118 <msup>
119 <mo>C</mo>
120 <mo>C</mo> <!-- ssty value capped at 2 -->
121 </msup>
122 </msup>
123 </msup>
125 <msub>
126 <mo>D</mo>
127 <msub>
128 <mo>B</mo>
129 <msub>
130 <mo>C</mo>
131 <mo>C</mo>
132 </msub>
133 </msub>
134 </msub>
136 <msubsup>
137 <mo>D</mo>
138 <msubsup>
139 <mo>B</mo>
140 <msubsup>
141 <mo>C</mo>
142 <mo>C</mo>
143 <mo>C</mo>
144 </msubsup>
145 <msubsup>
146 <mo>C</mo>
147 <mo>C</mo>
148 <mo>C</mo>
149 </msubsup>
150 </msubsup>
151 <msubsup>
152 <mo>B</mo>
153 <msubsup>
154 <mo>C</mo>
155 <mo>C</mo>
156 <mo>C</mo>
157 </msubsup>
158 <msubsup>
159 <mo>C</mo>
160 <mo>C</mo>
161 <mo>C</mo>
162 </msubsup>
163 </msubsup>
164 </msubsup>
166 <mmultiscripts>
167 <mo>D</mo>
168 <mmultiscripts>
169 <mo>B</mo>
170 <mmultiscripts>
171 <mo>C</mo>
172 <mo>C</mo>
173 <mo>C</mo>
174 </mmultiscripts>
175 <mmultiscripts>
176 <mo>C</mo>
177 <mo>C</mo>
178 <mo>C</mo>
179 </mmultiscripts>
180 </mmultiscripts>
181 <mmultiscripts>
182 <mo>B</mo>
183 <mmultiscripts>
184 <mo>C</mo>
185 <mo>C</mo>
186 <mo>C</mo>
187 </mmultiscripts>
188 <mmultiscripts>
189 <mo>C</mo>
190 <mo>C</mo>
191 <mo>C</mo>
192 </mmultiscripts>
193 </mmultiscripts>
194 </mmultiscripts>
195 </mstyle>
196 </math>
198 <p>
200 <!-- Automatically set ssty ignores user set scriptlevel -->
201 <math>
202 <mstyle style="font-family: 'sstyfont';" scriptlevel="1">
203 <msup>
204 <mo>D</mo>
205 <msup>
206 <mo>B</mo>
207 <msup>
208 <mo>C</mo>
209 <mo>C</mo> <!-- ssty value capped at 2 -->
210 </msup>
211 </msup>
212 </msup>
214 <msub>
215 <mo>D</mo>
216 <msub>
217 <mo>B</mo>
218 <msub>
219 <mo>C</mo>
220 <mo>C</mo>
221 </msub>
222 </msub>
223 </msub>
225 <msubsup>
226 <mo>D</mo>
227 <msubsup>
228 <mo>B</mo>
229 <msubsup>
230 <mo>C</mo>
231 <mo>C</mo>
232 <mo>C</mo>
233 </msubsup>
234 <msubsup>
235 <mo>C</mo>
236 <mo>C</mo>
237 <mo>C</mo>
238 </msubsup>
239 </msubsup>
240 <msubsup>
241 <mo>B</mo>
242 <msubsup>
243 <mo>C</mo>
244 <mo>C</mo>
245 <mo>C</mo>
246 </msubsup>
247 <msubsup>
248 <mo>C</mo>
249 <mo>C</mo>
250 <mo>C</mo>
251 </msubsup>
252 </msubsup>
253 </msubsup>
255 <mmultiscripts>
256 <mo>D</mo>
257 <mmultiscripts>
258 <mo>B</mo>
259 <mmultiscripts>
260 <mo>C</mo>
261 <mo>C</mo>
262 <mo>C</mo>
263 </mmultiscripts>
264 <mmultiscripts>
265 <mo>C</mo>
266 <mo>C</mo>
267 <mo>C</mo>
268 </mmultiscripts>
269 </mmultiscripts>
270 <mmultiscripts>
271 <mo>B</mo>
272 <mmultiscripts>
273 <mo>C</mo>
274 <mo>C</mo>
275 <mo>C</mo>
276 </mmultiscripts>
277 <mmultiscripts>
278 <mo>C</mo>
279 <mo>C</mo>
280 <mo>C</mo>
281 </mmultiscripts>
282 </mmultiscripts>
283 </mmultiscripts>
284 </mstyle>
285 </math>
287 <p>
289 <!-- User set ssty font feature setting overrides automatically set ssty, but
290 only for affected elements -->
291 <math>
292 <mstyle style="font-family: 'sstyfont';">
293 <msup>
294 <mo>D</mo>
295 <msup>
296 <mo>D</mo>
297 <mo>C</mo>
298 </msup>
299 </msup>
301 <msub>
302 <mo>D</mo>
303 <msub>
304 <mo>D</mo>
305 <mo>C</mo>
306 </msub>
307 </msub>
309 <msubsup>
310 <mo>D</mo>
311 <msubsup>
312 <mo>D</mo>
313 <mo>C</mo>
314 <mo>C</mo>
315 </msubsup>
316 <msubsup>
317 <mo>D</mo>
318 <mo>C</mo>
319 <mo>C</mo>
320 </msubsup>
321 </msubsup>
323 <mmultiscripts>
324 <mo>D</mo>
325 <mmultiscripts>
326 <mo>D</mo>
327 <mo>C</mo>
328 <mo>C</mo>
329 </mmultiscripts>
330 <mmultiscripts>
331 <mo>D</mo>
332 <mo>C</mo>
333 <mo>C</mo>
334 </mmultiscripts>
335 </mmultiscripts>
336 </mstyle>
337 </math>