From 679147eead574d186ebf3069647b4c23e8ccace6 Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Thu, 15 Aug 2013 21:46:11 +0200 Subject: Initial import. --- .../chrome/app/policy/cloud_policy_codegen.gyp | 173 + chromium/chrome/app/policy/policy_templates.gypi | 168 + .../browser/nacl_host/test/mock_nacl_gdb.gyp | 26 + .../performance_monitor/performance_monitor.gyp | 26 + .../search_engines/prepopulated_engines.gyp | 24 + chromium/chrome/browser/ui/libgtk2ui/libgtk2ui.gyp | 62 + chromium/chrome/chrome.gyp | 1208 +++++++ chromium/chrome/chrome_android.gypi | 162 + chromium/chrome/chrome_android_paks.gypi | 107 + chromium/chrome/chrome_browser.gypi | 3488 ++++++++++++++++++++ chromium/chrome/chrome_browser_chromeos.gypi | 982 ++++++ chromium/chrome/chrome_browser_extensions.gypi | 1028 ++++++ chromium/chrome/chrome_browser_ui.gypi | 3124 ++++++++++++++++++ chromium/chrome/chrome_browser_ui_views.gyp | 42 + chromium/chrome/chrome_common.gypi | 855 +++++ chromium/chrome/chrome_dll.gypi | 381 +++ chromium/chrome/chrome_dll_bundle.gypi | 313 ++ chromium/chrome/chrome_exe.gypi | 646 ++++ chromium/chrome/chrome_installer.gypi | 1230 +++++++ chromium/chrome/chrome_installer_util.gypi | 237 ++ chromium/chrome/chrome_ios_bundle_resources.gypi | 16 + chromium/chrome/chrome_nibs.gyp | 268 ++ chromium/chrome/chrome_nibs.gypi | 73 + chromium/chrome/chrome_process_finder.gypi | 25 + chromium/chrome/chrome_renderer.gypi | 433 +++ chromium/chrome/chrome_repack_chrome.gypi | 36 + .../chrome/chrome_repack_chrome_100_percent.gypi | 33 + .../chrome/chrome_repack_chrome_200_percent.gypi | 33 + .../chrome_repack_chrome_touch_100_percent.gypi | 28 + .../chrome_repack_chrome_touch_140_percent.gypi | 20 + .../chrome_repack_chrome_touch_180_percent.gypi | 20 + chromium/chrome/chrome_repack_locales.gypi | 34 + chromium/chrome/chrome_repack_pseudo_locales.gypi | 39 + chromium/chrome/chrome_repack_resources.gypi | 41 + chromium/chrome/chrome_resources.gyp | 482 +++ chromium/chrome/chrome_syzygy.gyp | 38 + chromium/chrome/chrome_syzygy.gypi | 78 + chromium/chrome/chrome_tests.gypi | 3424 +++++++++++++++++++ chromium/chrome/chrome_tests_unit.gypi | 2755 ++++++++++++++++ chromium/chrome/common/extensions/api/api.gyp | 135 + chromium/chrome/common_constants.gyp | 119 + chromium/chrome/installer/installer_tools.gyp | 47 + .../installer/mac/third_party/bsdiff/goobsdiff.gyp | 63 + .../chrome/installer/mac/third_party/xz/xz.gyp | 415 +++ chromium/chrome/installer/mini_installer.gyp | 302 ++ chromium/chrome/installer/mini_installer.gypi | 251 ++ .../chrome/installer/mini_installer_syzygy.gyp | 77 + chromium/chrome/installer/upgrade_test.gyp | 100 + chromium/chrome/js_unittest_rules.gypi | 82 + chromium/chrome/js_unittest_vars.gypi | 13 + chromium/chrome/metro_utils.gypi | 23 + chromium/chrome/nacl.gypi | 70 + chromium/chrome/policy.gypi | 26 + .../data/extensions/api_test/api_test_data.gyp | 33 + chromium/chrome/test/data/nacl/nacl_test_data.gyp | 309 ++ chromium/chrome/test/gpu/test_support_gpu.gypi | 113 + .../chrome/test/security_tests/security_tests.gyp | 22 + chromium/chrome/tools/build/repack_locales.py | 218 ++ chromium/chrome/tools/build/version.py | 197 ++ chromium/chrome/version.gypi | 18 + chromium/chrome/version_resource_rules.gypi | 67 + 61 files changed, 24858 insertions(+) create mode 100644 chromium/chrome/app/policy/cloud_policy_codegen.gyp create mode 100644 chromium/chrome/app/policy/policy_templates.gypi create mode 100644 chromium/chrome/browser/nacl_host/test/mock_nacl_gdb.gyp create mode 100644 chromium/chrome/browser/performance_monitor/performance_monitor.gyp create mode 100644 chromium/chrome/browser/search_engines/prepopulated_engines.gyp create mode 100644 chromium/chrome/browser/ui/libgtk2ui/libgtk2ui.gyp create mode 100644 chromium/chrome/chrome.gyp create mode 100644 chromium/chrome/chrome_android.gypi create mode 100644 chromium/chrome/chrome_android_paks.gypi create mode 100644 chromium/chrome/chrome_browser.gypi create mode 100644 chromium/chrome/chrome_browser_chromeos.gypi create mode 100644 chromium/chrome/chrome_browser_extensions.gypi create mode 100644 chromium/chrome/chrome_browser_ui.gypi create mode 100644 chromium/chrome/chrome_browser_ui_views.gyp create mode 100644 chromium/chrome/chrome_common.gypi create mode 100644 chromium/chrome/chrome_dll.gypi create mode 100644 chromium/chrome/chrome_dll_bundle.gypi create mode 100644 chromium/chrome/chrome_exe.gypi create mode 100644 chromium/chrome/chrome_installer.gypi create mode 100644 chromium/chrome/chrome_installer_util.gypi create mode 100644 chromium/chrome/chrome_ios_bundle_resources.gypi create mode 100644 chromium/chrome/chrome_nibs.gyp create mode 100644 chromium/chrome/chrome_nibs.gypi create mode 100644 chromium/chrome/chrome_process_finder.gypi create mode 100644 chromium/chrome/chrome_renderer.gypi create mode 100644 chromium/chrome/chrome_repack_chrome.gypi create mode 100644 chromium/chrome/chrome_repack_chrome_100_percent.gypi create mode 100644 chromium/chrome/chrome_repack_chrome_200_percent.gypi create mode 100644 chromium/chrome/chrome_repack_chrome_touch_100_percent.gypi create mode 100644 chromium/chrome/chrome_repack_chrome_touch_140_percent.gypi create mode 100644 chromium/chrome/chrome_repack_chrome_touch_180_percent.gypi create mode 100644 chromium/chrome/chrome_repack_locales.gypi create mode 100644 chromium/chrome/chrome_repack_pseudo_locales.gypi create mode 100644 chromium/chrome/chrome_repack_resources.gypi create mode 100644 chromium/chrome/chrome_resources.gyp create mode 100644 chromium/chrome/chrome_syzygy.gyp create mode 100644 chromium/chrome/chrome_syzygy.gypi create mode 100644 chromium/chrome/chrome_tests.gypi create mode 100644 chromium/chrome/chrome_tests_unit.gypi create mode 100644 chromium/chrome/common/extensions/api/api.gyp create mode 100644 chromium/chrome/common_constants.gyp create mode 100644 chromium/chrome/installer/installer_tools.gyp create mode 100644 chromium/chrome/installer/mac/third_party/bsdiff/goobsdiff.gyp create mode 100644 chromium/chrome/installer/mac/third_party/xz/xz.gyp create mode 100644 chromium/chrome/installer/mini_installer.gyp create mode 100644 chromium/chrome/installer/mini_installer.gypi create mode 100644 chromium/chrome/installer/mini_installer_syzygy.gyp create mode 100644 chromium/chrome/installer/upgrade_test.gyp create mode 100644 chromium/chrome/js_unittest_rules.gypi create mode 100644 chromium/chrome/js_unittest_vars.gypi create mode 100644 chromium/chrome/metro_utils.gypi create mode 100644 chromium/chrome/nacl.gypi create mode 100644 chromium/chrome/policy.gypi create mode 100644 chromium/chrome/test/data/extensions/api_test/api_test_data.gyp create mode 100644 chromium/chrome/test/data/nacl/nacl_test_data.gyp create mode 100644 chromium/chrome/test/gpu/test_support_gpu.gypi create mode 100644 chromium/chrome/test/security_tests/security_tests.gyp create mode 100755 chromium/chrome/tools/build/repack_locales.py create mode 100755 chromium/chrome/tools/build/version.py create mode 100644 chromium/chrome/version.gypi create mode 100644 chromium/chrome/version_resource_rules.gypi (limited to 'chromium/chrome') diff --git a/chromium/chrome/app/policy/cloud_policy_codegen.gyp b/chromium/chrome/app/policy/cloud_policy_codegen.gyp new file mode 100644 index 00000000000..963d7f59508 --- /dev/null +++ b/chromium/chrome/app/policy/cloud_policy_codegen.gyp @@ -0,0 +1,173 @@ +# Copyright (c) 2012 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. + +{ + 'variables': { + 'chromium_code': 1, + 'policy_out_dir': '<(SHARED_INTERMEDIATE_DIR)/policy', + 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out', + 'generate_policy_source_script_path': + '<(DEPTH)/chrome/tools/build/generate_policy_source.py', + 'policy_constant_header_path': + '<(policy_out_dir)/policy/policy_constants.h', + 'policy_constant_source_path': + '<(policy_out_dir)/policy/policy_constants.cc', + 'protobuf_decoder_path': + '<(policy_out_dir)/policy/cloud_policy_generated.cc', + # This is the "full" protobuf, which defines one protobuf message per + # policy. It is also the format currently used by the server. + 'chrome_settings_proto_path': + '<(policy_out_dir)/policy/chrome_settings.proto', + # This protobuf is equivalent to chrome_settings.proto but shares messages + # for policies of the same type, so that less classes have to be generated + # and compiled. + 'cloud_policy_proto_path': '<(policy_out_dir)/policy/cloud_policy.proto', + }, + 'targets': [ + { + 'target_name': 'cloud_policy_code_generate', + 'type': 'none', + 'actions': [ + { + 'inputs': [ + 'policy_templates.json', + '<(generate_policy_source_script_path)', + ], + 'outputs': [ + '<(policy_constant_header_path)', + '<(policy_constant_source_path)', + '<(protobuf_decoder_path)', + '<(chrome_settings_proto_path)', + '<(cloud_policy_proto_path)', + ], + 'action_name': 'generate_policy_source', + 'action': [ + 'python', + '<@(generate_policy_source_script_path)', + '--policy-constants-header=<(policy_constant_header_path)', + '--policy-constants-source=<(policy_constant_source_path)', + '--chrome-settings-protobuf=<(chrome_settings_proto_path)', + '--cloud-policy-protobuf=<(cloud_policy_proto_path)', + '--cloud-policy-decoder=<(protobuf_decoder_path)', + '<(OS)', + '<(chromeos)', + 'policy_templates.json', + ], + 'message': 'Generating policy source', + }, + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(policy_out_dir)', + '<(protoc_out_dir)', + ], + }, + }, + { + 'target_name': 'cloud_policy_proto_generated_compile', + 'type': 'static_library', + 'sources': [ + '<(cloud_policy_proto_path)', + ], + 'variables': { + 'proto_in_dir': '<(policy_out_dir)/policy', + 'proto_out_dir': 'policy/proto', + }, + 'dependencies': [ + 'cloud_policy_code_generate', + ], + 'includes': [ '../../../build/protoc.gypi' ], + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [4267, ], + }, + { + # This target builds the "full" protobuf, used for tests only. + 'target_name': 'chrome_settings_proto_generated_compile', + 'type': 'static_library', + 'sources': [ + '<(chrome_settings_proto_path)', + ], + 'variables': { + 'proto_in_dir': '<(policy_out_dir)/policy', + 'proto_out_dir': 'policy/proto', + }, + 'dependencies': [ + 'cloud_policy_code_generate', + 'cloud_policy_proto_generated_compile', + ], + 'includes': [ '../../../build/protoc.gypi' ], + }, + { + 'target_name': 'policy', + 'type': 'static_library', + 'hard_dependency': 1, + 'direct_dependent_settings': { + 'include_dirs': [ + '<(policy_out_dir)', + '<(protoc_out_dir)', + ], + }, + 'sources': [ + '<(policy_constant_header_path)', + '<(policy_constant_source_path)', + '<(protobuf_decoder_path)', + ], + 'include_dirs': [ + '<(DEPTH)', + ], + 'dependencies': [ + 'cloud_policy_code_generate', + 'cloud_policy_proto_generated_compile', + '<(DEPTH)/base/base.gyp:base', + '<(DEPTH)/third_party/protobuf/protobuf.gyp:protobuf_lite', + ], + }, + { + 'target_name': 'policy_test_support', + 'type': 'none', + 'hard_dependency': 1, + 'direct_dependent_settings': { + 'include_dirs': [ + '<(policy_out_dir)', + '<(protoc_out_dir)', + ], + }, + 'dependencies': [ + 'policy', + 'chrome_settings_proto_generated_compile', + ], + }, + ], + 'conditions': [ + ['OS=="win" and target_arch=="ia32"', { + 'targets': [ + { + 'target_name': 'policy_win64', + 'type': 'static_library', + 'hard_dependency': 1, + 'sources': [ + '<(policy_constant_header_path)', + '<(policy_constant_source_path)', + ], + 'include_dirs': [ + '<(DEPTH)', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(policy_out_dir)' + ], + }, + 'dependencies': [ + 'cloud_policy_code_generate', + ], + 'configurations': { + 'Common_Base': { + 'msvs_target_platform': 'x64', + }, + }, + }, + ], + }], + ], # 'conditions' +} diff --git a/chromium/chrome/app/policy/policy_templates.gypi b/chromium/chrome/app/policy/policy_templates.gypi new file mode 100644 index 00000000000..467f65b4c5f --- /dev/null +++ b/chromium/chrome/app/policy/policy_templates.gypi @@ -0,0 +1,168 @@ +# Copyright (c) 2011 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. + +{ + 'conditions': [ + ['OS=="win" or OS=="mac" or OS=="linux"', { + 'targets': [ + { + # policy_templates has different inputs and outputs, so it can't use + # the rules of chrome_strings + 'target_name': 'policy_templates', + 'type': 'none', + 'variables': { + 'grit_grd_file': 'policy_templates.grd', + 'grit_info_cmd': ['python', '<(DEPTH)/tools/grit/grit_info.py', + '<@(grit_defines)'], + }, + 'includes': [ '../../../build/grit_target.gypi' ], + 'actions': [ + { + 'action_name': 'policy_templates', + 'includes': [ '../../../build/grit_action.gypi' ], + }, + ], + 'conditions': [ + ['OS=="win"', { + 'variables': { + 'version_path': '<(grit_out_dir)/app/policy/VERSION', + 'template_files': [ + '!@(<(apply_locales_cmd) -d \'<(input_path)/ZZLOCALE.lproj/Localizable.strings\' <(available_locales))', + ], + 'outputs': [ + # TODO: remove this helper when we have loops in GYP + '>!@(<(apply_locales_cmd) -d \'<(output_path)/ZZLOCALE.lproj/Localizable.strings\' <(available_locales))', + ], + 'action': [ + 'cp', '-R', + '<(input_path)/', + '<(output_path)', + ], + 'message': + 'Copy the Localizable.strings files to the manifest bundle', + 'process_outputs_as_mac_bundle_resources': 1, + 'msvs_cygwin_shell': 1, + }, + ], + }, + ] + }] + ], # 'conditions' +} diff --git a/chromium/chrome/browser/nacl_host/test/mock_nacl_gdb.gyp b/chromium/chrome/browser/nacl_host/test/mock_nacl_gdb.gyp new file mode 100644 index 00000000000..d02468a6845 --- /dev/null +++ b/chromium/chrome/browser/nacl_host/test/mock_nacl_gdb.gyp @@ -0,0 +1,26 @@ +# Copyright (c) 2012 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. +{ + 'conditions': [ + ['disable_nacl==0 and (OS=="win" or OS=="linux")', { + 'targets': [ + { + 'target_name': 'mock_nacl_gdb', + 'type': 'executable', + 'include_dirs': [ + '../../../../', + ], + 'sources': [ + 'mock_nacl_gdb.cc', + ], + 'dependencies': [ + '../../../../base/base.gyp:base', + ], + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + }, + ], + }], + ], +} \ No newline at end of file diff --git a/chromium/chrome/browser/performance_monitor/performance_monitor.gyp b/chromium/chrome/browser/performance_monitor/performance_monitor.gyp new file mode 100644 index 00000000000..e3587f491e8 --- /dev/null +++ b/chromium/chrome/browser/performance_monitor/performance_monitor.gyp @@ -0,0 +1,26 @@ +# Copyright (c) 2012 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. + +{ + 'targets': [ + { + 'target_name': 'performance_monitor', + 'type': 'static_library', + 'sources': [ + '<@(schema_files)', + ], + 'includes': [ + '../../../build/json_schema_compile.gypi', + ], + 'variables': { + 'chromium_code': 1, + 'schema_files': [ + 'events.json', + ], + 'cc_dir': 'chrome/browser/performance_monitor', + 'root_namespace': 'performance_monitor', + }, + }, + ], +} diff --git a/chromium/chrome/browser/search_engines/prepopulated_engines.gyp b/chromium/chrome/browser/search_engines/prepopulated_engines.gyp new file mode 100644 index 00000000000..5a3da5f0eea --- /dev/null +++ b/chromium/chrome/browser/search_engines/prepopulated_engines.gyp @@ -0,0 +1,24 @@ +# Copyright 2012 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. + +{ + 'targets': [ + { + 'target_name': 'prepopulated_engines', + 'type': 'static_library', + 'sources': [ + 'prepopulated_engines.json', + ], + 'includes': [ + '../../../build/json_to_struct.gypi', + ], + 'variables': { + 'chromium_code': 1, + 'schema_file': 'prepopulated_engines_schema.json', + 'namespace': 'TemplateURLPrepopulateData', + 'cc_dir': 'chrome/browser/search_engines', + }, + }, + ], +} diff --git a/chromium/chrome/browser/ui/libgtk2ui/libgtk2ui.gyp b/chromium/chrome/browser/ui/libgtk2ui/libgtk2ui.gyp new file mode 100644 index 00000000000..d20485797b0 --- /dev/null +++ b/chromium/chrome/browser/ui/libgtk2ui/libgtk2ui.gyp @@ -0,0 +1,62 @@ +# Copyright (c) 2012 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. + +{ + 'variables': { + 'chromium_code': 1, + }, + 'targets': [ + { + 'target_name': 'gtk2ui', + 'type': '<(component)', + 'dependencies': [ + '../../../../base/base.gyp:base', + '../../../../base/base.gyp:base_i18n', + '../../../../build/linux/system.gyp:gtk', + '../../../../skia/skia.gyp:skia', + '../../../../ui/base/strings/ui_strings.gyp:ui_strings', + '../../../../ui/ui.gyp:ui', + '../../../../ui/ui.gyp:ui_resources', + '../../../../ui/linux_ui/linux_ui.gyp:linux_ui', + '../../../chrome_resources.gyp:chrome_extra_resources', + '../../../chrome_resources.gyp:chrome_resources', + '../../../chrome_resources.gyp:chrome_strings', + '../../../chrome_resources.gyp:theme_resources', + ], + 'defines': [ + 'LIBGTK2UI_IMPLEMENTATION', + ], + # Several of our source files are named _gtk2.cc. This isn't to + # differentiate them from their source files (ninja and make are sane + # build systems, unlike MSVS). It is instead to get around the rest of + # the normal, global gtk exclusion rules, as we are otherwise using gtk + # in a non-gtk build. + 'sources': [ + 'app_indicator_icon.cc', + 'app_indicator_icon.h', + 'chrome_gtk_frame.cc', + 'chrome_gtk_frame.h', + 'gtk2_ui.cc', + 'gtk2_ui.h', + 'gtk2_util.cc', + 'gtk2_util.h', + 'libgtk2ui_export.h', + 'menu_util.cc', + 'menu_util.h', + 'native_theme_gtk2.cc', + 'native_theme_gtk2.h', + 'owned_widget_gtk2.cc', + 'owned_widget_gtk2.h', + 'select_file_dialog_impl.cc', + 'select_file_dialog_impl.h', + 'select_file_dialog_impl_gtk2.cc', + 'select_file_dialog_impl_kde.cc', + 'skia_utils_gtk2.cc', + 'skia_utils_gtk2.h', + 'unity_service.cc', + 'unity_service.h', + ], + }, + ], +} diff --git a/chromium/chrome/chrome.gyp b/chromium/chrome/chrome.gyp new file mode 100644 index 00000000000..b9988b8e68b --- /dev/null +++ b/chromium/chrome/chrome.gyp @@ -0,0 +1,1208 @@ +# Copyright (c) 2012 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. +{ + 'variables': { + 'chromium_code': 1, + + # Define the common dependencies that contain all the actual + # Chromium functionality. This list gets pulled in below by + # the link of the actual chrome (or chromium) executable on + # Linux or Mac, and into chrome.dll on Windows. + # NOTE: Most new includes should go in the OS!="ios" condition below. + 'chromium_browser_dependencies': [ + 'common', + 'browser', + '../sync/sync.gyp:sync', + ], + 'chromium_child_dependencies': [ + 'common', + '../sync/sync.gyp:sync', + ], + 'allocator_target': '../base/allocator/allocator.gyp:allocator', + 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome', + 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out', + 'repack_locales_cmd': ['python', 'tools/build/repack_locales.py'], + # TODO: remove this helper when we have loops in GYP + 'apply_locales_cmd': ['python', '<(DEPTH)/build/apply_locales.py'], + 'conditions': [ + ['OS!="ios"', { + 'chromium_browser_dependencies': [ + '../printing/printing.gyp:printing', + '../ppapi/ppapi_internal.gyp:ppapi_host', + ], + 'chromium_child_dependencies': [ + 'debugger', + 'plugin', + 'renderer', + 'utility', + '../content/content.gyp:content_gpu', + '../content/content.gyp:content_ppapi_plugin', + '../content/content.gyp:content_worker', + '../third_party/WebKit/Source/devtools/devtools.gyp:devtools_frontend_resources', + ], + }], + ['OS=="win"', { + 'platform_locale_settings_grd': + 'app/resources/locale_settings_win.grd', + },], + ['enable_printing==1', { + 'chromium_browser_dependencies': [ + 'service', + ], + }], + ['OS=="linux"', { + 'conditions': [ + ['chromeos==1', { + 'conditions': [ + ['branding=="Chrome"', { + 'platform_locale_settings_grd': + 'app/resources/locale_settings_google_chromeos.grd', + }, { # branding!=Chrome + 'platform_locale_settings_grd': + 'app/resources/locale_settings_chromiumos.grd', + }], + ] + }, { # chromeos==0 + 'platform_locale_settings_grd': + 'app/resources/locale_settings_linux.grd', + }], + ], + },], + ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "linux"', { + 'platform_locale_settings_grd': + 'app/resources/locale_settings_linux.grd', + },], + ['OS=="mac"', { + 'tweak_info_plist_path': '../build/mac/tweak_info_plist.py', + 'platform_locale_settings_grd': + 'app/resources/locale_settings_mac.grd', + 'conditions': [ + ['branding=="Chrome"', { + 'mac_bundle_id': 'com.google.Chrome', + 'mac_creator': 'rimZ', + # The policy .grd file also needs the bundle id. + 'grit_defines': ['-D', 'mac_bundle_id=com.google.Chrome'], + }, { # else: branding!="Chrome" + 'mac_bundle_id': 'org.chromium.Chromium', + 'mac_creator': 'Cr24', + # The policy .grd file also needs the bundle id. + 'grit_defines': ['-D', 'mac_bundle_id=org.chromium.Chromium'], + }], # branding + ], # conditions + }], # OS=="mac" + ], # conditions + }, # variables + 'includes': [ + # Place some targets in gypi files to reduce contention on this file. + # By using an include, we keep everything in a single xcodeproj file. + # Note on Win64 targets: targets that end with win64 be used + # on 64-bit Windows only. Targets that end with nacl_win64 should be used + # by Native Client only. + # NOTE: Most new includes should go in the OS!="ios" condition below. + '../build/win_precompile.gypi', + 'chrome_browser.gypi', + 'chrome_browser_ui.gypi', + 'chrome_common.gypi', + 'chrome_installer_util.gypi', + 'chrome_tests_unit.gypi', + 'version.gypi', + '../components/nacl/nacl_defines.gypi', + ], + 'conditions': [ + ['OS!="ios"', { + 'includes': [ + 'app/policy/policy_templates.gypi', + 'chrome_browser_extensions.gypi', + 'chrome_dll.gypi', + 'chrome_exe.gypi', + 'chrome_installer.gypi', + 'chrome_renderer.gypi', + 'chrome_tests.gypi', + 'nacl.gypi', + '../apps/apps.gypi', + ], + 'targets': [ + { + 'target_name': 'default_extensions', + 'type': 'none', + 'conditions': [ + ['OS=="win"', { + 'copies': [ + { + 'destination': '<(PRODUCT_DIR)/extensions', + 'files': [ + 'browser/extensions/default_extensions/external_extensions.json' + ] + } + ], + }], + ['OS=="linux" and chromeos==1 and branding=="Chrome"', { + 'copies': [ + { + 'destination': '<(PRODUCT_DIR)', + 'files': [ + 'browser/extensions/default_extensions/chromeos/extensions/' + ] + } + ], + }], + ], + }, + { + 'target_name': 'debugger', + 'type': 'static_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + 'chrome_resources.gyp:chrome_extra_resources', + 'chrome_resources.gyp:chrome_resources', + 'chrome_resources.gyp:chrome_strings', + 'chrome_resources.gyp:theme_resources', + 'common/extensions/api/api.gyp:api', + '../base/base.gyp:base', + '../content/content.gyp:content_browser', + '../net/net.gyp:http_server', + '../net/net.gyp:net', + '../skia/skia.gyp:skia', + '../third_party/icu/icu.gyp:icui18n', + '../third_party/icu/icu.gyp:icuuc', + '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase', + '../third_party/libusb/libusb.gyp:libusb', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'browser/devtools/adb/android_rsa.cc', + 'browser/devtools/adb/android_rsa.h', + 'browser/devtools/adb/android_usb_device.cc', + 'browser/devtools/adb/android_usb_device.h', + 'browser/devtools/adb/android_usb_socket.cc', + 'browser/devtools/adb/android_usb_socket.h', + 'browser/devtools/adb_client_socket.cc', + 'browser/devtools/adb_client_socket.h', + 'browser/devtools/adb_web_socket.cc', + 'browser/devtools/adb_web_socket.h', + 'browser/devtools/browser_list_tabcontents_provider.cc', + 'browser/devtools/browser_list_tabcontents_provider.h', + 'browser/devtools/devtools_adb_bridge.cc', + 'browser/devtools/devtools_adb_bridge.h', + 'browser/devtools/devtools_file_helper.cc', + 'browser/devtools/devtools_file_helper.h', + 'browser/devtools/devtools_file_system_indexer.cc', + 'browser/devtools/devtools_file_system_indexer.h', + 'browser/devtools/devtools_protocol.cc', + 'browser/devtools/devtools_protocol.h', + 'browser/devtools/devtools_toggle_action.h', + 'browser/devtools/devtools_window.cc', + 'browser/devtools/devtools_window.h', + 'browser/devtools/remote_debugging_server.cc', + 'browser/devtools/remote_debugging_server.h', + 'browser/devtools/tethering_adb_filter.cc', + 'browser/devtools/tethering_adb_filter.h', + ], + 'conditions': [ + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '../build/linux/system.gyp:gtk', + ], + }], + ['OS=="android"', { + 'dependencies!': [ + '../third_party/libusb/libusb.gyp:libusb', + ], + 'sources!': [ + 'browser/devtools/browser_list_tabcontents_provider.cc', + 'browser/devtools/devtools_window.cc', + 'browser/devtools/remote_debugging_server.cc', + ], + }], + ['debug_devtools==1', { + 'defines': [ + 'DEBUG_DEVTOOLS=1', + ], + }], + ], + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + }, + { + 'target_name': 'plugin', + 'type': 'static_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + 'chrome_resources.gyp:chrome_strings', + '../base/base.gyp:base', + '../content/content.gyp:content_plugin', + ], + 'sources': [ + 'plugin/chrome_content_plugin_client.cc', + 'plugin/chrome_content_plugin_client.h', + ], + 'include_dirs': [ + '..', + '<(grit_out_dir)', + ], + }, + { + 'target_name': 'utility', + 'type': 'static_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + '../base/base.gyp:base', + '../content/content.gyp:content_utility', + '../media/media.gyp:media', + '../skia/skia.gyp:skia', + '../third_party/libxml/libxml.gyp:libxml', + 'common', + '<(DEPTH)/chrome/chrome_resources.gyp:chrome_resources', + '<(DEPTH)/chrome/chrome_resources.gyp:chrome_strings', + ], + 'sources': [ + 'utility/chrome_content_utility_client.cc', + 'utility/chrome_content_utility_client.h', + 'utility/extensions/unpacker.cc', + 'utility/extensions/unpacker.h', + 'utility/importer/bookmark_html_reader.cc', + 'utility/importer/bookmark_html_reader.h', + 'utility/importer/bookmarks_file_importer.cc', + 'utility/importer/bookmarks_file_importer.h', + 'utility/importer/external_process_importer_bridge.cc', + 'utility/importer/external_process_importer_bridge.h', + 'utility/importer/favicon_reencode.cc', + 'utility/importer/favicon_reencode.h', + 'utility/importer/firefox_importer.cc', + 'utility/importer/firefox_importer.h', + 'utility/importer/firefox_importer_unittest_messages_internal.h', + 'utility/importer/firefox_importer_unittest_utils.h', + 'utility/importer/firefox_importer_unittest_utils_mac.cc', + 'utility/importer/ie_importer_win.cc', + 'utility/importer/ie_importer_win.h', + 'utility/importer/importer.cc', + 'utility/importer/importer.h', + 'utility/importer/importer_creator.cc', + 'utility/importer/importer_creator.h', + 'utility/importer/nss_decryptor.cc', + 'utility/importer/nss_decryptor.h', + 'utility/importer/nss_decryptor_mac.h', + 'utility/importer/nss_decryptor_mac.mm', + 'utility/importer/nss_decryptor_win.cc', + 'utility/importer/nss_decryptor_win.h', + 'utility/importer/safari_importer.h', + 'utility/importer/safari_importer.mm', + 'utility/media_galleries/itunes_pref_parser_win.cc', + 'utility/media_galleries/itunes_pref_parser_win.h', + 'utility/profile_import_handler.cc', + 'utility/profile_import_handler.h', + 'utility/utility_message_handler.h', + 'utility/web_resource_unpacker.cc', + 'utility/web_resource_unpacker.h', + ], + 'include_dirs': [ + '..', + '<(grit_out_dir)', + ], + 'conditions': [ + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '../build/linux/system.gyp:gtk', + ], + }], + ['OS=="win" or OS=="mac"', { + 'sources': [ + 'utility/media_galleries/itunes_library_parser.cc', + 'utility/media_galleries/itunes_library_parser.h', + 'utility/media_galleries/picasa_album_table_reader.cc', + 'utility/media_galleries/picasa_album_table_reader.h', + 'utility/media_galleries/picasa_albums_indexer.cc', + 'utility/media_galleries/picasa_albums_indexer.h', + 'utility/media_galleries/pmp_column_reader.cc', + 'utility/media_galleries/pmp_column_reader.h', + ], + }], + ['use_openssl==1', { + 'sources!': [ + 'utility/importer/nss_decryptor.cc', + ] + }], + ['OS!="win" and OS!="mac" and use_openssl==0', { + 'dependencies': [ + '../crypto/crypto.gyp:crypto', + ], + 'sources': [ + 'utility/importer/nss_decryptor_system_nss.cc', + 'utility/importer/nss_decryptor_system_nss.h', + ], + }], + ['OS=="android"', { + 'sources/': [ + ['exclude', '^utility/importer/'], + ['exclude', '^utility/profile_import_handler\.cc'], + ], + }], + ['enable_mdns == 1', { + 'sources': [ + 'utility/local_discovery/service_discovery_client_impl.cc', + 'utility/local_discovery/service_discovery_client_impl.h', + 'utility/local_discovery/service_discovery_message_handler.cc', + 'utility/local_discovery/service_discovery_message_handler.h', + ] + }], + ], + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + }, + { + 'target_name': 'ipclist', + 'type': 'executable', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + 'test_support_common', + '../skia/skia.gyp:skia', + '../sync/sync.gyp:sync', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'tools/ipclist/ipclist.cc', + ], + }, + ], + }], # OS!="ios" + ['OS=="mac"', + { 'targets': [ + { + 'target_name': 'helper_app', + 'type': 'executable', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'product_name': '<(mac_product_name) Helper', + 'mac_bundle': 1, + 'dependencies': [ + 'chrome_dll', + 'infoplist_strings_tool', + ], + 'sources': [ + # chrome_exe_main_mac.cc's main() is the entry point for + # the "chrome" (browser app) target. All it does is jump + # to chrome_dll's ChromeMain. This is appropriate for + # helper processes too, because the logic to discriminate + # between process types at run time is actually directed + # by the --type command line argument processed by + # ChromeMain. Sharing chrome_exe_main_mac.cc with the + # browser app will suffice for now. + 'app/chrome_exe_main_mac.cc', + 'app/helper-Info.plist', + ], + # TODO(mark): Come up with a fancier way to do this. It should only + # be necessary to list helper-Info.plist once, not the three times it + # is listed here. + 'mac_bundle_resources!': [ + 'app/helper-Info.plist', + ], + # TODO(mark): For now, don't put any resources into this app. Its + # resources directory will be a symbolic link to the browser app's + # resources directory. + 'mac_bundle_resources/': [ + ['exclude', '.*'], + ], + 'xcode_settings': { + 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)', + 'CHROMIUM_SHORT_NAME': '<(branding)', + 'CHROMIUM_STRIP_SAVE_FILE': 'app/app.saves', + 'INFOPLIST_FILE': 'app/helper-Info.plist', + }, + 'postbuilds': [ + { + # The helper doesn't have real localizations, it just has + # empty .lproj directories, which is enough to convince Cocoa + # that anything running out of the helper .app supports those + # languages. + 'postbuild_name': 'Make Empty Localizations', + 'variables': { + 'locale_dirs': [ + '>!@(<(apply_locales_cmd) -d ZZLOCALE.lproj <(locales))', + ], + }, + 'action': [ + 'tools/build/mac/make_locale_dirs.sh', + '<@(locale_dirs)', + ], + }, + { + # The framework (chrome_dll) defines its load-time path + # (DYLIB_INSTALL_NAME_BASE) relative to the main executable + # (chrome). A different relative path needs to be used in + # helper_app. + 'postbuild_name': 'Fix Framework Link', + 'action': [ + 'install_name_tool', + '-change', + '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework', + '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework', + '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}' + ], + }, + { + # Modify the Info.plist as needed. The script explains why this + # is needed. This is also done in the chrome and chrome_dll + # targets. In this case, --breakpad=0, --keystone=0, and --scm=0 + # are used because Breakpad, Keystone, and SCM keys are + # never placed into the helper. + 'postbuild_name': 'Tweak Info.plist', + 'action': ['<(tweak_info_plist_path)', + '--breakpad=0', + '--keystone=0', + '--scm=0'], + }, + { + # Make sure there isn't any Objective-C in the helper app's + # executable. + 'postbuild_name': 'Verify No Objective-C', + 'action': [ + '../build/mac/verify_no_objc.sh', + ], + }, + ], + 'conditions': [ + ['mac_breakpad==1', { + 'variables': { + # A real .dSYM is needed for dump_syms to operate on. + 'mac_real_dsym': 1, + }, + 'xcode_settings': { + # With mac_real_dsym set, strip_from_xcode won't be used. + # Specify CHROMIUM_STRIP_SAVE_FILE directly to Xcode. + 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)', + }, + }], + ['asan==1', { + 'xcode_settings': { + # Override the outer definition of CHROMIUM_STRIP_SAVE_FILE. + 'CHROMIUM_STRIP_SAVE_FILE': 'app/app_asan.saves', + }, + }], + ['component=="shared_library"', { + 'xcode_settings': { + 'LD_RUNPATH_SEARCH_PATHS': [ + # Get back from Chromium.app/Contents/Versions/V/ + # Helper.app/Contents/MacOS + '@loader_path/../../../../../../..', + ], + }, + }], + ], + }, # target helper_app + { + # A library containing the actual code for the app mode app, shared + # by unit tests. + 'target_name': 'app_mode_app_support', + 'type': 'static_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'product_name': 'app_mode_app_support', + 'dependencies': [ + '../base/base.gyp:base', + 'common_constants.gyp:common_constants', + ], + 'sources': [ + 'common/mac/app_mode_chrome_locator.h', + 'common/mac/app_mode_chrome_locator.mm', + 'common/mac/app_mode_common.h', + 'common/mac/app_mode_common.mm', + ], + 'include_dirs': [ + '..', + ], + }, # target app_mode_app_support + { + # This produces the template for app mode loader bundles. It's a + # template in the sense that parts of it need to be "filled in" by + # Chrome before it can be executed. + 'target_name': 'app_mode_app', + 'type': 'executable', + 'mac_bundle' : 1, + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'product_name': 'app_mode_loader', + 'dependencies': [ + 'app_mode_app_support', + 'infoplist_strings_tool', + ], + 'sources': [ + 'app/app_mode_loader_mac.mm', + 'app/app_mode-Info.plist', + ], + 'include_dirs': [ + '..', + ], + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework', + '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', + ], + }, + 'mac_bundle_resources!': [ + 'app/app_mode-Info.plist', + ], + 'mac_bundle_resources/': [ + ['exclude', '.*'], + ], + 'xcode_settings': { + 'INFOPLIST_FILE': 'app/app_mode-Info.plist', + 'APP_MODE_APP_BUNDLE_ID': '<(mac_bundle_id).app.@APP_MODE_SHORTCUT_ID@', + }, + 'postbuilds' : [ + { + # Modify the Info.plist as needed. The script explains why this + # is needed. This is also done in the chrome and chrome_dll + # targets. In this case, --breakpad=0, --keystone=0, and --scm=0 + # are used because Breakpad, Keystone, and SCM keys are + # never placed into the app mode loader. + 'postbuild_name': 'Tweak Info.plist', + 'action': ['<(tweak_info_plist_path)', + '--breakpad=0', + '--keystone=0', + '--scm=0'], + }, + ], + }, # target app_mode_app + { + # Convenience target to build a disk image. + 'target_name': 'build_app_dmg', + # Don't place this in the 'all' list; most won't want it. + # In GYP, booleans are 0/1, not True/False. + 'suppress_wildcard': 1, + 'type': 'none', + 'dependencies': [ + 'chrome', + ], + 'variables': { + 'build_app_dmg_script_path': 'tools/build/mac/build_app_dmg', + 'pkg_dmg_script_path': 'installer/mac/pkg-dmg', + + 'conditions': [ + # This duplicates the output path from build_app_dmg. + ['branding=="Chrome"', { + 'dmg_name': 'GoogleChrome.dmg', + }, { # else: branding!="Chrome" + 'dmg_name': 'Chromium.dmg', + }], + ], + }, + 'actions': [ + { + 'inputs': [ + '<(build_app_dmg_script_path)', + '<(pkg_dmg_script_path)', + '<(PRODUCT_DIR)/<(mac_product_name).app', + ], + 'outputs': [ + '<(PRODUCT_DIR)/<(dmg_name)', + ], + 'action_name': 'build_app_dmg', + 'action': ['<(build_app_dmg_script_path)', '<@(branding)'], + }, + ], # 'actions' + }, + { + # Dummy target to allow chrome to require plugin_carbon_interpose to + # build without actually linking to the resulting library. + 'target_name': 'interpose_dependency_shim', + 'type': 'executable', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + 'plugin_carbon_interpose', + ], + # In release, we end up with a strip step that is unhappy if there is + # no binary. Rather than check in a new file for this temporary hack, + # just generate a source file on the fly. + 'actions': [ + { + 'action_name': 'generate_stub_main', + 'process_outputs_as_sources': 1, + 'inputs': [], + 'outputs': [ '<(INTERMEDIATE_DIR)/dummy_main.c' ], + 'action': [ + 'bash', '-c', + 'echo "int main() { return 0; }" > <(INTERMEDIATE_DIR)/dummy_main.c' + ], + }, + ], + }, + { + # dylib for interposing Carbon calls in the plugin process. + 'target_name': 'plugin_carbon_interpose', + 'type': 'shared_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + # This target must not depend on static libraries, else the code in + # those libraries would appear twice in plugin processes: Once from + # Chromium Framework, and once from this dylib. + 'dependencies': [ + 'chrome_dll', + ], + 'conditions': [ + ['component=="shared_library"', { + 'dependencies': [ + '../webkit/support/webkit_support.gyp:glue', + '../content/content.gyp:content_plugin', + ], + 'xcode_settings': { + 'LD_RUNPATH_SEARCH_PATHS': [ + # Get back from Chromium.app/Contents/Versions/V + '@loader_path/../../../..', + ], + }, + }], + ], + 'sources': [ + '../content/plugin/plugin_carbon_interpose_mac.cc', + ], + 'include_dirs': [ + '..', + ], + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/Carbon.framework', + ], + }, + 'xcode_settings': { + 'DYLIB_COMPATIBILITY_VERSION': '<(version_mac_dylib)', + 'DYLIB_CURRENT_VERSION': '<(version_mac_dylib)', + 'DYLIB_INSTALL_NAME_BASE': '@executable_path/../../..', + }, + 'postbuilds': [ + { + # The framework (chrome_dll) defines its load-time path + # (DYLIB_INSTALL_NAME_BASE) relative to the main executable + # (chrome). A different relative path needs to be used in + # plugin_carbon_interpose, which runs in the helper_app. + 'postbuild_name': 'Fix Framework Link', + 'action': [ + 'install_name_tool', + '-change', + '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework', + '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework', + '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}' + ], + }, + ], + }, + { + 'target_name': 'infoplist_strings_tool', + 'type': 'executable', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + 'chrome_resources.gyp:chrome_strings', + '../base/base.gyp:base', + '../ui/ui.gyp:ui', + ], + 'include_dirs': [ + '<(grit_out_dir)', + ], + 'sources': [ + 'tools/mac_helpers/infoplist_strings_util.mm', + ], + }, + ], # targets + }], # OS=="mac" + ['OS!="mac" and OS!="ios"', { + 'targets': [ + { + 'target_name': 'convert_dict', + 'type': 'executable', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + '../base/base.gyp:base', + '../base/base.gyp:base_i18n', + 'convert_dict_lib', + '../third_party/hunspell/hunspell.gyp:hunspell', + ], + 'sources': [ + 'tools/convert_dict/convert_dict.cc', + ], + }, + { + 'target_name': 'convert_dict_lib', + 'product_name': 'convert_dict', + 'type': 'static_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'include_dirs': [ + '..', + ], + 'dependencies': [ + '../base/base.gyp:base', + ], + 'sources': [ + 'tools/convert_dict/aff_reader.cc', + 'tools/convert_dict/aff_reader.h', + 'tools/convert_dict/dic_reader.cc', + 'tools/convert_dict/dic_reader.h', + 'tools/convert_dict/hunspell_reader.cc', + 'tools/convert_dict/hunspell_reader.h', + ], + }, + { + 'target_name': 'flush_cache', + 'type': 'executable', + 'dependencies': [ + '../base/base.gyp:base', + '../base/base.gyp:test_support_base', + ], + 'sources': [ + 'tools/perf/flush_cache/flush_cache.cc', + ], + }, + ], + }], # OS!="mac" and OS!="ios" + ['OS=="linux"', + { 'targets': [ + { + 'target_name': 'linux_symbols', + 'type': 'none', + 'conditions': [ + ['linux_dump_symbols==1', { + 'actions': [ + { + 'action_name': 'dump_symbols', + 'inputs': [ + '<(DEPTH)/build/linux/dump_app_syms', + '<(PRODUCT_DIR)/dump_syms', + '<(PRODUCT_DIR)/chrome', + ], + 'outputs': [ + '<(PRODUCT_DIR)/chrome.breakpad.<(target_arch)', + ], + 'action': ['<(DEPTH)/build/linux/dump_app_syms', + '<(PRODUCT_DIR)/dump_syms', + '<(linux_strip_binary)', + '<(PRODUCT_DIR)/chrome', + '<@(_outputs)'], + 'message': 'Dumping breakpad symbols to <(_outputs)', + 'process_outputs_as_sources': 1, + }, + ], + 'dependencies': [ + 'chrome', + '../breakpad/breakpad.gyp:dump_syms', + ], + }], + ['linux_strip_reliability_tests==1', { + 'actions': [ + { + 'action_name': 'strip_reliability_tests', + 'inputs': [ + '<(PRODUCT_DIR)/automated_ui_tests', + '<(PRODUCT_DIR)/reliability_tests', + '<(PRODUCT_DIR)/_pyautolib.so', + ], + 'outputs': [ + '<(PRODUCT_DIR)/strip_reliability_tests.stamp', + ], + 'action': ['strip', + '-g', + '<@(_inputs)'], + 'message': 'Stripping reliability tests', + }, + ], + 'dependencies': [ + 'automated_ui_tests', + 'reliability_tests', + ], + }], + ], + }, + { + 'target_name': 'ipcfuzz', + 'type': 'loadable_module', + 'include_dirs': [ + '..', + ], + 'dependencies': [ + 'test_support_common', + '../skia/skia.gyp:skia', + ], + 'sources': [ + 'tools/ipclist/ipcfuzz.cc', + ], + }, + ], + }], # OS=="linux" + ['OS=="win"', + { 'targets': [ + { + # For historical reasons, chrome/chrome.sln has been the entry point + # for new Chrome developers. To assist development, include several + # core unittests that are otherwise only accessible side-by-side with + # chrome via all/all.sln. + 'target_name': 'test_targets', + 'type': 'none', + 'dependencies': [ + '../base/base.gyp:base_unittests', + '../chrome_frame/chrome_frame.gyp:chrome_frame_tests', + '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests', + '../content/content.gyp:content_browsertests', + '../content/content.gyp:content_shell', + '../content/content.gyp:content_unittests', + '../net/net.gyp:net_unittests', + '../ui/ui.gyp:ui_unittests', + ], + 'conditions': [ + ['use_aura==1 or target_arch=="x64"', { + 'dependencies!': [ + '../chrome_frame/chrome_frame.gyp:chrome_frame_tests', + '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests', + ], + }], + ], + }, + { + 'target_name': 'chrome_version_resources', + 'type': 'none', + 'conditions': [ + ['branding == "Chrome"', { + 'variables': { + 'branding_path': 'app/theme/google_chrome/BRANDING', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_path': 'app/theme/chromium/BRANDING', + }, + }], + ], + 'variables': { + 'output_dir': 'chrome_version', + 'template_input_path': 'app/chrome_version.rc.version', + }, + 'direct_dependent_settings': { + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/<(output_dir)', + ], + }, + 'sources': [ + 'app/app_host_exe.ver', + 'app/chrome_exe.ver', + 'app/chrome_dll.ver', + 'app/nacl64_exe.ver', + 'app/other.ver', + ], + 'includes': [ + 'version_resource_rules.gypi', + ], + }, + { + 'target_name': 'chrome_version_header', + 'type': 'none', + 'hard_dependency': 1, + 'actions': [ + { + 'action_name': 'version_header', + 'variables': { + 'lastchange_path': + '<(DEPTH)/build/util/LASTCHANGE', + }, + 'conditions': [ + ['branding == "Chrome"', { + 'variables': { + 'branding_path': 'app/theme/google_chrome/BRANDING', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_path': 'app/theme/chromium/BRANDING', + }, + }], + ], + 'inputs': [ + '<(version_path)', + '<(branding_path)', + '<(lastchange_path)', + 'version.h.in', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/version.h', + ], + 'action': [ + 'python', + '<(version_py_path)', + '-f', '<(version_path)', + '-f', '<(branding_path)', + '-f', '<(lastchange_path)', + 'version.h.in', + '<@(_outputs)', + ], + 'message': 'Generating version header file: <@(_outputs)', + }, + ], + }, + { + 'target_name': 'automation', + 'type': 'static_library', + 'dependencies': [ + 'chrome_resources.gyp:theme_resources', + '../skia/skia.gyp:skia', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'test/automation/automation_handle_tracker.cc', + 'test/automation/automation_handle_tracker.h', + 'test/automation/automation_json_requests.cc', + 'test/automation/automation_json_requests.h', + 'test/automation/automation_proxy.cc', + 'test/automation/automation_proxy.h', + 'test/automation/browser_proxy.cc', + 'test/automation/browser_proxy.h', + 'test/automation/tab_proxy.cc', + 'test/automation/tab_proxy.h', + 'test/automation/value_conversion_traits.cc', + 'test/automation/value_conversion_traits.h', + 'test/automation/value_conversion_util.h', + 'test/automation/window_proxy.cc', + 'test/automation/window_proxy.h', + ], + }, + { + 'target_name': 'crash_service', + 'type': 'executable', + 'dependencies': [ + 'installer_util', + '../base/base.gyp:base', + '../breakpad/breakpad.gyp:breakpad_handler', + '../breakpad/breakpad.gyp:breakpad_sender', + '../chrome/common_constants.gyp:common_constants', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'tools/crash_service/crash_service.cc', + 'tools/crash_service/crash_service.h', + 'tools/crash_service/main.cc', + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + }, + }, + }, + { + 'target_name': 'sb_sigutil', + 'type': 'executable', + 'dependencies': [ + '../base/base.gyp:base', + 'safe_browsing_proto', + ], + 'sources': [ + 'browser/safe_browsing/signature_util.h', + 'browser/safe_browsing/signature_util_win.cc', + 'tools/safe_browsing/sb_sigutil.cc', + ], + }, + ], # 'targets' + 'includes': [ + 'chrome_process_finder.gypi', + 'metro_utils.gypi', + ], + }], # OS=="win" + ['OS=="win" and target_arch=="ia32"', + { 'targets': [ + { + 'target_name': 'chrome_user32_delay_imports', + 'type': 'none', + 'variables': { + 'lib_dir': '<(INTERMEDIATE_DIR)', + }, + 'sources': [ + 'chrome.user32.delay.imports' + ], + 'includes': [ + '../build/win/importlibs/create_import_lib.gypi', + ], + 'direct_dependent_settings': { + 'msvs_settings': { + 'VCLinkerTool': { + 'AdditionalLibraryDirectories': ['<(lib_dir)', ], + 'AdditionalDependencies': ['chrome.user32.delay.lib', ], + }, + }, + }, + }, + { + 'target_name': 'crash_service_win64', + 'type': 'executable', + 'product_name': 'crash_service64', + 'dependencies': [ + 'installer_util_nacl_win64', + '../base/base.gyp:base_static_win64', + '../breakpad/breakpad.gyp:breakpad_handler_win64', + '../breakpad/breakpad.gyp:breakpad_sender_win64', + '../chrome/common_constants.gyp:common_constants_win64', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'tools/crash_service/crash_service.cc', + 'tools/crash_service/crash_service.h', + 'tools/crash_service/main.cc', + '../content/public/common/content_switches.cc', + ], + 'defines': [ + 'COMPILE_CONTENT_STATICALLY', + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + }, + }, + 'configurations': { + 'Common_Base': { + 'msvs_target_platform': 'x64', + }, + }, + }, + ]}, # 'targets' + ], # OS=="win" and target_arch=="ia32" + ['chromeos==1', { + 'includes': [ 'chrome_browser_chromeos.gypi' ], + }], # chromeos==1 + ['OS=="android"', + { + 'targets': [ + { + 'target_name': 'chrome_java', + 'type': 'none', + 'dependencies': [ + 'chrome_resources.gyp:chrome_strings', + 'profile_sync_service_model_type_selection_java', + 'resource_id_java', + 'toolbar_model_security_levels_java', + '../base/base.gyp:base', + '../components/components.gyp:autofill_java', + '../components/components.gyp:navigation_interception_java', + '../components/components.gyp:sessions', + '../components/components.gyp:web_contents_delegate_android_java', + '../content/content.gyp:content_java', + '../sync/sync.gyp:sync_java', + '../third_party/guava/guava.gyp:guava_javalib', + '../ui/ui.gyp:ui_java', + ], + 'variables': { + 'java_in_dir': '../chrome/android/java', + 'has_java_resources': 1, + 'R_package': 'org.chromium.chrome', + 'R_package_relpath': 'org/chromium/chrome', + 'java_strings_grd': 'android_chrome_strings.grd', + # Include xml string files generated from generated_resources.grd + 'res_extra_dirs': ['<(SHARED_INTERMEDIATE_DIR)/chrome/java/res'], + 'res_extra_files': ['!@(<(apply_locales_cmd) \'<(grit_out_dir)/<(branding_name)_ZZLOCALE.pak\' <(locales))', + ], + 'outputs': [ + # TODO: remove this helper when we have loops in GYP + '>!@(<(apply_locales_cmd) -d \'<(output_path)/ZZLOCALE.lproj/InfoPlist.strings\' <(locales))', + ], + 'action': [ + '<(tool_path)', + '-b', '<(branding_name)', + '-v', '<(version_path)', + '-g', '<(grit_out_dir)', + '-o', '<(output_path)', + '-t', 'main', + '<@(locales)', + ], + 'message': 'Generating the language InfoPlist.strings files', + 'process_outputs_as_mac_bundle_resources': 1, + }, + ], + 'copies': [ + { + 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Versions/<(version_full)', + 'files': [ + '<(PRODUCT_DIR)/<(mac_product_name) Helper.app', + '<(PRODUCT_DIR)/libplugin_carbon_interpose.dylib', + ], + }, + ], + 'postbuilds': [ + { + 'postbuild_name': 'Copy <(mac_product_name) Framework.framework', + 'action': [ + '../build/mac/copy_framework_unversioned.sh', + '${BUILT_PRODUCTS_DIR}/<(mac_product_name) Framework.framework', + '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Versions/<(version_full)', + ], + }, + { + # Modify the Info.plist as needed. The script explains why this + # is needed. This is also done in the helper_app and chrome_dll + # targets. Use --breakpad=0 to not include any Breakpad + # information; that all goes into the framework's Info.plist. + # Keystone information is included if Keystone is enabled. The + # application reads Keystone keys from this plist and not the + # framework's, and the ticket will reference this Info.plist to + # determine the tag of the installed product. Use --scm=1 to + # include SCM information. The --pdf flag controls whether + # to insert PDF as a supported type identifier that can be + # opened. + 'postbuild_name': 'Tweak Info.plist', + 'action': ['<(tweak_info_plist_path)', + '--breakpad=0', + '--keystone=<(mac_keystone)', + '--scm=1', + '--pdf=<(internal_pdf)', + '--bundle_id=<(mac_bundle_id)'], + }, + { + 'postbuild_name': 'Clean up old versions', + 'action': [ + 'tools/build/mac/clean_up_old_versions', + '<(version_full)' + ], + }, + { + # This postbuid step is responsible for creating the following + # helpers: + # + # For unofficial Chromium branding, Chromium Helper EH.app and + # Chromium Helper NP.app are created from Chromium Helper.app. + # For official Google Chrome branding, Google Chrome Helper + # EH.app and Google Chrome Helper NP.app are created from + # Google Chrome Helper.app. + # + # The EH helper is marked for an executable heap. The NP helper + # is marked for no PIE (ASLR). + # + # Normally, applications shipping as part of offical builds with + # Google Chrome branding have dsymutil (dwarf-with-dsym, + # mac_real_dsym) and dump_syms (mac_breakpad) run on them to + # produce a .dSYM bundle and a Breakpad .sym file. This is + # unnecessary for the "More Helpers" because they're identical + # to the original helper except for the bits in their Mach-O + # headers that change to enable or disable special features. + # Each .dSYM is identified by UUID stored in a Mach-O file's + # LC_UUID load command. Because the "More Helpers" share a UUID + # with the original helper, there's no need to run dsymutil + # again. All helpers can share the same .dSYM. Special handling + # is performed in chrome/tools/build/mac/dump_product_syms to + # prepare their Breakpad symbol files. + 'postbuild_name': 'Make More Helpers', + 'action': [ + '../build/mac/make_more_helpers.sh', + 'Versions/<(version_full)', + '<(mac_product_name)', + ], + }, + { + # Make sure there isn't any Objective-C in the browser app's + # executable. + 'postbuild_name': 'Verify No Objective-C', + 'action': [ + '../build/mac/verify_no_objc.sh', + ], + }, + ], # postbuilds + }, { # OS != "mac" + 'conditions': [ + # TODO: add a: + # 'product_name': 'chromium' + # whenever we convert the rest of the infrastructure + # (buildbots etc.) to understand the branding gyp define. + # NOTE: chrome/app/theme/chromium/BRANDING and + # chrome/app/theme/google_chrome/BRANDING have the short name + # "chrome" etc.; should we try to extract from there instead? + + # On Mac, this is done in chrome_dll.gypi. + ['internal_pdf', { + 'dependencies': [ + '../pdf/pdf.gyp:pdf', + ], + 'conditions': [ + # CrOS does this in a separate build step. + ['OS=="linux" and chromeos==0 and linux_dump_symbols==1', { + 'dependencies': [ + '../pdf/pdf.gyp:pdf_linux_symbols', + ], + }], # OS=="linux" and chromeos==0 and linux_dump_symbols==1 + ], + }], # internal_pdf + ], + 'dependencies': [ + 'chrome_resources.gyp:packed_extra_resources', + 'chrome_resources.gyp:packed_resources', + # Copy Flash Player files to PRODUCT_DIR if applicable. Let the .gyp + # file decide what to do on a per-OS basis; on Mac, internal plugins + # go inside the framework, so this dependency is in chrome_dll.gypi. + '../third_party/adobe/flash/flash_player.gyp:flapper_binaries', + # Copy CDM files to PRODUCT_DIR if applicable. Let the .gyp + # file decide what to do on a per-OS basis; on Mac, internal plugins + # go inside the framework, so this dependency is in chrome_dll.gypi. + '../third_party/widevine/cdm/widevine_cdm.gyp:widevinecdmadapter', + ], + }], + ['OS=="mac" and asan==1', { + 'xcode_settings': { + # Override the outer definition of CHROMIUM_STRIP_SAVE_FILE. + 'CHROMIUM_STRIP_SAVE_FILE': 'app/app_asan.saves', + }, + }], + ['OS=="linux"', { + 'conditions': [ + ['branding=="Chrome"', { + 'dependencies': [ + 'linux_installer_configs', + ], + }], + # For now, do not build nacl_helper when disable_nacl=1 + # http://code.google.com/p/gyp/issues/detail?id=239 + ['disable_nacl==0 and coverage==0', { + 'dependencies': [ + '../native_client/src/trusted/service_runtime/linux/nacl_bootstrap.gyp:nacl_helper_bootstrap', + 'nacl_helper', + ], + }], + ], + 'dependencies': [ + '../sandbox/sandbox.gyp:sandbox', + ], + }], + ['OS=="win"', { + 'dependencies': [ + 'chrome_dll', + 'chrome_nacl_win64', + 'chrome_process_finder', + 'chrome_version_resources', + 'installer_util', + 'image_pre_reader', + '../base/base.gyp:base', + '../breakpad/breakpad.gyp:breakpad_handler', + '../breakpad/breakpad.gyp:breakpad_sender', + '../components/components.gyp:breakpad_component', + '../sandbox/sandbox.gyp:sandbox', + 'app/policy/cloud_policy_codegen.gyp:policy', + ], + 'sources': [ + 'app/chrome_breakpad_client.cc', + 'app/chrome_breakpad_client.h', + 'app/chrome_exe.rc', + 'common/crash_keys.cc', + 'common/crash_keys.h', + '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_exe_version.rc', + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'ImportLibrary': '$(OutDir)\\lib\\chrome_exe.lib', + 'DelayLoadDLLs': [ + 'dbghelp.dll', + 'dwmapi.dll', + 'uxtheme.dll', + 'ole32.dll', + 'oleaut32.dll', + ], + # Set /SUBSYSTEM:WINDOWS for chrome.exe itself. + 'SubSystem': '2', + }, + 'VCManifestTool': { + 'AdditionalManifestFiles': [ + '$(ProjectDir)\\app\\chrome.exe.manifest', + ], + }, + }, + 'actions': [ + { + 'action_name': 'first_run', + 'inputs': [ + 'app/FirstRun', + ], + 'outputs': [ + '<(PRODUCT_DIR)/First Run', + ], + 'action': ['cp', '-f', '<@(_inputs)', '<@(_outputs)'], + 'message': 'Copy first run complete sentinel file', + 'msvs_cygwin_shell': 1, + }, + ], + }, { # 'OS!="win" + 'sources!': [ + 'app/client_util.cc', + ], + }], + ['OS=="win" and component=="shared_library"', { + 'defines': ['COMPILE_CONTENT_STATICALLY'], + }], + ['OS=="win"', { + 'dependencies': [ + '../win8/metro_driver/metro_driver.gyp:*', + '../win8/delegate_execute/delegate_execute.gyp:*', + ], + }], + ], + }, + ], + 'conditions': [ + ['OS=="win"', { + 'targets': [ + { + 'target_name': 'image_pre_reader', + 'type': 'static_library', + 'sources': [ + 'app/image_pre_reader_win.cc', + 'app/image_pre_reader_win.h', + ], + 'dependencies': [ + '../base/base.gyp:base', + ], + }, + ], + 'conditions': [ + ['disable_nacl!=1 and target_arch=="ia32"', { + 'targets': [ + { + 'target_name': 'chrome_nacl_win64', + 'type': 'executable', + 'product_name': 'nacl64', + 'sources': [ + 'app/breakpad_win.cc', + 'app/chrome_breakpad_client.cc', + 'app/hard_error_handler_win.cc', + 'common/crash_keys.cc', + 'nacl/nacl_exe_win_64.cc', + '../content/app/startup_helper_win.cc', + '../content/common/sandbox_init_win.cc', + '../content/common/sandbox_win.cc', + '../content/public/common/content_switches.cc', + '<(SHARED_INTERMEDIATE_DIR)/chrome_version/nacl64_exe_version.rc', + ], + 'dependencies': [ + 'app/policy/cloud_policy_codegen.gyp:policy_win64', + 'chrome_version_resources', + 'installer_util_nacl_win64', + '../breakpad/breakpad.gyp:breakpad_handler_win64', + '../breakpad/breakpad.gyp:breakpad_sender_win64', + '../base/base.gyp:base_i18n_nacl_win64', + '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_static_win64', + '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', + '../components/components.gyp:breakpad_win64', + '../chrome/common_constants.gyp:common_constants_win64', + '../components/nacl.gyp:nacl_win64', + '../crypto/crypto.gyp:crypto_nacl_win64', + '../ipc/ipc.gyp:ipc_win64', + '../sandbox/sandbox.gyp:sandbox_win64', + ], + 'defines': [ + '<@(nacl_win64_defines)', + 'COMPILE_CONTENT_STATICALLY', + ], + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/chrome', + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'ImportLibrary': '$(OutDir)\\lib\\nacl64_exe.lib', + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + }, + }, + 'configurations': { + 'Common_Base': { + 'msvs_target_platform': 'x64', + }, + }, + }, + ], + }, { # else (disable_nacl==1) + 'targets': [ + { + 'target_name': 'chrome_nacl_win64', + 'type': 'none', + 'sources': [], + }, + ], + }], + ], + }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'chrome_run', + 'type': 'none', + 'dependencies': [ + 'chrome', + ], + 'includes': [ + '../build/isolate.gypi', + 'chrome.isolate', + ], + 'sources': [ + 'chrome.isolate', + ], + 'conditions': [ + ['OS=="win"', { + 'dependencies': [ + 'chrome_nacl_win64', + ], + }], + ], + }, + ], + }], + ], +} diff --git a/chromium/chrome/chrome_installer.gypi b/chromium/chrome/chrome_installer.gypi new file mode 100644 index 00000000000..f4c5f5d9d70 --- /dev/null +++ b/chromium/chrome/chrome_installer.gypi @@ -0,0 +1,1230 @@ +# Copyright (c) 2012 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. + +{ + 'variables': { + 'lastchange_path': '../build/util/LASTCHANGE', + 'libpeer_target_type%': 'static_library', + # 'branding_dir' is set in the 'conditions' section at the bottom. + }, + 'conditions': [ + ['OS=="win"', { + 'targets': [ + { + 'target_name': 'gcapi_dll', + 'type': 'loadable_module', + 'dependencies': [ + 'gcapi_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'installer/gcapi/gcapi.def', + 'installer/gcapi/gcapi_dll.cc', + ], + }, + { + 'target_name': 'gcapi_lib', + 'type': 'static_library', + 'dependencies': [ + 'installer_util', + '../base/base.gyp:base', + '../chrome/chrome.gyp:launcher_support', + '../google_update/google_update.gyp:google_update', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'installer/gcapi/gcapi.cc', + 'installer/gcapi/gcapi.h', + 'installer/gcapi/gcapi_omaha_experiment.cc', + 'installer/gcapi/gcapi_omaha_experiment.h', + 'installer/gcapi/gcapi_reactivation.cc', + 'installer/gcapi/gcapi_reactivation.h', + ], + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + }, + { + 'target_name': 'gcapi_test', + 'type': 'executable', + 'dependencies': [ + 'common', + 'gcapi_dll', + 'gcapi_lib', + 'installer_util', + '../base/base.gyp:base', + '../base/base.gyp:test_support_base', + '../testing/gtest.gyp:gtest', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'installer/gcapi/gcapi_last_run_test.cc', + 'installer/gcapi/gcapi_reactivation_test.cc', + 'installer/gcapi/gcapi_test.cc', + 'installer/gcapi/gcapi_test.rc', + 'installer/gcapi/resource.h', + ], + }, + { + 'target_name': 'installer_util_unittests', + 'type': 'executable', + 'dependencies': [ + 'installer_util', + 'installer_util_strings', + 'installer/upgrade_test.gyp:alternate_version_generator_lib', + '../base/base.gyp:base', + '../base/base.gyp:base_i18n', + '../base/base.gyp:test_support_base', + '../chrome/chrome.gyp:chrome_version_resources', + '../content/content.gyp:content_common', + '../testing/gmock.gyp:gmock', + '../testing/gtest.gyp:gtest', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'installer/setup/compat_checks_unittest.cc', + 'installer/setup/setup_constants.cc', + 'installer/util/callback_work_item_unittest.cc', + 'installer/util/channel_info_unittest.cc', + 'installer/util/copy_reg_key_work_item_unittest.cc', + 'installer/util/copy_tree_work_item_unittest.cc', + 'installer/util/create_dir_work_item_unittest.cc', + 'installer/util/create_reg_key_work_item_unittest.cc', + 'installer/util/delete_after_reboot_helper_unittest.cc', + 'installer/util/delete_reg_key_work_item_unittest.cc', + 'installer/util/delete_reg_value_work_item_unittest.cc', + 'installer/util/delete_tree_work_item_unittest.cc', + 'installer/util/duplicate_tree_detector_unittest.cc', + 'installer/util/fake_installation_state.h', + 'installer/util/fake_product_state.h', + 'installer/util/google_update_settings_unittest.cc', + 'installer/util/install_util_unittest.cc', + 'installer/util/installation_validation_helper.cc', + 'installer/util/installation_validation_helper.h', + 'installer/util/installation_validator_unittest.cc', + 'installer/util/installer_state_unittest.cc', + 'installer/util/installer_util_test_common.cc', + 'installer/util/installer_util_test_common.h', + 'installer/util/installer_util_unittests.rc', + 'installer/util/installer_util_unittests_resource.h', + 'installer/util/language_selector_unittest.cc', + 'installer/util/logging_installer_unittest.cc', + 'installer/util/lzma_util_unittest.cc', + 'installer/util/master_preferences_unittest.cc', + 'installer/util/move_tree_work_item_unittest.cc', + 'installer/util/product_state_unittest.cc', + 'installer/util/product_unittest.cc', + 'installer/util/product_unittest.h', + 'installer/util/registry_key_backup_unittest.cc', + 'installer/util/registry_test_data.cc', + 'installer/util/registry_test_data.h', + 'installer/util/run_all_unittests.cc', + 'installer/util/self_cleaning_temp_dir_unittest.cc', + 'installer/util/set_reg_value_work_item_unittest.cc', + 'installer/util/shell_util_unittest.cc', + 'installer/util/uninstall_metrics_unittest.cc', + 'installer/util/wmi_unittest.cc', + 'installer/util/work_item_list_unittest.cc', + '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc', + ], + 'msvs_settings': { + 'VCManifestTool': { + 'AdditionalManifestFiles': [ + '$(ProjectDir)\\installer\\mini_installer\\mini_installer.exe.manifest', + ], + }, + }, + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + }, + { + 'target_name': 'installer_util_strings', + 'type': 'none', + 'rules': [ + { + 'rule_name': 'installer_util_strings', + 'extension': 'grd', + 'variables': { + 'create_string_rc_py' : 'installer/util/prebuild/create_string_rc.py', + }, + 'inputs': [ + '<(create_string_rc_py)', + '<(RULE_INPUT_PATH)', + ], + 'outputs': [ + # Don't use <(RULE_INPUT_ROOT) to create the output file + # name, because the base name of the input + # (generated_resources.grd) doesn't match the generated file + # (installer_util_strings.h). + '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.h', + '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.rc', + ], + 'action': ['python', + '<(create_string_rc_py)', + '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings', + '<(branding)',], + 'message': 'Generating resources from <(RULE_INPUT_PATH)', + 'msvs_cygwin_shell': 1, + }, + ], + 'sources': [ + 'app/chromium_strings.grd', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings', + ], + }, + }, + { + 'target_name': 'launcher_support', + 'type': 'static_library', + 'include_dirs': [ + '..', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '..', + ], + }, + 'dependencies': [ + '<(DEPTH)/base/base.gyp:base', + ], + 'sources': [ + 'installer/launcher_support/chrome_launcher_support.cc', + 'installer/launcher_support/chrome_launcher_support.h', + ], + }, + { + 'target_name': 'mini_installer_test', + 'type': 'executable', + 'dependencies': [ + 'installer_util', + 'installer_util_strings', + '../base/base.gyp:base', + '../base/base.gyp:base_i18n', + '../base/base.gyp:test_support_base', + '../chrome/chrome.gyp:test_support_common', + '../testing/gtest.gyp:gtest', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.rc', + 'installer/util/installation_validation_helper.cc', + 'installer/util/installation_validation_helper.h', + 'test/mini_installer_test/installer_path_provider.cc', + 'test/mini_installer_test/installer_path_provider.h', + 'test/mini_installer_test/installer_test_util.cc', + 'test/mini_installer_test/installer_test_util.h', + 'test/mini_installer_test/mini_installer_test_constants.cc', + 'test/mini_installer_test/mini_installer_test_constants.h', + 'test/mini_installer_test/run_all_unittests.cc', + 'test/mini_installer_test/switch_builder.cc', + 'test/mini_installer_test/switch_builder.h', + 'test/mini_installer_test/test.cc', + ], + 'msvs_settings': { + 'VCManifestTool': { + 'AdditionalManifestFiles': [ + '$(ProjectDir)\\installer\\mini_installer\\mini_installer.exe.manifest', + ], + }, + }, + }, + { + 'target_name': 'setup', + 'type': 'executable', + 'dependencies': [ + 'installer_util', + 'installer_util_strings', + 'launcher_support', + '../base/base.gyp:base', + '../breakpad/breakpad.gyp:breakpad_handler', + '../chrome/common_constants.gyp:common_constants', + '../chrome_frame/chrome_frame.gyp:chrome_tab_idl', + '../chrome_frame/chrome_frame.gyp:npchrome_frame', + '../rlz/rlz.gyp:rlz_lib', + '../third_party/zlib/zlib.gyp:zlib', + ], + 'include_dirs': [ + '..', + '<(INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)/setup', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/setup', + ], + }, + 'sources': [ + 'installer/mini_installer/chrome.release', + 'installer/setup/archive_patch_helper.cc', + 'installer/setup/archive_patch_helper.h', + 'installer/setup/chrome_frame_quick_enable.cc', + 'installer/setup/chrome_frame_quick_enable.h', + 'installer/setup/chrome_frame_ready_mode.cc', + 'installer/setup/chrome_frame_ready_mode.h', + 'installer/setup/install.cc', + 'installer/setup/install.h', + 'installer/setup/install_worker.cc', + 'installer/setup/install_worker.h', + 'installer/setup/setup_main.cc', + 'installer/setup/setup_main.h', + 'installer/setup/setup.ico', + 'installer/setup/setup.rc', + 'installer/setup/setup_constants.cc', + 'installer/setup/setup_constants.h', + 'installer/setup/setup_exe_version.rc.version', + 'installer/setup/setup_resource.h', + 'installer/setup/setup_util.cc', + 'installer/setup/setup_util.h', + 'installer/setup/uninstall.cc', + 'installer/setup/uninstall.h', + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + }, + 'VCManifestTool': { + 'AdditionalManifestFiles': [ + '$(ProjectDir)\\installer\\setup\\setup.exe.manifest', + ], + }, + }, + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + 'rules': [ + { + 'rule_name': 'setup_version', + 'extension': 'version', + 'variables': { + 'version_py_path': '../chrome/tools/build/version.py', + 'template_input_path': 'installer/setup/setup_exe_version.rc.version', + }, + 'inputs': [ + '<(template_input_path)', + '<(version_path)', + '<(lastchange_path)', + '<(branding_dir)/BRANDING', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/setup/setup_exe_version.rc', + ], + 'action': [ + 'python', '<(version_py_path)', + '-f', '<(version_path)', + '-f', '<(lastchange_path)', + '-f', '<(branding_dir)/BRANDING', + '<(template_input_path)', + '<@(_outputs)', + ], + 'process_outputs_as_sources': 1, + 'message': 'Generating version information' + }, + { + 'rule_name': 'server_dlls', + 'extension': 'release', + 'variables': { + 'scan_server_dlls_py' : 'tools/build/win/scan_server_dlls.py', + 'template_file': 'installer/mini_installer/chrome.release', + }, + 'inputs': [ + '<(scan_server_dlls_py)', + '<(template_file)' + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/registered_dlls.h', + ], + 'action': [ + 'python', + '<(scan_server_dlls_py)', + '--output_dir=<(PRODUCT_DIR)', + '--input_file=<(RULE_INPUT_PATH)', + '--header_output_dir=<(INTERMEDIATE_DIR)', + # TODO(sgk): may just use environment variables + #'--distribution=$(CHROMIUM_BUILD)', + '--distribution=_google_chrome', + ], + 'msvs_cygwin_shell': 1, + }, + ], + 'conditions': [ + ['component == "shared_library"', { + 'variables': { + 'win_use_external_manifest': 1, + }, + }], + # TODO(mark): <(branding_dir) should be defined by the + # global condition block at the bottom of the file, but + # this doesn't work due to the following issue: + # + # http://code.google.com/p/gyp/issues/detail?id=22 + # + # Remove this block once the above issue is fixed. + [ 'branding == "Chrome"', { + 'variables': { + 'branding_dir': 'app/theme/google_chrome', + 'branding_dir_100': 'app/theme/default_100_percent/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': 'app/theme/chromium', + 'branding_dir_100': 'app/theme/default_100_percent/chromium', + }, + }], + ['target_arch=="x64"', { + 'dependencies!': [ + '../chrome_frame/chrome_frame.gyp:chrome_tab_idl', + '../chrome_frame/chrome_frame.gyp:npchrome_frame', + ], + 'defines': [ + 'OMIT_CHROME_FRAME', + ], + }], + ], + }, + { + 'target_name': 'setup_unittests', + 'type': 'executable', + 'dependencies': [ + 'installer_util', + 'installer_util_strings', + 'launcher_support', + '../base/base.gyp:base', + '../base/base.gyp:base_i18n', + '../base/base.gyp:test_support_base', + '../chrome_frame/chrome_frame.gyp:chrome_tab_idl', + '../testing/gmock.gyp:gmock', + '../testing/gtest.gyp:gtest', + ], + 'include_dirs': [ + '..', + '<(INTERMEDIATE_DIR)', + ], + # TODO(robertshield): Move the items marked with "Move to lib" + # below into a separate lib and then link both setup.exe and + # setup_unittests.exe against that. + 'sources': [ + 'installer/mini_installer/chrome.release', # Move to lib + 'installer/mini_installer/appid.h', + 'installer/mini_installer/chrome_appid.cc', + 'installer/mini_installer/configuration.cc', + 'installer/mini_installer/configuration.h', + 'installer/mini_installer/configuration_test.cc', + 'installer/mini_installer/decompress.cc', + 'installer/mini_installer/decompress.h', + 'installer/mini_installer/decompress_test.cc', + 'installer/mini_installer/mini_string.cc', + 'installer/mini_installer/mini_string.h', + 'installer/mini_installer/mini_string_test.cc', + 'installer/setup/archive_patch_helper.cc', # Move to lib + 'installer/setup/archive_patch_helper.h', # Move to lib + 'installer/setup/archive_patch_helper_unittest.cc', + 'installer/setup/install.cc', # Move to lib + 'installer/setup/install.h', # Move to lib + 'installer/setup/install_unittest.cc', + 'installer/setup/install_worker.cc', # Move to lib + 'installer/setup/install_worker.h', # Move to lib + 'installer/setup/install_worker_unittest.cc', + 'installer/setup/run_all_unittests.cc', + 'installer/setup/setup_constants.cc', # Move to lib + 'installer/setup/setup_constants.h', # Move to lib + 'installer/setup/setup_unittests.rc', + 'installer/setup/setup_unittests_resource.h', + 'installer/setup/setup_util.cc', + 'installer/setup/setup_util_unittest.cc', + 'installer/setup/setup_util_unittest.h', + ], + 'rules': [ + { + 'rule_name': 'server_dlls', # Move to lib + 'extension': 'release', + 'variables': { + 'scan_server_dlls_py' : 'tools/build/win/scan_server_dlls.py', + 'template_file': 'installer/mini_installer/chrome.release', + }, + 'inputs': [ + '<(scan_server_dlls_py)', + '<(template_file)' + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/registered_dlls.h', + ], + 'action': [ + 'python', + '<(scan_server_dlls_py)', + '--output_dir=<(PRODUCT_DIR)', + '--input_file=<(RULE_INPUT_PATH)', + '--header_output_dir=<(INTERMEDIATE_DIR)', + # TODO(sgk): may just use environment variables + #'--distribution=$(CHROMIUM_BUILD)', + '--distribution=_google_chrome', + ], + 'msvs_cygwin_shell': 1, + }, + ], + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + }, + ], + }], + ['OS=="win" and target_arch=="ia32"', { + 'targets': [ + { + 'target_name': 'launcher_support64', + 'type': 'static_library', + 'include_dirs': [ + '..', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '..', + ], + }, + 'defines': [ + '<@(nacl_win64_defines)', + ], + 'dependencies': [ + '<(DEPTH)/base/base.gyp:base_nacl_win64', + ], + 'configurations': { + 'Common_Base': { + 'msvs_target_platform': 'x64', + }, + }, + 'sources': [ + 'installer/launcher_support/chrome_launcher_support.cc', + 'installer/launcher_support/chrome_launcher_support.h', + ], + }, + ], + }], + ['OS=="linux" and branding=="Chrome"', { + 'variables': { + # Always google_chrome since this only applies to branding==Chrome. + 'branding_dir': 'app/theme/google_chrome', + 'branding_dir_100': 'app/theme/default_100_percent/google_chrome', + 'version' : '. +{ + 'variables': { + 'chromium_code': 1, + }, + 'includes': [ + '../build/common.gypi', + 'chrome_nibs.gypi', + ], + 'target_defaults': { + 'include_dirs': [ + '..', + ], + }, + 'targets': [ + { + 'target_name': 'chrome_nibs', + 'type': 'executable', + 'mac_bundle': 1, + 'sources': [ + '../third_party/GTM/AppKit/GTMUILocalizer.h', + '../third_party/GTM/AppKit/GTMUILocalizer.mm', + '../third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h', + '../third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.mm', + '../ui/base/cocoa/base_view.h', + '../ui/base/cocoa/base_view.mm', + '../ui/base/cocoa/controls/hyperlink_button_cell.h', + '../ui/base/cocoa/controls/hyperlink_button_cell.mm', + '../ui/base/cocoa/hover_button.h', + '../ui/base/cocoa/hover_button.mm', + '../ui/base/cocoa/hover_image_button.h', + '../ui/base/cocoa/hover_image_button.mm', + '../ui/base/cocoa/menu_controller.h', + '../ui/base/cocoa/menu_controller.mm', + 'browser/ui/cocoa/about_ipc_controller.h', + 'browser/ui/cocoa/about_ipc_controller.mm', + 'browser/ui/cocoa/animatable_view.h', + 'browser/ui/cocoa/animatable_view.mm', + 'browser/ui/cocoa/background_gradient_view.h', + 'browser/ui/cocoa/background_gradient_view.mm', + 'browser/ui/cocoa/base_bubble_controller.h', + 'browser/ui/cocoa/base_bubble_controller.mm', + 'browser/ui/cocoa/bookmarks/bookmark_all_tabs_controller.h', + 'browser/ui/cocoa/bookmarks/bookmark_all_tabs_controller.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_controller.h', + 'browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_view.h', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_view.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_window.h', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_window.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_toolbar_view.h', + 'browser/ui/cocoa/bookmarks/bookmark_bar_toolbar_view.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.h', + 'browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_view.h', + 'browser/ui/cocoa/bookmarks/bookmark_bar_view.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bubble_controller.h', + 'browser/ui/cocoa/bookmarks/bookmark_bubble_controller.mm', + 'browser/ui/cocoa/bookmarks/bookmark_button.h', + 'browser/ui/cocoa/bookmarks/bookmark_button.mm', + 'browser/ui/cocoa/bookmarks/bookmark_button_cell.h', + 'browser/ui/cocoa/bookmarks/bookmark_button_cell.mm', + 'browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.h', + 'browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.mm', + 'browser/ui/cocoa/bookmarks/bookmark_name_folder_controller.h', + 'browser/ui/cocoa/bookmarks/bookmark_name_folder_controller.mm', + 'browser/ui/cocoa/browser/avatar_menu_bubble_controller.h', + 'browser/ui/cocoa/browser/avatar_menu_bubble_controller.mm', + 'browser/ui/cocoa/browser_window_controller.h', + 'browser/ui/cocoa/browser_window_controller.mm', + 'browser/ui/cocoa/browser_window_controller_private.h', + 'browser/ui/cocoa/browser_window_controller_private.mm', + 'browser/ui/cocoa/chrome_browser_window.h', + 'browser/ui/cocoa/chrome_browser_window.mm', + 'browser/ui/cocoa/chrome_event_processing_window.h', + 'browser/ui/cocoa/chrome_event_processing_window.mm', + 'browser/ui/cocoa/clickhold_button_cell.h', + 'browser/ui/cocoa/clickhold_button_cell.mm', + 'browser/ui/cocoa/content_settings/collected_cookies_mac.h', + 'browser/ui/cocoa/content_settings/collected_cookies_mac.mm', + 'browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.h', + 'browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm', + 'browser/ui/cocoa/content_settings/cookie_details_view_controller.h', + 'browser/ui/cocoa/content_settings/cookie_details_view_controller.mm', + 'browser/ui/cocoa/custom_frame_view.h', + 'browser/ui/cocoa/custom_frame_view.mm', + 'browser/ui/cocoa/download/download_item_button.h', + 'browser/ui/cocoa/download/download_item_button.mm', + 'browser/ui/cocoa/download/download_item_cell.h', + 'browser/ui/cocoa/download/download_item_cell.mm', + 'browser/ui/cocoa/download/download_item_controller.h', + 'browser/ui/cocoa/download/download_item_controller.mm', + 'browser/ui/cocoa/download/download_shelf_controller.h', + 'browser/ui/cocoa/download/download_shelf_controller.mm', + 'browser/ui/cocoa/download/download_shelf_view.h', + 'browser/ui/cocoa/download/download_shelf_view.mm', + 'browser/ui/cocoa/download/download_show_all_button.h', + 'browser/ui/cocoa/download/download_show_all_button.mm', + 'browser/ui/cocoa/download/download_show_all_cell.h', + 'browser/ui/cocoa/download/download_show_all_cell.mm', + 'browser/ui/cocoa/draggable_button.h', + 'browser/ui/cocoa/draggable_button.mm', + 'browser/ui/cocoa/browser/edit_search_engine_cocoa_controller.h', + 'browser/ui/cocoa/browser/edit_search_engine_cocoa_controller.mm', + 'browser/ui/cocoa/constrained_window/constrained_window_button.h', + 'browser/ui/cocoa/constrained_window/constrained_window_button.mm', + 'browser/ui/cocoa/constrained_window/constrained_window_custom_window.h', + 'browser/ui/cocoa/constrained_window/constrained_window_custom_window.mm', + 'browser/ui/cocoa/extensions/browser_actions_container_view.h', + 'browser/ui/cocoa/extensions/browser_actions_container_view.mm', + 'browser/ui/cocoa/extensions/extension_install_dialog_controller.h', + 'browser/ui/cocoa/extensions/extension_install_dialog_controller.mm', + 'browser/ui/cocoa/extensions/extension_install_view_controller.h', + 'browser/ui/cocoa/extensions/extension_install_view_controller.mm', + 'browser/ui/cocoa/extensions/extension_installed_bubble_controller.h', + 'browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm', + 'browser/ui/cocoa/fast_resize_view.h', + 'browser/ui/cocoa/fast_resize_view.mm', + 'browser/ui/cocoa/find_bar/find_bar_cocoa_controller.h', + 'browser/ui/cocoa/find_bar/find_bar_cocoa_controller.mm', + 'browser/ui/cocoa/find_bar/find_bar_text_field.h', + 'browser/ui/cocoa/find_bar/find_bar_text_field.mm', + 'browser/ui/cocoa/find_bar/find_bar_text_field_cell.h', + 'browser/ui/cocoa/find_bar/find_bar_text_field_cell.mm', + 'browser/ui/cocoa/find_bar/find_bar_view.h', + 'browser/ui/cocoa/find_bar/find_bar_view.mm', + 'browser/ui/cocoa/first_run_bubble_controller.h', + 'browser/ui/cocoa/first_run_bubble_controller.mm', + 'browser/ui/cocoa/first_run_dialog.h', + 'browser/ui/cocoa/first_run_dialog.mm', + 'browser/ui/cocoa/framed_browser_window.h', + 'browser/ui/cocoa/framed_browser_window.mm', + 'browser/ui/cocoa/fullscreen_exit_bubble_controller.h', + 'browser/ui/cocoa/fullscreen_exit_bubble_controller.mm', + 'browser/ui/cocoa/fullscreen_exit_bubble_view.h', + 'browser/ui/cocoa/fullscreen_exit_bubble_view.mm', + 'browser/ui/cocoa/global_error_bubble_controller.h', + 'browser/ui/cocoa/global_error_bubble_controller.mm', + 'browser/ui/cocoa/gradient_button_cell.h', + 'browser/ui/cocoa/gradient_button_cell.mm', + 'browser/ui/cocoa/hover_close_button.h', + 'browser/ui/cocoa/hover_close_button.mm', + 'browser/ui/cocoa/hung_renderer_controller.h', + 'browser/ui/cocoa/hung_renderer_controller.mm', + 'browser/ui/cocoa/image_button_cell.h', + 'browser/ui/cocoa/image_button_cell.mm', + 'browser/ui/cocoa/info_bubble_view.h', + 'browser/ui/cocoa/info_bubble_view.mm', + 'browser/ui/cocoa/info_bubble_window.h', + 'browser/ui/cocoa/info_bubble_window.mm', + 'browser/ui/cocoa/infobars/after_translate_infobar_controller.h', + 'browser/ui/cocoa/infobars/after_translate_infobar_controller.mm', + 'browser/ui/cocoa/infobars/alternate_nav_infobar_controller.h', + 'browser/ui/cocoa/infobars/alternate_nav_infobar_controller.mm', + 'browser/ui/cocoa/infobars/before_translate_infobar_controller.h', + 'browser/ui/cocoa/infobars/before_translate_infobar_controller.mm', + 'browser/ui/cocoa/infobars/confirm_infobar_controller.h', + 'browser/ui/cocoa/infobars/confirm_infobar_controller.mm', + 'browser/ui/cocoa/infobars/extension_infobar_controller.h', + 'browser/ui/cocoa/infobars/extension_infobar_controller.mm', + 'browser/ui/cocoa/infobars/infobar_container_controller.h', + 'browser/ui/cocoa/infobars/infobar_container_controller.mm', + 'browser/ui/cocoa/infobars/infobar_controller.h', + 'browser/ui/cocoa/infobars/infobar_controller.mm', + 'browser/ui/cocoa/infobars/infobar_gradient_view.h', + 'browser/ui/cocoa/infobars/infobar_gradient_view.mm', + 'browser/ui/cocoa/location_bar/autocomplete_text_field.h', + 'browser/ui/cocoa/location_bar/autocomplete_text_field.mm', + 'browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h', + 'browser/ui/cocoa/location_bar/autocomplete_text_field_cell.mm', + 'browser/ui/cocoa/login_prompt_cocoa.h', + 'browser/ui/cocoa/login_prompt_cocoa.mm', + 'browser/ui/cocoa/menu_button.h', + 'browser/ui/cocoa/menu_button.mm', + 'browser/ui/cocoa/multi_key_equivalent_button.h', + 'browser/ui/cocoa/multi_key_equivalent_button.mm', + 'browser/ui/cocoa/new_tab_button.h', + 'browser/ui/cocoa/new_tab_button.mm', + 'browser/ui/cocoa/notifications/balloon_controller.h', + 'browser/ui/cocoa/notifications/balloon_controller.mm', + 'browser/ui/cocoa/notifications/balloon_view.h', + 'browser/ui/cocoa/notifications/balloon_view.mm', + 'browser/ui/cocoa/nsmenuitem_additions.h', + 'browser/ui/cocoa/nsmenuitem_additions.mm', + 'browser/ui/cocoa/nsview_additions.h', + 'browser/ui/cocoa/nsview_additions.mm', + 'browser/ui/cocoa/one_click_signin_view_controller.h', + 'browser/ui/cocoa/one_click_signin_view_controller.mm', + 'browser/ui/cocoa/screen_capture_notification_ui_cocoa.h', + 'browser/ui/cocoa/screen_capture_notification_ui_cocoa.mm', + 'browser/ui/cocoa/speech_recognition_window_controller.h', + 'browser/ui/cocoa/speech_recognition_window_controller.mm', + 'browser/ui/cocoa/status_bubble_mac.h', + 'browser/ui/cocoa/status_bubble_mac.mm', + 'browser/ui/cocoa/styled_text_field.h', + 'browser/ui/cocoa/styled_text_field.mm', + 'browser/ui/cocoa/styled_text_field_cell.h', + 'browser/ui/cocoa/styled_text_field_cell.mm', + 'browser/ui/cocoa/tab_contents/overlayable_contents_controller.h', + 'browser/ui/cocoa/tab_contents/overlayable_contents_controller.mm', + 'browser/ui/cocoa/tab_contents/sad_tab_controller.h', + 'browser/ui/cocoa/tab_contents/sad_tab_controller.mm', + 'browser/ui/cocoa/tab_contents/sad_tab_view.h', + 'browser/ui/cocoa/tab_contents/sad_tab_view.mm', + 'browser/ui/cocoa/tabs/tab_controller.h', + 'browser/ui/cocoa/tabs/tab_controller.mm', + 'browser/ui/cocoa/tabs/tab_strip_model_observer_bridge.h', + 'browser/ui/cocoa/tabs/tab_strip_model_observer_bridge.mm', + 'browser/ui/cocoa/tabs/tab_strip_view.h', + 'browser/ui/cocoa/tabs/tab_strip_view.mm', + 'browser/ui/cocoa/tabs/tab_view.h', + 'browser/ui/cocoa/tabs/tab_view.mm', + 'browser/ui/cocoa/tabs/tab_window_controller.h', + 'browser/ui/cocoa/tabs/tab_window_controller.mm', + 'browser/ui/cocoa/task_manager_mac.h', + 'browser/ui/cocoa/task_manager_mac.mm', + 'browser/ui/cocoa/themed_window.h', + 'browser/ui/cocoa/themed_window.mm', + 'browser/ui/cocoa/toolbar/reload_button.h', + 'browser/ui/cocoa/toolbar/reload_button.mm', + 'browser/ui/cocoa/toolbar/toolbar_button.h', + 'browser/ui/cocoa/toolbar/toolbar_button.mm', + 'browser/ui/cocoa/toolbar/toolbar_controller.h', + 'browser/ui/cocoa/toolbar/toolbar_controller.mm', + 'browser/ui/cocoa/toolbar/toolbar_view.h', + 'browser/ui/cocoa/toolbar/toolbar_view.mm', + 'browser/ui/cocoa/toolbar/wrench_toolbar_button_cell.h', + 'browser/ui/cocoa/toolbar/wrench_toolbar_button_cell.mm', + 'browser/ui/cocoa/ui_localizer.h', + 'browser/ui/cocoa/ui_localizer.mm', + 'browser/ui/cocoa/vertical_gradient_view.h', + 'browser/ui/cocoa/vertical_gradient_view.mm', + 'browser/ui/cocoa/view_id_util.h', + 'browser/ui/cocoa/view_id_util.mm', + 'browser/ui/cocoa/wrench_menu/menu_tracked_root_view.h', + 'browser/ui/cocoa/wrench_menu/menu_tracked_root_view.mm', + 'browser/ui/cocoa/wrench_menu/wrench_menu_controller.h', + 'browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm', + 'browser/ui/cocoa/panels/panel_titlebar_view_cocoa.h', + 'browser/ui/cocoa/panels/panel_titlebar_view_cocoa.mm', + 'browser/ui/cocoa/panels/panel_window_controller_cocoa.h', + 'browser/ui/cocoa/panels/panel_window_controller_cocoa.mm', + ], + 'mac_bundle_resources': [ + '<@(mac_all_xibs)', + ], + }, # target chrome_xibs + ], # targets +} diff --git a/chromium/chrome/chrome_nibs.gypi b/chromium/chrome/chrome_nibs.gypi new file mode 100644 index 00000000000..7c7aa330ad9 --- /dev/null +++ b/chromium/chrome/chrome_nibs.gypi @@ -0,0 +1,73 @@ +# Copyright (c) 2012 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. + +# This gypi file contains lists of XIB files that are used by Chromium. The +# lists are divided by those files that need to be run through the localizer +# tool and those that do not. A XIB should be listed in either one or the +# other, but not both. +{ + 'variables': { + 'mac_translated_xibs': [ + 'app/nibs/AvatarMenuItem.xib', + 'app/nibs/BookmarkAllTabs.xib', + 'app/nibs/BookmarkBar.xib', + 'app/nibs/BookmarkBubble.xib', + 'app/nibs/BookmarkEditor.xib', + 'app/nibs/BookmarkNameFolder.xib', + 'app/nibs/CollectedCookies.xib', + 'app/nibs/ContentBlockedCookies.xib', + 'app/nibs/ContentBlockedDownloads.xib', + 'app/nibs/ContentBlockedMIDISysEx.xib', + 'app/nibs/ContentBlockedMedia.xib', + 'app/nibs/ContentBlockedMixedScript.xib', + 'app/nibs/ContentBlockedPlugins.xib', + 'app/nibs/ContentBlockedPopups.xib', + 'app/nibs/ContentBlockedGeolocation.xib', + 'app/nibs/ContentBlockedSimple.xib', + 'app/nibs/ContentProtocolHandlers.xib', + 'app/nibs/CookieDetailsView.xib', + 'app/nibs/DownloadItem.xib', + 'app/nibs/DownloadShelf.xib', + 'app/nibs/EditSearchEngine.xib', + 'app/nibs/ExtensionInstallPrompt.xib', + 'app/nibs/ExtensionInstallPromptBundle.xib', + 'app/nibs/ExtensionInstallPromptInline.xib', + 'app/nibs/ExtensionInstallPromptNoWarnings.xib', + 'app/nibs/ExtensionInstalledBubble.xib', + 'app/nibs/FirstRunBubble.xib', + 'app/nibs/FirstRunDialog.xib', + 'app/nibs/FullscreenExitBubble.xib', + 'app/nibs/HttpAuthLoginSheet.xib', + 'app/nibs/HungRendererDialog.xib', + 'app/nibs/ImportProgressDialog.xib', + 'app/nibs/MainMenu.xib', + 'app/nibs/OneClickSigninBubble.xib', + 'app/nibs/OneClickSigninDialog.xib', + 'app/nibs/SadTab.xib', + 'app/nibs/SaveAccessoryView.xib', + 'app/nibs/SpeechRecognitionBubble.xib', + 'app/nibs/TaskManager.xib', + 'app/nibs/Toolbar.xib', + 'app/nibs/WrenchMenu.xib', + ], # mac_translated_xibs + 'mac_untranslated_xibs': [ + 'app/nibs/AboutIPC.xib', + 'app/nibs/ActionBoxMenuItem.xib', + 'app/nibs/BookmarkBarFolderWindow.xib', + 'app/nibs/ExtensionInstalledBubbleBundle.xib', + 'app/nibs/FindBar.xib', + 'app/nibs/GlobalErrorBubble.xib', + 'app/nibs/HungRendererDialog.xib', + 'app/nibs/InfoBar.xib', + 'app/nibs/InfoBarContainer.xib', + 'app/nibs/Notification.xib', + 'app/nibs/Panel.xib', + 'app/nibs/ScreenCaptureNotification.xib', + ], # mac_untranslated_xibs + 'mac_all_xibs': [ + '<@(mac_translated_xibs)', + '<@(mac_untranslated_xibs)', + ], # mac_all_xibs + }, # variables +} diff --git a/chromium/chrome/chrome_process_finder.gypi b/chromium/chrome/chrome_process_finder.gypi new file mode 100644 index 00000000000..0193b3baf1b --- /dev/null +++ b/chromium/chrome/chrome_process_finder.gypi @@ -0,0 +1,25 @@ +# Copyright (c) 2013 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. + +{ + 'targets': [ + { + 'target_name': 'chrome_process_finder', + 'type': 'static_library', + 'include_dirs': [ + '..', + ], + 'dependencies': [ + 'policy_path_parser', + '../base/base.gyp:base', + '../chrome/chrome.gyp:metro_utils', + '../chrome/common_constants.gyp:common_constants', + ], + 'sources': [ + 'browser/chrome_process_finder_win.cc', + 'browser/chrome_process_finder_win.h', + ], + }, + ], +} diff --git a/chromium/chrome/chrome_renderer.gypi b/chromium/chrome/chrome_renderer.gypi new file mode 100644 index 00000000000..5b0d88cdd73 --- /dev/null +++ b/chromium/chrome/chrome_renderer.gypi @@ -0,0 +1,433 @@ +# Copyright (c) 2012 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. + +{ + 'targets': [ + { + 'target_name': 'renderer', + 'type': 'static_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + 'common', + 'common_net', + 'chrome_resources.gyp:chrome_resources', + 'chrome_resources.gyp:chrome_strings', + '../components/components.gyp:autofill_content_renderer', + '../components/components.gyp:visitedlink_renderer', + '../content/content.gyp:content_renderer', + '../net/net.gyp:net', + '../printing/printing.gyp:printing', + '../skia/skia.gyp:skia', + '../third_party/WebKit/public/blink.gyp:blink', + '../third_party/hunspell/hunspell.gyp:hunspell', + '../third_party/icu/icu.gyp:icui18n', + '../third_party/icu/icu.gyp:icuuc', + '../third_party/npapi/npapi.gyp:npapi', + '../third_party/re2/re2.gyp:re2', + '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h', + '../ui/surface/surface.gyp:surface', + '../webkit/common/webkit_common.gyp:webkit_common', + '../webkit/support/webkit_support.gyp:glue_child', + '../webkit/renderer/webkit_renderer.gyp:webkit_renderer', + '../webkit/support/webkit_support.gyp:glue', + '../webkit/webkit_resources.gyp:webkit_resources', + ], + 'include_dirs': [ + '..', + # Needed by chrome_content_renderer_client.cc. + '<(SHARED_INTERMEDIATE_DIR)', + ], + 'defines': [ + '<@(nacl_defines)', + ], + 'direct_dependent_settings': { + 'defines': [ + '<@(nacl_defines)', + ], + }, + 'sources': [ + 'renderer/benchmarking_extension.cc', + 'renderer/benchmarking_extension.h', + 'renderer/extensions/activity_log_converter_strategy.cc', + 'renderer/extensions/activity_log_converter_strategy.h', + 'renderer/extensions/api_activity_logger.cc', + 'renderer/extensions/api_activity_logger.h', + 'renderer/extensions/api_definitions_natives.cc', + 'renderer/extensions/api_definitions_natives.h', + 'renderer/extensions/app_bindings.cc', + 'renderer/extensions/app_bindings.h', + 'renderer/extensions/app_runtime_custom_bindings.cc', + 'renderer/extensions/app_runtime_custom_bindings.h', + 'renderer/extensions/app_window_custom_bindings.cc', + 'renderer/extensions/app_window_custom_bindings.h', + 'renderer/extensions/binding_generating_native_handler.cc', + 'renderer/extensions/binding_generating_native_handler.h', + 'renderer/extensions/chrome_v8_context.cc', + 'renderer/extensions/chrome_v8_context.h', + 'renderer/extensions/chrome_v8_context_set.cc', + 'renderer/extensions/chrome_v8_context_set.h', + 'renderer/extensions/chrome_v8_extension.cc', + 'renderer/extensions/chrome_v8_extension.h', + 'renderer/extensions/chrome_v8_extension_handler.cc', + 'renderer/extensions/chrome_v8_extension_handler.h', + 'renderer/extensions/console.cc', + 'renderer/extensions/console.h', + 'renderer/extensions/content_watcher.cc', + 'renderer/extensions/content_watcher.h', + 'renderer/extensions/context_menus_custom_bindings.cc', + 'renderer/extensions/context_menus_custom_bindings.h', + 'renderer/extensions/dispatcher.cc', + 'renderer/extensions/dispatcher.h', + 'renderer/extensions/dom_activity_logger.cc', + 'renderer/extensions/dom_activity_logger.h', + 'renderer/extensions/event_bindings.cc', + 'renderer/extensions/event_bindings.h', + 'renderer/extensions/extension_custom_bindings.cc', + 'renderer/extensions/extension_custom_bindings.h', + 'renderer/extensions/extension_groups.h', + 'renderer/extensions/extension_helper.cc', + 'renderer/extensions/extension_helper.h', + 'renderer/extensions/extension_localization_peer.cc', + 'renderer/extensions/extension_localization_peer.h', + 'renderer/extensions/feedback_private_custom_bindings.cc', + 'renderer/extensions/feedback_private_custom_bindings.h', + 'renderer/extensions/file_browser_handler_custom_bindings.cc', + 'renderer/extensions/file_browser_handler_custom_bindings.h', + 'renderer/extensions/file_browser_private_custom_bindings.cc', + 'renderer/extensions/file_browser_private_custom_bindings.h', + 'renderer/extensions/file_system_natives.cc', + 'renderer/extensions/file_system_natives.h', + 'renderer/extensions/i18n_custom_bindings.cc', + 'renderer/extensions/i18n_custom_bindings.h', + 'renderer/extensions/logging_native_handler.cc', + 'renderer/extensions/logging_native_handler.h', + 'renderer/extensions/media_galleries_custom_bindings.cc', + 'renderer/extensions/media_galleries_custom_bindings.h', + 'renderer/extensions/messaging_bindings.cc', + 'renderer/extensions/messaging_bindings.h', + 'renderer/extensions/module_system.cc', + 'renderer/extensions/module_system.h', + 'renderer/extensions/native_handler.cc', + 'renderer/extensions/native_handler.h', + 'renderer/extensions/object_backed_native_handler.cc', + 'renderer/extensions/object_backed_native_handler.h', + 'renderer/extensions/page_actions_custom_bindings.cc', + 'renderer/extensions/page_actions_custom_bindings.h', + 'renderer/extensions/page_capture_custom_bindings.cc', + 'renderer/extensions/page_capture_custom_bindings.h', + 'renderer/extensions/renderer_permissions_policy_delegate.cc', + 'renderer/extensions/renderer_permissions_policy_delegate.h', + 'renderer/extensions/render_view_observer_natives.cc', + 'renderer/extensions/render_view_observer_natives.h', + 'renderer/extensions/request_sender.cc', + 'renderer/extensions/request_sender.h', + 'renderer/extensions/resource_request_policy.cc', + 'renderer/extensions/resource_request_policy.h', + 'renderer/extensions/runtime_custom_bindings.cc', + 'renderer/extensions/runtime_custom_bindings.h', + 'renderer/extensions/safe_builtins.cc', + 'renderer/extensions/safe_builtins.h', + 'renderer/extensions/scoped_persistent.h', + 'renderer/extensions/send_request_natives.cc', + 'renderer/extensions/send_request_natives.h', + 'renderer/extensions/set_icon_natives.cc', + 'renderer/extensions/set_icon_natives.h', + 'renderer/extensions/sync_file_system_custom_bindings.cc', + 'renderer/extensions/sync_file_system_custom_bindings.h', + 'renderer/extensions/tab_finder.cc', + 'renderer/extensions/tab_finder.h', + 'renderer/extensions/tabs_custom_bindings.cc', + 'renderer/extensions/tabs_custom_bindings.h', + 'renderer/extensions/tts_custom_bindings.cc', + 'renderer/extensions/tts_custom_bindings.h', + 'renderer/extensions/unsafe_persistent.h', + 'renderer/extensions/user_script_scheduler.cc', + 'renderer/extensions/user_script_scheduler.h', + 'renderer/extensions/user_script_slave.cc', + 'renderer/extensions/user_script_slave.h', + 'renderer/extensions/v8_schema_registry.cc', + 'renderer/extensions/v8_schema_registry.h', + 'renderer/extensions/web_request_custom_bindings.cc', + 'renderer/extensions/web_request_custom_bindings.h', + 'renderer/extensions/webstore_bindings.cc', + 'renderer/extensions/webstore_bindings.h', + 'renderer/frame_sniffer.cc', + 'renderer/frame_sniffer.h', + 'renderer/isolated_world_ids.h', + 'renderer/loadtimes_extension_bindings.cc', + 'renderer/loadtimes_extension_bindings.h', + 'renderer/media/chrome_webrtc_log_message_delegate.cc', + 'renderer/media/chrome_webrtc_log_message_delegate.h', + 'renderer/media/webrtc_logging_message_filter.cc', + 'renderer/media/webrtc_logging_message_filter.h', + 'renderer/net/net_error_helper.cc', + 'renderer/net/net_error_helper.h', + 'renderer/net/predictor_queue.cc', + 'renderer/net/predictor_queue.h', + 'renderer/net/prescient_networking_dispatcher.cc', + 'renderer/net/prescient_networking_dispatcher.h', + 'renderer/net/renderer_net_predictor.cc', + 'renderer/net/renderer_net_predictor.h', + 'renderer/net_benchmarking_extension.cc', + 'renderer/net_benchmarking_extension.h', + 'renderer/one_click_signin_agent.cc', + 'renderer/one_click_signin_agent.h', + 'renderer/playback_extension.cc', + 'renderer/playback_extension.h', + 'renderer/resource_bundle_source_map.cc', + 'renderer/resource_bundle_source_map.h', + 'renderer/resources/extensions/app_custom_bindings.js', + 'renderer/resources/extensions/app_window_custom_bindings.js', + 'renderer/resources/extensions/binding.js', + 'renderer/resources/extensions/browser_action_custom_bindings.js', + 'renderer/resources/extensions/chrome_direct_setting.js', + 'renderer/resources/extensions/chrome_setting.js', + 'renderer/resources/extensions/content_setting.js', + 'renderer/resources/extensions/content_watcher.js', + 'renderer/resources/extensions/context_menus_custom_bindings.js', + 'renderer/resources/extensions/declarative_content_custom_bindings.js', + 'renderer/resources/extensions/declarative_webrequest_custom_bindings.js', + 'renderer/resources/extensions/event.js', + 'renderer/resources/extensions/experimental.offscreenTabs_custom_bindings.js', + 'renderer/resources/extensions/extension_custom_bindings.js', + 'renderer/resources/extensions/feedback_private_custom_bindings.js', + 'renderer/resources/extensions/file_browser_handler_custom_bindings.js', + 'renderer/resources/extensions/file_browser_private_custom_bindings.js', + 'renderer/resources/extensions/file_system_custom_bindings.js', + 'renderer/resources/extensions/greasemonkey_api.js', + 'renderer/resources/extensions/input.ime_custom_bindings.js', + 'renderer/resources/extensions/json_schema.js', + 'renderer/resources/extensions/last_error.js', + 'renderer/resources/extensions/messaging.js', + 'renderer/resources/extensions/notifications_custom_bindings.js', + 'renderer/resources/extensions/omnibox_custom_bindings.js', + 'renderer/resources/extensions/page_action_custom_bindings.js', + 'renderer/resources/extensions/page_actions_custom_bindings.js', + 'renderer/resources/extensions/page_capture_custom_bindings.js', + 'renderer/resources/extensions/platform_app.js', + 'renderer/resources/extensions/runtime_custom_bindings.js', + 'renderer/resources/extensions/send_request.js', + 'renderer/resources/extensions/set_icon.js', + 'renderer/resources/extensions/storage_area.js', + 'renderer/resources/extensions/system_indicator_custom_bindings.js', + 'renderer/resources/extensions/test_custom_bindings.js', + 'renderer/resources/extensions/tts_custom_bindings.js', + 'renderer/resources/extensions/tts_engine_custom_bindings.js', + 'renderer/resources/extensions/unload_event.js', + 'renderer/resources/extensions/utils.js', + 'renderer/resources/extensions/web_request_custom_bindings.js', + 'renderer/resources/extensions/web_view.js', + 'renderer/resources/extensions/web_view_experimental.js', + 'renderer/chrome_content_renderer_client.cc', + 'renderer/chrome_content_renderer_client.h', + 'renderer/chrome_render_process_observer.cc', + 'renderer/chrome_render_process_observer.h', + 'renderer/chrome_render_view_observer.cc', + 'renderer/chrome_render_view_observer.h', + 'renderer/content_settings_observer.cc', + 'renderer/content_settings_observer.h', + 'renderer/custom_menu_commands.h', + 'renderer/external_host_bindings.cc', + 'renderer/external_host_bindings.h', + 'renderer/external_extension.cc', + 'renderer/external_extension.h', + 'renderer/page_load_histograms.cc', + 'renderer/page_load_histograms.h', + 'renderer/pepper/chrome_renderer_pepper_host_factory.cc', + 'renderer/pepper/chrome_renderer_pepper_host_factory.h', + 'renderer/pepper/pepper_extensions_common_host.cc', + 'renderer/pepper/pepper_extensions_common_host.h', + 'renderer/pepper/pepper_flash_drm_renderer_host.cc', + 'renderer/pepper/pepper_flash_drm_renderer_host.h', + 'renderer/pepper/pepper_flash_font_file_host.cc', + 'renderer/pepper/pepper_flash_font_file_host.h', + 'renderer/pepper/pepper_flash_fullscreen_host.cc', + 'renderer/pepper/pepper_flash_fullscreen_host.h', + 'renderer/pepper/pepper_flash_menu_host.cc', + 'renderer/pepper/pepper_flash_menu_host.h', + 'renderer/pepper/pepper_flash_renderer_host.cc', + 'renderer/pepper/pepper_flash_renderer_host.h', + 'renderer/pepper/pepper_helper.cc', + 'renderer/pepper/pepper_helper.h', + 'renderer/pepper/pepper_pdf_host.cc', + 'renderer/pepper/pepper_pdf_host.h', + 'renderer/pepper/pepper_shared_memory_message_filter.cc', + 'renderer/pepper/pepper_shared_memory_message_filter.h', + 'renderer/pepper/pnacl_translation_resource_host.cc', + 'renderer/pepper/pnacl_translation_resource_host.h', + 'renderer/pepper/ppb_nacl_private_impl.cc', + 'renderer/pepper/ppb_nacl_private_impl.h', + 'renderer/pepper/ppb_pdf_impl.cc', + 'renderer/pepper/ppb_pdf_impl.h', + 'renderer/plugins/plugin_placeholder.cc', + 'renderer/plugins/plugin_placeholder.h', + 'renderer/plugins/plugin_uma.cc', + 'renderer/plugins/plugin_uma.h', + 'renderer/plugins/webview_plugin.cc', + 'renderer/plugins/webview_plugin.h', + 'renderer/prerender/prerender_dispatcher.cc', + 'renderer/prerender/prerender_dispatcher.h', + 'renderer/prerender/prerender_extra_data.cc', + 'renderer/prerender/prerender_extra_data.h', + 'renderer/prerender/prerender_helper.cc', + 'renderer/prerender/prerender_helper.h', + 'renderer/prerender/prerender_media_load_deferrer.cc', + 'renderer/prerender/prerender_media_load_deferrer.h', + 'renderer/prerender/prerenderer_client.cc', + 'renderer/prerender/prerenderer_client.h', + 'renderer/printing/print_web_view_helper.cc', + 'renderer/printing/print_web_view_helper.h', + 'renderer/printing/print_web_view_helper_linux.cc', + 'renderer/printing/print_web_view_helper_mac.mm', + 'renderer/printing/print_web_view_helper_win.cc', + 'renderer/safe_browsing/feature_extractor_clock.cc', + 'renderer/safe_browsing/feature_extractor_clock.h', + 'renderer/safe_browsing/features.cc', + 'renderer/safe_browsing/features.h', + 'renderer/safe_browsing/malware_dom_details.cc', + 'renderer/safe_browsing/malware_dom_details.h', + 'renderer/safe_browsing/murmurhash3_util.cc', + 'renderer/safe_browsing/murmurhash3_util.h', + 'renderer/safe_browsing/phishing_classifier.cc', + 'renderer/safe_browsing/phishing_classifier.h', + 'renderer/safe_browsing/phishing_classifier_delegate.cc', + 'renderer/safe_browsing/phishing_classifier_delegate.h', + 'renderer/safe_browsing/phishing_dom_feature_extractor.cc', + 'renderer/safe_browsing/phishing_dom_feature_extractor.h', + 'renderer/safe_browsing/phishing_term_feature_extractor.cc', + 'renderer/safe_browsing/phishing_term_feature_extractor.h', + 'renderer/safe_browsing/phishing_url_feature_extractor.cc', + 'renderer/safe_browsing/phishing_url_feature_extractor.h', + 'renderer/safe_browsing/scorer.cc', + 'renderer/safe_browsing/scorer.h', + 'renderer/searchbox/searchbox.cc', + 'renderer/searchbox/searchbox.h', + 'renderer/searchbox/searchbox_extension.cc', + 'renderer/searchbox/searchbox_extension.h', + 'renderer/security_filter_peer.cc', + 'renderer/security_filter_peer.h', + 'renderer/spellchecker/cocoa_spelling_engine_mac.cc', + 'renderer/spellchecker/cocoa_spelling_engine_mac.h', + 'renderer/spellchecker/custom_dictionary_engine.cc', + 'renderer/spellchecker/custom_dictionary_engine.h', + 'renderer/spellchecker/hunspell_engine.cc', + 'renderer/spellchecker/hunspell_engine.h', + 'renderer/spellchecker/spellcheck_provider.cc', + 'renderer/spellchecker/spellcheck_provider.h', + 'renderer/spellchecker/spellcheck.cc', + 'renderer/spellchecker/spellcheck.h', + 'renderer/spellchecker/spellcheck_language.cc', + 'renderer/spellchecker/spellcheck_language.h', + 'renderer/spellchecker/spellcheck_worditerator.cc', + 'renderer/spellchecker/spellcheck_worditerator.h', + 'renderer/spellchecker/spelling_engine.h', + 'renderer/static_v8_external_string_resource.cc', + 'renderer/static_v8_external_string_resource.h', + 'renderer/tts_dispatcher.cc', + 'renderer/tts_dispatcher.h', + 'renderer/translate/translate_helper.cc', + 'renderer/translate/translate_helper.h', + 'renderer/validation_message_agent.cc', + 'renderer/validation_message_agent.h', + 'renderer/web_apps.cc', + 'renderer/web_apps.h', + 'renderer/webview_color_overlay.cc', + 'renderer/webview_color_overlay.h', + ], + 'conditions': [ + ['disable_nacl!=1', { + 'dependencies': [ + '../components/nacl.gyp:nacl', + ], + }], + ['enable_plugins==1', { + 'dependencies': [ + '../ppapi/ppapi_internal.gyp:ppapi_host', + '../ppapi/ppapi_internal.gyp:ppapi_proxy', + '../ppapi/ppapi_internal.gyp:ppapi_ipc', + '../ppapi/ppapi_internal.gyp:ppapi_shared', + ], + }, { # enable_plugins==0 + 'sources/': [ + ['exclude', '^renderer/pepper/'], + ], + }], + ['safe_browsing==1', { + 'defines': [ + 'FULL_SAFE_BROWSING', + ], + 'dependencies': [ + 'safe_browsing_proto', + '../third_party/smhasher/smhasher.gyp:murmurhash3', + ], + }, { # safe_browsing==0 || safe_browsing==2 + 'sources/': [ + ['exclude', '^renderer/safe_browsing/'], + ], + }], + ['enable_webrtc==0', { + 'sources!': [ + 'renderer/media/chrome_webrtc_log_message_delegate.cc', + 'renderer/media/chrome_webrtc_log_message_delegate.h', + 'renderer/media/webrtc_logging_message_filter.cc', + 'renderer/media/webrtc_logging_message_filter.h', + ], + }], + ['enable_spellcheck==0', { + 'sources/': [ + ['exclude', '^renderer/spellchecker/'] + ], + 'dependencies!': [ + '../third_party/hunspell/hunspell.gyp:hunspell', + ], + }], + ['OS=="mac"', { + 'dependencies': [ + '../third_party/mach_override/mach_override.gyp:mach_override', + ], + }], + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '../build/linux/system.gyp:gtk', + '../sandbox/sandbox.gyp:sandbox', + ], + }], + ['enable_automation==0', { + 'sources/': [ + ['exclude', '^renderer/automation/'] + ] + }], + ['enable_printing==0', { + 'sources/': [ + ['exclude', '^renderer/printing/'] + ] + }], + ['OS=="android"', { + 'sources!': [ + 'renderer/prerender/prerender_media_load_deferrer.cc', + 'renderer/prerender/prerender_media_load_deferrer.h', + ], + 'defines': [ + 'ENABLE_MOBILE_YOUTUBE_PLUGIN', + ], + }], + ['OS=="win"', { + 'include_dirs': [ + '<(DEPTH)/third_party/wtl/include', + ], + 'conditions': [ + ['win_use_allocator_shim==1', { + 'dependencies': [ + '<(allocator_target)', + ], + 'export_dependent_settings': [ + '<(allocator_target)', + ], + }], + ], + }], + ], + }, + ], +} diff --git a/chromium/chrome/chrome_repack_chrome.gypi b/chromium/chrome/chrome_repack_chrome.gypi new file mode 100644 index 00000000000..a89543575fe --- /dev/null +++ b/chromium/chrome/chrome_repack_chrome.gypi @@ -0,0 +1,36 @@ +# Copyright (c) 2012 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. +{ + 'action_name': 'repack_chrome', + 'variables': { + 'pak_inputs': [ + '<(grit_out_dir)/browser_resources.pak', + '<(grit_out_dir)/common_resources.pak', + '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.pak', + '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak', + ], + 'conditions': [ + ['OS != "ios"', { + 'pak_inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak', + '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.pak', + '<(SHARED_INTERMEDIATE_DIR)/webkit/blink_resources.pak', + ], + }], + ['enable_extensions==1', { + 'pak_inputs': [ + '<(grit_out_dir)/extensions_api_resources.pak', + ], + }], + ], + }, + 'inputs': [ + '<(repack_path)', + '<@(pak_inputs)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/repack/chrome.pak', + ], + 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'], +} diff --git a/chromium/chrome/chrome_repack_chrome_100_percent.gypi b/chromium/chrome/chrome_repack_chrome_100_percent.gypi new file mode 100644 index 00000000000..0d0a590ac47 --- /dev/null +++ b/chromium/chrome/chrome_repack_chrome_100_percent.gypi @@ -0,0 +1,33 @@ +# Copyright (c) 2012 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. +{ + 'action_name': 'repack_chrome_resources_100_percent', + 'variables': { + 'pak_inputs': [ + '<(grit_out_dir)/renderer_resources_100_percent.pak', + '<(grit_out_dir)/theme_resources_100_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak', + ], + 'conditions': [ + ['OS != "ios"', { + 'pak_inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_100_percent.pak', + ], + }], + ['use_ash==1', { + 'pak_inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_resources_100_percent.pak', + ], + }], + ], + }, + 'inputs': [ + '<(repack_path)', + '<@(pak_inputs)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/repack/chrome_100_percent.pak', + ], + 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'], +} diff --git a/chromium/chrome/chrome_repack_chrome_200_percent.gypi b/chromium/chrome/chrome_repack_chrome_200_percent.gypi new file mode 100644 index 00000000000..2e50e9dd92f --- /dev/null +++ b/chromium/chrome/chrome_repack_chrome_200_percent.gypi @@ -0,0 +1,33 @@ +# Copyright (c) 2012 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. +{ + 'action_name': 'repack_chrome_resources_200_percent', + 'variables': { + 'pak_inputs': [ + '<(grit_out_dir)/renderer_resources_200_percent.pak', + '<(grit_out_dir)/theme_resources_200_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_200_percent.pak', + ], + 'conditions': [ + ['OS != "ios"', { + 'pak_inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_200_percent.pak', + ], + }], + ['use_ash==1', { + 'pak_inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_resources_200_percent.pak', + ], + }], + ], + }, + 'inputs': [ + '<(repack_path)', + '<@(pak_inputs)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/repack/chrome_200_percent.pak', + ], + 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'], +} diff --git a/chromium/chrome/chrome_repack_chrome_touch_100_percent.gypi b/chromium/chrome/chrome_repack_chrome_touch_100_percent.gypi new file mode 100644 index 00000000000..2992d937977 --- /dev/null +++ b/chromium/chrome/chrome_repack_chrome_touch_100_percent.gypi @@ -0,0 +1,28 @@ +# Copyright (c) 2012 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. +{ + 'action_name': 'repack_chrome_touch_resources_100_percent', + 'variables': { + 'pak_inputs': [ + '<(grit_out_dir)/renderer_resources_100_percent.pak', + '<(grit_out_dir)/theme_resources_touch_100_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_touch_100_percent.pak', + ], + 'conditions': [ + ['OS != "ios"', { + 'pak_inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_100_percent.pak', + ], + }], + ], + }, + 'inputs': [ + '<(repack_path)', + '<@(pak_inputs)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/repack/chrome_touch_100_percent.pak', + ], + 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'], +} diff --git a/chromium/chrome/chrome_repack_chrome_touch_140_percent.gypi b/chromium/chrome/chrome_repack_chrome_touch_140_percent.gypi new file mode 100644 index 00000000000..6eeb29632a0 --- /dev/null +++ b/chromium/chrome/chrome_repack_chrome_touch_140_percent.gypi @@ -0,0 +1,20 @@ +# Copyright (c) 2012 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. +{ + 'action_name': 'repack_chrome_touch_resources_140_percent', + 'variables': { + 'pak_inputs': [ + '<(grit_out_dir)/theme_resources_touch_140_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_touch_140_percent.pak', + ], + }, + 'inputs': [ + '<(repack_path)', + '<@(pak_inputs)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/repack/chrome_touch_140_percent.pak', + ], + 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'], +} diff --git a/chromium/chrome/chrome_repack_chrome_touch_180_percent.gypi b/chromium/chrome/chrome_repack_chrome_touch_180_percent.gypi new file mode 100644 index 00000000000..15b0c113ddc --- /dev/null +++ b/chromium/chrome/chrome_repack_chrome_touch_180_percent.gypi @@ -0,0 +1,20 @@ +# Copyright (c) 2012 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. +{ + 'action_name': 'repack_chrome_touch_resources_180_percent', + 'variables': { + 'pak_inputs': [ + '<(grit_out_dir)/theme_resources_touch_180_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_touch_180_percent.pak', + ], + }, + 'inputs': [ + '<(repack_path)', + '<@(pak_inputs)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/repack/chrome_touch_180_percent.pak', + ], + 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'], +} diff --git a/chromium/chrome/chrome_repack_locales.gypi b/chromium/chrome/chrome_repack_locales.gypi new file mode 100644 index 00000000000..015d5413378 --- /dev/null +++ b/chromium/chrome/chrome_repack_locales.gypi @@ -0,0 +1,34 @@ +# Copyright (c) 2012 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. +{ + 'action_name': 'repack_locales', + 'variables': { + 'conditions': [ + ['branding=="Chrome"', { + 'branding_flag': ['-b', 'google_chrome',], + }, { # else: branding!="Chrome" + 'branding_flag': ['-b', 'chromium',], + }], + ], + 'repack_extra_flags%': [], + 'repack_output_dir%': '<(SHARED_INTERMEDIATE_DIR)', + }, + 'inputs': [ + 'tools/build/repack_locales.py', + ' and . + ['OS=="linux" and clang_type_profiler==1', { + 'cflags_cc!': [ + '-fintercept-allocation-functions', + ], + }], + ['os_posix == 1 and OS!="mac"', { + 'include_dirs': [ + '..', + '<(sysroot)/usr/include/python<(python_ver)', + ], + 'link_settings': { + 'libraries': [ + '-lpython<(python_ver)', + ], + }, + }], + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '../build/linux/system.gyp:gtk', + ], + }], + ['OS=="mac"', { + 'include_dirs': [ + '..', + '/usr/include/python2.6', + ], + }], + ['OS=="win"', { + 'product_extension': 'pyd', + 'include_dirs': [ + '..', + '../third_party/python_26/include', + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'AdditionalLibraryDirectories': [ + '<(DEPTH)/third_party/python_26/libs', + ], + 'AdditionalDependencies': [ + 'python26.lib', + ], + }, + } + }], + ['clang == 1', { + 'xcode_settings': { + 'WARNING_CFLAGS': [ + # swig creates code with self assignments. + '-Wno-self-assign', + ], + }, + 'cflags': [ + '-Wno-self-assign', + ], + }], + ['asan==1', { + 'cflags!': [ '-fsanitize=address' ], + 'xcode_settings': { 'OTHER_CFLAGS!': [ '-fsanitize=address' ] }, + }], + ], + 'actions': [ + { + 'variables' : { + 'swig_args': [ '-I..', + '-python', + '-c++', + '-threads', + '-outdir', + '<(PRODUCT_DIR)', + '-o', + '<(INTERMEDIATE_DIR)/pyautolib_wrap.cc', + ], + 'conditions': [ + ['chromeos==1', { + 'swig_args': [ + '-DOS_CHROMEOS', + ] + }], + ], + }, + 'action_name': 'pyautolib_swig', + 'inputs': [ + 'test/pyautolib/argc_argv.i', + 'test/pyautolib/pyautolib.i', + '<@(pyautolib_sources)', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/pyautolib_wrap.cc', + '<(PRODUCT_DIR)/pyautolib.py', + ], + 'action': [ 'python', + '../tools/swig/swig.py', + '<@(swig_args)', + 'test/pyautolib/pyautolib.i', + ], + 'message': 'Generating swig wrappers for pyautolib.', + 'msvs_cygwin_shell': 1, + }, + ], # actions + }, # target 'pyautolib' + { + # Required for WebRTC PyAuto tests. + 'target_name': 'webrtc_test_tools', + 'type': 'none', + 'dependencies': [ + 'pyautolib', + '../third_party/libjingle/libjingle.gyp:peerconnection_server', + '../third_party/webrtc/tools/tools.gyp:frame_analyzer', + '../third_party/webrtc/tools/tools.gyp:rgba_to_i420_converter', + ], + }, # target 'webrtc_test_tools' + ] # targets + }], + # To enable the coverage targets, do + # GYP_DEFINES='coverage=1' gclient sync + # To match the coverage buildbot more closely, do this: + # GYP_DEFINES='coverage=1 enable_svg=0 fastbuild=1' gclient sync + # (and, on MacOS, be sure to switch your SDK from "Base SDK" to "Mac OS X + # 10.6") + # (but on Windows, don't set the fastbuild=1 because it removes the PDB + # generation which is necessary for code coverage.) + ['coverage!=0', + { 'targets': [ + { + ### Coverage BUILD AND RUN. + ### Not named coverage_build_and_run for historical reasons. + 'target_name': 'coverage', + 'dependencies': [ 'coverage_build', 'coverage_run' ], + # do NOT place this in the 'all' list; most won't want it. + # In gyp, booleans are 0/1 not True/False. + 'suppress_wildcard': 1, + 'type': 'none', + 'actions': [ + { + 'message': 'Coverage is now complete.', + # MSVS must have an input file and an output file. + 'inputs': [ '<(PRODUCT_DIR)/coverage.info' ], + 'outputs': [ '<(PRODUCT_DIR)/coverage-build-and-run.stamp' ], + 'action_name': 'coverage', + # Wish gyp had some basic builtin commands (e.g. 'touch'). + 'action': [ 'python', '-c', + 'import os; ' \ + 'open(' \ + '\'<(PRODUCT_DIR)\' + os.path.sep + ' \ + '\'coverage-build-and-run.stamp\'' \ + ', \'w\').close()' ], + # Use outputs of this action as inputs for the main target build. + # Seems as a misnomer but makes this happy on Linux (scons). + 'process_outputs_as_sources': 1, + }, + ], # 'actions' + }, + ### Coverage BUILD. Compile only; does not run the bundles. + ### Intended as the build phase for our coverage bots. + ### + ### Builds unit test bundles needed for coverage. + ### Outputs this list of bundles into coverage_bundles.py. + ### + ### If you want to both build and run coverage from your IDE, + ### use the 'coverage' target. + { + 'target_name': 'coverage_build', + # do NOT place this in the 'all' list; most won't want it. + # In gyp, booleans are 0/1 not True/False. + 'suppress_wildcard': 1, + 'type': 'none', + 'dependencies': [ + 'automated_ui_tests', + '../base/base.gyp:base_unittests', + # browser_tests's use of subprocesses chokes gcov on 10.6? + # Disabling for now (enabled on linux/windows below). + # 'browser_tests', + '../ipc/ipc.gyp:ipc_tests', + '../media/media.gyp:media_unittests', + '../net/net.gyp:net_unittests', + '../printing/printing.gyp:printing_unittests', + '../remoting/remoting.gyp:remoting_unittests', + '../sql/sql.gyp:sql_unittests', + '../content/content.gyp:content_unittests', + 'unit_tests', + '../sync/sync.gyp:sync_unit_tests', + ], # 'dependencies' + 'conditions': [ + ['OS=="win"', { + 'dependencies': [ + # Courgette has not been ported from Windows. + # Note build/win/chrome_win.croc uniquely has the + # courgette source directory in an include path. + '../courgette/courgette.gyp:courgette_unittests', + 'browser_tests', + ]}], + ['OS=="linux"', { + 'dependencies': [ + # Win bot needs to be turned into an interactive bot. + 'interactive_ui_tests', + # Disabled from running in coverage_posix.py. + # We need to build this during compile step, so enabling here. + '../content/content.gyp:content_browsertests', + '../courgette/courgette.gyp:courgette_unittests', + '../crypto/crypto.gyp:crypto_unittests', + '../jingle/jingle.gyp:jingle_unittests', + '../net/net.gyp:net_perftests', + '../third_party/WebKit/public/all.gyp:all_blink', + '../url/url.gyp:url_unittests', + 'browser_tests', + 'chromedriver_unittests', + 'gpu_tests', + 'performance_ui_tests', + 'pyautolib', + 'reliability_tests', + 'sync_integration_tests', + ]}], + ['OS=="mac"', { + 'dependencies': [ + # Placeholder; empty for now. + ]}], + ], # 'conditions' + 'actions': [ + { + # 'message' for Linux/scons in particular. Scons + # requires the 'coverage' target be run from within + # src/chrome. + 'message': 'Compiling coverage bundles.', + # MSVS must have an input file and an output file. + # + # TODO(jrg): + # Technically I want inputs to be the list of + # executables created in <@(_dependencies) but use of + # that variable lists the dep by dep name, not their + # output executable name. + # Is there a better way to force this action to run, always? + # + # If a test bundle is added to this coverage_build target it + # necessarily means this file (chrome_tests.gypi) is changed, + # so the action is run (coverage_bundles.py is generated). + # Exceptions to that rule are theoretically possible + # (e.g. re-gyp with a GYP_DEFINES set). + # Else it's the same list of bundles as last time. They are + # built (since on the deps list) but the action may not run. + # For now, things work, but it's less than ideal. + 'inputs': [ 'chrome_tests.gypi' ], + 'outputs': [ '<(PRODUCT_DIR)/coverage_bundles.py' ], + 'action_name': 'coverage_build', + 'action': [ 'python', '-c', + 'import os; ' + 'f = open(' \ + '\'<(PRODUCT_DIR)\' + os.path.sep + ' \ + '\'coverage_bundles.py\'' \ + ', \'w\'); ' \ + 'deplist = \'' \ + '<@(_dependencies)' \ + '\'.split(\' \'); ' \ + 'f.write(str(deplist)); ' \ + 'f.close()'], + # Use outputs of this action as inputs for the main target build. + # Seems as a misnomer but makes this happy on Linux (scons). + 'process_outputs_as_sources': 1, + }, + ], # 'actions' + }, + ### Coverage RUN. Does not compile the bundles. Mirrors the + ### run_coverage_bundles buildbot phase. If you update this + ### command update the mirror in + ### $BUILDBOT/scripts/master/factory/chromium_commands.py. + ### If you want both build and run, use the 'coverage' target. + { + 'target_name': 'coverage_run', + # do NOT place this in the 'all' list; most won't want it. + # In gyp, booleans are 0/1 not True/False. + 'suppress_wildcard': 1, + 'type': 'none', + 'actions': [ + { + # 'message' for Linux/scons in particular. Scons + # requires the 'coverage' target be run from within + # src/chrome. + 'message': 'Running the coverage script. NOT building anything.', + # MSVS must have an input file and an output file. + 'inputs': [ '<(PRODUCT_DIR)/coverage_bundles.py' ], + 'outputs': [ '<(PRODUCT_DIR)/coverage.info' ], + 'action_name': 'coverage_run', + 'action': [ 'python', + '../tools/code_coverage/coverage_posix.py', + '--directory', + '<(PRODUCT_DIR)', + '--src_root', + '..', + '--bundles', + '<(PRODUCT_DIR)/coverage_bundles.py'], + # Use outputs of this action as inputs for the main target build. + # Seems as a misnomer but makes this happy on Linux (scons). + 'process_outputs_as_sources': 1, + }, + ], # 'actions' + }, + ] + }], # 'coverage!=0' + ['OS == "android"', { + 'targets': [ + { + 'target_name': 'chromium_testshell_test_apk', + 'type': 'none', + 'dependencies': [ + 'chrome_java', + 'chromium_testshell_java', + '../base/base.gyp:base', + '../base/base.gyp:base_java_test_support', + '../content/content.gyp:content_java_test_support', + '../sync/sync.gyp:sync_javatests', + ], + 'variables': { + 'apk_name': 'ChromiumTestShellTest', + 'java_in_dir': 'android/testshell/javatests', + 'resource_dir': 'android/testshell/res', + 'additional_src_dirs': ['android/javatests/src'], + 'is_test_apk': 1, + }, + 'includes': [ '../build/java_apk.gypi' ], + }, + { + 'target_name': 'chromium_testshell_uiautomator_tests_java', + 'type': 'none', + 'variables': { + 'java_in_dir': 'android/uiautomator_tests', + }, + 'dependencies': [ + '../base/base.gyp:base_java_test_support', + '../third_party/android_tools/android_tools.gyp:uiautomator_jar', + ], + 'includes': [ '../build/java.gypi' ], + }, + { + 'target_name': 'chromium_testshell_uiautomator_tests', + 'type': 'none', + 'dependencies': [ + 'chromium_testshell_uiautomator_tests_java', + ], + 'includes': [ '../build/uiautomator_test.gypi' ], + }, + ], + }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'browser_tests_run', + 'type': 'none', + 'dependencies': [ + 'browser_tests', + 'chrome', + '../third_party/WebKit/public/blink_test_plugin.gyp:blink_test_plugin', + ], + 'includes': [ + '../build/isolate.gypi', + 'browser_tests.isolate', + ], + 'sources': [ + 'browser_tests.isolate', + ], + }, + { + 'target_name': 'interactive_ui_tests_run', + 'type': 'none', + 'dependencies': [ + 'interactive_ui_tests', + ], + 'conditions': [ + ['use_x11 == 1', { + 'dependencies': [ + '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck', + ], + }], + ], + 'includes': [ + '../build/isolate.gypi', + 'interactive_ui_tests.isolate', + ], + 'sources': [ + 'interactive_ui_tests.isolate', + ], + }, + { + 'target_name': 'sync_integration_tests_run', + 'type': 'none', + 'dependencies': [ + 'sync_integration_tests', + ], + 'conditions': [ + ['use_x11 == 1', { + 'dependencies': [ + '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck', + ], + }], + ], + 'includes': [ + '../build/isolate.gypi', + 'sync_integration_tests.isolate', + ], + 'sources': [ + 'sync_integration_tests.isolate', + ], + }, + ], + }], + ['OS=="win"', { + 'targets' : [ + { + # This target is only depended upon in Windows. + 'target_name': 'automated_ui_tests_exe_pdb_workaround', + 'type': 'static_library', + 'sources': [ 'empty_pdb_workaround.cc' ], + 'msvs_settings': { + 'VCCLCompilerTool': { + # This *in the compile phase* must match the pdb name that's + # output by the final link. See empty_pdb_workaround.cc for + # more details. + 'DebugInformationFormat': '3', + 'ProgramDataBaseFileName': '<(PRODUCT_DIR)/automated_ui_tests.exe.pdb', + }, + }, + }, + { + # This target is only depended upon in Windows. + 'target_name': 'browser_tests_exe_pdb_workaround', + 'type': 'static_library', + 'sources': [ 'empty_pdb_workaround.cc' ], + 'msvs_settings': { + 'VCCLCompilerTool': { + # This *in the compile phase* must match the pdb name that's + # output by the final link. See empty_pdb_workaround.cc for + # more details. + 'DebugInformationFormat': '3', + 'ProgramDataBaseFileName': '<(PRODUCT_DIR)/browser_tests.exe.pdb', + }, + }, + }, + ], + }], + [ 'enable_mdns == 1', { + 'targets': [{ + 'target_name': 'service_discovery_sniffer', + 'type': 'executable', + 'dependencies': [ + '../net/net.gyp:net', + '../base/base.gyp:base', + '../base/base.gyp:test_support_base', + 'utility', + ], + 'sources': [ + 'tools/service_discovery_sniffer/service_discovery_sniffer.h', + 'tools/service_discovery_sniffer/service_discovery_sniffer.cc', + ], + }] + }], + ], # 'conditions' +} diff --git a/chromium/chrome/chrome_tests_unit.gypi b/chromium/chrome/chrome_tests_unit.gypi new file mode 100644 index 00000000000..1cc82a06476 --- /dev/null +++ b/chromium/chrome/chrome_tests_unit.gypi @@ -0,0 +1,2755 @@ +# Copyright 2012 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. +{ + 'targets': [ + { + # This target contains mocks and test utilities that don't belong in + # production libraries but are used by more than one test executable. + 'target_name': 'test_support_common', + 'type': 'static_library', + 'dependencies': [ + # NOTE: New dependencies should generally be added in the OS!="ios" + # dependencies block below, rather than here. + 'browser', + 'chrome_resources.gyp:chrome_resources', + 'chrome_resources.gyp:chrome_strings', + 'chrome_resources.gyp:theme_resources', + 'common', + '../base/base.gyp:test_support_base', + '../base/base.gyp:base_prefs_test_support', + '../components/components.gyp:sessions_test_support', + '../content/content.gyp:content_app_both', + '../content/content.gyp:test_support_content', + '../media/media.gyp:media_test_support', + '../net/net.gyp:net', + '../net/net.gyp:net_test_support', + '../skia/skia.gyp:skia', + '../sync/sync.gyp:sync', + '../testing/gmock.gyp:gmock', + '../testing/gtest.gyp:gtest', + '../third_party/zlib/zlib.gyp:zlib', + '../ui/message_center/message_center.gyp:message_center_test_support', + ], + 'export_dependent_settings': [ + '../base/base.gyp:test_support_base', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'app/breakpad_mac_stubs.mm', + 'app/chrome_main_delegate.cc', + 'app/chrome_main_delegate.h', + 'browser/android/mock_google_location_settings_helper.cc', + 'browser/android/mock_google_location_settings_helper.h', + 'browser/android/tab_android_test_stubs.cc', + 'browser/browsing_data/mock_browsing_data_appcache_helper.cc', + 'browser/browsing_data/mock_browsing_data_appcache_helper.h', + 'browser/browsing_data/mock_browsing_data_cookie_helper.cc', + 'browser/browsing_data/mock_browsing_data_cookie_helper.h', + 'browser/browsing_data/mock_browsing_data_database_helper.cc', + 'browser/browsing_data/mock_browsing_data_database_helper.h', + 'browser/browsing_data/mock_browsing_data_file_system_helper.cc', + 'browser/browsing_data/mock_browsing_data_file_system_helper.h', + 'browser/browsing_data/mock_browsing_data_flash_lso_helper.cc', + 'browser/browsing_data/mock_browsing_data_flash_lso_helper.h', + 'browser/browsing_data/mock_browsing_data_indexed_db_helper.cc', + 'browser/browsing_data/mock_browsing_data_indexed_db_helper.h', + 'browser/browsing_data/mock_browsing_data_local_storage_helper.cc', + 'browser/browsing_data/mock_browsing_data_local_storage_helper.h', + 'browser/browsing_data/mock_browsing_data_quota_helper.cc', + 'browser/browsing_data/mock_browsing_data_quota_helper.h', + 'browser/browsing_data/mock_browsing_data_server_bound_cert_helper.cc', + 'browser/browsing_data/mock_browsing_data_server_bound_cert_helper.h', + 'browser/chromeos/contacts/contact_test_util.cc', + 'browser/chromeos/contacts/contact_test_util.h', + 'browser/chromeos/cros/mock_network_library.cc', + 'browser/chromeos/cros/mock_network_library.h', + 'browser/chromeos/input_method/mock_candidate_window_controller.cc', + 'browser/chromeos/input_method/mock_candidate_window_controller.h', + 'browser/chromeos/input_method/mock_input_method_manager.cc', + 'browser/chromeos/input_method/mock_input_method_manager.h', + 'browser/chromeos/login/fake_login_utils.cc', + 'browser/chromeos/login/fake_login_utils.h', + 'browser/chromeos/login/mock_authenticator.cc', + 'browser/chromeos/login/mock_authenticator.h', + 'browser/chromeos/login/mock_login_display.cc', + 'browser/chromeos/login/mock_login_display.h', + 'browser/chromeos/login/mock_login_display_host.cc', + 'browser/chromeos/login/mock_login_display_host.h', + 'browser/chromeos/login/mock_login_status_consumer.cc', + 'browser/chromeos/login/mock_login_status_consumer.h', + 'browser/chromeos/login/mock_login_utils.cc', + 'browser/chromeos/login/mock_login_utils.h', + 'browser/chromeos/login/mock_url_fetchers.cc', + 'browser/chromeos/login/mock_url_fetchers.h', + 'browser/chromeos/login/mock_user_image_manager.cc', + 'browser/chromeos/login/mock_user_image_manager.h', + 'browser/chromeos/login/mock_user_manager.cc', + 'browser/chromeos/login/mock_user_manager.h', + 'browser/chromeos/policy/device_policy_builder.cc', + 'browser/chromeos/policy/device_policy_builder.h', + 'browser/chromeos/policy/stub_enterprise_install_attributes.cc', + 'browser/chromeos/policy/stub_enterprise_install_attributes.h', + 'browser/chromeos/settings/device_settings_test_helper.cc', + 'browser/chromeos/settings/device_settings_test_helper.h', + 'browser/chromeos/settings/mock_owner_key_util.cc', + 'browser/chromeos/settings/mock_owner_key_util.h', + 'browser/chromeos/system/mock_statistics_provider.cc', + 'browser/chromeos/system/mock_statistics_provider.h', + # The only thing used from browser is Browser::Type. + 'browser/download/download_test_file_activity_observer.cc', + 'browser/download/download_test_file_activity_observer.h', + 'browser/download/test_download_shelf.cc', + 'browser/download/test_download_shelf.h', + 'browser/drive/dummy_drive_service.cc', + 'browser/drive/dummy_drive_service.h', + 'browser/drive/fake_drive_service.cc', + 'browser/drive/fake_drive_service.h', + 'browser/extensions/api/messaging/native_messaging_test_util.cc', + 'browser/extensions/api/messaging/native_messaging_test_util.h', + 'browser/extensions/extension_notification_observer.cc', + 'browser/extensions/extension_notification_observer.h', + 'browser/extensions/fake_safe_browsing_database_manager.cc', + 'browser/extensions/fake_safe_browsing_database_manager.h', + 'browser/extensions/mock_extension_special_storage_policy.cc', + 'browser/extensions/mock_extension_special_storage_policy.h', + 'browser/extensions/test_blacklist.cc', + 'browser/extensions/test_blacklist.h', + 'browser/extensions/test_extension_environment.cc', + 'browser/extensions/test_extension_environment.h', + 'browser/extensions/test_extension_prefs.cc', + 'browser/extensions/test_extension_prefs.h', + 'browser/extensions/test_extension_service.cc', + 'browser/extensions/test_extension_service.h', + 'browser/extensions/test_extension_system.cc', + 'browser/extensions/test_extension_system.h', + 'browser/extensions/test_management_policy.cc', + 'browser/extensions/test_management_policy.h', + 'browser/google_apis/dummy_auth_service.cc', + 'browser/google_apis/dummy_auth_service.h', + 'browser/google_apis/test_util.cc', + 'browser/google_apis/test_util.h', + 'browser/media_galleries/media_galleries_test_util.cc', + 'browser/media_galleries/media_galleries_test_util.h', + 'browser/net/dns_probe_test_util.cc', + 'browser/net/dns_probe_test_util.h', + 'browser/net/url_request_mock_util.cc', + 'browser/net/url_request_mock_util.h', + 'browser/notifications/notification_test_util.cc', + 'browser/notifications/notification_test_util.h', + 'browser/password_manager/mock_password_store.cc', + 'browser/password_manager/mock_password_store.h', + 'browser/password_manager/password_form_data.cc', + 'browser/password_manager/password_form_data.h', + 'browser/password_manager/test_password_store.cc', + 'browser/password_manager/test_password_store.h', + 'browser/policy/cloud/mock_cloud_policy_client.cc', + 'browser/policy/cloud/mock_cloud_policy_client.h', + 'browser/policy/cloud/mock_cloud_policy_store.cc', + 'browser/policy/cloud/mock_cloud_policy_store.h', + 'browser/policy/cloud/policy_builder.cc', + 'browser/policy/cloud/policy_builder.h', + 'browser/policy/mock_configuration_policy_provider.cc', + 'browser/policy/mock_configuration_policy_provider.h', + 'browser/policy/test/local_policy_test_server.cc', + 'browser/policy/test/local_policy_test_server.h', + 'browser/prefs/pref_service_mock_builder.cc', + 'browser/prefs/pref_service_mock_builder.h', + 'browser/profile_resetter/profile_resetter_test_base.cc', + 'browser/profile_resetter/profile_resetter_test_base.h', + 'browser/search_engines/template_url_service_test_util.cc', + 'browser/search_engines/template_url_service_test_util.h', + 'browser/sessions/session_service_test_helper.cc', + 'browser/sessions/session_service_test_helper.h', + 'browser/signin/fake_signin_manager.cc', + 'browser/signin/fake_signin_manager.h', + 'browser/ssl/ssl_client_auth_requestor_mock.cc', + 'browser/ssl/ssl_client_auth_requestor_mock.h', + 'browser/storage_monitor/test_media_transfer_protocol_manager_linux.cc', + 'browser/storage_monitor/test_media_transfer_protocol_manager_linux.h', + 'browser/storage_monitor/test_storage_monitor.cc', + 'browser/storage_monitor/test_storage_monitor.h', + 'browser/ui/browser.h', + 'browser/ui/cocoa/find_bar/find_bar_host_unittest_util_cocoa.mm', + 'browser/ui/cocoa/run_loop_testing.h', + 'browser/ui/cocoa/run_loop_testing.mm', + 'browser/ui/find_bar/find_bar_host_unittest_util.h', + 'browser/ui/fullscreen/fullscreen_controller_state_test.cc', + 'browser/ui/fullscreen/fullscreen_controller_state_test.h', + 'browser/ui/fullscreen/fullscreen_controller_state_tests.h', + 'browser/ui/fullscreen/fullscreen_controller_test.cc', + 'browser/ui/fullscreen/fullscreen_controller_test.h', + 'browser/ui/gtk/find_bar_host_unittest_util_gtk.cc', + 'browser/ui/test/test_confirm_bubble_model.cc', + 'browser/ui/test/test_confirm_bubble_model.h', + 'browser/ui/views/find_bar_host_unittest_util_views.cc', + 'common/extensions/extension_builder.cc', + 'common/extensions/extension_builder.h', + 'common/extensions/extension_test_util.cc', + 'common/extensions/extension_test_util.h', + 'common/extensions/value_builder.cc', + 'common/extensions/value_builder.h', + 'renderer/chrome_mock_render_thread.cc', + 'renderer/chrome_mock_render_thread.h', + 'renderer/mock_printer.cc', + 'renderer/mock_printer.h', + 'renderer/safe_browsing/mock_feature_extractor_clock.cc', + 'renderer/safe_browsing/mock_feature_extractor_clock.h', + 'renderer/safe_browsing/test_utils.cc', + 'renderer/safe_browsing/test_utils.h', + 'test/automation/automation_handle_tracker.cc', + 'test/automation/automation_handle_tracker.h', + 'test/automation/automation_json_requests.cc', + 'test/automation/automation_json_requests.h', + 'test/automation/automation_proxy.cc', + 'test/automation/automation_proxy.h', + 'test/automation/browser_proxy.cc', + 'test/automation/browser_proxy.h', + 'test/automation/tab_proxy.cc', + 'test/automation/tab_proxy.h', + 'test/automation/value_conversion_traits.cc', + 'test/automation/value_conversion_traits.h', + 'test/automation/value_conversion_util.h', + 'test/automation/window_proxy.cc', + 'test/automation/window_proxy.h', + 'test/base/bookmark_load_observer.cc', + 'test/base/bookmark_load_observer.h', + 'test/base/chrome_render_view_host_test_harness.cc', + 'test/base/chrome_render_view_host_test_harness.h', + 'test/base/chrome_test_suite.cc', + 'test/base/chrome_test_suite.h', + 'test/base/find_in_page_observer.cc', + 'test/base/find_in_page_observer.h', + 'test/base/history_index_restore_observer.cc', + 'test/base/history_index_restore_observer.h', + 'test/base/in_process_browser_test.cc', + 'test/base/in_process_browser_test.h', + 'test/base/javascript_test_observer.cc', + 'test/base/javascript_test_observer.h', + 'test/base/module_system_test.cc', + 'test/base/module_system_test.h', + 'test/base/profile_mock.cc', + 'test/base/profile_mock.h', + 'test/base/scoped_testing_local_state.cc', + 'test/base/scoped_testing_local_state.h', + 'test/base/test_browser_window.cc', + 'test/base/test_browser_window.h', + 'test/base/test_launcher_utils.cc', + 'test/base/test_launcher_utils.h', + 'test/base/test_location_bar.cc', + 'test/base/test_location_bar.h', + 'test/base/test_tab_strip_model_observer.cc', + 'test/base/test_tab_strip_model_observer.h', + 'test/base/testing_browser_process.cc', + 'test/base/testing_browser_process.h', + 'test/base/testing_browser_process_platform_part.h', + 'test/base/testing_browser_process_platform_part.cc', + 'test/base/testing_io_thread_state.cc', + 'test/base/testing_io_thread_state.h', + 'test/base/testing_pref_service_syncable.cc', + 'test/base/testing_pref_service_syncable.h', + 'test/base/testing_profile.cc', + 'test/base/testing_profile.h', + 'test/base/testing_profile_manager.cc', + 'test/base/testing_profile_manager.h', + 'test/base/tracing.cc', + 'test/base/tracing.h', + 'test/base/ui_test_utils.cc', + 'test/base/ui_test_utils.h', + 'test/base/uma_histogram_helper.cc', + 'test/base/uma_histogram_helper.h', + 'test/logging/win/file_logger.cc', + 'test/logging/win/file_logger.h', + 'test/logging/win/log_file_printer.cc', + 'test/logging/win/log_file_printer.h', + 'test/logging/win/log_file_reader.cc', + 'test/logging/win/log_file_reader.h', + 'test/logging/win/mof_data_parser.cc', + 'test/logging/win/mof_data_parser.h', + 'test/logging/win/test_log_collector.cc', + 'test/logging/win/test_log_collector.h', + 'test/ppapi/ppapi_test.cc', + 'test/ppapi/ppapi_test.h', + '../ui/gfx/image/image_unittest_util.cc', + '../ui/gfx/image/image_unittest_util.h', + '../webkit/browser/fileapi/mock_file_system_context.cc', + '../webkit/browser/fileapi/mock_file_system_context.h', + '../webkit/browser/fileapi/mock_file_system_options.cc', + '../webkit/browser/fileapi/mock_file_system_options.h', + '../webkit/browser/fileapi/sandbox_file_system_test_helper.cc', + '../webkit/browser/fileapi/sandbox_file_system_test_helper.h', + '../webkit/browser/quota/mock_quota_manager.cc', + '../webkit/browser/quota/mock_quota_manager.h', + '../webkit/browser/quota/mock_special_storage_policy.cc', + '../webkit/browser/quota/mock_special_storage_policy.h', + ], + 'conditions': [ + ['OS!="ios"', { + 'dependencies': [ + 'cloud_policy_proto', + 'common/extensions/api/api.gyp:api', + 'plugin', + 'renderer', + 'utility', + '../content/content.gyp:content_gpu', + '../content/content.gyp:content_plugin', + '../content/content.gyp:content_ppapi_plugin', + '../content/content.gyp:content_renderer', + '../content/content.gyp:content_utility', + '../content/content.gyp:content_worker', + '../components/components.gyp:autofill_core_test_support', + '../ipc/ipc.gyp:test_support_ipc', + '../ppapi/ppapi_internal.gyp:ppapi_shared', + '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase', + '../webkit/support/webkit_support.gyp:glue_child', + ], + 'export_dependent_settings': [ + 'renderer', + ], + }, { # OS=="ios" + 'sources/': [ + # Exclude everything but iOS-specific files. + ['exclude', '\\.(cc|mm)$'], + ['include', '_ios\\.(cc|mm)$'], + ['include', '(^|/)ios/'], + # TODO(ios): Add files here as they are updated to compile on iOS. + ['include', '^test/base/chrome_test_suite\\.cc$'], + ['include', '^test/base/testing_browser_process'], + ], + }], + ['chromeos==0', { + 'sources/': [ + ['exclude', '^browser/chromeos'], + ], + }, { # chromeos==1 + 'dependencies': [ + '../build/linux/system.gyp:dbus', + '../chromeos/chromeos.gyp:chromeos_test_support', + ], + }], + ['configuration_policy==0', { + 'sources/': [ + ['exclude', '^browser/policy'], + ], + }], + ['configuration_policy==1', { + 'dependencies': [ + 'app/policy/cloud_policy_codegen.gyp:policy_test_support', + ], + 'export_dependent_settings': [ + 'app/policy/cloud_policy_codegen.gyp:policy_test_support', + ], + }], + ['safe_browsing!=1', { + 'sources/': [ + ['exclude', '^browser/extensions/blacklist_unittest.cc'], + ['exclude', '^browser/extensions/fake_safe_browsing_database_manager.cc'], + ['exclude', '^browser/extensions/fake_safe_browsing_database_manager.h'], + ], + }], + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '../build/linux/system.gyp:gtk', + ], + }], + ['toolkit_uses_gtk == 1 or chromeos==1 or (OS=="linux" and use_aura==1)', { + 'dependencies': [ + '../build/linux/system.gyp:ssl', + ], + }], + ['enable_printing==1', { + 'dependencies': [ + 'service', + ], + }], + ['enable_printing==0', { + 'sources/': [ + ['exclude', '^renderer/mock_printer.cc'], + ['exclude', '^renderer/mock_printer.h'], + ], + }], + ['OS=="android"', { + 'sources/': [ + ['exclude', '^browser/media_galleries/'], + ], + }], + ['OS=="win"', { + 'dependencies': [ + '../ui/snapshot/snapshot.gyp:snapshot_test_support', + ], + 'include_dirs': [ + '<(DEPTH)/third_party/wtl/include', + ], + 'conditions': [ + ['use_aura==1', { + 'dependencies': [ + '../win8/win8.gyp:test_registrar_constants', + '../win8/win8.gyp:test_support_win8', + ], + }], + ], + }], + ['OS=="win" or OS=="mac"', { + 'sources': [ + 'common/media_galleries/pmp_test_helper.cc', + 'common/media_galleries/pmp_test_helper.h', + ], + }], + ['OS=="mac"', { + 'dependencies': [ + '../components/components.gyp:breakpad_stubs', + ], + }], + ], + }, + { + 'target_name': 'test_support_unit', + 'type': 'static_library', + 'dependencies': [ + 'chrome_resources.gyp:chrome_resources', + 'chrome_resources.gyp:chrome_strings', + 'browser', + 'common', + 'test_support_common', + '../base/base.gyp:base', + '../skia/skia.gyp:skia', + '../sync/sync.gyp:sync', + '../testing/gmock.gyp:gmock', + '../testing/gtest.gyp:gtest', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'browser/sync/profile_sync_service_mock.cc', + 'browser/sync/profile_sync_service_mock.h', + 'test/base/run_all_unittests.cc', + ], + 'conditions': [ + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + # Needed for the following #include chain: + # test/base/run_all_unittests.cc + # test/base/chrome_test_suite.h + # gtk/gtk.h + '../build/linux/system.gyp:gtk', + ], + }], + ], + }, + { + 'target_name': 'unit_tests', + 'type': '<(gtest_target_type)', + 'dependencies': [ + # NOTE: New dependencies should generally be added in the OS!="ios" + # dependencies block below, rather than here. + # Unit tests should only depend on: + # 1) everything that the chrome binaries depend on: + '<@(chromium_browser_dependencies)', + '<@(chromium_child_dependencies)', + # 2) test-specific support libraries: + '../base/base.gyp:test_support_base', + '../content/content.gyp:content_app_both', + '../media/media.gyp:media_test_support', + '../net/net.gyp:net', + '../net/net.gyp:net_test_support', + '../sync/sync.gyp:test_support_sync_api', + '../sync/sync.gyp:test_support_sync_core', + '../sync/sync.gyp:test_support_sync_internal_api', + '../sync/sync.gyp:test_support_sync_notifier', + '../testing/gmock.gyp:gmock', + '../testing/gtest.gyp:gtest', + 'test_support_common', + 'test_support_unit', + # 3) anything tests directly depend on + '../courgette/courgette.gyp:courgette_lib', + '../google_apis/google_apis.gyp:google_apis', + '../skia/skia.gyp:skia', + '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation', + '../third_party/icu/icu.gyp:icui18n', + '../third_party/icu/icu.gyp:icuuc', + '../third_party/libxml/libxml.gyp:libxml', + '../ui/ui.gyp:ui_resources', + '../ui/ui.gyp:ui_test_support', + 'chrome_resources.gyp:chrome_resources', + 'chrome_resources.gyp:chrome_strings', + ], + # TODO(joi): Remove this section once the google_apis tests are + # a separate unit test binary. + 'includes': [ + '../google_apis/determine_use_official_keys.gypi', + ], + 'include_dirs': [ + '..', + ], + 'defines': [ + 'CLD_WINDOWS', + ], + 'direct_dependent_settings': { + 'defines': [ + 'CLD_WINDOWS', + ], + }, + 'msvs_settings': { + 'VCLinkerTool': { + 'conditions': [ + ['incremental_chrome_dll==1', { + 'UseLibraryDependencyInputs': "true", + }], + ], + }, + }, + 'sources': [ + '../apps/app_shim/app_shim_host_mac_unittest.cc', + '../apps/saved_files_service_unittest.cc', + '../apps/app_shim/extension_app_shim_handler_mac_unittest.cc', + '../apps/shell_window_geometry_cache_unittest.cc', + '../extensions/browser/file_reader_unittest.cc', + '../extensions/common/event_filter_unittest.cc', + '../extensions/common/extension_resource_unittest.cc', + '../extensions/common/id_util_unittest.cc', + '../extensions/common/matcher/regex_set_matcher_unittest.cc', + '../extensions/common/matcher/string_pattern_unittest.cc', + '../extensions/common/matcher/substring_set_matcher_unittest.cc', + '../extensions/common/matcher/url_matcher_factory_unittest.cc', + '../extensions/common/matcher/url_matcher_unittest.cc', + '../extensions/common/one_shot_event_unittest.cc', + '../extensions/common/url_pattern_set_unittest.cc', + '../extensions/common/url_pattern_unittest.cc', + '../extensions/common/user_script_unittest.cc', + 'app/chrome_dll.rc', + '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc', + # All unittests in browser, common, renderer and service. + 'browser/about_flags_unittest.cc', + 'browser/app_controller_mac_unittest.mm', + 'browser/autocomplete/autocomplete_input_unittest.cc', + 'browser/autocomplete/autocomplete_match_unittest.cc', + 'browser/autocomplete/autocomplete_provider_unittest.cc', + 'browser/autocomplete/autocomplete_result_unittest.cc', + 'browser/autocomplete/bookmark_provider_unittest.cc', + 'browser/autocomplete/builtin_provider_unittest.cc', + 'browser/autocomplete/contact_provider_chromeos_unittest.cc', + 'browser/autocomplete/extension_app_provider_unittest.cc', + 'browser/autocomplete/history_quick_provider_unittest.cc', + 'browser/autocomplete/history_url_provider_unittest.cc', + 'browser/autocomplete/keyword_provider_unittest.cc', + 'browser/autocomplete/search_provider_unittest.cc', + 'browser/autocomplete/shortcuts_provider_unittest.cc', + 'browser/automation/chrome_frame_automation_provider_win_unittest.cc', + 'browser/background/background_application_list_model_unittest.cc', + 'browser/background/background_contents_service_unittest.cc', + 'browser/background/background_mode_manager_unittest.cc', + 'browser/bookmarks/bookmark_codec_unittest.cc', + 'browser/bookmarks/bookmark_expanded_state_tracker_unittest.cc', + 'browser/bookmarks/bookmark_html_writer_unittest.cc', + 'browser/bookmarks/bookmark_index_unittest.cc', + 'browser/bookmarks/bookmark_model_test_utils.cc', + 'browser/bookmarks/bookmark_model_test_utils.h', + 'browser/bookmarks/bookmark_model_unittest.cc', + 'browser/bookmarks/bookmark_node_data_unittest.cc', + 'browser/bookmarks/bookmark_utils_unittest.cc', + 'browser/browser_about_handler_unittest.cc', + 'browser/browser_commands_unittest.cc', + 'browser/browsing_data/browsing_data_appcache_helper_unittest.cc', + 'browser/browsing_data/browsing_data_cookie_helper_unittest.cc', + 'browser/browsing_data/browsing_data_database_helper_unittest.cc', + 'browser/browsing_data/browsing_data_file_system_helper_unittest.cc', + 'browser/browsing_data/browsing_data_helper_unittest.cc', + 'browser/browsing_data/browsing_data_indexed_db_helper_unittest.cc', + 'browser/browsing_data/browsing_data_local_storage_helper_unittest.cc', + 'browser/browsing_data/browsing_data_quota_helper_unittest.cc', + 'browser/browsing_data/browsing_data_remover_unittest.cc', + 'browser/browsing_data/browsing_data_server_bound_cert_helper_unittest.cc', + 'browser/browsing_data/cookies_tree_model_unittest.cc', + 'browser/captive_portal/captive_portal_detector_unittest.cc', + 'browser/captive_portal/captive_portal_service_unittest.cc', + 'browser/captive_portal/captive_portal_tab_helper_unittest.cc', + 'browser/captive_portal/captive_portal_tab_reloader_unittest.cc', + 'browser/captive_portal/testing_utils.cc', + 'browser/captive_portal/testing_utils.h', + 'browser/chrome_browser_application_mac_unittest.mm', + 'browser/chrome_page_zoom_unittest.cc', + 'browser/chrome_process_singleton_win_unittest.cc', + 'browser/chromeos/accessibility/magnification_manager_unittest.cc', + 'browser/chromeos/attestation/attestation_ca_client_unittest.cc', + 'browser/chromeos/attestation/attestation_policy_observer_unittest.cc', + 'browser/chromeos/contacts/contact_database_unittest.cc', + 'browser/chromeos/contacts/contact_manager_stub.cc', + 'browser/chromeos/contacts/contact_manager_stub.h', + 'browser/chromeos/contacts/contact_manager_unittest.cc', + 'browser/chromeos/contacts/contact_map_unittest.cc', + 'browser/chromeos/contacts/fake_contact_database.cc', + 'browser/chromeos/contacts/fake_contact_database.h', + 'browser/chromeos/contacts/fake_contact_store.cc', + 'browser/chromeos/contacts/fake_contact_store.h', + 'browser/chromeos/contacts/gdata_contacts_service_stub.cc', + 'browser/chromeos/contacts/gdata_contacts_service_stub.h', + 'browser/chromeos/contacts/gdata_contacts_service_unittest.cc', + 'browser/chromeos/contacts/google_contact_store_unittest.cc', + 'browser/chromeos/cros/network_constants.h', + 'browser/chromeos/cros/network_library.cc', + 'browser/chromeos/cros/network_library.h', + 'browser/chromeos/cros/network_library_impl_base.cc', + 'browser/chromeos/cros/network_library_impl_base.h', + 'browser/chromeos/cros/network_library_impl_stub.cc', + 'browser/chromeos/cros/network_library_impl_stub.h', + 'browser/chromeos/cros/network_library_unittest.cc', + 'browser/chromeos/cros/network_property_ui_data_unittest.cc', + 'browser/chromeos/customization_document_unittest.cc', + 'browser/chromeos/dbus/cros_dbus_service_unittest.cc', + 'browser/chromeos/dbus/printer_service_provider_unittest.cc', + 'browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc', + 'browser/chromeos/dbus/service_provider_test_helper.cc', + 'browser/chromeos/dbus/service_provider_test_helper.h', + 'browser/chromeos/display/display_preferences_unittest.cc', + 'browser/chromeos/drive/change_list_loader_unittest.cc', + 'browser/chromeos/drive/change_list_processor_unittest.cc', + 'browser/chromeos/drive/download_handler_unittest.cc', + 'browser/chromeos/drive/drive_app_registry_unittest.cc', + 'browser/chromeos/drive/drive_file_stream_reader_unittest.cc', + 'browser/chromeos/drive/drive_integration_service_unittest.cc', + 'browser/chromeos/drive/drive_url_request_job_unittest.cc', + 'browser/chromeos/drive/dummy_file_system.h', + 'browser/chromeos/drive/fake_file_system.cc', + 'browser/chromeos/drive/fake_file_system.h', + 'browser/chromeos/drive/fake_file_system_unittest.cc', + 'browser/chromeos/drive/fake_free_disk_space_getter.cc', + 'browser/chromeos/drive/fake_free_disk_space_getter.h', + 'browser/chromeos/drive/file_cache_metadata_unittest.cc', + 'browser/chromeos/drive/file_cache_unittest.cc', + 'browser/chromeos/drive/file_change_unittest.cc', + 'browser/chromeos/drive/file_system/copy_operation_unittest.cc', + 'browser/chromeos/drive/file_system/create_directory_operation_unittest.cc', + 'browser/chromeos/drive/file_system/create_file_operation_unittest.cc', + 'browser/chromeos/drive/file_system/download_operation_unittest.cc', + 'browser/chromeos/drive/file_system/get_file_for_saving_operation_unittest.cc', + 'browser/chromeos/drive/file_system/move_operation_unittest.cc', + 'browser/chromeos/drive/file_system/open_file_operation_unittest.cc', + 'browser/chromeos/drive/file_system/operation_test_base.cc', + 'browser/chromeos/drive/file_system/operation_test_base.h', + 'browser/chromeos/drive/file_system/remove_operation_unittest.cc', + 'browser/chromeos/drive/file_system/search_operation_unittest.cc', + 'browser/chromeos/drive/file_system/touch_operation_unittest.cc', + 'browser/chromeos/drive/file_system/truncate_operation_unittest.cc', + 'browser/chromeos/drive/file_system/update_operation_unittest.cc', + 'browser/chromeos/drive/file_system_unittest.cc', + 'browser/chromeos/drive/file_system_util_unittest.cc', + 'browser/chromeos/drive/file_write_helper_unittest.cc', + 'browser/chromeos/drive/file_write_watcher_unittest.cc', + 'browser/chromeos/drive/fileapi_worker_unittest.cc', + 'browser/chromeos/drive/job_queue_unittest.cc', + 'browser/chromeos/drive/job_scheduler_unittest.cc', + 'browser/chromeos/drive/local_file_reader_unittest.cc', + 'browser/chromeos/drive/remove_stale_cache_files_unittest.cc', + 'browser/chromeos/drive/resource_entry_conversion_unittest.cc', + 'browser/chromeos/drive/resource_metadata_storage_unittest.cc', + 'browser/chromeos/drive/resource_metadata_unittest.cc', + 'browser/chromeos/drive/search_metadata_unittest.cc', + 'browser/chromeos/drive/sync_client_unittest.cc', + 'browser/chromeos/drive/test_util.cc', + 'browser/chromeos/drive/test_util.h', + 'browser/chromeos/drive/webkit_file_stream_reader_impl_unittest.cc', + 'browser/chromeos/extensions/default_app_order_unittest.cc', + 'browser/chromeos/extensions/file_manager/desktop_notifications_unittest.cc', + 'browser/chromeos/extensions/file_manager/file_tasks_unittest.cc', + 'browser/chromeos/extensions/file_manager/file_watcher_unittest.cc', + 'browser/chromeos/extensions/file_manager/url_util_unittest.cc', + 'browser/chromeos/extensions/wallpaper_private_api_unittest.cc', + 'browser/chromeos/external_metrics_unittest.cc', + 'browser/chromeos/fileapi/file_access_permissions_unittest.cc', + 'browser/chromeos/fileapi/file_system_backend_unittest.cc', + 'browser/chromeos/imageburner/burn_device_handler_unittest.cc', + 'browser/chromeos/imageburner/burn_manager_unittest.cc', + 'browser/chromeos/input_method/browser_state_monitor_unittest.cc', + 'browser/chromeos/input_method/candidate_window_controller_impl_unittest.cc', + 'browser/chromeos/input_method/candidate_window_view_unittest.cc', + 'browser/chromeos/input_method/ibus_controller_base_unittest.cc', + 'browser/chromeos/input_method/ibus_controller_impl_unittest.cc', + 'browser/chromeos/input_method/ibus_controller_unittest.cc', + 'browser/chromeos/input_method/input_method_configuration_unittest.cc', + 'browser/chromeos/input_method/input_method_manager_impl_unittest.cc', + 'browser/chromeos/input_method/input_method_persistence_unittest.cc', + 'browser/chromeos/input_method/input_method_util_unittest.cc', + 'browser/chromeos/keyboard_driven_event_rewriter_unittest.cc', + 'browser/chromeos/kiosk_mode/kiosk_mode_idle_logout_unittest.cc', + 'browser/chromeos/kiosk_mode/kiosk_mode_settings_unittest.cc', + 'browser/chromeos/language_preferences_unittest.cc', + 'browser/chromeos/login/default_pinned_apps_field_trial_unittest.cc', + 'browser/chromeos/login/existing_user_controller_auto_login_unittest.cc', + 'browser/chromeos/login/hwid_checker_unittest.cc', + 'browser/chromeos/login/merge_session_load_page_unittest.cc', + 'browser/chromeos/login/mock_auth_attempt_state_resolver.cc', + 'browser/chromeos/login/mock_auth_attempt_state_resolver.h', + 'browser/chromeos/login/online_attempt_unittest.cc', + 'browser/chromeos/login/parallel_authenticator_unittest.cc', + 'browser/chromeos/login/screens/screen_context_unittest.cc', + 'browser/chromeos/login/user_manager_unittest.cc', + 'browser/chromeos/login/wallpaper_manager_unittest.cc', + 'browser/chromeos/memory/oom_priority_manager_unittest.cc', + 'browser/chromeos/mobile/mobile_activator_unittest.cc', + 'browser/chromeos/mobile_config_unittest.cc', + 'browser/chromeos/net/network_portal_detector_impl_unittest.cc', + 'browser/chromeos/net/onc_utils_unittest.cc', + 'browser/chromeos/offline/offline_load_page_unittest.cc', + 'browser/chromeos/policy/auto_enrollment_client_unittest.cc', + 'browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc', + 'browser/chromeos/policy/device_cloud_policy_manager_chromeos_unittest.cc', + 'browser/chromeos/policy/device_cloud_policy_store_chromeos_unittest.cc', + 'browser/chromeos/policy/device_local_account_policy_service_unittest.cc', + 'browser/chromeos/policy/enterprise_install_attributes_unittest.cc', + 'browser/chromeos/policy/login_screen_power_management_policy_unittest.cc', + 'browser/chromeos/policy/network_configuration_updater_impl_cros_unittest.cc', + 'browser/chromeos/policy/proxy_policy_provider_unittest.cc', + 'browser/chromeos/policy/recommendation_restorer_unittest.cc', + 'browser/chromeos/policy/user_cloud_policy_manager_chromeos_unittest.cc', + 'browser/chromeos/policy/user_cloud_policy_store_chromeos_unittest.cc', + 'browser/chromeos/power/power_prefs_unittest.cc', + 'browser/chromeos/preferences_unittest.cc', + 'browser/chromeos/session_length_limiter_unittest.cc', + 'browser/chromeos/proxy_config_service_impl_unittest.cc', + 'browser/chromeos/settings/cros_settings_unittest.cc', + 'browser/chromeos/settings/device_oauth2_token_service_unittest.cc', + 'browser/chromeos/settings/device_settings_provider_unittest.cc', + 'browser/chromeos/settings/device_settings_service_unittest.cc', + 'browser/chromeos/settings/owner_key_util_unittest.cc', + 'browser/chromeos/settings/session_manager_operation_unittest.cc', + 'browser/chromeos/settings/stub_cros_settings_provider_unittest.cc', + 'browser/chromeos/system/automatic_reboot_manager_unittest.cc', + 'browser/chromeos/system_logs/lsb_release_log_source_unittest.cc', + 'browser/chromeos/version_loader_unittest.cc', + 'browser/command_updater_unittest.cc', + 'browser/component_updater/test/component_installers_unittest.cc', + 'browser/component_updater/test/component_patcher_mock.h', + 'browser/component_updater/test/component_patcher_unittest.cc', + 'browser/component_updater/test/component_updater_service_unittest.cc', + 'browser/component_updater/test/test_installer.cc', + 'browser/component_updater/test/url_request_post_interceptor.cc', + 'browser/content_settings/content_settings_default_provider_unittest.cc', + 'browser/content_settings/content_settings_mock_observer.cc', + 'browser/content_settings/content_settings_mock_observer.h', + 'browser/content_settings/content_settings_mock_provider.cc', + 'browser/content_settings/content_settings_mock_provider.h', + 'browser/content_settings/content_settings_origin_identifier_value_map_unittest.cc', + 'browser/content_settings/content_settings_policy_provider_unittest.cc', + 'browser/content_settings/content_settings_pref_provider_unittest.cc', + 'browser/content_settings/content_settings_provider_unittest.cc', + 'browser/content_settings/content_settings_rule_unittest.cc', + 'browser/content_settings/content_settings_usages_state_unittest.cc', + 'browser/content_settings/content_settings_utils_unittest.cc', + 'browser/content_settings/cookie_settings_unittest.cc', + 'browser/content_settings/host_content_settings_map_unittest.cc', + 'browser/content_settings/mock_settings_observer.cc', + 'browser/content_settings/mock_settings_observer.h', + 'browser/content_settings/permission_queue_controller_unittest.cc', + 'browser/content_settings/tab_specific_content_settings_unittest.cc', + 'browser/custom_handlers/protocol_handler_registry_unittest.cc', + 'browser/diagnostics/diagnostics_model_unittest.cc', + 'browser/diagnostics/diagnostics_controller_unittest.cc', + 'browser/download/chrome_download_manager_delegate_unittest.cc', + 'browser/download/download_item_model_unittest.cc', + 'browser/download/all_download_item_notifier_unittest.cc', + 'browser/download/download_history_unittest.cc', + 'browser/download/download_query_unittest.cc', + 'browser/download/download_request_infobar_delegate_unittest.cc', + 'browser/download/download_request_limiter_unittest.cc', + 'browser/download/download_path_reservation_tracker_unittest.cc', + 'browser/download/download_shelf_unittest.cc', + 'browser/download/download_status_updater_unittest.cc', + 'browser/download/download_target_determiner_unittest.cc', + 'browser/download/download_ui_controller_unittest.cc', + 'browser/download/download_util_unittest.cc', + 'browser/drive/drive_api_util_unittest.cc', + 'browser/drive/drive_uploader_unittest.cc', + 'browser/drive/event_logger_unittest.cc', + 'browser/drive/fake_drive_service_unittest.cc', + 'browser/enumerate_modules_model_unittest_win.cc', + 'browser/extensions/active_tab_unittest.cc', + 'browser/extensions/activity_log/activity_database_unittest.cc', + 'browser/extensions/activity_log/activity_log_enabled_unittest.cc', + 'browser/extensions/activity_log/activity_log_unittest.cc', + 'browser/extensions/activity_log/activity_log_policy_unittest.cc', + 'browser/extensions/activity_log/counting_policy_unittest.cc', + 'browser/extensions/activity_log/database_string_table_unittest.cc', + 'browser/extensions/activity_log/fullstream_ui_policy_unittest.cc', + 'browser/extensions/admin_policy_unittest.cc', + 'browser/extensions/api/activity_log_private/activity_log_private_api_unittest.cc', + 'browser/extensions/api/alarms/alarms_api_unittest.cc', + 'browser/extensions/api/api_resource_manager_unittest.cc', + 'browser/extensions/api/bluetooth/bluetooth_event_router_unittest.cc', + 'browser/extensions/api/bookmarks/bookmark_api_helpers_unittest.cc', + 'browser/extensions/api/content_settings/content_settings_store_unittest.cc', + 'browser/extensions/api/content_settings/content_settings_unittest.cc', + 'browser/extensions/api/cookies/cookies_unittest.cc', + 'browser/extensions/api/declarative/declarative_rule_unittest.cc', + 'browser/extensions/api/declarative/deduping_factory_unittest.cc', + 'browser/extensions/api/declarative/initializing_rules_registry_unittest.cc', + 'browser/extensions/api/declarative/rules_registry_service_unittest.cc', + 'browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc', + 'browser/extensions/api/declarative_content/content_action_unittest.cc', + 'browser/extensions/api/declarative_content/content_condition_unittest.cc', + 'browser/extensions/api/declarative_content/content_rules_registry_unittest.cc', + 'browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc', + 'browser/extensions/api/declarative_webrequest/webrequest_condition_attribute_unittest.cc', + 'browser/extensions/api/declarative_webrequest/webrequest_condition_unittest.cc', + 'browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc', + 'browser/extensions/api/dial/dial_device_data_unittest.cc', + 'browser/extensions/api/dial/dial_registry_unittest.cc', + 'browser/extensions/api/dial/dial_service_unittest.cc', + 'browser/extensions/api/discovery/discovery_api_unittest.cc', + 'browser/extensions/api/enterprise_platform_keys_private/enterprise_platform_keys_private_api_unittest.cc', + 'browser/extensions/api/extension_action/extension_action_prefs_unittest.cc', + 'browser/extensions/api/extension_action/extension_browser_actions_api_unittest.cc', + 'browser/extensions/api/file_system/file_system_api_unittest.cc', + 'browser/extensions/api/identity/experimental_web_auth_flow_unittest.cc', + 'browser/extensions/api/identity/gaia_web_auth_flow_unittest.cc', + 'browser/extensions/api/identity/identity_mint_queue_unittest.cc', + 'browser/extensions/api/idle/idle_api_unittest.cc', + 'browser/extensions/api/log_private/syslog_parser_unittest.cc', + 'browser/extensions/api/messaging/native_message_process_host_unittest.cc', + 'browser/extensions/api/messaging/native_messaging_host_manifest_unittest.cc', + 'browser/extensions/api/omnibox/omnibox_unittest.cc', + 'browser/extensions/api/permissions/permissions_api_helpers_unittest.cc', + 'browser/extensions/api/power/power_api_unittest.cc', + 'browser/extensions/api/preference/preference_api_prefs_unittest.cc', + 'browser/extensions/api/proxy/proxy_api_helpers_unittest.cc', + 'browser/extensions/api/push_messaging/obfuscated_gaia_id_fetcher_unittest.cc', + 'browser/extensions/api/push_messaging/push_messaging_invalidation_handler_unittest.cc', + 'browser/extensions/api/serial/serial_port_enumerator_unittest.cc', + 'browser/extensions/api/signedin_devices/id_mapping_helper_unittest.cc', + 'browser/extensions/api/signedin_devices/signedin_devices_api_unittest.cc', + 'browser/extensions/api/socket/socket_api_unittest.cc', + 'browser/extensions/api/socket/tcp_socket_unittest.cc', + 'browser/extensions/api/socket/udp_socket_unittest.cc', + 'browser/extensions/api/storage/policy_value_store_unittest.cc', + 'browser/extensions/api/storage/settings_frontend_unittest.cc', + 'browser/extensions/api/storage/settings_quota_unittest.cc', + 'browser/extensions/api/storage/settings_sync_unittest.cc', + 'browser/extensions/api/storage/settings_test_util.cc', + 'browser/extensions/api/storage/settings_test_util.h', + 'browser/extensions/api/streams_private/streams_private_manifest_unittest.cc', + 'browser/extensions/api/system_display/display_info_provider_chromeos_unittest.cc', + 'browser/extensions/api/web_navigation/frame_navigation_state_unittest.cc', + 'browser/extensions/api/web_request/form_data_parser_unittest.cc', + 'browser/extensions/api/web_request/upload_data_presenter_unittest.cc', + 'browser/extensions/api/web_request/web_request_api_unittest.cc', + 'browser/extensions/api/web_request/web_request_permissions_unittest.cc', + 'browser/extensions/api/web_request/web_request_time_tracker_unittest.cc', + 'browser/extensions/app_sync_data_unittest.cc', + 'browser/extensions/blacklist_unittest.cc', + 'browser/extensions/browser_permissions_policy_delegate_unittest.cc', + 'browser/extensions/component_loader_unittest.cc', + 'browser/extensions/convert_user_script_unittest.cc', + 'browser/extensions/convert_web_app_unittest.cc', + 'browser/extensions/default_apps_unittest.cc', + 'browser/extensions/error_console/error_console_unittest.cc', + 'browser/extensions/event_listener_map_unittest.cc', + 'browser/extensions/event_router_forwarder_unittest.cc', + 'browser/extensions/extension_action_icon_factory_unittest.cc', + 'browser/extensions/extension_action_unittest.cc', + 'browser/extensions/extension_context_menu_model_unittest.cc', + 'browser/extensions/extension_creator_filter_unittest.cc', + 'browser/extensions/extension_function_test_utils.cc', + 'browser/extensions/extension_function_test_utils.h', + 'browser/extensions/extension_icon_image_unittest.cc', + 'browser/extensions/extension_icon_manager_unittest.cc', + 'browser/extensions/extension_info_map_unittest.cc', + 'browser/extensions/extension_pref_value_map_unittest.cc', + 'browser/extensions/extension_prefs_unittest.cc', + 'browser/extensions/extension_prefs_unittest.h', + 'browser/extensions/extension_process_manager_unittest.cc', + 'browser/extensions/extension_protocols_unittest.cc', + 'browser/extensions/extension_service_unittest.cc', + 'browser/extensions/extension_service_unittest.h', + 'browser/extensions/extension_sorting_unittest.cc', + 'browser/extensions/extension_special_storage_policy_unittest.cc', + 'browser/extensions/extension_sync_data_unittest.cc', + 'browser/extensions/extension_ui_unittest.cc', + 'browser/extensions/extension_warning_badge_service_unittest.cc', + 'browser/extensions/extension_warning_service_unittest.cc', + 'browser/extensions/extensions_quota_service_unittest.cc', + 'browser/extensions/external_policy_loader_unittest.cc', + 'browser/extensions/external_provider_impl_chromeos_unittest.cc', + 'browser/extensions/image_loader_unittest.cc', + 'browser/extensions/management_policy_unittest.cc', + 'browser/extensions/menu_manager_unittest.cc', + 'browser/extensions/pack_extension_unittest.cc', + 'browser/extensions/page_action_controller_unittest.cc', + 'browser/extensions/permissions_updater_unittest.cc', + 'browser/extensions/process_map_unittest.cc', + 'browser/extensions/sandboxed_unpacker_unittest.cc', + 'browser/extensions/script_badge_controller_unittest.cc', + 'browser/extensions/script_bubble_controller_unittest.cc', + 'browser/extensions/token_cache/token_cache_service_unittest.cc', + 'browser/extensions/standard_management_policy_provider_unittest.cc', + 'browser/extensions/updater/extension_updater_unittest.cc', + 'browser/extensions/user_script_listener_unittest.cc', + 'browser/extensions/user_script_master_unittest.cc', + 'browser/extensions/webstore_inline_installer_unittest.cc', + 'browser/extensions/webstore_installer_unittest.cc', + 'browser/external_protocol/external_protocol_handler_unittest.cc', + 'browser/favicon/favicon_handler_unittest.cc', + 'browser/file_select_helper_unittest.cc', + 'browser/first_run/first_run_unittest.cc', + 'browser/geolocation/chrome_geolocation_permission_context_unittest.cc', + 'browser/global_keyboard_shortcuts_mac_unittest.mm', + 'browser/google/google_search_counter_unittest.cc', + 'browser/google/google_update_settings_unittest.cc', + 'browser/google/google_url_tracker_unittest.cc', + 'browser/google/google_util_unittest.cc', + 'browser/google_apis/base_requests_unittest.cc', + 'browser/google_apis/base_requests_server_unittest.cc', + 'browser/google_apis/drive_api_requests_unittest.cc', + 'browser/google_apis/drive_api_parser_unittest.cc', + 'browser/google_apis/drive_api_url_generator_unittest.cc', + 'browser/google_apis/gdata_wapi_parser_unittest.cc', + 'browser/google_apis/gdata_wapi_requests_unittest.cc', + 'browser/google_apis/gdata_wapi_url_generator_unittest.cc', + 'browser/google_apis/request_util_unittest.cc', + 'browser/google_apis/time_util_unittest.cc', + 'browser/history/android/android_cache_database_unittest.cc', + 'browser/history/android/android_history_provider_service_unittest.cc', + 'browser/history/android/android_history_types_unittest.cc', + 'browser/history/android/android_provider_backend_unittest.cc', + 'browser/history/android/android_urls_database_unittest.cc', + 'browser/history/android/bookmark_model_sql_handler_unittest.cc', + 'browser/history/android/sqlite_cursor_unittest.cc', + 'browser/history/android/urls_sql_handler_unittest.cc', + 'browser/history/android/visit_sql_handler_unittest.cc', + 'browser/history/expire_history_backend_unittest.cc', + 'browser/history/history_backend_unittest.cc', + 'browser/history/history_database_unittest.cc', + 'browser/history/history_querying_unittest.cc', + 'browser/history/history_types_unittest.cc', + 'browser/history/history_unittest.cc', + 'browser/history/history_unittest_base.cc', + 'browser/history/history_unittest_base.h', + 'browser/history/in_memory_url_index_types_unittest.cc', + 'browser/history/in_memory_url_index_unittest.cc', + 'browser/history/most_visited_tiles_experiment_unittest.cc', + 'browser/history/query_parser_unittest.cc', + 'browser/history/scored_history_match_unittest.cc', + 'browser/history/select_favicon_frames_unittest.cc', + 'browser/history/shortcuts_backend_unittest.cc', + 'browser/history/shortcuts_database_unittest.cc', + 'browser/history/snippet_unittest.cc', + 'browser/history/thumbnail_database_unittest.cc', + 'browser/history/top_sites_database_unittest.cc', + 'browser/history/top_sites_impl_unittest.cc', + 'browser/history/top_sites_likely_impl_unittest.cc', + 'browser/history/typed_url_syncable_service_unittest.cc', + 'browser/history/url_database_unittest.cc', + 'browser/history/visit_database_unittest.cc', + 'browser/history/visit_filter_unittest.cc', + 'browser/history/visit_tracker_unittest.cc', + 'browser/importer/firefox_profile_lock_unittest.cc', + 'browser/importer/profile_writer_unittest.cc', + 'browser/internal_auth_unittest.cc', + 'browser/invalidation/invalidation_service_android_unittest.cc', + 'browser/invalidation/invalidation_service_test_template.cc', + 'browser/invalidation/invalidation_service_test_template.h', + 'browser/invalidation/invalidator_storage_unittest.cc', + 'browser/invalidation/ticl_invalidation_service_unittest.cc', + 'browser/language_usage_metrics_unittest.cc', + 'browser/local_discovery/privet_confirm_api_flow_unittest.cc', + 'browser/local_discovery/privet_http_unittest.cc', + 'browser/local_discovery/privet_url_fetcher_unittest.cc', + 'browser/mac/keystone_glue_unittest.mm', + 'browser/managed_mode/managed_mode_url_filter_unittest.cc', + 'browser/managed_mode/managed_user_service_unittest.cc', + 'browser/managed_mode/managed_user_sync_service_unittest.cc', + 'browser/managed_mode/managed_user_refresh_token_fetcher_unittest.cc', + 'browser/managed_mode/managed_user_registration_utility_unittest.cc', + 'browser/media/desktop_media_picker_model_unittest.cc', + 'browser/media/webrtc_log_uploader_unittest.cc', + 'browser/media_galleries/fileapi/native_media_file_util_unittest.cc', + 'browser/media_galleries/linux/mtp_device_object_enumerator_unittest.cc', + 'browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm', + 'browser/media_galleries/win/mtp_device_delegate_impl_win_unittest.cc', + 'browser/media_galleries/media_file_system_registry_unittest.cc', + 'browser/media_galleries/media_galleries_dialog_controller_mock.cc', + 'browser/media_galleries/media_galleries_dialog_controller_mock.h', + 'browser/media_galleries/media_galleries_permissions_unittest.cc', + 'browser/media_galleries/media_galleries_dialog_controller_unittest.cc', + 'browser/media_galleries/media_galleries_preferences_unittest.cc', + 'browser/media_galleries/win/mtp_device_object_enumerator_unittest.cc', + 'browser/metrics/compression_utils_unittest.cc', + 'browser/metrics/metrics_log_unittest.cc', + 'browser/metrics/metrics_log_serializer_unittest.cc', + 'browser/metrics/metrics_service_unittest.cc', + 'browser/metrics/thread_watcher_unittest.cc', + 'browser/metrics/time_ticks_experiment_unittest.cc', + 'browser/metrics/variations/variations_http_header_provider_unittest.cc', + 'browser/metrics/variations/variations_seed_processor_unittest.cc', + 'browser/metrics/variations/variations_service_unittest.cc', + 'browser/metrics/variations/variations_request_scheduler_unittest.cc', + 'browser/nacl_host/nacl_file_host_unittest.cc', + 'browser/nacl_host/nacl_validation_cache_unittest.cc', + 'browser/nacl_host/pnacl_translation_cache_unittest.cc', + 'browser/nacl_host/pnacl_host_unittest.cc', + 'browser/net/chrome_fraudulent_certificate_reporter_unittest.cc', + 'browser/net/chrome_network_delegate_unittest.cc', + 'browser/net/connection_tester_unittest.cc', + 'browser/net/dns_probe_runner_unittest.cc', + 'browser/net/dns_probe_service_unittest.cc', + 'browser/net/evicted_domain_cookie_counter_unittest.cc', + 'browser/net/firefox_proxy_settings_unittest.cc', + 'browser/net/gaia/gaia_oauth_fetcher_unittest.cc', + 'browser/net/http_pipelining_compatibility_client_unittest.cc', + 'browser/net/http_server_properties_manager_unittest.cc', + 'browser/net/net_error_tab_helper_unittest.cc', + 'browser/net/net_log_temp_file_unittest.cc', + 'browser/net/network_stats_unittest.cc', + 'browser/net/network_time_tracker_unittest.cc', + 'browser/net/predictor_unittest.cc', + 'browser/net/pref_proxy_config_tracker_impl_unittest.cc', + 'browser/net/probe_message_unittest.cc', + 'browser/net/spdyproxy/http_auth_handler_spdyproxy_unittest.cc', + 'browser/net/sqlite_server_bound_cert_store_unittest.cc', + 'browser/net/ssl_config_service_manager_pref_unittest.cc', + 'browser/net/transport_security_persister_unittest.cc', + 'browser/net/url_info_unittest.cc', + 'browser/notifications/desktop_notification_service_unittest.cc', + 'browser/notifications/message_center_notifications_unittest_win.cc', + 'browser/notifications/message_center_settings_controller_unittest.cc', + 'browser/notifications/sync_notifier/chrome_notifier_service_unittest.cc', + 'browser/notifications/sync_notifier/synced_notification_unittest.cc', + 'browser/notifications/sync_notifier/sync_notifier_test_utils.cc', + 'browser/notifications/sync_notifier/sync_notifier_test_utils.h', + 'browser/omnibox/omnibox_field_trial_unittest.cc', + 'browser/page_cycler/page_cycler_unittest.cc', + 'browser/parsers/metadata_parser_filebase_unittest.cc', + 'browser/password_manager/login_database_unittest.cc', + 'browser/password_manager/native_backend_gnome_x_unittest.cc', + 'browser/password_manager/native_backend_kwallet_x_unittest.cc', + 'browser/password_manager/password_form_manager_unittest.cc', + 'browser/password_manager/password_generation_manager_unittest.cc', + 'browser/password_manager/password_manager_unittest.cc', + 'browser/password_manager/password_store_unittest.cc', + 'browser/password_manager/password_store_default_unittest.cc', + 'browser/password_manager/password_store_mac_unittest.cc', + 'browser/password_manager/password_store_win_unittest.cc', + 'browser/password_manager/password_store_x_unittest.cc', + 'browser/performance_monitor/database_unittest.cc', + 'browser/plugins/plugin_finder_unittest.cc', + 'browser/plugins/plugin_metadata_unittest.cc', + 'browser/plugins/plugin_prefs_unittest.cc', + 'browser/policy/async_policy_provider_unittest.cc', + 'browser/policy/browser_policy_connector_unittest.cc', + 'browser/policy/cloud/cloud_external_data_manager_base_unittest.cc', + 'browser/policy/cloud/cloud_external_data_store_unittest.cc', + 'browser/policy/cloud/cloud_policy_client_unittest.cc', + 'browser/policy/cloud/cloud_policy_core_unittest.cc', + 'browser/policy/cloud/cloud_policy_invalidator_unittest.cc', + 'browser/policy/cloud/cloud_policy_manager_unittest.cc', + 'browser/policy/cloud/cloud_policy_refresh_scheduler_unittest.cc', + 'browser/policy/cloud/cloud_policy_service_unittest.cc', + 'browser/policy/cloud/cloud_policy_validator_unittest.cc', + 'browser/policy/cloud/component_cloud_policy_service_unittest.cc', + 'browser/policy/cloud/component_cloud_policy_store_unittest.cc', + 'browser/policy/cloud/component_cloud_policy_updater_unittest.cc', + 'browser/policy/cloud/device_management_service_unittest.cc', + 'browser/policy/cloud/external_policy_data_updater_unittest.cc', + 'browser/policy/cloud/mock_device_management_service.cc', + 'browser/policy/cloud/mock_device_management_service.h', + 'browser/policy/cloud/mock_user_cloud_policy_store.cc', + 'browser/policy/cloud/mock_user_cloud_policy_store.h', + 'browser/policy/cloud/rate_limiter_unittest.cc', + 'browser/policy/cloud/resource_cache_unittest.cc', + 'browser/policy/cloud/user_cloud_policy_manager_unittest.cc', + 'browser/policy/cloud/user_cloud_policy_store_unittest.cc', + 'browser/policy/cloud/user_info_fetcher_unittest.cc', + 'browser/policy/cloud/user_policy_signin_service_unittest.cc', + 'browser/policy/config_dir_policy_loader_unittest.cc', + 'browser/policy/configuration_policy_handler_unittest.cc', + 'browser/policy/configuration_policy_pref_store_unittest.cc', + 'browser/policy/configuration_policy_provider_test.cc', + 'browser/policy/configuration_policy_provider_test.h', + 'browser/policy/managed_mode_policy_provider_unittest.cc', + 'browser/policy/mock_policy_service.cc', + 'browser/policy/mock_policy_service.h', + 'browser/policy/policy_bundle_unittest.cc', + 'browser/policy/policy_domain_descriptor_unittest.cc', + 'browser/policy/policy_loader_mac_unittest.cc', + 'browser/policy/policy_loader_win_unittest.cc', + 'browser/policy/policy_map_unittest.cc', + 'browser/policy/policy_path_parser_unittest.cc', + 'browser/policy/policy_service_impl_unittest.cc', + 'browser/policy/policy_statistics_collector_unittest.cc', + 'browser/policy/preferences_mock_mac.cc', + 'browser/policy/preferences_mock_mac.h', + 'browser/policy/preg_parser_win_unittest.cc', + 'browser/policy/registry_dict_win_unittest.cc', + 'browser/policy/url_blacklist_manager_unittest.cc', + 'browser/predictors/autocomplete_action_predictor_table_unittest.cc', + 'browser/predictors/autocomplete_action_predictor_unittest.cc', + 'browser/predictors/resource_prefetch_predictor_unittest.cc', + 'browser/predictors/resource_prefetch_predictor_tables_unittest.cc', + 'browser/predictors/resource_prefetcher_unittest.cc', + 'browser/prefs/chrome_pref_service_unittest.cc', + 'browser/prefs/command_line_pref_store_unittest.cc', + 'browser/prefs/incognito_mode_prefs_unittest.cc', + 'browser/prefs/pref_model_associator_unittest.cc', + 'browser/prefs/proxy_config_dictionary_unittest.cc', + 'browser/prefs/proxy_policy_unittest.cc', + 'browser/prefs/proxy_prefs_unittest.cc', + 'browser/prefs/scoped_user_pref_update_unittest.cc', + 'browser/prefs/session_startup_pref_unittest.cc', + 'browser/prerender/prerender_history_unittest.cc', + 'browser/prerender/prerender_manager_unittest.cc', + 'browser/prerender/prerender_tracker_unittest.cc', + 'browser/prerender/prerender_unittest.cc', + 'browser/prerender/prerender_util_unittest.cc', + 'browser/printing/cloud_print/cloud_print_proxy_service_unittest.cc', + 'browser/printing/print_dialog_cloud_unittest.cc', + 'browser/printing/print_job_unittest.cc', + 'browser/printing/print_preview_dialog_controller_unittest.cc', + 'browser/printing/print_preview_test.cc', + 'browser/printing/print_preview_test.h', + 'browser/process_info_snapshot_mac_unittest.cc', + 'browser/process_singleton_linux_unittest.cc', + 'browser/process_singleton_mac_unittest.cc', + 'browser/profile_resetter/profile_resetter_unittest.cc', + 'browser/profiles/avatar_menu_model_unittest.cc', + 'browser/profiles/gaia_info_update_service_unittest.cc', + 'browser/profiles/off_the_record_profile_impl_unittest.cc', + 'browser/profiles/profile_downloader_unittest.cc', + 'browser/profiles/profile_info_cache_unittest.cc', + 'browser/profiles/profile_info_cache_unittest.h', + 'browser/profiles/profile_info_util_unittest.cc', + 'browser/profiles/profile_loader_unittest.cc', + 'browser/profiles/profile_manager_unittest.cc', + 'browser/profiles/profile_shortcut_manager_unittest_win.cc', + 'browser/renderer_host/plugin_info_message_filter_unittest.cc', + 'browser/renderer_host/web_cache_manager_unittest.cc', + 'browser/resources/google_now/background.js', + 'browser/resources/google_now/cards.js', + 'browser/resources/google_now/background_test_util.js', + 'browser/resources/google_now/background_unittest.gtestjs', + 'browser/resources/google_now/cards_unittest.gtestjs', + 'browser/resources/print_preview/data/measurement_system.js', + 'browser/resources/print_preview/data/measurement_system_unittest.gtestjs', + 'browser/resources/print_preview/print_preview_utils.js', + 'browser/resources/print_preview/print_preview_utils_unittest.gtestjs', + 'browser/resources_util_unittest.cc', + 'browser/rlz/rlz_unittest.cc', + 'browser/safe_browsing/browser_feature_extractor_unittest.cc', + 'browser/safe_browsing/chunk_range_unittest.cc', + 'browser/safe_browsing/client_side_detection_host_unittest.cc', + 'browser/safe_browsing/client_side_detection_service_unittest.cc', + 'browser/safe_browsing/download_feedback_service_unittest.cc', + 'browser/safe_browsing/download_feedback_unittest.cc', + 'browser/safe_browsing/download_protection_service_unittest.cc', + 'browser/safe_browsing/local_two_phase_testserver.cc', + 'browser/safe_browsing/malware_details_unittest.cc', + 'browser/safe_browsing/ping_manager_unittest.cc', + 'browser/safe_browsing/prefix_set_unittest.cc', + 'browser/safe_browsing/protocol_manager_unittest.cc', + 'browser/safe_browsing/protocol_parser_unittest.cc', + 'browser/safe_browsing/safe_browsing_blocking_page_unittest.cc', + 'browser/safe_browsing/safe_browsing_database_unittest.cc', + 'browser/safe_browsing/safe_browsing_store_file_unittest.cc', + 'browser/safe_browsing/safe_browsing_store_unittest.cc', + 'browser/safe_browsing/safe_browsing_store_unittest_helper.cc', + 'browser/safe_browsing/safe_browsing_util_unittest.cc', + 'browser/safe_browsing/signature_util_win_unittest.cc', + 'browser/safe_browsing/two_phase_uploader_unittest.cc', + 'browser/search/iframe_source_unittest.cc', + 'browser/search/most_visited_iframe_source_unittest.cc', + 'browser/search/search_unittest.cc', + 'browser/search_engines/search_host_to_urls_map_unittest.cc', + 'browser/search_engines/search_provider_install_data_unittest.cc', + 'browser/search_engines/template_url_fetcher_unittest.cc', + 'browser/search_engines/template_url_service_util_unittest.cc', + 'browser/search_engines/template_url_service_sync_unittest.cc', + 'browser/search_engines/template_url_service_unittest.cc', + 'browser/search_engines/template_url_parser_unittest.cc', + 'browser/search_engines/template_url_prepopulate_data_unittest.cc', + 'browser/search_engines/template_url_scraper_unittest.cc', + 'browser/search_engines/template_url_unittest.cc', + 'browser/sessions/session_backend_unittest.cc', + 'browser/sessions/session_service_unittest.cc', + 'browser/sessions/session_types_unittest.cc', + 'browser/shell_integration_unittest.cc', + 'browser/shell_integration_win_unittest.cc', + 'browser/signin/fake_auth_status_provider.cc', + 'browser/signin/fake_auth_status_provider.h', + 'browser/signin/oauth2_token_service_test_util.cc', + 'browser/signin/oauth2_token_service_test_util.h', + 'browser/signin/oauth2_token_service_unittest.cc', + 'browser/signin/profile_oauth2_token_service_request_unittest.cc', + 'browser/signin/profile_oauth2_token_service_unittest.cc', + 'browser/signin/signin_global_error_unittest.cc', + 'browser/signin/signin_manager_unittest.cc', + 'browser/signin/signin_names_io_thread_unittest.cc', + 'browser/signin/signin_tracker_unittest.cc', + 'browser/signin/token_service_unittest.cc', + 'browser/signin/token_service_unittest.h', + 'browser/signin/ubertoken_fetcher_unittest.cc', + 'browser/speech/extension_api/extension_manifests_tts_unittest.cc', + 'browser/speech/speech_recognition_bubble_controller_unittest.cc', + 'browser/speech/tts_controller_unittest.cc', + 'browser/spellchecker/feedback_sender_unittest.cc', + 'browser/spellchecker/feedback_unittest.cc', + 'browser/spellchecker/misspelling_unittest.cc', + 'browser/spellchecker/spellcheck_action_unittest.cc', + 'browser/spellchecker/spellcheck_custom_dictionary_unittest.cc', + 'browser/spellchecker/spellcheck_host_metrics_unittest.cc', + 'browser/spellchecker/spellcheck_message_filter_mac_unittest.cc', + 'browser/spellchecker/spellcheck_message_filter_unittest.cc', + 'browser/spellchecker/spellcheck_platform_mac_unittest.cc', + 'browser/spellchecker/spellcheck_service_unittest.cc', + 'browser/spellchecker/spelling_service_client_unittest.cc', + 'browser/spellchecker/word_trimmer_unittest.cc', + 'browser/status_icons/status_icon_unittest.cc', + 'browser/status_icons/status_tray_unittest.cc', + 'browser/storage_monitor/image_capture_device_manager_unittest.mm', + 'browser/storage_monitor/media_storage_util_unittest.cc', + 'browser/storage_monitor/media_transfer_protocol_device_observer_linux_unittest.cc', + 'browser/storage_monitor/mock_removable_storage_observer.cc', + 'browser/storage_monitor/mock_removable_storage_observer.h', + 'browser/storage_monitor/storage_info_unittest.cc', + 'browser/storage_monitor/storage_monitor_chromeos_unittest.cc', + 'browser/storage_monitor/storage_monitor_linux_unittest.cc', + 'browser/storage_monitor/storage_monitor_mac_unittest.mm', + 'browser/storage_monitor/storage_monitor_win_unittest.cc', + 'browser/storage_monitor/storage_monitor_unittest.cc', + 'browser/storage_monitor/test_portable_device_watcher_win.cc', + 'browser/storage_monitor/test_portable_device_watcher_win.h', + 'browser/storage_monitor/test_storage_monitor_win.cc', + 'browser/storage_monitor/test_storage_monitor_win.h', + 'browser/storage_monitor/test_volume_mount_watcher_win.cc', + 'browser/storage_monitor/test_volume_mount_watcher_win.h', + 'browser/sync/about_sync_util_unittest.cc', + 'browser/sync/abstract_profile_sync_service_test.cc', + 'browser/sync/abstract_profile_sync_service_test.h', + 'browser/sync/backend_migrator_unittest.cc', + 'browser/sync/glue/autofill_data_type_controller_unittest.cc', + 'browser/sync/glue/bookmark_data_type_controller_unittest.cc', + 'browser/sync/glue/browser_thread_model_worker_unittest.cc', + 'browser/sync/glue/change_processor_mock.cc', + 'browser/sync/glue/change_processor_mock.h', + 'browser/sync/glue/chrome_encryptor_unittest.cc', + 'browser/sync/glue/data_type_controller_mock.cc', + 'browser/sync/glue/data_type_controller_mock.h', + 'browser/sync/glue/data_type_error_handler_mock.cc', + 'browser/sync/glue/data_type_error_handler_mock.h', + 'browser/sync/glue/data_type_manager_impl_unittest.cc', + 'browser/sync/glue/data_type_manager_mock.cc', + 'browser/sync/glue/data_type_manager_mock.h', + 'browser/sync/glue/extensions_activity_monitor_unittest.cc', + 'browser/sync/glue/fake_data_type_controller.cc', + 'browser/sync/glue/fake_data_type_controller.h', + 'browser/sync/glue/fake_generic_change_processor.cc', + 'browser/sync/glue/fake_generic_change_processor.h', + 'browser/sync/glue/favicon_cache_unittest.cc', + 'browser/sync/glue/frontend_data_type_controller_mock.cc', + 'browser/sync/glue/frontend_data_type_controller_mock.h', + 'browser/sync/glue/frontend_data_type_controller_unittest.cc', + 'browser/sync/glue/generic_change_processor_unittest.cc', + 'browser/sync/glue/model_association_manager_unittest.cc', + 'browser/sync/glue/model_associator_mock.cc', + 'browser/sync/glue/model_associator_mock.h', + 'browser/sync/glue/non_frontend_data_type_controller_mock.cc', + 'browser/sync/glue/non_frontend_data_type_controller_mock.h', + 'browser/sync/glue/non_frontend_data_type_controller_unittest.cc', + 'browser/sync/glue/non_ui_data_type_controller_mock.cc', + 'browser/sync/glue/non_ui_data_type_controller_mock.h', + 'browser/sync/glue/non_ui_data_type_controller_unittest.cc', + 'browser/sync/glue/search_engine_data_type_controller_unittest.cc', + 'browser/sync/glue/session_model_associator_unittest.cc', + 'browser/sync/glue/shared_change_processor_mock.cc', + 'browser/sync/glue/shared_change_processor_mock.h', + 'browser/sync/glue/shared_change_processor_unittest.cc', + 'browser/sync/glue/sync_backend_host_unittest.cc', + 'browser/sync/glue/sync_backend_registrar_unittest.cc', + 'browser/sync/glue/synced_device_tracker_unittest.cc', + 'browser/sync/glue/synced_session_tracker_unittest.cc', + 'browser/sync/glue/tab_node_pool_unittest.cc', + 'browser/sync/glue/typed_url_model_associator_unittest.cc', + 'browser/sync/glue/ui_data_type_controller_unittest.cc', + 'browser/sync/glue/ui_model_worker_unittest.cc', + 'browser/sync/profile_sync_components_factory_impl_unittest.cc', + 'browser/sync/profile_sync_components_factory_mock.cc', + 'browser/sync/profile_sync_components_factory_mock.h', + 'browser/sync/profile_sync_service_autofill_unittest.cc', + 'browser/sync/profile_sync_service_bookmark_unittest.cc', + 'browser/sync/profile_sync_service_password_unittest.cc', + 'browser/sync/profile_sync_service_preference_unittest.cc', + 'browser/sync/profile_sync_service_session_unittest.cc', + 'browser/sync/profile_sync_service_startup_unittest.cc', + 'browser/sync/profile_sync_service_typed_url_unittest.cc', + 'browser/sync/profile_sync_service_unittest.cc', + 'browser/sync/profile_sync_test_util.cc', + 'browser/sync/profile_sync_test_util.h', + 'browser/sync/sync_global_error_unittest.cc', + 'browser/sync/sync_prefs_unittest.cc', + 'browser/sync/sync_startup_tracker_unittest.cc', + 'browser/sync/sync_ui_util_unittest.cc', + 'browser/sync/test/test_http_bridge_factory.cc', + 'browser/sync/test/test_http_bridge_factory.h', + 'browser/sync/test_profile_sync_service.cc', + 'browser/sync/test_profile_sync_service.h', + 'browser/sync_file_system/drive_backend/api_util_unittest.cc', + 'browser/sync_file_system/drive_backend/drive_file_sync_service_fake_unittest.cc', + 'browser/sync_file_system/drive_backend/drive_file_sync_service_sync_unittest.cc', + 'browser/sync_file_system/drive_backend/drive_file_sync_service_unittest.cc', + 'browser/sync_file_system/drive_backend/drive_metadata_store_unittest.cc', + 'browser/sync_file_system/drive_backend/fake_api_util.cc', + 'browser/sync_file_system/drive_backend/fake_api_util.h', + 'browser/sync_file_system/drive_backend/fake_api_util_unittest.cc', + 'browser/sync_file_system/drive_backend/fake_drive_service_helper.cc', + 'browser/sync_file_system/drive_backend/fake_drive_service_helper.h', + 'browser/sync_file_system/drive_backend/local_sync_operation_resolver_unittest.cc', + 'browser/sync_file_system/drive_backend/metadata_database_unittest.cc', + 'browser/sync_file_system/drive_backend/metadata_db_migration_util_unittest.cc', + 'browser/sync_file_system/drive_backend/remote_sync_operation_resolver_unittest.cc', + 'browser/sync_file_system/fake_remote_change_processor.cc', + 'browser/sync_file_system/fake_remote_change_processor.h', + 'browser/sync_file_system/file_change_unittest.cc', + 'browser/sync_file_system/local/canned_syncable_file_system.cc', + 'browser/sync_file_system/local/canned_syncable_file_system.h', + 'browser/sync_file_system/local/local_file_change_tracker_unittest.cc', + 'browser/sync_file_system/local/local_file_sync_context_unittest.cc', + 'browser/sync_file_system/local/local_file_sync_service_unittest.cc', + 'browser/sync_file_system/local/local_file_sync_status_unittest.cc', + 'browser/sync_file_system/local/mock_sync_status_observer.cc', + 'browser/sync_file_system/local/mock_sync_status_observer.h', + 'browser/sync_file_system/local/syncable_file_operation_runner_unittest.cc', + 'browser/sync_file_system/local/syncable_file_system_unittest.cc', + 'browser/sync_file_system/logger_unittest.cc', + 'browser/sync_file_system/mock_local_change_processor.cc', + 'browser/sync_file_system/mock_local_change_processor.h', + 'browser/sync_file_system/mock_remote_change_processor.cc', + 'browser/sync_file_system/mock_remote_change_processor.h', + 'browser/sync_file_system/mock_remote_file_sync_service.cc', + 'browser/sync_file_system/mock_remote_file_sync_service.h', + 'browser/sync_file_system/sync_file_system_service_unittest.cc', + 'browser/sync_file_system/sync_file_system_test_util.cc', + 'browser/sync_file_system/sync_file_system_test_util.h', + 'browser/sync_file_system/sync_task_manager_unittest.cc', + 'browser/sync_file_system/syncable_file_system_util_unittest.cc', + 'browser/tab_contents/render_view_context_menu_test_util.cc', + 'browser/tab_contents/render_view_context_menu_test_util.h', + 'browser/tab_contents/render_view_context_menu_unittest.cc', + 'browser/task_manager/task_manager_unittest.cc', + 'browser/task_profiler/task_profiler_data_serializer_unittest.cc', + 'browser/themes/browser_theme_pack_unittest.cc', + 'browser/themes/theme_properties_unittest.cc', + 'browser/themes/theme_service_unittest.cc', + 'browser/themes/theme_syncable_service_unittest.cc', + 'browser/thumbnails/content_analysis_unittest.cc', + 'browser/thumbnails/content_based_thumbnailing_algorithm_unittest.cc', + 'browser/thumbnails/render_widget_snapshot_taker_unittest.cc', + 'browser/thumbnails/simple_thumbnail_crop_unittest.cc', + 'browser/thumbnails/thumbnail_service_unittest.cc', + 'browser/translate/translate_browser_metrics_unittest.cc', + 'browser/translate/translate_manager_unittest.cc', + 'browser/translate/translate_prefs_unittest.cc', + 'browser/ui/android/tab_model/tab_model_unittest.cc', + 'browser/ui/ash/event_rewriter_unittest.cc', + 'browser/ui/ash/ime_controller_chromeos_unittest.cc', + 'browser/ui/ash/launcher/browser_launcher_item_controller_unittest.cc', + 'browser/ui/ash/launcher/chrome_launcher_controller_per_app_unittest.cc', + 'browser/ui/ash/launcher/chrome_launcher_controller_per_browser_unittest.cc', + 'browser/ui/ash/launcher/launcher_context_menu_unittest.cc', + 'browser/ui/ash/screenshot_taker_unittest.cc', + 'browser/ui/ash/window_positioner_unittest.cc', + 'browser/ui/autofill/account_chooser_model_unittest.cc', + 'browser/ui/autofill/autocheckout_bubble_controller_unittest.cc', + 'browser/ui/autofill/autofill_dialog_controller_unittest.cc', + 'browser/ui/autofill/autofill_dialog_models_unittest.cc', + 'browser/ui/autofill/autofill_dialog_types_unittest.cc', + 'browser/ui/autofill/autofill_popup_controller_unittest.cc', + 'browser/ui/autofill/data_model_wrapper_unittest.cc', + 'browser/ui/autofill/generated_credit_card_bubble_controller_unittest.cc', + 'browser/ui/autofill/mock_autofill_dialog_view_delegate.cc', + 'browser/ui/autofill/mock_autofill_dialog_view_delegate.h', + 'browser/ui/autofill/mock_new_credit_card_bubble_controller.cc', + 'browser/ui/autofill/mock_new_credit_card_bubble_controller.h', + 'browser/ui/autofill/test_generated_credit_card_bubble_view.cc', + 'browser/ui/autofill/test_generated_credit_card_bubble_view.h', + 'browser/ui/bookmarks/bookmark_context_menu_controller_unittest.cc', + 'browser/ui/bookmarks/bookmark_bubble_sign_in_delegate_unittest.cc', + 'browser/ui/bookmarks/bookmark_editor_unittest.cc', + 'browser/ui/bookmarks/bookmark_prompt_controller_unittest.cc', + 'browser/ui/bookmarks/bookmark_ui_utils_unittest.cc', + 'browser/ui/bookmarks/bookmark_unittest.cc', + 'browser/ui/bookmarks/recently_used_folders_combo_model_unittest.cc', + 'browser/ui/browser_command_controller_unittest.cc', + 'browser/ui/browser_iterator_unittest.cc', + 'browser/ui/browser_unittest.cc', + 'browser/ui/chrome_select_file_policy_unittest.cc', + # It is safe to list */cocoa/* files in the "common" file list + # without an explicit exclusion since gyp is smart enough to + # exclude them from non-Mac builds. + 'browser/ui/cocoa/about_ipc_controller_unittest.mm', + 'browser/ui/cocoa/accelerators_cocoa_unittest.mm', + 'browser/ui/cocoa/animatable_image_unittest.mm', + 'browser/ui/cocoa/animatable_view_unittest.mm', + 'browser/ui/cocoa/applescript/apple_event_util_unittest.mm', + 'browser/ui/cocoa/applescript/bookmark_applescript_utils_unittest.h', + 'browser/ui/cocoa/applescript/bookmark_applescript_utils_unittest.mm', + 'browser/ui/cocoa/applescript/bookmark_folder_applescript_unittest.mm', + 'browser/ui/cocoa/applescript/bookmark_item_applescript_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_account_chooser_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_details_container_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_main_container_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_notification_container_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_notification_controller_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_pop_up_button_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_textfield_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_section_container_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_section_view_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_sign_in_container_unittest.mm', + 'browser/ui/cocoa/autofill/autofill_suggestion_container_unittest.mm', + 'browser/ui/cocoa/autofill/down_arrow_popup_menu_cell_unittest.mm', + 'browser/ui/cocoa/autofill/layout_view_unittest.mm', + 'browser/ui/cocoa/autofill/simple_grid_layout_unittest.mm', + 'browser/ui/cocoa/background_gradient_view_unittest.mm', + 'browser/ui/cocoa/base_bubble_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_all_tabs_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_bridge_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_button_cell_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_hover_state_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_view_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_folder_window_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_toolbar_view_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.h', + 'browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bar_view_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_bubble_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_button_cell_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_button_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_editor_base_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_editor_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_folder_target_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_menu_bridge_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_model_observer_for_cocoa_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_name_folder_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_sync_promo_controller_unittest.mm', + 'browser/ui/cocoa/bookmarks/bookmark_tree_browser_cell_unittest.mm', + 'browser/ui/cocoa/browser/avatar_button_controller_unittest.mm', + 'browser/ui/cocoa/browser/avatar_label_button_unittest.mm', + 'browser/ui/cocoa/browser/avatar_menu_bubble_controller_unittest.mm', + 'browser/ui/cocoa/browser/edit_search_engine_cocoa_controller_unittest.mm', + 'browser/ui/cocoa/browser/password_generation_bubble_controller_unittest.mm', + 'browser/ui/cocoa/browser/zoom_bubble_controller_unittest.mm', + 'browser/ui/cocoa/browser_window_cocoa_unittest.mm', + 'browser/ui/cocoa/browser_window_controller_unittest.mm', + 'browser/ui/cocoa/bubble_view_unittest.mm', + 'browser/ui/cocoa/chrome_browser_window_unittest.mm', + 'browser/ui/cocoa/chrome_event_processing_window_unittest.mm', + 'browser/ui/cocoa/clickhold_button_cell_unittest.mm', + 'browser/ui/cocoa/cocoa_profile_test.h', + 'browser/ui/cocoa/cocoa_profile_test.mm', + 'browser/ui/cocoa/cocoa_test_helper.h', + 'browser/ui/cocoa/cocoa_test_helper.mm', + 'browser/ui/cocoa/command_observer_bridge_unittest.mm', + 'browser/ui/cocoa/confirm_bubble_controller_unittest.mm', + 'browser/ui/cocoa/confirm_quit_panel_controller_unittest.mm', + 'browser/ui/cocoa/constrained_window/constrained_window_alert_unittest.mm', + 'browser/ui/cocoa/constrained_window/constrained_window_animation_unittest.mm', + 'browser/ui/cocoa/constrained_window/constrained_window_button_unittest.mm', + 'browser/ui/cocoa/constrained_window/constrained_window_custom_window_unittest.mm', + 'browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm', + 'browser/ui/cocoa/content_settings/cookie_details_unittest.mm', + 'browser/ui/cocoa/content_settings/cookie_details_view_controller_unittest.mm', + 'browser/ui/cocoa/custom_frame_view_unittest.mm', + 'browser/ui/cocoa/download/download_item_button_unittest.mm', + 'browser/ui/cocoa/download/download_item_cell_unittest.mm', + 'browser/ui/cocoa/download/download_shelf_controller_unittest.mm', + 'browser/ui/cocoa/download/download_shelf_mac_unittest.mm', + 'browser/ui/cocoa/download/download_shelf_view_unittest.mm', + 'browser/ui/cocoa/download/download_util_mac_unittest.mm', + 'browser/ui/cocoa/draggable_button_unittest.mm', + 'browser/ui/cocoa/extensions/browser_actions_container_view_unittest.mm', + 'browser/ui/cocoa/extensions/extension_install_prompt_test_utils.h', + 'browser/ui/cocoa/extensions/extension_install_prompt_test_utils.mm', + 'browser/ui/cocoa/extensions/extension_install_view_controller_unittest.mm', + 'browser/ui/cocoa/extensions/extension_installed_bubble_controller_unittest.mm', + 'browser/ui/cocoa/extensions/media_galleries_dialog_cocoa_unittest.mm', + 'browser/ui/cocoa/fast_resize_view_unittest.mm', + 'browser/ui/cocoa/find_bar/find_bar_bridge_unittest.mm', + 'browser/ui/cocoa/find_bar/find_bar_cocoa_controller_unittest.mm', + 'browser/ui/cocoa/find_bar/find_bar_text_field_cell_unittest.mm', + 'browser/ui/cocoa/find_bar/find_bar_text_field_unittest.mm', + 'browser/ui/cocoa/find_bar/find_bar_view_unittest.mm', + 'browser/ui/cocoa/find_pasteboard_unittest.mm', + 'browser/ui/cocoa/first_run_bubble_controller_unittest.mm', + 'browser/ui/cocoa/floating_bar_backing_view_unittest.mm', + 'browser/ui/cocoa/framed_browser_window_unittest.mm', + 'browser/ui/cocoa/fullscreen_window_unittest.mm', + 'browser/ui/cocoa/fullscreen_exit_bubble_controller_unittest.mm', + 'browser/ui/cocoa/gradient_button_cell_unittest.mm', + 'browser/ui/cocoa/history_menu_bridge_unittest.mm', + 'browser/ui/cocoa/history_menu_cocoa_controller_unittest.mm', + 'browser/ui/cocoa/history_overlay_controller_unittest.mm', + 'browser/ui/cocoa/hover_close_button_unittest.mm', + 'browser/ui/cocoa/hung_renderer_controller_unittest.mm', + 'browser/ui/cocoa/hyperlink_text_view_unittest.mm', + 'browser/ui/cocoa/image_button_cell_unittest.mm', + 'browser/ui/cocoa/info_bubble_view_unittest.mm', + 'browser/ui/cocoa/info_bubble_window_unittest.mm', + 'browser/ui/cocoa/infobars/confirm_infobar_controller_unittest.mm', + 'browser/ui/cocoa/infobars/infobar_container_controller_unittest.mm', + 'browser/ui/cocoa/infobars/infobar_gradient_view_unittest.mm', + 'browser/ui/cocoa/infobars/translate_infobar_unittest.mm', + 'browser/ui/cocoa/location_bar/autocomplete_text_field_cell_unittest.mm', + 'browser/ui/cocoa/location_bar/autocomplete_text_field_editor_unittest.mm', + 'browser/ui/cocoa/location_bar/autocomplete_text_field_unittest.mm', + 'browser/ui/cocoa/location_bar/autocomplete_text_field_unittest_helper.mm', + 'browser/ui/cocoa/location_bar/ev_bubble_decoration_unittest.mm', + 'browser/ui/cocoa/location_bar/image_decoration_unittest.mm', + 'browser/ui/cocoa/location_bar/keyword_hint_decoration_unittest.mm', + 'browser/ui/cocoa/location_bar/selected_keyword_decoration_unittest.mm', + 'browser/ui/cocoa/menu_button_unittest.mm', + 'browser/ui/cocoa/nine_part_button_cell_unittest.mm', + 'browser/ui/cocoa/notifications/balloon_controller_unittest.mm', + 'browser/ui/cocoa/notifications/message_center_tray_bridge_unittest.mm', + 'browser/ui/cocoa/nsmenuitem_additions_unittest.mm', + 'browser/ui/cocoa/nsview_additions_unittest.mm', + 'browser/ui/cocoa/omnibox/omnibox_popup_cell_unittest.mm', + 'browser/ui/cocoa/omnibox/omnibox_popup_matrix_unittest.mm', + 'browser/ui/cocoa/omnibox/omnibox_popup_separator_view_unittest.mm', + 'browser/ui/cocoa/omnibox/omnibox_popup_view_mac_unittest.mm', + 'browser/ui/cocoa/omnibox/omnibox_view_mac_unittest.mm', + 'browser/ui/cocoa/one_click_signin_bubble_controller_unittest.mm', + 'browser/ui/cocoa/panels/panel_cocoa_unittest.mm', + 'browser/ui/cocoa/profile_menu_controller_unittest.mm', + 'browser/ui/cocoa/run_loop_testing_unittest.mm', + 'browser/ui/cocoa/status_bubble_mac_unittest.mm', + 'browser/ui/cocoa/status_icons/status_icon_mac_unittest.mm', + 'browser/ui/cocoa/styled_text_field_cell_unittest.mm', + 'browser/ui/cocoa/styled_text_field_test_helper.h', + 'browser/ui/cocoa/styled_text_field_test_helper.mm', + 'browser/ui/cocoa/styled_text_field_unittest.mm', + 'browser/ui/cocoa/tab_contents/sad_tab_controller_unittest.mm', + 'browser/ui/cocoa/tab_contents/sad_tab_view_unittest.mm', + 'browser/ui/cocoa/table_row_nsimage_cache_unittest.mm', + 'browser/ui/cocoa/tabpose_window_unittest.mm', + 'browser/ui/cocoa/tabs/tab_audio_indicator_view_mac_unittest.mm', + 'browser/ui/cocoa/tabs/tab_controller_unittest.mm', + 'browser/ui/cocoa/tabs/tab_projecting_image_view_unittest.mm', + 'browser/ui/cocoa/tabs/tab_strip_controller_unittest.mm', + 'browser/ui/cocoa/tabs/tab_strip_view_unittest.mm', + 'browser/ui/cocoa/tabs/tab_view_unittest.mm', + 'browser/ui/cocoa/tabs/throbber_view_unittest.mm', + 'browser/ui/cocoa/tabs/throbbing_image_view_unittest.mm', + 'browser/ui/cocoa/task_manager_mac_unittest.mm', + 'browser/ui/cocoa/toolbar/reload_button_unittest.mm', + 'browser/ui/cocoa/toolbar/toolbar_button_unittest.mm', + 'browser/ui/cocoa/toolbar/toolbar_controller_unittest.mm', + 'browser/ui/cocoa/toolbar/toolbar_view_unittest.mm', + 'browser/ui/cocoa/toolbar/wrench_toolbar_button_cell_unittest.mm', + 'browser/ui/cocoa/vertical_gradient_view_unittest.mm', + 'browser/ui/cocoa/validation_message_bubble_controller_unittest.mm', + 'browser/ui/cocoa/view_resizer_pong.h', + 'browser/ui/cocoa/view_resizer_pong.mm', + 'browser/ui/cocoa/website_settings_bubble_controller_unittest.mm', + 'browser/ui/cocoa/web_dialog_window_controller_unittest.mm', + 'browser/ui/cocoa/window_size_autosaver_unittest.mm', + 'browser/ui/cocoa/wrench_menu/menu_tracked_root_view_unittest.mm', + 'browser/ui/cocoa/wrench_menu/wrench_menu_button_cell_unittest.mm', + 'browser/ui/cocoa/wrench_menu/wrench_menu_controller_unittest.mm', + 'browser/ui/content_settings/content_setting_bubble_model_unittest.cc', + 'browser/ui/content_settings/content_setting_image_model_unittest.cc', + 'browser/ui/find_bar/find_backend_unittest.cc', + 'browser/ui/fullscreen/fullscreen_controller_state_unittest.cc', + 'browser/ui/global_error/global_error_service_unittest.cc', + 'browser/ui/gtk/accelerators_gtk_unittest.cc', + 'browser/ui/gtk/bookmarks/bookmark_bar_gtk_unittest.cc', + 'browser/ui/gtk/bookmarks/bookmark_editor_gtk_unittest.cc', + 'browser/ui/gtk/bookmarks/bookmark_utils_gtk_unittest.cc', + 'browser/ui/gtk/event_utils_unittest.cc', + 'browser/ui/gtk/extensions/media_galleries_dialog_gtk_unittest.cc', + 'browser/ui/gtk/gtk_chrome_shrinkable_hbox_unittest.cc', + 'browser/ui/gtk/gtk_theme_service_unittest.cc', + 'browser/ui/gtk/omnibox/omnibox_popup_view_gtk_unittest.cc', + 'browser/ui/gtk/omnibox/omnibox_view_gtk_unittest.cc', + 'browser/ui/gtk/reload_button_gtk_unittest.cc', + 'browser/ui/gtk/status_icons/status_tray_gtk_unittest.cc', + 'browser/ui/gtk/tabs/tab_renderer_gtk_unittest.cc', + 'browser/ui/login/login_prompt_unittest.cc', + 'browser/ui/omnibox/omnibox_controller_unittest.cc', + 'browser/ui/omnibox/omnibox_edit_unittest.cc', + 'browser/ui/omnibox/omnibox_view_unittest.cc', + 'browser/ui/panels/display_settings_provider_win_unittest.cc', + 'browser/ui/panels/panel_mouse_watcher_unittest.cc', + 'browser/ui/search_engines/keyword_editor_controller_unittest.cc', + 'browser/ui/search/instant_ntp_prerenderer_unittest.cc', + 'browser/ui/search/instant_page_unittest.cc', + 'browser/ui/search/search_delegate_unittest.cc', + 'browser/ui/search/search_model_unittest.cc', + 'browser/ui/startup/session_crashed_infobar_delegate_unittest.cc', + 'browser/ui/sync/one_click_signin_helper_unittest.cc', + 'browser/ui/sync/one_click_signin_sync_starter_unittest.cc', + 'browser/ui/sync/profile_signin_confirmation_helper_unittest.cc', + 'browser/ui/sync/sync_promo_ui_unittest.cc', + 'browser/ui/tab_contents/tab_contents_iterator_unittest.cc', + 'browser/ui/tabs/dock_info_unittest.cc', + 'browser/ui/tabs/pinned_tab_codec_unittest.cc', + 'browser/ui/tabs/pinned_tab_service_unittest.cc', + 'browser/ui/tabs/pinned_tab_test_utils.cc', + 'browser/ui/tabs/tab_audio_indicator_unittest.cc', + 'browser/ui/tabs/tab_menu_model_unittest.cc', + 'browser/ui/tabs/tab_strip_model_unittest.cc', + 'browser/ui/tabs/test_tab_strip_model_delegate.cc', + 'browser/ui/tabs/test_tab_strip_model_delegate.h', + 'browser/ui/tests/ui_gfx_image_unittest.cc', + 'browser/ui/tests/ui_gfx_image_unittest.mm', + 'browser/ui/toolbar/back_forward_menu_model_unittest.cc', + 'browser/ui/toolbar/encoding_menu_controller_unittest.cc', + 'browser/ui/toolbar/recent_tabs_builder_test_helper.cc', + 'browser/ui/toolbar/recent_tabs_builder_test_helper.h', + 'browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc', + 'browser/ui/toolbar/toolbar_model_unittest.cc', + 'browser/ui/toolbar/test_toolbar_model.cc', + 'browser/ui/toolbar/test_toolbar_model.h', + 'browser/ui/toolbar/wrench_icon_painter_unittest.cc', + 'browser/ui/toolbar/wrench_menu_model_unittest.cc', + 'browser/ui/views/accelerator_table_unittest.cc', + 'browser/ui/views/accessibility/accessibility_event_router_views_unittest.cc', + 'browser/ui/views/autofill/decorated_textfield_unittest.cc', + 'browser/ui/views/bookmarks/bookmark_bar_view_unittest.cc', + 'browser/ui/views/bookmarks/bookmark_bubble_view_unittest.cc', + 'browser/ui/views/bookmarks/bookmark_context_menu_test.cc', + 'browser/ui/views/bookmarks/bookmark_editor_view_unittest.cc', + 'browser/ui/views/bookmarks/bookmark_menu_delegate_unittest.cc', + 'browser/ui/views/bookmarks/bookmark_bubble_view_unittest.cc', + 'browser/ui/views/bookmarks/bookmark_sync_promo_view_unittest.cc', + 'browser/ui/views/confirm_bubble_views_unittest.cc', + 'browser/ui/views/crypto_module_password_dialog_view_unittest.cc', + 'browser/ui/views/extensions/browser_action_drag_data_unittest.cc', + 'browser/ui/views/first_run_bubble_unittest.cc', + 'browser/ui/views/frame/browser_view_layout_unittest.cc', + 'browser/ui/views/frame/browser_view_unittest.cc', + 'browser/ui/views/frame/immersive_mode_controller_ash_unittest.cc', + 'browser/ui/views/reload_button_unittest.cc', + 'browser/ui/views/select_file_dialog_extension_unittest.cc', + 'browser/ui/views/status_icons/status_tray_win_unittest.cc', + 'browser/ui/views/sync/one_click_signin_bubble_view_unittest.cc', + 'browser/ui/views/tabs/fake_base_tab_strip_controller.cc', + 'browser/ui/views/tabs/fake_base_tab_strip_controller.h', + 'browser/ui/views/tabs/stacked_tab_strip_layout_unittest.cc', + 'browser/ui/views/tabs/tab_unittest.cc', + 'browser/ui/views/tabs/tab_strip_unittest.cc', + 'browser/ui/views/validation_message_bubble_delegate_unittest.cc', + 'browser/ui/website_settings/website_settings_unittest.cc', + 'browser/ui/webui/fileicon_source_unittest.cc', + 'browser/ui/webui/history_ui_unittest.cc', + 'browser/ui/webui/ntp/android/partner_bookmarks_shim_unittest.cc', + 'browser/ui/webui/ntp/suggestions_combiner_unittest.cc', + 'browser/ui/webui/options/chromeos/cros_language_options_handler_unittest.cc', + 'browser/ui/webui/options/language_options_handler_unittest.cc', + 'browser/ui/webui/options/pepper_flash_content_settings_utils_unittest.cc', + 'browser/ui/webui/performance_monitor/performance_monitor_ui_util_unittest.cc', + 'browser/ui/webui/print_preview/print_preview_ui_unittest.cc', + 'browser/ui/webui/signin/login_ui_service_unittest.cc', + 'browser/ui/webui/sync_internals_ui_unittest.cc', + 'browser/ui/webui/sync_setup_handler_unittest.cc', + 'browser/ui/webui/theme_source_unittest.cc', + 'browser/ui/webui/web_dialog_web_contents_delegate_unittest.cc', + 'browser/ui/window_sizer/window_sizer_ash_unittest.cc', + 'browser/ui/window_sizer/window_sizer_common_unittest.cc', + 'browser/ui/window_sizer/window_sizer_unittest.cc', + 'browser/ui/zoom/zoom_controller_unittest.cc', + 'browser/upload_list_unittest.cc', + 'browser/chrome_content_browser_client_unittest.cc', + 'browser/undo/undo_manager_test.cc', + 'browser/usb/usb_context_unittest.cc', + 'browser/user_style_sheet_watcher_unittest.cc', + 'browser/value_store/leveldb_value_store_unittest.cc', + 'browser/value_store/testing_value_store_unittest.cc', + 'browser/value_store/value_store_change_unittest.cc', + 'browser/value_store/value_store_frontend_unittest.cc', + 'browser/value_store/value_store_unittest.cc', + 'browser/value_store/value_store_unittest.h', + 'browser/web_applications/web_app_mac_unittest.mm', + 'browser/web_applications/web_app_unittest.cc', + 'browser/web_resource/eula_accepted_notifier_unittest.cc', + 'browser/web_resource/promo_resource_service_mobile_ntp_unittest.cc', + 'browser/web_resource/promo_resource_service_unittest.cc', + 'browser/web_resource/resource_request_allowed_notifier_test_util.cc', + 'browser/web_resource/resource_request_allowed_notifier_test_util.h', + 'browser/web_resource/resource_request_allowed_notifier_unittest.cc', + 'browser/webdata/autofill_profile_syncable_service_unittest.cc', + 'browser/webdata/keyword_table_unittest.cc', + 'browser/webdata/token_service_table_unittest.cc', + 'browser/webdata/web_apps_table_unittest.cc', + 'common/cancelable_task_tracker_unittest.cc', + 'common/child_process_logging_mac_unittest.mm', + 'common/chrome_paths_unittest.cc', + 'common/cloud_print/cloud_print_helpers_unittest.cc', + 'common/chrome_content_client_unittest.cc', + 'common/content_settings_helper_unittest.cc', + 'common/content_settings_pattern_parser_unittest.cc', + 'common/content_settings_pattern_unittest.cc', + 'common/extensions/api/commands/commands_manifest_unittest.cc', + 'common/extensions/api/extension_action/browser_action_manifest_unittest.cc', + 'common/extensions/api/extension_action/page_action_manifest_unittest.cc', + 'common/extensions/api/extension_action/script_badge_manifest_unittest.cc', + 'common/extensions/api/file_browser_handlers/file_browser_handler_manifest_unittest.cc', + 'common/extensions/api/i18n/default_locale_manifest_unittest.cc', + 'common/extensions/api/identity/extension_manifests_auth_unittest.cc', + 'common/extensions/api/storage/storage_schema_manifest_handler_unittest.cc', + 'common/extensions/command_unittest.cc', + 'common/extensions/csp_validator_unittest.cc', + 'common/extensions/extension_file_util_unittest.cc', + 'common/extensions/extension_icon_set_unittest.cc', + 'common/extensions/extension_l10n_util_unittest.cc', + 'common/extensions/extension_set_unittest.cc', + 'common/extensions/extension_unittest.cc', + 'common/extensions/feature_switch_unittest.cc', + 'common/extensions/features/base_feature_provider_unittest.cc', + 'common/extensions/features/complex_feature_unittest.cc', + 'common/extensions/features/simple_feature_unittest.cc', + 'common/extensions/manifest_handlers/content_scripts_manifest_unittest.cc', + 'common/extensions/manifest_handlers/exclude_matches_manifest_unittest.cc', + 'common/extensions/manifest_handlers/externally_connectable_unittest.cc', + 'common/extensions/manifest_handlers/shared_module_manifest_unittest.cc', + 'common/extensions/manifest_tests/extension_manifest_test.cc', + 'common/extensions/manifest_tests/extension_manifests_background_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_chromepermission_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_contentsecuritypolicy_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_default_extent_path_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_devtools_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_dummy_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_experimental_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_homepage_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_icons_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_initvalue_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_isolatedapp_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_kiosk_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_launch_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_manifest_version_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_offline_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_old_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_options_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_override_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_platformapp_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_portsinpermissions_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_requirements_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_sandboxed_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_storage_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_ui_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_update_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_validapp_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_web_accessible_resources_unittest.cc', + 'common/extensions/manifest_tests/extension_manifests_web_unittest.cc', + 'common/extensions/manifest_unittest.cc', + 'common/extensions/manifest_handler_unittest.cc', + 'common/extensions/message_bundle_unittest.cc', + 'common/extensions/permissions/api_permission_set_unittest.cc', + 'common/extensions/permissions/media_galleries_permission_unittest.cc', + 'common/extensions/permissions/permission_set_unittest.cc', + 'common/extensions/permissions/permissions_data_unittest.cc', + 'common/extensions/permissions/socket_permission_unittest.cc', + 'common/extensions/permissions/usb_device_permission_unittest.cc', + 'common/extensions/sync_type_unittest.cc', + 'common/extensions/update_manifest_unittest.cc', + 'common/extensions/value_counter_unittest.cc', + 'common/extensions/api/extension_api_unittest.cc', + 'common/favicon/favicon_url_parser_unittest.cc', + 'common/importer/firefox_importer_utils_unittest.cc', + 'common/instant_restricted_id_cache_unittest.cc', + 'common/mac/cfbundle_blocker_unittest.mm', + 'common/mac/mock_launchd.cc', + 'common/mac/mock_launchd.h', + 'common/mac/nscoder_util_unittest.mm', + 'common/mac/objc_method_swizzle_unittest.mm', + 'common/mac/objc_zombie_unittest.mm', + 'common/metrics/caching_permuted_entropy_provider_unittest.cc', + 'common/metrics/entropy_provider_unittest.cc', + 'common/metrics/metrics_log_base_unittest.cc', + 'common/metrics/metrics_log_manager_unittest.cc', + 'common/metrics/metrics_util_unittest.cc', + 'common/metrics/variations/variations_associated_data_unittest.cc', + 'common/metrics/variations/variations_util_unittest.cc', + 'common/multi_process_lock_unittest.cc', + 'common/net/url_fixer_upper_unittest.cc', + 'common/net/x509_certificate_model_unittest.cc', + 'common/partial_circular_buffer_unittest.cc', + 'common/pref_names_util_unittest.cc', + 'common/service_process_util_unittest.cc', + 'common/switch_utils_unittest.cc', + 'common/thumbnail_score_unittest.cc', + 'common/translate/language_detection_util_unittest.cc', + 'common/translate/translate_common_metrics_unittest.cc', + 'common/translate/translate_util_unittest.cc', + 'common/worker_thread_ticker_unittest.cc', + 'renderer/chrome_content_renderer_client_unittest.cc', + 'renderer/content_settings_observer_unittest.cc', + 'renderer/extensions/activity_log_converter_strategy_unittest.cc', + 'renderer/extensions/chrome_v8_context_set_unittest.cc', + 'renderer/extensions/event_unittest.cc', + 'renderer/extensions/extension_localization_peer_unittest.cc', + 'renderer/extensions/json_schema_unittest.cc', + 'renderer/extensions/module_system_unittest.cc', + 'renderer/extensions/renderer_permissions_policy_delegate_unittest.cc', + 'renderer/extensions/safe_builtins_unittest.cc', + 'renderer/media/chrome_webrtc_log_message_delegate_unittest.cc', + 'renderer/net/net_error_helper_unittest.cc', + 'renderer/net/predictor_queue_unittest.cc', + 'renderer/net/renderer_predictor_unittest.cc', + 'renderer/plugins/plugin_uma_unittest.cc', + 'renderer/prerender/prerender_dispatcher_unittest.cc', + 'renderer/safe_browsing/features_unittest.cc', + 'renderer/safe_browsing/murmurhash3_util_unittest.cc', + 'renderer/safe_browsing/phishing_term_feature_extractor_unittest.cc', + 'renderer/safe_browsing/phishing_url_feature_extractor_unittest.cc', + 'renderer/safe_browsing/scorer_unittest.cc', + 'renderer/searchbox/searchbox_extension_unittest.cc', + 'renderer/searchbox/searchbox_unittest.cc', + 'renderer/spellchecker/custom_dictionary_engine_unittest.cc', + 'renderer/spellchecker/spellcheck_provider_hunspell_unittest.cc', + 'renderer/spellchecker/spellcheck_provider_mac_unittest.cc', + 'renderer/spellchecker/spellcheck_provider_test.cc', + 'renderer/spellchecker/spellcheck_provider_test.h', + 'renderer/spellchecker/spellcheck_unittest.cc', + 'renderer/spellchecker/spellcheck_worditerator_unittest.cc', + 'renderer/web_apps_unittest.cc', + 'service/cloud_print/cloud_print_helpers_unittest.cc', + 'service/cloud_print/cloud_print_token_store_unittest.cc', + 'service/cloud_print/cloud_print_url_fetcher_unittest.cc', + 'service/cloud_print/connector_settings_unittest.cc', + 'service/cloud_print/printer_job_handler_unittest.cc', + 'service/cloud_print/printer_job_queue_handler_unittest.cc', + 'service/service_process_prefs_unittest.cc', + 'service/service_process_unittest.cc', + 'test/base/browser_with_test_window_test.cc', + 'test/base/browser_with_test_window_test.h', + 'test/base/chrome_render_view_test.cc', + 'test/base/chrome_render_view_test.h', + 'test/base/menu_model_test.cc', + 'test/base/menu_model_test.h', + 'test/base/v8_unit_test.cc', + 'test/base/v8_unit_test.h', + 'test/data/resource.rc', + 'test/data/unit/framework_unittest.gtestjs', + 'test/logging/win/mof_data_parser_unittest.cc', + 'tools/convert_dict/convert_dict_unittest.cc', + 'utility/extensions/unpacker_unittest.cc', + 'utility/importer/bookmark_html_reader_unittest.cc', + 'utility/importer/bookmarks_file_importer_unittest.cc', + 'utility/importer/firefox_importer_unittest.cc', + 'utility/importer/safari_importer_unittest.mm', + + # Duplicate these tests here because PathService has more items in + # unit_tests than in base_unittests. + '../base/path_service_unittest.cc', + + # TODO(joi): Move to //components/components_tests.gypi once + # remaining dependencies back to //chrome are eliminated. + '../components/autofill/content/browser/autocheckout/whitelist_manager_unittest.cc', + '../components/autofill/content/browser/autocheckout_manager_unittest.cc', + '../components/autofill/content/browser/autocheckout_page_meta_data_unittest.cc', + '../components/autofill/content/browser/autofill_driver_impl_unittest.cc', + '../components/autofill/content/browser/wallet/full_wallet_unittest.cc', + '../components/autofill/content/browser/wallet/instrument_unittest.cc', + '../components/autofill/content/browser/wallet/wallet_address_unittest.cc', + '../components/autofill/content/browser/wallet/wallet_client_unittest.cc', + '../components/autofill/content/browser/wallet/wallet_items_unittest.cc', + '../components/autofill/content/browser/wallet/wallet_service_url_unittest.cc', + '../components/autofill/content/browser/wallet/wallet_signin_helper_unittest.cc', + '../components/autofill/core/browser/address_field_unittest.cc', + '../components/autofill/core/browser/address_unittest.cc', + '../components/autofill/core/browser/android/auxiliary_profile_unittest_android.cc', + '../components/autofill/core/browser/autocomplete_history_manager_unittest.cc', + '../components/autofill/core/browser/autofill_country_unittest.cc', + '../components/autofill/core/browser/autofill_data_model_unittest.cc', + '../components/autofill/core/browser/autofill_download_unittest.cc', + '../components/autofill/core/browser/autofill_download_url_unittest.cc', + '../components/autofill/core/browser/autofill_external_delegate_unittest.cc', + '../components/autofill/core/browser/autofill_field_unittest.cc', + '../components/autofill/core/browser/autofill_ie_toolbar_import_win_unittest.cc', + '../components/autofill/core/browser/autofill_manager_unittest.cc', + '../components/autofill/core/browser/autofill_merge_unittest.cc', + '../components/autofill/core/browser/autofill_metrics_unittest.cc', + '../components/autofill/core/browser/autofill_profile_unittest.cc', + '../components/autofill/core/browser/autofill_regexes_unittest.cc', + '../components/autofill/core/browser/autofill_type_unittest.cc', + '../components/autofill/core/browser/autofill_xml_parser_unittest.cc', + '../components/autofill/core/browser/contact_info_unittest.cc', + '../components/autofill/core/browser/credit_card_field_unittest.cc', + '../components/autofill/core/browser/credit_card_unittest.cc', + '../components/autofill/core/browser/form_field_unittest.cc', + '../components/autofill/core/browser/form_structure_unittest.cc', + '../components/autofill/core/browser/name_field_unittest.cc', + '../components/autofill/core/browser/password_autofill_manager_unittest.cc', + '../components/autofill/core/browser/password_generator_unittest.cc', + '../components/autofill/core/browser/personal_data_manager_unittest.cc', + '../components/autofill/core/browser/phone_field_unittest.cc', + '../components/autofill/core/browser/phone_number_unittest.cc', + '../components/autofill/core/browser/phone_number_i18n_unittest.cc', + '../components/autofill/core/browser/validation_unittest.cc', + + # TODO(caitkp): Move to //components/components_tests.gypi once + # remaining dependencies back to //chrome are eliminated. + '../components/autofill/core/browser/webdata/autofill_entry_unittest.cc', + '../components/autofill/core/browser/webdata/autofill_table_unittest.cc', + '../components/autofill/core/browser/webdata/web_data_service_unittest.cc', + '../components/autofill/core/common/password_form_fill_data_unittest.cc', + + # TODO(yael): Move to //components/components_tests.gypi once + # nacl_defines is moved out of chrome.gyp into a common place. + '../components/nacl/loader/nacl_ipc_adapter_unittest.cc', + '../components/nacl/loader/nacl_validation_query_unittest.cc', + + '../components/webdata/common/web_database_migration_unittest.cc', + '../components/webdata/common/web_data_service_test_util.cc', + '../components/webdata/common/web_data_service_test_util.h', + '../components/webdata/encryptor/ie7_password_unittest_win.cc', + + # TODO(joi): Move the google_apis tests to a separate + # google_apis_unittests executable. + '../google_apis/google_api_keys_unittest.cc', + '../google_apis/cup/client_update_protocol_unittest.cc', + '../google_apis/gaia/mock_url_fetcher_factory.h', + '../google_apis/gaia/gaia_auth_fetcher_unittest.cc', + '../google_apis/gaia/gaia_auth_util_unittest.cc', + '../google_apis/gaia/gaia_oauth_client_unittest.cc', + '../google_apis/gaia/google_service_auth_error_unittest.cc', + '../google_apis/gaia/oauth_request_signer_unittest.cc', + '../google_apis/gaia/oauth2_access_token_fetcher_unittest.cc', + '../google_apis/gaia/oauth2_api_call_flow_unittest.cc', + '../google_apis/gaia/oauth2_mint_token_flow_unittest.cc', + '../skia/ext/analysis_canvas_unittest.cc', + '../skia/ext/bitmap_platform_device_mac_unittest.cc', + '../skia/ext/convolver_unittest.cc', + '../skia/ext/image_operations_unittest.cc', + '../skia/ext/lazy_pixel_ref_utils_unittest.cc', + '../skia/ext/platform_canvas_unittest.cc', + '../skia/ext/recursive_gaussian_convolution_unittest.cc', + '../skia/ext/refptr_unittest.cc', + '../skia/ext/skia_utils_ios_unittest.mm', + '../skia/ext/skia_utils_mac_unittest.mm', + '../skia/ext/vector_canvas_unittest.cc', + '../testing/gtest_mac_unittest.mm', + '../third_party/cld/encodings/compact_lang_det/compact_lang_det_unittest_small.cc', + '../third_party/zlib/google/zip_reader_unittest.cc', + '../third_party/zlib/google/zip_unittest.cc', + '../tools/json_schema_compiler/test/additional_properties_unittest.cc', + '../tools/json_schema_compiler/test/any_unittest.cc', + '../tools/json_schema_compiler/test/arrays_unittest.cc', + '../tools/json_schema_compiler/test/callbacks_unittest.cc', + '../tools/json_schema_compiler/test/choices_unittest.cc', + '../tools/json_schema_compiler/test/crossref_unittest.cc', + '../tools/json_schema_compiler/test/enums_unittest.cc', + '../tools/json_schema_compiler/test/functions_as_parameters_unittest.cc', + '../tools/json_schema_compiler/test/functions_on_types_unittest.cc', + '../tools/json_schema_compiler/test/idl_schemas_unittest.cc', + '../tools/json_schema_compiler/test/objects_unittest.cc', + '../tools/json_schema_compiler/test/simple_api_unittest.cc', + '../tools/json_schema_compiler/test/error_generation_unittest.cc', + '../ui/views/test/desktop_test_views_delegate.cc', + '../ui/views/test/desktop_test_views_delegate.h', + '../ui/views/test/test_views_delegate.cc', + '../ui/views/test/test_views_delegate.h', + '../ui/views/test/views_test_base.cc', + '../ui/views/test/views_test_base.h', + '../ui/webui/resources/js/cr.js', + '../webkit/browser/blob/mock_blob_url_request_context.cc', + '../webkit/browser/blob/mock_blob_url_request_context.h', + '../webkit/browser/quota/mock_storage_client.cc', + '../webkit/browser/quota/mock_storage_client.h', + ], + 'conditions': [ + ['OS!="ios"', { + 'dependencies': [ + 'common/extensions/api/api.gyp:api', + '../components/components.gyp:autofill_content_test_support', + '../components/component_strings.gyp:component_strings', + '../device/bluetooth/bluetooth.gyp:device_bluetooth_mocks', + '../gpu/gpu.gyp:gpu_unittest_utils', + '../ppapi/ppapi_internal.gyp:ppapi_unittest_shared', + '../third_party/cld/cld.gyp:cld', + '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase', + '../third_party/libjingle/libjingle.gyp:libjingle', + '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber', + '../tools/json_schema_compiler/test/json_schema_compiler_tests.gyp:json_schema_compiler_tests', + '../ui/gl/gl.gyp:gl', + '../v8/tools/gyp/v8.gyp:v8', + '../webkit/webkit_resources.gyp:webkit_resources', + ], + # TODO(scr): Use this in browser_tests too. + 'includes': [ + 'js_unittest_rules.gypi', + ], + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/chrome', + ], + }, { # OS=="ios" + 'dependencies': [ + '../third_party/ocmock/ocmock.gyp:ocmock', + ], + 'sources/': [ + # Exclude everything but iOS-specific files. + ['exclude', '\\.(cc|mm)$'], + ['include', '_ios\\.(cc|mm)$'], + ['include', '(^|/)ios/'], + # TODO(ios): Add files here as they are updated to compile on iOS. + ['include', '^common/translate/language_detection_util_unittest\\.cc$'], + ['include', '^common/translate/translate_util_unittest\\.cc$'], + ['include', '^common/zip_'], + ], + 'conditions': [ + ['coverage != 0', { + 'sources/': [ + # These tests crash when run with coverage turned on due to an + # issue with llvm_gcda_increment_indirect_counter: + # http://crbug.com/156058 + ['exclude', '^browser/autocomplete/bookmark_provider_unittest\\.cc$'], + ['exclude', '^browser/autocomplete/builtin_provider_unittest\\.cc$'], + ['exclude', '^browser/autocomplete/history_quick_provider_unittest\\.cc$'], + ['exclude', '^browser/autocomplete/shortcuts_provider_unittest\\.cc$'], + ['exclude', '^browser/bookmarks/bookmark_codec_unittest\\.cc$'], + ], + }], + ], + # Bundle all the necessary resources into the test bundle. + 'includes': ['chrome_ios_bundle_resources.gypi'], + 'xcode_settings': {'OTHER_LDFLAGS': ['-ObjC']}, + }], + ['enable_background==0', { + 'sources/': [ + ['exclude', '^browser/background/'], + ], + }], + ['enable_spellcheck==0', { + 'sources/': [ + ['exclude', '^browser/spellchecker/'], + ['exclude', '^renderer/spellchecker/'], + ], + 'dependencies!': [ + '../third_party/hunspell/hunspell.gyp:hunspell', + ], + }], + ['enable_one_click_signin==0', { + 'sources!': [ + 'browser/ui/cocoa/one_click_signin_bubble_controller_unittest.mm', + 'browser/ui/sync/one_click_signin_helper_unittest.cc', + 'browser/ui/sync/one_click_signin_sync_starter_unittest.cc', + 'browser/ui/views/sync/one_click_signin_bubble_view_unittest.cc', + ] + }], + ['disable_nacl==1', { + 'sources!':[ + 'browser/nacl_host/nacl_file_host_unittest.cc', + 'browser/nacl_host/nacl_validation_cache_unittest.cc', + 'browser/nacl_host/pnacl_host_unittest.cc', + 'browser/nacl_host/pnacl_translation_cache_unittest.cc', + # TODO(yael): Move to //components/components_tests.gypi once + # nacl_defines is moved out of chrome.gyp into a common place. + '../components/nacl/loader/nacl_ipc_adapter_unittest.cc', + '../components/nacl/loader/nacl_validation_query_unittest.cc', + ], + }], + ['enable_extensions==0', { + 'sources/': [ + ['exclude', '^../extensions/'], + ['exclude', '^browser/extensions/activity_log/'], + ['exclude', '^browser/extensions/api/'], + ['exclude', '^browser/sync/glue/extensions_activity_monitor_unittest.cc'], + ['exclude', '^common/extensions/api/'], + ['exclude', '^common/extensions/manifest_handlers/'], + ['exclude', '^common/extensions/manifest_tests/'], + ], + 'sources!': [ + 'browser/extensions/extension_context_menu_model_unittest.cc', + 'browser/extensions/extension_protocols_unittest.cc', + 'browser/extensions/extension_ui_unittest.cc', + 'browser/extensions/pack_extension_unittest.cc', + 'browser/extensions/permissions_updater_unittest.cc', + 'browser/extensions/sandboxed_unpacker_unittest.cc', + 'common/extensions/sync_type_unittest.cc', + 'common/extensions/permissions/permission_set_unittest.cc', + 'utility/extensions/unpacker_unittest.cc', + ], + }], + ['use_ash==1', { + 'sources': [ + 'browser/ui/app_list/apps_model_builder_unittest.cc', + 'browser/ui/app_list/search/app_search_provider_unittest.cc', + 'browser/ui/app_list/search/history_unittest.cc', + 'browser/ui/app_list/search/history_data_store_unittest.cc', + 'browser/ui/app_list/search/mixer_unittest.cc', + 'browser/ui/app_list/search/term_break_iterator_unittest.cc', + 'browser/ui/app_list/search/tokenized_string_char_iterator_unittest.cc', + 'browser/ui/app_list/search/tokenized_string_match_unittest.cc', + 'browser/ui/app_list/search/tokenized_string_unittest.cc', + ], + 'dependencies': [ + '../ash/ash.gyp:ash_resources', + '../ash/ash.gyp:ash_test_support', + '../ash/ash_strings.gyp:ash_strings', + ], + # We eventually want to compile both in Win Aura builds, see + # http://crbug.com/155545. + 'conditions': [ + ['OS=="win"', { + 'sources!': [ + 'browser/ui/window_sizer/window_sizer_ash_unittest.cc', + ], + }, { # else: OS!=win + 'sources!': [ + 'browser/ui/window_sizer/window_sizer_unittest.cc', + ], + }], + ], + }], + ['use_aura==1', { + 'dependencies': [ + '../ui/aura/aura.gyp:aura_test_support', + ], + 'sources/': [ + ['exclude', '^browser/ui/views/extensions/browser_action_drag_data_unittest.cc'], + ['exclude', '^browser/ui/panels/display_settings_provider_win_unittest.cc'], + ['exclude', '^browser/bookmarks/bookmark_node_data_unittest.cc'], + ], + }], + ['enable_task_manager==0', { + 'sources/': [ + ['exclude', '^browser/task_manager/'], + ['exclude', '^browser/ui/webui/task_manager/'], + ], + }], + ['file_manager_extension==0', { + 'sources!': [ + 'browser/ui/views/select_file_dialog_extension_unittest.cc', + ], + }], + ['enable_mdns == 1', { + 'sources': [ + 'utility/local_discovery/local_domain_resolver_unittest.cc', + 'utility/local_discovery/service_discovery_client_unittest.cc', + 'browser/local_discovery/privet_device_lister_unittest.cc', + ] + }], + ['configuration_policy==0', { + 'sources!': [ + 'browser/extensions/api/storage/policy_value_store_unittest.cc', + 'browser/prefs/proxy_policy_unittest.cc', + ], + 'sources/': [ + ['exclude', '^browser/policy/'], + ], + }], + ['input_speech==0', { + 'sources/': [ + ['exclude', '^browser/speech/'], + ], + }], + ['notifications==0', { + 'sources/': [ + ['exclude', '^browser/notifications/'], + ], + }], + ['safe_browsing==1', { + 'defines': [ + 'FULL_SAFE_BROWSING', + ], + }], + # TODO(sgurun): enable tests for safe_browsing==2. + ['safe_browsing!=1', { + 'sources/': [ + ['exclude', '^browser/safe_browsing/'], + ['exclude', '^renderer/safe_browsing/'], + ], + }], + ['enable_autofill_dialog!=1 or OS=="android"', { + 'sources!': [ + 'browser/ui/autofill/account_chooser_model_unittest.cc', + 'browser/ui/autofill/autocheckout_bubble_controller_unittest.cc', + 'browser/ui/autofill/autofill_credit_card_bubble_controller_unittest.cc', + 'browser/ui/autofill/autofill_dialog_controller_unittest.cc', + 'browser/ui/autofill/mock_autofill_dialog_view_delegate.cc', + 'browser/ui/autofill/mock_autofill_dialog_view_delegate.h', + 'browser/ui/autofill/test_autofill_credit_card_bubble.cc', + 'browser/ui/autofill/test_autofill_credit_card_bubble.h', + ], + }], + ['enable_automation!=1', { + 'sources/': [ + ['exclude', '^browser/automation/'], + ], + }], + ['enable_plugins==0', { + 'sources/': [ + ['exclude', '^browser/plugins/'], + ], + 'sources!': [ + 'browser/renderer_host/plugin_info_message_filter_unittest.cc', + ], + }], + ['enable_printing!=1', { + 'sources/': [ + ['exclude', '^browser/printing/'], + ['exclude', '^browser/ui/webui/print_preview/'], + ], + }], + ['enable_captive_portal_detection!=1', { + 'sources/': [ + ['exclude', '^browser/captive_portal/'], + ], + }], + ['enable_session_service!=1', { + 'sources!': [ + 'browser/sessions/session_service_unittest.cc', + 'browser/ui/startup/session_crashed_infobar_delegate_unittest.cc', + ], + }], + ['enable_webrtc==0', { + 'sources!': [ + 'browser/media/webrtc_log_uploader_unittest.cc', + 'renderer/media/chrome_webrtc_log_message_delegate_unittest.cc', + ], + }], + ['chromeos==1', { + 'sources!': [ + 'browser/password_manager/native_backend_gnome_x_unittest.cc', + 'browser/password_manager/native_backend_kwallet_x_unittest.cc', + 'browser/policy/cloud/mock_user_cloud_policy_store.cc', + 'browser/policy/cloud/mock_user_cloud_policy_store.h', + 'browser/policy/cloud/user_cloud_policy_manager_unittest.cc', + 'browser/policy/cloud/user_cloud_policy_store_unittest.cc', + 'browser/policy/cloud/user_policy_signin_service_unittest.cc', + 'browser/safe_browsing/download_protection_service_unittest.cc', + 'browser/signin/signin_manager_unittest.cc', + 'browser/storage_monitor/storage_monitor_linux_unittest.cc', + 'browser/ui/sync/one_click_signin_helper_unittest.cc', + 'browser/ui/sync/one_click_signin_sync_starter_unittest.cc', + ], + 'sources': [ + 'browser/ui/webui/feedback_ui_unittest.cc', + ], + }, { # else: chromeos == 0 + 'sources/': [ + ['exclude', '^browser/chromeos/'], + ['exclude', '^browser/ui/webui/chromeos/imageburner/'], + ['exclude', '^browser/ui/webui/chromeos/login'], + ['exclude', '^browser/ui/webui/options/chromeos/'], + ['exclude', '^browser/ui/webui/options/chromeos/'], + ], + 'sources!': [ + 'browser/extensions/api/enterprise_platform_keys_private/enterprise_platform_keys_private_api_unittest.cc', + 'browser/net/gaia/gaia_oauth_fetcher_unittest.cc', + 'browser/extensions/api/log_private/syslog_parser_unittest.cc', + ], + }], + ['use_x11==1', { + 'dependencies': [ + '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck', + ], + }], + ['toolkit_uses_gtk == 1', { + 'conditions': [ + ['toolkit_views==1', { + 'sources!': [ + 'browser/ui/gtk/accelerators_gtk_unittest.cc', + 'browser/ui/gtk/bookmarks/bookmark_bar_gtk_unittest.cc', + 'browser/ui/gtk/bookmarks/bookmark_editor_gtk_unittest.cc', + 'browser/ui/gtk/gtk_chrome_shrinkable_hbox_unittest.cc', + 'browser/ui/gtk/gtk_theme_service_unittest.cc', + 'browser/ui/gtk/omnibox/omnibox_popup_view_gtk_unittest.cc', + 'browser/ui/gtk/omnibox/omnibox_view_gtk_unittest.cc', + 'browser/ui/gtk/reload_button_gtk_unittest.cc', + 'browser/ui/gtk/status_icons/status_tray_gtk_unittest.cc', + ], + }], + ['chromeos==0', { + 'conditions': [ + ['use_gnome_keyring==1', { + # We use a few library functions directly, so link directly. + 'dependencies': [ + '../build/linux/system.gyp:gnome_keyring_direct', + ], + }], + ], + }], + ], + 'dependencies': [ + '../build/linux/system.gyp:dbus', + '../build/linux/system.gyp:gtk', + '../dbus/dbus.gyp:dbus_test_support', + '../sandbox/sandbox.gyp:*', + ], + 'sources!': [ + 'browser/printing/print_job_unittest.cc', + ], + }, { # else: toolkit_uses_gtk != 1 + 'sources!': [ + 'browser/ui/gtk/tabs/tab_renderer_gtk_unittest.cc', + '../ui/views/focus/accelerator_handler_gtk_unittest.cc', + ], + }], + ['toolkit_uses_gtk == 1 or chromeos==1 or (OS=="linux" and use_aura==1)', { + 'dependencies': [ + '../build/linux/system.gyp:ssl', + ], + }], + ['use_gnome_keyring == 0', { + # Disable the GNOME Keyring tests if we are not using it. + 'sources!': [ + 'browser/password_manager/native_backend_gnome_x_unittest.cc', + ], + }], + ['OS=="linux" and use_aura==1', { + 'dependencies': [ + '../build/linux/system.gyp:dbus', + '../dbus/dbus.gyp:dbus_test_support', + '../ui/aura/aura.gyp:aura_test_support', + ], + }], + ['OS=="linux" and branding=="Chrome" and target_arch=="ia32"', { + 'configurations': { + 'Release': { + 'ldflags': [ + '-Wl,--strip-debug', + ], + }, + }, + }], + ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { + 'conditions': [ + ['linux_use_tcmalloc==1', { + 'dependencies': [ + '../base/allocator/allocator.gyp:allocator', + ], + }], + ], + }], + ['OS=="mac"', { + # The test fetches resources which means Mac need the app bundle to + # exist on disk so it can pull from it. + 'dependencies': [ + 'chrome', + '../third_party/ocmock/ocmock.gyp:ocmock', + ], + 'include_dirs': [ + '../third_party/GTM', + '../third_party/GTM/AppKit', + ], + 'sources!': [ + 'browser/ui/tabs/dock_info_unittest.cc', + 'browser/ui/tests/ui_gfx_image_unittest.cc', + 'browser/ui/gtk/reload_button_gtk_unittest.cc', + 'browser/password_manager/password_store_default_unittest.cc', + 'tools/convert_dict/convert_dict_unittest.cc', + 'renderer/spellchecker/spellcheck_provider_hunspell_unittest.cc', + ], + # TODO(mark): We really want this for all non-static library targets, + # but when we tried to pull it up to the common.gypi level, it broke + # other things like the ui, startup, and page_cycler tests. *shrug* + 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']}, + }], + ['OS!="mac" and OS!="ios"', { + 'dependencies': [ + 'chrome_resources.gyp:packed_extra_resources', + 'chrome_resources.gyp:packed_resources', + 'convert_dict_lib', + '../third_party/hunspell/hunspell.gyp:hunspell', + ], + }], + ['OS!="win" and OS!="mac"', { + 'sources!': [ + '../skia/ext/platform_canvas_unittest.cc', + ], + }], + ['OS=="win" or OS=="mac"', { + 'sources': [ + 'browser/media_galleries/fileapi/itunes_file_util_unittest.cc', + 'browser/media_galleries/fileapi/picasa/picasa_file_util_unittest.cc', + 'utility/media_galleries/itunes_library_parser_unittest.cc', + 'utility/media_galleries/picasa_album_table_reader_unittest.cc', + 'utility/media_galleries/picasa_albums_indexer_unittest.cc', + 'utility/media_galleries/pmp_column_reader_unittest.cc', + ], + }], + ['enable_rlz==0', { + 'sources!': [ + 'browser/rlz/rlz_unittest.cc', + ], + }], + ['OS=="win" and component!="shared_library"', { + # Unit_tests pdb files can get too big when incremental linking is + # on, disabling for this target. + 'configurations': { + 'Debug': { + 'msvs_settings': { + 'VCLinkerTool': { + 'LinkIncremental': '<(msvs_debug_link_nonincremental)', + }, + }, + }, + }, + }], + ['OS=="win"', { + 'dependencies': [ + 'chrome_version_resources', + 'installer_util_strings', + 'unit_tests_exe_pdb_workaround', + '../third_party/iaccessible2/iaccessible2.gyp:iaccessible2', + '../third_party/isimpledom/isimpledom.gyp:isimpledom', + ], + 'conditions': [ + ['win_use_allocator_shim==1', { + 'dependencies': [ + '<(allocator_target)', + ], + }], + ], + 'include_dirs': [ + '<(DEPTH)/third_party/wtl/include', + ], + 'sources': [ + # TODO: It would be nice to have these pulled in + # automatically from direct_dependent_settings in + # their various targets (net.gyp:net_resources, etc.), + # but that causes errors in other targets when + # resulting .res files get referenced multiple times. + '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc', + '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/installer_util_strings/installer_util_strings.rc', + '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_unscaled_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/webkit/blink_resources.rc', + ], + 'link_settings': { + 'libraries': [ + '-lcomsupp.lib', + '-loleacc.lib', + '-lrpcrt4.lib', + '-lurlmon.lib', + '-lwinmm.lib', + ], + }, + }, { # else: OS != "win" + 'sources!': [ + 'app/chrome_dll.rc', + 'browser/bookmarks/bookmark_node_data_unittest.cc', + 'browser/search_engines/template_url_scraper_unittest.cc', + 'browser/ui/views/bookmarks/bookmark_editor_view_unittest.cc', + 'browser/ui/views/extensions/browser_action_drag_data_unittest.cc', + 'test/data/resource.rc', + '../skia/ext/vector_canvas_unittest.cc', + ], + }], + ['OS!="android" and OS!="ios"', { + 'sources!': [ + 'browser/web_resource/promo_resource_service_mobile_ntp_unittest.cc', + ], + }], + ['OS=="android"', { + 'sources!': [ + # Bookmark export/import are handled via the BookmarkColumns + # ContentProvider. + 'browser/bookmarks/bookmark_html_writer_unittest.cc', + + 'browser/shell_integration_unittest.cc', + + # No service process (which also requires multiprocess lock). + 'common/multi_process_lock_unittest.cc', + + # Sync setup uses native ui. + 'browser/ui/webui/sync_setup_handler_unittest.cc', + + 'browser/browser_commands_unittest.cc', + 'browser/download/download_shelf_unittest.cc', + 'browser/storage_monitor/media_storage_util_unittest.cc', + 'browser/net/gaia/gaia_oauth_fetcher_unittest.cc', + 'browser/page_cycler/page_cycler_unittest.cc', + 'browser/policy/async_policy_provider_unittest.cc', + 'browser/policy/cloud/cloud_external_data_manager_base_unittest.cc', + 'browser/policy/cloud/cloud_external_data_store_unittest.cc', + 'browser/policy/cloud/component_cloud_policy_service_unittest.cc', + 'browser/policy/cloud/component_cloud_policy_store_unittest.cc', + 'browser/policy/cloud/component_cloud_policy_updater_unittest.cc', + 'browser/policy/cloud/external_policy_data_updater_unittest.cc', + 'browser/policy/cloud/resource_cache_unittest.cc', + 'browser/policy/config_dir_policy_loader_unittest.cc', + 'browser/policy/managed_mode_policy_provider_unittest.cc', + 'browser/policy/policy_path_parser_unittest.cc', + 'browser/profiles/off_the_record_profile_impl_unittest.cc', + 'browser/profiles/profile_loader_unittest.cc', + 'browser/search/search_unittest.cc', + 'browser/signin/profile_oauth2_token_service_unittest.cc', + 'browser/sync/profile_sync_service_session_unittest.cc', + 'browser/sync/sync_global_error_unittest.cc', + 'browser/tab_contents/render_view_context_menu_unittest.cc', + 'browser/ui/autofill/autofill_dialog_controller_unittest.cc', + 'browser/ui/bookmarks/bookmark_bubble_sign_in_delegate_unittest.cc', + 'browser/ui/bookmarks/bookmark_context_menu_controller_unittest.cc', + 'browser/ui/bookmarks/bookmark_prompt_controller_unittest.cc', + 'browser/ui/bookmarks/bookmark_unittest.cc', + 'browser/ui/browser_command_controller_unittest.cc', + 'browser/ui/browser_iterator_unittest.cc', + 'browser/ui/fullscreen/fullscreen_controller_state_unittest.cc', + 'browser/ui/fullscreen/fullscreen_controller_unittest.cc', + 'browser/ui/search/instant_ntp_prerenderer_unittest.cc', + 'browser/ui/search/instant_page_unittest.cc', + 'browser/ui/search/search_delegate_unittest.cc', + 'browser/ui/search/search_model_unittest.cc', + 'browser/ui/tab_contents/tab_contents_iterator_unittest.cc', + 'browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc', + 'browser/ui/toolbar/toolbar_model_unittest.cc', + 'browser/ui/toolbar/wrench_menu_model_unittest.cc', + 'browser/ui/webui/ntp/suggestions_combiner_unittest.cc', + 'browser/ui/webui/web_dialog_web_contents_delegate_unittest.cc', + 'browser/ui/window_sizer/window_sizer_common_unittest.cc', + 'browser/ui/window_sizer/window_sizer_unittest.cc', + 'test/base/browser_with_test_window_test.cc', + 'test/base/browser_with_test_window_test.h', + 'test/base/test_browser_window.h', + + 'browser/sessions/persistent_tab_restore_service_browsertest.cc', + 'browser/sessions/session_backend_unittest.cc', + + # Test files cannot be opened on Android. + 'browser/drive/fake_drive_service_unittest.cc', + 'browser/google_apis/base_requests_server_unittest.cc', + 'browser/google_apis/drive_api_parser_unittest.cc', + 'browser/google_apis/drive_api_requests_unittest.cc', + 'browser/google_apis/gdata_wapi_parser_unittest.cc', + 'browser/google_apis/gdata_wapi_requests_unittest.cc', + 'browser/sync_file_system/drive_backend/api_util_unittest.cc', + 'browser/sync_file_system/drive_backend/drive_file_sync_service_sync_unittest.cc', + + 'browser/user_style_sheet_watcher_unittest.cc', + + # The autofill popup is implemented in mostly native code on + # Android. + 'browser/ui/autofill/autofill_popup_controller_unittest.cc', + + # Android uses a different invaliator. + 'browser/invalidation/ticl_invalidation_service_unittest.cc', + + # The importer code is not used on Android. + 'common/importer/firefox_importer_utils_unittest.cc', + + # USB service is not supported on Android. + 'browser/usb/usb_context_unittest.cc', + ], + 'sources/': [ + ['exclude', '^browser/captive_portal/'], + ['exclude', '^browser/diagnostics/'], + ['exclude', '^browser/first_run/'], + ['exclude', '^browser/lifetime/'], + ['exclude', '^browser/media_galleries/'], + ['exclude', '^browser/net/firefox_*'], + ['exclude', '^browser/profile_resetter/'], + ['exclude', '^browser/speech/'], + ['exclude', '^browser/sync/glue/app_'], + ['exclude', '^browser/sync/glue/extension_'], + ['exclude', '^browser/themes/'], + ['exclude', '^browser/ui/autofill/.*credit_card_bubble.*'], + ['exclude', '^browser/ui/content_settings/'], + ['exclude', '^browser/ui/omnibox/'], + ['exclude', '^browser/ui/panels'], + ['exclude', '^browser/ui/tabs/'], + ['exclude', '^browser/ui/toolbar/'], + ['exclude', '^browser/ui/webui/downloads_'], + ['exclude', '^browser/ui/webui/feedback_'], + ['exclude', '^browser/ui/webui/flags_'], + ['exclude', '^browser/ui/webui/help/'], + ['exclude', '^browser/ui/webui/options/'], + ['exclude', '^browser/ui/webui/options/'], + ['exclude', '^browser/ui/webui/signin/'], + ['exclude', '^browser/ui/webui/suggestions_internals'], + ['exclude', '^browser/ui/webui/sync_promo'], + ['exclude', '^utility/importer/'], + ], + 'conditions': [ + ['gtest_target_type == "shared_library"', { + 'dependencies': [ + '../testing/android/native_test.gyp:native_test_native_code', + 'chrome.gyp:chrome_android_auxiliary', + ], + }], + ], + }], # OS == android + ['enable_printing!=1', { + 'sources/': [ + # No need for service process. + ['exclude', '^browser/service/'], + ['exclude', '^common/service_'], + ['exclude', '^service/'], + ], + }], + ['enable_themes==0', { + 'sources!': [ + 'browser/ui/webui/theme_source_unittest.cc', + ], + 'sources/': [ + ['exclude', '^browser/themes/'], + ], + }], + ['toolkit_views==1', { + 'dependencies': [ + '../ui/views/views.gyp:views', + ], + 'sources!': [ + 'browser/ui/gtk/tabs/tab_renderer_gtk_unittest.cc', + ], + }, { # else: toolkit_views == 0 + 'sources/': [ + ['exclude', '^browser/ui/views/'], + ['exclude', '^../ui/views/'], + ], + }], + ['use_nss==0 and use_openssl==0', { + 'sources!': [ + 'common/net/x509_certificate_model_unittest.cc', + ], + }], + ['use_openssl==1', { + 'sources/': [ + # OpenSSL build does not support firefox importer. See + # http://crbug.com/64926 + ['exclude', '^browser/importer/'], + ], + }], + ['enable_managed_users!=1', { + 'sources/': [ + ['exclude', '^browser/managed_mode/'], + ], + }], + ['safe_browsing!=1', { + 'sources/': [ + ['exclude', '^browser/extensions/blacklist_unittest.cc'], + ], + }], + ], + 'target_conditions': [ + ['OS == "ios"', { + 'sources/': [ + ['include', '^common/mac/nscoder_util_unittest\\.mm$'], + ], + }], + ], + }, + { + 'target_name': 'chrome_app_unittests', + 'type': 'executable', + 'dependencies': [ + # unit tests should only depend on + # 1) everything that the chrome binaries depend on: + '<@(chromium_browser_dependencies)', + '<@(chromium_child_dependencies)', + '../content/content.gyp:content_app_both', + # 2) test-specific support libraries: + '../testing/gmock.gyp:gmock', + '../testing/gtest.gyp:gtest', + 'test_support_common', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'app/breakpad_field_trial_win.cc', + 'app/breakpad_win.cc', + 'app/breakpad_unittest_win.cc', + 'app/delay_load_hook_win.cc', + 'app/delay_load_hook_win.h', + 'app/delay_load_hook_unittest_win.cc', + 'app/hard_error_handler_win.cc', + 'app/run_all_unittests.cc', + 'common/crash_keys.cc', + 'common/crash_keys.h', + ], + 'conditions': [ + ['OS=="mac" or OS=="ios"', { + 'include_dirs': [ + '<(DEPTH)/breakpad/src', + ], + }], + ['OS=="mac"', { + # TODO(mark): We really want this for all non-static library targets, + # but when we tried to pull it up to the common.gypi level, it broke + # other things like the ui, startup, and page_cycler tests. *shrug* + 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']}, + }], + ['OS=="win"', { + 'dependencies': [ + # breakpad is currently only tested on Windows. + '../breakpad/breakpad.gyp:*', + '../components/components.gyp:breakpad_component', + ], + 'conditions': [ + ['win_use_allocator_shim==1', { + 'dependencies': [ + '<(allocator_target)', + ], + }], + ], + }], + ], + }, + ], + + 'conditions': [ + # Special target to wrap a gtest_target_type==shared_library + # unit_tests into an android apk for execution. + ['OS == "android" and gtest_target_type == "shared_library"', { + 'targets': [ + { + 'target_name': 'unit_tests_apk', + 'type': 'none', + 'dependencies': [ + 'chrome_java', + 'unit_tests', + ], + 'variables': { + 'test_suite_name': 'unit_tests', + 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)unit_tests<(SHARED_LIB_SUFFIX)', + }, + 'includes': [ '../build/apk_test.gypi' ], + }, + ], + }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'unit_tests_run', + 'type': 'none', + 'dependencies': [ + 'unit_tests', + ], + 'includes': [ + '../build/isolate.gypi', + 'unit_tests.isolate', + ], + 'sources': [ + 'unit_tests.isolate', + ], + }, + ], + }], + ['OS=="win"', { + 'targets' : [ + { + # This target is only depended upon on Windows. + 'target_name': 'unit_tests_exe_pdb_workaround', + 'type': 'static_library', + 'sources': [ 'empty_pdb_workaround.cc' ], + 'msvs_settings': { + 'VCCLCompilerTool': { + # This *in the compile phase* must match the pdb name that's + # output by the final link. See empty_pdb_workaround.cc for + # more details. + 'DebugInformationFormat': '3', + 'ProgramDataBaseFileName': '<(PRODUCT_DIR)/unit_tests.exe.pdb', + }, + }, + }, + ], + }], + ], # 'conditions' +} diff --git a/chromium/chrome/common/extensions/api/api.gyp b/chromium/chrome/common/extensions/api/api.gyp new file mode 100644 index 00000000000..5c84ab1b881 --- /dev/null +++ b/chromium/chrome/common/extensions/api/api.gyp @@ -0,0 +1,135 @@ +# Copyright (c) 2012 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. + +{ + 'targets': [ + { + 'target_name': 'api', + 'type': 'static_library', + 'sources': [ + '<@(schema_files)', + ], + # TODO(jschuh): http://crbug.com/167187 size_t -> int + 'msvs_disabled_warnings': [ 4267 ], + 'includes': [ + '../../../../build/json_schema_bundle_compile.gypi', + '../../../../build/json_schema_compile.gypi', + ], + 'variables': { + 'chromium_code': 1, + 'schema_files': [ + 'alarms.idl', + 'activity_log_private.json', + 'adview.json', + 'app_current_window_internal.idl', + 'app_runtime.idl', + 'app_window.idl', + 'audio.idl', + 'autotest_private.idl', + 'bluetooth.idl', + 'bookmark_manager_private.json', + 'bookmarks.json', + 'browsing_data.json', + 'chromeos_info_private.json', + 'cloud_print_private.json', + 'command_line_private.json', + 'content_settings.json', + 'context_menus.json', + 'cookies.json', + 'debugger.json', + 'developer_private.idl', + 'desktop_capture.idl', + 'diagnostics.idl', + 'dial.idl', + 'downloads.idl', + 'echo_private.json', + 'downloads_internal.idl', + 'enterprise_platform_keys_private.json', + 'events.json', + 'experimental_accessibility.json', + 'experimental_discovery.idl', + 'experimental_dns.idl', + 'experimental_history.json', + 'experimental_identity.idl', + 'experimental_idltest.idl', + 'location.idl', + 'system_memory.idl', + 'extension.json', + 'feedback_private.idl', + 'file_browser_handler_internal.json', + 'file_system.idl', + 'font_settings.json', + 'history.json', + 'i18n.json', + 'identity.idl', + 'identity_private.idl', + 'idle.json', + 'infobars.json', + 'input_ime.json', + 'log_private.idl', + 'management.json', + 'manifest_types.json', + 'media_galleries.idl', + 'media_galleries_private.idl', + 'media_player_private.json', + 'metrics_private.json', + 'music_manager_private.idl', + 'networking_private.json', + 'notifications.idl', + 'omnibox.json', + 'page_capture.json', + 'permissions.json', + 'preferences_private.json', + 'power.idl', + 'push_messaging.idl', + 'recovery_private.idl', + 'rtc_private.idl', + 'runtime.json', + 'serial.idl', + 'session_restore.json', + 'socket.idl', + 'storage.json', + 'sync_file_system.idl', + 'system_indicator.idl', + 'system_cpu.idl', + 'system_display.idl', + 'system_storage.idl', + 'system_private.json', + 'tab_capture.idl', + 'tabs.json', + 'terminal_private.json', + 'test.json', + 'top_sites.json', + 'usb.idl', + 'wallpaper_private.json', + 'web_navigation.json', + 'web_request.json', + 'webstore_private.json', + 'webview.json', + 'windows.json', + ], + 'cc_dir': 'chrome/common/extensions/api', + 'root_namespace': 'extensions::api', + }, + 'dependencies': [ + '<(DEPTH)/skia/skia.gyp:skia', + '<(DEPTH)/sync/sync.gyp:sync', + ], + 'conditions': [ + ['OS=="android"', { + 'schema_files!': [ + 'usb.idl', + ], + }], + ['OS!="chromeos"', { + 'schema_files!': [ + 'file_browser_handler_internal.json', + 'log_private.idl', + 'rtc_private.idl', + ], + }], + ], + }, + ], +} diff --git a/chromium/chrome/common_constants.gyp b/chromium/chrome/common_constants.gyp new file mode 100644 index 00000000000..3cb4843d33c --- /dev/null +++ b/chromium/chrome/common_constants.gyp @@ -0,0 +1,119 @@ +# Copyright (c) 2012 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. + +{ + 'variables': { + 'chromium_code': 1, + }, + + 'includes': [ + 'version.gypi', + ], + + 'target_defaults': { + 'sources': [ + # TODO(yoz): Create an extension_constants target for these. + '../extensions/common/constants.cc', + '../extensions/common/constants.h', + 'common/chrome_constants.cc', + 'common/chrome_constants.h', + 'common/chrome_paths.cc', + 'common/chrome_paths.h', + 'common/chrome_paths_android.cc', + 'common/chrome_paths_internal.h', + 'common/chrome_paths_linux.cc', + 'common/chrome_paths_mac.mm', + 'common/chrome_paths_win.cc', + 'common/chrome_switches.cc', + 'common/chrome_switches.h', + 'common/env_vars.cc', + 'common/env_vars.h', + 'common/net/test_server_locations.cc', + 'common/net/test_server_locations.h', + 'common/pref_font_script_names-inl.h', + 'common/pref_font_webkit_names.h', + 'common/pref_names.cc', + 'common/pref_names.h', + 'common/widevine_cdm_constants.cc', + 'common/widevine_cdm_constants.h', + ], + 'actions': [ + { + 'action_name': 'Make chrome_version.cc', + 'variables': { + 'make_version_cc_path': 'tools/build/make_version_cc.py', + }, + 'inputs': [ + '<(make_version_cc_path)', + 'VERSION', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/chrome_version.cc', + ], + 'action': [ + 'python', + '<(make_version_cc_path)', + '<@(_outputs)', + '<(version_full)', + ], + 'process_outputs_as_sources': 1, + }, + ], + }, + 'targets': [ + { + 'target_name': 'common_constants', + 'type': 'static_library', + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)', # Needed by chrome_paths.cc. + ], + 'dependencies': [ + '../base/base.gyp:base', + '../components/nacl_common.gyp:nacl_switches', + '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h', + ], + 'target_conditions': [ + ['OS=="ios"', { + # iOS needs chrome_paths_mac, which is excluded by filename rules; + # re-add it in target_conditionals so it's after that exclusion. + 'sources/': [ + ['include', '^common/chrome_paths_mac\\.mm$'], + ], + }], + ], + 'conditions': [ + ['toolkit_uses_gtk == 1', { + 'dependencies': ['../build/linux/system.gyp:gtk'], + }], + ], + }, + ], + 'conditions': [ + ['OS=="win" and target_arch=="ia32"', { + 'targets': [ + { + 'target_name': 'common_constants_win64', + 'type': 'static_library', + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)', # Needed by chrome_paths.cc. + ], + 'dependencies': [ + '../base/base.gyp:base_nacl_win64', + '../components/nacl_common.gyp:nacl_switches_win64', + '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h', + ], + 'defines': [ + '<@(nacl_win64_defines)', + 'COMPILE_CONTENT_STATICALLY', + ], + 'configurations': { + 'Common_Base': { + 'msvs_target_platform': 'x64', + }, + }, + }, + ], + }], + ], +} diff --git a/chromium/chrome/installer/installer_tools.gyp b/chromium/chrome/installer/installer_tools.gyp new file mode 100644 index 00000000000..7af6c489db5 --- /dev/null +++ b/chromium/chrome/installer/installer_tools.gyp @@ -0,0 +1,47 @@ +# Copyright (c) 2011 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. + +{ + 'variables': { + 'version_py': '<(DEPTH)/chrome/tools/build/version.py', + 'version_path': '<(DEPTH)/chrome/VERSION', + 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE', + # 'branding_dir' is set in the 'conditions' section at the bottom. + 'msvs_use_common_release': 0, + 'msvs_use_common_linker_extras': 0, + }, + 'conditions': [ + ['OS=="win"', { + 'targets': [ + { + 'target_name': 'validate_installation', + 'type': 'executable', + 'dependencies': [ + '<(DEPTH)/base/base.gyp:base', + '<(DEPTH)/chrome/chrome.gyp:installer_util', + '<(DEPTH)/chrome/chrome.gyp:installer_util_strings', + '<(DEPTH)/chrome/common_constants.gyp:common_constants', + ], + 'include_dirs': [ + '<(DEPTH)', + ], + 'sources': [ + 'tools/validate_installation_main.cc', + 'tools/validate_installation.rc', + 'tools/validate_installation_resource.h', + ], + }, + ], + }], + [ 'branding == "Chrome"', { + 'variables': { + 'branding_dir': '<(DEPTH)/chrome/app/theme/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': '<(DEPTH)/chrome/app/theme/chromium', + }, + }], + ], +} diff --git a/chromium/chrome/installer/mac/third_party/bsdiff/goobsdiff.gyp b/chromium/chrome/installer/mac/third_party/bsdiff/goobsdiff.gyp new file mode 100644 index 00000000000..68e4668d0c0 --- /dev/null +++ b/chromium/chrome/installer/mac/third_party/bsdiff/goobsdiff.gyp @@ -0,0 +1,63 @@ +# Copyright (c) 2011 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. + +{ + 'target_defaults': { + 'include_dirs': [ + '../../../../..', + ], + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/usr/lib/libbz2.dylib', + '$(SDKROOT)/usr/lib/libz.dylib', + ], + }, + 'configurations': { + 'Release': { + 'xcode_settings': { + # Use -Os to minimize the size of the installer tools. + 'GCC_OPTIMIZATION_LEVEL': 's', + }, + }, + }, + }, + 'targets': [ + { + # Because size is a concern, don't link against all of base. Instead, + # just bring in a copy of the one component that's needed, along with + # the adapter that allows it to be called from C (not C++) code. + 'target_name': 'goobsdiff_sha1_adapter', + 'type': 'static_library', + 'sources': [ + '../../../../../base/sha1_portable.cc', + 'sha1_adapter.cc', + 'sha1_adapter.h', + ], + }, + { + 'target_name': 'goobsdiff', + 'type': 'executable', + 'dependencies': [ + 'goobsdiff_sha1_adapter', + '../xz/xz.gyp:lzma', + ], + 'sources': [ + 'empty.cc', + 'goobsdiff.c', + ], + }, + { + 'target_name': 'goobspatch', + 'type': 'executable', + 'dependencies': [ + 'goobsdiff_sha1_adapter', + '../xz/xz.gyp:lzma_decompress', + ], + 'sources': [ + 'empty.cc', + 'goobspatch.c', + ], + }, + ], +} diff --git a/chromium/chrome/installer/mac/third_party/xz/xz.gyp b/chromium/chrome/installer/mac/third_party/xz/xz.gyp new file mode 100644 index 00000000000..bbcea855f1e --- /dev/null +++ b/chromium/chrome/installer/mac/third_party/xz/xz.gyp @@ -0,0 +1,415 @@ +# Copyright (c) 2011 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. + +{ + 'variables': { + # Configuration. Ordinarily, all of these features are enabled, and + # "small" is disabled. For Chromium's purposes, enable "small" and disable + # nearly everything else to save about 36kB in the lzma_decompress + # library, which will be distributed with updates. This also translates to + # a 25kB savings in the compressed disk image that will contain the + # update. + 'check_crc32': 1, + 'check_crc64': 0, + 'check_sha256': 0, + 'coder_lzma1': 0, + 'coder_lzma2': 1, + 'coder_delta': 0, + 'coder_bcj_arm': 0, + 'coder_bcj_armthumb': 0, + 'coder_bcj_ia64': 0, + 'coder_bcj_powerpc': 0, + 'coder_bcj_sparc': 0, + 'coder_bcj_x86': 1, + 'small': 1, + + 'lzma_common_defines': [ + 'HAVE_CONFIG_H', + ], + 'lzma_decompress_defines': [ + ], + 'lzma_compress_defines': [ + ], + + 'lzma_include_dirs': [ + 'config/<(OS)', + 'xz/src/common', + 'xz/src/liblzma/api', + 'xz/src/liblzma/check', + 'xz/src/liblzma/common', + 'xz/src/liblzma/delta', + 'xz/src/liblzma/lz', + 'xz/src/liblzma/lzma', + 'xz/src/liblzma/rangecoder', + 'xz/src/liblzma/simple', + ], + + 'lzma_common_source_files': [ + 'xz/src/common/tuklib_physmem.c', + 'xz/src/liblzma/check/check.c', + 'xz/src/liblzma/common/block_util.c', + 'xz/src/liblzma/common/common.c', + 'xz/src/liblzma/common/easy_preset.c', + 'xz/src/liblzma/common/filter_common.c', + 'xz/src/liblzma/common/hardware_physmem.c', + 'xz/src/liblzma/common/index.c', + 'xz/src/liblzma/common/stream_flags_common.c', + 'xz/src/liblzma/common/vli_size.c', + 'xz/src/liblzma/lzma/lzma_encoder_presets.c', + 'xz/src/liblzma/rangecoder/price_table.c', + ], + 'lzma_decompress_source_files': [ + 'xz/src/liblzma/common/alone_decoder.c', + 'xz/src/liblzma/common/auto_decoder.c', + 'xz/src/liblzma/common/block_buffer_decoder.c', + 'xz/src/liblzma/common/block_decoder.c', + 'xz/src/liblzma/common/block_header_decoder.c', + 'xz/src/liblzma/common/easy_decoder_memusage.c', + 'xz/src/liblzma/common/filter_buffer_decoder.c', + 'xz/src/liblzma/common/filter_decoder.c', + 'xz/src/liblzma/common/filter_flags_decoder.c', + 'xz/src/liblzma/common/index_decoder.c', + 'xz/src/liblzma/common/index_hash.c', + 'xz/src/liblzma/common/stream_buffer_decoder.c', + 'xz/src/liblzma/common/stream_decoder.c', + 'xz/src/liblzma/common/stream_flags_decoder.c', + 'xz/src/liblzma/common/vli_decoder.c', + 'xz/src/liblzma/lz/lz_decoder.c', + 'xz/src/liblzma/lzma/lzma_decoder.c', + ], + 'lzma_compress_source_files': [ + 'xz/src/liblzma/common/alone_encoder.c', + 'xz/src/liblzma/common/block_buffer_encoder.c', + 'xz/src/liblzma/common/block_encoder.c', + 'xz/src/liblzma/common/block_header_encoder.c', + 'xz/src/liblzma/common/easy_buffer_encoder.c', + 'xz/src/liblzma/common/easy_encoder.c', + 'xz/src/liblzma/common/easy_encoder_memusage.c', + 'xz/src/liblzma/common/filter_buffer_encoder.c', + 'xz/src/liblzma/common/filter_encoder.c', + 'xz/src/liblzma/common/filter_flags_encoder.c', + 'xz/src/liblzma/common/index_encoder.c', + 'xz/src/liblzma/common/stream_buffer_encoder.c', + 'xz/src/liblzma/common/stream_encoder.c', + 'xz/src/liblzma/common/stream_flags_encoder.c', + 'xz/src/liblzma/common/vli_encoder.c', + 'xz/src/liblzma/lz/lz_encoder.c', + 'xz/src/liblzma/lz/lz_encoder_mf.c', + 'xz/src/liblzma/lzma/lzma_encoder.c', + 'xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c', + 'xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c', + ], + + 'conditions': [ + ['small != 0', { + 'lzma_common_defines': [ + 'HAVE_SMALL=1', + ], + 'lzma_common_source_files': [ + # CRC-32 must be compiled for header integrity checks, even if it is + # not enabled for payload integrity checks. + 'xz/src/liblzma/check/crc32_small.c', + ], + }, { + 'lzma_common_source_files': [ + # CRC-32 must be compiled for header integrity checks, even if it is + # not enabled for payload integrity checks. + # + # Use the "fast" implementation instead of the "x86" one for + # architecture independence. Both require the "table." + 'xz/src/liblzma/check/crc32_fast.c', + 'xz/src/liblzma/check/crc32_table.c', + # 'xz/src/liblzma/check/crc32_x86.S', + ], + 'lzma_compress_source_files': [ + 'xz/src/liblzma/lzma/fastpos_table.c', + ], + }], + ['check_crc32 != 0', { + 'lzma_common_defines': [ + 'HAVE_CHECK_CRC32=1', + ], + }], + ['check_crc64 != 0', { + 'lzma_common_defines': [ + 'HAVE_CHECK_CRC64=1', + ], + 'conditions': [ + ['small != 0', { + 'lzma_common_source_files': [ + 'xz/src/liblzma/check/crc64_small.c', + ], + }, { + 'lzma_common_source_files': [ + # Use the "fast" implementation instead of the "x86" one for + # architecture independence. Both require the "table." + 'xz/src/liblzma/check/crc64_fast.c', + 'xz/src/liblzma/check/crc64_table.c', + # 'xz/src/liblzma/check/crc64_x86.S', + ], + }], + ], + }], + ['check_sha256 != 0', { + 'lzma_common_defines': [ + 'HAVE_CHECK_SHA256=1', + ], + 'lzma_common_source_files': [ + 'xz/src/liblzma/check/sha256.c', + ], + }], + ['coder_lzma1 != 0', { + 'lzma_decompress_defines': [ + 'HAVE_DECODER_LZMA1=1', + ], + 'lzma_compress_defines': [ + 'HAVE_ENCODER_LZMA1=1', + ], + }], + ['coder_lzma2 != 0', { + 'lzma_decompress_defines': [ + 'HAVE_DECODER_LZMA2=1', + ], + 'lzma_compress_defines': [ + 'HAVE_ENCODER_LZMA2=1', + ], + 'lzma_decompress_source_files': [ + 'xz/src/liblzma/lzma/lzma2_decoder.c', + ], + 'lzma_compress_source_files': [ + 'xz/src/liblzma/lzma/lzma2_encoder.c', + ], + }], + ['coder_delta != 0', { + 'lzma_decompress_defines': [ + 'HAVE_DECODER_DELTA=1', + ], + 'lzma_compress_defines': [ + 'HAVE_ENCODER_DELTA=1', + ], + 'lzma_common_source_files': [ + 'xz/src/liblzma/delta/delta_common.c', + ], + 'lzma_decompress_source_files': [ + 'xz/src/liblzma/delta/delta_decoder.c', + ], + 'lzma_compress_source_files': [ + 'xz/src/liblzma/delta/delta_encoder.c', + ], + }], + ['coder_bcj_arm != 0', { + 'lzma_decompress_defines': [ + 'HAVE_DECODER_ARM=1', + ], + 'lzma_compress_defines': [ + 'HAVE_ENCODER_ARM=1', + ], + 'lzma_common_source_files': [ + 'xz/src/liblzma/simple/arm.c', + ], + }], + ['coder_bcj_armthumb != 0', { + 'lzma_decompress_defines': [ + 'HAVE_DECODER_ARMTHUMB=1', + ], + 'lzma_compress_defines': [ + 'HAVE_ENCODER_ARMTHUMB=1', + ], + 'lzma_common_source_files': [ + 'xz/src/liblzma/simple/armthumb.c', + ], + }], + ['coder_bcj_ia64 != 0', { + 'lzma_decompress_defines': [ + 'HAVE_DECODER_IA64=1', + ], + 'lzma_compress_defines': [ + 'HAVE_ENCODER_IA64=1', + ], + 'lzma_common_source_files': [ + 'xz/src/liblzma/simple/ia64.c', + ], + }], + ['coder_bcj_powerpc != 0', { + 'lzma_decompress_defines': [ + 'HAVE_DECODER_POWERPC=1', + ], + 'lzma_compress_defines': [ + 'HAVE_ENCODER_POWERPC=1', + ], + 'lzma_common_source_files': [ + 'xz/src/liblzma/simple/powerpc.c', + ], + }], + ['coder_bcj_sparc != 0', { + 'lzma_decompress_defines': [ + 'HAVE_DECODER_SPARC=1', + ], + 'lzma_compress_defines': [ + 'HAVE_ENCODER_SPARC=1', + ], + 'lzma_common_source_files': [ + 'xz/src/liblzma/simple/sparc.c', + ], + }], + ['coder_bcj_x86 != 0', { + 'lzma_decompress_defines': [ + 'HAVE_DECODER_X86=1', + ], + 'lzma_compress_defines': [ + 'HAVE_ENCODER_X86=1', + ], + 'lzma_common_source_files': [ + 'xz/src/liblzma/simple/x86.c', + ], + }], + ['coder_bcj_arm != 0 or coder_bcj_armthumb != 0 or coder_bcj_ia64 != 0 or coder_bcj_powerpc != 0 or coder_bcj_sparc != 0 or coder_bcj_x86 != 0', { + 'lzma_common_source_files': [ + 'xz/src/liblzma/simple/simple_coder.c', + ], + 'lzma_decompress_source_files': [ + 'xz/src/liblzma/simple/simple_decoder.c', + ], + 'lzma_compress_source_files': [ + 'xz/src/liblzma/simple/simple_encoder.c', + ], + }], + ], # conditions + }, # variables + + 'targets': [ + { + 'target_name': 'lzma', + 'type': 'static_library', + 'defines': [ + '<@(lzma_common_defines)', + '<@(lzma_decompress_defines)', + '<@(lzma_compress_defines)', + ], + 'include_dirs': [ + '<@(lzma_include_dirs)', + ], + 'sources': [ + '<@(lzma_common_source_files)', + '<@(lzma_decompress_source_files)', + '<@(lzma_compress_source_files)', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + 'xz/src/liblzma/api', + ], + }, + }, + + { + 'target_name': 'lzma_decompress', + + # Always build as a shared library to promote code sharing. This library + # is distributed in Google Chrome update disk images and is used by more + # than one tool. + 'type': 'shared_library', + + 'xcode_settings': { + # The library will reside in the same directory as executables linked + # against it. + 'DYLIB_INSTALL_NAME_BASE': '@loader_path', + + # Trim the list of exported symbols to just those needed by + # dependents. This limits the set of "roots" seen during dead-code + # stripping and reduces the size of the library. + 'EXPORTED_SYMBOLS_FILE': 'lzma_decompress.export', + }, + + 'defines': [ + '<@(lzma_common_defines)', + '<@(lzma_decompress_defines)', + ], + 'include_dirs': [ + '<@(lzma_include_dirs)', + ], + 'sources': [ + '<@(lzma_common_source_files)', + '<@(lzma_decompress_source_files)', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + 'xz/src/liblzma/api', + ], + }, + 'configurations': { + 'Release': { + 'xcode_settings': { + # Use -Os to minimize the size of the installer tools. + 'GCC_OPTIMIZATION_LEVEL': 's', + }, + }, + }, + }, + + { + 'target_name': 'xz', + 'type': 'executable', + 'dependencies': [ + 'lzma', + ], + 'defines': [ + '<@(lzma_common_defines)', + '<@(lzma_decompress_defines)', + '<@(lzma_compress_defines)', + ], + 'include_dirs': [ + 'config/<(OS)', + 'xz/src/common', + ], + 'sources': [ + 'xz/src/common/tuklib_cpucores.c', + 'xz/src/common/tuklib_exit.c', + 'xz/src/common/tuklib_mbstr_fw.c', + 'xz/src/common/tuklib_mbstr_width.c', + 'xz/src/common/tuklib_open_stdxxx.c', + 'xz/src/common/tuklib_progname.c', + 'xz/src/xz/args.c', + 'xz/src/xz/coder.c', + 'xz/src/xz/file_io.c', + 'xz/src/xz/hardware.c', + 'xz/src/xz/list.c', + 'xz/src/xz/main.c', + 'xz/src/xz/message.c', + 'xz/src/xz/options.c', + 'xz/src/xz/signals.c', + 'xz/src/xz/suffix.c', + 'xz/src/xz/util.c', + ], + }, + + { + 'target_name': 'xzdec', + 'type': 'executable', + 'dependencies': [ + 'lzma_decompress', + ], + 'defines': [ + '<@(lzma_common_defines)', + '<@(lzma_decompress_defines)', + ], + 'include_dirs': [ + 'config/<(OS)', + 'xz/src/common', + ], + 'sources': [ + 'xz/src/common/tuklib_exit.c', + 'xz/src/common/tuklib_progname.c', + 'xz/src/xzdec/xzdec.c', + ], + 'configurations': { + 'Release': { + 'xcode_settings': { + # Use -Os to minimize the size of the installer tools. + 'GCC_OPTIMIZATION_LEVEL': 's', + }, + }, + }, + }, + ], +} diff --git a/chromium/chrome/installer/mini_installer.gyp b/chromium/chrome/installer/mini_installer.gyp new file mode 100644 index 00000000000..05d54d2875c --- /dev/null +++ b/chromium/chrome/installer/mini_installer.gyp @@ -0,0 +1,302 @@ +{ + 'variables': { + 'version_py': '../../chrome/tools/build/version.py', + 'version_path': '../../chrome/VERSION', + 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE', + # 'branding_dir' is set in the 'conditions' section at the bottom. + 'msvs_use_common_release': 0, + 'msvs_use_common_linker_extras': 0, + 'mini_installer_internal_deps%': 0, + 'mini_installer_official_deps%': 0, + }, + 'includes': [ + '../../build/win_precompile.gypi', + ], + 'conditions': [ + ['OS=="win"', { + 'target_defaults': { + 'dependencies': [ + '../chrome.gyp:app_host', + '../chrome.gyp:chrome', + '../chrome.gyp:chrome_nacl_win64', + '../chrome.gyp:chrome_dll', + '../chrome.gyp:default_extensions', + '../chrome.gyp:setup', + ], + 'include_dirs': [ + '../..', + '<(INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)/chrome', + ], + 'sources': [ + 'mini_installer/appid.h', + 'mini_installer/configuration.cc', + 'mini_installer/configuration.h', + 'mini_installer/decompress.cc', + 'mini_installer/decompress.h', + 'mini_installer/mini_installer.cc', + 'mini_installer/mini_installer.h', + 'mini_installer/mini_installer.ico', + 'mini_installer/mini_installer.rc', + 'mini_installer/mini_installer_exe_version.rc.version', + 'mini_installer/mini_installer_resource.h', + 'mini_installer/mini_string.cc', + 'mini_installer/mini_string.h', + 'mini_installer/pe_resource.cc', + 'mini_installer/pe_resource.h', + '<(INTERMEDIATE_DIR)/packed_files.rc', + ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'EnableIntrinsicFunctions': 'true', + 'BufferSecurityCheck': 'false', + 'BasicRuntimeChecks': '0', + 'ExceptionHandling': '0', + }, + 'VCLinkerTool': { + 'RandomizedBaseAddress': '1', + 'DataExecutionPrevention': '0', + 'AdditionalLibraryDirectories': [ + '<(PRODUCT_DIR)/lib' + ], + 'DelayLoadDLLs': [], + 'EntryPointSymbol': 'MainEntryPoint', + 'GenerateMapFile': 'true', + 'IgnoreAllDefaultLibraries': 'true', + 'OptimizeForWindows98': '1', + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'AdditionalDependencies': [ + 'shlwapi.lib', + 'setupapi.lib', + ], + }, + 'VCManifestTool': { + 'AdditionalManifestFiles': [ + '$(ProjectDir)\\mini_installer\\mini_installer.exe.manifest', + ], + }, + }, + 'configurations': { + 'Debug_Base': { + 'msvs_settings': { + 'VCCLCompilerTool': { + 'BasicRuntimeChecks': '0', + 'BufferSecurityCheck': 'false', + 'ExceptionHandling': '0', + }, + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'AdditionalOptions': [ + '/safeseh:no', + '/dynamicbase:no', + '/ignore:4199', + '/ignore:4221', + '/nxcompat', + ], + }, + }, + }, + 'Release_Base': { + 'includes': ['../../build/internal/release_defaults.gypi'], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'EnableIntrinsicFunctions': 'true', + 'BasicRuntimeChecks': '0', + 'BufferSecurityCheck': 'false', + 'ExceptionHandling': '0', + }, + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'Profile': 'false', # Conflicts with /FIXED + 'AdditionalOptions': [ + '/SAFESEH:NO', + '/NXCOMPAT', + '/DYNAMICBASE:NO', + '/FIXED', + ], + }, + }, + }, + }, + 'rules': [ + { + 'rule_name': 'mini_installer_version', + 'extension': 'version', + 'variables': { + 'template_input_path': 'mini_installer/mini_installer_exe_version.rc.version', + }, + 'inputs': [ + '<(template_input_path)', + '<(version_path)', + '<(lastchange_path)', + '<(branding_dir)/BRANDING', + ], + 'outputs': [ + '<(PRODUCT_DIR)/mini_installer_exe_version.rc', + ], + 'action': [ + 'python', '<(version_py)', + '-f', '<(version_path)', + '-f', '<(lastchange_path)', + '-f', '<(branding_dir)/BRANDING', + '<(template_input_path)', + '<@(_outputs)', + ], + 'process_outputs_as_sources': 1, + 'message': 'Generating version information' + }, + ], + # TODO(mark): <(branding_dir) should be defined by the + # global condition block at the bottom of the file, but + # this doesn't work due to the following issue: + # + # http://code.google.com/p/gyp/issues/detail?id=22 + # + # Remove this block once the above issue is fixed. + 'conditions': [ + [ 'branding == "Chrome"', { + 'variables': { + 'branding_dir': '../app/theme/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': '../app/theme/chromium', + }, + }], + ], + }, + 'targets': [ + { + 'target_name': 'mini_installer', + 'type': 'executable', + + # Disable precompiled headers for this project, to avoid + # linker errors when building with VS 2008. + 'msvs_precompiled_header': '', + 'msvs_precompiled_source': '', + + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + + 'sources': [ + 'mini_installer/chrome.release', + 'mini_installer/chrome_appid.cc', + ], + 'rules': [ + { + 'rule_name': 'installer_archive', + 'extension': 'release', + 'variables': { + 'create_installer_archive_py_path': + '../tools/build/win/create_installer_archive.py', + }, + 'conditions': [ + ['enable_hidpi == 1', { + 'variables': { + 'enable_hidpi_flag': '--enable_hidpi=1', + }, + }, { + 'variables': { + 'enable_hidpi_flag': '', + }, + }], + ['enable_touch_ui == 1', { + 'variables': { + 'enable_touch_ui_flag': '--enable_touch_ui=1', + }, + }, { + 'variables': { + 'enable_touch_ui_flag': '', + }, + }], + ['component == "shared_library"', { + 'variables': { + 'component_build_flag': '--component_build=1', + }, + }, { + 'variables': { + 'component_build_flag': '', + }, + 'outputs': [ + '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).packed.7z', + ], + }], + ['disable_nacl==1', { + 'inputs!': [ + '<(PRODUCT_DIR)/nacl64.exe', + '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll', + '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', + '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', + ], + }], + ['target_arch=="x64"', { + 'inputs!': [ + '<(PRODUCT_DIR)/nacl64.exe', + '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', + ], + 'variables': { + 'target_arch_flag': '--target_arch=x64', + }, + }, { + 'variables': { + 'target_arch_flag': '--target_arch=x86', + }, + }], + ], + 'inputs': [ + '<(create_installer_archive_py_path)', + '<(PRODUCT_DIR)/app_host.exe', + '<(PRODUCT_DIR)/chrome.exe', + '<(PRODUCT_DIR)/chrome.dll', + '<(PRODUCT_DIR)/nacl64.exe', + '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll', + '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', + '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', + '<(PRODUCT_DIR)/locales/en-US.pak', + '<(PRODUCT_DIR)/icudt.dll', + ], + 'outputs': [ + # Also note that chrome.packed.7z is defined as an output in a + # conditional above. + 'xxx2.out', + '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).7z', + '<(PRODUCT_DIR)/setup.ex_', + '<(INTERMEDIATE_DIR)/packed_files.rc', + ], + 'action': [ + 'python', + '<(create_installer_archive_py_path)', + '--build_dir', '<(PRODUCT_DIR)', + '--staging_dir', '<(INTERMEDIATE_DIR)', + '--input_file', '<(RULE_INPUT_PATH)', + '--resource_file_path', '<(INTERMEDIATE_DIR)/packed_files.rc', + '<(enable_hidpi_flag)', + '<(enable_touch_ui_flag)', + '<(component_build_flag)', + '<(target_arch_flag)', + # TODO(sgk): may just use environment variables + #'--distribution=$(CHROMIUM_BUILD)', + '--distribution=_google_chrome', + # Optional arguments to generate diff installer + #'--last_chrome_installer=C:/Temp/base', + #'--setup_exe_format=DIFF', + #'--diff_algorithm=COURGETTE', + ], + 'message': 'Create installer archive', + 'msvs_cygwin_shell': 1, + }, + ], + }, + ], + }], + [ 'branding == "Chrome"', { + 'variables': { + 'branding_dir': '../app/theme/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': '../app/theme/chromium', + }, + }], + ], +} diff --git a/chromium/chrome/installer/mini_installer.gypi b/chromium/chrome/installer/mini_installer.gypi new file mode 100644 index 00000000000..ee9403cab19 --- /dev/null +++ b/chromium/chrome/installer/mini_installer.gypi @@ -0,0 +1,251 @@ +# Copyright (c) 2012 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. +{ + 'dependencies': [ + '<@(chrome_dll_project)', + '../chrome.gyp:app_host', + '../chrome.gyp:chrome', + '../chrome.gyp:chrome_nacl_win64', + '../chrome.gyp:default_extensions', + '../chrome.gyp:setup', + ], + 'include_dirs': [ + '../..', + '<(INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)/chrome', + ], + 'sources': [ + 'mini_installer/appid.h', + 'mini_installer/chrome.release', + 'mini_installer/chrome_appid.cc', + 'mini_installer/configuration.cc', + 'mini_installer/configuration.h', + 'mini_installer/decompress.cc', + 'mini_installer/decompress.h', + 'mini_installer/mini_installer.cc', + 'mini_installer/mini_installer.h', + 'mini_installer/mini_installer.ico', + 'mini_installer/mini_installer.rc', + 'mini_installer/mini_installer_exe_version.rc.version', + 'mini_installer/mini_installer_resource.h', + 'mini_installer/mini_string.cc', + 'mini_installer/mini_string.h', + 'mini_installer/pe_resource.cc', + 'mini_installer/pe_resource.h', + '<(INTERMEDIATE_DIR)/packed_files.rc', + ], + # Disable precompiled headers for this project, to avoid + # linker errors when building with VS 2008. + 'msvs_precompiled_header': '', + 'msvs_precompiled_source': '', + 'msvs_settings': { + 'VCCLCompilerTool': { + 'EnableIntrinsicFunctions': 'true', + 'BufferSecurityCheck': 'false', + 'BasicRuntimeChecks': '0', + 'ExceptionHandling': '0', + }, + 'VCLinkerTool': { + 'OutputFile': '<(output_dir)/mini_installer.exe', + 'MapFileName': '<(output_dir)/mini_installer.map', + 'RandomizedBaseAddress': '1', + 'DataExecutionPrevention': '0', + 'AdditionalLibraryDirectories': [ + '<(PRODUCT_DIR)/lib' + ], + 'DelayLoadDLLs': [], + 'EntryPointSymbol': 'MainEntryPoint', + 'GenerateMapFile': 'true', + 'IgnoreAllDefaultLibraries': 'true', + 'OptimizeForWindows98': '1', + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'AdditionalDependencies': [ + 'shlwapi.lib', + 'setupapi.lib', + ], + 'conditions': [ + ['MSVS_VERSION=="2005e"', { + 'AdditionalDependencies': [ # Must explicitly link in VC2005E + 'advapi32.lib', + 'shell32.lib', + ], + }], + ], + }, + 'VCManifestTool': { + 'AdditionalManifestFiles': [ + '$(ProjectDir)\\mini_installer\\mini_installer.exe.manifest', + ], + }, + }, + 'configurations': { + 'Debug_Base': { + 'msvs_settings': { + 'VCCLCompilerTool': { + 'BasicRuntimeChecks': '0', + 'BufferSecurityCheck': 'false', + 'ExceptionHandling': '0', + }, + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'AdditionalOptions': [ + '/safeseh:no', + '/dynamicbase:no', + '/ignore:4199', + '/ignore:4221', + '/nxcompat', + ], + }, + }, + }, + 'Release_Base': { + 'includes': ['../../build/internal/release_defaults.gypi'], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'EnableIntrinsicFunctions': 'true', + 'BasicRuntimeChecks': '0', + 'BufferSecurityCheck': 'false', + 'ExceptionHandling': '0', + }, + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + 'Profile': 'false', # Conflicts with /FIXED + 'AdditionalOptions': [ + '/SAFESEH:NO', + '/NXCOMPAT', + '/DYNAMICBASE:NO', + '/FIXED', + ], + }, + }, + }, + }, + 'rules': [ + { + 'rule_name': 'mini_installer_version', + 'extension': 'version', + 'variables': { + 'template_input_path': + 'mini_installer/mini_installer_exe_version.rc.version', + }, + 'inputs': [ + '<(template_input_path)', + '<(version_path)', + '<(lastchange_path)', + '<(branding_dir)/BRANDING', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/mini_installer_exe_version.rc', + ], + 'action': [ + 'python', '<(version_py)', + '-f', '<(version_path)', + '-f', '<(lastchange_path)', + '-f', '<(branding_dir)/BRANDING', + '<(template_input_path)', + '<@(_outputs)', + ], + 'process_outputs_as_sources': 1, + 'message': 'Generating version information' + }, + { + 'rule_name': 'installer_archive', + 'extension': 'release', + 'variables': { + 'create_installer_archive_py_path': + '../tools/build/win/create_installer_archive.py', + }, + 'conditions': [ + ['enable_hidpi == 1', { + 'variables': { + 'enable_hidpi_flag': '--enable_hidpi=1', + }, + }, { + 'variables': { + 'enable_hidpi_flag': '', + }, + }], + ['enable_touch_ui == 1', { + 'variables': { + 'enable_touch_ui_flag': '--enable_touch_ui=1', + }, + }, { + 'variables': { + 'enable_touch_ui_flag': '', + }, + }], + ['target_arch=="x64"', { + 'inputs!': [ + '<(PRODUCT_DIR)/nacl64.exe', + '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', + ], + 'variables': { + 'target_arch_flag': '--target_arch=x64', + }, + }, { + 'variables': { + 'target_arch_flag': '--target_arch=x86', + }, + }], + ], + 'inputs': [ + '<(create_installer_archive_py_path)', + '<(PRODUCT_DIR)/app_host.exe', + '<(PRODUCT_DIR)/chrome.exe', + '<@(chrome_dll_path)', + '<(PRODUCT_DIR)/nacl64.exe', + '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll', + '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', + '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', + '<(PRODUCT_DIR)/locales/en-US.pak', + '<(PRODUCT_DIR)/icudt.dll', + ], + 'outputs': [ + 'xxx.out', + '<(output_dir)/<(RULE_INPUT_NAME).7z', + '<(output_dir)/<(RULE_INPUT_NAME).packed.7z', + '<(output_dir)/setup.ex_', + '<(INTERMEDIATE_DIR)/packed_files.rc', + ], + 'action': [ + 'python', + '<(create_installer_archive_py_path)', + '--build_dir=<(PRODUCT_DIR)', + '--output_dir=<(output_dir)', + '--staging_dir=<(INTERMEDIATE_DIR)', + '--input_file=<(RULE_INPUT_PATH)', + '--resource_file_path=<(INTERMEDIATE_DIR)/packed_files.rc', + '<(enable_hidpi_flag)', + '<(enable_touch_ui_flag)', + '<(target_arch_flag)', + # TODO(sgk): may just use environment variables + #'--distribution=$(CHROMIUM_BUILD)', + '--distribution=_google_chrome', + # Optional arguments to generate diff installer + #'--last_chrome_installer=C:/Temp/base', + #'--setup_exe_format=DIFF', + #'--diff_algorithm=COURGETTE', + ], + 'message': 'Create installer archive' + }, + ], + # TODO(mark): <(branding_dir) should be defined by the + # global condition block at the bottom of the file, but + # this doesn't work due to the following issue: + # + # http://code.google.com/p/gyp/issues/detail?id=22 + # + # Remove this block once the above issue is fixed. + 'conditions': [ + [ 'branding == "Chrome"', { + 'variables': { + 'branding_dir': '../app/theme/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': '../app/theme/chromium', + }, + }], + ], +} diff --git a/chromium/chrome/installer/mini_installer_syzygy.gyp b/chromium/chrome/installer/mini_installer_syzygy.gyp new file mode 100644 index 00000000000..6c9934720b7 --- /dev/null +++ b/chromium/chrome/installer/mini_installer_syzygy.gyp @@ -0,0 +1,77 @@ +# Copyright (c) 2011 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. +{ + 'variables': { + 'version_py': '<(DEPTH)/chrome/tools/build/version.py', + 'version_path': '<(DEPTH)/chrome/VERSION', + 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE', + # 'branding_dir' is set in the 'conditions' section at the bottom. + 'msvs_use_common_release': 0, + 'msvs_use_common_linker_extras': 0, + }, + 'includes': [ + '../../build/win_precompile.gypi', + ], + 'conditions': [ + # This target won't build in fastbuild, since there are no PDBs. + ['OS=="win" and fastbuild==0', { + 'conditions': [ + ['chrome_multiple_dll==0', { + 'targets': [ + { + 'target_name': 'mini_installer_syzygy', + 'type': 'executable', + 'product_name': 'mini_installer', + + 'variables': { + 'chrome_dll_project': [ + '../chrome_syzygy.gyp:chrome_dll_syzygy', + ], + 'chrome_dll_path': [ + '<(PRODUCT_DIR)/syzygy/chrome.dll', + ], + 'output_dir': '<(PRODUCT_DIR)/syzygy', + }, + # Bulk of the build configuration comes from here. + 'includes': [ 'mini_installer.gypi', ], + }, + ], + }, { + 'targets': [ + { + 'target_name': 'mini_installer_syzygy', + 'type': 'executable', + 'product_name': 'mini_installer', + + 'variables': { + 'chrome_dll_project': [ + '../chrome_syzygy.gyp:chrome_dll_syzygy', + '../chrome_syzygy.gyp:chrome_child_dll_syzygy', + ], + 'chrome_dll_path': [ + '<(PRODUCT_DIR)/syzygy/chrome.dll', + '<(PRODUCT_DIR)/syzygy/chrome_child.dll', + ], + 'output_dir': '<(PRODUCT_DIR)/syzygy', + }, + # Bulk of the build configuration comes from here. + 'includes': [ 'mini_installer.gypi', ], + }, + ], + }], + ], + },{ + 'targets': [], + }], + [ 'branding == "Chrome"', { + 'variables': { + 'branding_dir': '../app/theme/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': '../app/theme/chromium', + }, + }], + ], +} diff --git a/chromium/chrome/installer/upgrade_test.gyp b/chromium/chrome/installer/upgrade_test.gyp new file mode 100644 index 00000000000..82c60da69ba --- /dev/null +++ b/chromium/chrome/installer/upgrade_test.gyp @@ -0,0 +1,100 @@ +# Copyright (c) 2011 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. + +{ + 'variables': { + 'version_py': '../../chrome/tools/build/version.py', + 'version_path': '../../chrome/VERSION', + 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE', + # 'branding_dir' is set in the 'conditions' section at the bottom. + 'msvs_use_common_release': 0, + 'msvs_use_common_linker_extras': 0, + }, + 'includes': [ + '../../build/win_precompile.gypi', + ], + 'conditions': [ + ['OS=="win"', { + 'targets': [ + { + 'target_name': 'alternate_version_generator_lib', + 'type': 'static_library', + 'dependencies': [ + '../chrome.gyp:installer_util', + '../common_constants.gyp:common_constants', + '../../base/base.gyp:base', + ], + 'include_dirs': [ + '../..', + ], + 'sources': [ + 'test/alternate_version_generator.cc', + 'test/alternate_version_generator.h', + 'test/pe_image_resources.cc', + 'test/pe_image_resources.h', + 'test/resource_loader.cc', + 'test/resource_loader.h', + 'test/resource_updater.cc', + 'test/resource_updater.h', + ], + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [4267, ], + }, + { + 'target_name': 'upgrade_test', + 'type': 'executable', + 'dependencies': [ + 'alternate_version_generator_lib', + # This dependency, although correct, results in the mini installer + # being rebuilt every time upgrade_test is built. So disable it + # for now. + # TODO(grt): fix rules/targets/etc for + # mini_installer.gyp:mini_installer so that it does no work if + # nothing has changed, then un-comment this next line: + # 'mini_installer.gyp:mini_installer', + '../../base/base.gyp:test_support_base', + '../../testing/gtest.gyp:gtest', + '../chrome.gyp:installer_util', + '../common_constants.gyp:common_constants', + ], + 'include_dirs': [ + '../..', + ], + 'sources': [ + 'test/run_all_tests.cc', + 'test/upgrade_test.cc', + ], + }, + { + 'target_name': 'alternate_version_generator', + 'type': 'executable', + 'dependencies': [ + 'alternate_version_generator_lib', + '../../base/base.gyp:test_support_base', + '../../testing/gtest.gyp:gtest', + '../chrome.gyp:installer_util', + '../common_constants.gyp:common_constants', + ], + 'include_dirs': [ + '../..', + ], + 'sources': [ + 'test/alternate_version_generator_main.cc', + ], + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, ], + }, + ], + }], + [ 'branding == "Chrome"', { + 'variables': { + 'branding_dir': '../app/theme/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': '../app/theme/chromium', + }, + }], + ], +} diff --git a/chromium/chrome/js_unittest_rules.gypi b/chromium/chrome/js_unittest_rules.gypi new file mode 100644 index 00000000000..a75494f22dc --- /dev/null +++ b/chromium/chrome/js_unittest_rules.gypi @@ -0,0 +1,82 @@ +# Copyright (c) 2011 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. + +# This file defines rules that allow you to include JavaScript tests in +# your unittests target. + +# To add JS unittests to an existing unittest target, first include +# 'js_unittest_vars.gypi' at the top of your GYP file to define the required +# variables: +# +# 'includes': [ +# '<(DEPTH)/chrome/js_unittest_vars.gypi', +# ], +# +# Then include this rule file in each of your unittest targets: +# +# { +# 'target_name': 'my_unittests', +# ... +# 'includes': [ +# '<(DEPTH)/chrome/js_unittest_rules.gypi', +# ], +# } +# +# Note that when you run your TestSuite, you'll need to call +# chrome::RegisterPathProvider(). These path providers are required by +# src/chrome/test/base/v8_unit_test.cc to setup and run the tests. +# +# See src/chrome/test/base/run_all_remoting_unittests.cc for an example. + +{ + 'dependencies': [ + # Used by rule js2unit below. + '../v8/tools/gyp/v8.gyp:v8_shell#host', + ], + 'rules': [ + { + 'rule_name': 'copyjs', + 'extension': 'js', + 'msvs_external_rule': 1, + 'inputs': [ + '<(DEPTH)/build/cp.py', + ], + 'outputs': [ + '<(PRODUCT_DIR)/test_data/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).<(_extension)', + ], + 'action': [ + 'python', + '<@(_inputs)', + '<(RULE_INPUT_PATH)', + '<@(_outputs)', + ], + }, + { + 'rule_name': 'js2unit', + 'extension': 'gtestjs', + 'msvs_external_rule': 1, + 'inputs': [ + '<(gypv8sh)', + '<(PRODUCT_DIR)/v8_shell<(EXECUTABLE_SUFFIX)', + '<(mock_js)', + '<(accessibility_audit_js)', + '<(test_api_js)', + '<(js2gtest)', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc', + '<(PRODUCT_DIR)/test_data/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).<(_extension)', + ], + 'process_outputs_as_sources': 1, + 'action': [ + 'python', + '<@(_inputs)', + 'unit', + '<(RULE_INPUT_PATH)', + 'chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).<(_extension)', + '<@(_outputs)', + ], + }, + ], +} diff --git a/chromium/chrome/js_unittest_vars.gypi b/chromium/chrome/js_unittest_vars.gypi new file mode 100644 index 00000000000..8146ea2d5ab --- /dev/null +++ b/chromium/chrome/js_unittest_vars.gypi @@ -0,0 +1,13 @@ +# Copyright (c) 2011 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. + +{ + 'variables' : { + 'gypv8sh': '<(DEPTH)/tools/gypv8sh.py', + 'js2gtest': '<(DEPTH)/chrome/test/base/js2gtest.js', + 'mock_js': '<(DEPTH)/chrome/third_party/mock4js/mock4js.js', + 'test_api_js': '<(DEPTH)/chrome/test/data/webui/test_api.js', + 'accessibility_audit_js': '<(DEPTH)/third_party/accessibility-developer-tools/gen/axs_testing.js', + }, +} diff --git a/chromium/chrome/metro_utils.gypi b/chromium/chrome/metro_utils.gypi new file mode 100644 index 00000000000..000ac259634 --- /dev/null +++ b/chromium/chrome/metro_utils.gypi @@ -0,0 +1,23 @@ +# Copyright 2013 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. + +{ + 'targets': [ + { + 'target_name': 'metro_utils', + 'type': 'static_library', + 'dependencies': [ + 'installer_util', + '../base/base.gyp:base', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'browser/metro_utils/metro_chrome_win.cc', + 'browser/metro_utils/metro_chrome_win.h', + ], + }, + ], +} diff --git a/chromium/chrome/nacl.gypi b/chromium/chrome/nacl.gypi new file mode 100644 index 00000000000..ab7a03c9956 --- /dev/null +++ b/chromium/chrome/nacl.gypi @@ -0,0 +1,70 @@ +# Copyright (c) 2012 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. + +{ + 'conditions': [ + ['disable_nacl!=1', { + 'conditions': [ + ['OS=="linux"', { + 'includes': [ + '../components/nacl/nacl_defines.gypi', + ], + 'targets': [ + { + 'target_name': 'nacl_helper', + 'type': 'executable', + 'include_dirs': [ + '..', + ], + 'dependencies': [ + '../components/nacl.gyp:nacl', + '../components/nacl_common.gyp:nacl_common', + '../crypto/crypto.gyp:crypto', + '../sandbox/sandbox.gyp:libc_urandom_override', + '../sandbox/sandbox.gyp:sandbox', + ], + 'defines': [ + '<@(nacl_defines)', + ], + 'sources': [ + 'nacl/nacl_helper_linux.cc', + '../base/posix/unix_domain_socket_linux.cc', + '../components/nacl/loader/nacl_sandbox_linux.cc', + '../content/common/child_process_sandbox_support_impl_shm_linux.cc', + '../content/common/sandbox_init_linux.cc', + '../content/common/sandbox_seccomp_bpf_linux.cc', + '../content/public/common/content_switches.cc', + ], + 'conditions': [ + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '../build/linux/system.gyp:gtk', + ], + }], + ['use_glib == 1', { + 'dependencies': [ + '../build/linux/system.gyp:glib', + ], + }], + ['os_posix == 1 and OS != "mac"', { + 'conditions': [ + ['linux_use_tcmalloc==1', { + 'dependencies': [ + '../base/allocator/allocator.gyp:allocator', + ], + }], + ], + }], + ], + 'cflags': ['-fPIE'], + 'link_settings': { + 'ldflags': ['-pie'], + }, + }, + ], + }], + ], + }], + ], +} diff --git a/chromium/chrome/policy.gypi b/chromium/chrome/policy.gypi new file mode 100644 index 00000000000..b130c47b1a7 --- /dev/null +++ b/chromium/chrome/policy.gypi @@ -0,0 +1,26 @@ +# Copyright (c) 2013 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. + +{ + 'targets': [ + { + 'target_name': 'policy_path_parser', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + '../chrome/common_constants.gyp:common_constants', + '../chrome/app/policy/cloud_policy_codegen.gyp:policy', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'browser/policy/policy_path_parser.h', + 'browser/policy/policy_path_parser_linux.cc', + 'browser/policy/policy_path_parser_mac.mm', + 'browser/policy/policy_path_parser_win.cc', + ], + }, + ], +} diff --git a/chromium/chrome/test/data/extensions/api_test/api_test_data.gyp b/chromium/chrome/test/data/extensions/api_test/api_test_data.gyp new file mode 100644 index 00000000000..d3ed68996fb --- /dev/null +++ b/chromium/chrome/test/data/extensions/api_test/api_test_data.gyp @@ -0,0 +1,33 @@ +# Copyright (c) 2013 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': [ + '../../../../../ppapi/ppapi_nacl_test_common.gypi', + ], + 'targets': [ + { + 'target_name': 'socket_ppapi', + 'type': 'none', + 'variables': { + 'nexe_target': 'extensions_api_test_socket_ppapi', + 'build_newlib': 1, + 'build_glibc': 0, + 'build_pnacl_newlib': 0, + 'nexe_destination_dir': 'test_data/chrome/test/data/extensions/api_test/socket/ppapi', + 'sources': [ + 'socket/ppapi/test_socket.cc', + '<(DEPTH)/ppapi/tests/test_utils.cc', + '<(DEPTH)/ppapi/tests/test_utils.h', + ], + 'test_files': [ + 'socket/ppapi/controller.js', + 'socket/ppapi/index.html', + 'socket/ppapi/main.js', + 'socket/ppapi/manifest.json', + ], + }, + }, + ], +} diff --git a/chromium/chrome/test/data/nacl/nacl_test_data.gyp b/chromium/chrome/test/data/nacl/nacl_test_data.gyp new file mode 100644 index 00000000000..52f4fca8829 --- /dev/null +++ b/chromium/chrome/test/data/nacl/nacl_test_data.gyp @@ -0,0 +1,309 @@ +# Copyright (c) 2012 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': [ + '../../../../ppapi/ppapi_nacl_test_common.gypi', + ], + 'targets': [ + { + 'target_name': 'shared_test_files', + 'type': 'none', + 'variables': { + 'build_newlib': 1, + 'build_glibc': 1, + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + 'test_files': [ + # TODO(ncbray) move into chrome/test/data/nacl when all tests are + # converted. + '<(DEPTH)/ppapi/native_client/tests/ppapi_browser/progress_event_listener.js', + '<(DEPTH)/ppapi/native_client/tests/ppapi_browser/bad/ppapi_bad.js', + '<(DEPTH)/ppapi/native_client/tools/browser_tester/browserdata/nacltest.js', + ], + }, + }, + { + 'target_name': 'simple_test', + 'type': 'none', + 'variables': { + 'nexe_target': 'simple', + 'build_newlib': 1, + 'build_glibc': 1, + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + 'sources': [ + 'simple.cc', + ], + 'test_files': [ + 'nacl_load_test.html', + ], + }, + }, + { + 'target_name': 'exit_status_test', + 'type': 'none', + 'variables': { + 'nexe_target': 'pm_exit_status_test', + 'build_newlib': 1, + 'build_glibc': 1, + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + 'sources': [ + 'exit_status/pm_exit_status_test.cc', + ], + 'test_files': [ + 'exit_status/pm_exit_status_test.html', + ], + }, + }, + { + 'target_name': 'sysconf_nprocessors_onln_test', + 'type': 'none', + 'variables': { + 'nexe_target': 'sysconf_nprocessors_onln_test', + 'build_newlib': 1, + 'build_glibc': 1, + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + 'sources': [ + 'sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.cc', + ], + 'test_files': [ + 'sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.html', + ], + }, + }, + { + 'target_name': 'ppapi_test_lib', + 'type': 'none', + 'variables': { + 'nlib_target': 'libppapi_test_lib.a', + 'nso_target': 'libppapi_test_lib.so', + 'build_newlib': 1, + 'build_glibc': 1, + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + 'sources': [ + # TODO(ncbray) move these files once SCons no longer depends on them. + '../../../../ppapi/native_client/tests/ppapi_test_lib/get_browser_interface.cc', + '../../../../ppapi/native_client/tests/ppapi_test_lib/internal_utils.cc', + '../../../../ppapi/native_client/tests/ppapi_test_lib/module_instance.cc', + '../../../../ppapi/native_client/tests/ppapi_test_lib/testable_callback.cc', + '../../../../ppapi/native_client/tests/ppapi_test_lib/test_interface.cc', + ] + }, + 'dependencies': [ + '<(DEPTH)/native_client/tools.gyp:prep_toolchain', + ], + }, + { + 'target_name': 'ppapi_progress_events', + 'type': 'none', + 'variables': { + 'nexe_target': 'ppapi_progress_events', + 'build_newlib': 1, + 'build_glibc': 1, + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + 'link_flags': [ + '-lppapi', + '-lppapi_test_lib', + '-lplatform', + '-lgio', + ], + 'sources': [ + 'progress_events/ppapi_progress_events.cc', + ], + 'test_files': [ + 'progress_events/ppapi_progress_events.html', + ], + }, + 'dependencies': [ + '<(DEPTH)/native_client/tools.gyp:prep_toolchain', + '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib', + '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib', + '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib', + '<(DEPTH)/ppapi/ppapi_untrusted.gyp:ppapi_cpp_lib', + 'ppapi_test_lib', + ], + }, + { + 'target_name': 'pnacl_error_handling_test', + 'type': 'none', + 'variables': { + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + # No need to translate AOT. + 'enable_x86_32': 0, + 'enable_x86_64': 0, + 'enable_arm': 0, + # Use prebuilt NMF files. + 'generate_nmf': 0, + 'test_files': [ + 'pnacl_error_handling/pnacl_error_handling.html', + 'pnacl_error_handling/bad.pexe', + 'pnacl_error_handling/pnacl_bad_pexe.nmf', + 'pnacl_error_handling/pnacl_bad_doesnotexist.nmf', + 'pnacl_error_handling/pnacl_illformed_manifest.nmf', + ], + }, + 'dependencies': [ + '<(DEPTH)/native_client/tools.gyp:prep_toolchain', + ] + }, + { + 'target_name': 'pnacl_mime_type_test', + 'type': 'none', + 'variables': { + 'build_newlib': 1, + 'build_glibc': 1, + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + # No need to translate AOT. + 'enable_x86_32': 0, + 'enable_x86_64': 0, + 'enable_arm': 0, + 'test_files': [ + 'pnacl_mime_type/pnacl_mime_type.html', + ], + }, + }, + { + 'target_name': 'pnacl_options_test', + 'type': 'none', + 'variables': { + 'nexe_target': 'pnacl_options', + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + # No need to translate these AOT, when we just need the pexe. + 'enable_x86_32': 0, + 'enable_x86_64': 0, + 'enable_arm': 0, + 'sources': [ + 'simple.cc', + ], + 'test_files': [ + 'pnacl_nmf_options/pnacl_options.html', + 'pnacl_nmf_options/pnacl_o_0.nmf', + 'pnacl_nmf_options/pnacl_o_2.nmf', + 'pnacl_nmf_options/pnacl_o_large.nmf', + ], + }, + 'dependencies': [ + '<(DEPTH)/native_client/tools.gyp:prep_toolchain', + ] + }, + { + 'target_name': 'pnacl_dyncode_syscall_disabled_test', + 'type': 'none', + 'variables': { + # This tests that nexes produced by translation in the browser are not + # able to use the dyncode syscalls. Pre-translated nexes are not + # subject to this constraint, so we do not test them. + 'enable_x86_32': 0, + 'enable_x86_64': 0, + 'enable_arm': 0, + 'nexe_target': 'pnacl_dyncode_syscall_disabled', + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + 'link_flags': [ + '-lppapi', + '-lppapi_test_lib', + '-lplatform', + '-lgio', + # The "_private" variant of the library calls the syscalls + # directly, which allows us to test the syscalls directly, + # even when the dyncode IRT interface is also disabled under + # PNaCl. + '-lnacl_dyncode_private', + ], + 'sources': [ + 'pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.cc', + ], + 'test_files': [ + 'pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.html', + ], + }, + 'dependencies': [ + '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib', + '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib', + '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_dyncode_private_lib', + '<(DEPTH)/native_client/tools.gyp:prep_toolchain', + '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib', + '<(DEPTH)/ppapi/ppapi_untrusted.gyp:ppapi_cpp_lib', + 'ppapi_test_lib', + ], + }, + { + 'target_name': 'pnacl_exception_handling_disabled_test', + 'type': 'none', + 'variables': { + # This tests that nexes produced by translation in the browser are not + # able to use hardware exception handling. Pre-translated nexes are + # not subject to this constraint, so we do not test them. + 'enable_x86_32': 0, + 'enable_x86_64': 0, + 'enable_arm': 0, + 'nexe_target': 'pnacl_exception_handling_disabled', + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + 'link_flags': [ + '-lppapi', + '-lppapi_test_lib', + '-lplatform', + '-lgio', + '-lnacl_exception', + ], + 'sources': [ + 'pnacl_exception_handling_disabled/pnacl_exception_handling_disabled.cc', + ], + 'test_files': [ + 'pnacl_exception_handling_disabled/pnacl_exception_handling_disabled.html', + ], + }, + 'dependencies': [ + '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib', + '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib', + '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_exception_lib', + '<(DEPTH)/native_client/tools.gyp:prep_toolchain', + '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib', + '<(DEPTH)/ppapi/ppapi_untrusted.gyp:ppapi_cpp_lib', + 'ppapi_test_lib', + ], + }, + # Legacy NaCl PPAPI interface tests being here. + { + 'target_name': 'ppapi_ppb_core', + 'type': 'none', + 'variables': { + 'nexe_target': 'ppapi_ppb_core', + 'build_newlib': 1, + 'build_glibc': 1, + 'build_pnacl_newlib': 1, + 'nexe_destination_dir': 'nacl_test_data', + 'link_flags': [ + '-lppapi', + '-lppapi_test_lib', + '-lplatform', + '-lgio', + ], + 'sources': [ + 'ppapi/ppb_core/ppapi_ppb_core.cc', + ], + 'test_files': [ + 'ppapi/ppb_core/ppapi_ppb_core.html', + ], + }, + 'dependencies': [ + '<(DEPTH)/native_client/tools.gyp:prep_toolchain', + '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib', + '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib', + '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib', + '<(DEPTH)/ppapi/ppapi_untrusted.gyp:ppapi_cpp_lib', + 'ppapi_test_lib', + ], + }, + ], +} diff --git a/chromium/chrome/test/gpu/test_support_gpu.gypi b/chromium/chrome/test/gpu/test_support_gpu.gypi new file mode 100644 index 00000000000..f2c9b57a307 --- /dev/null +++ b/chromium/chrome/test/gpu/test_support_gpu.gypi @@ -0,0 +1,113 @@ +# Copyright (c) 2012 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. + +# This file is meant to be included into targets which run gpu tests. +{ + 'variables': { + 'test_list_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome/test/gpu', + 'src_dir': '../../..', + }, + 'dependencies': [ + 'browser', + 'chrome', + 'chrome_resources.gyp:chrome_resources', + 'chrome_resources.gyp:chrome_strings', + 'renderer', + 'test_support_common', + 'test_support_ui', + '<(src_dir)/base/base.gyp:base', + '<(src_dir)/base/base.gyp:test_support_base', + '<(src_dir)/net/net.gyp:net_test_support', + '<(src_dir)/skia/skia.gyp:skia', + '<(src_dir)/testing/gmock.gyp:gmock', + '<(src_dir)/testing/gtest.gyp:gtest', + '<(src_dir)/third_party/icu/icu.gyp:icui18n', + '<(src_dir)/third_party/icu/icu.gyp:icuuc', + ], + 'defines': [ + 'HAS_OUT_OF_PROC_TEST_RUNNER', + ], + 'include_dirs': [ + '<(src_dir)', + '<(test_list_out_dir)', + ], + 'sources': [ + '<(src_dir)/chrome/test/base/chrome_test_launcher.cc', + ], + # hard_dependency is necessary for this target because it has actions + # that generate a header file included by dependent targets. The header + # file must be generated before the dependents are compiled. The usual + # semantics are to allow the two targets to build concurrently. + 'hard_dependency': 1, + 'conditions': [ + ['OS=="win"', { + 'dependencies': [ + 'chrome_version_resources', + ], + 'include_dirs': [ + '<(DEPTH)/third_party/wtl/include', + ], + 'sources': [ + '<(src_dir)/chrome/app/chrome_dll.rc', + '<(src_dir)/chrome/app/chrome_dll_resource.h', + '<(src_dir)/chrome/app/chrome_version.rc.version', + '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/chrome_version/other_version.rc', + '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/webkit/blink_resources.rc', + ], + 'conditions': [ + ['win_use_allocator_shim==1', { + 'dependencies': [ + '<(allocator_target)', + ], + }], + ], + 'configurations': { + 'Debug': { + 'msvs_settings': { + 'VCLinkerTool': { + 'LinkIncremental': '<(msvs_large_module_debug_link_mode)', + }, + }, + }, + }, + }], + ['OS=="mac"', { + # See comments about "xcode_settings" elsewhere in this file. + 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']}, + }], + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '<(src_dir)/build/linux/system.gyp:gtk', + ], + }], + ['toolkit_uses_gtk == 1 or chromeos==1 or (OS=="linux" and use_aura==1)', { + 'dependencies': [ + '<(src_dir)/build/linux/system.gyp:ssl', + ], + }], + ['toolkit_views==1', { + 'dependencies': [ + '<(src_dir)/ui/views/views.gyp:views', + ], + }], + ['OS=="android"', { + 'dependencies!': [ + 'chrome', + ], + 'dependencies': [ + '<@(chromium_browser_dependencies)', + '<@(chromium_child_dependencies)', + '../content/content.gyp:content_app_both', + 'chrome_resources.gyp:packed_resources', + 'chrome_resources.gyp:packed_extra_resources', + ], + }], + ], +} diff --git a/chromium/chrome/test/security_tests/security_tests.gyp b/chromium/chrome/test/security_tests/security_tests.gyp new file mode 100644 index 00000000000..8362877a350 --- /dev/null +++ b/chromium/chrome/test/security_tests/security_tests.gyp @@ -0,0 +1,22 @@ +# Copyright (c) 2009 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. + +{ + 'variables': { + 'chromium_code': 1, + }, + 'targets': [ + { + 'target_name': 'security_tests', + 'type': 'shared_library', + 'sources': [ + '../../../sandbox/win/tests/validation_tests/commands.cc', + '../../../sandbox/win/tests/validation_tests/commands.h', + 'ipc_security_tests.cc', + 'ipc_security_tests.h', + 'security_tests.cc', + ], + }, + ], +} diff --git a/chromium/chrome/tools/build/repack_locales.py b/chromium/chrome/tools/build/repack_locales.py new file mode 100755 index 00000000000..a43e17177a8 --- /dev/null +++ b/chromium/chrome/tools/build/repack_locales.py @@ -0,0 +1,218 @@ +#!/usr/bin/env python +# Copyright (c) 2012 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. + +"""Helper script to repack paks for a list of locales. + +Gyp doesn't have any built-in looping capability, so this just provides a way to +loop over a list of locales when repacking pak files, thus avoiding a +proliferation of mostly duplicate, cut-n-paste gyp actions. +""" + +import optparse +import os +import sys + +sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', '..', + 'tools', 'grit')) +from grit.format import data_pack + +# The gyp "branding" variable. +BRANDING = None + +# Some build paths defined by gyp. +GRIT_DIR = None +SHARE_INT_DIR = None +INT_DIR = None + +# The target platform. If it is not defined, sys.platform will be used. +OS = None + +# Extra input files. +EXTRA_INPUT_FILES = [] + +class Usage(Exception): + def __init__(self, msg): + self.msg = msg + + +def calc_output(locale): + """Determine the file that will be generated for the given locale.""" + #e.g. '<(INTERMEDIATE_DIR)/repack/da.pak', + # For Fake Bidi, generate it at a fixed path so that tests can safely + # reference it. + if locale == 'fake-bidi': + return '%s/%s.pak' % (INT_DIR, locale) + if OS == 'mac' or OS == 'ios': + # For Cocoa to find the locale at runtime, it needs to use '_' instead + # of '-' (http://crbug.com/20441). Also, 'en-US' should be represented + # simply as 'en' (http://crbug.com/19165, http://crbug.com/25578). + if locale == 'en-US': + locale = 'en' + return '%s/repack/%s.lproj/locale.pak' % (INT_DIR, locale.replace('-', '_')) + else: + return os.path.join(INT_DIR, 'repack', locale + '.pak') + + +def calc_inputs(locale): + """Determine the files that need processing for the given locale.""" + inputs = [] + + #e.g. '<(grit_out_dir)/generated_resources_da.pak' + inputs.append(os.path.join(GRIT_DIR, 'generated_resources_%s.pak' % locale)) + + #e.g. '<(grit_out_dir)/locale_settings_da.pak' + inputs.append(os.path.join(GRIT_DIR, 'locale_settings_%s.pak' % locale)) + + #e.g. '<(grit_out_dir)/platform_locale_settings_da.pak' + inputs.append(os.path.join(GRIT_DIR, + 'platform_locale_settings_%s.pak' % locale)) + + #e.g. '<(SHARED_INTERMEDIATE_DIR)/components/strings/ + # component_strings_da.pak', + inputs.append(os.path.join(SHARE_INT_DIR, 'components', 'strings', + 'component_strings_%s.pak' % locale)) + + if OS != 'ios': + #e.g. '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_da.pak' + inputs.append(os.path.join(SHARE_INT_DIR, 'webkit', + 'webkit_strings_%s.pak' % locale)) + + #e.g. '<(SHARED_INTERMEDIATE_DIR)/ui/ui_strings_da.pak', + inputs.append(os.path.join(SHARE_INT_DIR, 'ui', 'ui_strings', + 'ui_strings_%s.pak' % locale)) + + #e.g. '<(SHARED_INTERMEDIATE_DIR)/ash_strings/ash_strings_da.pak', + inputs.append(os.path.join(SHARE_INT_DIR, 'ash_strings', + 'ash_strings_%s.pak' % locale)) + + #e.g. '<(SHARED_INTERMEDIATE_DIR)/device/bluetooth/strings/ + # device_bluetooth_strings_da.pak', + inputs.append(os.path.join(SHARE_INT_DIR, 'device', 'bluetooth', 'strings', + 'device_bluetooth_strings_%s.pak' % locale)) + + #e.g. '<(SHARED_INTERMEDIATE_DIR)/ui/app_locale_settings_da.pak', + inputs.append(os.path.join(SHARE_INT_DIR, 'ui', 'app_locale_settings', + 'app_locale_settings_%s.pak' % locale)) + + #e.g. '<(grit_out_dir)/google_chrome_strings_da.pak' + # or + # '<(grit_out_dir)/chromium_strings_da.pak' + inputs.append(os.path.join( + GRIT_DIR, '%s_strings_%s.pak' % (BRANDING, locale))) + + # Add any extra input files. + for extra_file in EXTRA_INPUT_FILES: + inputs.append('%s_%s.pak' % (extra_file, locale)) + + return inputs + + +def list_outputs(locales): + """Returns the names of files that will be generated for the given locales. + + This is to provide gyp the list of output files, so build targets can + properly track what needs to be built. + """ + outputs = [] + for locale in locales: + outputs.append(calc_output(locale)) + # Quote each element so filename spaces don't mess up gyp's attempt to parse + # it into a list. + return " ".join(['"%s"' % x for x in outputs]) + + +def list_inputs(locales): + """Returns the names of files that will be processed for the given locales. + + This is to provide gyp the list of input files, so build targets can properly + track their prerequisites. + """ + inputs = [] + for locale in locales: + inputs += calc_inputs(locale) + # Quote each element so filename spaces don't mess up gyp's attempt to parse + # it into a list. + return " ".join(['"%s"' % x for x in inputs]) + + +def repack_locales(locales): + """ Loop over and repack the given locales.""" + for locale in locales: + inputs = [] + inputs += calc_inputs(locale) + output = calc_output(locale) + data_pack.DataPack.RePack(output, inputs) + + +def DoMain(argv): + global BRANDING + global GRIT_DIR + global SHARE_INT_DIR + global INT_DIR + global OS + global EXTRA_INPUT_FILES + + parser = optparse.OptionParser("usage: %prog [options] locales") + parser.add_option("-i", action="store_true", dest="inputs", default=False, + help="Print the expected input file list, then exit.") + parser.add_option("-o", action="store_true", dest="outputs", default=False, + help="Print the expected output file list, then exit.") + parser.add_option("-g", action="store", dest="grit_dir", + help="GRIT build files output directory.") + parser.add_option("-x", action="store", dest="int_dir", + help="Intermediate build files output directory.") + parser.add_option("-s", action="store", dest="share_int_dir", + help="Shared intermediate build files output directory.") + parser.add_option("-b", action="store", dest="branding", + help="Branding type of this build.") + parser.add_option("-e", action="append", dest="extra_input", default=[], + help="Full path to an extra input pak file without the\ + locale suffix and \".pak\" extension.") + parser.add_option("-p", action="store", dest="os", + help="The target OS. (e.g. mac, linux, win, etc.)") + options, locales = parser.parse_args(argv) + + if not locales: + parser.error('Please specificy at least one locale to process.\n') + + print_inputs = options.inputs + print_outputs = options.outputs + GRIT_DIR = options.grit_dir + INT_DIR = options.int_dir + SHARE_INT_DIR = options.share_int_dir + BRANDING = options.branding + EXTRA_INPUT_FILES = options.extra_input + OS = options.os + + if not OS: + if sys.platform == 'darwin': + OS = 'mac' + elif sys.platform.startswith('linux'): + OS = 'linux' + elif sys.platform in ('cygwin', 'win32'): + OS = 'win' + else: + OS = sys.platform + + if not (GRIT_DIR and INT_DIR and SHARE_INT_DIR): + parser.error('Please specify all of "-g" and "-x" and "-s".\n') + if print_inputs and print_outputs: + parser.error('Please specify only one of "-i" or "-o".\n') + # Need to know the branding, unless we're just listing the outputs. + if not print_outputs and not BRANDING: + parser.error('Please specify "-b" to determine the input files.\n') + + if print_inputs: + return list_inputs(locales) + + if print_outputs: + return list_outputs(locales) + + return repack_locales(locales) + +if __name__ == '__main__': + results = DoMain(sys.argv[1:]) + if results: + print results diff --git a/chromium/chrome/tools/build/version.py b/chromium/chrome/tools/build/version.py new file mode 100755 index 00000000000..09604b7db98 --- /dev/null +++ b/chromium/chrome/tools/build/version.py @@ -0,0 +1,197 @@ +#!/usr/bin/env python +# Copyright (c) 2009 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. + +""" +version.py -- Chromium version string substitution utility. +""" + +import getopt +import os +import sys + + +class Usage(Exception): + def __init__(self, msg): + self.msg = msg + + +def fetch_values_from_file(values_dict, file_name): + """ + Fetches KEYWORD=VALUE settings from the specified file. + + Everything to the left of the first '=' is the keyword, + everything to the right is the value. No stripping of + white space, so beware. + + The file must exist, otherwise you get the Python exception from open(). + """ + for line in open(file_name, 'r').readlines(): + key, val = line.rstrip('\r\n').split('=', 1) + values_dict[key] = val + + +def fetch_values(file_list): + """ + Returns a dictionary of values to be used for substitution, populating + the dictionary with KEYWORD=VALUE settings from the files in 'file_list'. + + Explicitly adds the following value from internal calculations: + + OFFICIAL_BUILD + """ + CHROME_BUILD_TYPE = os.environ.get('CHROME_BUILD_TYPE') + if CHROME_BUILD_TYPE == '_official': + official_build = '1' + else: + official_build = '0' + + values = dict( + OFFICIAL_BUILD = official_build, + ) + + for file_name in file_list: + fetch_values_from_file(values, file_name) + + return values + + +def subst_template(contents, values): + """ + Returns the template with substituted values from the specified dictionary. + + Keywords to be substituted are surrounded by '@': @KEYWORD@. + + No attempt is made to avoid recursive substitution. The order + of evaluation is random based on the order of the keywords returned + by the Python dictionary. So do NOT substitute a value that + contains any @KEYWORD@ strings expecting them to be recursively + substituted, okay? + """ + for key, val in values.iteritems(): + try: + contents = contents.replace('@' + key + '@', val) + except TypeError: + print repr(key), repr(val) + return contents + + +def subst_file(file_name, values): + """ + Returns the contents of the specified file_name with substited + values from the specified dictionary. + + This is like subst_template, except it operates on a file. + """ + template = open(file_name, 'r').read() + return subst_template(template, values); + + +def write_if_changed(file_name, contents): + """ + Writes the specified contents to the specified file_name + iff the contents are different than the current contents. + """ + try: + old_contents = open(file_name, 'r').read() + except EnvironmentError: + pass + else: + if contents == old_contents: + return + os.unlink(file_name) + open(file_name, 'w').write(contents) + + +def main(argv=None): + if argv is None: + argv = sys.argv + + short_options = 'e:f:i:o:t:h' + long_options = ['eval=', 'file=', 'help'] + + helpstr = """\ +Usage: version.py [-h] [-f FILE] ([[-i] FILE] | -t TEMPLATE) [[-o] FILE] + + -f FILE, --file=FILE Read variables from FILE. + -i FILE, --input=FILE Read strings to substitute from FILE. + -o FILE, --output=FILE Write substituted strings to FILE. + -t TEMPLATE, --template=TEMPLATE Use TEMPLATE as the strings to substitute. + -e VAR=VAL, --eval=VAR=VAL Evaluate VAL after reading variables. Can + be used to synthesize variables. e.g. + -e 'PATCH_HI=int(PATCH)/256'. + -h, --help Print this help and exit. +""" + + evals = {} + variable_files = [] + in_file = None + out_file = None + template = None + + try: + try: + opts, args = getopt.getopt(argv[1:], short_options, long_options) + except getopt.error, msg: + raise Usage(msg) + for o, a in opts: + if o in ('-e', '--eval'): + try: + evals.update(dict([a.split('=',1)])) + except ValueError: + raise Usage("-e requires VAR=VAL") + elif o in ('-f', '--file'): + variable_files.append(a) + elif o in ('-i', '--input'): + in_file = a + elif o in ('-o', '--output'): + out_file = a + elif o in ('-t', '--template'): + template = a + elif o in ('-h', '--help'): + print helpstr + return 0 + while len(args) and (in_file is None or out_file is None or + template is None): + if in_file is None: + in_file = args.pop(0) + elif out_file is None: + out_file = args.pop(0) + if args: + msg = 'Unexpected arguments: %r' % args + raise Usage(msg) + except Usage, err: + sys.stderr.write(err.msg) + sys.stderr.write('; Use -h to get help.\n') + return 2 + + values = fetch_values(variable_files) + for key, val in evals.iteritems(): + values[key] = str(eval(val, globals(), values)) + + if template is not None: + contents = subst_template(template, values) + elif in_file: + contents = subst_file(in_file, values) + else: + # Generate a default set of version information. + contents = """MAJOR=%(MAJOR)s +MINOR=%(MINOR)s +BUILD=%(BUILD)s +PATCH=%(PATCH)s +LASTCHANGE=%(LASTCHANGE)s +OFFICIAL_BUILD=%(OFFICIAL_BUILD)s +""" % values + + + if out_file: + write_if_changed(out_file, contents) + else: + print contents + + return 0 + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/chromium/chrome/version.gypi b/chromium/chrome/version.gypi new file mode 100644 index 00000000000..f1af6fdc9bd --- /dev/null +++ b/chromium/chrome/version.gypi @@ -0,0 +1,18 @@ +# Copyright (c) 2012 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. + +{ + 'variables': { + 'variables': { + 'version_py_path': '<(DEPTH)/chrome/tools/build/version.py', + 'version_path': 'VERSION', + }, + 'version_py_path': '<(version_py_path)', + 'version_path': '<(version_path)', + 'version_full': + '