diff --git a/mozilla/toolkit/content/widgets/tabbox.xml b/mozilla/toolkit/content/widgets/tabbox.xml index 812a49c8c2a..55639a1b0ce 100644 --- a/mozilla/toolkit/content/widgets/tabbox.xml +++ b/mozilla/toolkit/content/widgets/tabbox.xml @@ -144,15 +144,7 @@ })]]> - - var eventNode = this; - switch (this.getAttribute("eventnode")) { - case "parent": eventNode = this.parentNode; break; - case "window": eventNode = window; break; - case "document": eventNode = document; break; - } - eventNode; - + this @@ -168,6 +160,11 @@ + switch (this.getAttribute("eventnode")) { + case "parent": this._eventNode = this.parentNode; break; + case "window": this._eventNode = window; break; + case "document": this._eventNode = document; break; + } this._eventNode.addEventListener("keypress", this._keyEventHandler, false); @@ -178,7 +175,7 @@ + extends="chrome://global/content/widgets/tabbox.xml#tab-base"> @@ -238,8 +235,15 @@ if (parent.localName == 'tabbox') { var tabpanels = parent._tabpanels; // This will cause an onselect event to fire for the tabpanel element. - if (tabpanels) - tabpanels.selectedIndex = val; + if (tabpanels) { + // find an id + var linkedPanelId = tabs[val].linkedPanel; + var linkedPanel = linkedPanelId ? document.getElementById(linkedPanelId) : null; + if (linkedPanel) + tabpanels.selectedPanel = linkedPanel; + else + tabpanels.selectedIndex = val; + } break; } } @@ -355,7 +359,7 @@ + extends="chrome://global/content/widgets/tabbox.xml#tabs"> @@ -364,14 +368,14 @@ - + + extends="chrome://global/content/widgets/tabbox.xml#tab-base"> @@ -382,6 +386,8 @@ + null + @@ -407,7 +415,7 @@ @@ -425,7 +433,7 @@ + extends="chrome://global/content/widgets/tabbox.xml#tab-base"> @@ -477,19 +485,15 @@ return val; + +