何この変更... Bug 571970 – Main browser chrome should be hidden when viewing in-content UI

アリスさんもご立腹の変更Minefieldにて加わっていた

Firefox4からアドオン管理画面もタブに開くようになったわけだが、そういったとき、ロケーションバーとか非表示にしようぜ的なもの。

具体的な変更を見てみるとですね。

changeset:   58660:9d0841ea7e3b
user:        Dave Townsend <dtownsend@oxymoronical.com>
date:        Mon Dec 06 10:05:55 2010 -0800
summary:     Bug 571970: Main browser chrome should be hidden when viewing in-content UI. r=gavin, a=blocks-betaN

diff -r b652145a0e6f -r 9d0841ea7e3b browser/base/content/browser.css
--- a/browser/base/content/browser.css  Mon Dec 06 10:08:26 2010 -0800
+++ b/browser/base/content/browser.css  Mon Dec 06 10:05:55 2010 -0800
@@ -100,6 +100,10 @@
   display: none;
 }

+#main-window[disablechrome] #navigator-toolbox[tabsontop="true"] > toolbar:not(#toolbar-menubar):not(#TabsToolbar) {
+  visibility: collapse;
+}
+
 #wrapper-urlbar-container #urlbar-container > #urlbar > toolbarbutton,
 #urlbar-container:not([combined]) > #urlbar > toolbarbutton,
 #urlbar-container[combined] + #reload-button + #stop-button,
diff -r b652145a0e6f -r 9d0841ea7e3b browser/base/content/browser.js
--- a/browser/base/content/browser.js   Mon Dec 06 10:08:26 2010 -0800
+++ b/browser/base/content/browser.js   Mon Dec 06 10:05:55 2010 -0800
@@ -3901,6 +3901,7 @@
   startTime: 0,
   statusText: "",
   isBusy: false,
+  inContentWhitelist: ["about:addons"],

   QueryInterface: function (aIID) {
     if (aIID.equals(Ci.nsIWebProgressListener) ||
@@ -4139,6 +4140,16 @@
       }
     }

+    // Show or hide browser chrome based on the whitelist
+    var disableChrome = this.inContentWhitelist.some(function(aSpec) {
+      return aSpec == location;
+    });
+
+    if (disableChrome)
+      document.documentElement.setAttribute("disablechrome", "true");
+    else
+      document.documentElement.removeAttribute("disablechrome");
+
     // This code here does not compare uris exactly when determining
     // whether or not the message should be hidden since the message
     // may be prematurely hidden when an install is invoked by a click

の辺りでWhilelistWhiteListに引っかかったらどうこうしている。対象は "about:addons" というURLのみ。

あのー、これ、about:addons って chrome://mozapps/content/extensions/extensions.xul と同等なんだけど、chrome://mozapps/content/extensions/extensions.xulの場合はバーが消えないよ....

チーム分けして変更を行っているだろうし、他にやることがあるだろう、とは言わないけど、何だかお粗末な印象を受けるなあ。