| # Copyright 2014 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/chromeos/ui_mode.gni") |
| import("//build/config/features.gni") |
| import("//components/guest_view/buildflags/buildflags.gni") |
| import("//components/nacl/features.gni") |
| import("//extensions/buildflags/buildflags.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| import("//testing/libfuzzer/fuzzer_test.gni") |
| |
| assert(enable_extensions_core) |
| |
| # If enable_extensions is true then enable_guest_view must also be true. |
| assert(!enable_extensions || enable_guest_view) |
| |
| group("common_constants") { |
| if (is_component_build) { |
| public_deps = [ "//extensions" ] |
| } else { |
| public_deps = [ ":constants_impl" ] |
| } |
| } |
| |
| group("export") { |
| if (is_component_build) { |
| public_deps = [ "//extensions" ] |
| } else { |
| public_deps = [ ":export_impl" ] |
| } |
| } |
| |
| source_set("export_impl") { |
| visibility = [ |
| "//extensions", |
| "//extensions/common:*", |
| ] |
| |
| configs += [ "//extensions:component_implementation" ] |
| |
| sources = [ "extensions_export.h" ] |
| } |
| |
| source_set("constants_impl") { |
| visibility = [ |
| "//extensions", |
| "//extensions/common:common_constants", |
| ] |
| |
| configs += [ "//extensions:component_implementation" ] |
| |
| sources = [ |
| "constants.cc", |
| "constants.h", |
| "logging_constants.h", |
| ] |
| |
| public_deps = [ |
| "//base", |
| "//build:chromeos_buildflags", |
| "//extensions/common:export_impl", |
| ] |
| |
| deps = [ "//build:chromecast_buildflags" ] |
| |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| } |
| |
| source_set("extension_features") { |
| sources = [ |
| "extension_features.cc", |
| "extension_features.h", |
| ] |
| public_deps = [ |
| "//base", |
| "//build:branding_buildflags", |
| "//extensions/buildflags", |
| ] |
| } |
| |
| mojom("mojom") { |
| # We don't want Blink variants of bindings to be generated. |
| disable_variants = true |
| |
| sources = [ |
| "mojom/api_permission_id.mojom", |
| "mojom/app_window.mojom", |
| "mojom/automation_registry.mojom", |
| "mojom/channel.mojom", |
| "mojom/code_injection.mojom", |
| "mojom/context_type.mojom", |
| "mojom/css_origin.mojom", |
| "mojom/event_dispatcher.mojom", |
| "mojom/event_router.mojom", |
| "mojom/execution_world.mojom", |
| "mojom/extension_id.mojom", |
| "mojom/extra_response_data.mojom", |
| "mojom/feature_session_type.mojom", |
| "mojom/frame.mojom", |
| "mojom/host_id.mojom", |
| "mojom/injection_type.mojom", |
| "mojom/keep_alive.mojom", |
| "mojom/manifest.mojom", |
| "mojom/match_origin_as_fallback.mojom", |
| "mojom/message_port.mojom", |
| "mojom/permission_set.mojom", |
| "mojom/renderer.mojom", |
| "mojom/renderer_host.mojom", |
| "mojom/run_location.mojom", |
| "mojom/service_worker.mojom", |
| "mojom/service_worker_host.mojom", |
| "mojom/stack_frame.mojom", |
| "mojom/url_pattern_set.mojom", |
| "mojom/view_type.mojom", |
| ] |
| |
| public_deps = [ |
| "//content/public/common:interfaces", |
| "//extensions/common/api:mojom", |
| "//mojo/public/mojom/base", |
| "//services/accessibility/public/mojom:automation", |
| "//third_party/blink/public/mojom:mojom_core", |
| "//ui/gfx/geometry/mojom", |
| "//url/mojom:url_mojom_gurl", |
| ] |
| |
| if (enable_guest_view) { |
| sources += [ "mojom/guest_view.mojom" ] |
| } |
| |
| cpp_typemaps = [ |
| { |
| types = [ |
| { |
| mojom = "extensions.mojom.Channel" |
| cpp = "version_info::Channel" |
| }, |
| ] |
| traits_headers = [ "//extensions/common/mojom/channel_mojom_traits.h" ] |
| traits_public_deps = [ "//components/version_info:channel" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "extensions.mojom.APIPermission" |
| cpp = "::std::unique_ptr<::extensions::APIPermission>" |
| move_only = true |
| }, |
| { |
| mojom = "extensions.mojom.APIPermissionSet" |
| cpp = "::extensions::APIPermissionSet" |
| move_only = true |
| }, |
| { |
| mojom = "extensions.mojom.ManifestPermission" |
| cpp = "::std::unique_ptr<::extensions::ManifestPermission>" |
| move_only = true |
| }, |
| { |
| mojom = "extensions.mojom.ManifestPermissionSet" |
| cpp = "::extensions::ManifestPermissionSet" |
| move_only = true |
| }, |
| { |
| mojom = "extensions.mojom.PermissionSet" |
| cpp = "::extensions::PermissionSet" |
| move_only = true |
| }, |
| ] |
| traits_headers = |
| [ "//extensions/common/mojom/permission_set_mojom_traits.h" ] |
| traits_sources = |
| [ "//extensions/common/mojom/permission_set_mojom_traits.cc" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "extensions.mojom.URLPattern" |
| cpp = "::URLPattern" |
| }, |
| { |
| mojom = "extensions.mojom.URLPatternSet" |
| cpp = "::extensions::URLPatternSet" |
| move_only = true |
| }, |
| ] |
| traits_headers = |
| [ "//extensions/common/mojom/url_pattern_set_mojom_traits.h" ] |
| traits_sources = |
| [ "//extensions/common/mojom/url_pattern_set_mojom_traits.cc" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "extensions.mojom.StackFrame" |
| cpp = "::extensions::StackFrame" |
| }, |
| ] |
| traits_headers = |
| [ "//extensions/common/mojom/stack_frame_mojom_traits.h" ] |
| traits_sources = |
| [ "//extensions/common/mojom/stack_frame_mojom_traits.cc" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "extensions.mojom.ExtensionId" |
| cpp = "::extensions::ExtensionId" |
| }, |
| ] |
| traits_headers = |
| [ "//extensions/common/mojom/extension_id_mojom_traits.h" ] |
| |
| traits_sources = |
| [ "//extensions/common/mojom/extension_id_mojom_traits.cc" ] |
| traits_public_deps = [ |
| "//components/crx_file", |
| "//mojo/public/cpp/bindings", |
| ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "extensions.mojom.Message" |
| cpp = "::extensions::Message" |
| move_only = true |
| }, |
| { |
| mojom = "extensions.mojom.PortId" |
| cpp = "::extensions::PortId" |
| }, |
| { |
| mojom = "extensions.mojom.MessagingEndpoint" |
| cpp = "::extensions::MessagingEndpoint" |
| }, |
| ] |
| traits_headers = |
| [ "//extensions/common/mojom/message_port_mojom_traits.h" ] |
| traits_sources = |
| [ "//extensions/common/mojom/message_port_mojom_traits.cc" ] |
| }, |
| ] |
| overridden_deps = [ |
| "//content/public/common:interfaces", |
| "//third_party/blink/public/mojom:mojom_core", |
| ] |
| |
| component_deps = [ "//content/public/common" ] |
| } |
| |
| # This must be a static library because extensions common depends on |
| # GetTrustedICAPublicKey in extensions/browser which isn't always linked |
| # in. TODO(brettw): This reverse dependency should be fixed. |
| static_library("common") { |
| sources = [ |
| "alias.h", |
| "api/bluetooth/bluetooth_manifest_data.cc", |
| "api/bluetooth/bluetooth_manifest_data.h", |
| "api/bluetooth/bluetooth_manifest_handler.cc", |
| "api/bluetooth/bluetooth_manifest_handler.h", |
| "api/bluetooth/bluetooth_manifest_permission.cc", |
| "api/bluetooth/bluetooth_manifest_permission.h", |
| "api/commands/commands_handler.cc", |
| "api/commands/commands_handler.h", |
| "api/declarative/declarative_constants.cc", |
| "api/declarative/declarative_constants.h", |
| "api/declarative/declarative_manifest_data.cc", |
| "api/declarative/declarative_manifest_data.h", |
| "api/declarative/declarative_manifest_handler.cc", |
| "api/declarative/declarative_manifest_handler.h", |
| "api/declarative_net_request/constants.cc", |
| "api/declarative_net_request/constants.h", |
| "api/declarative_net_request/dnr_manifest_data.cc", |
| "api/declarative_net_request/dnr_manifest_data.h", |
| "api/declarative_net_request/dnr_manifest_handler.cc", |
| "api/declarative_net_request/dnr_manifest_handler.h", |
| "api/extension_action/action_info.cc", |
| "api/extension_action/action_info.h", |
| "api/messaging/message.h", |
| "api/messaging/messaging_endpoint.cc", |
| "api/messaging/messaging_endpoint.h", |
| "api/messaging/port_context.cc", |
| "api/messaging/port_context.h", |
| "api/messaging/port_id.cc", |
| "api/messaging/port_id.h", |
| "api/printer_provider/usb_printer_manifest_data.cc", |
| "api/printer_provider/usb_printer_manifest_data.h", |
| "api/printer_provider/usb_printer_manifest_handler.cc", |
| "api/printer_provider/usb_printer_manifest_handler.h", |
| "api/scripts_internal/script_serialization.cc", |
| "api/scripts_internal/script_serialization.h", |
| "api/sockets/sockets_manifest_data.cc", |
| "api/sockets/sockets_manifest_data.h", |
| "api/sockets/sockets_manifest_handler.cc", |
| "api/sockets/sockets_manifest_handler.h", |
| "api/sockets/sockets_manifest_permission.cc", |
| "api/sockets/sockets_manifest_permission.h", |
| "api/web_request/web_request_activity_log_constants.cc", |
| "api/web_request/web_request_activity_log_constants.h", |
| "command.cc", |
| "command.h", |
| "common_manifest_handlers.cc", |
| "common_manifest_handlers.h", |
| "common_param_traits.h", |
| "content_script_injection_url_getter.cc", |
| "content_script_injection_url_getter.h", |
| "context_data.h", |
| "cors_util.cc", |
| "cors_util.h", |
| "crash_keys.cc", |
| "crash_keys.h", |
| "csp_validator.cc", |
| "csp_validator.h", |
| "dom_action_types.h", |
| "error_utils.cc", |
| "error_utils.h", |
| "event_filter.cc", |
| "event_filter.h", |
| "event_matcher.cc", |
| "event_matcher.h", |
| "extension.cc", |
| "extension.h", |
| "extension_api.cc", |
| "extension_api.h", |
| "extension_id.h", |
| "extension_l10n_util.cc", |
| "extension_l10n_util.h", |
| "extension_paths.cc", |
| "extension_paths.h", |
| "extension_resource.cc", |
| "extension_resource.h", |
| "extension_resource_path_normalizer.cc", |
| "extension_resource_path_normalizer.h", |
| "extension_set.cc", |
| "extension_set.h", |
| "extension_updater_uma.h", |
| "extension_urls.cc", |
| "extension_urls.h", |
| "extension_utility_types.h", |
| "extensions_client.cc", |
| "extensions_client.h", |
| "feature_switch.cc", |
| "feature_switch.h", |
| "features/behavior_feature.cc", |
| "features/behavior_feature.h", |
| "features/complex_feature.cc", |
| "features/complex_feature.h", |
| "features/feature.cc", |
| "features/feature.h", |
| "features/feature_channel.cc", |
| "features/feature_channel.h", |
| "features/feature_developer_mode_only.cc", |
| "features/feature_developer_mode_only.h", |
| "features/feature_flags.cc", |
| "features/feature_flags.h", |
| "features/feature_provider.cc", |
| "features/feature_provider.h", |
| "features/feature_session_type.cc", |
| "features/feature_session_type.h", |
| "features/json_feature_provider_source.cc", |
| "features/json_feature_provider_source.h", |
| "features/manifest_feature.cc", |
| "features/manifest_feature.h", |
| "features/permission_feature.cc", |
| "features/permission_feature.h", |
| "features/simple_feature.cc", |
| "features/simple_feature.h", |
| "file_util.cc", |
| "file_util.h", |
| "frame_context_data.h", |
| "hashed_extension_id.cc", |
| "hashed_extension_id.h", |
| "icons/extension_icon_set.cc", |
| "icons/extension_icon_set.h", |
| "icons/extension_icon_variant.cc", |
| "icons/extension_icon_variant.h", |
| "icons/extension_icon_variants.cc", |
| "icons/extension_icon_variants.h", |
| "icons/extension_icon_variants_diagnostics.cc", |
| "icons/extension_icon_variants_diagnostics.h", |
| "image_util.cc", |
| "image_util.h", |
| "install_warning.cc", |
| "install_warning.h", |
| "manifest.cc", |
| "manifest.h", |
| "manifest_constants.h", |
| "manifest_handler.cc", |
| "manifest_handler.h", |
| "manifest_handler_helpers.cc", |
| "manifest_handler_helpers.h", |
| "manifest_handler_registry.cc", |
| "manifest_handler_registry.h", |
| "manifest_handlers/app_display_info.cc", |
| "manifest_handlers/app_display_info.h", |
| "manifest_handlers/automation.cc", |
| "manifest_handlers/automation.h", |
| "manifest_handlers/background_info.cc", |
| "manifest_handlers/background_info.h", |
| "manifest_handlers/content_capabilities_handler.cc", |
| "manifest_handlers/content_capabilities_handler.h", |
| "manifest_handlers/content_scripts_handler.cc", |
| "manifest_handlers/content_scripts_handler.h", |
| "manifest_handlers/cross_origin_isolation_info.cc", |
| "manifest_handlers/cross_origin_isolation_info.h", |
| "manifest_handlers/csp_info.cc", |
| "manifest_handlers/csp_info.h", |
| "manifest_handlers/default_locale_handler.cc", |
| "manifest_handlers/default_locale_handler.h", |
| "manifest_handlers/extension_action_handler.cc", |
| "manifest_handlers/extension_action_handler.h", |
| "manifest_handlers/externally_connectable.cc", |
| "manifest_handlers/externally_connectable.h", |
| "manifest_handlers/file_handler_info.cc", |
| "manifest_handlers/file_handler_info.h", |
| "manifest_handlers/icon_variants_handler.cc", |
| "manifest_handlers/icon_variants_handler.h", |
| "manifest_handlers/icons_handler.cc", |
| "manifest_handlers/icons_handler.h", |
| "manifest_handlers/incognito_info.cc", |
| "manifest_handlers/incognito_info.h", |
| "manifest_handlers/kiosk_mode_info.cc", |
| "manifest_handlers/kiosk_mode_info.h", |
| "manifest_handlers/mime_types_handler.cc", |
| "manifest_handlers/mime_types_handler.h", |
| "manifest_handlers/oauth2_manifest_handler.cc", |
| "manifest_handlers/oauth2_manifest_handler.h", |
| "manifest_handlers/offline_enabled_info.cc", |
| "manifest_handlers/offline_enabled_info.h", |
| "manifest_handlers/options_page_info.cc", |
| "manifest_handlers/options_page_info.h", |
| "manifest_handlers/permissions_parser.cc", |
| "manifest_handlers/permissions_parser.h", |
| "manifest_handlers/replacement_apps.cc", |
| "manifest_handlers/replacement_apps.h", |
| "manifest_handlers/requirements_info.cc", |
| "manifest_handlers/requirements_info.h", |
| "manifest_handlers/sandboxed_page_info.cc", |
| "manifest_handlers/sandboxed_page_info.h", |
| "manifest_handlers/shared_module_info.cc", |
| "manifest_handlers/shared_module_info.h", |
| "manifest_handlers/trial_tokens_handler.cc", |
| "manifest_handlers/trial_tokens_handler.h", |
| "manifest_handlers/web_accessible_resources_info.cc", |
| "manifest_handlers/web_accessible_resources_info.h", |
| "manifest_handlers/web_file_handlers_info.cc", |
| "manifest_handlers/web_file_handlers_info.h", |
| "manifest_handlers/webview_info.cc", |
| "manifest_handlers/webview_info.h", |
| "manifest_url_handlers.cc", |
| "manifest_url_handlers.h", |
| "message_bundle.cc", |
| "message_bundle.h", |
| "permissions/api_permission.cc", |
| "permissions/api_permission.h", |
| "permissions/api_permission_set.cc", |
| "permissions/api_permission_set.h", |
| "permissions/base_set_operators.h", |
| "permissions/extensions_api_permissions.cc", |
| "permissions/extensions_api_permissions.h", |
| "permissions/manifest_permission.cc", |
| "permissions/manifest_permission.h", |
| "permissions/manifest_permission_set.cc", |
| "permissions/manifest_permission_set.h", |
| "permissions/permission_message.cc", |
| "permissions/permission_message.h", |
| "permissions/permission_message_provider.cc", |
| "permissions/permission_message_provider.h", |
| "permissions/permission_message_util.cc", |
| "permissions/permission_message_util.h", |
| "permissions/permission_set.cc", |
| "permissions/permission_set.h", |
| "permissions/permissions_data.cc", |
| "permissions/permissions_data.h", |
| "permissions/permissions_info.cc", |
| "permissions/permissions_info.h", |
| "permissions/set_disjunction_permission.h", |
| "permissions/settings_override_permission.cc", |
| "permissions/settings_override_permission.h", |
| "permissions/socket_permission.cc", |
| "permissions/socket_permission.h", |
| "permissions/socket_permission_data.cc", |
| "permissions/socket_permission_data.h", |
| "permissions/socket_permission_entry.cc", |
| "permissions/socket_permission_entry.h", |
| "permissions/usb_device_permission.cc", |
| "permissions/usb_device_permission.h", |
| "permissions/usb_device_permission_data.cc", |
| "permissions/usb_device_permission_data.h", |
| "process_context_data.h", |
| "stack_frame.cc", |
| "stack_frame.h", |
| "switches.cc", |
| "switches.h", |
| "trace_util.cc", |
| "trace_util.h", |
| "url_pattern.cc", |
| "url_pattern.h", |
| "url_pattern_set.cc", |
| "url_pattern_set.h", |
| "user_script.cc", |
| "user_script.h", |
| "user_scripts_allowed_state.cc", |
| "user_scripts_allowed_state.h", |
| "user_scripts_availability.cc", |
| "user_scripts_availability.h", |
| "utils/base_string.cc", |
| "utils/base_string.h", |
| "utils/content_script_utils.cc", |
| "utils/content_script_utils.h", |
| "utils/extension_types_utils.cc", |
| "utils/extension_types_utils.h", |
| "utils/extension_utils.cc", |
| "utils/extension_utils.h", |
| "value_counter.cc", |
| "value_counter.h", |
| "verifier_formats.cc", |
| "verifier_formats.h", |
| "view_type_util.cc", |
| "view_type_util.h", |
| "web_file_handler_constants.h", |
| ] |
| |
| configs += [ |
| "//build/config:precompiled_headers", |
| "//build/config/compiler:wexit_time_destructors", |
| ] |
| |
| public_deps = [ |
| ":common_constants", |
| ":extension_features", |
| ":mojom", |
| "//components/services/app_service", |
| "//content/public/common", |
| "//ipc", |
| "//skia", |
| ] |
| |
| # Allows including manifest_handler.h and permissions/permissions_info.h |
| # from mojom/permission_set_mojom_traits.cc. |
| allow_circular_includes_from = [ ":mojom" ] |
| |
| deps = [ |
| "//base", |
| "//build:android_buildflags", |
| "//build:branding_buildflags", |
| "//build:chromeos_buildflags", |
| "//components/crash/core/common", |
| "//components/crx_file", |
| "//components/nacl/common:buildflags", |
| "//components/pdf/common:util", |
| "//components/safe_browsing/core/common", |
| "//components/safe_browsing/core/common/hashprefix_realtime:hash_realtime_utils", |
| "//components/url_formatter", |
| "//components/url_matcher", |
| "//components/version_info", |
| "//crypto", |
| "//device/bluetooth", |
| "//device/bluetooth/public/cpp", |
| "//extensions/common/api", |
| "//extensions/strings", |
| "//net", |
| "//services/device/public/cpp/usb", |
| "//services/device/public/mojom:usb", |
| "//services/network/public/mojom", |
| "//third_party/boringssl", |
| "//third_party/icu", |
| "//third_party/re2", |
| "//third_party/zlib/google:compression_utils", |
| "//tools/json_schema_compiler:generated_api_util", |
| "//ui/base", |
| "//ui/gfx/geometry", |
| "//ui/gfx/ipc", |
| "//ui/gfx/ipc/geometry", |
| "//ui/gfx/ipc/skia", |
| "//url", |
| ] |
| |
| if (enable_extensions) { |
| deps += [ "//extensions:extensions_resources" ] |
| } |
| |
| if (enable_nacl) { |
| sources += [ |
| "manifest_handlers/nacl_modules_handler.cc", |
| "manifest_handlers/nacl_modules_handler.h", |
| ] |
| } |
| |
| if (is_chromeos) { |
| sources += [ |
| "manifest_handlers/input_components_handler.cc", |
| "manifest_handlers/input_components_handler.h", |
| ] |
| } |
| } |
| |
| # NOTE: This is separate from ":common" because it depends on |
| # extensions/common/api:extensions_features, which in turn depends on |
| # :common. |
| source_set("core_api_provider") { |
| sources = [ |
| "core_extensions_api_provider.cc", |
| "core_extensions_api_provider.h", |
| ] |
| |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| deps = [ |
| ":common", |
| "//extensions:extensions_resources", |
| "//extensions/common/api", |
| "//extensions/common/api:extensions_features", |
| ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| sources = [ |
| "api/declarative_net_request/test_utils.cc", |
| "api/declarative_net_request/test_utils.h", |
| "api/extension_action/action_info_test_util.cc", |
| "api/extension_action/action_info_test_util.h", |
| "warnings_test_util.cc", |
| "warnings_test_util.h", |
| ] |
| |
| deps = [ |
| ":common", |
| "//base", |
| "//base/test:test_support", |
| "//components/version_info:channel", |
| "//extensions/common/api", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "api/commands/commands_manifest_unittest.cc", |
| "api/declarative/declarative_manifest_unittest.cc", |
| "api/declarative_net_request/dnr_manifest_unittest.cc", |
| "api/messaging/messaging_endpoint_unittest.cc", |
| "api/printer_provider/usb_printer_manifest_unittest.cc", |
| "api/scripts_internal/script_serialization_unittest.cc", |
| "api/sockets/sockets_manifest_permission_unittest.cc", |
| "command_unittest.cc", |
| "component_extension_url_pattern_unittest.cc", |
| "crash_keys_unittest.cc", |
| "csp_validator_unittest.cc", |
| "error_utils_unittest.cc", |
| "event_filter_unittest.cc", |
| "extension_builder_unittest.cc", |
| "extension_l10n_util_unittest.cc", |
| "extension_resource_path_normalizer_unittest.cc", |
| "extension_resource_unittest.cc", |
| "extension_set_unittest.cc", |
| "extension_unittest.cc", |
| "extension_urls_unittest.cc", |
| "feature_switch_unittest.cc", |
| "features/complex_feature_unittest.cc", |
| "features/feature_provider_unittest.cc", |
| "features/simple_feature_unittest.cc", |
| "file_util_unittest.cc", |
| "hashed_extension_id_unittest.cc", |
| "icons/extension_icon_set_unittest.cc", |
| "image_util_unittest.cc", |
| "manifest_handler_perf_test.cc", |
| "manifest_handler_unittest.cc", |
| "manifest_handlers/content_capabilities_manifest_unittest.cc", |
| "manifest_handlers/csp_info_unittest.cc", |
| "manifest_handlers/default_locale_manifest_unittest.cc", |
| "manifest_handlers/extension_action_handler_unittest.cc", |
| "manifest_handlers/extension_action_page_action_unittest.cc", |
| "manifest_handlers/extension_manifests_icon_variants_unittest.cc", |
| "manifest_handlers/externally_connectable_unittest.cc", |
| "manifest_handlers/homepage_url_unittest.cc", |
| "manifest_handlers/icons_handler_unittest.cc", |
| "manifest_handlers/incognito_manifest_unittest.cc", |
| "manifest_handlers/kiosk_mode_info_unittest.cc", |
| "manifest_handlers/manifest_url_about_unittest.cc", |
| "manifest_handlers/manifest_v3_permissions_unittest.cc", |
| "manifest_handlers/mime_types_handler_unittest.cc", |
| "manifest_handlers/oauth2_manifest_unittest.cc", |
| "manifest_handlers/replacement_apps_unittest.cc", |
| "manifest_handlers/requirements_unittest.cc", |
| "manifest_handlers/shared_module_manifest_unittest.cc", |
| "manifest_handlers/trial_tokens_unittest.cc", |
| "manifest_handlers/update_url_unittest.cc", |
| "manifest_unittest.cc", |
| "message_bundle_unittest.cc", |
| "mojom/event_router_mojom_unittest.cc", |
| "mojom/extension_id_mojom_traits_unittest.cc", |
| "mojom/message_port_mojom_traits_unittest.cc", |
| "mojom/permission_set_mojom_traits_unittest.cc", |
| "mojom/renderer_host_mojom_unittest.cc", |
| "mojom/renderer_mojom_unittest.cc", |
| "mojom/service_worker_host_mojom_unittest.cc", |
| "mojom/url_pattern_set_mojom_traits_unittest.cc", |
| "permissions/api_permission_set_unittest.cc", |
| "permissions/api_permission_unittest.cc", |
| "permissions/base_set_operators_unittest.cc", |
| "permissions/manifest_permission_set_unittest.cc", |
| "permissions/socket_permission_unittest.cc", |
| "permissions/usb_device_permission_unittest.cc", |
| "stack_frame_unittest.cc", |
| "url_pattern_set_unittest.cc", |
| "url_pattern_unittest.cc", |
| "user_script_unittest.cc", |
| "utils/extension_types_utils_unittest.cc", |
| "value_counter_unittest.cc", |
| ] |
| |
| deps = [ |
| ":common", |
| ":test_support", |
| "//base", |
| "//base:i18n", |
| "//base/test:test_support", |
| "//build:android_buildflags", |
| "//components/crx_file", |
| "//components/version_info:version_info", |
| "//content/test:test_support", |
| "//extensions:extensions_resources", |
| "//extensions/common:mojom", |
| "//extensions/common/api", |
| "//mojo/public/cpp/test_support:test_utils", |
| "//tools/json_schema_compiler:generated_api_util", |
| |
| # TODO(brettw) these tests should not be including headers from browser. |
| "//extensions:test_support", |
| "//extensions/browser", |
| "//extensions/strings", |
| "//ipc", |
| "//services/device/public/cpp:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/zlib/google:compression_utils", |
| "//ui/base", |
| "//ui/gfx", |
| "//url", |
| ] |
| |
| if (is_chromeos) { |
| sources += [ "manifest_handlers/file_handler_manifest_unittest.cc" ] |
| } |
| |
| data = [ |
| "//extensions/common/mojom/api_permission_id.mojom", |
| "//tools/metrics/histograms/metadata/extensions/enums.xml", |
| ] |
| } |
| |
| # TODO(https://crbug.com/356905053): Gradually include more of these sources |
| # in the desktop-android build. |
| if (enable_extensions) { |
| fuzzer_test("extension_fuzzer") { |
| sources = [ "extension_fuzzer.cc" ] |
| deps = [ |
| ":common", |
| "//base", |
| ] |
| } |
| |
| fuzzer_test("extension_manifest_fuzzer") { |
| sources = [ "manifest_fuzzer.cc" ] |
| deps = [ |
| ":common", |
| "//base", |
| "//content/public/common", |
| "//content/test:test_support", |
| "//extensions:test_support", |
| ] |
| |
| # The fuzzed code needs more RAM that the default limit. |
| libfuzzer_options = [ "rss_limit_mb=4096" ] |
| } |
| |
| fuzzer_test("extension_url_pattern_fuzzer") { |
| sources = [ "url_pattern_fuzzer.cc" ] |
| deps = [ |
| ":common", |
| "//base", |
| ] |
| } |
| |
| fuzzer_test("extension_csp_validator_fuzzer") { |
| sources = [ "csp_validator_fuzzer.cc" ] |
| deps = [ |
| ":common", |
| "//base", |
| "//third_party/icu/fuzzers:fuzzer_support", |
| ] |
| |
| # The fuzzed code needs more RAM that the default limit. |
| libfuzzer_options = [ "rss_limit_mb=4096" ] |
| } |
| |
| fuzzer_test("extension_api_scripts_internal_serialization_fuzzer") { |
| sources = [ "api/scripts_internal/script_serialization_fuzzer.cc" ] |
| deps = [ |
| ":common", |
| "//base", |
| "//extensions:test_support", |
| "//extensions/common/api", |
| "//third_party/abseil-cpp:absl", |
| "//third_party/icu/fuzzers:fuzzer_support", |
| ] |
| |
| # The fuzzed code needs more RAM that the default limit. |
| libfuzzer_options = [ "rss_limit_mb=4096" ] |
| } |
| } |