| OLD | NEW |
| 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/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 prefs::kSupervisedUserSecondCustodianProfileURL, | 100 prefs::kSupervisedUserSecondCustodianProfileURL, |
| 101 }; | 101 }; |
| 102 | 102 |
| 103 void CreateURLAccessRequest( | 103 void CreateURLAccessRequest( |
| 104 const GURL& url, | 104 const GURL& url, |
| 105 PermissionRequestCreator* creator, | 105 PermissionRequestCreator* creator, |
| 106 const SupervisedUserService::SuccessCallback& callback) { | 106 const SupervisedUserService::SuccessCallback& callback) { |
| 107 creator->CreateURLAccessRequest(url, callback); | 107 creator->CreateURLAccessRequest(url, callback); |
| 108 } | 108 } |
| 109 | 109 |
| 110 void CreateReportUrlRequest( |
| 111 const GURL& url, |
| 112 ReportUrlRequestCreator* creator, |
| 113 const SupervisedUserService::SuccessCallback& callback) { |
| 114 creator->CreateReportUrlRequest(url, callback); |
| 115 } |
| 116 |
| 110 void CreateExtensionUpdateRequest( | 117 void CreateExtensionUpdateRequest( |
| 111 const std::string& id, | 118 const std::string& id, |
| 112 PermissionRequestCreator* creator, | 119 PermissionRequestCreator* creator, |
| 113 const SupervisedUserService::SuccessCallback& callback) { | 120 const SupervisedUserService::SuccessCallback& callback) { |
| 114 creator->CreateExtensionUpdateRequest(id, callback); | 121 creator->CreateExtensionUpdateRequest(id, callback); |
| 115 } | 122 } |
| 116 | 123 |
| 117 // Default callback for AddExtensionUpdateRequest. | 124 // Default callback for AddExtensionUpdateRequest. |
| 118 void ExtensionUpdateRequestSent(const std::string& id, bool success) { | 125 void ExtensionUpdateRequestSent(const std::string& id, bool success) { |
| 119 VLOG_IF(1, !success) << "Failed sending update request for " << id; | 126 VLOG_IF(1, !success) << "Failed sending update request for " << id; |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 | 256 |
| 250 void SupervisedUserService::AddURLAccessRequest( | 257 void SupervisedUserService::AddURLAccessRequest( |
| 251 const GURL& url, | 258 const GURL& url, |
| 252 const SuccessCallback& callback) { | 259 const SuccessCallback& callback) { |
| 253 AddPermissionRequestInternal( | 260 AddPermissionRequestInternal( |
| 254 base::Bind(CreateURLAccessRequest, | 261 base::Bind(CreateURLAccessRequest, |
| 255 SupervisedUserURLFilter::Normalize(url)), | 262 SupervisedUserURLFilter::Normalize(url)), |
| 256 callback, 0); | 263 callback, 0); |
| 257 } | 264 } |
| 258 | 265 |
| 266 void SupervisedUserService::AddReportUrlRequest( |
| 267 const GURL& url, |
| 268 const SuccessCallback& callback) { |
| 269 AddReportUrlRequestInternal( |
| 270 base::Bind(CreateReportUrlRequest, url), |
| 271 callback, 0); |
| 272 } |
| 273 |
| 259 void SupervisedUserService::AddExtensionUpdateRequest( | 274 void SupervisedUserService::AddExtensionUpdateRequest( |
| 260 const std::string& extension_id, | 275 const std::string& extension_id, |
| 261 const base::Version& version, | 276 const base::Version& version, |
| 262 const SuccessCallback& callback) { | 277 const SuccessCallback& callback) { |
| 263 std::string id = GetExtensionUpdateRequestId(extension_id, version); | 278 std::string id = GetExtensionUpdateRequestId(extension_id, version); |
| 264 AddPermissionRequestInternal( | 279 AddPermissionRequestInternal( |
| 265 base::Bind(CreateExtensionUpdateRequest, id), callback, 0); | 280 base::Bind(CreateExtensionUpdateRequest, id), callback, 0); |
| 266 } | 281 } |
| 267 | 282 |
| 268 void SupervisedUserService::AddExtensionUpdateRequest( | 283 void SupervisedUserService::AddExtensionUpdateRequest( |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 void SupervisedUserService::RemoveObserver( | 404 void SupervisedUserService::RemoveObserver( |
| 390 SupervisedUserServiceObserver* observer) { | 405 SupervisedUserServiceObserver* observer) { |
| 391 observer_list_.RemoveObserver(observer); | 406 observer_list_.RemoveObserver(observer); |
| 392 } | 407 } |
| 393 | 408 |
| 394 void SupervisedUserService::AddPermissionRequestCreator( | 409 void SupervisedUserService::AddPermissionRequestCreator( |
| 395 scoped_ptr<PermissionRequestCreator> creator) { | 410 scoped_ptr<PermissionRequestCreator> creator) { |
| 396 permissions_creators_.push_back(creator.release()); | 411 permissions_creators_.push_back(creator.release()); |
| 397 } | 412 } |
| 398 | 413 |
| 414 void SupervisedUserService::AddReportUrlRequestCreator( |
| 415 scoped_ptr<ReportUrlRequestCreator> creator) { |
| 416 report_url_creators_.push_back(std::move(creator)); |
| 417 } |
| 418 |
| 399 SupervisedUserService::URLFilterContext::URLFilterContext() | 419 SupervisedUserService::URLFilterContext::URLFilterContext() |
| 400 : ui_url_filter_(new SupervisedUserURLFilter), | 420 : ui_url_filter_(new SupervisedUserURLFilter), |
| 401 io_url_filter_(new SupervisedUserURLFilter) {} | 421 io_url_filter_(new SupervisedUserURLFilter) {} |
| 402 SupervisedUserService::URLFilterContext::~URLFilterContext() {} | 422 SupervisedUserService::URLFilterContext::~URLFilterContext() {} |
| 403 | 423 |
| 404 SupervisedUserURLFilter* | 424 SupervisedUserURLFilter* |
| 405 SupervisedUserService::URLFilterContext::ui_url_filter() const { | 425 SupervisedUserService::URLFilterContext::ui_url_filter() const { |
| 406 return ui_url_filter_.get(); | 426 return ui_url_filter_.get(); |
| 407 } | 427 } |
| 408 | 428 |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 594 UpdateManualHosts(); | 614 UpdateManualHosts(); |
| 595 UpdateManualURLs(); | 615 UpdateManualURLs(); |
| 596 | 616 |
| 597 #if !defined(OS_ANDROID) | 617 #if !defined(OS_ANDROID) |
| 598 // TODO(bauerb): Get rid of the platform-specific #ifdef here. | 618 // TODO(bauerb): Get rid of the platform-specific #ifdef here. |
| 599 // http://crbug.com/313377 | 619 // http://crbug.com/313377 |
| 600 BrowserList::AddObserver(this); | 620 BrowserList::AddObserver(this); |
| 601 #endif | 621 #endif |
| 602 } else { | 622 } else { |
| 603 permissions_creators_.clear(); | 623 permissions_creators_.clear(); |
| 624 report_url_creators_.clear(); |
| 604 | 625 |
| 605 pref_change_registrar_.Remove( | 626 pref_change_registrar_.Remove( |
| 606 prefs::kDefaultSupervisedUserFilteringBehavior); | 627 prefs::kDefaultSupervisedUserFilteringBehavior); |
| 607 pref_change_registrar_.Remove(prefs::kSupervisedUserManualHosts); | 628 pref_change_registrar_.Remove(prefs::kSupervisedUserManualHosts); |
| 608 pref_change_registrar_.Remove(prefs::kSupervisedUserManualURLs); | 629 pref_change_registrar_.Remove(prefs::kSupervisedUserManualURLs); |
| 609 for (const char* pref : kCustodianInfoPrefs) { | 630 for (const char* pref : kCustodianInfoPrefs) { |
| 610 pref_change_registrar_.Remove(pref); | 631 pref_change_registrar_.Remove(pref); |
| 611 } | 632 } |
| 612 | 633 |
| 613 url_filter_context_.Clear(); | 634 url_filter_context_.Clear(); |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 747 size_t index, | 768 size_t index, |
| 748 bool success) { | 769 bool success) { |
| 749 if (success) { | 770 if (success) { |
| 750 callback.Run(true); | 771 callback.Run(true); |
| 751 return; | 772 return; |
| 752 } | 773 } |
| 753 | 774 |
| 754 AddPermissionRequestInternal(create_request, callback, index + 1); | 775 AddPermissionRequestInternal(create_request, callback, index + 1); |
| 755 } | 776 } |
| 756 | 777 |
| 778 void SupervisedUserService::AddReportUrlRequestInternal( |
| 779 const CreateReportUrlRequestCallback& report_url_request, |
| 780 const SuccessCallback& callback, |
| 781 size_t index) { |
| 782 if (index >= report_url_creators_.size()) { |
| 783 callback.Run(false); |
| 784 return; |
| 785 } |
| 786 |
| 787 report_url_request.Run( |
| 788 report_url_creators_[index].get(), |
| 789 base::Bind(&SupervisedUserService::OnReportUrlRequestIssues, |
| 790 weak_ptr_factory_.GetWeakPtr(), report_url_request, |
| 791 callback, index)); |
| 792 } |
| 793 |
| 794 void SupervisedUserService::OnReportUrlRequestIssues( |
| 795 const CreateReportUrlRequestCallback& report_url_request, |
| 796 const SuccessCallback& callback, |
| 797 size_t index, |
| 798 bool success) { |
| 799 if (success) { |
| 800 callback.Run(true); |
| 801 return; |
| 802 } |
| 803 |
| 804 AddReportUrlRequestInternal(report_url_request, callback, index + 1); |
| 805 } |
| 806 |
| 757 void SupervisedUserService::OnSupervisedUserIdChanged() { | 807 void SupervisedUserService::OnSupervisedUserIdChanged() { |
| 758 SetActive(ProfileIsSupervised()); | 808 SetActive(ProfileIsSupervised()); |
| 759 } | 809 } |
| 760 | 810 |
| 761 void SupervisedUserService::OnDefaultFilteringBehaviorChanged() { | 811 void SupervisedUserService::OnDefaultFilteringBehaviorChanged() { |
| 762 int behavior_value = profile_->GetPrefs()->GetInteger( | 812 int behavior_value = profile_->GetPrefs()->GetInteger( |
| 763 prefs::kDefaultSupervisedUserFilteringBehavior); | 813 prefs::kDefaultSupervisedUserFilteringBehavior); |
| 764 SupervisedUserURLFilter::FilteringBehavior behavior = | 814 SupervisedUserURLFilter::FilteringBehavior behavior = |
| 765 SupervisedUserURLFilter::BehaviorFromInt(behavior_value); | 815 SupervisedUserURLFilter::BehaviorFromInt(behavior_value); |
| 766 url_filter_context_.SetDefaultFilteringBehavior(behavior); | 816 url_filter_context_.SetDefaultFilteringBehavior(behavior); |
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1045 content::RecordAction(UserMetricsAction("ManagedUsers_SwitchProfile")); | 1095 content::RecordAction(UserMetricsAction("ManagedUsers_SwitchProfile")); |
| 1046 | 1096 |
| 1047 is_profile_active_ = profile_became_active; | 1097 is_profile_active_ = profile_became_active; |
| 1048 } | 1098 } |
| 1049 #endif // !defined(OS_ANDROID) | 1099 #endif // !defined(OS_ANDROID) |
| 1050 | 1100 |
| 1051 void SupervisedUserService::OnSiteListUpdated() { | 1101 void SupervisedUserService::OnSiteListUpdated() { |
| 1052 FOR_EACH_OBSERVER( | 1102 FOR_EACH_OBSERVER( |
| 1053 SupervisedUserServiceObserver, observer_list_, OnURLFilterChanged()); | 1103 SupervisedUserServiceObserver, observer_list_, OnURLFilterChanged()); |
| 1054 } | 1104 } |
| OLD | NEW |