Bug 632365 - Delay status updates for links further. r=gavin ui-r=faaborg
☠☠ backed out by f27d8d9c8779 ☠ ☠
authorDão Gottwald <dao@mozilla.com>
Tue, 27 Sep 2011 01:22:57 +0200
changeset 78945 aac6292d29f9f362f7b353236310ad4666936373
parent 78944 91f8565205dbb937d9eb34239e4e5c38979babe4
child 78946 ed95d68c0f85cceac8c667277e7578792f80aeb0
push id78
push userclegnitto@mozilla.com
push dateFri, 16 Dec 2011 17:32:24 +0000
treeherdermozilla-release@79d24e644fdd [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgavin, faaborg
bugs632365
milestone9.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 632365 - Delay status updates for links further. r=gavin ui-r=faaborg
browser/app/profile/firefox.js
browser/base/content/browser.css
browser/base/content/browser.js
browser/base/content/tabbrowser.xml
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -249,17 +249,17 @@ pref("browser.chrome.favicons", true);
 // browser.warnOnQuit == false will override all other possible prompts when quitting or restarting
 pref("browser.warnOnQuit", true);
 pref("browser.warnOnRestart", false);
 // browser.showQuitWarning specifically controls the quit warning dialog. We
 // might still show the window closing dialog with showQuitWarning == false.
 pref("browser.showQuitWarning", false);
 pref("browser.fullscreen.autohide", true);
 pref("browser.fullscreen.animateUp", 1);
-pref("browser.overlink-delay", 70);
+pref("browser.overlink-delay", 80);
 
 #ifdef UNIX_BUT_NOT_MAC
 pref("browser.urlbar.clickSelectsAll", false);
 #else
 pref("browser.urlbar.clickSelectsAll", true);
 #endif
 #ifdef UNIX_BUT_NOT_MAC
 pref("browser.urlbar.doubleClickSelectsAll", true);
--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -506,26 +506,30 @@ statuspanel[type=status] {
 
 @media all and (max-width: 800px) {
   statuspanel[type=status] {
     min-width: 33%;
   }
 }
 
 statuspanel[type=overLink] {
-  -moz-transition: opacity 100ms ease-out;
+  -moz-transition: opacity 120ms ease-out;
   direction: ltr;
 }
 
-statuspanel[label=""] {
+statuspanel[inactive] {
   -moz-transition: none;
   opacity: 0;
   pointer-events: none;
 }
 
+statuspanel[inactive][previoustype=overLink] {
+  -moz-transition: opacity 200ms ease-out;
+}
+
 .statuspanel-inner {
   height: 3em;
   width: 100%;
   -moz-box-align: end;
 }
 
 .styleInspector {
   min-width: 350px;
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -4669,17 +4669,17 @@ var XULBrowserWindow = {
 };
 
 var LinkTargetDisplay = {
   get DELAY_SHOW() {
      delete this.DELAY_SHOW;
      return this.DELAY_SHOW = Services.prefs.getIntPref("browser.overlink-delay");
   },
 
-  DELAY_HIDE: 150,
+  DELAY_HIDE: 250,
   _timer: 0,
 
   get _isVisible () XULBrowserWindow.statusTextField.label != "",
 
   update: function () {
     clearTimeout(this._timer);
     window.removeEventListener("mousemove", this, true);
 
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -4269,21 +4269,27 @@
             else
               this.removeAttribute("mirror");
           }
 
           this.style.minWidth = this.getAttribute("type") == "status" &&
                                 this.getAttribute("previoustype") == "status"
                                   ? getComputedStyle(this).width : "";
 
-          this.setAttribute("label", val);
+          if (val) {
+            this.setAttribute("label", val);
+            this.removeAttribute("inactive");
+          } else {
+            this.setAttribute("inactive", "true");
+          }
+
           return val;
         ]]></setter>
         <getter>
-          return this.getAttribute("label");
+          return this.hasAttribute("inactive") ? "" : this.getAttribute("label");
         </getter>
       </property>
 
       <method name="handleEvent">
         <parameter name="event"/>
         <body><![CDATA[
           if (event.type == "findbaropen" &&
               this.label)