ghcjs-dom 0.8.0.0 → 0.10.0.0
raw patch · 5 files changed
Files
- ChangeLog.md +17/−0
- ghcjs-dom.cabal +1501/−596
- src/GHCJS/DOM/Debug.hs +178/−0
- src/GHCJS/DOM/Debug/Internal.hs +71/−0
- src/GHCJS/DOM/Document.hs +102/−0
+ ChangeLog.md view
@@ -0,0 +1,17 @@+# Revision history for ghcjs-dom (ghcjs-dom, ghcjs-dom-jsaddle, ghcjs-dom-javascript)++## 0.10.0.0++A major release matching jsaddle-dom 0.10: the bindings are regenerated+from current specifications (webref Web IDL and MDN browser-compat-data)+by `dom-gen`. See jsaddle-dom's ChangeLog.md for the API changes and its+API-CHANGES-0.10.md for the full list.++* ghcjs-dom-javascript (the GHC JavaScript backend) is now generated too,+ with typed `foreign import javascript` calls and no dependency on+ jsaddle. It needs ghcjs-base >= 0.8.1 (for `GHCJS.Int53` and the+ `Object` / `JSArray` marshalling instances).+* ghcjs-dom uses ghcjs-dom-javascript on GHC's JavaScript backend (unless+ built with `-f-jsffi`) and ghcjs-dom-jsaddle otherwise. The GHCJS 8+ backend (`ghcjs-dom-jsffi`) is not regenerated and stays at 0.9.x.+* `GHCJS.DOM.Debug` uses `Document.elementFromPoint` and `PointerEvent`.
ghcjs-dom.cabal view
@@ -1,596 +1,1501 @@-name: ghcjs-dom-version: 0.8.0.0-cabal-version: >=1.24-build-type: Simple-license: MIT-license-file: LICENSE-maintainer: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>-synopsis: DOM library that supports both GHCJS and GHC-description: Documentent Object Model (DOM) functions that work with- GHCJS, but can also be used with GHC and a Browser.-author: Hamish Mackenzie-data-dir: ""-category: Web--Source-Repository head- type: git- location: https://github.com/ghcjs/ghcjs-dom- subdir: ghcjs-dom--flag jsffi- description: Use JavaScriptFFI extension for GHCJS JavaScript output- default: True- manual: True--library- build-depends: base <5,- transformers >=0.2 && <0.6,- text >= 0.11.0.6 && < 1.3-- default-language: Haskell2010-- exposed: True- buildable: True-- if (impl(ghcjs) && flag(jsffi))- build-depends: ghcjs-dom-jsffi ==0.8.0.0- else- build-depends: ghcjs-dom-jsaddle ==0.8.0.0-- reexported-modules:- GHCJS.DOM- , GHCJS.DOM.Types- , GHCJS.DOM.EventM- -- (cd src/JSDOM/Generated && for a in *.hs; do echo " , GHCJS.DOM.${a%.*}"; done | pbcopy)- , GHCJS.DOM.ANGLEInstancedArrays- , GHCJS.DOM.AbstractWorker- , GHCJS.DOM.AnalyserNode- , GHCJS.DOM.Animatable- , GHCJS.DOM.Animation- , GHCJS.DOM.AnimationEvent- , GHCJS.DOM.ApplePayPaymentAuthorizedEvent- , GHCJS.DOM.ApplePayPaymentMethodSelectedEvent- , GHCJS.DOM.ApplePaySession- , GHCJS.DOM.ApplePayShippingContactSelectedEvent- , GHCJS.DOM.ApplePayShippingMethodSelectedEvent- , GHCJS.DOM.ApplePayValidateMerchantEvent- , GHCJS.DOM.ApplicationCache- , GHCJS.DOM.Attr- , GHCJS.DOM.AudioBuffer- , GHCJS.DOM.AudioBufferCallback- , GHCJS.DOM.AudioBufferSourceNode- , GHCJS.DOM.AudioContext- , GHCJS.DOM.AudioDestinationNode- , GHCJS.DOM.AudioListener- , GHCJS.DOM.AudioNode- , GHCJS.DOM.AudioParam- , GHCJS.DOM.AudioProcessingEvent- , GHCJS.DOM.AudioTrack- , GHCJS.DOM.AudioTrackList- , GHCJS.DOM.AutocompleteErrorEvent- , GHCJS.DOM.BarProp- , GHCJS.DOM.BeforeLoadEvent- , GHCJS.DOM.BeforeUnloadEvent- , GHCJS.DOM.BiquadFilterNode- , GHCJS.DOM.Blob- , GHCJS.DOM.Body- , GHCJS.DOM.ByteLengthQueuingStrategy- , GHCJS.DOM.CSS- , GHCJS.DOM.CSSFontFaceLoadEvent- , GHCJS.DOM.CSSFontFaceRule- , GHCJS.DOM.CSSImportRule- , GHCJS.DOM.CSSKeyframeRule- , GHCJS.DOM.CSSKeyframesRule- , GHCJS.DOM.CSSMediaRule- , GHCJS.DOM.CSSNamespaceRule- , GHCJS.DOM.CSSPageRule- , GHCJS.DOM.CSSPrimitiveValue- , GHCJS.DOM.CSSRule- , GHCJS.DOM.CSSRuleList- , GHCJS.DOM.CSSStyleDeclaration- , GHCJS.DOM.CSSStyleRule- , GHCJS.DOM.CSSStyleSheet- , GHCJS.DOM.CSSSupportsRule- , GHCJS.DOM.CSSValue- , GHCJS.DOM.CSSValueList- , GHCJS.DOM.CanvasGradient- , GHCJS.DOM.CanvasPath- , GHCJS.DOM.CanvasRenderingContext2D- , GHCJS.DOM.CharacterData- , GHCJS.DOM.ChildNode- , GHCJS.DOM.ClientRect- , GHCJS.DOM.ClientRectList- , GHCJS.DOM.ClipboardEvent- , GHCJS.DOM.CloseEvent- , GHCJS.DOM.CommandLineAPIHost- , GHCJS.DOM.Comment- , GHCJS.DOM.CompositionEvent- , GHCJS.DOM.ConvolverNode- , GHCJS.DOM.Coordinates- , GHCJS.DOM.CountQueuingStrategy- , GHCJS.DOM.Counter- , GHCJS.DOM.Crypto- , GHCJS.DOM.CryptoKey- , GHCJS.DOM.CustomElementRegistry- , GHCJS.DOM.CustomEvent- , GHCJS.DOM.DOMError- , GHCJS.DOM.DOMException- , GHCJS.DOM.DOMImplementation- , GHCJS.DOM.DOMNamedFlowCollection- , GHCJS.DOM.DOMParser- , GHCJS.DOM.DOMPoint- , GHCJS.DOM.DOMPointReadOnly- , GHCJS.DOM.DOMRect- , GHCJS.DOM.DOMRectReadOnly- , GHCJS.DOM.DOMStringList- , GHCJS.DOM.DOMStringMap- , GHCJS.DOM.DOMTokenList- , GHCJS.DOM.DataCue- , GHCJS.DOM.DataTransfer- , GHCJS.DOM.DataTransferItem- , GHCJS.DOM.DataTransferItemList- , GHCJS.DOM.Database- , GHCJS.DOM.DatabaseCallback- , GHCJS.DOM.DedicatedWorkerGlobalScope- , GHCJS.DOM.DelayNode- , GHCJS.DOM.DeviceMotionEvent- , GHCJS.DOM.DeviceOrientationEvent- , GHCJS.DOM.DeviceProximityEvent- , GHCJS.DOM.Document- , GHCJS.DOM.DocumentFragment- , GHCJS.DOM.DocumentOrShadowRoot- , GHCJS.DOM.DocumentTimeline- , GHCJS.DOM.DocumentType- , GHCJS.DOM.DynamicsCompressorNode- , GHCJS.DOM.EXTBlendMinMax- , GHCJS.DOM.EXTTextureFilterAnisotropic- , GHCJS.DOM.EXTsRGB- , GHCJS.DOM.Element- , GHCJS.DOM.Enums- , GHCJS.DOM.ErrorEvent- , GHCJS.DOM.Event- , GHCJS.DOM.EventListener- , GHCJS.DOM.EventSource- , GHCJS.DOM.EventTarget- , GHCJS.DOM.File- , GHCJS.DOM.FileError- , GHCJS.DOM.FileException- , GHCJS.DOM.FileList- , GHCJS.DOM.FileReader- , GHCJS.DOM.FileReaderSync- , GHCJS.DOM.FocusEvent- , GHCJS.DOM.FontFace- , GHCJS.DOM.FontFaceSet- , GHCJS.DOM.FormData- , GHCJS.DOM.GainNode- , GHCJS.DOM.Gamepad- , GHCJS.DOM.GamepadButton- , GHCJS.DOM.GamepadEvent- , GHCJS.DOM.Geolocation- , GHCJS.DOM.Geoposition- , GHCJS.DOM.GlobalCrypto- , GHCJS.DOM.GlobalEventHandlers- , GHCJS.DOM.GlobalPerformance- , GHCJS.DOM.HTMLAllCollection- , GHCJS.DOM.HTMLAnchorElement- , GHCJS.DOM.HTMLAppletElement- , GHCJS.DOM.HTMLAreaElement- , GHCJS.DOM.HTMLAttachmentElement- , GHCJS.DOM.HTMLBRElement- , GHCJS.DOM.HTMLBaseElement- , GHCJS.DOM.HTMLBodyElement- , GHCJS.DOM.HTMLButtonElement- , GHCJS.DOM.HTMLCanvasElement- , GHCJS.DOM.HTMLCollection- , GHCJS.DOM.HTMLDListElement- , GHCJS.DOM.HTMLDataElement- , GHCJS.DOM.HTMLDataListElement- , GHCJS.DOM.HTMLDetailsElement- , GHCJS.DOM.HTMLDirectoryElement- , GHCJS.DOM.HTMLDivElement- , GHCJS.DOM.HTMLDocument- , GHCJS.DOM.HTMLElement- , GHCJS.DOM.HTMLEmbedElement- , GHCJS.DOM.HTMLFieldSetElement- , GHCJS.DOM.HTMLFontElement- , GHCJS.DOM.HTMLFormControlsCollection- , GHCJS.DOM.HTMLFormElement- , GHCJS.DOM.HTMLFrameElement- , GHCJS.DOM.HTMLFrameSetElement- , GHCJS.DOM.HTMLHRElement- , GHCJS.DOM.HTMLHeadElement- , GHCJS.DOM.HTMLHeadingElement- , GHCJS.DOM.HTMLHtmlElement- , GHCJS.DOM.HTMLHyperlinkElementUtils- , GHCJS.DOM.HTMLIFrameElement- , GHCJS.DOM.HTMLImageElement- , GHCJS.DOM.HTMLInputElement- , GHCJS.DOM.HTMLKeygenElement- , GHCJS.DOM.HTMLLIElement- , GHCJS.DOM.HTMLLabelElement- , GHCJS.DOM.HTMLLegendElement- , GHCJS.DOM.HTMLLinkElement- , GHCJS.DOM.HTMLMapElement- , GHCJS.DOM.HTMLMarqueeElement- , GHCJS.DOM.HTMLMediaElement- , GHCJS.DOM.HTMLMenuElement- , GHCJS.DOM.HTMLMetaElement- , GHCJS.DOM.HTMLMeterElement- , GHCJS.DOM.HTMLModElement- , GHCJS.DOM.HTMLOListElement- , GHCJS.DOM.HTMLObjectElement- , GHCJS.DOM.HTMLOptGroupElement- , GHCJS.DOM.HTMLOptionElement- , GHCJS.DOM.HTMLOptionsCollection- , GHCJS.DOM.HTMLOutputElement- , GHCJS.DOM.HTMLParagraphElement- , GHCJS.DOM.HTMLParamElement- , GHCJS.DOM.HTMLPreElement- , GHCJS.DOM.HTMLProgressElement- , GHCJS.DOM.HTMLQuoteElement- , GHCJS.DOM.HTMLScriptElement- , GHCJS.DOM.HTMLSelectElement- , GHCJS.DOM.HTMLSlotElement- , GHCJS.DOM.HTMLSourceElement- , GHCJS.DOM.HTMLStyleElement- , GHCJS.DOM.HTMLTableCaptionElement- , GHCJS.DOM.HTMLTableCellElement- , GHCJS.DOM.HTMLTableColElement- , GHCJS.DOM.HTMLTableElement- , GHCJS.DOM.HTMLTableRowElement- , GHCJS.DOM.HTMLTableSectionElement- , GHCJS.DOM.HTMLTemplateElement- , GHCJS.DOM.HTMLTextAreaElement- , GHCJS.DOM.HTMLTimeElement- , GHCJS.DOM.HTMLTitleElement- , GHCJS.DOM.HTMLTrackElement- , GHCJS.DOM.HTMLUListElement- , GHCJS.DOM.HTMLVideoElement- , GHCJS.DOM.HashChangeEvent- , GHCJS.DOM.Headers- , GHCJS.DOM.History- , GHCJS.DOM.IDBCursor- , GHCJS.DOM.IDBCursorWithValue- , GHCJS.DOM.IDBDatabase- , GHCJS.DOM.IDBFactory- , GHCJS.DOM.IDBIndex- , GHCJS.DOM.IDBKeyRange- , GHCJS.DOM.IDBObjectStore- , GHCJS.DOM.IDBOpenDBRequest- , GHCJS.DOM.IDBRequest- , GHCJS.DOM.IDBTransaction- , GHCJS.DOM.IDBVersionChangeEvent- , GHCJS.DOM.ImageData- , GHCJS.DOM.InputEvent- , GHCJS.DOM.InspectorFrontendHost- , GHCJS.DOM.IntersectionObserver- , GHCJS.DOM.IntersectionObserverCallback- , GHCJS.DOM.IntersectionObserverEntry- , GHCJS.DOM.KeyboardEvent- , GHCJS.DOM.KeyframeEffect- , GHCJS.DOM.Location- , GHCJS.DOM.MediaController- , GHCJS.DOM.MediaControlsHost- , GHCJS.DOM.MediaDeviceInfo- , GHCJS.DOM.MediaDevices- , GHCJS.DOM.MediaElementAudioSourceNode- , GHCJS.DOM.MediaEncryptedEvent- , GHCJS.DOM.MediaError- , GHCJS.DOM.MediaKeyMessageEvent- , GHCJS.DOM.MediaKeySession- , GHCJS.DOM.MediaKeyStatusMap- , GHCJS.DOM.MediaKeySystemAccess- , GHCJS.DOM.MediaKeys- , GHCJS.DOM.MediaList- , GHCJS.DOM.MediaQueryList- , GHCJS.DOM.MediaQueryListListener- , GHCJS.DOM.MediaRemoteControls- , GHCJS.DOM.MediaSession- , GHCJS.DOM.MediaSource- , GHCJS.DOM.MediaStream- , GHCJS.DOM.MediaStreamAudioDestinationNode- , GHCJS.DOM.MediaStreamAudioSourceNode- , GHCJS.DOM.MediaStreamEvent- , GHCJS.DOM.MediaStreamTrack- , GHCJS.DOM.MediaStreamTrackEvent- , GHCJS.DOM.MessageChannel- , GHCJS.DOM.MessageEvent- , GHCJS.DOM.MessagePort- , GHCJS.DOM.MimeType- , GHCJS.DOM.MimeTypeArray- , GHCJS.DOM.MouseEvent- , GHCJS.DOM.MutationEvent- , GHCJS.DOM.MutationObserver- , GHCJS.DOM.MutationRecord- , GHCJS.DOM.NamedNodeMap- , GHCJS.DOM.Navigator- , GHCJS.DOM.NavigatorConcurrentHardware- , GHCJS.DOM.NavigatorID- , GHCJS.DOM.NavigatorLanguage- , GHCJS.DOM.NavigatorOnLine- , GHCJS.DOM.NavigatorUserMediaError- , GHCJS.DOM.NavigatorUserMediaErrorCallback- , GHCJS.DOM.NavigatorUserMediaSuccessCallback- , GHCJS.DOM.Node- , GHCJS.DOM.NodeFilter- , GHCJS.DOM.NodeIterator- , GHCJS.DOM.NodeList- , GHCJS.DOM.NonDocumentTypeChildNode- , GHCJS.DOM.NonElementParentNode- , GHCJS.DOM.Notification- , GHCJS.DOM.NotificationCenter- , GHCJS.DOM.NotificationPermissionCallback- , GHCJS.DOM.OESStandardDerivatives- , GHCJS.DOM.OESTextureHalfFloat- , GHCJS.DOM.OESVertexArrayObject- , GHCJS.DOM.OfflineAudioCompletionEvent- , GHCJS.DOM.OfflineAudioContext- , GHCJS.DOM.OscillatorNode- , GHCJS.DOM.OverconstrainedError- , GHCJS.DOM.OverconstrainedErrorEvent- , GHCJS.DOM.OverflowEvent- , GHCJS.DOM.PageTransitionEvent- , GHCJS.DOM.PannerNode- , GHCJS.DOM.ParentNode- , GHCJS.DOM.Path2D- , GHCJS.DOM.Performance- , GHCJS.DOM.PerformanceEntry- , GHCJS.DOM.PerformanceNavigation- , GHCJS.DOM.PerformanceObserver- , GHCJS.DOM.PerformanceObserverCallback- , GHCJS.DOM.PerformanceObserverEntryList- , GHCJS.DOM.PerformanceResourceTiming- , GHCJS.DOM.PerformanceTiming- , GHCJS.DOM.Plugin- , GHCJS.DOM.PluginArray- , GHCJS.DOM.PopStateEvent- , GHCJS.DOM.PositionCallback- , GHCJS.DOM.PositionError- , GHCJS.DOM.PositionErrorCallback- , GHCJS.DOM.ProcessingInstruction- , GHCJS.DOM.ProgressEvent- , GHCJS.DOM.QuickTimePluginReplacement- , GHCJS.DOM.RGBColor- , GHCJS.DOM.RTCDTMFSender- , GHCJS.DOM.RTCDTMFToneChangeEvent- , GHCJS.DOM.RTCDataChannel- , GHCJS.DOM.RTCDataChannelEvent- , GHCJS.DOM.RTCIceCandidate- , GHCJS.DOM.RTCIceCandidateEvent- , GHCJS.DOM.RTCPeerConnection- , GHCJS.DOM.RTCRtpReceiver- , GHCJS.DOM.RTCRtpSender- , GHCJS.DOM.RTCRtpTransceiver- , GHCJS.DOM.RTCSessionDescription- , GHCJS.DOM.RTCTrackEvent- , GHCJS.DOM.RadioNodeList- , GHCJS.DOM.Range- , GHCJS.DOM.ReadableByteStreamController- , GHCJS.DOM.ReadableStream- , GHCJS.DOM.ReadableStreamDefaultController- , GHCJS.DOM.ReadableStreamDefaultReader- , GHCJS.DOM.ReadableStreamSource- , GHCJS.DOM.Rect- , GHCJS.DOM.Request- , GHCJS.DOM.RequestAnimationFrameCallback- , GHCJS.DOM.Response- , GHCJS.DOM.SQLError- , GHCJS.DOM.SQLException- , GHCJS.DOM.SQLResultSet- , GHCJS.DOM.SQLResultSetRowList- , GHCJS.DOM.SQLStatementCallback- , GHCJS.DOM.SQLStatementErrorCallback- , GHCJS.DOM.SQLTransaction- , GHCJS.DOM.SQLTransactionCallback- , GHCJS.DOM.SQLTransactionErrorCallback- , GHCJS.DOM.SVGAElement- , GHCJS.DOM.SVGAltGlyphElement- , GHCJS.DOM.SVGAngle- , GHCJS.DOM.SVGAnimatedAngle- , GHCJS.DOM.SVGAnimatedBoolean- , GHCJS.DOM.SVGAnimatedEnumeration- , GHCJS.DOM.SVGAnimatedInteger- , GHCJS.DOM.SVGAnimatedLength- , GHCJS.DOM.SVGAnimatedLengthList- , GHCJS.DOM.SVGAnimatedNumber- , GHCJS.DOM.SVGAnimatedNumberList- , GHCJS.DOM.SVGAnimatedPreserveAspectRatio- , GHCJS.DOM.SVGAnimatedRect- , GHCJS.DOM.SVGAnimatedString- , GHCJS.DOM.SVGAnimatedTransformList- , GHCJS.DOM.SVGAnimationElement- , GHCJS.DOM.SVGCircleElement- , GHCJS.DOM.SVGClipPathElement- , GHCJS.DOM.SVGComponentTransferFunctionElement- , GHCJS.DOM.SVGCursorElement- , GHCJS.DOM.SVGElement- , GHCJS.DOM.SVGEllipseElement- , GHCJS.DOM.SVGException- , GHCJS.DOM.SVGExternalResourcesRequired- , GHCJS.DOM.SVGFEBlendElement- , GHCJS.DOM.SVGFEColorMatrixElement- , GHCJS.DOM.SVGFEComponentTransferElement- , GHCJS.DOM.SVGFECompositeElement- , GHCJS.DOM.SVGFEConvolveMatrixElement- , GHCJS.DOM.SVGFEDiffuseLightingElement- , GHCJS.DOM.SVGFEDisplacementMapElement- , GHCJS.DOM.SVGFEDistantLightElement- , GHCJS.DOM.SVGFEDropShadowElement- , GHCJS.DOM.SVGFEGaussianBlurElement- , GHCJS.DOM.SVGFEImageElement- , GHCJS.DOM.SVGFEMergeNodeElement- , GHCJS.DOM.SVGFEMorphologyElement- , GHCJS.DOM.SVGFEOffsetElement- , GHCJS.DOM.SVGFEPointLightElement- , GHCJS.DOM.SVGFESpecularLightingElement- , GHCJS.DOM.SVGFESpotLightElement- , GHCJS.DOM.SVGFETileElement- , GHCJS.DOM.SVGFETurbulenceElement- , GHCJS.DOM.SVGFilterElement- , GHCJS.DOM.SVGFilterPrimitiveStandardAttributes- , GHCJS.DOM.SVGFitToViewBox- , GHCJS.DOM.SVGForeignObjectElement- , GHCJS.DOM.SVGGlyphRefElement- , GHCJS.DOM.SVGGradientElement- , GHCJS.DOM.SVGGraphicsElement- , GHCJS.DOM.SVGImageElement- , GHCJS.DOM.SVGLength- , GHCJS.DOM.SVGLengthList- , GHCJS.DOM.SVGLineElement- , GHCJS.DOM.SVGLinearGradientElement- , GHCJS.DOM.SVGMarkerElement- , GHCJS.DOM.SVGMaskElement- , GHCJS.DOM.SVGMatrix- , GHCJS.DOM.SVGNumber- , GHCJS.DOM.SVGNumberList- , GHCJS.DOM.SVGPathElement- , GHCJS.DOM.SVGPathSeg- , GHCJS.DOM.SVGPathSegArcAbs- , GHCJS.DOM.SVGPathSegArcRel- , GHCJS.DOM.SVGPathSegCurvetoCubicAbs- , GHCJS.DOM.SVGPathSegCurvetoCubicRel- , GHCJS.DOM.SVGPathSegCurvetoCubicSmoothAbs- , GHCJS.DOM.SVGPathSegCurvetoCubicSmoothRel- , GHCJS.DOM.SVGPathSegCurvetoQuadraticAbs- , GHCJS.DOM.SVGPathSegCurvetoQuadraticRel- , GHCJS.DOM.SVGPathSegCurvetoQuadraticSmoothAbs- , GHCJS.DOM.SVGPathSegCurvetoQuadraticSmoothRel- , GHCJS.DOM.SVGPathSegLinetoAbs- , GHCJS.DOM.SVGPathSegLinetoHorizontalAbs- , GHCJS.DOM.SVGPathSegLinetoHorizontalRel- , GHCJS.DOM.SVGPathSegLinetoRel- , GHCJS.DOM.SVGPathSegLinetoVerticalAbs- , GHCJS.DOM.SVGPathSegLinetoVerticalRel- , GHCJS.DOM.SVGPathSegList- , GHCJS.DOM.SVGPathSegMovetoAbs- , GHCJS.DOM.SVGPathSegMovetoRel- , GHCJS.DOM.SVGPatternElement- , GHCJS.DOM.SVGPoint- , GHCJS.DOM.SVGPointList- , GHCJS.DOM.SVGPolygonElement- , GHCJS.DOM.SVGPolylineElement- , GHCJS.DOM.SVGPreserveAspectRatio- , GHCJS.DOM.SVGRadialGradientElement- , GHCJS.DOM.SVGRect- , GHCJS.DOM.SVGRectElement- , GHCJS.DOM.SVGRenderingIntent- , GHCJS.DOM.SVGSVGElement- , GHCJS.DOM.SVGScriptElement- , GHCJS.DOM.SVGStopElement- , GHCJS.DOM.SVGStringList- , GHCJS.DOM.SVGStyleElement- , GHCJS.DOM.SVGTests- , GHCJS.DOM.SVGTextContentElement- , GHCJS.DOM.SVGTextPathElement- , GHCJS.DOM.SVGTextPositioningElement- , GHCJS.DOM.SVGTransform- , GHCJS.DOM.SVGTransformList- , GHCJS.DOM.SVGURIReference- , GHCJS.DOM.SVGUnitTypes- , GHCJS.DOM.SVGUseElement- , GHCJS.DOM.SVGViewElement- , GHCJS.DOM.SVGViewSpec- , GHCJS.DOM.SVGZoomAndPan- , GHCJS.DOM.SVGZoomEvent- , GHCJS.DOM.Screen- , GHCJS.DOM.ScriptProcessorNode- , GHCJS.DOM.SecurityPolicyViolationEvent- , GHCJS.DOM.Selection- , GHCJS.DOM.ShadowRoot- , GHCJS.DOM.Slotable- , GHCJS.DOM.SourceBuffer- , GHCJS.DOM.SourceBufferList- , GHCJS.DOM.SpeechSynthesis- , GHCJS.DOM.SpeechSynthesisEvent- , GHCJS.DOM.SpeechSynthesisUtterance- , GHCJS.DOM.SpeechSynthesisVoice- , GHCJS.DOM.StaticRange- , GHCJS.DOM.Storage- , GHCJS.DOM.StorageErrorCallback- , GHCJS.DOM.StorageEvent- , GHCJS.DOM.StorageInfo- , GHCJS.DOM.StorageQuota- , GHCJS.DOM.StorageQuotaCallback- , GHCJS.DOM.StorageUsageCallback- , GHCJS.DOM.StringCallback- , GHCJS.DOM.StyleMedia- , GHCJS.DOM.StyleSheet- , GHCJS.DOM.StyleSheetList- , GHCJS.DOM.SubtleCrypto- , GHCJS.DOM.Text- , GHCJS.DOM.TextDecoder- , GHCJS.DOM.TextEncoder- , GHCJS.DOM.TextEvent- , GHCJS.DOM.TextMetrics- , GHCJS.DOM.TextTrack- , GHCJS.DOM.TextTrackCue- , GHCJS.DOM.TextTrackCueList- , GHCJS.DOM.TextTrackList- , GHCJS.DOM.TimeRanges- , GHCJS.DOM.Touch- , GHCJS.DOM.TouchEvent- , GHCJS.DOM.TouchList- , GHCJS.DOM.TrackEvent- , GHCJS.DOM.TransitionEvent- , GHCJS.DOM.TreeWalker- , GHCJS.DOM.UIEvent- , GHCJS.DOM.URL- , GHCJS.DOM.URLSearchParams- , GHCJS.DOM.UserMessageHandler- , GHCJS.DOM.VTTCue- , GHCJS.DOM.VTTRegion- , GHCJS.DOM.VTTRegionList- , GHCJS.DOM.ValidityState- , GHCJS.DOM.VideoPlaybackQuality- , GHCJS.DOM.VideoTrack- , GHCJS.DOM.VideoTrackList- , GHCJS.DOM.VoidCallback- , GHCJS.DOM.WaveShaperNode- , GHCJS.DOM.WebGL2RenderingContext- , GHCJS.DOM.WebGLActiveInfo- , GHCJS.DOM.WebGLCompressedTextureATC- , GHCJS.DOM.WebGLCompressedTexturePVRTC- , GHCJS.DOM.WebGLCompressedTextureS3TC- , GHCJS.DOM.WebGLContextEvent- , GHCJS.DOM.WebGLDebugRendererInfo- , GHCJS.DOM.WebGLDebugShaders- , GHCJS.DOM.WebGLDepthTexture- , GHCJS.DOM.WebGLDrawBuffers- , GHCJS.DOM.WebGLLoseContext- , GHCJS.DOM.WebGLRenderingContextBase- , GHCJS.DOM.WebGLShaderPrecisionFormat- , GHCJS.DOM.WebKitAnimationEvent- , GHCJS.DOM.WebKitCSSMatrix- , GHCJS.DOM.WebKitCSSRegionRule- , GHCJS.DOM.WebKitCSSViewportRule- , GHCJS.DOM.WebKitMediaKeyError- , GHCJS.DOM.WebKitMediaKeyMessageEvent- , GHCJS.DOM.WebKitMediaKeyNeededEvent- , GHCJS.DOM.WebKitMediaKeySession- , GHCJS.DOM.WebKitMediaKeys- , GHCJS.DOM.WebKitNamedFlow- , GHCJS.DOM.WebKitNamespace- , GHCJS.DOM.WebKitPlaybackTargetAvailabilityEvent- , GHCJS.DOM.WebKitPoint- , GHCJS.DOM.WebKitSubtleCrypto- , GHCJS.DOM.WebKitTransitionEvent- , GHCJS.DOM.WebSocket- , GHCJS.DOM.WheelEvent- , GHCJS.DOM.Window- , GHCJS.DOM.WindowEventHandlers- , GHCJS.DOM.WindowOrWorkerGlobalScope- , GHCJS.DOM.Worker- , GHCJS.DOM.WorkerGlobalScope- , GHCJS.DOM.WorkerLocation- , GHCJS.DOM.WorkerNavigator- , GHCJS.DOM.WritableStream- , GHCJS.DOM.XMLHttpRequest- , GHCJS.DOM.XMLHttpRequestEventTarget- , GHCJS.DOM.XMLHttpRequestProgressEvent- , GHCJS.DOM.XMLSerializer- , GHCJS.DOM.XPathEvaluator- , GHCJS.DOM.XPathException- , GHCJS.DOM.XPathExpression- , GHCJS.DOM.XPathNSResolver- , GHCJS.DOM.XPathResult- , GHCJS.DOM.XSLTProcessor+cabal-version: 3.6+name: ghcjs-dom+version: 0.10.0.0+build-type: Simple+license: MIT+license-file: LICENSE+extra-doc-files: ChangeLog.md+maintainer: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>+synopsis: DOM library that supports both GHCJS and GHC+description:+ Document Object Model (DOM) functions that work with+ GHCJS, but can also be used with GHC and a Browser.+category: Web+author: Hamish Mackenzie++tested-with:+ GHC == 8.8.1 || == 8.6.5 || == 8.4.4 || == 8.2.2 || == 8.0.2 || == 7.10.3,+ GHCJS == 8.4 || == 8.2++source-repository head+ type: git+ location: https://github.com/ghcjs/ghcjs-dom+ subdir: ghcjs-dom++flag jsffi+ description:+ Use JavaScriptFFI extension for GHCJS JavaScript output+ manual: True++flag debug+ description:+ Enable debug features+ default: False+ manual: True++library+ build-depends: base <5,+ containers >=0.5.7.1 && <0.9,+ transformers >=0.2 && <0.7,+ text >= 0.11.0.6 && < 2.2++ default-language: Haskell2010++ hs-source-dirs: src++ exposed-modules:+ GHCJS.DOM.Debug+ GHCJS.DOM.Debug.Internal+ GHCJS.DOM.Document++ if flag(debug)+ cpp-options: -DGHCJS_DOM_DEBUG++ -- The GHCJS 8 backend (ghcjs-dom-jsffi) stays at 0.9.x; from 0.10 the+ -- JavaScript FFI backend is for GHC's JavaScript backend only.+ if flag(jsffi) && impl(ghc >=9.6.4) && arch(javascript)+ build-depends:+ ghcjs-dom-javascript >=0.10.0.0 && <0.11+ else+ build-depends:+ ghcjs-dom-jsaddle >=0.10.0.0 && <0.11++ reexported-modules: GHCJS.DOM,+ GHCJS.DOM.Types,+ GHCJS.DOM.EventM,+ GHCJS.DOM.EventTargetClosures,+ -- The list below is generated by dom-gen; do not edit.+ GHCJS.DOM.ANGLE_instanced_arrays,+ GHCJS.DOM.ARIAMixin,+ GHCJS.DOM.ARIANotifyMixin,+ GHCJS.DOM.AacEncoderConfig,+ GHCJS.DOM.AbortController,+ GHCJS.DOM.AbortSignal,+ GHCJS.DOM.AbstractRange,+ GHCJS.DOM.AbstractWorker,+ GHCJS.DOM.AddEventListenerOptions,+ GHCJS.DOM.AddressErrors,+ GHCJS.DOM.AllAcceptedCredentialsOptions,+ GHCJS.DOM.AnalyserNode,+ GHCJS.DOM.AnalyserOptions,+ GHCJS.DOM.Animatable,+ GHCJS.DOM.Animation,+ GHCJS.DOM.AnimationEffect,+ GHCJS.DOM.AnimationEvent,+ GHCJS.DOM.AnimationEventInit,+ GHCJS.DOM.AnimationFrameProvider,+ GHCJS.DOM.AnimationPlaybackEvent,+ GHCJS.DOM.AnimationPlaybackEventInit,+ GHCJS.DOM.AnimationTimeline,+ GHCJS.DOM.AnimationTrigger,+ GHCJS.DOM.AriaNotificationOptions,+ GHCJS.DOM.AssignedNodesOptions,+ GHCJS.DOM.Attr,+ GHCJS.DOM.AudioBuffer,+ GHCJS.DOM.AudioBufferOptions,+ GHCJS.DOM.AudioBufferSourceNode,+ GHCJS.DOM.AudioBufferSourceOptions,+ GHCJS.DOM.AudioConfiguration,+ GHCJS.DOM.AudioContext,+ GHCJS.DOM.AudioContextOptions,+ GHCJS.DOM.AudioData,+ GHCJS.DOM.AudioDataCopyToOptions,+ GHCJS.DOM.AudioDataInit,+ GHCJS.DOM.AudioDataOutputCallback,+ GHCJS.DOM.AudioDecoder,+ GHCJS.DOM.AudioDecoderConfig,+ GHCJS.DOM.AudioDecoderInit,+ GHCJS.DOM.AudioDecoderSupport,+ GHCJS.DOM.AudioDestinationNode,+ GHCJS.DOM.AudioEncoder,+ GHCJS.DOM.AudioEncoderConfig,+ GHCJS.DOM.AudioEncoderInit,+ GHCJS.DOM.AudioEncoderSupport,+ GHCJS.DOM.AudioListener,+ GHCJS.DOM.AudioNode,+ GHCJS.DOM.AudioNodeOptions,+ GHCJS.DOM.AudioParam,+ GHCJS.DOM.AudioParamMap,+ GHCJS.DOM.AudioProcessingEvent,+ GHCJS.DOM.AudioProcessingEventInit,+ GHCJS.DOM.AudioScheduledSourceNode,+ GHCJS.DOM.AudioSinkOptions,+ GHCJS.DOM.AudioTimestamp,+ GHCJS.DOM.AudioTrack,+ GHCJS.DOM.AudioTrackList,+ GHCJS.DOM.AudioWorklet,+ GHCJS.DOM.AudioWorkletGlobalScope,+ GHCJS.DOM.AudioWorkletNode,+ GHCJS.DOM.AudioWorkletNodeOptions,+ GHCJS.DOM.AudioWorkletProcessor,+ GHCJS.DOM.AudioWorkletProcessorConstructor,+ GHCJS.DOM.AuthenticationExtensionsClientInputs,+ GHCJS.DOM.AuthenticationExtensionsClientInputsJSON,+ GHCJS.DOM.AuthenticationExtensionsClientOutputs,+ GHCJS.DOM.AuthenticationExtensionsLargeBlobInputs,+ GHCJS.DOM.AuthenticationExtensionsLargeBlobInputsJSON,+ GHCJS.DOM.AuthenticationExtensionsLargeBlobOutputs,+ GHCJS.DOM.AuthenticationExtensionsPRFInputs,+ GHCJS.DOM.AuthenticationExtensionsPRFInputsJSON,+ GHCJS.DOM.AuthenticationExtensionsPRFOutputs,+ GHCJS.DOM.AuthenticationExtensionsPRFValues,+ GHCJS.DOM.AuthenticationExtensionsPRFValuesJSON,+ GHCJS.DOM.AuthenticationExtensionsPaymentInputs,+ GHCJS.DOM.AuthenticationExtensionsPaymentOutputs,+ GHCJS.DOM.AuthenticatorAssertionResponse,+ GHCJS.DOM.AuthenticatorAttestationResponse,+ GHCJS.DOM.AuthenticatorResponse,+ GHCJS.DOM.AuthenticatorSelectionCriteria,+ GHCJS.DOM.AutofillEvent,+ GHCJS.DOM.AvcEncoderConfig,+ GHCJS.DOM.BackgroundBlur,+ GHCJS.DOM.BarProp,+ GHCJS.DOM.BaseAudioContext,+ GHCJS.DOM.BeforeUnloadEvent,+ GHCJS.DOM.BiquadFilterNode,+ GHCJS.DOM.BiquadFilterOptions,+ GHCJS.DOM.Blob,+ GHCJS.DOM.BlobCallback,+ GHCJS.DOM.BlobEvent,+ GHCJS.DOM.BlobEventInit,+ GHCJS.DOM.BlobPropertyBag,+ GHCJS.DOM.Body,+ GHCJS.DOM.BroadcastChannel,+ GHCJS.DOM.BrowserBoundSignature,+ GHCJS.DOM.ByteLengthQueuingStrategy,+ GHCJS.DOM.CDATASection,+ GHCJS.DOM.CSS,+ GHCJS.DOM.CSSAnimation,+ GHCJS.DOM.CSSConditionRule,+ GHCJS.DOM.CSSContainerCondition,+ GHCJS.DOM.CSSContainerRule,+ GHCJS.DOM.CSSCounterStyleRule,+ GHCJS.DOM.CSSFontFaceDescriptors,+ GHCJS.DOM.CSSFontFaceRule,+ GHCJS.DOM.CSSFontFeatureValuesRule,+ GHCJS.DOM.CSSFontPaletteValuesRule,+ GHCJS.DOM.CSSGroupingRule,+ GHCJS.DOM.CSSImageValue,+ GHCJS.DOM.CSSImportRule,+ GHCJS.DOM.CSSKeyframeRule,+ GHCJS.DOM.CSSKeyframesRule,+ GHCJS.DOM.CSSKeywordValue,+ GHCJS.DOM.CSSLayerBlockRule,+ GHCJS.DOM.CSSLayerStatementRule,+ GHCJS.DOM.CSSMathClamp,+ GHCJS.DOM.CSSMathInvert,+ GHCJS.DOM.CSSMathMax,+ GHCJS.DOM.CSSMathMin,+ GHCJS.DOM.CSSMathNegate,+ GHCJS.DOM.CSSMathProduct,+ GHCJS.DOM.CSSMathSum,+ GHCJS.DOM.CSSMathValue,+ GHCJS.DOM.CSSMatrixComponent,+ GHCJS.DOM.CSSMatrixComponentOptions,+ GHCJS.DOM.CSSMediaRule,+ GHCJS.DOM.CSSNamespaceRule,+ GHCJS.DOM.CSSNestedDeclarations,+ GHCJS.DOM.CSSNumericArray,+ GHCJS.DOM.CSSNumericType,+ GHCJS.DOM.CSSNumericValue,+ GHCJS.DOM.CSSPageDescriptors,+ GHCJS.DOM.CSSPageRule,+ GHCJS.DOM.CSSPerspective,+ GHCJS.DOM.CSSPositionTryDescriptors,+ GHCJS.DOM.CSSPositionTryRule,+ GHCJS.DOM.CSSPropertyRule,+ GHCJS.DOM.CSSRotate,+ GHCJS.DOM.CSSRule,+ GHCJS.DOM.CSSRuleList,+ GHCJS.DOM.CSSScale,+ GHCJS.DOM.CSSScopeRule,+ GHCJS.DOM.CSSSkew,+ GHCJS.DOM.CSSSkewX,+ GHCJS.DOM.CSSSkewY,+ GHCJS.DOM.CSSStartingStyleRule,+ GHCJS.DOM.CSSStyleDeclaration,+ GHCJS.DOM.CSSStyleProperties,+ GHCJS.DOM.CSSStyleRule,+ GHCJS.DOM.CSSStyleSheet,+ GHCJS.DOM.CSSStyleSheetInit,+ GHCJS.DOM.CSSStyleValue,+ GHCJS.DOM.CSSSupportsRule,+ GHCJS.DOM.CSSTransformComponent,+ GHCJS.DOM.CSSTransformValue,+ GHCJS.DOM.CSSTransition,+ GHCJS.DOM.CSSTranslate,+ GHCJS.DOM.CSSUnitValue,+ GHCJS.DOM.CSSUnparsedValue,+ GHCJS.DOM.CSSVariableReferenceValue,+ GHCJS.DOM.CSSViewTransitionRule,+ GHCJS.DOM.Cache,+ GHCJS.DOM.CacheQueryOptions,+ GHCJS.DOM.CacheStorage,+ GHCJS.DOM.CanvasCaptureMediaStreamTrack,+ GHCJS.DOM.CanvasCompositing,+ GHCJS.DOM.CanvasDrawImage,+ GHCJS.DOM.CanvasDrawPath,+ GHCJS.DOM.CanvasFillStrokeStyles,+ GHCJS.DOM.CanvasFilters,+ GHCJS.DOM.CanvasGradient,+ GHCJS.DOM.CanvasImageData,+ GHCJS.DOM.CanvasImageSmoothing,+ GHCJS.DOM.CanvasPath,+ GHCJS.DOM.CanvasPathDrawingStyles,+ GHCJS.DOM.CanvasPattern,+ GHCJS.DOM.CanvasRect,+ GHCJS.DOM.CanvasRenderingContext2D,+ GHCJS.DOM.CanvasRenderingContext2DSettings,+ GHCJS.DOM.CanvasSettings,+ GHCJS.DOM.CanvasShadowStyles,+ GHCJS.DOM.CanvasState,+ GHCJS.DOM.CanvasText,+ GHCJS.DOM.CanvasTextDrawingStyles,+ GHCJS.DOM.CanvasTransform,+ GHCJS.DOM.CanvasUserInterface,+ GHCJS.DOM.CaptureController,+ GHCJS.DOM.CaretPosition,+ GHCJS.DOM.CaretPositionFromPointOptions,+ GHCJS.DOM.ChannelMergerNode,+ GHCJS.DOM.ChannelMergerOptions,+ GHCJS.DOM.ChannelSplitterNode,+ GHCJS.DOM.ChannelSplitterOptions,+ GHCJS.DOM.ChapterInformationInit,+ GHCJS.DOM.CharacterData,+ GHCJS.DOM.CheckVisibilityOptions,+ GHCJS.DOM.ChildNode,+ GHCJS.DOM.Client,+ GHCJS.DOM.ClientQueryOptions,+ GHCJS.DOM.Clients,+ GHCJS.DOM.Clipboard,+ GHCJS.DOM.ClipboardChangeEvent,+ GHCJS.DOM.ClipboardEvent,+ GHCJS.DOM.ClipboardEventInit,+ GHCJS.DOM.ClipboardItem,+ GHCJS.DOM.ClipboardItemOptions,+ GHCJS.DOM.ClipboardUnsanitizedFormats,+ GHCJS.DOM.CloseEvent,+ GHCJS.DOM.CloseEventInit,+ GHCJS.DOM.CloseWatcher,+ GHCJS.DOM.CloseWatcherOptions,+ GHCJS.DOM.CommandEvent,+ GHCJS.DOM.CommandEventInit,+ GHCJS.DOM.Comment,+ GHCJS.DOM.CompositionEvent,+ GHCJS.DOM.CompositionEventInit,+ GHCJS.DOM.CompressionStream,+ GHCJS.DOM.ComputedEffectTiming,+ GHCJS.DOM.Console,+ GHCJS.DOM.ConstantSourceNode,+ GHCJS.DOM.ConstantSourceOptions,+ GHCJS.DOM.ConstrainBooleanOrDOMStringParameters,+ GHCJS.DOM.ConstrainBooleanParameters,+ GHCJS.DOM.ConstrainDOMStringParameters,+ GHCJS.DOM.ConstrainDoubleRange,+ GHCJS.DOM.ConstrainPoint2DParameters,+ GHCJS.DOM.ConstrainULongRange,+ GHCJS.DOM.ContactAddress,+ GHCJS.DOM.ContentVisibilityAutoStateChangeEvent,+ GHCJS.DOM.ContentVisibilityAutoStateChangeEventInit,+ GHCJS.DOM.ConvolverNode,+ GHCJS.DOM.ConvolverOptions,+ GHCJS.DOM.CookieChangeEvent,+ GHCJS.DOM.CookieChangeEventInit,+ GHCJS.DOM.CookieInit,+ GHCJS.DOM.CookieListItem,+ GHCJS.DOM.CookieStore,+ GHCJS.DOM.CookieStoreDeleteOptions,+ GHCJS.DOM.CookieStoreGetOptions,+ GHCJS.DOM.CookieStoreManager,+ GHCJS.DOM.CountQueuingStrategy,+ GHCJS.DOM.CreateHTMLCallback,+ GHCJS.DOM.CreateParserOptionsCallback,+ GHCJS.DOM.CreateScriptCallback,+ GHCJS.DOM.CreateScriptURLCallback,+ GHCJS.DOM.Credential,+ GHCJS.DOM.CredentialCreationOptions,+ GHCJS.DOM.CredentialData,+ GHCJS.DOM.CredentialPropertiesOutput,+ GHCJS.DOM.CredentialRequestOptions,+ GHCJS.DOM.CredentialsContainer,+ GHCJS.DOM.Crypto,+ GHCJS.DOM.CryptoKey,+ GHCJS.DOM.CryptoKeyPair,+ GHCJS.DOM.CurrentUserDetailsOptions,+ GHCJS.DOM.CustomElementConstructor,+ GHCJS.DOM.CustomElementRegistry,+ GHCJS.DOM.CustomEvent,+ GHCJS.DOM.CustomEventInit,+ GHCJS.DOM.CustomStateSet,+ GHCJS.DOM.DOMException,+ GHCJS.DOM.DOMImplementation,+ GHCJS.DOM.DOMMatrix,+ GHCJS.DOM.DOMMatrix2DInit,+ GHCJS.DOM.DOMMatrixInit,+ GHCJS.DOM.DOMMatrixReadOnly,+ GHCJS.DOM.DOMParser,+ GHCJS.DOM.DOMPoint,+ GHCJS.DOM.DOMPointInit,+ GHCJS.DOM.DOMPointReadOnly,+ GHCJS.DOM.DOMQuad,+ GHCJS.DOM.DOMQuadInit,+ GHCJS.DOM.DOMRect,+ GHCJS.DOM.DOMRectInit,+ GHCJS.DOM.DOMRectList,+ GHCJS.DOM.DOMRectReadOnly,+ GHCJS.DOM.DOMStringList,+ GHCJS.DOM.DOMStringMap,+ GHCJS.DOM.DOMTokenList,+ GHCJS.DOM.DataCue,+ GHCJS.DOM.DataTransfer,+ GHCJS.DOM.DataTransferItem,+ GHCJS.DOM.DataTransferItemList,+ GHCJS.DOM.DecodeErrorCallback,+ GHCJS.DOM.DecodeSuccessCallback,+ GHCJS.DOM.DecompressionStream,+ GHCJS.DOM.DedicatedWorkerGlobalScope,+ GHCJS.DOM.DelayNode,+ GHCJS.DOM.DelayOptions,+ GHCJS.DOM.DeviceChangeEvent,+ GHCJS.DOM.DeviceMotionEvent,+ GHCJS.DOM.DeviceMotionEventAcceleration,+ GHCJS.DOM.DeviceMotionEventAccelerationInit,+ GHCJS.DOM.DeviceMotionEventInit,+ GHCJS.DOM.DeviceMotionEventRotationRate,+ GHCJS.DOM.DeviceMotionEventRotationRateInit,+ GHCJS.DOM.DeviceOrientationEvent,+ GHCJS.DOM.DeviceOrientationEventInit,+ GHCJS.DOM.DigitalCredential,+ GHCJS.DOM.DigitalCredentialCreateRequest,+ GHCJS.DOM.DigitalCredentialCreationOptions,+ GHCJS.DOM.DigitalCredentialGetRequest,+ GHCJS.DOM.DigitalCredentialRequestOptions,+ GHCJS.DOM.DisplayMediaStreamOptions,+ GHCJS.DOM.DocumentFragment,+ GHCJS.DOM.DocumentOrShadowRoot,+ GHCJS.DOM.DocumentPictureInPicture,+ GHCJS.DOM.DocumentPictureInPictureEvent,+ GHCJS.DOM.DocumentPictureInPictureEventInit,+ GHCJS.DOM.DocumentPictureInPictureOptions,+ GHCJS.DOM.DocumentTimeline,+ GHCJS.DOM.DocumentTimelineOptions,+ GHCJS.DOM.DocumentType,+ GHCJS.DOM.DoubleRange,+ GHCJS.DOM.DragEvent,+ GHCJS.DOM.DragEventInit,+ GHCJS.DOM.DynamicsCompressorNode,+ GHCJS.DOM.DynamicsCompressorOptions,+ GHCJS.DOM.EXT_blend_minmax,+ GHCJS.DOM.EXT_clip_control,+ GHCJS.DOM.EXT_color_buffer_float,+ GHCJS.DOM.EXT_color_buffer_half_float,+ GHCJS.DOM.EXT_float_blend,+ GHCJS.DOM.EXT_frag_depth,+ GHCJS.DOM.EXT_polygon_offset_clamp,+ GHCJS.DOM.EXT_sRGB,+ GHCJS.DOM.EXT_shader_texture_lod,+ GHCJS.DOM.EXT_texture_compression_bptc,+ GHCJS.DOM.EXT_texture_compression_rgtc,+ GHCJS.DOM.EXT_texture_filter_anisotropic,+ GHCJS.DOM.EXT_texture_mirror_clamp_to_edge,+ GHCJS.DOM.EXT_texture_norm16,+ GHCJS.DOM.EffectTiming,+ GHCJS.DOM.Element,+ GHCJS.DOM.ElementCSSInlineStyle,+ GHCJS.DOM.ElementContentEditable,+ GHCJS.DOM.ElementCreationOptions,+ GHCJS.DOM.ElementDefinitionOptions,+ GHCJS.DOM.ElementInternals,+ GHCJS.DOM.EncodedAudioChunk,+ GHCJS.DOM.EncodedAudioChunkInit,+ GHCJS.DOM.EncodedAudioChunkMetadata,+ GHCJS.DOM.EncodedAudioChunkOutputCallback,+ GHCJS.DOM.EncodedVideoChunk,+ GHCJS.DOM.EncodedVideoChunkInit,+ GHCJS.DOM.EncodedVideoChunkMetadata,+ GHCJS.DOM.EncodedVideoChunkOutputCallback,+ GHCJS.DOM.Enums,+ GHCJS.DOM.ErrorCallback,+ GHCJS.DOM.ErrorEvent,+ GHCJS.DOM.ErrorEventInit,+ GHCJS.DOM.Event,+ GHCJS.DOM.EventCounts,+ GHCJS.DOM.EventInit,+ GHCJS.DOM.EventListenerOptions,+ GHCJS.DOM.EventModifierInit,+ GHCJS.DOM.EventSource,+ GHCJS.DOM.EventSourceInit,+ GHCJS.DOM.EventTarget,+ GHCJS.DOM.ExtendableCookieChangeEvent,+ GHCJS.DOM.ExtendableCookieChangeEventInit,+ GHCJS.DOM.ExtendableEvent,+ GHCJS.DOM.ExtendableEventInit,+ GHCJS.DOM.ExtendableMessageEvent,+ GHCJS.DOM.ExtendableMessageEventInit,+ GHCJS.DOM.External,+ GHCJS.DOM.FederatedCredentialInit,+ GHCJS.DOM.FederatedCredentialRequestOptions,+ GHCJS.DOM.FetchEvent,+ GHCJS.DOM.FetchEventInit,+ GHCJS.DOM.File,+ GHCJS.DOM.FileCallback,+ GHCJS.DOM.FileList,+ GHCJS.DOM.FilePropertyBag,+ GHCJS.DOM.FileReader,+ GHCJS.DOM.FileReaderSync,+ GHCJS.DOM.FileSystem,+ GHCJS.DOM.FileSystemCreateWritableOptions,+ GHCJS.DOM.FileSystemDirectoryEntry,+ GHCJS.DOM.FileSystemDirectoryHandle,+ GHCJS.DOM.FileSystemDirectoryReader,+ GHCJS.DOM.FileSystemEntriesCallback,+ GHCJS.DOM.FileSystemEntry,+ GHCJS.DOM.FileSystemEntryCallback,+ GHCJS.DOM.FileSystemFileEntry,+ GHCJS.DOM.FileSystemFileHandle,+ GHCJS.DOM.FileSystemFlags,+ GHCJS.DOM.FileSystemGetDirectoryOptions,+ GHCJS.DOM.FileSystemGetFileOptions,+ GHCJS.DOM.FileSystemHandle,+ GHCJS.DOM.FileSystemReadWriteOptions,+ GHCJS.DOM.FileSystemRemoveOptions,+ GHCJS.DOM.FileSystemSyncAccessHandle,+ GHCJS.DOM.FileSystemWritableFileStream,+ GHCJS.DOM.FlacEncoderConfig,+ GHCJS.DOM.FocusEvent,+ GHCJS.DOM.FocusEventInit,+ GHCJS.DOM.FocusOptions,+ GHCJS.DOM.FontFace,+ GHCJS.DOM.FontFaceDescriptors,+ GHCJS.DOM.FontFaceSet,+ GHCJS.DOM.FontFaceSetLoadEvent,+ GHCJS.DOM.FontFaceSetLoadEventInit,+ GHCJS.DOM.FontFaceSource,+ GHCJS.DOM.FormData,+ GHCJS.DOM.FormDataEvent,+ GHCJS.DOM.FormDataEventInit,+ GHCJS.DOM.FragmentDirective,+ GHCJS.DOM.FrameRequestCallback,+ GHCJS.DOM.FullscreenOptions,+ GHCJS.DOM.FunctionStringCallback,+ GHCJS.DOM.GPU,+ GHCJS.DOM.GPUAdapter,+ GHCJS.DOM.GPUAdapterInfo,+ GHCJS.DOM.GPUBindGroup,+ GHCJS.DOM.GPUBindGroupDescriptor,+ GHCJS.DOM.GPUBindGroupEntry,+ GHCJS.DOM.GPUBindGroupLayout,+ GHCJS.DOM.GPUBindGroupLayoutDescriptor,+ GHCJS.DOM.GPUBindGroupLayoutEntry,+ GHCJS.DOM.GPUBindingCommandsMixin,+ GHCJS.DOM.GPUBlendComponent,+ GHCJS.DOM.GPUBlendState,+ GHCJS.DOM.GPUBuffer,+ GHCJS.DOM.GPUBufferBinding,+ GHCJS.DOM.GPUBufferBindingLayout,+ GHCJS.DOM.GPUBufferDescriptor,+ GHCJS.DOM.GPUCanvasConfiguration,+ GHCJS.DOM.GPUCanvasContext,+ GHCJS.DOM.GPUCanvasToneMapping,+ GHCJS.DOM.GPUColorDict,+ GHCJS.DOM.GPUColorTargetState,+ GHCJS.DOM.GPUCommandBuffer,+ GHCJS.DOM.GPUCommandBufferDescriptor,+ GHCJS.DOM.GPUCommandEncoder,+ GHCJS.DOM.GPUCommandEncoderDescriptor,+ GHCJS.DOM.GPUCompilationInfo,+ GHCJS.DOM.GPUCompilationMessage,+ GHCJS.DOM.GPUComputePassDescriptor,+ GHCJS.DOM.GPUComputePassEncoder,+ GHCJS.DOM.GPUComputePassTimestampWrites,+ GHCJS.DOM.GPUComputePipeline,+ GHCJS.DOM.GPUComputePipelineDescriptor,+ GHCJS.DOM.GPUCopyExternalImageDestInfo,+ GHCJS.DOM.GPUCopyExternalImageSourceInfo,+ GHCJS.DOM.GPUDebugCommandsMixin,+ GHCJS.DOM.GPUDepthStencilState,+ GHCJS.DOM.GPUDevice,+ GHCJS.DOM.GPUDeviceDescriptor,+ GHCJS.DOM.GPUDeviceLostInfo,+ GHCJS.DOM.GPUError,+ GHCJS.DOM.GPUExtent3DDict,+ GHCJS.DOM.GPUExternalTexture,+ GHCJS.DOM.GPUExternalTextureBindingLayout,+ GHCJS.DOM.GPUExternalTextureDescriptor,+ GHCJS.DOM.GPUFragmentState,+ GHCJS.DOM.GPUInternalError,+ GHCJS.DOM.GPUMultisampleState,+ GHCJS.DOM.GPUObjectBase,+ GHCJS.DOM.GPUObjectDescriptorBase,+ GHCJS.DOM.GPUOrigin2DDict,+ GHCJS.DOM.GPUOrigin3DDict,+ GHCJS.DOM.GPUOutOfMemoryError,+ GHCJS.DOM.GPUPipelineBase,+ GHCJS.DOM.GPUPipelineDescriptorBase,+ GHCJS.DOM.GPUPipelineError,+ GHCJS.DOM.GPUPipelineErrorInit,+ GHCJS.DOM.GPUPipelineLayout,+ GHCJS.DOM.GPUPipelineLayoutDescriptor,+ GHCJS.DOM.GPUPrimitiveState,+ GHCJS.DOM.GPUProgrammableStage,+ GHCJS.DOM.GPUQuerySet,+ GHCJS.DOM.GPUQuerySetDescriptor,+ GHCJS.DOM.GPUQueue,+ GHCJS.DOM.GPUQueueDescriptor,+ GHCJS.DOM.GPURenderBundle,+ GHCJS.DOM.GPURenderBundleDescriptor,+ GHCJS.DOM.GPURenderBundleEncoder,+ GHCJS.DOM.GPURenderBundleEncoderDescriptor,+ GHCJS.DOM.GPURenderCommandsMixin,+ GHCJS.DOM.GPURenderPassColorAttachment,+ GHCJS.DOM.GPURenderPassDepthStencilAttachment,+ GHCJS.DOM.GPURenderPassDescriptor,+ GHCJS.DOM.GPURenderPassEncoder,+ GHCJS.DOM.GPURenderPassLayout,+ GHCJS.DOM.GPURenderPassTimestampWrites,+ GHCJS.DOM.GPURenderPipeline,+ GHCJS.DOM.GPURenderPipelineDescriptor,+ GHCJS.DOM.GPURequestAdapterOptions,+ GHCJS.DOM.GPUSampler,+ GHCJS.DOM.GPUSamplerBindingLayout,+ GHCJS.DOM.GPUSamplerDescriptor,+ GHCJS.DOM.GPUShaderModule,+ GHCJS.DOM.GPUShaderModuleCompilationHint,+ GHCJS.DOM.GPUShaderModuleDescriptor,+ GHCJS.DOM.GPUStencilFaceState,+ GHCJS.DOM.GPUStorageTextureBindingLayout,+ GHCJS.DOM.GPUSupportedFeatures,+ GHCJS.DOM.GPUSupportedLimits,+ GHCJS.DOM.GPUTexelCopyBufferInfo,+ GHCJS.DOM.GPUTexelCopyBufferLayout,+ GHCJS.DOM.GPUTexelCopyTextureInfo,+ GHCJS.DOM.GPUTexture,+ GHCJS.DOM.GPUTextureBindingLayout,+ GHCJS.DOM.GPUTextureDescriptor,+ GHCJS.DOM.GPUTextureView,+ GHCJS.DOM.GPUTextureViewDescriptor,+ GHCJS.DOM.GPUUncapturedErrorEvent,+ GHCJS.DOM.GPUUncapturedErrorEventInit,+ GHCJS.DOM.GPUValidationError,+ GHCJS.DOM.GPUVertexAttribute,+ GHCJS.DOM.GPUVertexBufferLayout,+ GHCJS.DOM.GPUVertexState,+ GHCJS.DOM.GainNode,+ GHCJS.DOM.GainOptions,+ GHCJS.DOM.Gamepad,+ GHCJS.DOM.GamepadButton,+ GHCJS.DOM.GamepadEffectParameters,+ GHCJS.DOM.GamepadEvent,+ GHCJS.DOM.GamepadEventInit,+ GHCJS.DOM.GamepadHapticActuator,+ GHCJS.DOM.GenericTransformStream,+ GHCJS.DOM.Geolocation,+ GHCJS.DOM.GeolocationCoordinates,+ GHCJS.DOM.GeolocationPosition,+ GHCJS.DOM.GeolocationPositionError,+ GHCJS.DOM.GetAnimationsOptions,+ GHCJS.DOM.GetComposedRangesOptions,+ GHCJS.DOM.GetHTMLOptions,+ GHCJS.DOM.GetNotificationOptions,+ GHCJS.DOM.GetRootNodeOptions,+ GHCJS.DOM.GlobalEventHandlers,+ GHCJS.DOM.HMACGetSecretInput,+ GHCJS.DOM.HMACGetSecretOutput,+ GHCJS.DOM.HTMLAllCollection,+ GHCJS.DOM.HTMLAnchorElement,+ GHCJS.DOM.HTMLAreaElement,+ GHCJS.DOM.HTMLAudioElement,+ GHCJS.DOM.HTMLBRElement,+ GHCJS.DOM.HTMLBaseElement,+ GHCJS.DOM.HTMLBodyElement,+ GHCJS.DOM.HTMLButtonElement,+ GHCJS.DOM.HTMLCanvasElement,+ GHCJS.DOM.HTMLCollection,+ GHCJS.DOM.HTMLDListElement,+ GHCJS.DOM.HTMLDataElement,+ GHCJS.DOM.HTMLDataListElement,+ GHCJS.DOM.HTMLDetailsElement,+ GHCJS.DOM.HTMLDialogElement,+ GHCJS.DOM.HTMLDirectoryElement,+ GHCJS.DOM.HTMLDivElement,+ GHCJS.DOM.HTMLElement,+ GHCJS.DOM.HTMLEmbedElement,+ GHCJS.DOM.HTMLFieldSetElement,+ GHCJS.DOM.HTMLFontElement,+ GHCJS.DOM.HTMLFormControlsCollection,+ GHCJS.DOM.HTMLFormElement,+ GHCJS.DOM.HTMLFrameElement,+ GHCJS.DOM.HTMLFrameSetElement,+ GHCJS.DOM.HTMLHRElement,+ GHCJS.DOM.HTMLHeadElement,+ GHCJS.DOM.HTMLHeadingElement,+ GHCJS.DOM.HTMLHtmlElement,+ GHCJS.DOM.HTMLHyperlinkElementUtils,+ GHCJS.DOM.HTMLIFrameElement,+ GHCJS.DOM.HTMLImageElement,+ GHCJS.DOM.HTMLInputElement,+ GHCJS.DOM.HTMLLIElement,+ GHCJS.DOM.HTMLLabelElement,+ GHCJS.DOM.HTMLLegendElement,+ GHCJS.DOM.HTMLLinkElement,+ GHCJS.DOM.HTMLMapElement,+ GHCJS.DOM.HTMLMarqueeElement,+ GHCJS.DOM.HTMLMediaElement,+ GHCJS.DOM.HTMLMenuElement,+ GHCJS.DOM.HTMLMetaElement,+ GHCJS.DOM.HTMLMeterElement,+ GHCJS.DOM.HTMLModElement,+ GHCJS.DOM.HTMLOListElement,+ GHCJS.DOM.HTMLObjectElement,+ GHCJS.DOM.HTMLOptGroupElement,+ GHCJS.DOM.HTMLOptionElement,+ GHCJS.DOM.HTMLOptionsCollection,+ GHCJS.DOM.HTMLOrSVGOrMathMLElement,+ GHCJS.DOM.HTMLOutputElement,+ GHCJS.DOM.HTMLParagraphElement,+ GHCJS.DOM.HTMLParamElement,+ GHCJS.DOM.HTMLPictureElement,+ GHCJS.DOM.HTMLPreElement,+ GHCJS.DOM.HTMLProgressElement,+ GHCJS.DOM.HTMLQuoteElement,+ GHCJS.DOM.HTMLScriptElement,+ GHCJS.DOM.HTMLSelectElement,+ GHCJS.DOM.HTMLSelectedContentElement,+ GHCJS.DOM.HTMLSlotElement,+ GHCJS.DOM.HTMLSourceElement,+ GHCJS.DOM.HTMLSpanElement,+ GHCJS.DOM.HTMLStyleElement,+ GHCJS.DOM.HTMLTableCaptionElement,+ GHCJS.DOM.HTMLTableCellElement,+ GHCJS.DOM.HTMLTableColElement,+ GHCJS.DOM.HTMLTableElement,+ GHCJS.DOM.HTMLTableRowElement,+ GHCJS.DOM.HTMLTableSectionElement,+ GHCJS.DOM.HTMLTemplateElement,+ GHCJS.DOM.HTMLTextAreaElement,+ GHCJS.DOM.HTMLTimeElement,+ GHCJS.DOM.HTMLTitleElement,+ GHCJS.DOM.HTMLTrackElement,+ GHCJS.DOM.HTMLUListElement,+ GHCJS.DOM.HTMLUnknownElement,+ GHCJS.DOM.HTMLVideoElement,+ GHCJS.DOM.HashChangeEvent,+ GHCJS.DOM.HashChangeEventInit,+ GHCJS.DOM.Headers,+ GHCJS.DOM.HevcEncoderConfig,+ GHCJS.DOM.Highlight,+ GHCJS.DOM.HighlightHitResult,+ GHCJS.DOM.HighlightRegistry,+ GHCJS.DOM.HighlightsFromPointOptions,+ GHCJS.DOM.History,+ GHCJS.DOM.HyperlinkElementUtils,+ GHCJS.DOM.IDBCursor,+ GHCJS.DOM.IDBCursorWithValue,+ GHCJS.DOM.IDBDatabase,+ GHCJS.DOM.IDBDatabaseInfo,+ GHCJS.DOM.IDBFactory,+ GHCJS.DOM.IDBGetAllOptions,+ GHCJS.DOM.IDBIndex,+ GHCJS.DOM.IDBIndexParameters,+ GHCJS.DOM.IDBKeyRange,+ GHCJS.DOM.IDBObjectStore,+ GHCJS.DOM.IDBObjectStoreParameters,+ GHCJS.DOM.IDBOpenDBRequest,+ GHCJS.DOM.IDBRecord,+ GHCJS.DOM.IDBRequest,+ GHCJS.DOM.IDBTransaction,+ GHCJS.DOM.IDBTransactionOptions,+ GHCJS.DOM.IDBVersionChangeEvent,+ GHCJS.DOM.IDBVersionChangeEventInit,+ GHCJS.DOM.IIRFilterNode,+ GHCJS.DOM.IIRFilterOptions,+ GHCJS.DOM.IdentityCredentialRequestOptions,+ GHCJS.DOM.IdentityProviderConfig,+ GHCJS.DOM.IdentityProviderRequestOptions,+ GHCJS.DOM.IdleDeadline,+ GHCJS.DOM.IdleRequestCallback,+ GHCJS.DOM.IdleRequestOptions,+ GHCJS.DOM.ImageBitmap,+ GHCJS.DOM.ImageBitmapRenderingContext,+ GHCJS.DOM.ImageCapture,+ GHCJS.DOM.ImageData,+ GHCJS.DOM.ImageDataSettings,+ GHCJS.DOM.ImageDecodeOptions,+ GHCJS.DOM.ImageDecodeResult,+ GHCJS.DOM.ImageDecoder,+ GHCJS.DOM.ImageDecoderInit,+ GHCJS.DOM.ImageEncodeOptions,+ GHCJS.DOM.ImageTrack,+ GHCJS.DOM.ImageTrackList,+ GHCJS.DOM.ImportNodeOptions,+ GHCJS.DOM.InputDeviceCapabilities,+ GHCJS.DOM.InputDeviceInfo,+ GHCJS.DOM.InputEvent,+ GHCJS.DOM.InputEventInit,+ GHCJS.DOM.InstallEvent,+ GHCJS.DOM.IntersectionObserver,+ GHCJS.DOM.IntersectionObserverCallback,+ GHCJS.DOM.IntersectionObserverEntry,+ GHCJS.DOM.IntersectionObserverEntryInit,+ GHCJS.DOM.IntersectionObserverInit,+ GHCJS.DOM.JsonWebKey,+ GHCJS.DOM.KHR_parallel_shader_compile,+ GHCJS.DOM.KeySystemTrackConfiguration,+ GHCJS.DOM.KeyboardEvent,+ GHCJS.DOM.KeyboardEventInit,+ GHCJS.DOM.KeyframeAnimationOptions,+ GHCJS.DOM.KeyframeEffect,+ GHCJS.DOM.KeyframeEffectOptions,+ GHCJS.DOM.LargestContentfulPaint,+ GHCJS.DOM.LinkStyle,+ GHCJS.DOM.Location,+ GHCJS.DOM.Lock,+ GHCJS.DOM.LockGrantedCallback,+ GHCJS.DOM.LockInfo,+ GHCJS.DOM.LockManager,+ GHCJS.DOM.LockManagerSnapshot,+ GHCJS.DOM.LockOptions,+ GHCJS.DOM.MIDIAccess,+ GHCJS.DOM.MIDIConnectionEvent,+ GHCJS.DOM.MIDIConnectionEventInit,+ GHCJS.DOM.MIDIInput,+ GHCJS.DOM.MIDIInputMap,+ GHCJS.DOM.MIDIMessageEvent,+ GHCJS.DOM.MIDIMessageEventInit,+ GHCJS.DOM.MIDIOptions,+ GHCJS.DOM.MIDIOutput,+ GHCJS.DOM.MIDIOutputMap,+ GHCJS.DOM.MIDIPort,+ GHCJS.DOM.MathMLElement,+ GHCJS.DOM.MediaCapabilities,+ GHCJS.DOM.MediaCapabilitiesDecodingInfo,+ GHCJS.DOM.MediaCapabilitiesEncodingInfo,+ GHCJS.DOM.MediaCapabilitiesInfo,+ GHCJS.DOM.MediaCapabilitiesKeySystemConfiguration,+ GHCJS.DOM.MediaConfiguration,+ GHCJS.DOM.MediaDecodingConfiguration,+ GHCJS.DOM.MediaDeviceInfo,+ GHCJS.DOM.MediaDevices,+ GHCJS.DOM.MediaEffectInfo,+ GHCJS.DOM.MediaElementAudioSourceNode,+ GHCJS.DOM.MediaElementAudioSourceOptions,+ GHCJS.DOM.MediaEncodingConfiguration,+ GHCJS.DOM.MediaEncryptedEvent,+ GHCJS.DOM.MediaEncryptedEventInit,+ GHCJS.DOM.MediaError,+ GHCJS.DOM.MediaImage,+ GHCJS.DOM.MediaKeyMessageEvent,+ GHCJS.DOM.MediaKeyMessageEventInit,+ GHCJS.DOM.MediaKeySession,+ GHCJS.DOM.MediaKeyStatusMap,+ GHCJS.DOM.MediaKeySystemAccess,+ GHCJS.DOM.MediaKeySystemConfiguration,+ GHCJS.DOM.MediaKeySystemMediaCapability,+ GHCJS.DOM.MediaKeys,+ GHCJS.DOM.MediaKeysPolicy,+ GHCJS.DOM.MediaList,+ GHCJS.DOM.MediaMetadata,+ GHCJS.DOM.MediaMetadataInit,+ GHCJS.DOM.MediaPositionState,+ GHCJS.DOM.MediaQueryList,+ GHCJS.DOM.MediaQueryListEvent,+ GHCJS.DOM.MediaQueryListEventInit,+ GHCJS.DOM.MediaRecorder,+ GHCJS.DOM.MediaRecorderOptions,+ GHCJS.DOM.MediaSession,+ GHCJS.DOM.MediaSessionActionDetails,+ GHCJS.DOM.MediaSessionActionHandler,+ GHCJS.DOM.MediaSettingsRange,+ GHCJS.DOM.MediaSource,+ GHCJS.DOM.MediaSourceHandle,+ GHCJS.DOM.MediaStream,+ GHCJS.DOM.MediaStreamAudioDestinationNode,+ GHCJS.DOM.MediaStreamAudioSourceNode,+ GHCJS.DOM.MediaStreamAudioSourceOptions,+ GHCJS.DOM.MediaStreamConstraints,+ GHCJS.DOM.MediaStreamTrack,+ GHCJS.DOM.MediaStreamTrackEvent,+ GHCJS.DOM.MediaStreamTrackEventInit,+ GHCJS.DOM.MediaStreamTrackHandle,+ GHCJS.DOM.MediaStreamTrackProcessor,+ GHCJS.DOM.MediaStreamTrackProcessorInit,+ GHCJS.DOM.MediaTrackCapabilities,+ GHCJS.DOM.MediaTrackConstraintSet,+ GHCJS.DOM.MediaTrackConstraints,+ GHCJS.DOM.MediaTrackSettings,+ GHCJS.DOM.MediaTrackSupportedConstraints,+ GHCJS.DOM.MessageChannel,+ GHCJS.DOM.MessageEvent,+ GHCJS.DOM.MessageEventInit,+ GHCJS.DOM.MessageEventTarget,+ GHCJS.DOM.MessagePort,+ GHCJS.DOM.MimeType,+ GHCJS.DOM.MimeTypeArray,+ GHCJS.DOM.MouseEvent,+ GHCJS.DOM.MouseEventInit,+ GHCJS.DOM.MultiCacheQueryOptions,+ GHCJS.DOM.MutationCallback,+ GHCJS.DOM.MutationObserver,+ GHCJS.DOM.MutationObserverInit,+ GHCJS.DOM.MutationRecord,+ GHCJS.DOM.NamedNodeMap,+ GHCJS.DOM.NavigateEvent,+ GHCJS.DOM.NavigateEventInit,+ GHCJS.DOM.Navigation,+ GHCJS.DOM.NavigationActivation,+ GHCJS.DOM.NavigationCurrentEntryChangeEvent,+ GHCJS.DOM.NavigationCurrentEntryChangeEventInit,+ GHCJS.DOM.NavigationDestination,+ GHCJS.DOM.NavigationEvent,+ GHCJS.DOM.NavigationHistoryEntry,+ GHCJS.DOM.NavigationInterceptHandler,+ GHCJS.DOM.NavigationInterceptOptions,+ GHCJS.DOM.NavigationNavigateOptions,+ GHCJS.DOM.NavigationOptions,+ GHCJS.DOM.NavigationPrecommitController,+ GHCJS.DOM.NavigationPrecommitHandler,+ GHCJS.DOM.NavigationPreloadManager,+ GHCJS.DOM.NavigationPreloadState,+ GHCJS.DOM.NavigationReloadOptions,+ GHCJS.DOM.NavigationResult,+ GHCJS.DOM.NavigationTransition,+ GHCJS.DOM.NavigationUpdateCurrentEntryOptions,+ GHCJS.DOM.Navigator,+ GHCJS.DOM.NavigatorAutomationInformation,+ GHCJS.DOM.NavigatorBadge,+ GHCJS.DOM.NavigatorConcurrentHardware,+ GHCJS.DOM.NavigatorContentUtils,+ GHCJS.DOM.NavigatorCookies,+ GHCJS.DOM.NavigatorGPU,+ GHCJS.DOM.NavigatorID,+ GHCJS.DOM.NavigatorLanguage,+ GHCJS.DOM.NavigatorLocks,+ GHCJS.DOM.NavigatorLogin,+ GHCJS.DOM.NavigatorOnLine,+ GHCJS.DOM.NavigatorPlugins,+ GHCJS.DOM.NavigatorStorage,+ GHCJS.DOM.Node,+ GHCJS.DOM.NodeFilter,+ GHCJS.DOM.NodeIterator,+ GHCJS.DOM.NodeList,+ GHCJS.DOM.NonDocumentTypeChildNode,+ GHCJS.DOM.NonElementParentNode,+ GHCJS.DOM.Notification,+ GHCJS.DOM.NotificationAction,+ GHCJS.DOM.NotificationEvent,+ GHCJS.DOM.NotificationEventInit,+ GHCJS.DOM.NotificationOptions,+ GHCJS.DOM.NotificationPermissionCallback,+ GHCJS.DOM.OES_draw_buffers_indexed,+ GHCJS.DOM.OES_element_index_uint,+ GHCJS.DOM.OES_fbo_render_mipmap,+ GHCJS.DOM.OES_standard_derivatives,+ GHCJS.DOM.OES_texture_float,+ GHCJS.DOM.OES_texture_float_linear,+ GHCJS.DOM.OES_texture_half_float,+ GHCJS.DOM.OES_texture_half_float_linear,+ GHCJS.DOM.OES_vertex_array_object,+ GHCJS.DOM.OTPCredentialRequestOptions,+ GHCJS.DOM.OVR_multiview2,+ GHCJS.DOM.OfflineAudioCompletionEvent,+ GHCJS.DOM.OfflineAudioCompletionEventInit,+ GHCJS.DOM.OfflineAudioContext,+ GHCJS.DOM.OfflineAudioContextOptions,+ GHCJS.DOM.OffscreenCanvas,+ GHCJS.DOM.OffscreenCanvasRenderingContext2D,+ GHCJS.DOM.OptionalEffectTiming,+ GHCJS.DOM.OpusEncoderConfig,+ GHCJS.DOM.Origin,+ GHCJS.DOM.OscillatorNode,+ GHCJS.DOM.OscillatorOptions,+ GHCJS.DOM.OverconstrainedError,+ GHCJS.DOM.PageRevealEvent,+ GHCJS.DOM.PageRevealEventInit,+ GHCJS.DOM.PageSwapEvent,+ GHCJS.DOM.PageSwapEventInit,+ GHCJS.DOM.PageTransitionEvent,+ GHCJS.DOM.PageTransitionEventInit,+ GHCJS.DOM.PaintTimingMixin,+ GHCJS.DOM.PannerNode,+ GHCJS.DOM.PannerOptions,+ GHCJS.DOM.ParentNode,+ GHCJS.DOM.ParseHTMLUnsafeOptions,+ GHCJS.DOM.PasswordCredential,+ GHCJS.DOM.PasswordCredentialData,+ GHCJS.DOM.Path2D,+ GHCJS.DOM.PayerErrors,+ GHCJS.DOM.PaymentCompleteDetails,+ GHCJS.DOM.PaymentCredentialInstrument,+ GHCJS.DOM.PaymentCurrencyAmount,+ GHCJS.DOM.PaymentDetailsBase,+ GHCJS.DOM.PaymentDetailsInit,+ GHCJS.DOM.PaymentDetailsModifier,+ GHCJS.DOM.PaymentDetailsUpdate,+ GHCJS.DOM.PaymentEntityLogo,+ GHCJS.DOM.PaymentItem,+ GHCJS.DOM.PaymentMethodChangeEvent,+ GHCJS.DOM.PaymentMethodChangeEventInit,+ GHCJS.DOM.PaymentMethodData,+ GHCJS.DOM.PaymentOptions,+ GHCJS.DOM.PaymentRequest,+ GHCJS.DOM.PaymentRequestUpdateEvent,+ GHCJS.DOM.PaymentRequestUpdateEventInit,+ GHCJS.DOM.PaymentResponse,+ GHCJS.DOM.PaymentShippingOption,+ GHCJS.DOM.PaymentValidationErrors,+ GHCJS.DOM.Performance,+ GHCJS.DOM.PerformanceEntry,+ GHCJS.DOM.PerformanceEventTiming,+ GHCJS.DOM.PerformanceMark,+ GHCJS.DOM.PerformanceMarkOptions,+ GHCJS.DOM.PerformanceMeasure,+ GHCJS.DOM.PerformanceMeasureOptions,+ GHCJS.DOM.PerformanceNavigation,+ GHCJS.DOM.PerformanceNavigationTiming,+ GHCJS.DOM.PerformanceObserver,+ GHCJS.DOM.PerformanceObserverCallback,+ GHCJS.DOM.PerformanceObserverCallbackOptions,+ GHCJS.DOM.PerformanceObserverEntryList,+ GHCJS.DOM.PerformanceObserverInit,+ GHCJS.DOM.PerformancePaintTiming,+ GHCJS.DOM.PerformanceResourceTiming,+ GHCJS.DOM.PerformanceServerTiming,+ GHCJS.DOM.PerformanceTiming,+ GHCJS.DOM.PeriodicWave,+ GHCJS.DOM.PeriodicWaveConstraints,+ GHCJS.DOM.PeriodicWaveOptions,+ GHCJS.DOM.PermissionStatus,+ GHCJS.DOM.Permissions,+ GHCJS.DOM.PhotoCapabilities,+ GHCJS.DOM.PhotoSettings,+ GHCJS.DOM.PictureInPictureEvent,+ GHCJS.DOM.PictureInPictureEventInit,+ GHCJS.DOM.PictureInPictureWindow,+ GHCJS.DOM.PlaneLayout,+ GHCJS.DOM.Plugin,+ GHCJS.DOM.PluginArray,+ GHCJS.DOM.Point2D,+ GHCJS.DOM.PointerEvent,+ GHCJS.DOM.PointerEventInit,+ GHCJS.DOM.PointerLockOptions,+ GHCJS.DOM.PopStateEvent,+ GHCJS.DOM.PopStateEventInit,+ GHCJS.DOM.PopoverTargetAttributes,+ GHCJS.DOM.PositionCallback,+ GHCJS.DOM.PositionErrorCallback,+ GHCJS.DOM.PositionOptions,+ GHCJS.DOM.PrivateToken,+ GHCJS.DOM.ProcessingInstruction,+ GHCJS.DOM.ProgressEvent,+ GHCJS.DOM.ProgressEventInit,+ GHCJS.DOM.PromiseRejectionEvent,+ GHCJS.DOM.PromiseRejectionEventInit,+ GHCJS.DOM.PropertyDefinition,+ GHCJS.DOM.PublicKeyCredential,+ GHCJS.DOM.PublicKeyCredentialCreationOptions,+ GHCJS.DOM.PublicKeyCredentialCreationOptionsJSON,+ GHCJS.DOM.PublicKeyCredentialDescriptor,+ GHCJS.DOM.PublicKeyCredentialDescriptorJSON,+ GHCJS.DOM.PublicKeyCredentialEntity,+ GHCJS.DOM.PublicKeyCredentialParameters,+ GHCJS.DOM.PublicKeyCredentialRequestOptions,+ GHCJS.DOM.PublicKeyCredentialRequestOptionsJSON,+ GHCJS.DOM.PublicKeyCredentialRpEntity,+ GHCJS.DOM.PublicKeyCredentialUserEntity,+ GHCJS.DOM.PublicKeyCredentialUserEntityJSON,+ GHCJS.DOM.PushEvent,+ GHCJS.DOM.PushEventInit,+ GHCJS.DOM.PushManager,+ GHCJS.DOM.PushManagerAttribute,+ GHCJS.DOM.PushMessageData,+ GHCJS.DOM.PushSubscription,+ GHCJS.DOM.PushSubscriptionChangeEvent,+ GHCJS.DOM.PushSubscriptionChangeEventInit,+ GHCJS.DOM.PushSubscriptionJSON,+ GHCJS.DOM.PushSubscriptionKeys,+ GHCJS.DOM.PushSubscriptionOptions,+ GHCJS.DOM.PushSubscriptionOptionsInit,+ GHCJS.DOM.QueuingStrategy,+ GHCJS.DOM.QueuingStrategyInit,+ GHCJS.DOM.QueuingStrategySize,+ GHCJS.DOM.RTCAnswerOptions,+ GHCJS.DOM.RTCCertificate,+ GHCJS.DOM.RTCConfiguration,+ GHCJS.DOM.RTCDTMFSender,+ GHCJS.DOM.RTCDTMFToneChangeEvent,+ GHCJS.DOM.RTCDTMFToneChangeEventInit,+ GHCJS.DOM.RTCDataChannel,+ GHCJS.DOM.RTCDataChannelEvent,+ GHCJS.DOM.RTCDataChannelEventInit,+ GHCJS.DOM.RTCDataChannelInit,+ GHCJS.DOM.RTCDtlsFingerprint,+ GHCJS.DOM.RTCDtlsTransport,+ GHCJS.DOM.RTCEncodedAudioFrame,+ GHCJS.DOM.RTCEncodedAudioFrameMetadata,+ GHCJS.DOM.RTCEncodedAudioFrameOptions,+ GHCJS.DOM.RTCEncodedFrameMetadata,+ GHCJS.DOM.RTCEncodedVideoFrame,+ GHCJS.DOM.RTCEncodedVideoFrameMetadata,+ GHCJS.DOM.RTCEncodedVideoFrameOptions,+ GHCJS.DOM.RTCError,+ GHCJS.DOM.RTCErrorEvent,+ GHCJS.DOM.RTCErrorEventInit,+ GHCJS.DOM.RTCErrorInit,+ GHCJS.DOM.RTCIceCandidate,+ GHCJS.DOM.RTCIceCandidateInit,+ GHCJS.DOM.RTCIceCandidatePair,+ GHCJS.DOM.RTCIceServer,+ GHCJS.DOM.RTCIceTransport,+ GHCJS.DOM.RTCLocalIceCandidateInit,+ GHCJS.DOM.RTCLocalSessionDescriptionInit,+ GHCJS.DOM.RTCOfferAnswerOptions,+ GHCJS.DOM.RTCOfferOptions,+ GHCJS.DOM.RTCPeerConnection,+ GHCJS.DOM.RTCPeerConnectionErrorCallback,+ GHCJS.DOM.RTCPeerConnectionIceErrorEvent,+ GHCJS.DOM.RTCPeerConnectionIceErrorEventInit,+ GHCJS.DOM.RTCPeerConnectionIceEvent,+ GHCJS.DOM.RTCPeerConnectionIceEventInit,+ GHCJS.DOM.RTCRtcpParameters,+ GHCJS.DOM.RTCRtpCapabilities,+ GHCJS.DOM.RTCRtpCodec,+ GHCJS.DOM.RTCRtpCodecParameters,+ GHCJS.DOM.RTCRtpCodingParameters,+ GHCJS.DOM.RTCRtpContributingSource,+ GHCJS.DOM.RTCRtpEncodingParameters,+ GHCJS.DOM.RTCRtpHeaderExtensionCapability,+ GHCJS.DOM.RTCRtpHeaderExtensionParameters,+ GHCJS.DOM.RTCRtpParameters,+ GHCJS.DOM.RTCRtpReceiveParameters,+ GHCJS.DOM.RTCRtpReceiver,+ GHCJS.DOM.RTCRtpSFrameDecryptor,+ GHCJS.DOM.RTCRtpSFrameEncryptor,+ GHCJS.DOM.RTCRtpScriptTransform,+ GHCJS.DOM.RTCRtpScriptTransformer,+ GHCJS.DOM.RTCRtpSendParameters,+ GHCJS.DOM.RTCRtpSender,+ GHCJS.DOM.RTCRtpSynchronizationSource,+ GHCJS.DOM.RTCRtpTransceiver,+ GHCJS.DOM.RTCRtpTransceiverInit,+ GHCJS.DOM.RTCSctpTransport,+ GHCJS.DOM.RTCSessionDescription,+ GHCJS.DOM.RTCSessionDescriptionCallback,+ GHCJS.DOM.RTCSessionDescriptionInit,+ GHCJS.DOM.RTCSetParameterOptions,+ GHCJS.DOM.RTCStatsReport,+ GHCJS.DOM.RTCTrackEvent,+ GHCJS.DOM.RTCTrackEventInit,+ GHCJS.DOM.RTCTransformEvent,+ GHCJS.DOM.RadioNodeList,+ GHCJS.DOM.Range,+ GHCJS.DOM.ReadableByteStreamController,+ GHCJS.DOM.ReadableStream,+ GHCJS.DOM.ReadableStreamBYOBReader,+ GHCJS.DOM.ReadableStreamBYOBReaderReadOptions,+ GHCJS.DOM.ReadableStreamBYOBRequest,+ GHCJS.DOM.ReadableStreamDefaultController,+ GHCJS.DOM.ReadableStreamDefaultReader,+ GHCJS.DOM.ReadableStreamGenericReader,+ GHCJS.DOM.ReadableStreamGetReaderOptions,+ GHCJS.DOM.ReadableStreamReadResult,+ GHCJS.DOM.ReadableWritablePair,+ GHCJS.DOM.RegistrationOptions,+ GHCJS.DOM.RemotePlayback,+ GHCJS.DOM.RemotePlaybackAvailabilityCallback,+ GHCJS.DOM.Report,+ GHCJS.DOM.ReportBody,+ GHCJS.DOM.ReportingObserver,+ GHCJS.DOM.ReportingObserverCallback,+ GHCJS.DOM.ReportingObserverOptions,+ GHCJS.DOM.Request,+ GHCJS.DOM.RequestInit,+ GHCJS.DOM.ResizeObserver,+ GHCJS.DOM.ResizeObserverCallback,+ GHCJS.DOM.ResizeObserverEntry,+ GHCJS.DOM.ResizeObserverOptions,+ GHCJS.DOM.ResizeObserverSize,+ GHCJS.DOM.Response,+ GHCJS.DOM.ResponseInit,+ GHCJS.DOM.RouterCondition,+ GHCJS.DOM.RouterRule,+ GHCJS.DOM.RouterSourceDict,+ GHCJS.DOM.RsaOtherPrimesInfo,+ GHCJS.DOM.SVGAElement,+ GHCJS.DOM.SVGAngle,+ GHCJS.DOM.SVGAnimateElement,+ GHCJS.DOM.SVGAnimateMotionElement,+ GHCJS.DOM.SVGAnimateTransformElement,+ GHCJS.DOM.SVGAnimatedAngle,+ GHCJS.DOM.SVGAnimatedBoolean,+ GHCJS.DOM.SVGAnimatedEnumeration,+ GHCJS.DOM.SVGAnimatedInteger,+ GHCJS.DOM.SVGAnimatedLength,+ GHCJS.DOM.SVGAnimatedLengthList,+ GHCJS.DOM.SVGAnimatedNumber,+ GHCJS.DOM.SVGAnimatedNumberList,+ GHCJS.DOM.SVGAnimatedPoints,+ GHCJS.DOM.SVGAnimatedPreserveAspectRatio,+ GHCJS.DOM.SVGAnimatedRect,+ GHCJS.DOM.SVGAnimatedString,+ GHCJS.DOM.SVGAnimatedTransformList,+ GHCJS.DOM.SVGAnimationElement,+ GHCJS.DOM.SVGBoundingBoxOptions,+ GHCJS.DOM.SVGCircleElement,+ GHCJS.DOM.SVGClipPathElement,+ GHCJS.DOM.SVGComponentTransferFunctionElement,+ GHCJS.DOM.SVGDefsElement,+ GHCJS.DOM.SVGDescElement,+ GHCJS.DOM.SVGElement,+ GHCJS.DOM.SVGEllipseElement,+ GHCJS.DOM.SVGFEBlendElement,+ GHCJS.DOM.SVGFEColorMatrixElement,+ GHCJS.DOM.SVGFEComponentTransferElement,+ GHCJS.DOM.SVGFECompositeElement,+ GHCJS.DOM.SVGFEConvolveMatrixElement,+ GHCJS.DOM.SVGFEDiffuseLightingElement,+ GHCJS.DOM.SVGFEDisplacementMapElement,+ GHCJS.DOM.SVGFEDistantLightElement,+ GHCJS.DOM.SVGFEDropShadowElement,+ GHCJS.DOM.SVGFEFloodElement,+ GHCJS.DOM.SVGFEFuncAElement,+ GHCJS.DOM.SVGFEFuncBElement,+ GHCJS.DOM.SVGFEFuncGElement,+ GHCJS.DOM.SVGFEFuncRElement,+ GHCJS.DOM.SVGFEGaussianBlurElement,+ GHCJS.DOM.SVGFEImageElement,+ GHCJS.DOM.SVGFEMergeElement,+ GHCJS.DOM.SVGFEMergeNodeElement,+ GHCJS.DOM.SVGFEMorphologyElement,+ GHCJS.DOM.SVGFEOffsetElement,+ GHCJS.DOM.SVGFEPointLightElement,+ GHCJS.DOM.SVGFESpecularLightingElement,+ GHCJS.DOM.SVGFESpotLightElement,+ GHCJS.DOM.SVGFETileElement,+ GHCJS.DOM.SVGFETurbulenceElement,+ GHCJS.DOM.SVGFilterElement,+ GHCJS.DOM.SVGFilterPrimitiveStandardAttributes,+ GHCJS.DOM.SVGFitToViewBox,+ GHCJS.DOM.SVGForeignObjectElement,+ GHCJS.DOM.SVGGElement,+ GHCJS.DOM.SVGGeometryElement,+ GHCJS.DOM.SVGGradientElement,+ GHCJS.DOM.SVGGraphicsElement,+ GHCJS.DOM.SVGImageElement,+ GHCJS.DOM.SVGLength,+ GHCJS.DOM.SVGLengthList,+ GHCJS.DOM.SVGLineElement,+ GHCJS.DOM.SVGLinearGradientElement,+ GHCJS.DOM.SVGMPathElement,+ GHCJS.DOM.SVGMarkerElement,+ GHCJS.DOM.SVGMaskElement,+ GHCJS.DOM.SVGMetadataElement,+ GHCJS.DOM.SVGNumber,+ GHCJS.DOM.SVGNumberList,+ GHCJS.DOM.SVGPathElement,+ GHCJS.DOM.SVGPatternElement,+ GHCJS.DOM.SVGPointList,+ GHCJS.DOM.SVGPolygonElement,+ GHCJS.DOM.SVGPolylineElement,+ GHCJS.DOM.SVGPreserveAspectRatio,+ GHCJS.DOM.SVGRadialGradientElement,+ GHCJS.DOM.SVGRectElement,+ GHCJS.DOM.SVGSVGElement,+ GHCJS.DOM.SVGScriptElement,+ GHCJS.DOM.SVGSetElement,+ GHCJS.DOM.SVGStopElement,+ GHCJS.DOM.SVGStringList,+ GHCJS.DOM.SVGStyleElement,+ GHCJS.DOM.SVGSwitchElement,+ GHCJS.DOM.SVGSymbolElement,+ GHCJS.DOM.SVGTSpanElement,+ GHCJS.DOM.SVGTests,+ GHCJS.DOM.SVGTextContentElement,+ GHCJS.DOM.SVGTextElement,+ GHCJS.DOM.SVGTextPathElement,+ GHCJS.DOM.SVGTextPositioningElement,+ GHCJS.DOM.SVGTitleElement,+ GHCJS.DOM.SVGTransform,+ GHCJS.DOM.SVGTransformList,+ GHCJS.DOM.SVGURIReference,+ GHCJS.DOM.SVGUnitTypes,+ GHCJS.DOM.SVGUseElement,+ GHCJS.DOM.SVGViewElement,+ GHCJS.DOM.Sanitizer,+ GHCJS.DOM.SanitizerAttributeNamespace,+ GHCJS.DOM.SanitizerConfig,+ GHCJS.DOM.SanitizerElementNamespace,+ GHCJS.DOM.SanitizerElementNamespaceWithAttributes,+ GHCJS.DOM.SanitizerProcessingInstruction,+ GHCJS.DOM.Scheduler,+ GHCJS.DOM.SchedulerPostTaskCallback,+ GHCJS.DOM.SchedulerPostTaskOptions,+ GHCJS.DOM.Screen,+ GHCJS.DOM.ScreenDetailed,+ GHCJS.DOM.ScreenOrientation,+ GHCJS.DOM.ScriptProcessorNode,+ GHCJS.DOM.ScrollIntoViewOptions,+ GHCJS.DOM.ScrollOptions,+ GHCJS.DOM.ScrollResult,+ GHCJS.DOM.ScrollTimeline,+ GHCJS.DOM.ScrollTimelineOptions,+ GHCJS.DOM.ScrollToOptions,+ GHCJS.DOM.SecurityPolicyViolationEvent,+ GHCJS.DOM.SecurityPolicyViolationEventInit,+ GHCJS.DOM.Segment,+ GHCJS.DOM.Selection,+ GHCJS.DOM.Serial,+ GHCJS.DOM.SerialInputSignals,+ GHCJS.DOM.SerialOptions,+ GHCJS.DOM.SerialOutputSignals,+ GHCJS.DOM.SerialPort,+ GHCJS.DOM.SerialPortFilter,+ GHCJS.DOM.SerialPortInfo,+ GHCJS.DOM.SerialPortRequestOptions,+ GHCJS.DOM.ServiceWorker,+ GHCJS.DOM.ServiceWorkerContainer,+ GHCJS.DOM.ServiceWorkerGlobalScope,+ GHCJS.DOM.ServiceWorkerRegistration,+ GHCJS.DOM.SetHTMLOptions,+ GHCJS.DOM.SetHTMLUnsafeOptions,+ GHCJS.DOM.ShadowRoot,+ GHCJS.DOM.ShadowRootInit,+ GHCJS.DOM.ShareData,+ GHCJS.DOM.SharedWorker,+ GHCJS.DOM.SharedWorkerGlobalScope,+ GHCJS.DOM.SharedWorkerOptions,+ GHCJS.DOM.ShowPopoverOptions,+ GHCJS.DOM.Slottable,+ GHCJS.DOM.SourceBuffer,+ GHCJS.DOM.SourceBufferList,+ GHCJS.DOM.SpeechGrammar,+ GHCJS.DOM.SpeechGrammarList,+ GHCJS.DOM.SpeechRecognition,+ GHCJS.DOM.SpeechRecognitionAlternative,+ GHCJS.DOM.SpeechRecognitionErrorEvent,+ GHCJS.DOM.SpeechRecognitionErrorEventInit,+ GHCJS.DOM.SpeechRecognitionEvent,+ GHCJS.DOM.SpeechRecognitionEventInit,+ GHCJS.DOM.SpeechRecognitionOptions,+ GHCJS.DOM.SpeechRecognitionPhrase,+ GHCJS.DOM.SpeechRecognitionResult,+ GHCJS.DOM.SpeechRecognitionResultList,+ GHCJS.DOM.SpeechSynthesis,+ GHCJS.DOM.SpeechSynthesisErrorEvent,+ GHCJS.DOM.SpeechSynthesisErrorEventInit,+ GHCJS.DOM.SpeechSynthesisEvent,+ GHCJS.DOM.SpeechSynthesisEventInit,+ GHCJS.DOM.SpeechSynthesisUtterance,+ GHCJS.DOM.SpeechSynthesisVoice,+ GHCJS.DOM.StartViewTransitionOptions,+ GHCJS.DOM.StaticRange,+ GHCJS.DOM.StaticRangeInit,+ GHCJS.DOM.StereoPannerNode,+ GHCJS.DOM.StereoPannerOptions,+ GHCJS.DOM.Storage,+ GHCJS.DOM.StorageEstimate,+ GHCJS.DOM.StorageEvent,+ GHCJS.DOM.StorageEventInit,+ GHCJS.DOM.StorageManager,+ GHCJS.DOM.StreamPipeOptions,+ GHCJS.DOM.StructuredSerializeOptions,+ GHCJS.DOM.StylePropertyMap,+ GHCJS.DOM.StylePropertyMapReadOnly,+ GHCJS.DOM.StyleSheet,+ GHCJS.DOM.StyleSheetList,+ GHCJS.DOM.SubmitEvent,+ GHCJS.DOM.SubmitEventInit,+ GHCJS.DOM.SubtleCrypto,+ GHCJS.DOM.SvcOutputMetadata,+ GHCJS.DOM.TaskController,+ GHCJS.DOM.TaskControllerInit,+ GHCJS.DOM.TaskPriorityChangeEvent,+ GHCJS.DOM.TaskPriorityChangeEventInit,+ GHCJS.DOM.TaskSignal,+ GHCJS.DOM.TaskSignalAnyInit,+ GHCJS.DOM.Text,+ GHCJS.DOM.TextDecodeOptions,+ GHCJS.DOM.TextDecoder,+ GHCJS.DOM.TextDecoderCommon,+ GHCJS.DOM.TextDecoderOptions,+ GHCJS.DOM.TextDecoderStream,+ GHCJS.DOM.TextEncoder,+ GHCJS.DOM.TextEncoderCommon,+ GHCJS.DOM.TextEncoderEncodeIntoResult,+ GHCJS.DOM.TextEncoderStream,+ GHCJS.DOM.TextEvent,+ GHCJS.DOM.TextMetrics,+ GHCJS.DOM.TextTrack,+ GHCJS.DOM.TextTrackCue,+ GHCJS.DOM.TextTrackCueList,+ GHCJS.DOM.TextTrackList,+ GHCJS.DOM.TimeRanges,+ GHCJS.DOM.TimelineRangeOffset,+ GHCJS.DOM.ToggleEvent,+ GHCJS.DOM.ToggleEventInit,+ GHCJS.DOM.TogglePopoverOptions,+ GHCJS.DOM.Touch,+ GHCJS.DOM.TouchEvent,+ GHCJS.DOM.TouchEventInit,+ GHCJS.DOM.TouchInit,+ GHCJS.DOM.TouchList,+ GHCJS.DOM.TrackEvent,+ GHCJS.DOM.TrackEventInit,+ GHCJS.DOM.TransformStream,+ GHCJS.DOM.TransformStreamDefaultController,+ GHCJS.DOM.TransitionEvent,+ GHCJS.DOM.TransitionEventInit,+ GHCJS.DOM.TreeWalker,+ GHCJS.DOM.TrustedHTML,+ GHCJS.DOM.TrustedHTMLParserOptions,+ GHCJS.DOM.TrustedScript,+ GHCJS.DOM.TrustedScriptURL,+ GHCJS.DOM.TrustedTypePolicy,+ GHCJS.DOM.TrustedTypePolicyFactory,+ GHCJS.DOM.TrustedTypePolicyOptions,+ GHCJS.DOM.UIEvent,+ GHCJS.DOM.UIEventInit,+ GHCJS.DOM.ULongRange,+ GHCJS.DOM.URL,+ GHCJS.DOM.URLPattern,+ GHCJS.DOM.URLPatternComponentResult,+ GHCJS.DOM.URLPatternInit,+ GHCJS.DOM.URLPatternOptions,+ GHCJS.DOM.URLPatternResult,+ GHCJS.DOM.URLSearchParams,+ GHCJS.DOM.UnknownCredentialOptions,+ GHCJS.DOM.UserActivation,+ GHCJS.DOM.VTTCue,+ GHCJS.DOM.VTTRegion,+ GHCJS.DOM.ValidityState,+ GHCJS.DOM.ValidityStateFlags,+ GHCJS.DOM.VideoColorSpace,+ GHCJS.DOM.VideoColorSpaceInit,+ GHCJS.DOM.VideoConfiguration,+ GHCJS.DOM.VideoDecoder,+ GHCJS.DOM.VideoDecoderConfig,+ GHCJS.DOM.VideoDecoderInit,+ GHCJS.DOM.VideoDecoderSupport,+ GHCJS.DOM.VideoEncoder,+ GHCJS.DOM.VideoEncoderConfig,+ GHCJS.DOM.VideoEncoderEncodeOptions,+ GHCJS.DOM.VideoEncoderEncodeOptionsForAv1,+ GHCJS.DOM.VideoEncoderEncodeOptionsForAvc,+ GHCJS.DOM.VideoEncoderEncodeOptionsForHevc,+ GHCJS.DOM.VideoEncoderEncodeOptionsForVp9,+ GHCJS.DOM.VideoEncoderInit,+ GHCJS.DOM.VideoEncoderSupport,+ GHCJS.DOM.VideoFrame,+ GHCJS.DOM.VideoFrameBufferInit,+ GHCJS.DOM.VideoFrameCallbackMetadata,+ GHCJS.DOM.VideoFrameCopyToOptions,+ GHCJS.DOM.VideoFrameInit,+ GHCJS.DOM.VideoFrameMetadata,+ GHCJS.DOM.VideoFrameOutputCallback,+ GHCJS.DOM.VideoFrameRequestCallback,+ GHCJS.DOM.VideoPlaybackQuality,+ GHCJS.DOM.VideoTrack,+ GHCJS.DOM.VideoTrackList,+ GHCJS.DOM.ViewTimeline,+ GHCJS.DOM.ViewTimelineOptions,+ GHCJS.DOM.ViewTransition,+ GHCJS.DOM.ViewTransitionTypeSet,+ GHCJS.DOM.ViewTransitionUpdateCallback,+ GHCJS.DOM.VisualViewport,+ GHCJS.DOM.VoidFunction,+ GHCJS.DOM.WEBGL_color_buffer_float,+ GHCJS.DOM.WEBGL_compressed_texture_astc,+ GHCJS.DOM.WEBGL_compressed_texture_etc,+ GHCJS.DOM.WEBGL_compressed_texture_etc1,+ GHCJS.DOM.WEBGL_compressed_texture_pvrtc,+ GHCJS.DOM.WEBGL_compressed_texture_s3tc,+ GHCJS.DOM.WEBGL_compressed_texture_s3tc_srgb,+ GHCJS.DOM.WEBGL_debug_renderer_info,+ GHCJS.DOM.WEBGL_debug_shaders,+ GHCJS.DOM.WEBGL_depth_texture,+ GHCJS.DOM.WEBGL_draw_buffers,+ GHCJS.DOM.WEBGL_lose_context,+ GHCJS.DOM.WEBGL_multi_draw,+ GHCJS.DOM.WGSLLanguageFeatures,+ GHCJS.DOM.WakeLock,+ GHCJS.DOM.WakeLockSentinel,+ GHCJS.DOM.WaveShaperNode,+ GHCJS.DOM.WaveShaperOptions,+ GHCJS.DOM.WebCodecsErrorCallback,+ GHCJS.DOM.WebGL2RenderingContext,+ GHCJS.DOM.WebGL2RenderingContextBase,+ GHCJS.DOM.WebGL2RenderingContextOverloads,+ GHCJS.DOM.WebGLActiveInfo,+ GHCJS.DOM.WebGLBuffer,+ GHCJS.DOM.WebGLContextAttributes,+ GHCJS.DOM.WebGLContextEvent,+ GHCJS.DOM.WebGLContextEventInit,+ GHCJS.DOM.WebGLFramebuffer,+ GHCJS.DOM.WebGLObject,+ GHCJS.DOM.WebGLProgram,+ GHCJS.DOM.WebGLQuery,+ GHCJS.DOM.WebGLRenderbuffer,+ GHCJS.DOM.WebGLRenderingContext,+ GHCJS.DOM.WebGLRenderingContextBase,+ GHCJS.DOM.WebGLRenderingContextOverloads,+ GHCJS.DOM.WebGLSampler,+ GHCJS.DOM.WebGLShader,+ GHCJS.DOM.WebGLShaderPrecisionFormat,+ GHCJS.DOM.WebGLSync,+ GHCJS.DOM.WebGLTexture,+ GHCJS.DOM.WebGLTransformFeedback,+ GHCJS.DOM.WebGLUniformLocation,+ GHCJS.DOM.WebGLVertexArrayObject,+ GHCJS.DOM.WebGLVertexArrayObjectOES,+ GHCJS.DOM.WebSocket,+ GHCJS.DOM.WebTransport,+ GHCJS.DOM.WebTransportBidirectionalStream,+ GHCJS.DOM.WebTransportCloseInfo,+ GHCJS.DOM.WebTransportConnectionStats,+ GHCJS.DOM.WebTransportDatagramDuplexStream,+ GHCJS.DOM.WebTransportDatagramStats,+ GHCJS.DOM.WebTransportDatagramsWritable,+ GHCJS.DOM.WebTransportError,+ GHCJS.DOM.WebTransportErrorOptions,+ GHCJS.DOM.WebTransportHash,+ GHCJS.DOM.WebTransportOptions,+ GHCJS.DOM.WebTransportReceiveStream,+ GHCJS.DOM.WebTransportReceiveStreamStats,+ GHCJS.DOM.WebTransportSendGroup,+ GHCJS.DOM.WebTransportSendOptions,+ GHCJS.DOM.WebTransportSendStream,+ GHCJS.DOM.WebTransportSendStreamOptions,+ GHCJS.DOM.WebTransportSendStreamStats,+ GHCJS.DOM.WebTransportWriter,+ GHCJS.DOM.WheelEvent,+ GHCJS.DOM.WheelEventInit,+ GHCJS.DOM.Window,+ GHCJS.DOM.WindowClient,+ GHCJS.DOM.WindowEventHandlers,+ GHCJS.DOM.WindowLocalStorage,+ GHCJS.DOM.WindowOrWorkerGlobalScope,+ GHCJS.DOM.WindowPostMessageOptions,+ GHCJS.DOM.WindowSessionStorage,+ GHCJS.DOM.Worker,+ GHCJS.DOM.WorkerAndParameters,+ GHCJS.DOM.WorkerGlobalScope,+ GHCJS.DOM.WorkerLocation,+ GHCJS.DOM.WorkerNavigator,+ GHCJS.DOM.WorkerOptions,+ GHCJS.DOM.Worklet,+ GHCJS.DOM.WorkletGlobalScope,+ GHCJS.DOM.WorkletOptions,+ GHCJS.DOM.WritableStream,+ GHCJS.DOM.WritableStreamDefaultController,+ GHCJS.DOM.WritableStreamDefaultWriter,+ GHCJS.DOM.WriteParams,+ GHCJS.DOM.XMLDocument,+ GHCJS.DOM.XMLHttpRequest,+ GHCJS.DOM.XMLHttpRequestEventTarget,+ GHCJS.DOM.XMLHttpRequestUpload,+ GHCJS.DOM.XMLSerializer,+ GHCJS.DOM.XPathEvaluator,+ GHCJS.DOM.XPathEvaluatorBase,+ GHCJS.DOM.XPathExpression,+ GHCJS.DOM.XPathNSResolver,+ GHCJS.DOM.XPathResult,+ GHCJS.DOM.XSLTProcessor
+ src/GHCJS/DOM/Debug.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+module GHCJS.DOM.Debug (+ DomHasCallStack+ , debugEnabled+ , getElementStack+ , addDebugMenu+ , addDebugMenu'+) where++import Control.Arrow (Arrow(..))+import Control.Monad.IO.Class (MonadIO(..))++import Data.Char (toLower)+import Data.Foldable (forM_)+import Data.Monoid ((<>))++import System.IO (stderr, hPutStrLn)++import GHC.Stack+ (srcLocStartLine, srcLocFile, SrcLoc(..), HasCallStack)+import GHC.Exts (Constraint)++import GHCJS.DOM (currentDocumentUnchecked)+import GHCJS.DOM.Types+ (HTMLDivElement(..), HTMLStyleElement(..), uncheckedCastTo,+ HTMLUListElement(..), PointerEvent(..), Document(..), Element(..),+ HTMLAnchorElement(..), MonadJSM, JSM, liftJSM, JSString)+import GHCJS.DOM.Debug.Internal (DomHasCallStack, getElementStack, debugEnabled)+import GHCJS.DOM.Document+ (createTextNode, getBodyUnchecked,+ getElementsByTagName, createElement, elementFromPoint)+import GHCJS.DOM.Element+ (getTagName, setAttribute, getAttribute, setInnerHTML)+import GHCJS.DOM.EventM+ (addListener, uiPageXY, mouseClientXY, mouseShiftKey, target,+ newListener, on, preventDefault)+import GHCJS.DOM.EventTargetClosures (SaferEventListener(..))+import GHCJS.DOM.GlobalEventHandlers (click, contextMenu)+import GHCJS.DOM.HTMLCollection (itemUnchecked)+import GHCJS.DOM.HTMLStyleElement (setType)+import GHCJS.DOM.Node (getParentElement, appendChild_)+import GHCJS.DOM.NonElementParentNode (getElementById)++addDebugMenu :: MonadJSM m => m (JSM ())+addDebugMenu = addDebugMenu' (const Nothing)++addDebugMenu' :: MonadJSM m => (SrcLoc -> Maybe String) -> m (JSM ())+addDebugMenu' getSourceLink = liftJSM $ do+ let menuId = "ghcjs-dom-debug" :: JSString+ doc <- currentDocumentUnchecked+ style <- uncheckedCastTo HTMLStyleElement <$> createElement doc ("style" :: JSString)+ setType style ("text/css" :: JSString)+ setInnerHTML style $ mconcat [+ "#", menuId, ", #", menuId, " ul ul{"+ , " display: block;"+ , " position: absolute;"+ , " box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);"+ , " padding: 2px;"+ , " z-index:1000;"+ , " margin: 0;"+ , " list-style-type: none;"+ , " list-style: none;"+ , " background-color:#fff;"+ , " color:#000;"+ , "}\n"+ , "#", menuId, " ul{"+ , " list-style-type: none;"+ , " margin: 0;"+ , " padding: 2px;"+ , " cursor: pointer;"+ , "}\n"+ , "#", menuId, " li{"+ , " white-space: nowrap;"+ , "}\n"+ , "#", menuId, " ul ul{"+ , " display: none;"+ , "}\n"+ , "#", menuId, ">li:hover{"+ , " background-color:#ddd;"+ , "}\n"+ , "#", menuId, " li:hover ul{"+ , " display: inline-block;"+ , " position: absolute;"+ , " z-index:1001;"+ , "}\n"+ ]+ getElementsByTagName doc ("head" :: JSString) >>= (`itemUnchecked` 0) >>= (`appendChild_` style)+ body <- getBodyUnchecked doc+ clickListener <- newListener $ do+ target >>= \case+ Just (t :: HTMLAnchorElement) ->+ getAttribute t ("hs-srcloc" :: JSString)+ >>= mapM_ (liftIO . hPutStrLn stderr . ("OPEN " <>))+ Nothing -> return ()+ getElementById doc menuId >>= mapM_+ (\e -> setAttribute e ("style" :: JSString) ("display: none;" :: JSString))+ on doc contextMenu $ mouseShiftKey >>= \case+ True -> ((fromIntegral *** fromIntegral) <$> mouseClientXY) >>= uncurry (elementFromPoint doc) >>= \case+ Just e -> do+ preventDefault+ menu <- getElementById doc menuId >>= \case+ Just menu -> setInnerHTML menu ("" :: JSString) >> return (uncheckedCastTo HTMLDivElement menu)+ Nothing -> do+ menu <- uncheckedCastTo HTMLDivElement <$> createElement doc ("div" :: JSString)+ setAttribute menu ("id" :: JSString) menuId+ appendChild_ body menu+ return menu++ if debugEnabled+ then do+ ul <- uncheckedCastTo HTMLUListElement <$> createElement doc ("ul" :: JSString)+ appendChild_ menu ul+ addMenu doc clickListener ul e+ else do+ a <- uncheckedCastTo HTMLAnchorElement <$> createElement doc ("a" :: JSString)+ appendChild_ menu a+ createTextNode doc ("The ghcjs-dom debug cabal flag is switched off" :: JSString)+ >>= appendChild_ a+ setAttribute a ("href" :: JSString)+ ("https://github.com/ghcjs/ghcjs-dom/blob/master/README.md#debug" :: JSString)+ setAttribute a ("target" :: JSString) ("_blank" :: JSString)+ liftJSM $ addListener a click clickListener False++ (pageX, pageY) <- uiPageXY+ setAttribute menu ("style" :: JSString) ("display: block; left: " <> show pageX <> "px; top:" <> show pageY <> "px;" )+ Nothing -> return ()+ False -> return ()++ where+ addMenu :: MonadJSM m => Document -> SaferEventListener HTMLAnchorElement PointerEvent -> HTMLUListElement -> Element -> m ()+ addMenu doc clickListener parentMenu = loop+ where+ loop e = do+ getElementStack e >>= mapM_ (addElementMenu doc clickListener parentMenu e)+ getParentElement e >>= mapM_ loop++ addElementMenu+ :: MonadJSM m+ => Document+ -> SaferEventListener HTMLAnchorElement PointerEvent+ -> HTMLUListElement+ -> Element+ -> [(String, SrcLoc)]+ -> m ()+ addElementMenu doc clickListener parentMenu e cs = do+ tagName <- map toLower <$> getTagName e+ parentLi <- createElement doc ("li" :: JSString)+ appendChild_ parentMenu parentLi+ createTextNode doc tagName >>= appendChild_ parentLi+ ul <- createElement doc ("ul" :: JSString)+ appendChild_ parentLi ul+ forM_ (reverse cs) $ \(f, loc) -> do+ li <- createElement doc ("li" :: JSString)+ appendChild_ ul li+ a <- uncheckedCastTo HTMLAnchorElement <$> createElement doc ("a" :: JSString)+ appendChild_ li a+ createTextNode doc (f <> " " <> srcLocFile loc <> ":" <> show (srcLocStartLine loc))+ >>= appendChild_ a+ forM_ (getSourceLink loc) $ \link -> do+ setAttribute a ("href" :: JSString) link+ setAttribute a ("target" :: JSString) ("_blank" :: JSString)+ setAttribute a ("hs-srcloc" :: JSString) $ prettySrcLoc loc+ liftJSM $ addListener a click clickListener False++ prettySrcLoc :: SrcLoc -> String+ prettySrcLoc SrcLoc {..} = mconcat+ [ srcLocFile , ":("+ , show srcLocStartLine, ","+ , show srcLocStartCol , ")-("+ , show srcLocEndLine , ","+ , show srcLocEndCol , ") in "+ , srcLocPackage, ":", srcLocModule+ ]+
+ src/GHCJS/DOM/Debug/Internal.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE KindSignatures #-}+module GHCJS.DOM.Debug.Internal (+ DomHasCallStack+ , debugEnabled+ , cachedStacks+ , cacheStack+ , lookupStack+ , getElementStack+) where++import Control.Monad (void)+import Control.Monad.IO.Class (MonadIO, liftIO)+import Data.Map (Map)+import qualified Data.Map as M (insert, size, lookup)+import Data.IORef (atomicModifyIORef', IORef, newIORef, readIORef)+import GHC.Stack+ (SrcLoc, CallStack, callStack, getCallStack, HasCallStack)+import GHC.Exts (Constraint)+import System.IO.Unsafe (unsafePerformIO)+import Text.Read (readMaybe)++import GHCJS.DOM.Types (Element(..), MonadDOM, ToJSString, JSString)+import GHCJS.DOM.Element (setAttribute, getAttribute)++#ifdef GHCJS_DOM_DEBUG++type DomHasCallStack = (HasCallStack :: Constraint)+debugEnabled :: Bool+debugEnabled = True++#else++type DomHasCallStack = (() :: Constraint)++debugEnabled :: Bool+debugEnabled = False++#endif++cachedStacks :: IORef (Map String Int, Map Int [(String, SrcLoc)])+cachedStacks = unsafePerformIO $ newIORef (mempty, mempty)+{-# NOINLINE cachedStacks #-}++lookupStack :: MonadIO m => Int -> m (Maybe [(String, SrcLoc)])+lookupStack n = do+ (_, intToStack) <- liftIO $ readIORef cachedStacks+ return $ M.lookup n intToStack++getElementStack :: MonadDOM m => Element -> m (Maybe [(String, SrcLoc)])+getElementStack e =+ getAttribute e ("hs-creator" :: JSString) >>= \case+ Just a -> case readMaybe a of+ Just n -> lookupStack n+ Nothing -> return Nothing+ Nothing -> return Nothing++cacheStack :: MonadIO m => [(String, SrcLoc)] -> m Int+cacheStack cs = do+ let csString = show cs+ liftIO $ atomicModifyIORef' cachedStacks $ \(stackToInt, intToStack) ->+ case M.lookup csString stackToInt of+ Just n -> ((stackToInt, intToStack), n)+ Nothing ->+ let n = M.size stackToInt in+ ((M.insert csString n stackToInt, M.insert n cs intToStack), n)++
+ src/GHCJS/DOM/Document.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE PackageImports #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ConstraintKinds #-}+module GHCJS.DOM.Document (+ module Export+ , createElement+ , createElement_+ , createElementNS+ , createElementNS_+) where++#ifdef GHCJS_DOM_DEBUG++import Control.Monad (void)+import Control.Monad.IO.Class (MonadIO, liftIO)+import Data.IORef (atomicModifyIORef', IORef, newIORef, readIORef)+import GHC.Stack+ (SrcLoc, CallStack, callStack, getCallStack, HasCallStack)+import System.IO.Unsafe (unsafePerformIO)+import Text.Read (readMaybe)++import GHCJS.DOM.Types (Element(..), MonadDOM, ToJSString, JSString)+import GHCJS.DOM.Debug.Internal (cacheStack)+import GHCJS.DOM.Element (setAttribute, getAttribute)+#ifdef MIN_VERSION_ghcjs_dom_javascript+import qualified "ghcjs-dom-javascript" GHCJS.DOM.Document as Raw (createElement, createElement_, createElementNS, createElementNS_)+import "ghcjs-dom-javascript" GHCJS.DOM.Document as Export hiding (createElement, createElement_, createElementNS, createElementNS_)+#else+#ifdef MIN_VERSION_ghcjs_dom_jsffi+import qualified "ghcjs-dom-jsffi" GHCJS.DOM.Document as Raw (createElement, createElement_, createElementNS, createElementNS_)+import "ghcjs-dom-jsffi" GHCJS.DOM.Document as Export hiding (createElement, createElement_, createElementNS, createElementNS_)+#else+#if __GLASGOW_HASKELL__ >= 900+import qualified "ghcjs-dom-jsaddle" GHCJS.DOM.Document as Raw (createElement, createElement_, createElementNS, createElementNS_)+import "ghcjs-dom-jsaddle" GHCJS.DOM.Document as Export hiding (createElement, createElement_, createElementNS, createElementNS_)+#else+import qualified "jsaddle-dom" GHCJS.DOM.Document as Raw (createElement, createElement_, createElementNS, createElementNS_)+import "jsaddle-dom" GHCJS.DOM.Document as Export hiding (createElement, createElement_, createElementNS, createElementNS_)+#endif+#endif+#endif+++createElement+ :: (MonadDOM m, IsDocument doc, ToJSString localName, HasCallStack)+ => doc+ -> localName+ -> m Element+createElement doc localName = do+ e <- Raw.createElement doc localName+ let cs = getCallStack callStack+ setAttribute e ("hs-creator"::JSString) . show =<< cacheStack cs+ return e++createElement_+ :: (MonadDOM m, IsDocument doc, ToJSString localName, HasCallStack)+ => doc+ -> localName+ -> m ()+createElement_ doc localName = void $ createElement doc localName++createElementNS+ :: (MonadDOM m, IsDocument doc, ToJSString namespaceURI, ToJSString qualifiedName, HasCallStack)+ => doc+ -> Maybe namespaceURI+ -> qualifiedName+ -> m Element+createElementNS doc namespaceURI qualifiedName = do+ e <- Raw.createElementNS doc namespaceURI qualifiedName+ setAttribute e ("haskell-stack"::JSString) . show =<< cacheStack (getCallStack callStack)+ return e++createElementNS_+ :: (MonadDOM m, IsDocument doc, ToJSString namespaceURI, ToJSString qualifiedName, HasCallStack)+ => doc+ -> Maybe namespaceURI+ -> qualifiedName+ -> m ()+createElementNS_ doc namespaceURI qualifiedName = void $ createElementNS doc namespaceURI qualifiedName++#else++#ifdef MIN_VERSION_ghcjs_dom_javascript+import "ghcjs-dom-javascript" GHCJS.DOM.Document (createElement, createElement_, createElementNS, createElementNS_)+import "ghcjs-dom-javascript" GHCJS.DOM.Document as Export hiding (createElement, createElement_, createElementNS, createElementNS_)+#else+#ifdef MIN_VERSION_ghcjs_dom_jsffi+import "ghcjs-dom-jsffi" GHCJS.DOM.Document (createElement, createElement_, createElementNS, createElementNS_)+import "ghcjs-dom-jsffi" GHCJS.DOM.Document as Export hiding (createElement, createElement_, createElementNS, createElementNS_)+#else+#if __GLASGOW_HASKELL__ >= 900+import "ghcjs-dom-jsaddle" GHCJS.DOM.Document (createElement, createElement_, createElementNS, createElementNS_)+import "ghcjs-dom-jsaddle" GHCJS.DOM.Document as Export hiding (createElement, createElement_, createElementNS, createElementNS_)+#else+import "jsaddle-dom" GHCJS.DOM.Document (createElement, createElement_, createElementNS, createElementNS_)+import "jsaddle-dom" GHCJS.DOM.Document as Export hiding (createElement, createElement_, createElementNS, createElementNS_)+#endif+#endif+#endif++#endif