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:
Philipp Kewisch 2013-09-21 11:38:32 +02:00
Родитель 650290f6b9
Коммит 85b73901e2
3 изменённых файлов: 11 добавлений и 11 удалений

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

@ -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;
}
};