From 18f9d132020afee6004e63c9006245e4d3b04e18 Mon Sep 17 00:00:00 2001 From: Mark Hammond Date: Wed, 11 Jun 2014 17:34:24 +1000 Subject: Bug 1013064 (part 1) - prompt for master-password unlock when interacting with about:accounts. r=ttaubert --- browser/base/content/aboutaccounts/aboutaccounts.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/browser/base/content/aboutaccounts/aboutaccounts.js b/browser/base/content/aboutaccounts/aboutaccounts.js index 5cceae15..af31be9 100644 --- a/browser/base/content/aboutaccounts/aboutaccounts.js +++ b/browser/base/content/aboutaccounts/aboutaccounts.js @@ -7,16 +7,19 @@ const {classes: Cc, interfaces: Ci, utils: Cu} = Components; Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://gre/modules/FxAccounts.jsm"); let fxAccountsCommon = {}; Cu.import("resource://gre/modules/FxAccountsCommon.js", fxAccountsCommon); +// for master-password utilities +Cu.import("resource://services-sync/util.js"); + const PREF_LAST_FXA_USER = "identity.fxaccounts.lastSignedInUserHash"; const PREF_SYNC_SHOW_CUSTOMIZATION = "services.sync.ui.showCustomizationDialog"; const OBSERVER_TOPICS = [ fxAccountsCommon.ONVERIFIED_NOTIFICATION, fxAccountsCommon.ONLOGOUT_NOTIFICATION, ]; @@ -99,16 +102,22 @@ let wrapper = { .wrappedJSObject; // Don't show about:accounts with FxA disabled. if (!weave.fxAccountsEnabled) { document.body.remove(); return; } + // If a master-password is enabled, we want to encourage the user to + // unlock it. Things still work if not, but the user will probably need + // to re-auth next startup (in which case we will get here again and + // re-prompt) + Utils.ensureMPUnlocked(); + let iframe = document.getElementById("remote"); this.iframe = iframe; iframe.addEventListener("load", this); try { iframe.src = url || fxAccounts.getAccountsSignUpURI(); } catch (e) { error("Couldn't init Firefox Account wrapper: " + e.message); -- 1.8.3.msysgit.0