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

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

Issue 236213002: Move most of extension_file_util.cc into extensions/common/file_util.cc (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase (file-util) Created 6 years, 8 months 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) 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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 #include "chrome/browser/extensions/updater/extension_cache.h" 50 #include "chrome/browser/extensions/updater/extension_cache.h"
51 #include "chrome/browser/extensions/updater/extension_updater.h" 51 #include "chrome/browser/extensions/updater/extension_updater.h"
52 #include "chrome/browser/profiles/profile.h" 52 #include "chrome/browser/profiles/profile.h"
53 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" 53 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
54 #include "chrome/browser/ui/webui/favicon_source.h" 54 #include "chrome/browser/ui/webui/favicon_source.h"
55 #include "chrome/browser/ui/webui/ntp/thumbnail_source.h" 55 #include "chrome/browser/ui/webui/ntp/thumbnail_source.h"
56 #include "chrome/browser/ui/webui/theme_source.h" 56 #include "chrome/browser/ui/webui/theme_source.h"
57 #include "chrome/common/chrome_switches.h" 57 #include "chrome/common/chrome_switches.h"
58 #include "chrome/common/crash_keys.h" 58 #include "chrome/common/crash_keys.h"
59 #include "chrome/common/extensions/extension_constants.h" 59 #include "chrome/common/extensions/extension_constants.h"
60 #include "chrome/common/extensions/extension_file_util.h"
61 #include "chrome/common/extensions/features/feature_channel.h" 60 #include "chrome/common/extensions/features/feature_channel.h"
62 #include "chrome/common/extensions/manifest_url_handler.h" 61 #include "chrome/common/extensions/manifest_url_handler.h"
63 #include "chrome/common/pref_names.h" 62 #include "chrome/common/pref_names.h"
64 #include "chrome/common/url_constants.h" 63 #include "chrome/common/url_constants.h"
65 #include "components/startup_metric_utils/startup_metric_utils.h" 64 #include "components/startup_metric_utils/startup_metric_utils.h"
66 #include "content/public/browser/browser_thread.h" 65 #include "content/public/browser/browser_thread.h"
67 #include "content/public/browser/devtools_agent_host.h" 66 #include "content/public/browser/devtools_agent_host.h"
68 #include "content/public/browser/notification_service.h" 67 #include "content/public/browser/notification_service.h"
69 #include "content/public/browser/notification_types.h" 68 #include "content/public/browser/notification_types.h"
70 #include "content/public/browser/render_process_host.h" 69 #include "content/public/browser/render_process_host.h"
(...skipping 11 matching lines...) Expand all
82 #include "extensions/browser/process_manager.h" 81 #include "extensions/browser/process_manager.h"
83 #include "extensions/browser/process_map.h" 82 #include "extensions/browser/process_map.h"
84 #include "extensions/browser/runtime_data.h" 83 #include "extensions/browser/runtime_data.h"
85 #include "extensions/browser/update_observer.h" 84 #include "extensions/browser/update_observer.h"
86 #include "extensions/common/constants.h" 85 #include "extensions/common/constants.h"
87 #include "extensions/common/error_utils.h" 86 #include "extensions/common/error_utils.h"
88 #include "extensions/common/extension.h" 87 #include "extensions/common/extension.h"
89 #include "extensions/common/extension_messages.h" 88 #include "extensions/common/extension_messages.h"
90 #include "extensions/common/extensions_client.h" 89 #include "extensions/common/extensions_client.h"
91 #include "extensions/common/feature_switch.h" 90 #include "extensions/common/feature_switch.h"
91 #include "extensions/common/file_util.h"
92 #include "extensions/common/manifest.h" 92 #include "extensions/common/manifest.h"
93 #include "extensions/common/manifest_constants.h" 93 #include "extensions/common/manifest_constants.h"
94 #include "extensions/common/manifest_handlers/background_info.h" 94 #include "extensions/common/manifest_handlers/background_info.h"
95 #include "extensions/common/manifest_handlers/incognito_info.h" 95 #include "extensions/common/manifest_handlers/incognito_info.h"
96 #include "extensions/common/manifest_handlers/shared_module_info.h" 96 #include "extensions/common/manifest_handlers/shared_module_info.h"
97 #include "extensions/common/permissions/permission_message_provider.h" 97 #include "extensions/common/permissions/permission_message_provider.h"
98 #include "extensions/common/permissions/permissions_data.h" 98 #include "extensions/common/permissions/permissions_data.h"
99 #include "grit/generated_resources.h" 99 #include "grit/generated_resources.h"
100 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" 100 #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
101 #include "ui/base/webui/web_ui_util.h" 101 #include "ui/base/webui/web_ui_util.h"
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 553
554 const Extension* extension = GetInstalledExtension(id); 554 const Extension* extension = GetInstalledExtension(id);
555 if (!pending_extension_info && !extension) { 555 if (!pending_extension_info && !extension) {
556 LOG(WARNING) << "Will not update extension " << id 556 LOG(WARNING) << "Will not update extension " << id
557 << " because it is not installed or pending"; 557 << " because it is not installed or pending";
558 // Delete extension_path since we're not creating a CrxInstaller 558 // Delete extension_path since we're not creating a CrxInstaller
559 // that would do it for us. 559 // that would do it for us.
560 if (!GetFileTaskRunner()->PostTask( 560 if (!GetFileTaskRunner()->PostTask(
561 FROM_HERE, 561 FROM_HERE,
562 base::Bind( 562 base::Bind(
563 &extension_file_util::DeleteFile, extension_path, false))) 563 &extensions::file_util::DeleteFile, extension_path, false)))
564 NOTREACHED(); 564 NOTREACHED();
565 565
566 return false; 566 return false;
567 } 567 }
568 568
569 // We want a silent install only for non-pending extensions and 569 // We want a silent install only for non-pending extensions and
570 // pending extensions that have install_silently set. 570 // pending extensions that have install_silently set.
571 scoped_ptr<ExtensionInstallPrompt> client; 571 scoped_ptr<ExtensionInstallPrompt> client;
572 if (pending_extension_info && !pending_extension_info->install_silently()) 572 if (pending_extension_info && !pending_extension_info->install_silently())
573 client.reset(ExtensionInstallUI::CreateInstallPromptWithProfile(profile_)); 573 client.reset(ExtensionInstallUI::CreateInstallPromptWithProfile(profile_));
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 "Extensions.Permissions_Uninstall"); 756 "Extensions.Permissions_Uninstall");
757 757
758 // Unload before doing more cleanup to ensure that nothing is hanging on to 758 // Unload before doing more cleanup to ensure that nothing is hanging on to
759 // any of these resources. 759 // any of these resources.
760 UnloadExtension(extension_id, UnloadedExtensionInfo::REASON_UNINSTALL); 760 UnloadExtension(extension_id, UnloadedExtensionInfo::REASON_UNINSTALL);
761 761
762 // Tell the backend to start deleting installed extensions on the file thread. 762 // Tell the backend to start deleting installed extensions on the file thread.
763 if (!Manifest::IsUnpackedLocation(extension->location())) { 763 if (!Manifest::IsUnpackedLocation(extension->location())) {
764 if (!GetFileTaskRunner()->PostTask( 764 if (!GetFileTaskRunner()->PostTask(
765 FROM_HERE, 765 FROM_HERE,
766 base::Bind( 766 base::Bind(&extensions::file_util::UninstallExtension,
767 &extension_file_util::UninstallExtension, 767 install_directory_,
768 install_directory_, 768 extension_id)))
769 extension_id)))
770 NOTREACHED(); 769 NOTREACHED();
771 } 770 }
772 771
773 // Do not remove the data of ephemeral apps. They will be garbage collected by 772 // Do not remove the data of ephemeral apps. They will be garbage collected by
774 // EphemeralAppService. 773 // EphemeralAppService.
775 if (!extension->is_ephemeral()) 774 if (!extension->is_ephemeral())
776 extensions::DataDeleter::StartDeleting(profile_, extension.get()); 775 extensions::DataDeleter::StartDeleting(profile_, extension.get());
777 776
778 UntrackTerminatedExtension(extension_id); 777 UntrackTerminatedExtension(extension_id);
779 778
(...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after
1747 LOG(WARNING) << "ShouldAllowInstall() returned false for " 1746 LOG(WARNING) << "ShouldAllowInstall() returned false for "
1748 << id << " of type " << extension->GetType() 1747 << id << " of type " << extension->GetType()
1749 << " and update URL " 1748 << " and update URL "
1750 << extensions::ManifestURL::GetUpdateURL(extension).spec() 1749 << extensions::ManifestURL::GetUpdateURL(extension).spec()
1751 << "; not installing"; 1750 << "; not installing";
1752 1751
1753 // Delete the extension directory since we're not going to 1752 // Delete the extension directory since we're not going to
1754 // load it. 1753 // load it.
1755 if (!GetFileTaskRunner()->PostTask( 1754 if (!GetFileTaskRunner()->PostTask(
1756 FROM_HERE, 1755 FROM_HERE,
1757 base::Bind(&extension_file_util::DeleteFile, 1756 base::Bind(&extensions::file_util::DeleteFile,
1758 extension->path(), true))) { 1757 extension->path(),
1758 true))) {
1759 NOTREACHED(); 1759 NOTREACHED();
1760 } 1760 }
1761 return; 1761 return;
1762 } 1762 }
1763 1763
1764 install_parameter = pending_extension_info->install_parameter(); 1764 install_parameter = pending_extension_info->install_parameter();
1765 pending_extension_manager()->Remove(id); 1765 pending_extension_manager()->Remove(id);
1766 } else { 1766 } else {
1767 // We explicitly want to re-enable an uninstalled external 1767 // We explicitly want to re-enable an uninstalled external
1768 // extension; if we're here, that means the user is manually 1768 // extension; if we're here, that means the user is manually
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after
2472 void ExtensionService::UnloadAllExtensionsInternal() { 2472 void ExtensionService::UnloadAllExtensionsInternal() {
2473 profile_->GetExtensionSpecialStoragePolicy()->RevokeRightsForAllExtensions(); 2473 profile_->GetExtensionSpecialStoragePolicy()->RevokeRightsForAllExtensions();
2474 2474
2475 registry_->ClearAll(); 2475 registry_->ClearAll();
2476 system_->runtime_data()->ClearAll(); 2476 system_->runtime_data()->ClearAll();
2477 2477
2478 // TODO(erikkay) should there be a notification for this? We can't use 2478 // TODO(erikkay) should there be a notification for this? We can't use
2479 // EXTENSION_UNLOADED since that implies that the extension has been disabled 2479 // EXTENSION_UNLOADED since that implies that the extension has been disabled
2480 // or uninstalled. 2480 // or uninstalled.
2481 } 2481 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698