tor-browser

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

browser_canvasframe_helper_02.js (1673B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 // Test that the CanvasFrameAnonymousContentHelper does not insert content in
      7 // XUL windows.
      8 
      9 add_task(async function () {
     10  const tab = await addTab(
     11    "chrome://mochitests/content/browser/devtools/server/tests/browser/test-window.xhtml"
     12  );
     13 
     14  await SpecialPowers.spawn(tab.linkedBrowser, [], async function () {
     15    const { require } = ChromeUtils.importESModule(
     16      "resource://devtools/shared/loader/Loader.sys.mjs"
     17    );
     18    const {
     19      HighlighterEnvironment,
     20    } = require("resource://devtools/server/actors/highlighters.js");
     21    const {
     22      CanvasFrameAnonymousContentHelper,
     23    } = require("resource://devtools/server/actors/highlighters/utils/markup.js");
     24    const doc = content.document;
     25 
     26    const nodeBuilder = () => {
     27      const root = doc.createElement("div");
     28      const child = doc.createElement("div");
     29      child.style = "width:200px;height:200px;background:red;";
     30      child.id = "child-element";
     31      child.className = "child-element";
     32      child.textContent = "test element";
     33      root.appendChild(child);
     34      return root;
     35    };
     36 
     37    info("Building the helper");
     38    const env = new HighlighterEnvironment();
     39    env.initFromWindow(doc.defaultView);
     40    const helper = new CanvasFrameAnonymousContentHelper(env, nodeBuilder);
     41 
     42    ok(!helper.content, "The AnonymousContent was not inserted in the window");
     43    ok(
     44      !helper.getTextContentForElement("child-element"),
     45      "No text content is returned"
     46    );
     47 
     48    env.destroy();
     49    helper.destroy();
     50  });
     51 
     52  gBrowser.removeCurrentTab();
     53 });