Thu, 15 Jan 2015 21:03:48 +0100
Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)
1 <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
2 <!-- This reference SVG must perform *exactly* the same path construction,
3 clipping, and filling operations that PaintBoxShadowInner does for
4 the HTML test file. If it doesn't match perfectly, antialiased
5 pixels at the curved edges will not agree.
7 PaintBoxShadowInner defines both its second (nonrectangular)
8 clipping path and its fill path as the even-odd-rule compositions
9 of two rectangles, one with nonzero corner radius. It is
10 impossible to express "the path consisting of the even-odd-rule
11 composition of two |rect| elements" in SVG. This is a minor
12 nuisance because we have to write everything out using |path|,
13 plus a major nuisance because Gecko uses the same ellipse-to-
14 Bezier conversion for rounded rectangles in SVG and HTML, but the
15 SVG 'A' operator uses a different one. Therefore we cannot use 'A'.
16 The 'C' parameters here were obtained by dumping out the cairo
17 operations used to draw the HTML, using cairo-trace. -->
18 <defs>
19 <clipPath id="outer">
20 <rect x="16" y="16" width="240" height="240"/>
21 </clipPath>
22 <clipPath id="inner">
23 <path clip-rule="evenodd"
24 d="M 248 16
25 H 24 C 19.58468 16 16 19.58468 16 24
26 V 248 C 16 252.41532 19.58468 256 24 256
27 H 248 C 252.41532 256 256 252.41532 256 248
28 V 24 C 256 19.58468 252.41532 16 248 16 Z
29 M 48 56 H 272 V 296 H 48 Z"/>
30 </clipPath>
31 </defs>
32 <g clip-path="url(#outer)">
33 <path fill="grey" fill-rule="evenodd" clip-path="url(#inner)"
34 d="M 16 16 H 256 V 256 H 16 Z
35 M 280 48
36 H 56 C 51.58468 48 48 51.58468 48 56
37 V 280 C 48 284.41532 51.58468 288 56 288
38 H 280 C 284.41532 288 288 284.41532 288 280
39 V 56 C 288 51.58468 284.41532 48 280 48 Z"/>
40 </g>
41 </svg>