瀏覽代碼

[js] Update js.html externs to Aug 2018 WebIDLs (#7354)

* [js] Add new files generated from Aug 2018 WebIDLs

* [js] Modifications from Aug 2018 WebIDLs: update docs, add missing fields and types, remove deprecated fields, interface->typedef for non-implemented

* [js] TypedArrays: add missing fields, ArrayBufferView to typedef

* [js] Update sensors events from Aug 2018 WebIDLs

* [js] Add deprecation meta for files removed in Aug 2018 WebIDLs

* [js] Delete invalid externs that should not have been created (and are unlikely to be used)

* [js] Improve doc generator to fix formatting issues (Aug 2018 WebIDLs)

* [js] Add doc (Aug 2018 WebIDLs)

* [js] Console to ConsoleInstance (Aug 2018 WebIDLs)

* [js] Escape html tags in docs (Aug 2018 WebIDLs)

* [js] Allow functions to be used in place of callback interfaces (Aug 2018 WebIDLs)

* [js] Use @:overload instead of EitherType for better type inference (Aug 2018 WebIDLs)

* [js] Improve doc placement by detecting @:overload(...) (Aug 2018 WebIDLs)

* [js] Add missing event types (Aug 2018 WebIDLs)

* [js] Add missing named constructor for HTMLOptionElement (Aug 2018 WebIDLs)

* [js] Add GL2 alias for consistency (Aug 2018 WebIDLs)

* [js] Update CSS properties - only additions (Aug 2018 WebIDLs)

* [js] Browser.console to : ConsoleInstance (Aug 2018 WebIDLs)

* [js] Doc updates (Aug 2018 WebIDLs)

* [js] Force ArrayBufferView to interface (Aug 2018 WebIDLs)

* [js] Minor WebIDLs update

* [js] Add missing overload argument modifiers (Aug 2018 WebIDLs)

* [js] Add implements for each implemented interface (Aug 2018 WebIDLs)

* [js] Allow subclass to redefine member methods and statics (Aug 2018 WebIDLs)

* [js] Manual method signatures for compatibility with existing code (Aug 2018 WebIDLs)

* [js] Replace EitherType in methods with overloads for better type inference (Aug 2018 WebIDLs)

* [js] Restore :Any back to :Dynamic (Aug 2018 WebIDLs)

* [js] Update WebIDLs Mozilla SVN and docs from MDN

* [js] Add deprecation note

* [js] Enable typing on WebGL getExtension()

* [js] Minor formatting

* [js] Document generator improvements – case insensitive search

* [js] Document generator improvements - add missing docs

* [js] add WebGL extension doc

* [js] Docs for constants (mainly WebGL)

* [js] Delete deprecated WebGL extension externs (moved to webgl/extensions)

* [js] Delete externs that have been removed from mozilla WebIDLs

* [js] Add WebGL extension summaries
George Corney 7 年之前
父節點
當前提交
d8e720f8ac
共有 100 個文件被更改,包括 2599 次插入878 次删除
  1. 5 5
      std/js/Browser.hx
  2. 50 0
      std/js/html/AbortController.hx
  3. 48 0
      std/js/html/AbortSignal.hx
  4. 32 0
      std/js/html/AddEventListenerOptions.hx
  5. 1 1
      std/js/html/AlignSetting.hx
  6. 9 2
      std/js/html/AnchorElement.hx
  7. 17 7
      std/js/html/Animation.hx
  8. 13 23
      std/js/html/AnimationEffect.hx
  9. 0 78
      std/js/html/AnimationEffectTimingReadOnly.hx
  10. 3 3
      std/js/html/AnimationFilter.hx
  11. 0 1
      std/js/html/AnimationPlayState.hx
  12. 11 6
      std/js/html/AnimationPlaybackEvent.hx
  13. 32 0
      std/js/html/AnimationPlaybackEventInit.hx
  14. 5 0
      std/js/html/AreaElement.hx
  15. 1 2
      std/js/html/ArrayBufferView.hx
  16. 30 0
      std/js/html/AssignedNodesOptions.hx
  17. 41 0
      std/js/html/Attr.hx
  18. 27 0
      std/js/html/AudioTrack.hx
  19. 11 0
      std/js/html/AudioTrackList.hx
  20. 30 0
      std/js/html/AutoKeyword.hx
  21. 0 2
      std/js/html/BeforeUnloadEvent.hx
  22. 3 4
      std/js/html/Blob.hx
  23. 45 0
      std/js/html/BlobEvent.hx
  24. 31 0
      std/js/html/BlobEventInit.hx
  25. 1 1
      std/js/html/BlobPropertyBag.hx
  26. 1 0
      std/js/html/BodyElement.hx
  27. 7 2
      std/js/html/BroadcastChannel.hx
  28. 18 8
      std/js/html/ButtonElement.hx
  29. 1 1
      std/js/html/CDATASection.hx
  30. 9 1
      std/js/html/CSS.hx
  31. 6 5
      std/js/html/CSSBoxType.hx
  32. 43 0
      std/js/html/CSSConditionRule.hx
  33. 93 0
      std/js/html/CSSCounterStyleRule.hx
  34. 1 1
      std/js/html/CSSFontFaceRule.hx
  35. 33 0
      std/js/html/CSSFontFeatureValuesRule.hx
  36. 43 0
      std/js/html/CSSGroupingRule.hx
  37. 1 1
      std/js/html/CSSImportRule.hx
  38. 12 7
      std/js/html/CSSKeyframeRule.hx
  39. 63 0
      std/js/html/CSSKeyframesRule.hx
  40. 2 5
      std/js/html/CSSMediaRule.hx
  41. 30 0
      std/js/html/CSSMozDocumentRule.hx
  42. 48 0
      std/js/html/CSSNamespaceRule.hx
  43. 1 6
      std/js/html/CSSPageRule.hx
  44. 0 225
      std/js/html/CSSPrimitiveValue.hx
  45. 3 2
      std/js/html/CSSPseudoElement.hx
  46. 8 3
      std/js/html/CSSRule.hx
  47. 246 4
      std/js/html/CSSStyleDeclaration.hx
  48. 9 1
      std/js/html/CSSStyleRule.hx
  49. 25 3
      std/js/html/CSSStyleSheet.hx
  50. 6 8
      std/js/html/CSSSupportsRule.hx
  51. 0 78
      std/js/html/CSSValue.hx
  52. 5 5
      std/js/html/CanvasCaptureMediaStream.hx
  53. 15 5
      std/js/html/CanvasElement.hx
  54. 1 1
      std/js/html/CanvasGradient.hx
  55. 1 1
      std/js/html/CanvasPattern.hx
  56. 52 36
      std/js/html/CanvasRenderingContext2D.hx
  57. 35 0
      std/js/html/ChannelPixelLayout.hx
  58. 37 0
      std/js/html/ChannelPixelLayoutDataType.hx
  59. 15 6
      std/js/html/CharacterData.hx
  60. 9 8
      std/js/html/Client.hx
  61. 1 1
      std/js/html/ClientQueryOptions.hx
  62. 34 0
      std/js/html/ClientType.hx
  63. 9 4
      std/js/html/Clients.hx
  64. 116 116
      std/js/html/CloseEvent.hx
  65. 1 1
      std/js/html/CompositeOperation.hx
  66. 15 1
      std/js/html/CompositionEvent.hx
  67. 31 0
      std/js/html/CompositionEventInit.hx
  68. 3 3
      std/js/html/ComputedEffectTiming.hx
  69. 54 45
      std/js/html/Console.hx
  70. 155 0
      std/js/html/ConsoleInstance.hx
  71. 31 0
      std/js/html/ConstrainBooleanParameters.hx
  72. 31 0
      std/js/html/ConstrainDOMStringParameters.hx
  73. 33 0
      std/js/html/ConstrainDoubleRange.hx
  74. 33 0
      std/js/html/ConstrainLongRange.hx
  75. 2 2
      std/js/html/ConvertCoordinateOptions.hx
  76. 2 3
      std/js/html/Coordinates.hx
  77. 5 1
      std/js/html/Crypto.hx
  78. 1 2
      std/js/html/CustomEvent.hx
  79. 328 37
      std/js/html/DOMElement.hx
  80. 4 0
      std/js/html/DOMError.hx
  81. 16 4
      std/js/html/DOMException.hx
  82. 4 4
      std/js/html/DOMImplementation.hx
  83. 1 1
      std/js/html/DOMMatrix.hx
  84. 56 40
      std/js/html/DOMMatrixReadOnly.hx
  85. 2 3
      std/js/html/DOMParser.hx
  86. 3 3
      std/js/html/DOMPoint.hx
  87. 23 0
      std/js/html/DOMPointInit.hx
  88. 13 5
      std/js/html/DOMPointReadOnly.hx
  89. 21 0
      std/js/html/DOMQuad.hx
  90. 33 0
      std/js/html/DOMQuadJSON.hx
  91. 1 2
      std/js/html/DOMRect.hx
  92. 3 0
      std/js/html/DOMRectReadOnly.hx
  93. 1 1
      std/js/html/DOMRequest.hx
  94. 25 10
      std/js/html/DOMTokenList.hx
  95. 11 7
      std/js/html/DataTransfer.hx
  96. 60 0
      std/js/html/DataTransferItem.hx
  97. 62 0
      std/js/html/DataTransferItemList.hx
  98. 21 9
      std/js/html/DataView.hx
  99. 21 2
      std/js/html/DedicatedWorkerGlobalScope.hx
  100. 8 13
      std/js/html/DetailsElement.hx

+ 5 - 5
std/js/Browser.hx

@@ -31,19 +31,19 @@ class Browser {
 
 	/** Shortcut to Window.document. */
 	public static var document(get, never):js.html.HTMLDocument;
-	extern inline static function get_document() return untyped __js__("window.document");
+	extern inline static function get_document() return window.document;
 
 	/** Shortcut to Window.location. */
 	public static var location(get, never):js.html.Location;
-	extern inline static function get_location() return untyped __js__("window.location");
+	extern inline static function get_location() return window.location;
 
 	/** Shortcut to Window.navigator. */
 	public static var navigator(get, never):js.html.Navigator;
-	extern inline static function get_navigator() return untyped __js__("window.navigator");
+	extern inline static function get_navigator() return window.navigator;
 
 	/** Shortcut to Window.console. */
-	public static var console(get, never):js.html.Console;
-	extern inline static function get_console() return untyped __js__("window.console");
+	public static var console(get, never):js.html.ConsoleInstance;
+	extern inline static function get_console() return window.console;
 
 	/**
 	 * True if a window object exists, false otherwise.

+ 50 - 0
std/js/html/AbortController.hx

@@ -0,0 +1,50 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\AbortController.webidl. Do not edit!
+
+package js.html;
+
+/**
+	The `AbortController` interface represents a controller object that allows you to abort one or more DOM requests as and when desired.
+
+	Documentation [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/AbortController$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/AbortController>
+**/
+@:native("AbortController")
+extern class AbortController
+{
+	
+	/**
+		Returns a `AbortSignal` object instance, which can be used to communicate with/abort a DOM request.
+	**/
+	var signal(default,null) : AbortSignal;
+	
+	/** @throws DOMError */
+	function new() : Void;
+	
+	/**
+		Aborts a DOM request before it has completed. This is able to abort fetch requests, consumption of any response `Body`, and streams.
+	**/
+	function abort() : Void;
+}

+ 48 - 0
std/js/html/AbortSignal.hx

@@ -0,0 +1,48 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\AbortSignal.webidl. Do not edit!
+
+package js.html;
+
+/**
+	The `AbortSignal` interface represents a signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an `AbortController` object.
+
+	Documentation [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal>
+**/
+@:native("AbortSignal")
+extern class AbortSignal extends EventTarget
+{
+	
+	/**
+		A `Boolean` that indicates whether the request(s) the signal is communicating with is/are aborted (`true`) or not (`false`).
+	**/
+	var aborted(default,null) : Bool;
+	
+	/**
+		Invoked when an `abort_(dom_abort_api)` event fires, i.e. when the DOM request(s) the signal is communicating with is/are aborted.
+	**/
+	var onabort : haxe.Constraints.Function;
+	
+}

+ 32 - 0
std/js/html/AddEventListenerOptions.hx

@@ -0,0 +1,32 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\EventTarget.webidl. Do not edit!
+
+package js.html;
+
+typedef AddEventListenerOptions =
+{
+	> EventListenerOptions,
+	@:optional var once : Bool;
+	@:optional var passive : Bool;
+}

+ 1 - 1
std/js/html/AlignSetting.hx

@@ -27,7 +27,7 @@ package js.html;
 enum abstract AlignSetting(String)
 {
 	var START = "start";
-	var MIDDLE = "middle";
+	var CENTER = "center";
 	var END = "end";
 	var LEFT = "left";
 	var RIGHT = "right";

+ 9 - 2
std/js/html/AnchorElement.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `HTMLAnchorElement` interface represents hyperlink elements and provides special properties and methods (beyond those of the regular `HTMLElement` object interface they also have available to them by inheritance) for manipulating the layout and presentation of such elements.
+	The `HTMLAnchorElement` interface represents hyperlink elements and provides special properties and methods (beyond those of the regular `HTMLElement` object interface that they inherit from) for manipulating the layout and presentation of such elements.
 
 	Documentation [HTMLAnchorElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -41,7 +41,7 @@ extern class AnchorElement extends Element
 	var target : String;
 	
 	/**
-		Is a `DOMString` indicating that the linked resource is intended to be downloaded rather than displayed in the browser. The value represent the proposed name of the file. If the name is not a valid filename of the underlying OS, browser will adapt it. The value is a URL with a scheme like `http:`, `file:`, `data:` or even `blob:` (created with `URL.createObjectURL`).
+		Is a `DOMString` indicating that the linked resource is intended to be downloaded rather than displayed in the browser. The value represent the proposed name of the file. If the name is not a valid filename of the underlying OS, browser will adapt it.
 	**/
 	var download : String;
 	var ping : String;
@@ -51,6 +51,11 @@ extern class AnchorElement extends Element
 	**/
 	var rel : String;
 	
+	/**
+		Is a `DOMString` that reflects the `referrerpolicy` HTML attribute indicating which referrer to use.
+	**/
+	var referrerPolicy : String;
+	
 	/**
 		Returns a `DOMTokenList` that reflects the `rel` HTML attribute, as a list of tokens.
 	**/
@@ -88,6 +93,8 @@ extern class AnchorElement extends Element
 	
 	/**
 		Is a `DOMString` representing that the `rev` HTML attribute, specifying the relationship of the link object to the target object.
+		 Note: Currently the W3C HTML 5.2 spec states that `rev` is no longer obsolete, whereas the WHATWG living standard still has it labeled obsolete. Until this discrepancy is resolved, you should still assume it is obsolete.
+		 
 	**/
 	var rev : String;
 	

+ 17 - 7
std/js/html/Animation.hx

@@ -43,12 +43,12 @@ extern class Animation extends EventTarget
 	/**
 		Gets and sets the `AnimationEffectReadOnly` associated with this animation. This will usually be a `KeyframeEffect` object.
 	**/
-	var effect(default,null) : AnimationEffectReadOnly;
+	var effect : AnimationEffect;
 	
 	/**
 		Gets or sets the `AnimationTimeline` associated with this animation.
 	**/
-	var timeline(default,null) : AnimationTimeline;
+	var timeline : AnimationTimeline;
 	
 	/**
 		Gets or sets the scheduled time when an animation's playback should begin.
@@ -70,6 +70,11 @@ extern class Animation extends EventTarget
 	**/
 	var playState(default,null) : AnimationPlayState;
 	
+	/**
+		Indicates whether the animation is currently waiting for an asynchronous operation such as initiating playback or pausing a running animation.
+	**/
+	var pending(default,null) : Bool;
+	
 	/**
 		Returns the current ready Promise for this animation.
 	**/
@@ -91,34 +96,39 @@ extern class Animation extends EventTarget
 	var oncancel : haxe.Constraints.Function;
 	
 	/** @throws DOMError */
-	function new( ?effect : KeyframeEffectReadOnly, ?timeline : AnimationTimeline ) : Void;
+	function new( ?effect : AnimationEffect, ?timeline : AnimationTimeline ) : Void;
 	
 	/**
 		Clears all `KeyframeEffect` caused by this animation and aborts its playback.
 	**/
 	function cancel() : Void;
-	/** @throws DOMError */
 	
 	/**
 		Seeks either end of an animation, depending on whether the animation is playing or reversing.
+		@throws DOMError
 	**/
 	function finish() : Void;
-	/** @throws DOMError */
 	
 	/**
 		Starts or resumes playing of an animation, or begins the animation again if it previously finished.
+		@throws DOMError
 	**/
 	function play() : Void;
-	/** @throws DOMError */
 	
 	/**
 		Suspends playing of an animation.
+		@throws DOMError
 	**/
 	function pause() : Void;
-	/** @throws DOMError */
+	
+	/**
+		Sets the speed of an animation after first synchronizing its playback position.
+	**/
+	function updatePlaybackRate( playbackRate : Float ) : Void;
 	
 	/**
 		Reverses playback direction, stopping at the start of the animation. If the animation is finished or unplayed, it will play from end to beginning.
+		@throws DOMError
 	**/
 	function reverse() : Void;
 }

+ 13 - 23
std/js/html/ApplicationCache.hx → std/js/html/AnimationEffect.hx

@@ -20,32 +20,22 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from mozilla\OfflineResourceList.webidl. Do not edit!
+// This file is generated from mozilla\AnimationEffect.webidl. Do not edit!
 
 package js.html;
 
-@:native("ApplicationCache")
-extern class ApplicationCache extends EventTarget implements ArrayAccess<String>
+/**
+	The `AnimationEffect` interface of the Web Animations API defines current and future animation effects like `KeyframeEffect`, which can be passed to `Animation` objects for playing, and `KeyframeEffectReadOnly` (which is used by CSS Animations and Transitions).
+
+	Documentation [AnimationEffect](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEffect) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEffect$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/AnimationEffect>
+**/
+@:native("AnimationEffect")
+extern class AnimationEffect
 {
-	static inline var UNCACHED : Int = 0;
-	static inline var IDLE : Int = 1;
-	static inline var CHECKING : Int = 2;
-	static inline var DOWNLOADING : Int = 3;
-	static inline var UPDATEREADY : Int = 4;
-	static inline var OBSOLETE : Int = 5;
-	
-	var status(default,null) : Int;
-	var onchecking : haxe.Constraints.Function;
-	var onerror : haxe.Constraints.Function;
-	var onnoupdate : haxe.Constraints.Function;
-	var ondownloading : haxe.Constraints.Function;
-	var onprogress : haxe.Constraints.Function;
-	var onupdateready : haxe.Constraints.Function;
-	var oncached : haxe.Constraints.Function;
-	var onobsolete : haxe.Constraints.Function;
-	
-	/** @throws DOMError */
-	function update() : Void;
+	function getTiming() : EffectTiming;
+	function getComputedTiming() : ComputedEffectTiming;
 	/** @throws DOMError */
-	function swapCache() : Void;
+	function updateTiming( ?timing : OptionalEffectTiming ) : Void;
 }

+ 0 - 78
std/js/html/AnimationEffectTimingReadOnly.hx

@@ -1,78 +0,0 @@
-/*
- * Copyright (C)2005-2018 Haxe Foundation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-// This file is generated from mozilla\AnimationEffectTimingReadOnly.webidl. Do not edit!
-
-package js.html;
-
-/**
-	The `AnimationEffectTimingReadOnly` interface of the Web Animations API is comprised of timing properties.
-
-	Documentation [AnimationEffectTimingReadOnly](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEffectTimingReadOnly) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEffectTimingReadOnly$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
-
-	@see <https://developer.mozilla.org/en-US/docs/Web/API/AnimationEffectTimingReadOnly>
-**/
-@:native("AnimationEffectTimingReadOnly")
-extern class AnimationEffectTimingReadOnly
-{
-	
-	/**
-		The number of milliseconds to delay the start of the animation. Defaults to `0`.
-	**/
-	var delay(default,null) : Float;
-	
-	/**
-		The number of milliseconds to delay after the end of an animation. This is primarily of use when sequencing animations based on the end time of another animation. Defaults to `0`.
-	**/
-	var endDelay(default,null) : Float;
-	
-	/**
-		Dictates whether the animation's effects should be reflected by the element(s) state prior to playing (`backwards`), retained after the animation has completed playing (`forwards`), or `both`. Defaults to `none`.
-	**/
-	var fill(default,null) : FillMode;
-	
-	/**
-		A number representing which repetition the animation begins at and its progress through it.
-	**/
-	var iterationStart(default,null) : Float;
-	
-	/**
-		The number of times the animation should repeat. Defaults to `1`, and can also take a value of infinity to make it repeat infinitely.
-	**/
-	var iterations(default,null) : Float;
-	
-	/**
-		The number of milliseconds each iteration of the animation takes to complete. Defaults to `0`.
-	**/
-	var duration(default,null) : haxe.extern.EitherType<Float,String>;
-	
-	/**
-		Whether the animation runs forwards (`normal`), backwards (`reverse`), switches direction after each iteration (`alternate`), or runs backwards and switches direction after each iteration (`alternate-reverse`). Defaults to `normal`.
-	**/
-	var direction(default,null) : PlaybackDirection;
-	
-	/**
-		The rate of the animation's change over time. Accepts the pre-defined values `linear`, `ease`, `ease-in`, `ease-out`, and `ease-in-out`, or a custom cubic-bezier value like `cubic-bezier(0.42, 0, 0.58, 1)`. Defaults to `linear`.
-	**/
-	var easing(default,null) : String;
-	
-}

+ 3 - 3
std/js/html/CSSUnknownRule.hx → std/js/html/AnimationFilter.hx

@@ -20,11 +20,11 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from cssrule.webidl. Do not edit!
+// This file is generated from mozilla\Animatable.webidl. Do not edit!
 
 package js.html;
 
-@:native("CSSUnknownRule")
-extern class CSSUnknownRule extends CSSRule
+typedef AnimationFilter =
 {
+	@:optional var subtree : Bool;
 }

+ 0 - 1
std/js/html/AnimationPlayState.hx

@@ -27,7 +27,6 @@ package js.html;
 enum abstract AnimationPlayState(String)
 {
 	var IDLE = "idle";
-	var PENDING = "pending";
 	var RUNNING = "running";
 	var PAUSED = "paused";
 	var FINISHED = "finished";

+ 11 - 6
std/js/html/AnimationEffectTiming.hx → std/js/html/AnimationPlaybackEvent.hx

@@ -20,18 +20,23 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from mozilla\AnimationEffectTiming.webidl. Do not edit!
+// This file is generated from mozilla\AnimationPlaybackEvent.webidl. Do not edit!
 
 package js.html;
 
 /**
-	The `AnimationEffectTiming` interface of the Web Animations API is comprised of timing properties. It is returned by the `timing` attribute of a `KeyframeEffect`.
+	The AnimationPlaybackEvent interface of the Web Animations API represents animation events.
 
-	Documentation [AnimationEffectTiming](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEffectTiming) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEffectTiming$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+	Documentation [AnimationPlaybackEvent](https://developer.mozilla.org/en-US/docs/Web/API/AnimationPlaybackEvent) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/AnimationPlaybackEvent$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
-	@see <https://developer.mozilla.org/en-US/docs/Web/API/AnimationEffectTiming>
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/AnimationPlaybackEvent>
 **/
-@:native("AnimationEffectTiming")
-extern class AnimationEffectTiming extends AnimationEffectTimingReadOnly
+@:native("AnimationPlaybackEvent")
+extern class AnimationPlaybackEvent extends Event
 {
+	var currentTime(default,null) : Float;
+	var timelineTime(default,null) : Float;
+	
+	/** @throws DOMError */
+	function new( type : String, ?eventInitDict : AnimationPlaybackEventInit ) : Void;
 }

+ 32 - 0
std/js/html/AnimationPlaybackEventInit.hx

@@ -0,0 +1,32 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\AnimationPlaybackEvent.webidl. Do not edit!
+
+package js.html;
+
+typedef AnimationPlaybackEventInit =
+{
+	> EventInit,
+	@:optional var currentTime : Float;
+	@:optional var timelineTime : Float;
+}

+ 5 - 0
std/js/html/AreaElement.hx

@@ -66,6 +66,11 @@ extern class AreaElement extends Element
 	**/
 	var rel : String;
 	
+	/**
+		Is a `DOMString` that reflects the `referrerpolicy` HTML attribute indicating which referrer to use when fetching the linked resource.
+	**/
+	var referrerPolicy : String;
+	
 	/**
 		Returns a `DOMTokenList` that reflects the `rel` HTML attribute, indicating relationships of the current document to the linked resource, as a list of tokens.
 	**/

+ 1 - 2
std/js/html/ArrayBufferView.hx

@@ -31,8 +31,7 @@ package js.html;
 
 	@see <https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView>
 **/
-@:native("ArrayBufferView")
-extern class ArrayBufferView
+extern interface ArrayBufferView
 {
 	var buffer(default,null) : ArrayBuffer;
 	var byteOffset(default,null) : Int;

+ 30 - 0
std/js/html/AssignedNodesOptions.hx

@@ -0,0 +1,30 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\HTMLSlotElement.webidl. Do not edit!
+
+package js.html;
+
+typedef AssignedNodesOptions =
+{
+	@:optional var flatten : Bool;
+}

+ 41 - 0
std/js/html/Attr.hx

@@ -34,9 +34,50 @@ package js.html;
 @:native("Attr")
 extern class Attr extends Node
 {
+	
+	/**
+		A `DOMString` representing the local part of the qualified name of the attribute.
+	**/
+	var localName(default,null) : String;
+	
+	/**
+		The attribute's value.
+	**/
 	var value : String;
+	
+	/**
+		The attribute's name.
+	**/
 	var name(default,null) : String;
+	
+	/**
+		A `DOMString` representing the namespace URI of the attribute, or `null` if there is no namespace.
+	**/
+	var namespaceURI(default,null) : String;
+	
+	/**
+		A `DOMString` representing the namespace prefix of the attribute, or `null` if no prefix is specified.
+	**/
+	var prefix(default,null) : String;
+	
+	/**
+		This property always returns `true`. Originally, it returned `true `if the attribute was explicitly specified in the source code or by a script, and `false` if its value came from the default one defined in the document's DTD.
+	**/
 	var specified(default,null) : Bool;
+	
+	/**
+		
+			The element holding the attribute.
+		
+			
+			Note: DOM Level 4 removed this property. The assumption was that since you get an `Attr` object from an `Element`, you should already know the associated element.
+		
+			As that doesn't hold true in cases like `Attr` objects being returned by `Document.evaluate`, the DOM Living Standard reintroduced the property.
+		
+			Gecko outputs a deprecation note starting from Gecko 7.0 `7.0`. This note was removed again in Gecko 49.0 `49.0`.
+			
+			
+	**/
 	var ownerElement(default,null) : Element;
 	
 }

+ 27 - 0
std/js/html/AudioTrack.hx

@@ -24,13 +24,40 @@
 
 package js.html;
 
+/**
+	The `AudioTrack` interface represents a single audio track from one of the HTML media elements, `audio` or `video`. 
+
+	Documentation [AudioTrack](https://developer.mozilla.org/en-US/docs/Web/API/AudioTrack) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/AudioTrack$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/AudioTrack>
+**/
 @:native("AudioTrack")
 extern class AudioTrack
 {
+	
+	/**
+		A `DOMString` which uniquely identifies the track within the media. This ID can be used to locate a specific track within an audio track list by calling `AudioTrackList.getTrackById()`. The ID can also be used as the fragment part of the URL if the media supports seeking by media fragment per the Media Fragments URI specification.
+	**/
 	var id(default,null) : String;
+	
+	/**
+		A `DOMString` specifying the category into which the track falls. For example, the main audio track would have a `kind` of `"main"`.
+	**/
 	var kind(default,null) : String;
+	
+	/**
+		A `DOMString` providing a human-readable label for the track. For example, an audio commentary track for a movie might have a `label` of `"Commentary with director John Q. Public and actors John Doe and Jane Eod."` This string is empty if no label is provided.
+	**/
 	var label(default,null) : String;
+	
+	/**
+		A `DOMString` specifying the audio track's primary language, or an empty string if unknown. The language is specified as a BCP 47 ({{RFC(5646)}}) language code, such as `"en-US"` or `"pt-BR"`.
+	**/
 	var language(default,null) : String;
+	
+	/**
+		A Boolean value which controls whether or not the audio track's sound is enabled. Setting this value to `false` mutes the track's audio.
+	**/
 	var enabled : Bool;
 	
 }

+ 11 - 0
std/js/html/AudioTrackList.hx

@@ -24,9 +24,20 @@
 
 package js.html;
 
+/**
+	The `AudioTrackList` interface is used to represent a list of the audio tracks contained within a given HTML media element, with each track represented by a separate `AudioTrack` object in the list.
+
+	Documentation [AudioTrackList](https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList>
+**/
 @:native("AudioTrackList")
 extern class AudioTrackList extends EventTarget implements ArrayAccess<AudioTrack>
 {
+	
+	/**
+		The number of tracks in the list.
+	**/
 	var length(default,null) : Int;
 	var onchange : haxe.Constraints.Function;
 	var onaddtrack : haxe.Constraints.Function;

+ 30 - 0
std/js/html/AutoKeyword.hx

@@ -0,0 +1,30 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\VTTCue.webidl. Do not edit!
+
+package js.html;
+
+enum abstract AutoKeyword(String)
+{
+	var AUTO = "auto";
+}

+ 0 - 2
std/js/html/BeforeUnloadEvent.hx

@@ -34,6 +34,4 @@ package js.html;
 @:native("BeforeUnloadEvent")
 extern class BeforeUnloadEvent extends Event
 {
-	var returnValue : String;
-	
 }

+ 3 - 4
std/js/html/Blob.hx

@@ -46,12 +46,11 @@ extern class Blob
 	var type(default,null) : String;
 	
 	/** @throws DOMError */
-	@:overload( function() : Void {} )
-	function new( blobParts : Array<haxe.extern.EitherType<ArrayBuffer,haxe.extern.EitherType<ArrayBufferView,haxe.extern.EitherType<Blob,String>>>>, ?options : BlobPropertyBag ) : Void;
-	/** @throws DOMError */
+	function new( ?blobParts : Array<haxe.extern.EitherType<haxe.extern.EitherType<ArrayBufferView,ArrayBuffer>,haxe.extern.EitherType<Blob,String>>>, ?options : BlobPropertyBag ) : Void;
 	
 	/**
 		Returns a new `Blob` object containing the data in the specified range of bytes of the source `Blob`.
+		@throws DOMError
 	**/
-	function slice( ?start : Int, ?end : Int, ?contentType : String = "" ) : Blob;
+	function slice( ?start : Int, ?end : Int, ?contentType : String ) : Blob;
 }

+ 45 - 0
std/js/html/BlobEvent.hx

@@ -0,0 +1,45 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\BlobEvent.webidl. Do not edit!
+
+package js.html;
+
+/**
+	The `BlobEvent` interface represents events associated with a `Blob`. These blobs are typically, but not necessarily,  associated with media content.
+
+	Documentation [BlobEvent](https://developer.mozilla.org/en-US/docs/Web/API/BlobEvent) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/BlobEvent$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/BlobEvent>
+**/
+@:native("BlobEvent")
+extern class BlobEvent extends Event
+{
+	
+	/**
+		A `Blob` representing the data associated with the event. The event was fired on the `EventTarget` because of something happening on that specific `Blob`.
+	**/
+	var data(default,null) : Blob;
+	
+	/** @throws DOMError */
+	function new( type : String, ?eventInitDict : BlobEventInit ) : Void;
+}

+ 31 - 0
std/js/html/BlobEventInit.hx

@@ -0,0 +1,31 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\BlobEvent.webidl. Do not edit!
+
+package js.html;
+
+typedef BlobEventInit =
+{
+	> EventInit,
+	@:optional var data : Blob;
+}

+ 1 - 1
std/js/html/BlobPropertyBag.hx

@@ -26,6 +26,6 @@ package js.html;
 
 typedef BlobPropertyBag =
 {
-	@:optional var endings : Dynamic/*MISSING EndingTypes*/;
+	@:optional var endings : EndingTypes;
 	@:optional var type : String;
 }

+ 1 - 0
std/js/html/BodyElement.hx

@@ -70,6 +70,7 @@ extern class BodyElement extends Element
 	var onhashchange : haxe.Constraints.Function;
 	var onlanguagechange : haxe.Constraints.Function;
 	var onmessage : haxe.Constraints.Function;
+	var onmessageerror : haxe.Constraints.Function;
 	var onoffline : haxe.Constraints.Function;
 	var ononline : haxe.Constraints.Function;
 	var onpagehide : haxe.Constraints.Function;

+ 7 - 2
std/js/html/BroadcastChannel.hx

@@ -41,16 +41,21 @@ extern class BroadcastChannel extends EventTarget
 	var name(default,null) : String;
 	
 	/**
-		Is an `EventHandler` property that specifies the function to execute when a `message` event is fired on this object.
+		An `EventHandler` property that specifies the function to execute when a `message` event is fired on this object.
 	**/
 	var onmessage : haxe.Constraints.Function;
 	
+	/**
+		An `EventHandler` called when a `MessageEvent` of type `MessageError` is fired—that is, when it receives a message that cannot be deserialized.
+	**/
+	var onmessageerror : haxe.Constraints.Function;
+	
 	/** @throws DOMError */
 	function new( channel : String ) : Void;
-	/** @throws DOMError */
 	
 	/**
 		Sends the message, of any type of object, to each `BroadcastChannel` object listening to the same channel.
+		@throws DOMError
 	**/
 	function postMessage( message : Dynamic ) : Void;
 	

+ 18 - 8
std/js/html/ButtonElement.hx

@@ -48,7 +48,7 @@ extern class ButtonElement extends Element
 	/**
 		Is a `HTMLFormElement` reflecting the form that this button is associated with. If the button is a descendant of a form element, then this attribute is the ID of that form element.
 		
-		 If the button is not a descendant of a form element, then the attribute can be the ID of any form element in the same document it is related to, or the `null` value if none matches.
+			If the button is not a descendant of a form element, then the attribute can be the ID of any form element in the same document it is related to, or the `null` value if none matches.
 	**/
 	var form(default,null) : FormElement;
 	
@@ -56,6 +56,10 @@ extern class ButtonElement extends Element
 		Is a `DOMString` reflecting the URI of a resource that processes information submitted by the button. If specified, this attribute overrides the `action` attribute of the `form` element that owns this element.
 	**/
 	var formAction : String;
+	
+	/**
+		Is a `DOMString` reflecting the type of content that is used to submit the form to the server. If specified, this attribute overrides the `enctype` attribute of the `form` element that owns this element.
+	**/
 	var formEnctype : String;
 	
 	/**
@@ -80,13 +84,13 @@ extern class ButtonElement extends Element
 	
 	/**
 		Is a `DOMString` indicating the behavior of the button. This is an enumerated attribute with the following possible values:
-		 
-		  `"submit"`: The button submits the form. This is the default value if the attribute is not specified, {{HTMLVersionInline(5)}} or if it is dynamically changed to an empty or invalid value.
-		  `"reset"`: The button resets the form.
-		  `"button"`: The button does nothing.
-		  `"menu"`: The button displays a menu. <em>(experimental)</em>
-		 
-		 
+			
+				`"submit"`: The button submits the form. This is the default value if the attribute is not specified, {{HTMLVersionInline(5)}} or if it is dynamically changed to an empty or invalid value.
+				`"reset"`: The button resets the form.
+				`"button"`: The button does nothing.
+				`"menu"`: The button displays a menu. <em>(experimental)</em>
+			
+			
 	**/
 	var type : String;
 	
@@ -110,6 +114,12 @@ extern class ButtonElement extends Element
 	**/
 	var validationMessage(default,null) : String;
 	
+	/**
+		Is a `NodeList` that represents a list of `label` elements that are labels for this button.
+	**/
+	var labels(default,null) : NodeList;
+	
 	function checkValidity() : Bool;
+	function reportValidity() : Bool;
 	function setCustomValidity( error : String ) : Void;
 }

+ 1 - 1
std/js/html/CDATASection.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `CDATASection` interface represents a CDATA section that can be used within XML to include extended portions of unescaped text, such that the symbols  and &amp; do not need escaping as they normally do within XML when used as text.
+	The `CDATASection` interface represents a CDATA section that can be used within XML to include extended portions of unescaped text. The symbols `` and `&amp;` don’t need escaping as they normally do when inside a CDATA section.
 
 	Documentation [CDATASection](https://developer.mozilla.org/en-US/docs/Web/API/CDATASection) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CDATASection$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 

+ 9 - 1
std/js/html/CSS.hx

@@ -34,8 +34,16 @@ package js.html;
 @:native("CSS")
 extern class CSS
 {
-	/** @throws DOMError */
+	
+	/**
+		Returns a `Boolean` indicating if the pair property-value, or the condition, given in parameter is supported.
+		@throws DOMError
+	**/
 	@:overload( function( property : String, value : String ) : Bool {} )
 	static function supports( conditionText : String ) : Bool;
+	
+	/**
+		Can be used to escape a string mostly for use as part of a CSS selector.
+	**/
 	static function escape( ident : String ) : String;
 }

+ 6 - 5
std/js/html/ElementRegistrationOptions.hx → std/js/html/CSSBoxType.hx

@@ -20,13 +20,14 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from mozilla\WebComponents.webidl. Do not edit!
+// This file is generated from mozilla\GeometryUtils.webidl. Do not edit!
 
 package js.html;
 
-typedef ElementRegistrationOptions =
+enum abstract CSSBoxType(String)
 {
-	@:native("extends")
-	@:optional var extends_ : String;
-	@:optional var prototype : Dynamic;
+	var MARGIN = "margin";
+	var BORDER = "border";
+	var PADDING = "padding";
+	var CONTENT = "content";
 }

+ 43 - 0
std/js/html/CSSConditionRule.hx

@@ -0,0 +1,43 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\CSSConditionRule.webidl. Do not edit!
+
+package js.html;
+
+/**
+	An object implementing the `CSSConditionRule` interface represents a single condition CSS at-rule, which consists of a condition and a statement block. It is a child of `CSSGroupingRule`.
+
+	Documentation [CSSConditionRule](https://developer.mozilla.org/en-US/docs/Web/API/CSSConditionRule) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CSSConditionRule$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSConditionRule>
+**/
+@:native("CSSConditionRule")
+extern class CSSConditionRule extends CSSGroupingRule
+{
+	
+	/**
+		Represents the text of the condition of the rule.
+	**/
+	var conditionText : String;
+	
+}

+ 93 - 0
std/js/html/CSSCounterStyleRule.hx

@@ -0,0 +1,93 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\CSSCounterStyleRule.webidl. Do not edit!
+
+package js.html;
+
+/**
+	The `CSSCounterStyleRule` interface represents an `@counter-style` at-rule.
+
+	Documentation [CSSCounterStyleRule](https://developer.mozilla.org/en-US/docs/Web/API/CSSCounterStyleRule) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CSSCounterStyleRule$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSCounterStyleRule>
+**/
+@:native("CSSCounterStyleRule")
+extern class CSSCounterStyleRule extends CSSRule
+{
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `counter-style-name` defined for the associated rule.
+	**/
+	var name : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/system` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var system : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/symbols` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var symbols : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/additive-symbols` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var additiveSymbols : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/negative` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var negative : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/prefix` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var prefix : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/suffix` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var suffix : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/range` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var range : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/pad` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var pad : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/speak-as` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var speakAs : String;
+	
+	/**
+		Is a `DOMString` object that contains the serialization of the `@counter-style/fallback` descriptor defined for the associated rule. If the descriptor was not specified in the associated rule, the attribute returns an empty string.
+	**/
+	var fallback : String;
+	
+}

+ 1 - 1
std/js/html/CSSFontFaceRule.hx

@@ -20,7 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from cssrule.webidl. Do not edit!
+// This file is generated from mozilla\CSSFontFaceRule.webidl. Do not edit!
 
 package js.html;
 

+ 33 - 0
std/js/html/CSSFontFeatureValuesRule.hx

@@ -0,0 +1,33 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\CSSFontFeatureValuesRule.webidl. Do not edit!
+
+package js.html;
+
+@:native("CSSFontFeatureValuesRule")
+extern class CSSFontFeatureValuesRule extends CSSRule
+{
+	var fontFamily : String;
+	var valueText : String;
+	
+}

+ 43 - 0
std/js/html/CSSGroupingRule.hx

@@ -0,0 +1,43 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\CSSGroupingRule.webidl. Do not edit!
+
+package js.html;
+
+/**
+	An object implementing the `CSSGroupingRule` interface represents any CSS at-rule that contains other rules nested within it.
+
+	Documentation [CSSGroupingRule](https://developer.mozilla.org/en-US/docs/Web/API/CSSGroupingRule) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CSSGroupingRule$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSGroupingRule>
+**/
+@:native("CSSGroupingRule")
+extern class CSSGroupingRule extends CSSRule
+{
+	var cssRules(default,null) : CSSRuleList;
+	
+	/** @throws DOMError */
+	function insertRule( rule : String, ?index : Int = 0 ) : Int;
+	/** @throws DOMError */
+	function deleteRule( index : Int ) : Void;
+}

+ 1 - 1
std/js/html/CSSImportRule.hx

@@ -20,7 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from cssrule.webidl. Do not edit!
+// This file is generated from mozilla\CSSImportRule.webidl. Do not edit!
 
 package js.html;
 

+ 12 - 7
std/js/html/Rect.hx → std/js/html/CSSKeyframeRule.hx

@@ -20,16 +20,21 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from mozilla\Rect.webidl. Do not edit!
+// This file is generated from mozilla\CSSKeyframeRule.webidl. Do not edit!
 
 package js.html;
 
-@:native("Rect")
-extern class Rect
+/**
+	The `CSSKeyframeRule` interface describes an object representing a set of style for a given keyframe. It corresponds to the contains of a single keyframe of a `@keyframes` at-rule. It implements the `CSSRule` interface with a type value of `8` (`CSSRule.KEYFRAME_RULE`).
+
+	Documentation [CSSKeyframeRule](https://developer.mozilla.org/en-US/docs/Web/API/CSSKeyframeRule) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CSSKeyframeRule$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSKeyframeRule>
+**/
+@:native("CSSKeyframeRule")
+extern class CSSKeyframeRule extends CSSRule
 {
-	var top(default,null) : CSSPrimitiveValue;
-	var right(default,null) : CSSPrimitiveValue;
-	var bottom(default,null) : CSSPrimitiveValue;
-	var left(default,null) : CSSPrimitiveValue;
+	var keyText : String;
+	var style(default,null) : CSSStyleDeclaration;
 	
 }

+ 63 - 0
std/js/html/CSSKeyframesRule.hx

@@ -0,0 +1,63 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\CSSKeyframesRule.webidl. Do not edit!
+
+package js.html;
+
+/**
+	The `CSSKeyframesRule` interface describes an object representing a complete set of keyframes for a CSS animation. It corresponds to the contains of a whole `@keyframes` at-rule. It implements the `CSSRule` interface with a type value of `7` (`CSSRule.KEYFRAMES_RULE`).
+
+	Documentation [CSSKeyframesRule](https://developer.mozilla.org/en-US/docs/Web/API/CSSKeyframesRule) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CSSKeyframesRule$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSKeyframesRule>
+**/
+@:native("CSSKeyframesRule")
+extern class CSSKeyframesRule extends CSSRule
+{
+	
+	/**
+		Represents the name of the animation, used by the `animation-name` property.
+	**/
+	var name : String;
+	
+	/**
+		Returns a `CSSRuleList` of the CSS rules in the media rule.
+	**/
+	var cssRules(default,null) : CSSRuleList;
+	
+	
+	/**
+		Inserts a new keyframe rule into the current CSSKeyframesRule. The parameter is a `DOMString` containing a keyframe in the same format as an entry of a `@keyframes` at-rule. If it contains more than one keyframe rule, a `DOMException` with a `SYNTAX_ERR` is thrown.
+	**/
+	function appendRule( rule : String ) : Void;
+	
+	/**
+		Deletes a keyframe rule from the current CSSKeyframesRule. The parameter is the index of the keyframe to be deleted, expressed as a `DOMString` resolving as a number between `0%` and `100%`.
+	**/
+	function deleteRule( select : String ) : Void;
+	
+	/**
+		Returns a keyframe rule corresponding to the given key. The key is a `DOMString` containing an index of the keyframe to be returned, resolving to a percentage between `0%` and `100%`. If no such keyframe exists, `findRule` returns `null`.
+	**/
+	function findRule( select : String ) : CSSKeyframeRule;
+}

+ 2 - 5
std/js/html/CSSMediaRule.hx

@@ -20,7 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from cssrule.webidl. Do not edit!
+// This file is generated from mozilla\CSSMediaRule.webidl. Do not edit!
 
 package js.html;
 
@@ -32,15 +32,12 @@ package js.html;
 	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule>
 **/
 @:native("CSSMediaRule")
-extern class CSSMediaRule extends CSSRule
+extern class CSSMediaRule extends CSSConditionRule
 {
 	
 	/**
 		Specifies a `MediaList` representing the intended destination medium for style information.
 	**/
 	var media(default,null) : MediaList;
-	var cssRules(default,null) : CSSRuleList;
 	
-	function insertRule( rule : String, index : Int ) : Int;
-	function deleteRule( index : Int ) : Void;
 }

+ 30 - 0
std/js/html/CSSMozDocumentRule.hx

@@ -0,0 +1,30 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\CSSMozDocumentRule.webidl. Do not edit!
+
+package js.html;
+
+@:native("CSSMozDocumentRule")
+extern class CSSMozDocumentRule extends CSSConditionRule
+{
+}

+ 48 - 0
std/js/html/CSSNamespaceRule.hx

@@ -0,0 +1,48 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\CSSNamespaceRule.webidl. Do not edit!
+
+package js.html;
+
+/**
+	The `CSSNamespaceRule` interface describes an object representing a single CSS `@namespace` at-rule. It implements the `CSSRule` interface, with a type value of `10` (`CSSRule.NAMESPACE_RULE`).
+
+	Documentation [CSSNamespaceRule](https://developer.mozilla.org/en-US/docs/Web/API/CSSNamespaceRule) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CSSNamespaceRule$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSNamespaceRule>
+**/
+@:native("CSSNamespaceRule")
+extern class CSSNamespaceRule extends CSSRule
+{
+	
+	/**
+		Returns a `DOMString` containing the text of the URI of the given namespace.
+	**/
+	var namespaceURI(default,null) : String;
+	
+	/**
+		Returns a `DOMString` with the name of the prefix associated to this namespace. If there is no such prefix, returns  `null`.
+	**/
+	var prefix(default,null) : String;
+	
+}

+ 1 - 6
std/js/html/CSSPageRule.hx

@@ -20,7 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from cssrule.webidl. Do not edit!
+// This file is generated from mozilla\CSSPageRule.webidl. Do not edit!
 
 package js.html;
 
@@ -35,11 +35,6 @@ package js.html;
 extern class CSSPageRule extends CSSRule
 {
 	
-	/**
-		Represents the text of the page selector associated with the at-rule.
-	**/
-	var selectorText : String;
-	
 	/**
 		Returns the declaration block associated with the at-rule.
 	**/

+ 0 - 225
std/js/html/CSSPrimitiveValue.hx

@@ -1,225 +0,0 @@
-/*
- * Copyright (C)2005-2018 Haxe Foundation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-// This file is generated from mozilla\CSSPrimitiveValue.webidl. Do not edit!
-
-package js.html;
-
-/**
-	The `CSSPrimitiveValue` interface derives from the `CSSValue` interface and represents the current computed value of a CSS property.
-
-	Documentation [CSSPrimitiveValue](https://developer.mozilla.org/en-US/docs/Web/API/CSSPrimitiveValue) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CSSPrimitiveValue$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
-
-	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSPrimitiveValue>
-**/
-@:native("CSSPrimitiveValue")
-extern class CSSPrimitiveValue extends CSSValue
-{
-	static inline var CSS_UNKNOWN : Int = 0;
-	static inline var CSS_NUMBER : Int = 1;
-	static inline var CSS_PERCENTAGE : Int = 2;
-	static inline var CSS_EMS : Int = 3;
-	static inline var CSS_EXS : Int = 4;
-	static inline var CSS_PX : Int = 5;
-	static inline var CSS_CM : Int = 6;
-	static inline var CSS_MM : Int = 7;
-	static inline var CSS_IN : Int = 8;
-	static inline var CSS_PT : Int = 9;
-	static inline var CSS_PC : Int = 10;
-	static inline var CSS_DEG : Int = 11;
-	static inline var CSS_RAD : Int = 12;
-	static inline var CSS_GRAD : Int = 13;
-	static inline var CSS_MS : Int = 14;
-	static inline var CSS_S : Int = 15;
-	static inline var CSS_HZ : Int = 16;
-	static inline var CSS_KHZ : Int = 17;
-	static inline var CSS_DIMENSION : Int = 18;
-	static inline var CSS_STRING : Int = 19;
-	static inline var CSS_URI : Int = 20;
-	static inline var CSS_IDENT : Int = 21;
-	static inline var CSS_ATTR : Int = 22;
-	static inline var CSS_COUNTER : Int = 23;
-	static inline var CSS_RECT : Int = 24;
-	static inline var CSS_RGBCOLOR : Int = 25;
-	
-	
-	/**
-		An <code>unsigned short</code> representing the type of the value. Possible values are:
-		 <table class="standard-table">
-		  
-		   <tr>
-		    <td class="header">Constant</td>
-		    <td class="header">Description</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_ATTR</code></td>
-		    <td>The value is an <code>attr()</code> function. The value can be obtained by using the <code>getStringValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_CM</code></td>
-		    <td>The value is a <code>length</code> in centimeters. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_COUNTER</code></td>
-		    <td>The value is a counter or counters function. The value can be obtained by using the <code>getCounterValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_DEG</code></td>
-		    <td>The value is an <code>angle</code> in degrees. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_DIMENSION</code></td>
-		    <td>The value is a <code>number</code> with an unknown dimension. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_EMS</code></td>
-		    <td>The value is a <code>length</code> in em units. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_EXS</code></td>
-		    <td>The value is a <code>length</code> in ex units. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_GRAD</code></td>
-		    <td>The value is an <code>angle</code> in grads. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_HZ</code></td>
-		    <td>The value is a <code>frequency</code> in Hertz. The value can be obtained by using the getFloatValue method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_IDENT</code></td>
-		    <td>The value is an identifier. The value can be obtained by using the <code>getStringValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_IN</code></td>
-		    <td>The value is a <code>length</code> in inches. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_KHZ</code></td>
-		    <td>The value is a <code>frequency</code> in Kilohertz. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_MM</code></td>
-		    <td>The value is a <code>length</code> in millimeters. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_MS</code></td>
-		    <td>The value is a <code>time</code> in milliseconds. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_NUMBER</code></td>
-		    <td>The value is a simple <code>number</code>. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_PC</code></td>
-		    <td>The value is a <code>length</code> in picas. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_PERCENTAGE</code></td>
-		    <td>The value is a <code>percentage</code>. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_PT</code></td>
-		    <td>The value is a <code>length</code> in points. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_PX</code></td>
-		    <td>The value is a <code>length</code> in pixels. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_RAD</code></td>
-		    <td>The value is an <code>angle</code> in radians. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_RECT</code></td>
-		    <td>The value is a <code>shape</code> function. The value can be obtained by using the <code>getRectValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_RGBCOLOR</code></td>
-		    <td>The value is an <code>color</code>. The value can be obtained by using the <code>getRGBColorValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_S</code></td>
-		    <td>The value is a <code>time</code> in seconds. The value can be obtained by using the <code>getFloatValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_STRING</code></td>
-		    <td>The value is a <code>string</code>. The value can be obtained by using the <code>getStringValue()</code> method.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_UNKNOWN</code></td>
-		    <td>The value is not a recognized CSS2 value. The value can only be obtained by using the <code>CSSValue.cssText</code> attribute.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_URI</code></td>
-		    <td>The value is a <code>uri</code>. The value can be obtained by using the <code>getStringValue()</code> method.</td>
-		   </tr>
-		  
-		 </table>
-		 
-	**/
-	var primitiveType(default,null) : Int;
-	
-	/** @throws DOMError */
-	
-	/**
-		A method to set the float value with a specified unit. If the property attached with this value can not accept the specified unit or the float value, the value will be unchanged and a `DOMException` will be raised.
-	**/
-	function setFloatValue( unitType : Int, floatValue : Float ) : Void;
-	/** @throws DOMError */
-	
-	/**
-		This method is used to get a float value in a specified unit. If this CSS value doesn't contain a float value or can't be converted into the specified unit, a `DOMException` is raised.
-	**/
-	function getFloatValue( unitType : Int ) : Float;
-	/** @throws DOMError */
-	
-	/**
-		A method to set the string value with the specified unit. If the property attached to this value can't accept the specified unit or the string value, the value will be unchanged and a `DOMException` will be raised.
-	**/
-	function setStringValue( stringType : Int, stringValue : String ) : Void;
-	/** @throws DOMError */
-	
-	/**
-		This method is used to get the string value. If the CSS value doesn't contain a string value, a `DOMException` is raised.
-	**/
-	function getStringValue() : String;
-	/** @throws DOMError */
-	
-	/**
-		This method is used to get the counter value. If this CSS value doesn't contain a counter value, a `DOMException` is raised. Modification to the corresponding style property can be achieved using the `Counter` interface.
-	**/
-	function getCounterValue() : Dynamic/*MISSING Counter*/;
-	/** @throws DOMError */
-	
-	/**
-		This method is used to get the Rect value. If this CSS value doesn't contain a rect value, a `DOMException` is raised. Modification to the corresponding style property can be achieved using the `Rect` interface.
-	**/
-	function getRectValue() : Rect;
-	/** @throws DOMError */
-	
-	/**
-		This method is used to get the RGB color. If this CSS value doesn't contain a RGB color value, a `DOMException` is raised. Modification to the corresponding style property can be achieved using the `RGBColor` interface.
-	**/
-	function getRGBColorValue() : RGBColor;
-}

+ 3 - 2
std/js/html/CSSPseudoElement.hx

@@ -31,6 +31,7 @@ extern class CSSPseudoElement
 	var parentElement(default,null) : Element;
 	
 	/** @throws DOMError */
-	function animate( frames : Dynamic, ?options : haxe.extern.EitherType<Float,Dynamic/*MISSING KeyframeAnimationOptions*/> ) : Animation;
-	function getAnimations() : Array<Animation>;
+	@:overload( function( keyframes : Dynamic, ?options : KeyframeAnimationOptions) : Animation {} )
+	function animate( keyframes : Dynamic, ?options : Float ) : Animation;
+	function getAnimations( ?filter : AnimationFilter ) : Array<Animation>;
 }

+ 8 - 3
std/js/html/CSSRule.hx

@@ -20,7 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from cssrule.webidl. Do not edit!
+// This file is generated from mozilla\CSSRule.webidl. Do not edit!
 
 package js.html;
 
@@ -34,17 +34,22 @@ package js.html;
 @:native("CSSRule")
 extern class CSSRule
 {
-	static inline var UNKNOWN_RULE : Int = 0;
 	static inline var STYLE_RULE : Int = 1;
 	static inline var CHARSET_RULE : Int = 2;
 	static inline var IMPORT_RULE : Int = 3;
 	static inline var MEDIA_RULE : Int = 4;
 	static inline var FONT_FACE_RULE : Int = 5;
 	static inline var PAGE_RULE : Int = 6;
+	static inline var NAMESPACE_RULE : Int = 10;
+	static inline var KEYFRAMES_RULE : Int = 7;
+	static inline var KEYFRAME_RULE : Int = 8;
+	static inline var COUNTER_STYLE_RULE : Int = 11;
+	static inline var SUPPORTS_RULE : Int = 12;
+	static inline var FONT_FEATURE_VALUES_RULE : Int = 14;
 	
 	var type(default,null) : Int;
 	var cssText : String;
-	var parentStyleSheet(default,null) : CSSStyleSheet;
 	var parentRule(default,null) : CSSRule;
+	var parentStyleSheet(default,null) : CSSStyleSheet;
 	
 }

+ 246 - 4
std/js/html/CSSStyleDeclaration.hx

@@ -78,6 +78,8 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var background :String;
 	/** Shorthand for the "background-attachment" CSS property. */
 	var backgroundAttachment :String;
+	/** Shorthand for the "background-blend-mode" CSS property. */
+	var backgroundBlendMode :String;
 	/** Shorthand for the "background-clip" CSS property. */
 	var backgroundClip :String;
 	/** Shorthand for the "background-color" CSS property. */
@@ -88,8 +90,16 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var backgroundOrigin :String;
 	/** Shorthand for the "background-position" CSS property. */
 	var backgroundPosition :String;
+	/** Shorthand for the "background-position-x" CSS property. */
+	var backgroundPositionX :String;
+	/** Shorthand for the "background-position-y" CSS property. */
+	var backgroundPositionY :String;
 	/** Shorthand for the "background-repeat" CSS property. */
 	var backgroundRepeat :String;
+	/** Shorthand for the "background-repeat-x" CSS property. */
+	var backgroundRepeatX :String;
+	/** Shorthand for the "background-repeat-y" CSS property. */
+	var backgroundRepeatY :String;
 	/** Shorthand for the "background-size" CSS property. */
 	var backgroundSize :String;
 	/** Shorthand for the "baseline-shift" CSS property. */
@@ -98,6 +108,8 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var binding :String;
 	/** Shorthand for the "bleed" CSS property. */
 	var bleed :String;
+	/** Shorthand for the "block-size" CSS property. */
+	var blockSize :String;
 	/** Shorthand for the "bookmark-label" CSS property. */
 	var bookmarkLabel :String;
 	/** Shorthand for the "bookmark-level" CSS property. */
@@ -106,6 +118,22 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var bookmarkState :String;
 	/** Shorthand for the "border" CSS property. */
 	var border :String;
+	/** Shorthand for the "border-block-end" CSS property. */
+	var borderBlockEnd :String;
+	/** Shorthand for the "border-block-end-color" CSS property. */
+	var borderBlockEndColor :String;
+	/** Shorthand for the "border-block-end-style" CSS property. */
+	var borderBlockEndStyle :String;
+	/** Shorthand for the "border-block-end-width" CSS property. */
+	var borderBlockEndWidth :String;
+	/** Shorthand for the "border-block-start" CSS property. */
+	var borderBlockStart :String;
+	/** Shorthand for the "border-block-start-color" CSS property. */
+	var borderBlockStartColor :String;
+	/** Shorthand for the "border-block-start-style" CSS property. */
+	var borderBlockStartStyle :String;
+	/** Shorthand for the "border-block-start-width" CSS property. */
+	var borderBlockStartWidth :String;
 	/** Shorthand for the "border-bottom" CSS property. */
 	var borderBottom :String;
 	/** Shorthand for the "border-bottom-color" CSS property. */
@@ -134,6 +162,22 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var borderImageSource :String;
 	/** Shorthand for the "border-image-width" CSS property. */
 	var borderImageWidth :String;
+	/** Shorthand for the "border-inline-end" CSS property. */
+	var borderInlineEnd :String;
+	/** Shorthand for the "border-inline-end-color" CSS property. */
+	var borderInlineEndColor :String;
+	/** Shorthand for the "border-inline-end-style" CSS property. */
+	var borderInlineEndStyle :String;
+	/** Shorthand for the "border-inline-end-width" CSS property. */
+	var borderInlineEndWidth :String;
+	/** Shorthand for the "border-inline-start" CSS property. */
+	var borderInlineStart :String;
+	/** Shorthand for the "border-inline-start-color" CSS property. */
+	var borderInlineStartColor :String;
+	/** Shorthand for the "border-inline-start-style" CSS property. */
+	var borderInlineStartStyle :String;
+	/** Shorthand for the "border-inline-start-width" CSS property. */
+	var borderInlineStartWidth :String;
 	/** Shorthand for the "border-left" CSS property. */
 	var borderLeft :String;
 	/** Shorthand for the "border-left-color" CSS property. */
@@ -188,8 +232,12 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var breakBefore :String;
 	/** Shorthand for the "break-inside" CSS property. */
 	var breakInside :String;
+	/** Shorthand for the "buffered-rendering" CSS property. */
+	var bufferedRendering :String;
 	/** Shorthand for the "caption-side" CSS property. */
 	var captionSide :String;
+	/** Shorthand for the "caret-color" CSS property. */
+	var caretColor :String;
 	/** Shorthand for the "chains" CSS property. */
 	var chains :String;
 	/** Shorthand for the "clear" CSS property. */
@@ -202,8 +250,14 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var clipRule :String;
 	/** Shorthand for the "color" CSS property. */
 	var color :String;
+	/** Shorthand for the "color-adjust" CSS property. */
+	var colorAdjust :String;
+	/** Shorthand for the "color-interpolation" CSS property. */
+	var colorInterpolation :String;
 	/** Shorthand for the "color-interpolation-filters" CSS property. */
 	var colorInterpolationFilters :String;
+	/** Shorthand for the "color-rendering" CSS property. */
+	var colorRendering :String;
 	/** Shorthand for the "column-count" CSS property. */
 	var columnCount :String;
 	/** Shorthand for the "column-fill" CSS property. */
@@ -236,6 +290,8 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var counterSet :String;
 	/** Shorthand for the "crop" CSS property. */
 	var crop :String;
+	/** Shorthand for the "css-float" CSS property. */
+	var cssFloat :String;
 	/** Shorthand for the "cue" CSS property. */
 	var cue :String;
 	/** Shorthand for the "cue-after" CSS property. */
@@ -244,6 +300,12 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var cueBefore :String;
 	/** Shorthand for the "cursor" CSS property. */
 	var cursor :String;
+	/** Shorthand for the "cx" CSS property. */
+	var cx :String;
+	/** Shorthand for the "cy" CSS property. */
+	var cy :String;
+	/** Shorthand for the "d" CSS property. */
+	var d :String;
 	/** Shorthand for the "direction" CSS property. */
 	var direction :String;
 	/** Shorthand for the "display" CSS property. */
@@ -260,6 +322,12 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var elevation :String;
 	/** Shorthand for the "empty-cells" CSS property. */
 	var emptyCells :String;
+	/** Shorthand for the "fill" CSS property. */
+	var fill :String;
+	/** Shorthand for the "fill-opacity" CSS property. */
+	var fillOpacity :String;
+	/** Shorthand for the "fill-rule" CSS property. */
+	var fillRule :String;
 	/** Shorthand for the "filter" CSS property. */
 	var filter :String;
 	/** Shorthand for the "flex" CSS property. */
@@ -290,6 +358,8 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var flowInto :String;
 	/** Shorthand for the "font" CSS property. */
 	var font :String;
+	/** Shorthand for the "font-display" CSS property. */
+	var fontDisplay :String;
 	/** Shorthand for the "font-family" CSS property. */
 	var fontFamily :String;
 	/** Shorthand for the "font-feature-settings" CSS property. */
@@ -298,6 +368,8 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var fontKerning :String;
 	/** Shorthand for the "font-language-override" CSS property. */
 	var fontLanguageOverride :String;
+	/** Shorthand for the "font-optical-sizing" CSS property. */
+	var fontOpticalSizing :String;
 	/** Shorthand for the "font-size" CSS property. */
 	var fontSize :String;
 	/** Shorthand for the "font-size-adjust" CSS property. */
@@ -322,8 +394,12 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var fontVariantNumeric :String;
 	/** Shorthand for the "font-variant-position" CSS property. */
 	var fontVariantPosition :String;
+	/** Shorthand for the "font-variation-settings" CSS property. */
+	var fontVariationSettings :String;
 	/** Shorthand for the "font-weight" CSS property. */
 	var fontWeight :String;
+	/** Shorthand for the "gap" CSS property. */
+	var gap :String;
 	/** Shorthand for the "grid" CSS property. */
 	var grid :String;
 	/** Shorthand for the "grid-area" CSS property. */
@@ -338,12 +414,18 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var gridColumn :String;
 	/** Shorthand for the "grid-column-end" CSS property. */
 	var gridColumnEnd :String;
+	/** Shorthand for the "grid-column-gap" CSS property. */
+	var gridColumnGap :String;
 	/** Shorthand for the "grid-column-start" CSS property. */
 	var gridColumnStart :String;
+	/** Shorthand for the "grid-gap" CSS property. */
+	var gridGap :String;
 	/** Shorthand for the "grid-row" CSS property. */
 	var gridRow :String;
 	/** Shorthand for the "grid-row-end" CSS property. */
 	var gridRowEnd :String;
+	/** Shorthand for the "grid-row-gap" CSS property. */
+	var gridRowGap :String;
 	/** Shorthand for the "grid-row-start" CSS property. */
 	var gridRowStart :String;
 	/** Shorthand for the "grid-template" CSS property. */
@@ -364,6 +446,8 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var icon :String;
 	/** Shorthand for the "image-orientation" CSS property. */
 	var imageOrientation :String;
+	/** Shorthand for the "image-rendering" CSS property. */
+	var imageRendering :String;
 	/** Shorthand for the "image-resolution" CSS property. */
 	var imageResolution :String;
 	/** Shorthand for the "ime-mode" CSS property. */
@@ -372,6 +456,10 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var initialLetters :String;
 	/** Shorthand for the "inline-box-align" CSS property. */
 	var inlineBoxAlign :String;
+	/** Shorthand for the "inline-size" CSS property. */
+	var inlineSize :String;
+	/** Shorthand for the "isolation" CSS property. */
+	var isolation :String;
 	/** Shorthand for the "justify-content" CSS property. */
 	var justifyContent :String;
 	/** Shorthand for the "justify-items" CSS property. */
@@ -412,18 +500,34 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var listStyleType :String;
 	/** Shorthand for the "margin" CSS property. */
 	var margin :String;
+	/** Shorthand for the "margin-block-end" CSS property. */
+	var marginBlockEnd :String;
+	/** Shorthand for the "margin-block-start" CSS property. */
+	var marginBlockStart :String;
 	/** Shorthand for the "margin-bottom" CSS property. */
 	var marginBottom :String;
+	/** Shorthand for the "margin-inline-end" CSS property. */
+	var marginInlineEnd :String;
+	/** Shorthand for the "margin-inline-start" CSS property. */
+	var marginInlineStart :String;
 	/** Shorthand for the "margin-left" CSS property. */
 	var marginLeft :String;
 	/** Shorthand for the "margin-right" CSS property. */
 	var marginRight :String;
 	/** Shorthand for the "margin-top" CSS property. */
 	var marginTop :String;
+	/** Shorthand for the "marker" CSS property. */
+	var marker :String;
+	/** Shorthand for the "marker-end" CSS property. */
+	var markerEnd :String;
+	/** Shorthand for the "marker-mid" CSS property. */
+	var markerMid :String;
 	/** Shorthand for the "marker-offset" CSS property. */
 	var markerOffset :String;
 	/** Shorthand for the "marker-side" CSS property. */
 	var markerSide :String;
+	/** Shorthand for the "marker-start" CSS property. */
+	var markerStart :String;
 	/** Shorthand for the "marks" CSS property. */
 	var marks :String;
 	/** Shorthand for the "mask" CSS property. */
@@ -442,12 +546,20 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var maskBoxWidth :String;
 	/** Shorthand for the "mask-clip" CSS property. */
 	var maskClip :String;
+	/** Shorthand for the "mask-composite" CSS property. */
+	var maskComposite :String;
 	/** Shorthand for the "mask-image" CSS property. */
 	var maskImage :String;
+	/** Shorthand for the "mask-mode" CSS property. */
+	var maskMode :String;
 	/** Shorthand for the "mask-origin" CSS property. */
 	var maskOrigin :String;
 	/** Shorthand for the "mask-position" CSS property. */
 	var maskPosition :String;
+	/** Shorthand for the "mask-position-x" CSS property. */
+	var maskPositionX :String;
+	/** Shorthand for the "mask-position-y" CSS property. */
+	var maskPositionY :String;
 	/** Shorthand for the "mask-repeat" CSS property. */
 	var maskRepeat :String;
 	/** Shorthand for the "mask-size" CSS property. */
@@ -456,16 +568,30 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var maskSourceType :String;
 	/** Shorthand for the "mask-type" CSS property. */
 	var maskType :String;
+	/** Shorthand for the "max-block-size" CSS property. */
+	var maxBlockSize :String;
 	/** Shorthand for the "max-height" CSS property. */
 	var maxHeight :String;
+	/** Shorthand for the "max-inline-size" CSS property. */
+	var maxInlineSize :String;
 	/** Shorthand for the "max-lines" CSS property. */
 	var maxLines :String;
 	/** Shorthand for the "max-width" CSS property. */
 	var maxWidth :String;
+	/** Shorthand for the "max-zoom" CSS property. */
+	var maxZoom :String;
+	/** Shorthand for the "min-block-size" CSS property. */
+	var minBlockSize :String;
 	/** Shorthand for the "min-height" CSS property. */
 	var minHeight :String;
+	/** Shorthand for the "min-inline-size" CSS property. */
+	var minInlineSize :String;
 	/** Shorthand for the "min-width" CSS property. */
 	var minWidth :String;
+	/** Shorthand for the "min-zoom" CSS property. */
+	var minZoom :String;
+	/** Shorthand for the "mix-blend-mode" CSS property. */
+	var mixBlendMode :String;
 	/** Shorthand for the "move-to" CSS property. */
 	var moveTo :String;
 	/** Shorthand for the "nav-down" CSS property. */
@@ -482,10 +608,28 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var objectFit :String;
 	/** Shorthand for the "object-position" CSS property. */
 	var objectPosition :String;
+	/** Shorthand for the "offset" CSS property. */
+	var offset :String;
+	/** Shorthand for the "offset-block-end" CSS property. */
+	var offsetBlockEnd :String;
+	/** Shorthand for the "offset-block-start" CSS property. */
+	var offsetBlockStart :String;
+	/** Shorthand for the "offset-distance" CSS property. */
+	var offsetDistance :String;
+	/** Shorthand for the "offset-inline-end" CSS property. */
+	var offsetInlineEnd :String;
+	/** Shorthand for the "offset-inline-start" CSS property. */
+	var offsetInlineStart :String;
+	/** Shorthand for the "offset-path" CSS property. */
+	var offsetPath :String;
+	/** Shorthand for the "offset-rotate" CSS property. */
+	var offsetRotate :String;
 	/** Shorthand for the "opacity" CSS property. */
 	var opacity :String;
 	/** Shorthand for the "order" CSS property. */
 	var order :String;
+	/** Shorthand for the "orientation" CSS property. */
+	var orientation :String;
 	/** Shorthand for the "orphans" CSS property. */
 	var orphans :String;
 	/** Shorthand for the "outline" CSS property. */
@@ -500,16 +644,32 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var outlineWidth :String;
 	/** Shorthand for the "overflow" CSS property. */
 	var overflow :String;
+	/** Shorthand for the "overflow-anchor" CSS property. */
+	var overflowAnchor :String;
 	/** Shorthand for the "overflow-wrap" CSS property. */
 	var overflowWrap :String;
 	/** Shorthand for the "overflow-x" CSS property. */
 	var overflowX :String;
 	/** Shorthand for the "overflow-y" CSS property. */
 	var overflowY :String;
+	/** Shorthand for the "overscroll-behavior" CSS property. */
+	var overscrollBehavior :String;
+	/** Shorthand for the "overscroll-behavior-x" CSS property. */
+	var overscrollBehaviorX :String;
+	/** Shorthand for the "overscroll-behavior-y" CSS property. */
+	var overscrollBehaviorY :String;
 	/** Shorthand for the "padding" CSS property. */
 	var padding :String;
+	/** Shorthand for the "padding-block-end" CSS property. */
+	var paddingBlockEnd :String;
+	/** Shorthand for the "padding-block-start" CSS property. */
+	var paddingBlockStart :String;
 	/** Shorthand for the "padding-bottom" CSS property. */
 	var paddingBottom :String;
+	/** Shorthand for the "padding-inline-end" CSS property. */
+	var paddingInlineEnd :String;
+	/** Shorthand for the "padding-inline-start" CSS property. */
+	var paddingInlineStart :String;
 	/** Shorthand for the "padding-left" CSS property. */
 	var paddingLeft :String;
 	/** Shorthand for the "padding-right" CSS property. */
@@ -526,6 +686,8 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var pageBreakInside :String;
 	/** Shorthand for the "page-policy" CSS property. */
 	var pagePolicy :String;
+	/** Shorthand for the "paint-order" CSS property. */
+	var paintOrder :String;
 	/** Shorthand for the "pause" CSS property. */
 	var pause :String;
 	/** Shorthand for the "pause-after" CSS property. */
@@ -540,14 +702,24 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var pitch :String;
 	/** Shorthand for the "pitch-range" CSS property. */
 	var pitchRange :String;
+	/** Shorthand for the "place-content" CSS property. */
+	var placeContent :String;
+	/** Shorthand for the "place-items" CSS property. */
+	var placeItems :String;
+	/** Shorthand for the "place-self" CSS property. */
+	var placeSelf :String;
 	/** Shorthand for the "play-during" CSS property. */
 	var playDuring :String;
+	/** Shorthand for the "pointer-events" CSS property. */
+	var pointerEvents :String;
 	/** Shorthand for the "position" CSS property. */
 	var position :String;
 	/** Shorthand for the "presentation-level" CSS property. */
 	var presentationLevel :String;
 	/** Shorthand for the "quotes" CSS property. */
 	var quotes :String;
+	/** Shorthand for the "r" CSS property. */
+	var r :String;
 	/** Shorthand for the "region-fragment" CSS property. */
 	var regionFragment :String;
 	/** Shorthand for the "resize" CSS property. */
@@ -566,18 +738,42 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var rotation :String;
 	/** Shorthand for the "rotation-point" CSS property. */
 	var rotationPoint :String;
+	/** Shorthand for the "row-gap" CSS property. */
+	var rowGap :String;
 	/** Shorthand for the "ruby-align" CSS property. */
 	var rubyAlign :String;
 	/** Shorthand for the "ruby-merge" CSS property. */
 	var rubyMerge :String;
 	/** Shorthand for the "ruby-position" CSS property. */
 	var rubyPosition :String;
+	/** Shorthand for the "rx" CSS property. */
+	var rx :String;
+	/** Shorthand for the "ry" CSS property. */
+	var ry :String;
+	/** Shorthand for the "scroll-behavior" CSS property. */
+	var scrollBehavior :String;
+	/** Shorthand for the "scroll-snap-coordinate" CSS property. */
+	var scrollSnapCoordinate :String;
+	/** Shorthand for the "scroll-snap-destination" CSS property. */
+	var scrollSnapDestination :String;
+	/** Shorthand for the "scroll-snap-points-x" CSS property. */
+	var scrollSnapPointsX :String;
+	/** Shorthand for the "scroll-snap-points-y" CSS property. */
+	var scrollSnapPointsY :String;
+	/** Shorthand for the "scroll-snap-type" CSS property. */
+	var scrollSnapType :String;
+	/** Shorthand for the "scroll-snap-type-x" CSS property. */
+	var scrollSnapTypeX :String;
+	/** Shorthand for the "scroll-snap-type-y" CSS property. */
+	var scrollSnapTypeY :String;
 	/** Shorthand for the "shape-image-threshold" CSS property. */
 	var shapeImageThreshold :String;
-	/** Shorthand for the "shape-outside" CSS property. */
-	var shapeOutside :String;
 	/** Shorthand for the "shape-margin" CSS property. */
 	var shapeMargin :String;
+	/** Shorthand for the "shape-outside" CSS property. */
+	var shapeOutside :String;
+	/** Shorthand for the "shape-rendering" CSS property. */
+	var shapeRendering :String;
 	/** Shorthand for the "size" CSS property. */
 	var size :String;
 	/** Shorthand for the "speak" CSS property. */
@@ -592,10 +788,32 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var speakPunctuation :String;
 	/** Shorthand for the "speech-rate" CSS property. */
 	var speechRate :String;
+	/** Shorthand for the "src" CSS property. */
+	var src :String;
+	/** Shorthand for the "stop-color" CSS property. */
+	var stopColor :String;
+	/** Shorthand for the "stop-opacity" CSS property. */
+	var stopOpacity :String;
 	/** Shorthand for the "stress" CSS property. */
 	var stress :String;
 	/** Shorthand for the "string-set" CSS property. */
 	var stringSet :String;
+	/** Shorthand for the "stroke" CSS property. */
+	var stroke :String;
+	/** Shorthand for the "stroke-dasharray" CSS property. */
+	var strokeDasharray :String;
+	/** Shorthand for the "stroke-dashoffset" CSS property. */
+	var strokeDashoffset :String;
+	/** Shorthand for the "stroke-linecap" CSS property. */
+	var strokeLinecap :String;
+	/** Shorthand for the "stroke-linejoin" CSS property. */
+	var strokeLinejoin :String;
+	/** Shorthand for the "stroke-miterlimit" CSS property. */
+	var strokeMiterlimit :String;
+	/** Shorthand for the "stroke-opacity" CSS property. */
+	var strokeOpacity :String;
+	/** Shorthand for the "stroke-width" CSS property. */
+	var strokeWidth :String;
 	/** Shorthand for the "tab-size" CSS property. */
 	var tabSize :String;
 	/** Shorthand for the "table-layout" CSS property. */
@@ -604,6 +822,8 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var textAlign :String;
 	/** Shorthand for the "text-align-last" CSS property. */
 	var textAlignLast :String;
+	/** Shorthand for the "text-anchor" CSS property. */
+	var textAnchor :String;
 	/** Shorthand for the "text-combine-upright" CSS property. */
 	var textCombineUpright :String;
 	/** Shorthand for the "text-decoration" CSS property. */
@@ -614,6 +834,8 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var textDecorationLine :String;
 	/** Shorthand for the "text-decoration-skip" CSS property. */
 	var textDecorationSkip :String;
+	/** Shorthand for the "text-decoration-skip-ink" CSS property. */
+	var textDecorationSkipInk :String;
 	/** Shorthand for the "text-decoration-style" CSS property. */
 	var textDecorationStyle :String;
 	/** Shorthand for the "text-emphasis" CSS property. */
@@ -634,8 +856,12 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var textOrientation :String;
 	/** Shorthand for the "text-overflow" CSS property. */
 	var textOverflow :String;
+	/** Shorthand for the "text-rendering" CSS property. */
+	var textRendering :String;
 	/** Shorthand for the "text-shadow" CSS property. */
 	var textShadow :String;
+	/** Shorthand for the "text-size-adjust" CSS property. */
+	var textSizeAdjust :String;
 	/** Shorthand for the "text-space-collapse" CSS property. */
 	var textSpaceCollapse :String;
 	/** Shorthand for the "text-transform" CSS property. */
@@ -646,8 +872,12 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var textWrap :String;
 	/** Shorthand for the "top" CSS property. */
 	var top :String;
+	/** Shorthand for the "touch-action" CSS property. */
+	var touchAction :String;
 	/** Shorthand for the "transform" CSS property. */
 	var transform :String;
+	/** Shorthand for the "transform-box" CSS property. */
+	var transformBox :String;
 	/** Shorthand for the "transform-origin" CSS property. */
 	var transformOrigin :String;
 	/** Shorthand for the "transform-style" CSS property. */
@@ -664,6 +894,14 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var transitionTimingFunction :String;
 	/** Shorthand for the "unicode-bidi" CSS property. */
 	var unicodeBidi :String;
+	/** Shorthand for the "unicode-range" CSS property. */
+	var unicodeRange :String;
+	/** Shorthand for the "user-select" CSS property. */
+	var userSelect :String;
+	/** Shorthand for the "user-zoom" CSS property. */
+	var userZoom :String;
+	/** Shorthand for the "vector-effect" CSS property. */
+	var vectorEffect :String;
 	/** Shorthand for the "vertical-align" CSS property. */
 	var verticalAlign :String;
 	/** Shorthand for the "visibility" CSS property. */
@@ -706,14 +944,18 @@ extern class CSSStyleDeclaration implements ArrayAccess<String>
 	var wrapThrough :String;
 	/** Shorthand for the "writing-mode" CSS property. */
 	var writingMode :String;
+	/** Shorthand for the "x" CSS property. */
+	var x :String;
+	/** Shorthand for the "y" CSS property. */
+	var y :String;
 	/** Shorthand for the "z-index" CSS property. */
 	var zIndex :String;
+	/** Shorthand for the "zoom" CSS property. */
+	var zoom :String;
 	
 	function item( index : Int ) : String;
 	/** @throws DOMError */
 	function getPropertyValue( property : String ) : String;
-	/** @throws DOMError */
-	function getPropertyCSSValue( property : String ) : CSSValue;
 	function getPropertyPriority( property : String ) : String;
 	/** @throws DOMError */
 	function setProperty( property : String, value : String, ?priority : String = "" ) : Void;

+ 9 - 1
std/js/html/CSSStyleRule.hx

@@ -20,7 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from cssrule.webidl. Do not edit!
+// This file is generated from mozilla\CSSStyleRule.webidl. Do not edit!
 
 package js.html;
 
@@ -34,7 +34,15 @@ package js.html;
 @:native("CSSStyleRule")
 extern class CSSStyleRule extends CSSRule
 {
+	
+	/**
+		Gets the textual representation of the selector for this rule, e.g. `"h1,h2"`.
+	**/
 	var selectorText : String;
+	
+	/**
+		Returns the `CSSStyleDeclaration` object for the rule.
+	**/
 	var style(default,null) : CSSStyleDeclaration;
 	
 }

+ 25 - 3
std/js/html/CSSStyleSheet.hx

@@ -34,11 +34,33 @@ package js.html;
 @:native("CSSStyleSheet")
 extern class CSSStyleSheet extends StyleSheet
 {
+	
+	/**
+		If this style sheet is imported into the document using an `@import` rule, the `ownerRule` property will return that `CSSImportRule`, otherwise it returns `null`.
+	**/
 	var ownerRule(default,null) : CSSRule;
+	
+	/**
+		Returns a live `CSSRuleList`, listing the `CSSRule` objects in the style sheet.
+		
+		 This is normally used to access individual rules like this:
+		
+		 `   styleSheet.cssRules[i] // where i = 0..cssRules.length-1`
+		
+		 To add or remove items in `cssRules`, use the `CSSStyleSheet`'s `deleteRule()` and `insertRule()` methods, described below.
+	**/
 	var cssRules(default,null) : CSSRuleList;
 	
-	/** @throws DOMError */
-	function insertRule( rule : String, index : Int ) : Int;
-	/** @throws DOMError */
+	
+	/**
+		Inserts a new rule at the specified position in the style sheet, given the textual representation of the rule.
+		@throws DOMError
+	**/
+	function insertRule( rule : String, ?index : Int = 0 ) : Int;
+	
+	/**
+		Deletes a rule at the specified position from the style sheet.
+		@throws DOMError
+	**/
 	function deleteRule( index : Int ) : Void;
 }

+ 6 - 8
std/js/html/ShadowElement.hx → std/js/html/CSSSupportsRule.hx

@@ -20,20 +20,18 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from mozilla\HTMLShadowElement.webidl. Do not edit!
+// This file is generated from mozilla\CSSSupportsRule.webidl. Do not edit!
 
 package js.html;
 
 /**
-	The `HTMLShadowElement` interface represents a `shadow` HTML Element, which is used in Shadow DOM.
+	The `CSSSupportsRule` interface describes an object representing a single CSS `@supports` at-rule. It implements the `CSSConditionRule` interface, and therefore the `CSSRule` and `CSSGroupingRule` interfaces with a type value of `12` (`CSSRule.SUPPORTS_RULE`).
 
-	Documentation [HTMLShadowElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLShadowElement) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/HTMLShadowElement$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+	Documentation [CSSSupportsRule](https://developer.mozilla.org/en-US/docs/Web/API/CSSSupportsRule) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CSSSupportsRule$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
-	@see <https://developer.mozilla.org/en-US/docs/Web/API/HTMLShadowElement>
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSSupportsRule>
 **/
-@:native("HTMLShadowElement")
-extern class ShadowElement extends Element
+@:native("CSSSupportsRule")
+extern class CSSSupportsRule extends CSSConditionRule
 {
-	var olderShadowRoot(default,null) : ShadowRoot;
-	
 }

+ 0 - 78
std/js/html/CSSValue.hx

@@ -1,78 +0,0 @@
-/*
- * Copyright (C)2005-2018 Haxe Foundation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-// This file is generated from mozilla\CSSValue.webidl. Do not edit!
-
-package js.html;
-
-/**
-	The `CSSValue` interface represents the current computed value of a CSS property.
-
-	Documentation [CSSValue](https://developer.mozilla.org/en-US/docs/Web/API/CSSValue) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CSSValue$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
-
-	@see <https://developer.mozilla.org/en-US/docs/Web/API/CSSValue>
-**/
-@:native("CSSValue")
-extern class CSSValue
-{
-	static inline var CSS_INHERIT : Int = 0;
-	static inline var CSS_PRIMITIVE_VALUE : Int = 1;
-	static inline var CSS_VALUE_LIST : Int = 2;
-	static inline var CSS_CUSTOM : Int = 3;
-	
-	
-	/**
-		A `DOMString` representing the current value.
-	**/
-	var cssText : String;
-	
-	/**
-		An <code>unsigned short</code> representing a code defining the type of the value. Possible values are:
-		 <table class="standard-table">
-		  
-		   <tr>
-		    <td class="header">Constant</td>
-		    <td class="header">Description</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_CUSTOM</code></td>
-		    <td>The value is a custom value.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_INHERIT</code></td>
-		    <td>The value is inherited and the <code>cssText</code> contains <code>"inherit"</code>.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_PRIMITIVE_VALUE</code></td>
-		    <td>The value is a primitive value and an instance of the <code>CSSPrimitiveValue</code> interface can be obtained by using binding-specific casting methods on this instance of the <code>CSSValue</code> interface.</td>
-		   </tr>
-		   <tr>
-		    <td><code>CSS_VALUE_LIST</code></td>
-		    <td>The value is a <code>CSSValue</code> list and an instance of the <code>CSSValueList</code> interface can be obtained by using binding-specific casting methods on this instance of the <code>CSSValue</code> interface.</td>
-		   </tr>
-		  
-		 </table>
-		 
-	**/
-	var cssValueType(default,null) : Int;
-	
-}

+ 5 - 5
std/js/html/MessagePortList.hx → std/js/html/CanvasCaptureMediaStream.hx

@@ -20,14 +20,14 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from mozilla\MessagePortList.webidl. Do not edit!
+// This file is generated from mozilla\CanvasCaptureMediaStream.webidl. Do not edit!
 
 package js.html;
 
-@:native("MessagePortList")
-extern class MessagePortList implements ArrayAccess<MessagePort>
+@:native("CanvasCaptureMediaStream")
+extern class CanvasCaptureMediaStream extends MediaStream
 {
-	var length(default,null) : Int;
+	var canvas(default,null) : CanvasElement;
 	
-	function item( index : Int ) : MessagePort;
+	function requestFrame() : Void;
 }

+ 15 - 5
std/js/html/CanvasElement.hx

@@ -45,25 +45,31 @@ extern class CanvasElement extends Element
 	**/
 	var height : Int;
 	
-	/** @throws DOMError */
 	
 	/**
-		Returns a drawing context on the canvas, or null if the context ID is not supported. A drawing context lets you draw on the canvas. Calling getContext with `"2d"` returns a `CanvasRenderingContext2D` object, whereas calling it with `"experimental-webgl"` (or `"webgl"`) returns a `WebGLRenderingContext` object. This context is only available on browsers that implement WebGL.
+		Returns a drawing context on the canvas, or null if the context ID is not supported. A drawing context lets you draw on the canvas. Calling getContext with `"2d"` returns a `CanvasRenderingContext2D` object, whereas calling it with `"webgl"` (or `"experimental-webgl"`) returns a `WebGLRenderingContext` object. This context is only available on browsers that implement WebGL.
+		@throws DOMError
 	**/
-	function getContext( contextId : String, ?contextOptions : Dynamic ) : Dynamic/*MISSING nsISupports*/;
-	/** @throws DOMError */
+	function getContext( contextId : String, ?contextOptions : Dynamic ) : Dynamic;
 	
 	/**
 		Returns a data-URL containing a representation of the image in the format specified by the `type` parameter (defaults to `png`). The returned image is in a resolution of 96dpi.
+		@throws DOMError
 	**/
 	function toDataURL( ?type : String = "", ?encoderOptions : Dynamic ) : String;
-	/** @throws DOMError */
 	
 	/**
 		Creates a `Blob` object representing the image contained in the canvas; this file may be cached on the disk or stored in memory at the discretion of the user agent.
+		@throws DOMError
 	**/
 	function toBlob( callback : Blob -> Void, ?type : String = "", ?encoderOptions : Dynamic ) : Void;
 	
+	/**
+		Returns a `CanvasCaptureMediaStream` that is a real-time video capture of the surface of the canvas.
+		@throws DOMError
+	**/
+	function captureStream( ?frameRate : Float ) : CanvasCaptureMediaStream;
+	
 	/** Shorthand for getting a CanvasRenderingContext2D. */
 	inline function getContext2d( ?attribs : {} ) : CanvasRenderingContext2D {
 		return cast getContext("2d", attribs);
@@ -72,6 +78,10 @@ extern class CanvasElement extends Element
 	inline function getContextWebGL( ?attribs : js.html.webgl.ContextAttributes ) : js.html.webgl.RenderingContext {
 		return CanvasUtil.getContextWebGL(this, attribs);
 	}
+	/** Shorthand for getting a js.html.webgl.WebGL2RenderingContext. */
+	inline function getContextWebGL2( ?attribs : js.html.webgl.ContextAttributes ) : js.html.webgl.WebGL2RenderingContext {
+		return this.getContext('webgl2', attribs);
+	}
 }
 
 private class CanvasUtil {

+ 1 - 1
std/js/html/CanvasGradient.hx

@@ -34,10 +34,10 @@ package js.html;
 @:native("CanvasGradient")
 extern class CanvasGradient
 {
-	/** @throws DOMError */
 	
 	/**
 		Adds a new stop, defined by an `offset` and a `color`, to the gradient. If the offset is not between `0` and `1` an `INDEX_SIZE_ERR` is raised, if the color can't be parsed as a CSS `color`, a `SYNTAX_ERR` is raised.
+		@throws DOMError
 	**/
 	function addColorStop( offset : Float, color : String ) : Void;
 }

+ 1 - 1
std/js/html/CanvasPattern.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `CanvasPattern` interface represents an opaque object describing a pattern, based on an image, a canvas or a video, created by the `CanvasRenderingContext2D.createPattern()` method.
+	The `CanvasPattern` interface represents an opaque object describing a pattern, based on an image, a canvas, or a video, created by the `CanvasRenderingContext2D.createPattern()` method.
 
 	Documentation [CanvasPattern](https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 

+ 52 - 36
std/js/html/CanvasRenderingContext2D.hx

@@ -39,10 +39,6 @@ extern class CanvasRenderingContext2D
 	var globalCompositeOperation : String;
 	var strokeStyle : haxe.extern.EitherType<String,haxe.extern.EitherType<CanvasGradient,CanvasPattern>>;
 	var fillStyle : haxe.extern.EitherType<String,haxe.extern.EitherType<CanvasGradient,CanvasPattern>>;
-	var shadowOffsetX : Float;
-	var shadowOffsetY : Float;
-	var shadowBlur : Float;
-	var shadowColor : String;
 	var filter : String;
 	var imageSmoothingEnabled : Bool;
 	var lineWidth : Float;
@@ -50,56 +46,50 @@ extern class CanvasRenderingContext2D
 	var lineJoin : String;
 	var miterLimit : Float;
 	var lineDashOffset : Float;
+	var shadowOffsetX : Float;
+	var shadowOffsetY : Float;
+	var shadowBlur : Float;
+	var shadowColor : String;
 	var font : String;
 	var textAlign : String;
 	var textBaseline : String;
 	
-	function save() : Void;
-	function restore() : Void;
-	/** @throws DOMError */
-	function scale( x : Float, y : Float ) : Void;
-	/** @throws DOMError */
-	function rotate( angle : Float ) : Void;
-	/** @throws DOMError */
-	function translate( x : Float, y : Float ) : Void;
 	/** @throws DOMError */
-	function transform( a : Float, b : Float, c : Float, d : Float, e : Float, f : Float ) : Void;
-	/** @throws DOMError */
-	function setTransform( a : Float, b : Float, c : Float, d : Float, e : Float, f : Float ) : Void;
-	/** @throws DOMError */
-	function resetTransform() : Void;
-	function createLinearGradient( x0 : Float, y0 : Float, x1 : Float, y1 : Float ) : CanvasGradient;
-	/** @throws DOMError */
-	function createRadialGradient( x0 : Float, y0 : Float, r0 : Float, x1 : Float, y1 : Float, r1 : Float ) : CanvasGradient;
-	/** @throws DOMError */
-	function createPattern( image : haxe.extern.EitherType<ImageElement,haxe.extern.EitherType<CanvasElement,haxe.extern.EitherType<VideoElement,ImageBitmap>>>, repetition : String ) : CanvasPattern;
-	function clearRect( x : Float, y : Float, w : Float, h : Float ) : Void;
-	function fillRect( x : Float, y : Float, w : Float, h : Float ) : Void;
-	function strokeRect( x : Float, y : Float, w : Float, h : Float ) : Void;
+	@:overload( function( image : js.html.svg.ImageElement, dx : Float, dy : Float) : Void {} )
+	@:overload( function( image : CanvasElement, dx : Float, dy : Float) : Void {} )
+	@:overload( function( image : VideoElement, dx : Float, dy : Float) : Void {} )
+	@:overload( function( image : ImageBitmap, dx : Float, dy : Float) : Void {} )
+	@:overload( function( image : js.html.svg.ImageElement, dx : Float, dy : Float, dw : Float, dh : Float) : Void {} )
+	@:overload( function( image : CanvasElement, dx : Float, dy : Float, dw : Float, dh : Float) : Void {} )
+	@:overload( function( image : VideoElement, dx : Float, dy : Float, dw : Float, dh : Float) : Void {} )
+	@:overload( function( image : ImageBitmap, dx : Float, dy : Float, dw : Float, dh : Float) : Void {} )
+	@:overload( function( image : js.html.svg.ImageElement, sx : Float, sy : Float, sw : Float, sh : Float, dx : Float, dy : Float, dw : Float, dh : Float) : Void {} )
+	@:overload( function( image : CanvasElement, sx : Float, sy : Float, sw : Float, sh : Float, dx : Float, dy : Float, dw : Float, dh : Float) : Void {} )
+	@:overload( function( image : VideoElement, sx : Float, sy : Float, sw : Float, sh : Float, dx : Float, dy : Float, dw : Float, dh : Float) : Void {} )
+	@:overload( function( image : ImageBitmap, sx : Float, sy : Float, sw : Float, sh : Float, dx : Float, dy : Float, dw : Float, dh : Float) : Void {} )
+	@:overload( function( image : ImageElement, dx : Float, dy : Float ) : Void {} )
+	@:overload( function( image : ImageElement, dx : Float, dy : Float, dw : Float, dh : Float ) : Void {} )
+	function drawImage( image : ImageElement, sx : Float, sy : Float, sw : Float, sh : Float, dx : Float, dy : Float, dw : Float, dh : Float ) : Void;
 	function beginPath() : Void;
 	@:overload( function( ?winding : CanvasWindingRule = "nonzero" ) : Void {} )
 	function fill( path : Path2D, ?winding : CanvasWindingRule = "nonzero" ) : Void;
 	@:overload( function() : Void {} )
 	function stroke( path : Path2D ) : Void;
-	/** @throws DOMError */
-	function drawFocusIfNeeded( element : Element ) : Void;
-	function drawCustomFocusRing( element : Element ) : Bool;
 	@:overload( function( ?winding : CanvasWindingRule = "nonzero" ) : Void {} )
 	function clip( path : Path2D, ?winding : CanvasWindingRule = "nonzero" ) : Void;
 	@:overload( function( x : Float, y : Float, ?winding : CanvasWindingRule = "nonzero" ) : Bool {} )
 	function isPointInPath( path : Path2D, x : Float, y : Float, ?winding : CanvasWindingRule = "nonzero" ) : Bool;
 	@:overload( function( x : Float, y : Float ) : Bool {} )
 	function isPointInStroke( path : Path2D, x : Float, y : Float ) : Bool;
+	function createLinearGradient( x0 : Float, y0 : Float, x1 : Float, y1 : Float ) : CanvasGradient;
 	/** @throws DOMError */
-	function fillText( text : String, x : Float, y : Float, ?maxWidth : Float ) : Void;
-	/** @throws DOMError */
-	function strokeText( text : String, x : Float, y : Float, ?maxWidth : Float ) : Void;
-	/** @throws DOMError */
-	function measureText( text : String ) : TextMetrics;
+	function createRadialGradient( x0 : Float, y0 : Float, r0 : Float, x1 : Float, y1 : Float, r1 : Float ) : CanvasGradient;
 	/** @throws DOMError */
-	@:overload( function( image : haxe.extern.EitherType<ImageElement,haxe.extern.EitherType<CanvasElement,haxe.extern.EitherType<VideoElement,ImageBitmap>>>, dx : Float, dy : Float ) : Void {} )
-	@:overload( function( image : haxe.extern.EitherType<ImageElement,haxe.extern.EitherType<CanvasElement,haxe.extern.EitherType<VideoElement,ImageBitmap>>>, dx : Float, dy : Float, dw : Float, dh : Float ) : Void {} )
-	function drawImage( image : haxe.extern.EitherType<ImageElement,haxe.extern.EitherType<CanvasElement,haxe.extern.EitherType<VideoElement,ImageBitmap>>>, sx : Float, sy : Float, sw : Float, sh : Float, dx : Float, dy : Float, dw : Float, dh : Float ) : Void;
+	@:overload( function( image : js.html.svg.ImageElement, repetition : String) : CanvasPattern {} )
+	@:overload( function( image : CanvasElement, repetition : String) : CanvasPattern {} )
+	@:overload( function( image : VideoElement, repetition : String) : CanvasPattern {} )
+	@:overload( function( image : ImageBitmap, repetition : String) : CanvasPattern {} )
+	function createPattern( image : ImageElement, repetition : String ) : CanvasPattern;
 	/** @throws DOMError */
 	function addHitRegion( ?options : HitRegionOptions ) : Void;
 	function removeHitRegion( id : String ) : Void;
@@ -127,4 +117,30 @@ extern class CanvasRenderingContext2D
 	function arc( x : Float, y : Float, radius : Float, startAngle : Float, endAngle : Float, ?anticlockwise : Bool = false ) : Void;
 	/** @throws DOMError */
 	function ellipse( x : Float, y : Float, radiusX : Float, radiusY : Float, rotation : Float, startAngle : Float, endAngle : Float, ?anticlockwise : Bool = false ) : Void;
+	function clearRect( x : Float, y : Float, w : Float, h : Float ) : Void;
+	function fillRect( x : Float, y : Float, w : Float, h : Float ) : Void;
+	function strokeRect( x : Float, y : Float, w : Float, h : Float ) : Void;
+	function save() : Void;
+	function restore() : Void;
+	/** @throws DOMError */
+	function fillText( text : String, x : Float, y : Float, ?maxWidth : Float ) : Void;
+	/** @throws DOMError */
+	function strokeText( text : String, x : Float, y : Float, ?maxWidth : Float ) : Void;
+	/** @throws DOMError */
+	function measureText( text : String ) : TextMetrics;
+	/** @throws DOMError */
+	function scale( x : Float, y : Float ) : Void;
+	/** @throws DOMError */
+	function rotate( angle : Float ) : Void;
+	/** @throws DOMError */
+	function translate( x : Float, y : Float ) : Void;
+	/** @throws DOMError */
+	function transform( a : Float, b : Float, c : Float, d : Float, e : Float, f : Float ) : Void;
+	/** @throws DOMError */
+	function setTransform( a : Float, b : Float, c : Float, d : Float, e : Float, f : Float ) : Void;
+	/** @throws DOMError */
+	function resetTransform() : Void;
+	/** @throws DOMError */
+	function drawFocusIfNeeded( element : Element ) : Void;
+	function drawCustomFocusRing( element : Element ) : Bool;
 }

+ 35 - 0
std/js/html/ChannelPixelLayout.hx

@@ -0,0 +1,35 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\ImageBitmap.webidl. Do not edit!
+
+package js.html;
+
+typedef ChannelPixelLayout =
+{
+	var dataType : ChannelPixelLayoutDataType;
+	var height : Int;
+	var offset : Int;
+	var skip : Int;
+	var stride : Int;
+	var width : Int;
+}

+ 37 - 0
std/js/html/ChannelPixelLayoutDataType.hx

@@ -0,0 +1,37 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\ImageBitmap.webidl. Do not edit!
+
+package js.html;
+
+enum abstract ChannelPixelLayoutDataType(String)
+{
+	var UINT8 = "uint8";
+	var INT8 = "int8";
+	var UINT16 = "uint16";
+	var INT16 = "int16";
+	var UINT32 = "uint32";
+	var INT32 = "int32";
+	var FLOAT32 = "float32";
+	var FLOAT64 = "float64";
+}

+ 15 - 6
std/js/html/CharacterData.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `CharacterData` abstract interface represents a `Node` object that contains characters. This is an abstract interface, meaning there aren't any object of type `CharacterData`: it is implemented by other interfaces, like `Text`, `Comment`, or `ProcessingInstruction` which aren't abstract.
+	The `CharacterData` abstract interface represents a `Node` object that contains characters. This is an abstract interface, meaning there aren't any object of type `CharacterData`: it is implemented by other interfaces, like `Text`, '. In XML, the character sequence '--' cannot be used within a comment.">`Comment`, or `ProcessingInstruction` which aren't abstract.
 
 	Documentation [CharacterData](https://developer.mozilla.org/en-US/docs/Web/API/CharacterData) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/CharacterData$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -47,35 +47,44 @@ extern class CharacterData extends Node
 	var previousElementSibling(default,null) : Element;
 	var nextElementSibling(default,null) : Element;
 	
-	/** @throws DOMError */
 	
 	/**
 		Returns a `DOMString` containing the part of `CharacterData.data` of the specified length and starting at the specified offset.
+		@throws DOMError
 	**/
 	function substringData( offset : Int, count : Int ) : String;
-	/** @throws DOMError */
 	
 	/**
 		Appends the given `DOMString` to the `CharacterData.data` string; when this method returns, `data` contains the concatenated `DOMString`.
+		@throws DOMError
 	**/
 	function appendData( data : String ) : Void;
-	/** @throws DOMError */
 	
 	/**
 		Inserts the specified characters, at the specified offset, in the `CharacterData.data` string; when this method returns, `data` contains the modified `DOMString`.
+		@throws DOMError
 	**/
 	function insertData( offset : Int, data : String ) : Void;
-	/** @throws DOMError */
 	
 	/**
 		Removes the specified amount of characters, starting at the specified offset, from the `CharacterData.data` string; when this method returns, `data` contains the shortened `DOMString`.
+		@throws DOMError
 	**/
 	function deleteData( offset : Int, count : Int ) : Void;
-	/** @throws DOMError */
 	
 	/**
 		Replaces the specified amount of characters, starting at the specified offset, with the specified `DOMString`; when this method returns, `data` contains the modified `DOMString`.
+		@throws DOMError
 	**/
 	function replaceData( offset : Int, count : Int, data : String ) : Void;
+	/** @throws DOMError */
+	@:overload( function( nodes : haxe.extern.Rest<String>) : Void {} )
+	function before( nodes : haxe.extern.Rest<Node> ) : Void;
+	/** @throws DOMError */
+	@:overload( function( nodes : haxe.extern.Rest<String>) : Void {} )
+	function after( nodes : haxe.extern.Rest<Node> ) : Void;
+	/** @throws DOMError */
+	@:overload( function( nodes : haxe.extern.Rest<String>) : Void {} )
+	function replaceWith( nodes : haxe.extern.Rest<Node> ) : Void;
 	function remove() : Void;
 }

+ 9 - 8
std/js/html/Client.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `Client` interface of the ServiceWorker API represents the scope of a service worker client. A service worker client is either a document in a browser context or a `SharedWorker`, which is controlled by an active worker. A client object acts as a snapshot representation of its associated service worker client in the scope of a service worker.
+	The `Client` interface represents an executable context such as a `Worker`, or a `SharedWorker`. `Window` clients are represented by the more-specific `WindowClient`. You can get `Client`/`WindowClient` objects from methods such as `Clients.matchAll()` and `Clients.get()`.
 
 	Documentation [Client](https://developer.mozilla.org/en-US/docs/Web/API/Client) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/Client$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -36,24 +36,25 @@ extern class Client
 {
 	
 	/**
-		The URL of the current service worker client.
+		The URL of the client as a string.
 	**/
 	var url(default,null) : String;
+	var frameType(default,null) : FrameType;
 	
 	/**
-		Indicates the type of browsing context of the current client. This value can be one of `auxiliary`, `top-level`, `nested`, or `none`.
+		The client's type as a string. It can be "`window"`, "`worker"`, or "`sharedworker"`.
 	**/
-	var frameType(default,null) : FrameType;
+	var type(default,null) : ClientType;
 	
 	/**
-		Returns the universally unique identifier of the `Client` object.
+		The universally unique identifier of the client as a string.
 	**/
 	var id(default,null) : String;
 	
-	/** @throws DOMError */
 	
 	/**
-		Allows a service worker to send a message to a `ServiceWorkerClient`.
+		Sends a message to the client.
+		@throws DOMError
 	**/
-	function postMessage( message : Dynamic, ?transfer : Array<Dynamic> ) : Void;
+	function postMessage( message : Dynamic, ?transfer : Array<Dynamic> = [] ) : Void;
 }

+ 1 - 1
std/js/html/ClientQueryOptions.hx

@@ -27,5 +27,5 @@ package js.html;
 typedef ClientQueryOptions =
 {
 	@:optional var includeUncontrolled : Bool;
-	@:optional var type : Dynamic/*MISSING ClientType*/;
+	@:optional var type : ClientType;
 }

+ 34 - 0
std/js/html/ClientType.hx

@@ -0,0 +1,34 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\Clients.webidl. Do not edit!
+
+package js.html;
+
+enum abstract ClientType(String)
+{
+	var WINDOW = "window";
+	var WORKER = "worker";
+	var SHAREDWORKER = "sharedworker";
+	var SERVICEWORKER = "serviceworker";
+	var ALL = "all";
+}

+ 9 - 4
std/js/html/Clients.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `Clients` interface of the Service Workers API represents a container for a list of `Client` objects.
+	The `Clients` interface provides access to `Client` objects. Access it via ``self`.clients` within a service worker.
 
 	Documentation [Clients](https://developer.mozilla.org/en-US/docs/Web/API/Clients) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/Clients$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -36,17 +36,22 @@ extern class Clients
 {
 	
 	/**
-		Gets a service worker client matching a given `id` and returns it in a `Promise`.
+		Returns a `Promise` for a `Client` matching a given `Client.id`.
 	**/
 	function get( id : String ) : Promise<Dynamic>;
 	
 	/**
-		Gets a list of service worker clients and returns them in a `Promise`. Include the `options` parameter to return all service worker clients whose origin is the same as the associated service worker's origin. If `options` are not included, the method returns only the service worker clients controlled by the service worker
+		Returns a `Promise` for an array of `Client` objects. An options argument allows you to control the types of clients returned
 	**/
 	function matchAll( ?options : ClientQueryOptions ) : Promise<Array<Client>>;
 	
 	/**
-		Allows an active Service Worker to set itself as the active worker for a client page when the worker and the page are in the same scope. 
+		Opens a new browser window for a given url and returns a `Promise` for the new `WindowClient`.
+	**/
+	function openWindow( url : String ) : Promise<WindowClient>;
+	
+	/**
+		Allows an active service worker to set itself as the `ServiceWorkerContainer.controller` for all clients within its `ServiceWorkerRegistration.scope`. 
 	**/
 	function claim() : Promise<Void>;
 }

+ 116 - 116
std/js/html/CloseEvent.hx

@@ -41,122 +41,122 @@ extern class CloseEvent extends Event
 	var wasClean(default,null) : Bool;
 	
 	/**
-		Returns an <code>unsigned short</code> containing the close code send by the server. The following values are permitted status codes.
-		 <table id="Status_codes" class="standard-table">
-		  
-		   <tr>
-		    <td class="header">Status code</td>
-		    <td class="header">Name</td>
-		    <td class="header">Description</td>
-		   </tr>
-		   <tr>
-		    <td><code>0</code>–<code>999</code></td>
-		    <td> </td>
-		    <td>Reserved and not used.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1000</code></td>
-		    <td><code>CLOSE_NORMAL</code></td>
-		    <td>Normal closure; the connection successfully completed whatever purpose for which it was created.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1001</code></td>
-		    <td><code>CLOSE_GOING_AWAY</code></td>
-		    <td>The endpoint is going away, either because of a server failure or because the browser is navigating away from the page that opened the connection.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1002</code></td>
-		    <td><code>CLOSE_PROTOCOL_ERROR</code></td>
-		    <td>The endpoint is terminating the connection due to a protocol error.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1003</code></td>
-		    <td><code>CLOSE_UNSUPPORTED</code></td>
-		    <td>The connection is being terminated because the endpoint received data of a type it cannot accept (for example, a text-only endpoint received binary data).</td>
-		   </tr>
-		   <tr>
-		    <td><code>1004</code></td>
-		    <td> </td>
-		    <td>Reserved. A meaning might be defined in the future.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1005</code></td>
-		    <td><code>CLOSE_NO_STATUS</code></td>
-		    <td>Reserved.  Indicates that no status code was provided even though one was expected.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1006</code></td>
-		    <td><code>CLOSE_ABNORMAL</code></td>
-		    <td>Reserved. Used to indicate that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1007</code></td>
-		    <td>Unsupported Data</td>
-		    <td>The endpoint is terminating the connection because a message was received that contained inconsistent data (e.g., non-UTF-8 data within a text message).</td>
-		   </tr>
-		   <tr>
-		    <td><code>1008</code></td>
-		    <td>Policy Violation</td>
-		    <td>The endpoint is terminating the connection because it received a message that violates its policy. This is a generic status code, used when codes 1003 and 1009 are not suitable.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1009</code></td>
-		    <td><code>CLOSE_TOO_LARGE</code></td>
-		    <td>The endpoint is terminating the connection because a data frame was received that is too large.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1010</code></td>
-		    <td>Missing Extension</td>
-		    <td>The client is terminating the connection because it expected the server to negotiate one or more extension, but the server didn't.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1011</code></td>
-		    <td>Internal Error</td>
-		    <td>The server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1012</code></td>
-		    <td>Service Restart</td>
-		    <td>The server is terminating the connection because it is restarting. [Ref]</td>
-		   </tr>
-		   <tr>
-		    <td><code>1013</code></td>
-		    <td>Try Again Later</td>
-		    <td>The server is terminating the connection due to a temporary condition, e.g. it is overloaded and is casting off some of its clients. [Ref]</td>
-		   </tr>
-		   <tr>
-		    <td><code>1014</code></td>
-		    <td> </td>
-		    <td>Reserved for future use by the WebSocket standard.</td>
-		   </tr>
-		   <tr>
-		    <td><code>1015</code></td>
-		    <td>TLS Handshake</td>
-		    <td>Reserved. Indicates that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified).</td>
-		   </tr>
-		   <tr>
-		    <td><code>1016</code>–<code>1999</code></td>
-		    <td> </td>
-		    <td>Reserved for future use by the WebSocket standard.</td>
-		   </tr>
-		   <tr>
-		    <td><code>2000</code>–<code>2999</code></td>
-		    <td> </td>
-		    <td>Reserved for use by WebSocket extensions.</td>
-		   </tr>
-		   <tr>
-		    <td><code>3000</code>–<code>3999</code></td>
-		    <td> </td>
-		    <td>Available for use by libraries and frameworks. May not be used by applications. Available for registration at the IANA via first-come, first-serve.</td>
-		   </tr>
-		   <tr>
-		    <td><code>4000</code>–<code>4999</code></td>
-		    <td> </td>
-		    <td>Available for use by applications.</td>
-		   </tr>
-		  
-		 </table>
-		 
+		Returns an <code>unsigned short</code> containing the close code send by the server. The following values are permitted status codes. The following definitions are sourced from the IANA website [Ref]. Note that the 1xxx codes are only WebSocket-internal and not for the same meaning by the transported data (like when the application-layer protocol is invalid). The only permitted codes to be specified in Firefox are 1000 and 3000 to 4999 [Source, Bug].
+			<table id="Status_codes" class="standard-table">
+				
+					<tr>
+						<td class="header">Status code</td>
+						<td class="header">Name</td>
+						<td class="header">Description</td>
+					</tr>
+					<tr>
+						<td><code>0</code>–<code>999</code></td>
+						<td> </td>
+						<td>Reserved and not used.</td>
+					</tr>
+					<tr>
+						<td><code>1000</code></td>
+						<td>Normal Closure</td>
+						<td>Normal closure; the connection successfully completed whatever purpose for which it was created.</td>
+					</tr>
+					<tr>
+						<td><code>1001</code></td>
+						<td>Going Away</td>
+						<td>The endpoint is going away, either because of a server failure or because the browser is navigating away from the page that opened the connection.</td>
+					</tr>
+					<tr>
+						<td><code>1002</code></td>
+						<td>Protocol Error</td>
+						<td>The endpoint is terminating the connection due to a protocol error.</td>
+					</tr>
+					<tr>
+						<td><code>1003</code></td>
+						<td>Unsupported Data</td>
+						<td>The connection is being terminated because the endpoint received data of a type it cannot accept (for example, a text-only endpoint received binary data).</td>
+					</tr>
+					<tr>
+						<td><code>1004</code></td>
+						<td> </td>
+						<td>Reserved. A meaning might be defined in the future.</td>
+					</tr>
+					<tr>
+						<td><code>1005</code></td>
+						<td>No Status Recvd</td>
+						<td>Reserved.  Indicates that no status code was provided even though one was expected.</td>
+					</tr>
+					<tr>
+						<td><code>1006</code></td>
+						<td>Abnormal Closure</td>
+						<td>Reserved. Used to indicate that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected.</td>
+					</tr>
+					<tr>
+						<td><code>1007</code></td>
+						<td>Invalid frame payload data</td>
+						<td>The endpoint is terminating the connection because a message was received that contained inconsistent data (e.g., non-UTF-8 data within a text message).</td>
+					</tr>
+					<tr>
+						<td><code>1008</code></td>
+						<td>Policy Violation</td>
+						<td>The endpoint is terminating the connection because it received a message that violates its policy. This is a generic status code, used when codes 1003 and 1009 are not suitable.</td>
+					</tr>
+					<tr>
+						<td><code>1009</code></td>
+						<td>Message too big</td>
+						<td>The endpoint is terminating the connection because a data frame was received that is too large.</td>
+					</tr>
+					<tr>
+						<td><code>1010</code></td>
+						<td>Missing Extension</td>
+						<td>The client is terminating the connection because it expected the server to negotiate one or more extension, but the server didn't.</td>
+					</tr>
+					<tr>
+						<td><code>1011</code></td>
+						<td>Internal Error</td>
+						<td>The server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request.</td>
+					</tr>
+					<tr>
+						<td><code>1012</code></td>
+						<td>Service Restart</td>
+						<td>The server is terminating the connection because it is restarting. [Ref]</td>
+					</tr>
+					<tr>
+						<td><code>1013</code></td>
+						<td>Try Again Later</td>
+						<td>The server is terminating the connection due to a temporary condition, e.g. it is overloaded and is casting off some of its clients. [Ref]</td>
+					</tr>
+					<tr>
+						<td><code>1014</code></td>
+						<td>Bad Gateway</td>
+						<td>The server was acting as a gateway or proxy and received an invalid response from the upstream server. This is similar to 502 HTTP Status Code.</td>
+					</tr>
+					<tr>
+						<td><code>1015</code></td>
+						<td>TLS Handshake</td>
+						<td>Reserved. Indicates that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified).</td>
+					</tr>
+					<tr>
+						<td><code>1016</code>–<code>1999</code></td>
+						<td> </td>
+						<td>Reserved for future use by the WebSocket standard.</td>
+					</tr>
+					<tr>
+						<td><code>2000</code>–<code>2999</code></td>
+						<td> </td>
+						<td>Reserved for use by WebSocket extensions.</td>
+					</tr>
+					<tr>
+						<td><code>3000</code>–<code>3999</code></td>
+						<td> </td>
+						<td>Available for use by libraries and frameworks. May not be used by applications. Available for registration at the IANA via first-come, first-serve.</td>
+					</tr>
+					<tr>
+						<td><code>4000</code>–<code>4999</code></td>
+						<td> </td>
+						<td>Available for use by applications.</td>
+					</tr>
+				
+			</table>
+			
 	**/
 	var code(default,null) : Int;
 	

+ 1 - 1
std/js/html/CompositeOperation.hx

@@ -20,7 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from mozilla\Keyframe.webidl. Do not edit!
+// This file is generated from mozilla\BaseKeyframeTypes.webidl. Do not edit!
 
 package js.html;
 

+ 15 - 1
std/js/html/CompositionEvent.hx

@@ -34,8 +34,22 @@ package js.html;
 @:native("CompositionEvent")
 extern class CompositionEvent extends UIEvent
 {
+	
+	/**
+		Returns the characters generated by the input method that raised the event; its varies depending on the type of event that generated the `CompositionEvent` object.
+	**/
 	var data(default,null) : String;
+	
+	/**
+		Returns the locale of current input method (for example, the keyboard layout locale if the composition is associated with IME).
+	**/
 	var locale(default,null) : String;
 	
-	function initCompositionEvent( typeArg : String, canBubbleArg : Bool, cancelableArg : Bool, viewArg : Window, dataArg : String, localeArg : String ) : Void;
+	/** @throws DOMError */
+	function new( type : String, ?eventInitDict : CompositionEventInit ) : Void;
+	
+	/**
+		Initializes the attributes of a `CompositionEvent` object.
+	**/
+	function initCompositionEvent( typeArg : String, ?canBubbleArg : Bool = false, ?cancelableArg : Bool = false, ?viewArg : Window, ?dataArg : String, ?localeArg : String = "" ) : Void;
 }

+ 31 - 0
std/js/html/CompositionEventInit.hx

@@ -0,0 +1,31 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\CompositionEvent.webidl. Do not edit!
+
+package js.html;
+
+typedef CompositionEventInit =
+{
+	> UIEventInit,
+	@:optional var data : String;
+}

+ 3 - 3
std/js/html/ComputedTimingProperties.hx → std/js/html/ComputedEffectTiming.hx

@@ -20,13 +20,13 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from mozilla\AnimationEffectReadOnly.webidl. Do not edit!
+// This file is generated from mozilla\AnimationEffect.webidl. Do not edit!
 
 package js.html;
 
-typedef ComputedTimingProperties =
+typedef ComputedEffectTiming =
 {
-	> AnimationEffectTimingProperties,
+	> EffectTiming,
 	@:optional var activeDuration : Float;
 	@:optional var currentIteration : Float;
 	@:optional var endTime : Float;

+ 54 - 45
std/js/html/Console.hx

@@ -25,123 +25,132 @@
 package js.html;
 
 /**
-	The `Console` object provides access to the browser's debugging console (e.g., the Web Console in Firefox). The specifics of how it works vary from browser to browser, but there is a de facto set of features that are typically provided.
+	The `Console` object provides access to the browser's debugging console (e.g. the Web Console in Firefox). The specifics of how it works varies from browser to browser, but there is a de facto set of features that are typically provided.
 
-	Documentation [Console](https://developer.mozilla.org/en-US/docs/Web/API/Console) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/Console$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+	Documentation [console](https://developer.mozilla.org/en-US/docs/Web/API/console) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/console$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
-	@see <https://developer.mozilla.org/en-US/docs/Web/API/Console>
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/console>
 **/
-@:native("Console")
+@:native("console")
 extern class Console
 {
 	
 	/**
-		For general output of logging information. You may use string substitution and additional arguments with this method.
+		Log a message and stack trace to console if the first argument is `false`.
 	**/
-	function log( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function assert( ?condition : Bool = false, data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
-		Informative logging information. You may use string substitution and additional arguments with this method.
+		Clear the console.
 	**/
-	function info( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function clear() : Void;
 	
 	/**
-		Outputs a warning message. You may use string substitution and additional arguments with this method.
+		Log the number of times this line has been called with the given label.
+	**/
+	static function count( ?label : String = "default" ) : Void;
+	
+	/**
+		Resets the value of the counter with the given label.
 	**/
-	function warn( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function countReset( ?label : String = "default" ) : Void;
+	
+	/**
+		Outputs a message to the console with the log level `"debug"`.
+		 Note: Starting with Chromium 58 this method only appears in Chromium browser consoles when level "Verbose" is selected.
+		 
+	**/
+	static function debug( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
 		Outputs an error message. You may use string substitution and additional arguments with this method.
 	**/
-	function error( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function error( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
-		An alias for `error()`
+		Informative logging of information. You may use string substitution and additional arguments with this method.
 	**/
-	function exception( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function info( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
-		An alias for `log()`
+		For general output of logging information. You may use string substitution and additional arguments with this method.
 	**/
-	function debug( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function log( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
 		Displays tabular data as a table.
 	**/
-	function table( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function table( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
 		Outputs a stack trace.
 	**/
-	function trace() : Void;
+	static function trace( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Outputs a warning message. You may use string substitution and additional arguments with this method.
+	**/
+	static function warn( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
 		Displays an interactive listing of the properties of a specified JavaScript object. This listing lets you use disclosure triangles to examine the contents of child objects.
 	**/
-	function dir( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function dir( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
 		
-		 Displays an XML/HTML Element representation of the specified object if possible or the JavaScript Object view if it is not.
+		 Displays an XML/HTML Element representation of the specified object if possible or the JavaScript Object view if it is not possible.
 		 
 	**/
-	function dirxml( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function dirxml( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
 		Creates a new inline group, indenting all following output by another level. To move back out a level, call `groupEnd()`.
 	**/
-	function group( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function group( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
-		Creates a new inline group, indenting all following output by another level; unlike `group()`, this starts with the inline group collapsed, requiring the use of a disclosure button to expand it. To move back out a level, call `groupEnd()`.
+		Creates a new inline group, indenting all following output by another level. However, unlike `group()` this starts with the inline group collapsed requiring the use of a disclosure button to expand it. To move back out a level, call `groupEnd()`.
 	**/
-	function groupCollapsed( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function groupCollapsed( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
 		Exits the current inline group.
 	**/
-	function groupEnd( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function groupEnd() : Void;
 	
 	/**
 		Starts a timer with a name specified as an input parameter. Up to 10,000 simultaneous timers can run on a given page.
 	**/
-	function time( ?time : Dynamic ) : Void;
-	
-	/**
-		Stops the specified timer and logs the elapsed time in seconds since its start.
-	**/
-	function timeEnd( ?time : Dynamic ) : Void;
+	static function time( ?label : String = "default" ) : Void;
 	
 	/**
-		Adds a marker to the browser's Timeline or Waterfall tool.
+		Logs the value of the specified timer to the console.
 	**/
-	function timeStamp( ?data : Dynamic ) : Void;
+	static function timeLog( ?label : String = "default", data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
-		Starts the browser's build-in profiler (for example, the Firefox performance tool). You can specify an optional name for the profile.
+		Stops the specified timer and logs the elapsed time in seconds since it started.
 	**/
-	function profile( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function timeEnd( ?label : String = "default" ) : Void;
 	
 	/**
-		Stops the profiler. You can see the resulting profile in the browser's performance tool (for example, the Firefox performance tool).
+		An alias for `error()`.
 	**/
-	function profileEnd( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function exception( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
-		Log a message and stack trace to console if first argument is `false`.
+		Adds a marker to the browser's Timeline or Waterfall tool.
 	**/
-	function assert( condition : Bool, data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function timeStamp( ?data : Dynamic ) : Void;
 	
 	/**
-		Log the number of times this line has been called with the given label.
+		Starts the browser's built-in profiler (for example, the Firefox performance tool). You can specify an optional name for the profile.
 	**/
-	function count( data : haxe.extern.Rest<Dynamic> ) : Void;
+	static function profile( data : haxe.extern.Rest<Dynamic> ) : Void;
 	
 	/**
-		Clear the console.
+		Stops the profiler. You can see the resulting profile in the browser's performance tool (for example, the Firefox performance tool).
 	**/
-	function clear() : Void;
-	function markTimeline() : Void;
-	function timeline() : Void;
-	function timelineEnd() : Void;
+	static function profileEnd( data : haxe.extern.Rest<Dynamic> ) : Void;
 }

+ 155 - 0
std/js/html/ConsoleInstance.hx

@@ -0,0 +1,155 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\Console.webidl. Do not edit!
+
+package js.html;
+
+/**
+	The `Console` object provides access to the browser's debugging console (e.g. the Web Console in Firefox). The specifics of how it works varies from browser to browser, but there is a de facto set of features that are typically provided.
+
+	Documentation [Console](https://developer.mozilla.org/en-US/docs/Web/API/Console) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/Console$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/Console>
+**/
+extern interface ConsoleInstance
+{
+	
+	/**
+		Log a message and stack trace to console if the first argument is `false`.
+	**/
+	function assert( ?condition : Bool = false, data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Clear the console.
+	**/
+	function clear() : Void;
+	
+	/**
+		Log the number of times this line has been called with the given label.
+	**/
+	function count( ?label : String = "default" ) : Void;
+	
+	/**
+		Resets the value of the counter with the given label.
+	**/
+	function countReset( ?label : String = "default" ) : Void;
+	
+	/**
+		Outputs a message to the console with the log level `"debug"`.
+		 Note: Starting with Chromium 58 this method only appears in Chromium browser consoles when level "Verbose" is selected.
+		 
+	**/
+	function debug( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Outputs an error message. You may use string substitution and additional arguments with this method.
+	**/
+	function error( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Informative logging of information. You may use string substitution and additional arguments with this method.
+	**/
+	function info( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		For general output of logging information. You may use string substitution and additional arguments with this method.
+	**/
+	function log( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Displays tabular data as a table.
+	**/
+	function table( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Outputs a stack trace.
+	**/
+	function trace( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Outputs a warning message. You may use string substitution and additional arguments with this method.
+	**/
+	function warn( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Displays an interactive listing of the properties of a specified JavaScript object. This listing lets you use disclosure triangles to examine the contents of child objects.
+	**/
+	function dir( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		
+		 Displays an XML/HTML Element representation of the specified object if possible or the JavaScript Object view if it is not possible.
+		 
+	**/
+	function dirxml( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Creates a new inline group, indenting all following output by another level. To move back out a level, call `groupEnd()`.
+	**/
+	function group( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Creates a new inline group, indenting all following output by another level. However, unlike `group()` this starts with the inline group collapsed requiring the use of a disclosure button to expand it. To move back out a level, call `groupEnd()`.
+	**/
+	function groupCollapsed( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Exits the current inline group.
+	**/
+	function groupEnd() : Void;
+	
+	/**
+		Starts a timer with a name specified as an input parameter. Up to 10,000 simultaneous timers can run on a given page.
+	**/
+	function time( ?label : String = "default" ) : Void;
+	
+	/**
+		Logs the value of the specified timer to the console.
+	**/
+	function timeLog( ?label : String = "default", data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Stops the specified timer and logs the elapsed time in seconds since it started.
+	**/
+	function timeEnd( ?label : String = "default" ) : Void;
+	
+	/**
+		An alias for `error()`.
+	**/
+	function exception( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Adds a marker to the browser's Timeline or Waterfall tool.
+	**/
+	function timeStamp( ?data : Dynamic ) : Void;
+	
+	/**
+		Starts the browser's built-in profiler (for example, the Firefox performance tool). You can specify an optional name for the profile.
+	**/
+	function profile( data : haxe.extern.Rest<Dynamic> ) : Void;
+	
+	/**
+		Stops the profiler. You can see the resulting profile in the browser's performance tool (for example, the Firefox performance tool).
+	**/
+	function profileEnd( data : haxe.extern.Rest<Dynamic> ) : Void;
+}

+ 31 - 0
std/js/html/ConstrainBooleanParameters.hx

@@ -0,0 +1,31 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\MediaTrackConstraintSet.webidl. Do not edit!
+
+package js.html;
+
+typedef ConstrainBooleanParameters =
+{
+	@:optional var exact : Bool;
+	@:optional var ideal : Bool;
+}

+ 31 - 0
std/js/html/ConstrainDOMStringParameters.hx

@@ -0,0 +1,31 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\MediaTrackConstraintSet.webidl. Do not edit!
+
+package js.html;
+
+typedef ConstrainDOMStringParameters =
+{
+	@:optional var exact : haxe.extern.EitherType<String,Array<String>>;
+	@:optional var ideal : haxe.extern.EitherType<String,Array<String>>;
+}

+ 33 - 0
std/js/html/ConstrainDoubleRange.hx

@@ -0,0 +1,33 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\MediaTrackConstraintSet.webidl. Do not edit!
+
+package js.html;
+
+typedef ConstrainDoubleRange =
+{
+	@:optional var exact : Float;
+	@:optional var ideal : Float;
+	@:optional var max : Float;
+	@:optional var min : Float;
+}

+ 33 - 0
std/js/html/ConstrainLongRange.hx

@@ -0,0 +1,33 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\MediaTrackConstraintSet.webidl. Do not edit!
+
+package js.html;
+
+typedef ConstrainLongRange =
+{
+	@:optional var exact : Int;
+	@:optional var ideal : Int;
+	@:optional var max : Int;
+	@:optional var min : Int;
+}

+ 2 - 2
std/js/html/ConvertCoordinateOptions.hx

@@ -26,6 +26,6 @@ package js.html;
 
 typedef ConvertCoordinateOptions =
 {
-	@:optional var fromBox : Dynamic/*MISSING CSSBoxType*/;
-	@:optional var toBox : Dynamic/*MISSING CSSBoxType*/;
+	@:optional var fromBox : CSSBoxType;
+	@:optional var toBox : CSSBoxType;
 }

+ 2 - 3
std/js/html/Coordinates.hx

@@ -31,8 +31,7 @@ package js.html;
 
 	@see <https://developer.mozilla.org/en-US/docs/Web/API/Coordinates>
 **/
-@:native("Coordinates")
-extern class Coordinates
+typedef Coordinates =
 {
 	
 	/**
@@ -46,7 +45,7 @@ extern class Coordinates
 	var longitude(default,null) : Float;
 	
 	/**
-		Returns a `double` representing the position's altitude in metres, relative to sea level. This value can be `null` if the implementation cannot provide the data.
+		Returns a `double` representing the position's altitude in meters, relative to sea level. This value can be `null` if the implementation cannot provide the data.
 	**/
 	var altitude(default,null) : Float;
 	

+ 5 - 1
std/js/html/Crypto.hx

@@ -40,6 +40,10 @@ extern class Crypto
 	**/
 	var subtle(default,null) : SubtleCrypto;
 	
-	/** @throws DOMError */
+	
+	/**
+		Fills the passed `TypedArray` with cryptographically sound random values.
+		@throws DOMError
+	**/
 	function getRandomValues( array : ArrayBufferView ) : ArrayBufferView;
 }

+ 1 - 2
std/js/html/CustomEvent.hx

@@ -42,12 +42,11 @@ extern class CustomEvent extends Event
 	
 	/** @throws DOMError */
 	function new( type : String, ?eventInitDict : CustomEventInit ) : Void;
-	/** @throws DOMError */
 	
 	/**
 		
 		 Initializes a `CustomEvent` object. If the event has already being dispatched, this method does nothing.
 		 
 	**/
-	function initCustomEvent( type : String, canBubble : Bool, cancelable : Bool, detail : Dynamic ) : Void;
+	function initCustomEvent( type : String, ?canBubble : Bool = false, ?cancelable : Bool = false, ?detail : Dynamic ) : Void;
 }

+ 328 - 37
std/js/html/DOMElement.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `Element` interface represents an object of a `Document`. This interface describes methods and properties common to all kinds of elements. Specific behaviors are described in interfaces which inherit from `Element` but add additional functionality.
+	`Element` is the most general base class from which all objects in a `Document` inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from `Element`.
 
 	Documentation [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/Element$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -34,12 +34,50 @@ package js.html;
 @:native("Element")
 extern class DOMElement extends Node
 {
+	
+	/**
+		The namespace URI of the element, or `null` if it is no namespace.
+		 
+		 Note: In Firefox 3.5 and earlier, HTML elements are in no namespace. In later versions, HTML elements are in the `http://www.w3.org/1999/xhtml` namespace in both HTML and XML trees. `1.9.2`
+		 
+		 
+	**/
+	var namespaceURI(default,null) : String;
+	
+	/**
+		A `DOMString` representing the namespace prefix of the element, or `null` if no prefix is specified.
+	**/
+	var prefix(default,null) : String;
+	
+	/**
+		A `DOMString` representing the local part of the qualified name of the element.
+	**/
+	var localName(default,null) : String;
+	
+	/**
+		Returns a `String` with the name of the tag for the given element.
+	**/
 	var tagName(default,null) : String;
+	
+	/**
+		Is a `DOMString` representing the id of the element.
+	**/
 	var id : String;
+	
+	/**
+		Is a `DOMString` representing the class of the element.
+	**/
 	var className : String;
+	
+	/**
+		Returns a `DOMTokenList` containing the list of class attributes.
+	**/
 	var classList(default,null) : DOMTokenList;
+	
+	/**
+		Returns a `NamedNodeMap` object containing the assigned attributes of the corresponding HTML element.
+	**/
 	var attributes(default,null) : NamedNodeMap;
-	var onwheel : haxe.Constraints.Function;
 	var title : String;
 	var lang : String;
 	var dir : String;
@@ -70,31 +108,92 @@ extern class DOMElement extends Node
 	var offsetLeft(default,null) : Int;
 	var offsetWidth(default,null) : Int;
 	var offsetHeight(default,null) : Int;
+	
+	/**
+		A `Number` representing number of pixels the top of the document is scrolled vertically.
+	**/
 	var scrollTop : Int;
+	
+	/**
+		Is a `Number` representing the left scroll offset of the element.
+	**/
 	var scrollLeft : Int;
+	
+	/**
+		Returns a `Number` representing the scroll view width of the element.
+	**/
 	var scrollWidth(default,null) : Int;
+	
+	/**
+		Returns a `Number` representing the scroll view height of an element.
+	**/
 	var scrollHeight(default,null) : Int;
+	
+	/**
+		Returns a `Number` representing the width of the top border of the element.
+	**/
 	var clientTop(default,null) : Int;
+	
+	/**
+		Returns a `Number` representing the width of the left border of the element.
+	**/
 	var clientLeft(default,null) : Int;
+	
+	/**
+		Returns a `Number` representing the inner width of the element.
+	**/
 	var clientWidth(default,null) : Int;
+	
+	/**
+		Returns a `Number` representing the inner height of the element.
+	**/
 	var clientHeight(default,null) : Int;
+	
+	/**
+		Returns a `Number` representing the maximum top scroll offset possible for the element.
+	**/
 	var scrollTopMax(default,null) : Int;
+	
+	/**
+		Returns a `Number` representing the maximum left scroll offset possible for the element.
+	**/
 	var scrollLeftMax(default,null) : Int;
+	
+	/**
+		Is a `DOMString` representing the markup of the element's content.
+	**/
 	var innerHTML : String;
+	
+	/**
+		Is a `DOMString` representing the markup of the element including its content. When used as a setter, replaces the element with nodes parsed from the given string.
+	**/
 	var outerHTML : String;
+	
+	/**
+		Returns the open shadow root that is hosted by the element, or null if no open shadow root is present.
+	**/
 	var shadowRoot(default,null) : ShadowRoot;
+	var assignedSlot(default,null) : SlotElement;
+	
+	/**
+		Returns the name of the shadow DOM slot the element is inserted in.
+	**/
+	var slot : String;
 	var onabort : haxe.Constraints.Function;
 	var onblur : haxe.Constraints.Function;
 	var onfocus : haxe.Constraints.Function;
+	var onauxclick : haxe.Constraints.Function;
 	var oncanplay : haxe.Constraints.Function;
 	var oncanplaythrough : haxe.Constraints.Function;
 	var onchange : haxe.Constraints.Function;
 	var onclick : haxe.Constraints.Function;
+	var onclose : haxe.Constraints.Function;
 	var oncontextmenu : haxe.Constraints.Function;
 	var ondblclick : haxe.Constraints.Function;
 	var ondrag : haxe.Constraints.Function;
 	var ondragend : haxe.Constraints.Function;
 	var ondragenter : haxe.Constraints.Function;
+	var ondragexit : haxe.Constraints.Function;
 	var ondragleave : haxe.Constraints.Function;
 	var ondragover : haxe.Constraints.Function;
 	var ondragstart : haxe.Constraints.Function;
@@ -110,6 +209,7 @@ extern class DOMElement extends Node
 	var onload : haxe.Constraints.Function;
 	var onloadeddata : haxe.Constraints.Function;
 	var onloadedmetadata : haxe.Constraints.Function;
+	var onloadend : haxe.Constraints.Function;
 	var onloadstart : haxe.Constraints.Function;
 	var onmousedown : haxe.Constraints.Function;
 	var onmouseenter : haxe.Constraints.Function;
@@ -118,6 +218,11 @@ extern class DOMElement extends Node
 	var onmouseout : haxe.Constraints.Function;
 	var onmouseover : haxe.Constraints.Function;
 	var onmouseup : haxe.Constraints.Function;
+	
+	/**
+		Returns the event handling code for the `wheel` event. This is now implemented on `GlobalEventHandlers.onwheel`.
+	**/
+	var onwheel : haxe.Constraints.Function;
 	var onpause : haxe.Constraints.Function;
 	var onplay : haxe.Constraints.Function;
 	var onplaying : haxe.Constraints.Function;
@@ -136,6 +241,7 @@ extern class DOMElement extends Node
 	var ontimeupdate : haxe.Constraints.Function;
 	var onvolumechange : haxe.Constraints.Function;
 	var onwaiting : haxe.Constraints.Function;
+	var ontoggle : haxe.Constraints.Function;
 	var onpointercancel : haxe.Constraints.Function;
 	var onpointerdown : haxe.Constraints.Function;
 	var onpointerup : haxe.Constraints.Function;
@@ -144,12 +250,28 @@ extern class DOMElement extends Node
 	var onpointerover : haxe.Constraints.Function;
 	var onpointerenter : haxe.Constraints.Function;
 	var onpointerleave : haxe.Constraints.Function;
+	
+	/**
+		Returns the event handler for the `gotpointercapture` event type.
+	**/
 	var ongotpointercapture : haxe.Constraints.Function;
+	
+	/**
+		Returns the event handler for the `lostpointercapture` event type.
+	**/
 	var onlostpointercapture : haxe.Constraints.Function;
-	var onfullscreenchange : haxe.Constraints.Function;
-	var onfullscreenerror : haxe.Constraints.Function;
-	var onpointerlockchange : haxe.Constraints.Function;
-	var onpointerlockerror : haxe.Constraints.Function;
+	var onanimationcancel : haxe.Constraints.Function;
+	var onanimationend : haxe.Constraints.Function;
+	var onanimationiteration : haxe.Constraints.Function;
+	var onanimationstart : haxe.Constraints.Function;
+	var ontransitioncancel : haxe.Constraints.Function;
+	var ontransitionend : haxe.Constraints.Function;
+	var ontransitionrun : haxe.Constraints.Function;
+	var ontransitionstart : haxe.Constraints.Function;
+	var onwebkitanimationend : haxe.Constraints.Function;
+	var onwebkitanimationiteration : haxe.Constraints.Function;
+	var onwebkitanimationstart : haxe.Constraints.Function;
+	var onwebkittransitionend : haxe.Constraints.Function;
 	var previousElementSibling(default,null) : Element;
 	var nextElementSibling(default,null) : Element;
 	var onerror : haxe.Constraints.Function;
@@ -162,95 +284,264 @@ extern class DOMElement extends Node
 	var ontouchmove : haxe.Constraints.Function;
 	var ontouchcancel : haxe.Constraints.Function;
 	
+	
+	/**
+		Returns an array of attribute names from the current element.
+	**/
+	@:pure
 	function getAttributeNames() : Array<String>;
+	
+	/**
+		Retrieves the value of the named attribute from the current node and returns it as an `Object`.
+	**/
+	@:pure
 	function getAttribute( name : String ) : String;
+	
+	/**
+		Retrieves the value of the attribute with the specified name and namespace, from the current node and returns it as an `Object`.
+	**/
+	@:pure
 	function getAttributeNS( namespace_ : String, localName : String ) : String;
-	/** @throws DOMError */
+	
+	/**
+		Toggles a boolean attribute, removing it if it is present and adding it if it is not present, on the specified element.
+		@throws DOMError
+	**/
+	function toggleAttribute( name : String, ?force : Bool ) : Bool;
+	
+	/**
+		Sets the value of a named attribute of the current node.
+		@throws DOMError
+	**/
 	function setAttribute( name : String, value : String ) : Void;
-	/** @throws DOMError */
+	
+	/**
+		Sets the value of the attribute with the specified name and namespace, from the current node.
+		@throws DOMError
+	**/
 	function setAttributeNS( namespace_ : String, name : String, value : String ) : Void;
-	/** @throws DOMError */
+	
+	/**
+		Removes the named attribute from the current node.
+		@throws DOMError
+	**/
 	function removeAttribute( name : String ) : Void;
-	/** @throws DOMError */
+	
+	/**
+		Removes the attribute with the specified name and namespace, from the current node.
+		@throws DOMError
+	**/
 	function removeAttributeNS( namespace_ : String, localName : String ) : Void;
+	
+	/**
+		Returns a `Boolean` indicating if the element has the specified attribute or not.
+	**/
+	@:pure
 	function hasAttribute( name : String ) : Bool;
+	
+	/**
+		Returns a `Boolean` indicating if the element has the specified attribute, in the specified namespace, or not.
+	**/
+	@:pure
 	function hasAttributeNS( namespace_ : String, localName : String ) : Bool;
+	
+	/**
+		Returns a `Boolean` indicating if the element has one or more HTML attributes present.
+	**/
+	@:pure
 	function hasAttributes() : Bool;
-	/** @throws DOMError */
+	
+	/**
+		Returns the `Element` which is the closest ancestor of the current element (or the current element itself) which matches the selectors given in parameter.
+		@throws DOMError
+	**/
+	@:pure
 	function closest( selector : String ) : Element;
-	/** @throws DOMError */
+	
+	/**
+		Returns a `Boolean` indicating whether or not the element would be selected by the specified selector string.
+		@throws DOMError
+	**/
+	@:pure
 	function matches( selector : String ) : Bool;
 	/** @throws DOMError */
+	@:pure
 	function webkitMatchesSelector( selector : String ) : Bool;
+	
+	/**
+		Returns a live `HTMLCollection` containing all descendant elements, of a particular tag name, from the current element.
+	**/
+	@:pure
 	function getElementsByTagName( localName : String ) : HTMLCollection;
-	/** @throws DOMError */
+	
+	/**
+		Returns a live `HTMLCollection` containing all descendant elements, of a particular tag name and namespace, from the current element.
+		@throws DOMError
+	**/
+	@:pure
 	function getElementsByTagNameNS( namespace_ : String, localName : String ) : HTMLCollection;
+	
+	/**
+		Returns a live `HTMLCollection` that contains all descendants of the current element that possess the list of classes given in the parameter.
+	**/
+	@:pure
 	function getElementsByClassName( classNames : String ) : HTMLCollection;
-	/** @throws DOMError */
 	
 	/**
-		Designates a specific element as the capture target of future `PointerEvent`.
+		Inserts a given element node at a given position relative to the element it is invoked upon.
+		@throws DOMError
+	**/
+	@:pure
+	function insertAdjacentElement( where : String, element : Element ) : Element;
+	
+	/**
+		Inserts a given text node at a given position relative to the element it is invoked upon.
+		@throws DOMError
+	**/
+	function insertAdjacentText( where : String, data : String ) : Void;
+	
+	/**
+		Designates a specific element as the capture target of future pointer events.
+		@throws DOMError
 	**/
 	function setPointerCapture( pointerId : Int ) : Void;
-	/** @throws DOMError */
+	
+	/**
+		Releases (stops) pointer capture that was previously set for a specific `PointerEvent`.
+		@throws DOMError
+	**/
 	function releasePointerCapture( pointerId : Int ) : Void;
+	function hasPointerCapture( pointerId : Int ) : Bool;
+	
+	/**
+		Sets up mouse event capture, redirecting all mouse events to this element.
+	**/
 	function setCapture( ?retargetToElement : Bool = false ) : Void;
 	function releaseCapture() : Void;
-	function requestPointerLock() : Void;
+	
+	/**
+		Retrieves the node representation of the named attribute from the current node and returns it as an `Attr`.
+	**/
 	function getAttributeNode( name : String ) : Attr;
-	/** @throws DOMError */
+	
+	/**
+		Sets the node representation of the named attribute from the current node.
+		@throws DOMError
+	**/
 	function setAttributeNode( newAttr : Attr ) : Attr;
-	/** @throws DOMError */
+	
+	/**
+		Removes the node representation of the named attribute from the current node.
+		@throws DOMError
+	**/
 	function removeAttributeNode( oldAttr : Attr ) : Attr;
+	
+	/**
+		Retrieves the node representation of the attribute with the specified name and namespace, from the current node and returns it as an `Attr`.
+	**/
 	function getAttributeNodeNS( namespaceURI : String, localName : String ) : Attr;
-	/** @throws DOMError */
+	
+	/**
+		Sets the node representation of the attribute with the specified name and namespace, from the current node.
+		@throws DOMError
+	**/
 	function setAttributeNodeNS( newAttr : Attr ) : Attr;
 	function click() : Void;
 	/** @throws DOMError */
 	function focus() : Void;
 	/** @throws DOMError */
 	function blur() : Void;
+	
+	/**
+		Returns a collection of rectangles that indicate the bounding rectangles for each line of text in a client.
+	**/
 	function getClientRects() : DOMRectList;
+	
+	/**
+		Returns the size of an element and its position relative to the viewport.
+	**/
 	function getBoundingClientRect() : DOMRect;
-	@:overload( function( top : Bool ) : Void {} )
-	function scrollIntoView( ?options : ScrollIntoViewOptions ) : Void;
+	
+	/**
+		Scrolls the page until the element gets into the view.
+	**/
+	@:overload( function( ?arg : ScrollIntoViewOptions) : Void {} )
+	function scrollIntoView( ?arg : Bool ) : Void;
 	@:overload( function( x : Float, y : Float ) : Void {} )
 	function scroll( ?options : ScrollToOptions ) : Void;
 	@:overload( function( x : Float, y : Float ) : Void {} )
 	function scrollTo( ?options : ScrollToOptions ) : Void;
 	@:overload( function( x : Float, y : Float ) : Void {} )
 	function scrollBy( ?options : ScrollToOptions ) : Void;
-	/** @throws DOMError */
+	
+	/**
+		Parses the text as HTML or XML and inserts the resulting nodes into the tree in the position given.
+		@throws DOMError
+	**/
 	function insertAdjacentHTML( position : String, text : String ) : Void;
-	/** @throws DOMError */
+	
+	/**
+		Returns the first `Node` which matches the specified selector string relative to the element.
+		@throws DOMError
+	**/
+	@:pure
 	function querySelector( selectors : String ) : Element;
-	/** @throws DOMError */
+	
+	/**
+		Returns a `NodeList` of nodes which match the specified selector string relative to the element.
+		@throws DOMError
+	**/
+	@:pure
 	function querySelectorAll( selectors : String ) : NodeList;
-	/** @throws DOMError */
-	function createShadowRoot() : ShadowRoot;
 	
 	/**
-		…
+		Attatches a shadow DOM tree to the specified element and returns a reference to its `ShadowRoot`.
+		@throws DOMError
 	**/
-	function getDestinationInsertionPoints() : NodeList;
-	/** @throws DOMError */
-	function requestFullscreen( ?options : Dynamic ) : Void;
-	/** @throws DOMError */
+	function attachShadow( shadowRootInitDict : ShadowRootInit ) : ShadowRoot;
+	
+	/**
+		Allows to asynchronously ask for the pointer to be locked on the given element.
+	**/
+	function requestPointerLock() : Void;
 	
 	/**
 		A shortcut method to create and run an animation on an element. Returns the created Animation object instance.
+		@throws DOMError
 	**/
-	function animate( frames : Dynamic, ?options : haxe.extern.EitherType<Float,Dynamic/*MISSING KeyframeAnimationOptions*/> ) : Animation;
+	@:overload( function( keyframes : Dynamic, ?options : KeyframeAnimationOptions) : Animation {} )
+	function animate( keyframes : Dynamic, ?options : Float ) : Animation;
 	
 	/**
 		Returns an array of Animation objects currently active on the element.
 	**/
-	function getAnimations() : Array<Animation>;
+	function getAnimations( ?filter : AnimationFilter ) : Array<Animation>;
+	/** @throws DOMError */
+	@:overload( function( nodes : haxe.extern.Rest<String>) : Void {} )
+	function before( nodes : haxe.extern.Rest<Node> ) : Void;
+	/** @throws DOMError */
+	@:overload( function( nodes : haxe.extern.Rest<String>) : Void {} )
+	function after( nodes : haxe.extern.Rest<Node> ) : Void;
+	/** @throws DOMError */
+	@:overload( function( nodes : haxe.extern.Rest<String>) : Void {} )
+	function replaceWith( nodes : haxe.extern.Rest<Node> ) : Void;
 	function remove() : Void;
 	/** @throws DOMError */
-	function convertQuadFromNode( quad : DOMQuad, from : haxe.extern.EitherType<Text,haxe.extern.EitherType<Element,HTMLDocument>>, ?options : ConvertCoordinateOptions ) : DOMQuad;
+	@:overload( function( quad : DOMQuad, from : Element, ?options : ConvertCoordinateOptions) : DOMQuad {} )
+	@:overload( function( quad : DOMQuad, from : HTMLDocument, ?options : ConvertCoordinateOptions) : DOMQuad {} )
+	function convertQuadFromNode( quad : DOMQuad, from : Text, ?options : ConvertCoordinateOptions ) : DOMQuad;
+	/** @throws DOMError */
+	@:overload( function( rect : DOMRectReadOnly, from : Element, ?options : ConvertCoordinateOptions) : DOMQuad {} )
+	@:overload( function( rect : DOMRectReadOnly, from : HTMLDocument, ?options : ConvertCoordinateOptions) : DOMQuad {} )
+	function convertRectFromNode( rect : DOMRectReadOnly, from : Text, ?options : ConvertCoordinateOptions ) : DOMQuad;
+	/** @throws DOMError */
+	@:overload( function( point : DOMPointInit, from : Element, ?options : ConvertCoordinateOptions) : DOMPoint {} )
+	@:overload( function( point : DOMPointInit, from : HTMLDocument, ?options : ConvertCoordinateOptions) : DOMPoint {} )
+	function convertPointFromNode( point : DOMPointInit, from : Text, ?options : ConvertCoordinateOptions ) : DOMPoint;
 	/** @throws DOMError */
-	function convertRectFromNode( rect : DOMRectReadOnly, from : haxe.extern.EitherType<Text,haxe.extern.EitherType<Element,HTMLDocument>>, ?options : ConvertCoordinateOptions ) : DOMQuad;
+	@:overload( function( nodes : haxe.extern.Rest<String>) : Void {} )
+	function prepend( nodes : haxe.extern.Rest<Node> ) : Void;
 	/** @throws DOMError */
-	function convertPointFromNode( point : DOMPointInit, from : haxe.extern.EitherType<Text,haxe.extern.EitherType<Element,HTMLDocument>>, ?options : ConvertCoordinateOptions ) : DOMPoint;
+	@:overload( function( nodes : haxe.extern.Rest<String>) : Void {} )
+	function append( nodes : haxe.extern.Rest<Node> ) : Void;
 }

+ 4 - 0
std/js/html/DOMError.hx

@@ -39,6 +39,10 @@ extern class DOMError
 		Returns a `DOMString` representing one of the error type names (see below).
 	**/
 	var name(default,null) : String;
+	
+	/**
+		Returns a `DOMString` representing a message or description associated with the given error type name.
+	**/
 	var message(default,null) : String;
 	
 	/** @throws DOMError */

+ 16 - 4
std/js/html/DOMException.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `DOMException` interface represents an abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API. This is basically how error conditions are described in web APIs.
+	The `DOMException` interface represents an abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API.
 
 	Documentation [DOMException](https://developer.mozilla.org/en-US/docs/Web/API/DOMException) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMException$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -60,14 +60,26 @@ extern class DOMException
 	static inline var INVALID_NODE_TYPE_ERR : Int = 24;
 	static inline var DATA_CLONE_ERR : Int = 25;
 	
-	var code(default,null) : Int;
+	
+	/**
+		Returns a `DOMString` that contains one of the strings associated with an error name.
+	**/
+	var name(default,null) : String;
+	
+	/**
+		Returns a `DOMString` representing a message or description associated with the given error name.
+	**/
 	var message(default,null) : String;
+	
+	/**
+		Returns a `short` that contains one of the `Error codes`, or `0` if none match. This field is used for historical reasons. New DOM exceptions don't use this anymore: they put this info in the `DOMException.name` attribute.
+	**/
+	var code(default,null) : Int;
 	var result(default,null) : Int;
-	var name(default,null) : String;
 	var filename(default,null) : String;
 	var lineNumber(default,null) : Int;
 	var columnNumber(default,null) : Int;
-	var data(default,null) : Dynamic/*MISSING nsISupports*/;
+	var data(default,null) : Dynamic;
 	var stack(default,null) : String;
 	
 	/** @throws DOMError */

+ 4 - 4
std/js/html/DOMImplementation.hx

@@ -38,23 +38,23 @@ extern class DOMImplementation
 	/**
 		Returns a `Boolean` indicating if a given feature is supported or not. This function is unreliable and kept for compatibility purpose alone: except for SVG-related queries, it always returns `true`. Old browsers are very inconsistent in their behavior.
 	**/
-	function hasFeature( feature : String, version : String ) : Bool;
-	/** @throws DOMError */
+	function hasFeature() : Bool;
 	
 	/**
 		Creates and returns a `DocumentType`.
+		@throws DOMError
 	**/
 	function createDocumentType( qualifiedName : String, publicId : String, systemId : String ) : DocumentType;
-	/** @throws DOMError */
 	
 	/**
 		Creates and returns an `XMLDocument`.
+		@throws DOMError
 	**/
 	function createDocument( namespace_ : String, qualifiedName : String, ?doctype : DocumentType ) : HTMLDocument;
-	/** @throws DOMError */
 	
 	/**
 		Creates and returns an HTML `Document`.
+		@throws DOMError
 	**/
 	function createHTMLDocument( ?title : String ) : HTMLDocument;
 }

+ 1 - 1
std/js/html/DOMMatrix.hx

@@ -93,10 +93,10 @@ extern class DOMMatrix extends DOMMatrixReadOnly
 		Returns itself,  a `DOMMatrix`, with its new content being the result of the original matrix being inverted. If the matrix cannot be inverted, all its components are set to `NaN` and `is2D()` returns `false`.
 	**/
 	function invertSelf() : DOMMatrix;
-	/** @throws DOMError */
 	
 	/**
 		Returns itself, a `DOMMatrix`, with its describing the matrix representing the same transformation as the CSS `transform` functions given in parameter.
+		@throws DOMError
 	**/
 	function setMatrixValue( transformList : String ) : DOMMatrix;
 }

+ 56 - 40
std/js/html/DOMMatrixReadOnly.hx

@@ -37,41 +37,41 @@ extern class DOMMatrixReadOnly
 	
 	/**
 		Are <code>double</code> representing each component of a 4x4 matrix needed for 2D rotations and translations. They are aliases for some components of the 4x4 matrix:
-		 <table class="standard-table">
-		  
-		   <tr>
-		    2D
-		    3D equivalent
-		   </tr>
-		  
-		  
-		   <tr>
-		    <td><code>a</code></td>
-		    <td><code>m11</code></td>
-		   </tr>
-		   <tr>
-		    <td><code>b</code></td>
-		    <td><code>m12</code></td>
-		   </tr>
-		   <tr>
-		    <td><code>c</code></td>
-		    <td><code>m21</code></td>
-		   </tr>
-		   <tr>
-		    <td><code>d</code></td>
-		    <td><code>m22</code></td>
-		   </tr>
-		   <tr>
-		    <td><code>e</code></td>
-		    <td><code>m41</code></td>
-		   </tr>
-		   <tr>
-		    <td><code>f</code></td>
-		    <td><code>m42</code></td>
-		   </tr>
-		  
-		 </table>
-		 They are read-only, but their counterpart, with the same name, in <code>DOMMatrix</code> aren't.
+			<table class="standard-table">
+				
+					<tr>
+						2D
+						3D equivalent
+					</tr>
+				
+				
+					<tr>
+						<td><code>a</code></td>
+						<td><code>m11</code></td>
+					</tr>
+					<tr>
+						<td><code>b</code></td>
+						<td><code>m12</code></td>
+					</tr>
+					<tr>
+						<td><code>c</code></td>
+						<td><code>m21</code></td>
+					</tr>
+					<tr>
+						<td><code>d</code></td>
+						<td><code>m22</code></td>
+					</tr>
+					<tr>
+						<td><code>e</code></td>
+						<td><code>m41</code></td>
+					</tr>
+					<tr>
+						<td><code>f</code></td>
+						<td><code>m42</code></td>
+					</tr>
+				
+			</table>
+			They are read-only, but their counterpart, with the same name, in <code>DOMMatrix</code> aren't.
 	**/
 	var a(default,null) : Float;
 	var b(default,null) : Float;
@@ -104,8 +104,15 @@ extern class DOMMatrixReadOnly
 		Is a `Boolean` indicating if the matrix contains a 2D matrix and only accept 2D transformations.
 	**/
 	var is2D(default,null) : Bool;
-	var identity(default,null) : Bool;
 	
+	/**
+		Is a `Boolean` indincating if the matrix identity, that is a matrix with `1` on the components of its diagonal, and `0` elsewhere.
+	**/
+	var isIdentity(default,null) : Bool;
+	
+	/** @throws DOMError */
+	@:overload( function( ?init : Array<Float>) : DOMMatrixReadOnly {} )
+	function new( ?init : String ) : Void;
 	
 	/**
 		Returns a `DOMMatrix` containing a new matrix being the result of the matrix being translated by the given vector. The original matrix is not modified.
@@ -138,7 +145,7 @@ extern class DOMMatrixReadOnly
 	function rotateFromVector( x : Float, y : Float ) : DOMMatrix;
 	
 	/**
-		Returns a `DOMMatrix` containing a new matrix being the result of the original matrix being rotated by the given angle and the give vector. The original matrix is not modified.
+		Returns a `DOMMatrix` containing a new matrix being the result of the original matrix being rotated by the given angle and the given vector. The original matrix is not modified.
 	**/
 	function rotateAxisAngle( x : Float, y : Float, z : Float, angle : Float ) : DOMMatrix;
 	
@@ -166,22 +173,31 @@ extern class DOMMatrixReadOnly
 		Returns a `DOMMatrix` containing a new matrix being the result of the original matrix being flipped around the y-axis, that is multiplied by the `DOMMatrix(1, 0, 0, -1, 0, 0)`. The original matrix is not modified.
 	**/
 	function flipY() : DOMMatrix;
+	
+	/**
+		Returns a `DOMMatrix` containing a new matrix being the result of the original matrix being inverted. The original matrix is not modified. If the matrix cannot be inverted, all its components are set to `NaN` and `is2D()` returns `false`.
+	**/
 	function inverse() : DOMMatrix;
 	
 	/**
-		Returns a `DOMPoint` that is the point given in parameter multiplied by the matrix. Bot the original point and the matrix aren't modified.
+		Returns a `DOMPoint` that is the point given in parameter multiplied by the matrix. But the original point and the matrix aren't modified.
 	**/
 	function transformPoint( ?point : DOMPointInit ) : DOMPoint;
-	/** @throws DOMError */
 	
 	/**
 		Returns a `Float32Array` containing the 6 components (`a`, `b`, `c`, `d`, `e`, `f`) in the case of a 2D matrix or the 16 components (`m11`, `m12`, `m13`, `m14`, `m21`, `m22`, `m23`, `m24`, `m31`, `m32`, `m33`, `m34`, `m41`, `m42`, `m43`, `m44`) for a 3D matrix.
+		@throws DOMError
 	**/
 	function toFloat32Array() : Float32Array;
-	/** @throws DOMError */
 	
 	/**
 		Returns a `Float64Array` containing the 6 components (`a`, `b`, `c`, `d`, `e`, `f`) in the case of a 2D matrix or the 16 components (`m11`, `m12`, `m13`, `m14`, `m21`, `m22`, `m23`, `m24`, `m31`, `m32`, `m33`, `m34`, `m41`, `m42`, `m43`, `m44`) for a 3D matrix.
+		@throws DOMError
 	**/
 	function toFloat64Array() : Float64Array;
+	
+	/**
+		Returns a JSON representation of the `DOMMatrixReadOnly` object.
+	**/
+	function toJSON() : Dynamic;
 }

+ 2 - 3
std/js/html/DOMParser.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	`DOMParser` can parse XML or HTML source stored in a string into a DOM Document. `DOMParser` is specified in DOM Parsing and Serialization.
+	The `DOMParser` interface provides the ability to parse XML or HTML source code from a string into a DOM `Document`.
 
 	Documentation [DOMParser](https://developer.mozilla.org/en-US/docs/Web/API/DOMParser) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMParser$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -35,8 +35,7 @@ package js.html;
 extern class DOMParser
 {
 	/** @throws DOMError */
-	@:overload( function() : Void {} )
-	function new( prin : Dynamic/*MISSING Principal*/, ?documentURI : Dynamic/*MISSING URI*/, ?baseURI : Dynamic/*MISSING URI*/ ) : Void;
+	function new() : Void;
 	/** @throws DOMError */
 	function parseFromString( str : String, type : SupportedType ) : HTMLDocument;
 }

+ 3 - 3
std/js/html/DOMPoint.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	A `DOMPoint` represents a 2D or 3D point in a coordinate system.
+	A `DOMPoint` object represents a 2D or 3D point in a coordinate system; it includes values for the coordinates in up to three dimensions, as well as an optional perspective value.
 
 	Documentation [DOMPoint](https://developer.mozilla.org/en-US/docs/Web/API/DOMPoint) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMPoint$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -34,7 +34,7 @@ package js.html;
 @:native("DOMPoint")
 extern class DOMPoint extends DOMPointReadOnly
 {
+	static function fromPoint( ?other : DOMPointInit ) : DOMPoint;
 	/** @throws DOMError */
-	@:overload( function( ?point : DOMPointInit ) : Void {} )
-	function new( x : Float, y : Float, ?z : Float = 0.0, ?w : Float = 1.0 ) : Void;
+	function new( ?x : Float = 0.0, ?y : Float = 0.0, ?z : Float = 0.0, ?w : Float = 1.0 ) : Void;
 }

+ 23 - 0
std/js/html/DOMPointInit.hx

@@ -24,10 +24,33 @@
 
 package js.html;
 
+/**
+	The `DOMPointInit` dictionary is used to provide the values of the coordinates and perspective when creating and JSONifying a `DOMPoint` or `DOMPointReadOnly` object.
+
+	Documentation [DOMPointInit](https://developer.mozilla.org/en-US/docs/Web/API/DOMPointInit) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMPointInit$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/DOMPointInit>
+**/
 typedef DOMPointInit =
 {
+	
+	/**
+		The point's w perspective value given as an unrestricted floating-point number. The default is 1.
+	**/
 	@:optional var w : Float;
+	
+	/**
+		An unrestricted floating-point value indicating the x-coordinate of the point in space. This is generally the horizontal coordinate, with positive values being to the right and negative values to the left. The default value is 0.
+	**/
 	@:optional var x : Float;
+	
+	/**
+		An unrestricted floating-point number providing the point's y-coordinate. This is the vertical coordinate, and barring any transforms applied to the coordinate system, positive values are downward and negative values upward toward the top of the screen. The default is 0.
+	**/
 	@:optional var y : Float;
+	
+	/**
+		An unrestricted floating-point value which gives the point's z-coordinate, which is (assuming no transformations that alter the situation) the depth coordinate; positive values are closer to the user and negative values retreat back into the screen. The default value is 0.
+	**/
 	@:optional var z : Float;
 }

+ 13 - 5
std/js/html/DOMPointReadOnly.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `DOMPointReadOnly` interface specifies the standard properties used by `DOMPoint` to define a 2D or 3D point in a coordinate system.
+	The `DOMPointReadOnly` interface specifies the coordinate and perspective fields used by `DOMPoint` to define a 2D or 3D point in a coordinate system.
 
 	Documentation [DOMPointReadOnly](https://developer.mozilla.org/en-US/docs/Web/API/DOMPointReadOnly) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMPointReadOnly$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -34,25 +34,33 @@ package js.html;
 @:native("DOMPointReadOnly")
 extern class DOMPointReadOnly
 {
+	static function fromPoint( ?other : DOMPointInit ) : DOMPointReadOnly;
 	
 	/**
-		The x coordinate of the `DOMPoint`.
+		The point's horizontal coordinate, `x`.
 	**/
 	var x(default,null) : Float;
 	
 	/**
-		The y coordinate of the `DOMPoint`.
+		The point's vertical coordinate, `y`.
 	**/
 	var y(default,null) : Float;
 	
 	/**
-		The z coordinate of the `DOMPoint`.
+		The point's depth coordinate, `z`.
 	**/
 	var z(default,null) : Float;
 	
 	/**
-		The perspective value of the `DOMPoint`.
+		The point's perspective value, `w`.
 	**/
 	var w(default,null) : Float;
 	
+	/** @throws DOMError */
+	function new( ?x : Float = 0.0, ?y : Float = 0.0, ?z : Float = 0.0, ?w : Float = 1.0 ) : Void;
+	
+	/**
+		Returns a JSON representation of the `DOMPointReadOnly` object.
+	**/
+	function toJSON() : Dynamic;
 }

+ 21 - 0
std/js/html/DOMQuad.hx

@@ -24,9 +24,20 @@
 
 package js.html;
 
+/**
+	A `DOMQuad` is a collection of four `DOMPoint`s defining the corners of an arbitrary quadrilateral. Returning `DOMQuad`s lets `getBoxQuads()` return accurate information even when arbitrary 2D or 3D transforms are present. It has a handy `bounds` attribute returning a `DOMRectReadOnly` for those cases where you just want an axis-aligned bounding rectangle.
+
+	Documentation [DOMQuad](https://developer.mozilla.org/en-US/docs/Web/API/DOMQuad) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMQuad$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/DOMQuad>
+**/
 @:native("DOMQuad")
 extern class DOMQuad
 {
+	
+	/**
+		are `DOMPoint` objects for each of the `DOMQuad` object's four corners.
+	**/
 	var p1(default,null) : DOMPoint;
 	var p2(default,null) : DOMPoint;
 	var p3(default,null) : DOMPoint;
@@ -36,4 +47,14 @@ extern class DOMQuad
 	/** @throws DOMError */
 	@:overload( function( ?p1 : DOMPointInit, ?p2 : DOMPointInit, ?p3 : DOMPointInit, ?p4 : DOMPointInit ) : Void {} )
 	function new( rect : DOMRectReadOnly ) : Void;
+	
+	/**
+		Returns a `DOMRect` object with the coordinates and dimensions of the `DOMQuad` object.
+	**/
+	function getBounds() : DOMRectReadOnly;
+	
+	/**
+		Returns a JSON representation of the `DOMQuad` object.
+	**/
+	function toJSON() : DOMQuadJSON;
 }

+ 33 - 0
std/js/html/DOMQuadJSON.hx

@@ -0,0 +1,33 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\DOMQuad.webidl. Do not edit!
+
+package js.html;
+
+typedef DOMQuadJSON =
+{
+	@:optional var p1 : DOMPoint;
+	@:optional var p2 : DOMPoint;
+	@:optional var p3 : DOMPoint;
+	@:optional var p4 : DOMPoint;
+}

+ 1 - 2
std/js/html/DOMRect.hx

@@ -35,6 +35,5 @@ package js.html;
 extern class DOMRect extends DOMRectReadOnly
 {
 	/** @throws DOMError */
-	@:overload( function() : Void {} )
-	function new( x : Float, y : Float, width : Float, height : Float ) : Void;
+	function new( ?x : Float = 0.0, ?y : Float = 0.0, ?width : Float = 0.0, ?height : Float = 0.0 ) : Void;
 }

+ 3 - 0
std/js/html/DOMRectReadOnly.hx

@@ -75,4 +75,7 @@ extern class DOMRectReadOnly
 	**/
 	var left(default,null) : Float;
 	
+	/** @throws DOMError */
+	function new( ?x : Float = 0.0, ?y : Float = 0.0, ?width : Float = 0.0, ?height : Float = 0.0 ) : Void;
+	function toJSON() : Dynamic;
 }

+ 1 - 1
std/js/html/DOMRequest.hx

@@ -29,7 +29,7 @@ extern class DOMRequest extends EventTarget
 {
 	var readyState(default,null) : DOMRequestReadyState;
 	var result(default,null) : Dynamic;
-	var error(default,null) : DOMError;
+	var error(default,null) : DOMException;
 	var onsuccess : haxe.Constraints.Function;
 	var onerror : haxe.Constraints.Function;
 	

+ 25 - 10
std/js/html/DOMTokenList.hx

@@ -25,7 +25,7 @@
 package js.html;
 
 /**
-	The `DOMTokenList` interface represents a set of space-separated tokens. Such a set is returned by `Element.classList`, `HTMLLinkElement.relList`, `HTMLAnchorElement.relList` or `HTMLAreaElement.relList`. It is indexed beginning with `0` as with JavaScript `Array` objects. `DOMTokenList` is always case-sensitive.
+	The `DOMTokenList` interface represents a set of space-separated tokens. Such a set is returned by `Element.classList`, `HTMLLinkElement.relList`, `HTMLAnchorElement.relList`, `HTMLAreaElement.relList`, `HTMLIframeElement.sandbox`, or `HTMLOutputElement.htmlFor`. It is indexed beginning with `0` as with JavaScript `Array` objects. `DOMTokenList` is always case-sensitive.
 
 	Documentation [DOMTokenList](https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
@@ -39,35 +39,50 @@ extern class DOMTokenList implements ArrayAccess<String>
 		Is an `integer` representing the number of objects stored in the object.
 	**/
 	var length(default,null) : Int;
+	
+	/**
+		The value of the list as a `DOMString`.
+	**/
 	var value : String;
 	
 	
 	/**
-		Returns an item in the list by its index (or undefined if the number is greater than or equal to the length of the list, prior to `7.0` returned null)
+		Returns an item in the list by its index (returns undefined if the number is greater than or equal to the length of the list).
 	**/
 	function item( index : Int ) : String;
-	/** @throws DOMError */
 	
 	/**
-		Returns `true` if the underlying string contains token, otherwise `false`
+		Returns `true` if the list contains the given token, otherwise `false`.
 	**/
 	function contains( token : String ) : Bool;
-	/** @throws DOMError */
 	
 	/**
-		Adds token to the underlying string
+		Adds the given token to the list.
+		@throws DOMError
 	**/
 	function add( tokens : haxe.extern.Rest<String> ) : Void;
-	/** @throws DOMError */
 	
 	/**
-		Removes token from the underlying string
+		Removes the specified token from the list.
+		@throws DOMError
 	**/
 	function remove( tokens : haxe.extern.Rest<String> ) : Void;
-	/** @throws DOMError */
 	
 	/**
-		Removes token from string and returns false. If token doesn't exist it's added and the function returns true
+		Replaces an existing token with a new token.
+		@throws DOMError
+	**/
+	function replace( token : String, newToken : String ) : Bool;
+	
+	/**
+		Removes a given token from the list and returns false. If token doesn't exist it's added and the function returns `true`.
+		@throws DOMError
 	**/
 	function toggle( token : String, ?force : Bool ) : Bool;
+	
+	/**
+		Returns `true` if a given token is in the associated attribute's supported tokens.
+		@throws DOMError
+	**/
+	function supports( token : String ) : Bool;
 }

+ 11 - 7
std/js/html/DataTransfer.hx

@@ -45,10 +45,15 @@ extern class DataTransfer
 	**/
 	var effectAllowed : String;
 	
+	/**
+		Gives a `DataTransferItemList` object which is a list of all of the drag data.
+	**/
+	var items(default,null) : DataTransferItemList;
+	
 	/**
 		An array of `DOMString` giving the formats that were set in the `dragstart` event.
 	**/
-	var types(default,null) : DOMStringList;
+	var types(default,null) : Array<String>;
 	
 	/**
 		Contains a list of all the local files available on the data transfer. If the drag operation doesn't involve dragging files, this property is an empty list.
@@ -56,35 +61,34 @@ extern class DataTransfer
 	var files(default,null) : FileList;
 	
 	/** @throws DOMError */
-	function new( eventType : String, isExternal : Bool ) : Void;
-	/** @throws DOMError */
+	function new() : Void;
 	
 	/**
 		Set the image to be used for dragging if a custom one is desired.
 	**/
 	function setDragImage( image : Element, x : Int, y : Int ) : Void;
-	/** @throws DOMError */
 	
 	/**
 		Retrieves the data for a given type, or an empty string if data for that type does not exist or the data transfer contains no data.
+		@throws DOMError
 	**/
 	function getData( format : String ) : String;
-	/** @throws DOMError */
 	
 	/**
 		Set the data for a given type. If data for the type does not exist, it is added at the end, such that the last item in the types list will be the new format. If data for the type already exists, the existing data is replaced in the same position.
+		@throws DOMError
 	**/
 	function setData( format : String, data : String ) : Void;
-	/** @throws DOMError */
 	
 	/**
 		Remove the data associated with a given type. The type argument is optional. If the type is empty or not specified, the data associated with all types is removed. If data for the specified type does not exist, or the data transfer contains no data, this method will have no effect.
+		@throws DOMError
 	**/
 	function clearData( ?format : String ) : Void;
-	/** @throws DOMError */
 	
 	/**
 		Sets the drag source to the given element.
+		@throws DOMError
 	**/
 	function addElement( element : Element ) : Void;
 }

+ 60 - 0
std/js/html/DataTransferItem.hx

@@ -0,0 +1,60 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\DataTransferItem.webidl. Do not edit!
+
+package js.html;
+
+/**
+	The `DataTransferItem` object represents one drag data item. During a drag operation, each `drag event` has a `dataTransfer` property which contains a `list` of drag data items. Each item in the list is a `DataTransferItem` object.
+
+	Documentation [DataTransferItem](https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem>
+**/
+@:native("DataTransferItem")
+extern class DataTransferItem
+{
+	
+	/**
+		The kind of drag data item, `string` or `file`.
+	**/
+	var kind(default,null) : String;
+	
+	/**
+		The drag data item's type, typically a MIME type.
+	**/
+	var type(default,null) : String;
+	
+	
+	/**
+		Invokes the specified callback with the drag data item string as its argument.
+		@throws DOMError
+	**/
+	function getAsString( callback : String -> Void ) : Void;
+	
+	/**
+		Returns the `File` object associated with the drag data item (or null if the drag item is not a file).
+		@throws DOMError
+	**/
+	function getAsFile() : File;
+}

+ 62 - 0
std/js/html/DataTransferItemList.hx

@@ -0,0 +1,62 @@
+/*
+ * Copyright (C)2005-2018 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+// This file is generated from mozilla\DataTransferItemList.webidl. Do not edit!
+
+package js.html;
+
+/**
+	The `DataTransferItemList` object is a list of `DataTransferItem` objects representing items being dragged. During a drag operation, each `DragEvent` has a `dataTransfer` property and that property is a `DataTransferItemList`.
+
+	Documentation [DataTransferItemList](https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList>
+**/
+@:native("DataTransferItemList")
+extern class DataTransferItemList implements ArrayAccess<DataTransferItem>
+{
+	
+	/**
+		An `unsigned long` that is the number of drag items in the list.
+	**/
+	var length(default,null) : Int;
+	
+	
+	/**
+		Adds an item (either a `File` object or a `DOMString`) to the drag item list and returns a `DataTransferItem` object for the new item.
+		@throws DOMError
+	**/
+	@:overload( function( data : String, type : String ) : DataTransferItem {} )
+	function add( data : File ) : DataTransferItem;
+	
+	/**
+		Removes the drag item from the list at the given index.
+		@throws DOMError
+	**/
+	function remove( index : Int ) : Void;
+	
+	/**
+		Removes all of the drag items from the list.
+		@throws DOMError
+	**/
+	function clear() : Void;
+}

+ 21 - 9
std/js/html/DataView.hx

@@ -28,18 +28,30 @@ package js.html;
 import js.html.compat.DataView;
 
 @:native("DataView")
-extern class DataView extends ArrayBufferView
+extern class DataView implements ArrayBufferView
 {
+	var buffer(default,null) : ArrayBuffer;
+	var byteOffset(default,null) : Int;
+	var byteLength(default,null) : Int;
+	
 	/** @throws DOMError */
 	function new( buffer : ArrayBuffer, ?byteOffset : Int, ?byteLength : Int ) : Void;
-	@:pure function getInt8( byteOffset : Int ) : Int;
-	@:pure function getUint8( byteOffset : Int ) : Int;
-	@:pure function getInt16( byteOffset : Int, ?littleEndian : Bool ) : Int;
-	@:pure function getUint16( byteOffset : Int, ?littleEndian : Bool ) : Int;
-	@:pure function getInt32( byteOffset : Int, ?littleEndian : Bool ) : Int;
-	@:pure function getUint32( byteOffset : Int, ?littleEndian : Bool ) : Int;
-	@:pure function getFloat32( byteOffset : Int, ?littleEndian : Bool ) : Float;
-	@:pure function getFloat64( byteOffset : Int, ?littleEndian : Bool ) : Float;
+	@:pure
+	function getInt8( byteOffset : Int ) : Int;
+	@:pure
+	function getUint8( byteOffset : Int ) : Int;
+	@:pure
+	function getInt16( byteOffset : Int, ?littleEndian : Bool ) : Int;
+	@:pure
+	function getUint16( byteOffset : Int, ?littleEndian : Bool ) : Int;
+	@:pure
+	function getInt32( byteOffset : Int, ?littleEndian : Bool ) : Int;
+	@:pure
+	function getUint32( byteOffset : Int, ?littleEndian : Bool ) : Int;
+	@:pure
+	function getFloat32( byteOffset : Int, ?littleEndian : Bool ) : Float;
+	@:pure
+	function getFloat64( byteOffset : Int, ?littleEndian : Bool ) : Float;
 	function setInt8( byteOffset : Int, value : Int ) : Void;
 	function setUint8( byteOffset : Int, value : Int ) : Void;
 	function setInt16( byteOffset : Int, value : Int, ?littleEndian : Bool ) : Void;

+ 21 - 2
std/js/html/DedicatedWorkerGlobalScope.hx

@@ -35,11 +35,30 @@ package js.html;
 extern class DedicatedWorkerGlobalScope extends WorkerGlobalScope
 {
 	
+	/**
+		The name that the `Worker` was (optionally) given when it was created using the `Worker.Worker` constructor. This is mainly useful for debugging purposes.
+	**/
+	var name(default,null) : String;
+	
 	/**
 		Is an `EventHandler` representing the code to be called when the `message` event is raised. These events are of type `MessageEvent` and will be called when the worker receives a message from the document that started it (i.e. from the `Worker.postMessage` method.)
 	**/
 	var onmessage : haxe.Constraints.Function;
 	
-	/** @throws DOMError */
-	function postMessage( message : Dynamic, ?transfer : Array<Dynamic> ) : Void;
+	/**
+		Is an `EventHandler` representing the code to be called when the `messageerror` event is raised.
+	**/
+	var onmessageerror : haxe.Constraints.Function;
+	
+	
+	/**
+		Sends a message — which can consist of `any` JavaScript object — to the parent document that first spawned the worker.
+		@throws DOMError
+	**/
+	function postMessage( message : Dynamic, ?transfer : Array<Dynamic> = [] ) : Void;
+	
+	/**
+		Discards any tasks queued in the `WorkerGlobalScope`'s event loop, effectively closing this particular scope.
+	**/
+	function close() : Void;
 }

+ 8 - 13
std/js/html/ContentElement.hx → std/js/html/DetailsElement.hx

@@ -20,29 +20,24 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-// This file is generated from mozilla\HTMLContentElement.webidl. Do not edit!
+// This file is generated from mozilla\HTMLDetailsElement.webidl. Do not edit!
 
 package js.html;
 
 /**
-	The `HTMLContentElement` interface represents a `content` HTML Element, which is used in Shadow DOM.
+	The `HTMLDetailsElement` interface provides special properties (beyond the regular `HTMLElement` interface it also has available to it by inheritance) for manipulating `details` elements.
 
-	Documentation [HTMLContentElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLContentElement) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/HTMLContentElement$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
+	Documentation [HTMLDetailsElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement) by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement$history), licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
 
-	@see <https://developer.mozilla.org/en-US/docs/Web/API/HTMLContentElement>
+	@see <https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement>
 **/
-@:native("HTMLContentElement")
-extern class ContentElement extends Element
+@:native("HTMLDetailsElement")
+extern class DetailsElement extends Element
 {
 	
 	/**
-		Is a `DOMString` that reflects the `select` HTML attribute. The value is a comma-separated list of CSS selectors that select the content to insert in place of the `content` element.
+		Is a `boolean` reflecting the `open` HTML attribute, indicating whether or not the element’s contents (not counting the `summary`) is to be shown to the user.
 	**/
-	var select : String;
+	var open : Bool;
 	
-	
-	/**
-		Returns a static `NodeList` of the `distributed nodes` associated with this `content` element. 
-	**/
-	function getDistributedNodes() : NodeList;
 }

部分文件因文件數量過多而無法顯示