From e8c2abd405578f4749c140d9eb6319ec06420d34 Mon Sep 17 00:00:00 2001 From: "Brian R. Bondy" Date: Fri, 15 Mar 2013 10:29:55 -0400 Subject: [PATCH] Bug 831614 - Desktop sync UI checkbox for Setting up Sync for Metro at the same time. r=jaws --- browser/base/content/sync/setup.js | 22 ++++++++++++++++++++++ browser/base/content/sync/setup.xul | 14 ++++++++++++++ browser/base/jar.mn | 4 ++-- browser/locales/en-US/chrome/browser/syncSetup.dtd | 3 +++ browser/themes/windows/syncSetup.css | 5 +++++ 5 files changed, 46 insertions(+), 2 deletions(-) diff --git a/browser/base/content/sync/setup.js b/browser/base/content/sync/setup.js index de2bfb1d9d31..3b07c9df0412 100644 --- a/browser/base/content/sync/setup.js +++ b/browser/base/content/sync/setup.js @@ -417,6 +417,21 @@ var gSyncSetup = { } }, +#ifdef XP_WIN +#ifdef MOZ_METRO + _securelyStoreForMetroSync: function(weaveEmail, weavePassword, weaveKey) { + try { + let metroUtils = Cc["@mozilla.org/windows-metroutils;1"]. + createInstance(Ci.nsIWinMetroUtils); + if (!metroUtils) + return; + metroUtils.storeSyncInfo(weaveEmail, weavePassword, weaveKey); + } catch (ex) { + } + }, +#endif +#endif + onWizardAdvance: function () { // Check pageIndex so we don't prompt before the Sync setup wizard appears. // This is a fallback in case the Master Password gets locked mid-wizard. @@ -471,6 +486,13 @@ var gSyncSetup = { Weave.Service.identity.syncKey = Weave.Utils.generatePassphrase(); this._handleNoScript(false); Weave.Svc.Prefs.set("firstSync", "newAccount"); +#ifdef XP_WIN +#ifdef MOZ_METRO + if (document.getElementById("metroSetupCheckbox").checked) { + this._securelyStoreForMetroSync(email, password, Weave.Service.identity.syncKey); + } +#endif +#endif this.wizardFinish(); return false; } diff --git a/browser/base/content/sync/setup.xul b/browser/base/content/sync/setup.xul index 9b75a1dbf62c..f01dad9f9926 100644 --- a/browser/base/content/sync/setup.xul +++ b/browser/base/content/sync/setup.xul @@ -172,6 +172,20 @@