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

Unified Diff: chrome/browser/resources/options/sync_setup_overlay.js

Issue 7056021: Sync: Add encryption customization radio. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review fix. Created 9 years, 7 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/browser/resources/options/sync_setup_overlay.html ('k') | chrome/browser/sync/sync_setup_flow.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/options/sync_setup_overlay.js
diff --git a/chrome/browser/resources/options/sync_setup_overlay.js b/chrome/browser/resources/options/sync_setup_overlay.js
index d3ba46b62f587e1f5f83969be35ffc4b73bb31e3..4b21d4071d6446fd8d95c2b2d9f58cfe0924846a 100644
--- a/chrome/browser/resources/options/sync_setup_overlay.js
+++ b/chrome/browser/resources/options/sync_setup_overlay.js
@@ -63,7 +63,7 @@ cr.define('options', function() {
return false;
};
$('google-option').onchange = $('explicit-option').onchange = function() {
- self.onRadioChange_();
+ self.onPassphraseRadioChanged_();
};
$('choose-datatypes-cancel').onclick = $('sync-setup-cancel').onclick =
$('confirm-everything-cancel').onclick = function() {
@@ -123,7 +123,18 @@ cr.define('options', function() {
chrome.send("Passphrase", [result]);
},
- getRadioCheckedValue_: function() {
+ getEncryptionRadioCheckedValue_: function() {
+ var f = $('choose-data-types-form');
+ for (var i = 0; i < f.encrypt.length; ++i) {
+ if (f.encrypt[i].checked) {
+ return f.encrypt[i].value;
+ }
+ }
+
+ return undefined;
+ },
+
+ getPassphraseRadioCheckedValue_: function() {
var f = $('choose-data-types-form');
for (var i = 0; i < f.option.length; ++i) {
if (f.option[i].checked) {
@@ -134,8 +145,14 @@ cr.define('options', function() {
return undefined;
},
- onRadioChange_: function() {
- var visible = this.getRadioCheckedValue_() == "explicit";
+ disableEncryptionRadioGroup_: function() {
+ var f = $('choose-data-types-form');
+ for (var i = 0; i < f.encrypt.length; ++i)
+ f.encrypt[i].disabled = true;
+ },
+
+ onPassphraseRadioChanged_: function() {
+ var visible = this.getPassphraseRadioCheckedValue_() == "explicit";
$('sync-custom-passphrase').hidden = !visible;
},
@@ -196,7 +213,8 @@ cr.define('options', function() {
mismatchError.style.display = "none";
var f = $('choose-data-types-form');
- if (this.getRadioCheckedValue_() != "explicit" || f.option[0].disabled)
+ if (this.getPassphraseRadioCheckedValue_() != "explicit" ||
+ f.option[0].disabled)
return true;
var customPassphrase = $('custom-passphrase');
@@ -240,6 +258,8 @@ cr.define('options', function() {
var syncAll =
document.getElementById('sync-select-datatypes').selectedIndex == 0;
+ var usePassphrase = this.getPassphraseRadioCheckedValue_() == 'explicit';
+ var encryptAllData = this.getEncryptionRadioCheckedValue_() == 'all';
// These values need to be kept in sync with where they are read in
// SyncSetupFlow::GetDataTypeChoiceData().
@@ -254,7 +274,8 @@ cr.define('options', function() {
"syncTypedUrls": syncAll || $('typed-urls-checkbox').checked,
"syncApps": syncAll || $('apps-checkbox').checked,
"syncSessions": syncAll || $('sessions-checkbox').checked,
- "usePassphrase": (this.getRadioCheckedValue_() == 'explicit'),
+ "encryptAllData": encryptAllData,
+ "usePassphrase": usePassphrase,
"passphrase": $('custom-passphrase').value
});
chrome.send("Configure", [result]);
@@ -327,8 +348,17 @@ cr.define('options', function() {
}
},
- setEncryptionCheckboxes_: function(args) {
- if (args["usePassphrase"]) {
+ setEncryptionRadios_: function(args) {
+ if (args['encryptAllData']) {
+ $('encrypt-all-option').checked = true;
+ this.disableEncryptionRadioGroup_();
+ } else {
+ $('encrypt-sensitive-option').checked = true;
+ }
+ },
+
+ setPassphraseRadios_: function(args) {
+ if (args['usePassphrase']) {
$('explicit-option').checked = true;
// The passphrase, once set, cannot be unset, but we show a reset link.
@@ -350,7 +380,8 @@ cr.define('options', function() {
setCheckboxesAndErrors_: function(args) {
this.setChooseDataTypesCheckboxes_(args);
- this.setEncryptionCheckboxes_(args);
+ this.setEncryptionRadios_(args);
+ this.setPassphraseRadios_(args);
this.setErrorState_(args);
},
@@ -366,6 +397,8 @@ cr.define('options', function() {
$('sync-setup-configure').classList.remove('hidden');
if (args) {
+ if (!args['encryptionEnabled'])
+ $('customize-sync-encryption').classList.add('hidden');
this.setCheckboxesAndErrors_(args);
// Whether to display the 'Sync everything' confirmation page or the
« no previous file with comments | « chrome/browser/resources/options/sync_setup_overlay.html ('k') | chrome/browser/sync/sync_setup_flow.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698