Bug 943681 - Convert to Promise.jsm in the webconsole. r=msucan

This commit is contained in:
Brandon Benvie 2013-12-13 11:11:20 -08:00
Родитель 6da77cb0a5
Коммит b85bf618cb
5 изменённых файлов: 17 добавлений и 29 удалений

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

@ -11,9 +11,9 @@ const {Cc, Ci, Cu} = require("chrome");
let WebConsoleUtils = require("devtools/toolkit/webconsole/utils").Utils; let WebConsoleUtils = require("devtools/toolkit/webconsole/utils").Utils;
let Heritage = require("sdk/core/heritage"); let Heritage = require("sdk/core/heritage");
loader.lazyGetter(this, "promise", () => require("sdk/core/promise"));
loader.lazyGetter(this, "Telemetry", () => require("devtools/shared/telemetry")); loader.lazyGetter(this, "Telemetry", () => require("devtools/shared/telemetry"));
loader.lazyGetter(this, "WebConsoleFrame", () => require("devtools/webconsole/webconsole").WebConsoleFrame); loader.lazyGetter(this, "WebConsoleFrame", () => require("devtools/webconsole/webconsole").WebConsoleFrame);
loader.lazyImporter(this, "promise", "resource://gre/modules/Promise.jsm", "Promise");
loader.lazyImporter(this, "gDevTools", "resource:///modules/devtools/gDevTools.jsm"); loader.lazyImporter(this, "gDevTools", "resource:///modules/devtools/gDevTools.jsm");
loader.lazyImporter(this, "devtools", "resource://gre/modules/devtools/Loader.jsm"); loader.lazyImporter(this, "devtools", "resource://gre/modules/devtools/Loader.jsm");
loader.lazyImporter(this, "Services", "resource://gre/modules/Services.jsm"); loader.lazyImporter(this, "Services", "resource://gre/modules/Services.jsm");
@ -110,6 +110,7 @@ HUD_SERVICE.prototype =
function HS_openBrowserConsole(aTarget, aIframeWindow, aChromeWindow) function HS_openBrowserConsole(aTarget, aIframeWindow, aChromeWindow)
{ {
let hud = new BrowserConsole(aTarget, aIframeWindow, aChromeWindow); let hud = new BrowserConsole(aTarget, aIframeWindow, aChromeWindow);
this._browserConsoleID = hud.hudId;
this.consoles.set(hud.hudId, hud); this.consoles.set(hud.hudId, hud);
return hud.init(); return hud.init();
}, },
@ -259,7 +260,6 @@ HUD_SERVICE.prototype =
connect().then(getTarget).then(openWindow).then((aWindow) => { connect().then(getTarget).then(openWindow).then((aWindow) => {
this.openBrowserConsole(target, aWindow, aWindow) this.openBrowserConsole(target, aWindow, aWindow)
.then((aBrowserConsole) => { .then((aBrowserConsole) => {
this._browserConsoleID = aBrowserConsole.hudId;
this._browserConsoleDefer.resolve(aBrowserConsole); this._browserConsoleDefer.resolve(aBrowserConsole);
this._browserConsoleDefer = null; this._browserConsoleDefer = null;
}) })

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

@ -6,7 +6,7 @@
const {Cc, Ci, Cu} = require("chrome"); const {Cc, Ci, Cu} = require("chrome");
loader.lazyGetter(this, "promise", () => require("sdk/core/promise")); loader.lazyImporter(this, "promise", "resource://gre/modules/Promise.jsm", "Promise");
loader.lazyGetter(this, "HUDService", () => require("devtools/webconsole/hudservice")); loader.lazyGetter(this, "HUDService", () => require("devtools/webconsole/hudservice"));
loader.lazyGetter(this, "EventEmitter", () => require("devtools/shared/event-emitter")); loader.lazyGetter(this, "EventEmitter", () => require("devtools/shared/event-emitter"));

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

@ -95,37 +95,25 @@ function testGen() {
testNext(); testNext();
}; };
EventUtils.synthesizeKey("VK_END", {}); EventUtils.synthesizeKey("VK_END", {});
yield; yield undefined;
let oldScrollTop = scrollBox.scrollTop; let oldScrollTop = scrollBox.scrollTop;
content.console.log("test message 151"); content.console.log("test message 151");
waitForMessages({ scrollBox.onscroll = () => {
webconsole: hud, dump("\n\nSCROLLED\n\n");
messages: [{ if (scrollBox.scrollTop == oldScrollTop) {
text: "test message 151", // Wait for scroll to change.
category: CATEGORY_WEBDEV, return;
severity: SEVERITY_LOG, }
}], scrollBox.onscroll = null;
}).then(() => { isnot(scrollBox.scrollTop, oldScrollTop, "scroll location updated (moved to bottom again)");
scrollBox.onscroll = () => { hud = testDriver = null;
if (scrollBox.scrollTop == oldScrollTop) { finishTest();
// Wait for scroll to change. };
return;
}
scrollBox.onscroll = null;
isnot(scrollBox.scrollTop, oldScrollTop, "scroll location updated (moved to bottom again)");
testNext();
};
});
yield undefined; yield undefined;
hud = testDriver = null;
finishTest();
yield undefined;
} }
function test() { function test() {

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

@ -8,7 +8,7 @@ let WebConsoleUtils, gDevTools, TargetFactory, console, promise, require;
(() => { (() => {
gDevTools = Cu.import("resource:///modules/devtools/gDevTools.jsm", {}).gDevTools; gDevTools = Cu.import("resource:///modules/devtools/gDevTools.jsm", {}).gDevTools;
console = Cu.import("resource://gre/modules/devtools/Console.jsm", {}).console; console = Cu.import("resource://gre/modules/devtools/Console.jsm", {}).console;
promise = Cu.import("resource://gre/modules/commonjs/sdk/core/promise.js", {}).Promise; promise = Cu.import("resource://gre/modules/Promise.jsm", {}).Promise;
let tools = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}).devtools; let tools = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}).devtools;
let utils = tools.require("devtools/toolkit/webconsole/utils"); let utils = tools.require("devtools/toolkit/webconsole/utils");

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

@ -14,7 +14,7 @@ loader.lazyServiceGetter(this, "clipboardHelper",
"@mozilla.org/widget/clipboardhelper;1", "@mozilla.org/widget/clipboardhelper;1",
"nsIClipboardHelper"); "nsIClipboardHelper");
loader.lazyImporter(this, "Services", "resource://gre/modules/Services.jsm"); loader.lazyImporter(this, "Services", "resource://gre/modules/Services.jsm");
loader.lazyGetter(this, "promise", () => require("sdk/core/promise")); loader.lazyImporter(this, "promise", "resource://gre/modules/Promise.jsm", "Promise");
loader.lazyGetter(this, "EventEmitter", () => require("devtools/shared/event-emitter")); loader.lazyGetter(this, "EventEmitter", () => require("devtools/shared/event-emitter"));
loader.lazyGetter(this, "AutocompletePopup", loader.lazyGetter(this, "AutocompletePopup",
() => require("devtools/shared/autocomplete-popup").AutocompletePopup); () => require("devtools/shared/autocomplete-popup").AutocompletePopup);