summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_process_impl.cc
diff options
context:
space:
mode:
authorwfh <wfh@chromium.org>2015-04-28 15:39:21 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-28 22:40:43 +0000
commit22e2f4a23530e0b22c8f37dd91e4e803a0a6e355 (patch)
tree700185ddc8d1eefa747915d72fc4a1fbfd20ef2c /chrome/browser/browser_process_impl.cc
parent7c64f265edca18adefe01d0a4e676a3f7b834bd1 (diff)
downloadchromium_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.cc5
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();
}