# -*- 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/.

GENERATED_WEBIDL_FILES = [
    'CSS2Properties.webidl',
]

PREPROCESSED_WEBIDL_FILES = [
    'HTMLMediaElement.webidl',
    'Navigator.webidl',
    'Node.webidl',
    'Promise.webidl',
    'PromiseDebugging.webidl',
    'Window.webidl',
]

WEBIDL_FILES = [
    'AbstractWorker.webidl',
    'AnalyserNode.webidl',
    'Animatable.webidl',
    'Animation.webidl',
    'AnimationEffectReadOnly.webidl',
    'AnimationEffectTiming.webidl',
    'AnimationEffectTimingReadOnly.webidl',
    'AnimationEvent.webidl',
    'AnimationTimeline.webidl',
    'AnonymousContent.webidl',
    'AppInfo.webidl',
    'AppNotificationServiceOptions.webidl',
    'APZTestData.webidl',
    'ArchiveReader.webidl',
    'ArchiveRequest.webidl',
    'Attr.webidl',
    'AudioBuffer.webidl',
    'AudioBufferSourceNode.webidl',
    'AudioChannel.webidl',
    'AudioContext.webidl',
    'AudioDestinationNode.webidl',
    'AudioListener.webidl',
    'AudioNode.webidl',
    'AudioParam.webidl',
    'AudioProcessingEvent.webidl',
    'AudioStreamTrack.webidl',
    'AudioTrack.webidl',
    'AudioTrackList.webidl',
    'AutocompleteInfo.webidl',
    'BarProp.webidl',
    'BaseKeyframeTypes.webidl',
    'BatteryManager.webidl',
    'BeforeAfterKeyboardEvent.webidl',
    'BeforeUnloadEvent.webidl',
    'BiquadFilterNode.webidl',
    'Blob.webidl',
    'BoxObject.webidl',
    'BroadcastChannel.webidl',
    'BrowserElement.webidl',
    'BrowserElementAudioChannel.webidl',
    'BrowserElementDictionaries.webidl',
    'BrowserElementProxy.webidl',
    'Cache.webidl',
    'CacheStorage.webidl',
    'CanvasCaptureMediaStream.webidl',
    'CanvasRenderingContext2D.webidl',
    'CaretPosition.webidl',
    'CDATASection.webidl',
    'ChannelMergerNode.webidl',
    'ChannelSplitterNode.webidl',
    'CharacterData.webidl',
    'CheckerboardReportService.webidl',
    'ChildNode.webidl',
    'ChromeNodeList.webidl',
    'ChromeUtils.webidl',
    'Client.webidl',
    'Clients.webidl',
    'ClipboardEvent.webidl',
    'CommandEvent.webidl',
    'Comment.webidl',
    'CompositionEvent.webidl',
    'Console.webidl',
    'ConstantSourceNode.webidl',
    'ContainerBoxObject.webidl',
    'ConvolverNode.webidl',
    'Coordinates.webidl',
    'CreateOfferRequest.webidl',
    'Crypto.webidl',
    'CSPDictionaries.webidl',
    'CSPReport.webidl',
    'CSS.webidl',
    'CSSAnimation.webidl',
    'CSSLexer.webidl',
    'CSSPrimitiveValue.webidl',
    'CSSPseudoElement.webidl',
    'CSSRuleList.webidl',
    'CSSStyleDeclaration.webidl',
    'CSSStyleSheet.webidl',
    'CSSTransition.webidl',
    'CSSValue.webidl',
    'CSSValueList.webidl',
    'CustomElementRegistry.webidl',
    'DataContainerEvent.webidl',
    'DataTransfer.webidl',
    'DataTransferItem.webidl',
    'DataTransferItemList.webidl',
    'DecoderDoctorNotification.webidl',
    'DedicatedWorkerGlobalScope.webidl',
    'DelayNode.webidl',
    'DesktopNotification.webidl',
    'DeviceMotionEvent.webidl',
    'Directory.webidl',
    'Document.webidl',
    'DocumentFragment.webidl',
    'DocumentTimeline.webidl',
    'DocumentType.webidl',
    'DOMCursor.webidl',
    'DOMError.webidl',
    'DOMException.webidl',
    'DOMImplementation.webidl',
    'DominatorTree.webidl',
    'DOMMatrix.webidl',
    'DOMParser.webidl',
    'DOMPoint.webidl',
    'DOMQuad.webidl',
    'DOMRect.webidl',
    'DOMRectList.webidl',
    'DOMRequest.webidl',
    'DOMStringList.webidl',
    'DOMStringMap.webidl',
    'DOMTokenList.webidl',
    'Downloads.webidl',
    'DragEvent.webidl',
    'DynamicsCompressorNode.webidl',
    'Element.webidl',
    'Event.webidl',
    'EventHandler.webidl',
    'EventListener.webidl',
    'EventSource.webidl',
    'EventTarget.webidl',
    'ExtendableEvent.webidl',
    'ExtendableMessageEvent.webidl',
    'FakePluginTagInit.webidl',
    'Fetch.webidl',
    'FetchEvent.webidl',
    'File.webidl',
    'FileList.webidl',
    'FileMode.webidl',
    'FileReader.webidl',
    'FileReaderSync.webidl',
    'FileSystem.webidl',
    'FileSystemDirectoryEntry.webidl',
    'FileSystemDirectoryReader.webidl',
    'FileSystemEntry.webidl',
    'FileSystemFileEntry.webidl',
    'FlyWebDiscoveryManager.webidl',
    'FlyWebFetchEvent.webidl',
    'FlyWebPublish.webidl',
    'FlyWebWebSocketEvent.webidl',
    'FocusEvent.webidl',
    'FontFace.webidl',
    'FontFaceSet.webidl',
    'FontFaceSource.webidl',
    'FormData.webidl',
    'Function.webidl',
    'GainNode.webidl',
    'Geolocation.webidl',
    'GeometryUtils.webidl',
    'GetUserMediaRequest.webidl',
    'Grid.webidl',
    'Headers.webidl',
    'HeapSnapshot.webidl',
    'History.webidl',
    'HTMLAllCollection.webidl',
    'HTMLAnchorElement.webidl',
    'HTMLAppletElement.webidl',
    'HTMLAreaElement.webidl',
    'HTMLAudioElement.webidl',
    'HTMLBaseElement.webidl',
    'HTMLBodyElement.webidl',
    'HTMLBRElement.webidl',
    'HTMLButtonElement.webidl',
    'HTMLCanvasElement.webidl',
    'HTMLCollection.webidl',
    'HTMLContentElement.webidl',
    'HTMLDataElement.webidl',
    'HTMLDataListElement.webidl',
    'HTMLDetailsElement.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',
    'HTMLMenuElement.webidl',
    'HTMLMenuItemElement.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',
    'HTMLShadowElement.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',
    'IDBFileHandle.webidl',
    'IDBFileRequest.webidl',
    'IDBIndex.webidl',
    'IDBKeyRange.webidl',
    'IDBMutableFile.webidl',
    'IDBObjectStore.webidl',
    'IDBOpenDBRequest.webidl',
    'IDBRequest.webidl',
    'IDBTransaction.webidl',
    'IDBVersionChangeEvent.webidl',
    'IdleDeadline.webidl',
    'IIRFilterNode.webidl',
    'ImageBitmap.webidl',
    'ImageBitmapRenderingContext.webidl',
    'ImageCapture.webidl',
    'ImageData.webidl',
    'ImageDocument.webidl',
    'InputEvent.webidl',
    'InputMethod.webidl',
    'InspectorUtils.webidl',
    'IntersectionObserver.webidl',
    'IterableIterator.webidl',
    'KeyAlgorithm.webidl',
    'KeyboardEvent.webidl',
    'KeyEvent.webidl',
    'KeyframeAnimationOptions.webidl',
    'KeyframeEffect.webidl',
    'KeyIdsInitData.webidl',
    'LegacyQueryInterface.webidl',
    'LinkStyle.webidl',
    'ListBoxObject.webidl',
    'LocalMediaStream.webidl',
    'Location.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',
    'MediaSource.webidl',
    'MediaStream.webidl',
    'MediaStreamAudioDestinationNode.webidl',
    'MediaStreamAudioSourceNode.webidl',
    'MediaStreamError.webidl',
    'MediaStreamTrack.webidl',
    'MediaTrackConstraintSet.webidl',
    'MediaTrackSettings.webidl',
    'MediaTrackSupportedConstraints.webidl',
    'MenuBoxObject.webidl',
    'MessageChannel.webidl',
    'MessageEvent.webidl',
    'MessagePort.webidl',
    'MimeType.webidl',
    'MimeTypeArray.webidl',
    'MouseEvent.webidl',
    'MouseScrollEvent.webidl',
    'MozPowerManager.webidl',
    'MozSelfSupport.webidl',
    'MozTetheringManager.webidl',
    'MozTimeManager.webidl',
    'MozWakeLock.webidl',
    'MutationEvent.webidl',
    'MutationObserver.webidl',
    'NamedNodeMap.webidl',
    'NativeOSFileInternals.webidl',
    'NetDashboard.webidl',
    'NetworkInformation.webidl',
    'NetworkOptions.webidl',
    'NodeFilter.webidl',
    'NodeIterator.webidl',
    'NodeList.webidl',
    'Notification.webidl',
    'NotificationEvent.webidl',
    'NotifyPaintEvent.webidl',
    'OfflineAudioCompletionEvent.webidl',
    'OfflineAudioContext.webidl',
    'OfflineResourceList.webidl',
    'OffscreenCanvas.webidl',
    'OscillatorNode.webidl',
    'PaintRequest.webidl',
    'PaintRequestList.webidl',
    'PannerNode.webidl',
    'ParentNode.webidl',
    'Performance.webidl',
    'PerformanceEntry.webidl',
    'PerformanceMark.webidl',
    'PerformanceMeasure.webidl',
    'PerformanceNavigation.webidl',
    'PerformanceNavigationTiming.webidl',
    'PerformanceObserver.webidl',
    'PerformanceObserverEntryList.webidl',
    'PerformanceResourceTiming.webidl',
    'PerformanceTiming.webidl',
    'PeriodicWave.webidl',
    'Permissions.webidl',
    'PermissionSettings.webidl',
    'PermissionStatus.webidl',
    'Plugin.webidl',
    'PluginArray.webidl',
    'PointerEvent.webidl',
    'PopupBoxObject.webidl',
    'Position.webidl',
    'PositionError.webidl',
    'Presentation.webidl',
    'PresentationAvailability.webidl',
    'PresentationConnection.webidl',
    'PresentationConnectionList.webidl',
    'PresentationDeviceInfoManager.webidl',
    'PresentationReceiver.webidl',
    'PresentationRequest.webidl',
    'ProcessingInstruction.webidl',
    'ProfileTimelineMarker.webidl',
    'PushEvent.webidl',
    'PushManager.webidl',
    'PushManager.webidl',
    'PushMessageData.webidl',
    'PushSubscription.webidl',
    'PushSubscriptionOptions.webidl',
    'RadioNodeList.webidl',
    'Range.webidl',
    'Rect.webidl',
    'Request.webidl',
    'Response.webidl',
    'RGBColor.webidl',
    'RTCStatsReport.webidl',
    'Screen.webidl',
    'ScreenOrientation.webidl',
    'ScriptProcessorNode.webidl',
    'ScrollAreaEvent.webidl',
    'ScrollBoxObject.webidl',
    'Selection.webidl',
    'ServiceWorker.webidl',
    'ServiceWorkerContainer.webidl',
    'ServiceWorkerGlobalScope.webidl',
    'ServiceWorkerRegistration.webidl',
    'SettingChangeNotification.webidl',
    'SettingsManager.webidl',
    'ShadowRoot.webidl',
    'SharedWorker.webidl',
    'SharedWorkerGlobalScope.webidl',
    'SimpleGestureEvent.webidl',
    'SocketCommon.webidl',
    'SourceBuffer.webidl',
    'SourceBufferList.webidl',
    'StereoPannerNode.webidl',
    'Storage.webidl',
    'StorageEvent.webidl',
    'StorageManager.webidl',
    'StorageType.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',
    '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',
    'SVGUnitTypeValues.webidl',
    'SVGURIReference.webidl',
    'SVGUseElement.webidl',
    'SVGViewElement.webidl',
    'SVGZoomAndPan.webidl',
    'SVGZoomAndPanValues.webidl',
    'SVGZoomEvent.webidl',
    'SystemUpdate.webidl',
    'TCPServerSocket.webidl',
    'TCPServerSocketEvent.webidl',
    'TCPSocket.webidl',
    'TCPSocketErrorEvent.webidl',
    'TCPSocketEvent.webidl',
    'Text.webidl',
    'TextClause.webidl',
    'TextDecoder.webidl',
    'TextEncoder.webidl',
    'TextTrack.webidl',
    'TextTrackCue.webidl',
    'TextTrackCueList.webidl',
    'TextTrackList.webidl',
    'ThreadSafeChromeUtils.webidl',
    'TimeEvent.webidl',
    'TimeRanges.webidl',
    'Touch.webidl',
    'TouchEvent.webidl',
    'TouchList.webidl',
    'TransitionEvent.webidl',
    'TreeBoxObject.webidl',
    'TreeColumn.webidl',
    'TreeColumns.webidl',
    'TreeWalker.webidl',
    'U2F.webidl',
    'UDPMessageEvent.webidl',
    'UDPSocket.webidl',
    'UIEvent.webidl',
    'URL.webidl',
    'URLSearchParams.webidl',
    'ValidityState.webidl',
    'VideoPlaybackQuality.webidl',
    'VideoStreamTrack.webidl',
    'VideoTrack.webidl',
    'VideoTrackList.webidl',
    'VTTCue.webidl',
    'VTTRegion.webidl',
    'WaveShaperNode.webidl',
    'WebComponents.webidl',
    'WebGL2RenderingContext.webidl',
    'WebGLRenderingContext.webidl',
    'WebKitCSSMatrix.webidl',
    'WebSocket.webidl',
    'WheelEvent.webidl',
    'WidevineCDMManifest.webidl',
    'WifiOptions.webidl',
    'WindowOrWorkerGlobalScope.webidl',
    'WindowRoot.webidl',
    'Worker.webidl',
    'WorkerDebuggerGlobalScope.webidl',
    'WorkerGlobalScope.webidl',
    'WorkerLocation.webidl',
    'WorkerNavigator.webidl',
    'Worklet.webidl',
    'WorkletGlobalScope.webidl',
    'XMLDocument.webidl',
    'XMLHttpRequest.webidl',
    'XMLHttpRequestEventTarget.webidl',
    'XMLHttpRequestUpload.webidl',
    'XMLSerializer.webidl',
    'XMLStylesheetProcessingInstruction.webidl',
    'XPathEvaluator.webidl',
    'XPathExpression.webidl',
    'XPathNSResolver.webidl',
    'XPathResult.webidl',
    'XSLTProcessor.webidl',
    'XULCommandEvent.webidl',
    'XULDocument.webidl',
    'XULElement.webidl',
]

if CONFIG['MOZ_AUDIO_CHANNEL_MANAGER']:
    WEBIDL_FILES += [
        'AudioChannelManager.webidl',
    ]

if CONFIG['MOZ_WEBRTC']:
    WEBIDL_FILES += [
        'DataChannel.webidl',
        'MediaStreamList.webidl',
        'PeerConnectionImpl.webidl',
        'PeerConnectionImplEnums.webidl',
        'PeerConnectionObserver.webidl',
        'PeerConnectionObserverEnums.webidl',
        'RTCCertificate.webidl',
        'RTCConfiguration.webidl',
        'RTCDTMFSender.webidl',
        'RTCIceCandidate.webidl',
        'RTCIdentityAssertion.webidl',
        'RTCIdentityProvider.webidl',
        'RTCPeerConnection.webidl',
        'RTCPeerConnectionStatic.webidl',
        'RTCRtpReceiver.webidl',
        'RTCRtpSender.webidl',
        'RTCSessionDescription.webidl',
        'WebrtcDeprecated.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',
    ]

if CONFIG['MOZ_GAMEPAD']:
    WEBIDL_FILES += [
        'Gamepad.webidl',
        'GamepadPose.webidl',
        'GamepadServiceTest.webidl'
    ]

WEBIDL_FILES += [
    'CloseEvent.webidl',
    'CustomEvent.webidl',
    'DeviceOrientationEvent.webidl',
    'HashChangeEvent.webidl',
    'MozSettingsEvent.webidl',
    'PageTransitionEvent.webidl',
    'PopStateEvent.webidl',
    'PopupBlockedEvent.webidl',
    'ProgressEvent.webidl',
    'RecordErrorEvent.webidl',
    'StyleRuleChangeEvent.webidl',
    'StyleSheetApplicableStateChangeEvent.webidl',
    'StyleSheetChangeEvent.webidl',
]

# We only expose our prefable test interfaces in debug builds, just to be on
# the safe side.
if CONFIG['MOZ_DEBUG']:
    WEBIDL_FILES += ['TestFunctions.webidl',
                     'TestInterfaceJS.webidl',
                     'TestInterfaceJSDictionaries.webidl',
                     'TestInterfaceJSMaplikeSetlikeIterable.webidl']

if CONFIG['MOZ_SECUREELEMENT']:
    WEBIDL_FILES += [
         'SecureElement.webidl',
         'SecureElementManager.webidl',
    ]

WEBIDL_FILES += [
    'InstallTrigger.webidl',
]

GENERATED_EVENTS_WEBIDL_FILES = [
    'AnimationPlaybackEvent.webidl',
    'AutocompleteErrorEvent.webidl',
    'BlobEvent.webidl',
    'CaretStateChangedEvent.webidl',
    'CloseEvent.webidl',
    'DeviceLightEvent.webidl',
    'DeviceOrientationEvent.webidl',
    'DeviceProximityEvent.webidl',
    'DownloadEvent.webidl',
    'ErrorEvent.webidl',
    'FontFaceSetLoadEvent.webidl',
    'HashChangeEvent.webidl',
    'HiddenPluginEvent.webidl',
    'ImageCaptureErrorEvent.webidl',
    'MediaStreamEvent.webidl',
    'MediaStreamTrackEvent.webidl',
    'MozSettingsEvent.webidl',
    'MozSettingsTransactionEvent.webidl',
    'PageTransitionEvent.webidl',
    'PerformanceEntryEvent.webidl',
    'PluginCrashedEvent.webidl',
    'PopStateEvent.webidl',
    'PopupBlockedEvent.webidl',
    'PresentationConnectionAvailableEvent.webidl',
    'PresentationConnectionCloseEvent.webidl',
    'ProgressEvent.webidl',
    'RecordErrorEvent.webidl',
    'ScrollViewChangeEvent.webidl',
    'ServiceWorkerMessageEvent.webidl',
    'StyleRuleChangeEvent.webidl',
    'StyleSheetApplicableStateChangeEvent.webidl',
    'StyleSheetChangeEvent.webidl',
    'TCPServerSocketEvent.webidl',
    'TCPSocketErrorEvent.webidl',
    'TCPSocketEvent.webidl',
    'TrackEvent.webidl',
    'UDPMessageEvent.webidl',
    'UserProximityEvent.webidl',
    'WebGLContextEvent.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['MOZ_GAMEPAD']:
    GENERATED_EVENTS_WEBIDL_FILES += [
        'GamepadAxisMoveEvent.webidl',
        'GamepadButtonEvent.webidl',
        'GamepadEvent.webidl',
    ]

if CONFIG['MOZ_BUILD_APP'] in ['xulrunner'] or CONFIG['MOZ_PHOENIX'] or CONFIG['MOZ_SUITE']:
    WEBIDL_FILES += [
        'BrowserFeedWriter.webidl',
    ]

if CONFIG['MOZ_PHOENIX'] or CONFIG['MOZ_XULRUNNER']:
    WEBIDL_FILES += [
        'External.webidl',
    ]

if CONFIG['ACCESSIBILITY']:
    WEBIDL_FILES += [
        'AccessibleNode.webidl',
    ]