2012-08-14 15:27:26 -07:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
/* This is imported by each new webapp window but is only evaluated the first
|
|
|
|
* time it is imported. Put stuff here that you want to happen once on startup
|
|
|
|
* before the webapp is loaded. But note that the "stuff" happens immediately
|
|
|
|
* the first time this module is imported. So only put stuff here that must
|
|
|
|
* happen before the webapp is loaded. */
|
|
|
|
|
2012-10-31 09:13:28 -07:00
|
|
|
this.EXPORTED_SYMBOLS = [];
|
2012-08-14 15:27:26 -07:00
|
|
|
|
|
|
|
const Ci = Components.interfaces;
|
|
|
|
const Cu = Components.utils;
|
|
|
|
|
|
|
|
Cu.import("resource://gre/modules/Services.jsm");
|
|
|
|
|
|
|
|
// Initialize DOMApplicationRegistry by importing Webapps.jsm.
|
|
|
|
Cu.import("resource://gre/modules/Webapps.jsm");
|
|
|
|
|
|
|
|
// Initialize window-independent handling of webapps- notifications.
|
|
|
|
Cu.import("resource://webapprt/modules/WebappsHandler.jsm");
|
|
|
|
WebappsHandler.init();
|
|
|
|
|
|
|
|
// On firstrun, set permissions to their default values.
|
|
|
|
if (!Services.prefs.getBoolPref("webapprt.firstrun")) {
|
|
|
|
Cu.import("resource://webapprt/modules/WebappRT.jsm");
|
|
|
|
let uri = Services.io.newURI(WebappRT.config.app.origin, null, null);
|
|
|
|
|
|
|
|
// Set AppCache-related permissions.
|
|
|
|
Services.perms.add(uri, "pin-app",
|
|
|
|
Ci.nsIPermissionManager.ALLOW_ACTION);
|
|
|
|
Services.perms.add(uri, "offline-app",
|
|
|
|
Ci.nsIPermissionManager.ALLOW_ACTION);
|
|
|
|
|
|
|
|
Services.perms.add(uri, "indexedDB",
|
|
|
|
Ci.nsIPermissionManager.ALLOW_ACTION);
|
|
|
|
Services.perms.add(uri, "indexedDB-unlimited",
|
|
|
|
Ci.nsIPermissionManager.ALLOW_ACTION);
|
|
|
|
|
|
|
|
// Now that we've set the appropriate permissions, twiddle the firstrun
|
|
|
|
// flag so we don't try to do so again.
|
|
|
|
Services.prefs.setBoolPref("webapprt.firstrun", true);
|
|
|
|
}
|