commit | f890e4b5495ab693d2d37aec3c378239946154f7 | [log] [tgz] |
---|---|---|
author | Joshua Peraza <jperaza@chromium.org> | Thu Jan 03 19:19:02 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Jan 03 19:19:02 2019 |
tree | fa90f707ff28b3ffe2133cc78d10523ecb789aaa | |
parent | 2107bd87a87c143ea061fabac0997b13a6b61496 [diff] |
Enable Crashpad for Android Overview: This CL disables Breakpad for Chrome, Content Shell, WebView, and Chromecast on Android and replaces it with Crashpad. When a crash signal is received, the browser forks+execs a Crashpad handler process either for itself or on behalf of a crashing child to create a crash dump. components/crash/ - Remove CrashDumpManager. Minidump creation is handled entirely by Crashpad. - Remove OnChildStart from ChildExitObserver as it is no longer necessary. - ChildExitObserver observers CrashHandlerHost to be notified when child processes receive crash signals. - De-duplicate calls to ChildExitObserver::Client::OnChildExit when NOTIFICATION_RENDER_PROCESS_{CLOSED, TERMINATED} are both sent. components/minidump_uploader/ - Uploaders expect crash reports to already be MIME encoded since Breakpad was doing that in a signal handler call-back. CrashFileManager now automatically calls into native code to do the encoding and write to a directory of crash reports whenever it checks for reports without logcats. chrome/app/*.{cc,h} chrome/browser/*.cc content/shell/app/*.{cc,h} content/shell/browser/*.cc - Initialize Crashpad instead of Breakpad, with minor cleanup and adjustment for changes to CrashDumpObserver. chrome/browser/metrics/oom/out_of_memory_reporter_unittest.cc - Simulate crashes/exits with NOTIFICATION_RENDER_PROCESS_{CREATED, CLOSED} and signals sent to ChildExitObserver instead of a crash dump. android_webview/ - AwBrowserTerminator now observes child process crashes via ChildExitObserver rather than its own pipe. - Crashpad always produces minidumps, and not microdumps. - Disabling Crashpad is not yet supported. chromecast/ - There are now two directories that crash report uploaders should be aware of: "Crashpad" contains a database of raw minidumps produced by Crashpad, and "Crash Reports" contains MIME encoded minidumps. MIME encoding is performed by a CrashReportMimeWriter in CastCrashUploader.java:checkForCrashDumps(). TBR=yfriedman@chromium.org,peter@chromium.org,isherman@chromium.org,jam@chromium.org,wnwen@chromium.org,torne@chromium.org,halliwell@chromium.org,tobiasjs@chromium.org,rsesek@chromium.org,sanfin@chromium.org,jperaza@chromium.org,mark@chromium.org Bug: crashpad:30 Change-Id: Ib1b0fe085272a7e1e4a91462add50e41eecad746 Cq-Include-Trybots: master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg Reviewed-on: https://chromium-review.googlesource.com/c/1388654 Commit-Queue: Joshua Peraza <jperaza@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Luke Halliwell <halliwell@chromium.org> Cr-Commit-Position: refs/heads/master@{#619711}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .