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