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