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

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

Issue 216763004: OEM folder name support for apps installed from rootfs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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
« no previous file with comments | « chrome/browser/extensions/external_provider_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/external_provider_impl.h" 5 #include "chrome/browser/extensions/external_provider_impl.h"
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 52
53 using content::BrowserThread; 53 using content::BrowserThread;
54 54
55 namespace extensions { 55 namespace extensions {
56 56
57 // Constants for keeping track of extension preferences in a dictionary. 57 // Constants for keeping track of extension preferences in a dictionary.
58 const char ExternalProviderImpl::kInstallParam[] = "install_parameter"; 58 const char ExternalProviderImpl::kInstallParam[] = "install_parameter";
59 const char ExternalProviderImpl::kExternalCrx[] = "external_crx"; 59 const char ExternalProviderImpl::kExternalCrx[] = "external_crx";
60 const char ExternalProviderImpl::kExternalVersion[] = "external_version"; 60 const char ExternalProviderImpl::kExternalVersion[] = "external_version";
61 const char ExternalProviderImpl::kExternalUpdateUrl[] = "external_update_url"; 61 const char ExternalProviderImpl::kExternalUpdateUrl[] = "external_update_url";
62 const char ExternalProviderImpl::kSupportedLocales[] = "supported_locales";
63 const char ExternalProviderImpl::kIsBookmarkApp[] = "is_bookmark_app"; 62 const char ExternalProviderImpl::kIsBookmarkApp[] = "is_bookmark_app";
64 const char ExternalProviderImpl::kIsFromWebstore[] = "is_from_webstore"; 63 const char ExternalProviderImpl::kIsFromWebstore[] = "is_from_webstore";
65 const char ExternalProviderImpl::kKeepIfPresent[] = "keep_if_present"; 64 const char ExternalProviderImpl::kKeepIfPresent[] = "keep_if_present";
65 const char ExternalProviderImpl::kWasInstalledByOem[] = "was_installed_by_oem";
66 const char ExternalProviderImpl::kSupportedLocales[] = "supported_locales";
66 67
67 ExternalProviderImpl::ExternalProviderImpl( 68 ExternalProviderImpl::ExternalProviderImpl(
68 VisitorInterface* service, 69 VisitorInterface* service,
69 const scoped_refptr<ExternalLoader>& loader, 70 const scoped_refptr<ExternalLoader>& loader,
70 Profile* profile, 71 Profile* profile,
71 Manifest::Location crx_location, 72 Manifest::Location crx_location,
72 Manifest::Location download_location, 73 Manifest::Location download_location,
73 int creation_flags) 74 int creation_flags)
74 : crx_location_(crx_location), 75 : crx_location_(crx_location),
75 download_location_(download_location), 76 download_location_(download_location),
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 ExtensionSystem::Get(profile_)->extension_service(); 214 ExtensionSystem::Get(profile_)->extension_service();
214 const Extension* extension = extension_service ? 215 const Extension* extension = extension_service ?
215 extension_service->GetExtensionById(extension_id, true) : NULL; 216 extension_service->GetExtensionById(extension_id, true) : NULL;
216 if (!extension) { 217 if (!extension) {
217 VLOG(1) << "Skip installing (or uninstall) external extension: " 218 VLOG(1) << "Skip installing (or uninstall) external extension: "
218 << extension_id << " because the extension should be kept " 219 << extension_id << " because the extension should be kept "
219 << "only if it is already installed."; 220 << "only if it is already installed.";
220 continue; 221 continue;
221 } 222 }
222 } 223 }
224 bool was_installed_by_oem;
225 if (extension->GetBoolean(kWasInstalledByOem, &was_installed_by_oem) &&
stevenjb 2014/04/09 18:17:38 We only set this property in the Chrome code on Ch
226 was_installed_by_oem) {
227 creation_flags |= Extension::WAS_INSTALLED_BY_OEM;
228 }
223 229
224 std::string install_parameter; 230 std::string install_parameter;
225 extension->GetString(kInstallParam, &install_parameter); 231 extension->GetString(kInstallParam, &install_parameter);
226 232
227 if (has_external_crx) { 233 if (has_external_crx) {
228 if (crx_location_ == Manifest::INVALID_LOCATION) { 234 if (crx_location_ == Manifest::INVALID_LOCATION) {
229 LOG(WARNING) << "This provider does not support installing external " 235 LOG(WARNING) << "This provider does not support installing external "
230 << "extensions from crx files."; 236 << "extensions from crx files.";
231 continue; 237 continue;
232 } 238 }
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 service, 550 service,
545 new ExternalComponentLoader(profile), 551 new ExternalComponentLoader(profile),
546 profile, 552 profile,
547 Manifest::INVALID_LOCATION, 553 Manifest::INVALID_LOCATION,
548 Manifest::EXTERNAL_COMPONENT, 554 Manifest::EXTERNAL_COMPONENT,
549 Extension::FROM_WEBSTORE | Extension::WAS_INSTALLED_BY_DEFAULT))); 555 Extension::FROM_WEBSTORE | Extension::WAS_INSTALLED_BY_DEFAULT)));
550 } 556 }
551 } 557 }
552 558
553 } // namespace extensions 559 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/external_provider_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698