Index: chrome/browser/sync/resources/choose_datatypes.html |
=================================================================== |
--- chrome/browser/sync/resources/choose_datatypes.html (revision 62207) |
+++ chrome/browser/sync/resources/choose_datatypes.html (working copy) |
@@ -1,381 +0,0 @@ |
-<html i18n-values="dir:textdirection;"> |
-<head> |
-<title></title> |
-<style type="text/css"> |
-body { |
- line-height: 1.5em; |
- background: #FFFFFF; |
- margin: 10px 15px; |
- font-size: 11pt; |
-} |
-html[os='mac'] body { |
- line-height: 1.5em; |
- margin: 15px 20px; |
- background: #FFFFFF; |
-} |
-form { |
- -webkit-user-select: none; |
-} |
-.sync-header { |
- font-size: 1.2em; |
- font-weight: bold; |
- margin-bottom: 10px; |
-} |
-.sync-select-customization { |
- margin-top: 10px; |
-} |
-#chooseDataTypesRadio { |
- vertical-align: top; |
-} |
-#chooseDataTypes > div { |
- display: inline-block; |
-} |
-#chooseDataTypesBody { |
- width: 90%; |
- -webkit-margin-start: 3ex; |
-} |
-#chooseDataTypesBody > div { |
- margin-top: 0px; |
- -webkit-column-count: 2; |
- -webkit-column-gap: 10px; |
- column-count: 2; |
- column-gap: 10px; |
-} |
-.sync-item-show { |
- display: block; |
- white-space: nowrap; |
-} |
- |
-.sync-item-show > label { |
- overflow: hidden; |
- white-space: nowrap; |
- text-overflow: ellipsis; |
- display: inline-block; |
- width: 92%; |
-} |
- |
-.sync-item-hide { |
- display: none; |
-} |
-.sync-label-inactive { |
- color: #9B9B9B; |
-} |
-.sync-label-active { |
- color: #000000; |
-} |
-.sync-data-types { |
- margin-left: 5px; |
-} |
-.sync-errors { |
- margin-top: 5px; |
-} |
-.sync-error-show { |
- display: block; |
- width: 80%; |
- margin-left: auto; |
- margin-right: auto; |
- text-align: center; |
- padding: 1px 10px; |
- background-color: #eeb939; |
- -webkit-border-radius: 4px; |
- font-weight: bold; |
-} |
-.sync-error-hide { |
- display: none; |
-} |
-.sync-footer { |
- position: fixed; |
- right: 0px; |
- bottom: 0px; |
- margin-right: 10px; |
- margin-bottom: 10px; |
-} |
-html[dir='rtl'] .sync-footer { |
- text-align: left; |
- left: 0px; |
- bottom: 0px; |
- margin-left: 20px; |
-} |
-#throb { |
- background-image: url("../../../../app/resources/throbber.png"); |
- width: 16px; |
- height: 16px; |
- background-position: 0px; |
- margin: -3px 10px; |
- display: inline-block; |
-} |
-input[type='button'], |
-input[type='submit'] { |
- min-width: 87px; |
- min-height: 26px; |
-} |
-html[os='mac'] input[type='button'], |
-html[os='mac'] input[type='submit'] { |
- font-size: 12pt; |
-} |
- |
-</style> |
-<script src="chrome://resources/js/cr.js"></script> |
-<script> |
- |
- // Called once, when this html/js is loaded. |
- function initializeChooseDataTypesDialog() { |
- // Allow platform specific rules |
- if (cr.isMac) { |
- document.documentElement.setAttribute('os', 'mac'); |
- } else if (!cr.isWindows) { |
- document.documentElement.setAttribute('os', 'linux'); |
- } |
- |
- setInterval(advanceThrobber, 30); |
- var args = JSON.parse(chrome.dialogArguments); |
- setChooseDataTypesCheckboxes(args); |
- } |
- |
- function setCheckboxesAndErrors(args) { |
- setChooseDataTypesCheckboxes(args); |
- setErrorState(args); |
- } |
- |
- // Can be called multiple times. |
- function setChooseDataTypesCheckboxes(args) { |
- setStateThrobbing(false); |
- |
- // If this frame is on top, the focus should be on it, so pressing enter |
- // submits this form. |
- if (args.iframeToShow == 'choose_data_types') { |
- document.getElementById("okButton").focus(); |
- } |
- |
- document.getElementById("keepEverythingSyncedRadio").checked = |
- args.keepEverythingSynced; |
- document.getElementById("chooseDataTypesRadio").checked = |
- !args.keepEverythingSynced; |
- setDataTypeCheckboxesEnabled(!args.keepEverythingSynced); |
- |
- document.getElementById("bookmarksCheckbox").checked = args.syncBookmarks; |
- document.getElementById("preferencesCheckbox").checked = |
- args.syncPreferences; |
- document.getElementById("themesCheckbox").checked = args.syncThemes; |
- |
- if (args.passwordsRegistered) { |
- document.getElementById("passwordsCheckbox").checked = args.syncPasswords; |
- document.getElementById("passwordsItem").className = "sync-item-show"; |
- } else { |
- document.getElementById("passwordsItem").className = "sync-item-hide"; |
- } |
- if (args.autofillRegistered) { |
- document.getElementById("autofillCheckbox").checked = args.syncAutofill; |
- document.getElementById("autofillItem").className = "sync-item-show"; |
- } else { |
- document.getElementById("autofillItem").className = "sync-item-hide"; |
- } |
- if (args.extensionsRegistered) { |
- document.getElementById("extensionsCheckbox").checked = |
- args.syncExtensions; |
- document.getElementById("extensionsItem").className = "sync-item-show"; |
- } else { |
- document.getElementById("extensionsItem").className = "sync-item-hide"; |
- } |
- if (args.typedUrlsRegistered) { |
- document.getElementById("typedUrlsCheckbox").checked = args.syncTypedUrls; |
- document.getElementById("omniboxItem").className = "sync-item-show"; |
- } else { |
- document.getElementById("omniboxItem").className = "sync-item-hide"; |
- } |
- if (args.appsRegistered) { |
- document.getElementById("appsCheckbox").checked = |
- args.syncApps; |
- document.getElementById("appsItem").className = "sync-item-show"; |
- } else { |
- document.getElementById("appsItem").className = "sync-item-hide"; |
- } |
- } |
- |
- function setErrorState(args) { |
- if (!args.was_aborted) |
- return; |
- document.getElementById("aborted_text").className = "sync-error-show"; |
- document.getElementById("okButton").disabled = true; |
- document.getElementById("keepEverythingSyncedRadio").disabled = true; |
- document.getElementById("chooseDataTypesRadio").disabled = true; |
- } |
- |
- function setDataTypeCheckboxesEnabled(enabled) { |
- var checkboxes = document.getElementsByName("dataTypeCheckbox"); |
- var labels = document.getElementsByName("dataTypeLabel"); |
- for (var i = 0; i < checkboxes.length; i++) { |
- checkboxes[i].disabled = !enabled; |
- if (checkboxes[i].disabled) { |
- labels[i].className = "sync-label-inactive"; |
- } else { |
- labels[i].className = "sync-label-active"; |
- } |
- } |
- } |
- |
- function advanceThrobber() { |
- var throbber = document.getElementById('throb'); |
- throbber.style.backgroundPositionX = |
- ((parseInt(getComputedStyle(throbber).backgroundPositionX) - 16) % |
- 576) + 'px'; |
- } |
- |
- function setStateThrobbing(isThrobbing) { |
- var throbberContainer = document.getElementById('throbber_container'); |
- throbberContainer.style.visibility = isThrobbing ? "visible" : "hidden"; |
- |
- var okButton = document.getElementById('okButton'); |
- okButton.disabled = isThrobbing || templateData["was_aborted"]; |
- okButton.value = isThrobbing ? templateData['settingup'] : |
- templateData['ok']; |
- } |
- |
- // Returns true if at least one data type is enabled and no data types are |
- // checked. (If all data type checkboxes are disabled, it's because "keep |
- // everything synced" is checked.) |
- function noDataTypesChecked() { |
- var checkboxes = document.getElementsByName("dataTypeCheckbox"); |
- var atLeastOneChecked = false; |
- var atLeastOneEnabled = false; |
- for (var i = 0; i < checkboxes.length; i++) { |
- if (!checkboxes[i].disabled && checkboxes[i].style.display != 'none') { |
- atLeastOneEnabled = true; |
- if (checkboxes[i].checked) { |
- atLeastOneChecked = true; |
- } |
- } |
- } |
- return atLeastOneEnabled && !atLeastOneChecked; |
- } |
- |
- function sendChooseDataTypesAndClose() { |
- // Trying to submit, so hide previous errors. |
- document.getElementById("aborted_text").className = "sync-error-hide"; |
- document.getElementById("error_text").className = "sync-error-hide"; |
- |
- if (noDataTypesChecked()) { |
- document.getElementById("error_text").className = "sync-error-show"; |
- return; |
- } |
- |
- setStateThrobbing(true); |
- |
- var f = document.getElementById("chooseDataTypesForm"); |
- var syncAll = f.keepEverythingSyncedRadio.checked; |
- // These values need to be kept in sync with where they are read in |
- // SyncSetupFlow::GetDataTypeChoiceData(). |
- var result = JSON.stringify({ |
- "keepEverythingSynced": syncAll, |
- "syncBookmarks": syncAll || f.bookmarksCheckbox.checked, |
- "syncPreferences": syncAll || f.preferencesCheckbox.checked, |
- "syncThemes": syncAll || f.themesCheckbox.checked, |
- "syncPasswords": syncAll || f.passwordsCheckbox.checked, |
- "syncAutofill": syncAll || f.autofillCheckbox.checked, |
- "syncExtensions": syncAll || f.extensionsCheckbox.checked, |
- "syncTypedUrls": syncAll || f.typedUrlsCheckbox.checked, |
- "syncApps": syncAll || f.appsCheckbox.checked |
- }); |
- chrome.send("ChooseDataTypes", [result]); |
- } |
- |
-</script> |
-</head> |
-<body i18n-values=".style.fontFamily:fontfamily" |
- onload="initializeChooseDataTypesDialog();"> |
-<form id="chooseDataTypesForm" |
- onSubmit="sendChooseDataTypesAndClose(); return false;"> |
- |
- <div class="sync-header" |
- i18n-content="choosedatatypesheader"></div> |
- <div class="sync-choose_data_types_instructions" |
- i18n-content="choosedatatypesinstructions"></div> |
- <div class="sync-select-customization"> |
- <div class="sync-choice_radio"> |
- <input id="keepEverythingSyncedRadio" type="radio" name="syncChooseDataTypes" |
- onclick="setDataTypeCheckboxesEnabled(false)"> |
- <label for="keepEverythingSyncedRadio" i18n-content="keepeverythingsynced"> |
- </label> |
- </div> |
- <div id="chooseDataTypes" class="sync-choice_radio"> |
- <input id="chooseDataTypesRadio" type="radio" name="syncChooseDataTypes" |
- onclick="setDataTypeCheckboxesEnabled(true)"> |
- <label for="chooseDataTypesRadio" i18n-content="choosedatatypes" ></label> |
- <div id="chooseDataTypesBody"> |
- <div> |
- <!-- Apps --> |
- <div class="sync-item-show" id="appsItem"> |
- <input id="appsCheckbox" name="dataTypeCheckbox" type="checkbox"> |
- <label id="appsCheckboxLabel" name="dataTypeLabel" |
- for="appsCheckbox" i18n-content="apps" |
- i18n-values="title:apps"></label> |
- </div> |
- <!-- Autofill --> |
- <div class="sync-item-show" id="autofillItem"> |
- <input id="autofillCheckbox" name="dataTypeCheckbox" type="checkbox"> |
- <label id="autofillCheckboxLabel" name="dataTypeLabel" |
- for="autofillCheckbox" i18n-content="autofill" |
- i18n-values="title:autofill"></label> |
- </div> |
- <!-- Bookmarks --> |
- <div class="sync-item-show" id="bookmarksItem"> |
- <input id="bookmarksCheckbox" name="dataTypeCheckbox" type="checkbox"> |
- <label id="bookmarksCheckboxLabel" name="dataTypeLabel" |
- for="bookmarksCheckbox" i18n-content="bookmarks" |
- i18n-values="title:bookmarks"></label> |
- </div> |
- <!-- Extensions --> |
- <div class="sync-item-show" id="extensionsItem"> |
- <input id="extensionsCheckbox" name="dataTypeCheckbox" type="checkbox"> |
- <label id="extensionsCheckboxLabel" name="dataTypeLabel" |
- for="extensionsCheckbox" i18n-content="extensions" |
- i18n-values="title:extensions"></label> |
- </div> |
- <!-- Omnibox --> |
- <div class="sync-item-show" id="omniboxItem"> |
- <input id="typedUrlsCheckbox" name="dataTypeCheckbox" type="checkbox"> |
- <label id="typedUrlsCheckboxLabel" name="dataTypeLabel" |
- for="typedUrlsCheckbox" i18n-content="typedurls" |
- i18n-values="title:typedurls"></label> |
- </div> |
- <!-- Passwords --> |
- <div class="sync-item-show" id="passwordsItem"> |
- <input id="passwordsCheckbox" name="dataTypeCheckbox" type="checkbox"> |
- <label id="passwordsCheckboxLabel" name="dataTypeLabel" |
- for="passwordsCheckbox" i18n-content="passwords" |
- i18n-values="title:passwords"></label> |
- </div> |
- <!-- Preferences --> |
- <div class="sync-item-show" id="preferencesItem"> |
- <input id="preferencesCheckbox" name="dataTypeCheckbox" type="checkbox"> |
- <label id="preferencesCheckboxLabel" name="dataTypeLabel" |
- for="preferencesCheckbox" i18n-content="preferences" |
- i18n-values="title:preferences"></label> |
- </div> |
- <!-- Themes --> |
- <div class="sync-item-show" id="themesItem"> |
- <input id="themesCheckbox" name="dataTypeCheckbox" type="checkbox"> |
- <label id="themesCheckboxLabel" name="dataTypeLabel" for="themesCheckbox" |
- i18n-content="themes" i18n-values="title:themes"></label> |
- </div> |
- </div> |
- </div> |
- </div> |
- <div class="sync-errors"> |
- <span id="error_text" i18n-content="synczerodatatypeserror" |
- class="sync-error-hide"></span> |
- <span id="aborted_text" i18n-content="setupabortederror" |
- class="sync-error-hide"></span> |
- </div> |
- <div class="sync-footer"> |
- <span id="throbber_container" style="visibility:hidden"> |
- <span id="throb"></span> |
- </span> |
- <input id="okButton" type="submit" i18n-values="value:ok" /> |
- <input id="cancelButton" type="button" i18n-values="value:cancel" |
- onclick='chrome.send("DialogClose", [""])' /> |
- </div> |
-</div> |
-</form> |
-</body> |
-</html> |