Bug 610996 - TabView should set its visibility with tab-view-deck.selectedPanel rather than selectedIndex r=ian

This commit is contained in:
Raymond Lee 2011-04-14 11:28:58 +08:00
Родитель 5cc3d74b90
Коммит e45e22ecf0
4 изменённых файлов: 15 добавлений и 13 удалений

Просмотреть файл

@ -38,6 +38,7 @@
let TabView = {
_deck: null,
_iframe: null,
_window: null,
_firstUseExperienced: false,
_browserKeyHandlerInitialized: false,
@ -135,17 +136,17 @@ let TabView = {
this._deck = document.getElementById("tab-view-deck");
// ___ create the frame
let iframe = document.createElement("iframe");
iframe.id = "tab-view";
iframe.setAttribute("transparent", "true");
iframe.flex = 1;
this._iframe = document.createElement("iframe");
this._iframe.id = "tab-view";
this._iframe.setAttribute("transparent", "true");
this._iframe.flex = 1;
if (typeof callback == "function")
window.addEventListener("tabviewframeinitialized", callback, false);
iframe.setAttribute("src", "chrome://browser/content/tabview.html");
this._deck.appendChild(iframe);
this._window = iframe.contentWindow;
this._iframe.setAttribute("src", "chrome://browser/content/tabview.html");
this._deck.appendChild(this._iframe);
this._window = this._iframe.contentWindow;
if (this._tabShowEventListener) {
gBrowser.tabContainer.removeEventListener(
@ -163,8 +164,8 @@ let TabView = {
},
// ----------
isVisible: function() {
return (this._deck ? this._deck.selectedIndex == 1 : false);
isVisible: function TabView_isVisible() {
return (this._deck ? this._deck.selectedPanel == this._iframe : false);
},
// ----------

Просмотреть файл

@ -463,7 +463,7 @@
#endif
<deck flex="1" id="tab-view-deck">
<vbox flex="1">
<vbox flex="1" id="browser-panel">
<toolbox id="navigator-toolbox"
defaultmode="icons" mode="icons"

Просмотреть файл

@ -33,6 +33,7 @@ var gWindow = window.parent;
var gBrowser = gWindow.gBrowser;
var gTabView = gWindow.TabView;
var gTabViewDeck = gWindow.document.getElementById("tab-view-deck");
var gBrowserPanel = gWindow.document.getElementById("browser-panel");
var gTabViewFrame = gWindow.document.getElementById("tab-view");
# NB: Certain files need to evaluate before others

Просмотреть файл

@ -416,7 +416,7 @@ let UI = {
// Function: isTabViewVisible
// Returns true if the TabView UI is currently shown.
isTabViewVisible: function UI_isTabViewVisible() {
return gTabViewDeck.selectedIndex == 1;
return gTabViewDeck.selectedPanel == gTabViewFrame;
},
// ---------
@ -455,7 +455,7 @@ let UI = {
// Restore the full height when showing TabView
gTabViewFrame.style.marginTop = "";
#endif
gTabViewDeck.selectedIndex = 1;
gTabViewDeck.selectedPanel = gTabViewFrame;
gWindow.TabsInTitlebar.allowedBy("tabview-open", false);
gTabViewFrame.contentWindow.focus();
@ -537,7 +537,7 @@ let UI = {
// as well as avoiding the flash of black as we animate out
gTabViewFrame.style.marginTop = gBrowser.boxObject.y + "px";
#endif
gTabViewDeck.selectedIndex = 0;
gTabViewDeck.selectedPanel = gBrowserPanel;
gWindow.TabsInTitlebar.allowedBy("tabview-open", true);
gBrowser.contentWindow.focus();