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

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

# Global constructors
# FIXME: Split into core vs. modules http://crbug.com/358074
generated_global_constructors_idl_files = [
  "$blink_output_dir/WindowConstructors.idl",
  "$blink_output_dir/SharedWorkerGlobalScopeConstructors.idl",
  "$blink_output_dir/DedicatedWorkerGlobalScopeConstructors.idl",
  "$blink_output_dir/ServiceWorkerGlobalScopeConstructors.idl",
]

generated_global_constructors_header_files = [
  "$blink_output_dir/WindowConstructors.h",
  "$blink_output_dir/SharedWorkerGlobalScopeConstructors.h",
  "$blink_output_dir/DedicatedWorkerGlobalScopeConstructors.h",
  "$blink_output_dir/ServiceWorkerGlobalScopeConstructors.h",
]
