# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//third_party/WebKit/Source/bindings/bindings.gni")
import("//third_party/WebKit/Source/core/core.gni")

# The paths in this file are absolute since this file is imported and the
# file lists must be valid from multple "current directories".

bindings_core_output_dir = "$bindings_output_dir/core"

# Global constructors
core_global_constructors_original_interfaces = [
  "Window",
  "SharedWorkerGlobalScope",
  "DedicatedWorkerGlobalScope",
]

# The interfaces aren't technically files, but we can treat them as file names
# to get process_file_template to generate lists of IDL files corresponding
# to each interface.
core_global_constructors_generated_idl_files =
    process_file_template(
        core_global_constructors_original_interfaces,
        [ "$blink_core_output_dir/{{source_name_part}}CoreConstructors.idl" ])

core_idl_files =
    get_path_info([
                    "animation/Animation.idl",
                    "animation/AnimationEffectReadOnly.idl",
                    "animation/AnimationEffectTiming.idl",
                    "animation/AnimationEffectTimingReadOnly.idl",
                    "animation/AnimationTimeline.idl",
                    "animation/DocumentTimeline.idl",
                    "animation/KeyframeEffect.idl",
                    "animation/KeyframeEffectReadOnly.idl",
                    "animation/ScrollTimeline.idl",
                    "clipboard/Clipboard.idl",
                    "clipboard/DataTransfer.idl",
                    "clipboard/DataTransferItemList.idl",
                    "css/CSS.idl",
                    "css/CSSConditionRule.idl",
                    "css/CSSFontFaceRule.idl",
                    "css/CSSGroupingRule.idl",
                    "css/CSSImportRule.idl",
                    "css/CSSKeyframeRule.idl",
                    "css/CSSKeyframesRule.idl",
                    "css/CSSMediaRule.idl",
                    "css/CSSNamespaceRule.idl",
                    "css/CSSPageRule.idl",
                    "css/CSSRule.idl",
                    "css/CSSRuleList.idl",
                    "css/CSSStyleDeclaration.idl",
                    "css/CSSStyleRule.idl",
                    "css/CSSStyleSheet.idl",
                    "css/CSSSupportsRule.idl",
                    "css/CSSViewportRule.idl",
                    "css/FontFace.idl",
                    "css/FontFaceSet.idl",
                    "css/FontFaceSetLoadEvent.idl",
                    "css/MediaList.idl",
                    "css/MediaQueryList.idl",
                    "css/MediaQueryListEvent.idl",
                    "css/StyleMedia.idl",
                    "css/StyleSheet.idl",
                    "css/StyleSheetList.idl",
                    "css/cssom/CSSImageValue.idl",
                    "css/cssom/CSSKeywordValue.idl",
                    "css/cssom/CSSMatrixComponent.idl",
                    "css/cssom/CSSNumericValue.idl",
                    "css/cssom/CSSPerspective.idl",
                    "css/cssom/CSSPositionValue.idl",
                    "css/cssom/CSSResourceValue.idl",
                    "css/cssom/CSSRotation.idl",
                    "css/cssom/CSSScale.idl",
                    "css/cssom/CSSSkew.idl",
                    "css/cssom/CSSStyleValue.idl",
                    "css/cssom/CSSTransformComponent.idl",
                    "css/cssom/CSSTransformValue.idl",
                    "css/cssom/CSSTranslation.idl",
                    "css/cssom/CSSURLImageValue.idl",
                    "css/cssom/CSSUnitValue.idl",
                    "css/cssom/CSSUnparsedValue.idl",
                    "css/cssom/CSSVariableReferenceValue.idl",
                    "css/cssom/StylePropertyMap.idl",
                    "css/cssom/StylePropertyMapReadonly.idl",
                    "dom/AccessibleNode.idl",
                    "dom/AccessibleNodeList.idl",
                    "dom/Attr.idl",
                    "dom/CDATASection.idl",
                    "dom/CharacterData.idl",
                    "dom/Comment.idl",
                    "dom/DOMException.idl",
                    "dom/DOMImplementation.idl",
                    "dom/DOMStringList.idl",
                    "dom/DOMStringMap.idl",
                    "dom/DOMTokenList.idl",
                    "dom/Document.idl",
                    "dom/DocumentFragment.idl",
                    "dom/DocumentType.idl",
                    "dom/Element.idl",
                    "dom/FrameRequestCallback.idl",
                    "dom/IdleDeadline.idl",
                    "dom/IdleRequestCallback.idl",
                    "dom/Iterator.idl",
                    "dom/MessageChannel.idl",
                    "dom/MessagePort.idl",
                    "dom/MutationObserver.idl",
                    "dom/MutationRecord.idl",
                    "dom/NamedNodeMap.idl",
                    "dom/Node.idl",
                    "dom/NodeFilter.idl",
                    "dom/NodeIterator.idl",
                    "dom/NodeList.idl",
                    "dom/ProcessingInstruction.idl",
                    "dom/Range.idl",
                    "dom/ShadowRoot.idl",
                    "dom/StaticRange.idl",
                    "dom/Text.idl",
                    "dom/Touch.idl",
                    "dom/TouchList.idl",
                    "dom/TreeWalker.idl",
                    "dom/XMLDocument.idl",
                    "editing/Selection.idl",
                    "events/AnimationEvent.idl",
                    "events/AnimationPlaybackEvent.idl",
                    "events/ApplicationCacheErrorEvent.idl",
                    "events/BeforeUnloadEvent.idl",
                    "events/ClipboardEvent.idl",
                    "events/CompositionEvent.idl",
                    "events/CustomEvent.idl",
                    "events/DragEvent.idl",
                    "events/ErrorEvent.idl",
                    "events/Event.idl",
                    "events/EventTarget.idl",
                    "events/FocusEvent.idl",
                    "events/HashChangeEvent.idl",
                    "events/InputEvent.idl",
                    "events/KeyboardEvent.idl",
                    "events/MessageEvent.idl",
                    "events/MouseEvent.idl",
                    "events/MutationEvent.idl",
                    "events/PageTransitionEvent.idl",
                    "events/PointerEvent.idl",
                    "events/PopStateEvent.idl",
                    "events/ProgressEvent.idl",
                    "events/PromiseRejectionEvent.idl",
                    "events/ResourceProgressEvent.idl",
                    "events/SecurityPolicyViolationEvent.idl",
                    "events/TextEvent.idl",
                    "events/TouchEvent.idl",
                    "events/TransitionEvent.idl",
                    "events/UIEvent.idl",
                    "events/WheelEvent.idl",
                    "fileapi/Blob.idl",
                    "fileapi/BlobCallback.idl",
                    "fileapi/File.idl",
                    "fileapi/FileList.idl",
                    "fileapi/FileReader.idl",
                    "fileapi/FileReaderSync.idl",
                    "frame/BarProp.idl",
                    "frame/DeprecationReport.idl",
                    "frame/External.idl",
                    "frame/History.idl",
                    "frame/Location.idl",
                    "frame/Report.idl",
                    "frame/ReportBody.idl",
                    "frame/ReportingObserver.idl",
                    "frame/VisualViewport.idl",
                    "geometry/DOMMatrix.idl",
                    "geometry/DOMMatrixReadOnly.idl",
                    "geometry/DOMPoint.idl",
                    "geometry/DOMPointReadOnly.idl",
                    "geometry/DOMQuad.idl",
                    "geometry/DOMRect.idl",
                    "geometry/DOMRectList.idl",
                    "geometry/DOMRectReadOnly.idl",
                    "html/FormData.idl",
                    "html/HTMLAllCollection.idl",
                    "html/HTMLAnchorElement.idl",
                    "html/HTMLAreaElement.idl",
                    "html/HTMLAudioElement.idl",
                    "html/HTMLBRElement.idl",
                    "html/HTMLBaseElement.idl",
                    "html/HTMLBodyElement.idl",
                    "html/HTMLButtonElement.idl",
                    "html/HTMLCollection.idl",
                    "html/HTMLContentElement.idl",
                    "html/HTMLDListElement.idl",
                    "html/HTMLDataElement.idl",
                    "html/HTMLDataListElement.idl",
                    "html/HTMLDetailsElement.idl",
                    "html/HTMLDialogElement.idl",
                    "html/HTMLDirectoryElement.idl",
                    "html/HTMLDivElement.idl",
                    "html/HTMLDocument.idl",
                    "html/HTMLElement.idl",
                    "html/HTMLEmbedElement.idl",
                    "html/HTMLFieldSetElement.idl",
                    "html/HTMLFontElement.idl",
                    "html/HTMLFormControlsCollection.idl",
                    "html/HTMLFormElement.idl",
                    "html/HTMLFrameElement.idl",
                    "html/HTMLFrameSetElement.idl",
                    "html/HTMLHRElement.idl",
                    "html/HTMLHeadElement.idl",
                    "html/HTMLHeadingElement.idl",
                    "html/HTMLHtmlElement.idl",
                    "html/HTMLImageElement.idl",
                    "html/HTMLLIElement.idl",
                    "html/HTMLLabelElement.idl",
                    "html/HTMLLegendElement.idl",
                    "html/HTMLLinkElement.idl",
                    "html/HTMLMapElement.idl",
                    "html/HTMLMarqueeElement.idl",
                    "html/HTMLMenuElement.idl",
                    "html/HTMLMetaElement.idl",
                    "html/HTMLMeterElement.idl",
                    "html/HTMLModElement.idl",
                    "html/HTMLOListElement.idl",
                    "html/HTMLObjectElement.idl",
                    "html/HTMLOptGroupElement.idl",
                    "html/HTMLOptionElement.idl",
                    "html/HTMLOptionsCollection.idl",
                    "html/HTMLOutputElement.idl",
                    "html/HTMLParagraphElement.idl",
                    "html/HTMLParamElement.idl",
                    "html/HTMLPictureElement.idl",
                    "html/HTMLPreElement.idl",
                    "html/HTMLProgressElement.idl",
                    "html/HTMLQuoteElement.idl",
                    "html/HTMLScriptElement.idl",
                    "html/HTMLSelectElement.idl",
                    "html/HTMLShadowElement.idl",
                    "html/HTMLSlotElement.idl",
                    "html/HTMLSourceElement.idl",
                    "html/HTMLSpanElement.idl",
                    "html/HTMLStyleElement.idl",
                    "html/HTMLTableCaptionElement.idl",
                    "html/HTMLTableCellElement.idl",
                    "html/HTMLTableColElement.idl",
                    "html/HTMLTableElement.idl",
                    "html/HTMLTableRowElement.idl",
                    "html/HTMLTableSectionElement.idl",
                    "html/HTMLTemplateElement.idl",
                    "html/HTMLTextAreaElement.idl",
                    "html/HTMLTitleElement.idl",
                    "html/HTMLTrackElement.idl",
                    "html/HTMLUListElement.idl",
                    "html/HTMLUnknownElement.idl",
                    "html/ImageData.idl",
                    "html/RadioNodeList.idl",
                    "html/TextMetrics.idl",
                    "html/TimeRanges.idl",
                    "html/ValidityState.idl",
                    "html/VoidCallback.idl",
                    "html/custom/CustomElementRegistry.idl",
                    "html/media/MediaError.idl",
                    "html/track/AudioTrackList.idl",
                    "html/track/TextTrack.idl",
                    "html/track/TextTrackCue.idl",
                    "html/track/TextTrackCueList.idl",
                    "html/track/TextTrackList.idl",
                    "html/track/TrackEvent.idl",
                    "html/track/VideoTrackList.idl",
                    "html/track/vtt/VTTCue.idl",
                    "html/track/vtt/VTTRegion.idl",
                    "imagebitmap/ImageBitmap.idl",
                    "input/InputDeviceCapabilities.idl",
                    "inspector/InspectorOverlayHost.idl",
                    "intersection_observer/IntersectionObserver.idl",
                    "intersection_observer/IntersectionObserverEntry.idl",
                    "loader/appcache/ApplicationCache.idl",
                    "mojo/Mojo.idl",
                    "mojo/MojoHandle.idl",
                    "mojo/MojoWatcher.idl",
                    "mojo/test/MojoInterfaceInterceptor.idl",
                    "mojo/test/MojoInterfaceRequestEvent.idl",
                    "page/PagePopupController.idl",
                    "page/scrolling/ScrollState.idl",
                    "page/scrolling/ScrollStateCallback.idl",
                    "resize_observer/ResizeObserver.idl",
                    "resize_observer/ResizeObserverEntry.idl",
                    "streams/UnderlyingSourceBase.idl",
                    "svg/SVGAElement.idl",
                    "svg/SVGAngle.idl",
                    "svg/SVGAnimateElement.idl",
                    "svg/SVGAnimateMotionElement.idl",
                    "svg/SVGAnimateTransformElement.idl",
                    "svg/SVGAnimatedAngle.idl",
                    "svg/SVGAnimatedBoolean.idl",
                    "svg/SVGAnimatedEnumeration.idl",
                    "svg/SVGAnimatedInteger.idl",
                    "svg/SVGAnimatedLength.idl",
                    "svg/SVGAnimatedLengthList.idl",
                    "svg/SVGAnimatedNumber.idl",
                    "svg/SVGAnimatedNumberList.idl",
                    "svg/SVGAnimatedPreserveAspectRatio.idl",
                    "svg/SVGAnimatedRect.idl",
                    "svg/SVGAnimatedString.idl",
                    "svg/SVGAnimatedTransformList.idl",
                    "svg/SVGAnimationElement.idl",
                    "svg/SVGCircleElement.idl",
                    "svg/SVGClipPathElement.idl",
                    "svg/SVGComponentTransferFunctionElement.idl",
                    "svg/SVGDefsElement.idl",
                    "svg/SVGDescElement.idl",
                    "svg/SVGDiscardElement.idl",
                    "svg/SVGElement.idl",
                    "svg/SVGEllipseElement.idl",
                    "svg/SVGFEBlendElement.idl",
                    "svg/SVGFEColorMatrixElement.idl",
                    "svg/SVGFEComponentTransferElement.idl",
                    "svg/SVGFECompositeElement.idl",
                    "svg/SVGFEConvolveMatrixElement.idl",
                    "svg/SVGFEDiffuseLightingElement.idl",
                    "svg/SVGFEDisplacementMapElement.idl",
                    "svg/SVGFEDistantLightElement.idl",
                    "svg/SVGFEDropShadowElement.idl",
                    "svg/SVGFEFloodElement.idl",
                    "svg/SVGFEFuncAElement.idl",
                    "svg/SVGFEFuncBElement.idl",
                    "svg/SVGFEFuncGElement.idl",
                    "svg/SVGFEFuncRElement.idl",
                    "svg/SVGFEGaussianBlurElement.idl",
                    "svg/SVGFEImageElement.idl",
                    "svg/SVGFEMergeElement.idl",
                    "svg/SVGFEMergeNodeElement.idl",
                    "svg/SVGFEMorphologyElement.idl",
                    "svg/SVGFEOffsetElement.idl",
                    "svg/SVGFEPointLightElement.idl",
                    "svg/SVGFESpecularLightingElement.idl",
                    "svg/SVGFESpotLightElement.idl",
                    "svg/SVGFETileElement.idl",
                    "svg/SVGFETurbulenceElement.idl",
                    "svg/SVGFilterElement.idl",
                    "svg/SVGForeignObjectElement.idl",
                    "svg/SVGGElement.idl",
                    "svg/SVGGeometryElement.idl",
                    "svg/SVGGradientElement.idl",
                    "svg/SVGGraphicsElement.idl",
                    "svg/SVGImageElement.idl",
                    "svg/SVGLength.idl",
                    "svg/SVGLengthList.idl",
                    "svg/SVGLineElement.idl",
                    "svg/SVGLinearGradientElement.idl",
                    "svg/SVGMPathElement.idl",
                    "svg/SVGMarkerElement.idl",
                    "svg/SVGMaskElement.idl",
                    "svg/SVGMatrix.idl",
                    "svg/SVGMetadataElement.idl",
                    "svg/SVGNumber.idl",
                    "svg/SVGNumberList.idl",
                    "svg/SVGPathElement.idl",
                    "svg/SVGPatternElement.idl",
                    "svg/SVGPoint.idl",
                    "svg/SVGPointList.idl",
                    "svg/SVGPolygonElement.idl",
                    "svg/SVGPolylineElement.idl",
                    "svg/SVGPreserveAspectRatio.idl",
                    "svg/SVGRadialGradientElement.idl",
                    "svg/SVGRect.idl",
                    "svg/SVGRectElement.idl",
                    "svg/SVGSVGElement.idl",
                    "svg/SVGScriptElement.idl",
                    "svg/SVGSetElement.idl",
                    "svg/SVGStopElement.idl",
                    "svg/SVGStringList.idl",
                    "svg/SVGStyleElement.idl",
                    "svg/SVGSwitchElement.idl",
                    "svg/SVGSymbolElement.idl",
                    "svg/SVGTSpanElement.idl",
                    "svg/SVGTextContentElement.idl",
                    "svg/SVGTextElement.idl",
                    "svg/SVGTextPathElement.idl",
                    "svg/SVGTextPositioningElement.idl",
                    "svg/SVGTitleElement.idl",
                    "svg/SVGTransform.idl",
                    "svg/SVGTransformList.idl",
                    "svg/SVGUnitTypes.idl",
                    "svg/SVGUseElement.idl",
                    "svg/SVGViewElement.idl",
                    "timing/MemoryInfo.idl",
                    "timing/Performance.idl",
                    "timing/PerformanceEntry.idl",
                    "timing/PerformanceLongTaskTiming.idl",
                    "timing/PerformanceMark.idl",
                    "timing/PerformanceMeasure.idl",
                    "timing/PerformanceNavigation.idl",
                    "timing/PerformanceNavigationTiming.idl",
                    "timing/PerformanceObserver.idl",
                    "timing/PerformanceObserverEntryList.idl",
                    "timing/PerformancePaintTiming.idl",
                    "timing/PerformanceResourceTiming.idl",
                    "timing/PerformanceServerTiming.idl",
                    "timing/PerformanceTiming.idl",
                    "timing/TaskAttributionTiming.idl",
                    "timing/WorkerPerformance.idl",
                    "typed_arrays/ArrayBuffer.idl",
                    "typed_arrays/ArrayBufferView.idl",
                    "typed_arrays/DataView.idl",
                    "typed_arrays/Float32Array.idl",
                    "typed_arrays/Float64Array.idl",
                    "typed_arrays/Int16Array.idl",
                    "typed_arrays/Int32Array.idl",
                    "typed_arrays/Int8Array.idl",
                    "typed_arrays/SharedArrayBuffer.idl",
                    "typed_arrays/Uint16Array.idl",
                    "typed_arrays/Uint32Array.idl",
                    "typed_arrays/Uint8Array.idl",
                    "typed_arrays/Uint8ClampedArray.idl",
                    "url/URLSearchParams.idl",
                    "workers/SharedWorker.idl",
                    "workers/Worker.idl",
                    "workers/WorkerLocation.idl",
                    "workers/Worklet.idl",
                    "workers/WorkletGlobalScope.idl",
                    "xml/DOMParser.idl",
                    "xml/XMLSerializer.idl",
                    "xml/XPathEvaluator.idl",
                    "xml/XPathExpression.idl",
                    "xml/XPathNSResolver.idl",
                    "xml/XPathResult.idl",
                    "xml/XSLTProcessor.idl",
                    "xmlhttprequest/XMLHttpRequest.idl",
                    "xmlhttprequest/XMLHttpRequestEventTarget.idl",
                    "xmlhttprequest/XMLHttpRequestUpload.idl",
                  ],
                  "abspath")

# Files for which bindings (.cpp and .h files) will be generated.
core_idl_with_modules_dependency_files =
    get_path_info([
                    "clipboard/DataTransferItem.idl",
                    "frame/Navigator.idl",
                    "frame/Screen.idl",
                    "frame/Window.idl",
                    "html/HTMLCanvasElement.idl",
                    "html/HTMLIFrameElement.idl",
                    "html/HTMLInputElement.idl",
                    "html/HTMLMediaElement.idl",
                    "html/HTMLVideoElement.idl",
                    "html/track/AudioTrack.idl",
                    "html/track/VideoTrack.idl",
                    "inspector/DevToolsHost.idl",
                    "offscreencanvas/OffscreenCanvas.idl",
                    "url/URL.idl",
                    "workers/DedicatedWorkerGlobalScope.idl",
                    "workers/SharedWorkerGlobalScope.idl",
                    "workers/WorkerGlobalScope.idl",
                    "workers/WorkerNavigator.idl",
                  ],
                  "abspath")

# 'partial interface', target (right side of) 'implements', and
# interfaces with static bindings (in bindings/core/v8/)
core_dependency_idl_files =
    get_path_info([
                    "animation/DocumentAnimation.idl",
                    "animation/ElementAnimation.idl",
                    "css/FontFaceSource.idl",
                    "css/PropertyRegistration.idl",
                    "css/cssom/CSSUnitValues.idl",
                    "css/cssom/WindowGetComputedStyle.idl",
                    "dom/ChildNode.idl",
                    "dom/DocumentOrShadowRoot.idl",
                    "dom/GlobalEventHandlers.idl",
                    "dom/NoncedElement.idl",
                    "dom/NonDocumentTypeChildNode.idl",
                    "dom/NonElementParentNode.idl",
                    "dom/ParentNode.idl",
                    "events/EventListener.idl",
                    "events/NavigatorEvents.idl",
                    "fileapi/URLFileAPI.idl",
                    "frame/NavigatorClipboard.idl",
                    "frame/NavigatorConcurrentHardware.idl",
                    "frame/NavigatorCookies.idl",
                    "frame/NavigatorID.idl",
                    "frame/NavigatorLanguage.idl",
                    "frame/NavigatorOnLine.idl",
                    "frame/WindowBase64.idl",
                    "frame/WindowEventHandlers.idl",
                    "frame/WindowTimers.idl",
                    "fullscreen/DocumentFullscreen.idl",
                    "fullscreen/ElementFullscreen.idl",
                    "html/HTMLHyperlinkElementUtils.idl",
                    "imagebitmap/ImageBitmapFactories.idl",
                    "svg/SVGDocument.idl",
                    "svg/SVGFilterPrimitiveStandardAttributes.idl",
                    "svg/SVGFitToViewBox.idl",
                    "svg/SVGTests.idl",
                    "svg/SVGURIReference.idl",
                    "svg/SVGZoomAndPan.idl",
                    "timing/SharedWorkerPerformance.idl",
                    "timing/WindowPerformance.idl",
                    "timing/WorkerGlobalScopePerformance.idl",
                    "url/URLUtilsReadOnly.idl",
                    "workers/AbstractWorker.idl",
                    "xml/DocumentXPathEvaluator.idl",
                  ],
                  "abspath")

# IDL files that only have typedefs/enums.
core_typedefs_enums_only_idl_files =
    get_path_info([
                    "dom/CommonDefinitions.idl",
                    "timing/DOMHighResTimeStamp.idl",
                    "timing/PerformanceEntryList.idl",
                  ],
                  "abspath")

core_callback_function_idl_files =
    get_path_info([ "dom/FunctionStringCallback.idl" ], "abspath")

core_dictionary_idl_files =
    get_path_info([
                    "animation/AnimationEffectTimingProperties.idl",
                    "animation/ComputedTimingProperties.idl",
                    "animation/DocumentTimelineOptions.idl",
                    "animation/KeyframeAnimationOptions.idl",
                    "animation/KeyframeEffectOptions.idl",
                    "animation/ScrollTimelineOptions.idl",
                    "css/FontFaceDescriptors.idl",
                    "css/FontFaceSetLoadEventInit.idl",
                    "css/MediaQueryListEventInit.idl",
                    "css/PropertyDescriptor.idl",
                    "css/cssom/CSSMatrixComponentOptions.idl",
                    "dom/ElementCreationOptions.idl",
                    "dom/ElementDefinitionOptions.idl",
                    "dom/ElementRegistrationOptions.idl",
                    "dom/GetRootNodeOptions.idl",
                    "dom/IdleRequestOptions.idl",
                    "dom/MutationObserverInit.idl",
                    "dom/ShadowRootInit.idl",
                    "dom/TouchInit.idl",
                    "events/AddEventListenerOptions.idl",
                    "events/AnimationEventInit.idl",
                    "events/AnimationPlaybackEventInit.idl",
                    "events/ApplicationCacheErrorEventInit.idl",
                    "events/ClipboardEventInit.idl",
                    "events/CompositionEventInit.idl",
                    "events/CustomEventInit.idl",
                    "events/DragEventInit.idl",
                    "events/ErrorEventInit.idl",
                    "events/EventInit.idl",
                    "events/EventListenerOptions.idl",
                    "events/EventModifierInit.idl",
                    "events/FocusEventInit.idl",
                    "events/HashChangeEventInit.idl",
                    "events/InputEventInit.idl",
                    "events/KeyboardEventInit.idl",
                    "events/MessageEventInit.idl",
                    "events/MouseEventInit.idl",
                    "events/PageTransitionEventInit.idl",
                    "events/PointerEventInit.idl",
                    "events/PopStateEventInit.idl",
                    "events/ProgressEventInit.idl",
                    "events/PromiseRejectionEventInit.idl",
                    "events/SecurityPolicyViolationEventInit.idl",
                    "events/TouchEventInit.idl",
                    "events/TransitionEventInit.idl",
                    "events/UIEventInit.idl",
                    "events/WheelEventInit.idl",
                    "fileapi/BlobPropertyBag.idl",
                    "fileapi/FilePropertyBag.idl",
                    "frame/ScrollIntoViewOptions.idl",
                    "frame/ScrollOptions.idl",
                    "frame/ScrollToOptions.idl",
                    "geometry/DOMMatrixInit.idl",
                    "geometry/DOMPointInit.idl",
                    "geometry/DOMQuadInit.idl",
                    "geometry/DOMRectInit.idl",
                    "html/AssignedNodesOptions.idl",
                    "html/ImageDataColorSettings.idl",
                    "html/canvas/CanvasContextCreationAttributes.idl",
                    "html/track/TrackEventInit.idl",
                    "imagebitmap/ImageBitmapOptions.idl",
                    "input/InputDeviceCapabilitiesInit.idl",
                    "intersection_observer/IntersectionObserverInit.idl",
                    "mojo/MojoCreateDataPipeOptions.idl",
                    "mojo/MojoCreateDataPipeResult.idl",
                    "mojo/MojoCreateMessagePipeResult.idl",
                    "mojo/MojoCreateSharedBufferResult.idl",
                    "mojo/MojoDiscardDataOptions.idl",
                    "mojo/MojoDuplicateBufferHandleOptions.idl",
                    "mojo/MojoHandleSignals.idl",
                    "mojo/MojoMapBufferResult.idl",
                    "mojo/MojoReadDataOptions.idl",
                    "mojo/MojoReadDataResult.idl",
                    "mojo/MojoReadMessageFlags.idl",
                    "mojo/MojoReadMessageResult.idl",
                    "mojo/MojoWriteDataOptions.idl",
                    "mojo/MojoWriteDataResult.idl",
                    "mojo/test/MojoInterfaceRequestEventInit.idl",
                    "offscreencanvas/ImageEncodeOptions.idl",
                    "page/scrolling/ScrollStateInit.idl",
                    "timing/PerformanceObserverInit.idl",
                    "workers/WorkletOptions.idl",
                  ],
                  "abspath")

core_testing_dictionary_idl_files =
    get_path_info([
                    "testing/InternalDictionary.idl",
                    "testing/InternalDictionaryDerived.idl",
                    "testing/InternalDictionaryDerivedDerived.idl",
                  ],
                  "abspath")

webcore_testing_idl_files =
    get_path_info([
                    "testing/CallbackFunctionTest.idl",
                    "testing/DeathAwareScriptWrappable.idl",
                    "testing/DictionaryTest.idl",
                    "testing/GCObservation.idl",
                    "testing/GarbageCollectedScriptWrappable.idl",
                    "testing/InternalSettings.idl",
                    "testing/LayerRect.idl",
                    "testing/LayerRectList.idl",
                    "testing/OriginTrialsTest.idl",
                    "testing/RecordTest.idl",
                    "testing/SequenceTest.idl",
                    "testing/TypeConversions.idl",
                    "testing/UnionTypesTest.idl",
                  ],
                  "abspath")

# Testing IDL files that have partial interfaces in modules.
webcore_testing_idl_with_modules_dependency_files =
    get_path_info([
                    "testing/Internals.idl",
                    "testing/WorkerInternals.idl",
                  ],
                  "abspath")

webcore_testing_dependency_idl_files =
    get_path_info([ "testing/OriginTrialsTestPartial.idl" ], "abspath")

generated_webcore_testing_idl_files =
    get_path_info(
        [
          "$blink_core_output_dir/testing/InternalRuntimeFlags.idl",
          "$blink_core_output_dir/testing/InternalSettingsGenerated.idl",
        ],
        "abspath")

core_definition_idl_files = core_dictionary_idl_files + core_idl_files +
                            core_idl_with_modules_dependency_files

core_testing_definition_idl_files =
    core_testing_dictionary_idl_files + webcore_testing_idl_files +
    webcore_testing_idl_with_modules_dependency_files

# Static IDL files
core_static_interface_idl_files =
    core_definition_idl_files + core_testing_definition_idl_files +
    core_callback_function_idl_files + core_typedefs_enums_only_idl_files

core_static_dependency_idl_files =
    core_dependency_idl_files + webcore_testing_dependency_idl_files

# Generated IDL files
core_generated_interface_idl_files = generated_webcore_testing_idl_files  # interfaces
core_generated_dependency_idl_files =
    core_global_constructors_generated_idl_files  # partial interfaces

# Dependency IDL files: don't generate individual bindings, but do process
# in IDL dependency computation, and count as build dependencies
# 'core_dependency_idl_files' is already used in Source/core, so avoid
# collision
core_all_dependency_idl_files =
    core_static_dependency_idl_files + core_generated_dependency_idl_files
