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

Unified Diff: chrome/browser/sync/resources/choose_datatypes.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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/sync/profile_sync_service.cc ('k') | chrome/browser/sync/resources/configure.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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>
« no previous file with comments | « chrome/browser/sync/profile_sync_service.cc ('k') | chrome/browser/sync/resources/configure.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698