tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_registry.js (1239B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 const { MessageHandlerRegistry } = ChromeUtils.importESModule(
      7  "chrome://remote/content/shared/messagehandler/MessageHandlerRegistry.sys.mjs"
      8 );
      9 const { RootMessageHandler } = ChromeUtils.importESModule(
     10  "chrome://remote/content/shared/messagehandler/RootMessageHandler.sys.mjs"
     11 );
     12 
     13 add_task(async function test_messageHandlerRegistry_API() {
     14  const sessionId = 1;
     15  const type = RootMessageHandler.type;
     16 
     17  const rootMessageHandlerRegistry = new MessageHandlerRegistry(type);
     18 
     19  const rootMessageHandler =
     20    rootMessageHandlerRegistry.getOrCreateMessageHandler(sessionId);
     21  ok(rootMessageHandler, "Valid ROOT MessageHandler created");
     22 
     23  const contextId = rootMessageHandler.contextId;
     24  ok(contextId, "ROOT MessageHandler has a valid contextId");
     25 
     26  is(
     27    rootMessageHandler,
     28    rootMessageHandlerRegistry.getExistingMessageHandler(sessionId),
     29    "ROOT MessageHandler can be retrieved from the registry"
     30  );
     31 
     32  rootMessageHandler.destroy();
     33  ok(
     34    !rootMessageHandlerRegistry.getExistingMessageHandler(sessionId),
     35    "Destroyed ROOT MessageHandler is no longer returned by the Registry"
     36  );
     37 });