updateOnceAfterFirstRun.js
Go to the documentation of this file.
1 /*
2 //
3 // BEGIN SONGBIRD GPL
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2008 POTI, Inc.
8 // http://songbirdnest.com
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to http://www.gnu.org/licenses/gpl.html
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
23 // END SONGBIRD GPL
24 //
25  */
26 
27 
28 // The first run after first-run we want to do a special update check.
29 
31  // only once
32  window.removeEventListener('load', updateOnceAfterFirstRun, false);
33 
34  // make sure first-run has already run - gets set by first run wizard
35  // after the EULA is accepted and the welcome screen is shown.
36  var ranFirstRun = Application.prefs.get('songbird.firstrun.check.0.3');
37  if (!ranFirstRun || !ranFirstRun.value) {
38  return;
39  }
40 
41  // make sure we haven't run
42  var PREF_SONGBIRD_FIRSTRUN_UPDATEONCE = 'songbird.firstrun.update-once';
43  var ranUpdate = Application.prefs.get(PREF_SONGBIRD_FIRSTRUN_UPDATEONCE);
44  if (ranUpdate && ranUpdate.value) {
45  return;
46  }
47 
48  // request an update check
49  var updateSvc = Components.classes['@mozilla.org/updates/update-service;1']
50  .getService(Components.interfaces.nsIApplicationUpdateService);
51  var updateChecker = updateSvc.backgroundChecker;
52  // dummy update check listener - it doesn't do anything
53  var updateCheckListener = {
54  onCheckComplete: function (request, updates, updatecount) {
55  var update = updateSvc.selectUpdate(updates, updatecount);
56  if (!update)
57  return;
58 
59  window.openDialog("chrome://mozapps/content/update/updates.xul",
60  "",
61  "chrome,centerscreen,dialog=no,resizable=no,titlebar,toolbar=no",
62  update);
63  },
64  onError: function (request, update) { },
65  onProgress: function (request, position, totalSize) { }
66  };
67  updateChecker.checkForUpdates(updateCheckListener, true);
68 
69  // set a pref so we don't run again
70  Application.prefs.setValue(PREF_SONGBIRD_FIRSTRUN_UPDATEONCE, true);
71 }
72 
73 window.addEventListener('load', updateOnceAfterFirstRun, false);
var Application
Definition: sbAboutDRM.js:37
function updateOnceAfterFirstRun()
let window