[Pkg-mozext-commits] [firetray] 31/399: * dropped mozt.Debug in favour of AddonLogging.jsm * start l10n
David Prévot
taffit at alioth.debian.org
Tue Oct 29 18:23:09 UTC 2013
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch dfsg-clean
in repository firetray.
commit 4d19bb51d3d24afd9538ab509c268cc43b13cf68
Author: foudfou <foudil.newbie+git at gmail.com>
Date: Fri Sep 2 22:16:44 2011 +0200
* dropped mozt.Debug in favour of AddonLogging.jsm
* start l10n
---
TODO | 3 +
src/chrome/content/overlay.js | 10 +--
src/chrome/locale/en-US/overlay.properties | 15 +---
src/modules/LibC.jsm | 104 ----------------------------
src/modules/MoztHandler.jsm | 50 +++++++------
src/modules/commons.js | 58 +++-------------
6 files changed, 49 insertions(+), 191 deletions(-)
diff --git a/TODO b/TODO
index 9adb41b..c56d9d0 100644
--- a/TODO
+++ b/TODO
@@ -2,6 +2,9 @@
* convert to a https://developer.mozilla.org/en/Extensions/Bootstrapped_extensions
+see ../restartless-restart-ffext/ and
+http://erikvold.com/blog/index.cfm/2010/10/28/restartless-firefox-addons-part-1-giving-your-addon-the-bootstrap
+
WONTFIX:
* ability to hide windows individually/globally
diff --git a/src/chrome/content/overlay.js b/src/chrome/content/overlay.js
index ec754cb..c9a1119 100644
--- a/src/chrome/content/overlay.js
+++ b/src/chrome/content/overlay.js
@@ -35,7 +35,7 @@ mozt.Main = {
// NOTE: each new window gets a new mozt.Main, and hence listens to pref
// changes
- mozt.Debug.debug('Moztray LOADED: ' + init);
+ LOG('Moztray LOADED: ' + init);
return true;
},
@@ -43,7 +43,7 @@ mozt.Main = {
// Remove observer
let that = this;
mozt.Utils.prefService.removeObserver("", that);
- mozt.Debug.debug('Moztray UNLOADED !');
+ LOG('Moztray UNLOADED !');
/*
* NOTE: don't mozt.Handler.initialized=false here, otherwise after a
* window close, a new window will create a new handler (and hence, a new
@@ -54,9 +54,9 @@ mozt.Main = {
// TODO: prevent preceding warning about closing multiple tabs
// (browser.tabs.warnOnClose)
onClose: function(event) {
- mozt.Debug.debug('Moztray CLOSE');
+ LOG('Moztray CLOSE');
let close_hides = mozt.Utils.prefService.getBoolPref('close_hides');
- mozt.Debug.debug('close_hides: '+close_hides);
+ LOG('close_hides: '+close_hides);
if (close_hides) {
mozt.Handler.showHideToTray();
event && event.preventDefault(); // no event when called directly (xul)
@@ -66,7 +66,7 @@ mozt.Main = {
observe: function(subject, topic, data) {
// Observer for pref changes
if (topic != "nsPref:changed") return;
- mozt.Debug.debug('Pref changed: '+data);
+ LOG('Pref changed: '+data);
// switch(data) { ...
}
diff --git a/src/chrome/locale/en-US/overlay.properties b/src/chrome/locale/en-US/overlay.properties
index 39b5d3c..1ba65d5 100644
--- a/src/chrome/locale/en-US/overlay.properties
+++ b/src/chrome/locale/en-US/overlay.properties
@@ -1,14 +1,3 @@
extensions.moztray at foudil.fr.description=A system tray extension for linux.
-exceptionAdded=A %1$S was added by Moztray for %2$S
-exceptionNotAdded=An exception could not be added by Moztray: %1$S
-temporaryException=temporary exception
-permanentException=permanent exception
-NOT_VERIFIED_UNKNOWN=not verified unknown
-CERT_REVOKED=cert revoked
-CERT_EXPIRED=cert expired
-CERT_NOT_TRUSTED=cert not trusted
-ISSUER_NOT_TRUSTED=issuer not trusted
-ISSUER_UNKNOWN=issuer unknown
-INVALID_CA=invalid ca
-USAGE_NOT_ALLOWED=usage not allowed
-CERT_SELF_SIGNED=cert self signed
+popupMenu.itemLabel.View=Foudil
+popupMenu.itemLabel.Exit=Exit
diff --git a/src/modules/LibC.jsm b/src/modules/LibC.jsm
deleted file mode 100644
index 41319b3..0000000
--- a/src/modules/LibC.jsm
+++ /dev/null
@@ -1,104 +0,0 @@
-/* -*- Mode: javascript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-
-var EXPORTED_SYMBOLS = ["LibC"];
-
-const LIB_C = "libc.so.6";
-
-const Cu = Components.utils;
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-
-Cu.import("resource://gre/modules/ctypes.jsm");
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-XPCOMUtils.defineLazyGetter(this, "libc", function() {
- var libc = ctypes.open(LIB_C);
- if (!libc)
- throw "libc is unavailable";
-
- return libc;
-});
-
-XPCOMUtils.defineLazyGetter(this, "FILE", function() {
- return ctypes.StructType("FILE");
-});
-
-XPCOMUtils.defineLazyGetter(this, "pid_t", function() {
- return ctypes.int;
-});
-
-XPCOMUtils.defineLazyGetter(this, "fdopen", function() {
- var fdopen = libc.declare(
- "fdopen", ctypes.default_abi, FILE.ptr,
- ctypes.int,
- ctypes.char.ptr
- );
-
- if (!fdopen)
- throw "fdopen is unavailable";
-
- return fdopen;
-});
-
-
-XPCOMUtils.defineLazyGetter(this, "puts", function() {
- var puts = libc.declare(
- "puts", ctypes.default_abi, ctypes.int32_t,
- ctypes.char.ptr
- );
-
- if (!puts)
- throw "puts is unavailable";
-
- return puts;
-});
-
-XPCOMUtils.defineLazyGetter(this, "fputs", function() {
- var fputs = libc.declare(
- "fputs", ctypes.default_abi, ctypes.int32_t,
- ctypes.char.ptr,
- FILE.ptr
- );
-
- if (!fputs)
- throw "fputs is unavailable";
-
- return fputs;
-});
-
-XPCOMUtils.defineLazyGetter(this, "fflush", function() {
- var fflush = libc.declare(
- "fflush", ctypes.default_abi, ctypes.int32_t,
- FILE.ptr
- );
-
- if (!fflush)
- throw "fflush is unavailable";
-
- return fflush;
-});
-
-// pid_t getpid(void);
-XPCOMUtils.defineLazyGetter(this, "getpid", function() {
- var getpid = libc.declare(
- "getpid", ctypes.default_abi, pid_t
- );
-
- if (!getpid)
- throw "getpid is unavailable";
-
- return getpid;
-});
-
-var LibC = {
- stderr: this.fdopen(2, "a"),
-
- FILE: FILE,
- pid_t: pid_t,
-
- fdopen: fdopen,
- puts: puts,
- fputs: fputs,
- fflush: fflush,
- getpid: getpid,
-}
diff --git a/src/modules/MoztHandler.jsm b/src/modules/MoztHandler.jsm
index 24048a4..6b83ed8 100644
--- a/src/modules/MoztHandler.jsm
+++ b/src/modules/MoztHandler.jsm
@@ -8,7 +8,6 @@ const Cu = Components.utils;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/ctypes.jsm");
-/* Cu.import("resource://moztray/LibC.jsm"); */
Cu.import("resource://moztray/LibGObject.jsm");
Cu.import("resource://moztray/LibGtkStatusIcon.jsm");
Cu.import("resource://moztray/commons.js");
@@ -50,7 +49,7 @@ mozt.Handler = {
.QueryInterface(Ci.nsIInterfaceRequestor);
} catch (ex) {
// ignore no-interface exception
- mozt.Debug.debug(ex);
+ LOG(ex);
Components.utils.reportError(ex);
return null;
}
@@ -75,7 +74,7 @@ mozt.Handler = {
* time...
*/
_updateHandledDOMWindows: function() {
- mozt.Debug.debug("_updateHandledDOMWindows");
+ LOG("_updateHandledDOMWindows");
this._handledDOMWindows = [];
var windowsEnumerator = Services.wm.getEnumerator(null); // returns a nsIDOMWindow
while (windowsEnumerator.hasMoreElements()) {
@@ -84,8 +83,9 @@ mozt.Handler = {
}
},
+ // FIXME: parameters may not be needed !! see LibGObject.GCallback_t
showHideToTray: function(a1, a2, a3) {
- mozt.Debug.debug("showHideToTray");
+ LOG("showHideToTray");
/*
* we update _handledDOMWindows only when hiding, because remembered{X,Y}
@@ -97,21 +97,21 @@ mozt.Handler = {
*/
if (!this._windowsHidden) // hide
this._updateHandledDOMWindows();
- mozt.Debug.debug("nb Windows: " + this._handledDOMWindows.length);
+ LOG("nb Windows: " + this._handledDOMWindows.length);
for(let i=0; i<this._handledDOMWindows.length; i++) {
let bw = this._getBaseOrXULWindowFromDOMWindow(
this._handledDOMWindows[i], "BaseWindow");
- mozt.Debug.debug('isHidden: ' + this._windowsHidden);
- mozt.Debug.debug("bw.visibility: " + bw.visibility);
+ LOG('isHidden: ' + this._windowsHidden);
+ LOG("bw.visibility: " + bw.visibility);
try {
if (this._windowsHidden) { // show
// correct position
let x = this._handledDOMWindows[i].rememberedX;
let y = this._handledDOMWindows[i].rememberedY;
- mozt.Debug.debug("set bw.position: " + x + ", " + y);
+ LOG("set bw.position: " + x + ", " + y);
bw.setPosition(x, y);
bw.visibility = true;
@@ -121,7 +121,7 @@ mozt.Handler = {
// remember position
let x = {}, y = {};
bw.getPosition(x, y);
- mozt.Debug.debug("remember bw.position: " + x.value + ", " + y.value);
+ LOG("remember bw.position: " + x.value + ", " + y.value);
this._handledDOMWindows[i].rememberedX = x.value;
this._handledDOMWindows[i].rememberedY = y.value;
// var windowID = win.QueryInterface(Ci.nsIInterfaceRequestor)
@@ -131,10 +131,10 @@ mozt.Handler = {
}
} catch (x) {
- mozt.Debug.debug(x);
+ LOG(x);
}
- mozt.Debug.debug("bw.visibility: " + bw.visibility);
- mozt.Debug.debug("bw.title: " + bw.title);
+ LOG("bw.visibility: " + bw.visibility);
+ LOG("bw.title: " + bw.title);
}
if (this._windowsHidden) {
@@ -146,9 +146,8 @@ mozt.Handler = {
}, // showHideToTray
popupMenu: function(icon, button, activateTime, menu) {
- // GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data
- mozt.Debug.debug("MENU POPUP");
- mozt.Debug.debug("ARGS="+icon+", "+button+", "+activateTime+", "+menu);
+ LOG("MENU POPUP");
+ LOG("ARGS="+icon+", "+button+", "+activateTime+", "+menu);
try {
LibGtkStatusIcon.init(); // before anything !!!
@@ -159,17 +158,24 @@ mozt.Handler = {
iconGpointer, button, activateTime);
LibGtkStatusIcon.shutdown();
} catch (x) {
- mozt.Debug.debug(x);
+ LOG(x);
}
},
+ /*
+ * @param strings l10n Strings passed from the XUL overlay
+ */
init: function() { // creates icon
+ // initialize l10n
+ this.strings = Services.strings
+ .createBundle("chrome://moztray/locale/overlay.properties");
+
// platform checks
let runtimeOS = Services.appinfo.OS; // "WINNT", "Linux", "Darwin"
// version checked during install, so we shouldn't need to care
let xulVer = Services.appinfo.platformVersion; // Services.vc.compare(xulVer,"2.0a")>=0
- mozt.Debug.debug("OS=" + runtimeOS + ", XULrunner=" + xulVer);
+ LOG("OS=" + runtimeOS + ", XULrunner=" + xulVer);
if (runtimeOS != "Linux") {
Components.utils.reportError("MOZTRAY: only Linux platform supported at this time. Moztray not loaded");
return false;
@@ -193,13 +199,17 @@ mozt.Handler = {
this.menu = LibGtkStatusIcon.gtk_menu_new();
// TODO: intl labels,
// gtk_image_menu_item_new_with_label ?
- var menuItemView = LibGtkStatusIcon.gtk_image_menu_item_new_with_label("View");
+ var menuItemViewLabel = this.strings.GetStringFromName("popupMenu.itemLabel.View");
+ var menuItemView = LibGtkStatusIcon.gtk_image_menu_item_new_with_label(
+ menuItemViewLabel);
/*
- let image = gtk_image_new_from_file("");
+ let image = LibGtkStatusIcon.gtk_image_new_from_file("myfile.png");
LibGtkStatusIcon.gtk_image_set_pixel_size( GTK_IMAGE ( image ), GTK_ICON_SIZE_MENU );
LibGtkStatusIcon.gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ), image );
*/
- var menuItemExit = LibGtkStatusIcon.gtk_image_menu_item_new_with_label("Exit");
+ var menuItemViewExit = this.strings.GetStringFromName("popupMenu.itemLabel.Exit");
+ var menuItemExit = LibGtkStatusIcon.gtk_image_menu_item_new_with_label(
+ menuItemViewExit);
var menuShell = ctypes.cast(this.menu, LibGtkStatusIcon.GtkMenuShell.ptr);
LibGtkStatusIcon.gtk_menu_shell_append(menuShell, menuItemView);
LibGtkStatusIcon.gtk_menu_shell_append(menuShell, menuItemExit);
diff --git a/src/modules/commons.js b/src/modules/commons.js
index ce7aca7..49d5ab6 100644
--- a/src/modules/commons.js
+++ b/src/modules/commons.js
@@ -1,13 +1,12 @@
/* -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-var EXPORTED_SYMBOLS = [ "mozt", "Cc", "Ci", "Cu" ];
+var EXPORTED_SYMBOLS = [ "mozt", "Cc", "Ci", "Cu", "LOG", "WARN", "ERROR" ];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://moztray/LibC.jsm");
const FIREFOX_ID = "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}";
const THUNDERBIRD_ID = "{3550f703-e582-4d05-9a08-453d09bdfdc6}";
@@ -23,53 +22,14 @@ if ("undefined" == typeof(mozt)) {
var mozt = {};
};
-mozt.Debug = {
- DEBUG_MODE: true,
- _initialized: false,
-
- /**
- * Object constructor.
- */
- init: function() {
- if (this._initialized) return;
- this._consoleService = Cc['@mozilla.org/consoleservice;1'].getService(Ci.nsIConsoleService);
- this.dump("Moztray Debug initialized");
- this._initialized = true;
- },
-
- /* Console logging functions */
- /* NOTE: Web Console inappropriates: doesn't catch all messages */
- /*
- * CAUTION: dump() dumpObj() may be stripped from .js files during xpi build.
- * IT'S IMPORTANT THAT DEBUG CALLS ARE WRITTEN ON A SINGLE LINE !
- */
- dump: function(message) { // Debuging function -- prints to javascript console
- if(!this.DEBUG_MODE) return;
- this._consoleService.logStringMessage(message);
- },
-
- dumpObj: function(obj) {
- if(!this.DEBUG_MODE) return;
- var str = "";
- for(i in obj) {
- try {
- str += "obj["+i+"]: " + obj[i] + "\n";
- } catch(e) {
- str += "obj["+i+"]: Unavailable\n";
- }
- }
- this.dump(str);
- },
-
- // dump to terminal (stderr)
- debug: function(str) {
- LibC.fputs(str + "\n", LibC.stderr);
- LibC.fflush(LibC.stderr);
- },
-};
-// build it !
-mozt.Debug.init();
-
+// about:config extensions.logging.enabled
+["LOG", "WARN", "ERROR"].forEach(function(aName) {
+ this.__defineGetter__(aName, function() {
+ Components.utils.import("resource://gre/modules/AddonLogging.jsm");
+ LogManager.getLogger("moztray", this);
+ return this[aName];
+ });
+}, this);
mozt.Utils = {
prefService: Services.prefs.getBranch("extensions.moztray.")
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/firetray.git
More information about the Pkg-mozext-commits
mailing list