browser/base/content/sync/setup.xul

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/browser/base/content/sync/setup.xul	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,504 @@
     1.4 +<?xml version="1.0"?>
     1.5 +
     1.6 +<!-- This Source Code Form is subject to the terms of the Mozilla Public
     1.7 +   - License, v. 2.0. If a copy of the MPL was not distributed with this
     1.8 +   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
     1.9 +
    1.10 +<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
    1.11 +<?xml-stylesheet href="chrome://browser/skin/syncSetup.css" type="text/css"?>
    1.12 +<?xml-stylesheet href="chrome://browser/skin/syncCommon.css" type="text/css"?>
    1.13 +
    1.14 +<!DOCTYPE window [
    1.15 +<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
    1.16 +<!ENTITY % syncBrandDTD SYSTEM "chrome://browser/locale/syncBrand.dtd">
    1.17 +<!ENTITY % syncSetupDTD SYSTEM "chrome://browser/locale/syncSetup.dtd">
    1.18 +%brandDTD;
    1.19 +%syncBrandDTD;
    1.20 +%syncSetupDTD;
    1.21 +]>
    1.22 +<wizard id="wizard"
    1.23 +        title="&accountSetupTitle.label;"
    1.24 +        windowtype="Weave:AccountSetup"
    1.25 +        persist="screenX screenY"
    1.26 +        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    1.27 +        xmlns:html="http://www.w3.org/1999/xhtml"
    1.28 +        onwizardnext="return gSyncSetup.onWizardAdvance()"
    1.29 +        onwizardback="return gSyncSetup.onWizardBack()"
    1.30 +        onwizardcancel="gSyncSetup.onWizardCancel()"
    1.31 +        onload="gSyncSetup.init()">
    1.32 +
    1.33 +  <script type="application/javascript"
    1.34 +          src="chrome://browser/content/sync/setup.js"/>
    1.35 +  <script type="application/javascript"
    1.36 +          src="chrome://browser/content/sync/utils.js"/>
    1.37 +  <script type="application/javascript"
    1.38 +          src="chrome://browser/content/utilityOverlay.js"/>
    1.39 +  <script type="application/javascript"
    1.40 +          src="chrome://global/content/printUtils.js"/>
    1.41 +
    1.42 +  <wizardpage id="addDevicePage"
    1.43 +              label="&pairDevice.title.label;"
    1.44 +              onpageshow="gSyncSetup.onPageShow()">
    1.45 +    <description>
    1.46 +      &pairDevice.dialog.description.label;
    1.47 +      <label class="text-link"
    1.48 +             value="&addDevice.showMeHow.label;"
    1.49 +             href="https://services.mozilla.com/sync/help/add-device"/>
    1.50 +    </description>
    1.51 +    <separator class="groove-thin"/>
    1.52 +    <description>
    1.53 +      &addDevice.dialog.enterCode.label;
    1.54 +    </description>
    1.55 +    <separator class="groove-thin"/>
    1.56 +    <vbox align="center">
    1.57 +      <textbox id="pin1"
    1.58 +               class="pin"
    1.59 +               oninput="gSyncSetup.onPINInput(this);"
    1.60 +               onfocus="this.select();"
    1.61 +               />
    1.62 +      <textbox id="pin2"
    1.63 +               class="pin"
    1.64 +               oninput="gSyncSetup.onPINInput(this);"
    1.65 +               onfocus="this.select();"
    1.66 +               />
    1.67 +      <textbox id="pin3"
    1.68 +               class="pin"
    1.69 +               oninput="gSyncSetup.onPINInput(this);"
    1.70 +               onfocus="this.select();" 
    1.71 +               />
    1.72 +    </vbox>
    1.73 +    <separator class="groove-thin"/>
    1.74 +    <vbox id="pairDeviceThrobber" align="center" hidden="true">
    1.75 +      <image/>
    1.76 +    </vbox>
    1.77 +    <hbox id="pairDeviceErrorRow" pack="center" hidden="true">
    1.78 +      <image class="statusIcon" status="error"/>
    1.79 +      <label class="status"
    1.80 +             value="&addDevice.dialog.tryAgain.label;"/>
    1.81 +    </hbox>
    1.82 +  </wizardpage>
    1.83 +
    1.84 +  <wizardpage id="pickSetupType"
    1.85 +              label="&syncBrand.fullName.label;"
    1.86 +              onpageshow="gSyncSetup.onPageShow()">
    1.87 +    <vbox align="center" flex="1">
    1.88 +      <description style="padding: 0 7em;">
    1.89 +        &setup.pickSetupType.description2;
    1.90 +      </description>
    1.91 +      <spacer flex="3"/>
    1.92 +      <button id="newAccount"
    1.93 +              class="accountChoiceButton"
    1.94 +              label="&button.createNewAccount.label;"
    1.95 +              oncommand="gSyncSetup.startNewAccountSetup()"
    1.96 +              align="center"/>
    1.97 +      <spacer flex="1"/>
    1.98 +    </vbox>
    1.99 +    <separator class="groove"/>
   1.100 +    <vbox align="center" flex="1">
   1.101 +      <spacer flex="1"/>
   1.102 +      <button id="existingAccount"
   1.103 +              class="accountChoiceButton"
   1.104 +              label="&button.haveAccount.label;"
   1.105 +              oncommand="gSyncSetup.useExistingAccount()"/>
   1.106 +      <spacer flex="3"/>
   1.107 +    </vbox>
   1.108 +  </wizardpage>
   1.109 +
   1.110 +  <wizardpage label="&setup.newAccountDetailsPage.title.label;"
   1.111 +              id="newAccountStart"
   1.112 +              onextra1="gSyncSetup.onSyncOptions()"
   1.113 +              onpageshow="gSyncSetup.onPageShow();">
   1.114 +    <grid>
   1.115 +      <columns>
   1.116 +        <column/>
   1.117 +        <column class="inputColumn" flex="1"/>
   1.118 +      </columns>
   1.119 +      <rows>
   1.120 +        <row id="emailRow" align="center">
   1.121 +          <label value="&setup.emailAddress.label;"
   1.122 +                 accesskey="&setup.emailAddress.accesskey;"
   1.123 +                 control="weaveEmail"/>
   1.124 +          <textbox id="weaveEmail"
   1.125 +                   oninput="gSyncSetup.onEmailInput()"/>
   1.126 +        </row>
   1.127 +        <row id="emailFeedbackRow" align="center" hidden="true">
   1.128 +          <spacer/>
   1.129 +          <hbox>
   1.130 +            <image class="statusIcon"/>
   1.131 +            <label class="status" value=" "/>
   1.132 +          </hbox>
   1.133 +        </row>
   1.134 +        <row id="passwordRow" align="center">
   1.135 +          <label value="&setup.choosePassword.label;"
   1.136 +                 accesskey="&setup.choosePassword.accesskey;"
   1.137 +                 control="weavePassword"/>
   1.138 +          <textbox id="weavePassword"
   1.139 +                   type="password"
   1.140 +                   onchange="gSyncSetup.onPasswordChange()"/>
   1.141 +        </row>
   1.142 +        <row id="confirmRow" align="center">
   1.143 +          <label value="&setup.confirmPassword.label;"
   1.144 +                 accesskey="&setup.confirmPassword.accesskey;"
   1.145 +                 control="weavePasswordConfirm"/>
   1.146 +          <textbox id="weavePasswordConfirm"
   1.147 +                   type="password"
   1.148 +                   onchange="gSyncSetup.onPasswordChange()"/>
   1.149 +        </row>
   1.150 +        <row id="passwordFeedbackRow" align="center" hidden="true">
   1.151 +          <spacer/>
   1.152 +          <hbox>
   1.153 +            <image class="statusIcon"/>
   1.154 +            <label class="status" value=" "/>
   1.155 +          </hbox>
   1.156 +        </row>
   1.157 +        <row align="center">
   1.158 +          <label control="server"
   1.159 +                 value="&server.label;"/>
   1.160 +          <menulist id="server"
   1.161 +                    oncommand="gSyncSetup.onServerCommand()"
   1.162 +                    oninput="gSyncSetup.onServerInput()">
   1.163 +            <menupopup>
   1.164 +              <menuitem label="&serverType.default.label;"
   1.165 +                        value="main"/>
   1.166 +              <menuitem label="&serverType.custom2.label;"
   1.167 +                        value="custom"/>
   1.168 +            </menupopup>
   1.169 +          </menulist>
   1.170 +        </row>
   1.171 +        <row id="serverFeedbackRow" align="center" hidden="true">
   1.172 +          <spacer/>
   1.173 +          <hbox>
   1.174 +            <image class="statusIcon"/>
   1.175 +            <label class="status" value=" "/>
   1.176 +          </hbox>
   1.177 +        </row>
   1.178 +#ifdef XP_WIN
   1.179 +#ifdef MOZ_METRO
   1.180 +        <row id="metroRow" align="center">
   1.181 +          <spacer/>
   1.182 +          <hbox align="center">
   1.183 +            <checkbox label="&setup.setupMetro.label;"
   1.184 +                      accesskey="&setup.setupMetro.accesskey;"
   1.185 +                      control="weavePasswordConfirm"
   1.186 +                      id="metroSetupCheckbox"
   1.187 +                      checked="true"/>
   1.188 +          </hbox>
   1.189 +        </row>
   1.190 +#endif
   1.191 +#endif
   1.192 +        <row id="TOSRow" align="center">
   1.193 +          <spacer/>
   1.194 +          <hbox align="center">
   1.195 +            <checkbox id="tos"
   1.196 +                      accesskey="&setup.tosAgree1.accesskey;"
   1.197 +                      oncommand="this.focus(); gSyncSetup.checkFields();"/>
   1.198 +            <description id="tosDesc"
   1.199 +                         flex="1"
   1.200 +                         onclick="document.getElementById('tos').focus();
   1.201 +                                  document.getElementById('tos').click()">
   1.202 +              &setup.tosAgree1.label;
   1.203 +              <label class="text-link inline-link"
   1.204 +                     onclick="event.stopPropagation();gSyncUtils.openToS();">
   1.205 +                &setup.tosLink.label;
   1.206 +              </label>
   1.207 +              &setup.tosAgree2.label;
   1.208 +              <label class="text-link inline-link"
   1.209 +                     onclick="event.stopPropagation();gSyncUtils.openPrivacyPolicy();">
   1.210 +                &setup.ppLink.label;
   1.211 +              </label>
   1.212 +              &setup.tosAgree3.label;
   1.213 +            </description>
   1.214 +          </hbox>
   1.215 +        </row>
   1.216 +      </rows>
   1.217 +    </grid>
   1.218 +    <spacer flex="1"/>
   1.219 +    <vbox flex="1" align="center">
   1.220 +      <browser height="150"
   1.221 +               width="500"
   1.222 +               id="captcha"
   1.223 +               type="content"
   1.224 +               disablehistory="true"/>
   1.225 +      <spacer flex="1"/>
   1.226 +      <hbox id="captchaFeedback">
   1.227 +        <image class="statusIcon"/>
   1.228 +        <label class="status" value=" "/>
   1.229 +      </hbox>
   1.230 +    </vbox>
   1.231 +  </wizardpage>
   1.232 +
   1.233 +  <wizardpage id="addDevice"
   1.234 +              label="&pairDevice.title.label;"
   1.235 +              onextra1="gSyncSetup.onSyncOptions()"
   1.236 +              onpageshow="gSyncSetup.onPageShow()">
   1.237 +    <description>
   1.238 +      &pairDevice.setup.description.label;
   1.239 +      <label class="text-link"
   1.240 +             value="&addDevice.showMeHow.label;"
   1.241 +             href="https://services.mozilla.com/sync/help/easy-setup"/>
   1.242 +    </description>
   1.243 +    <label value="&addDevice.setup.enterCode.label;"
   1.244 +           control="easySetupPIN1"/>
   1.245 +    <spacer flex="1"/>
   1.246 +    <vbox align="center" flex="1">
   1.247 +      <textbox id="easySetupPIN1"
   1.248 +               class="pin"
   1.249 +               value=""
   1.250 +               readonly="true"
   1.251 +               />
   1.252 +      <textbox id="easySetupPIN2"
   1.253 +               class="pin"
   1.254 +               value=""
   1.255 +               readonly="true"
   1.256 +               />
   1.257 +      <textbox id="easySetupPIN3"
   1.258 +               class="pin"
   1.259 +               value=""
   1.260 +               readonly="true"
   1.261 +               />
   1.262 +    </vbox>
   1.263 +    <spacer flex="3"/>
   1.264 +    <label class="text-link"
   1.265 +           value="&addDevice.dontHaveDevice.label;"
   1.266 +           onclick="gSyncSetup.manualSetup();"/>
   1.267 +  </wizardpage>
   1.268 +
   1.269 +  <wizardpage id="existingAccount"
   1.270 +              label="&setup.signInPage.title.label;"
   1.271 +              onextra1="gSyncSetup.onSyncOptions()"
   1.272 +              onpageshow="gSyncSetup.onPageShow()">
   1.273 +      <grid>
   1.274 +        <columns>
   1.275 +          <column/>
   1.276 +          <column class="inputColumn" flex="1"/>
   1.277 +        </columns>
   1.278 +        <rows>
   1.279 +          <row id="existingAccountRow" align="center">
   1.280 +            <label id="existingAccountLabel"
   1.281 +                   value="&signIn.account2.label;"
   1.282 +                   accesskey="&signIn.account2.accesskey;"
   1.283 +                   control="existingAccount"/>
   1.284 +            <textbox id="existingAccountName"
   1.285 +                     oninput="gSyncSetup.checkFields(event)"
   1.286 +                     onchange="gSyncSetup.checkFields(event)"/>
   1.287 +          </row>
   1.288 +          <row id="existingPasswordRow" align="center">
   1.289 +            <label id="existingPasswordLabel"
   1.290 +                   value="&signIn.password.label;"
   1.291 +                   accesskey="&signIn.password.accesskey;"
   1.292 +                   control="existingPassword"/>
   1.293 +            <textbox id="existingPassword"
   1.294 +                     type="password"
   1.295 +                     onkeyup="gSyncSetup.checkFields(event)"
   1.296 +                     onchange="gSyncSetup.checkFields(event)"/>
   1.297 +          </row>
   1.298 +          <row id="existingPasswordFeedbackRow" align="center" hidden="true">
   1.299 +            <spacer/>
   1.300 +            <hbox>
   1.301 +              <image class="statusIcon"/>
   1.302 +              <label class="status" value=" "/>
   1.303 +            </hbox>
   1.304 +          </row>
   1.305 +          <row align="center">
   1.306 +            <spacer/>
   1.307 +            <label class="text-link"
   1.308 +                   value="&resetPassword.label;"
   1.309 +                   onclick="gSyncUtils.resetPassword(); return false;"/>
   1.310 +          </row>
   1.311 +          <row align="center">
   1.312 +            <label control="existingServer"
   1.313 +                   value="&server.label;"/>
   1.314 +            <menulist id="existingServer"
   1.315 +                      oncommand="gSyncSetup.onExistingServerCommand()"
   1.316 +                      oninput="gSyncSetup.onExistingServerInput()">
   1.317 +              <menupopup>
   1.318 +                <menuitem label="&serverType.default.label;"
   1.319 +                          value="main"/>
   1.320 +                <menuitem label="&serverType.custom2.label;"
   1.321 +                          value="custom"/>
   1.322 +              </menupopup>
   1.323 +            </menulist>
   1.324 +          </row>
   1.325 +          <row id="existingServerFeedbackRow" align="center" hidden="true">
   1.326 +            <spacer/>
   1.327 +            <hbox>
   1.328 +              <image class="statusIcon"/>
   1.329 +              <vbox>
   1.330 +                <label class="status" value=" "/>
   1.331 +              </vbox>
   1.332 +            </hbox>
   1.333 +          </row>
   1.334 +        </rows>
   1.335 +      </grid>
   1.336 +
   1.337 +    <groupbox>
   1.338 +      <label id="existingPassphraseLabel"
   1.339 +             value="&signIn.recoveryKey.label;"
   1.340 +             accesskey="&signIn.recoveryKey.accesskey;"
   1.341 +             control="existingPassphrase"/>
   1.342 +      <textbox id="existingPassphrase"
   1.343 +               oninput="gSyncSetup.checkFields()"/>
   1.344 +      <hbox id="login-throbber" hidden="true">
   1.345 +        <image/>
   1.346 +        <label value="&verifying.label;"/>
   1.347 +      </hbox>
   1.348 +      <vbox align="left" id="existingPassphraseFeedbackRow" hidden="true">
   1.349 +        <hbox>
   1.350 +          <image class="statusIcon"/>
   1.351 +          <label class="status" value=" "/>
   1.352 +        </hbox>
   1.353 +      </vbox>
   1.354 +    </groupbox>
   1.355 +
   1.356 +    <vbox id="passphraseHelpBox">
   1.357 +      <description>
   1.358 +        &existingRecoveryKey.description;
   1.359 +        <label class="text-link"
   1.360 +               href="https://services.mozilla.com/sync/help/manual-setup">
   1.361 +          &addDevice.showMeHow.label;
   1.362 +        </label>
   1.363 +        <spacer id="passphraseHelpSpacer"/>
   1.364 +        <label class="text-link"
   1.365 +               onclick="gSyncSetup.resetPassphrase(); return false;">
   1.366 +          &resetSyncKey.label;
   1.367 +        </label>
   1.368 +      </description>
   1.369 +    </vbox>
   1.370 +  </wizardpage>
   1.371 +
   1.372 +  <wizardpage id="syncOptionsPage"
   1.373 +              label="&setup.optionsPage.title;"
   1.374 +              onpageshow="gSyncSetup.onPageShow()">
   1.375 +    <groupbox id="syncOptions">
   1.376 +    <grid>
   1.377 +      <columns>
   1.378 +        <column/>
   1.379 +        <column flex="1" style="-moz-margin-end: 2px"/>
   1.380 +      </columns>
   1.381 +      <rows>
   1.382 +        <row align="center">
   1.383 +          <label value="&syncDeviceName.label;"
   1.384 +                 accesskey="&syncDeviceName.accesskey;"
   1.385 +                 control="syncComputerName"/>
   1.386 +          <textbox id="syncComputerName" flex="1"
   1.387 +                   onchange="gSyncUtils.changeName(this)"/>
   1.388 +        </row>
   1.389 +        <row>
   1.390 +          <label value="&syncMy.label;" />
   1.391 +          <vbox>
   1.392 +            <checkbox label="&engine.addons.label;"
   1.393 +                      accesskey="&engine.addons.accesskey;"
   1.394 +                      id="engine.addons"
   1.395 +                      checked="true"/>
   1.396 +            <checkbox label="&engine.bookmarks.label;"
   1.397 +                      accesskey="&engine.bookmarks.accesskey;"
   1.398 +                      id="engine.bookmarks"
   1.399 +                      checked="true"/>
   1.400 +            <checkbox label="&engine.passwords.label;"
   1.401 +                      accesskey="&engine.passwords.accesskey;"
   1.402 +                      id="engine.passwords"
   1.403 +                      checked="true"/>
   1.404 +            <checkbox label="&engine.prefs.label;"
   1.405 +                      accesskey="&engine.prefs.accesskey;"
   1.406 +                      id="engine.prefs"
   1.407 +                      checked="true"/>
   1.408 +            <checkbox label="&engine.history.label;"
   1.409 +                      accesskey="&engine.history.accesskey;"
   1.410 +                      id="engine.history"
   1.411 +                      checked="true"/>
   1.412 +            <checkbox label="&engine.tabs.label;"
   1.413 +                      accesskey="&engine.tabs.accesskey;"
   1.414 +                      id="engine.tabs"
   1.415 +                      checked="true"/>
   1.416 +          </vbox>
   1.417 +        </row>
   1.418 +      </rows>
   1.419 +    </grid>
   1.420 +    </groupbox>
   1.421 +
   1.422 +    <groupbox id="mergeOptions">
   1.423 +      <radiogroup id="mergeChoiceRadio" pack="start">
   1.424 +        <grid>
   1.425 +          <columns>
   1.426 +            <column/>
   1.427 +            <column flex="1"/>
   1.428 +          </columns>
   1.429 +          <rows flex="1">
   1.430 +            <row align="center">
   1.431 +              <radio id="resetClient"
   1.432 +                     class="mergeChoiceButton"
   1.433 +                     aria-labelledby="resetClientLabel"/>
   1.434 +              <label id="resetClientLabel" control="resetClient">
   1.435 +                <html:strong>&choice2.merge.recommended.label;</html:strong>
   1.436 +                &choice2a.merge.main.label;
   1.437 +              </label>
   1.438 +            </row>
   1.439 +            <row align="center">
   1.440 +              <radio id="wipeClient"
   1.441 +                     class="mergeChoiceButton"
   1.442 +                     aria-labelledby="wipeClientLabel"/>
   1.443 +              <label id="wipeClientLabel"
   1.444 +                     control="wipeClient">
   1.445 +                &choice2a.client.main.label;
   1.446 +              </label>
   1.447 +            </row>
   1.448 +            <row align="center">
   1.449 +              <radio id="wipeRemote"
   1.450 +                     class="mergeChoiceButton"
   1.451 +                     aria-labelledby="wipeRemoteLabel"/>
   1.452 +              <label id="wipeRemoteLabel"
   1.453 +                     control="wipeRemote">
   1.454 +                &choice2a.server.main.label;
   1.455 +              </label>
   1.456 +            </row>
   1.457 +          </rows>
   1.458 +        </grid>
   1.459 +      </radiogroup>
   1.460 +    </groupbox>
   1.461 +  </wizardpage>
   1.462 +
   1.463 +  <wizardpage id="syncOptionsConfirm"
   1.464 +              label="&setup.optionsConfirmPage.title;"
   1.465 +              onpageshow="gSyncSetup.onPageShow()">
   1.466 +      <deck id="chosenActionDeck">
   1.467 +        <vbox id="chosenActionMerge" class="confirm">
   1.468 +          <description class="normal">
   1.469 +            &confirm.merge2.label;
   1.470 +          </description>
   1.471 +        </vbox>
   1.472 +        <vbox id="chosenActionWipeClient" class="confirm">
   1.473 +          <description class="normal">
   1.474 +            &confirm.client3.label;
   1.475 +          </description>
   1.476 +          <separator class="thin"/>
   1.477 +          <vbox id="dataList">
   1.478 +            <label class="data indent" id="bookmarkCount"/>
   1.479 +            <label class="data indent" id="historyCount"/>
   1.480 +            <label class="data indent" id="passwordCount"/>
   1.481 +            <label class="data indent" id="addonCount"/>
   1.482 +            <label class="data indent" id="prefsWipe"
   1.483 +                   value="&engine.prefs.label;"/>
   1.484 +          </vbox>
   1.485 +          <separator class="thin"/>
   1.486 +          <description class="normal">
   1.487 +            &confirm.client2.moreinfo.label;
   1.488 +          </description>
   1.489 +        </vbox>
   1.490 +        <vbox id="chosenActionWipeServer" class="confirm">
   1.491 +          <description class="normal">
   1.492 +            &confirm.server2.label;
   1.493 +          </description>
   1.494 +          <separator class="thin"/>
   1.495 +          <vbox id="clientList">
   1.496 +          </vbox>
   1.497 +        </vbox>
   1.498 +      </deck>
   1.499 +  </wizardpage>
   1.500 +  <!-- In terms of the wizard flow shown to the user, the 'syncOptionsConfirm'
   1.501 +       page above is not the last wizard page. To prevent the wizard binding from
   1.502 +       assuming that it is, we're inserting this dummy page here. This also means
   1.503 +      that the wizard needs to always be closed manually via wizardFinish(). -->
   1.504 +  <wizardpage>
   1.505 +  </wizardpage>
   1.506 +</wizard>
   1.507 +

mercurial