mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-11 05:39:41 +02:00
In order to be able to query/instantiate sub targets like remote frames, or tab targets from the MainProcessTarget, we have to support session at the protocol layer. This is all based on a `sessionId` attribute put on all inbound/outbound messages. This patch will be later used, once we start instantiating sub targets. Differential Revision: https://phabricator.services.mozilla.com/D22694 --HG-- extra : moz-landing-system : lando
41 lines
816 B
JavaScript
41 lines
816 B
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const {Session} = ChromeUtils.import("chrome://remote/content/sessions/Session.jsm");
|
|
|
|
const connection = {
|
|
registerSession: () => {},
|
|
transport: {
|
|
on: () => {},
|
|
},
|
|
};
|
|
|
|
class MockTarget {
|
|
constructor() {
|
|
}
|
|
|
|
get browsingContext() {
|
|
return {id: 42};
|
|
}
|
|
|
|
get mm() {
|
|
return {
|
|
addMessageListener() {},
|
|
removeMessageListener() {},
|
|
loadFrameScript() {},
|
|
sendAsyncMessage() {},
|
|
};
|
|
}
|
|
}
|
|
|
|
add_test(function test_Session_destructor() {
|
|
const session = new Session(connection, new MockTarget());
|
|
session.domains.get("Browser");
|
|
equal(session.domains.size, 1);
|
|
session.destructor();
|
|
equal(session.domains.size, 0);
|
|
|
|
run_next_test();
|
|
});
|