| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ |
| 6 #define CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ | 6 #define CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 class PrefRegistrySimple; | 29 class PrefRegistrySimple; |
| 30 class Profile; | 30 class Profile; |
| 31 class ProfileInfoCache; | 31 class ProfileInfoCache; |
| 32 class StatusIcon; | 32 class StatusIcon; |
| 33 class StatusTray; | 33 class StatusTray; |
| 34 | 34 |
| 35 namespace base { | 35 namespace base { |
| 36 class CommandLine; | 36 class CommandLine; |
| 37 } | 37 } |
| 38 | 38 |
| 39 namespace browser_lifetime { |
| 40 class ScopedKeepAlive; |
| 41 } |
| 42 |
| 39 typedef std::vector<base::Closure> CommandIdHandlerVector; | 43 typedef std::vector<base::Closure> CommandIdHandlerVector; |
| 40 | 44 |
| 41 // BackgroundModeManager is responsible for switching Chrome into and out of | 45 // BackgroundModeManager is responsible for switching Chrome into and out of |
| 42 // "background mode" and for providing UI for the user to exit Chrome when there | 46 // "background mode" and for providing UI for the user to exit Chrome when there |
| 43 // are no open browser windows. | 47 // are no open browser windows. |
| 44 // | 48 // |
| 45 // Chrome enters background mode whenever there is an application with the | 49 // Chrome enters background mode whenever there is an application with the |
| 46 // "background" permission installed, or a "trigger" that requires Chrome to be | 50 // "background" permission installed, or a "trigger" that requires Chrome to be |
| 47 // running. This class monitors the set of installed/loaded extensions to ensure | 51 // running. This class monitors the set of installed/loaded extensions to ensure |
| 48 // that Chrome enters/exits background mode at the appropriate time. | 52 // that Chrome enters/exits background mode at the appropriate time. |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 406 | 410 |
| 407 // Reference to our status icon's context menu (if any) - owned by the | 411 // Reference to our status icon's context menu (if any) - owned by the |
| 408 // status_icon_. | 412 // status_icon_. |
| 409 StatusIconMenuModel* context_menu_; | 413 StatusIconMenuModel* context_menu_; |
| 410 | 414 |
| 411 // Set to true when we are running in background mode. Allows us to track our | 415 // Set to true when we are running in background mode. Allows us to track our |
| 412 // current background state so we can take the appropriate action when the | 416 // current background state so we can take the appropriate action when the |
| 413 // user disables/enables background mode via preferences. | 417 // user disables/enables background mode via preferences. |
| 414 bool in_background_mode_; | 418 bool in_background_mode_; |
| 415 | 419 |
| 416 // Set when we are keeping chrome running during the startup process - this | 420 // Set when we are keeping Chrome running during the startup process - this |
| 417 // is required when running with the --no-startup-window flag, as otherwise | 421 // is required when running with the --no-startup-window flag, as otherwise |
| 418 // chrome would immediately exit due to having no open windows. | 422 // chrome would immediately exit due to having no open windows. |
| 419 bool keep_alive_for_startup_; | 423 scoped_ptr<browser_lifetime::ScopedKeepAlive> keep_alive_for_startup_; |
| 420 | 424 |
| 421 // Set to true when Chrome is running with the --keep-alive-for-test flag | 425 // Set to true when Chrome is running with the --keep-alive-for-test flag |
| 422 // (used for testing background mode without having to install a background | 426 // (used for testing background mode without having to install a background |
| 423 // app). | 427 // app). |
| 424 bool keep_alive_for_test_; | 428 bool keep_alive_for_test_; |
| 425 | 429 |
| 426 // Set to true when background mode is suspended. | 430 // Set to true when background mode is suspended. |
| 427 bool background_mode_suspended_; | 431 bool background_mode_suspended_; |
| 428 | 432 |
| 429 // Set to true when background mode is keeping Chrome alive. | 433 // Set to true when background mode is keeping Chrome alive. |
| 430 bool keeping_alive_; | 434 scoped_ptr<browser_lifetime::ScopedKeepAlive> keep_alive_for_background_mode_; |
| 431 | 435 |
| 432 base::WeakPtrFactory<BackgroundModeManager> weak_factory_; | 436 base::WeakPtrFactory<BackgroundModeManager> weak_factory_; |
| 433 | 437 |
| 434 DISALLOW_COPY_AND_ASSIGN(BackgroundModeManager); | 438 DISALLOW_COPY_AND_ASSIGN(BackgroundModeManager); |
| 435 }; | 439 }; |
| 436 | 440 |
| 437 #endif // CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ | 441 #endif // CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ |
| OLD | NEW |