forked from mirrors/gecko-dev
These methods are no longer necessary, as all loads which can trigger process switches now go through DocumentChannel. The shouldLoadURI methods on nsIWebBrowserChrome3 are unfortunately still necessary as they're used by the disabled-by-default "Single-Site Browser" feature. In the future this may be possible to clean-up. Differential Revision: https://phabricator.services.mozilla.com/D94638
58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/* This content script contains code that requires a tab browser. */
|
|
|
|
/* eslint-env mozilla/frame-script */
|
|
|
|
var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
|
|
|
|
ChromeUtils.defineModuleGetter(
|
|
this,
|
|
"BrowserUtils",
|
|
"resource://gre/modules/BrowserUtils.jsm"
|
|
);
|
|
|
|
// BrowserChildGlobal
|
|
var global = this;
|
|
|
|
var WebBrowserChrome = {
|
|
onBeforeLinkTraversal(originalTarget, linkURI, linkNode, isAppTab) {
|
|
return BrowserUtils.onBeforeLinkTraversal(
|
|
originalTarget,
|
|
linkURI,
|
|
linkNode,
|
|
isAppTab
|
|
);
|
|
},
|
|
|
|
// Check whether this URI should load in the current process
|
|
shouldLoadURI(
|
|
aDocShell,
|
|
aURI,
|
|
aReferrerInfo,
|
|
aHasPostData,
|
|
aTriggeringPrincipal,
|
|
aCsp
|
|
) {
|
|
return true;
|
|
},
|
|
|
|
shouldLoadURIInThisProcess(aURI) {
|
|
return true;
|
|
},
|
|
};
|
|
|
|
if (Services.appinfo.processType == Services.appinfo.PROCESS_TYPE_CONTENT) {
|
|
let tabchild = docShell
|
|
.QueryInterface(Ci.nsIInterfaceRequestor)
|
|
.getInterface(Ci.nsIBrowserChild);
|
|
tabchild.webBrowserChrome = WebBrowserChrome;
|
|
}
|
|
|
|
Services.obs.notifyObservers(this, "tab-content-frameloader-created");
|
|
|
|
// This is a temporary hack to prevent regressions (bug 1471327).
|
|
void content;
|