diff --git a/js/js.libraries/src/core/annotations.kt b/js/js.libraries/src/core/annotations.kt index db66184b765..ca196bcb5c4 100644 --- a/js/js.libraries/src/core/annotations.kt +++ b/js/js.libraries/src/core/annotations.kt @@ -30,5 +30,7 @@ public annotation class library(public val name: String = "") native public annotation class enumerable() +// TODO make it "internal" or "fake" native +deprecated("Do not use this annotation: it is for internal use only") public annotation class marker \ No newline at end of file diff --git a/js/js.libraries/src/core/dom.kt b/js/js.libraries/src/core/dom.kt deleted file mode 100644 index 1e1822b043f..00000000000 --- a/js/js.libraries/src/core/dom.kt +++ /dev/null @@ -1,6037 +0,0 @@ -/* - * Generated file - * DO NOT EDIT - * - * See libraries/tools/idl2k for details - */ - -package org.w3c.dom - -native trait HTMLAllCollection : HTMLCollection { - fun item(name : String) : dynamic = noImpl - override fun namedItem(name : String) : dynamic = noImpl - nativeGetter override fun get(name : String) : dynamic = noImpl -} -native trait HTMLFormControlsCollection : HTMLCollection { - override fun namedItem(name : String) : dynamic = noImpl - nativeGetter override fun get(name : String) : dynamic = noImpl -} -native trait RadioNodeList : NodeList { - var value : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLOptionsCollection : HTMLCollection { - var selectedIndex : Int - get() = noImpl - set(value) = noImpl - fun set(index : Int, option : HTMLOptionElement?) : Unit? = noImpl - fun add(element : UnionHTMLOptGroupElementOrHTMLOptionElement, before : dynamic = null) : Unit = noImpl - fun remove(index : Int) : Unit = noImpl -} -native trait HTMLPropertiesCollection : HTMLCollection { - var names : dynamic - get() = noImpl - set(value) = noImpl -// override fun namedItem(name : String) : PropertyNodeList? = noImpl -// nativeGetter override fun get(name : String) : PropertyNodeList? = noImpl -} -native trait PropertyNodeList : NodeList { - fun getValues() : dynamic = noImpl -} -native trait DOMStringMap { - nativeGetter fun get(name : String) : String? = noImpl - fun set(name : String, value : String) : Unit? = noImpl -} -native trait DOMElementMap { - nativeGetter fun get(name : String) : Element? = noImpl - fun set(name : String, value : Element) : Unit? = noImpl -} -native open class Document : Node { - var location : Location? - get() = noImpl - set(value) = noImpl - var domain : String - get() = noImpl - set(value) = noImpl - var referrer : String - get() = noImpl - set(value) = noImpl - var cookie : String - get() = noImpl - set(value) = noImpl - var lastModified : String - get() = noImpl - set(value) = noImpl - var readyState : String - get() = noImpl - set(value) = noImpl - var title : String - get() = noImpl - set(value) = noImpl - var dir : String - get() = noImpl - set(value) = noImpl - var body : HTMLElement? - get() = noImpl - set(value) = noImpl - var head : HTMLHeadElement? - get() = noImpl - set(value) = noImpl - var images : HTMLCollection - get() = noImpl - set(value) = noImpl - var embeds : HTMLCollection - get() = noImpl - set(value) = noImpl - var plugins : HTMLCollection - get() = noImpl - set(value) = noImpl - var links : HTMLCollection - get() = noImpl - set(value) = noImpl - var forms : HTMLCollection - get() = noImpl - set(value) = noImpl - var scripts : HTMLCollection - get() = noImpl - set(value) = noImpl - var cssElementMap : DOMElementMap - get() = noImpl - set(value) = noImpl - var currentScript : HTMLScriptElement? - get() = noImpl - set(value) = noImpl - var defaultView : Window? - get() = noImpl - set(value) = noImpl - var activeElement : Element? - get() = noImpl - set(value) = noImpl - var designMode : String - get() = noImpl - set(value) = noImpl - var commands : HTMLCollection - get() = noImpl - set(value) = noImpl - var onreadystatechange : () -> Unit - get() = noImpl - set(value) = noImpl - var fgColor : String - get() = noImpl - set(value) = noImpl - var linkColor : String - get() = noImpl - set(value) = noImpl - var vlinkColor : String - get() = noImpl - set(value) = noImpl - var alinkColor : String - get() = noImpl - set(value) = noImpl - var bgColor : String - get() = noImpl - set(value) = noImpl - var anchors : HTMLCollection - get() = noImpl - set(value) = noImpl - var applets : HTMLCollection - get() = noImpl - set(value) = noImpl - var all : HTMLAllCollection - get() = noImpl - set(value) = noImpl - var implementation : DOMImplementation - get() = noImpl - set(value) = noImpl - var URL : String - get() = noImpl - set(value) = noImpl - var documentURI : String - get() = noImpl - set(value) = noImpl - var origin : String - get() = noImpl - set(value) = noImpl - var compatMode : String - get() = noImpl - set(value) = noImpl - var characterSet : String - get() = noImpl - set(value) = noImpl - var inputEncoding : String - get() = noImpl - set(value) = noImpl - var contentType : String - get() = noImpl - set(value) = noImpl - var doctype : DocumentType? - get() = noImpl - set(value) = noImpl - var documentElement : Element? - get() = noImpl - set(value) = noImpl - var fullscreenEnabled : Boolean - get() = noImpl - set(value) = noImpl - var fullscreenElement : Element? - get() = noImpl - set(value) = noImpl - var onfullscreenchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onfullscreenerror : () -> Unit - get() = noImpl - set(value) = noImpl - var styleSheets : StyleSheetList - get() = noImpl - set(value) = noImpl - var selectedStyleSheetSet : String? - get() = noImpl - set(value) = noImpl - var lastStyleSheetSet : String? - get() = noImpl - set(value) = noImpl - var preferredStyleSheetSet : String? - get() = noImpl - set(value) = noImpl - var styleSheetSets : dynamic - get() = noImpl - set(value) = noImpl - var onabort : () -> Unit - get() = noImpl - set(value) = noImpl - var onautocomplete : () -> Unit - get() = noImpl - set(value) = noImpl - var onautocompleteerror : () -> Unit - get() = noImpl - set(value) = noImpl - var onblur : () -> Unit - get() = noImpl - set(value) = noImpl - var oncancel : () -> Unit - get() = noImpl - set(value) = noImpl - var oncanplay : () -> Unit - get() = noImpl - set(value) = noImpl - var oncanplaythrough : () -> Unit - get() = noImpl - set(value) = noImpl - var onchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onclick : () -> Unit - get() = noImpl - set(value) = noImpl - var onclose : () -> Unit - get() = noImpl - set(value) = noImpl - var oncontextmenu : () -> Unit - get() = noImpl - set(value) = noImpl - var oncuechange : () -> Unit - get() = noImpl - set(value) = noImpl - var ondblclick : () -> Unit - get() = noImpl - set(value) = noImpl - var ondrag : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragend : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragenter : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragexit : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragleave : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragover : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragstart : () -> Unit - get() = noImpl - set(value) = noImpl - var ondrop : () -> Unit - get() = noImpl - set(value) = noImpl - var ondurationchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onemptied : () -> Unit - get() = noImpl - set(value) = noImpl - var onended : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : dynamic - get() = noImpl - set(value) = noImpl - var onfocus : () -> Unit - get() = noImpl - set(value) = noImpl - var oninput : () -> Unit - get() = noImpl - set(value) = noImpl - var oninvalid : () -> Unit - get() = noImpl - set(value) = noImpl - var onkeydown : () -> Unit - get() = noImpl - set(value) = noImpl - var onkeypress : () -> Unit - get() = noImpl - set(value) = noImpl - var onkeyup : () -> Unit - get() = noImpl - set(value) = noImpl - var onload : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadeddata : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadedmetadata : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadstart : () -> Unit - get() = noImpl - set(value) = noImpl - var onmousedown : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseenter : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseleave : () -> Unit - get() = noImpl - set(value) = noImpl - var onmousemove : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseout : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseover : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseup : () -> Unit - get() = noImpl - set(value) = noImpl - var onmousewheel : () -> Unit - get() = noImpl - set(value) = noImpl - var onpause : () -> Unit - get() = noImpl - set(value) = noImpl - var onplay : () -> Unit - get() = noImpl - set(value) = noImpl - var onplaying : () -> Unit - get() = noImpl - set(value) = noImpl - var onprogress : () -> Unit - get() = noImpl - set(value) = noImpl - var onratechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onreset : () -> Unit - get() = noImpl - set(value) = noImpl - var onresize : () -> Unit - get() = noImpl - set(value) = noImpl - var onscroll : () -> Unit - get() = noImpl - set(value) = noImpl - var onseeked : () -> Unit - get() = noImpl - set(value) = noImpl - var onseeking : () -> Unit - get() = noImpl - set(value) = noImpl - var onselect : () -> Unit - get() = noImpl - set(value) = noImpl - var onshow : () -> Unit - get() = noImpl - set(value) = noImpl - var onsort : () -> Unit - get() = noImpl - set(value) = noImpl - var onstalled : () -> Unit - get() = noImpl - set(value) = noImpl - var onsubmit : () -> Unit - get() = noImpl - set(value) = noImpl - var onsuspend : () -> Unit - get() = noImpl - set(value) = noImpl - var ontimeupdate : () -> Unit - get() = noImpl - set(value) = noImpl - var ontoggle : () -> Unit - get() = noImpl - set(value) = noImpl - var onvolumechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onwaiting : () -> Unit - get() = noImpl - set(value) = noImpl - var children : HTMLCollection - get() = noImpl - set(value) = noImpl - var firstElementChild : Element? - get() = noImpl - set(value) = noImpl - var lastElementChild : Element? - get() = noImpl - set(value) = noImpl - var childElementCount : Int - get() = noImpl - set(value) = noImpl - nativeGetter fun get(name : String) : dynamic = noImpl - fun getElementsByName(elementName : String) : NodeList = noImpl - fun getItems(typeNames : String = "") : NodeList = noImpl - fun open(type : String = "text/html", replace : String = "") : Document = noImpl - fun open(url : String, name : String, features : String, replace : Boolean = false) : Window = noImpl - fun close() : Unit = noImpl - fun write(vararg text : String) : Unit = noImpl - fun writeln(vararg text : String) : Unit = noImpl - fun hasFocus() : Boolean = noImpl - fun execCommand(commandId : String, showUI : Boolean = false, value : String = "") : Boolean = noImpl - fun queryCommandEnabled(commandId : String) : Boolean = noImpl - fun queryCommandIndeterm(commandId : String) : Boolean = noImpl - fun queryCommandState(commandId : String) : Boolean = noImpl - fun queryCommandSupported(commandId : String) : Boolean = noImpl - fun queryCommandValue(commandId : String) : String = noImpl - fun clear() : Unit = noImpl - fun captureEvents() : Unit = noImpl - fun releaseEvents() : Unit = noImpl - fun getElementsByTagName(localName : String) : HTMLCollection = noImpl - fun getElementsByTagNameNS(namespace : String?, localName : String) : HTMLCollection = noImpl - fun getElementsByClassName(classNames : String) : HTMLCollection = noImpl - fun createElement(localName : String) : Element = noImpl - fun createElementNS(namespace : String?, qualifiedName : String) : Element = noImpl - fun createDocumentFragment() : DocumentFragment = noImpl - fun createTextNode(data : String) : Text = noImpl - fun createComment(data : String) : Comment = noImpl - fun createProcessingInstruction(target : String, data : String) : ProcessingInstruction = noImpl - fun importNode(node : Node, deep : Boolean = false) : Node = noImpl - fun adoptNode(node : Node) : Node = noImpl - fun createAttribute(localName : String) : Attr = noImpl - fun createAttributeNS(namespace : String?, name : String) : Attr = noImpl - fun createEvent(interface_ : String) : Event = noImpl - fun createRange() : Range = noImpl - fun createNodeIterator(root : Node, whatToShow : Int = noImpl, filter : NodeFilter? = null) : NodeIterator = noImpl - fun createTreeWalker(root : Node, whatToShow : Int = noImpl, filter : NodeFilter? = null) : TreeWalker = noImpl - fun getSelection() : Selection = noImpl - fun exitFullscreen() : Unit = noImpl - fun enableStyleSheetsForSet(name : String?) : Unit = noImpl - fun getElementById(elementId : String) : Element? = noImpl - fun prepend(vararg nodes : dynamic) : Unit = noImpl - fun append(vararg nodes : dynamic) : Unit = noImpl - fun query(relativeSelectors : String) : Element? = noImpl - fun queryAll(relativeSelectors : String) : dynamic = noImpl - fun querySelector(selectors : String) : Element? = noImpl - fun querySelectorAll(selectors : String) : NodeList = noImpl -} -native open class XMLDocument : Document() { - fun load(url : String) : Boolean = noImpl -} -native trait HTMLElement : Element { - var title : String - get() = noImpl - set(value) = noImpl - var lang : String - get() = noImpl - set(value) = noImpl - var translate : Boolean - get() = noImpl - set(value) = noImpl - var dir : String - get() = noImpl - set(value) = noImpl - var dataset : DOMStringMap - get() = noImpl - set(value) = noImpl - var itemScope : Boolean - get() = noImpl - set(value) = noImpl - var itemType : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var itemId : String - get() = noImpl - set(value) = noImpl - var itemRef : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var itemProp : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var properties : HTMLPropertiesCollection - get() = noImpl - set(value) = noImpl - var itemValue : Any - get() = noImpl - set(value) = noImpl - var hidden : Boolean - get() = noImpl - set(value) = noImpl - var tabIndex : Int - get() = noImpl - set(value) = noImpl - var accessKey : String - get() = noImpl - set(value) = noImpl - var accessKeyLabel : String - get() = noImpl - set(value) = noImpl - var draggable : Boolean - get() = noImpl - set(value) = noImpl - var dropzone : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var contextMenu : HTMLMenuElement? - get() = noImpl - set(value) = noImpl - var spellcheck : Boolean - get() = noImpl - set(value) = noImpl - var commandType : String? - get() = noImpl - set(value) = noImpl - var commandLabel : String? - get() = noImpl - set(value) = noImpl - var commandIcon : String? - get() = noImpl - set(value) = noImpl - var commandHidden : Boolean? - get() = noImpl - set(value) = noImpl - var commandDisabled : Boolean? - get() = noImpl - set(value) = noImpl - var commandChecked : Boolean? - get() = noImpl - set(value) = noImpl - var onabort : () -> Unit - get() = noImpl - set(value) = noImpl - var onautocomplete : () -> Unit - get() = noImpl - set(value) = noImpl - var onautocompleteerror : () -> Unit - get() = noImpl - set(value) = noImpl - var onblur : () -> Unit - get() = noImpl - set(value) = noImpl - var oncancel : () -> Unit - get() = noImpl - set(value) = noImpl - var oncanplay : () -> Unit - get() = noImpl - set(value) = noImpl - var oncanplaythrough : () -> Unit - get() = noImpl - set(value) = noImpl - var onchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onclick : () -> Unit - get() = noImpl - set(value) = noImpl - var onclose : () -> Unit - get() = noImpl - set(value) = noImpl - var oncontextmenu : () -> Unit - get() = noImpl - set(value) = noImpl - var oncuechange : () -> Unit - get() = noImpl - set(value) = noImpl - var ondblclick : () -> Unit - get() = noImpl - set(value) = noImpl - var ondrag : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragend : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragenter : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragexit : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragleave : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragover : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragstart : () -> Unit - get() = noImpl - set(value) = noImpl - var ondrop : () -> Unit - get() = noImpl - set(value) = noImpl - var ondurationchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onemptied : () -> Unit - get() = noImpl - set(value) = noImpl - var onended : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : dynamic - get() = noImpl - set(value) = noImpl - var onfocus : () -> Unit - get() = noImpl - set(value) = noImpl - var oninput : () -> Unit - get() = noImpl - set(value) = noImpl - var oninvalid : () -> Unit - get() = noImpl - set(value) = noImpl - var onkeydown : () -> Unit - get() = noImpl - set(value) = noImpl - var onkeypress : () -> Unit - get() = noImpl - set(value) = noImpl - var onkeyup : () -> Unit - get() = noImpl - set(value) = noImpl - var onload : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadeddata : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadedmetadata : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadstart : () -> Unit - get() = noImpl - set(value) = noImpl - var onmousedown : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseenter : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseleave : () -> Unit - get() = noImpl - set(value) = noImpl - var onmousemove : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseout : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseover : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseup : () -> Unit - get() = noImpl - set(value) = noImpl - var onmousewheel : () -> Unit - get() = noImpl - set(value) = noImpl - var onpause : () -> Unit - get() = noImpl - set(value) = noImpl - var onplay : () -> Unit - get() = noImpl - set(value) = noImpl - var onplaying : () -> Unit - get() = noImpl - set(value) = noImpl - var onprogress : () -> Unit - get() = noImpl - set(value) = noImpl - var onratechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onreset : () -> Unit - get() = noImpl - set(value) = noImpl - var onresize : () -> Unit - get() = noImpl - set(value) = noImpl - var onscroll : () -> Unit - get() = noImpl - set(value) = noImpl - var onseeked : () -> Unit - get() = noImpl - set(value) = noImpl - var onseeking : () -> Unit - get() = noImpl - set(value) = noImpl - var onselect : () -> Unit - get() = noImpl - set(value) = noImpl - var onshow : () -> Unit - get() = noImpl - set(value) = noImpl - var onsort : () -> Unit - get() = noImpl - set(value) = noImpl - var onstalled : () -> Unit - get() = noImpl - set(value) = noImpl - var onsubmit : () -> Unit - get() = noImpl - set(value) = noImpl - var onsuspend : () -> Unit - get() = noImpl - set(value) = noImpl - var ontimeupdate : () -> Unit - get() = noImpl - set(value) = noImpl - var ontoggle : () -> Unit - get() = noImpl - set(value) = noImpl - var onvolumechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onwaiting : () -> Unit - get() = noImpl - set(value) = noImpl - var contentEditable : String - get() = noImpl - set(value) = noImpl - var isContentEditable : Boolean - get() = noImpl - set(value) = noImpl - var style : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl - fun click() : Unit = noImpl - fun focus() : Unit = noImpl - fun blur() : Unit = noImpl - fun forceSpellCheck() : Unit = noImpl -} -native trait HTMLUnknownElement : HTMLElement { -} -native trait HTMLHtmlElement : HTMLElement { - var version : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLHeadElement : HTMLElement { -} -native trait HTMLTitleElement : HTMLElement { - var text : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLBaseElement : HTMLElement { - var href : String - get() = noImpl - set(value) = noImpl - var target : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLLinkElement : HTMLElement { - var href : String - get() = noImpl - set(value) = noImpl - var crossOrigin : String? - get() = noImpl - set(value) = noImpl - var rel : String - get() = noImpl - set(value) = noImpl - var relList : DOMTokenList - get() = noImpl - set(value) = noImpl - var media : String - get() = noImpl - set(value) = noImpl - var hreflang : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var sizes : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var charset : String - get() = noImpl - set(value) = noImpl - var rev : String - get() = noImpl - set(value) = noImpl - var target : String - get() = noImpl - set(value) = noImpl - var sheet : StyleSheet? - get() = noImpl - set(value) = noImpl -} -native trait HTMLMetaElement : HTMLElement { - var name : String - get() = noImpl - set(value) = noImpl - var httpEquiv : String - get() = noImpl - set(value) = noImpl - var content : String - get() = noImpl - set(value) = noImpl - var scheme : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLStyleElement : HTMLElement { - var media : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var scoped : Boolean - get() = noImpl - set(value) = noImpl - var sheet : StyleSheet? - get() = noImpl - set(value) = noImpl -} -native trait HTMLBodyElement : HTMLElement { - var text : String - get() = noImpl - set(value) = noImpl - var link : String - get() = noImpl - set(value) = noImpl - var vLink : String - get() = noImpl - set(value) = noImpl - var aLink : String - get() = noImpl - set(value) = noImpl - var bgColor : String - get() = noImpl - set(value) = noImpl - var background : String - get() = noImpl - set(value) = noImpl - var onafterprint : () -> Unit - get() = noImpl - set(value) = noImpl - var onbeforeprint : () -> Unit - get() = noImpl - set(value) = noImpl - var onbeforeunload : dynamic - get() = noImpl - set(value) = noImpl - var onhashchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onlanguagechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - var onoffline : () -> Unit - get() = noImpl - set(value) = noImpl - var ononline : () -> Unit - get() = noImpl - set(value) = noImpl - var onpagehide : () -> Unit - get() = noImpl - set(value) = noImpl - var onpageshow : () -> Unit - get() = noImpl - set(value) = noImpl - var onpopstate : () -> Unit - get() = noImpl - set(value) = noImpl - var onstorage : () -> Unit - get() = noImpl - set(value) = noImpl - var onunload : () -> Unit - get() = noImpl - set(value) = noImpl -} -native trait HTMLHeadingElement : HTMLElement { - var align : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLParagraphElement : HTMLElement { - var align : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLHRElement : HTMLElement { - var align : String - get() = noImpl - set(value) = noImpl - var color : String - get() = noImpl - set(value) = noImpl - var noShade : Boolean - get() = noImpl - set(value) = noImpl - var size : String - get() = noImpl - set(value) = noImpl - var width : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLPreElement : HTMLElement { - var width : Int - get() = noImpl - set(value) = noImpl -} -native trait HTMLQuoteElement : HTMLElement { - var cite : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLOListElement : HTMLElement { - var reversed : Boolean - get() = noImpl - set(value) = noImpl - var start : Int - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var compact : Boolean - get() = noImpl - set(value) = noImpl -} -native trait HTMLUListElement : HTMLElement { - var compact : Boolean - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLLIElement : HTMLElement { - var value : Int - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLDListElement : HTMLElement { - var compact : Boolean - get() = noImpl - set(value) = noImpl -} -native trait HTMLDivElement : HTMLElement { - var align : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLAnchorElement : HTMLElement { - var target : String - get() = noImpl - set(value) = noImpl - var download : String - get() = noImpl - set(value) = noImpl - var ping : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var rel : String - get() = noImpl - set(value) = noImpl - var relList : DOMTokenList - get() = noImpl - set(value) = noImpl - var hreflang : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var text : String - get() = noImpl - set(value) = noImpl - var coords : String - get() = noImpl - set(value) = noImpl - var charset : String - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var rev : String - get() = noImpl - set(value) = noImpl - var shape : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLDataElement : HTMLElement { - var value : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLTimeElement : HTMLElement { - var dateTime : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLSpanElement : HTMLElement { -} -native trait HTMLBRElement : HTMLElement { - var clear : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLModElement : HTMLElement { - var cite : String - get() = noImpl - set(value) = noImpl - var dateTime : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLIFrameElement : HTMLElement { - var src : String - get() = noImpl - set(value) = noImpl - var srcdoc : String - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var sandbox : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var seamless : Boolean - get() = noImpl - set(value) = noImpl - var allowFullscreen : Boolean - get() = noImpl - set(value) = noImpl - var width : String - get() = noImpl - set(value) = noImpl - var height : String - get() = noImpl - set(value) = noImpl - var contentDocument : Document? - get() = noImpl - set(value) = noImpl - var contentWindow : Window? - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var scrolling : String - get() = noImpl - set(value) = noImpl - var frameBorder : String - get() = noImpl - set(value) = noImpl - var longDesc : String - get() = noImpl - set(value) = noImpl - var marginHeight : String - get() = noImpl - set(value) = noImpl - var marginWidth : String - get() = noImpl - set(value) = noImpl - fun getSVGDocument() : Document? = noImpl -} -native trait HTMLEmbedElement : HTMLElement { - var src : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var width : String - get() = noImpl - set(value) = noImpl - var height : String - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - fun getSVGDocument() : Document? = noImpl -} -native trait HTMLObjectElement : HTMLElement { - var data : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var typeMustMatch : Boolean - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var useMap : String - get() = noImpl - set(value) = noImpl - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var width : String - get() = noImpl - set(value) = noImpl - var height : String - get() = noImpl - set(value) = noImpl - var contentDocument : Document? - get() = noImpl - set(value) = noImpl - var contentWindow : Window? - get() = noImpl - set(value) = noImpl - var willValidate : Boolean - get() = noImpl - set(value) = noImpl - var validity : ValidityState - get() = noImpl - set(value) = noImpl - var validationMessage : String - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var archive : String - get() = noImpl - set(value) = noImpl - var code : String - get() = noImpl - set(value) = noImpl - var declare : Boolean - get() = noImpl - set(value) = noImpl - var hspace : Int - get() = noImpl - set(value) = noImpl - var standby : String - get() = noImpl - set(value) = noImpl - var vspace : Int - get() = noImpl - set(value) = noImpl - var codeBase : String - get() = noImpl - set(value) = noImpl - var codeType : String - get() = noImpl - set(value) = noImpl - var border : String - get() = noImpl - set(value) = noImpl - fun getSVGDocument() : Document? = noImpl - fun checkValidity() : Boolean = noImpl - fun reportValidity() : Boolean = noImpl - fun setCustomValidity(error : String) : Unit = noImpl -} -native trait HTMLParamElement : HTMLElement { - var name : String - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var valueType : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLVideoElement : HTMLMediaElement, CanvasImageSource, ImageBitmapSource { - var width : Int - get() = noImpl - set(value) = noImpl - var height : Int - get() = noImpl - set(value) = noImpl - var videoWidth : Int - get() = noImpl - set(value) = noImpl - var videoHeight : Int - get() = noImpl - set(value) = noImpl - var poster : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLAudioElement : HTMLMediaElement { -} -native trait HTMLSourceElement : HTMLElement { - var src : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var srcset : String - get() = noImpl - set(value) = noImpl - var sizes : String - get() = noImpl - set(value) = noImpl - var media : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLTrackElement : HTMLElement { - var kind : String - get() = noImpl - set(value) = noImpl - var src : String - get() = noImpl - set(value) = noImpl - var srclang : String - get() = noImpl - set(value) = noImpl - var label : String - get() = noImpl - set(value) = noImpl - var default : Boolean - get() = noImpl - set(value) = noImpl - var readyState : Short - get() = noImpl - set(value) = noImpl - var track : TextTrack - get() = noImpl - set(value) = noImpl - companion object { - val NONE : Short = 0 - val LOADING : Short = 1 - val LOADED : Short = 2 - val ERROR : Short = 3 - } -} -native trait HTMLMediaElement : HTMLElement { - var error : MediaError? - get() = noImpl - set(value) = noImpl - var src : String - get() = noImpl - set(value) = noImpl - var srcObject : dynamic - get() = noImpl - set(value) = noImpl - var currentSrc : String - get() = noImpl - set(value) = noImpl - var crossOrigin : String? - get() = noImpl - set(value) = noImpl - var networkState : Short - get() = noImpl - set(value) = noImpl - var preload : String - get() = noImpl - set(value) = noImpl - var buffered : TimeRanges - get() = noImpl - set(value) = noImpl - var readyState : Short - get() = noImpl - set(value) = noImpl - var seeking : Boolean - get() = noImpl - set(value) = noImpl - var currentTime : Double - get() = noImpl - set(value) = noImpl - var duration : Double - get() = noImpl - set(value) = noImpl - var paused : Boolean - get() = noImpl - set(value) = noImpl - var defaultPlaybackRate : Double - get() = noImpl - set(value) = noImpl - var playbackRate : Double - get() = noImpl - set(value) = noImpl - var played : TimeRanges - get() = noImpl - set(value) = noImpl - var seekable : TimeRanges - get() = noImpl - set(value) = noImpl - var ended : Boolean - get() = noImpl - set(value) = noImpl - var autoplay : Boolean - get() = noImpl - set(value) = noImpl - var loop : Boolean - get() = noImpl - set(value) = noImpl - var mediaGroup : String - get() = noImpl - set(value) = noImpl - var controller : MediaController? - get() = noImpl - set(value) = noImpl - var controls : Boolean - get() = noImpl - set(value) = noImpl - var volume : Double - get() = noImpl - set(value) = noImpl - var muted : Boolean - get() = noImpl - set(value) = noImpl - var defaultMuted : Boolean - get() = noImpl - set(value) = noImpl - var audioTracks : AudioTrackList - get() = noImpl - set(value) = noImpl - var videoTracks : VideoTrackList - get() = noImpl - set(value) = noImpl - var textTracks : TextTrackList - get() = noImpl - set(value) = noImpl - fun load() : Unit = noImpl - fun canPlayType(type : String) : String = noImpl - fun fastSeek(time : Double) : Unit = noImpl - fun getStartDate() : dynamic = noImpl - fun play() : Unit = noImpl - fun pause() : Unit = noImpl - fun addTextTrack(kind : String, label : String = "", language : String = "") : TextTrack = noImpl - companion object { - val NETWORK_EMPTY : Short = 0 - val NETWORK_IDLE : Short = 1 - val NETWORK_LOADING : Short = 2 - val NETWORK_NO_SOURCE : Short = 3 - val HAVE_NOTHING : Short = 0 - val HAVE_METADATA : Short = 1 - val HAVE_CURRENT_DATA : Short = 2 - val HAVE_FUTURE_DATA : Short = 3 - val HAVE_ENOUGH_DATA : Short = 4 - } -} -native trait MediaError { - var code : Short - get() = noImpl - set(value) = noImpl - companion object { - val MEDIA_ERR_ABORTED : Short = 1 - val MEDIA_ERR_NETWORK : Short = 2 - val MEDIA_ERR_DECODE : Short = 3 - val MEDIA_ERR_SRC_NOT_SUPPORTED : Short = 4 - } -} -native trait AudioTrackList : EventTarget { - var length : Int - get() = noImpl - set(value) = noImpl - var onchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onaddtrack : () -> Unit - get() = noImpl - set(value) = noImpl - var onremovetrack : () -> Unit - get() = noImpl - set(value) = noImpl - nativeGetter fun get(index : Int) : AudioTrack? = noImpl - fun getTrackById(id : String) : AudioTrack? = noImpl -} -native trait AudioTrack { - var id : String - get() = noImpl - set(value) = noImpl - var kind : String - get() = noImpl - set(value) = noImpl - var label : String - get() = noImpl - set(value) = noImpl - var language : String - get() = noImpl - set(value) = noImpl - var enabled : Boolean - get() = noImpl - set(value) = noImpl -} -native trait VideoTrackList : EventTarget { - var length : Int - get() = noImpl - set(value) = noImpl - var selectedIndex : Int - get() = noImpl - set(value) = noImpl - var onchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onaddtrack : () -> Unit - get() = noImpl - set(value) = noImpl - var onremovetrack : () -> Unit - get() = noImpl - set(value) = noImpl - nativeGetter fun get(index : Int) : VideoTrack? = noImpl - fun getTrackById(id : String) : VideoTrack? = noImpl -} -native trait VideoTrack { - var id : String - get() = noImpl - set(value) = noImpl - var kind : String - get() = noImpl - set(value) = noImpl - var label : String - get() = noImpl - set(value) = noImpl - var language : String - get() = noImpl - set(value) = noImpl - var selected : Boolean - get() = noImpl - set(value) = noImpl -} -native open class MediaController : EventTarget { - var readyState : Short - get() = noImpl - set(value) = noImpl - var buffered : TimeRanges - get() = noImpl - set(value) = noImpl - var seekable : TimeRanges - get() = noImpl - set(value) = noImpl - var duration : Double - get() = noImpl - set(value) = noImpl - var currentTime : Double - get() = noImpl - set(value) = noImpl - var paused : Boolean - get() = noImpl - set(value) = noImpl - var playbackState : String - get() = noImpl - set(value) = noImpl - var played : TimeRanges - get() = noImpl - set(value) = noImpl - var defaultPlaybackRate : Double - get() = noImpl - set(value) = noImpl - var playbackRate : Double - get() = noImpl - set(value) = noImpl - var volume : Double - get() = noImpl - set(value) = noImpl - var muted : Boolean - get() = noImpl - set(value) = noImpl - var onemptied : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadedmetadata : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadeddata : () -> Unit - get() = noImpl - set(value) = noImpl - var oncanplay : () -> Unit - get() = noImpl - set(value) = noImpl - var oncanplaythrough : () -> Unit - get() = noImpl - set(value) = noImpl - var onplaying : () -> Unit - get() = noImpl - set(value) = noImpl - var onended : () -> Unit - get() = noImpl - set(value) = noImpl - var onwaiting : () -> Unit - get() = noImpl - set(value) = noImpl - var ondurationchange : () -> Unit - get() = noImpl - set(value) = noImpl - var ontimeupdate : () -> Unit - get() = noImpl - set(value) = noImpl - var onplay : () -> Unit - get() = noImpl - set(value) = noImpl - var onpause : () -> Unit - get() = noImpl - set(value) = noImpl - var onratechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onvolumechange : () -> Unit - get() = noImpl - set(value) = noImpl - fun pause() : Unit = noImpl - fun unpause() : Unit = noImpl - fun play() : Unit = noImpl -} -native trait TextTrackList : EventTarget { - var length : Int - get() = noImpl - set(value) = noImpl - var onchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onaddtrack : () -> Unit - get() = noImpl - set(value) = noImpl - var onremovetrack : () -> Unit - get() = noImpl - set(value) = noImpl - nativeGetter fun get(index : Int) : TextTrack? = noImpl - fun getTrackById(id : String) : TextTrack? = noImpl -} -native trait TextTrack : EventTarget { - var kind : String - get() = noImpl - set(value) = noImpl - var label : String - get() = noImpl - set(value) = noImpl - var language : String - get() = noImpl - set(value) = noImpl - var id : String - get() = noImpl - set(value) = noImpl - var inBandMetadataTrackDispatchType : String - get() = noImpl - set(value) = noImpl - var mode : String - get() = noImpl - set(value) = noImpl - var cues : TextTrackCueList? - get() = noImpl - set(value) = noImpl - var activeCues : TextTrackCueList? - get() = noImpl - set(value) = noImpl - var oncuechange : () -> Unit - get() = noImpl - set(value) = noImpl - fun addCue(cue : TextTrackCue) : Unit = noImpl - fun removeCue(cue : TextTrackCue) : Unit = noImpl -} -native trait TextTrackCueList { - var length : Int - get() = noImpl - set(value) = noImpl - nativeGetter fun get(index : Int) : TextTrackCue? = noImpl - fun getCueById(id : String) : TextTrackCue? = noImpl -} -native trait TextTrackCue : EventTarget { - var track : TextTrack? - get() = noImpl - set(value) = noImpl - var id : String - get() = noImpl - set(value) = noImpl - var startTime : Double - get() = noImpl - set(value) = noImpl - var endTime : Double - get() = noImpl - set(value) = noImpl - var pauseOnExit : Boolean - get() = noImpl - set(value) = noImpl - var onenter : () -> Unit - get() = noImpl - set(value) = noImpl - var onexit : () -> Unit - get() = noImpl - set(value) = noImpl -} -native trait TimeRanges { - var length : Int - get() = noImpl - set(value) = noImpl - fun start(index : Int) : Double = noImpl - fun end(index : Int) : Double = noImpl -} -native open class TrackEvent(type : String, eventInitDict : TrackEventInit = noImpl) : Event(type, eventInitDict) { - var track : dynamic - get() = noImpl - set(value) = noImpl -} -native open class TrackEventInit : EventInit() { - var track : dynamic -} -native trait HTMLMapElement : HTMLElement { - var name : String - get() = noImpl - set(value) = noImpl - var areas : HTMLCollection - get() = noImpl - set(value) = noImpl - var images : HTMLCollection - get() = noImpl - set(value) = noImpl -} -native trait HTMLAreaElement : HTMLElement { - var alt : String - get() = noImpl - set(value) = noImpl - var coords : String - get() = noImpl - set(value) = noImpl - var shape : String - get() = noImpl - set(value) = noImpl - var target : String - get() = noImpl - set(value) = noImpl - var download : String - get() = noImpl - set(value) = noImpl - var ping : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var rel : String - get() = noImpl - set(value) = noImpl - var relList : DOMTokenList - get() = noImpl - set(value) = noImpl - var hreflang : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var noHref : Boolean - get() = noImpl - set(value) = noImpl -} -native trait HTMLTableElement : HTMLElement { - var caption : HTMLTableCaptionElement? - get() = noImpl - set(value) = noImpl - var tHead : HTMLTableSectionElement? - get() = noImpl - set(value) = noImpl - var tFoot : HTMLTableSectionElement? - get() = noImpl - set(value) = noImpl - var tBodies : HTMLCollection - get() = noImpl - set(value) = noImpl - var rows : HTMLCollection - get() = noImpl - set(value) = noImpl - var sortable : Boolean - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var border : String - get() = noImpl - set(value) = noImpl - var frame : String - get() = noImpl - set(value) = noImpl - var rules : String - get() = noImpl - set(value) = noImpl - var summary : String - get() = noImpl - set(value) = noImpl - var width : String - get() = noImpl - set(value) = noImpl - var bgColor : String - get() = noImpl - set(value) = noImpl - var cellPadding : String - get() = noImpl - set(value) = noImpl - var cellSpacing : String - get() = noImpl - set(value) = noImpl - fun createCaption() : HTMLElement = noImpl - fun deleteCaption() : Unit = noImpl - fun createTHead() : HTMLElement = noImpl - fun deleteTHead() : Unit = noImpl - fun createTFoot() : HTMLElement = noImpl - fun deleteTFoot() : Unit = noImpl - fun createTBody() : HTMLElement = noImpl - fun insertRow(index : Int = -1) : HTMLElement = noImpl - fun deleteRow(index : Int) : Unit = noImpl - fun stopSorting() : Unit = noImpl -} -native trait HTMLTableCaptionElement : HTMLElement { - var align : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLTableColElement : HTMLElement { - var span : Int - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var ch : String - get() = noImpl - set(value) = noImpl - var chOff : String - get() = noImpl - set(value) = noImpl - var vAlign : String - get() = noImpl - set(value) = noImpl - var width : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLTableSectionElement : HTMLElement { - var rows : HTMLCollection - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var ch : String - get() = noImpl - set(value) = noImpl - var chOff : String - get() = noImpl - set(value) = noImpl - var vAlign : String - get() = noImpl - set(value) = noImpl - fun insertRow(index : Int = -1) : HTMLElement = noImpl - fun deleteRow(index : Int) : Unit = noImpl -} -native trait HTMLTableRowElement : HTMLElement { - var rowIndex : Int - get() = noImpl - set(value) = noImpl - var sectionRowIndex : Int - get() = noImpl - set(value) = noImpl - var cells : HTMLCollection - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var ch : String - get() = noImpl - set(value) = noImpl - var chOff : String - get() = noImpl - set(value) = noImpl - var vAlign : String - get() = noImpl - set(value) = noImpl - var bgColor : String - get() = noImpl - set(value) = noImpl - fun insertCell(index : Int = -1) : HTMLElement = noImpl - fun deleteCell(index : Int) : Unit = noImpl -} -native trait HTMLTableDataCellElement : HTMLTableCellElement { - var abbr : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLTableHeaderCellElement : HTMLTableCellElement { - var scope : String - get() = noImpl - set(value) = noImpl - var abbr : String - get() = noImpl - set(value) = noImpl - var sorted : String - get() = noImpl - set(value) = noImpl - fun sort() : Unit = noImpl -} -native trait HTMLTableCellElement : HTMLElement { - var colSpan : Int - get() = noImpl - set(value) = noImpl - var rowSpan : Int - get() = noImpl - set(value) = noImpl - var headers : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var cellIndex : Int - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var axis : String - get() = noImpl - set(value) = noImpl - var height : String - get() = noImpl - set(value) = noImpl - var width : String - get() = noImpl - set(value) = noImpl - var ch : String - get() = noImpl - set(value) = noImpl - var chOff : String - get() = noImpl - set(value) = noImpl - var noWrap : Boolean - get() = noImpl - set(value) = noImpl - var vAlign : String - get() = noImpl - set(value) = noImpl - var bgColor : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLFormElement : HTMLElement { - var acceptCharset : String - get() = noImpl - set(value) = noImpl - var action : String - get() = noImpl - set(value) = noImpl - var autocomplete : String - get() = noImpl - set(value) = noImpl - var enctype : String - get() = noImpl - set(value) = noImpl - var encoding : String - get() = noImpl - set(value) = noImpl - var method : String - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var noValidate : Boolean - get() = noImpl - set(value) = noImpl - var target : String - get() = noImpl - set(value) = noImpl - var elements : HTMLFormControlsCollection - get() = noImpl - set(value) = noImpl - var length : Int - get() = noImpl - set(value) = noImpl - nativeGetter fun get(index : Int) : Element? = noImpl - nativeGetter fun get(name : String) : dynamic = noImpl - fun submit() : Unit = noImpl - fun reset() : Unit = noImpl - fun checkValidity() : Boolean = noImpl - fun reportValidity() : Boolean = noImpl - fun requestAutocomplete() : Unit = noImpl -} -native trait HTMLLabelElement : HTMLElement { - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var htmlFor : String - get() = noImpl - set(value) = noImpl - var control : HTMLElement? - get() = noImpl - set(value) = noImpl -} -native trait HTMLInputElement : HTMLElement { - var accept : String - get() = noImpl - set(value) = noImpl - var alt : String - get() = noImpl - set(value) = noImpl - var autocomplete : String - get() = noImpl - set(value) = noImpl - var autofocus : Boolean - get() = noImpl - set(value) = noImpl - var defaultChecked : Boolean - get() = noImpl - set(value) = noImpl - var checked : Boolean - get() = noImpl - set(value) = noImpl - var dirName : String - get() = noImpl - set(value) = noImpl - var disabled : Boolean - get() = noImpl - set(value) = noImpl - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var files : FileList? - get() = noImpl - set(value) = noImpl - var formAction : String - get() = noImpl - set(value) = noImpl - var formEnctype : String - get() = noImpl - set(value) = noImpl - var formMethod : String - get() = noImpl - set(value) = noImpl - var formNoValidate : Boolean - get() = noImpl - set(value) = noImpl - var formTarget : String - get() = noImpl - set(value) = noImpl - var height : Int - get() = noImpl - set(value) = noImpl - var indeterminate : Boolean - get() = noImpl - set(value) = noImpl - var inputMode : String - get() = noImpl - set(value) = noImpl - var list : HTMLElement? - get() = noImpl - set(value) = noImpl - var max : String - get() = noImpl - set(value) = noImpl - var maxLength : Int - get() = noImpl - set(value) = noImpl - var min : String - get() = noImpl - set(value) = noImpl - var minLength : Int - get() = noImpl - set(value) = noImpl - var multiple : Boolean - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var pattern : String - get() = noImpl - set(value) = noImpl - var placeholder : String - get() = noImpl - set(value) = noImpl - var readOnly : Boolean - get() = noImpl - set(value) = noImpl - var required : Boolean - get() = noImpl - set(value) = noImpl - var size : Int - get() = noImpl - set(value) = noImpl - var src : String - get() = noImpl - set(value) = noImpl - var step : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var defaultValue : String - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl - var valueAsDate : dynamic - get() = noImpl - set(value) = noImpl - var valueAsNumber : Double - get() = noImpl - set(value) = noImpl - var valueLow : Double - get() = noImpl - set(value) = noImpl - var valueHigh : Double - get() = noImpl - set(value) = noImpl - var width : Int - get() = noImpl - set(value) = noImpl - var willValidate : Boolean - get() = noImpl - set(value) = noImpl - var validity : ValidityState - get() = noImpl - set(value) = noImpl - var validationMessage : String - get() = noImpl - set(value) = noImpl - var labels : NodeList - get() = noImpl - set(value) = noImpl - var selectionStart : Int - get() = noImpl - set(value) = noImpl - var selectionEnd : Int - get() = noImpl - set(value) = noImpl - var selectionDirection : String - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var useMap : String - get() = noImpl - set(value) = noImpl - fun stepUp(n : Int = 1) : Unit = noImpl - fun stepDown(n : Int = 1) : Unit = noImpl - fun checkValidity() : Boolean = noImpl - fun reportValidity() : Boolean = noImpl - fun setCustomValidity(error : String) : Unit = noImpl - fun select() : Unit = noImpl - fun setRangeText(replacement : String) : Unit = noImpl - fun setRangeText(replacement : String, start : Int, end : Int, selectionMode : String = "preserve") : Unit = noImpl - fun setSelectionRange(start : Int, end : Int, direction : String = noImpl) : Unit = noImpl -} -native trait HTMLButtonElement : HTMLElement { - var autofocus : Boolean - get() = noImpl - set(value) = noImpl - var disabled : Boolean - get() = noImpl - set(value) = noImpl - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var formAction : String - get() = noImpl - set(value) = noImpl - var formEnctype : String - get() = noImpl - set(value) = noImpl - var formMethod : String - get() = noImpl - set(value) = noImpl - var formNoValidate : Boolean - get() = noImpl - set(value) = noImpl - var formTarget : String - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl - var menu : HTMLMenuElement? - get() = noImpl - set(value) = noImpl - var willValidate : Boolean - get() = noImpl - set(value) = noImpl - var validity : ValidityState - get() = noImpl - set(value) = noImpl - var validationMessage : String - get() = noImpl - set(value) = noImpl - var labels : NodeList - get() = noImpl - set(value) = noImpl - fun checkValidity() : Boolean = noImpl - fun reportValidity() : Boolean = noImpl - fun setCustomValidity(error : String) : Unit = noImpl -} -native trait HTMLSelectElement : HTMLElement { - var autocomplete : String - get() = noImpl - set(value) = noImpl - var autofocus : Boolean - get() = noImpl - set(value) = noImpl - var disabled : Boolean - get() = noImpl - set(value) = noImpl - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var multiple : Boolean - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var required : Boolean - get() = noImpl - set(value) = noImpl - var size : Int - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var options : HTMLOptionsCollection - get() = noImpl - set(value) = noImpl - var length : Int - get() = noImpl - set(value) = noImpl - var selectedOptions : HTMLCollection - get() = noImpl - set(value) = noImpl - var selectedIndex : Int - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl - var willValidate : Boolean - get() = noImpl - set(value) = noImpl - var validity : ValidityState - get() = noImpl - set(value) = noImpl - var validationMessage : String - get() = noImpl - set(value) = noImpl - var labels : NodeList - get() = noImpl - set(value) = noImpl - fun item(index : Int) : Element? = noImpl - nativeGetter fun get(index : Int) : Element? = noImpl - fun namedItem(name : String) : HTMLOptionElement? = noImpl - fun add(element : UnionHTMLOptGroupElementOrHTMLOptionElement, before : dynamic = null) : Unit = noImpl - fun remove(index : Int) : Unit = noImpl - fun set(index : Int, option : HTMLOptionElement?) : Unit? = noImpl - fun checkValidity() : Boolean = noImpl - fun reportValidity() : Boolean = noImpl - fun setCustomValidity(error : String) : Unit = noImpl -} -native trait HTMLDataListElement : HTMLElement { - var options : HTMLCollection - get() = noImpl - set(value) = noImpl -} -native trait HTMLOptGroupElement : HTMLElement, UnionHTMLOptGroupElementOrHTMLOptionElement { - var disabled : Boolean - get() = noImpl - set(value) = noImpl - var label : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLOptionElement : HTMLElement, UnionHTMLOptGroupElementOrHTMLOptionElement { - var disabled : Boolean - get() = noImpl - set(value) = noImpl - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var label : String - get() = noImpl - set(value) = noImpl - var defaultSelected : Boolean - get() = noImpl - set(value) = noImpl - var selected : Boolean - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl - var text : String - get() = noImpl - set(value) = noImpl - var index : Int - get() = noImpl - set(value) = noImpl -} -native trait HTMLTextAreaElement : HTMLElement { - var autocomplete : String - get() = noImpl - set(value) = noImpl - var autofocus : Boolean - get() = noImpl - set(value) = noImpl - var cols : Int - get() = noImpl - set(value) = noImpl - var dirName : String - get() = noImpl - set(value) = noImpl - var disabled : Boolean - get() = noImpl - set(value) = noImpl - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var inputMode : String - get() = noImpl - set(value) = noImpl - var maxLength : Int - get() = noImpl - set(value) = noImpl - var minLength : Int - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var placeholder : String - get() = noImpl - set(value) = noImpl - var readOnly : Boolean - get() = noImpl - set(value) = noImpl - var required : Boolean - get() = noImpl - set(value) = noImpl - var rows : Int - get() = noImpl - set(value) = noImpl - var wrap : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var defaultValue : String - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl - var textLength : Int - get() = noImpl - set(value) = noImpl - var willValidate : Boolean - get() = noImpl - set(value) = noImpl - var validity : ValidityState - get() = noImpl - set(value) = noImpl - var validationMessage : String - get() = noImpl - set(value) = noImpl - var labels : NodeList - get() = noImpl - set(value) = noImpl - var selectionStart : Int - get() = noImpl - set(value) = noImpl - var selectionEnd : Int - get() = noImpl - set(value) = noImpl - var selectionDirection : String - get() = noImpl - set(value) = noImpl - fun checkValidity() : Boolean = noImpl - fun reportValidity() : Boolean = noImpl - fun setCustomValidity(error : String) : Unit = noImpl - fun select() : Unit = noImpl - fun setRangeText(replacement : String) : Unit = noImpl - fun setRangeText(replacement : String, start : Int, end : Int, selectionMode : String = "preserve") : Unit = noImpl - fun setSelectionRange(start : Int, end : Int, direction : String = noImpl) : Unit = noImpl -} -native trait HTMLKeygenElement : HTMLElement { - var autofocus : Boolean - get() = noImpl - set(value) = noImpl - var challenge : String - get() = noImpl - set(value) = noImpl - var disabled : Boolean - get() = noImpl - set(value) = noImpl - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var keytype : String - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var willValidate : Boolean - get() = noImpl - set(value) = noImpl - var validity : ValidityState - get() = noImpl - set(value) = noImpl - var validationMessage : String - get() = noImpl - set(value) = noImpl - var labels : NodeList - get() = noImpl - set(value) = noImpl - fun checkValidity() : Boolean = noImpl - fun reportValidity() : Boolean = noImpl - fun setCustomValidity(error : String) : Unit = noImpl -} -native trait HTMLOutputElement : HTMLElement { - var htmlFor : DOMSettableTokenList - get() = noImpl - set(value) = noImpl - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var defaultValue : String - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl - var willValidate : Boolean - get() = noImpl - set(value) = noImpl - var validity : ValidityState - get() = noImpl - set(value) = noImpl - var validationMessage : String - get() = noImpl - set(value) = noImpl - var labels : NodeList - get() = noImpl - set(value) = noImpl - fun checkValidity() : Boolean = noImpl - fun reportValidity() : Boolean = noImpl - fun setCustomValidity(error : String) : Unit = noImpl -} -native trait HTMLProgressElement : HTMLElement { - var value : Double - get() = noImpl - set(value) = noImpl - var max : Double - get() = noImpl - set(value) = noImpl - var position : Double - get() = noImpl - set(value) = noImpl - var labels : NodeList - get() = noImpl - set(value) = noImpl -} -native trait HTMLMeterElement : HTMLElement { - var value : Double - get() = noImpl - set(value) = noImpl - var min : Double - get() = noImpl - set(value) = noImpl - var max : Double - get() = noImpl - set(value) = noImpl - var low : Double - get() = noImpl - set(value) = noImpl - var high : Double - get() = noImpl - set(value) = noImpl - var optimum : Double - get() = noImpl - set(value) = noImpl - var labels : NodeList - get() = noImpl - set(value) = noImpl -} -native trait HTMLFieldSetElement : HTMLElement { - var disabled : Boolean - get() = noImpl - set(value) = noImpl - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var elements : HTMLFormControlsCollection - get() = noImpl - set(value) = noImpl - var willValidate : Boolean - get() = noImpl - set(value) = noImpl - var validity : ValidityState - get() = noImpl - set(value) = noImpl - var validationMessage : String - get() = noImpl - set(value) = noImpl - fun checkValidity() : Boolean = noImpl - fun reportValidity() : Boolean = noImpl - fun setCustomValidity(error : String) : Unit = noImpl -} -native trait HTMLLegendElement : HTMLElement { - var form : HTMLFormElement? - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl -} -native open class AutocompleteErrorEvent(type : String, eventInitDict : AutocompleteErrorEventInit = noImpl) : Event(type, eventInitDict) { - var reason : String - get() = noImpl - set(value) = noImpl -} -native open class AutocompleteErrorEventInit : EventInit() { - var reason : dynamic -} -native trait ValidityState { - var valueMissing : Boolean - get() = noImpl - set(value) = noImpl - var typeMismatch : Boolean - get() = noImpl - set(value) = noImpl - var patternMismatch : Boolean - get() = noImpl - set(value) = noImpl - var tooLong : Boolean - get() = noImpl - set(value) = noImpl - var tooShort : Boolean - get() = noImpl - set(value) = noImpl - var rangeUnderflow : Boolean - get() = noImpl - set(value) = noImpl - var rangeOverflow : Boolean - get() = noImpl - set(value) = noImpl - var stepMismatch : Boolean - get() = noImpl - set(value) = noImpl - var badInput : Boolean - get() = noImpl - set(value) = noImpl - var customError : Boolean - get() = noImpl - set(value) = noImpl - var valid : Boolean - get() = noImpl - set(value) = noImpl -} -native trait HTMLDetailsElement : HTMLElement { - var open : Boolean - get() = noImpl - set(value) = noImpl -} -native trait HTMLMenuElement : HTMLElement { - var type : String - get() = noImpl - set(value) = noImpl - var label : String - get() = noImpl - set(value) = noImpl - var compact : Boolean - get() = noImpl - set(value) = noImpl -} -native trait HTMLMenuItemElement : HTMLElement { - var type : String - get() = noImpl - set(value) = noImpl - var label : String - get() = noImpl - set(value) = noImpl - var icon : String - get() = noImpl - set(value) = noImpl - var disabled : Boolean - get() = noImpl - set(value) = noImpl - var checked : Boolean - get() = noImpl - set(value) = noImpl - var radiogroup : String - get() = noImpl - set(value) = noImpl - var default : Boolean - get() = noImpl - set(value) = noImpl - var command : HTMLElement? - get() = noImpl - set(value) = noImpl -} -native open class RelatedEvent(type : String, eventInitDict : RelatedEventInit = noImpl) : Event(type, eventInitDict) { - var relatedTarget : EventTarget? - get() = noImpl - set(value) = noImpl -} -native open class RelatedEventInit : EventInit() { - var relatedTarget : dynamic -} -native trait HTMLDialogElement : HTMLElement { - var open : Boolean - get() = noImpl - set(value) = noImpl - var returnValue : String - get() = noImpl - set(value) = noImpl - fun show(anchor : UnionElementOrMouseEvent = noImpl) : Unit = noImpl - fun showModal(anchor : UnionElementOrMouseEvent = noImpl) : Unit = noImpl - fun close(returnValue : String = noImpl) : Unit = noImpl -} -native trait HTMLScriptElement : HTMLElement { - var src : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var charset : String - get() = noImpl - set(value) = noImpl - var async : Boolean - get() = noImpl - set(value) = noImpl - var defer : Boolean - get() = noImpl - set(value) = noImpl - var crossOrigin : String? - get() = noImpl - set(value) = noImpl - var text : String - get() = noImpl - set(value) = noImpl - var event : String - get() = noImpl - set(value) = noImpl - var htmlFor : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLTemplateElement : HTMLElement { - var content : DocumentFragment - get() = noImpl - set(value) = noImpl -} -native trait HTMLCanvasElement : HTMLElement, CanvasImageSource, ImageBitmapSource { - var width : Int - get() = noImpl - set(value) = noImpl - var height : Int - get() = noImpl - set(value) = noImpl - fun getContext(contextId : String, vararg arguments : Any) : RenderingContext? = noImpl - fun probablySupportsContext(contextId : String, vararg arguments : Any) : Boolean = noImpl - fun setContext(context : RenderingContext) : Unit = noImpl - fun transferControlToProxy() : CanvasProxy = noImpl - fun toDataURL(type : String = noImpl, vararg arguments : Any) : String = noImpl - fun toBlob(_callback : () -> Unit?, type : String = noImpl, vararg arguments : Any) : Unit = noImpl -} -native trait CanvasProxy { - fun setContext(context : RenderingContext) : Unit = noImpl -} -native open class CanvasRenderingContext2DSettings { - var alpha : dynamic = true -} -native open class CanvasRenderingContext2D : RenderingContext, CanvasImageSource, ImageBitmapSource { - var canvas : HTMLCanvasElement - get() = noImpl - set(value) = noImpl - var width : Int - get() = noImpl - set(value) = noImpl - var height : Int - get() = noImpl - set(value) = noImpl - var currentTransform : dynamic - get() = noImpl - set(value) = noImpl - var globalAlpha : Double - get() = noImpl - set(value) = noImpl - var globalCompositeOperation : String - get() = noImpl - set(value) = noImpl - var imageSmoothingEnabled : Boolean - get() = noImpl - set(value) = noImpl - var strokeStyle : dynamic - get() = noImpl - set(value) = noImpl - var fillStyle : dynamic - get() = noImpl - set(value) = noImpl - var shadowOffsetX : Double - get() = noImpl - set(value) = noImpl - var shadowOffsetY : Double - get() = noImpl - set(value) = noImpl - var shadowBlur : Double - get() = noImpl - set(value) = noImpl - var shadowColor : String - get() = noImpl - set(value) = noImpl - var lineWidth : Double - get() = noImpl - set(value) = noImpl - var lineCap : String - get() = noImpl - set(value) = noImpl - var lineJoin : String - get() = noImpl - set(value) = noImpl - var miterLimit : Double - get() = noImpl - set(value) = noImpl - var lineDashOffset : Double - get() = noImpl - set(value) = noImpl - var font : String - get() = noImpl - set(value) = noImpl - var textAlign : String - get() = noImpl - set(value) = noImpl - var textBaseline : String - get() = noImpl - set(value) = noImpl - var direction : String - get() = noImpl - set(value) = noImpl - fun commit() : Unit = noImpl - fun save() : Unit = noImpl - fun restore() : Unit = noImpl - fun scale(x : Double, y : Double) : Unit = noImpl - fun rotate(angle : Double) : Unit = noImpl - fun translate(x : Double, y : Double) : Unit = noImpl - fun transform(a : Double, b : Double, c : Double, d : Double, e : Double, f : Double) : Unit = noImpl - fun setTransform(a : Double, b : Double, c : Double, d : Double, e : Double, f : Double) : Unit = noImpl - fun resetTransform() : Unit = noImpl - fun createLinearGradient(x0 : Double, y0 : Double, x1 : Double, y1 : Double) : CanvasGradient = noImpl - fun createRadialGradient(x0 : Double, y0 : Double, r0 : Double, x1 : Double, y1 : Double, r1 : Double) : CanvasGradient = noImpl - fun createPattern(image : CanvasImageSource, repetition : String) : CanvasPattern = noImpl - fun clearRect(x : Double, y : Double, w : Double, h : Double) : Unit = noImpl - fun fillRect(x : Double, y : Double, w : Double, h : Double) : Unit = noImpl - fun strokeRect(x : Double, y : Double, w : Double, h : Double) : Unit = noImpl - fun beginPath() : Unit = noImpl - fun fill(fillRule : String = "nonzero") : Unit = noImpl - fun fill(path : Path2D, fillRule : String = "nonzero") : Unit = noImpl - fun stroke() : Unit = noImpl - fun stroke(path : Path2D) : Unit = noImpl - fun drawFocusIfNeeded(element : Element) : Unit = noImpl - fun drawFocusIfNeeded(path : Path2D, element : Element) : Unit = noImpl - fun scrollPathIntoView() : Unit = noImpl - fun scrollPathIntoView(path : Path2D) : Unit = noImpl - fun clip(fillRule : String = "nonzero") : Unit = noImpl - fun clip(path : Path2D, fillRule : String = "nonzero") : Unit = noImpl - fun resetClip() : Unit = noImpl - fun isPointInPath(x : Double, y : Double, fillRule : String = "nonzero") : Boolean = noImpl - fun isPointInPath(path : Path2D, x : Double, y : Double, fillRule : String = "nonzero") : Boolean = noImpl - fun isPointInStroke(x : Double, y : Double) : Boolean = noImpl - fun isPointInStroke(path : Path2D, x : Double, y : Double) : Boolean = noImpl - fun fillText(text : String, x : Double, y : Double, maxWidth : Double = noImpl) : Unit = noImpl - fun strokeText(text : String, x : Double, y : Double, maxWidth : Double = noImpl) : Unit = noImpl - fun measureText(text : String) : TextMetrics = noImpl - fun drawImage(image : CanvasImageSource, dx : Double, dy : Double) : Unit = noImpl - fun drawImage(image : CanvasImageSource, dx : Double, dy : Double, dw : Double, dh : Double) : Unit = noImpl - fun drawImage(image : CanvasImageSource, sx : Double, sy : Double, sw : Double, sh : Double, dx : Double, dy : Double, dw : Double, dh : Double) : Unit = noImpl - fun addHitRegion(options : HitRegionOptions = noImpl) : Unit = noImpl - fun removeHitRegion(id : String) : Unit = noImpl - fun clearHitRegions() : Unit = noImpl - fun createImageData(sw : Double, sh : Double) : ImageData = noImpl - fun createImageData(imagedata : ImageData) : ImageData = noImpl - fun getImageData(sx : Double, sy : Double, sw : Double, sh : Double) : ImageData = noImpl - fun putImageData(imagedata : ImageData, dx : Double, dy : Double) : Unit = noImpl - fun putImageData(imagedata : ImageData, dx : Double, dy : Double, dirtyX : Double, dirtyY : Double, dirtyWidth : Double, dirtyHeight : Double) : Unit = noImpl - fun setLineDash(segments : Any) : Unit = noImpl - fun getLineDash() : Any = noImpl - fun closePath() : Unit = noImpl - fun moveTo(x : Double, y : Double) : Unit = noImpl - fun lineTo(x : Double, y : Double) : Unit = noImpl - fun quadraticCurveTo(cpx : Double, cpy : Double, x : Double, y : Double) : Unit = noImpl - fun bezierCurveTo(cp1x : Double, cp1y : Double, cp2x : Double, cp2y : Double, x : Double, y : Double) : Unit = noImpl - fun arcTo(x1 : Double, y1 : Double, x2 : Double, y2 : Double, radius : Double) : Unit = noImpl - fun arcTo(x1 : Double, y1 : Double, x2 : Double, y2 : Double, radiusX : Double, radiusY : Double, rotation : Double) : Unit = noImpl - fun rect(x : Double, y : Double, w : Double, h : Double) : Unit = noImpl - fun arc(x : Double, y : Double, radius : Double, startAngle : Double, endAngle : Double, anticlockwise : Boolean = false) : Unit = noImpl - fun ellipse(x : Double, y : Double, radiusX : Double, radiusY : Double, rotation : Double, startAngle : Double, endAngle : Double, anticlockwise : Boolean = false) : Unit = noImpl -} -native trait CanvasGradient { - fun addColorStop(offset : Double, color : String) : Unit = noImpl -} -native trait CanvasPattern { - fun setTransform(transform : dynamic) : Unit = noImpl -} -native trait TextMetrics { - var width : Double - get() = noImpl - set(value) = noImpl - var actualBoundingBoxLeft : Double - get() = noImpl - set(value) = noImpl - var actualBoundingBoxRight : Double - get() = noImpl - set(value) = noImpl - var fontBoundingBoxAscent : Double - get() = noImpl - set(value) = noImpl - var fontBoundingBoxDescent : Double - get() = noImpl - set(value) = noImpl - var actualBoundingBoxAscent : Double - get() = noImpl - set(value) = noImpl - var actualBoundingBoxDescent : Double - get() = noImpl - set(value) = noImpl - var emHeightAscent : Double - get() = noImpl - set(value) = noImpl - var emHeightDescent : Double - get() = noImpl - set(value) = noImpl - var hangingBaseline : Double - get() = noImpl - set(value) = noImpl - var alphabeticBaseline : Double - get() = noImpl - set(value) = noImpl - var ideographicBaseline : Double - get() = noImpl - set(value) = noImpl -} -native open class HitRegionOptions { - var path : dynamic = null - var fillRule : dynamic = "nonzero" - var id : dynamic = "" - var parentID : dynamic = null - var cursor : dynamic = "inherit" - var control : dynamic = null - var label : dynamic = null - var role : dynamic = null -} -native open class ImageData(sw : Int, sh : Int) : ImageBitmapSource { - var width : Int - get() = noImpl - set(value) = noImpl - var height : Int - get() = noImpl - set(value) = noImpl - var data : dynamic - get() = noImpl - set(value) = noImpl -} -native open class DrawingStyle(scope : Element = noImpl) { - var lineWidth : Double - get() = noImpl - set(value) = noImpl - var lineCap : String - get() = noImpl - set(value) = noImpl - var lineJoin : String - get() = noImpl - set(value) = noImpl - var miterLimit : Double - get() = noImpl - set(value) = noImpl - var lineDashOffset : Double - get() = noImpl - set(value) = noImpl - var font : String - get() = noImpl - set(value) = noImpl - var textAlign : String - get() = noImpl - set(value) = noImpl - var textBaseline : String - get() = noImpl - set(value) = noImpl - var direction : String - get() = noImpl - set(value) = noImpl - fun setLineDash(segments : Any) : Unit = noImpl - fun getLineDash() : Any = noImpl -} -native open class Path2D { - fun addPath(path : Path2D, transformation : dynamic = null) : Unit = noImpl - fun addPathByStrokingPath(path : Path2D, styles : dynamic, transformation : dynamic = null) : Unit = noImpl - fun addText(text : String, styles : dynamic, transformation : dynamic, x : Double, y : Double, maxWidth : Double = noImpl) : Unit = noImpl - fun addPathByStrokingText(text : String, styles : dynamic, transformation : dynamic, x : Double, y : Double, maxWidth : Double = noImpl) : Unit = noImpl - fun addText(text : String, styles : dynamic, transformation : dynamic, path : Path2D, maxWidth : Double = noImpl) : Unit = noImpl - fun addPathByStrokingText(text : String, styles : dynamic, transformation : dynamic, path : Path2D, maxWidth : Double = noImpl) : Unit = noImpl - fun closePath() : Unit = noImpl - fun moveTo(x : Double, y : Double) : Unit = noImpl - fun lineTo(x : Double, y : Double) : Unit = noImpl - fun quadraticCurveTo(cpx : Double, cpy : Double, x : Double, y : Double) : Unit = noImpl - fun bezierCurveTo(cp1x : Double, cp1y : Double, cp2x : Double, cp2y : Double, x : Double, y : Double) : Unit = noImpl - fun arcTo(x1 : Double, y1 : Double, x2 : Double, y2 : Double, radius : Double) : Unit = noImpl - fun arcTo(x1 : Double, y1 : Double, x2 : Double, y2 : Double, radiusX : Double, radiusY : Double, rotation : Double) : Unit = noImpl - fun rect(x : Double, y : Double, w : Double, h : Double) : Unit = noImpl - fun arc(x : Double, y : Double, radius : Double, startAngle : Double, endAngle : Double, anticlockwise : Boolean = false) : Unit = noImpl - fun ellipse(x : Double, y : Double, radiusX : Double, radiusY : Double, rotation : Double, startAngle : Double, endAngle : Double, anticlockwise : Boolean = false) : Unit = noImpl -} -native open class MouseEvent(typeArg : String, mouseEventInitDict : MouseEventInit = noImpl) : UIEvent(noImpl, noImpl), UnionElementOrMouseEvent { - var region : String? - get() = noImpl - set(value) = noImpl - var screenX : Int - get() = noImpl - set(value) = noImpl - var screenY : Int - get() = noImpl - set(value) = noImpl - var clientX : Int - get() = noImpl - set(value) = noImpl - var clientY : Int - get() = noImpl - set(value) = noImpl - var ctrlKey : Boolean - get() = noImpl - set(value) = noImpl - var shiftKey : Boolean - get() = noImpl - set(value) = noImpl - var altKey : Boolean - get() = noImpl - set(value) = noImpl - var metaKey : Boolean - get() = noImpl - set(value) = noImpl - var button : Short - get() = noImpl - set(value) = noImpl - var relatedTarget : EventTarget? - get() = noImpl - set(value) = noImpl - var buttons : Short - get() = noImpl - set(value) = noImpl - fun getModifierState(keyArg : String) : Boolean = noImpl - fun initMouseEvent(typeArg : String, bubblesArg : Boolean, cancelableArg : Boolean, viewArg : Window?, detailArg : Int, screenXArg : Int, screenYArg : Int, clientXArg : Int, clientYArg : Int, ctrlKeyArg : Boolean, altKeyArg : Boolean, shiftKeyArg : Boolean, metaKeyArg : Boolean, buttonArg : Short, relatedTargetArg : EventTarget?) : Unit = noImpl -} -native trait Touch { - var region : String? - get() = noImpl - set(value) = noImpl -} -native trait DataTransfer { - var dropEffect : String - get() = noImpl - set(value) = noImpl - var effectAllowed : String - get() = noImpl - set(value) = noImpl - var items : DataTransferItemList - get() = noImpl - set(value) = noImpl - var types : dynamic - get() = noImpl - set(value) = noImpl - var files : FileList - get() = noImpl - set(value) = noImpl - fun setDragImage(image : Element, x : Int, y : Int) : Unit = noImpl - fun getData(format : String) : String = noImpl - fun setData(format : String, data : String) : Unit = noImpl - fun clearData(format : String = noImpl) : Unit = noImpl -} -native trait DataTransferItemList { - var length : Int - get() = noImpl - set(value) = noImpl - nativeGetter fun get(index : Int) : DataTransferItem? = noImpl - fun add(data : String, type : String) : DataTransferItem? = noImpl - fun add(data : File) : DataTransferItem? = noImpl - fun remove(index : Int) : Unit = noImpl - fun clear() : Unit = noImpl -} -native trait DataTransferItem { - var kind : String - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - fun getAsString(_callback : () -> Unit?) : Unit = noImpl - fun getAsFile() : File? = noImpl -} -native open class DragEvent(type : String, eventInitDict : DragEventInit = noImpl) : MouseEvent(noImpl, noImpl) { - var dataTransfer : DataTransfer? - get() = noImpl - set(value) = noImpl -} -native open class DragEventInit : MouseEventInit() { - var dataTransfer : dynamic -} -native trait Window : EventTarget { - var window : Window - get() = noImpl - set(value) = noImpl - var self : Window - get() = noImpl - set(value) = noImpl - var document : Document - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var location : Location - get() = noImpl - set(value) = noImpl - var history : History - get() = noImpl - set(value) = noImpl - var locationbar : BarProp - get() = noImpl - set(value) = noImpl - var menubar : BarProp - get() = noImpl - set(value) = noImpl - var personalbar : BarProp - get() = noImpl - set(value) = noImpl - var scrollbars : BarProp - get() = noImpl - set(value) = noImpl - var statusbar : BarProp - get() = noImpl - set(value) = noImpl - var toolbar : BarProp - get() = noImpl - set(value) = noImpl - var status : String - get() = noImpl - set(value) = noImpl - var closed : Boolean - get() = noImpl - set(value) = noImpl - var frames : Window - get() = noImpl - set(value) = noImpl - var length : Int - get() = noImpl - set(value) = noImpl - var top : Window - get() = noImpl - set(value) = noImpl - var opener : Any - get() = noImpl - set(value) = noImpl - var parent : Window - get() = noImpl - set(value) = noImpl - var frameElement : Element? - get() = noImpl - set(value) = noImpl - var navigator : Navigator - get() = noImpl - set(value) = noImpl - var external : External - get() = noImpl - set(value) = noImpl - var applicationCache : ApplicationCache - get() = noImpl - set(value) = noImpl - var caches : CacheStorage - get() = noImpl - set(value) = noImpl - var onabort : () -> Unit - get() = noImpl - set(value) = noImpl - var onautocomplete : () -> Unit - get() = noImpl - set(value) = noImpl - var onautocompleteerror : () -> Unit - get() = noImpl - set(value) = noImpl - var onblur : () -> Unit - get() = noImpl - set(value) = noImpl - var oncancel : () -> Unit - get() = noImpl - set(value) = noImpl - var oncanplay : () -> Unit - get() = noImpl - set(value) = noImpl - var oncanplaythrough : () -> Unit - get() = noImpl - set(value) = noImpl - var onchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onclick : () -> Unit - get() = noImpl - set(value) = noImpl - var onclose : () -> Unit - get() = noImpl - set(value) = noImpl - var oncontextmenu : () -> Unit - get() = noImpl - set(value) = noImpl - var oncuechange : () -> Unit - get() = noImpl - set(value) = noImpl - var ondblclick : () -> Unit - get() = noImpl - set(value) = noImpl - var ondrag : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragend : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragenter : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragexit : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragleave : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragover : () -> Unit - get() = noImpl - set(value) = noImpl - var ondragstart : () -> Unit - get() = noImpl - set(value) = noImpl - var ondrop : () -> Unit - get() = noImpl - set(value) = noImpl - var ondurationchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onemptied : () -> Unit - get() = noImpl - set(value) = noImpl - var onended : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : dynamic - get() = noImpl - set(value) = noImpl - var onfocus : () -> Unit - get() = noImpl - set(value) = noImpl - var oninput : () -> Unit - get() = noImpl - set(value) = noImpl - var oninvalid : () -> Unit - get() = noImpl - set(value) = noImpl - var onkeydown : () -> Unit - get() = noImpl - set(value) = noImpl - var onkeypress : () -> Unit - get() = noImpl - set(value) = noImpl - var onkeyup : () -> Unit - get() = noImpl - set(value) = noImpl - var onload : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadeddata : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadedmetadata : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadstart : () -> Unit - get() = noImpl - set(value) = noImpl - var onmousedown : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseenter : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseleave : () -> Unit - get() = noImpl - set(value) = noImpl - var onmousemove : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseout : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseover : () -> Unit - get() = noImpl - set(value) = noImpl - var onmouseup : () -> Unit - get() = noImpl - set(value) = noImpl - var onmousewheel : () -> Unit - get() = noImpl - set(value) = noImpl - var onpause : () -> Unit - get() = noImpl - set(value) = noImpl - var onplay : () -> Unit - get() = noImpl - set(value) = noImpl - var onplaying : () -> Unit - get() = noImpl - set(value) = noImpl - var onprogress : () -> Unit - get() = noImpl - set(value) = noImpl - var onratechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onreset : () -> Unit - get() = noImpl - set(value) = noImpl - var onresize : () -> Unit - get() = noImpl - set(value) = noImpl - var onscroll : () -> Unit - get() = noImpl - set(value) = noImpl - var onseeked : () -> Unit - get() = noImpl - set(value) = noImpl - var onseeking : () -> Unit - get() = noImpl - set(value) = noImpl - var onselect : () -> Unit - get() = noImpl - set(value) = noImpl - var onshow : () -> Unit - get() = noImpl - set(value) = noImpl - var onsort : () -> Unit - get() = noImpl - set(value) = noImpl - var onstalled : () -> Unit - get() = noImpl - set(value) = noImpl - var onsubmit : () -> Unit - get() = noImpl - set(value) = noImpl - var onsuspend : () -> Unit - get() = noImpl - set(value) = noImpl - var ontimeupdate : () -> Unit - get() = noImpl - set(value) = noImpl - var ontoggle : () -> Unit - get() = noImpl - set(value) = noImpl - var onvolumechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onwaiting : () -> Unit - get() = noImpl - set(value) = noImpl - var onafterprint : () -> Unit - get() = noImpl - set(value) = noImpl - var onbeforeprint : () -> Unit - get() = noImpl - set(value) = noImpl - var onbeforeunload : dynamic - get() = noImpl - set(value) = noImpl - var onhashchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onlanguagechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - var onoffline : () -> Unit - get() = noImpl - set(value) = noImpl - var ononline : () -> Unit - get() = noImpl - set(value) = noImpl - var onpagehide : () -> Unit - get() = noImpl - set(value) = noImpl - var onpageshow : () -> Unit - get() = noImpl - set(value) = noImpl - var onpopstate : () -> Unit - get() = noImpl - set(value) = noImpl - var onstorage : () -> Unit - get() = noImpl - set(value) = noImpl - var onunload : () -> Unit - get() = noImpl - set(value) = noImpl - var sessionStorage : Storage - get() = noImpl - set(value) = noImpl - var localStorage : Storage - get() = noImpl - set(value) = noImpl - fun close() : Unit = noImpl - fun stop() : Unit = noImpl - fun focus() : Unit = noImpl - fun blur() : Unit = noImpl - fun open(url : String = "about:blank", target : String = "_blank", features : String = "", replace : Boolean = false) : Window = noImpl - nativeGetter fun get(index : Int) : Window? = noImpl - nativeGetter fun get(name : String) : dynamic = noImpl - fun alert() : Unit = noImpl - fun alert(message : String) : Unit = noImpl - fun confirm(message : String = "") : Boolean = noImpl - fun prompt(message : String = "", default : String = "") : String? = noImpl - fun print() : Unit = noImpl - fun showModalDialog(url : String, argument : Any = noImpl) : Any = noImpl - fun requestAnimationFrame(callback : () -> Unit) : Int = noImpl - fun cancelAnimationFrame(handle : Int) : Unit = noImpl - fun postMessage(message : Any, targetOrigin : String, transfer : Any = noImpl) : Unit = noImpl - fun captureEvents() : Unit = noImpl - fun releaseEvents() : Unit = noImpl - fun getSelection() : Selection = noImpl - fun getComputedStyle(elt : Element, pseudoElt : String? = noImpl) : CSSStyleDeclaration = noImpl - fun btoa(btoa : String) : String = noImpl - fun atob(atob : String) : String = noImpl - fun setTimeout(handler : () -> dynamic, timeout : Int = 0, vararg arguments : Any) : Int = noImpl - fun setTimeout(handler : String, timeout : Int = 0, vararg arguments : Any) : Int = noImpl - fun clearTimeout(handle : Int = 0) : Unit = noImpl - fun setInterval(handler : () -> dynamic, timeout : Int = 0, vararg arguments : Any) : Int = noImpl - fun setInterval(handler : String, timeout : Int = 0, vararg arguments : Any) : Int = noImpl - fun clearInterval(handle : Int = 0) : Unit = noImpl - fun createImageBitmap(image : ImageBitmapSource) : dynamic = noImpl - fun createImageBitmap(image : ImageBitmapSource, sx : Int, sy : Int, sw : Int, sh : Int) : dynamic = noImpl - fun fetch(input : dynamic, init : RequestInit = noImpl) : dynamic = noImpl -} -native trait BarProp { - var visible : Boolean - get() = noImpl - set(value) = noImpl -} -native trait History { - var length : Int - get() = noImpl - set(value) = noImpl - var state : Any - get() = noImpl - set(value) = noImpl - fun go(delta : Int = noImpl) : Unit = noImpl - fun back() : Unit = noImpl - fun forward() : Unit = noImpl - fun pushState(data : Any, title : String, url : String? = null) : Unit = noImpl - fun replaceState(data : Any, title : String, url : String? = null) : Unit = noImpl -} -native trait Location { - var ancestorOrigins : dynamic - get() = noImpl - set(value) = noImpl - fun assign(url : String) : Unit = noImpl - fun replace(url : String) : Unit = noImpl - fun reload() : Unit = noImpl -} -native open class PopStateEvent(type : String, eventInitDict : PopStateEventInit = noImpl) : Event(type, eventInitDict) { - var state : Any - get() = noImpl - set(value) = noImpl -} -native open class PopStateEventInit : EventInit() { - var state : dynamic -} -native open class HashChangeEvent(type : String, eventInitDict : HashChangeEventInit = noImpl) : Event(type, eventInitDict) { - var oldURL : String - get() = noImpl - set(value) = noImpl - var newURL : String - get() = noImpl - set(value) = noImpl -} -native open class HashChangeEventInit : EventInit() { - var oldURL : dynamic - var newURL : dynamic -} -native open class PageTransitionEvent(type : String, eventInitDict : PageTransitionEventInit = noImpl) : Event(type, eventInitDict) { - var persisted : Boolean - get() = noImpl - set(value) = noImpl -} -native open class PageTransitionEventInit : EventInit() { - var persisted : dynamic -} -native open class BeforeUnloadEvent : Event(noImpl, noImpl) { - var returnValue : String - get() = noImpl - set(value) = noImpl -} -native trait ApplicationCache : EventTarget { - var status : Short - get() = noImpl - set(value) = noImpl - var onchecking : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl - var onnoupdate : () -> Unit - get() = noImpl - set(value) = noImpl - var ondownloading : () -> Unit - get() = noImpl - set(value) = noImpl - var onprogress : () -> Unit - get() = noImpl - set(value) = noImpl - var onupdateready : () -> Unit - get() = noImpl - set(value) = noImpl - var oncached : () -> Unit - get() = noImpl - set(value) = noImpl - var onobsolete : () -> Unit - get() = noImpl - set(value) = noImpl - fun update() : Unit = noImpl - fun abort() : Unit = noImpl - fun swapCache() : Unit = noImpl - companion object { - val UNCACHED : Short = 0 - val IDLE : Short = 1 - val CHECKING : Short = 2 - val DOWNLOADING : Short = 3 - val UPDATEREADY : Short = 4 - val OBSOLETE : Short = 5 - } -} -native open class ErrorEvent(type : String, eventInitDict : ErrorEventInit = noImpl) : Event(type, eventInitDict) { - var message : String - get() = noImpl - set(value) = noImpl - var filename : String - get() = noImpl - set(value) = noImpl - var lineno : Int - get() = noImpl - set(value) = noImpl - var colno : Int - get() = noImpl - set(value) = noImpl - var error : Any - get() = noImpl - set(value) = noImpl -} -native open class ErrorEventInit : EventInit() { - var message : dynamic - var filename : dynamic - var lineno : dynamic - var colno : dynamic - var error : dynamic -} -native trait Navigator { - var serviceWorker : ServiceWorkerContainer - get() = noImpl - set(value) = noImpl - var appCodeName : String - get() = noImpl - set(value) = noImpl - var appName : String - get() = noImpl - set(value) = noImpl - var appVersion : String - get() = noImpl - set(value) = noImpl - var platform : String - get() = noImpl - set(value) = noImpl - var product : String - get() = noImpl - set(value) = noImpl - var userAgent : String - get() = noImpl - set(value) = noImpl - var vendorSub : String - get() = noImpl - set(value) = noImpl - var language : String? - get() = noImpl - set(value) = noImpl - var languages : dynamic - get() = noImpl - set(value) = noImpl - var onLine : Boolean - get() = noImpl - set(value) = noImpl - var cookieEnabled : Boolean - get() = noImpl - set(value) = noImpl - var plugins : PluginArray - get() = noImpl - set(value) = noImpl - var mimeTypes : MimeTypeArray - get() = noImpl - set(value) = noImpl - var javaEnabled : Boolean - get() = noImpl - set(value) = noImpl - fun vibrate(pattern : dynamic) : Boolean = noImpl - fun taintEnabled() : Boolean = noImpl - fun registerProtocolHandler(scheme : String, url : String, title : String) : Unit = noImpl - fun registerContentHandler(mimeType : String, url : String, title : String) : Unit = noImpl - fun isProtocolHandlerRegistered(scheme : String, url : String) : String = noImpl - fun isContentHandlerRegistered(mimeType : String, url : String) : String = noImpl - fun unregisterProtocolHandler(scheme : String, url : String) : Unit = noImpl - fun unregisterContentHandler(mimeType : String, url : String) : Unit = noImpl - fun yieldForStorageUpdates() : Unit = noImpl -} -native trait PluginArray { - var length : Int - get() = noImpl - set(value) = noImpl - fun refresh(reload : Boolean = false) : Unit = noImpl - fun item(index : Int) : Plugin? = noImpl - nativeGetter fun get(index : Int) : Plugin? = noImpl - fun namedItem(name : String) : Plugin? = noImpl - nativeGetter fun get(name : String) : Plugin? = noImpl -} -native trait MimeTypeArray { - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : MimeType? = noImpl - nativeGetter fun get(index : Int) : MimeType? = noImpl - fun namedItem(name : String) : MimeType? = noImpl - nativeGetter fun get(name : String) : MimeType? = noImpl -} -native trait Plugin { - var name : String - get() = noImpl - set(value) = noImpl - var description : String - get() = noImpl - set(value) = noImpl - var filename : String - get() = noImpl - set(value) = noImpl - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : MimeType? = noImpl - nativeGetter fun get(index : Int) : MimeType? = noImpl - fun namedItem(name : String) : MimeType? = noImpl - nativeGetter fun get(name : String) : MimeType? = noImpl -} -native trait MimeType { - var type : String - get() = noImpl - set(value) = noImpl - var description : String - get() = noImpl - set(value) = noImpl - var suffixes : String - get() = noImpl - set(value) = noImpl - var enabledPlugin : Plugin - get() = noImpl - set(value) = noImpl -} -native trait External { - fun AddSearchProvider(engineURL : String) : Unit = noImpl - fun IsSearchProviderInstalled(engineURL : String) : Int = noImpl -} -native trait ImageBitmap : CanvasImageSource, ImageBitmapSource { - var width : Int - get() = noImpl - set(value) = noImpl - var height : Int - get() = noImpl - set(value) = noImpl -} -native open class MessageEvent(type : String, eventInitDict : MessageEventInit = noImpl) : Event(type, eventInitDict) { - var data : Any - get() = noImpl - set(value) = noImpl - var origin : String - get() = noImpl - set(value) = noImpl - var lastEventId : String - get() = noImpl - set(value) = noImpl - var source : dynamic - get() = noImpl - set(value) = noImpl - var ports : dynamic - get() = noImpl - set(value) = noImpl - fun initMessageEvent(typeArg : String, canBubbleArg : Boolean, cancelableArg : Boolean, dataArg : Any, originArg : String, lastEventIdArg : String, sourceArg : dynamic, portsArg : Any?) : Unit = noImpl -} -native open class MessageEventInit : EventInit() { - var data : dynamic - var origin : dynamic - var lastEventId : dynamic - var source : dynamic - var ports : dynamic -} -native open class EventSource(url : String, eventSourceInitDict : EventSourceInit = noImpl) : EventTarget { - var url : String - get() = noImpl - set(value) = noImpl - var withCredentials : Boolean - get() = noImpl - set(value) = noImpl - var readyState : Short - get() = noImpl - set(value) = noImpl - var onopen : () -> Unit - get() = noImpl - set(value) = noImpl - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl - fun close() : Unit = noImpl - companion object { - val CONNECTING : Short = 0 - val OPEN : Short = 1 - val CLOSED : Short = 2 - } -} -native open class EventSourceInit { - var withCredentials : dynamic = false -} -native open class WebSocket(url : String, protocols : dynamic = noImpl) : EventTarget { - var url : String - get() = noImpl - set(value) = noImpl - var readyState : Short - get() = noImpl - set(value) = noImpl - var bufferedAmount : Int - get() = noImpl - set(value) = noImpl - var onopen : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl - var onclose : () -> Unit - get() = noImpl - set(value) = noImpl - var extensions : String - get() = noImpl - set(value) = noImpl - var protocol : String - get() = noImpl - set(value) = noImpl - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - var binaryType : String - get() = noImpl - set(value) = noImpl - fun close(code : Short = noImpl, reason : String = noImpl) : Unit = noImpl - fun send(data : String) : Unit = noImpl - fun send(data : Blob) : Unit = noImpl - fun send(data : dynamic) : Unit = noImpl - companion object { - val CONNECTING : Short = 0 - val OPEN : Short = 1 - val CLOSING : Short = 2 - val CLOSED : Short = 3 - } -} -native open class CloseEvent(type : String, eventInitDict : CloseEventInit = noImpl) : Event(type, eventInitDict) { - var wasClean : Boolean - get() = noImpl - set(value) = noImpl - var code : Short - get() = noImpl - set(value) = noImpl - var reason : String - get() = noImpl - set(value) = noImpl -} -native open class CloseEventInit : EventInit() { - var wasClean : dynamic - var code : dynamic - var reason : dynamic -} -native open class MessageChannel { - var port1 : MessagePort - get() = noImpl - set(value) = noImpl - var port2 : MessagePort - get() = noImpl - set(value) = noImpl -} -native trait MessagePort : EventTarget { - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - fun postMessage(message : Any, transfer : Any = noImpl) : Unit = noImpl - fun start() : Unit = noImpl - fun close() : Unit = noImpl -} -native open class PortCollection { - fun add(port : MessagePort) : Unit = noImpl - fun remove(port : MessagePort) : Unit = noImpl - fun clear() : Unit = noImpl - fun iterate(callback : () -> Unit) : Unit = noImpl -} -native open class BroadcastChannel(channel : String) : EventTarget { - var name : String - get() = noImpl - set(value) = noImpl - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - fun postMessage(message : Any) : Unit = noImpl - fun close() : Unit = noImpl -} -native trait WorkerGlobalScope : EventTarget { - var self : WorkerGlobalScope - get() = noImpl - set(value) = noImpl - var location : WorkerLocation - get() = noImpl - set(value) = noImpl - var onerror : dynamic - get() = noImpl - set(value) = noImpl - var onlanguagechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onoffline : () -> Unit - get() = noImpl - set(value) = noImpl - var ononline : () -> Unit - get() = noImpl - set(value) = noImpl - var navigator : WorkerNavigator - get() = noImpl - set(value) = noImpl - var caches : CacheStorage - get() = noImpl - set(value) = noImpl - fun close() : Unit = noImpl - fun importScripts(vararg urls : String) : Unit = noImpl - fun createImageBitmap(image : ImageBitmapSource) : dynamic = noImpl - fun createImageBitmap(image : ImageBitmapSource, sx : Int, sy : Int, sw : Int, sh : Int) : dynamic = noImpl - fun setTimeout(handler : () -> dynamic, timeout : Int = 0, vararg arguments : Any) : Int = noImpl - fun setTimeout(handler : String, timeout : Int = 0, vararg arguments : Any) : Int = noImpl - fun clearTimeout(handle : Int = 0) : Unit = noImpl - fun setInterval(handler : () -> dynamic, timeout : Int = 0, vararg arguments : Any) : Int = noImpl - fun setInterval(handler : String, timeout : Int = 0, vararg arguments : Any) : Int = noImpl - fun clearInterval(handle : Int = 0) : Unit = noImpl - fun btoa(btoa : String) : String = noImpl - fun atob(atob : String) : String = noImpl - fun fetch(input : dynamic, init : RequestInit = noImpl) : dynamic = noImpl -} -native trait DedicatedWorkerGlobalScope : WorkerGlobalScope { - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - fun postMessage(message : Any, transfer : Any = noImpl) : Unit = noImpl -} -native trait SharedWorkerGlobalScope : WorkerGlobalScope { - var name : String - get() = noImpl - set(value) = noImpl - var applicationCache : ApplicationCache - get() = noImpl - set(value) = noImpl - var onconnect : () -> Unit - get() = noImpl - set(value) = noImpl -} -native open class Worker(scriptURL : String) : EventTarget { - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl - fun terminate() : Unit = noImpl - fun postMessage(message : Any, transfer : Any = noImpl) : Unit = noImpl -} -native open class SharedWorker(scriptURL : String, name : String = noImpl) : EventTarget { - var port : MessagePort - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl -} -native trait WorkerNavigator { - var serviceWorker : ServiceWorkerContainer - get() = noImpl - set(value) = noImpl - var appCodeName : String - get() = noImpl - set(value) = noImpl - var appName : String - get() = noImpl - set(value) = noImpl - var appVersion : String - get() = noImpl - set(value) = noImpl - var platform : String - get() = noImpl - set(value) = noImpl - var product : String - get() = noImpl - set(value) = noImpl - var userAgent : String - get() = noImpl - set(value) = noImpl - var vendorSub : String - get() = noImpl - set(value) = noImpl - var language : String? - get() = noImpl - set(value) = noImpl - var languages : dynamic - get() = noImpl - set(value) = noImpl - var onLine : Boolean - get() = noImpl - set(value) = noImpl - fun taintEnabled() : Boolean = noImpl -} -native trait WorkerLocation { -} -native trait Storage { - var length : Int - get() = noImpl - set(value) = noImpl - fun key(index : Int) : String? = noImpl - fun getItem(key : String) : String? = noImpl - nativeGetter fun get(key : String) : String? = noImpl - fun setItem(key : String, value : String) : Unit = noImpl - fun set(key : String, value : String) : Unit? = noImpl - fun removeItem(key : String) : Unit = noImpl - fun clear() : Unit = noImpl -} -native open class StorageEvent(type : String, eventInitDict : StorageEventInit = noImpl) : Event(type, eventInitDict) { - var key : String? - get() = noImpl - set(value) = noImpl - var oldValue : String? - get() = noImpl - set(value) = noImpl - var newValue : String? - get() = noImpl - set(value) = noImpl - var url : String - get() = noImpl - set(value) = noImpl - var storageArea : Storage? - get() = noImpl - set(value) = noImpl -} -native open class StorageEventInit : EventInit() { - var key : dynamic - var oldValue : dynamic - var newValue : dynamic - var url : dynamic - var storageArea : dynamic -} -native trait HTMLAppletElement : HTMLElement { - var align : String - get() = noImpl - set(value) = noImpl - var alt : String - get() = noImpl - set(value) = noImpl - var archive : String - get() = noImpl - set(value) = noImpl - var code : String - get() = noImpl - set(value) = noImpl - var codeBase : String - get() = noImpl - set(value) = noImpl - var height : String - get() = noImpl - set(value) = noImpl - var hspace : Int - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var _object : String - get() = noImpl - set(value) = noImpl - var vspace : Int - get() = noImpl - set(value) = noImpl - var width : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLMarqueeElement : HTMLElement { - var behavior : String - get() = noImpl - set(value) = noImpl - var bgColor : String - get() = noImpl - set(value) = noImpl - var direction : String - get() = noImpl - set(value) = noImpl - var height : String - get() = noImpl - set(value) = noImpl - var hspace : Int - get() = noImpl - set(value) = noImpl - var loop : Int - get() = noImpl - set(value) = noImpl - var scrollAmount : Int - get() = noImpl - set(value) = noImpl - var scrollDelay : Int - get() = noImpl - set(value) = noImpl - var trueSpeed : Boolean - get() = noImpl - set(value) = noImpl - var vspace : Int - get() = noImpl - set(value) = noImpl - var width : String - get() = noImpl - set(value) = noImpl - var onbounce : () -> Unit - get() = noImpl - set(value) = noImpl - var onfinish : () -> Unit - get() = noImpl - set(value) = noImpl - var onstart : () -> Unit - get() = noImpl - set(value) = noImpl - fun start() : Unit = noImpl - fun stop() : Unit = noImpl -} -native trait HTMLFrameSetElement : HTMLElement { - var cols : String - get() = noImpl - set(value) = noImpl - var rows : String - get() = noImpl - set(value) = noImpl - var onafterprint : () -> Unit - get() = noImpl - set(value) = noImpl - var onbeforeprint : () -> Unit - get() = noImpl - set(value) = noImpl - var onbeforeunload : dynamic - get() = noImpl - set(value) = noImpl - var onhashchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onlanguagechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - var onoffline : () -> Unit - get() = noImpl - set(value) = noImpl - var ononline : () -> Unit - get() = noImpl - set(value) = noImpl - var onpagehide : () -> Unit - get() = noImpl - set(value) = noImpl - var onpageshow : () -> Unit - get() = noImpl - set(value) = noImpl - var onpopstate : () -> Unit - get() = noImpl - set(value) = noImpl - var onstorage : () -> Unit - get() = noImpl - set(value) = noImpl - var onunload : () -> Unit - get() = noImpl - set(value) = noImpl -} -native trait HTMLFrameElement : HTMLElement { - var name : String - get() = noImpl - set(value) = noImpl - var scrolling : String - get() = noImpl - set(value) = noImpl - var src : String - get() = noImpl - set(value) = noImpl - var frameBorder : String - get() = noImpl - set(value) = noImpl - var longDesc : String - get() = noImpl - set(value) = noImpl - var noResize : Boolean - get() = noImpl - set(value) = noImpl - var contentDocument : Document? - get() = noImpl - set(value) = noImpl - var contentWindow : Window? - get() = noImpl - set(value) = noImpl - var marginHeight : String - get() = noImpl - set(value) = noImpl - var marginWidth : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLDirectoryElement : HTMLElement { - var compact : Boolean - get() = noImpl - set(value) = noImpl -} -native trait HTMLFontElement : HTMLElement { - var color : String - get() = noImpl - set(value) = noImpl - var face : String - get() = noImpl - set(value) = noImpl - var size : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLImageElement : HTMLElement, CanvasImageSource, ImageBitmapSource { - var name : String - get() = noImpl - set(value) = noImpl - var lowsrc : String - get() = noImpl - set(value) = noImpl - var align : String - get() = noImpl - set(value) = noImpl - var hspace : Int - get() = noImpl - set(value) = noImpl - var vspace : Int - get() = noImpl - set(value) = noImpl - var longDesc : String - get() = noImpl - set(value) = noImpl - var border : String - get() = noImpl - set(value) = noImpl - var alt : String - get() = noImpl - set(value) = noImpl - var src : String - get() = noImpl - set(value) = noImpl - var srcset : String - get() = noImpl - set(value) = noImpl - var sizes : String - get() = noImpl - set(value) = noImpl - var crossOrigin : String? - get() = noImpl - set(value) = noImpl - var useMap : String - get() = noImpl - set(value) = noImpl - var isMap : Boolean - get() = noImpl - set(value) = noImpl - var width : Int - get() = noImpl - set(value) = noImpl - var height : Int - get() = noImpl - set(value) = noImpl - var naturalWidth : Int - get() = noImpl - set(value) = noImpl - var naturalHeight : Int - get() = noImpl - set(value) = noImpl - var complete : Boolean - get() = noImpl - set(value) = noImpl - var currentSrc : String - get() = noImpl - set(value) = noImpl -} -native trait HTMLPictureElement : HTMLElement { -} -native open class Event(type : String, eventInitDict : EventInit = noImpl) { - var type : String - get() = noImpl - set(value) = noImpl - var target : EventTarget? - get() = noImpl - set(value) = noImpl - var currentTarget : EventTarget? - get() = noImpl - set(value) = noImpl - var eventPhase : Short - get() = noImpl - set(value) = noImpl - var bubbles : Boolean - get() = noImpl - set(value) = noImpl - var cancelable : Boolean - get() = noImpl - set(value) = noImpl - var defaultPrevented : Boolean - get() = noImpl - set(value) = noImpl - var isTrusted : Boolean - get() = noImpl - set(value) = noImpl - var timeStamp : Number - get() = noImpl - set(value) = noImpl - fun stopPropagation() : Unit = noImpl - fun stopImmediatePropagation() : Unit = noImpl - fun preventDefault() : Unit = noImpl - fun initEvent(type : String, bubbles : Boolean, cancelable : Boolean) : Unit = noImpl - companion object { - val NONE : Short = 0 - val CAPTURING_PHASE : Short = 1 - val AT_TARGET : Short = 2 - val BUBBLING_PHASE : Short = 3 - } -} -native open class EventInit { - var bubbles : dynamic = false - var cancelable : dynamic = false -} -native open class CustomEvent(type : String, eventInitDict : CustomEventInit = noImpl) : Event(type, eventInitDict) { - var detail : Any - get() = noImpl - set(value) = noImpl - fun initCustomEvent(type : String, bubbles : Boolean, cancelable : Boolean, detail : Any) : Unit = noImpl -} -native open class CustomEventInit : EventInit() { - var detail : dynamic = null -} -native trait EventTarget { - fun addEventListener(type : String, callback : EventListener?, capture : Boolean = false) : Unit = noImpl - fun removeEventListener(type : String, callback : EventListener?, capture : Boolean = false) : Unit = noImpl - fun dispatchEvent(event : Event) : Boolean = noImpl -} -native trait EventListener { - fun handleEvent(event : Event) : Unit = noImpl -} -native trait NodeList { - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : Node? = noImpl - nativeGetter fun get(index : Int) : Node? = noImpl -} -native trait HTMLCollection { - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : Element? = noImpl - nativeGetter fun get(index : Int) : Element? = noImpl - fun namedItem(name : String) : Element? = noImpl - nativeGetter fun get(name : String) : Element? = noImpl -} -native open class MutationObserver(callback : () -> Unit) { - fun observe(target : Node, options : MutationObserverInit) : Unit = noImpl - fun disconnect() : Unit = noImpl - fun takeRecords() : Any = noImpl -} -native open class MutationObserverInit { - var childList : dynamic = false - var attributes : dynamic - var characterData : dynamic - var subtree : dynamic = false - var attributeOldValue : dynamic - var characterDataOldValue : dynamic - var attributeFilter : dynamic -} -native trait MutationRecord { - var type : String - get() = noImpl - set(value) = noImpl - var target : Node - get() = noImpl - set(value) = noImpl - var addedNodes : NodeList - get() = noImpl - set(value) = noImpl - var removedNodes : NodeList - get() = noImpl - set(value) = noImpl - var previousSibling : Node? - get() = noImpl - set(value) = noImpl - var nextSibling : Node? - get() = noImpl - set(value) = noImpl - var attributeName : String? - get() = noImpl - set(value) = noImpl - var attributeNamespace : String? - get() = noImpl - set(value) = noImpl - var oldValue : String? - get() = noImpl - set(value) = noImpl -} -native trait Node : EventTarget { - var nodeType : Short - get() = noImpl - set(value) = noImpl - var nodeName : String - get() = noImpl - set(value) = noImpl - var baseURI : String? - get() = noImpl - set(value) = noImpl - var ownerDocument : Document? - get() = noImpl - set(value) = noImpl - var parentNode : Node? - get() = noImpl - set(value) = noImpl - var parentElement : Element? - get() = noImpl - set(value) = noImpl - var childNodes : NodeList - get() = noImpl - set(value) = noImpl - var firstChild : Node? - get() = noImpl - set(value) = noImpl - var lastChild : Node? - get() = noImpl - set(value) = noImpl - var previousSibling : Node? - get() = noImpl - set(value) = noImpl - var nextSibling : Node? - get() = noImpl - set(value) = noImpl - var nodeValue : String? - get() = noImpl - set(value) = noImpl - var textContent : String? - get() = noImpl - set(value) = noImpl - fun hasChildNodes() : Boolean = noImpl - fun normalize() : Unit = noImpl - fun cloneNode(deep : Boolean = false) : Node = noImpl - fun isEqualNode(otherNode : Node?) : Boolean = noImpl - fun compareDocumentPosition(other : Node) : Short = noImpl - fun contains(other : Node?) : Boolean = noImpl - fun lookupPrefix(namespace : String?) : String? = noImpl - fun lookupNamespaceURI(prefix : String?) : String? = noImpl - fun isDefaultNamespace(namespace : String?) : Boolean = noImpl - fun insertBefore(node : Node, child : Node?) : Node = noImpl - fun appendChild(node : Node) : Node = noImpl - fun replaceChild(node : Node, child : Node) : Node = noImpl - fun removeChild(child : Node) : Node = noImpl - companion object { - val ELEMENT_NODE : Short = 1 - val ATTRIBUTE_NODE : Short = 2 - val TEXT_NODE : Short = 3 - val CDATA_SECTION_NODE : Short = 4 - val ENTITY_REFERENCE_NODE : Short = 5 - val ENTITY_NODE : Short = 6 - val PROCESSING_INSTRUCTION_NODE : Short = 7 - val COMMENT_NODE : Short = 8 - val DOCUMENT_NODE : Short = 9 - val DOCUMENT_TYPE_NODE : Short = 10 - val DOCUMENT_FRAGMENT_NODE : Short = 11 - val NOTATION_NODE : Short = 12 - val DOCUMENT_POSITION_DISCONNECTED : Short = 0x01 - val DOCUMENT_POSITION_PRECEDING : Short = 0x02 - val DOCUMENT_POSITION_FOLLOWING : Short = 0x04 - val DOCUMENT_POSITION_CONTAINS : Short = 0x08 - val DOCUMENT_POSITION_CONTAINED_BY : Short = 0x10 - val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC : Short = 0x20 - } -} -native trait DOMImplementation { - fun createDocumentType(qualifiedName : String, publicId : String, systemId : String) : DocumentType = noImpl - fun createDocument(namespace : String?, qualifiedName : String, doctype : DocumentType? = null) : XMLDocument = noImpl - fun createHTMLDocument(title : String = noImpl) : Document = noImpl - fun hasFeature() : Boolean = noImpl -} -native open class DocumentFragment : Node { - var children : HTMLCollection - get() = noImpl - set(value) = noImpl - var firstElementChild : Element? - get() = noImpl - set(value) = noImpl - var lastElementChild : Element? - get() = noImpl - set(value) = noImpl - var childElementCount : Int - get() = noImpl - set(value) = noImpl - fun getElementById(elementId : String) : Element? = noImpl - fun prepend(vararg nodes : dynamic) : Unit = noImpl - fun append(vararg nodes : dynamic) : Unit = noImpl - fun query(relativeSelectors : String) : Element? = noImpl - fun queryAll(relativeSelectors : String) : dynamic = noImpl - fun querySelector(selectors : String) : Element? = noImpl - fun querySelectorAll(selectors : String) : NodeList = noImpl -} -native trait DocumentType : Node { - var name : String - get() = noImpl - set(value) = noImpl - var publicId : String - get() = noImpl - set(value) = noImpl - var systemId : String - get() = noImpl - set(value) = noImpl - fun before(vararg nodes : dynamic) : Unit = noImpl - fun after(vararg nodes : dynamic) : Unit = noImpl - fun replaceWith(vararg nodes : dynamic) : Unit = noImpl - fun remove() : Unit = noImpl -} -native trait Element : Node, UnionElementOrMouseEvent { - var namespaceURI : String? - get() = noImpl - set(value) = noImpl - var prefix : String? - get() = noImpl - set(value) = noImpl - var localName : String - get() = noImpl - set(value) = noImpl - var tagName : String - get() = noImpl - set(value) = noImpl - var id : String - get() = noImpl - set(value) = noImpl - var className : String - get() = noImpl - set(value) = noImpl - var classList : DOMTokenList - get() = noImpl - set(value) = noImpl - var attributes : NamedNodeMap - get() = noImpl - set(value) = noImpl - var innerHTML : String - get() = noImpl - set(value) = noImpl - var outerHTML : String - get() = noImpl - set(value) = noImpl - var children : HTMLCollection - get() = noImpl - set(value) = noImpl - var firstElementChild : Element? - get() = noImpl - set(value) = noImpl - var lastElementChild : Element? - get() = noImpl - set(value) = noImpl - var childElementCount : Int - get() = noImpl - set(value) = noImpl - var previousElementSibling : Element? - get() = noImpl - set(value) = noImpl - var nextElementSibling : Element? - get() = noImpl - set(value) = noImpl - var cascadedStyle : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl - var defaultStyle : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl - var rawComputedStyle : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl - var usedStyle : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl - fun hasAttributes() : Boolean = noImpl - fun getAttribute(name : String) : String? = noImpl - fun getAttributeNS(namespace : String?, localName : String) : String? = noImpl - fun setAttribute(name : String, value : String) : Unit = noImpl - fun setAttributeNS(namespace : String?, name : String, value : String) : Unit = noImpl - fun removeAttribute(name : String) : Unit = noImpl - fun removeAttributeNS(namespace : String?, localName : String) : Unit = noImpl - fun hasAttribute(name : String) : Boolean = noImpl - fun hasAttributeNS(namespace : String?, localName : String) : Boolean = noImpl - fun getAttributeNode(name : String) : Attr? = noImpl - fun getAttributeNodeNS(namespace : String?, localName : String) : Attr? = noImpl - fun setAttributeNode(attr : Attr) : Attr? = noImpl - fun setAttributeNodeNS(attr : Attr) : Attr? = noImpl - fun removeAttributeNode(attr : Attr) : Attr = noImpl - fun closest(selectors : String) : Element? = noImpl - fun matches(selectors : String) : Boolean = noImpl - fun getElementsByTagName(localName : String) : HTMLCollection = noImpl - fun getElementsByTagNameNS(namespace : String?, localName : String) : HTMLCollection = noImpl - fun getElementsByClassName(classNames : String) : HTMLCollection = noImpl - fun requestFullscreen() : Unit = noImpl - fun insertAdjacentHTML(position : String, text : String) : Unit = noImpl - fun pseudo(pseudoElt : String) : PseudoElement? = noImpl - fun prepend(vararg nodes : dynamic) : Unit = noImpl - fun append(vararg nodes : dynamic) : Unit = noImpl - fun query(relativeSelectors : String) : Element? = noImpl - fun queryAll(relativeSelectors : String) : dynamic = noImpl - fun querySelector(selectors : String) : Element? = noImpl - fun querySelectorAll(selectors : String) : NodeList = noImpl - fun before(vararg nodes : dynamic) : Unit = noImpl - fun after(vararg nodes : dynamic) : Unit = noImpl - fun replaceWith(vararg nodes : dynamic) : Unit = noImpl - fun remove() : Unit = noImpl -} -native trait NamedNodeMap { - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : Attr? = noImpl - nativeGetter fun get(index : Int) : Attr? = noImpl - fun getNamedItem(name : String) : Attr? = noImpl - nativeGetter fun get(name : String) : Attr? = noImpl - fun getNamedItemNS(namespace : String?, localName : String) : Attr? = noImpl - fun setNamedItem(attr : Attr) : Attr? = noImpl - fun setNamedItemNS(attr : Attr) : Attr? = noImpl - fun removeNamedItem(name : String) : Attr = noImpl - fun removeNamedItemNS(namespace : String?, localName : String) : Attr = noImpl -} -native trait Attr { - var namespaceURI : String? - get() = noImpl - set(value) = noImpl - var prefix : String? - get() = noImpl - set(value) = noImpl - var localName : String - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl - var nodeValue : String - get() = noImpl - set(value) = noImpl - var textContent : String - get() = noImpl - set(value) = noImpl - var ownerElement : Element? - get() = noImpl - set(value) = noImpl - var specified : Boolean - get() = noImpl - set(value) = noImpl -} -native trait CharacterData : Node { - var data : String - get() = noImpl - set(value) = noImpl - var length : Int - get() = noImpl - set(value) = noImpl - var previousElementSibling : Element? - get() = noImpl - set(value) = noImpl - var nextElementSibling : Element? - get() = noImpl - set(value) = noImpl - fun substringData(offset : Int, count : Int) : String = noImpl - fun appendData(data : String) : Unit = noImpl - fun insertData(offset : Int, data : String) : Unit = noImpl - fun deleteData(offset : Int, count : Int) : Unit = noImpl - fun replaceData(offset : Int, count : Int, data : String) : Unit = noImpl - fun before(vararg nodes : dynamic) : Unit = noImpl - fun after(vararg nodes : dynamic) : Unit = noImpl - fun replaceWith(vararg nodes : dynamic) : Unit = noImpl - fun remove() : Unit = noImpl -} -native open class Text(data : String = "") : CharacterData { - var wholeText : String - get() = noImpl - set(value) = noImpl - fun splitText(offset : Int) : Text = noImpl -} -native trait ProcessingInstruction : CharacterData { - var target : String - get() = noImpl - set(value) = noImpl - var sheet : StyleSheet? - get() = noImpl - set(value) = noImpl -} -native open class Comment(data : String = "") : CharacterData { -} -native open class Range { - var startContainer : Node - get() = noImpl - set(value) = noImpl - var startOffset : Int - get() = noImpl - set(value) = noImpl - var endContainer : Node - get() = noImpl - set(value) = noImpl - var endOffset : Int - get() = noImpl - set(value) = noImpl - var collapsed : Boolean - get() = noImpl - set(value) = noImpl - var commonAncestorContainer : Node - get() = noImpl - set(value) = noImpl - fun setStart(node : Node, offset : Int) : Unit = noImpl - fun setEnd(node : Node, offset : Int) : Unit = noImpl - fun setStartBefore(node : Node) : Unit = noImpl - fun setStartAfter(node : Node) : Unit = noImpl - fun setEndBefore(node : Node) : Unit = noImpl - fun setEndAfter(node : Node) : Unit = noImpl - fun collapse(toStart : Boolean = false) : Unit = noImpl - fun selectNode(node : Node) : Unit = noImpl - fun selectNodeContents(node : Node) : Unit = noImpl - fun compareBoundaryPoints(how : Short, sourceRange : Range) : Short = noImpl - fun deleteContents() : Unit = noImpl - fun extractContents() : DocumentFragment = noImpl - fun cloneContents() : DocumentFragment = noImpl - fun insertNode(node : Node) : Unit = noImpl - fun surroundContents(newParent : Node) : Unit = noImpl - fun cloneRange() : Range = noImpl - fun detach() : Unit = noImpl - fun isPointInRange(node : Node, offset : Int) : Boolean = noImpl - fun comparePoint(node : Node, offset : Int) : Short = noImpl - fun intersectsNode(node : Node) : Boolean = noImpl - fun createContextualFragment(fragment : String) : DocumentFragment = noImpl - companion object { - val START_TO_START : Short = 0 - val START_TO_END : Short = 1 - val END_TO_END : Short = 2 - val END_TO_START : Short = 3 - } -} -native trait NodeIterator { - var root : Node - get() = noImpl - set(value) = noImpl - var referenceNode : Node - get() = noImpl - set(value) = noImpl - var pointerBeforeReferenceNode : Boolean - get() = noImpl - set(value) = noImpl - var whatToShow : Int - get() = noImpl - set(value) = noImpl - var filter : NodeFilter? - get() = noImpl - set(value) = noImpl - fun nextNode() : Node? = noImpl - fun previousNode() : Node? = noImpl - fun detach() : Unit = noImpl -} -native trait TreeWalker { - var root : Node - get() = noImpl - set(value) = noImpl - var whatToShow : Int - get() = noImpl - set(value) = noImpl - var filter : NodeFilter? - get() = noImpl - set(value) = noImpl - var currentNode : Node - get() = noImpl - set(value) = noImpl - fun parentNode() : Node? = noImpl - fun firstChild() : Node? = noImpl - fun lastChild() : Node? = noImpl - fun previousSibling() : Node? = noImpl - fun nextSibling() : Node? = noImpl - fun previousNode() : Node? = noImpl - fun nextNode() : Node? = noImpl -} -native trait NodeFilter { - fun acceptNode(node : Node) : Short = noImpl - companion object { - val FILTER_ACCEPT : Short = 1 - val FILTER_REJECT : Short = 2 - val FILTER_SKIP : Short = 3 - val SHOW_ALL : Int = noImpl - val SHOW_ELEMENT : Int = 0x1 - val SHOW_ATTRIBUTE : Int = 0x2 - val SHOW_TEXT : Int = 0x4 - val SHOW_CDATA_SECTION : Int = 0x8 - val SHOW_ENTITY_REFERENCE : Int = 0x10 - val SHOW_ENTITY : Int = 0x20 - val SHOW_PROCESSING_INSTRUCTION : Int = 0x40 - val SHOW_COMMENT : Int = 0x80 - val SHOW_DOCUMENT : Int = 0x100 - val SHOW_DOCUMENT_TYPE : Int = 0x200 - val SHOW_DOCUMENT_FRAGMENT : Int = 0x400 - val SHOW_NOTATION : Int = 0x800 - } -} -native trait DOMTokenList { - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : String? = noImpl - nativeGetter fun get(index : Int) : String? = noImpl - fun contains(token : String) : Boolean = noImpl - fun add(vararg tokens : String) : Unit = noImpl - fun remove(vararg tokens : String) : Unit = noImpl - fun toggle(token : String, force : Boolean = noImpl) : Boolean = noImpl -} -native trait DOMSettableTokenList : DOMTokenList { - var value : String - get() = noImpl - set(value) = noImpl -} -native open class UIEvent(type : String, eventInitDict : UIEventInit = noImpl) : Event(type, eventInitDict) { - var view : Window? - get() = noImpl - set(value) = noImpl - var detail : Int - get() = noImpl - set(value) = noImpl - fun initUIEvent(typeArg : String, bubblesArg : Boolean, cancelableArg : Boolean, viewArg : Window?, detailArg : Int) : Unit = noImpl -} -native open class UIEventInit : EventInit() { - var view : dynamic = null - var detail : dynamic = 0 -} -native open class FocusEvent(typeArg : String, focusEventInitDict : FocusEventInit = noImpl) : UIEvent(noImpl, noImpl) { - var relatedTarget : EventTarget? - get() = noImpl - set(value) = noImpl - fun initFocusEvent(typeArg : String, bubblesArg : Boolean, cancelableArg : Boolean, viewArg : Window?, detailArg : Int, relatedTargetArg : EventTarget?) : Unit = noImpl -} -native open class FocusEventInit : UIEventInit() { - var relatedTarget : dynamic = null -} -native open class MouseEventInit : EventModifierInit() { - var screenX : dynamic = 0 - var screenY : dynamic = 0 - var clientX : dynamic = 0 - var clientY : dynamic = 0 - var button : dynamic = 0 - var buttons : dynamic = 0 - var relatedTarget : dynamic = null -} -native open class EventModifierInit : UIEventInit() { - var ctrlKey : dynamic = false - var shiftKey : dynamic = false - var altKey : dynamic = false - var metaKey : dynamic = false - var modifierAltGraph : dynamic = false - var modifierCapsLock : dynamic = false - var modifierFn : dynamic = false - var modifierFnLock : dynamic = false - var modifierHyper : dynamic = false - var modifierNumLock : dynamic = false - var modifierOS : dynamic = false - var modifierScrollLock : dynamic = false - var modifierSuper : dynamic = false - var modifierSymbol : dynamic = false - var modifierSymbolLock : dynamic = false -} -native open class WheelEvent(typeArg : String, wheelEventInitDict : WheelEventInit = noImpl) : MouseEvent(typeArg, noImpl) { - var deltaX : Double - get() = noImpl - set(value) = noImpl - var deltaY : Double - get() = noImpl - set(value) = noImpl - var deltaZ : Double - get() = noImpl - set(value) = noImpl - var deltaMode : Int - get() = noImpl - set(value) = noImpl - fun initWheelEvent(typeArg : String, bubblesArg : Boolean, cancelableArg : Boolean, viewArg : Window?, detailArg : Int, screenXArg : Int, screenYArg : Int, clientXArg : Int, clientYArg : Int, buttonArg : Short, relatedTargetArg : EventTarget?, modifiersListArg : String, deltaXArg : Double, deltaYArg : Double, deltaZArg : Double, deltaMode : Int) : Unit = noImpl - companion object { - val DOM_DELTA_PIXEL : Int = 0x00 - val DOM_DELTA_LINE : Int = 0x01 - val DOM_DELTA_PAGE : Int = 0x02 - } -} -native open class WheelEventInit : MouseEventInit() { - var deltaX : dynamic = 0.0 - var deltaY : dynamic = 0.0 - var deltaZ : dynamic = 0.0 - var deltaMode : dynamic = 0 -} -native open class KeyboardEvent(typeArg : String, keyboardEventInitDict : KeyboardEventInit = noImpl) : UIEvent(noImpl, noImpl) { - var key : String - get() = noImpl - set(value) = noImpl - var code : String - get() = noImpl - set(value) = noImpl - var location : Int - get() = noImpl - set(value) = noImpl - var ctrlKey : Boolean - get() = noImpl - set(value) = noImpl - var shiftKey : Boolean - get() = noImpl - set(value) = noImpl - var altKey : Boolean - get() = noImpl - set(value) = noImpl - var metaKey : Boolean - get() = noImpl - set(value) = noImpl - var repeat : Boolean - get() = noImpl - set(value) = noImpl - var isComposing : Boolean - get() = noImpl - set(value) = noImpl - var charCode : Int - get() = noImpl - set(value) = noImpl - var keyCode : Int - get() = noImpl - set(value) = noImpl - var which : Int - get() = noImpl - set(value) = noImpl - fun getModifierState(keyArg : String) : Boolean = noImpl - fun initKeyboardEvent(typeArg : String, bubblesArg : Boolean, cancelableArg : Boolean, viewArg : Window?, keyArg : String, locationArg : Int, modifiersListArg : String, repeat : Boolean, locale : String) : Unit = noImpl - companion object { - val DOM_KEY_LOCATION_STANDARD : Int = 0x00 - val DOM_KEY_LOCATION_LEFT : Int = 0x01 - val DOM_KEY_LOCATION_RIGHT : Int = 0x02 - val DOM_KEY_LOCATION_NUMPAD : Int = 0x03 - } -} -native open class KeyboardEventInit : EventModifierInit() { - var key : dynamic = "" - var code : dynamic = "" - var location : dynamic = 0 - var repeat : dynamic = false - var isComposing : dynamic = false -} -native open class CompositionEvent(typeArg : String, compositionEventInitDict : CompositionEventInit = noImpl) : UIEvent(noImpl, noImpl) { - var data : String - get() = noImpl - set(value) = noImpl - fun initCompositionEvent(typeArg : String, bubblesArg : Boolean, cancelableArg : Boolean, viewArg : Window?, dataArg : String, locale : String) : Unit = noImpl -} -native open class CompositionEventInit : UIEventInit() { - var data : dynamic = "" -} -native open class MutationEvent : Event(noImpl, noImpl) { - var relatedNode : Node? - get() = noImpl - set(value) = noImpl - var prevValue : String - get() = noImpl - set(value) = noImpl - var newValue : String - get() = noImpl - set(value) = noImpl - var attrName : String - get() = noImpl - set(value) = noImpl - var attrChange : Short - get() = noImpl - set(value) = noImpl - fun initMutationEvent(typeArg : String, bubblesArg : Boolean, cancelableArg : Boolean, relatedNodeArg : Node?, prevValueArg : String, newValueArg : String, attrNameArg : String, attrChangeArg : Short) : Unit = noImpl - companion object { - val MODIFICATION : Short = 1 - val ADDITION : Short = 2 - val REMOVAL : Short = 3 - } -} -native trait Selection { - var anchorNode : Node? - get() = noImpl - set(value) = noImpl - var anchorOffset : Int - get() = noImpl - set(value) = noImpl - var focusNode : Node? - get() = noImpl - set(value) = noImpl - var focusOffset : Int - get() = noImpl - set(value) = noImpl - var isCollapsed : Boolean - get() = noImpl - set(value) = noImpl - var rangeCount : Int - get() = noImpl - set(value) = noImpl - fun collapse(node : Node, offset : Int) : Unit = noImpl - fun collapseToStart() : Unit = noImpl - fun collapseToEnd() : Unit = noImpl - fun extend(node : Node, offset : Int) : Unit = noImpl - fun selectAllChildren(node : Node) : Unit = noImpl - fun deleteFromDocument() : Unit = noImpl - fun getRangeAt(index : Int) : Range = noImpl - fun addRange(range : Range) : Unit = noImpl - fun removeRange(range : Range) : Unit = noImpl - fun removeAllRanges() : Unit = noImpl -} -native open class EditingBeforeInputEvent(type : String, eventInitDict : EditingBeforeInputEventInit = noImpl) : Event(type, eventInitDict) { - var command : String - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl -} -native open class EditingBeforeInputEventInit : EventInit() { - var command : dynamic - var value : dynamic -} -native open class EditingInputEvent(type : String, eventInitDict : EditingInputEventInit = noImpl) : Event(type, eventInitDict) { - var command : String - get() = noImpl - set(value) = noImpl - var value : String - get() = noImpl - set(value) = noImpl -} -native open class EditingInputEventInit : EventInit() { - var command : dynamic - var value : dynamic -} -native trait XMLHttpRequestEventTarget : EventTarget { - var onloadstart : () -> Unit - get() = noImpl - set(value) = noImpl - var onprogress : () -> Unit - get() = noImpl - set(value) = noImpl - var onabort : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl - var onload : () -> Unit - get() = noImpl - set(value) = noImpl - var ontimeout : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadend : () -> Unit - get() = noImpl - set(value) = noImpl -} -native trait XMLHttpRequestUpload : XMLHttpRequestEventTarget { -} -native open class XMLHttpRequest : XMLHttpRequestEventTarget { - var onreadystatechange : () -> Unit - get() = noImpl - set(value) = noImpl - var readyState : Short - get() = noImpl - set(value) = noImpl - var timeout : Int - get() = noImpl - set(value) = noImpl - var withCredentials : Boolean - get() = noImpl - set(value) = noImpl - var upload : XMLHttpRequestUpload - get() = noImpl - set(value) = noImpl - var responseURL : String - get() = noImpl - set(value) = noImpl - var status : Short - get() = noImpl - set(value) = noImpl - var statusText : String - get() = noImpl - set(value) = noImpl - var responseType : String - get() = noImpl - set(value) = noImpl - var response : Any - get() = noImpl - set(value) = noImpl - var responseText : String - get() = noImpl - set(value) = noImpl - var responseXML : Document? - get() = noImpl - set(value) = noImpl - fun open(method : String, url : String) : Unit = noImpl - fun open(method : String, url : String, async : Boolean, username : String? = null, password : String? = null) : Unit = noImpl - fun setRequestHeader(name : String, value : String) : Unit = noImpl - fun send(body : dynamic = null) : Unit = noImpl - fun abort() : Unit = noImpl - fun getResponseHeader(name : String) : String? = noImpl - fun getAllResponseHeaders() : String = noImpl - fun overrideMimeType(mime : String) : Unit = noImpl - companion object { - val UNSENT : Short = 0 - val OPENED : Short = 1 - val HEADERS_RECEIVED : Short = 2 - val LOADING : Short = 3 - val DONE : Short = 4 - } -} -native open class FormData(form : HTMLFormElement = noImpl) { - fun append(name : String, value : Blob, filename : String = noImpl) : Unit = noImpl - fun append(name : String, value : String) : Unit = noImpl - fun delete(name : String) : Unit = noImpl - fun get(name : String) : dynamic = noImpl - fun getAll(name : String) : Any = noImpl - fun has(name : String) : Boolean = noImpl - fun set(name : String, value : Blob, filename : String = noImpl) : Unit = noImpl - fun set(name : String, value : String) : Unit = noImpl -} -native open class ProgressEvent(type : String, eventInitDict : ProgressEventInit = noImpl) : Event(type, eventInitDict) { - var lengthComputable : Boolean - get() = noImpl - set(value) = noImpl - var loaded : Long - get() = noImpl - set(value) = noImpl - var total : Long - get() = noImpl - set(value) = noImpl -} -native open class ProgressEventInit : EventInit() { - var lengthComputable : dynamic = false - var loaded : dynamic = 0 - var total : dynamic = 0 -} -native open class Blob : ImageBitmapSource { - var size : Long - get() = noImpl - set(value) = noImpl - var type : String - get() = noImpl - set(value) = noImpl - var isClosed : Boolean - get() = noImpl - set(value) = noImpl - fun slice(start : Long = noImpl, end : Long = noImpl, contentType : String = noImpl) : Blob = noImpl - fun close() : Unit = noImpl -} -native open class BlobPropertyBag { - var type : dynamic = "" -} -native open class File(fileBits : Any, fileName : String, options : FilePropertyBag = noImpl) : Blob() { - var name : String - get() = noImpl - set(value) = noImpl - var lastModified : Long - get() = noImpl - set(value) = noImpl -} -native open class FilePropertyBag { - var type : dynamic = "" - var lastModified : dynamic -} -native trait FileList { - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : File? = noImpl - nativeGetter fun get(index : Int) : File? = noImpl -} -native open class FileReader : EventTarget { - var readyState : Short - get() = noImpl - set(value) = noImpl - var result : dynamic - get() = noImpl - set(value) = noImpl - var error : dynamic - get() = noImpl - set(value) = noImpl - var onloadstart : () -> Unit - get() = noImpl - set(value) = noImpl - var onprogress : () -> Unit - get() = noImpl - set(value) = noImpl - var onload : () -> Unit - get() = noImpl - set(value) = noImpl - var onabort : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl - var onloadend : () -> Unit - get() = noImpl - set(value) = noImpl - fun readAsArrayBuffer(blob : Blob) : Unit = noImpl - fun readAsText(blob : Blob, label : String = noImpl) : Unit = noImpl - fun readAsDataURL(blob : Blob) : Unit = noImpl - fun abort() : Unit = noImpl - companion object { - val EMPTY : Short = 0 - val LOADING : Short = 1 - val DONE : Short = 2 - } -} -native open class FileReaderSync { - fun readAsArrayBuffer(blob : Blob) : dynamic = noImpl - fun readAsText(blob : Blob, label : String = noImpl) : String = noImpl - fun readAsDataURL(blob : Blob) : String = noImpl -} -native trait URL { -} -native open class Notification(title : String, options : NotificationOptions = noImpl) : EventTarget { - var permission : String - get() = noImpl - set(value) = noImpl - var onclick : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl - var title : String - get() = noImpl - set(value) = noImpl - var dir : String - get() = noImpl - set(value) = noImpl - var lang : String - get() = noImpl - set(value) = noImpl - var body : String - get() = noImpl - set(value) = noImpl - var tag : String - get() = noImpl - set(value) = noImpl - var icon : String - get() = noImpl - set(value) = noImpl - var sound : String - get() = noImpl - set(value) = noImpl - var renotify : Boolean - get() = noImpl - set(value) = noImpl - var silent : Boolean - get() = noImpl - set(value) = noImpl - var noscreen : Boolean - get() = noImpl - set(value) = noImpl - var sticky : Boolean - get() = noImpl - set(value) = noImpl - var data : Any - get() = noImpl - set(value) = noImpl - fun close() : Unit = noImpl -} -native open class NotificationOptions { - var dir : dynamic = "auto" - var lang : dynamic = "" - var body : dynamic = "" - var tag : dynamic = "" - var icon : dynamic - var sound : dynamic - var vibrate : dynamic - var renotify : dynamic = false - var silent : dynamic = false - var noscreen : dynamic = false - var sticky : dynamic = false - var data : dynamic = null -} -native open class GetNotificationOptions { - var tag : dynamic = "" -} -native trait ServiceWorkerRegistration : EventTarget { - var installing : ServiceWorker? - get() = noImpl - set(value) = noImpl - var waiting : ServiceWorker? - get() = noImpl - set(value) = noImpl - var active : ServiceWorker? - get() = noImpl - set(value) = noImpl - var scope : String - get() = noImpl - set(value) = noImpl - var onupdatefound : () -> Unit - get() = noImpl - set(value) = noImpl - var APISpace : dynamic - get() = noImpl - set(value) = noImpl - fun showNotification(title : String, options : NotificationOptions = noImpl) : dynamic = noImpl - fun getNotifications(filter : GetNotificationOptions = noImpl) : dynamic = noImpl - fun update() : Unit = noImpl - fun unregister() : dynamic = noImpl - fun methodName(of : dynamic) : dynamic = noImpl -} -native open class NotificationEvent(type : String, eventInitDict : NotificationEventInit = noImpl) : ExtendableEvent(type, eventInitDict) { - var notification : Notification - get() = noImpl - set(value) = noImpl -} -native open class NotificationEventInit : ExtendableEventInit() { - var notification : dynamic -} -native trait ServiceWorkerGlobalScope : WorkerGlobalScope { - var onnotificationclick : () -> Unit - get() = noImpl - set(value) = noImpl - var clients : Clients - get() = noImpl - set(value) = noImpl - var registration : ServiceWorkerRegistration - get() = noImpl - set(value) = noImpl - var oninstall : () -> Unit - get() = noImpl - set(value) = noImpl - var onactivate : () -> Unit - get() = noImpl - set(value) = noImpl - var onfetch : () -> Unit - get() = noImpl - set(value) = noImpl - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - var onfunctionalevent : () -> Unit - get() = noImpl - set(value) = noImpl - fun skipWaiting() : dynamic = noImpl -} -native open class DOMParser { - fun parseFromString(str : String, type : dynamic) : Document = noImpl -} -native open class XMLSerializer { - fun serializeToString(root : Node) : String = noImpl -} -native trait ServiceWorker : EventTarget { - var scriptURL : String - get() = noImpl - set(value) = noImpl - var state : String - get() = noImpl - set(value) = noImpl - var id : String - get() = noImpl - set(value) = noImpl - var onstatechange : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl - fun postMessage(message : Any, transfer : Any = noImpl) : Unit = noImpl -} -native trait ServiceWorkerContainer : EventTarget { - var controller : ServiceWorker? - get() = noImpl - set(value) = noImpl - var ready : dynamic - get() = noImpl - set(value) = noImpl - var oncontrollerchange : () -> Unit - get() = noImpl - set(value) = noImpl - var onerror : () -> Unit - get() = noImpl - set(value) = noImpl - var onmessage : () -> Unit - get() = noImpl - set(value) = noImpl - fun register(scriptURL : String, options : RegistrationOptions = noImpl) : dynamic = noImpl - fun getRegistration(clientURL : String = "") : dynamic = noImpl - fun getRegistrations() : dynamic = noImpl -} -native open class RegistrationOptions { - var scope : dynamic -} -native trait Client { - var url : String - get() = noImpl - set(value) = noImpl - var frameType : String - get() = noImpl - set(value) = noImpl - var id : String - get() = noImpl - set(value) = noImpl - fun postMessage(message : Any, transfer : Any = noImpl) : Unit = noImpl -} -native trait WindowClient : Client { - var visibilityState : dynamic - get() = noImpl - set(value) = noImpl - var focused : Boolean - get() = noImpl - set(value) = noImpl - fun focus() : dynamic = noImpl -} -native trait Clients { - fun matchAll(options : ClientQueryOptions = noImpl) : dynamic = noImpl - fun openWindow(url : String) : dynamic = noImpl - fun claim() : dynamic = noImpl -} -native open class ClientQueryOptions { - var includeUncontrolled : dynamic = false - var type : dynamic = "window" -} -native open class ExtendableEvent(type : String, eventInitDict : ExtendableEventInit = noImpl) : Event(type, eventInitDict) { - fun waitUntil(f : dynamic) : Unit = noImpl -} -native open class ExtendableEventInit : EventInit() { -} -native open class FetchEvent(type : String, eventInitDict : FetchEventInit = noImpl) : ExtendableEvent(type, eventInitDict) { - var request : Request - get() = noImpl - set(value) = noImpl - var client : Client - get() = noImpl - set(value) = noImpl - var isReload : Boolean - get() = noImpl - set(value) = noImpl - fun respondWith(r : dynamic) : Unit = noImpl -} -native open class FetchEventInit : ExtendableEventInit() { - var request : dynamic - var client : dynamic - var isReload : dynamic = false -} -native trait Cache { - fun match(request : dynamic, options : CacheQueryOptions = noImpl) : dynamic = noImpl - fun matchAll(request : dynamic = noImpl, options : CacheQueryOptions = noImpl) : dynamic = noImpl - fun add(request : dynamic) : dynamic = noImpl - fun addAll(requests : Any) : dynamic = noImpl - fun put(request : dynamic, response : Response) : dynamic = noImpl - fun delete(request : dynamic, options : CacheQueryOptions = noImpl) : dynamic = noImpl - fun keys(request : dynamic = noImpl, options : CacheQueryOptions = noImpl) : dynamic = noImpl -} -native open class CacheQueryOptions { - var ignoreSearch : dynamic = false - var ignoreMethod : dynamic = false - var ignoreVary : dynamic = false - var cacheName : dynamic -} -native open class CacheBatchOperation { - var type : dynamic - var request : dynamic - var response : dynamic - var options : dynamic -} -native trait CacheStorage { - fun match(request : dynamic, options : CacheQueryOptions = noImpl) : dynamic = noImpl - fun has(cacheName : String) : dynamic = noImpl - fun open(cacheName : String) : dynamic = noImpl - fun delete(cacheName : String) : dynamic = noImpl - fun keys() : dynamic = noImpl -} -native open class FunctionalEvent : ExtendableEvent(noImpl, noImpl) { -} -native open class Headers(init : dynamic = noImpl) { - fun append(name : String, value : String) : Unit = noImpl - fun delete(name : String) : Unit = noImpl - fun get(name : String) : String? = noImpl - fun getAll(name : String) : Any = noImpl - fun has(name : String) : Boolean = noImpl - fun set(name : String, value : String) : Unit = noImpl -} -native open class Request(input : dynamic, init : RequestInit = noImpl) { - var method : String - get() = noImpl - set(value) = noImpl - var url : String - get() = noImpl - set(value) = noImpl - var headers : Headers - get() = noImpl - set(value) = noImpl - var context : String - get() = noImpl - set(value) = noImpl - var referrer : String - get() = noImpl - set(value) = noImpl - var mode : String - get() = noImpl - set(value) = noImpl - var credentials : String - get() = noImpl - set(value) = noImpl - var cache : String - get() = noImpl - set(value) = noImpl - var redirect : String - get() = noImpl - set(value) = noImpl - var bodyUsed : Boolean - get() = noImpl - set(value) = noImpl - fun clone() : Request = noImpl - fun arrayBuffer() : dynamic = noImpl - fun blob() : dynamic = noImpl - fun formData() : dynamic = noImpl - fun json() : dynamic = noImpl - fun text() : dynamic = noImpl -} -native open class RequestInit { - var method : dynamic - var headers : dynamic - var body : dynamic - var mode : dynamic - var credentials : dynamic - var cache : dynamic - var redirect : dynamic -} -native open class Response(body : dynamic = noImpl, init : ResponseInit = noImpl) { - var type : String - get() = noImpl - set(value) = noImpl - var url : String - get() = noImpl - set(value) = noImpl - var status : Short - get() = noImpl - set(value) = noImpl - var ok : Boolean - get() = noImpl - set(value) = noImpl - var statusText : String - get() = noImpl - set(value) = noImpl - var headers : Headers - get() = noImpl - set(value) = noImpl - var bodyUsed : Boolean - get() = noImpl - set(value) = noImpl - fun clone() : Response = noImpl - fun arrayBuffer() : dynamic = noImpl - fun blob() : dynamic = noImpl - fun formData() : dynamic = noImpl - fun json() : dynamic = noImpl - fun text() : dynamic = noImpl -} -native open class ResponseInit { - var status : dynamic = 200 - var statusText : dynamic = "OK" - var headers : dynamic -} -native trait MediaList { - var mediaText : String - get() = noImpl - set(value) = noImpl - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : String? = noImpl - nativeGetter fun get(index : Int) : String? = noImpl - fun appendMedium(medium : String) : Unit = noImpl - fun deleteMedium(medium : String) : Unit = noImpl -} -native trait StyleSheet { - var type : String - get() = noImpl - set(value) = noImpl - var href : String? - get() = noImpl - set(value) = noImpl - var ownerNode : dynamic - get() = noImpl - set(value) = noImpl - var parentStyleSheet : StyleSheet? - get() = noImpl - set(value) = noImpl - var title : String? - get() = noImpl - set(value) = noImpl - var media : MediaList - get() = noImpl - set(value) = noImpl - var disabled : Boolean - get() = noImpl - set(value) = noImpl -} -native trait CSSStyleSheet : StyleSheet { - var ownerRule : CSSRule? - get() = noImpl - set(value) = noImpl - var cssRules : CSSRuleList - get() = noImpl - set(value) = noImpl - fun insertRule(rule : String, index : Int) : Int = noImpl - fun deleteRule(index : Int) : Unit = noImpl -} -native trait StyleSheetList { - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : StyleSheet? = noImpl - nativeGetter fun get(index : Int) : StyleSheet? = noImpl -} -native trait CSSRuleList { - var length : Int - get() = noImpl - set(value) = noImpl - fun item(index : Int) : CSSRule? = noImpl - nativeGetter fun get(index : Int) : CSSRule? = noImpl -} -native trait CSSRule { - var type : Short - get() = noImpl - set(value) = noImpl - var cssText : String - get() = noImpl - set(value) = noImpl - var parentRule : CSSRule? - get() = noImpl - set(value) = noImpl - var parentStyleSheet : CSSStyleSheet? - get() = noImpl - set(value) = noImpl - companion object { - val STYLE_RULE : Short = 1 - val CHARSET_RULE : Short = 2 - val IMPORT_RULE : Short = 3 - val MEDIA_RULE : Short = 4 - val FONT_FACE_RULE : Short = 5 - val PAGE_RULE : Short = 6 - val MARGIN_RULE : Short = 9 - val NAMESPACE_RULE : Short = 10 - } -} -native trait CSSStyleRule : CSSRule { - var selectorText : String - get() = noImpl - set(value) = noImpl - var style : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl -} -native trait CSSImportRule : CSSRule { - var href : String - get() = noImpl - set(value) = noImpl - var media : MediaList - get() = noImpl - set(value) = noImpl - var styleSheet : CSSStyleSheet - get() = noImpl - set(value) = noImpl -} -native trait CSSGroupingRule : CSSRule { - var cssRules : CSSRuleList - get() = noImpl - set(value) = noImpl - fun insertRule(rule : String, index : Int) : Int = noImpl - fun deleteRule(index : Int) : Unit = noImpl -} -native trait CSSMediaRule : CSSGroupingRule { - var media : MediaList - get() = noImpl - set(value) = noImpl -} -native trait CSSPageRule : CSSGroupingRule { - var selectorText : String - get() = noImpl - set(value) = noImpl - var style : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl -} -native trait CSSMarginRule : CSSRule { - var name : String - get() = noImpl - set(value) = noImpl - var style : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl -} -native trait CSSNamespaceRule : CSSRule { - var namespaceURI : String - get() = noImpl - set(value) = noImpl - var prefix : String - get() = noImpl - set(value) = noImpl -} -native trait CSSStyleDeclaration { - var cssText : String - get() = noImpl - set(value) = noImpl - var length : Int - get() = noImpl - set(value) = noImpl - var parentRule : CSSRule? - get() = noImpl - set(value) = noImpl - var cssFloat : String - get() = noImpl - set(value) = noImpl - var _dashed_attribute : String - get() = noImpl - set(value) = noImpl - var _camel_cased_attribute : String - get() = noImpl - set(value) = noImpl - fun item(index : Int) : String = noImpl - nativeGetter fun get(index : Int) : String? = noImpl - fun getPropertyValue(property : String) : String = noImpl - fun getPropertyPriority(property : String) : String = noImpl - fun setProperty(property : String, value : String, priority : String = "") : Unit = noImpl - fun setPropertyValue(property : String, value : String) : Unit = noImpl - fun setPropertyPriority(property : String, priority : String) : Unit = noImpl - fun removeProperty(property : String) : String = noImpl -} -native trait PseudoElement { - var cascadedStyle : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl - var defaultStyle : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl - var rawComputedStyle : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl - var usedStyle : CSSStyleDeclaration - get() = noImpl - set(value) = noImpl -} -native trait CSS { -} -native open class WebGLContextAttributes { - var alpha : dynamic = true - var depth : dynamic = true - var stencil : dynamic = false - var antialias : dynamic = true - var premultipliedAlpha : dynamic = true - var preserveDrawingBuffer : dynamic = false - var preferLowPowerToHighPerformance : dynamic = false - var failIfMajorPerformanceCaveat : dynamic = false -} -native trait WebGLObject { -} -native trait WebGLBuffer : WebGLObject { -} -native trait WebGLFramebuffer : WebGLObject { -} -native trait WebGLProgram : WebGLObject { -} -native trait WebGLRenderbuffer : WebGLObject { -} -native trait WebGLShader : WebGLObject { -} -native trait WebGLTexture : WebGLObject { -} -native trait WebGLUniformLocation { -} -native trait WebGLActiveInfo { - var size : Int - get() = noImpl - set(value) = noImpl - var type : Int - get() = noImpl - set(value) = noImpl - var name : String - get() = noImpl - set(value) = noImpl -} -native trait WebGLShaderPrecisionFormat { - var rangeMin : Int - get() = noImpl - set(value) = noImpl - var rangeMax : Int - get() = noImpl - set(value) = noImpl - var precision : Int - get() = noImpl - set(value) = noImpl -} -native trait WebGLRenderingContext : RenderingContext { - var canvas : HTMLCanvasElement - get() = noImpl - set(value) = noImpl - var drawingBufferWidth : Int - get() = noImpl - set(value) = noImpl - var drawingBufferHeight : Int - get() = noImpl - set(value) = noImpl - fun getContextAttributes() : WebGLContextAttributes? = noImpl - fun isContextLost() : Boolean = noImpl - fun getSupportedExtensions() : Any? = noImpl - fun getExtension(name : String) : dynamic = noImpl - fun activeTexture(texture : Int) : Unit = noImpl - fun attachShader(program : WebGLProgram?, shader : WebGLShader?) : Unit = noImpl - fun bindAttribLocation(program : WebGLProgram?, index : Int, name : String) : Unit = noImpl - fun bindBuffer(target : Int, buffer : WebGLBuffer?) : Unit = noImpl - fun bindFramebuffer(target : Int, framebuffer : WebGLFramebuffer?) : Unit = noImpl - fun bindRenderbuffer(target : Int, renderbuffer : WebGLRenderbuffer?) : Unit = noImpl - fun bindTexture(target : Int, texture : WebGLTexture?) : Unit = noImpl - fun blendColor(red : dynamic, green : dynamic, blue : dynamic, alpha : dynamic) : Unit = noImpl - fun blendEquation(mode : Int) : Unit = noImpl - fun blendEquationSeparate(modeRGB : Int, modeAlpha : Int) : Unit = noImpl - fun blendFunc(sfactor : Int, dfactor : Int) : Unit = noImpl - fun blendFuncSeparate(srcRGB : Int, dstRGB : Int, srcAlpha : Int, dstAlpha : Int) : Unit = noImpl - fun bufferData(target : Int, size : Long, usage : Int) : Unit = noImpl - fun bufferData(target : Int, data : dynamic, usage : Int) : Unit = noImpl - fun bufferSubData(target : Int, offset : Long, data : dynamic) : Unit = noImpl - fun checkFramebufferStatus(target : Int) : Int = noImpl - fun clear(mask : Int) : Unit = noImpl - fun clearColor(red : dynamic, green : dynamic, blue : dynamic, alpha : dynamic) : Unit = noImpl - fun clearDepth(depth : dynamic) : Unit = noImpl - fun clearStencil(s : Int) : Unit = noImpl - fun colorMask(red : Boolean, green : Boolean, blue : Boolean, alpha : Boolean) : Unit = noImpl - fun compileShader(shader : WebGLShader?) : Unit = noImpl - fun compressedTexImage2D(target : Int, level : Int, internalformat : Int, width : Int, height : Int, border : Int, data : dynamic) : Unit = noImpl - fun compressedTexSubImage2D(target : Int, level : Int, xoffset : Int, yoffset : Int, width : Int, height : Int, format : Int, data : dynamic) : Unit = noImpl - fun copyTexImage2D(target : Int, level : Int, internalformat : Int, x : Int, y : Int, width : Int, height : Int, border : Int) : Unit = noImpl - fun copyTexSubImage2D(target : Int, level : Int, xoffset : Int, yoffset : Int, x : Int, y : Int, width : Int, height : Int) : Unit = noImpl - fun createBuffer() : WebGLBuffer? = noImpl - fun createFramebuffer() : WebGLFramebuffer? = noImpl - fun createProgram() : WebGLProgram? = noImpl - fun createRenderbuffer() : WebGLRenderbuffer? = noImpl - fun createShader(type : Int) : WebGLShader? = noImpl - fun createTexture() : WebGLTexture? = noImpl - fun cullFace(mode : Int) : Unit = noImpl - fun deleteBuffer(buffer : WebGLBuffer?) : Unit = noImpl - fun deleteFramebuffer(framebuffer : WebGLFramebuffer?) : Unit = noImpl - fun deleteProgram(program : WebGLProgram?) : Unit = noImpl - fun deleteRenderbuffer(renderbuffer : WebGLRenderbuffer?) : Unit = noImpl - fun deleteShader(shader : WebGLShader?) : Unit = noImpl - fun deleteTexture(texture : WebGLTexture?) : Unit = noImpl - fun depthFunc(func : Int) : Unit = noImpl - fun depthMask(flag : Boolean) : Unit = noImpl - fun depthRange(zNear : dynamic, zFar : dynamic) : Unit = noImpl - fun detachShader(program : WebGLProgram?, shader : WebGLShader?) : Unit = noImpl - fun disable(cap : Int) : Unit = noImpl - fun disableVertexAttribArray(index : Int) : Unit = noImpl - fun drawArrays(mode : Int, first : Int, count : Int) : Unit = noImpl - fun drawElements(mode : Int, count : Int, type : Int, offset : Long) : Unit = noImpl - fun enable(cap : Int) : Unit = noImpl - fun enableVertexAttribArray(index : Int) : Unit = noImpl - fun finish() : Unit = noImpl - fun flush() : Unit = noImpl - fun framebufferRenderbuffer(target : Int, attachment : Int, renderbuffertarget : Int, renderbuffer : WebGLRenderbuffer?) : Unit = noImpl - fun framebufferTexture2D(target : Int, attachment : Int, textarget : Int, texture : WebGLTexture?, level : Int) : Unit = noImpl - fun frontFace(mode : Int) : Unit = noImpl - fun generateMipmap(target : Int) : Unit = noImpl - fun getActiveAttrib(program : WebGLProgram?, index : Int) : WebGLActiveInfo? = noImpl - fun getActiveUniform(program : WebGLProgram?, index : Int) : WebGLActiveInfo? = noImpl - fun getAttachedShaders(program : WebGLProgram?) : Any? = noImpl - fun getAttribLocation(program : WebGLProgram?, name : String) : Int = noImpl - fun getBufferParameter(target : Int, pname : Int) : Any = noImpl - fun getParameter(pname : Int) : Any = noImpl - fun getError() : Int = noImpl - fun getFramebufferAttachmentParameter(target : Int, attachment : Int, pname : Int) : Any = noImpl - fun getProgramParameter(program : WebGLProgram?, pname : Int) : Any = noImpl - fun getProgramInfoLog(program : WebGLProgram?) : String? = noImpl - fun getRenderbufferParameter(target : Int, pname : Int) : Any = noImpl - fun getShaderParameter(shader : WebGLShader?, pname : Int) : Any = noImpl - fun getShaderPrecisionFormat(shadertype : Int, precisiontype : Int) : WebGLShaderPrecisionFormat? = noImpl - fun getShaderInfoLog(shader : WebGLShader?) : String? = noImpl - fun getShaderSource(shader : WebGLShader?) : String? = noImpl - fun getTexParameter(target : Int, pname : Int) : Any = noImpl - fun getUniform(program : WebGLProgram?, location : WebGLUniformLocation?) : Any = noImpl - fun getUniformLocation(program : WebGLProgram?, name : String) : WebGLUniformLocation? = noImpl - fun getVertexAttrib(index : Int, pname : Int) : Any = noImpl - fun getVertexAttribOffset(index : Int, pname : Int) : Long = noImpl - fun hint(target : Int, mode : Int) : Unit = noImpl - fun isBuffer(buffer : WebGLBuffer?) : Boolean = noImpl - fun isEnabled(cap : Int) : Boolean = noImpl - fun isFramebuffer(framebuffer : WebGLFramebuffer?) : Boolean = noImpl - fun isProgram(program : WebGLProgram?) : Boolean = noImpl - fun isRenderbuffer(renderbuffer : WebGLRenderbuffer?) : Boolean = noImpl - fun isShader(shader : WebGLShader?) : Boolean = noImpl - fun isTexture(texture : WebGLTexture?) : Boolean = noImpl - fun lineWidth(width : dynamic) : Unit = noImpl - fun linkProgram(program : WebGLProgram?) : Unit = noImpl - fun pixelStorei(pname : Int, param : Int) : Unit = noImpl - fun polygonOffset(factor : dynamic, units : dynamic) : Unit = noImpl - fun readPixels(x : Int, y : Int, width : Int, height : Int, format : Int, type : Int, pixels : dynamic) : Unit = noImpl - fun renderbufferStorage(target : Int, internalformat : Int, width : Int, height : Int) : Unit = noImpl - fun sampleCoverage(value : dynamic, invert : Boolean) : Unit = noImpl - fun scissor(x : Int, y : Int, width : Int, height : Int) : Unit = noImpl - fun shaderSource(shader : WebGLShader?, source : String) : Unit = noImpl - fun stencilFunc(func : Int, ref : Int, mask : Int) : Unit = noImpl - fun stencilFuncSeparate(face : Int, func : Int, ref : Int, mask : Int) : Unit = noImpl - fun stencilMask(mask : Int) : Unit = noImpl - fun stencilMaskSeparate(face : Int, mask : Int) : Unit = noImpl - fun stencilOp(fail : Int, zfail : Int, zpass : Int) : Unit = noImpl - fun stencilOpSeparate(face : Int, fail : Int, zfail : Int, zpass : Int) : Unit = noImpl - fun texImage2D(target : Int, level : Int, internalformat : Int, width : Int, height : Int, border : Int, format : Int, type : Int, pixels : dynamic) : Unit = noImpl - fun texImage2D(target : Int, level : Int, internalformat : Int, format : Int, type : Int, source : dynamic) : Unit = noImpl - fun texParameterf(target : Int, pname : Int, param : dynamic) : Unit = noImpl - fun texParameteri(target : Int, pname : Int, param : Int) : Unit = noImpl - fun texSubImage2D(target : Int, level : Int, xoffset : Int, yoffset : Int, width : Int, height : Int, format : Int, type : Int, pixels : dynamic) : Unit = noImpl - fun texSubImage2D(target : Int, level : Int, xoffset : Int, yoffset : Int, format : Int, type : Int, source : dynamic) : Unit = noImpl - fun uniform1f(location : WebGLUniformLocation?, x : dynamic) : Unit = noImpl - fun uniform1fv(location : WebGLUniformLocation?, v : dynamic) : Unit = noImpl - fun uniform1fv(location : WebGLUniformLocation?, v : Any) : Unit = noImpl - fun uniform1i(location : WebGLUniformLocation?, x : Int) : Unit = noImpl - fun uniform1iv(location : WebGLUniformLocation?, v : dynamic) : Unit = noImpl - fun uniform1iv(location : WebGLUniformLocation?, v : Any) : Unit = noImpl - fun uniform2f(location : WebGLUniformLocation?, x : dynamic, y : dynamic) : Unit = noImpl - fun uniform2fv(location : WebGLUniformLocation?, v : dynamic) : Unit = noImpl - fun uniform2fv(location : WebGLUniformLocation?, v : Any) : Unit = noImpl - fun uniform2i(location : WebGLUniformLocation?, x : Int, y : Int) : Unit = noImpl - fun uniform2iv(location : WebGLUniformLocation?, v : dynamic) : Unit = noImpl - fun uniform2iv(location : WebGLUniformLocation?, v : Any) : Unit = noImpl - fun uniform3f(location : WebGLUniformLocation?, x : dynamic, y : dynamic, z : dynamic) : Unit = noImpl - fun uniform3fv(location : WebGLUniformLocation?, v : dynamic) : Unit = noImpl - fun uniform3fv(location : WebGLUniformLocation?, v : Any) : Unit = noImpl - fun uniform3i(location : WebGLUniformLocation?, x : Int, y : Int, z : Int) : Unit = noImpl - fun uniform3iv(location : WebGLUniformLocation?, v : dynamic) : Unit = noImpl - fun uniform3iv(location : WebGLUniformLocation?, v : Any) : Unit = noImpl - fun uniform4f(location : WebGLUniformLocation?, x : dynamic, y : dynamic, z : dynamic, w : dynamic) : Unit = noImpl - fun uniform4fv(location : WebGLUniformLocation?, v : dynamic) : Unit = noImpl - fun uniform4fv(location : WebGLUniformLocation?, v : Any) : Unit = noImpl - fun uniform4i(location : WebGLUniformLocation?, x : Int, y : Int, z : Int, w : Int) : Unit = noImpl - fun uniform4iv(location : WebGLUniformLocation?, v : dynamic) : Unit = noImpl - fun uniform4iv(location : WebGLUniformLocation?, v : Any) : Unit = noImpl - fun uniformMatrix2fv(location : WebGLUniformLocation?, transpose : Boolean, value : dynamic) : Unit = noImpl - fun uniformMatrix2fv(location : WebGLUniformLocation?, transpose : Boolean, value : Any) : Unit = noImpl - fun uniformMatrix3fv(location : WebGLUniformLocation?, transpose : Boolean, value : dynamic) : Unit = noImpl - fun uniformMatrix3fv(location : WebGLUniformLocation?, transpose : Boolean, value : Any) : Unit = noImpl - fun uniformMatrix4fv(location : WebGLUniformLocation?, transpose : Boolean, value : dynamic) : Unit = noImpl - fun uniformMatrix4fv(location : WebGLUniformLocation?, transpose : Boolean, value : Any) : Unit = noImpl - fun useProgram(program : WebGLProgram?) : Unit = noImpl - fun validateProgram(program : WebGLProgram?) : Unit = noImpl - fun vertexAttrib1f(indx : Int, x : dynamic) : Unit = noImpl - fun vertexAttrib1fv(indx : Int, values : dynamic) : Unit = noImpl - fun vertexAttrib1fv(indx : Int, values : Any) : Unit = noImpl - fun vertexAttrib2f(indx : Int, x : dynamic, y : dynamic) : Unit = noImpl - fun vertexAttrib2fv(indx : Int, values : dynamic) : Unit = noImpl - fun vertexAttrib2fv(indx : Int, values : Any) : Unit = noImpl - fun vertexAttrib3f(indx : Int, x : dynamic, y : dynamic, z : dynamic) : Unit = noImpl - fun vertexAttrib3fv(indx : Int, values : dynamic) : Unit = noImpl - fun vertexAttrib3fv(indx : Int, values : Any) : Unit = noImpl - fun vertexAttrib4f(indx : Int, x : dynamic, y : dynamic, z : dynamic, w : dynamic) : Unit = noImpl - fun vertexAttrib4fv(indx : Int, values : dynamic) : Unit = noImpl - fun vertexAttrib4fv(indx : Int, values : Any) : Unit = noImpl - fun vertexAttribPointer(indx : Int, size : Int, type : Int, normalized : Boolean, stride : Int, offset : Long) : Unit = noImpl - fun viewport(x : Int, y : Int, width : Int, height : Int) : Unit = noImpl - companion object { - val DEPTH_BUFFER_BIT : Int = 0x00000100 - val STENCIL_BUFFER_BIT : Int = 0x00000400 - val COLOR_BUFFER_BIT : Int = 0x00004000 - val POINTS : Int = 0x0000 - val LINES : Int = 0x0001 - val LINE_LOOP : Int = 0x0002 - val LINE_STRIP : Int = 0x0003 - val TRIANGLES : Int = 0x0004 - val TRIANGLE_STRIP : Int = 0x0005 - val TRIANGLE_FAN : Int = 0x0006 - val ZERO : Int = 0 - val ONE : Int = 1 - val SRC_COLOR : Int = 0x0300 - val ONE_MINUS_SRC_COLOR : Int = 0x0301 - val SRC_ALPHA : Int = 0x0302 - val ONE_MINUS_SRC_ALPHA : Int = 0x0303 - val DST_ALPHA : Int = 0x0304 - val ONE_MINUS_DST_ALPHA : Int = 0x0305 - val DST_COLOR : Int = 0x0306 - val ONE_MINUS_DST_COLOR : Int = 0x0307 - val SRC_ALPHA_SATURATE : Int = 0x0308 - val FUNC_ADD : Int = 0x8006 - val BLEND_EQUATION : Int = 0x8009 - val BLEND_EQUATION_RGB : Int = 0x8009 - val BLEND_EQUATION_ALPHA : Int = 0x883D - val FUNC_SUBTRACT : Int = 0x800A - val FUNC_REVERSE_SUBTRACT : Int = 0x800B - val BLEND_DST_RGB : Int = 0x80C8 - val BLEND_SRC_RGB : Int = 0x80C9 - val BLEND_DST_ALPHA : Int = 0x80CA - val BLEND_SRC_ALPHA : Int = 0x80CB - val CONSTANT_COLOR : Int = 0x8001 - val ONE_MINUS_CONSTANT_COLOR : Int = 0x8002 - val CONSTANT_ALPHA : Int = 0x8003 - val ONE_MINUS_CONSTANT_ALPHA : Int = 0x8004 - val BLEND_COLOR : Int = 0x8005 - val ARRAY_BUFFER : Int = 0x8892 - val ELEMENT_ARRAY_BUFFER : Int = 0x8893 - val ARRAY_BUFFER_BINDING : Int = 0x8894 - val ELEMENT_ARRAY_BUFFER_BINDING : Int = 0x8895 - val STREAM_DRAW : Int = 0x88E0 - val STATIC_DRAW : Int = 0x88E4 - val DYNAMIC_DRAW : Int = 0x88E8 - val BUFFER_SIZE : Int = 0x8764 - val BUFFER_USAGE : Int = 0x8765 - val CURRENT_VERTEX_ATTRIB : Int = 0x8626 - val FRONT : Int = 0x0404 - val BACK : Int = 0x0405 - val FRONT_AND_BACK : Int = 0x0408 - val CULL_FACE : Int = 0x0B44 - val BLEND : Int = 0x0BE2 - val DITHER : Int = 0x0BD0 - val STENCIL_TEST : Int = 0x0B90 - val DEPTH_TEST : Int = 0x0B71 - val SCISSOR_TEST : Int = 0x0C11 - val POLYGON_OFFSET_FILL : Int = 0x8037 - val SAMPLE_ALPHA_TO_COVERAGE : Int = 0x809E - val SAMPLE_COVERAGE : Int = 0x80A0 - val NO_ERROR : Int = 0 - val INVALID_ENUM : Int = 0x0500 - val INVALID_VALUE : Int = 0x0501 - val INVALID_OPERATION : Int = 0x0502 - val OUT_OF_MEMORY : Int = 0x0505 - val CW : Int = 0x0900 - val CCW : Int = 0x0901 - val LINE_WIDTH : Int = 0x0B21 - val ALIASED_POINT_SIZE_RANGE : Int = 0x846D - val ALIASED_LINE_WIDTH_RANGE : Int = 0x846E - val CULL_FACE_MODE : Int = 0x0B45 - val FRONT_FACE : Int = 0x0B46 - val DEPTH_RANGE : Int = 0x0B70 - val DEPTH_WRITEMASK : Int = 0x0B72 - val DEPTH_CLEAR_VALUE : Int = 0x0B73 - val DEPTH_FUNC : Int = 0x0B74 - val STENCIL_CLEAR_VALUE : Int = 0x0B91 - val STENCIL_FUNC : Int = 0x0B92 - val STENCIL_FAIL : Int = 0x0B94 - val STENCIL_PASS_DEPTH_FAIL : Int = 0x0B95 - val STENCIL_PASS_DEPTH_PASS : Int = 0x0B96 - val STENCIL_REF : Int = 0x0B97 - val STENCIL_VALUE_MASK : Int = 0x0B93 - val STENCIL_WRITEMASK : Int = 0x0B98 - val STENCIL_BACK_FUNC : Int = 0x8800 - val STENCIL_BACK_FAIL : Int = 0x8801 - val STENCIL_BACK_PASS_DEPTH_FAIL : Int = 0x8802 - val STENCIL_BACK_PASS_DEPTH_PASS : Int = 0x8803 - val STENCIL_BACK_REF : Int = 0x8CA3 - val STENCIL_BACK_VALUE_MASK : Int = 0x8CA4 - val STENCIL_BACK_WRITEMASK : Int = 0x8CA5 - val VIEWPORT : Int = 0x0BA2 - val SCISSOR_BOX : Int = 0x0C10 - val COLOR_CLEAR_VALUE : Int = 0x0C22 - val COLOR_WRITEMASK : Int = 0x0C23 - val UNPACK_ALIGNMENT : Int = 0x0CF5 - val PACK_ALIGNMENT : Int = 0x0D05 - val MAX_TEXTURE_SIZE : Int = 0x0D33 - val MAX_VIEWPORT_DIMS : Int = 0x0D3A - val SUBPIXEL_BITS : Int = 0x0D50 - val RED_BITS : Int = 0x0D52 - val GREEN_BITS : Int = 0x0D53 - val BLUE_BITS : Int = 0x0D54 - val ALPHA_BITS : Int = 0x0D55 - val DEPTH_BITS : Int = 0x0D56 - val STENCIL_BITS : Int = 0x0D57 - val POLYGON_OFFSET_UNITS : Int = 0x2A00 - val POLYGON_OFFSET_FACTOR : Int = 0x8038 - val TEXTURE_BINDING_2D : Int = 0x8069 - val SAMPLE_BUFFERS : Int = 0x80A8 - val SAMPLES : Int = 0x80A9 - val SAMPLE_COVERAGE_VALUE : Int = 0x80AA - val SAMPLE_COVERAGE_INVERT : Int = 0x80AB - val COMPRESSED_TEXTURE_FORMATS : Int = 0x86A3 - val DONT_CARE : Int = 0x1100 - val FASTEST : Int = 0x1101 - val NICEST : Int = 0x1102 - val GENERATE_MIPMAP_HINT : Int = 0x8192 - val BYTE : Int = 0x1400 - val UNSIGNED_BYTE : Int = 0x1401 - val SHORT : Int = 0x1402 - val UNSIGNED_SHORT : Int = 0x1403 - val INT : Int = 0x1404 - val UNSIGNED_INT : Int = 0x1405 - val FLOAT : Int = 0x1406 - val DEPTH_COMPONENT : Int = 0x1902 - val ALPHA : Int = 0x1906 - val RGB : Int = 0x1907 - val RGBA : Int = 0x1908 - val LUMINANCE : Int = 0x1909 - val LUMINANCE_ALPHA : Int = 0x190A - val UNSIGNED_SHORT_4_4_4_4 : Int = 0x8033 - val UNSIGNED_SHORT_5_5_5_1 : Int = 0x8034 - val UNSIGNED_SHORT_5_6_5 : Int = 0x8363 - val FRAGMENT_SHADER : Int = 0x8B30 - val VERTEX_SHADER : Int = 0x8B31 - val MAX_VERTEX_ATTRIBS : Int = 0x8869 - val MAX_VERTEX_UNIFORM_VECTORS : Int = 0x8DFB - val MAX_VARYING_VECTORS : Int = 0x8DFC - val MAX_COMBINED_TEXTURE_IMAGE_UNITS : Int = 0x8B4D - val MAX_VERTEX_TEXTURE_IMAGE_UNITS : Int = 0x8B4C - val MAX_TEXTURE_IMAGE_UNITS : Int = 0x8872 - val MAX_FRAGMENT_UNIFORM_VECTORS : Int = 0x8DFD - val SHADER_TYPE : Int = 0x8B4F - val DELETE_STATUS : Int = 0x8B80 - val LINK_STATUS : Int = 0x8B82 - val VALIDATE_STATUS : Int = 0x8B83 - val ATTACHED_SHADERS : Int = 0x8B85 - val ACTIVE_UNIFORMS : Int = 0x8B86 - val ACTIVE_ATTRIBUTES : Int = 0x8B89 - val SHADING_LANGUAGE_VERSION : Int = 0x8B8C - val CURRENT_PROGRAM : Int = 0x8B8D - val NEVER : Int = 0x0200 - val LESS : Int = 0x0201 - val EQUAL : Int = 0x0202 - val LEQUAL : Int = 0x0203 - val GREATER : Int = 0x0204 - val NOTEQUAL : Int = 0x0205 - val GEQUAL : Int = 0x0206 - val ALWAYS : Int = 0x0207 - val KEEP : Int = 0x1E00 - val REPLACE : Int = 0x1E01 - val INCR : Int = 0x1E02 - val DECR : Int = 0x1E03 - val INVERT : Int = 0x150A - val INCR_WRAP : Int = 0x8507 - val DECR_WRAP : Int = 0x8508 - val VENDOR : Int = 0x1F00 - val RENDERER : Int = 0x1F01 - val VERSION : Int = 0x1F02 - val NEAREST : Int = 0x2600 - val LINEAR : Int = 0x2601 - val NEAREST_MIPMAP_NEAREST : Int = 0x2700 - val LINEAR_MIPMAP_NEAREST : Int = 0x2701 - val NEAREST_MIPMAP_LINEAR : Int = 0x2702 - val LINEAR_MIPMAP_LINEAR : Int = 0x2703 - val TEXTURE_MAG_FILTER : Int = 0x2800 - val TEXTURE_MIN_FILTER : Int = 0x2801 - val TEXTURE_WRAP_S : Int = 0x2802 - val TEXTURE_WRAP_T : Int = 0x2803 - val TEXTURE_2D : Int = 0x0DE1 - val TEXTURE : Int = 0x1702 - val TEXTURE_CUBE_MAP : Int = 0x8513 - val TEXTURE_BINDING_CUBE_MAP : Int = 0x8514 - val TEXTURE_CUBE_MAP_POSITIVE_X : Int = 0x8515 - val TEXTURE_CUBE_MAP_NEGATIVE_X : Int = 0x8516 - val TEXTURE_CUBE_MAP_POSITIVE_Y : Int = 0x8517 - val TEXTURE_CUBE_MAP_NEGATIVE_Y : Int = 0x8518 - val TEXTURE_CUBE_MAP_POSITIVE_Z : Int = 0x8519 - val TEXTURE_CUBE_MAP_NEGATIVE_Z : Int = 0x851A - val MAX_CUBE_MAP_TEXTURE_SIZE : Int = 0x851C - val TEXTURE0 : Int = 0x84C0 - val TEXTURE1 : Int = 0x84C1 - val TEXTURE2 : Int = 0x84C2 - val TEXTURE3 : Int = 0x84C3 - val TEXTURE4 : Int = 0x84C4 - val TEXTURE5 : Int = 0x84C5 - val TEXTURE6 : Int = 0x84C6 - val TEXTURE7 : Int = 0x84C7 - val TEXTURE8 : Int = 0x84C8 - val TEXTURE9 : Int = 0x84C9 - val TEXTURE10 : Int = 0x84CA - val TEXTURE11 : Int = 0x84CB - val TEXTURE12 : Int = 0x84CC - val TEXTURE13 : Int = 0x84CD - val TEXTURE14 : Int = 0x84CE - val TEXTURE15 : Int = 0x84CF - val TEXTURE16 : Int = 0x84D0 - val TEXTURE17 : Int = 0x84D1 - val TEXTURE18 : Int = 0x84D2 - val TEXTURE19 : Int = 0x84D3 - val TEXTURE20 : Int = 0x84D4 - val TEXTURE21 : Int = 0x84D5 - val TEXTURE22 : Int = 0x84D6 - val TEXTURE23 : Int = 0x84D7 - val TEXTURE24 : Int = 0x84D8 - val TEXTURE25 : Int = 0x84D9 - val TEXTURE26 : Int = 0x84DA - val TEXTURE27 : Int = 0x84DB - val TEXTURE28 : Int = 0x84DC - val TEXTURE29 : Int = 0x84DD - val TEXTURE30 : Int = 0x84DE - val TEXTURE31 : Int = 0x84DF - val ACTIVE_TEXTURE : Int = 0x84E0 - val REPEAT : Int = 0x2901 - val CLAMP_TO_EDGE : Int = 0x812F - val MIRRORED_REPEAT : Int = 0x8370 - val FLOAT_VEC2 : Int = 0x8B50 - val FLOAT_VEC3 : Int = 0x8B51 - val FLOAT_VEC4 : Int = 0x8B52 - val INT_VEC2 : Int = 0x8B53 - val INT_VEC3 : Int = 0x8B54 - val INT_VEC4 : Int = 0x8B55 - val BOOL : Int = 0x8B56 - val BOOL_VEC2 : Int = 0x8B57 - val BOOL_VEC3 : Int = 0x8B58 - val BOOL_VEC4 : Int = 0x8B59 - val FLOAT_MAT2 : Int = 0x8B5A - val FLOAT_MAT3 : Int = 0x8B5B - val FLOAT_MAT4 : Int = 0x8B5C - val SAMPLER_2D : Int = 0x8B5E - val SAMPLER_CUBE : Int = 0x8B60 - val VERTEX_ATTRIB_ARRAY_ENABLED : Int = 0x8622 - val VERTEX_ATTRIB_ARRAY_SIZE : Int = 0x8623 - val VERTEX_ATTRIB_ARRAY_STRIDE : Int = 0x8624 - val VERTEX_ATTRIB_ARRAY_TYPE : Int = 0x8625 - val VERTEX_ATTRIB_ARRAY_NORMALIZED : Int = 0x886A - val VERTEX_ATTRIB_ARRAY_POINTER : Int = 0x8645 - val VERTEX_ATTRIB_ARRAY_BUFFER_BINDING : Int = 0x889F - val IMPLEMENTATION_COLOR_READ_TYPE : Int = 0x8B9A - val IMPLEMENTATION_COLOR_READ_FORMAT : Int = 0x8B9B - val COMPILE_STATUS : Int = 0x8B81 - val LOW_FLOAT : Int = 0x8DF0 - val MEDIUM_FLOAT : Int = 0x8DF1 - val HIGH_FLOAT : Int = 0x8DF2 - val LOW_INT : Int = 0x8DF3 - val MEDIUM_INT : Int = 0x8DF4 - val HIGH_INT : Int = 0x8DF5 - val FRAMEBUFFER : Int = 0x8D40 - val RENDERBUFFER : Int = 0x8D41 - val RGBA4 : Int = 0x8056 - val RGB5_A1 : Int = 0x8057 - val RGB565 : Int = 0x8D62 - val DEPTH_COMPONENT16 : Int = 0x81A5 - val STENCIL_INDEX : Int = 0x1901 - val STENCIL_INDEX8 : Int = 0x8D48 - val DEPTH_STENCIL : Int = 0x84F9 - val RENDERBUFFER_WIDTH : Int = 0x8D42 - val RENDERBUFFER_HEIGHT : Int = 0x8D43 - val RENDERBUFFER_INTERNAL_FORMAT : Int = 0x8D44 - val RENDERBUFFER_RED_SIZE : Int = 0x8D50 - val RENDERBUFFER_GREEN_SIZE : Int = 0x8D51 - val RENDERBUFFER_BLUE_SIZE : Int = 0x8D52 - val RENDERBUFFER_ALPHA_SIZE : Int = 0x8D53 - val RENDERBUFFER_DEPTH_SIZE : Int = 0x8D54 - val RENDERBUFFER_STENCIL_SIZE : Int = 0x8D55 - val FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE : Int = 0x8CD0 - val FRAMEBUFFER_ATTACHMENT_OBJECT_NAME : Int = 0x8CD1 - val FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL : Int = 0x8CD2 - val FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE : Int = 0x8CD3 - val COLOR_ATTACHMENT0 : Int = 0x8CE0 - val DEPTH_ATTACHMENT : Int = 0x8D00 - val STENCIL_ATTACHMENT : Int = 0x8D20 - val DEPTH_STENCIL_ATTACHMENT : Int = 0x821A - val NONE : Int = 0 - val FRAMEBUFFER_COMPLETE : Int = 0x8CD5 - val FRAMEBUFFER_INCOMPLETE_ATTACHMENT : Int = 0x8CD6 - val FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT : Int = 0x8CD7 - val FRAMEBUFFER_INCOMPLETE_DIMENSIONS : Int = 0x8CD9 - val FRAMEBUFFER_UNSUPPORTED : Int = 0x8CDD - val FRAMEBUFFER_BINDING : Int = 0x8CA6 - val RENDERBUFFER_BINDING : Int = 0x8CA7 - val MAX_RENDERBUFFER_SIZE : Int = 0x84E8 - val INVALID_FRAMEBUFFER_OPERATION : Int = 0x0506 - val UNPACK_FLIP_Y_WEBGL : Int = 0x9240 - val UNPACK_PREMULTIPLY_ALPHA_WEBGL : Int = 0x9241 - val CONTEXT_LOST_WEBGL : Int = 0x9242 - val UNPACK_COLORSPACE_CONVERSION_WEBGL : Int = 0x9243 - val BROWSER_DEFAULT_WEBGL : Int = 0x9244 - } -} -native open class WebGLContextEvent(type : String, eventInit : WebGLContextEventInit = noImpl) : Event(type, noImpl) { - var statusMessage : String - get() = noImpl - set(value) = noImpl -} -native open class WebGLContextEventInit : EventInit() { - var statusMessage : dynamic -} -native marker trait UnionHTMLOptGroupElementOrHTMLOptionElement { -} -native marker trait UnionElementOrMouseEvent { -} -native marker trait RenderingContext { -} -native marker trait CanvasImageSource { -} -native marker trait ImageBitmapSource { -} diff --git a/js/js.libraries/src/core/domExts.kt b/js/js.libraries/src/core/domUtils.kt similarity index 100% rename from js/js.libraries/src/core/domExts.kt rename to js/js.libraries/src/core/domUtils.kt diff --git a/js/js.libraries/src/core/domViews.kt b/js/js.libraries/src/core/domViews.kt index 9e4c4fb6950..00ac9cbcdbe 100644 --- a/js/js.libraries/src/core/domViews.kt +++ b/js/js.libraries/src/core/domViews.kt @@ -1,6 +1,6 @@ package org.w3c.dom.views -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") native public trait AbstractView { } diff --git a/js/js.libraries/src/core/htmlDom.kt b/js/js.libraries/src/core/htmlDom.kt index 1c0d5a50f40..28bdd15d0e9 100644 --- a/js/js.libraries/src/core/htmlDom.kt +++ b/js/js.libraries/src/core/htmlDom.kt @@ -3,22 +3,22 @@ package kotlin.js.dom.html import org.w3c.dom.* native -deprecated("Use kotlin.browser instead") +deprecated("Use declarations from kotlin.browser instead") public val window: Window = noImpl native -deprecated("Use kotlin.browser instead") +deprecated("Use declarations from kotlin.browser instead") public var document: HTMLDocument = noImpl -deprecated("Use org.w3c.dom instead") +deprecated("Do not use it") public native trait Object { } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait Image : HTMLImageElement { } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait Navigator { public native var userAgent: String public native var product: String @@ -44,7 +44,7 @@ public native trait Screen { public native var colorDepth: Double } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait Option { public native var defaultSelected: Boolean public native var selected: Boolean @@ -52,7 +52,7 @@ public native trait Option { public native var value: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait Location { public native var href: String public native var hash: String @@ -67,7 +67,7 @@ public native trait Location { public native fun replace(url: String): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait Event { public native var data: Array public native var height: Double @@ -88,20 +88,20 @@ public native trait Event { public native var button: Boolean } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait Selection { } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait CSSRule { public native var selectorText: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait Stylesheet { } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait History { public native fun back(): Unit public native fun forward(): Unit @@ -112,7 +112,7 @@ public native trait Console { public native fun log(message: Any): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait Window { public native val document: HTMLDocument public native val event: Event @@ -172,21 +172,21 @@ public native trait Global { public native fun unescape(): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLCollection { public native val length: Double public native fun item(index: Number): Node? public native fun namedItem(name: String): Node? } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLOptionsCollection { public native val length: Double public native fun item(index: Number): Node? public native fun namedItem(name: String): Node? } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLDocument : Document { public native fun open(): Unit public native fun write(text: String): Unit @@ -194,7 +194,7 @@ public native trait HTMLDocument : Document { public native var onunload: () -> Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLElement : Element { public native var title: String public native var lang: String @@ -228,7 +228,7 @@ public native trait HTMLElement : Element { public native var onresize: () -> Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait CSSStyleDeclaration { public native var cssText: String public native var length: Double @@ -240,17 +240,17 @@ public native trait CSSStyleDeclaration { public native fun setProperty(propertyName: String, value: String, priority: String): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLHtmlElement : HTMLElement { public native var version: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLHeadElement : HTMLElement { public native var profile: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLLinkElement : HTMLElement { public native var disabled: Boolean public native var charset: String @@ -263,12 +263,12 @@ public native trait HTMLLinkElement : HTMLElement { public native var type: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLTitleElement : HTMLElement { public native var text: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLMetaElement : HTMLElement { public native var content: String public native var httpEquiv: String @@ -276,26 +276,26 @@ public native trait HTMLMetaElement : HTMLElement { public native var scheme: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLBaseElement : HTMLElement { public native var href: String public native var target: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLIsIndexElement : HTMLElement { public native val form: HTMLFormElement public native var prompt: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLStyleElement : HTMLElement { public native var disabled: Boolean public native var media: String public native var type: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLBodyElement : HTMLElement { public native var aLink: String public native var background: String @@ -307,7 +307,7 @@ public native trait HTMLBodyElement : HTMLElement { public native var onunload: () -> Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLFormElement { public native val elements: HTMLCollection public native val length: Double @@ -321,7 +321,7 @@ public native trait HTMLFormElement { public native fun reset(): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLSelectElement : HTMLElement { public native val type: String public native var selectedIndex: Double @@ -340,13 +340,13 @@ public native trait HTMLSelectElement : HTMLElement { public native fun focus(): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLOptGroupElement : HTMLElement { public native var disabled: Boolean public native var label: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLOptionElement : HTMLElement { public native val form: HTMLFormElement public native var defaultSelected: Boolean @@ -358,7 +358,7 @@ public native trait HTMLOptionElement : HTMLElement { public native var value: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLInputElement : HTMLElement { public native var defaultValue: String public native var defaultChecked: Boolean @@ -386,7 +386,7 @@ public native trait HTMLInputElement : HTMLElement { public native var selectionEnd: Double } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLTextAreaElement : HTMLElement { public native var defaultValue: String public native val form: HTMLFormElement @@ -404,7 +404,7 @@ public native trait HTMLTextAreaElement : HTMLElement { public native fun select(): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLButtonElement : HTMLElement { public native val form: HTMLFormElement public native var accessKey: String @@ -415,104 +415,104 @@ public native trait HTMLButtonElement : HTMLElement { public native var value: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLLabelElement : HTMLElement { public native val form: HTMLFormElement public native var accessKey: String public native var htmlFor: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLFieldSetElement : HTMLElement { public native val form: HTMLFormElement } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLLegendElement : HTMLElement { public native val form: HTMLFormElement public native var accessKey: String public native var align: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLUListElement : HTMLElement { public native var compact: Boolean public native var type: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLOListElement : HTMLElement { public native var compact: Boolean public native var start: Double public native var type: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLDListElement : HTMLElement { public native var compact: Boolean } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLDirectoryElement : HTMLElement { public native var compact: Boolean } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLMenuElement : HTMLElement { public native var compact: Boolean } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLLIElement : HTMLElement { public native var type: String public native var value: Double } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLDivElement : HTMLElement { public native var align: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLParagraphElement : HTMLElement { public native var align: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLHeadingElement : HTMLElement { public native var align: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLQuoteElement : HTMLElement { public native var cite: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLPreElement : HTMLElement { public native var width: Double } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLBRElement : HTMLElement { public native var clear: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLBaseFontElement : HTMLElement { public native var color: String public native var face: String public native var size: Double } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLFontElement : HTMLElement { public native var color: String public native var face: String public native var size: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLHRElement : HTMLElement { public native var align: String public native var noShade: Boolean @@ -520,13 +520,13 @@ public native trait HTMLHRElement : HTMLElement { public native var width: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLModElement : HTMLElement { public native var cite: String public native var dateTime: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLAnchorElement : HTMLElement { public native var accessKey: String public native var charset: String @@ -544,7 +544,7 @@ public native trait HTMLAnchorElement : HTMLElement { public native fun focus(): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLImageElement : HTMLElement { public native var name: String public native var align: String @@ -562,7 +562,7 @@ public native trait HTMLImageElement : HTMLElement { public native var width: Double } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLObjectElement : HTMLElement { public native val form: HTMLFormElement public native var code: String @@ -585,7 +585,7 @@ public native trait HTMLObjectElement : HTMLElement { public native val contentDocument: Document } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLParamElement : HTMLElement { public native var name: String public native var type: String @@ -593,7 +593,7 @@ public native trait HTMLParamElement : HTMLElement { public native var valueType: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLAppletElement : HTMLElement { public native var align: String public native var alt: String @@ -608,13 +608,13 @@ public native trait HTMLAppletElement : HTMLElement { public native var width: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLMapElement : HTMLElement { public native val areas: HTMLCollection public native var name: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLAreaElement : HTMLElement { public native var accessKey: String public native var alt: String @@ -626,7 +626,7 @@ public native trait HTMLAreaElement : HTMLElement { public native var target: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLScriptElement : HTMLElement { public native var text: String public native var htmlFor: String @@ -637,7 +637,7 @@ public native trait HTMLScriptElement : HTMLElement { public native var type: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLTableElement : HTMLElement { public native var caption: HTMLTableCaptionElement public native var tHead: HTMLTableSectionElement @@ -663,12 +663,12 @@ public native trait HTMLTableElement : HTMLElement { public native fun deleteRow(index: Number): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLTableCaptionElement : HTMLElement { public native var align: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLTableColElement : HTMLElement { public native var align: String public native var ch: String @@ -678,7 +678,7 @@ public native trait HTMLTableColElement : HTMLElement { public native var width: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLTableSectionElement : HTMLElement { public native var align: String public native var ch: String @@ -689,7 +689,7 @@ public native trait HTMLTableSectionElement : HTMLElement { public native fun deleteRow(index: Number): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLTableRowElement : HTMLElement { public native val rowIndex: Double public native val sectionRowIndex: Double @@ -703,7 +703,7 @@ public native trait HTMLTableRowElement : HTMLElement { public native fun deleteCell(index: Number): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLTableCellElement : HTMLElement { public native val cellIndex: Double public native var abbr: String @@ -722,13 +722,13 @@ public native trait HTMLTableCellElement : HTMLElement { public native var width: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLFrameSetElement : HTMLElement { public native var cols: String public native var rows: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLFrameElement : HTMLElement { public native var frameBorder: String public native var longDesc: String @@ -740,7 +740,7 @@ public native trait HTMLFrameElement : HTMLElement { public native var src: String } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLIFrameElement : HTMLElement { public native var align: String public native var frameBorder: String diff --git a/js/js.libraries/src/html5/canvas.kt b/js/js.libraries/src/html5/canvas.kt index 7abe5cf289c..f07019ae19c 100644 --- a/js/js.libraries/src/html5/canvas.kt +++ b/js/js.libraries/src/html5/canvas.kt @@ -3,7 +3,7 @@ package kotlin.js.dom.html5 import kotlin.js.dom.html.HTMLElement import org.w3c.dom.Element -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait HTMLCanvasElement : HTMLElement { public var width: Double public var height: Double @@ -13,7 +13,7 @@ public native trait HTMLCanvasElement : HTMLElement { public fun toDataURL(string: String): String } -deprecated("USe org.w3c.dom instead. See CanvasRenderingContext2D") +deprecated("Use declarations from org.w3c.dom instead. See CanvasRenderingContext2D") public native trait CanvasContext { public var canvas: HTMLCanvasElement public fun save(): Unit @@ -78,12 +78,12 @@ public native trait CanvasContext { public fun putImageData(image_data: ImageData, dx: Number, dy: Number, dirtyX: Number, dirtyY: Number, dirtyWidth: Number): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait CanvasGradient { public fun addColorStop(offset: Number, color: String): Unit } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait ImageData { public var data: CanvasPixelArray public var width: Double @@ -94,7 +94,7 @@ public native trait CanvasPixelArray { public var length: Double } -deprecated("Use org.w3c.dom instead") +deprecated("Use declarations from org.w3c.dom instead") public native trait TextMetrics { public var width: Double } diff --git a/js/js.libraries/src/html5/files.kt b/js/js.libraries/src/html5/files.kt index c5f04d355d7..6de548323f0 100644 --- a/js/js.libraries/src/html5/files.kt +++ b/js/js.libraries/src/html5/files.kt @@ -1,6 +1,5 @@ package html5.files -native native deprecated("Use org.w3c.dom") public class FileReader() { @@ -9,14 +8,12 @@ public class FileReader() { public val result : File = noImpl } -native native deprecated("Use org.w3c.dom") public class FileReaderEvent() { public val target : FileReader = noImpl } -native native deprecated("Use org.w3c.dom") public class FileList() { @@ -24,7 +21,6 @@ public class FileList() { public val length : Int = noImpl } -native native deprecated("Use org.w3c.dom") public class File() : Blob() { @@ -32,7 +28,6 @@ public class File() : Blob() { // readonly attribute Date lastModifiedDate; } -native native deprecated("Use org.w3c.dom") public open class Blob(blobParts: Array? = undefined, options: BlobPropertyBag? = undefined) { @@ -44,7 +39,6 @@ public open class Blob(blobParts: Array? = undefined, options: BlobProperty // } -native native deprecated("Use org.w3c.dom") public trait BlobPropertyBag { diff --git a/js/js.libraries/src/stdlib/domCode.kt b/js/js.libraries/src/stdlib/domCode.kt index 374a3bbdbad..3ea51026052 100644 --- a/js/js.libraries/src/stdlib/domCode.kt +++ b/js/js.libraries/src/stdlib/domCode.kt @@ -3,10 +3,10 @@ package kotlin.dom import org.w3c.dom.Document import org.w3c.dom.Node -deprecated("use org.w3c.dom instead: create document directly via constructor Document() or use document.implementation.createDocument") +deprecated("use declarations from org.w3c.dom instead: create document directly via constructor Document() or use document.implementation.createDocument") public fun createDocument(): Document = Document() -deprecated("use org.w3c.dom instead") +deprecated("use member property outerHTML of Element class instead") native public val Node.outerHTML: String get() = noImpl /** Converts the node to an XML String */ diff --git a/libraries/stdlib/src/kotlin/dom/Dom.kt b/libraries/stdlib/src/kotlin/dom/Dom.kt index cf6d90b4cea..7693cf7e575 100644 --- a/libraries/stdlib/src/kotlin/dom/Dom.kt +++ b/libraries/stdlib/src/kotlin/dom/Dom.kt @@ -202,45 +202,6 @@ public fun Element.removeClass(vararg cssClasses: String): Boolean { return false } -/** - * Adds [cssClasses] to element if []condition] is true or removes it otherwise. - * Has no effect if class attribute already has corresponding content - */ -public fun Element.addOrRemoveClassWhen(condition : Boolean, vararg cssClasses : String) { - if (condition) { - addClass(*cssClasses) - } else { - removeClass(*cssClasses) - } -} - -/** - * Adds [trueClassName] class to element if [condition] is true and removes [falseClassName]. - * If [condition] is false then [trueClassName] will be removed and [falseClassName] will be added. - * Has no effect if class attribute already has corresponding content - */ -public fun Element.swapClassWhen(condition: Boolean, trueClassName: String, falseClassName: String) { - if (condition) { - addClass(trueClassName) - removeClass(falseClassName) - } else { - removeClass(trueClassName) - addClass(falseClassName) - } -} - -/** - * If [condition] is true then [attributeName] with value [attributeValue] will be added to the element, otherwise attribute with - * name [attributeName] will be removed - */ -public fun Element.addOrRemoveAttributeWhen(condition : Boolean, attributeName : String, attributeValue : String = attributeName) { - if (condition) { - setAttribute(attributeName, attributeValue) - } else { - removeAttribute(attributeName) - } -} - /** Removes all the children from this node */ public fun Node.clear() { while (hasChildNodes()) { @@ -258,9 +219,10 @@ public fun Node.removeFromParent() { private class NodeListAsList(val delegate: NodeList) : AbstractList() { override fun size(): Int = delegate.length - override fun get(index: Int): Node = - if (index in 0..size() - 1) delegate.item(index)!! - else throw IndexOutOfBoundsException("index $index is not in range [0 .. ${size() - 1})") + override fun get(index: Int): Node = when { + index in 0..size() - 1 -> delegate.item(index)!! + else -> throw IndexOutOfBoundsException("index $index is not in range [0 .. ${size() - 1})") + } } private class ElementListAsList(private val nodeList: NodeList) : AbstractList() { @@ -398,7 +360,6 @@ public fun Element.createElement(name: String, doc: Document? = null, init: Elem } /** Returns the owner document of the element or uses the provided document */ -deprecated("") public fun Node.ownerDocument(doc: Document? = null): Document { val answer = if (this.nodeType == Node.DOCUMENT_NODE) this as Document else if (doc == null) this.ownerDocument @@ -443,13 +404,13 @@ public fun Element.addText(text: String?, doc: Document? = null): Element { /** * Creates text node and append it to the element */ -public fun Element.appendText(text : String, doc : Document = this.ownerDocument!!) { +public fun Element.appendText(text: String, doc : Document = this.ownerDocument!!) { appendChild(doc.createTextNode(text)) } /** * Appends the node to the specified parent element */ -public fun Node.appendTo(parent : Element) { +public fun Node.appendTo(parent: Element) { parent.appendChild(this) } diff --git a/libraries/tools/idl2k/pom.xml b/libraries/tools/idl2k/pom.xml index 1cc8254c7fb..385c2e1fecc 100644 --- a/libraries/tools/idl2k/pom.xml +++ b/libraries/tools/idl2k/pom.xml @@ -82,15 +82,27 @@ exec-maven-plugin + download-idl java + + org.jetbrains.idl2k.dl.DlPackage + + + + idl2k + + java + + + org.jetbrains.idl2k.Idl2kPackage + - org.jetbrains.idl2k.Idl2kPackage - compile ${project.basedir} + compile diff --git a/libraries/tools/idl2k/src/main/antlr4/org/antlr/webidl/WebIDL.g4 b/libraries/tools/idl2k/src/main/antlr4/org/antlr/webidl/WebIDL.g4 index 3ea1a61afd4..7a74259c81c 100644 --- a/libraries/tools/idl2k/src/main/antlr4/org/antlr/webidl/WebIDL.g4 +++ b/libraries/tools/idl2k/src/main/antlr4/org/antlr/webidl/WebIDL.g4 @@ -42,9 +42,19 @@ grammar WebIDL; // Note: Added "wrapper" rule webIDL with EOF token. webIDL - : definitions EOF + : namespace? definitions EOF ; +namespaceScope + : '*' | 'cpp' | 'java' | 'py' | 'perl' | 'rb' | 'cocoa' | 'csharp' +; + +namespaceRest + : IDENTIFIER_WEBIDL ( '.' IDENTIFIER_WEBIDL )* + ; + +namespace + : 'namespace' namespaceScope? namespaceRest ';'; definitions : extendedAttributeList definition definitions @@ -414,6 +424,7 @@ argumentNameKeyword | 'stringifier' | 'typedef' | 'unrestricted' + | 'namespace' ; type @@ -427,7 +438,7 @@ singleType ; unionType - : '(' unionMemberType 'or' unionMemberType unionMemberTypes ')' + : '(' unionMemberType ( 'or' unionMemberType )* ')' ; unionMemberType @@ -500,12 +511,7 @@ unsignedIntegerType integerType : 'short' - | 'long' optionalLong -; - -optionalLong - : 'long' - | /* empty */ + | 'long'+ ; promiseType diff --git a/libraries/tools/idl2k/src/main/antlr4/org/antlr/webidl/test.g4 b/libraries/tools/idl2k/src/main/antlr4/org/antlr/webidl/test.g4 new file mode 100644 index 00000000000..24f3e47ab43 --- /dev/null +++ b/libraries/tools/idl2k/src/main/antlr4/org/antlr/webidl/test.g4 @@ -0,0 +1,25 @@ +grammar test; + +testme + : namespace? declarations EOF + ; + +declarations + : declaration* + ; + +namespace + : 'namespace' IDENTIFIER ';' + ; + +declaration + : 'interface' IDENTIFIER + ; + +IDENTIFIER + : [A-Za-z_][A-Za-z_0-9]* + ; + +WHITESPACE_WEBIDL + : [\t\n\r ]+ -> channel(HIDDEN) +; \ No newline at end of file diff --git a/libraries/tools/idl2k/src/main/kotlin/download.kt b/libraries/tools/idl2k/src/main/kotlin/download.kt new file mode 100644 index 00000000000..48e1748b976 --- /dev/null +++ b/libraries/tools/idl2k/src/main/kotlin/download.kt @@ -0,0 +1,92 @@ +/* + * Copyright 2010-2015 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.idl2k.dl + +import org.jsoup.Jsoup +import org.jsoup.nodes.Element +import org.jsoup.parser.Tag +import java.io.File +import java.net.URL + +val urls = listOf( + "https://raw.githubusercontent.com/whatwg/html-mirror/master/source" to "org.w3c.dom", + "https://html.spec.whatwg.org/" to "org.w3c.dom", + "https://raw.githubusercontent.com/whatwg/dom/master/dom.html" to "org.w3c.dom", + "http://www.w3.org/TR/uievents/" to "org.w3c.dom.events", + "https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html" to "org.w3c.dom", + "https://raw.githubusercontent.com/whatwg/xhr/master/Overview.src.html" to "org.w3c.xhr", + "https://raw.githubusercontent.com/w3c/FileAPI/gh-pages/index.html" to "org.w3c.files", + "https://raw.githubusercontent.com/whatwg/notifications/master/notifications.html" to "org.w3c.notifications", + "https://raw.githubusercontent.com/whatwg/fullscreen/master/Overview.src.html" to "org.w3c.fullscreen", + "http://www.w3.org/TR/DOM-Parsing/" to "org.w3c.dom.parsing", + "http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html" to "org.w3c.workers", + "https://raw.githubusercontent.com/whatwg/fetch/master/Overview.src.html" to "org.w3c.fetch", + "http://www.w3.org/TR/vibration/" to "org.w3c.vibration", + "http://dev.w3.org/csswg/cssom/" to "org.w3c.dom.css", + "https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl" to "org.khronos.webgl" +) + +fun main(args: Array) { + val dir = File("../../idl") + dir.mkdirs() + + val urlsPerFiles = urls.groupBy { it.second + ".idl" } + + urlsPerFiles.forEach { e -> + val fileName = e.key + val pkg = e.value.first().second + + File(dir, fileName).bufferedWriter().use { w -> + w.appendln("namespace ${pkg};") + w.appendln() + w.appendln() + + e.value.forEach { pair -> + val (url, _) = pair + println("Loading ${url}...") + + if (url.endsWith(".idl")) { + w.appendln(URL(url).readText()) + } else { + extractIDLText(url, w) + } + } + + w.appendln() + } + } +} + +private fun extractIDLText(url: String, out: Appendable) { + // val soup = Jsoup.connect(url).validateTLSCertificates(false).ignoreHttpErrors(true).get() + val soup = Jsoup.parse(URL(url).readText()) + fun append(it : Element) { + if (!it.tag().preserveWhitespace()) { + return append(Element(Tag.valueOf("pre"), it.baseUri()).appendChild(it)) + } + + val text = it.text() + out.appendln(text) + if (!text.trimEnd().endsWith(";")) { + out.appendln(";") + } + } + + soup.select("pre.idl").filter {!it.hasClass("extract")}.forEach(::append) + soup.select("code.idl-code").forEach(::append) + soup.select("spec-idl").forEach(::append) +} diff --git a/libraries/tools/idl2k/src/main/kotlin/gen.kt b/libraries/tools/idl2k/src/main/kotlin/gen.kt index c814435ddd8..998be95aa23 100644 --- a/libraries/tools/idl2k/src/main/kotlin/gen.kt +++ b/libraries/tools/idl2k/src/main/kotlin/gen.kt @@ -1,84 +1,124 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - package org.jetbrains.idl2k -import java.util.* +import java.util.HashSet -private val typeMapper = mapOf( - "unsignedlong" to "Int", - "unsignedlonglong" to "Long", - "longlong" to "Long", - "unsignedshort" to "Short", - "void" to "Unit", - "DOMString" to "String", - "boolean" to "Boolean", - "short" to "Short", - "long" to "Int", - "double" to "Double", - "any" to "Any", - "" to "dynamic", - "DOMTimeStamp" to "Number", - "EventHandler" to "() -> Unit", - "object" to "dynamic", - "WindowProxy" to "Window", - "Uint8ClampedArray" to "dynamic", // TODO think of native arrays, - "Function" to "() -> dynamic", - "USVString" to "String", - "ByteString" to "String", - "DOMError" to "dynamic", - "SVGMatrix" to "dynamic", - "ArrayBuffer" to "dynamic", - "Elements" to "dynamic" -) - -private fun fixDynamic(type : String) = if (type == "dynamic?") "dynamic" else type - -private fun mapType(repository: Repository, type: String) = fixDynamic(handleSpecialTypes(repository, typeMapper[type] ?: type)) - -private fun handleSpecialTypes(repository: Repository, type: String): String { - if (type.endsWith("?")) { - return mapType(repository, type.substring(0, type.length() - 1)) + "?" - } else if (type.endsWith("...")) { - return mapType(repository, type.substring(0, type.length() - 3)) - } else if (type.endsWith("[]")) { - return "Array<${mapType(repository, type.substring(0, type.length() - 2))}>" - } else if (type.startsWith("unrestricted")) { - return mapType(repository, type.substring(12)) - } else if (type.startsWith("sequence")) { - return "Any" // TODO how do we handle sequences? - } else if (type in repository.typeDefs) { - val typedef = repository.typeDefs[type]!! - - return if (!typedef.types.startsWith("Union<")) mapType(repository, typedef.types) - else if (splitUnionType(typedef.types).size() == 1) mapType(repository, splitUnionType(typedef.types).first()) - else typedef.name - } else if (type in repository.enums) { - return "String" - } else if (type.endsWith("Callback")) { - return "() -> Unit" -// } else if (type.startsWith("Union<")) { -// return "dynamic" - } else if (type.startsWith("Promise<")) { - return "dynamic" - } else if ("NoInterfaceObject" in repository.interfaces[type]?.extendedAttributes?.map {it.call} ?: emptyList()) { - return "dynamic" +private fun Operation.getterOrSetter() = this.attributes.map { it.call }.toSet().let { attributes -> + when { + "getter" in attributes -> NativeGetterOrSetter.GETTER + "setter" in attributes -> NativeGetterOrSetter.SETTER + else -> NativeGetterOrSetter.NONE } - - return type } -private fun findConstructorAttribute(iface: InterfaceDefinition) = iface.extendedAttributes.firstOrNull { it.call == "Constructor" } +fun String.ensureNullable() = when { + endsWith("?") -> this + this == "dynamic" -> this + contains("->") -> "($this)?" + else -> "$this?" +} + +fun generateFunction(repository: Repository, function: Operation, functionName: String, nativeGetterOrSetter: NativeGetterOrSetter = function.getterOrSetter()): GenerateFunction = + function.attributes.map { it.call }.toSet().let { attributes -> + GenerateFunction( + name = functionName, + returnType = mapType(repository, function.returnType).let { mapped -> if (nativeGetterOrSetter != NativeGetterOrSetter.NONE) mapped.ensureNullable() else mapped }, + arguments = function.parameters.map { + GenerateAttribute( + name = it.name, + type = mapType(repository, it.type), + initializer = it.defaultValue, + getterSetterNoImpl = false, + override = false, + readOnly = true, + vararg = it.vararg + ) + }, + nativeGetterOrSetter = nativeGetterOrSetter + ) + } + +fun generateFunctions(repository: Repository, function: Operation): List { + val realFunction = if (function.name == "") null else generateFunction(repository, function, function.name, NativeGetterOrSetter.NONE) + val getterOrSetterFunction = when (function.getterOrSetter()) { + NativeGetterOrSetter.NONE -> null + NativeGetterOrSetter.GETTER -> generateFunction(repository, function, "get") + NativeGetterOrSetter.SETTER -> generateFunction(repository, function, "set") + } + + return listOf(realFunction, getterOrSetterFunction).filterNotNull() +} + +fun generateAttribute(putNoImpl: Boolean, repository: Repository, attribute: Attribute): GenerateAttribute = + GenerateAttribute(attribute.name, + type = mapType(repository, attribute.type), + initializer = attribute.defaultValue, + getterSetterNoImpl = putNoImpl, + readOnly = attribute.readOnly, + override = false, + vararg = attribute.vararg + ) + +private fun InterfaceDefinition.superTypes(repository: Repository) = superTypes.map { repository.interfaces[it] }.filterNotNull() +private fun resolveDefinitionType(repository: Repository, iface: InterfaceDefinition, constructor: ExtendedAttribute? = iface.findConstructor()): GenerateDefinitionKind = + if (iface.dictionary || constructor != null || iface.superTypes(repository).any { resolveDefinitionType(repository, it) == GenerateDefinitionKind.CLASS }) { + GenerateDefinitionKind.CLASS + } + else { + GenerateDefinitionKind.TRAIT + } + +private fun InterfaceDefinition.mapAttributes(repository: Repository) = attributes.map { generateAttribute(!dictionary, repository, it) } +private fun InterfaceDefinition.mapOperations(repository: Repository) = operations.flatMap { generateFunctions(repository, it) } +private fun Constant.mapConstant(repository : Repository) = GenerateAttribute(name, mapType(repository, type), value, false, true, false, false) + +fun generateTrait(repository: Repository, iface: InterfaceDefinition): GenerateTraitOrClass { + val constructor = iface.findConstructor() + val constructorFunction = generateFunction(repository, Operation("", "Unit", constructor?.arguments ?: emptyList(), emptyList()), functionName = "", nativeGetterOrSetter = NativeGetterOrSetter.NONE) + val constructorArgumentNames = constructorFunction.arguments.map { it.name }.toSet() + + val constructorSuperCalls = iface.superTypes + .map { repository.interfaces[it] } + .filterNotNull() + .filter { resolveDefinitionType(repository, it) == GenerateDefinitionKind.CLASS } + .map { + val superConstructor = it.findConstructor() + GenerateFunctionCall( + name = it.name, + arguments = if (superConstructor == null) { + emptyList() + } else { + superConstructor.arguments.map { arg -> + if (arg.name in constructorArgumentNames) arg.name else "noImpl" + } + } + ) + } + + val entityType = resolveDefinitionType(repository, iface, constructor) + val extensions = repository.externals[iface.name]?.map { repository.interfaces[it] }?.filterNotNull() ?: emptyList() + + return GenerateTraitOrClass(iface.name, iface.namespace, entityType, iface.superTypes, + memberAttributes = (iface.mapAttributes(repository) + extensions.flatMap { it.mapAttributes(repository) }).distinct().toList(), + memberFunctions = (iface.mapOperations(repository) + extensions.flatMap { it.mapOperations(repository) }).distinct().toList(), + constants = (iface.constants.map {it.mapConstant(repository)} + extensions.flatMap { it.constants.map {it.mapConstant(repository)} }.distinct().toList()), + constructor = constructorFunction, + superConstructorCalls = constructorSuperCalls + ) +} + +fun mapUnionType(it : UnionType) = GenerateTraitOrClass( + name = it.name, + namespace = it.namespace, + kind = GenerateDefinitionKind.TRAIT, + superTypes = emptyList(), + memberAttributes = emptyList(), + memberFunctions = emptyList(), + constants = emptyList(), + constructor = null, + superConstructorCalls = emptyList() +) + +fun generateUnionTypeTraits(allUnionTypes : Iterable): List = allUnionTypes.map(::mapUnionType) + +fun mapDefinitions(repository: Repository, definitions: Iterable) = + definitions.filter { "NoInterfaceObject" !in it.extendedAttributes.map { it.call } }.map { generateTrait(repository, it) } diff --git a/libraries/tools/idl2k/src/main/kotlin/gen2.kt b/libraries/tools/idl2k/src/main/kotlin/gen2.kt deleted file mode 100644 index f7b055168b7..00000000000 --- a/libraries/tools/idl2k/src/main/kotlin/gen2.kt +++ /dev/null @@ -1,298 +0,0 @@ -package org.jetbrains.idl2k - -import java.math.BigInteger -import java.util.* -import kotlin.support.AbstractIterator - -private fun Operation.getterOrSetter() = this.attributes.map { it.call }.toSet().let { attributes -> - when { - "getter" in attributes -> NativeGetterOrSetter.GETTER - "setter" in attributes -> NativeGetterOrSetter.SETTER - else -> NativeGetterOrSetter.NONE - } -} - -private fun String.ensureNullable() = if (this.endsWith("?") || this == "dynamic") this else this + "?" - -fun generateFunction1(repository: Repository, function: Operation, functionName: String, nativeGetterOrSetter: Boolean): GenerateFunction = - function.attributes.map { it.call }.toSet().let { attributes -> - GenerateFunction( - name = functionName, - returnType = mapType(repository, function.returnType).let { mapped -> if (nativeGetterOrSetter) mapped.ensureNullable() else mapped }, - arguments = function.parameters.map { - GenerateAttribute( - name = it.name, - type = mapType(repository, it.type), - initializer = it.defaultValue, - getterSetterNoImpl = false, - override = false, - readOnly = true, - vararg = it.vararg - ) - }, - native = if (nativeGetterOrSetter) function.getterOrSetter() else NativeGetterOrSetter.NONE - ) - } - -fun generateFunction(repository: Repository, function: Operation): List { - val realFunction = if (function.name == "") null else generateFunction1(repository, function, function.name, false) - val getterOrSetterFunction = when (function.getterOrSetter()) { - NativeGetterOrSetter.NONE -> null - NativeGetterOrSetter.GETTER -> generateFunction1(repository, function, "get", true) - NativeGetterOrSetter.SETTER -> generateFunction1(repository, function, "set", true) - } - - return listOf(realFunction, getterOrSetterFunction).filterNotNull() -} - -fun generateAttribute(putNoImpl: Boolean, repository: Repository, attribute: Attribute): GenerateAttribute = - GenerateAttribute(attribute.name, - type = mapType(repository, attribute.type), - initializer = attribute.defaultValue, - getterSetterNoImpl = putNoImpl, - readOnly = attribute.readOnly, - override = false, - vararg = attribute.vararg - ) - -private fun InterfaceDefinition.findConstructor() = extendedAttributes.firstOrNull { it.call == "Constructor" } - -private fun InterfaceDefinition.superTypes(repository: Repository) = superTypes.map { repository.interfaces[it] }.filterNotNull() -private fun resolveDefinitionType(repository: Repository, iface: InterfaceDefinition, constructor: ExtendedAttribute? = findConstructorAttribute(iface)): GenerateDefinitionType = - if (iface.dictionary || constructor != null || iface.superTypes(repository).any { resolveDefinitionType(repository, it) == GenerateDefinitionType.CLASS }) GenerateDefinitionType.CLASS - else GenerateDefinitionType.TRAIT - -private fun InterfaceDefinition.mapAttributes(repository: Repository) = attributes.map { generateAttribute(!dictionary, repository, it) } -private fun InterfaceDefinition.mapOperations(repository: Repository) = operations.flatMap { generateFunction(repository, it) } -private fun Constant.mapConstant(repository : Repository) = GenerateAttribute(name, mapType(repository, type), value, false, true, false, false) - -fun generateTrait(repository: Repository, iface: InterfaceDefinition): GenerateTraitOrClass { - val constructor = iface.findConstructor() - val parentTypes = iface.superTypes.map { repository.interfaces[it] }.filterNotNull().map { it to resolveDefinitionType(repository, it) } - val constructorFunction = generateFunction1(repository, Operation("", "Unit", constructor?.arguments ?: emptyList(), emptyList()), "", false) - val constructorArgumentNames = constructorFunction.arguments.map { it.name }.toSet() - - val constructorSuperCalls = parentTypes.filter { it.second == GenerateDefinitionType.CLASS }.map { it.first }.map { - val superConstructor = it.findConstructor() - GenerateFunctionCall(name = it.name, - arguments = if (superConstructor == null) emptyList() else - superConstructor.arguments.map { arg -> - if (arg.name in constructorArgumentNames) arg.name - else "noImpl" - } - ) - } - - val entityType = resolveDefinitionType(repository, iface, constructor) - val extensions = repository.externals[iface.name]?.map { repository.interfaces[it] }?.filterNotNull() ?: emptyList() - - return GenerateTraitOrClass(iface.name, entityType, iface.superTypes, - memberAttributes = (iface.mapAttributes(repository) + extensions.flatMap { it.mapAttributes(repository) }).distinct().toList(), - memberFunctions = (iface.mapOperations(repository) + extensions.flatMap { it.mapOperations(repository) }).distinct().toList(), - constnats = (iface.constants.map {it.mapConstant(repository)} + extensions.flatMap { it.constants.map {it.mapConstant(repository)} }.distinct().toList()), - constructor = constructorFunction, - superConstructorCalls = constructorSuperCalls - ) -} - -private fun splitUnionType(unionType: String) = - unionType.split("[>]*,(Union<)*".toRegex()).toList().filter { it != "" }.map { it.removePrefix("Union<").replaceAll(">*$", "") }.distinct() - -private fun GenerateFunction?.allTypes() = if (this != null) sequenceOf(returnType) + arguments.asSequence().map { it.type } else emptySequence() - -class UnionType(types : Collection) { - val types = HashSet(types) - val name = "Union${this.types.sort().joinToString("Or")}" - - fun contains(type : String) = type in types - - override fun equals(other: Any?): Boolean = other is UnionType && name == other.name - override fun hashCode(): Int = name.hashCode() - override fun toString(): String = name -} - -private fun collectUnionTypes(allTypes: Map) = - allTypes.values().asSequence() - .flatMap { - it.constructor.allTypes() + - it.memberAttributes.asSequence().map { it.type } + - it.memberFunctions.asSequence().flatMap { it.allTypes() } - } - .filter { it.startsWith("Union<") } - .map { splitUnionType(it) } - .filter { it.all { unionMember -> unionMember in allTypes } } - .toSet() - .map { UnionType(it) } - -fun mapUnionType(it : UnionType) = GenerateTraitOrClass( - name = it.name, - type = GenerateDefinitionType.TRAIT, - superTypes = emptyList(), - memberAttributes = emptyList(), - memberFunctions = emptyList(), - constnats = emptyList(), - constructor = null, - superConstructorCalls = emptyList() -) - -fun generateUnionTypeTraits(allUnionTypes : Iterable): List = allUnionTypes.map(::mapUnionType) - -fun mapDefinitions(repository: Repository, definitions: Iterable) = - definitions.filter { "NoInterfaceObject" !in it.extendedAttributes.map { it.call } }.map { generateTrait(repository, it) } - - -private fun O.indent(level : Int) { - for (i in 1..level) { - append(" ") - } -} - -private fun O.renderAttributeDeclaration(allTypes: Set, arg: GenerateAttribute, override: Boolean, level : Int = 1) { - indent(level) - - if (override) { - append("override ") - } - - append(if (arg.readOnly) "val" else "var") - append(" ") - append(arg.name) - append(" : ") - append(arg.type.mapUnknownType(allTypes)) - if (arg.initializer != null) { - append(" = ") - append(arg.initializer) - } - - appendln() - if (arg.getterNoImpl) { - indent(level + 1) - appendln("get() = noImpl") - } - if (arg.setterNoImpl) { - indent(level + 1) - appendln("set(value) = noImpl") - } -} - - -fun GenerateTraitOrClass.allSuperTypes(all: Map) = HashSet().let { result -> allSuperTypesImpl(listOf(this), all, result); result.toList() } - -tailRecursive -private fun allSuperTypesImpl(roots: List, all: Map, result: HashSet) { - if (roots.isNotEmpty()) { - allSuperTypesImpl(roots.flatMap { it.superTypes }.map { all[it] }.filterNotNull().filter { result.add(it) }, all, result) - } -} - -private fun String.mapUnknownType(allTypes: Set, standardTypes: Set = typeMapper.values().toSet()): String = - if (this.endsWith("?")) (this.substring(0, length() - 1).mapUnknownType(allTypes, standardTypes) + "?").replace("dynamic?", "dynamic") - else if (this.startsWith("Union<")) UnionType(splitUnionType(this)).name.mapUnknownType(allTypes, standardTypes) - else if (this in allTypes || this in standardTypes) this else "dynamic" - -private fun String.parse() = if (this.startsWith("0x")) BigInteger(this.substring(2), 16) else BigInteger(this) -private fun String.replaceInitializer(type: String) = if (this == "noImpl" || type == "Int" && parse() > BigInteger.valueOf(Int.MAX_VALUE.toLong())) "noImpl" else this - -private fun O.renderArgumentsDeclaration(allTypes: Set, args: List, omitDefaults: Boolean) = - args.map { "${if (it.vararg) "vararg " else ""}${it.name} : ${it.type.mapUnknownType(allTypes)}${if (omitDefaults || it.initializer == null) "" else " = ${it.initializer.replaceInitializer(it.type)}"}" }.joinTo(this, ", ") - -private fun renderCall(call: GenerateFunctionCall) = "${call.name}(${call.arguments.join(", ")})" - -private fun O.renderFunction(allTypes: Set, f: GenerateFunction, override: Boolean) { - indent(1) - - when (f.native) { - NativeGetterOrSetter.GETTER -> append("nativeGetter ") - NativeGetterOrSetter.GETTER -> append("nativeSetter ") - } - - if (override) { - append("override ") - } - - append("fun ${f.name}(") - renderArgumentsDeclaration(allTypes, f.arguments, override) - appendln(") : ${f.returnType.mapUnknownType(allTypes)} = noImpl") -} - -fun O.render(allTypes: Map, classesToUnions : Map>, iface: GenerateTraitOrClass, markerAnnotation : Boolean = false) { - val superTypes = iface.allSuperTypes(allTypes).filter { it.name != "" } - val superTypesNames = superTypes.map { it.name }.toSet() - - append("native ") - if (markerAnnotation) { - append("marker ") - } - when (iface.type) { - GenerateDefinitionType.CLASS -> append("open class ") - GenerateDefinitionType.TRAIT -> append("trait ") - } - - append(iface.name) - if (iface.constructor != null && iface.constructor.arguments.isNotEmpty()) { - append("(") - renderArgumentsDeclaration(allTypes.keySet(), iface.constructor.arguments, false) - append(")") - } - - val superCalls = iface.superConstructorCalls.map { it.name }.toSet() - val superTypesWithCalls = - iface.superConstructorCalls.filter { it.name in superTypesNames }.map { renderCall(it) } + - iface.superTypes.filter { it !in superCalls && it in superTypesNames } + - (classesToUnions[iface.name] ?: emptyList()) - - if (superTypesWithCalls.isNotEmpty()) { - superTypesWithCalls.joinTo(this, ", ", " : ") - } - - appendln (" {") - - val superAttributes = superTypes.flatMap { it.memberAttributes }.distinct() - val superFunctions = superTypes.flatMap { it.memberFunctions }.distinct() - val superProtos = superAttributes.map { it.proto } merge superFunctions.map { it.proto } - - iface.memberAttributes.filter { it !in superAttributes }.forEach { arg -> - renderAttributeDeclaration(allTypes.keySet(), arg, arg.proto in superProtos) - } - iface.memberFunctions.filter { it !in superFunctions }.forEach { - renderFunction(allTypes.keySet(), it, it.proto in superProtos) - } - if (iface.constnats.isNotEmpty()) { - indent(1) - appendln("companion object {") - iface.constnats.forEach { - renderAttributeDeclaration(allTypes.keySet(), it, override = false, level = 2) - } - indent(1) - appendln("}") - } - - appendln("}") -} - -fun O.render(ifaces: List, typedefs : Iterable) { - val all = ifaces.groupBy { it.name }.mapValues { it.getValue().single() } - val unionTypes = collectUnionTypes(all) - val unionTypeTraits = generateUnionTypeTraits(unionTypes) - val allUnions = unionTypeTraits.groupBy { it.name }.mapValues { it.getValue().single() } - val typedefsToBeGenerated = typedefs.filter {it.types.startsWith("Union<")} - .map { UnionType(splitUnionType(it.types)) to it.name } - .filter { it.first.types.all { type -> type in all} } - val typedefsClasses = typedefsToBeGenerated.groupBy { it.second }.mapValues { mapUnionType(it.value.first().first).copy(name = it.key) } - - val classesToUnions = unionTypes.flatMap { unionType -> unionType.types.map { it to unionType } }.groupBy { it.first }.mapValues { it.getValue().map { it.second.name} } + - typedefsToBeGenerated.flatMap { typedef -> typedef.first.types.map { it to typedef.second } }.groupBy { it.first }.mapValues { it.getValue().map {it.second} } - - val allTypes = all + allUnions + typedefsClasses - ifaces.forEach { - render(allTypes, classesToUnions, it) - } - - unionTypeTraits.forEach { - render(allTypes, emptyMap(), it, markerAnnotation = true) - } - - typedefsClasses.values().forEach { - render(allTypes, emptyMap(), it, markerAnnotation = true) - } -} diff --git a/libraries/tools/idl2k/src/main/kotlin/htmls.kt b/libraries/tools/idl2k/src/main/kotlin/htmls.kt deleted file mode 100644 index c0ee61f0b12..00000000000 --- a/libraries/tools/idl2k/src/main/kotlin/htmls.kt +++ /dev/null @@ -1,56 +0,0 @@ -package org.jetbrains.idl2k - -import org.jsoup.Jsoup -import org.jsoup.nodes.Element -import org.jsoup.parser.Tag -import java.net.URL - -val urls = listOf( - "https://raw.githubusercontent.com/whatwg/html-mirror/master/source", - "https://html.spec.whatwg.org/", - "https://raw.githubusercontent.com/whatwg/dom/master/dom.html", - "http://www.w3.org/TR/uievents/", - "https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html", - "https://raw.githubusercontent.com/whatwg/xhr/master/Overview.src.html", - "https://raw.githubusercontent.com/w3c/FileAPI/gh-pages/index.html", - "https://raw.githubusercontent.com/whatwg/notifications/master/notifications.html", - "https://raw.githubusercontent.com/whatwg/fullscreen/master/Overview.src.html", - "http://www.w3.org/TR/DOM-Parsing/", - "http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html", - "https://raw.githubusercontent.com/whatwg/fetch/master/Overview.src.html", - "http://www.w3.org/TR/vibration/", - "http://dev.w3.org/csswg/cssom/", - "https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl" -) - -private fun extractIDLText(url: String, out: StringBuilder) { -// val soup = Jsoup.connect(url).validateTLSCertificates(false).ignoreHttpErrors(true).get() - val soup = Jsoup.parse(URL(url).readText()) - fun append(it : Element) { - if (!it.tag().preserveWhitespace()) { - return append(Element(Tag.valueOf("pre"), it.baseUri()).appendChild(it)) - } - - val text = it.text() - out.appendln(text) - if (!text.trimEnd().endsWith(";")) { - out.appendln(";") - } - } - - soup.select("pre.idl").filter {!it.hasClass("extract")}.forEach(::append) - soup.select("code.idl-code").forEach(::append) - soup.select("spec-idl").forEach(::append) -} - -fun getAllIDLs(): String = - StringBuilder { - urls.forEach { - if (it.endsWith(".idl")) { - appendln(URL(it).readText()) - } else { - extractIDLText(it, this) - } - } - }.toString() - diff --git a/libraries/tools/idl2k/src/main/kotlin/idl.kt b/libraries/tools/idl2k/src/main/kotlin/idl.kt index 00422fee4ea..b49cb96f6b2 100644 --- a/libraries/tools/idl2k/src/main/kotlin/idl.kt +++ b/libraries/tools/idl2k/src/main/kotlin/idl.kt @@ -16,14 +16,11 @@ package org.jetbrains.idl2k +import org.antlr.v4.runtime.* import org.antlr.webidl.WebIDLBaseListener import org.antlr.webidl.WebIDLLexer import org.antlr.webidl.WebIDLParser import org.antlr.webidl.WebIDLParser.* -import org.antlr.v4.runtime.ANTLRInputStream -import org.antlr.v4.runtime.BufferedTokenStream -import org.antlr.v4.runtime.CommonTokenStream -import org.antlr.v4.runtime.ParserRuleContext import org.antlr.v4.runtime.tree.TerminalNode import org.antlr.webidl.WebIDLBaseVisitor import org.jsoup.Jsoup @@ -46,10 +43,10 @@ enum class DefinitionType { DICTIONARY } trait Definition -data class TypedefDefinition(val types: String, val name: String) : Definition -data class InterfaceDefinition(val name : String, val extendedAttributes: List, val operations : List, val attributes : List, val superTypes : List, val constants : List, val dictionary : Boolean = false) : Definition -data class ExtensionInterfaceDefinition(val name : String, val implements : String) : Definition -data class EnumDefinition(val name : String) : Definition +data class TypedefDefinition(val types: String, val namespace : String, val name: String) : Definition +data class InterfaceDefinition(val name : String, val namespace : String, val extendedAttributes: List, val operations : List, val attributes : List, val superTypes : List, val constants : List, val dictionary : Boolean = false) : Definition +data class ExtensionInterfaceDefinition(val namespace : String, val name : String, val implements : String) : Definition +data class EnumDefinition(val namespace : String, val name : String) : Definition class ExtendedAttributeArgumentsParser : WebIDLBaseVisitor>() { private val arguments = ArrayList() @@ -132,6 +129,11 @@ class TypeVisitor : WebIDLBaseVisitor() { return type } + override fun visitTypeSuffix(ctx: TypeSuffixContext): String { + type += ctx.getText() + return type + } + override fun visitTerminal(node: TerminalNode): String { type = node.getText() return type @@ -248,7 +250,7 @@ class ConstantVisitor(val attributes : List) : WebIDLBaseVisi } } -class DefinitionVisitor(val extendedAttributes: List) : WebIDLBaseVisitor() { +class DefinitionVisitor(val extendedAttributes: List, val namespace : String) : WebIDLBaseVisitor() { private var type : DefinitionType = DefinitionType.INTERFACE private var name = "" private val memberAttributes = ArrayList() @@ -261,11 +263,11 @@ class DefinitionVisitor(val extendedAttributes: List) : WebID private val constants = ArrayList() override fun defaultResult(): Definition = when(type) { - DefinitionType.INTERFACE -> InterfaceDefinition(name, extendedAttributes, operations, attributes, inherited, constants) - DefinitionType.DICTIONARY -> InterfaceDefinition(name, extendedAttributes, operations, attributes, inherited, constants, true) - DefinitionType.EXTENSION_INTERFACE -> ExtensionInterfaceDefinition(name, implements ?: "") - DefinitionType.TYPEDEF -> TypedefDefinition(typedefType ?: "", name) - DefinitionType.ENUM -> EnumDefinition(name) + DefinitionType.INTERFACE -> InterfaceDefinition(name, namespace, extendedAttributes, operations, attributes, inherited, constants) + DefinitionType.DICTIONARY -> InterfaceDefinition(name, namespace, extendedAttributes, operations, attributes, inherited, constants, true) + DefinitionType.EXTENSION_INTERFACE -> ExtensionInterfaceDefinition(namespace, name, implements ?: "") + DefinitionType.TYPEDEF -> TypedefDefinition(typedefType ?: "", namespace, name) + DefinitionType.ENUM -> EnumDefinition(namespace, name) } override fun visitInterface_(ctx: Interface_Context) : Definition { @@ -322,7 +324,7 @@ class DefinitionVisitor(val extendedAttributes: List) : WebID ?.first { it.getText() != "" } ?.getText() - val type = TypeVisitor().visit(ctx) + val type = TypeVisitor().visit(ctx.children.first {it is TypeContext}) val defaultValue = object : WebIDLBaseVisitor() { private var value : String? = null @@ -404,8 +406,8 @@ class DefinitionVisitor(val extendedAttributes: List) : WebID private fun getName(ctx: ParserRuleContext) = ctx.children.first {it is TerminalNode && it.getSymbol().getType() == WebIDLLexer.IDENTIFIER_WEBIDL}.getText() -fun parseIDL(reader : Reader) : Repository { - val ll = WebIDLLexer(ANTLRInputStream(reader)) +fun parseIDL(reader : CharStream) : Repository { + val ll = WebIDLLexer(reader) val pp = WebIDLParser(CommonTokenStream(ll)) val idl = pp.webIDL() @@ -414,9 +416,10 @@ fun parseIDL(reader : Reader) : Repository { idl.accept(object : WebIDLBaseVisitor() { val extendedAttributes = ArrayList() + var namespace = "" override fun visitDefinition(ctx: WebIDLParser.DefinitionContext) { - val declaration = DefinitionVisitor(extendedAttributes.toList()).visitChildren(ctx) + val declaration = DefinitionVisitor(extendedAttributes.toList(), namespace).visitChildren(ctx) extendedAttributes.clear() declarations.add(declaration) } @@ -428,6 +431,10 @@ fun parseIDL(reader : Reader) : Repository { extendedAttributes.add(att) } + + override fun visitNamespaceRest(ctx: NamespaceRestContext) { + this.namespace = ctx.getText() + } }) return Repository( @@ -441,7 +448,7 @@ fun parseIDL(reader : Reader) : Repository { fun merge(i1 : InterfaceDefinition, i2 : InterfaceDefinition) : InterfaceDefinition { require(i1.name == i2.name) - return InterfaceDefinition(i1.name, + return InterfaceDefinition(i1.name, i1.namespace, extendedAttributes = i1.extendedAttributes merge i2.extendedAttributes, operations = i1.operations merge i2.operations, attributes = i1.attributes merge i2.attributes, diff --git a/libraries/tools/idl2k/src/main/kotlin/main.kt b/libraries/tools/idl2k/src/main/kotlin/main.kt index 713017dafe6..2a88a749aa3 100644 --- a/libraries/tools/idl2k/src/main/kotlin/main.kt +++ b/libraries/tools/idl2k/src/main/kotlin/main.kt @@ -1,36 +1,71 @@ package org.jetbrains.idl2k +import org.antlr.v4.runtime.ANTLRFileStream import java.io.File import java.io.StringReader +import java.util.* fun main(args: Array) { - val idl = getAllIDLs() - val defs = parseIDL(StringReader(idl)) + val outDir = File("../../../js/js.libraries/src/generated") + val srcDir = File("../../idl") + if (!srcDir.exists()) { + System.err?.println("Directory ${srcDir.getAbsolutePath()} doesn't exist") + System.exit(1) + return + } + outDir.deleteRecursively() + outDir.mkdirs() - println("IDL dump:") - idl.lineSequence().forEachIndexed { i, line -> - println("${i.toString().padStart(4, ' ')}: ${line}") + val repository = srcDir.walkTopDown().filter { it.isDirectory() || it.extension == "idl" }.asSequence().filter {it.isFile()}.fold(Repository(emptyMap(), emptyMap(), emptyMap(), emptyMap())) { acc, e -> + val fileRepository = parseIDL(ANTLRFileStream(e.getAbsolutePath(), "UTF-8")) + + Repository( + interfaces = acc.interfaces + fileRepository.interfaces, + typeDefs = acc.typeDefs + fileRepository.typeDefs, + externals = acc.externals merge fileRepository.externals, + enums = acc.enums + fileRepository.enums + ) } - println() - defs.typeDefs.values().forEach { typedef -> - println(typedef) - } + val definitions = mapDefinitions(repository, repository.interfaces.values()) + val allPackages = definitions.map { it.namespace }.distinct().sort() - val definitions = mapDefinitions(defs, defs.interfaces.values()) + allPackages.forEach { pkg -> + File(outDir, pkg + ".kt").bufferedWriter().use { w -> + w.appendln("/*") + w.appendln(" * Generated file") + w.appendln(" * DO NOT EDIT") + w.appendln(" * ") + w.appendln(" * See libraries/tools/idl2k for details") + w.appendln(" */") - File("../../../js/js.libraries/src/core/dom.kt").writer().use { w -> - w.appendln("/*") - w.appendln(" * Generated file") - w.appendln(" * DO NOT EDIT") - w.appendln(" * ") - w.appendln(" * See libraries/tools/idl2k for details") - w.appendln(" */") + w.appendln() + w.appendln("package ${pkg}") + w.appendln() - w.appendln() - w.appendln("package org.w3c.dom") - w.appendln() + allPackages.filter {it != pkg}.forEach { import -> + w.appendln("import ${import}.*") + } + w.appendln() - w.render(definitions, defs.typeDefs.values()) + w.render(pkg, definitions, repository.typeDefs.values()) + } } } + +private fun Map>.merge(other : Map>) : Map> { + val result = LinkedHashMap>(size() + other.size()) + this.forEach { + result[it.key] = ArrayList(it.value) + } + other.forEach { + val list = result[it.key] + if (list == null) { + result[it.key] = ArrayList(it.value) + } else { + list.addAll(it.value) + } + } + + return result +} \ No newline at end of file diff --git a/libraries/tools/idl2k/src/main/kotlin/model.kt b/libraries/tools/idl2k/src/main/kotlin/model.kt index 4c088ddf36c..1e771703ed9 100644 --- a/libraries/tools/idl2k/src/main/kotlin/model.kt +++ b/libraries/tools/idl2k/src/main/kotlin/model.kt @@ -16,6 +16,10 @@ package org.jetbrains.idl2k +import java.util.HashSet + +data class NamedValue(val name: String, val value: V) + data class Repository( val interfaces: Map, val typeDefs: Map, @@ -23,14 +27,14 @@ data class Repository( val enums: Map ) -data class GenerateAttribute(val name: String, val type: String, val initializer: String?, val getterSetterNoImpl: Boolean, val readOnly: Boolean, val override: Boolean, var vararg : Boolean) { - val getterNoImpl: Boolean - get() = getterSetterNoImpl - val setterNoImpl: Boolean - get() = getterSetterNoImpl && !readOnly -} +data class GenerateAttribute(val name: String, val type: String, val initializer: String?, val getterSetterNoImpl: Boolean, val readOnly: Boolean, val override: Boolean, var vararg: Boolean) -val GenerateAttribute.proto : String +val GenerateAttribute.getterNoImpl: Boolean + get() = getterSetterNoImpl +val GenerateAttribute.setterNoImpl: Boolean + get() = getterSetterNoImpl && !readOnly + +val GenerateAttribute.signature: String get() = "$name:$type" enum class NativeGetterOrSetter { @@ -39,20 +43,53 @@ enum class NativeGetterOrSetter { SETTER } -enum class GenerateDefinitionType { +enum class GenerateDefinitionKind { TRAIT CLASS } -data class GenerateFunction(val name: String, val returnType: String, val arguments: List, val native : NativeGetterOrSetter) + +class UnionType(val namespace: String, types: Collection) { + val memberTypes = HashSet(types) + val name = "Union${this.memberTypes.sort().joinToString("Or")}" + + fun contains(type: String) = type in memberTypes + + override fun equals(other: Any?): Boolean = other is UnionType && name == other.name + override fun hashCode(): Int = name.hashCode() + override fun toString(): String = name +} + data class GenerateFunctionCall(val name: String, val arguments: List) -data class GenerateTraitOrClass(val name: String, - val type : GenerateDefinitionType, - val superTypes: List, - val memberAttributes: List, - val memberFunctions: List, - val constnats : List, - val constructor: GenerateFunction?, - val superConstructorCalls: List) -val GenerateFunction.proto : String - get() = arguments.map {it.type}.joinToString(", ", "$name(", ")") \ No newline at end of file +data class GenerateFunction( + val name: String, + val returnType: String, + val arguments: List, + val nativeGetterOrSetter: NativeGetterOrSetter +) + +data class GenerateTraitOrClass( + val name: String, + val namespace: String, + val kind: GenerateDefinitionKind, + val superTypes: List, + val memberAttributes: List, + val memberFunctions: List, + val constants: List, + val constructor: GenerateFunction?, + val superConstructorCalls: List +) { + init { + assert(superConstructorCalls.size() <= 1, "It shoould be zero or one super constructors") + } +} + + +val GenerateFunction.signature: String + get() = arguments.map { it.type }.joinToString(", ", "$name(", ")") + + +fun InterfaceDefinition.findExtendedAttribute(name: String) = extendedAttributes.firstOrNull { it.call == name } +fun InterfaceDefinition?.hasExtendedAttribute(name: String) = this?.findExtendedAttribute(name) ?: null != null +fun InterfaceDefinition.findConstructor() = findExtendedAttribute("Constructor") + diff --git a/libraries/tools/idl2k/src/main/kotlin/render.kt b/libraries/tools/idl2k/src/main/kotlin/render.kt new file mode 100644 index 00000000000..34dd86a34cd --- /dev/null +++ b/libraries/tools/idl2k/src/main/kotlin/render.kt @@ -0,0 +1,172 @@ +package org.jetbrains.idl2k + +import java.math.BigInteger + +private fun O.indent(level : Int) { + for (i in 1..level) { + append(" ") + } +} + +private fun Appendable.renderAttributeDeclaration(allTypes: Set, arg: GenerateAttribute, override: Boolean, level : Int = 1) { + indent(level) + + if (override) { + append("override ") + } + + append(if (arg.readOnly) "val" else "var") + append(" ") + append(arg.name) + append(": ") + append(arg.type.dynamicIfUnknownType(allTypes)) + if (arg.initializer != null) { + append(" = ") + append(arg.initializer.replaceWrongConstants(arg.type)) + } + + appendln() + if (arg.getterNoImpl) { + indent(level + 1) + appendln("get() = noImpl") + } + if (arg.setterNoImpl) { + indent(level + 1) + appendln("set(value) = noImpl") + } +} + +private val keywords = setOf("interface") + +private fun String.parse() = if (this.startsWith("0x")) BigInteger(this.substring(2), 16) else BigInteger(this) +private fun String.replaceWrongConstants(type: String) = if (this == "noImpl" || type == "Int" && parse() > BigInteger.valueOf(Int.MAX_VALUE.toLong())) "noImpl" else this +private fun String.replaceKeywords() = if (this in keywords) this + "_" else this + +private fun Appendable.renderArgumentsDeclaration(allTypes: Set, args: List, omitDefaults: Boolean) = + args.map { + StringBuilder { + if (it.vararg) { + append("vararg ") + } + append(it.name.replaceKeywords()) + append(": ") + append(it.type.dynamicIfUnknownType(allTypes)) + if (!omitDefaults && it.initializer != null && it.initializer != "") { + append(" = ") + append(it.initializer.replaceWrongConstants(it.type)) + } + } + }.joinTo(this, ", ") + +private fun renderCall(call: GenerateFunctionCall) = "${call.name.replaceKeywords()}(${call.arguments.map {it.replaceKeywords()}.join(", ")})" + +private fun Appendable.renderFunctionDeclaration(allTypes: Set, f: GenerateFunction, override: Boolean) { + indent(1) + + when (f.nativeGetterOrSetter) { + NativeGetterOrSetter.GETTER -> append("nativeGetter ") + NativeGetterOrSetter.GETTER -> append("nativeSetter ") + } + + if (override) { + append("override ") + } + + if (f.name in keywords) { + append("native(\"${f.name}\") ") + } + append("fun ${f.name.replaceKeywords()}(") + renderArgumentsDeclaration(allTypes, f.arguments, override) + appendln("): ${f.returnType.dynamicIfUnknownType(allTypes)} = noImpl") +} + +fun Appendable.render(allTypes: Map, typeNamesToUnions: Map>, iface: GenerateTraitOrClass, markerAnnotation : Boolean = false) { + append("native ") + if (markerAnnotation) { + append("marker ") + } + when (iface.kind) { + GenerateDefinitionKind.CLASS -> append("open class ") + GenerateDefinitionKind.TRAIT -> append("trait ") + } + + append(iface.name) + if (iface.constructor != null && iface.constructor.arguments.isNotEmpty()) { + append("(") + renderArgumentsDeclaration(allTypes.keySet(), iface.constructor.arguments, false) + append(")") + } + + val allSuperTypes = iface.allSuperTypes(allTypes) + val allSuperTypesNames = allSuperTypes.map { it.name }.toSet() + + val superCalls = iface.superConstructorCalls.map { it.name }.toSet() + val superTypesWithCalls = + iface.superConstructorCalls.map { renderCall(it) } + + iface.superTypes.filter { it !in superCalls && it in allSuperTypesNames } + + (typeNamesToUnions[iface.name] ?: emptyList()) + + if (superTypesWithCalls.isNotEmpty()) { + superTypesWithCalls.joinTo(this, ", ", " : ") + } + + appendln (" {") + + val superAttributes = allSuperTypes.flatMap { it.memberAttributes }.distinct() + val superFunctions = allSuperTypes.flatMap { it.memberFunctions }.distinct() + val superSignatures = superAttributes.map { it.signature } merge superFunctions.map { it.signature } + + iface.memberAttributes.filter { it !in superAttributes }.forEach { arg -> + renderAttributeDeclaration(allTypes.keySet(), arg, arg.signature in superSignatures) + } + iface.memberFunctions.filter { it !in superFunctions }.forEach { + renderFunctionDeclaration(allTypes.keySet(), it, it.signature in superSignatures) + } + if (iface.constants.isNotEmpty()) { + appendln() + indent(1) + appendln("companion object {") + iface.constants.forEach { + renderAttributeDeclaration(allTypes.keySet(), it, override = false, level = 2) + } + indent(1) + appendln("}") + } + + appendln("}") + appendln() +} + +fun List>.toMultiMap() : Map> = groupBy { it.first }.mapValues { it.value.map { it.second } } + +fun Appendable.render(namespace : String, ifaces: List, typedefs : Iterable) { + val declaredTypes = ifaces.toMap { it.name } + + val anonymousUnionTypes = collectUnionTypes(declaredTypes) + val anonymousUnionTypeTraits = generateUnionTypeTraits(anonymousUnionTypes) + val anonymousUnionsMap = anonymousUnionTypeTraits.toMap { it.name } + + val typedefsToBeGenerated = typedefs.filter {it.types.startsWith("Union<")} + .filter {it.namespace == namespace} + .map { NamedValue(it.name, UnionType(namespace, splitUnionType(it.types))) } + .filter { it.value.memberTypes.all { type -> type in declaredTypes} } + val typedefsMarkerTraits = typedefsToBeGenerated.groupBy { it.name }.mapValues { mapUnionType(it.value.first().value).copy(name = it.key) } + + // TODO better name, extract duplication + val typeNamesToUnions = anonymousUnionTypes.flatMap { unionType -> unionType.memberTypes.map { unionMember -> unionMember to unionType.name } }.toMultiMap() + typedefsToBeGenerated.flatMap { typedef -> typedef.value.memberTypes.map { unionMember -> unionMember to typedef.name } }.toMultiMap() + + val allTypes = declaredTypes + anonymousUnionsMap + typedefsMarkerTraits + declaredTypes.values().filter {it.namespace == namespace}.forEach { + render(allTypes, typeNamesToUnions, it) + } + + anonymousUnionTypeTraits.forEach { + render(allTypes, emptyMap(), it, markerAnnotation = true) + } + + typedefsMarkerTraits.values().forEach { + render(allTypes, emptyMap(), it, markerAnnotation = true) + } +} + diff --git a/libraries/tools/idl2k/src/main/kotlin/typeMappings.kt b/libraries/tools/idl2k/src/main/kotlin/typeMappings.kt new file mode 100644 index 00000000000..b7c9b673e3a --- /dev/null +++ b/libraries/tools/idl2k/src/main/kotlin/typeMappings.kt @@ -0,0 +1,107 @@ +/* + * Copyright 2010-2015 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.idl2k + +import java.util.* + +private val typeMapper = mapOf( + "unsignedlong" to "Int", + "unsignedlonglong" to "Long", + "longlong" to "Long", + "unsignedshort" to "Short", + "void" to "Unit", + "boolean" to "Boolean", + "short" to "Short", + "long" to "Int", + "double" to "Double", + "any" to "Any", + "DOMTimeStamp" to "Number", + "object" to "dynamic", // TODO map to Any? + "EventHandler" to "(Event) -> Unit", + "WindowProxy" to "Window", + "Function" to "() -> dynamic", + "USVString" to "String", + "DOMString" to "String", + "ByteString" to "String", + "DOMError" to "dynamic", + "Uint8ClampedArray" to "dynamic", // TODO think of native arrays, + "ArrayBuffer" to "dynamic", + "Elements" to "dynamic", + "Date" to "Date", + "" to "dynamic" +) + + +fun GenerateTraitOrClass.allSuperTypes(all: Map) = HashSet().let { result -> allSuperTypesImpl(listOf(this), all, result); result.toList() } + +tailRecursive +fun allSuperTypesImpl(roots: List, all: Map, result: HashSet) { + if (roots.isNotEmpty()) { + allSuperTypesImpl(roots.flatMap { it.superTypes }.map { all[it] }.filterNotNull().filter { result.add(it) }, all, result) + } +} + +fun String.dynamicIfUnknownType(allTypes: Set, standardTypes: Set = typeMapper.values().toSet()): String = + if (this.endsWith("?")) this.substring(0, length() - 1).dynamicIfUnknownType(allTypes, standardTypes).ensureNullable() + else if (this.startsWith("Union<")) UnionType("", splitUnionType(this)).name.dynamicIfUnknownType(allTypes, standardTypes) // TODO check it is required here + else if (this in allTypes || this in standardTypes) this else "dynamic" + +private fun mapType(repository: Repository, type: String): String = + when { + type in typeMapper -> typeMapper[type]!! + type.endsWith("?") -> mapType(repository, type.substring(0, type.length() - 1)).ensureNullable() + type.endsWith("...") -> mapType(repository, type.substring(0, type.length() - 3)) + type.endsWith("[]") -> "Array<${mapType(repository, type.substring(0, type.length() - 2))}>" + type.startsWith("unrestricted") -> mapType(repository, type.substring(12)) + type.startsWith("sequence") -> "Any" // TODO how do we handle sequences? + type in repository.typeDefs -> mapTypedef(repository, type) + type in repository.enums -> "String" + type.endsWith("Callback") -> "() -> Unit" + type.startsWith("Promise<") -> "dynamic" + repository.interfaces[type].hasExtendedAttribute("NoInterfaceObject") -> "dynamic" + else -> type + } + +private fun mapTypedef(repository: Repository, type: String): String { + val typedef = repository.typeDefs[type]!! + + return if (!typedef.types.startsWith("Union<")) mapType(repository, typedef.types) + else if (splitUnionType(typedef.types).size() == 1) mapType(repository, splitUnionType(typedef.types).first()) + else typedef.name +} + +// Union -> [A, B, C] +// Union, C> -> [A, B, C] +// Union>, C> -> [A, B, C] +private fun splitUnionType(unionType: String) = + unionType.replaceAll("Union<", "").replaceAll("[>]+", "").split("\\s*,\\s*".toRegex()).distinct().map {it.replaceAll("\\?$", "")} + +private fun GenerateFunction?.allTypes() = if (this != null) sequenceOf(returnType) + arguments.asSequence().map { it.type } else emptySequence() + +private fun collectUnionTypes(allTypes: Map) = + allTypes.values().asSequence() + .flatMap { + it.constructor.allTypes() + + it.memberAttributes.asSequence().map { it.type } + + it.memberFunctions.asSequence().flatMap { it.allTypes() } + } + .filter { it.startsWith("Union<") } + .map { splitUnionType(it) } + .filter { it.all { unionMember -> unionMember in allTypes } } + .toSet() + .map { UnionType("", it) } + diff --git a/libraries/tools/kotlin-stdlib-gen/src/generators/GenerateJavaScriptStubs.kt b/libraries/tools/kotlin-stdlib-gen/src/generators/GenerateJavaScriptStubs.kt deleted file mode 100644 index a08872bc4c2..00000000000 --- a/libraries/tools/kotlin-stdlib-gen/src/generators/GenerateJavaScriptStubs.kt +++ /dev/null @@ -1,192 +0,0 @@ -package generators - -import java.io.File -import java.io.FileWriter -import java.io.PrintWriter -import java.lang.reflect.Method -import java.lang.reflect.Modifier -import java.util.ArrayList -import java.util.TreeMap -import org.w3c.dom.* -import org.w3c.dom.events.* - -/** -* This tool generates JavaScript stubs for classes available in the JDK which are already available in the browser environment -* such as the W3C DOM -*/ -deprecated("You shouldn't use it anymore as there is idl2k tool and DOM3 specification") -fun generateDomAPI(file: File): Unit { - val packageName = "org.w3c.dom" - val imports = "" - - val classes: List> = arrayListOf(javaClass(), javaClass(), - javaClass(), javaClass(), - javaClass(), javaClass(), javaClass(), - javaClass(), - javaClass(), javaClass(), - javaClass(), javaClass(), - javaClass(), - javaClass(), - javaClass(), - javaClass(), javaClass(), - javaClass(), javaClass(), javaClass(), javaClass(), - javaClass(), javaClass(), - javaClass(), javaClass(), - javaClass()) - - writeClassesFile(file, packageName, imports, classes) -} - -fun generateDomEventsAPI(file: File): Unit { - val packageName = "org.w3c.dom.events" - val imports = "import org.w3c.dom.*\nimport org.w3c.dom.views.*\n" - - - val classes: List> = arrayList(javaClass(), javaClass(), - // TODO see domEventsCode.kt we manually hand craft this for now - // to get the implementation in JS - // - // javaClass(), - javaClass(), - javaClass(), javaClass(), - javaClass()) - - writeClassesFile(file, packageName, imports, classes) -} - -private fun writeClassesFile(file: File, packageName: String, imports: String, classes: List>): Unit { - write(file) { - - println(""" -package $packageName - -$imports - -// -// NOTE THIS FILE IS AUTO-GENERATED by the GenerateJavaScriptStubs.kt -// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib -// - -// Contains stub APIs for the W3C DOM API so we can delegate to the platform DOM instead - -""") - - - fun simpleTypeName(klass: Class?): String { - val answer = klass?.getSimpleName()?.capitalize() ?: "Unit" - return if (answer == "Void") "Unit" else if (answer == "Object") "Any" else answer - } - - fun parameterTypeName(klass: Class?): String { - val answer = simpleTypeName(klass) - return if (answer == "String" || answer == "Event" || answer.endsWith("DocumentType")) { - answer + "?" - } else answer - } - - for (klass in classes) { - val interfaces = klass.getInterfaces() - val extends = if (interfaces != null && interfaces.size == 1) ": ${interfaces[0]?.getSimpleName()}" else "" - - println("deprecated(\"Use org.w3c.dom3 instead\")") - println("native public interface ${klass.getSimpleName()}$extends {") - - val methods = klass.getDeclaredMethods().sortBy { it.getName()!! } - if (methods != null) { - // lets figure out the properties versus methods - val validMethods = ArrayList() - val properties = TreeMap() - for (method in methods) { - if (method != null) { - val name = method.getName() ?: "" - fun propertyName(): String { - val answer = name.substring(3).decapitalize() - return if (answer == "typealias") { - "`typealias`" - } else answer - } - fun propertyType() = simpleTypeName(method.getReturnType()) - fun propertyKind(method: Method): PropertyKind { - val propName = propertyName() - return properties.getOrPut(propName) { PropertyKind(propName, "val", method) } - } - - val params = method.getParameterTypes()!! - val paramSize = params.size - if (name.size > 3) { - if (name.startsWith("get") && paramSize == 0) { - propertyKind(method).typeName = propertyType() - } else if (name.startsWith("set") && paramSize == 1) { - propertyKind(method).kind = "var" - } else { - validMethods.add(method) - } - } else { - validMethods.add(method) - } - } - } - - for (pk in properties.values()!!) { - // some properties might not have a getter defined - // so lets ignore those - - val typeName = pk.typeName - if (typeName == null) { - validMethods.add(pk.method) - } else { - println(" deprecated(\"Use org.w3c.dom instead\")") - println(" public ${pk.kind} ${pk.name}: ${typeName}") - } - } - for (method in validMethods) { - val parameterTypes = method.getParameterTypes()!! - - // TODO in java 7 its not easy with reflection to get the parameter argument name... - var counter = 0 - val parameters = parameterTypes.map{ "arg${++counter}: ${parameterTypeName(it)}" }.makeString(", ") - val returnType = simpleTypeName(method.getReturnType()) - println(" deprecated(\"Use org.w3c.dom instead\")") - println(" public fun ${method.getName()}($parameters): $returnType = noImpl") - } - } - val fields = klass.getDeclaredFields().sortBy { it.getName()!! } - if (fields != null) { - if (fields.isNotEmpty()) { - println("") - println(" public companion object {") - for (field in fields) { - if (field != null) { - val modifiers = field.getModifiers() - if (Modifier.isStatic(modifiers) && Modifier.isPublic(modifiers)) { - val fieldType = simpleTypeName(field.getType()) - try { - val value = field.get(null) - if (value != null) { - val fieldType = simpleTypeName(field.getType()) - println(" deprecated(\"Use org.w3c.dom instead\")") - println(" public val ${field.getName()}: $fieldType = $value") - } - } catch (e: Exception) { - println("Caught: $e") - e.printStackTrace() - } - } - } - } - println(" }") - } - } - println("}") - println("") - } - } -} - -class PropertyKind(val name: String, var kind: String, val method: Method, var typeName: String? = null) - -fun write(file: File, block: PrintWriter.() -> Unit): Unit { - println("Generating file: ${file.getCanonicalPath()}") - val writer = PrintWriter(FileWriter(file)) - writer.use { writer.block() } -}