зеркало из https://github.com/mozilla/gecko-dev.git
Fix bug 880930 - JS debugger: RootActor needs its own definition of windowMediator. r=past
--HG-- extra : transplant_source : %DB%A6H%9B%D0%00%B4%24t%89%F0r%F9r%9C%7B%EC%07%D0%1B
This commit is contained in:
Родитель
650290f6b9
Коммит
85b73901e2
|
@ -14,6 +14,8 @@ XPCOMUtils.defineLazyModuleGetter(this, "console",
|
|||
"resource://gre/modules/devtools/Console.jsm");
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "CommandUtils",
|
||||
"resource:///modules/devtools/DeveloperToolbar.jsm");
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "Services",
|
||||
"resource://gre/modules/Services.jsm");
|
||||
|
||||
XPCOMUtils.defineLazyGetter(this, "require", function() {
|
||||
let { require } = Cu.import("resource://gre/modules/devtools/Require.jsm", {});
|
||||
|
@ -46,9 +48,7 @@ GcliActor.prototype.getCommandSpecs = function(request) {
|
|||
};
|
||||
|
||||
GcliActor.prototype.execute = function(request) {
|
||||
let windowMediator = Cc["@mozilla.org/appshell/window-mediator;1"]
|
||||
.getService(Ci.nsIWindowMediator);
|
||||
let chromeWindow = windowMediator.getMostRecentWindow("navigator:browser");
|
||||
let chromeWindow = Services.wm.getMostRecentWindow(DebuggerServer.chromeWindowType);
|
||||
let contentWindow = chromeWindow.gBrowser.selectedTab.linkedBrowser.contentWindow;
|
||||
|
||||
let environment = CommandUtils.createEnvironment(chromeWindow.document,
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
/* Root actor for the remote debugging protocol. */
|
||||
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
|
||||
/**
|
||||
* Methods shared between RootActor and BrowserTabActor.
|
||||
*/
|
||||
|
@ -330,7 +332,7 @@ RootActor.prototype = {
|
|||
*/
|
||||
preNest: function() {
|
||||
// Disable events in all open windows.
|
||||
let e = windowMediator.getEnumerator(null);
|
||||
let e = Services.wm.getEnumerator(null);
|
||||
while (e.hasMoreElements()) {
|
||||
let win = e.getNext();
|
||||
let windowUtils = win.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||
|
@ -345,7 +347,7 @@ RootActor.prototype = {
|
|||
*/
|
||||
postNest: function(aNestData) {
|
||||
// Enable events in all open windows.
|
||||
let e = windowMediator.getEnumerator(null);
|
||||
let e = Services.wm.getEnumerator(null);
|
||||
while (e.hasMoreElements()) {
|
||||
let win = e.getNext();
|
||||
let windowUtils = win.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
"use strict";
|
||||
|
||||
let promise = Cu.import("resource://gre/modules/commonjs/sdk/core/promise.js", {}).Promise;
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "Services", "resource://gre/modules/Services.jsm");
|
||||
|
||||
/**
|
||||
* Browser-specific actors.
|
||||
|
@ -19,7 +20,7 @@ let promise = Cu.import("resource://gre/modules/commonjs/sdk/core/promise.js", {
|
|||
*/
|
||||
function allAppShellDOMWindows(aWindowType)
|
||||
{
|
||||
let e = windowMediator.getEnumerator(aWindowType);
|
||||
let e = Services.wm.getEnumerator(aWindowType);
|
||||
while (e.hasMoreElements()) {
|
||||
yield e.getNext();
|
||||
}
|
||||
|
@ -66,9 +67,6 @@ function createRootActor(aConnection)
|
|||
});
|
||||
}
|
||||
|
||||
var windowMediator = Cc["@mozilla.org/appshell/window-mediator;1"]
|
||||
.getService(Ci.nsIWindowMediator);
|
||||
|
||||
/**
|
||||
* A live list of BrowserTabActors representing the current browser tabs,
|
||||
* to be provided to the root actor to answer 'listTabs' requests.
|
||||
|
@ -196,7 +194,7 @@ BrowserTabList.prototype._getChildren = function(aWindow) {
|
|||
};
|
||||
|
||||
BrowserTabList.prototype.getList = function() {
|
||||
let topXULWindow = windowMediator.getMostRecentWindow(DebuggerServer.chromeWindowType);
|
||||
let topXULWindow = Services.wm.getMostRecentWindow(DebuggerServer.chromeWindowType);
|
||||
|
||||
// As a sanity check, make sure all the actors presently in our map get
|
||||
// picked up when we iterate over all windows' tabs.
|
||||
|
@ -370,7 +368,7 @@ BrowserTabList.prototype.handleEvent = makeInfallible(function(aEvent) {
|
|||
BrowserTabList.prototype._listenToMediatorIf = function(aShouldListen) {
|
||||
if (!aShouldListen !== !this._listeningToMediator) {
|
||||
let op = aShouldListen ? "addListener" : "removeListener";
|
||||
windowMediator[op](this);
|
||||
Services.wm[op](this);
|
||||
this._listeningToMediator = aShouldListen;
|
||||
}
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче