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

Side by Side Diff: chrome/browser/managed_mode/managed_user_service.cc

Issue 12221065: Disable normal default extensions in case of managed users (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed tests Created 7 years, 10 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.cc ('k') | chrome/common/chrome_paths.h » ('j') | 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) 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/managed_mode/managed_user_service.h" 5 #include "chrome/browser/managed_mode/managed_user_service.h"
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/sequenced_task_runner.h" 9 #include "base/sequenced_task_runner.h"
10 #include "chrome/browser/extensions/extension_service.h" 10 #include "chrome/browser/extensions/extension_service.h"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 // If the extension is already loaded, we allow it, otherwise we'd unload 161 // If the extension is already loaded, we allow it, otherwise we'd unload
162 // all existing extensions. 162 // all existing extensions.
163 ExtensionService* extension_service = 163 ExtensionService* extension_service =
164 extensions::ExtensionSystem::Get(profile_)->extension_service(); 164 extensions::ExtensionSystem::Get(profile_)->extension_service();
165 165
166 // |extension_service| can be NULL in a unit test. 166 // |extension_service| can be NULL in a unit test.
167 if (extension_service && 167 if (extension_service &&
168 extension_service->GetInstalledExtension(extension->id())) 168 extension_service->GetInstalledExtension(extension->id()))
169 return true; 169 return true;
170 170
171 if (extension) {
172 bool was_installed_by_default = extension->was_installed_by_default();
173 #ifdef OS_CHROMEOS
174 // On Chrome OS all external sources are controlled by us so it means that
175 // they are "default". Method was_installed_by_default returns false because
176 // extensions creation flags are ignored in case of default extensions with
177 // update URL(the flags aren't passed to OnExternalExtensionUpdateUrlFound).
178 // TODO(dpolukhin): remove this Chrome OS specific code as soon as creation
179 // flags are not ignored.
180 was_installed_by_default =
181 extensions::Manifest::IsExternalLocation(extension->location());
182 #endif
183 if (extension->location() == extensions::Manifest::COMPONENT ||
184 was_installed_by_default) {
185 return true;
186 }
187 }
188
171 if (error) 189 if (error)
172 *error = tmp_error; 190 *error = tmp_error;
173 return false; 191 return false;
174 } 192 }
175 193
176 bool ManagedUserService::UserMayModifySettings( 194 bool ManagedUserService::UserMayModifySettings(
177 const extensions::Extension* extension, 195 const extensions::Extension* extension,
178 string16* error) const { 196 string16* error) const {
179 return ExtensionManagementPolicyImpl(error); 197 return ExtensionManagementPolicyImpl(error);
180 } 198 }
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 profile_->GetPrefs()->GetDictionary(prefs::kManagedModeManualURLs); 383 profile_->GetPrefs()->GetDictionary(prefs::kManagedModeManualURLs);
366 scoped_ptr<std::map<GURL, bool> > url_map(new std::map<GURL, bool>()); 384 scoped_ptr<std::map<GURL, bool> > url_map(new std::map<GURL, bool>());
367 for (DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) { 385 for (DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) {
368 bool allow = false; 386 bool allow = false;
369 bool result = it.value().GetAsBoolean(&allow); 387 bool result = it.value().GetAsBoolean(&allow);
370 DCHECK(result); 388 DCHECK(result);
371 (*url_map)[GURL(it.key())] = allow; 389 (*url_map)[GURL(it.key())] = allow;
372 } 390 }
373 url_filter_context_.SetManualURLs(url_map.Pass()); 391 url_filter_context_.SetManualURLs(url_map.Pass());
374 } 392 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/external_provider_impl.cc ('k') | chrome/common/chrome_paths.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698