diff options
author | wfh <wfh@chromium.org> | 2015-04-28 15:39:21 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-28 22:40:43 +0000 |
commit | 22e2f4a23530e0b22c8f37dd91e4e803a0a6e355 (patch) | |
tree | 700185ddc8d1eefa747915d72fc4a1fbfd20ef2c /chrome/browser/browser_process_impl.cc | |
parent | 7c64f265edca18adefe01d0a4e676a3f7b834bd1 (diff) | |
download | chromium_src-22e2f4a23530e0b22c8f37dd91e4e803a0a6e355.zip chromium_src-22e2f4a23530e0b22c8f37dd91e4e803a0a6e355.tar.gz chromium_src-22e2f4a23530e0b22c8f37dd91e4e803a0a6e355.tar.bz2 |
Add extra parameter to BrowserChildProcessCrashed to pass the exit_code at time of crash/termination.
Wire this into all the existing callers.
Add a new child process watcher in chrome to be notified on child process crashes. This will confirm whether users with RESULT_CODE_INVALID_SANDBOX_STATE are crashing on background start (--no-startup-window) or not. This also adds required framework to paint a sad tab UI from this class in the future.
BUG=472324, 453541
TEST=Apply patch in http://pastebin.com/uEDxngBa and verify histogram ChildProcess.InvalidSandboxStateCrash.NoStartupWindow is recorded.
Review URL: https://codereview.chromium.org/1067733006
Cr-Commit-Position: refs/heads/master@{#327380}
Diffstat (limited to 'chrome/browser/browser_process_impl.cc')
-rw-r--r-- | chrome/browser/browser_process_impl.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc index f41e589..863c96a 100644 --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc @@ -27,6 +27,7 @@ #include "base/time/default_tick_clock.h" #include "base/trace_event/trace_event.h" #include "chrome/browser/chrome_browser_main.h" +#include "chrome/browser/chrome_child_process_watcher.h" #include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/component_updater/chrome_component_updater_configurator.h" @@ -273,6 +274,8 @@ void BrowserProcessImpl::StartTearDown() { // the IO thread. promo_resource_service_.reset(); + child_process_watcher_.reset(); + #if !defined(OS_ANDROID) // Debugger must be cleaned up before IO thread and NotificationService. remote_debugging_server_.reset(); @@ -1061,6 +1064,8 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { storage_monitor::StorageMonitor::Create(); #endif + child_process_watcher_.reset(new ChromeChildProcessWatcher()); + platform_part_->PreMainMessageLoopRun(); } |