/* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; const PAGE_URL = "data:text/html;charset=utf-8,
"; add_task(async function () { const tab = await addTab(PAGE_URL); const toolbox = await openToolboxForTab(tab, "inspector", "bottom"); const inspector = toolbox.getCurrentPanel(); const root = await inspector.walker.getRootNode(); const body = await inspector.walker.querySelector(root, "body"); const node = await inspector.walker.querySelector(root, "div"); is(inspector.selection.nodeFront, body, "Body is selected by default"); // Listen to selection changed const onSelectionChanged = toolbox.once("selection-changed"); info("Select the div and wait for the selection-changed event to be fired."); inspector.selection.setNodeFront(node, { reason: "browser-context-menu" }); await onSelectionChanged; is(inspector.selection.nodeFront, node, "Div is now selected"); // Listen to cleared selection changed const onClearSelectionChanged = toolbox.once("selection-changed"); info( "Clear the selection and wait for the selection-changed event to be fired." ); inspector.selection.setNodeFront(null); await onClearSelectionChanged; is(inspector.selection.nodeFront, null, "The selection is null as expected"); });