diff --git a/mozilla/suite/common/sidebar/sidebarOverlay.js b/mozilla/suite/common/sidebar/sidebarOverlay.js
index e3f53f68db0..de42f6c6f72 100644
--- a/mozilla/suite/common/sidebar/sidebarOverlay.js
+++ b/mozilla/suite/common/sidebar/sidebarOverlay.js
@@ -316,7 +316,9 @@ function (force_reload)
} else {
var saved_src = iframe.getAttribute('content');
var src = iframe.getAttribute('src');
- if (saved_src != src) {
+ // either we have been requested to force_reload or the
+ // panel src has changed so we must restore the original src
+ if (force_reload || (saved_src != src)) {
debug(" set src="+saved_src);
iframe.setAttribute('src', saved_src);
@@ -325,7 +327,6 @@ function (force_reload)
gCurFrame = iframe;
gTimeoutID = setTimeout (setBlank, 20000);
-
}
}
@@ -904,6 +905,11 @@ function SidebarStopPanelLoad(header) {
panel.stop_load();
}
+function SidebarReloadPanel(header) {
+ var panel = sidebarObj.panels.get_panel_from_header_node(header);
+ panel.reload();
+}
+
// No one is calling this right now.
function SidebarReload() {
sidebarObj.panels.refresh();
@@ -1184,6 +1190,33 @@ function SidebarFinishClick() {
}
}
+function SidebarInitContextMenu(aMenu, aPopupNode)
+{
+ var panel = sidebarObj.panels.get_panel_from_header_node(aPopupNode);
+ var switchItem = document.getElementById("switch-ctx-item");
+ var reloadItem = document.getElementById("reload-ctx-item");
+ var stopItem = document.getElementById("stop-ctx-item");
+
+ // the current panel can be reloaded, but other panels are not showing
+ // any content, so we only allow you to switch to other panels
+ if (panel.is_selected())
+ {
+ switchItem.setAttribute("collapsed", "true");
+ reloadItem.removeAttribute("disabled");
+ }
+ else
+ {
+ switchItem.removeAttribute("collapsed");
+ reloadItem.setAttribute("disabled", "true");
+ }
+
+ // only if a panel is currently loading enable the ``Stop'' item
+ if (panel.get_iframe().getAttribute("loadstate") == "loading")
+ stopItem.removeAttribute("disabled");
+ else
+ stopItem.setAttribute("disabled", "true");
+}
+
///////////////////////////////////////////////////////////////
// Handy Debug Tools
//////////////////////////////////////////////////////////////
diff --git a/mozilla/suite/common/sidebar/sidebarOverlay.xul b/mozilla/suite/common/sidebar/sidebarOverlay.xul
index ac86a0c3a3a..c7257642123 100644
--- a/mozilla/suite/common/sidebar/sidebarOverlay.xul
+++ b/mozilla/suite/common/sidebar/sidebarOverlay.xul
@@ -34,16 +34,24 @@
-
diff --git a/mozilla/suite/locales/en-US/chrome/common/sidebar/sidebarOverlay.dtd b/mozilla/suite/locales/en-US/chrome/common/sidebar/sidebarOverlay.dtd
index 7c2de6007ae..a5982b514fb 100644
--- a/mozilla/suite/locales/en-US/chrome/common/sidebar/sidebarOverlay.dtd
+++ b/mozilla/suite/locales/en-US/chrome/common/sidebar/sidebarOverlay.dtd
@@ -21,20 +21,22 @@
- Samir Gehani
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+