# Copyright 2015 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. import("//third_party/protobuf/proto_library.gni") if (is_win) { proto_library("stability_report_proto") { sources = [ "stability_report.proto", ] } static_library("browser_watcher") { # This is a separate lib to minimize the dependencies for its # hosting binary "chrome_watcher.dll". sources = [ "endsession_watcher_window_win.cc", "endsession_watcher_window_win.h", "exit_code_watcher_win.cc", "exit_code_watcher_win.h", "window_hang_monitor_win.cc", "window_hang_monitor_win.h", ] deps = [ "//base", ] } static_library("browser_watcher_client") { sources = [ "watcher_client_win.cc", "watcher_client_win.h", "watcher_metrics_provider_win.cc", "watcher_metrics_provider_win.h", ] deps = [ ":postmortem_report_collector", ":stability", "//base", "//components/metrics", "//third_party/crashpad/crashpad/client", ] } static_library("postmortem_minidump_writer") { # TODO(manzagop): remove this lib once Crashpad writes the minidumps. sources = [ "postmortem_minidump_writer.h", "postmortem_minidump_writer_win.cc", ] deps = [ ":stability_data", ":stability_report_proto", "//base", "//third_party/crashpad/crashpad/client", "//third_party/crashpad/crashpad/minidump", "//third_party/crashpad/crashpad/util", ] } static_library("postmortem_report_collector") { sources = [ "postmortem_report_collector.cc", "postmortem_report_collector.h", ] deps = [ ":postmortem_minidump_writer", ":stability_data", ":stability_report_proto", "//base", "//components/variations", "//third_party/crashpad/crashpad/client", "//third_party/crashpad/crashpad/util", ] } } static_library("stability") { sources = [ "features.cc", "features.h", "stability_debugging.cc", "stability_debugging.h", ] deps = [ "//base", ] } static_library("stability_data") { sources = [ "stability_data_names.cc", "stability_data_names.h", ] } if (is_win) { source_set("unit_tests") { testonly = true sources = [ "endsession_watcher_window_win_unittest.cc", "exit_code_watcher_win_unittest.cc", "postmortem_minidump_writer_win_unittest.cc", "postmortem_report_collector_unittest.cc", "watcher_client_win_unittest.cc", "watcher_metrics_provider_win_unittest.cc", "window_hang_monitor_win_unittest.cc", ] configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] deps = [ ":browser_watcher", ":browser_watcher_client", ":postmortem_minidump_writer", ":postmortem_report_collector", ":stability_data", ":stability_report_proto", "//base", "//base/test:test_support", "//testing/gmock", "//testing/gtest", "//third_party/crashpad/crashpad/client", # TODO(manzagop): remove this lib once Crashpad writes the minidumps. "//third_party/crashpad/crashpad/compat", "//third_party/crashpad/crashpad/minidump", "//third_party/crashpad/crashpad/snapshot", "//third_party/crashpad/crashpad/util", ] } executable("dump_postmortem") { sources = [ "dump_postmortem_minidump_main_win.cc", ] deps = [ ":stability_report_proto", "//base", ] } }