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 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "base/base_paths.h" | 7 #include "base/base_paths.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 | 321 |
322 void BackgroundModeManager::OnApplicationListChanged(Profile* profile) { | 322 void BackgroundModeManager::OnApplicationListChanged(Profile* profile) { |
323 if (!IsBackgroundModePrefEnabled()) | 323 if (!IsBackgroundModePrefEnabled()) |
324 return; | 324 return; |
325 | 325 |
326 // Figure out what just happened based on the count of background apps. | 326 // Figure out what just happened based on the count of background apps. |
327 int count = GetBackgroundAppCount(); | 327 int count = GetBackgroundAppCount(); |
328 | 328 |
329 // Update the profile cache with the fact whether background apps are running | 329 // Update the profile cache with the fact whether background apps are running |
330 // for this profile. | 330 // for this profile. |
331 size_t profile_index = profile_cache_->GetIndexOfProfileWithPath( | 331 ProfileInfoEntry entry; |
332 profile->GetPath()); | 332 if (profile_cache_->GetInfoForProfile(profile->GetPath(), &entry)) { |
333 if (profile_index != std::string::npos) { | 333 entry.set_is_running_background_apps( |
334 profile_cache_->SetBackgroundStatusOfProfileAtIndex( | 334 GetBackgroundAppCountForProfile(profile) != 0); |
335 profile_index, GetBackgroundAppCountForProfile(profile) != 0); | 335 profile_cache_->SetInfoForProfile(entry); |
336 } | 336 } |
337 | 337 |
338 if (count == 0) { | 338 if (count == 0) { |
339 // We've uninstalled our last background app, make sure we exit background | 339 // We've uninstalled our last background app, make sure we exit background |
340 // mode and no longer launch on startup. | 340 // mode and no longer launch on startup. |
341 EnableLaunchOnStartup(false); | 341 EnableLaunchOnStartup(false); |
342 EndBackgroundMode(); | 342 EndBackgroundMode(); |
343 } else { | 343 } else { |
344 // We have at least one background app running - make sure we're in | 344 // We have at least one background app running - make sure we're in |
345 // background mode. | 345 // background mode. |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
650 command_line->HasSwitch(switches::kDisableExtensions); | 650 command_line->HasSwitch(switches::kDisableExtensions); |
651 return background_mode_disabled; | 651 return background_mode_disabled; |
652 #endif | 652 #endif |
653 } | 653 } |
654 | 654 |
655 bool BackgroundModeManager::IsBackgroundModePrefEnabled() const { | 655 bool BackgroundModeManager::IsBackgroundModePrefEnabled() const { |
656 PrefService* service = g_browser_process->local_state(); | 656 PrefService* service = g_browser_process->local_state(); |
657 DCHECK(service); | 657 DCHECK(service); |
658 return service->GetBoolean(prefs::kBackgroundModeEnabled); | 658 return service->GetBoolean(prefs::kBackgroundModeEnabled); |
659 } | 659 } |
OLD | NEW |