Backup and restore data reduction state
Save the data reduction proxy preferences in backups. Both the Java
and the C++ preferences are needed, since the Java pref is used during
startup.
BUG=705501
Review-Url: https://codereview.chromium.org/2843963002
Cr-Commit-Position: refs/heads/master@{#467624}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupAgent.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupAgent.java
index 7192881..bc9dd5e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupAgent.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupAgent.java
@@ -25,6 +25,7 @@
import org.chromium.chrome.browser.firstrun.FirstRunStatus;
import org.chromium.chrome.browser.init.AsyncInitTaskRunner;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
+import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager;
import org.chromium.components.signin.AccountManagerHelper;
import org.chromium.components.signin.ChromeSigninController;
@@ -78,8 +79,8 @@
// List of preferences that should be restored unchanged.
static final String[] BACKUP_ANDROID_BOOL_PREFS = {
- FirstRunGlueImpl.CACHED_TOS_ACCEPTED_PREF,
- FirstRunStatus.FIRST_RUN_FLOW_COMPLETE,
+ DataReductionProxySettings.DATA_REDUCTION_ENABLED_PREF,
+ FirstRunGlueImpl.CACHED_TOS_ACCEPTED_PREF, FirstRunStatus.FIRST_RUN_FLOW_COMPLETE,
FirstRunStatus.LIGHTWEIGHT_FIRST_RUN_FLOW_COMPLETE,
FirstRunSignInProcessor.FIRST_RUN_FLOW_SIGNIN_SETUP,
PrivacyPreferencesManager.PREF_METRICS_REPORTING,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
index 63ef57e..233abced 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
@@ -61,9 +61,10 @@
@VisibleForTesting
public static final String DATA_REDUCTION_PROXY_ENABLED_KEY = "Data Reduction Proxy Enabled";
- private static DataReductionProxySettings sSettings;
+ // Visible for backup and restore
+ public static final String DATA_REDUCTION_ENABLED_PREF = "BANDWIDTH_REDUCTION_PROXY_ENABLED";
- private static final String DATA_REDUCTION_ENABLED_PREF = "BANDWIDTH_REDUCTION_PROXY_ENABLED";
+ private static DataReductionProxySettings sSettings;
private static final String DATA_REDUCTION_HAS_EVER_BEEN_ENABLED_PREF =
"BANDWIDTH_REDUCTION_PROXY_HAS_EVER_BEEN_ENABLED";
diff --git a/chrome/browser/android/chrome_backup_agent.cc b/chrome/browser/android/chrome_backup_agent.cc
index e04d413..965f53c 100644
--- a/chrome/browser/android/chrome_backup_agent.cc
+++ b/chrome/browser/android/chrome_backup_agent.cc
@@ -11,6 +11,7 @@
#include "base/android/jni_array.h"
#include "chrome/browser/android/chrome_backup_agent.h"
#include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/common/pref_names.h"
#include "components/prefs/pref_service.h"
#include "components/sync/base/pref_names.h"
#include "jni/ChromeBackupAgent_jni.h"
@@ -18,6 +19,7 @@
namespace {
const char* backed_up_preferences_[] = {
+ prefs::kDataSaverEnabled,
syncer::prefs::kSyncFirstSetupComplete,
syncer::prefs::kSyncKeepEverythingSynced,
syncer::prefs::kSyncAutofillProfile,