tor-browser

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

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