# 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 = [
  "DedicatedWorkerGlobalScope",
  "LayoutWorkletGlobalScope",
  "SharedWorkerGlobalScope",
  "Window",
]

# The size and the order in the following list must match to the previous one.
core_global_constructors_original_interface_basenames = [
  "dedicated_worker_global_scope",
  "layout_worklet_global_scope",
  "shared_worker_global_scope",
  "window",
]

# 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/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/CSSMathInvert.idl",
                    "css/cssom/CSSMathMax.idl",
                    "css/cssom/CSSMathMin.idl",
                    "css/cssom/CSSMathNegate.idl",
                    "css/cssom/CSSMathSum.idl",
                    "css/cssom/CSSMathProduct.idl",
                    "css/cssom/CSSMathValue.idl",
                    "css/cssom/CSSNumericArray.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/ComputedAccessibleNode.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/MutationObserver.idl",
                    "dom/MutationRecord.idl",
                    "dom/NamedNodeMap.idl",
                    "dom/Node.idl",
                    "dom/NodeFilter.idl",
                    "dom/NodeIterator.idl",
                    "dom/NodeList.idl",
                    "policy/Policy.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/TrustedScriptURL.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",
                    "fetch/Body.idl",
                    "fetch/Headers.idl",
                    "fetch/Request.idl",
                    "fetch/Response.idl",
                    "fileapi/Blob.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/HTMLAllCollection.idl",
                    "html/HTMLAnchorElement.idl",
                    "html/HTMLAreaElement.idl",
                    "html/HTMLBRElement.idl",
                    "html/HTMLBaseElement.idl",
                    "html/HTMLBodyElement.idl",
                    "html/HTMLCollection.idl",
                    "html/HTMLContentElement.idl",
                    "html/HTMLDListElement.idl",
                    "html/HTMLDataElement.idl",
                    "html/HTMLDetailsElement.idl",
                    "html/HTMLDialogElement.idl",
                    "html/HTMLDirectoryElement.idl",
                    "html/HTMLDivElement.idl",
                    "html/HTMLDocument.idl",
                    "html/HTMLElement.idl",
                    "html/HTMLEmbedElement.idl",
                    "html/HTMLFontElement.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/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/HTMLParagraphElement.idl",
                    "html/HTMLParamElement.idl",
                    "html/HTMLPictureElement.idl",
                    "html/HTMLPreElement.idl",
                    "html/HTMLProgressElement.idl",
                    "html/HTMLQuoteElement.idl",
                    "html/HTMLScriptElement.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/HTMLTimeElement.idl",
                    "html/HTMLTitleElement.idl",
                    "html/HTMLUListElement.idl",
                    "html/HTMLUnknownElement.idl",
                    "html/TimeRanges.idl",
                    "html/VoidCallback.idl",
                    "html/canvas/ImageData.idl",
                    "html/canvas/TextMetrics.idl",
                    "html/custom/CustomElementRegistry.idl",
                    "html/forms/FormData.idl",
                    "html/forms/HTMLButtonElement.idl",
                    "html/forms/HTMLDataListElement.idl",
                    "html/forms/HTMLFieldSetElement.idl",
                    "html/forms/HTMLFormControlsCollection.idl",
                    "html/forms/HTMLFormElement.idl",
                    "html/forms/HTMLLabelElement.idl",
                    "html/forms/HTMLLegendElement.idl",
                    "html/forms/HTMLOptGroupElement.idl",
                    "html/forms/HTMLOptionElement.idl",
                    "html/forms/HTMLOptionsCollection.idl",
                    "html/forms/HTMLOutputElement.idl",
                    "html/forms/HTMLSelectElement.idl",
                    "html/forms/HTMLTextAreaElement.idl",
                    "html/forms/RadioNodeList.idl",
                    "html/forms/ValidityState.idl",
                    "html/media/HTMLAudioElement.idl",
                    "html/media/MediaError.idl",
                    "html/track/AudioTrackList.idl",
                    "html/track/HTMLTrackElement.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",
                    "layout/custom/LayoutWorkletGlobalScope.idl",
                    "loader/appcache/ApplicationCache.idl",
                    "messaging/MessageChannel.idl",
                    "messaging/MessagePort.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/HTMLIFrameElement.idl",
                    "html/canvas/HTMLCanvasElement.idl",
                    "html/forms/HTMLInputElement.idl",
                    "html/media/HTMLMediaElement.idl",
                    "html/media/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/ElementComputedStyleMap.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",
                    "fetch/WindowFetch.idl",
                    "fetch/WorkerFetch.idl",
                    "fileapi/URLFileAPI.idl",
                    "frame/NavigatorAutomationInformation.idl",
                    "frame/NavigatorConcurrentHardware.idl",
                    "frame/NavigatorCookies.idl",
                    "frame/NavigatorDeviceMemory.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",
                    "layout/custom/CSSLayoutWorklet.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",
                    "dom/VoidFunction.idl",
                  ],
                  "abspath")

core_dictionary_idl_files =
    get_path_info([
                    "animation/AnimationEffectTimingProperties.idl",
                    "animation/BaseKeyframe.idl",
                    "animation/BasePropertyIndexedKeyframe.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",
                    "fetch/ResponseInit.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/FocusOptions.idl",
                    "html/AssignedNodesOptions.idl",
                    "html/canvas/CanvasContextCreationAttributes.idl",
                    "html/canvas/ImageDataColorSettings.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/PerformanceMarkOptions.idl",
                    "timing/PerformanceObserverInit.idl",
                    "workers/WorkerOptions.idl",
                    "workers/WorkletOptions.idl",
                  ],
                  "abspath")

core_testing_dictionary_idl_files =
    get_path_info([
                    "testing/InternalDictionary.idl",
                    "testing/InternalDictionaryDerived.idl",
                    "testing/InternalDictionaryDerivedDerived.idl",
                    "testing/OriginTrialsTestDictionary.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",
                    "testing/WorkerInternals.idl",
                  ],
                  "abspath")

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

webcore_testing_dependency_idl_files =
    get_path_info([
                    "fetch/testing/InternalsFetch.idl",
                    "fetch/testing/WorkerInternalsFetch.idl",
                    "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
