# 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/CSSRotate.idl",
                    "css/cssom/CSSScale.idl",
                    "css/cssom/CSSSkew.idl",
                    "css/cssom/CSSSkewX.idl",
                    "css/cssom/CSSSkewY.idl",
                    "css/cssom/CSSStyleValue.idl",
                    "css/cssom/CSSTransformComponent.idl",
                    "css/cssom/CSSTransformValue.idl",
                    "css/cssom/CSSTranslate.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/AbortController.idl",
                    "dom/AbortSignal.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/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/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",
                    "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",
                    "dom/Document.idl",
                    "dom/ShadowRoot.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",
                    "css/cssom/CSSNumericType.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/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
