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

Side by Side Diff: chrome/browser/sync/resources/configure.html

Issue 6865030: Sync: Refresh the UI to match Alex's mocks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 8 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 | Annotate | Revision Log
OLDNEW
1 <html i18n-values="dir:textdirection;"> 1 <html i18n-values="dir:textdirection;">
2 <head> 2 <head>
3 <title></title> 3 <title></title>
4 <style type="text/css"> 4 <style type="text/css">
5 body { 5 body {
6 line-height: 1.33em; 6 line-height: 1.33em;
7 background: #FFFFFF; 7 background: #FFFFFF;
8 font-size: 11pt; 8 font-size: 11pt;
9 } 9 }
10 html[os='mac'] body { 10 html[os='mac'] body {
11 line-height: 1.5em; 11 line-height: 1.5em;
12 background: #FFFFFF; 12 background: #FFFFFF;
13 } 13 }
14
15 h4 {
16 margin: 10px 0;
17 }
18
19 hr {
20 background-color: #ddd;
21 border: 0;
22 height: 1px;
23 margin: 5px 0;
24 text-align: left;
25 width: 100%;
26 }
27
14 form { 28 form {
15 -webkit-user-select: none; 29 -webkit-user-select: none;
16 } 30 }
31
32 .content-area {
33 padding: 10px 15px;
34 }
35
36 .action-area {
37 -webkit-box-align: center;
38 -webkit-box-orient: horizontal;
39 -webkit-box-pack: end;
40 border-top: 1px solid rgba(188, 193, 208, .5);
41 display: -webkit-box;
42 padding: 12px;
43 }
44
17 .sync-header { 45 .sync-header {
18 font-size: 1.2em; 46 font-size: 1.2em;
19 font-weight: bold; 47 font-weight: bold;
20 margin-bottom: 10px; 48 margin-bottom: 10px;
21 } 49 }
22 .sync-select-customization { 50 .sync-select-customization {
23 margin-top: 10px; 51 margin-top: 10px;
24 } 52 }
53
54 #customize-link-container {
55 -webkit-box-flex: 1;
56 }
57
58 #sync-passphrase-container {
59 margin: 10px 0;
60 }
61
62 #sync-custom-passphrase {
63 margin: 0 25px;
64 }
65
66 #sync-passphrase-message {
67 color: gray;
68 }
69
70 .sync-custom-passphrase-input {
71 margin: 10px 0;
72 }
73
74 #sync-select-container {
75 margin-bottom: 10px;
76 }
77
78 #sync-instructions-container {
79 margin-bottom: 30px;
80 }
81
25 #chooseDataTypesRadio { 82 #chooseDataTypesRadio {
26 vertical-align: top; 83 vertical-align: top;
27 } 84 }
28 #chooseDataTypes > div { 85 #chooseDataTypes > div {
29 display: inline-block; 86 display: inline-block;
30 } 87 }
31 #chooseDataTypesBody { 88 #chooseDataTypesBody {
32 width: 90%; 89 margin: 10px 0;
33 -webkit-margin-start: 3ex;
34 } 90 }
35 #chooseDataTypesBody > div { 91 #chooseDataTypesBody > div {
36 margin-top: 0px; 92 -webkit-column-count: 3;
37 -webkit-column-count: 2;
38 -webkit-column-gap: 10px;
39 column-count: 2;
40 column-gap: 10px;
41 } 93 }
42 94
43 .sync-config-tab-contents-inactive { 95 .sync-config-tab-contents-inactive {
44 display: none; 96 display: none;
45 } 97 }
46 .sync-config-tab-contents-active { 98 .sync-config-tab-contents-active {
47 display: block; 99 display: block;
48 margin: 10px 15px; 100 margin: 10px 15px;
49 } 101 }
50 .sync-config-tabstrip { 102 .sync-config-tabstrip {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 .sync-section { 198 .sync-section {
147 background: #EEE; 199 background: #EEE;
148 margin: 5px 0px 5px 19px; 200 margin: 5px 0px 5px 19px;
149 padding: 6px; 201 padding: 6px;
150 } 202 }
151 203
152 #explicit-message { 204 #explicit-message {
153 margin-bottom: 5px; 205 margin-bottom: 5px;
154 } 206 }
155 207
156 #learn-more-link {
157 float: right;
158 }
159
160 html[dir='rtl'] #learn-more-link {
161 float: left;
162 }
163
164 #change-passphrase { 208 #change-passphrase {
165 margin: 10px 0; 209 margin: 10px 0;
166 background: #EEE; 210 background: #EEE;
167 padding: 8px; 211 padding: 8px;
168 } 212 }
169 213
170 #clear-data-button { 214 #clear-data-button {
171 margin-top: 10px; 215 margin-top: 10px;
172 } 216 }
173 217
174 html[dir='rtl'] .sync-footer { 218 html[dir='rtl'] .sync-footer {
175 text-align: left; 219 text-align: left;
176 left: 0px; 220 left: 0px;
177 bottom: 0px; 221 bottom: 0px;
178 margin-left: 20px; 222 margin-left: 20px;
179 } 223 }
180 224
181 input[type='button'], 225 input[type='button'],
182 input[type='submit'] { 226 input[type='submit'] {
183 min-width: 87px; 227 min-width: 87px;
184 min-height: 26px; 228 min-height: 26px;
185 } 229 }
186 html[os='mac'] input[type='button'], 230 html[os='mac'] input[type='button'],
187 html[os='mac'] input[type='submit'] { 231 html[os='mac'] input[type='submit'] {
188 font-size: 12pt; 232 font-size: 12pt;
189 } 233 }
190 234
191 </style> 235 </style>
192 <script src="chrome://resources/js/cr.js"></script> 236 <script src="chrome://resources/js/cr.js"></script>
csilv 2011/04/16 01:03:55 optional: consider including util.js for the $(id)
James Hawkins 2011/04/17 19:05:05 Added the TODO.
193 <script> 237 <script>
194 var currentTab; 238 var currentTab;
195 239
196 // Called once, when this html/js is loaded. 240 // Called once, when this html/js is loaded.
197 function initializeConfigureDialog(args) { 241 function initializeConfigureDialog(args) {
198 // Allow platform specific rules 242 // Allow platform specific rules
199 if (cr.isMac) { 243 if (cr.isMac) {
200 document.documentElement.setAttribute('os', 'mac'); 244 document.documentElement.setAttribute('os', 'mac');
201 } else if (!cr.isWindows) { 245 } else if (!cr.isWindows) {
202 document.documentElement.setAttribute('os', 'linux'); 246 document.documentElement.setAttribute('os', 'linux');
203 } 247 }
204 248
249 var datatypeSelect = document.getElementById('sync-select-datatypes');
250 datatypeSelect.onchange = function() {
251 var syncAll = this.selectedIndex == 0;
252 setCheckboxesToKeepEverythingSynced(syncAll);
253
254 document.getElementById('chooseDataTypesBody').hidden = syncAll;
255 };
256
205 if (args) { 257 if (args) {
206 currentTab = args['initialTab'];
207 switchToTab(currentTab);
208 setCheckboxesAndErrors(args); 258 setCheckboxesAndErrors(args);
259
260 var keepEverythingSynced = args['keepEverythingSynced'];
261 var usePassphrase = args['usePassphrase'];
262 if ((keepEverythingSynced != undefined && !keepEverythingSynced) ||
csilv 2011/04/16 01:03:55 optional: this could be simplified to: if (keepEve
James Hawkins 2011/04/17 19:05:05 Done.
263 (usePassphrase != undefined && usePassphrase)) {
264 showCustomizePage();
265 }
209 } 266 }
210 } 267 }
211 268
269 function showCustomizePage() {
270 document.getElementById('confirm-sync-preferences').hidden = true;
271 document.getElementById('customize-sync-preferences').hidden = false;
272 }
273
212 function setCheckboxesAndErrors(args) { 274 function setCheckboxesAndErrors(args) {
213 setChooseDataTypesCheckboxes(args); 275 setChooseDataTypesCheckboxes(args);
214 setEncryptionCheckboxes(args); 276 setEncryptionCheckboxes(args);
215 setErrorState(args); 277 setErrorState(args);
216 } 278 }
217 279
218 function checkAllDataTypeCheckboxes() { 280 function checkAllDataTypeCheckboxes() {
219 var checkboxes = document.getElementsByName("dataTypeCheckbox"); 281 var checkboxes = document.getElementsByName("dataTypeCheckbox");
220 for (var i = 0; i < checkboxes.length; i++) { 282 for (var i = 0; i < checkboxes.length; i++) {
221 // Only check the visible ones (since there's no way to uncheck 283 // Only check the visible ones (since there's no way to uncheck
(...skipping 11 matching lines...) Expand all
233 } 295 }
234 296
235 // Can be called multiple times. 297 // Can be called multiple times.
236 function setChooseDataTypesCheckboxes(args) { 298 function setChooseDataTypesCheckboxes(args) {
237 // If this frame is on top, the focus should be on it, so pressing enter 299 // If this frame is on top, the focus should be on it, so pressing enter
238 // submits this form. 300 // submits this form.
239 if (args.iframeToShow == 'configure') { 301 if (args.iframeToShow == 'configure') {
240 document.getElementById("okButton").focus(); 302 document.getElementById("okButton").focus();
241 } 303 }
242 304
243 document.getElementById("keepEverythingSyncedRadio").checked = 305 var datatypeSelect = document.getElementById('sync-select-datatypes');
244 args.keepEverythingSynced; 306 datatypeSelect.selectedIndex = args.keepEverythingSynced ? 0 : 1;
245 document.getElementById("chooseDataTypesRadio").checked = 307 chooseDataTypesBody.hidden = args.keepEverythingSynced;
246 !args.keepEverythingSynced;
247 308
248 document.getElementById("bookmarksCheckbox").checked = args.syncBookmarks; 309 document.getElementById("bookmarksCheckbox").checked = args.syncBookmarks;
249 document.getElementById("preferencesCheckbox").checked = 310 document.getElementById("preferencesCheckbox").checked =
250 args.syncPreferences; 311 args.syncPreferences;
251 document.getElementById("themesCheckbox").checked = args.syncThemes; 312 document.getElementById("themesCheckbox").checked = args.syncThemes;
252 313
253 if (args.passwordsRegistered) { 314 if (args.passwordsRegistered) {
254 document.getElementById("passwordsCheckbox").checked = args.syncPasswords; 315 document.getElementById("passwordsCheckbox").checked = args.syncPasswords;
255 document.getElementById("passwordsItem").className = "sync-item-show"; 316 document.getElementById("passwordsItem").className = "sync-item-show";
256 } else { 317 } else {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 } 353 }
293 } 354 }
294 355
295 function setEncryptionCheckboxes(args) { 356 function setEncryptionCheckboxes(args) {
296 if (args["usePassphrase"]) { 357 if (args["usePassphrase"]) {
297 document.getElementById("explicit-option").checked = true; 358 document.getElementById("explicit-option").checked = true;
298 359
299 // The passphrase, once set, cannot be unset, but we show a reset link. 360 // The passphrase, once set, cannot be unset, but we show a reset link.
300 document.getElementById("explicit-option").disabled = true; 361 document.getElementById("explicit-option").disabled = true;
301 document.getElementById("google-option").disabled = true; 362 document.getElementById("google-option").disabled = true;
302 document.getElementById("change-passphrase").style.display = "block"; 363 document.getElementById("sync-custom-passphrase").style.display = "none";
csilv 2011/04/16 01:03:55 use '.hidden = true' instead?
James Hawkins 2011/04/17 19:05:05 Done.
303 } else { 364 } else {
304 document.getElementById("google-option").checked = true; 365 document.getElementById("google-option").checked = true;
305 document.getElementById("change-passphrase").style.display = "none";
306 } 366 }
307 switchToMode(""); 367 switchToMode("");
308 } 368 }
309 369
310 function setErrorState(args) { 370 function setErrorState(args) {
311 if (!args.was_aborted) 371 if (!args.was_aborted)
312 return; 372 return;
313 document.getElementById("aborted_text").className = "sync-error-show"; 373 document.getElementById("aborted_text").className = "sync-error-show";
314 document.getElementById("okButton").disabled = true; 374 document.getElementById("okButton").disabled = true;
315 document.getElementById("keepEverythingSyncedRadio").disabled = true; 375 document.getElementById("keepEverythingSyncedRadio").disabled = true;
316 document.getElementById("chooseDataTypesRadio").disabled = true; 376 document.getElementById("chooseDataTypesRadio").disabled = true;
317 } 377 }
318 378
319 function setDataTypeCheckboxesEnabled(enabled) { 379 function setDataTypeCheckboxesEnabled(enabled) {
320 var checkboxes = document.getElementsByName("dataTypeCheckbox"); 380 var checkboxes = document.getElementsByName("dataTypeCheckbox");
321 var labels = document.getElementsByName("dataTypeLabel"); 381 var labels = document.getElementsByName("dataTypeLabel");
322 for (var i = 0; i < checkboxes.length; i++) { 382 for (var i = 0; i < checkboxes.length; i++) {
323 checkboxes[i].disabled = !enabled; 383 checkboxes[i].disabled = !enabled;
324 if (checkboxes[i].disabled) { 384 if (checkboxes[i].disabled) {
325 labels[i].className = "sync-label-inactive"; 385 labels[i].className = "sync-label-inactive";
326 } else { 386 } else {
327 labels[i].className = "sync-label-active"; 387 labels[i].className = "sync-label-active";
328 } 388 }
329 } 389 }
330 } 390 }
331 391
332
333
334 // Returns true if at least one data type is enabled and no data types are 392 // Returns true if at least one data type is enabled and no data types are
335 // checked. (If all data type checkboxes are disabled, it's because "keep 393 // checked. (If all data type checkboxes are disabled, it's because "keep
336 // everything synced" is checked.) 394 // everything synced" is checked.)
337 function noDataTypesChecked() { 395 function noDataTypesChecked() {
338 var checkboxes = document.getElementsByName("dataTypeCheckbox"); 396 var checkboxes = document.getElementsByName("dataTypeCheckbox");
339 var atLeastOneChecked = false; 397 var atLeastOneChecked = false;
340 var atLeastOneEnabled = false; 398 var atLeastOneEnabled = false;
341 for (var i = 0; i < checkboxes.length; i++) { 399 for (var i = 0; i < checkboxes.length; i++) {
342 if (!checkboxes[i].disabled && 400 if (!checkboxes[i].disabled &&
343 checkboxes[i].parentElement.className == "sync-item-show") { 401 checkboxes[i].parentElement.className == "sync-item-show") {
344 atLeastOneEnabled = true; 402 atLeastOneEnabled = true;
345 if (checkboxes[i].checked) { 403 if (checkboxes[i].checked) {
346 atLeastOneChecked = true; 404 atLeastOneChecked = true;
347 } 405 }
348 } 406 }
349 } 407 }
350 return atLeastOneEnabled && !atLeastOneChecked; 408 return atLeastOneEnabled && !atLeastOneChecked;
351 } 409 }
352 410
353 function sendConfiguration() { 411 function sendConfiguration() {
354 // Trying to submit, so hide previous errors. 412 // Trying to submit, so hide previous errors.
355 document.getElementById("aborted_text").className = "sync-error-hide"; 413 //document.getElementById("aborted_text").className = "sync-error-hide";
csilv 2011/04/16 01:03:55 Consider removing unused code.
James Hawkins 2011/04/17 19:05:05 Fixed it up so we're using it again.
356 document.getElementById("error_text").className = "sync-error-hide"; 414 //document.getElementById("error_text").className = "sync-error-hide";
357 415
358 if (noDataTypesChecked()) { 416 if (noDataTypesChecked()) {
359 document.getElementById("error_text").className = "sync-error-show"; 417 //document.getElementById("error_text").className = "sync-error-show";
360 return; 418 return;
361 } 419 }
362 420
363 var f = document.getElementById("chooseDataTypesForm"); 421 var f = document.getElementById("chooseDataTypesForm");
364 if (!checkPassphraseMatch()) { 422 if (!checkPassphraseMatch()) {
365 return false; 423 return false;
366 } 424 }
367 425
368 var syncAll = f.keepEverythingSyncedRadio.checked; 426 var syncAll =
427 document.getElementById('sync-select-datatypes').selectedIndex == 0;
428
369 // These values need to be kept in sync with where they are read in 429 // These values need to be kept in sync with where they are read in
370 // SyncSetupFlow::GetDataTypeChoiceData(). 430 // SyncSetupFlow::GetDataTypeChoiceData().
371 var result = JSON.stringify({ 431 var result = JSON.stringify({
372 "keepEverythingSynced": syncAll, 432 "keepEverythingSynced": syncAll,
373 "syncBookmarks": syncAll || f.bookmarksCheckbox.checked, 433 "syncBookmarks": syncAll || f.bookmarksCheckbox.checked,
374 "syncPreferences": syncAll || f.preferencesCheckbox.checked, 434 "syncPreferences": syncAll || f.preferencesCheckbox.checked,
375 "syncThemes": syncAll || f.themesCheckbox.checked, 435 "syncThemes": syncAll || f.themesCheckbox.checked,
376 "syncPasswords": syncAll || f.passwordsCheckbox.checked, 436 "syncPasswords": syncAll || f.passwordsCheckbox.checked,
377 "syncAutofill": syncAll || f.autofillCheckbox.checked, 437 "syncAutofill": syncAll || f.autofillCheckbox.checked,
378 "syncExtensions": syncAll || f.extensionsCheckbox.checked, 438 "syncExtensions": syncAll || f.extensionsCheckbox.checked,
379 "syncTypedUrls": syncAll || f.typedUrlsCheckbox.checked, 439 "syncTypedUrls": syncAll || f.typedUrlsCheckbox.checked,
380 "syncApps": syncAll || f.appsCheckbox.checked, 440 "syncApps": syncAll || f.appsCheckbox.checked,
381 "syncSessions": syncAll || f.sessionsCheckbox.checked, 441 "syncSessions": syncAll || f.sessionsCheckbox.checked,
382 "usePassphrase": (getRadioCheckedValue() == 'explicit'), 442 "usePassphrase": (getRadioCheckedValue() == 'explicit'),
383 "passphrase": f.passphrase.value 443 "passphrase": ""
384 }); 444 });
385 chrome.send("Configure", [result]); 445 chrome.send("Configure", [result]);
386 } 446 }
387 447
388 function switchToTab(newTab) {
389 if (currentTab) {
390 document.getElementById(currentTab + "-tab").className =
391 "sync-config-tab-inactive";
392 document.getElementById(currentTab + "-tab-contents").className =
393 "sync-config-tab-contents-inactive";
394 }
395
396 // Default to the 'Data Types' tab.
397 if (!newTab)
398 newTab = "data-type";
399
400 document.getElementById(newTab + "-tab").className =
401 "sync-config-tab-active";
402 document.getElementById(newTab + "-tab-contents").className =
403 "sync-config-tab-contents-active";
404
405 currentTab = newTab;
406 }
407
408 function switchToMode(mode) { 448 function switchToMode(mode) {
409 document.getElementById("section-explicit").style.display = "none"; 449 if (mode == "google")
410 document.getElementById("section-google").style.display = "none"; 450 document.getElementById("sync-custom-passphrase").hidden = true;
411 451 else if (mode =="explicit")
csilv 2011/04/16 01:03:55 If these are the only two modes, then consider sim
James Hawkins 2011/04/17 19:05:05 Blah I hate this code. I'm going to leave it as is
412 if (mode == "google") { 452 document.getElementById("sync-custom-passphrase").hidden = false;
413 document.getElementById("section-google").style.display = "block";
414 } else if (mode =="explicit") {
415 document.getElementById("section-explicit").style.display = "block";
416 }
417 } 453 }
418 454
419 function getRadioCheckedValue() { 455 function getRadioCheckedValue() {
420 var f = document.getElementById("chooseDataTypesForm"); 456 var f = document.getElementById("chooseDataTypesForm");
421 for (var i = 0; i < f.option.length; ++i) { 457 for (var i = 0; i < f.option.length; ++i) {
422 if (f.option[i].checked) { 458 if (f.option[i].checked) {
423 return f.option[i].value; 459 return f.option[i].value;
424 } 460 }
425 } 461 }
426 return undefined; 462 return undefined;
(...skipping 10 matching lines...) Expand all
437 mismatchError.style.display = "none"; 473 mismatchError.style.display = "none";
438 474
439 var f = document.getElementById("chooseDataTypesForm"); 475 var f = document.getElementById("chooseDataTypesForm");
440 if (getRadioCheckedValue() != "explicit" || f.option[0].disabled) { 476 if (getRadioCheckedValue() != "explicit" || f.option[0].disabled) {
441 return true; 477 return true;
442 } 478 }
443 if (f.passphrase.value.length == 0) { 479 if (f.passphrase.value.length == 0) {
444 emptyError.style.display = "block"; 480 emptyError.style.display = "block";
445 return false; 481 return false;
446 } 482 }
447 if (f.confirmpassphrase.value != f.passphrase.value) { 483
484 var confirmPassphrase = document.getElementById("confirm-passphrase");
485 var passphrase = document.getElementById("passphrase");
486 if (confirmPassphrase.value != passphrase.value) {
448 mismatchError.style.display = "block"; 487 mismatchError.style.display = "block";
449 return false; 488 return false;
450 } 489 }
451 return true; 490 return true;
452 } 491 }
453 492
454 function goToDashboard() { 493 function goToDashboard() {
455 chrome.send("GoToDashboard", [""]); 494 chrome.send("GoToDashboard", [""]);
456 chrome.send("DialogClose", [""]); 495 chrome.send("DialogClose", [""]);
457 } 496 }
458 497
459 </script> 498 </script>
460 </head> 499 </head>
461 <body i18n-values=".style.fontFamily:fontfamily" 500 <body i18n-values=".style.fontFamily:fontfamily"
462 onload="initializeConfigureDialog(JSON.parse(chrome.dialogArguments));"> 501 onload="initializeConfigureDialog(JSON.parse(chrome.dialogArguments));">
463 <form id="chooseDataTypesForm" onSubmit="sendConfiguration(); return false;"> 502 <div id="confirm-sync-preferences">
464 503 <div class="sync-header" i18n-content="confirmSyncPreferences"></div>
465 <div class="sync-config-tabstrip"> 504 <div id="sync-instructions-container" class="content-area">
466 <div id="data-type-tab" class="sync-config-tab-inactive"> 505 <span i18n-content="choosedatatypesinstructions"></span>
467 <a href="#" onclick="switchToTab('data-type'); return false;" 506 <a i18n-values="href:encryptionhelpurl" target="_blank"
468 i18n-content="dataTypes"></a> 507 i18n-content="learnmore"></a>
469 </div> 508 </div>
470 <div id="encryption-tab" class="sync-config-tab-inactive"> 509 <div>
471 <a href="#" onclick="switchToTab('encryption'); return false;" 510 <div class="action-area">
472 i18n-content="encryption"></a> 511 <div id="customize-link-container">
512 <a id="customize-link" href="#" i18n-content="customizelinklabel"
513 onclick="showCustomizePage();"></a>
514 </div>
515 <input id="okButton" type="button" i18n-values="value:syncEverything"
516 onclick="sendConfiguration();">
517 <input id="cancelButton" type="button" i18n-values="value:cancel"
518 onclick="chrome.send('DialogClose', [''])">
473 </div> 519 </div>
474 </div> 520 </div>
475 <div id="data-type-tab-contents" class="sync-config-tab-contents-inactive"> 521 </div>
476 522 <div id="customize-sync-preferences" hidden>
477 <div class="sync-header" 523 <form id="chooseDataTypesForm" onSubmit="sendConfiguration(); return false;">
478 i18n-content="choosedatatypesheader"></div> 524 <div class="sync-header">Customize Sync Preferences</div>
479 <div class="sync-choose_data_types_instructions" 525 <hr>
480 i18n-content="choosedatatypesinstructions"></div> 526 <div id="sync-configure-content" class="content-area">
481 <div class="sync-select-customization"> 527 <div id="sync-select-container">
482 <div class="sync-choice_radio"> 528 <select id="sync-select-datatypes">
483 <input id="keepEverythingSyncedRadio" type="radio" 529 <option i18n-content="keepeverythingsynced" selected></option>
484 name="syncChooseDataTypes" 530 <option i18n-content="choosedatatypes"></option>
485 onclick="setCheckboxesToKeepEverythingSynced(true);"> 531 </select>
486 <label for="keepEverythingSyncedRadio" 532 <div id="chooseDataTypesBody" hidden>
487 i18n-content="keepeverythingsynced">
488 </label>
489 </div>
490 <div id="chooseDataTypes" class="sync-choice_radio">
491 <input id="chooseDataTypesRadio" type="radio" name="syncChooseDataTypes"
492 onclick="setCheckboxesToKeepEverythingSynced(false)">
493 <label for="chooseDataTypesRadio" i18n-content="choosedatatypes" ></labe l>
494 <div id="chooseDataTypesBody">
495 <div> 533 <div>
496 <!-- Apps --> 534 <!-- Apps -->
497 <div class="sync-item-show" id="appsItem"> 535 <div class="sync-item-show" id="appsItem">
498 <input id="appsCheckbox" name="dataTypeCheckbox" type="checkbox"> 536 <input id="appsCheckbox" name="dataTypeCheckbox" type="checkbox">
499 <label id="appsCheckboxLabel" name="dataTypeLabel" 537 <label id="appsCheckboxLabel" name="dataTypeLabel"
500 for="appsCheckbox" i18n-content="apps" 538 for="appsCheckbox" i18n-content="apps"
501 i18n-values="title:apps"></label> 539 i18n-values="title:apps"></label>
502 </div> 540 </div>
503 <!-- Autofill --> 541 <!-- Autofill -->
504 <div class="sync-item-show" id="autofillItem"> 542 <div class="sync-item-show" id="autofillItem">
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 <!-- Sessions --> 589 <!-- Sessions -->
552 <div class="sync-item-show" id="sessionsItem"> 590 <div class="sync-item-show" id="sessionsItem">
553 <input id="sessionsCheckbox" name="dataTypeCheckbox" type="checkbo x"> 591 <input id="sessionsCheckbox" name="dataTypeCheckbox" type="checkbo x">
554 <label id="sessionsCheckboxLabel" name="dataTypeLabel" 592 <label id="sessionsCheckboxLabel" name="dataTypeLabel"
555 for="sessionsCheckbox" i18n-content="foreignsessions" 593 for="sessionsCheckbox" i18n-content="foreignsessions"
556 il8n-values="title:sessions"></label> 594 il8n-values="title:sessions"></label>
557 </div> 595 </div>
558 </div> 596 </div>
559 </div> 597 </div>
560 </div> 598 </div>
561 <div class="sync-errors"> 599 <hr>
562 <span id="error_text" i18n-content="synczerodatatypeserror" 600 <h4 i18n-content="passphraseSectionTitle"></h4>
563 class="sync-error-hide"></span> 601 <div id="sync-passphrase-container">
564 <span id="aborted_text" i18n-content="abortederror" 602 <div>
565 class="sync-error-hide"></span> 603 <input id="google-option" name="option" type="radio" value="google"
604 onchange="onRadioChange();">
605 <label for="google-option" i18n-content="googleOption"></label>
606 </div>
607 <div>
608 <input id="explicit-option" name="option" type="radio" value="explicit "
609 onchange="onRadioChange();">
610 <label for="explicit-option" i18n-content="explicitOption"></label>
611 <a i18n-values="href:encryptionhelpurl" target="_blank"
612 i18n-content="learnmore"></a>
613 </div>
614 <div id="sync-custom-passphrase" hidden>
615 <div id="sync-passphrase-message">
616 <span i18n-content="sectionExplicitMessagePrefix"></span>
617 <a href="cnn.com" i18n-content="sectionExplicitMessagePostfix"></a>
618 <span>.</span>
619 </div>
620 <div class="sync-custom-passphrase-input">
621 <input id="passphrase" type="password" i18n-values="placeholder:pass phraseLabel">
csilv 2011/04/16 01:03:55 wrap to 80 cols
James Hawkins 2011/04/17 19:05:05 Done.
622 </div>
623 <div class="sync-custom-passphrase-input">
624 <input id="confirm-passphrase" type="password" i18n-values="placehol der:confirmLabel">
csilv 2011/04/16 01:03:55 wrap to 80 cols
James Hawkins 2011/04/17 19:05:05 Done.
625 </div>
626 <div class="error" style="display:none"
627 id="emptyerror" i18n-content="emptyErrorMessage"></div>
628 <div class="error" style="display:none"
629 id="mismatcherror" i18n-content="mismatchErrorMessage"></div>
630 </div>
631 </div>
632 <div class="action-area">
633 <input id="okButton" type="submit" i18n-values="value:ok" />
634 <input id="cancelButton" type="button" i18n-values="value:cancel"
635 onclick='chrome.send("DialogClose", [""])' />
566 </div> 636 </div>
567 </div> 637 </div>
568 638 </form>
569 </div> 639 </div
570 <div id="encryption-tab-contents" class="sync-config-tab-contents-inactive">
571 <div id="sync-encryption-instructions"
572 i18n-content="encryptionInstructions"></div>
573
574 <div>
575 <input id="google-option" name="option" type="radio"
576 value="google" onchange="onRadioChange();">
577 <label for="google-option" i18n-content="googleOption"></label>
578 </input>
579 </div>
580 <div>
581 <input id="explicit-option" name="option" type="radio" value="explicit"
582 onchange="onRadioChange();">
583 <div id="learn-more-link">
584 <a i18n-values="href:encryptionhelpurl" target="_blank"
585 i18n-content="learnmore"></a>
586 </div>
587 <label for="explicit-option" i18n-content="explicitOption"></label>
588 </input>
589 </div>
590
591 <div class="sync-section" id="section-google">
592 <div i18n-content="sectionGoogleMessage"></div>
593 </div>
594 <div class="sync-section" id="section-explicit">
595 <div i18n-content="sectionExplicitMessage" id="explicit-message"></div>
596 <div>
597 <div i18n-content="passphraseLabel" id="passphraseLabel"></div>
598 <input id="passphrase" name="passphrase" label="passphraseLabel"
599 type="password" />
600 </div>
601 <div>
602 <div i18n-content="confirmLabel" id="confirmPassphraseLabel">
603 </div>
604 <input id="confirmpassphrase" name="confirmpassphrase" type="password"
605 label="confirmPassphraseLabel" />
606 </div>
607 <div class="error" style="display:none"
608 id="emptyerror" i18n-content="emptyErrorMessage"></div>
609 <div class="error" style="display:none"
610 id="mismatcherror" i18n-content="mismatchErrorMessage"></div>
611 </div>
612
613 <div id="change-passphrase">
614 <div id="sync-passphrase-warning" i18n-content="passphraseWarning">
615 </div>
616 <a id="clear-data-link" i18n-content="cleardatalink" href="#"
617 onclick='goToDashboard(); return false;'></a>
618 </div>
619 </div>
620
621 <div class="sync-footer">
622 <input id="okButton" type="submit" i18n-values="value:ok" />
623 <input id="cancelButton" type="button" i18n-values="value:cancel"
624 onclick='chrome.send("DialogClose", [""])' />
625 </div>
626 </form>
627 </body> 640 </body>
628 </html> 641 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698