| 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 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 751 } | 751 } |
| 752 ExtensionDataDeleter::StartDeleting( | 752 ExtensionDataDeleter::StartDeleting( |
| 753 profile_, extension_id, extension->url(), is_storage_isolated); | 753 profile_, extension_id, extension->url(), is_storage_isolated); |
| 754 | 754 |
| 755 UntrackTerminatedExtension(extension_id); | 755 UntrackTerminatedExtension(extension_id); |
| 756 | 756 |
| 757 // Notify interested parties that we've uninstalled this extension. | 757 // Notify interested parties that we've uninstalled this extension. |
| 758 content::NotificationService::current()->Notify( | 758 content::NotificationService::current()->Notify( |
| 759 chrome::NOTIFICATION_EXTENSION_UNINSTALLED, | 759 chrome::NOTIFICATION_EXTENSION_UNINSTALLED, |
| 760 content::Source<Profile>(profile_), | 760 content::Source<Profile>(profile_), |
| 761 content::Details<const std::string>(&extension_id)); | 761 content::Details<const Extension>(extension)); |
| 762 | 762 |
| 763 if (app_sync_bundle_.HasExtensionId(extension_id) && | 763 if (app_sync_bundle_.HasExtensionId(extension_id) && |
| 764 sync_change.sync_data().GetDataType() == syncer::APPS) { | 764 sync_change.sync_data().GetDataType() == syncer::APPS) { |
| 765 app_sync_bundle_.ProcessDeletion(extension_id, sync_change); | 765 app_sync_bundle_.ProcessDeletion(extension_id, sync_change); |
| 766 } else if (extension_sync_bundle_.HasExtensionId(extension_id) && | 766 } else if (extension_sync_bundle_.HasExtensionId(extension_id) && |
| 767 sync_change.sync_data().GetDataType() == syncer::EXTENSIONS) { | 767 sync_change.sync_data().GetDataType() == syncer::EXTENSIONS) { |
| 768 extension_sync_bundle_.ProcessDeletion(extension_id, sync_change); | 768 extension_sync_bundle_.ProcessDeletion(extension_id, sync_change); |
| 769 } | 769 } |
| 770 | 770 |
| 771 // Track the uninstallation. | 771 // Track the uninstallation. |
| (...skipping 1783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2555 | 2555 |
| 2556 // To coexist with certain unit tests that don't have a work-thread message | 2556 // To coexist with certain unit tests that don't have a work-thread message |
| 2557 // loop available at ExtensionService shutdown, we lazy-initialize this | 2557 // loop available at ExtensionService shutdown, we lazy-initialize this |
| 2558 // object so that those cases neither create nor destroy an | 2558 // object so that those cases neither create nor destroy an |
| 2559 // APIResourceController. | 2559 // APIResourceController. |
| 2560 if (!api_resource_controller_.get()) { | 2560 if (!api_resource_controller_.get()) { |
| 2561 api_resource_controller_.reset(new extensions::APIResourceController()); | 2561 api_resource_controller_.reset(new extensions::APIResourceController()); |
| 2562 } | 2562 } |
| 2563 return api_resource_controller_.get(); | 2563 return api_resource_controller_.get(); |
| 2564 } | 2564 } |
| OLD | NEW |