summaryrefslogtreecommitdiffstats
path: root/dom/webidl/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webidl/moz.build')
-rw-r--r--dom/webidl/moz.build1219
1 files changed, 1219 insertions, 0 deletions
diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build
new file mode 100644
index 0000000000..0ca37b988e
--- /dev/null
+++ b/dom/webidl/moz.build
@@ -0,0 +1,1219 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+with Files("**"):
+ BUG_COMPONENT = ("Core", "DOM: Core & HTML")
+
+with Files("APZTestData.webidl"):
+ BUG_COMPONENT = ("Core", "Panning and Zooming")
+
+with Files("AccessibleNode.webidl"):
+ BUG_COMPONENT = ("Core", "Disability Access APIs")
+
+with Files("AccessibilityRole.webidl"):
+ BUG_COMPONENT = ("Core", "Disability Access APIs")
+
+with Files("AriaAttributes.webidl"):
+ BUG_COMPONENT = ("Core", "Disability Access APIs")
+
+with Files("Addon*"):
+ BUG_COMPONENT = ("Toolkit", "Add-ons Manager")
+
+with Files("AnalyserNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("Animat*"):
+ BUG_COMPONENT = ("Core", "DOM: Animation")
+
+with Files("*Audio*"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("Autocomplete*"):
+ BUG_COMPONENT = ("Toolkit", "Autocomplete")
+
+with Files("BaseKeyframeTypes.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Animation")
+
+with Files("BatteryManager.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Device Interfaces")
+
+with Files("BiquadFilterNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("Blob*"):
+ BUG_COMPONENT = ("Core", "DOM: File")
+
+with Files("BroadcastChannel.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: postMessage")
+
+with Files("CSP*"):
+ BUG_COMPONENT = ("Core", "DOM: Security")
+
+with Files("CSS*"):
+ BUG_COMPONENT = ("Core", "CSS Parsing and Computation")
+
+with Files("Canvas*"):
+ BUG_COMPONENT = ("Core", "Graphics: Canvas2D")
+
+with Files("Caret*"):
+ BUG_COMPONENT = ("Core", "DOM: Editor")
+
+with Files("Channel*"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("Client*"):
+ BUG_COMPONENT = ("Core", "DOM: Service Workers")
+
+with Files("Clipboard.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Copy & Paste and Drag & Drop")
+
+with Files("ClipboardEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Copy & Paste and Drag & Drop")
+
+with Files("ConstantSourceNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("ConvolverNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("GeolocationCoordinates.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Geolocation")
+
+with Files("CredentialManagement.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Credential Management")
+
+with Files("Crypto.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Security")
+
+with Files("Device*"):
+ BUG_COMPONENT = ("Core", "DOM: Device Interfaces")
+
+with Files("Directory.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Device Interfaces")
+
+with Files("DataTransfer*"):
+ BUG_COMPONENT = ("Core", "DOM: Copy & Paste and Drag & Drop")
+
+with Files("DragEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Copy & Paste and Drag & Drop")
+
+with Files("DecoderDoctorNotification.webidl"):
+ BUG_COMPONENT = ("Core", "Audio/Video: Playback")
+
+with Files("DelayNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("DynamicsCompressorNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("FeaturePolicy.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Security")
+
+with Files("File*"):
+ BUG_COMPONENT = ("Core", "DOM: File")
+
+with Files("FocusEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+with Files("Font*"):
+ BUG_COMPONENT = ("Core", "CSS Parsing and Computation")
+
+with Files("FormData.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Forms")
+
+with Files("Geolocation.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Geolocation")
+
+with Files("GainNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("Gamepad*"):
+ BUG_COMPONENT = ("Core", "DOM: Device Interfaces")
+
+with Files("GeometryUtils.webidl"):
+ BUG_COMPONENT = ("Core", "Layout")
+
+with Files("GetUserMediaRequest.webidl"):
+ BUG_COMPONENT = ("Core", "WebRTC")
+
+with Files("Grid.webidl"):
+ BUG_COMPONENT = ("Core", "CSS Parsing and Computation")
+
+with Files("HTML*"):
+ BUG_COMPONENT = ("Core", "DOM: Core & HTML")
+
+with Files("HashChangeEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Navigation")
+
+with Files("IDB*"):
+ BUG_COMPONENT = ("Core", "Storage: IndexedDB")
+
+with Files("IdentityCredential.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Credential Management")
+
+with Files("IIRFilterNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("Image*"):
+ BUG_COMPONENT = ("Core", "DOM: Core & HTML")
+
+with Files("ImageBitmap*"):
+ BUG_COMPONENT = ("Core", "Graphics: Canvas2D")
+
+with Files("ImageCapture*"):
+ BUG_COMPONENT = ("Core", "Audio/Video")
+
+with Files("InputEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+with Files("InstallTrigger.webidl"):
+ BUG_COMPONENT = ("Toolkit", "Add-ons Manager")
+
+with Files("KeyAlgorithm.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Security")
+
+with Files("Key*Event*"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+with Files("KeyIdsInitData.webidl"):
+ BUG_COMPONENT = ("Core", "Audio/Video: Playback")
+
+with Files("Keyframe*"):
+ BUG_COMPONENT = ("Core", "DOM: Animation")
+
+with Files("MathML*"):
+ BUG_COMPONENT = ("Core", "MathML")
+
+with Files("MediaDevice*"):
+ BUG_COMPONENT = ("Core", "WebRTC")
+
+with Files("Media*Source*"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("MediaStream*"):
+ BUG_COMPONENT = ("Core", "WebRTC")
+
+with Files("MediaStreamTrackAudio*"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("MediaStreamAudio*"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("MediaEncryptedEvent.webidl"):
+ BUG_COMPONENT = ("Core", "Audio/Video")
+
+with Files("MediaKey*"):
+ BUG_COMPONENT = ("Core", "Audio/Video: Playback")
+
+with Files("Media*List*"):
+ BUG_COMPONENT = ("Core", "CSS Parsing and Computation")
+
+with Files("Message*"):
+ BUG_COMPONENT = ("Core", "DOM: postMessage")
+
+with Files("*Record*"):
+ BUG_COMPONENT = ("Core", "Audio/Video: Recording")
+
+with Files("Media*Track*"):
+ BUG_COMPONENT = ("Core", "WebRTC: Audio/Video")
+
+with Files("MIDI*"):
+ BUG_COMPONENT = ("Core", "DOM: Device Interfaces")
+
+with Files("Mouse*"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+with Files("MutationEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Events")
+
+with Files("NavigationPreloadManager.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Service Workers")
+
+with Files("Net*"):
+ BUG_COMPONENT = ("Core", "Networking")
+
+with Files("OfflineAudio*"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("OffscreenCanvas.webidl"):
+ BUG_COMPONENT = ("Core", "Graphics: Canvas2D")
+
+with Files("OffscreenCanvasRenderingContext2D.webidl"):
+ BUG_COMPONENT = ("Core", "Graphics: Canvas2D")
+
+with Files("OscillatorNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("PannerNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("Peer*"):
+ BUG_COMPONENT = ("Core", "WebRTC")
+
+with Files("PeriodicWave.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("PointerEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+with Files("PopStateEvent.webidl*"):
+ BUG_COMPONENT = ("Core", "DOM: Navigation")
+
+with Files("GeolocationPosition*"):
+ BUG_COMPONENT = ("Core", "DOM: Geolocation")
+
+with Files("ProfileTimelineMarker.webidl"):
+ BUG_COMPONENT = ("DevTools", "Performance Tools (Profiler/Timeline)")
+
+with Files("PopoverInvokerElement.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Core & HTML")
+
+with Files("ProgressEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Events")
+
+with Files("Push*"):
+ BUG_COMPONENT = ("Core", "DOM: Push Notifications")
+
+with Files("RTC*"):
+ BUG_COMPONENT = ("Core", "WebRTC")
+
+with Files("SVG*"):
+ BUG_COMPONENT = ("Core", "SVG")
+
+with Files("Sanitizer.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Security")
+
+with Files("ScriptProcessorNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("Selection.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Selection")
+
+with Files("ServiceWorker*"):
+ BUG_COMPONENT = ("Core", "DOM: Service Workers")
+
+with Files("SimpleGestureEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+with Files("SocketCommon.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Networking")
+
+with Files("SourceBuffer*"):
+ BUG_COMPONENT = ("Core", "Audio/Video")
+
+with Files("Speech*"):
+ BUG_COMPONENT = ("Core", "Web Speech")
+
+with Files("StereoPannerNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("StreamFilter*"):
+ BUG_COMPONENT = ("WebExtensions", "Request Handling")
+
+with Files("Style*"):
+ BUG_COMPONENT = ("Core", "DOM: CSS Object Model")
+
+with Files("SubtleCrypto.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Security")
+
+with Files("TCP*"):
+ BUG_COMPONENT = ("Core", "DOM: Networking")
+
+with Files("TextTrack*"):
+ BUG_COMPONENT = ("Core", "Audio/Video")
+
+with Files("TrackEvent.webidl"):
+ BUG_COMPONENT = ("Core", "Audio/Video")
+
+with Files("UDP*"):
+ BUG_COMPONENT = ("Core", "DOM: Networking")
+
+with Files("UIEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+with Files("URL.webidl"):
+ BUG_COMPONENT = ("Core", "Audio/Video")
+
+with Files("UserProximityEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+with Files("VTT*"):
+ BUG_COMPONENT = ("Core", "Audio/Video")
+
+with Files("VRDisplay.webidl"):
+ BUG_COMPONENT = ("Core", "Graphics")
+
+with Files("Video*"):
+ BUG_COMPONENT = ("Core", "Audio/Video")
+
+with Files("WaveShaperNode.webidl"):
+ BUG_COMPONENT = ("Core", "Web Audio")
+
+with Files("WebAuthentication.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Web Authentication")
+
+with Files("WebGL*"):
+ BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
+
+with Files("WebGPU*"):
+ BUG_COMPONENT = ("Core", "Graphics: WebGPU")
+
+with Files("Webrtc*"):
+ BUG_COMPONENT = ("Core", "WebRTC")
+
+with Files("WebXR.webidl"):
+ BUG_COMPONENT = ("Core", "WebVR")
+
+with Files("XR*"):
+ BUG_COMPONENT = ("Core", "WebVR")
+
+with Files("WheelEvent.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+with Files("WidevineCDMManifest.webidl"):
+ BUG_COMPONENT = ("Core", "Audio/Video: Playback")
+
+with Files("WindowOrWorkerGlobalScope.webidl"):
+ BUG_COMPONENT = ("Core", "DOM: Workers")
+
+with Files("Worker*"):
+ BUG_COMPONENT = ("Core", "DOM: Workers")
+
+with Files("Extension*"):
+ BUG_COMPONENT = ("WebExtensions", "General")
+
+with Files("WebTransport*"):
+ BUG_COMPONENT = ("Core", "Networking")
+
+GENERATED_WEBIDL_FILES = [
+ "CSS2Properties.webidl",
+]
+
+PREPROCESSED_WEBIDL_FILES = [
+ "Node.webidl",
+ "Window.webidl",
+]
+
+WEBIDL_FILES = [
+ "AbortController.webidl",
+ "AbortSignal.webidl",
+ "AbstractRange.webidl",
+ "AbstractWorker.webidl",
+ "AccessibilityRole.webidl",
+ "AddonManager.webidl",
+ "AnalyserNode.webidl",
+ "Animatable.webidl",
+ "Animation.webidl",
+ "AnimationEffect.webidl",
+ "AnimationEvent.webidl",
+ "AnimationFrameProvider.webidl",
+ "AnimationTimeline.webidl",
+ "AnonymousContent.webidl",
+ "AppInfo.webidl",
+ "AppNotificationServiceOptions.webidl",
+ "APZTestData.webidl",
+ "AriaAttributes.webidl",
+ "Attr.webidl",
+ "AudioBuffer.webidl",
+ "AudioBufferSourceNode.webidl",
+ "AudioContext.webidl",
+ "AudioDestinationNode.webidl",
+ "AudioListener.webidl",
+ "AudioNode.webidl",
+ "AudioParam.webidl",
+ "AudioParamDescriptor.webidl",
+ "AudioParamMap.webidl",
+ "AudioProcessingEvent.webidl",
+ "AudioScheduledSourceNode.webidl",
+ "AudioTrack.webidl",
+ "AudioTrackList.webidl",
+ "AudioWorklet.webidl",
+ "AudioWorkletGlobalScope.webidl",
+ "AudioWorkletNode.webidl",
+ "AudioWorkletProcessor.webidl",
+ "AutocompleteInfo.webidl",
+ "BarProp.webidl",
+ "BaseAudioContext.webidl",
+ "BaseKeyframeTypes.webidl",
+ "BasicCardPayment.webidl",
+ "BatteryManager.webidl",
+ "BeforeUnloadEvent.webidl",
+ "BiquadFilterNode.webidl",
+ "Blob.webidl",
+ "BroadcastChannel.webidl",
+ "BrowserElementDictionaries.webidl",
+ "Cache.webidl",
+ "CacheStorage.webidl",
+ "CancelContentJSOptions.webidl",
+ "CanvasCaptureMediaStream.webidl",
+ "CanvasRenderingContext2D.webidl",
+ "CaretPosition.webidl",
+ "CDATASection.webidl",
+ "ChannelMergerNode.webidl",
+ "ChannelSplitterNode.webidl",
+ "CharacterData.webidl",
+ "CheckerboardReportService.webidl",
+ "ChildNode.webidl",
+ "ChildSHistory.webidl",
+ "ChromeNodeList.webidl",
+ "Client.webidl",
+ "Clients.webidl",
+ "Clipboard.webidl",
+ "ClipboardEvent.webidl",
+ "CommandEvent.webidl",
+ "Comment.webidl",
+ "CompositionEvent.webidl",
+ "Console.webidl",
+ "ConstantSourceNode.webidl",
+ "ConvolverNode.webidl",
+ "CreateOfferRequest.webidl",
+ "CredentialManagement.webidl",
+ "Crypto.webidl",
+ "CSPDictionaries.webidl",
+ "CSPReport.webidl",
+ "CSS.webidl",
+ "CSSAnimation.webidl",
+ "CSSConditionRule.webidl",
+ "CSSContainerRule.webidl",
+ "CSSCounterStyleRule.webidl",
+ "CSSFontFaceRule.webidl",
+ "CSSFontFeatureValuesRule.webidl",
+ "CSSFontPaletteValuesRule.webidl",
+ "CSSGroupingRule.webidl",
+ "CSSImportRule.webidl",
+ "CSSKeyframeRule.webidl",
+ "CSSKeyframesRule.webidl",
+ "CSSLayerBlockRule.webidl",
+ "CSSLayerStatementRule.webidl",
+ "CSSMediaRule.webidl",
+ "CSSMozDocumentRule.webidl",
+ "CSSNamespaceRule.webidl",
+ "CSSPageRule.webidl",
+ "CSSPropertyRule.webidl",
+ "CSSPseudoElement.webidl",
+ "CSSRule.webidl",
+ "CSSRuleList.webidl",
+ "CSSStyleDeclaration.webidl",
+ "CSSStyleRule.webidl",
+ "CSSStyleSheet.webidl",
+ "CSSSupportsRule.webidl",
+ "CSSTransition.webidl",
+ "CustomElementRegistry.webidl",
+ "DataTransfer.webidl",
+ "DataTransferItem.webidl",
+ "DataTransferItemList.webidl",
+ "DecoderDoctorNotification.webidl",
+ "DedicatedWorkerGlobalScope.webidl",
+ "DelayNode.webidl",
+ "DeviceMotionEvent.webidl",
+ "Directory.webidl",
+ "Document.webidl",
+ "DocumentFragment.webidl",
+ "DocumentOrShadowRoot.webidl",
+ "DocumentTimeline.webidl",
+ "DocumentType.webidl",
+ "DOMException.webidl",
+ "DOMImplementation.webidl",
+ "DOMLocalization.webidl",
+ "DOMMatrix.webidl",
+ "DOMParser.webidl",
+ "DOMPoint.webidl",
+ "DOMQuad.webidl",
+ "DOMRect.webidl",
+ "DOMRectList.webidl",
+ "DOMRequest.webidl",
+ "DOMStringList.webidl",
+ "DOMStringMap.webidl",
+ "DOMTokenList.webidl",
+ "DragEvent.webidl",
+ "DynamicsCompressorNode.webidl",
+ "Element.webidl",
+ "ElementInternals.webidl",
+ "Event.webidl",
+ "EventHandler.webidl",
+ "EventListener.webidl",
+ "EventSource.webidl",
+ "EventTarget.webidl",
+ "ExtendableEvent.webidl",
+ "ExtendableMessageEvent.webidl",
+ "External.webidl",
+ "FailedCertSecurityInfo.webidl",
+ "FakePluginTagInit.webidl",
+ "FeaturePolicy.webidl",
+ "Fetch.webidl",
+ "FetchEvent.webidl",
+ "FetchObserver.webidl",
+ "File.webidl",
+ "FileList.webidl",
+ "FileMode.webidl",
+ "FileReader.webidl",
+ "FileReaderSync.webidl",
+ "FileSystem.webidl",
+ "FileSystemDirectoryEntry.webidl",
+ "FileSystemDirectoryHandle.webidl",
+ "FileSystemDirectoryIterator.webidl",
+ "FileSystemDirectoryReader.webidl",
+ "FileSystemEntry.webidl",
+ "FileSystemFileEntry.webidl",
+ "FileSystemFileHandle.webidl",
+ "FileSystemHandle.webidl",
+ "FileSystemSyncAccessHandle.webidl",
+ "FinalizationRegistry.webidl",
+ "FocusEvent.webidl",
+ "FontFace.webidl",
+ "FontFaceSet.webidl",
+ "FontFaceSource.webidl",
+ "FormData.webidl",
+ "Function.webidl",
+ "GainNode.webidl",
+ "Gamepad.webidl",
+ "GamepadHapticActuator.webidl",
+ "GamepadLightIndicator.webidl",
+ "GamepadPose.webidl",
+ "GamepadServiceTest.webidl",
+ "GamepadTouch.webidl",
+ "GenericTransformStream.webidl",
+ "Geolocation.webidl",
+ "GeolocationCoordinates.webidl",
+ "GeolocationPosition.webidl",
+ "GeolocationPositionError.webidl",
+ "GeometryUtils.webidl",
+ "GetUserMediaRequest.webidl",
+ "Grid.webidl",
+ "Headers.webidl",
+ "Highlight.webidl",
+ "History.webidl",
+ "HTMLAllCollection.webidl",
+ "HTMLAnchorElement.webidl",
+ "HTMLAreaElement.webidl",
+ "HTMLAudioElement.webidl",
+ "HTMLBaseElement.webidl",
+ "HTMLBodyElement.webidl",
+ "HTMLBRElement.webidl",
+ "HTMLButtonElement.webidl",
+ "HTMLCanvasElement.webidl",
+ "HTMLCollection.webidl",
+ "HTMLDataElement.webidl",
+ "HTMLDataListElement.webidl",
+ "HTMLDetailsElement.webidl",
+ "HTMLDialogElement.webidl",
+ "HTMLDirectoryElement.webidl",
+ "HTMLDivElement.webidl",
+ "HTMLDListElement.webidl",
+ "HTMLDocument.webidl",
+ "HTMLElement.webidl",
+ "HTMLEmbedElement.webidl",
+ "HTMLFieldSetElement.webidl",
+ "HTMLFontElement.webidl",
+ "HTMLFormControlsCollection.webidl",
+ "HTMLFormElement.webidl",
+ "HTMLFrameElement.webidl",
+ "HTMLFrameSetElement.webidl",
+ "HTMLHeadElement.webidl",
+ "HTMLHeadingElement.webidl",
+ "HTMLHRElement.webidl",
+ "HTMLHtmlElement.webidl",
+ "HTMLHyperlinkElementUtils.webidl",
+ "HTMLIFrameElement.webidl",
+ "HTMLImageElement.webidl",
+ "HTMLInputElement.webidl",
+ "HTMLLabelElement.webidl",
+ "HTMLLegendElement.webidl",
+ "HTMLLIElement.webidl",
+ "HTMLLinkElement.webidl",
+ "HTMLMapElement.webidl",
+ "HTMLMarqueeElement.webidl",
+ "HTMLMediaElement.webidl",
+ "HTMLMenuElement.webidl",
+ "HTMLMetaElement.webidl",
+ "HTMLMeterElement.webidl",
+ "HTMLModElement.webidl",
+ "HTMLObjectElement.webidl",
+ "HTMLOListElement.webidl",
+ "HTMLOptGroupElement.webidl",
+ "HTMLOptionElement.webidl",
+ "HTMLOptionsCollection.webidl",
+ "HTMLOutputElement.webidl",
+ "HTMLParagraphElement.webidl",
+ "HTMLParamElement.webidl",
+ "HTMLPictureElement.webidl",
+ "HTMLPreElement.webidl",
+ "HTMLProgressElement.webidl",
+ "HTMLQuoteElement.webidl",
+ "HTMLScriptElement.webidl",
+ "HTMLSelectElement.webidl",
+ "HTMLSlotElement.webidl",
+ "HTMLSourceElement.webidl",
+ "HTMLSpanElement.webidl",
+ "HTMLStyleElement.webidl",
+ "HTMLTableCaptionElement.webidl",
+ "HTMLTableCellElement.webidl",
+ "HTMLTableColElement.webidl",
+ "HTMLTableElement.webidl",
+ "HTMLTableRowElement.webidl",
+ "HTMLTableSectionElement.webidl",
+ "HTMLTemplateElement.webidl",
+ "HTMLTextAreaElement.webidl",
+ "HTMLTimeElement.webidl",
+ "HTMLTitleElement.webidl",
+ "HTMLTrackElement.webidl",
+ "HTMLUListElement.webidl",
+ "HTMLVideoElement.webidl",
+ "IDBCursor.webidl",
+ "IDBDatabase.webidl",
+ "IDBFactory.webidl",
+ "IDBIndex.webidl",
+ "IDBKeyRange.webidl",
+ "IDBObjectStore.webidl",
+ "IDBOpenDBRequest.webidl",
+ "IDBRequest.webidl",
+ "IDBTransaction.webidl",
+ "IDBVersionChangeEvent.webidl",
+ "IdentityCredential.webidl",
+ "IdleDeadline.webidl",
+ "IIRFilterNode.webidl",
+ "ImageBitmap.webidl",
+ "ImageBitmapRenderingContext.webidl",
+ "ImageCapture.webidl",
+ "ImageData.webidl",
+ "ImageDocument.webidl",
+ "InputEvent.webidl",
+ "IntersectionObserver.webidl",
+ "IntlUtils.webidl",
+ "IterableIterator.webidl",
+ "KeyAlgorithm.webidl",
+ "KeyboardEvent.webidl",
+ "KeyEvent.webidl",
+ "KeyframeAnimationOptions.webidl",
+ "KeyframeEffect.webidl",
+ "KeyIdsInitData.webidl",
+ "LinkStyle.webidl",
+ "LoadURIOptions.webidl",
+ "Localization.webidl",
+ "Location.webidl",
+ "Lock.webidl",
+ "LockManager.webidl",
+ "MathMLElement.webidl",
+ "MediaCapabilities.webidl",
+ "MediaDebugInfo.webidl",
+ "MediaDeviceInfo.webidl",
+ "MediaDevices.webidl",
+ "MediaElementAudioSourceNode.webidl",
+ "MediaEncryptedEvent.webidl",
+ "MediaError.webidl",
+ "MediaKeyError.webidl",
+ "MediaKeyMessageEvent.webidl",
+ "MediaKeys.webidl",
+ "MediaKeySession.webidl",
+ "MediaKeysRequestStatus.webidl",
+ "MediaKeyStatusMap.webidl",
+ "MediaKeySystemAccess.webidl",
+ "MediaList.webidl",
+ "MediaQueryList.webidl",
+ "MediaRecorder.webidl",
+ "MediaSession.webidl",
+ "MediaSource.webidl",
+ "MediaStream.webidl",
+ "MediaStreamAudioDestinationNode.webidl",
+ "MediaStreamAudioSourceNode.webidl",
+ "MediaStreamError.webidl",
+ "MediaStreamTrack.webidl",
+ "MediaStreamTrackAudioSourceNode.webidl",
+ "MediaTrackSettings.webidl",
+ "MediaTrackSupportedConstraints.webidl",
+ "MerchantValidationEvent.webidl",
+ "MessageChannel.webidl",
+ "MessageEvent.webidl",
+ "MessagePort.webidl",
+ "MIDIAccess.webidl",
+ "MIDIInput.webidl",
+ "MIDIInputMap.webidl",
+ "MIDIMessageEvent.webidl",
+ "MIDIOptions.webidl",
+ "MIDIOutput.webidl",
+ "MIDIOutputMap.webidl",
+ "MIDIPort.webidl",
+ "MimeType.webidl",
+ "MimeTypeArray.webidl",
+ "MouseEvent.webidl",
+ "MouseScrollEvent.webidl",
+ "MozFrameLoaderOwner.webidl",
+ "MutationEvent.webidl",
+ "MutationObserver.webidl",
+ "NamedNodeMap.webidl",
+ "NavigationPreloadManager.webidl",
+ "Navigator.webidl",
+ "NetErrorInfo.webidl",
+ "NetworkInformation.webidl",
+ "NetworkOptions.webidl",
+ "NodeFilter.webidl",
+ "NodeIterator.webidl",
+ "NodeList.webidl",
+ "Notification.webidl",
+ "NotificationEvent.webidl",
+ "NotifyPaintEvent.webidl",
+ "OfflineAudioContext.webidl",
+ "OffscreenCanvas.webidl",
+ "OffscreenCanvasRenderingContext2D.webidl",
+ "OscillatorNode.webidl",
+ "PaintRequest.webidl",
+ "PaintRequestList.webidl",
+ "PaintWorkletGlobalScope.webidl",
+ "PannerNode.webidl",
+ "ParentNode.webidl",
+ "PaymentAddress.webidl",
+ "PaymentMethodChangeEvent.webidl",
+ "PaymentRequest.webidl",
+ "PaymentRequestUpdateEvent.webidl",
+ "PaymentResponse.webidl",
+ "Performance.webidl",
+ "PerformanceEntry.webidl",
+ "PerformanceEventTiming.webidl",
+ "PerformanceLargestContentfulPaint.webidl",
+ "PerformanceMark.webidl",
+ "PerformanceMeasure.webidl",
+ "PerformanceNavigation.webidl",
+ "PerformanceNavigationTiming.webidl",
+ "PerformanceObserver.webidl",
+ "PerformanceObserverEntryList.webidl",
+ "PerformancePaintTiming.webidl",
+ "PerformanceResourceTiming.webidl",
+ "PerformanceServerTiming.webidl",
+ "PerformanceTiming.webidl",
+ "PeriodicWave.webidl",
+ "Permissions.webidl",
+ "PermissionStatus.webidl",
+ "Plugin.webidl",
+ "PluginArray.webidl",
+ "PointerEvent.webidl",
+ "PopoverInvokerElement.webidl",
+ "ProcessingInstruction.webidl",
+ "ProfileTimelineMarker.webidl",
+ "Promise.webidl",
+ "PushEvent.webidl",
+ "PushManager.webidl",
+ "PushManager.webidl",
+ "PushMessageData.webidl",
+ "PushSubscription.webidl",
+ "PushSubscriptionOptions.webidl",
+ "RadioNodeList.webidl",
+ "Range.webidl",
+ "ReferrerPolicy.webidl",
+ "Reporting.webidl",
+ "Request.webidl",
+ "ResizeObserver.webidl",
+ "Response.webidl",
+ "Sanitizer.webidl",
+ "Screen.webidl",
+ "ScreenOrientation.webidl",
+ "ScriptProcessorNode.webidl",
+ "ScrollAreaEvent.webidl",
+ "Selection.webidl",
+ "ServiceWorker.webidl",
+ "ServiceWorkerContainer.webidl",
+ "ServiceWorkerGlobalScope.webidl",
+ "ServiceWorkerRegistration.webidl",
+ "ShadowRealmGlobalScope.webidl",
+ "ShadowRoot.webidl",
+ "SharedWorker.webidl",
+ "SharedWorkerGlobalScope.webidl",
+ "SimpleGestureEvent.webidl",
+ "SocketCommon.webidl",
+ "SourceBuffer.webidl",
+ "SourceBufferList.webidl",
+ "StaticRange.webidl",
+ "StereoPannerNode.webidl",
+ "Storage.webidl",
+ "StorageEvent.webidl",
+ "StorageManager.webidl",
+ "StreamFilter.webidl",
+ "StreamFilterDataEvent.webidl",
+ "StructuredCloneTester.webidl",
+ "StyleSheet.webidl",
+ "StyleSheetList.webidl",
+ "SubtleCrypto.webidl",
+ "SVGAElement.webidl",
+ "SVGAngle.webidl",
+ "SVGAnimatedAngle.webidl",
+ "SVGAnimatedBoolean.webidl",
+ "SVGAnimatedEnumeration.webidl",
+ "SVGAnimatedInteger.webidl",
+ "SVGAnimatedLength.webidl",
+ "SVGAnimatedLengthList.webidl",
+ "SVGAnimatedNumber.webidl",
+ "SVGAnimatedNumberList.webidl",
+ "SVGAnimatedPathData.webidl",
+ "SVGAnimatedPoints.webidl",
+ "SVGAnimatedPreserveAspectRatio.webidl",
+ "SVGAnimatedRect.webidl",
+ "SVGAnimatedString.webidl",
+ "SVGAnimatedTransformList.webidl",
+ "SVGAnimateElement.webidl",
+ "SVGAnimateMotionElement.webidl",
+ "SVGAnimateTransformElement.webidl",
+ "SVGAnimationElement.webidl",
+ "SVGCircleElement.webidl",
+ "SVGClipPathElement.webidl",
+ "SVGComponentTransferFunctionElement.webidl",
+ "SVGDefsElement.webidl",
+ "SVGDescElement.webidl",
+ "SVGElement.webidl",
+ "SVGEllipseElement.webidl",
+ "SVGFEBlendElement.webidl",
+ "SVGFEColorMatrixElement.webidl",
+ "SVGFEComponentTransferElement.webidl",
+ "SVGFECompositeElement.webidl",
+ "SVGFEConvolveMatrixElement.webidl",
+ "SVGFEDiffuseLightingElement.webidl",
+ "SVGFEDisplacementMapElement.webidl",
+ "SVGFEDistantLightElement.webidl",
+ "SVGFEDropShadowElement.webidl",
+ "SVGFEFloodElement.webidl",
+ "SVGFEFuncAElement.webidl",
+ "SVGFEFuncBElement.webidl",
+ "SVGFEFuncGElement.webidl",
+ "SVGFEFuncRElement.webidl",
+ "SVGFEGaussianBlurElement.webidl",
+ "SVGFEImageElement.webidl",
+ "SVGFEMergeElement.webidl",
+ "SVGFEMergeNodeElement.webidl",
+ "SVGFEMorphologyElement.webidl",
+ "SVGFEOffsetElement.webidl",
+ "SVGFEPointLightElement.webidl",
+ "SVGFESpecularLightingElement.webidl",
+ "SVGFESpotLightElement.webidl",
+ "SVGFETileElement.webidl",
+ "SVGFETurbulenceElement.webidl",
+ "SVGFilterElement.webidl",
+ "SVGFilterPrimitiveStandardAttributes.webidl",
+ "SVGFitToViewBox.webidl",
+ "SVGForeignObjectElement.webidl",
+ "SVGGElement.webidl",
+ "SVGGeometryElement.webidl",
+ "SVGGradientElement.webidl",
+ "SVGGraphicsElement.webidl",
+ "SVGImageElement.webidl",
+ "SVGLength.webidl",
+ "SVGLengthList.webidl",
+ "SVGLinearGradientElement.webidl",
+ "SVGLineElement.webidl",
+ "SVGMarkerElement.webidl",
+ "SVGMaskElement.webidl",
+ "SVGMatrix.webidl",
+ "SVGMetadataElement.webidl",
+ "SVGMPathElement.webidl",
+ "SVGNumber.webidl",
+ "SVGNumberList.webidl",
+ "SVGPathElement.webidl",
+ "SVGPathSeg.webidl",
+ "SVGPathSegList.webidl",
+ "SVGPatternElement.webidl",
+ "SVGPoint.webidl",
+ "SVGPointList.webidl",
+ "SVGPolygonElement.webidl",
+ "SVGPolylineElement.webidl",
+ "SVGPreserveAspectRatio.webidl",
+ "SVGRadialGradientElement.webidl",
+ "SVGRect.webidl",
+ "SVGRectElement.webidl",
+ "SVGScriptElement.webidl",
+ "SVGSetElement.webidl",
+ "SVGStopElement.webidl",
+ "SVGStringList.webidl",
+ "SVGStyleElement.webidl",
+ "SVGSVGElement.webidl",
+ "SVGSwitchElement.webidl",
+ "SVGSymbolElement.webidl",
+ "SVGTests.webidl",
+ "SVGTextContentElement.webidl",
+ "SVGTextElement.webidl",
+ "SVGTextPathElement.webidl",
+ "SVGTextPositioningElement.webidl",
+ "SVGTitleElement.webidl",
+ "SVGTransform.webidl",
+ "SVGTransformList.webidl",
+ "SVGTSpanElement.webidl",
+ "SVGUnitTypes.webidl",
+ "SVGURIReference.webidl",
+ "SVGUseElement.webidl",
+ "SVGViewElement.webidl",
+ "SVGZoomAndPan.webidl",
+ "TCPServerSocket.webidl",
+ "TCPServerSocketEvent.webidl",
+ "TCPSocket.webidl",
+ "TCPSocketErrorEvent.webidl",
+ "TCPSocketEvent.webidl",
+ "TestUtils.webidl",
+ "Text.webidl",
+ "TextClause.webidl",
+ "TextDecoder.webidl",
+ "TextDecoderStream.webidl",
+ "TextEncoder.webidl",
+ "TextEncoderStream.webidl",
+ "TextTrack.webidl",
+ "TextTrackCue.webidl",
+ "TextTrackCueList.webidl",
+ "TextTrackList.webidl",
+ "TimeEvent.webidl",
+ "TimeRanges.webidl",
+ "ToggleEvent.webidl",
+ "Touch.webidl",
+ "TouchEvent.webidl",
+ "TouchList.webidl",
+ "TransitionEvent.webidl",
+ "TreeColumn.webidl",
+ "TreeColumns.webidl",
+ "TreeContentView.webidl",
+ "TreeView.webidl",
+ "TreeWalker.webidl",
+ "UDPMessageEvent.webidl",
+ "UDPSocket.webidl",
+ "UIEvent.webidl",
+ "URL.webidl",
+ "URLSearchParams.webidl",
+ "ValidityState.webidl",
+ "VideoColorSpace.webidl",
+ "VideoFrame.webidl",
+ "VideoPlaybackQuality.webidl",
+ "VideoTrack.webidl",
+ "VideoTrackList.webidl",
+ "VisualViewport.webidl",
+ "VRDisplay.webidl",
+ "VRDisplayEvent.webidl",
+ "VRServiceTest.webidl",
+ "VTTCue.webidl",
+ "VTTRegion.webidl",
+ "WaveShaperNode.webidl",
+ "WebAuthentication.webidl",
+ "WebGL2RenderingContext.webidl",
+ "WebGLRenderingContext.webidl",
+ "WebGPU.webidl",
+ "WebSocket.webidl",
+ "WebTaskScheduling.webidl",
+ "WebTransport.webidl",
+ "WebTransportDatagramDuplexStream.webidl",
+ "WebTransportError.webidl",
+ "WebTransportSendReceiveStream.webidl",
+ "WebXR.webidl",
+ "WheelEvent.webidl",
+ "WidevineCDMManifest.webidl",
+ "WindowOrWorkerGlobalScope.webidl",
+ "WindowRoot.webidl",
+ "Worker.webidl",
+ "WorkerDebuggerGlobalScope.webidl",
+ "WorkerGlobalScope.webidl",
+ "WorkerLocation.webidl",
+ "WorkerNavigator.webidl",
+ "WorkerTestUtils.webidl",
+ "Worklet.webidl",
+ "WorkletGlobalScope.webidl",
+ "XMLDocument.webidl",
+ "XMLHttpRequest.webidl",
+ "XMLHttpRequestEventTarget.webidl",
+ "XMLHttpRequestUpload.webidl",
+ "XMLSerializer.webidl",
+ "XPathEvaluator.webidl",
+ "XPathExpression.webidl",
+ "XPathNSResolver.webidl",
+ "XPathResult.webidl",
+ "XSLTProcessor.webidl",
+ "XULCommandEvent.webidl",
+ "XULElement.webidl",
+ "XULPopupElement.webidl",
+ "XULResizerElement.webidl",
+]
+
+if CONFIG["MOZ_DOM_STREAMS"]:
+ WEBIDL_FILES += [
+ "CompressionStream.webidl",
+ "DecompressionStream.webidl",
+ "FileSystemWritableFileStream.webidl",
+ "QueuingStrategy.webidl",
+ "ReadableByteStreamController.webidl",
+ "ReadableStream.webidl",
+ "ReadableStreamBYOBReader.webidl",
+ "ReadableStreamBYOBRequest.webidl",
+ "ReadableStreamDefaultController.webidl",
+ "ReadableStreamDefaultReader.webidl",
+ "Transformer.webidl",
+ "TransformStream.webidl",
+ "TransformStreamDefaultController.webidl",
+ "UnderlyingSink.webidl",
+ "UnderlyingSource.webidl",
+ "WritableStream.webidl",
+ "WritableStreamDefaultController.webidl",
+ "WritableStreamDefaultWriter.webidl",
+ ]
+
+if CONFIG["MOZ_WEBRTC"]:
+ WEBIDL_FILES += [
+ "PeerConnectionImpl.webidl",
+ "PeerConnectionObserver.webidl",
+ "PeerConnectionObserverEnums.webidl",
+ "RTCCertificate.webidl",
+ "RTCConfiguration.webidl",
+ "RTCDataChannel.webidl",
+ "RTCDtlsTransport.webidl",
+ "RTCDTMFSender.webidl",
+ "RTCIceCandidate.webidl",
+ "RTCIdentityAssertion.webidl",
+ "RTCIdentityProvider.webidl",
+ "RTCPeerConnection.webidl",
+ "RTCPeerConnectionStatic.webidl",
+ "RTCRtpCapabilities.webidl",
+ "RTCRtpParameters.webidl",
+ "RTCRtpReceiver.webidl",
+ "RTCRtpSender.webidl",
+ "RTCRtpSources.webidl",
+ "RTCRtpTransceiver.webidl",
+ "RTCSctpTransport.webidl",
+ "RTCSessionDescription.webidl",
+ "RTCStatsReport.webidl",
+ "WebrtcGlobalInformation.webidl",
+ ]
+
+if CONFIG["MOZ_WEBSPEECH"]:
+ WEBIDL_FILES += [
+ "SpeechGrammar.webidl",
+ "SpeechGrammarList.webidl",
+ "SpeechRecognition.webidl",
+ "SpeechRecognitionAlternative.webidl",
+ "SpeechRecognitionError.webidl",
+ "SpeechRecognitionEvent.webidl",
+ "SpeechRecognitionResult.webidl",
+ "SpeechRecognitionResultList.webidl",
+ "SpeechSynthesis.webidl",
+ "SpeechSynthesisErrorEvent.webidl",
+ "SpeechSynthesisEvent.webidl",
+ "SpeechSynthesisUtterance.webidl",
+ "SpeechSynthesisVoice.webidl",
+ ]
+
+WEBIDL_FILES += [
+ "CloseEvent.webidl",
+ "CustomEvent.webidl",
+ "DeviceOrientationEvent.webidl",
+ "HashChangeEvent.webidl",
+ "PageTransitionEvent.webidl",
+ "PopStateEvent.webidl",
+ "PopupBlockedEvent.webidl",
+ "ProgressEvent.webidl",
+ "StyleSheetApplicableStateChangeEvent.webidl",
+]
+
+# WebExtensions API.
+WEBIDL_FILES += [
+ "ExtensionAlarms.webidl",
+ "ExtensionBrowser.webidl",
+ "ExtensionBrowserSettings.webidl",
+ "ExtensionBrowserSettingsColorManagement.webidl",
+ "ExtensionDns.webidl",
+ "ExtensionEventManager.webidl",
+ # ExtensionMockAPI is not a real WebExtensions API, and it is only enabled in tests.
+ "ExtensionMockAPI.webidl",
+ "ExtensionPort.webidl",
+ "ExtensionProxy.webidl",
+ "ExtensionRuntime.webidl",
+ "ExtensionScripting.webidl",
+ "ExtensionSetting.webidl",
+ "ExtensionTest.webidl",
+]
+
+# We only expose our prefable test interfaces in debug builds, just to be on
+# the safe side.
+if CONFIG["MOZ_DEBUG"] and CONFIG["ENABLE_TESTS"]:
+ WEBIDL_FILES += [
+ "TestFunctions.webidl",
+ "TestInterfaceJS.webidl",
+ "TestInterfaceJSDictionaries.webidl",
+ "TestInterfaceJSMaplikeSetlikeIterable.webidl",
+ "TestInterfaceObservableArray.webidl",
+ ]
+ XPCOM_MANIFESTS += [
+ "components.conf",
+ ]
+
+WEBIDL_FILES += [
+ "InstallTrigger.webidl",
+]
+
+if CONFIG["FUZZING"]:
+ WEBIDL_FILES += [
+ "FuzzingFunctions.webidl",
+ ]
+
+GENERATED_EVENTS_WEBIDL_FILES = [
+ "AddonEvent.webidl",
+ "AnimationPlaybackEvent.webidl",
+ "BlobEvent.webidl",
+ "CaretStateChangedEvent.webidl",
+ "CloseEvent.webidl",
+ "ContentVisibilityAutoStateChangeEvent.webidl",
+ "DeviceLightEvent.webidl",
+ "DeviceOrientationEvent.webidl",
+ "ErrorEvent.webidl",
+ "FontFaceSetLoadEvent.webidl",
+ "FormDataEvent.webidl",
+ "FrameCrashedEvent.webidl",
+ "GamepadAxisMoveEvent.webidl",
+ "GamepadButtonEvent.webidl",
+ "GamepadEvent.webidl",
+ "GPUUncapturedErrorEvent.webidl",
+ "HashChangeEvent.webidl",
+ "ImageCaptureErrorEvent.webidl",
+ "MediaQueryListEvent.webidl",
+ "MediaRecorderErrorEvent.webidl",
+ "MediaStreamEvent.webidl",
+ "MediaStreamTrackEvent.webidl",
+ "MIDIConnectionEvent.webidl",
+ "OfflineAudioCompletionEvent.webidl",
+ "PageTransitionEvent.webidl",
+ "PerformanceEntryEvent.webidl",
+ "PluginCrashedEvent.webidl",
+ "PopStateEvent.webidl",
+ "PopupBlockedEvent.webidl",
+ "PopupPositionedEvent.webidl",
+ "PositionStateEvent.webidl",
+ "ProgressEvent.webidl",
+ "PromiseRejectionEvent.webidl",
+ "ScrollViewChangeEvent.webidl",
+ "SecurityPolicyViolationEvent.webidl",
+ "StyleSheetApplicableStateChangeEvent.webidl",
+ "SubmitEvent.webidl",
+ "TaskPriorityChangeEvent.webidl",
+ "TCPServerSocketEvent.webidl",
+ "TCPSocketErrorEvent.webidl",
+ "TCPSocketEvent.webidl",
+ "ToggleEvent.webidl",
+ "TrackEvent.webidl",
+ "UDPMessageEvent.webidl",
+ "UserProximityEvent.webidl",
+ "WebGLContextEvent.webidl",
+ "XRInputSourceEvent.webidl",
+ "XRInputSourcesChangeEvent.webidl",
+ "XRReferenceSpaceEvent.webidl",
+ "XRSessionEvent.webidl",
+]
+
+if CONFIG["MOZ_WEBRTC"]:
+ GENERATED_EVENTS_WEBIDL_FILES += [
+ "RTCDataChannelEvent.webidl",
+ "RTCDTMFToneChangeEvent.webidl",
+ "RTCPeerConnectionIceEvent.webidl",
+ "RTCTrackEvent.webidl",
+ ]
+
+if CONFIG["MOZ_WEBSPEECH"]:
+ GENERATED_EVENTS_WEBIDL_FILES += [
+ "SpeechRecognitionEvent.webidl",
+ "SpeechSynthesisErrorEvent.webidl",
+ "SpeechSynthesisEvent.webidl",
+ ]
+
+if CONFIG["ACCESSIBILITY"]:
+ WEBIDL_FILES += [
+ "AccessibleNode.webidl",
+ ]