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> |
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 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").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 Loading... | |
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 Loading... | |
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> |
OLD | NEW |