OLD | NEW |
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 Loading... |
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> |
| 237 <!-- TODO(jhawkins): util.js for $(). --> |
193 <script> | 238 <script> |
194 var currentTab; | 239 var currentTab; |
195 | 240 |
196 // Called once, when this html/js is loaded. | 241 // Called once, when this html/js is loaded. |
197 function initializeConfigureDialog(args) { | 242 function initializeConfigureDialog(args) { |
198 // Allow platform specific rules | 243 // Allow platform specific rules |
199 if (cr.isMac) { | 244 if (cr.isMac) { |
200 document.documentElement.setAttribute('os', 'mac'); | 245 document.documentElement.setAttribute('os', 'mac'); |
201 } else if (!cr.isWindows) { | 246 } else if (!cr.isWindows) { |
202 document.documentElement.setAttribute('os', 'linux'); | 247 document.documentElement.setAttribute('os', 'linux'); |
203 } | 248 } |
204 | 249 |
| 250 var datatypeSelect = document.getElementById('sync-select-datatypes'); |
| 251 datatypeSelect.onchange = function() { |
| 252 var syncAll = this.selectedIndex == 0; |
| 253 setCheckboxesToKeepEverythingSynced(syncAll); |
| 254 |
| 255 document.getElementById('chooseDataTypesBody').hidden = syncAll; |
| 256 }; |
| 257 |
205 if (args) { | 258 if (args) { |
206 currentTab = args['initialTab']; | |
207 switchToTab(currentTab); | |
208 setCheckboxesAndErrors(args); | 259 setCheckboxesAndErrors(args); |
| 260 |
| 261 var keepEverythingSynced = args['keepEverythingSynced']; |
| 262 var usePassphrase = args['usePassphrase']; |
| 263 if (keepEverythingSynced !== true || 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 Loading... |
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 Loading... |
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").hidden = true; |
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 |
| 374 document.getElementById("aborted-text").className = "sync-error-show"; |
314 document.getElementById("okButton").disabled = true; | 375 document.getElementById("okButton").disabled = true; |
315 document.getElementById("keepEverythingSyncedRadio").disabled = true; | 376 document.getElementById("keepEverythingSyncedRadio").disabled = true; |
316 document.getElementById("chooseDataTypesRadio").disabled = true; | 377 document.getElementById("chooseDataTypesRadio").disabled = true; |
317 } | 378 } |
318 | 379 |
319 function setDataTypeCheckboxesEnabled(enabled) { | 380 function setDataTypeCheckboxesEnabled(enabled) { |
320 var checkboxes = document.getElementsByName("dataTypeCheckbox"); | 381 var checkboxes = document.getElementsByName("dataTypeCheckbox"); |
321 var labels = document.getElementsByName("dataTypeLabel"); | 382 var labels = document.getElementsByName("dataTypeLabel"); |
322 for (var i = 0; i < checkboxes.length; i++) { | 383 for (var i = 0; i < checkboxes.length; i++) { |
323 checkboxes[i].disabled = !enabled; | 384 checkboxes[i].disabled = !enabled; |
324 if (checkboxes[i].disabled) { | 385 if (checkboxes[i].disabled) { |
325 labels[i].className = "sync-label-inactive"; | 386 labels[i].className = "sync-label-inactive"; |
326 } else { | 387 } else { |
327 labels[i].className = "sync-label-active"; | 388 labels[i].className = "sync-label-active"; |
328 } | 389 } |
329 } | 390 } |
330 } | 391 } |
331 | 392 |
332 | |
333 | |
334 // Returns true if at least one data type is enabled and no data types are | 393 // 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 | 394 // checked. (If all data type checkboxes are disabled, it's because "keep |
336 // everything synced" is checked.) | 395 // everything synced" is checked.) |
337 function noDataTypesChecked() { | 396 function noDataTypesChecked() { |
338 var checkboxes = document.getElementsByName("dataTypeCheckbox"); | 397 var checkboxes = document.getElementsByName("dataTypeCheckbox"); |
339 var atLeastOneChecked = false; | 398 var atLeastOneChecked = false; |
340 var atLeastOneEnabled = false; | 399 var atLeastOneEnabled = false; |
341 for (var i = 0; i < checkboxes.length; i++) { | 400 for (var i = 0; i < checkboxes.length; i++) { |
342 if (!checkboxes[i].disabled && | 401 if (!checkboxes[i].disabled && |
343 checkboxes[i].parentElement.className == "sync-item-show") { | 402 checkboxes[i].parentElement.className == "sync-item-show") { |
344 atLeastOneEnabled = true; | 403 atLeastOneEnabled = true; |
345 if (checkboxes[i].checked) { | 404 if (checkboxes[i].checked) { |
346 atLeastOneChecked = true; | 405 atLeastOneChecked = true; |
347 } | 406 } |
348 } | 407 } |
349 } | 408 } |
350 return atLeastOneEnabled && !atLeastOneChecked; | 409 return atLeastOneEnabled && !atLeastOneChecked; |
351 } | 410 } |
352 | 411 |
353 function sendConfiguration() { | 412 function sendConfiguration() { |
354 // Trying to submit, so hide previous errors. | 413 // Trying to submit, so hide previous errors. |
355 document.getElementById("aborted_text").className = "sync-error-hide"; | 414 document.getElementById("aborted-text").className = "sync-error-hide"; |
356 document.getElementById("error_text").className = "sync-error-hide"; | 415 document.getElementById("error-text").className = "sync-error-hide"; |
357 | 416 |
358 if (noDataTypesChecked()) { | 417 if (noDataTypesChecked()) { |
359 document.getElementById("error_text").className = "sync-error-show"; | 418 document.getElementById("error-text").className = "sync-error-show"; |
360 return; | 419 return; |
361 } | 420 } |
362 | 421 |
363 var f = document.getElementById("chooseDataTypesForm"); | 422 var f = document.getElementById("chooseDataTypesForm"); |
364 if (!checkPassphraseMatch()) { | 423 if (!checkPassphraseMatch()) { |
365 return false; | 424 return false; |
366 } | 425 } |
367 | 426 |
368 var syncAll = f.keepEverythingSyncedRadio.checked; | 427 var syncAll = |
| 428 document.getElementById('sync-select-datatypes').selectedIndex == 0; |
| 429 |
369 // These values need to be kept in sync with where they are read in | 430 // These values need to be kept in sync with where they are read in |
370 // SyncSetupFlow::GetDataTypeChoiceData(). | 431 // SyncSetupFlow::GetDataTypeChoiceData(). |
371 var result = JSON.stringify({ | 432 var result = JSON.stringify({ |
372 "keepEverythingSynced": syncAll, | 433 "keepEverythingSynced": syncAll, |
373 "syncBookmarks": syncAll || f.bookmarksCheckbox.checked, | 434 "syncBookmarks": syncAll || f.bookmarksCheckbox.checked, |
374 "syncPreferences": syncAll || f.preferencesCheckbox.checked, | 435 "syncPreferences": syncAll || f.preferencesCheckbox.checked, |
375 "syncThemes": syncAll || f.themesCheckbox.checked, | 436 "syncThemes": syncAll || f.themesCheckbox.checked, |
376 "syncPasswords": syncAll || f.passwordsCheckbox.checked, | 437 "syncPasswords": syncAll || f.passwordsCheckbox.checked, |
377 "syncAutofill": syncAll || f.autofillCheckbox.checked, | 438 "syncAutofill": syncAll || f.autofillCheckbox.checked, |
378 "syncExtensions": syncAll || f.extensionsCheckbox.checked, | 439 "syncExtensions": syncAll || f.extensionsCheckbox.checked, |
379 "syncTypedUrls": syncAll || f.typedUrlsCheckbox.checked, | 440 "syncTypedUrls": syncAll || f.typedUrlsCheckbox.checked, |
380 "syncApps": syncAll || f.appsCheckbox.checked, | 441 "syncApps": syncAll || f.appsCheckbox.checked, |
381 "syncSessions": syncAll || f.sessionsCheckbox.checked, | 442 "syncSessions": syncAll || f.sessionsCheckbox.checked, |
382 "usePassphrase": (getRadioCheckedValue() == 'explicit'), | 443 "usePassphrase": (getRadioCheckedValue() == 'explicit'), |
383 "passphrase": f.passphrase.value | 444 "passphrase": f.passphrase.value |
384 }); | 445 }); |
385 chrome.send("Configure", [result]); | 446 chrome.send("Configure", [result]); |
386 } | 447 } |
387 | 448 |
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) { | 449 function switchToMode(mode) { |
409 document.getElementById("section-explicit").style.display = "none"; | 450 if (mode == "google") |
410 document.getElementById("section-google").style.display = "none"; | 451 document.getElementById("sync-custom-passphrase").hidden = true; |
411 | 452 else if (mode =="explicit") |
412 if (mode == "google") { | 453 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 } | 454 } |
418 | 455 |
419 function getRadioCheckedValue() { | 456 function getRadioCheckedValue() { |
420 var f = document.getElementById("chooseDataTypesForm"); | 457 var f = document.getElementById("chooseDataTypesForm"); |
421 for (var i = 0; i < f.option.length; ++i) { | 458 for (var i = 0; i < f.option.length; ++i) { |
422 if (f.option[i].checked) { | 459 if (f.option[i].checked) { |
423 return f.option[i].value; | 460 return f.option[i].value; |
424 } | 461 } |
425 } | 462 } |
426 return undefined; | 463 return undefined; |
(...skipping 10 matching lines...) Expand all Loading... |
437 mismatchError.style.display = "none"; | 474 mismatchError.style.display = "none"; |
438 | 475 |
439 var f = document.getElementById("chooseDataTypesForm"); | 476 var f = document.getElementById("chooseDataTypesForm"); |
440 if (getRadioCheckedValue() != "explicit" || f.option[0].disabled) { | 477 if (getRadioCheckedValue() != "explicit" || f.option[0].disabled) { |
441 return true; | 478 return true; |
442 } | 479 } |
443 if (f.passphrase.value.length == 0) { | 480 if (f.passphrase.value.length == 0) { |
444 emptyError.style.display = "block"; | 481 emptyError.style.display = "block"; |
445 return false; | 482 return false; |
446 } | 483 } |
447 if (f.confirmpassphrase.value != f.passphrase.value) { | 484 |
| 485 var confirmPassphrase = document.getElementById("confirm-passphrase"); |
| 486 var passphrase = document.getElementById("passphrase"); |
| 487 if (confirmPassphrase.value != passphrase.value) { |
448 mismatchError.style.display = "block"; | 488 mismatchError.style.display = "block"; |
449 return false; | 489 return false; |
450 } | 490 } |
451 return true; | 491 return true; |
452 } | 492 } |
453 | 493 |
454 function goToDashboard() { | 494 function goToDashboard() { |
455 chrome.send("GoToDashboard", [""]); | 495 chrome.send("GoToDashboard", [""]); |
456 chrome.send("DialogClose", [""]); | 496 chrome.send("DialogClose", [""]); |
457 } | 497 } |
458 | 498 |
459 </script> | 499 </script> |
460 </head> | 500 </head> |
461 <body i18n-values=".style.fontFamily:fontfamily" | 501 <body i18n-values=".style.fontFamily:fontfamily" |
462 onload="initializeConfigureDialog(JSON.parse(chrome.dialogArguments));"> | 502 onload="initializeConfigureDialog(JSON.parse(chrome.dialogArguments));"> |
463 <form id="chooseDataTypesForm" onSubmit="sendConfiguration(); return false;"> | 503 <div id="confirm-sync-preferences"> |
464 | 504 <div class="sync-header" i18n-content="confirmSyncPreferences"></div> |
465 <div class="sync-config-tabstrip"> | 505 <div id="sync-instructions-container" class="content-area"> |
466 <div id="data-type-tab" class="sync-config-tab-inactive"> | 506 <span i18n-content="choosedatatypesinstructions"></span> |
467 <a href="#" onclick="switchToTab('data-type'); return false;" | 507 <a i18n-values="href:encryptionhelpurl" target="_blank" |
468 i18n-content="dataTypes"></a> | 508 i18n-content="learnmore"></a> |
469 </div> | 509 </div> |
470 <div id="encryption-tab" class="sync-config-tab-inactive"> | 510 <div> |
471 <a href="#" onclick="switchToTab('encryption'); return false;" | 511 <div class="action-area"> |
472 i18n-content="encryption"></a> | 512 <div id="customize-link-container"> |
| 513 <a id="customize-link" href="#" i18n-content="customizelinklabel" |
| 514 onclick="showCustomizePage();"></a> |
| 515 </div> |
| 516 <input id="okButton" type="button" i18n-values="value:syncEverything" |
| 517 onclick="sendConfiguration();"> |
| 518 <input id="cancelButton" type="button" i18n-values="value:cancel" |
| 519 onclick="chrome.send('DialogClose', [''])"> |
473 </div> | 520 </div> |
474 </div> | 521 </div> |
475 <div id="data-type-tab-contents" class="sync-config-tab-contents-inactive"> | 522 </div> |
476 | 523 <div id="customize-sync-preferences" hidden> |
477 <div class="sync-header" | 524 <form id="chooseDataTypesForm" onSubmit="sendConfiguration(); return false;"> |
478 i18n-content="choosedatatypesheader"></div> | 525 <div class="sync-header">Customize Sync Preferences</div> |
479 <div class="sync-choose_data_types_instructions" | 526 <hr> |
480 i18n-content="choosedatatypesinstructions"></div> | 527 <div id="sync-configure-content" class="content-area"> |
481 <div class="sync-select-customization"> | 528 <div id="sync-select-container"> |
482 <div class="sync-choice_radio"> | 529 <select id="sync-select-datatypes"> |
483 <input id="keepEverythingSyncedRadio" type="radio" | 530 <option i18n-content="keepeverythingsynced" selected></option> |
484 name="syncChooseDataTypes" | 531 <option i18n-content="choosedatatypes"></option> |
485 onclick="setCheckboxesToKeepEverythingSynced(true);"> | 532 </select> |
486 <label for="keepEverythingSyncedRadio" | 533 <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> | 534 <div> |
496 <!-- Apps --> | 535 <!-- Apps --> |
497 <div class="sync-item-show" id="appsItem"> | 536 <div class="sync-item-show" id="appsItem"> |
498 <input id="appsCheckbox" name="dataTypeCheckbox" type="checkbox"> | 537 <input id="appsCheckbox" name="dataTypeCheckbox" type="checkbox"> |
499 <label id="appsCheckboxLabel" name="dataTypeLabel" | 538 <label id="appsCheckboxLabel" name="dataTypeLabel" |
500 for="appsCheckbox" i18n-content="apps" | 539 for="appsCheckbox" i18n-content="apps" |
501 i18n-values="title:apps"></label> | 540 i18n-values="title:apps"></label> |
502 </div> | 541 </div> |
503 <!-- Autofill --> | 542 <!-- Autofill --> |
504 <div class="sync-item-show" id="autofillItem"> | 543 <div class="sync-item-show" id="autofillItem"> |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
552 <div class="sync-item-show" id="sessionsItem"> | 591 <div class="sync-item-show" id="sessionsItem"> |
553 <input id="sessionsCheckbox" name="dataTypeCheckbox" type="checkbo
x"> | 592 <input id="sessionsCheckbox" name="dataTypeCheckbox" type="checkbo
x"> |
554 <label id="sessionsCheckboxLabel" name="dataTypeLabel" | 593 <label id="sessionsCheckboxLabel" name="dataTypeLabel" |
555 for="sessionsCheckbox" i18n-content="foreignsessions" | 594 for="sessionsCheckbox" i18n-content="foreignsessions" |
556 il8n-values="title:sessions"></label> | 595 il8n-values="title:sessions"></label> |
557 </div> | 596 </div> |
558 </div> | 597 </div> |
559 </div> | 598 </div> |
560 </div> | 599 </div> |
561 <div class="sync-errors"> | 600 <div class="sync-errors"> |
562 <span id="error_text" i18n-content="synczerodatatypeserror" | 601 <span id="error-text" i18n-content="synczerodatatypeserror" |
563 class="sync-error-hide"></span> | 602 class="sync-error-hide"></span> |
564 <span id="aborted_text" i18n-content="abortederror" | 603 <span id="aborted-text" i18n-content="abortederror" |
565 class="sync-error-hide"></span> | 604 class="sync-error-hide"></span> |
566 </div> | 605 </div> |
| 606 <hr> |
| 607 <h4 i18n-content="passphraseSectionTitle"></h4> |
| 608 <div id="sync-passphrase-container"> |
| 609 <div> |
| 610 <input id="google-option" name="option" type="radio" value="google" |
| 611 onchange="onRadioChange();"> |
| 612 <label for="google-option" i18n-content="googleOption"></label> |
| 613 </div> |
| 614 <div> |
| 615 <input id="explicit-option" name="option" type="radio" |
| 616 value="explicit" onchange="onRadioChange();"> |
| 617 <label for="explicit-option" i18n-content="explicitOption"></label> |
| 618 <a i18n-values="href:encryptionhelpurl" target="_blank" |
| 619 i18n-content="learnmore"></a> |
| 620 </div> |
| 621 <div id="sync-custom-passphrase" hidden> |
| 622 <div id="sync-passphrase-message"> |
| 623 <span i18n-content="sectionExplicitMessagePrefix"></span> |
| 624 <a href="https://google.com/dashboard" target="_blank" |
| 625 i18n-content="sectionExplicitMessagePostfix"></a> |
| 626 <span>.</span> |
| 627 </div> |
| 628 <div class="sync-custom-passphrase-input"> |
| 629 <input id="passphrase" type="password" |
| 630 i18n-values="placeholder:passphraseLabel"> |
| 631 </div> |
| 632 <div class="sync-custom-passphrase-input"> |
| 633 <input id="confirm-passphrase" type="password" |
| 634 i18n-values="placeholder:confirmLabel"> |
| 635 </div> |
| 636 <div class="error" style="display:none" |
| 637 id="emptyerror" i18n-content="emptyErrorMessage"></div> |
| 638 <div class="error" style="display:none" |
| 639 id="mismatcherror" i18n-content="mismatchErrorMessage"></div> |
| 640 </div> |
| 641 </div> |
| 642 <div class="action-area"> |
| 643 <input id="okButton" type="submit" i18n-values="value:ok" /> |
| 644 <input id="cancelButton" type="button" i18n-values="value:cancel" |
| 645 onclick='chrome.send("DialogClose", [""])' /> |
| 646 </div> |
567 </div> | 647 </div> |
568 | 648 </form> |
569 </div> | 649 </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> | 650 </body> |
628 </html> | 651 </html> |
OLD | NEW |