mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 970914 - Avoid confusion where if there's already a console client (attachConsole), we get the same WebConsoleClient instance and startListeners is not called. r=past
This commit is contained in:
parent
cf5825a321
commit
3373520960
@ -268,5 +268,6 @@ run-if = os == "mac"
|
||||
[browser_webconsole_output_04.js]
|
||||
[browser_webconsole_output_events.js]
|
||||
[browser_console_variables_view_highlighter.js]
|
||||
[browser_webconsole_start_netmon_first.js]
|
||||
[browser_webconsole_console_trace_duplicates.js]
|
||||
[browser_webconsole_cd_iframe.js]
|
||||
|
@ -0,0 +1,37 @@
|
||||
/* 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/. */
|
||||
|
||||
// Check that the webconsole works if the network monitor is first opened, then
|
||||
// the user switches to the webconsole. See bug 970914.
|
||||
|
||||
function test() {
|
||||
Task.spawn(runner).then(finishTest);
|
||||
|
||||
function* runner() {
|
||||
const {tab} = yield loadTab("data:text/html;charset=utf8,<p>hello");
|
||||
|
||||
const target = TargetFactory.forTab(tab);
|
||||
const toolbox = yield gDevTools.showToolbox(target, "netmonitor");
|
||||
|
||||
const hud = yield openConsole(tab);
|
||||
|
||||
hud.jsterm.execute("console.log('foobar bug970914')");
|
||||
|
||||
yield waitForMessages({
|
||||
webconsole: hud,
|
||||
messages: [{
|
||||
name: "console.log",
|
||||
text: "foobar bug970914",
|
||||
category: CATEGORY_WEBDEV,
|
||||
severity: SEVERITY_LOG,
|
||||
}],
|
||||
});
|
||||
|
||||
let text = hud.outputNode.textContent;
|
||||
isnot(text.indexOf("foobar bug970914"), -1, "console.log message confirmed");
|
||||
ok(!/logging API|disabled by a script/i.test(text),
|
||||
"no warning about disabled console API");
|
||||
}
|
||||
}
|
||||
|
@ -479,11 +479,6 @@ DebuggerClient.prototype = {
|
||||
*/
|
||||
attachConsole:
|
||||
function (aConsoleActor, aListeners, aOnResponse) {
|
||||
if (this._consoleClients.has(aConsoleActor)) {
|
||||
setTimeout(() => aOnResponse({}, this._consoleClients.get(aConsoleActor)), 0);
|
||||
return;
|
||||
}
|
||||
|
||||
let packet = {
|
||||
to: aConsoleActor,
|
||||
type: "startListeners",
|
||||
@ -493,8 +488,12 @@ DebuggerClient.prototype = {
|
||||
this.request(packet, (aResponse) => {
|
||||
let consoleClient;
|
||||
if (!aResponse.error) {
|
||||
consoleClient = new WebConsoleClient(this, aConsoleActor);
|
||||
this._consoleClients.set(aConsoleActor, consoleClient);
|
||||
if (this._consoleClients.has(aConsoleActor)) {
|
||||
consoleClient = this._consoleClients.get(aConsoleActor);
|
||||
} else {
|
||||
consoleClient = new WebConsoleClient(this, aConsoleActor);
|
||||
this._consoleClients.set(aConsoleActor, consoleClient);
|
||||
}
|
||||
}
|
||||
aOnResponse(aResponse, consoleClient);
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user