summaryrefslogtreecommitdiffstats
path: root/chrome/browser/background_mode_manager.cc
Commit message (Collapse)AuthorAgeFilesLines
* Rename ChromeThread to BrowserThread Part14:tfarina@chromium.org2010-10-101-5/+5
| | | | | | | | | | | - Rename the entries under the first 40 files. BUG=56926 TEST=trybots Review URL: http://codereview.chromium.org/3667002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62126 0039d316-1c4b-4281-b951-d872f2087c98
* Added command-line flags to autostart for Linux and Windowsrickcam@chromium.org2010-10-061-3/+6
| | | | | | | | | | | | | BUG=57325 TEST=none Currently autostart flags are: --enable-background-mode --no-startup-window Review URL: http://codereview.chromium.org/3535008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61653 0039d316-1c4b-4281-b951-d872f2087c98
* BUG=57441rickcam@chromium.org2010-10-041-4/+11
| | | | | | | | | | TEST=none Fixed logging error in Linux version of Launch On Startup support. Specifically, this corrects the handling of the result returned by WriteFile when generating the autostart .desktop file. Review URL: http://codereview.chromium.org/3565004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61429 0039d316-1c4b-4281-b951-d872f2087c98
* Changed EXTENSION_UNINSTALLED notification to happen after uninstallation.akalin@chromium.org2010-09-301-12/+23
| | | | | | | | | | | | | | | | | | The important part is that it comes after the EXTENSION_UNLOADED notification is sent. This makes it easier on the listeners, as they can assume that extension notifications other than EXTENSION_UNINSTALLED are sent for currently-installed extensions. BUG=54415 TEST=BackgroundModeManagerTest Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=60834 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=60848 Review URL: http://codereview.chromium.org/3461025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61089 0039d316-1c4b-4281-b951-d872f2087c98
* Change the menu item 'Options' to 'Settings' on the status icon.tfarina@chromium.org2010-09-301-9/+14
| | | | | | | | | | | | | Also match the order of the menu items with the wrench menu. BUG=56152 TEST=out/Debug/chrome --enable-background-mode --keep-alive-for-test --enable-tabbed-options Go to the chromium status icon, you should see a 'Settings' menu item. Also without the switch you should still see the 'Options/Preferences' menu item. Review URL: http://codereview.chromium.org/3531003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61030 0039d316-1c4b-4281-b951-d872f2087c98
* Use PrefChangeRegistrar everywheredanno@chromium.org2010-09-291-5/+2
| | | | | | | | | | | BUG=54955 TEST=PrefChangeRegistrarTest.* Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=60169 Review URL: http://codereview.chromium.org/3304015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60935 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60848 - Changed EXTENSION_UNINSTALLED notification to happen after ↵akalin@chromium.org2010-09-281-23/+12
| | | | | | | | | | | | | | | | | | | | | uninstallation. The important part is that it comes after the EXTENSION_UNLOADED notification is sent. This makes it easier on the listeners, as they can assume that extension notifications other than EXTENSION_UNINSTALLED are sent for currently-installed extensions. BUG=54415 TEST=BackgroundModeManagerTest Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=60834 Review URL: http://codereview.chromium.org/3461025 TBR=akalin@chromium.org Review URL: http://codereview.chromium.org/3528003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60868 0039d316-1c4b-4281-b951-d872f2087c98
* Changed EXTENSION_UNINSTALLED notification to happen after uninstallation.akalin@chromium.org2010-09-281-12/+23
| | | | | | | | | | | | | | | | The important part is that it comes after the EXTENSION_UNLOADED notification is sent. This makes it easier on the listeners, as they can assume that extension notifications other than EXTENSION_UNINSTALLED are sent for currently-installed extensions. BUG=54415 TEST=BackgroundModeManagerTest Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=60834 Review URL: http://codereview.chromium.org/3461025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60848 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60834 - Changed EXTENSION_UNINSTALLED notification to happen after ↵akalin@chromium.org2010-09-281-23/+12
| | | | | | | | | | | | | | | | | | | uninstallation. The important part is that it comes after the EXTENSION_UNLOADED notification is sent. This makes it easier on the listeners, as they can assume that extension notifications other than EXTENSION_UNINSTALLED are sent for currently-installed extensions. BUG=54415 TEST=BackgroundModeManagerTest Review URL: http://codereview.chromium.org/3461025 TBR=akalin@chromium.org Review URL: http://codereview.chromium.org/3525001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60837 0039d316-1c4b-4281-b951-d872f2087c98
* Changed EXTENSION_UNINSTALLED notification to happen after uninstallation.akalin@chromium.org2010-09-281-12/+23
| | | | | | | | | | | | | | The important part is that it comes after the EXTENSION_UNLOADED notification is sent. This makes it easier on the listeners, as they can assume that extension notifications other than EXTENSION_UNINSTALLED are sent for currently-installed extensions. BUG=54415 TEST=BackgroundModeManagerTest Review URL: http://codereview.chromium.org/3461025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60834 0039d316-1c4b-4281-b951-d872f2087c98
* BUG=43382rickcam@chromium.org2010-09-231-49/+66
| | | | | | | | | | | | TEST=none Addressing some code review comments that were missed in earlier dcommit on issue 3441021. Specifically, this change splits DisableLaunchOnStartupTask out from EnableLaunchOnStartupTask and eliminates the should_enable_ data member. In addition, it changes the logic in the calling routine to introduce the conditional at that point rather than passing through the should_launch value. Review URL: http://codereview.chromium.org/3441021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60300 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60169 - Use PrefChangeRegistrar everywheredanno@chromium.org2010-09-221-2/+5
| | | | | | | | | | | BUG=54955 TEST=PrefChangeRegistrarTest.* Review URL: http://codereview.chromium.org/3304015 TBR=danno@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60170 0039d316-1c4b-4281-b951-d872f2087c98
* Use PrefChangeRegistrar everywheredanno@chromium.org2010-09-221-5/+2
| | | | | | | | | BUG=54955 TEST=PrefChangeRegistrarTest.* Review URL: http://codereview.chromium.org/3304015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60169 0039d316-1c4b-4281-b951-d872f2087c98
* Added Linux support for Launch-on-Startuprickcam@chromium.org2010-09-201-4/+66
| | | | | | | | | BUG=43382 TEST=none Review URL: http://codereview.chromium.org/3417004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59954 0039d316-1c4b-4281-b951-d872f2087c98
* Disable background mode when associated pref changes.atwilson@chromium.org2010-08-281-13/+54
| | | | | | | | | | | | | BUG=53173 TEST=new BackgroundModeManager unit tests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=57642 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=57749 Review URL: http://codereview.chromium.org/3205008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57778 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented Launch-on-OS-login on Windowsrickcam@chromium.org2010-08-281-1/+37
| | | | | | | | | BUG=43382 TEST=none Review URL: http://codereview.chromium.org/3140033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57763 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 57749 - Disable background mode when associated pref changes.atwilson@chromium.org2010-08-271-50/+9
| | | | | | | | | | | | | | | | | Disabling because new tests don't work now that BackgroundModeManager is disabled by default from r57713. BUG=53173 TEST=new BackgroundModeManager unit tests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=57642 Review URL: http://codereview.chromium.org/3205008 TBR=atwilson@chromium.org Review URL: http://codereview.chromium.org/3223008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57752 0039d316-1c4b-4281-b951-d872f2087c98
* Disable background mode when associated pref changes.atwilson@chromium.org2010-08-271-9/+50
| | | | | | | | | | | BUG=53173 TEST=new BackgroundModeManager unit tests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=57642 Review URL: http://codereview.chromium.org/3205008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57749 0039d316-1c4b-4281-b951-d872f2087c98
* Disable BackgroundModeManager by default for M7, and add an ↵atwilson@chromium.org2010-08-271-3/+3
| | | | | | | | | | | | | | | --enable-background-mode command line flag to enable it. Also remove related preferences items if the --enable-background-mode flag is not passed. BUG=53522 TEST=BackgroundModeManager unit tests pass, run without flag and look at preferences dialog to make sure preferences are not there, launch chrome with --keep-alive-for-test flag, see that no status icon appears Review URL: http://codereview.chromium.org/3219001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57713 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land. Fixed previous errors.dimich@chromium.org2010-08-271-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | Implement OSX version for "Start on Login" for background-enabled extensions. When user installs first background-enabled extension we set Chrome to be a hidden "Login Item", and when user uninstalls the last one, we remove Chrome from the "Login Items List". Login Items are the apps that are listed in Systempreferences->Accounts->Login Items, or which have a "Open on Login" check for their Dock icon. Since we manipulate the user-faced UI item here, we try to do it in a way that will likely not interfere with user settings. Most typically, users do not use 'hidden' property, so if we ever encounter setting w/o this property, we won't override. Also there is a hidden preference used to remember the fact that Chrome changed the settings earlier - to avoid override on uninstall of the last persistent app in opposite case. Using the same bit that user can manipulate separately and perhaps even knows about is beneficial since it provides for unified place to "start Chrome on Login" and reduces confusion. Implementation for Login Items List access uses LSSharedFileList API that is available starting 10.5, which I think is our minimal supported version of OSX. BUG=43382 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=57569 Reverted Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=57614 Reverted Review URL: http://codereview.chromium.org/3163029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57699 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 57642 - Disable background mode when associated pref changes.atwilson@chromium.org2010-08-271-42/+2
| | | | | | | | | | | | BUG=53173 TEST=new BackgroundModeManager unit tests Review URL: http://codereview.chromium.org/3205008 TBR=atwilson@chromium.org Review URL: http://codereview.chromium.org/3226006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57644 0039d316-1c4b-4281-b951-d872f2087c98
* Disable background mode when associated pref changes.atwilson@chromium.org2010-08-271-2/+42
| | | | | | | | | BUG=53173 TEST=new BackgroundModeManager unit tests Review URL: http://codereview.chromium.org/3205008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57642 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 57614 - Re-land. Fixed previous build error.dimich@chromium.org2010-08-271-50/+1
| | | | | | | | | | | | | | | It looks like it broke browser_tests. Will revert and investigate. Implement OSX version for "Start on Login" for background-enabled extensions. Review URL: http://codereview.chromium.org/3163029 TBR=dimich@chromium.org Review URL: http://codereview.chromium.org/3226002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57625 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land. Fixed previous build error.dimich@chromium.org2010-08-271-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | Implement OSX version for "Start on Login" for background-enabled extensions. When user installs first background-enabled extension we set Chrome to be a hidden "Login Item", and when user uninstalls the last one, we remove Chrome from the "Login Items List". Login Items are the apps that are listed in Systempreferences->Accounts->Login Items, or which have a "Open on Login" check for their Dock icon. Since we manipulate the user-faced UI item here, we try to do it in a way that will likely not interfere with user settings. Most typically, users do not use 'hidden' property, so if we ever encounter setting w/o this property, we won't override. Also there is a hidden preference used to remember the fact that Chrome changed the settings earlier - to avoid override on uninstall of the last persistent app in opposite case. Using the same bit that user can manipulate separately and perhaps even knows about is beneficial since it provides for unified place to "start Chrome on Login" and reduces confusion. Implementation for Login Items List access uses LSSharedFileList API that is available starting 10.5, which I think is our minimal supported version of OSX. BUG=43382 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=57569 Reverted, trying to re-land. Review URL: http://codereview.chromium.org/3163029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57614 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 57569 - Implement OSX version for "Start on Login" for ↵dimich@chromium.org2010-08-261-47/+1
| | | | | | | | | | | background-enabled extensions. Review URL: http://codereview.chromium.org/3163029 TBR=dimich@chromium.org Review URL: http://codereview.chromium.org/3130052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57573 0039d316-1c4b-4281-b951-d872f2087c98
* Implement OSX version for "Start on Login" for background-enabled extensions.dimich@chromium.org2010-08-261-1/+47
| | | | | | | | | | | | | | | | | | | | When user installs first bacground-enabled extension we set Chrome to be a "Login Item", and when user uninstalls the last one, we remove Chrome from the "Login Items List". Login Items are the apps that are listed in Systempreferences->Accounts->Login Items, or which have a "Open on Login" check for their Dock icon. Since we manipulate the user-faced UI item here, we try to do it minimally (only on first installed and last uninstalled background app) with understanding that when we have UI for install/uninstall we'll convert this into more visible, cancellable suggestion on that UI. Using the same bit that user can manipulate separately and perhaps even knows about is beneficial since it provides for unified place to "start Chrome on Login" and reduces confusion. The patch also removes SetKeepAlive/EndKeepAlive calls for OSX since on OSX they are already used properly to keep Chrome alive when all windows are closed (in other words, on Mac there is only one behavior that also fits what is needed for background apps) Implementation for Login Items List access uses LSSharedFileList API that is availabel starting 10.5, which I think is our minimal supported version of OSX. Also added a check in BackgroundModeManager::RemoveStatusTrayIcon() which could crash on OSX because there is no icon_tray_ yet. Review URL: http://codereview.chromium.org/3163029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57569 0039d316-1c4b-4281-b951-d872f2087c98
* Move prefs-related files under chrome/browser/ into a prefs/ subdir.evan@chromium.org2010-08-261-1/+1
| | | | | | | | | | | | Rename includes, resort header include order in places where the rename changed the order. BUG=50548 TEST=compiles Review URL: http://codereview.chromium.org/3203008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57434 0039d316-1c4b-4281-b951-d872f2087c98
* Added options/preferences menu item to status icon context menus. Also ↵atwilson@chromium.org2010-08-251-9/+28
| | | | | | | | | | | refactored code to get the stock preferences menu item label out of wrench_menu_model and into gtk_utils where it can be shared. BUG=37375 TEST=none Review URL: http://codereview.chromium.org/3175032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57364 0039d316-1c4b-4281-b951-d872f2087c98
* BackgroudModeManager now listens for APP_TERMINATING and shuts down backgroundatwilson@chromium.org2010-08-251-13/+17
| | | | | | | | | | | | | | | | mode in all cases (now uses same code path for --keep-alive-for-test and for background apps) - this is necessary because ExtensionsService does not generate EXTENSION_UNLOADED notifications when the app shuts down as I thought. With this fix, the extension API tests for background apps pass without disabling background mode. BUG=53021 TEST=extension API tests pass now with background mode enabled. Review URL: http://codereview.chromium.org/3198007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57266 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for context menus to status icons.atwilson@chromium.org2010-08-201-4/+50
| | | | | | | | | BUG=37375 TEST=updated StatusIcon unit tests Review URL: http://codereview.chromium.org/3189003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56812 0039d316-1c4b-4281-b951-d872f2087c98
* A quick fix for Bug 52675.hbono@chromium.org2010-08-191-1/+2
| | | | | | | | | | This change just initializes |status_icon_| to NULL in BackgroundModeManager::BackgroundModeManager to see it actually fixes Bug 52675. BUG=52675 TEST=make the "Linux Tests (valgrind)(3)" bot green. Review URL: http://codereview.chromium.org/3130032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56643 0039d316-1c4b-4281-b951-d872f2087c98
* Change when we create StatusTray to avoid problem running multi-profile testsatwilson@chromium.org2010-08-191-6/+7
| | | | | | | | | | | | | (StatusTray is effectively supposed to be a singleton, so creating multiple instances isn't truly supported currently and would require a bit of extra plumbing which I'd rather not do until we truly support multiple profiles). BUG=52662 TEST=sync tests should pass now Review URL: http://codereview.chromium.org/3169024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56627 0039d316-1c4b-4281-b951-d872f2087c98
* Added BackgroundModeManager which tracks when background apps are ↵atwilson@chromium.org2010-08-181-0/+201
loaded/unloaded and puts Chrome into BackgroundMode appropriately. Added EXTENSION_UNINSTALLING notification which is sent out when a notification is about to be uninstalled. Refactored StatusTray code to move StatusTray under the profile rather than attaching it to the browser process, and removed StatusTrayManager which is no longer needed now that BackgroundModeManager handles creating status icons. BUG=43382 TEST=background_mode_manager_unittests.cc Review URL: http://codereview.chromium.org/3134011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56596 0039d316-1c4b-4281-b951-d872f2087c98