[Pkg-mozext-commits] [firetray] 363/399: fix start_hidden by hiding only when app not started

David Prévot taffit at alioth.debian.org
Tue Oct 29 18:24:15 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 2c5a99c15940a2674b2822ff9d3984dc1674aa22
Author: foudfou <foudil.newbie+git at gmail.com>
Date:   Sun Apr 14 15:55:20 2013 +0200

    fix start_hidden by hiding only when app not started
    
    base startup event on "sessionstore-windows-restored" and
    "console-api-log-event", instead of the first "before-first-paint", reverting
    some of 29de64e5
---
 src/modules/FiretrayHandler.jsm              |   34 ++++++++++++++------------
 src/modules/commons.js                       |   15 +++---------
 src/modules/linux/FiretrayChatStatusIcon.jsm |    1 -
 src/modules/linux/FiretrayWindow.jsm         |    3 ++-
 4 files changed, 24 insertions(+), 29 deletions(-)

diff --git a/src/modules/FiretrayHandler.jsm b/src/modules/FiretrayHandler.jsm
index 2b68c25..4b39800 100644
--- a/src/modules/FiretrayHandler.jsm
+++ b/src/modules/FiretrayHandler.jsm
@@ -125,11 +125,13 @@ firetray.Handler = {
 
     firetray.Utils.addObservers(firetray.Handler,
       [ "xpcom-will-shutdown", "profile-change-teardown" ]);
-    if (this.appId === FIRETRAY_APP_DB['thunderbird']['id'] ||
-        this.appId === FIRETRAY_APP_DB['firefox']['id']) {
-      firetray.Utils.addObservers(firetray.Handler, [ "before-first-paint" ]);
+    if (this.appId === FIRETRAY_APP_DB['thunderbird']['id']) {
+      firetray.Utils.addObservers(firetray.Handler, [ "console-api-log-event" ]);
+    } else if (this.appId === FIRETRAY_APP_DB['firefox']['id'] ||
+               this.appId === FIRETRAY_APP_DB['seamonkey']['id']) {
+      firetray.Utils.addObservers(firetray.Handler, [ "sessionstore-windows-restored" ]);
     } else {
-      firetray.Utils.addObservers(firetray.Handler, [ "xul-window-visible" ]);
+      firetray.Utils.addObservers(firetray.Handler, [ "final-ui-startup" ]);
     }
 
     this.preventWarnOnClose();
@@ -204,7 +206,7 @@ firetray.Handler = {
 
   startupDone: function() {
     firetray.Handler.timers['startup-done'] =
-      firetray.Utils.timer(FIRETRAY_DELAY_BROWSER_STARTUP_MILLISECONDS,
+      firetray.Utils.timer(FIRETRAY_DELAY_STARTUP_MILLISECONDS,
         Ci.nsITimer.TYPE_ONE_SHOT, function() {
           firetray.Handler.appStarted = true;
           log.debug("*** appStarted ***");
@@ -214,16 +216,16 @@ firetray.Handler = {
   observe: function(subject, topic, data) {
     switch (topic) {
 
-    case "before-first-paint":
-      if (FIRETRAY_APP_DB[this.appName.toLowerCase()]['mainXUL'] !== subject.baseURI) return;
-
-      log.debug("before-first-paint: "+subject.baseURI);
-      firetray.Utils.removeObservers(firetray.Handler, [ "before-first-paint" ]);
-      firetray.Handler.startupDone();
-      break;
-    case "xul-window-visible":
-      log.debug("xul-window-visible: "+subject+","+data);
-      firetray.Utils.removeObservers(firetray.Handler, [ "xul-window-visible" ]);
+    case "sessionstore-windows-restored":
+      // sessionstore-windows-restored does not come after the realization of
+      // all windows... so we wait a little
+    case "console-api-log-event": // one of the few events issued at later
+                                  // stage, once windows are realized
+      // second TB window also issues
+      // "mail-startup-done"/"mail-tabs-session-restored"
+    case "final-ui-startup":    // subject=ChromeWindow
+      log.debug(topic+": "+subject+","+data);
+      firetray.Utils.removeObservers(firetray.Handler, [ topic ]);
       firetray.Handler.startupDone();
       break;
 
@@ -533,7 +535,7 @@ firetray.VersionChangeHandler = {
 
     if (tabmail) {
       firetray.Handler.timers['open-mail-tab'] =
-        firetray.Utils.timer(FIRETRAY_DELAY_BROWSER_STARTUP_MILLISECONDS,
+        firetray.Utils.timer(FIRETRAY_DELAY_STARTUP_MILLISECONDS,
           Ci.nsITimer.TYPE_ONE_SHOT, function() {
             log.debug("openMailTab");
             tabmail.openTab("contentTab", {contentPage: url});
diff --git a/src/modules/commons.js b/src/modules/commons.js
index e0b44c9..a84fbe9 100644
--- a/src/modules/commons.js
+++ b/src/modules/commons.js
@@ -11,7 +11,7 @@ var EXPORTED_SYMBOLS =
     "FIRETRAY_IM_STATUS_AVAILABLE", "FIRETRAY_IM_STATUS_AWAY",
     "FIRETRAY_IM_STATUS_BUSY", "FIRETRAY_IM_STATUS_OFFLINE",
     "FIRETRAY_ACCOUNT_SERVER_TYPE_IM",
-    "FIRETRAY_DELAY_BROWSER_STARTUP_MILLISECONDS",
+    "FIRETRAY_DELAY_STARTUP_MILLISECONDS",
     "FIRETRAY_DELAY_NOWAIT_MILLISECONDS",
     "FIRETRAY_DELAY_PREF_CLEANING_MILLISECONDS",
     "FIRETRAY_MESSAGE_COUNT_TYPE_UNREAD", "FIRETRAY_MESSAGE_COUNT_TYPE_NEW",
@@ -46,45 +46,38 @@ const FIRETRAY_IM_STATUS_OFFLINE   = "user-offline";
 
 const FIRETRAY_ACCOUNT_SERVER_TYPE_IM = "im";
 
-const FIRETRAY_DELAY_BROWSER_STARTUP_MILLISECONDS = 500;
-const FIRETRAY_DELAY_NOWAIT_MILLISECONDS          = 0;
-const FIRETRAY_DELAY_PREF_CLEANING_MILLISECONDS   = 15*60*1000;
+const FIRETRAY_DELAY_STARTUP_MILLISECONDS       = 500;
+const FIRETRAY_DELAY_NOWAIT_MILLISECONDS        = 0;
+const FIRETRAY_DELAY_PREF_CLEANING_MILLISECONDS = 15*60*1000;
 
 const FIRETRAY_APP_DB = {
 
   firefox: {
     id: "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}",
-    mainXUL: "chrome://browser/content/browser.xul"
   },
 
   thunderbird: {
     id:  "{3550f703-e582-4d05-9a08-453d09bdfdc6}",
-    mainXUL: "chrome://messenger/content/msgAccountCentral.xul"
   },
 
   seamonkey: {
     id: "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}",
-    mainXUL: null
   },
 
   songbird: {
     id: "songbird at songbirdnest.com",
-    mainXUL: null
   },
 
   sunbird: {
     id: "718e30fb-e89b-41dd-9da7-e25a45638b28}",
-    mainXUL: null
   },
 
   chatzilla: {
     id: "{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}",
-    mainXUL: null
   },
 
   zotero: {
     id: "zotero at chnm.gmu.edu",
-    mainXUL: null
   }
 
 };
diff --git a/src/modules/linux/FiretrayChatStatusIcon.jsm b/src/modules/linux/FiretrayChatStatusIcon.jsm
index ca17dd8..daa0ea1 100644
--- a/src/modules/linux/FiretrayChatStatusIcon.jsm
+++ b/src/modules/linux/FiretrayChatStatusIcon.jsm
@@ -16,7 +16,6 @@ Cu.import("resource://firetray/ctypes/linux/gdk.jsm");
 Cu.import("resource://firetray/ctypes/linux/gtk.jsm");
 Cu.import("resource://firetray/linux/FiretrayWindow.jsm");
 Cu.import("resource://firetray/commons.js");
-Cu.import("resource://firetray/promise.js");
 firetray.Handler.subscribeLibsForClosing([gobject, gio, gtk]);
 
 if ("undefined" == typeof(firetray.Handler))
diff --git a/src/modules/linux/FiretrayWindow.jsm b/src/modules/linux/FiretrayWindow.jsm
index 8816328..8909af0 100644
--- a/src/modules/linux/FiretrayWindow.jsm
+++ b/src/modules/linux/FiretrayWindow.jsm
@@ -589,7 +589,8 @@ firetray.Window = {
     let xid = xany.contents.window;
 
     if (xany.contents.type === x11.MapNotify) {
-      if (firetray.Utils.prefService.getBoolPref('start_hidden')) {
+      if (!firetray.Handler.appStarted &&
+          firetray.Utils.prefService.getBoolPref('start_hidden')) {
         log.debug("start_hidden");
         firetray.Window.startupHide(xid);
       }

-- 
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