Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / components / crash / app / hard_error_handler_win.h
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_CRASH_APP_HARD_ERROR_HANDLER_WIN_H_
6 #define COMPONENTS_CRASH_APP_HARD_ERROR_HANDLER_WIN_H_
7
8 #include <windows.h>
9
10 namespace breakpad {
11
12 // This function is in charge of displaying a dialog box that informs the
13 // user of a fatal condition in chrome. It is meant to be called from
14 // breakpad's unhandled exception handler after the crash dump has been
15 // created. The return value will be true if we are to retry launching
16 // chrome (and show the 'chrome has crashed' dialog) or to silently exit.
17 //
18 // This function only handles a few known exceptions, currently:
19 // - Failure to load a delayload dll.
20 // - Failure to bind to a delayloaded import.
21 // - Fatal Graphics card failure  (aura build only).
22 //
23 // If any of these conditions are encountered, a message box shown by
24 // the operating system CSRSS process via NtRaiseHardError is invoked.
25 // The wording and localization is up to the operating system.
26 //
27 // Do not call this function for memory related errors like heap corruption
28 // or stack exahustion. This function assumes that memory allocations are
29 // possible.
30 bool HardErrorHandler(EXCEPTION_POINTERS* ex_info);
31
32 }  // namespace breakpad
33
34 #endif  // COMPONENTS_CRASH_APP_HARD_ERROR_HANDLER_WIN_H_