diff options
author | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-20 21:02:54 +0000 |
---|---|---|
committer | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-20 21:02:54 +0000 |
commit | c280deb5630bdedcc2a622b39d887576491f6dbe (patch) | |
tree | 5567aca6abf7b2355e384d8c00ce27c0a6acff6f /content/browser/browser_main_runner.cc | |
parent | 84223e62833ad2e653cb793c8565a4fbe584b125 (diff) | |
download | chromium_src-c280deb5630bdedcc2a622b39d887576491f6dbe.zip chromium_src-c280deb5630bdedcc2a622b39d887576491f6dbe.tar.gz chromium_src-c280deb5630bdedcc2a622b39d887576491f6dbe.tar.bz2 |
Reland 217049 "Make sure unexpected exit paths ge..."
... to be reverted after Tomorrow's canary.
> Revert 217049 "Make sure unexpected exit paths generate crash du..."
>
> (this will be merged on a dedicated canary)
>
> > Make sure unexpected exit paths generate crash dumps for the browser.
> >
> > Right now it is possible for some random code to directly terminate the
> > browser process without generating a crash dump. This CL should fix that.
> >
> > BUG=275818
> > TEST=none
> > R=jam@chromium.org
> >
> > Review URL: https://codereview.chromium.org/22264015
>
> TBR=rvargas@chromium.org
>
> Review URL: https://codereview.chromium.org/22877003
TBR=rvargas@google.com
Review URL: https://codereview.chromium.org/23054010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218551 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/browser_main_runner.cc')
-rw-r--r-- | content/browser/browser_main_runner.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/content/browser/browser_main_runner.cc b/content/browser/browser_main_runner.cc index cca1466..1a349a2 100644 --- a/content/browser/browser_main_runner.cc +++ b/content/browser/browser_main_runner.cc @@ -19,6 +19,7 @@ #if defined(OS_WIN) #include "base/win/metro.h" +#include "base/win/win_util.h" #include "base/win/windows_version.h" #include "ui/base/win/scoped_ole_initializer.h" #endif @@ -103,6 +104,13 @@ class BrowserMainRunnerImpl : public BrowserMainRunner { if (result_code > 0) return result_code; +#if defined(OS_WIN) + // The process should crash when going through abnormal termination. + // Make sure this is done only when Shutdown() will be called. + base::win::SetShouldCrashOnProcessDetach(true); + base::win::SetAbortBehaviorForCrashReporting(); +#endif + // Return -1 to indicate no early termination. return -1; } @@ -130,6 +138,10 @@ class BrowserMainRunnerImpl : public BrowserMainRunner { notification_service_.reset(NULL); +#if defined(OS_WIN) + base::win::SetShouldCrashOnProcessDetach(false); +#endif + is_shutdown_ = true; } |