Bug 1168095 - Repair view source from sidebar pages. r=Gijs

This commit is contained in:
J. Ryan Stinnett 2015-05-27 20:17:18 -05:00
parent 3ed42b6262
commit 07360f9cbb
2 changed files with 20 additions and 4 deletions

View File

@ -2363,11 +2363,19 @@ function BrowserViewSourceOfDocument(aArgsOrDocument) {
let inTab = Services.prefs.getBoolPref("view_source.tab");
if (inTab) {
let viewSourceURL = `view-source:${args.URL}`;
let tab = gBrowser.loadOneTab(viewSourceURL, {
let tabBrowser = gBrowser;
// In the case of sidebars and chat windows, gBrowser is defined but null,
// because no #content element exists. For these cases, we need to find
// the most recent browser window.
if (!tabBrowser) {
let browserWindow = RecentWindow.getMostRecentBrowserWindow();
tabBrowser = browserWindow.gBrowser;
}
let tab = tabBrowser.loadOneTab(viewSourceURL, {
relatedToCurrent: true,
inBackground: false
});
args.viewSourceBrowser = gBrowser.getBrowserForTab(tab);
args.viewSourceBrowser = tabBrowser.getBrowserForTab(tab);
top.gViewSourceUtils.viewSourceInBrowser(args);
} else {
top.gViewSourceUtils.viewSource(args);

View File

@ -1007,11 +1007,19 @@ nsContextMenu.prototype = {
let inTab = Services.prefs.getBoolPref("view_source.tab");
if (inTab) {
let tab = gBrowser.loadOneTab("about:blank", {
let tabBrowser = gBrowser;
// In the case of sidebars and chat windows, gBrowser is defined but null,
// because no #content element exists. For these cases, we need to find
// the most recent browser window.
if (!tabBrowser) {
let browserWindow = RecentWindow.getMostRecentBrowserWindow();
tabBrowser = browserWindow.gBrowser;
}
let tab = tabBrowser.loadOneTab("about:blank", {
relatedToCurrent: true,
inBackground: false
});
let viewSourceBrowser = gBrowser.getBrowserForTab(tab);
let viewSourceBrowser = tabBrowser.getBrowserForTab(tab);
if (aContext == "selection") {
top.gViewSourceUtils
.viewSourceFromSelectionInBrowser(reference, viewSourceBrowser);