Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_BROWSER_SHUTDOWN_H__ | 5 #ifndef CHROME_BROWSER_BROWSER_SHUTDOWN_H__ |
| 6 #define CHROME_BROWSER_BROWSER_SHUTDOWN_H__ | 6 #define CHROME_BROWSER_BROWSER_SHUTDOWN_H__ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 class PrefService; | 9 class PrefService; |
| 10 | 10 |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 27 | 27 |
| 28 void RegisterPrefs(PrefService* local_state); | 28 void RegisterPrefs(PrefService* local_state); |
| 29 | 29 |
| 30 // Called when the browser starts shutting down so that we can measure shutdown | 30 // Called when the browser starts shutting down so that we can measure shutdown |
| 31 // time. | 31 // time. |
| 32 void OnShutdownStarting(ShutdownType type); | 32 void OnShutdownStarting(ShutdownType type); |
| 33 | 33 |
| 34 // Get the current shutdown type. | 34 // Get the current shutdown type. |
| 35 ShutdownType GetShutdownType(); | 35 ShutdownType GetShutdownType(); |
| 36 | 36 |
| 37 // Performs the shutdown tasks that need to be done before | |
| 38 // BrowserProcess and the various threads go away. | |
| 39 // | |
| 40 // Returns true if the session should be restarted. | |
| 41 bool ShutdownPreThreadsStop(); | |
| 42 | |
| 43 // Performs the remaining shutdown tasks after all threads but the | |
| 44 // main thread have been stopped. This includes deleting g_browser_process. | |
| 45 // | |
| 37 // Invoked in two ways: | 46 // Invoked in two ways: |
| 38 // . When the last browser has been deleted and the message loop has finished | 47 // . When the last browser has been deleted and the message loop has finished |
| 39 // running. | 48 // running. |
| 40 // . When ChromeFrame::EndSession is invoked and we need to do cleanup. | 49 // . When ChromeFrame::EndSession is invoked and we need to do cleanup. |
|
robertshield
2011/11/14 04:15:55
This second bullet in this old comment looks out o
| |
| 41 // NOTE: in this case the message loop is still running, but will die soon | 50 // NOTE: in this case the message loop is still running, but will die soon |
| 42 // after this returns. | 51 // after this returns. |
| 43 void Shutdown(); | 52 // |
| 53 // The provided parameter indicates whether a preference to restart | |
| 54 // the session was present. | |
| 55 void ShutdownPostThreadsStop(bool restart_last_session); | |
| 44 | 56 |
| 45 // Called at startup to create a histogram from our previous shutdown time. | 57 // Called at startup to create a histogram from our previous shutdown time. |
| 46 void ReadLastShutdownInfo(); | 58 void ReadLastShutdownInfo(); |
| 47 | 59 |
| 48 // There are various situations where the browser process should continue to | 60 // There are various situations where the browser process should continue to |
| 49 // run after the last browser window has closed - the Mac always continues | 61 // run after the last browser window has closed - the Mac always continues |
| 50 // running until the user explicitly quits, and on Windows/Linux the application | 62 // running until the user explicitly quits, and on Windows/Linux the application |
| 51 // should not shutdown when the last browser window closes if there are any | 63 // should not shutdown when the last browser window closes if there are any |
| 52 // BackgroundContents running. | 64 // BackgroundContents running. |
| 53 // When the user explicitly chooses to shutdown the app (via the "Exit" or | 65 // When the user explicitly chooses to shutdown the app (via the "Exit" or |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 71 // explicitly close the browser windows, which can lead to conditions which | 83 // explicitly close the browser windows, which can lead to conditions which |
| 72 // would fail checks. | 84 // would fail checks. |
| 73 bool ShuttingDownWithoutClosingBrowsers(); | 85 bool ShuttingDownWithoutClosingBrowsers(); |
| 74 | 86 |
| 75 // Sets the ShuttingDownWithoutClosingBrowsers flag. | 87 // Sets the ShuttingDownWithoutClosingBrowsers flag. |
| 76 void SetShuttingDownWithoutClosingBrowsers(bool without_close); | 88 void SetShuttingDownWithoutClosingBrowsers(bool without_close); |
| 77 | 89 |
| 78 } // namespace browser_shutdown | 90 } // namespace browser_shutdown |
| 79 | 91 |
| 80 #endif // CHROME_BROWSER_BROWSER_SHUTDOWN_H__ | 92 #endif // CHROME_BROWSER_BROWSER_SHUTDOWN_H__ |
| OLD | NEW |