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

########################################################
#    NOTE: THIS FILE IS GENERATED. DO NOT EDIT IT!     #
# Instead, run create_include_gyp.py to regenerate it. #
########################################################
{
  'targets': [
    {
      'target_name': 'accessibility_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'autofill_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'automation',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'bluetooth',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'bluetooth_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'bookmark_manager_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'chrome',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'chrome_extensions',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'chrome_send',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'clipboard',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'command_line_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'developer_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'file_manager_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'input_method_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'language_settings_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'management',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'media_player_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'metrics_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'mime_handler_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'mojo',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'networking_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'passwords_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'pending',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'polymer-1.0',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'quick_unlock_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'settings_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'system_display',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'system_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'users_private',
      'dependencies': ['chrome'],
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'web_animations',
      'includes': ['../include_js.gypi'],
    },
  ],
}
