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

Side by Side Diff: chrome/browser/android/preferences/pref_service_bridge.cc

Issue 2733393003: Split browsing data masks between content and embedder (Closed)
Patch Set: Extensions can't match extensions if there are no extensions. Created 3 years, 9 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
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/android/preferences/pref_service_bridge.h" 5 #include "chrome/browser/android/preferences/pref_service_bridge.h"
6 6
7 #include <jni.h> 7 #include <jni.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 11 matching lines...) Expand all
22 #include "base/files/file_util.h" 22 #include "base/files/file_util.h"
23 #include "base/metrics/histogram_macros.h" 23 #include "base/metrics/histogram_macros.h"
24 #include "base/scoped_observer.h" 24 #include "base/scoped_observer.h"
25 #include "base/strings/string_split.h" 25 #include "base/strings/string_split.h"
26 #include "base/strings/string_util.h" 26 #include "base/strings/string_util.h"
27 #include "base/values.h" 27 #include "base/values.h"
28 #include "chrome/browser/browser_process.h" 28 #include "chrome/browser/browser_process.h"
29 #include "chrome/browser/browsing_data/browsing_data_helper.h" 29 #include "chrome/browser/browsing_data/browsing_data_helper.h"
30 #include "chrome/browser/browsing_data/browsing_data_remover.h" 30 #include "chrome/browser/browsing_data/browsing_data_remover.h"
31 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" 31 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
32 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h"
32 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 33 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
33 #include "chrome/browser/engagement/important_sites_util.h" 34 #include "chrome/browser/engagement/important_sites_util.h"
34 #include "chrome/browser/history/web_history_service_factory.h" 35 #include "chrome/browser/history/web_history_service_factory.h"
35 #include "chrome/browser/net/prediction_options.h" 36 #include "chrome/browser/net/prediction_options.h"
36 #include "chrome/browser/prefs/incognito_mode_prefs.h" 37 #include "chrome/browser/prefs/incognito_mode_prefs.h"
37 #include "chrome/browser/profiles/profile_manager.h" 38 #include "chrome/browser/profiles/profile_manager.h"
38 #include "chrome/browser/sync/profile_sync_service_factory.h" 39 #include "chrome/browser/sync/profile_sync_service_factory.h"
39 #include "chrome/browser/translate/chrome_translate_client.h" 40 #include "chrome/browser/translate/chrome_translate_client.h"
40 #include "chrome/browser/ui/android/android_about_app_info.h" 41 #include "chrome/browser/ui/android/android_about_app_info.h"
41 #include "chrome/common/channel_info.h" 42 #include "chrome/common/channel_info.h"
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 BrowsingDataRemover* browsing_data_remover = 640 BrowsingDataRemover* browsing_data_remover =
640 BrowsingDataRemoverFactory::GetForBrowserContext(GetOriginalProfile()); 641 BrowsingDataRemoverFactory::GetForBrowserContext(GetOriginalProfile());
641 642
642 std::vector<int> data_types_vector; 643 std::vector<int> data_types_vector;
643 base::android::JavaIntArrayToIntVector(env, data_types, &data_types_vector); 644 base::android::JavaIntArrayToIntVector(env, data_types, &data_types_vector);
644 645
645 int remove_mask = 0; 646 int remove_mask = 0;
646 for (const int data_type : data_types_vector) { 647 for (const int data_type : data_types_vector) {
647 switch (static_cast<browsing_data::BrowsingDataType>(data_type)) { 648 switch (static_cast<browsing_data::BrowsingDataType>(data_type)) {
648 case browsing_data::BrowsingDataType::HISTORY: 649 case browsing_data::BrowsingDataType::HISTORY:
649 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; 650 remove_mask |= ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY;
650 break; 651 break;
651 case browsing_data::BrowsingDataType::CACHE: 652 case browsing_data::BrowsingDataType::CACHE:
652 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; 653 remove_mask |= ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CACHE;
653 break; 654 break;
654 case browsing_data::BrowsingDataType::COOKIES: 655 case browsing_data::BrowsingDataType::COOKIES:
655 remove_mask |= BrowsingDataRemover::REMOVE_COOKIES; 656 remove_mask |= ChromeBrowsingDataRemoverDelegate::DATA_TYPE_COOKIES;
656 remove_mask |= BrowsingDataRemover::REMOVE_SITE_DATA; 657 remove_mask |= ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA;
657 break; 658 break;
658 case browsing_data::BrowsingDataType::PASSWORDS: 659 case browsing_data::BrowsingDataType::PASSWORDS:
659 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; 660 remove_mask |= ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS;
660 break; 661 break;
661 case browsing_data::BrowsingDataType::FORM_DATA: 662 case browsing_data::BrowsingDataType::FORM_DATA:
662 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; 663 remove_mask |= ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA;
663 break; 664 break;
664 case browsing_data::BrowsingDataType::BOOKMARKS: 665 case browsing_data::BrowsingDataType::BOOKMARKS:
665 // Bookmarks are deleted separately on the Java side. 666 // Bookmarks are deleted separately on the Java side.
666 NOTREACHED(); 667 NOTREACHED();
667 break; 668 break;
668 case browsing_data::BrowsingDataType::NUM_TYPES: 669 case browsing_data::BrowsingDataType::NUM_TYPES:
669 NOTREACHED(); 670 NOTREACHED();
670 } 671 }
671 } 672 }
672 std::vector<std::string> excluding_domains; 673 std::vector<std::string> excluding_domains;
(...skipping 16 matching lines...) Expand all
689 } 690 }
690 691
691 if (!excluding_domains.empty() || !ignoring_domains.empty()) { 692 if (!excluding_domains.empty() || !ignoring_domains.empty()) {
692 ImportantSitesUtil::RecordBlacklistedAndIgnoredImportantSites( 693 ImportantSitesUtil::RecordBlacklistedAndIgnoredImportantSites(
693 GetOriginalProfile(), excluding_domains, excluding_domain_reasons, 694 GetOriginalProfile(), excluding_domains, excluding_domain_reasons,
694 ignoring_domains, ignoring_domain_reasons); 695 ignoring_domains, ignoring_domain_reasons);
695 } 696 }
696 697
697 // Delete the types protected by Important Sites with a filter, 698 // Delete the types protected by Important Sites with a filter,
698 // and the rest completely. 699 // and the rest completely.
699 int filterable_mask = 700 int filterable_mask = remove_mask &
700 remove_mask & BrowsingDataRemover::IMPORTANT_SITES_DATATYPES; 701 ChromeBrowsingDataRemoverDelegate::IMPORTANT_SITES_DATA_TYPES;
701 int nonfilterable_mask = remove_mask & 702 int nonfilterable_mask = remove_mask &
702 ~BrowsingDataRemover::IMPORTANT_SITES_DATATYPES; 703 ~ChromeBrowsingDataRemoverDelegate::IMPORTANT_SITES_DATA_TYPES;
703 704
704 // ClearBrowsingDataObserver deletes itself when |browsing_data_remover| is 705 // ClearBrowsingDataObserver deletes itself when |browsing_data_remover| is
705 // done with both removal tasks. 706 // done with both removal tasks.
706 ClearBrowsingDataObserver* observer = new ClearBrowsingDataObserver( 707 ClearBrowsingDataObserver* observer = new ClearBrowsingDataObserver(
707 env, obj, browsing_data_remover, 2 /* tasks_count */); 708 env, obj, browsing_data_remover, 2 /* tasks_count */);
708 709
709 browsing_data::TimePeriod period = 710 browsing_data::TimePeriod period =
710 static_cast<browsing_data::TimePeriod>(time_period); 711 static_cast<browsing_data::TimePeriod>(time_period);
711 browsing_data::RecordDeletionForPeriod(period); 712 browsing_data::RecordDeletionForPeriod(period);
712 713
713 if (filterable_mask) { 714 if (filterable_mask) {
714 browsing_data_remover->RemoveWithFilterAndReply( 715 browsing_data_remover->RemoveWithFilterAndReply(
715 browsing_data::CalculateBeginDeleteTime(period), 716 browsing_data::CalculateBeginDeleteTime(period),
716 browsing_data::CalculateEndDeleteTime(period), 717 browsing_data::CalculateEndDeleteTime(period),
717 filterable_mask, BrowsingDataHelper::UNPROTECTED_WEB, 718 filterable_mask,
719 ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_UNPROTECTED_WEB,
718 std::move(filter_builder), observer); 720 std::move(filter_builder), observer);
719 } else { 721 } else {
720 // Make sure |observer| doesn't wait for the filtered task. 722 // Make sure |observer| doesn't wait for the filtered task.
721 observer->OnBrowsingDataRemoverDone(); 723 observer->OnBrowsingDataRemoverDone();
722 } 724 }
723 725
724 if (nonfilterable_mask) { 726 if (nonfilterable_mask) {
725 browsing_data_remover->RemoveAndReply( 727 browsing_data_remover->RemoveAndReply(
726 browsing_data::CalculateBeginDeleteTime(period), 728 browsing_data::CalculateBeginDeleteTime(period),
727 browsing_data::CalculateEndDeleteTime(period), 729 browsing_data::CalculateEndDeleteTime(period),
728 nonfilterable_mask, BrowsingDataHelper::UNPROTECTED_WEB, observer); 730 nonfilterable_mask,
731 ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_UNPROTECTED_WEB,
732 observer);
729 } else { 733 } else {
730 // Make sure |observer| doesn't wait for the non-filtered task. 734 // Make sure |observer| doesn't wait for the non-filtered task.
731 observer->OnBrowsingDataRemoverDone(); 735 observer->OnBrowsingDataRemoverDone();
732 } 736 }
733 } 737 }
734 738
735 static jboolean CanDeleteBrowsingHistory(JNIEnv* env, 739 static jboolean CanDeleteBrowsingHistory(JNIEnv* env,
736 const JavaParamRef<jobject>& obj) { 740 const JavaParamRef<jobject>& obj) {
737 return GetPrefService()->GetBoolean(prefs::kAllowDeletingBrowserHistory); 741 return GetPrefService()->GetBoolean(prefs::kAllowDeletingBrowserHistory);
738 } 742 }
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
1256 .obj(), 1260 .obj(),
1257 out); 1261 out);
1258 } 1262 }
1259 1263
1260 static void SetSupervisedUserId(JNIEnv* env, 1264 static void SetSupervisedUserId(JNIEnv* env,
1261 const JavaParamRef<jobject>& obj, 1265 const JavaParamRef<jobject>& obj,
1262 const JavaParamRef<jstring>& pref) { 1266 const JavaParamRef<jstring>& pref) {
1263 GetPrefService()->SetString(prefs::kSupervisedUserId, 1267 GetPrefService()->SetString(prefs::kSupervisedUserId,
1264 ConvertJavaStringToUTF8(env, pref)); 1268 ConvertJavaStringToUTF8(env, pref));
1265 } 1269 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698