# Copyright 2017 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': 'bluetooth_interface',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'bluetooth_private_interface',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'input_method_private_interface',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'language_settings_private_interface',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'networking_private_interface',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'quick_unlock_private_interface',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'settings_private_interface',
      'includes': ['../include_js.gypi'],
    },
    {
      'target_name': 'system_display_interface',
      'includes': ['../include_js.gypi'],
    },
  ],
}
