comparison chrome/content/configwarning.js @ 2:472a16863ecc

expanded nightly.jar
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Tue, 02 Dec 2008 20:38:20 +0900
parents
children
comparison
equal deleted inserted replaced
1:93e46514f20d 2:472a16863ecc
1 const Cc = Components.classes;
2 const Ci = Components.interfaces;
3
4 var gOS = null;
5
6 var observer = {
7 observe: function(subject, topic, data) {
8 window.focus();
9 }
10 }
11
12 function init() {
13 var bundle = document.getElementById("bundle");
14 setLabelForButton(document.documentElement.getButton("accept"), bundle.getString("Yes"));
15 setLabelForButton(document.documentElement.getButton("cancel"), bundle.getString("No"));
16
17 gOS = Cc["@mozilla.org/observer-service;1"].
18 getService(Ci.nsIObserverService);
19 gOS.addObserver(observer, "xul-window-visible", false);
20 }
21
22 function unload() {
23 gOS.removeObserver(observer, "xul-window-visible");
24 gOS = null;
25 }
26
27 function setLabelForButton(button, label)
28 {
29 var accessKey = null;
30 if (/ *\(\&([^&])\)(:)?$/.test(label)) {
31 label = RegExp.leftContext + RegExp.$2;
32 accessKey = RegExp.$1;
33 } else if (/^(.*[^&])?\&(([^&]).*$)/.test(label)) {
34 label = RegExp.$1 + RegExp.$2;
35 accessKey = RegExp.$3;
36 }
37 // && is the magic sequence to embed an & in your label.
38 label = label.replace(/\&\&/g, "&");
39 button.label = label;
40 if (accessKey)
41 button.accessKey = accessKey;
42 }
43
44 function accept() {
45 var cs = Cc["@oxymoronical.com/nightly/addoncompatibility;1"].
46 createInstance(Ci.nttIAddonCompatibilityService);
47 var em = Cc["@mozilla.org/extensions/manager;1"].
48 getService(Ci.nsIExtensionManager);
49 var items = em.getItemList(Ci.nsIUpdateItem.TYPE_ADDON, {});
50 for (var i = 0; i < items.length; i++) {
51 var addon = cs.getAddonForID(items[i].id);
52 if (!addon.isValid())
53 continue;
54 if (!addon.needsOverride(false) && addon.needsOverride(true))
55 addon.overrideCompatibility(true);
56 }
57
58 var prefs = Cc["@mozilla.org/preferences-service;1"].
59 getService(Ci.nsIPrefBranch);
60 if (prefs.prefHasUserValue("extensions.checkCompatibility"))
61 prefs.clearUserPref("extensions.checkCompatibility");
62 if (prefs.prefHasUserValue("extensions.checkUpdateSecurity"))
63 prefs.clearUserPref("extensions.checkUpdateSecurity");
64 }