Home | History | Annotate | Download | only in app
      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_BREAKPAD_APP_HARD_ERROR_HANDLER_WIN_H_
      6 #define COMPONENTS_BREAKPAD_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_BREAKPAD_APP_HARD_ERROR_HANDLER_WIN_H_
     35