2 'This tests the behavior of non-numeric values in contexts where the DOM has a numeric parameter.'
5 function nonNumericPolicy(template)
22 var undefinedAllowed = 1;
30 var stringAllowed = 1;
38 var documentAllowed = 1;
46 var nonIntegerAllowed = 1;
51 nonIntegerAllowed = 0;
54 var infinityAllowed = 1;
70 var omitAllowed = -1; // means "not applicable"
71 var templateWithoutArg = template.replace(", x)", ")").replace("(x)", "()");
72 if (templateWithoutArg != template) {
75 eval(templateWithoutArg);
81 var expectOmitAllowed = navigator.userAgent.match("Gecko/") != "Gecko/";
83 if (nullAllowed && undefinedAllowed && stringAllowed && documentAllowed && nonIntegerAllowed && infinityAllowed && nanAllowed) {
84 if (omitAllowed == -1 || omitAllowed == (expectOmitAllowed ? 1 : 0))
85 return "any type allowed";
87 return "any type allowed (or omitted)";
89 return "any type allowed (but not omitted)";
91 if (nullAllowed && !undefinedAllowed && !stringAllowed && !documentAllowed && nonIntegerAllowed && !infinityAllowed && nanAllowed && omitAllowed == 1)
92 return "number or null allowed (or omitted, but not infinite)";
97 var styleText = "font-size: smaller";
98 var ruleText = selector + " { " + styleText + " }";
100 var testElementContainer = document.createElement("div");
101 document.body.appendChild(testElementContainer);
103 function createCSSStyleSheet()
105 return document.createElement("style").sheet;
108 function createFromMarkup(markup)
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;
119 function createCSSStyleSheet()
121 return createFromMarkup("<style>" + ruleText + "</style>").sheet;
124 function createCSSRuleList()
126 return createCSSStyleSheet().cssRules;
129 function createCSSStyleDeclaration()
131 return createCSSRuleList().item(0).style;
134 function createCSSMediaRule()
136 var rule = createFromMarkup("<style>@media screen { a { text-weight: bold } }</style>").sheet.cssRules.item(0);
137 rule.insertRule(ruleText, 0);
141 function createCSSValueList()
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");
147 function createMediaList()
149 return createCSSMediaRule().media;
152 function createHTMLSelectElement()
154 var select = document.createElement("select");
155 select.options.add(document.createElement("option"));
159 function createHTMLOptionsCollection()
161 return createHTMLSelectElement().options;
164 function createHTMLTableElement()
166 var table = document.createElement("table");
171 function createHTMLTableSectionElement()
173 var table = document.createElement("table");
175 return table.tBodies[0];
178 function createHTMLTableRowElement()
180 var table = document.createElement("table");
181 var row = table.insertRow(0);
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'");
198 shouldBe("nonNumericPolicy('createCSSMediaRule().insertRule(ruleText, x)')", "'any type allowed'");
199 shouldBe("nonNumericPolicy('createCSSMediaRule().deleteRule(x)')", "'any type allowed'");
203 shouldBe("nonNumericPolicy('createCSSRuleList().item(x)')", "'any type allowed'");
205 // CSSStyleDeclaration
207 shouldBe("nonNumericPolicy('createCSSStyleDeclaration().item(x)')", "'any type allowed'");
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'");
218 shouldBe("nonNumericPolicy('createCSSValueList().item(x)')", "'any type allowed'");
222 shouldBe("nonNumericPolicy('document.elementFromPoint(x, 0)')", "'any type allowed'");
223 shouldBe("nonNumericPolicy('document.elementFromPoint(0, x)')", "'any type allowed'");
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'");
238 shouldBe("nonNumericPolicy('document.images.item(x)')", "'any type allowed'");
242 shouldBe("nonNumericPolicy('document.createElement(\"input\").setSelectionRange(x, 0)')", "'any type allowed'");
243 shouldBe("nonNumericPolicy('document.createElement(\"input\").setSelectionRange(0, x)')", "'any type allowed'");
245 // HTMLOptionsCollection
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'");
252 shouldBe("nonNumericPolicy('createHTMLSelectElement().remove(x)')", "'any type allowed'");
253 shouldBe("nonNumericPolicy('createHTMLSelectElement().item(x)')", "'any type allowed'");
257 shouldBe("nonNumericPolicy('createHTMLTableElement().insertRow(x)')", "'any type allowed'");
258 shouldBe("nonNumericPolicy('createHTMLTableElement().deleteRow(x)')", "'any type allowed'");
260 // HTMLTableRowElement
262 shouldBe("nonNumericPolicy('createHTMLTableRowElement().insertCell(x)')", "'any type allowed'");
263 shouldBe("nonNumericPolicy('createHTMLTableRowElement().deleteCell(x)')", "'any type allowed'");
265 // HTMLTableSectionElement
267 shouldBe("nonNumericPolicy('createHTMLTableSectionElement().insertRow(x)')", "'any type allowed'");
268 shouldBe("nonNumericPolicy('createHTMLTableSectionElement().deleteRow(x)')", "'any type allowed'");
272 shouldBe("nonNumericPolicy('document.createElement(\"textarea\").setSelectionRange(x, 0)')", "'any type allowed'");
273 shouldBe("nonNumericPolicy('document.createElement(\"textarea\").setSelectionRange(0, x)')", "'any type allowed'");
277 shouldBe("nonNumericPolicy('document.createEvent(\"KeyboardEvent\").initKeyboardEvent(\"a\", false, false, null, \"b\", x, false, false, false, false, false)')", "'any type allowed'");
281 shouldBe("nonNumericPolicy('createMediaList().item(x)')", "'any type allowed'");
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'");
294 shouldBe("nonNumericPolicy('document.body.attributes.item(x)')", "'any type allowed'");
298 shouldBe("nonNumericPolicy('document.createNodeIterator(document, x, null, false)')", "'any type allowed'");
302 shouldBe("nonNumericPolicy('document.getElementsByTagName(\"div\").item(x)')", "'any type allowed'");
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'");
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'");
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'");
325 // SQLResultSetRowList
331 shouldBe("nonNumericPolicy('document.styleSheets.item(x)')", "'any type allowed'");
335 shouldBe("nonNumericPolicy('document.createTextNode(\"a\").splitText(x)')", "'any type allowed'");
339 // Not tested: start, end.
343 shouldBe("nonNumericPolicy('document.createTreeWalker(document, x, null, false)')", "'any type allowed'");
347 shouldBe("nonNumericPolicy('document.createEvent(\"UIEvent\").initUIEvent(\"a\", false, false, null, x)')", "'any type allowed'");
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.
367 window.resizeTo(10000, 10000);
368 document.body.removeChild(testElementContainer);
370 var successfullyParsed = true;
374 Here are other examples of numeric types in function parameters and settable attributes that we could test:
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);
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;
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
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)
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);
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
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;