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

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

Issue 3655004: Add UI for setting the encryption passphrase.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fixes Created 10 years, 2 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
Property Changes:
Added: svn:mergeinfo
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.5em; 6 line-height: 1.5em;
7 background: #FFFFFF; 7 background: #FFFFFF;
8 margin: 10px 15px;
9 font-size: 11pt; 8 font-size: 11pt;
10 } 9 }
11 html[os='mac'] body { 10 html[os='mac'] body {
12 line-height: 1.5em; 11 line-height: 1.5em;
13 margin: 15px 20px;
14 background: #FFFFFF; 12 background: #FFFFFF;
15 } 13 }
16 form { 14 form {
17 -webkit-user-select: none; 15 -webkit-user-select: none;
18 } 16 }
19 .sync-header { 17 .sync-header {
20 font-size: 1.2em; 18 font-size: 1.2em;
21 font-weight: bold; 19 font-weight: bold;
22 margin-bottom: 10px; 20 margin-bottom: 10px;
23 } 21 }
(...skipping 10 matching lines...) Expand all
34 width: 90%; 32 width: 90%;
35 -webkit-margin-start: 3ex; 33 -webkit-margin-start: 3ex;
36 } 34 }
37 #chooseDataTypesBody > div { 35 #chooseDataTypesBody > div {
38 margin-top: 0px; 36 margin-top: 0px;
39 -webkit-column-count: 2; 37 -webkit-column-count: 2;
40 -webkit-column-gap: 10px; 38 -webkit-column-gap: 10px;
41 column-count: 2; 39 column-count: 2;
42 column-gap: 10px; 40 column-gap: 10px;
43 } 41 }
42
43 .sync-config-tab-contents-inactive {
44 display: none;
45 }
46 .sync-config-tab-contents-active {
47 display: block;
48 margin: 10px 15px;
49 }
50 .sync-config-tabstrip {
51 border-bottom: 1px solid gray;
52 height: 25px;
53 margin-bottom: 10px;
54 padding-top: 10px;
55 background-color: #DDD;
56 }
57 .sync-config-tab-active {
58 background-color: white;
59 border-top: 1px solid gray;
60 border-left: 1px solid gray;
61 border-right: 1px solid gray;
62 border-top-left-radius: 5px 5px;
63 border-top-right-radius: 5px 5px;
64 }
65
66 .sync-config-tab-active,
67 .sync-config-tab-inactive {
68 float: left;
69 height: 22px;
70 padding-top: 3px;
71 margin-left: 15px;
72 width: 100px;
73 text-align: center;
74 }
75 .sync-config-tab-active A,
76 .sync-config-tab-inactive A,
77 .sync-config-tab-active A:visited,
78 .sync-config-tab-inactive A:visited,
79 .sync-config-tab-active A:hover,
80 .sync-config-tab-inactive A:hover {
81 color: black;
82 text-decoration: none;
83 }
84
85 #sync-encryption-instructions {
86 margin-bottom: 10px;
87 line-height: 1.8em;
88 }
89
90 #sync-passphrase-warning {
91 font-style: italic;
92 line-height: 1.8em;
93 }
94
95 #encryption-tab-contents > .sync_item_show {
96 margin-bottom: 5px;
97 }
98
44 .sync-item-show { 99 .sync-item-show {
45 display: block; 100 display: block;
46 white-space: nowrap; 101 white-space: nowrap;
47 } 102 }
48 103
49 .sync-item-show > label { 104 .sync-item-show > label {
50 overflow: hidden; 105 overflow: hidden;
51 white-space: nowrap; 106 white-space: nowrap;
52 text-overflow: ellipsis; 107 text-overflow: ellipsis;
53 display: inline-block; 108 display: inline-block;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 bottom: 0px; 144 bottom: 0px;
90 margin-right: 10px; 145 margin-right: 10px;
91 margin-bottom: 10px; 146 margin-bottom: 10px;
92 } 147 }
93 html[dir='rtl'] .sync-footer { 148 html[dir='rtl'] .sync-footer {
94 text-align: left; 149 text-align: left;
95 left: 0px; 150 left: 0px;
96 bottom: 0px; 151 bottom: 0px;
97 margin-left: 20px; 152 margin-left: 20px;
98 } 153 }
99 #throb { 154
100 background-image: url("../../../../app/resources/throbber.png");
101 width: 16px;
102 height: 16px;
103 background-position: 0px;
104 margin: -3px 10px;
105 display: inline-block;
106 }
107 input[type='button'], 155 input[type='button'],
108 input[type='submit'] { 156 input[type='submit'] {
109 min-width: 87px; 157 min-width: 87px;
110 min-height: 26px; 158 min-height: 26px;
111 } 159 }
112 html[os='mac'] input[type='button'], 160 html[os='mac'] input[type='button'],
113 html[os='mac'] input[type='submit'] { 161 html[os='mac'] input[type='submit'] {
114 font-size: 12pt; 162 font-size: 12pt;
115 } 163 }
116 164
117 </style> 165 </style>
118 <script src="chrome://resources/js/cr.js"></script> 166 <script src="chrome://resources/js/cr.js"></script>
119 <script> 167 <script>
168 var currentTab;
120 169
121 // Called once, when this html/js is loaded. 170 // Called once, when this html/js is loaded.
122 function initializeChooseDataTypesDialog() { 171 function initializeConfigureDialog(args) {
123 // Allow platform specific rules 172 // Allow platform specific rules
124 if (cr.isMac) { 173 if (cr.isMac) {
125 document.documentElement.setAttribute('os', 'mac'); 174 document.documentElement.setAttribute('os', 'mac');
126 } else if (!cr.isWindows) { 175 } else if (!cr.isWindows) {
127 document.documentElement.setAttribute('os', 'linux'); 176 document.documentElement.setAttribute('os', 'linux');
128 } 177 }
129 178
130 setInterval(advanceThrobber, 30); 179 if (args) {
131 var args = JSON.parse(chrome.dialogArguments); 180 currentTab = args['initialTab'];
132 setChooseDataTypesCheckboxes(args); 181 switchToTab(currentTab);
182 setCheckboxesAndErrors(args);
183 }
133 } 184 }
134 185
135 function setCheckboxesAndErrors(args) { 186 function setCheckboxesAndErrors(args) {
136 setChooseDataTypesCheckboxes(args); 187 setChooseDataTypesCheckboxes(args);
188 setEncryptionCheckboxes(args);
137 setErrorState(args); 189 setErrorState(args);
138 } 190 }
139 191
140 // Can be called multiple times. 192 // Can be called multiple times.
141 function setChooseDataTypesCheckboxes(args) { 193 function setChooseDataTypesCheckboxes(args) {
142 setStateThrobbing(false);
143
144 // If this frame is on top, the focus should be on it, so pressing enter 194 // If this frame is on top, the focus should be on it, so pressing enter
145 // submits this form. 195 // submits this form.
146 if (args.iframeToShow == 'choose_data_types') { 196 if (args.iframeToShow == 'choose_data_types') {
147 document.getElementById("okButton").focus(); 197 document.getElementById("okButton").focus();
148 } 198 }
149 199
150 document.getElementById("keepEverythingSyncedRadio").checked = 200 document.getElementById("keepEverythingSyncedRadio").checked =
151 args.keepEverythingSynced; 201 args.keepEverythingSynced;
152 document.getElementById("chooseDataTypesRadio").checked = 202 document.getElementById("chooseDataTypesRadio").checked =
153 !args.keepEverythingSynced; 203 !args.keepEverythingSynced;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 } 235 }
186 if (args.appsRegistered) { 236 if (args.appsRegistered) {
187 document.getElementById("appsCheckbox").checked = 237 document.getElementById("appsCheckbox").checked =
188 args.syncApps; 238 args.syncApps;
189 document.getElementById("appsItem").className = "sync-item-show"; 239 document.getElementById("appsItem").className = "sync-item-show";
190 } else { 240 } else {
191 document.getElementById("appsItem").className = "sync-item-hide"; 241 document.getElementById("appsItem").className = "sync-item-hide";
192 } 242 }
193 } 243 }
194 244
245 function setEncryptionCheckboxes(args) {
246 document.getElementById("usePassphraseCheckbox").checked =
247 args["usePassphrase"];
248
249 // The passphrase, once set, cannot be unset.
250 if (args["usePassphrase"]) {
251 document.getElementById("usePassphraseCheckbox").disabled = true;
252 }
253 }
254
195 function setErrorState(args) { 255 function setErrorState(args) {
196 if (!args.was_aborted) 256 if (!args.was_aborted)
197 return; 257 return;
198 document.getElementById("aborted_text").className = "sync-error-show"; 258 document.getElementById("aborted_text").className = "sync-error-show";
199 document.getElementById("okButton").disabled = true; 259 document.getElementById("okButton").disabled = true;
200 document.getElementById("keepEverythingSyncedRadio").disabled = true; 260 document.getElementById("keepEverythingSyncedRadio").disabled = true;
201 document.getElementById("chooseDataTypesRadio").disabled = true; 261 document.getElementById("chooseDataTypesRadio").disabled = true;
202 } 262 }
203 263
204 function setDataTypeCheckboxesEnabled(enabled) { 264 function setDataTypeCheckboxesEnabled(enabled) {
205 var checkboxes = document.getElementsByName("dataTypeCheckbox"); 265 var checkboxes = document.getElementsByName("dataTypeCheckbox");
206 var labels = document.getElementsByName("dataTypeLabel"); 266 var labels = document.getElementsByName("dataTypeLabel");
207 for (var i = 0; i < checkboxes.length; i++) { 267 for (var i = 0; i < checkboxes.length; i++) {
208 checkboxes[i].disabled = !enabled; 268 checkboxes[i].disabled = !enabled;
209 if (checkboxes[i].disabled) { 269 if (checkboxes[i].disabled) {
210 labels[i].className = "sync-label-inactive"; 270 labels[i].className = "sync-label-inactive";
211 } else { 271 } else {
212 labels[i].className = "sync-label-active"; 272 labels[i].className = "sync-label-active";
213 } 273 }
214 } 274 }
215 } 275 }
216 276
217 function advanceThrobber() {
218 var throbber = document.getElementById('throb');
219 throbber.style.backgroundPositionX =
220 ((parseInt(getComputedStyle(throbber).backgroundPositionX) - 16) %
221 576) + 'px';
222 }
223
224 function setStateThrobbing(isThrobbing) {
225 var throbberContainer = document.getElementById('throbber_container');
226 throbberContainer.style.visibility = isThrobbing ? "visible" : "hidden";
227
228 var okButton = document.getElementById('okButton');
229 okButton.disabled = isThrobbing || templateData["was_aborted"];
230 okButton.value = isThrobbing ? templateData['settingup'] :
231 templateData['ok'];
232 }
233
234 // Returns true if at least one data type is enabled and no data types are 277 // Returns true if at least one data type is enabled and no data types are
235 // checked. (If all data type checkboxes are disabled, it's because "keep 278 // checked. (If all data type checkboxes are disabled, it's because "keep
236 // everything synced" is checked.) 279 // everything synced" is checked.)
237 function noDataTypesChecked() { 280 function noDataTypesChecked() {
238 var checkboxes = document.getElementsByName("dataTypeCheckbox"); 281 var checkboxes = document.getElementsByName("dataTypeCheckbox");
239 var atLeastOneChecked = false; 282 var atLeastOneChecked = false;
240 var atLeastOneEnabled = false; 283 var atLeastOneEnabled = false;
241 for (var i = 0; i < checkboxes.length; i++) { 284 for (var i = 0; i < checkboxes.length; i++) {
242 if (!checkboxes[i].disabled && checkboxes[i].style.display != 'none') { 285 if (!checkboxes[i].disabled && checkboxes[i].style.display != 'none') {
243 atLeastOneEnabled = true; 286 atLeastOneEnabled = true;
244 if (checkboxes[i].checked) { 287 if (checkboxes[i].checked) {
245 atLeastOneChecked = true; 288 atLeastOneChecked = true;
246 } 289 }
247 } 290 }
248 } 291 }
249 return atLeastOneEnabled && !atLeastOneChecked; 292 return atLeastOneEnabled && !atLeastOneChecked;
250 } 293 }
251 294
252 function sendChooseDataTypesAndClose() { 295 function sendConfiguration() {
253 // Trying to submit, so hide previous errors. 296 // Trying to submit, so hide previous errors.
254 document.getElementById("aborted_text").className = "sync-error-hide"; 297 document.getElementById("aborted_text").className = "sync-error-hide";
255 document.getElementById("error_text").className = "sync-error-hide"; 298 document.getElementById("error_text").className = "sync-error-hide";
256 299
257 if (noDataTypesChecked()) { 300 if (noDataTypesChecked()) {
258 document.getElementById("error_text").className = "sync-error-show"; 301 document.getElementById("error_text").className = "sync-error-show";
259 return; 302 return;
260 } 303 }
261 304
262 setStateThrobbing(true);
263
264 var f = document.getElementById("chooseDataTypesForm"); 305 var f = document.getElementById("chooseDataTypesForm");
265 var syncAll = f.keepEverythingSyncedRadio.checked; 306 var syncAll = f.keepEverythingSyncedRadio.checked;
266 // These values need to be kept in sync with where they are read in 307 // These values need to be kept in sync with where they are read in
267 // SyncSetupFlow::GetDataTypeChoiceData(). 308 // SyncSetupFlow::GetDataTypeChoiceData().
268 var result = JSON.stringify({ 309 var result = JSON.stringify({
269 "keepEverythingSynced": syncAll, 310 "keepEverythingSynced": syncAll,
270 "syncBookmarks": syncAll || f.bookmarksCheckbox.checked, 311 "syncBookmarks": syncAll || f.bookmarksCheckbox.checked,
271 "syncPreferences": syncAll || f.preferencesCheckbox.checked, 312 "syncPreferences": syncAll || f.preferencesCheckbox.checked,
272 "syncThemes": syncAll || f.themesCheckbox.checked, 313 "syncThemes": syncAll || f.themesCheckbox.checked,
273 "syncPasswords": syncAll || f.passwordsCheckbox.checked, 314 "syncPasswords": syncAll || f.passwordsCheckbox.checked,
274 "syncAutofill": syncAll || f.autofillCheckbox.checked, 315 "syncAutofill": syncAll || f.autofillCheckbox.checked,
275 "syncExtensions": syncAll || f.extensionsCheckbox.checked, 316 "syncExtensions": syncAll || f.extensionsCheckbox.checked,
276 "syncTypedUrls": syncAll || f.typedUrlsCheckbox.checked, 317 "syncTypedUrls": syncAll || f.typedUrlsCheckbox.checked,
277 "syncApps": syncAll || f.appsCheckbox.checked 318 "syncApps": syncAll || f.appsCheckbox.checked,
319 "usePassphrase": document.getElementById("usePassphraseCheckbox").checke d
278 }); 320 });
279 chrome.send("ChooseDataTypes", [result]); 321 chrome.send("Configure", [result]);
322 }
323
324 function switchToTab(newTab) {
325 if (currentTab) {
326 document.getElementById(currentTab + "-tab").className =
327 "sync-config-tab-inactive";
328 document.getElementById(currentTab + "-tab-contents").className =
329 "sync-config-tab-contents-inactive";
330 }
331
332 document.getElementById(newTab + "-tab").className =
333 "sync-config-tab-active";
334 document.getElementById(newTab + "-tab-contents").className =
335 "sync-config-tab-contents-active";
336
337 currentTab = newTab;
280 } 338 }
281 339
282 </script> 340 </script>
283 </head> 341 </head>
284 <body i18n-values=".style.fontFamily:fontfamily" 342 <body i18n-values=".style.fontFamily:fontfamily"
285 onload="initializeChooseDataTypesDialog();"> 343 onload="initializeConfigureDialog(JSON.parse(chrome.dialogArguments));">
286 <form id="chooseDataTypesForm" 344 <form id="chooseDataTypesForm" onSubmit="sendConfiguration(); return false;">
287 onSubmit="sendChooseDataTypesAndClose(); return false;">
288 345
289 <div class="sync-header" 346 <div class="sync-config-tabstrip">
290 i18n-content="choosedatatypesheader"></div> 347 <div id="data-type-tab" class="sync-config-tab-inactive">
291 <div class="sync-choose_data_types_instructions" 348 <a href="#" onclick="switchToTab('data-type'); return false;"
292 i18n-content="choosedatatypesinstructions"></div> 349 i18n-content="dataTypes"></a>
293 <div class="sync-select-customization"> 350 </div>
294 <div class="sync-choice_radio"> 351 <div id="encryption-tab" class="sync-config-tab-inactive">
295 <input id="keepEverythingSyncedRadio" type="radio" name="syncChooseDataTypes" 352 <a href="#" onclick="switchToTab('encryption'); return false;"
296 onclick="setDataTypeCheckboxesEnabled(false)"> 353 i18n-content="encryption"></a>
297 <label for="keepEverythingSyncedRadio" i18n-content="keepeverythingsynced"> 354 </div>
298 </label>
299 </div>
300 <div id="chooseDataTypes" class="sync-choice_radio">
301 <input id="chooseDataTypesRadio" type="radio" name="syncChooseDataTypes"
302 onclick="setDataTypeCheckboxesEnabled(true)">
303 <label for="chooseDataTypesRadio" i18n-content="choosedatatypes" ></label>
304 <div id="chooseDataTypesBody">
305 <div>
306 <!-- Apps -->
307 <div class="sync-item-show" id="appsItem">
308 <input id="appsCheckbox" name="dataTypeCheckbox" type="checkbox">
309 <label id="appsCheckboxLabel" name="dataTypeLabel"
310 for="appsCheckbox" i18n-content="apps"
311 i18n-values="title:apps"></label>
312 </div>
313 <!-- Autofill -->
314 <div class="sync-item-show" id="autofillItem">
315 <input id="autofillCheckbox" name="dataTypeCheckbox" type="checkbox">
316 <label id="autofillCheckboxLabel" name="dataTypeLabel"
317 for="autofillCheckbox" i18n-content="autofill"
318 i18n-values="title:autofill"></label>
319 </div>
320 <!-- Bookmarks -->
321 <div class="sync-item-show" id="bookmarksItem">
322 <input id="bookmarksCheckbox" name="dataTypeCheckbox" type="checkbox">
323 <label id="bookmarksCheckboxLabel" name="dataTypeLabel"
324 for="bookmarksCheckbox" i18n-content="bookmarks"
325 i18n-values="title:bookmarks"></label>
326 </div>
327 <!-- Extensions -->
328 <div class="sync-item-show" id="extensionsItem">
329 <input id="extensionsCheckbox" name="dataTypeCheckbox" type="checkbox">
330 <label id="extensionsCheckboxLabel" name="dataTypeLabel"
331 for="extensionsCheckbox" i18n-content="extensions"
332 i18n-values="title:extensions"></label>
333 </div>
334 <!-- Omnibox -->
335 <div class="sync-item-show" id="omniboxItem">
336 <input id="typedUrlsCheckbox" name="dataTypeCheckbox" type="checkbox">
337 <label id="typedUrlsCheckboxLabel" name="dataTypeLabel"
338 for="typedUrlsCheckbox" i18n-content="typedurls"
339 i18n-values="title:typedurls"></label>
340 </div>
341 <!-- Passwords -->
342 <div class="sync-item-show" id="passwordsItem">
343 <input id="passwordsCheckbox" name="dataTypeCheckbox" type="checkbox">
344 <label id="passwordsCheckboxLabel" name="dataTypeLabel"
345 for="passwordsCheckbox" i18n-content="passwords"
346 i18n-values="title:passwords"></label>
347 </div>
348 <!-- Preferences -->
349 <div class="sync-item-show" id="preferencesItem">
350 <input id="preferencesCheckbox" name="dataTypeCheckbox" type="checkbox">
351 <label id="preferencesCheckboxLabel" name="dataTypeLabel"
352 for="preferencesCheckbox" i18n-content="preferences"
353 i18n-values="title:preferences"></label>
354 </div>
355 <!-- Themes -->
356 <div class="sync-item-show" id="themesItem">
357 <input id="themesCheckbox" name="dataTypeCheckbox" type="checkbox">
358 <label id="themesCheckboxLabel" name="dataTypeLabel" for="themesCheckbox"
359 i18n-content="themes" i18n-values="title:themes"></label>
360 </div>
361 </div> 355 </div>
356 <div id="data-type-tab-contents" class="sync-config-tab-contents-inactive">
357
358 <div class="sync-header"
359 i18n-content="choosedatatypesheader"></div>
360 <div class="sync-choose_data_types_instructions"
361 i18n-content="choosedatatypesinstructions"></div>
362 <div class="sync-select-customization">
363 <div class="sync-choice_radio">
364 <input id="keepEverythingSyncedRadio" type="radio"
365 name="syncChooseDataTypes"
366 onclick="setDataTypeCheckboxesEnabled(false)">
367 <label for="keepEverythingSyncedRadio"
368 i18n-content="keepeverythingsynced">
369 </label>
370 </div>
371 <div id="chooseDataTypes" class="sync-choice_radio">
372 <input id="chooseDataTypesRadio" type="radio" name="syncChooseDataTypes"
373 onclick="setDataTypeCheckboxesEnabled(true)">
374 <label for="chooseDataTypesRadio" i18n-content="choosedatatypes" ></labe l>
375 <div id="chooseDataTypesBody">
376 <div>
377 <!-- Apps -->
378 <div class="sync-item-show" id="appsItem">
379 <input id="appsCheckbox" name="dataTypeCheckbox" type="checkbox">
380 <label id="appsCheckboxLabel" name="dataTypeLabel"
381 for="appsCheckbox" i18n-content="apps"
382 i18n-values="title:apps"></label>
383 </div>
384 <!-- Autofill -->
385 <div class="sync-item-show" id="autofillItem">
386 <input id="autofillCheckbox" name="dataTypeCheckbox" type="checkbo x">
387 <label id="autofillCheckboxLabel" name="dataTypeLabel"
388 for="autofillCheckbox" i18n-content="autofill"
389 i18n-values="title:autofill"></label>
390 </div>
391 <!-- Bookmarks -->
392 <div class="sync-item-show" id="bookmarksItem">
393 <input id="bookmarksCheckbox" name="dataTypeCheckbox" type="checkb ox">
394 <label id="bookmarksCheckboxLabel" name="dataTypeLabel"
395 for="bookmarksCheckbox" i18n-content="bookmarks"
396 i18n-values="title:bookmarks"></label>
397 </div>
398 <!-- Extensions -->
399 <div class="sync-item-show" id="extensionsItem">
400 <input id="extensionsCheckbox" name="dataTypeCheckbox" type="check box">
401 <label id="extensionsCheckboxLabel" name="dataTypeLabel"
402 for="extensionsCheckbox" i18n-content="extensions"
403 i18n-values="title:extensions"></label>
404 </div>
405 <!-- Omnibox -->
406 <div class="sync-item-show" id="omniboxItem">
407 <input id="typedUrlsCheckbox" name="dataTypeCheckbox" type="checkb ox">
408 <label id="typedUrlsCheckboxLabel" name="dataTypeLabel"
409 for="typedUrlsCheckbox" i18n-content="typedurls"
410 i18n-values="title:typedurls"></label>
411 </div>
412 <!-- Passwords -->
413 <div class="sync-item-show" id="passwordsItem">
414 <input id="passwordsCheckbox" name="dataTypeCheckbox" type="checkb ox">
415 <label id="passwordsCheckboxLabel" name="dataTypeLabel"
416 for="passwordsCheckbox" i18n-content="passwords"
417 i18n-values="title:passwords"></label>
418 </div>
419 <!-- Preferences -->
420 <div class="sync-item-show" id="preferencesItem">
421 <input id="preferencesCheckbox" name="dataTypeCheckbox" type="chec kbox">
422 <label id="preferencesCheckboxLabel" name="dataTypeLabel"
423 for="preferencesCheckbox" i18n-content="preferences"
424 i18n-values="title:preferences"></label>
425 </div>
426 <!-- Themes -->
427 <div class="sync-item-show" id="themesItem">
428 <input id="themesCheckbox" name="dataTypeCheckbox" type="checkbox" >
429 <label id="themesCheckboxLabel" name="dataTypeLabel" for="themesCh eckbox"
430 i18n-content="themes" i18n-values="title:themes"></label>
431 </div>
432 </div>
433 </div>
434 </div>
435 <div class="sync-errors">
436 <span id="error_text" i18n-content="synczerodatatypeserror"
437 class="sync-error-hide"></span>
438 <span id="aborted_text" i18n-content="abortederror"
439 class="sync-error-hide"></span>
440 </div>
441 </div>
442
362 </div> 443 </div>
363 </div> 444 <div id="encryption-tab-contents" class="sync-config-tab-contents-inactive">
364 <div class="sync-errors"> 445 <div id="sync-encryption-instructions"
365 <span id="error_text" i18n-content="synczerodatatypeserror" 446 i18n-content="encryptionInstructions"></div>
366 class="sync-error-hide"></span> 447
367 <span id="aborted_text" i18n-content="setupabortederror" 448 <div class="sync-item-show" id="usePassphrase">
368 class="sync-error-hide"></span> 449 <input id="usePassphraseCheckbox" name="usePassphraseCheckbox"
369 </div> 450 type="checkbox" />
370 <div class="sync-footer"> 451 <label id="usePassphraseLabel" name="usePassphraseLabel"
371 <span id="throbber_container" style="visibility:hidden"> 452 for="usePassphraseCheckbox" i18n-content="usePassphraseLabel">
372 <span id="throb"></span> 453 </label>
373 </span> 454 </div>
374 <input id="okButton" type="submit" i18n-values="value:ok" /> 455
375 <input id="cancelButton" type="button" i18n-values="value:cancel" 456 <div id="sync-passphrase-warning" i18n-content="passphraseWarning">
376 onclick='chrome.send("DialogClose", [""])' /> 457 </div>
377 </div> 458 </div>
378 </div> 459
460 <div class="sync-footer">
461 <input id="okButton" type="submit" i18n-values="value:ok" />
462 <input id="cancelButton" type="button" i18n-values="value:cancel"
463 onclick='chrome.send("DialogClose", [""])' />
464 </div>
379 </form> 465 </form>
380 </body> 466 </body>
381 </html> 467 </html>
OLDNEW
« no previous file with comments | « chrome/browser/sync/resources/choose_datatypes.html ('k') | chrome/browser/sync/resources/passphrase.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698