| # 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/cast.gni") |
| |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| import("//third_party/jni_zero/jni_zero.gni") |
| } |
| |
| # TODO(crbug.com/40188745): Complete crash reporting integration on Fuchsia. |
| assert(!is_fuchsia) |
| |
| if (is_android) { |
| generate_jni("jni_headers") { |
| sources = [ |
| "../../android/java/src/org/chromium/components/crash/browser/ChildProcessCrashObserver.java", |
| "../../android/java/src/org/chromium/components/crash/browser/ProcessExitReasonFromSystem.java", |
| ] |
| } |
| } |
| |
| source_set("browser") { |
| sources = [] |
| |
| deps = [ |
| "//base", |
| "//components/crash/core/app", |
| "//content/public/browser", |
| "//content/public/common", |
| ] |
| |
| if (is_castos || is_android) { |
| sources += [ |
| "crash_handler_host_linux.cc", |
| "crash_handler_host_linux.h", |
| ] |
| } |
| |
| if (is_castos) { |
| configs += [ "//third_party/breakpad:client_config" ] |
| public_configs = [ "//third_party/breakpad:client_config" ] |
| deps += [ "//third_party/breakpad:client" ] |
| } |
| |
| if (is_android) { |
| sources += [ |
| "child_exit_observer_android.cc", |
| "child_exit_observer_android.h", |
| "child_process_crash_observer_android.cc", |
| "child_process_crash_observer_android.h", |
| "crash_memory_metrics_collector_android.cc", |
| "crash_memory_metrics_collector_android.h", |
| "crash_metrics_reporter_android.cc", |
| "crash_metrics_reporter_android.h", |
| "process_exit_reason_from_system_android.cc", |
| "process_exit_reason_from_system_android.h", |
| ] |
| deps += [ |
| ":jni_headers", |
| "//mojo/public/cpp/bindings", |
| "//third_party/crashpad/crashpad/client", |
| ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [] |
| if (is_android) { |
| sources += [ "crash_metrics_reporter_android_unittest.cc" ] |
| } |
| deps = [ |
| ":browser", |
| "//base/test:test_support", |
| "//testing/gtest", |
| ] |
| } |