Home | History | Annotate | Download | only in app
      1 // Copyright (c) 2009 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 CHROME_APP_HARD_ERROR_HANDLER_WIN_H_
      6 #define CHROME_APP_HARD_ERROR_HANDLER_WIN_H_
      7 
      8 #include <windows.h>
      9 
     10 // This function is in charge of displaying a dialog box that informs the
     11 // user of a fatal condition in chrome. It is meant to be called from
     12 // breakpad's unhandled exception handler after the crash dump has been
     13 // created. The return value will be true if we are to retry launching
     14 // chrome (and show the 'chrome has crashed' dialog) or to silently exit.
     15 //
     16 // This function only handles a few known exceptions, currently:
     17 // - Failure to load a delayload dll.
     18 // - Failure to bind to a delayloaded import.
     19 // - Fatal Graphics card failure  (aura build only).
     20 //
     21 // If any of these conditions are encountered, a message box shown by
     22 // the operating system CSRSS process via NtRaiseHardError is invoked.
     23 // The wording and localization is up to the operating system.
     24 //
     25 // Do not call this function for memory related errors like heap corruption
     26 // or stack exahustion. This function assumes that memory allocations are
     27 // possible.
     28 bool HardErrorHandler(EXCEPTION_POINTERS* ex_info);
     29 
     30 #endif  // CHROME_APP_HARD_ERROR_HANDLER_WIN_H_
     31 
     32