| # 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") |
| |
| 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_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_report_proto", |
| "//base", |
| "//third_party/crashpad/crashpad/client", |
| "//third_party/crashpad/crashpad/util", |
| ] |
| } |
| |
| static_library("stability") { |
| sources = [ |
| "features.cc", |
| "features.h", |
| "stability_debugging_win.cc", |
| "stability_debugging_win.h", |
| ] |
| deps = [ |
| "//base", |
| ] |
| } |
| |
| 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_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", |
| ] |
| } |