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

Side by Side Diff: chrome/browser/supervised_user/supervised_user_service.cc

Issue 2479593006: Move enable extensions define to a build flag. (Closed)
Patch Set: Merge Created 4 years, 1 month 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/supervised_user/supervised_user_service.h" 5 #include "chrome/browser/supervised_user/supervised_user_service.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/feature_list.h" 10 #include "base/feature_list.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 #include "chrome/grit/generated_resources.h" 44 #include "chrome/grit/generated_resources.h"
45 #include "components/browser_sync/profile_sync_service.h" 45 #include "components/browser_sync/profile_sync_service.h"
46 #include "components/pref_registry/pref_registry_syncable.h" 46 #include "components/pref_registry/pref_registry_syncable.h"
47 #include "components/prefs/pref_service.h" 47 #include "components/prefs/pref_service.h"
48 #include "components/signin/core/browser/profile_oauth2_token_service.h" 48 #include "components/signin/core/browser/profile_oauth2_token_service.h"
49 #include "components/signin/core/browser/signin_manager.h" 49 #include "components/signin/core/browser/signin_manager.h"
50 #include "components/signin/core/browser/signin_manager_base.h" 50 #include "components/signin/core/browser/signin_manager_base.h"
51 #include "components/signin/core/common/signin_switches.h" 51 #include "components/signin/core/common/signin_switches.h"
52 #include "content/public/browser/browser_thread.h" 52 #include "content/public/browser/browser_thread.h"
53 #include "content/public/browser/user_metrics.h" 53 #include "content/public/browser/user_metrics.h"
54 #include "extensions/features/features.h"
54 #include "ui/base/l10n/l10n_util.h" 55 #include "ui/base/l10n/l10n_util.h"
55 56
56 #if !defined(OS_ANDROID) 57 #if !defined(OS_ANDROID)
57 #include "chrome/browser/supervised_user/legacy/custodian_profile_downloader_ser vice.h" 58 #include "chrome/browser/supervised_user/legacy/custodian_profile_downloader_ser vice.h"
58 #include "chrome/browser/supervised_user/legacy/custodian_profile_downloader_ser vice_factory.h" 59 #include "chrome/browser/supervised_user/legacy/custodian_profile_downloader_ser vice_factory.h"
59 #include "chrome/browser/supervised_user/legacy/permission_request_creator_sync. h" 60 #include "chrome/browser/supervised_user/legacy/permission_request_creator_sync. h"
60 #include "chrome/browser/supervised_user/legacy/supervised_user_pref_mapping_ser vice.h" 61 #include "chrome/browser/supervised_user/legacy/supervised_user_pref_mapping_ser vice.h"
61 #include "chrome/browser/supervised_user/legacy/supervised_user_pref_mapping_ser vice_factory.h" 62 #include "chrome/browser/supervised_user/legacy/supervised_user_pref_mapping_ser vice_factory.h"
62 #include "chrome/browser/supervised_user/legacy/supervised_user_registration_uti lity.h" 63 #include "chrome/browser/supervised_user/legacy/supervised_user_registration_uti lity.h"
63 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_ service_factory.h" 64 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_ service_factory.h"
64 #endif 65 #endif
65 66
66 #if defined(OS_CHROMEOS) 67 #if defined(OS_CHROMEOS)
67 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" 68 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
68 #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" 69 #include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
69 #include "components/user_manager/user_manager.h" 70 #include "components/user_manager/user_manager.h"
70 #endif 71 #endif
71 72
72 #if defined(ENABLE_EXTENSIONS) 73 #if BUILDFLAG(ENABLE_EXTENSIONS)
73 #include "chrome/browser/extensions/extension_service.h" 74 #include "chrome/browser/extensions/extension_service.h"
74 #include "chrome/browser/extensions/extension_util.h" 75 #include "chrome/browser/extensions/extension_util.h"
75 #include "extensions/browser/extension_prefs.h" 76 #include "extensions/browser/extension_prefs.h"
76 #include "extensions/browser/extension_registry.h" 77 #include "extensions/browser/extension_registry.h"
77 #include "extensions/browser/extension_system.h" 78 #include "extensions/browser/extension_system.h"
78 #endif 79 #endif
79 80
80 #if defined(ENABLE_THEMES) 81 #if defined(ENABLE_THEMES)
81 #include "chrome/browser/themes/theme_service.h" 82 #include "chrome/browser/themes/theme_service.h"
82 #include "chrome/browser/themes/theme_service_factory.h" 83 #include "chrome/browser/themes/theme_service_factory.h"
83 #endif 84 #endif
84 85
85 using base::DictionaryValue; 86 using base::DictionaryValue;
86 using base::UserMetricsAction; 87 using base::UserMetricsAction;
87 using content::BrowserThread; 88 using content::BrowserThread;
88 89
89 #if defined(ENABLE_EXTENSIONS) 90 #if BUILDFLAG(ENABLE_EXTENSIONS)
90 using extensions::Extension; 91 using extensions::Extension;
91 using extensions::ExtensionPrefs; 92 using extensions::ExtensionPrefs;
92 using extensions::ExtensionRegistry; 93 using extensions::ExtensionRegistry;
93 using extensions::ExtensionSystem; 94 using extensions::ExtensionSystem;
94 #endif 95 #endif
95 96
96 #if defined(ENABLE_EXTENSIONS) 97 #if BUILDFLAG(ENABLE_EXTENSIONS)
97 using extensions::ExtensionPrefs; 98 using extensions::ExtensionPrefs;
98 #endif 99 #endif
99 100
100 namespace { 101 namespace {
101 102
102 // The URL from which to download a host blacklist if no local one exists yet. 103 // The URL from which to download a host blacklist if no local one exists yet.
103 const char kBlacklistURL[] = 104 const char kBlacklistURL[] =
104 "https://www.gstatic.com/chrome/supervised_user/blacklist-20141001-1k.bin"; 105 "https://www.gstatic.com/chrome/supervised_user/blacklist-20141001-1k.bin";
105 // The filename under which we'll store the blacklist (in the user data dir). 106 // The filename under which we'll store the blacklist (in the user data dir).
106 const char kBlacklistFilename[] = "su-blacklist.bin"; 107 const char kBlacklistFilename[] = "su-blacklist.bin";
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 SupervisedUserService::SupervisedUserService(Profile* profile) 531 SupervisedUserService::SupervisedUserService(Profile* profile)
531 : includes_sync_sessions_type_(true), 532 : includes_sync_sessions_type_(true),
532 profile_(profile), 533 profile_(profile),
533 active_(false), 534 active_(false),
534 delegate_(NULL), 535 delegate_(NULL),
535 waiting_for_sync_initialization_(false), 536 waiting_for_sync_initialization_(false),
536 is_profile_active_(false), 537 is_profile_active_(false),
537 did_init_(false), 538 did_init_(false),
538 did_shutdown_(false), 539 did_shutdown_(false),
539 blacklist_state_(BlacklistLoadState::NOT_LOADED), 540 blacklist_state_(BlacklistLoadState::NOT_LOADED),
540 #if defined(ENABLE_EXTENSIONS) 541 #if BUILDFLAG(ENABLE_EXTENSIONS)
541 registry_observer_(this), 542 registry_observer_(this),
542 #endif 543 #endif
543 weak_ptr_factory_(this) { 544 weak_ptr_factory_(this) {
544 url_filter_context_.ui_url_filter()->AddObserver(this); 545 url_filter_context_.ui_url_filter()->AddObserver(this);
545 #if defined(ENABLE_EXTENSIONS) 546 #if BUILDFLAG(ENABLE_EXTENSIONS)
546 registry_observer_.Add(extensions::ExtensionRegistry::Get(profile)); 547 registry_observer_.Add(extensions::ExtensionRegistry::Get(profile));
547 #endif 548 #endif
548 } 549 }
549 550
550 void SupervisedUserService::SetActive(bool active) { 551 void SupervisedUserService::SetActive(bool active) {
551 if (active_ == active) 552 if (active_ == active)
552 return; 553 return;
553 active_ = active; 554 active_ = active;
554 555
555 if (!delegate_ || !delegate_->SetActive(active_)) { 556 if (!delegate_ || !delegate_->SetActive(active_)) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 if (theme_service->UsingDefaultTheme() || theme_service->UsingSystemTheme()) 594 if (theme_service->UsingDefaultTheme() || theme_service->UsingSystemTheme())
594 theme_service->UseDefaultTheme(); 595 theme_service->UseDefaultTheme();
595 #endif 596 #endif
596 597
597 browser_sync::ProfileSyncService* sync_service = 598 browser_sync::ProfileSyncService* sync_service =
598 ProfileSyncServiceFactory::GetForProfile(profile_); 599 ProfileSyncServiceFactory::GetForProfile(profile_);
599 sync_service->SetEncryptEverythingAllowed(!active_); 600 sync_service->SetEncryptEverythingAllowed(!active_);
600 601
601 GetSettingsService()->SetActive(active_); 602 GetSettingsService()->SetActive(active_);
602 603
603 #if defined(ENABLE_EXTENSIONS) 604 #if BUILDFLAG(ENABLE_EXTENSIONS)
604 SetExtensionsActive(); 605 SetExtensionsActive();
605 #endif 606 #endif
606 607
607 if (active_) { 608 if (active_) {
608 pref_change_registrar_.Add( 609 pref_change_registrar_.Add(
609 prefs::kDefaultSupervisedUserFilteringBehavior, 610 prefs::kDefaultSupervisedUserFilteringBehavior,
610 base::Bind(&SupervisedUserService::OnDefaultFilteringBehaviorChanged, 611 base::Bind(&SupervisedUserService::OnDefaultFilteringBehaviorChanged,
611 base::Unretained(this))); 612 base::Unretained(this)));
612 #if defined(ENABLE_EXTENSIONS) 613 #if BUILDFLAG(ENABLE_EXTENSIONS)
613 pref_change_registrar_.Add( 614 pref_change_registrar_.Add(
614 prefs::kSupervisedUserApprovedExtensions, 615 prefs::kSupervisedUserApprovedExtensions,
615 base::Bind(&SupervisedUserService::UpdateApprovedExtensions, 616 base::Bind(&SupervisedUserService::UpdateApprovedExtensions,
616 base::Unretained(this))); 617 base::Unretained(this)));
617 #endif 618 #endif
618 pref_change_registrar_.Add(prefs::kSupervisedUserSafeSites, 619 pref_change_registrar_.Add(prefs::kSupervisedUserSafeSites,
619 base::Bind(&SupervisedUserService::OnSafeSitesSettingChanged, 620 base::Bind(&SupervisedUserService::OnSafeSitesSettingChanged,
620 base::Unretained(this))); 621 base::Unretained(this)));
621 pref_change_registrar_.Add(prefs::kSupervisedUserManualHosts, 622 pref_change_registrar_.Add(prefs::kSupervisedUserManualHosts,
622 base::Bind(&SupervisedUserService::UpdateManualHosts, 623 base::Bind(&SupervisedUserService::UpdateManualHosts,
623 base::Unretained(this))); 624 base::Unretained(this)));
624 pref_change_registrar_.Add(prefs::kSupervisedUserManualURLs, 625 pref_change_registrar_.Add(prefs::kSupervisedUserManualURLs,
625 base::Bind(&SupervisedUserService::UpdateManualURLs, 626 base::Bind(&SupervisedUserService::UpdateManualURLs,
626 base::Unretained(this))); 627 base::Unretained(this)));
627 for (const char* pref : kCustodianInfoPrefs) { 628 for (const char* pref : kCustodianInfoPrefs) {
628 pref_change_registrar_.Add(pref, 629 pref_change_registrar_.Add(pref,
629 base::Bind(&SupervisedUserService::OnCustodianInfoChanged, 630 base::Bind(&SupervisedUserService::OnCustodianInfoChanged,
630 base::Unretained(this))); 631 base::Unretained(this)));
631 } 632 }
632 633
633 // Initialize the filter. 634 // Initialize the filter.
634 OnDefaultFilteringBehaviorChanged(); 635 OnDefaultFilteringBehaviorChanged();
635 OnSafeSitesSettingChanged(); 636 OnSafeSitesSettingChanged();
636 whitelist_service_->Init(); 637 whitelist_service_->Init();
637 UpdateManualHosts(); 638 UpdateManualHosts();
638 UpdateManualURLs(); 639 UpdateManualURLs();
639 640
640 #if defined(ENABLE_EXTENSIONS) 641 #if BUILDFLAG(ENABLE_EXTENSIONS)
641 UpdateApprovedExtensions(); 642 UpdateApprovedExtensions();
642 #endif 643 #endif
643 644
644 #if !defined(OS_ANDROID) 645 #if !defined(OS_ANDROID)
645 // TODO(bauerb): Get rid of the platform-specific #ifdef here. 646 // TODO(bauerb): Get rid of the platform-specific #ifdef here.
646 // http://crbug.com/313377 647 // http://crbug.com/313377
647 BrowserList::AddObserver(this); 648 BrowserList::AddObserver(this);
648 #endif 649 #endif
649 } else { 650 } else {
650 permissions_creators_.clear(); 651 permissions_creators_.clear();
651 url_reporter_.reset(); 652 url_reporter_.reset();
652 653
653 pref_change_registrar_.Remove( 654 pref_change_registrar_.Remove(
654 prefs::kDefaultSupervisedUserFilteringBehavior); 655 prefs::kDefaultSupervisedUserFilteringBehavior);
655 #if defined(ENABLE_EXTENSIONS) 656 #if BUILDFLAG(ENABLE_EXTENSIONS)
656 pref_change_registrar_.Remove(prefs::kSupervisedUserApprovedExtensions); 657 pref_change_registrar_.Remove(prefs::kSupervisedUserApprovedExtensions);
657 #endif 658 #endif
658 pref_change_registrar_.Remove(prefs::kSupervisedUserManualHosts); 659 pref_change_registrar_.Remove(prefs::kSupervisedUserManualHosts);
659 pref_change_registrar_.Remove(prefs::kSupervisedUserManualURLs); 660 pref_change_registrar_.Remove(prefs::kSupervisedUserManualURLs);
660 for (const char* pref : kCustodianInfoPrefs) { 661 for (const char* pref : kCustodianInfoPrefs) {
661 pref_change_registrar_.Remove(pref); 662 pref_change_registrar_.Remove(pref);
662 } 663 }
663 664
664 url_filter_context_.Clear(); 665 url_filter_context_.Clear();
665 for (SupervisedUserServiceObserver& observer : observer_list_) 666 for (SupervisedUserServiceObserver& observer : observer_list_)
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
983 sync_blocker_.reset(); 984 sync_blocker_.reset();
984 985
985 browser_sync::ProfileSyncService* sync_service = 986 browser_sync::ProfileSyncService* sync_service =
986 ProfileSyncServiceFactory::GetForProfile(profile_); 987 ProfileSyncServiceFactory::GetForProfile(profile_);
987 988
988 // Can be null in tests. 989 // Can be null in tests.
989 if (sync_service) 990 if (sync_service)
990 sync_service->RemovePreferenceProvider(this); 991 sync_service->RemovePreferenceProvider(this);
991 } 992 }
992 993
993 #if defined(ENABLE_EXTENSIONS) 994 #if BUILDFLAG(ENABLE_EXTENSIONS)
994 SupervisedUserService::ExtensionState SupervisedUserService::GetExtensionState( 995 SupervisedUserService::ExtensionState SupervisedUserService::GetExtensionState(
995 const Extension& extension) const { 996 const Extension& extension) const {
996 bool was_installed_by_default = extension.was_installed_by_default(); 997 bool was_installed_by_default = extension.was_installed_by_default();
997 #if defined(OS_CHROMEOS) 998 #if defined(OS_CHROMEOS)
998 // On Chrome OS all external sources are controlled by us so it means that 999 // On Chrome OS all external sources are controlled by us so it means that
999 // they are "default". Method was_installed_by_default returns false because 1000 // they are "default". Method was_installed_by_default returns false because
1000 // extensions creation flags are ignored in case of default extensions with 1001 // extensions creation flags are ignored in case of default extensions with
1001 // update URL(the flags aren't passed to OnExternalExtensionUpdateUrlFound). 1002 // update URL(the flags aren't passed to OnExternalExtensionUpdateUrlFound).
1002 // TODO(dpolukhin): remove this Chrome OS specific code as soon as creation 1003 // TODO(dpolukhin): remove this Chrome OS specific code as soon as creation
1003 // flags are not ignored. 1004 // flags are not ignored.
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
1233 if (management_policy) { 1234 if (management_policy) {
1234 if (active_) 1235 if (active_)
1235 management_policy->RegisterProvider(this); 1236 management_policy->RegisterProvider(this);
1236 else 1237 else
1237 management_policy->UnregisterProvider(this); 1238 management_policy->UnregisterProvider(this);
1238 1239
1239 // Re-check the policy to make sure any new settings get applied. 1240 // Re-check the policy to make sure any new settings get applied.
1240 extension_system->extension_service()->CheckManagementPolicy(); 1241 extension_system->extension_service()->CheckManagementPolicy();
1241 } 1242 }
1242 } 1243 }
1243 #endif // defined(ENABLE_EXTENSIONS) 1244 #endif // BUILDFLAG(ENABLE_EXTENSIONS)
1244 1245
1245 syncer::ModelTypeSet SupervisedUserService::GetPreferredDataTypes() const { 1246 syncer::ModelTypeSet SupervisedUserService::GetPreferredDataTypes() const {
1246 if (!ProfileIsSupervised()) 1247 if (!ProfileIsSupervised())
1247 return syncer::ModelTypeSet(); 1248 return syncer::ModelTypeSet();
1248 1249
1249 syncer::ModelTypeSet result; 1250 syncer::ModelTypeSet result;
1250 if (IncludesSyncSessionsType()) 1251 if (IncludesSyncSessionsType())
1251 result.Put(syncer::SESSIONS); 1252 result.Put(syncer::SESSIONS);
1252 result.Put(syncer::EXTENSIONS); 1253 result.Put(syncer::EXTENSIONS);
1253 result.Put(syncer::EXTENSION_SETTINGS); 1254 result.Put(syncer::EXTENSION_SETTINGS);
(...skipping 28 matching lines...) Expand all
1282 content::RecordAction(UserMetricsAction("ManagedUsers_SwitchProfile")); 1283 content::RecordAction(UserMetricsAction("ManagedUsers_SwitchProfile"));
1283 1284
1284 is_profile_active_ = profile_became_active; 1285 is_profile_active_ = profile_became_active;
1285 } 1286 }
1286 #endif // !defined(OS_ANDROID) 1287 #endif // !defined(OS_ANDROID)
1287 1288
1288 void SupervisedUserService::OnSiteListUpdated() { 1289 void SupervisedUserService::OnSiteListUpdated() {
1289 for (SupervisedUserServiceObserver& observer : observer_list_) 1290 for (SupervisedUserServiceObserver& observer : observer_list_)
1290 observer.OnURLFilterChanged(); 1291 observer.OnURLFilterChanged();
1291 } 1292 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698