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

Unified Diff: chrome/browser/android/preferences/website_preference_bridge.cc

Issue 2953853002: [Android Site Settings] Disable fetching important sites when not needed (Closed)
Patch Set: comments Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/preferences/website_preference_bridge.cc
diff --git a/chrome/browser/android/preferences/website_preference_bridge.cc b/chrome/browser/android/preferences/website_preference_bridge.cc
index d36fb8c89b1205cfffe4d46870208439a0b521d1..c9ff91ab0ed8df3148521f5cb2ee33b6f7223b8d 100644
--- a/chrome/browser/android/preferences/website_preference_bridge.cc
+++ b/chrome/browser/android/preferences/website_preference_bridge.cc
@@ -645,10 +645,11 @@ class StorageInfoClearedCallback {
class LocalStorageInfoReadyCallback {
public:
- explicit LocalStorageInfoReadyCallback(const JavaRef<jobject>& java_callback)
+ LocalStorageInfoReadyCallback(const JavaRef<jobject>& java_callback,
+ bool fetch_important)
: env_(base::android::AttachCurrentThread()),
- java_callback_(java_callback) {
- }
+ java_callback_(java_callback),
+ fetch_important_(fetch_important) {}
void OnLocalStorageModelInfoLoaded(
Profile* profile,
@@ -657,9 +658,11 @@ class LocalStorageInfoReadyCallback {
ScopedJavaLocalRef<jobject> map =
Java_WebsitePreferenceBridge_createLocalStorageInfoMap(env_);
- std::vector<ImportantSitesUtil::ImportantDomainInfo> important_domains =
- ImportantSitesUtil::GetImportantRegisterableDomains(profile,
- kMaxImportantSites);
+ std::vector<ImportantSitesUtil::ImportantDomainInfo> important_domains;
+ if (fetch_important_) {
+ important_domains = ImportantSitesUtil::GetImportantRegisterableDomains(
+ profile, kMaxImportantSites);
+ }
std::list<BrowsingDataLocalStorageHelper::LocalStorageInfo>::const_iterator
i;
@@ -667,23 +670,27 @@ class LocalStorageInfoReadyCallback {
ScopedJavaLocalRef<jstring> full_origin =
ConvertUTF8ToJavaString(env_, i->origin_url.spec());
std::string origin_str = i->origin_url.GetOrigin().spec();
+
bool important = false;
- std::string registerable_domain;
- if (i->origin_url.HostIsIPAddress()) {
- registerable_domain = i->origin_url.host();
- } else {
- registerable_domain =
- net::registry_controlled_domains::GetDomainAndRegistry(
- i->origin_url,
- net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
- }
- auto important_domain_search = [&registerable_domain](
- const ImportantSitesUtil::ImportantDomainInfo& item) {
- return item.registerable_domain == registerable_domain;
- };
- if (std::find_if(important_domains.begin(), important_domains.end(),
- important_domain_search) != important_domains.end()) {
- important = true;
+ if (fetch_important_) {
+ std::string registerable_domain;
+ if (i->origin_url.HostIsIPAddress()) {
+ registerable_domain = i->origin_url.host();
+ } else {
+ registerable_domain =
+ net::registry_controlled_domains::GetDomainAndRegistry(
+ i->origin_url,
+ net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
+ }
+ auto important_domain_search =
+ [&registerable_domain](
+ const ImportantSitesUtil::ImportantDomainInfo& item) {
+ return item.registerable_domain == registerable_domain;
+ };
+ if (std::find_if(important_domains.begin(), important_domains.end(),
+ important_domain_search) != important_domains.end()) {
+ important = true;
+ }
}
// Remove the trailing slash so the origin is matched correctly in
// SingleWebsitePreferences.mergePermissionInfoForTopLevelOrigin.
@@ -702,6 +709,7 @@ class LocalStorageInfoReadyCallback {
private:
JNIEnv* env_;
ScopedJavaGlobalRef<jobject> java_callback_;
+ bool fetch_important_;
};
} // anonymous namespace
@@ -718,13 +726,14 @@ class LocalStorageInfoReadyCallback {
static void FetchLocalStorageInfo(JNIEnv* env,
const JavaParamRef<jclass>& clazz,
- const JavaParamRef<jobject>& java_callback) {
+ const JavaParamRef<jobject>& java_callback,
+ jboolean fetch_important) {
Profile* profile = ProfileManager::GetActiveUserProfile();
scoped_refptr<BrowsingDataLocalStorageHelper> local_storage_helper(
new BrowsingDataLocalStorageHelper(profile));
// local_storage_callback will delete itself when it is run.
LocalStorageInfoReadyCallback* local_storage_callback =
- new LocalStorageInfoReadyCallback(java_callback);
+ new LocalStorageInfoReadyCallback(java_callback, fetch_important);
local_storage_helper->StartFetching(
base::Bind(&LocalStorageInfoReadyCallback::OnLocalStorageModelInfoLoaded,
base::Unretained(local_storage_callback), profile));
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698