| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <script> |
| 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 createCSSStyleSheet() |
| { |
| return document.createElement("style").sheet; |
| } |
| |
| 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 createCSSValueList() |
| { |
| // FIXME: Not working in Firefox, not sure why. |
| return createFromMarkup("<style>a { font-family: b, c }</style>").sheet.cssRules.item(0).style.getPropertyCSSValue("font-family"); |
| } |
| |
| 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'"); |
| shouldBe("nonNumericPolicy('createCSSMediaRule().deleteRule(x)')", "'any type allowed'"); |
| |
| // CSSRuleList |
| |
| shouldBe("nonNumericPolicy('createCSSRuleList().item(x)')", "'any type allowed (but not omitted)'"); |
| |
| // CSSStyleDeclaration |
| |
| shouldBe("nonNumericPolicy('createCSSStyleDeclaration().item(x)')", "'any type allowed (but not omitted)'"); |
| |
| // 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'"); |
| |
| // CSSValueList |
| |
| shouldBe("nonNumericPolicy('createCSSValueList().item(x)')", "'any type allowed (but not omitted)'"); |
| |
| // Document |
| |
| shouldBe("nonNumericPolicy('document.elementFromPoint(x, 0)')", "'mixed'"); |
| shouldBe("nonNumericPolicy('document.elementFromPoint(0, x)')", "'mixed'"); |
| |
| // Element |
| |
| shouldBe("nonNumericPolicy('document.body.scrollLeft = x')", "'any type allowed'"); |
| shouldBe("nonNumericPolicy('document.body.scrollTop = x')", "'any type allowed'"); |
| |
| // History |
| |
| // Not tested: go. |
| |
| // HTMLCollection |
| |
| shouldBe("nonNumericPolicy('document.images.item(x)')", "'any type allowed (but not omitted)'"); |
| |
| // HTMLInputElement |
| |
| shouldBe("nonNumericPolicy('document.createElement(\"input\").setSelectionRange(x, 0)')", "'any type allowed'"); |
| shouldBe("nonNumericPolicy('document.createElement(\"input\").setSelectionRange(0, x)')", "'any type allowed (but not omitted)'"); |
| |
| // 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 (but not omitted)'"); |
| |
| // HTMLTableRowElement |
| |
| shouldBe("nonNumericPolicy('createHTMLTableRowElement().insertCell(x)')", "'any type allowed'"); |
| shouldBe("nonNumericPolicy('createHTMLTableRowElement().deleteCell(x)')", "'any type allowed (but not omitted)'"); |
| |
| // HTMLTableSectionElement |
| |
| shouldBe("nonNumericPolicy('createHTMLTableSectionElement().insertRow(x)')", "'any type allowed'"); |
| shouldBe("nonNumericPolicy('createHTMLTableSectionElement().deleteRow(x)')", "'any type allowed (but not omitted)'"); |
| |
| // 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 (but not omitted)'"); |
| |
| // 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 (but not omitted)'"); |
| shouldBe("nonNumericPolicy('getSelection().setPosition(document, x)')", "'any type allowed'"); |
| shouldBe("nonNumericPolicy('getSelection().extend(document, x)')", "'any type allowed'"); |
| shouldBe("nonNumericPolicy('getSelection().getRangeAt(x)')", "'any type allowed (but not omitted)'"); |
| |
| // 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/HTMLBaseFontElement.idl: attribute long size; |
| ../../../../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/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; |
| |
| */ |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |