1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
|
description(
'This tests the behavior of non-numeric values in contexts where the DOM has a numeric parameter.'
);
function nonNumericPolicy(template)
{
var x = 0;
try {
eval(template);
} catch (e) {
return e;
}
var nullAllowed = 1;
x = null;
try {
eval(template);
} catch (e) {
nullAllowed = 0;
}
var undefinedAllowed = 1;
x = undefined;
try {
eval(template);
} catch (e) {
undefinedAllowed = 0;
}
var stringAllowed = 1;
x = "string";
try {
eval(template);
} catch (e) {
stringAllowed = 0;
}
var documentAllowed = 1;
x = document;
try {
eval(template);
} catch (e) {
documentAllowed = 0;
}
var nonIntegerAllowed = 1;
x = 0.1;
try {
eval(template);
} catch (e) {
nonIntegerAllowed = 0;
}
var infinityAllowed = 1;
x = Infinity;
try {
eval(template);
} catch (e) {
infinityAllowed = 0;
}
var nanAllowed = 1;
x = NaN;
try {
eval(template);
} catch (e) {
nanAllowed = 0;
}
var omitAllowed = -1; // means "not applicable"
var templateWithoutArg = template.replace(", x)", ")").replace("(x)", "()");
if (templateWithoutArg != template) {
omitAllowed = 1;
try {
eval(templateWithoutArg);
} catch(e) {
omitAllowed = 0;
}
}
var expectOmitAllowed = navigator.userAgent.match("Gecko/") != "Gecko/";
if (nullAllowed && undefinedAllowed && stringAllowed && documentAllowed && nonIntegerAllowed && infinityAllowed && nanAllowed) {
if (omitAllowed == -1 || omitAllowed == (expectOmitAllowed ? 1 : 0))
return "any type allowed";
if (omitAllowed == 1)
return "any type allowed (or omitted)";
if (omitAllowed == 0)
return "any type allowed (but not omitted)";
}
if (nullAllowed && !undefinedAllowed && !stringAllowed && !documentAllowed && nonIntegerAllowed && !infinityAllowed && nanAllowed && omitAllowed == 1)
return "number or null allowed (or omitted, but not infinite)";
return "mixed";
}
var selector = "a";
var styleText = "font-size: smaller";
var ruleText = selector + " { " + styleText + " }";
var testElementContainer = document.createElement("div");
document.body.appendChild(testElementContainer);
function createFromMarkup(markup)
{
var range = document.createRange();
var fragmentContainer = document.createElement("div");
range.selectNodeContents(fragmentContainer);
testElementContainer.appendChild(fragmentContainer);
var fragment = range.createContextualFragment(markup);
fragmentContainer.appendChild(fragment);
return fragmentContainer.firstChild;
}
function createCSSStyleSheet()
{
return createFromMarkup("<style>" + ruleText + "</style>").sheet;
}
function createCSSRuleList()
{
return createCSSStyleSheet().cssRules;
}
function createCSSStyleDeclaration()
{
return createCSSRuleList().item(0).style;
}
function createCSSMediaRule()
{
var rule = createFromMarkup("<style>@media screen { a { text-weight: bold } }</style>").sheet.cssRules.item(0);
rule.insertRule(ruleText, 0);
return rule;
}
function createMediaList()
{
return createCSSMediaRule().media;
}
function createHTMLSelectElement()
{
var select = document.createElement("select");
select.options.add(document.createElement("option"));
return select;
}
function createHTMLOptionsCollection()
{
return createHTMLSelectElement().options;
}
function createHTMLTableElement()
{
var table = document.createElement("table");
table.insertRow(0);
return table;
}
function createHTMLTableSectionElement()
{
var table = document.createElement("table");
table.insertRow(0);
return table.tBodies[0];
}
function createHTMLTableRowElement()
{
var table = document.createElement("table");
var row = table.insertRow(0);
row.insertCell(0);
return row;
}
// CharacterData
shouldBe("nonNumericPolicy('document.createTextNode(\"a\").substringData(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createTextNode(\"a\").substringData(0, x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('document.createTextNode(\"a\").insertData(x, \"b\")')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createTextNode(\"a\").deleteData(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createTextNode(\"a\").deleteData(0, x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('document.createTextNode(\"a\").replaceData(x, 0, \"b\")')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createTextNode(\"a\").replaceData(0, x, \"b\")')", "'any type allowed'");
// CSSMediaRule
shouldBe("nonNumericPolicy('createCSSMediaRule().insertRule(ruleText, x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('createCSSMediaRule().deleteRule(x)')", "'any type allowed (but not omitted)'");
// CSSRuleList
shouldBe("nonNumericPolicy('createCSSRuleList().item(x)')", "'any type allowed (but not omitted)'");
// CSSStyleDeclaration
shouldBe("nonNumericPolicy('createCSSStyleDeclaration().item(x)')", "'any type allowed'");
// CSSStyleSheet
shouldBe("nonNumericPolicy('createCSSStyleSheet().insertRule(ruleText, x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('createCSSStyleSheet().deleteRule(x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('createCSSStyleSheet().addRule(selector, styleText, x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('createCSSStyleSheet().removeRule(x)')", "'any type allowed'");
// Document
shouldBe("nonNumericPolicy('document.elementFromPoint(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.elementFromPoint(0, x)')", "'any type allowed'");
// Element
shouldBe("nonNumericPolicy('document.body.scrollLeft = x')", "'mixed'");
shouldBe("nonNumericPolicy('document.body.scrollTop = x')", "'mixed'");
// History
// Not tested: go.
// HTMLCollection
shouldBe("nonNumericPolicy('document.images.item(x)')", "'any type allowed'");
// HTMLInputElement
shouldBe("nonNumericPolicy('document.createElement(\"input\").setSelectionRange(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createElement(\"input\").setSelectionRange(0, x)')", "'any type allowed'");
// HTMLOptionsCollection
shouldBe("nonNumericPolicy('createHTMLOptionsCollection().add(document.createElement(\"option\"), x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('createHTMLOptionsCollection().remove(x)')", "'any type allowed (but not omitted)'");
// HTMLSelectElement
shouldBe("nonNumericPolicy('createHTMLSelectElement().remove(x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('createHTMLSelectElement().item(x)')", "'any type allowed (but not omitted)'");
// HTMLTableElement
shouldBe("nonNumericPolicy('createHTMLTableElement().insertRow(x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('createHTMLTableElement().deleteRow(x)')", "'any type allowed'");
// HTMLTableRowElement
shouldBe("nonNumericPolicy('createHTMLTableRowElement().insertCell(x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('createHTMLTableRowElement().deleteCell(x)')", "'any type allowed'");
// HTMLTableSectionElement
shouldBe("nonNumericPolicy('createHTMLTableSectionElement().insertRow(x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('createHTMLTableSectionElement().deleteRow(x)')", "'any type allowed'");
// HTMLInputElement
shouldBe("nonNumericPolicy('document.createElement(\"textarea\").setSelectionRange(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createElement(\"textarea\").setSelectionRange(0, x)')", "'any type allowed'");
// KeyboardEvent
shouldBe("nonNumericPolicy('document.createEvent(\"KeyboardEvent\").initKeyboardEvent(\"a\", false, false, null, \"b\", x, false, false, false, false, false)')", "'any type allowed'");
// MediaList
shouldBe("nonNumericPolicy('createMediaList().item(x)')", "'any type allowed (but not omitted)'");
// MouseEvent
shouldBe("nonNumericPolicy('document.createEvent(\"MouseEvent\").initMouseEvent(\"a\", false, false, null, x, 0, 0, 0, 0, false, false, false, false, 0, null)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createEvent(\"MouseEvent\").initMouseEvent(\"a\", false, false, null, 0, x, 0, 0, 0, false, false, false, false, 0, null)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createEvent(\"MouseEvent\").initMouseEvent(\"a\", false, false, null, 0, 0, x, 0, 0, false, false, false, false, 0, null)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createEvent(\"MouseEvent\").initMouseEvent(\"a\", false, false, null, 0, 0, 0, x, 0, false, false, false, false, 0, null)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createEvent(\"MouseEvent\").initMouseEvent(\"a\", false, false, null, 0, 0, 0, 0, x, false, false, false, false, 0, null)')", "'any type allowed'");
shouldBe("nonNumericPolicy('document.createEvent(\"MouseEvent\").initMouseEvent(\"a\", false, false, null, 0, 0, 0, 0, 0, false, false, false, false, x, null)')", "'any type allowed'");
// NamedNodeMap
shouldBe("nonNumericPolicy('document.body.attributes.item(x)')", "'any type allowed (but not omitted)'");
// NodeIterator
shouldBe("nonNumericPolicy('document.createNodeIterator(document, x, null, false)')", "'any type allowed'");
// NodeList
shouldBe("nonNumericPolicy('document.getElementsByTagName(\"div\").item(x)')", "'any type allowed'");
// Range
shouldBe("nonNumericPolicy('document.createRange().setStart(document, x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('document.createRange().setEnd(document, x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('document.createRange().comparePoint(document, x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('document.createRange().isPointInRange(document, x)')", "'any type allowed (but not omitted)'");
// Selection
shouldBe("nonNumericPolicy('getSelection().collapse(document, x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('getSelection().setBaseAndExtent(document, x, document, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('getSelection().setBaseAndExtent(document, 0, document, x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('getSelection().collapse(document, x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('getSelection().extend(document, x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('getSelection().getRangeAt(x)')", "'any type allowed'");
// SQLResultSetRowList
// Not tested: item.
// StyleSheetList
shouldBe("nonNumericPolicy('document.styleSheets.item(x)')", "'any type allowed (but not omitted)'");
// Text
shouldBe("nonNumericPolicy('document.createTextNode(\"a\").splitText(x)')", "'any type allowed (but not omitted)'");
// TimeRanges
// Not tested: start, end.
// TreeWalker
shouldBe("nonNumericPolicy('document.createTreeWalker(document, x, null, false)')", "'any type allowed'");
// UIEvent
shouldBe("nonNumericPolicy('document.createEvent(\"UIEvent\").initUIEvent(\"a\", false, false, null, x)')", "'any type allowed'");
// Window
shouldBe("nonNumericPolicy('window.scrollBy(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.scrollBy(0, x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('window.scrollTo(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.scrollTo(0, x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('window.scroll(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.scroll(0, x)')", "'any type allowed (but not omitted)'");
shouldBe("nonNumericPolicy('window.moveBy(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.moveBy(0, x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.moveTo(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.moveTo(0, x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.resizeBy(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.resizeBy(0, x)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.resizeTo(x, 0)')", "'any type allowed'");
shouldBe("nonNumericPolicy('window.resizeTo(0, x)')", "'any type allowed'");
// Not tested: openDatabase.
window.resizeTo(10000, 10000);
document.body.removeChild(testElementContainer);
/*
Here are other examples of numeric types in function parameters and settable attributes that we could test:
../../../../WebCore/css/CSSPrimitiveValue.idl: in float floatValue)
../../../../WebCore/html/CanvasGradient.idl: void addColorStop(in float offset, in DOMString color);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void scale(in float sx, in float sy);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void rotate(in float angle);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void translate(in float tx, in float ty);
../../../../WebCore/html/CanvasRenderingContext2D.idl: CanvasGradient createLinearGradient(in float x0, in float y0, in float x1, in float y1);
../../../../WebCore/html/CanvasRenderingContext2D.idl: CanvasGradient createRadialGradient(in float x0, in float y0, in float r0, in float x1, in float y1, in float r1);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void clearRect(in float x, in float y, in float width, in float height)
../../../../WebCore/html/CanvasRenderingContext2D.idl: void fillRect(in float x, in float y, in float width, in float height)
../../../../WebCore/html/CanvasRenderingContext2D.idl: void moveTo(in float x, in float y);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void lineTo(in float x, in float y);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void quadraticCurveTo(in float cpx, in float cpy, in float x, in float y);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void bezierCurveTo(in float cp1x, in float cp1y, in float cp2x, in float cp2y, in float x, in float y);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void arcTo(in float x1, in float y1, in float x2, in float y2, in float radius)
../../../../WebCore/html/CanvasRenderingContext2D.idl: void rect(in float x, in float y, in float width, in float height)
../../../../WebCore/html/CanvasRenderingContext2D.idl: void arc(in float x, in float y, in float radius, in float startAngle, in float endAngle, in boolean anticlockwise)
../../../../WebCore/html/CanvasRenderingContext2D.idl: boolean isPointInPath(in float x, in float y);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void setAlpha(in float alpha);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void setLineWidth(in float width);
../../../../WebCore/html/CanvasRenderingContext2D.idl: void setMiterLimit(in float limit);
../../../../WebCore/html/HTMLAnchorElement.idl: attribute long tabIndex;
../../../../WebCore/html/HTMLAppletElement.idl: attribute [ConvertFromString] long hspace;
../../../../WebCore/html/HTMLAppletElement.idl: attribute [ConvertFromString] long vspace;
../../../../WebCore/html/HTMLAreaElement.idl: attribute long tabIndex;
../../../../WebCore/html/HTMLBodyElement.idl: attribute long scrollLeft;
../../../../WebCore/html/HTMLBodyElement.idl: attribute long scrollTop;
../../../../WebCore/html/HTMLButtonElement.idl: attribute long tabIndex;
../../../../WebCore/html/HTMLCanvasElement.idl: attribute long width;
../../../../WebCore/html/HTMLCanvasElement.idl: attribute long height;
../../../../WebCore/html/HTMLEmbedElement.idl: attribute [ConvertFromString] long height;
../../../../WebCore/html/HTMLEmbedElement.idl: attribute [ConvertFromString] long width;
../../../../WebCore/html/HTMLImageElement.idl: attribute long height;
../../../../WebCore/html/HTMLImageElement.idl: attribute long hspace;
../../../../WebCore/html/HTMLImageElement.idl: attribute long vspace;
../../../../WebCore/html/HTMLImageElement.idl: attribute long width;
../../../../WebCore/html/HTMLInputElement.idl: attribute long maxLength;
../../../../WebCore/html/HTMLInputElement.idl: attribute unsigned long size; // Changed string -> long as part of DOM level 2
../../../../WebCore/html/HTMLInputElement.idl: attribute long tabIndex;
../../../../WebCore/html/HTMLInputElement.idl: attribute long selectionStart;
../../../../WebCore/html/HTMLInputElement.idl: attribute long selectionEnd;
../../../../WebCore/html/HTMLLIElement.idl: attribute long value;
../../../../WebCore/html/HTMLMediaElement.idl: attribute unsigned long playCount
../../../../WebCore/html/HTMLMediaElement.idl: attribute unsigned long currentLoop;
../../../../WebCore/html/HTMLObjectElement.idl: attribute long hspace;
../../../../WebCore/html/HTMLObjectElement.idl: attribute long tabIndex;
../../../../WebCore/html/HTMLObjectElement.idl: attribute long vspace;
../../../../WebCore/html/HTMLOListElement.idl: attribute long start;
../../../../WebCore/html/HTMLOptionsCollection.idl: attribute long selectedIndex;
../../../../WebCore/html/HTMLOptionsCollection.idl: attribute [Custom] unsigned long length
../../../../WebCore/html/HTMLPreElement.idl: attribute long width;
../../../../WebCore/html/HTMLSelectElement.idl: attribute long selectedIndex;
../../../../WebCore/html/HTMLSelectElement.idl: attribute unsigned long length
../../../../WebCore/html/HTMLSelectElement.idl: attribute long size;
../../../../WebCore/html/HTMLSelectElement.idl: attribute long tabIndex;
../../../../WebCore/html/HTMLTableCellElement.idl: attribute long colSpan;
../../../../WebCore/html/HTMLTableCellElement.idl: attribute long rowSpan;
../../../../WebCore/html/HTMLTableColElement.idl: attribute long span;
../../../../WebCore/html/HTMLTextAreaElement.idl: attribute long cols;
../../../../WebCore/html/HTMLTextAreaElement.idl: attribute long rows;
../../../../WebCore/html/HTMLTextAreaElement.idl: attribute long tabIndex;
../../../../WebCore/html/HTMLTextAreaElement.idl: attribute long selectionStart;
../../../../WebCore/html/HTMLTextAreaElement.idl: attribute long selectionEnd;
../../../../WebCore/html/HTMLVideoElement.idl: attribute long width;
../../../../WebCore/html/HTMLVideoElement.idl: attribute long height;
../../../../WebCore/html/CanvasRenderingContext2D.idl: attribute float globalAlpha;
../../../../WebCore/html/CanvasRenderingContext2D.idl: attribute float lineWidth;
../../../../WebCore/html/CanvasRenderingContext2D.idl: attribute float miterLimit;
../../../../WebCore/html/CanvasRenderingContext2D.idl: attribute float shadowOffsetX;
../../../../WebCore/html/CanvasRenderingContext2D.idl: attribute float shadowOffsetY;
../../../../WebCore/html/CanvasRenderingContext2D.idl: attribute float shadowBlur;
../../../../WebCore/html/HTMLMediaElement.idl: attribute float currentTime
../../../../WebCore/html/HTMLMediaElement.idl: attribute float defaultPlaybackRate
../../../../WebCore/html/HTMLMediaElement.idl: attribute float playbackRate
../../../../WebCore/html/HTMLMediaElement.idl: attribute float start;
../../../../WebCore/html/HTMLMediaElement.idl: attribute float end;
../../../../WebCore/html/HTMLMediaElement.idl: attribute float loopStart;
../../../../WebCore/html/HTMLMediaElement.idl: attribute float loopEnd;
../../../../WebCore/html/HTMLMediaElement.idl: attribute float volume
../../../../WebCore/svg/SVGAnimatedInteger.idl: attribute long baseVal
../../../../WebCore/svg/SVGElementInstanceList.idl: SVGElementInstance item(in unsigned long index);
../../../../WebCore/svg/SVGFilterElement.idl: void setFilterRes(in unsigned long filterResX, in unsigned long filterResY);
../../../../WebCore/svg/SVGLengthList.idl: SVGLength getItem(in unsigned long index)
../../../../WebCore/svg/SVGLengthList.idl: SVGLength insertItemBefore(in SVGLength item, in unsigned long index)
../../../../WebCore/svg/SVGLengthList.idl: SVGLength replaceItem(in SVGLength item, in unsigned long index)
../../../../WebCore/svg/SVGLengthList.idl: SVGLength removeItem(in unsigned long index)
../../../../WebCore/svg/SVGNumberList.idl: SVGNumber getItem(in unsigned long index)
../../../../WebCore/svg/SVGNumberList.idl: SVGNumber insertItemBefore(in SVGNumber item, in unsigned long index)
../../../../WebCore/svg/SVGNumberList.idl: SVGNumber replaceItem(in SVGNumber item, in unsigned long index)
../../../../WebCore/svg/SVGNumberList.idl: SVGNumber removeItem(in unsigned long index)
../../../../WebCore/svg/SVGPathElement.idl: unsigned long getPathSegAtLength(in float distance);
../../../../WebCore/svg/SVGPathSegList.idl: [Custom] SVGPathSeg getItem(in unsigned long index)
../../../../WebCore/svg/SVGPathSegList.idl: [Custom] SVGPathSeg insertItemBefore(in SVGPathSeg newItem, in unsigned long index)
../../../../WebCore/svg/SVGPathSegList.idl: [Custom] SVGPathSeg replaceItem(in SVGPathSeg newItem, in unsigned long index)
../../../../WebCore/svg/SVGPathSegList.idl: [Custom] SVGPathSeg removeItem(in unsigned long index)
../../../../WebCore/svg/SVGPointList.idl: [Custom] SVGPoint getItem(in unsigned long index)
../../../../WebCore/svg/SVGPointList.idl: [Custom] SVGPoint insertItemBefore(in SVGPoint item, in unsigned long index)
../../../../WebCore/svg/SVGPointList.idl: [Custom] SVGPoint replaceItem(in SVGPoint item, in unsigned long index)
../../../../WebCore/svg/SVGPointList.idl: [Custom] SVGPoint removeItem(in unsigned long index)
../../../../WebCore/svg/SVGStringList.idl: core::DOMString getItem(in unsigned long index)
../../../../WebCore/svg/SVGStringList.idl: core::DOMString insertItemBefore(in core::DOMString item, in unsigned long index)
../../../../WebCore/svg/SVGStringList.idl: core::DOMString replaceItem(in core::DOMString item, in unsigned long index)
../../../../WebCore/svg/SVGStringList.idl: core::DOMString removeItem(in unsigned long index)
../../../../WebCore/svg/SVGSVGElement.idl: unsigned long suspendRedraw(in unsigned long maxWaitMilliseconds);
../../../../WebCore/svg/SVGSVGElement.idl: void unsuspendRedraw(in unsigned long suspendHandleId)
../../../../WebCore/svg/SVGTextContentElement.idl: long getNumberOfChars();
../../../../WebCore/svg/SVGTextContentElement.idl: float getSubStringLength(in unsigned long offset,
../../../../WebCore/svg/SVGTextContentElement.idl: in unsigned long length)
../../../../WebCore/svg/SVGTextContentElement.idl: SVGPoint getStartPositionOfChar(in unsigned long offset)
../../../../WebCore/svg/SVGTextContentElement.idl: SVGPoint getEndPositionOfChar(in unsigned long offset)
../../../../WebCore/svg/SVGTextContentElement.idl: SVGRect getExtentOfChar(in unsigned long offset)
../../../../WebCore/svg/SVGTextContentElement.idl: float getRotationOfChar(in unsigned long offset)
../../../../WebCore/svg/SVGTextContentElement.idl: long getCharNumAtPosition(in SVGPoint point);
../../../../WebCore/svg/SVGTextContentElement.idl: void selectSubString(in unsigned long offset,
../../../../WebCore/svg/SVGTextContentElement.idl: in unsigned long length)
../../../../WebCore/svg/SVGTransformList.idl: [Custom] SVGTransform getItem(in unsigned long index)
../../../../WebCore/svg/SVGTransformList.idl: [Custom] SVGTransform insertItemBefore(in SVGTransform item, in unsigned long index)
../../../../WebCore/svg/SVGTransformList.idl: [Custom] SVGTransform replaceItem(in SVGTransform item, in unsigned long index)
../../../../WebCore/svg/SVGTransformList.idl: [Custom] SVGTransform removeItem(in unsigned long index)
../../../../WebCore/xml/XPathResult.idl: Node snapshotItem(in unsigned long index)
../../../../WebCore/svg/SVGAngle.idl: in float valueInSpecifiedUnits);
../../../../WebCore/svg/SVGAnimationElement.idl: float getStartTime();
../../../../WebCore/svg/SVGAnimationElement.idl: float getCurrentTime();
../../../../WebCore/svg/SVGAnimationElement.idl: float getSimpleDuration()
../../../../WebCore/svg/SVGFEGaussianBlurElement.idl: void setStdDeviation(in float stdDeviationX, in float stdDeviationY);
../../../../WebCore/svg/SVGLength.idl: in float valueInSpecifiedUnits);
../../../../WebCore/svg/SVGMatrix.idl: [Custom] SVGMatrix translate(in float x, in float y);
../../../../WebCore/svg/SVGMatrix.idl: [Custom] SVGMatrix scale(in float scaleFactor);
../../../../WebCore/svg/SVGMatrix.idl: [Custom] SVGMatrix scaleNonUniform(in float scaleFactorX, in float scaleFactorY);
../../../../WebCore/svg/SVGMatrix.idl: [Custom] SVGMatrix rotate(in float angle);
../../../../WebCore/svg/SVGMatrix.idl: [Custom] SVGMatrix rotateFromVector(in float x, in float y)
../../../../WebCore/svg/SVGMatrix.idl: [Custom] SVGMatrix skewX(in float angle);
../../../../WebCore/svg/SVGMatrix.idl: [Custom] SVGMatrix skewY(in float angle);
../../../../WebCore/svg/SVGNumber.idl: interface [Conditional=SVG, PODType=float] SVGNumber {
../../../../WebCore/svg/SVGPathElement.idl: float getTotalLength();
../../../../WebCore/svg/SVGPathElement.idl: SVGPoint getPointAtLength(in float distance);
../../../../WebCore/svg/SVGPathElement.idl: unsigned long getPathSegAtLength(in float distance);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegMovetoAbs createSVGPathSegMovetoAbs(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegMovetoRel createSVGPathSegMovetoRel(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegLinetoAbs createSVGPathSegLinetoAbs(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegLinetoRel createSVGPathSegLinetoRel(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y,
../../../../WebCore/svg/SVGPathElement.idl: in float x1,
../../../../WebCore/svg/SVGPathElement.idl: in float y1,
../../../../WebCore/svg/SVGPathElement.idl: in float x2,
../../../../WebCore/svg/SVGPathElement.idl: in float y2);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y,
../../../../WebCore/svg/SVGPathElement.idl: in float x1,
../../../../WebCore/svg/SVGPathElement.idl: in float y1,
../../../../WebCore/svg/SVGPathElement.idl: in float x2,
../../../../WebCore/svg/SVGPathElement.idl: in float y2);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y,
../../../../WebCore/svg/SVGPathElement.idl: in float x1,
../../../../WebCore/svg/SVGPathElement.idl: in float y1);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y,
../../../../WebCore/svg/SVGPathElement.idl: in float x1,
../../../../WebCore/svg/SVGPathElement.idl: in float y1);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegArcAbs createSVGPathSegArcAbs(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y,
../../../../WebCore/svg/SVGPathElement.idl: in float r1,
../../../../WebCore/svg/SVGPathElement.idl: in float r2,
../../../../WebCore/svg/SVGPathElement.idl: in float angle,
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegArcRel createSVGPathSegArcRel(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y,
../../../../WebCore/svg/SVGPathElement.idl: in float r1,
../../../../WebCore/svg/SVGPathElement.idl: in float r2,
../../../../WebCore/svg/SVGPathElement.idl: in float angle,
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs(in float x);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel(in float x);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs(in float y);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel(in float y);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y,
../../../../WebCore/svg/SVGPathElement.idl: in float x2,
../../../../WebCore/svg/SVGPathElement.idl: in float y2);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y,
../../../../WebCore/svg/SVGPathElement.idl: in float x2,
../../../../WebCore/svg/SVGPathElement.idl: in float y2);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y);
../../../../WebCore/svg/SVGPathElement.idl: SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel(in float x,
../../../../WebCore/svg/SVGPathElement.idl: in float y);
../../../../WebCore/svg/SVGSVGElement.idl: float getCurrentTime();
../../../../WebCore/svg/SVGSVGElement.idl: void setCurrentTime(in float seconds);
../../../../WebCore/svg/SVGTextContentElement.idl: float getComputedTextLength();
../../../../WebCore/svg/SVGTextContentElement.idl: float getSubStringLength(in unsigned long offset,
../../../../WebCore/svg/SVGTextContentElement.idl: float getRotationOfChar(in unsigned long offset)
../../../../WebCore/svg/SVGTransform.idl: void setTranslate(in float tx, in float ty);
../../../../WebCore/svg/SVGTransform.idl: void setScale(in float sx, in float sy);
../../../../WebCore/svg/SVGTransform.idl: void setRotate(in float angle, in float cx, in float cy);
../../../../WebCore/svg/SVGTransform.idl: void setSkewX(in float angle);
../../../../WebCore/svg/SVGTransform.idl: void setSkewY(in float angle);
../../../../WebCore/svg/SVGAngle.idl: attribute float value;
../../../../WebCore/svg/SVGAngle.idl: attribute float valueInSpecifiedUnits;
../../../../WebCore/svg/SVGAnimatedNumber.idl: attribute float baseVal
../../../../WebCore/svg/SVGLength.idl: attribute float value;
../../../../WebCore/svg/SVGLength.idl: attribute float valueInSpecifiedUnits;
../../../../WebCore/svg/SVGNumber.idl: attribute float value
../../../../WebCore/svg/SVGPathSegArcAbs.idl: attribute float x
../../../../WebCore/svg/SVGPathSegArcAbs.idl: attribute float y
../../../../WebCore/svg/SVGPathSegArcAbs.idl: attribute float r1
../../../../WebCore/svg/SVGPathSegArcAbs.idl: attribute float r2
../../../../WebCore/svg/SVGPathSegArcAbs.idl: attribute float angle
../../../../WebCore/svg/SVGPathSegArcRel.idl: attribute float x
../../../../WebCore/svg/SVGPathSegArcRel.idl: attribute float y
../../../../WebCore/svg/SVGPathSegArcRel.idl: attribute float r1
../../../../WebCore/svg/SVGPathSegArcRel.idl: attribute float r2
../../../../WebCore/svg/SVGPathSegArcRel.idl: attribute float angle
../../../../WebCore/svg/SVGPathSegCurvetoCubicAbs.idl: attribute float x
../../../../WebCore/svg/SVGPathSegCurvetoCubicAbs.idl: attribute float y
../../../../WebCore/svg/SVGPathSegCurvetoCubicAbs.idl: attribute float x1
../../../../WebCore/svg/SVGPathSegCurvetoCubicAbs.idl: attribute float y1
../../../../WebCore/svg/SVGPathSegCurvetoCubicAbs.idl: attribute float x2
../../../../WebCore/svg/SVGPathSegCurvetoCubicAbs.idl: attribute float y2
../../../../WebCore/svg/SVGPathSegCurvetoCubicRel.idl: attribute float x
../../../../WebCore/svg/SVGPathSegCurvetoCubicRel.idl: attribute float y
../../../../WebCore/svg/SVGPathSegCurvetoCubicRel.idl: attribute float x1
../../../../WebCore/svg/SVGPathSegCurvetoCubicRel.idl: attribute float y1
../../../../WebCore/svg/SVGPathSegCurvetoCubicRel.idl: attribute float x2
../../../../WebCore/svg/SVGPathSegCurvetoCubicRel.idl: attribute float y2
../../../../WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: attribute float x
../../../../WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: attribute float y
../../../../WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: attribute float x2
../../../../WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: attribute float y2
../../../../WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl: attribute float x
../../../../WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl: attribute float y
../../../../WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl: attribute float x2
../../../../WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl: attribute float y2
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl: attribute float x
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl: attribute float y
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl: attribute float x1
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl: attribute float y1
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl: attribute float x
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl: attribute float y
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl: attribute float x1
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl: attribute float y1
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: attribute float x
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: attribute float y
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: attribute float x
../../../../WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: attribute float y
../../../../WebCore/svg/SVGPathSegLinetoAbs.idl: attribute float x
../../../../WebCore/svg/SVGPathSegLinetoAbs.idl: attribute float y
../../../../WebCore/svg/SVGPathSegLinetoHorizontalAbs.idl: attribute float x
../../../../WebCore/svg/SVGPathSegLinetoHorizontalRel.idl: attribute float x
../../../../WebCore/svg/SVGPathSegLinetoRel.idl: attribute float x
../../../../WebCore/svg/SVGPathSegLinetoRel.idl: attribute float y
../../../../WebCore/svg/SVGPathSegLinetoVerticalAbs.idl: attribute float y
../../../../WebCore/svg/SVGPathSegLinetoVerticalRel.idl: attribute float y
../../../../WebCore/svg/SVGPathSegMovetoAbs.idl: attribute float x
../../../../WebCore/svg/SVGPathSegMovetoAbs.idl: attribute float y
../../../../WebCore/svg/SVGPathSegMovetoRel.idl: attribute float x
../../../../WebCore/svg/SVGPathSegMovetoRel.idl: attribute float y
../../../../WebCore/svg/SVGPoint.idl: attribute float x
../../../../WebCore/svg/SVGPoint.idl: attribute float y
../../../../WebCore/svg/SVGRect.idl: attribute float x
../../../../WebCore/svg/SVGRect.idl: attribute float y
../../../../WebCore/svg/SVGRect.idl: attribute float width
../../../../WebCore/svg/SVGRect.idl: attribute float height
../../../../WebCore/svg/SVGSVGElement.idl: attribute float currentScale
../../../../WebCore/svg/SVGMatrix.idl: attribute double a;
../../../../WebCore/svg/SVGMatrix.idl: attribute double b;
../../../../WebCore/svg/SVGMatrix.idl: attribute double c;
../../../../WebCore/svg/SVGMatrix.idl: attribute double d;
../../../../WebCore/svg/SVGMatrix.idl: attribute double e;
../../../../WebCore/svg/SVGMatrix.idl: attribute double f;
*/
|