| 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 #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 2572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2583 break; | 2583 break; |
| 2584 | 2584 |
| 2585 process_map_.RemoveAllFromProcess(process->GetID()); | 2585 process_map_.RemoveAllFromProcess(process->GetID()); |
| 2586 BrowserThread::PostTask( | 2586 BrowserThread::PostTask( |
| 2587 BrowserThread::IO, FROM_HERE, | 2587 BrowserThread::IO, FROM_HERE, |
| 2588 base::Bind(&ExtensionInfoMap::UnregisterAllExtensionsInProcess, | 2588 base::Bind(&ExtensionInfoMap::UnregisterAllExtensionsInProcess, |
| 2589 system_->info_map(), | 2589 system_->info_map(), |
| 2590 process->GetID())); | 2590 process->GetID())); |
| 2591 break; | 2591 break; |
| 2592 } | 2592 } |
| 2593 case chrome::NOTIFICATION_PREF_CHANGED: { | |
| 2594 std::string* pref_name = content::Details<std::string>(details).ptr(); | |
| 2595 if (*pref_name == prefs::kExtensionInstallAllowList || | |
| 2596 *pref_name == prefs::kExtensionInstallDenyList) { | |
| 2597 IdentifyAlertableExtensions(); | |
| 2598 CheckManagementPolicy(); | |
| 2599 } else { | |
| 2600 NOTREACHED() << "Unexpected preference name."; | |
| 2601 } | |
| 2602 break; | |
| 2603 } | |
| 2604 case chrome::NOTIFICATION_IMPORT_FINISHED: { | 2593 case chrome::NOTIFICATION_IMPORT_FINISHED: { |
| 2605 InitAfterImport(); | 2594 InitAfterImport(); |
| 2606 break; | 2595 break; |
| 2607 } | 2596 } |
| 2608 | 2597 |
| 2609 default: | 2598 default: |
| 2610 NOTREACHED() << "Unexpected notification type."; | 2599 NOTREACHED() << "Unexpected notification type."; |
| 2611 } | 2600 } |
| 2612 } | 2601 } |
| 2613 | 2602 |
| 2603 void ExtensionService::OnPreferenceChanged(PrefServiceBase* service, |
| 2604 const std::string& pref_name) { |
| 2605 if (pref_name == prefs::kExtensionInstallAllowList || |
| 2606 pref_name == prefs::kExtensionInstallDenyList) { |
| 2607 IdentifyAlertableExtensions(); |
| 2608 CheckManagementPolicy(); |
| 2609 } else { |
| 2610 NOTREACHED() << "Unexpected preference name."; |
| 2611 } |
| 2612 } |
| 2613 |
| 2614 bool ExtensionService::HasApps() const { | 2614 bool ExtensionService::HasApps() const { |
| 2615 return !GetAppIds().empty(); | 2615 return !GetAppIds().empty(); |
| 2616 } | 2616 } |
| 2617 | 2617 |
| 2618 ExtensionIdSet ExtensionService::GetAppIds() const { | 2618 ExtensionIdSet ExtensionService::GetAppIds() const { |
| 2619 ExtensionIdSet result; | 2619 ExtensionIdSet result; |
| 2620 for (ExtensionSet::const_iterator it = extensions_.begin(); | 2620 for (ExtensionSet::const_iterator it = extensions_.begin(); |
| 2621 it != extensions_.end(); ++it) { | 2621 it != extensions_.end(); ++it) { |
| 2622 if ((*it)->is_app() && (*it)->location() != Extension::COMPONENT) | 2622 if ((*it)->is_app() && (*it)->location() != Extension::COMPONENT) |
| 2623 result.insert((*it)->id()); | 2623 result.insert((*it)->id()); |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2834 // External extensions are initially disabled. We prompt the user before | 2834 // External extensions are initially disabled. We prompt the user before |
| 2835 // enabling them. | 2835 // enabling them. |
| 2836 if (Extension::IsExternalLocation(extension->location()) && | 2836 if (Extension::IsExternalLocation(extension->location()) && |
| 2837 !extension_prefs_->IsExternalExtensionAcknowledged(extension->id())) { | 2837 !extension_prefs_->IsExternalExtensionAcknowledged(extension->id())) { |
| 2838 return false; | 2838 return false; |
| 2839 } | 2839 } |
| 2840 } | 2840 } |
| 2841 | 2841 |
| 2842 return true; | 2842 return true; |
| 2843 } | 2843 } |
| OLD | NEW |