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