diff --git a/services/sync/modules/service.js b/services/sync/modules/service.js index 6e41b6f0a418..12ac659267b0 100644 --- a/services/sync/modules/service.js +++ b/services/sync/modules/service.js @@ -74,6 +74,7 @@ Utils.lazy(Weave, 'Service', WeaveSvc); */ function WeaveSvc() { + this._startupFinished = false; this._initLogs(); this._log.info("Weave Sync Service Initializing"); @@ -167,6 +168,15 @@ WeaveSvc.prototype = { return Utils.prefs.getIntPref("schedule"); }, + onWindowOpened: function Weave__onWindowOpened() { + if (!this._startupFinished && + Utils.prefs.getBoolPref("autoconnect") && + this.username && this.username != 'nobody@mozilla.com') { + this._startupFinished = true; + this.login(); + } + }, + _setSchedule: function Weave__setSchedule(schedule) { switch (this.schedule) { case 0: @@ -310,7 +320,7 @@ WeaveSvc.prototype = { _keyCheck: function WeaveSvc__keyCheck() { let self = yield; - + if ("none" != Utils.prefs.getCharPref("encryption")) { DAV.GET("private/privkey", self.cb); let keyResp = yield;