| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 <iterator> | 8 #include <iterator> |
| 9 #include <set> | 9 #include <set> |
| 10 | 10 |
| (...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 761 if (!extension_prefs_->IsEphemeralApp(extension->id())) | 761 if (!extension_prefs_->IsEphemeralApp(extension->id())) |
| 762 extensions::DataDeleter::StartDeleting(profile_, extension.get()); | 762 extensions::DataDeleter::StartDeleting(profile_, extension.get()); |
| 763 | 763 |
| 764 UntrackTerminatedExtension(extension->id()); | 764 UntrackTerminatedExtension(extension->id()); |
| 765 | 765 |
| 766 // Notify interested parties that we've uninstalled this extension. | 766 // Notify interested parties that we've uninstalled this extension. |
| 767 content::NotificationService::current()->Notify( | 767 content::NotificationService::current()->Notify( |
| 768 chrome::NOTIFICATION_EXTENSION_UNINSTALLED, | 768 chrome::NOTIFICATION_EXTENSION_UNINSTALLED, |
| 769 content::Source<Profile>(profile_), | 769 content::Source<Profile>(profile_), |
| 770 content::Details<const Extension>(extension.get())); | 770 content::Details<const Extension>(extension.get())); |
| 771 ExtensionRegistry::Get(profile_)->TriggerOnUninstalled(extension.get()); |
| 771 | 772 |
| 772 if (extension_sync_service_) { | 773 if (extension_sync_service_) { |
| 773 extension_sync_service_->ProcessSyncUninstallExtension(extension->id(), | 774 extension_sync_service_->ProcessSyncUninstallExtension(extension->id(), |
| 774 sync_change); | 775 sync_change); |
| 775 } | 776 } |
| 776 | 777 |
| 777 delayed_installs_.Remove(extension->id()); | 778 delayed_installs_.Remove(extension->id()); |
| 778 | 779 |
| 779 extension_prefs_->OnExtensionUninstalled( | 780 extension_prefs_->OnExtensionUninstalled( |
| 780 extension->id(), extension->location(), external_uninstall); | 781 extension->id(), extension->location(), external_uninstall); |
| (...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1419 void ExtensionService::RemoveComponentExtension( | 1420 void ExtensionService::RemoveComponentExtension( |
| 1420 const std::string& extension_id) { | 1421 const std::string& extension_id) { |
| 1421 scoped_refptr<const Extension> extension( | 1422 scoped_refptr<const Extension> extension( |
| 1422 GetExtensionById(extension_id, false)); | 1423 GetExtensionById(extension_id, false)); |
| 1423 UnloadExtension(extension_id, UnloadedExtensionInfo::REASON_UNINSTALL); | 1424 UnloadExtension(extension_id, UnloadedExtensionInfo::REASON_UNINSTALL); |
| 1424 if (extension.get()) { | 1425 if (extension.get()) { |
| 1425 content::NotificationService::current()->Notify( | 1426 content::NotificationService::current()->Notify( |
| 1426 chrome::NOTIFICATION_EXTENSION_UNINSTALLED, | 1427 chrome::NOTIFICATION_EXTENSION_UNINSTALLED, |
| 1427 content::Source<Profile>(profile_), | 1428 content::Source<Profile>(profile_), |
| 1428 content::Details<const Extension>(extension.get())); | 1429 content::Details<const Extension>(extension.get())); |
| 1430 ExtensionRegistry::Get(profile_)->TriggerOnUninstalled(extension.get()); |
| 1429 } | 1431 } |
| 1430 } | 1432 } |
| 1431 | 1433 |
| 1432 void ExtensionService::UnloadAllExtensionsForTest() { | 1434 void ExtensionService::UnloadAllExtensionsForTest() { |
| 1433 UnloadAllExtensionsInternal(); | 1435 UnloadAllExtensionsInternal(); |
| 1434 } | 1436 } |
| 1435 | 1437 |
| 1436 void ExtensionService::ReloadExtensionsForTest() { | 1438 void ExtensionService::ReloadExtensionsForTest() { |
| 1437 // Calling UnloadAllExtensionsForTest here triggers a false-positive presubmit | 1439 // Calling UnloadAllExtensionsForTest here triggers a false-positive presubmit |
| 1438 // warning about calling test code in production. | 1440 // warning about calling test code in production. |
| (...skipping 1031 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2470 } | 2472 } |
| 2471 | 2473 |
| 2472 void ExtensionService::OnProfileDestructionStarted() { | 2474 void ExtensionService::OnProfileDestructionStarted() { |
| 2473 ExtensionIdSet ids_to_unload = registry_->enabled_extensions().GetIDs(); | 2475 ExtensionIdSet ids_to_unload = registry_->enabled_extensions().GetIDs(); |
| 2474 for (ExtensionIdSet::iterator it = ids_to_unload.begin(); | 2476 for (ExtensionIdSet::iterator it = ids_to_unload.begin(); |
| 2475 it != ids_to_unload.end(); | 2477 it != ids_to_unload.end(); |
| 2476 ++it) { | 2478 ++it) { |
| 2477 UnloadExtension(*it, UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN); | 2479 UnloadExtension(*it, UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN); |
| 2478 } | 2480 } |
| 2479 } | 2481 } |
| OLD | NEW |