From: Gabriel Ivăncescu gabrielopcode@gmail.com
Instead of HTMLElement.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlelem.c | 230 ++++++++++++++++++++++++++++++ dlls/mshtml/tests/documentmode.js | 56 ++++++++ 2 files changed, 286 insertions(+)
diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index 72aeaae816e..2d79a909341 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -7236,9 +7236,239 @@ static const IWineHTMLElementPrivateVtbl WineHTMLElementPrivateVtbl = { htmlelement_private_get_classList, };
+static void Element_init_dispex_info(dispex_data_t *info, compat_mode_t mode) +{ + static const dispex_hook_t elem_hooks[] = { + {DISPID_IHTMLELEMENT_CLASSNAME}, + {DISPID_IHTMLELEMENT_ID}, + {DISPID_IHTMLELEMENT_PARENTELEMENT}, + {DISPID_IHTMLELEMENT_STYLE}, + {DISPID_IHTMLELEMENT_ONHELP}, + {DISPID_IHTMLELEMENT_ONCLICK}, + {DISPID_IHTMLELEMENT_ONDBLCLICK}, + {DISPID_IHTMLELEMENT_ONKEYDOWN}, + {DISPID_IHTMLELEMENT_ONKEYUP}, + {DISPID_IHTMLELEMENT_ONKEYPRESS}, + {DISPID_IHTMLELEMENT_ONMOUSEOUT}, + {DISPID_IHTMLELEMENT_ONMOUSEOVER}, + {DISPID_IHTMLELEMENT_ONMOUSEMOVE}, + {DISPID_IHTMLELEMENT_ONMOUSEDOWN}, + {DISPID_IHTMLELEMENT_ONMOUSEUP}, + {DISPID_IHTMLELEMENT_DOCUMENT}, + {DISPID_IHTMLELEMENT_TITLE}, + {DISPID_IHTMLELEMENT_LANGUAGE}, + {DISPID_IHTMLELEMENT_ONSELECTSTART}, + {DISPID_IHTMLELEMENT_SCROLLINTOVIEW}, + {DISPID_IHTMLELEMENT_CONTAINS}, + {DISPID_IHTMLELEMENT_SOURCEINDEX}, + {DISPID_IHTMLELEMENT_RECORDNUMBER}, + {DISPID_IHTMLELEMENT_LANG}, + {DISPID_IHTMLELEMENT_OFFSETLEFT}, + {DISPID_IHTMLELEMENT_OFFSETTOP}, + {DISPID_IHTMLELEMENT_OFFSETWIDTH}, + {DISPID_IHTMLELEMENT_OFFSETHEIGHT}, + {DISPID_IHTMLELEMENT_OFFSETPARENT}, + {DISPID_IHTMLELEMENT_INNERHTML}, + {DISPID_IHTMLELEMENT_INNERTEXT}, + {DISPID_IHTMLELEMENT_OUTERHTML}, + {DISPID_IHTMLELEMENT_OUTERTEXT}, + {DISPID_IHTMLELEMENT_INSERTADJACENTHTML}, + {DISPID_IHTMLELEMENT_INSERTADJACENTTEXT}, + {DISPID_IHTMLELEMENT_PARENTTEXTEDIT}, + {DISPID_IHTMLELEMENT_ISTEXTEDIT}, + {DISPID_IHTMLELEMENT_CLICK}, + {DISPID_IHTMLELEMENT_FILTERS}, + {DISPID_IHTMLELEMENT_ONDRAGSTART}, + {DISPID_IHTMLELEMENT_TOSTRING}, + {DISPID_IHTMLELEMENT_ONBEFOREUPDATE}, + {DISPID_IHTMLELEMENT_ONAFTERUPDATE}, + {DISPID_IHTMLELEMENT_ONERRORUPDATE}, + {DISPID_IHTMLELEMENT_ONROWEXIT}, + {DISPID_IHTMLELEMENT_ONROWENTER}, + {DISPID_IHTMLELEMENT_ONDATASETCHANGED}, + {DISPID_IHTMLELEMENT_ONDATAAVAILABLE}, + {DISPID_IHTMLELEMENT_ONDATASETCOMPLETE}, + {DISPID_IHTMLELEMENT_ONFILTERCHANGE}, + {DISPID_IHTMLELEMENT_CHILDREN}, + {DISPID_IHTMLELEMENT_ALL}, + {DISPID_UNKNOWN} + }; + static const dispex_hook_t elem2_hooks[] = { + {DISPID_IHTMLELEMENT2_SCOPENAME}, + {DISPID_IHTMLELEMENT2_SETCAPTURE}, + {DISPID_IHTMLELEMENT2_RELEASECAPTURE}, + {DISPID_IHTMLELEMENT2_ONLOSECAPTURE}, + {DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT}, + {DISPID_IHTMLELEMENT2_DOSCROLL}, + {DISPID_IHTMLELEMENT2_ONSCROLL}, + {DISPID_IHTMLELEMENT2_ONDRAG}, + {DISPID_IHTMLELEMENT2_ONDRAGEND}, + {DISPID_IHTMLELEMENT2_ONDRAGENTER}, + {DISPID_IHTMLELEMENT2_ONDRAGOVER}, + {DISPID_IHTMLELEMENT2_ONDRAGLEAVE}, + {DISPID_IHTMLELEMENT2_ONDROP}, + {DISPID_IHTMLELEMENT2_ONBEFORECUT}, + {DISPID_IHTMLELEMENT2_ONCUT}, + {DISPID_IHTMLELEMENT2_ONBEFORECOPY}, + {DISPID_IHTMLELEMENT2_ONCOPY}, + {DISPID_IHTMLELEMENT2_ONBEFOREPASTE}, + {DISPID_IHTMLELEMENT2_ONPASTE}, + {DISPID_IHTMLELEMENT2_CURRENTSTYLE}, + {DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE}, + {DISPID_IHTMLELEMENT2_SETEXPRESSION}, + {DISPID_IHTMLELEMENT2_GETEXPRESSION}, + {DISPID_IHTMLELEMENT2_REMOVEEXPRESSION}, + {DISPID_IHTMLELEMENT2_TABINDEX}, + {DISPID_IHTMLELEMENT2_FOCUS}, + {DISPID_IHTMLELEMENT2_ACCESSKEY}, + {DISPID_IHTMLELEMENT2_ONBLUR}, + {DISPID_IHTMLELEMENT2_ONFOCUS}, + {DISPID_IHTMLELEMENT2_ONRESIZE}, + {DISPID_IHTMLELEMENT2_BLUR}, + {DISPID_IHTMLELEMENT2_ADDFILTER}, + {DISPID_IHTMLELEMENT2_REMOVEFILTER}, + {DISPID_IHTMLELEMENT2_ATTACHEVENT}, + {DISPID_IHTMLELEMENT2_DETACHEVENT}, + {DISPID_IHTMLELEMENT2_READYSTATE}, + {DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE}, + {DISPID_IHTMLELEMENT2_ONROWSDELETE}, + {DISPID_IHTMLELEMENT2_ONROWSINSERTED}, + {DISPID_IHTMLELEMENT2_ONCELLCHANGE}, + {DISPID_IHTMLELEMENT2_DIR}, + {DISPID_IHTMLELEMENT2_CREATECONTROLRANGE}, + {DISPID_IHTMLELEMENT2_CLEARATTRIBUTES}, + {DISPID_IHTMLELEMENT2_MERGEATTRIBUTES}, + {DISPID_IHTMLELEMENT2_ONCONTEXTMENU}, + {DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT}, + {DISPID_IHTMLELEMENT2_APPLYELEMENT}, + {DISPID_IHTMLELEMENT2_GETADJACENTTEXT}, + {DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT}, + {DISPID_IHTMLELEMENT2_CANHAVECHILDREN}, + {DISPID_IHTMLELEMENT2_ADDBEHAVIOR}, + {DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR}, + {DISPID_IHTMLELEMENT2_RUNTIMESTYLE}, + {DISPID_IHTMLELEMENT2_BEHAVIORURNS}, + {DISPID_IHTMLELEMENT2_TAGURN}, + {DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS}, + {DISPID_IHTMLELEMENT2_READYSTATEVALUE}, + {DISPID_UNKNOWN} + }; + static const dispex_hook_t elem3_ie11_hooks[] = { + {DISPID_IHTMLELEMENT3_FIREEVENT}, + + /* common for all supported modes */ + {DISPID_IHTMLELEMENT3_MERGEATTRIBUTES}, + {DISPID_IHTMLELEMENT3_ISMULTILINE}, + {DISPID_IHTMLELEMENT3_CANHAVEHTML}, + {DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE}, + {DISPID_IHTMLELEMENT3_ONPAGE}, + {DISPID_IHTMLELEMENT3_INFLATEBLOCK}, + {DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE}, + {DISPID_IHTMLELEMENT3_SETACTIVE}, + {DISPID_IHTMLELEMENT3_CONTENTEDITABLE}, + {DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE}, + {DISPID_IHTMLELEMENT3_HIDEFOCUS}, + {DISPID_IHTMLELEMENT3_DISABLED}, + {DISPID_IHTMLELEMENT3_ISDISABLED}, + {DISPID_IHTMLELEMENT3_ONMOVE}, + {DISPID_IHTMLELEMENT3_ONCONTROLSELECT}, + {DISPID_IHTMLELEMENT3_ONRESIZESTART}, + {DISPID_IHTMLELEMENT3_ONRESIZEEND}, + {DISPID_IHTMLELEMENT3_ONMOVESTART}, + {DISPID_IHTMLELEMENT3_ONMOVEEND}, + {DISPID_IHTMLELEMENT3_ONMOUSEENTER}, + {DISPID_IHTMLELEMENT3_ONMOUSELEAVE}, + {DISPID_IHTMLELEMENT3_ONACTIVATE}, + {DISPID_IHTMLELEMENT3_ONDEACTIVATE}, + {DISPID_IHTMLELEMENT3_DRAGDROP}, + {DISPID_IHTMLELEMENT3_GLYPHMODE}, + {DISPID_UNKNOWN} + }; + const dispex_hook_t *const elem3_hooks = elem3_ie11_hooks + 1; + static const dispex_hook_t elem4_hooks[] = { + {DISPID_IHTMLELEMENT4_ONMOUSEWHEEL}, + {DISPID_IHTMLELEMENT4_NORMALIZE}, + {DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE}, + {DISPID_IHTMLELEMENT4_ONFOCUSIN}, + {DISPID_IHTMLELEMENT4_ONFOCUSOUT}, + {DISPID_UNKNOWN} + }; + static const dispex_hook_t elem6_ie10_hooks[] = { + {DISPID_IHTMLELEMENT6_HASATTRIBUTENS, IHTMLElement6_hasAttributeNS_hook}, + {DISPID_IHTMLELEMENT6_GETATTRIBUTENS, IHTMLElement6_getAttributeNS_hook}, + {DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS, IHTMLElement6_removeAttributeNS_hook}, + {DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE, IHTMLElement6_setAttribute_hook}, + + /* common for all supported modes */ + {DISPID_IHTMLELEMENT6_SETATTRIBUTENS, IHTMLElement6_setAttributeNS_hook}, + + {DISPID_IHTMLELEMENT6_IE9_NODENAME}, + {DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME}, + {DISPID_IHTMLELEMENT6_ONABORT}, + {DISPID_IHTMLELEMENT6_ONCANPLAY}, + {DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH}, + {DISPID_IHTMLELEMENT6_ONCHANGE}, + {DISPID_IHTMLELEMENT6_ONDURATIONCHANGE}, + {DISPID_IHTMLELEMENT6_ONEMPTIED}, + {DISPID_IHTMLELEMENT6_ONENDED}, + {DISPID_IHTMLELEMENT6_ONERROR}, + {DISPID_IHTMLELEMENT6_ONINPUT}, + {DISPID_IHTMLELEMENT6_ONLOAD}, + {DISPID_IHTMLELEMENT6_ONLOADEDDATA}, + {DISPID_IHTMLELEMENT6_ONLOADEDMETADATA}, + {DISPID_IHTMLELEMENT6_ONLOADSTART}, + {DISPID_IHTMLELEMENT6_ONPAUSE}, + {DISPID_IHTMLELEMENT6_ONPLAY}, + {DISPID_IHTMLELEMENT6_ONPLAYING}, + {DISPID_IHTMLELEMENT6_ONPROGRESS}, + {DISPID_IHTMLELEMENT6_ONRATECHANGE}, + {DISPID_IHTMLELEMENT6_ONRESET}, + {DISPID_IHTMLELEMENT6_ONSEEKED}, + {DISPID_IHTMLELEMENT6_ONSEEKING}, + {DISPID_IHTMLELEMENT6_ONSELECT}, + {DISPID_IHTMLELEMENT6_ONSTALLED}, + {DISPID_IHTMLELEMENT6_ONSUBMIT}, + {DISPID_IHTMLELEMENT6_ONSUSPEND}, + {DISPID_IHTMLELEMENT6_ONTIMEUPDATE}, + {DISPID_IHTMLELEMENT6_ONVOLUMECHANGE}, + {DISPID_IHTMLELEMENT6_ONWAITING}, + {DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES}, + {DISPID_UNKNOWN} + }; + const dispex_hook_t *const elem6_hooks = elem6_ie10_hooks + 4; + static const dispex_hook_t elem7_ie11_hooks[] = { + {DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER}, + + /* common for all supported modes */ + {DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART}, + {DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND}, + {DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART}, + {DISPID_IHTMLELEMENT7_ONMSANIMATIONEND}, + {DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION}, + {DISPID_IHTMLELEMENT7_ONINVALID}, + {DISPID_IHTMLELEMENT7_XMSACCELERATORKEY}, + {DISPID_IHTMLELEMENT7_SPELLCHECK}, + {DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED}, + {DISPID_IHTMLELEMENT7_ONCUECHANGE}, + {DISPID_UNKNOWN} + }; + const dispex_hook_t *const elem7_hooks = elem7_ie11_hooks + 1; + + dispex_info_add_interface(info, IHTMLElement2_tid, elem2_hooks); + dispex_info_add_interface(info, IHTMLElement6_tid, mode >= COMPAT_MODE_IE10 ? elem6_ie10_hooks : elem6_hooks); + if(mode >= COMPAT_MODE_IE10) + dispex_info_add_interface(info, IHTMLElement7_tid, mode >= COMPAT_MODE_IE11 ? elem7_ie11_hooks : elem7_hooks); + dispex_info_add_interface(info, IHTMLElement_tid, elem_hooks); + dispex_info_add_interface(info, IHTMLElement3_tid, mode >= COMPAT_MODE_IE11 ? elem3_ie11_hooks : elem3_hooks); + dispex_info_add_interface(info, IHTMLElement4_tid, elem4_hooks); + dispex_info_add_interface(info, IElementSelector_tid, NULL); + dispex_info_add_interface(info, IElementTraversal_tid, NULL); +} + dispex_static_data_t Element_dispex = { .id = PROT_Element, .prototype_id = PROT_Node, + .init_info = Element_init_dispex_info, };
dispex_static_data_t HTMLElement_dispex = { diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 2cd4623f06e..2e3848349a1 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3692,11 +3692,67 @@ sync_test("prototype props", function() { check(CSSStyleRule, [ "readOnly", "selectorText", "style" ]); check(CustomEvent, [ "detail", "initCustomEvent" ]); check(DocumentType, [ "entities", "internalSubset", "name", "notations", "publicId", "systemId" ]); + check(Element, [ + "childElementCount", "clientHeight", "clientLeft", "clientTop", "clientWidth", ["fireEvent",9,10], "firstElementChild", + "getAttribute", "getAttributeNS", "getAttributeNode", "getAttributeNodeNS", "getBoundingClientRect", "getClientRects", + "getElementsByTagName", "getElementsByTagNameNS", "hasAttribute", "hasAttributeNS", "lastElementChild", + ["msContentZoomFactor",10], ["msGetRegionContent",10], ["msGetUntransformedBounds",11], "msMatchesSelector", + ["msRegionOverflow",10], ["msReleasePointerCapture",10], ["msRequestFullscreen",11], ["msSetPointerCapture",10], + ["msZoomTo",11], "nextElementSibling", ["ongotpointercapture",11], ["onlostpointercapture",11], ["onmsgesturechange",10], + ["onmsgesturedoubletap",10], ["onmsgestureend",10], ["onmsgesturehold",10], ["onmsgesturestart",10], ["onmsgesturetap",10], + ["onmsgotpointercapture",10], ["onmsinertiastart",10], ["onmslostpointercapture",10], ["onmspointercancel",10], + ["onmspointerdown",10], ["onmspointerenter",11], ["onmspointerhover",10,10], ["onmspointerleave",11], ["onmspointermove",10], + ["onmspointerout",10], ["onmspointerover",10], ["onmspointerup",10], ["onpointercancel",11], ["onpointerdown",11], + ["onpointerenter",11], ["onpointerleave",11], ["onpointermove",11], ["onpointerout",11], ["onpointerover",11], + ["onpointerup",11], "previousElementSibling", "querySelector", "querySelectorAll", ["releasePointerCapture",11], + "removeAttribute", "removeAttributeNS", "removeAttributeNode", "scrollHeight", "scrollLeft", "scrollTop", "scrollWidth", + "setAttribute", "setAttributeNS", "setAttributeNode", "setAttributeNodeNS", ["setPointerCapture",11], "tagName" + ], [ + ["msContentZoomFactor",10], ["msGetRegionContent",10], ["msGetUntransformedBounds",11], ["msRegionOverflow",10], + ["msRequestFullscreen",11], ["msZoomTo",11], ["ongotpointercapture",11], ["onlostpointercapture",11], + ["onmspointerenter",11], ["onmspointerleave",11], ["onpointercancel",11], ["onpointerdown",11], ["onpointerenter",11], + ["onpointerleave",11], ["onpointermove",11], ["onpointerout",11], ["onpointerover",11], ["onpointerup",11], + ["releasePointerCapture",11], ["setPointerCapture",11] + ]); check(Event, [ "AT_TARGET", "BUBBLING_PHASE", "CAPTURING_PHASE", "bubbles", "cancelBubble", "cancelable", "currentTarget", "defaultPrevented", "eventPhase", "initEvent", "isTrusted", "preventDefault", "srcElement", "stopImmediatePropagation", "stopPropagation", "target", "timeStamp", "type" ], [ "AT_TARGET", "BUBBLING_PHASE", "CAPTURING_PHASE" ]); + check(HTMLElement, [ + "accessKey", ["addBehavior",9,10], ["addFilter",9,9], ["all",9,10], "applyElement", ["attachEvent",9,10], ["behaviorUrns",9,10], "blur", + "canHaveChildren", "canHaveHTML", "children", ["classList",10], "className", "clearAttributes", "click", "componentFromPoint", "contains", + "contentEditable", "createControlRange", "currentStyle", ["dataset",11], ["detachEvent",9,10], "dir", "disabled", ["doScroll",9,10], + ["document",9,9], "dragDrop", ["draggable",10], ["filters",9,9], "focus", "getAdjacentText", "getElementsByClassName", ["hidden",11], + "hideFocus", "id", "innerHTML", "innerText", "insertAdjacentElement", "insertAdjacentHTML", "insertAdjacentText", "isContentEditable", + "isDisabled", "isMultiLine", "isTextEdit", "lang", "language", "mergeAttributes", ["msGetInputContext",11], "offsetHeight", "offsetLeft", + "offsetParent", "offsetTop", "offsetWidth", "onabort", "onactivate", ["onafterupdate",9,10], "onbeforeactivate", "onbeforecopy", + "onbeforecut", "onbeforedeactivate", ["onbeforeeditfocus",9,10], "onbeforepaste", ["onbeforeupdate",9,10], "onblur", "oncanplay", + "oncanplaythrough", ["oncellchange",9,10], "onchange", "onclick", "oncontextmenu", ["oncontrolselect",9,10], "oncopy", ["oncuechange",10], + "oncut", ["ondataavailable",9,10], ["ondatasetchanged",9,10], ["ondatasetcomplete",9,10], "ondblclick", "ondeactivate", "ondrag", + "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied", "onended", "onerror", + ["onerrorupdate",9,10], ["onfilterchange",9,10], "onfocus", "onfocusin", "onfocusout", "onhelp", "oninput", "onkeydown", "onkeypress", + "onkeyup", ["onlayoutcomplete",9,10], "onload", "onloadeddata", "onloadedmetadata", "onloadstart", ["onlosecapture",9,10], + "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onmousewheel", ["onmove",9,10], + ["onmoveend",9,10], ["onmovestart",9,10], ["onmscontentzoom",10], ["onmsmanipulationstatechanged",10], "onpaste", "onpause", "onplay", + "onplaying", "onprogress", ["onpropertychange",9,10], "onratechange", ["onreadystatechange",9,10], "onreset", ["onresize",9,10], + ["onresizeend",9,10], ["onresizestart",9,10], ["onrowenter",9,10], ["onrowexit",9,10], ["onrowsdelete",9,10], ["onrowsinserted",9,10], + "onscroll", "onseeked", "onseeking", "onselect", "onselectstart", "onstalled", "onsubmit", "onsuspend", "ontimeupdate", "onvolumechange", + "onwaiting", "outerHTML", "outerText", "parentElement", "parentTextEdit", ["readyState",9,10], "recordNumber", "releaseCapture", + ["removeBehavior",9,10], ["removeFilter",9,9], "removeNode", "replaceAdjacentText", "replaceNode", "runtimeStyle", ["scopeName",9,9], + "scrollIntoView", "setActive", "setCapture", "sourceIndex", ["spellcheck",10], "style", "swapNode", "tabIndex", ["tagUrn",9,9], "title", + "uniqueID", "uniqueNumber" + ], [ + ["addBehavior",11], ["addFilter",10], ["all",11], ["behaviorUrns",11], ["dataset",11], ["document",10], ["draggable",10], ["filters",10], + ["fireEvent",11], "getExpression", "hasAttributes", ["hidden",11], ["msGetInputContext",11], "normalize", ["onafterupdate",11], + ["onbeforeeditfocus",11], ["onbeforeupdate",11], ["oncellchange",11], ["oncontrolselect",11], ["ondataavailable",11], ["ondatasetchanged",11], + ["ondatasetcomplete",11], ["onerrorupdate",11], ["onfilterchange",11], ["oninvalid",10], ["onlayoutcomplete",11], ["onlosecapture",11], + ["onmove",11], ["onmoveend",11], ["onmovestart",11], ["onmsanimationend",10], ["onmsanimationiteration",10], ["onmsanimationstart",10], + ["onmscontentzoom",10], ["onmspointerhover",11], ["onmstransitionend",10], ["onmstransitionstart",10], "onpage", ["onpropertychange",11], + ["onreadystatechange",11], ["onresize",11], ["onresizeend",11], ["onresizestart",11], ["onrowenter",11], ["onrowexit",11], + ["onrowsdelete",11], ["onrowsinserted",11], ["removeBehavior",11], "removeExpression", ["removeFilter",10], ["scopeName",10], "setExpression", + ["tagUrn",10], "toString", ["xmsAcceleratorKey",10] + ]); check(HTMLUnknownElement, [ "namedRecordset", "recordset" ]); check(KeyboardEvent, [ "DOM_KEY_LOCATION_JOYSTICK", "DOM_KEY_LOCATION_LEFT", "DOM_KEY_LOCATION_MOBILE",