Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(165)

Side by Side Diff: chrome/browser/extensions/extension_service.cc

Issue 11377131: Removing PrefObserver usage, batch 4. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Respond to review comments. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include "chrome/browser/extensions/extension_service.h" 5 #include "chrome/browser/extensions/extension_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 content::NotificationService::AllBrowserContextsAndSources()); 380 content::NotificationService::AllBrowserContextsAndSources());
381 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_PROCESS_TERMINATED, 381 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_PROCESS_TERMINATED,
382 content::NotificationService::AllBrowserContextsAndSources()); 382 content::NotificationService::AllBrowserContextsAndSources());
383 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CREATED, 383 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CREATED,
384 content::NotificationService::AllBrowserContextsAndSources()); 384 content::NotificationService::AllBrowserContextsAndSources());
385 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED, 385 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED,
386 content::NotificationService::AllBrowserContextsAndSources()); 386 content::NotificationService::AllBrowserContextsAndSources());
387 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED, 387 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED,
388 content::NotificationService::AllBrowserContextsAndSources()); 388 content::NotificationService::AllBrowserContextsAndSources());
389 pref_change_registrar_.Init(profile->GetPrefs()); 389 pref_change_registrar_.Init(profile->GetPrefs());
390 pref_change_registrar_.Add(prefs::kExtensionInstallAllowList, this); 390 base::Closure callback =
391 pref_change_registrar_.Add(prefs::kExtensionInstallDenyList, this); 391 base::Bind(&ExtensionService::OnExtensionInstallPrefChanged,
392 base::Unretained(this));
393 pref_change_registrar_.Add(prefs::kExtensionInstallAllowList, callback);
394 pref_change_registrar_.Add(prefs::kExtensionInstallDenyList, callback);
392 395
393 // Set up the ExtensionUpdater 396 // Set up the ExtensionUpdater
394 if (autoupdate_enabled) { 397 if (autoupdate_enabled) {
395 int update_frequency = kDefaultUpdateFrequencySeconds; 398 int update_frequency = kDefaultUpdateFrequencySeconds;
396 if (command_line->HasSwitch(switches::kExtensionsUpdateFrequency)) { 399 if (command_line->HasSwitch(switches::kExtensionsUpdateFrequency)) {
397 base::StringToInt(command_line->GetSwitchValueASCII( 400 base::StringToInt(command_line->GetSwitchValueASCII(
398 switches::kExtensionsUpdateFrequency), 401 switches::kExtensionsUpdateFrequency),
399 &update_frequency); 402 &update_frequency);
400 } 403 }
401 updater_.reset(new extensions::ExtensionUpdater(this, 404 updater_.reset(new extensions::ExtensionUpdater(this,
(...skipping 2301 matching lines...) Expand 10 before | Expand all | Expand 10 after
2703 } 2706 }
2704 } 2707 }
2705 break; 2708 break;
2706 } 2709 }
2707 2710
2708 default: 2711 default:
2709 NOTREACHED() << "Unexpected notification type."; 2712 NOTREACHED() << "Unexpected notification type.";
2710 } 2713 }
2711 } 2714 }
2712 2715
2713 void ExtensionService::OnPreferenceChanged(PrefServiceBase* service, 2716 void ExtensionService::OnExtensionInstallPrefChanged() {
2714 const std::string& pref_name) {
2715 DCHECK(pref_name == prefs::kExtensionInstallAllowList ||
2716 pref_name == prefs::kExtensionInstallDenyList)
2717 << "Unexpected preference name " << pref_name;
2718 IdentifyAlertableExtensions(); 2717 IdentifyAlertableExtensions();
2719 CheckManagementPolicy(); 2718 CheckManagementPolicy();
2720 } 2719 }
2721 2720
2722 bool ExtensionService::HasApps() const { 2721 bool ExtensionService::HasApps() const {
2723 return !GetAppIds().empty(); 2722 return !GetAppIds().empty();
2724 } 2723 }
2725 2724
2726 ExtensionIdSet ExtensionService::GetAppIds() const { 2725 ExtensionIdSet ExtensionService::GetAppIds() const {
2727 ExtensionIdSet result; 2726 ExtensionIdSet result;
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
2955 2954
2956 // If there is no ExtensionProcessManager then assume the process is idle. 2955 // If there is no ExtensionProcessManager then assume the process is idle.
2957 // This is commonly the case in unit-tests. 2956 // This is commonly the case in unit-tests.
2958 if (process_manager == NULL) 2957 if (process_manager == NULL)
2959 return true; 2958 return true;
2960 2959
2961 extensions::ExtensionHost* host = 2960 extensions::ExtensionHost* host =
2962 process_manager->GetBackgroundHostForExtension(extension_id); 2961 process_manager->GetBackgroundHostForExtension(extension_id);
2963 return !host; 2962 return !host;
2964 } 2963 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service.h ('k') | chrome/browser/extensions/external_policy_loader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698