mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 11:55:49 +00:00
Bug 1389829 - Part 3 - Handle "View Page Source" on the JS side. r=esawin
MozReview-Commit-ID: AOmTcNQ7qlj --HG-- extra : rebase_source : 24dcc129fa666980cc360afa2acd761768133171
This commit is contained in:
parent
91e8259ff4
commit
80158f4f3a
@ -126,6 +126,7 @@ var lazilyLoadedBrowserScripts = [
|
||||
["Linkifier", "chrome://browser/content/Linkify.js"],
|
||||
["CastingApps", "chrome://browser/content/CastingApps.js"],
|
||||
["RemoteDebugger", "chrome://browser/content/RemoteDebugger.js"],
|
||||
["gViewSourceUtils", "chrome://global/content/viewSourceUtils.js"],
|
||||
];
|
||||
if (!AppConstants.RELEASE_OR_BETA) {
|
||||
lazilyLoadedBrowserScripts.push(
|
||||
@ -367,6 +368,7 @@ var BrowserApp = {
|
||||
"Tab:Closed",
|
||||
"Tab:Move",
|
||||
"Tab:OpenUri",
|
||||
"Tab:ViewSource",
|
||||
]);
|
||||
|
||||
GlobalEventDispatcher.registerListener(this, [
|
||||
@ -1435,6 +1437,27 @@ var BrowserApp = {
|
||||
aTab.browser.dispatchEvent(evt);
|
||||
},
|
||||
|
||||
viewSourceForTab(aTab) {
|
||||
let browser = aTab.browser;
|
||||
let outerWindowID = browser.outerWindowID;
|
||||
let url = browser.currentURI.spec;
|
||||
let args = { browser, outerWindowID, URL: url };
|
||||
|
||||
// `viewSourceInBrowser` will load the source content from the page
|
||||
// descriptor for the tab (when possible) or fallback to the network if
|
||||
// that fails. Either way, the view source module will manage the tab's
|
||||
// location, so use "about:blank" here to avoid unnecessary redundant
|
||||
// requests.
|
||||
let tab = this.addTab("about:blank", {
|
||||
selected: true,
|
||||
parentId: aTab.id,
|
||||
isPrivate: PrivateBrowsingUtils.isBrowserPrivate(aTab.browser)
|
||||
});
|
||||
args.viewSourceBrowser = tab.browser;
|
||||
|
||||
gViewSourceUtils.viewSourceInBrowser(args);
|
||||
},
|
||||
|
||||
quit: function quit(aClear = { sanitize: {}, dontSaveSession: false }) {
|
||||
// Notify all windows that an application quit has been requested.
|
||||
let cancelQuit = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);
|
||||
@ -1948,6 +1971,10 @@ var BrowserApp = {
|
||||
case "Tab:Move":
|
||||
this._handleTabMove(data.fromTabId, data.fromPosition, data.toTabId, data.toPosition);
|
||||
break;
|
||||
|
||||
case "Tab:ViewSource":
|
||||
this.viewSourceForTab(this.getTabForId(data.tabId));
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user