browser_observer_notification.js (1465B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 "use strict"; 4 5 /* eslint-disable no-unused-vars */ 6 declTest("test observer triggering actor creation", { 7 async test(browser) { 8 await SpecialPowers.spawn(browser, [], async function () { 9 const TOPIC = "test-js-content-actor-child-observer"; 10 Services.obs.notifyObservers(content.window, TOPIC, "dataString"); 11 12 let child = ChromeUtils.domProcessChild; 13 let actorChild = child.getActor("TestProcessActor"); 14 ok(actorChild, "JSProcessActorChild should have value."); 15 ok( 16 actorChild.lastObserved, 17 "JSProcessActorChild lastObserved should have value." 18 ); 19 let { subject, topic, data } = actorChild.lastObserved; 20 is(topic, TOPIC, "Topic matches"); 21 is(data, "dataString", "Data matches"); 22 }); 23 }, 24 }); 25 26 declTest("test observers with null data", { 27 async test(browser) { 28 await SpecialPowers.spawn(browser, [], async function () { 29 const TOPIC = "test-js-content-actor-child-observer"; 30 Services.obs.notifyObservers(content.window, TOPIC); 31 32 let child = ChromeUtils.domProcessChild; 33 let actorChild = child.getActor("TestProcessActor"); 34 ok(actorChild, "JSProcessActorChild should have value."); 35 let { subject, topic, data } = actorChild.lastObserved; 36 37 is(topic, TOPIC, "Topic matches"); 38 is(data, null, "Data matches"); 39 }); 40 }, 41 });