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

Unified Diff: chrome/browser/sync/profile_sync_service_android.cc

Issue 13109002: [Sync] Move Android enabled types logic into native (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Created 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/profile_sync_service_android.cc
diff --git a/chrome/browser/sync/profile_sync_service_android.cc b/chrome/browser/sync/profile_sync_service_android.cc
index 7c32924d67ad22bc9e8ea695359489314049a294..7b902325f3459b2c0b0531f98ea97da9cd1c4211 100644
--- a/chrome/browser/sync/profile_sync_service_android.cc
+++ b/chrome/browser/sync/profile_sync_service_android.cc
@@ -398,12 +398,60 @@ jboolean ProfileSyncServiceAndroid::IsSyncKeystoreMigrationDone(
return is_status_valid && !status.keystore_migration_time.is_null();
}
+jlong ProfileSyncServiceAndroid::GetEnabledDataTypes(JNIEnv* env,
+ jobject obj) {
+ jlong model_type_selection = 0;
+ syncer::ModelTypeSet types = sync_service_->GetPreferredDataTypes();
+ types.PutAll(syncer::ControlTypes());
+ if (types.Has(syncer::BOOKMARKS)) {
+ model_type_selection |= BOOKMARK;
+ }
+ if (types.Has(syncer::AUTOFILL)) {
+ model_type_selection |= AUTOFILL;
+ }
+ if (types.Has(syncer::AUTOFILL_PROFILE)) {
+ model_type_selection |= AUTOFILL_PROFILE;
+ }
+ if (types.Has(syncer::PASSWORDS)) {
+ model_type_selection |= PASSWORD;
+ }
+ if (types.Has(syncer::TYPED_URLS)) {
+ model_type_selection |= TYPED_URL;
+ }
+ if (types.Has(syncer::SESSIONS)) {
+ model_type_selection |= SESSION;
+ }
+ if (types.Has(syncer::HISTORY_DELETE_DIRECTIVES)) {
+ model_type_selection |= HISTORY_DELETE_DIRECTIVE;
+ }
+ if (types.Has(syncer::PROXY_TABS)) {
+ model_type_selection |= PROXY_TABS;
+ }
+ if (types.Has(syncer::FAVICON_IMAGES)) {
+ model_type_selection |= FAVICON_IMAGE;
+ }
+ if (types.Has(syncer::FAVICON_TRACKING)) {
+ model_type_selection |= FAVICON_TRACKING;
+ }
+ if (types.Has(syncer::DEVICE_INFO)) {
+ model_type_selection |= DEVICE_INFO;
+ }
+ if (types.Has(syncer::NIGORI)) {
+ model_type_selection |= NIGORI;
+ }
+ if (types.Has(syncer::EXPERIMENTS)) {
+ model_type_selection |= EXPERIMENTS;
+ }
+ return model_type_selection;
+}
+
void ProfileSyncServiceAndroid::SetPreferredDataTypes(
JNIEnv* env, jobject obj,
jboolean sync_everything,
jlong model_type_selection) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
syncer::ModelTypeSet types;
+ // Note: only user selectable types should be included here.
if (model_type_selection & AUTOFILL)
types.Put(syncer::AUTOFILL);
if (model_type_selection & BOOKMARK)
@@ -414,6 +462,7 @@ void ProfileSyncServiceAndroid::SetPreferredDataTypes(
types.Put(syncer::SESSIONS);
if (model_type_selection & TYPED_URL)
types.Put(syncer::TYPED_URLS);
+ DCHECK(syncer::UserSelectableTypes().HasAll(types));
sync_service_->OnUserChoseDatatypes(sync_everything, types);
}
@@ -448,41 +497,6 @@ jboolean ProfileSyncServiceAndroid::HasKeepEverythingSynced(
return prefs.HasKeepEverythingSynced();
}
-jboolean ProfileSyncServiceAndroid::IsAutofillSyncEnabled(
- JNIEnv* env, jobject obj) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return HasKeepEverythingSynced(env, obj) ||
- sync_service_->GetPreferredDataTypes().Has(syncer::AUTOFILL);
-}
-
-jboolean ProfileSyncServiceAndroid::IsBookmarkSyncEnabled(
- JNIEnv* env, jobject obj) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return HasKeepEverythingSynced(env, obj) ||
- sync_service_->GetPreferredDataTypes().Has(syncer::BOOKMARKS);
-}
-
-jboolean ProfileSyncServiceAndroid::IsPasswordSyncEnabled(
- JNIEnv* env, jobject obj) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return HasKeepEverythingSynced(env, obj) ||
- sync_service_->GetPreferredDataTypes().Has(syncer::PASSWORDS);
-}
-
-jboolean ProfileSyncServiceAndroid::IsTypedUrlSyncEnabled(
- JNIEnv* env, jobject obj) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return HasKeepEverythingSynced(env, obj) ||
- sync_service_->GetPreferredDataTypes().Has(syncer::TYPED_URLS);
-}
-
-jboolean ProfileSyncServiceAndroid::IsSessionSyncEnabled(
- JNIEnv* env, jobject obj) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return HasKeepEverythingSynced(env, obj) ||
- sync_service_->GetPreferredDataTypes().Has(syncer::SESSIONS);
-}
-
jboolean ProfileSyncServiceAndroid::HasUnrecoverableError(
JNIEnv* env, jobject) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));

Powered by Google App Engine
This is Rietveld 408576698