Bug 1381853 - lazy load nsContextMenu.js into the browser window, r=mconley.

This commit is contained in:
Florian Quèze 2017-07-23 00:17:59 +02:00
Родитель 2e4c2cc726
Коммит 520a79823f
7 изменённых файлов: 11 добавлений и 6 удалений

Просмотреть файл

@ -91,7 +91,7 @@ XPCOMUtils.defineLazyPreferenceGetter(this, "gPhotonStructure",
["UpdateUtils", "resource://gre/modules/UpdateUtils.jsm"],
["Utils", "resource://gre/modules/sessionstore/Utils.jsm"],
["Weave", "resource://services-sync/main.js"],
["WebNavigationFrames", "resource://gre/modules/WebNavigationFrames.js"],
["WebNavigationFrames", "resource://gre/modules/WebNavigationFrames.jsm"],
["fxAccounts", "resource://gre/modules/FxAccounts.jsm"],
["gDevTools", "resource://devtools/client/framework/gDevTools.jsm"],
["gDevToolsBrowser", "resource://devtools/client/framework/gDevTools.jsm"],
@ -136,6 +136,9 @@ XPCOMUtils.defineLazyScriptGetter(this, "gSync",
"chrome://browser/content/browser-sync.js");
XPCOMUtils.defineLazyScriptGetter(this, "gBrowserThumbnails",
"chrome://browser/content/browser-thumbnails.js");
XPCOMUtils.defineLazyScriptGetter(this, ["setContextMenuContentData",
"openContextMenu", "nsContextMenu"],
"chrome://browser/content/nsContextMenu.js");
// lazy service getters

Просмотреть файл

@ -64,7 +64,6 @@
# wishes to include *must* go into the global-scripts.inc file
# so that they can be shared by macBrowserOverlay.xul.
#include global-scripts.inc
<script type="application/javascript" src="chrome://browser/content/nsContextMenu.js"/>
<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>

Просмотреть файл

@ -203,7 +203,7 @@ var handleContentContextMenu = function(event) {
// Break out to the parent window and pass the add-on info along
let browser = docShell.chromeEventHandler;
let mainWin = browser.ownerGlobal;
mainWin.gContextMenuContentData = {
mainWin.setContextMenuContentData({
isRemote: false,
event,
popupNode: event.target,
@ -222,7 +222,7 @@ var handleContentContextMenu = function(event) {
loginFillInfo,
parentAllowsMixedContent,
userContextId,
};
});
}
}

Просмотреть файл

@ -25,6 +25,10 @@ XPCOMUtils.defineLazyModuleGetter(this, "DevToolsShim",
var gContextMenuContentData = null;
function setContextMenuContentData(data) {
gContextMenuContentData = data;
}
function openContextMenu(aMessage) {
let data = aMessage.data;
let browser = aMessage.target;

Просмотреть файл

@ -23,7 +23,6 @@
<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
<script type="application/javascript" src="chrome://browser/content/browser.js"/>
<script type="application/javascript" src="chrome://browser/content/browser-places.js"/>
<script type="application/javascript" src="chrome://browser/content/nsContextMenu.js"/>
<script type="application/javascript" src="chrome://browser/content/web-panels.js"/>
<stringbundleset id="stringbundleset">

Просмотреть файл

@ -24,7 +24,6 @@
<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
<script type="application/javascript" src="chrome://browser/content/browser.js"/>
<script type="application/javascript" src="chrome://browser/content/browser-places.js"/>
<script type="application/javascript" src="chrome://browser/content/nsContextMenu.js"/>
<script type="application/javascript" src="chrome://browser/content/webext-panels.js"/>
<stringbundleset id="stringbundleset">

Просмотреть файл

@ -1,5 +1,6 @@
const DIRECTORY_PATH = "/browser/toolkit/components/passwordmgr/test/browser/";
Cu.import("resource://gre/modules/LoginHelper.jsm", this);
Cu.import("resource://testing-common/LoginTestUtils.jsm", this);
Cu.import("resource://testing-common/ContentTaskUtils.jsm", this);