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