# Copyright 2014 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.

{
    'includes': [
        'custom/custom.gypi',
        '../../modules/v8/generated.gypi',
    ],
    'variables': {
        'bindings_core_v8_dir': '.',
        'bindings_core_v8_files': [
            '<@(bindings_core_v8_custom_files)',
            'ActiveDOMCallback.cpp',
            'ActiveDOMCallback.h',
            'ActiveScriptWrappable.cpp',
            'ActiveScriptWrappable.h',
            'ArrayValue.cpp',
            'ArrayValue.h',
            'BindingSecurity.cpp',
            'BindingSecurity.h',
            'CallbackPromiseAdapter.h',
            'CustomElementBinding.cpp',
            'CustomElementBinding.h',
            'CustomElementConstructorBuilder.cpp',
            'CustomElementConstructorBuilder.h',
            'DOMDataStore.h',
            'DOMWrapperMap.h',
            'DOMWrapperWorld.cpp',
            'DOMWrapperWorld.h',
            'Dictionary.cpp',
            'Dictionary.h',
            'DictionaryHelperForBindings.h',
            'DictionaryHelperForCore.cpp',
            'DictionaryIterator.cpp',
            'DictionaryIterator.h',
            'ExceptionMessages.cpp',
            'ExceptionMessages.h',
            'ExceptionState.cpp',
            'ExceptionState.h',
            'ExceptionStatePlaceholder.cpp',
            'ExceptionStatePlaceholder.h',
            'Iterable.h',
            'JSONValuesForV8.cpp',
            'JSONValuesForV8.h',
            'Maplike.h',
            'Microtask.cpp',
            'Microtask.h',
            'NativeValueTraits.h',
            'Nullable.h',
            'OnStackObjectChecker.cpp',
            'OnStackObjectChecker.h',
            'PrivateScriptRunner.cpp',
            'PrivateScriptRunner.h',
            'RejectedPromises.cpp',
            'RejectedPromises.h',
            'RetainedDOMInfo.cpp',
            'RetainedDOMInfo.h',
            'RetainedObjectInfo.h',
            'ScheduledAction.cpp',
            'ScheduledAction.h',
            'ScopedPersistent.h',
            'ScriptCallStack.cpp',
            'ScriptCallStack.h',
            'ScriptController.cpp',
            'ScriptController.h',
            'ScriptEventListener.cpp',
            'ScriptEventListener.h',
            'ScriptFunction.cpp',
            'ScriptFunction.h',
            'ScriptPromise.cpp',
            'ScriptPromise.h',
            'ScriptPromiseProperties.h',
            'ScriptPromiseProperty.h',
            'ScriptPromisePropertyBase.cpp',
            'ScriptPromisePropertyBase.h',
            'ScriptPromiseResolver.cpp',
            'ScriptPromiseResolver.h',
            'ScriptRegexp.cpp',
            'ScriptRegexp.h',
            'ScriptSourceCode.cpp',
            'ScriptSourceCode.h',
            'ScriptState.cpp',
            'ScriptState.h',
            'ScriptStreamer.cpp',
            'ScriptStreamer.h',
            'ScriptStreamerThread.cpp',
            'ScriptStreamerThread.h',
            'ScriptString.cpp',
            'ScriptString.h',
            'ScriptValue.cpp',
            'ScriptValue.h',
            'ScriptValueSerializer.cpp',
            'ScriptValueSerializer.h',
            'ScriptWrappable.cpp',
            'ScriptWrappable.h',
            'SerializationTag.h',
            'SerializedScriptValue.cpp',
            'SerializedScriptValue.h',
            'SerializedScriptValueFactory.cpp',
            'SerializedScriptValueFactory.h',
            'SharedPersistent.h',
            'ToV8.cpp',
            'ToV8.h',
            'V8AbstractEventListener.cpp',
            'V8AbstractEventListener.h',
            'V8Binding.cpp',
            'V8Binding.h',
            'V8BindingMacros.h',
            'V8CacheOptions.h',
            'V8CustomElementLifecycleCallbacks.cpp',
            'V8CustomElementLifecycleCallbacks.h',
            'V8DOMActivityLogger.cpp',
            'V8DOMActivityLogger.h',
            'V8DOMConfiguration.cpp',
            'V8DOMConfiguration.h',
            'V8DOMWrapper.cpp',
            'V8DOMWrapper.h',
            'V8ErrorHandler.cpp',
            'V8ErrorHandler.h',
            'V8EventListener.cpp',
            'V8EventListener.h',
            'V8EventListenerList.cpp',
            'V8EventListenerList.h',
            'V8GCController.cpp',
            'V8GCController.h',
            'V8GCForContextDispose.cpp',
            'V8GCForContextDispose.h',
            'V8GlobalValueMap.h',
            'V8HiddenValue.cpp',
            'V8HiddenValue.h',
            'V8IdleTaskRunner.h',
            'V8Initializer.cpp',
            'V8Initializer.h',
            'V8IntersectionObserverCallback.cpp',
            'V8IntersectionObserverCallback.h',
            'V8IteratorResultValue.cpp',
            'V8IteratorResultValue.h',
            'V8LazyEventListener.cpp',
            'V8LazyEventListener.h',
            'V8MutationCallback.cpp',
            'V8MutationCallback.h',
            'V8NodeFilterCondition.cpp',
            'V8NodeFilterCondition.h',
            'V8ObjectBuilder.cpp',
            'V8ObjectBuilder.h',
            'V8ObjectConstructor.cpp',
            'V8ObjectConstructor.h',
            'V8PagePopupControllerBinding.cpp',
            'V8PagePopupControllerBinding.h',
            'V8PerContextData.cpp',
            'V8PerContextData.h',
            'V8PerformanceObserverCallback.cpp',
            'V8PerformanceObserverCallback.h',
            'V8PerIsolateData.cpp',
            'V8PerIsolateData.h',
            'V8PersistentValueVector.h',
            'V8ScriptRunner.cpp',
            'V8ScriptRunner.h',
            'V8StringResource.cpp',
            'V8StringResource.h',
            'V8ThrowException.cpp',
            'V8ThrowException.h',
            'V8ValueCache.cpp',
            'V8ValueCache.h',
            'V8WorkerGlobalScopeEventListener.cpp',
            'V8WorkerGlobalScopeEventListener.h',
            'WindowProxy.cpp',
            'WindowProxy.h',
            'WindowProxyManager.cpp',
            'WindowProxyManager.h',
            'WorkerOrWorkletScriptController.cpp',
            'WorkerOrWorkletScriptController.h',
            'WrapperTypeInfo.cpp',
            'WrapperTypeInfo.h',
        ],
        'bindings_core_v8_unittest_files': [
            'ScriptPromisePropertyTest.cpp',
            'ScriptPromiseResolverTest.cpp',
            'ScriptPromiseTest.cpp',
            'ScriptStreamerTest.cpp',
            'SerializedScriptValueTest.cpp',
            'ToV8Test.cpp',
            'V8BindingForTesting.cpp',
            'V8BindingForTesting.h',
            'V8BindingTest.cpp',
            'V8ScriptRunnerTest.cpp',
        ],
    },
}
