# 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 size and the order in the following list must match to the previous one.
core_global_constructors_original_interface_basenames = [
  "window",
  "shared_worker_global_scope",
  "dedicated_worker_global_scope",
]

# 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_interface_basenames,
        [ "$blink_core_output_dir/{{source_name_part}}_core_constructors.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/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/IdleDeadline.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/TreeWalker.idl",
                    "dom/XMLDocument.idl",
                    "dom/events/CustomEvent.idl",
                    "dom/events/Event.idl",
                    "dom/events/EventTarget.idl",
                    "dom/trustedtypes/TrustedHTML.idl",
                    "dom/trustedtypes/TrustedURL.idl",
                    "editing/Selection.idl",
                    "events/AnimationEvent.idl",
                    "events/AnimationPlaybackEvent.idl",
                    "events/ApplicationCacheErrorEvent.idl",
                    "events/BeforeUnloadEvent.idl",
                    "events/ClipboardEvent.idl",
                    "events/CompositionEvent.idl",
                    "events/DragEvent.idl",
                    "events/ErrorEvent.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/InterventionReport.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/HTMLTimeElement.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",
                    "input/Touch.idl",
                    "input/TouchList.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",
                    "css/CSS.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",
                    "dom/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/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/FrameRequestCallback.idl",
                    "dom/FunctionStringCallback.idl",
                    "dom/IdleRequestCallback.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/events/AddEventListenerOptions.idl",
                    "dom/events/CustomEventInit.idl",
                    "dom/events/EventInit.idl",
                    "dom/events/EventListenerOptions.idl",
                    "dom/events/EventModifierInit.idl",
                    "events/AnimationEventInit.idl",
                    "events/AnimationPlaybackEventInit.idl",
                    "events/ApplicationCacheErrorEventInit.idl",
                    "events/ClipboardEventInit.idl",
                    "events/CompositionEventInit.idl",
                    "events/DragEventInit.idl",
                    "events/ErrorEventInit.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/DOMMatrix2DInit.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",
                    "input/TouchInit.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")

if (snake_case_source_files) {
  generated_webcore_testing_idl_files =
      get_path_info(
          [
            "$blink_core_output_dir/testing/internal_runtime_flags.idl",
            "$blink_core_output_dir/testing/internal_settings_generated.idl",
          ],
          "abspath")
} else {
  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
