/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; // Test that the eyedropper icons in the toolbar and in the color picker aren't displayed // when the page isn't an HTML one. const TEST_URL = URL_ROOT_SSL + "doc_inspector_eyedropper_disabled.xhtml"; const TEST_URL_2 = "data:text/html;charset=utf-8,

HTML test page

"; add_task(async function () { await SpecialPowers.pushPermissions([ { type: "allowXULXBL", allow: true, context: URL_ROOT_SSL }, ]); const { inspector } = await openInspectorForURL(TEST_URL); info("Check the inspector toolbar"); let button = inspector.panelDoc.querySelector("#inspector-eyedropper-toggle"); ok(isDisabled(button), "The button is hidden in the toolbar"); info("Check the color picker"); await selectNode("#box", inspector); // Find the color swatch in the rule-view. let ruleView = inspector.getPanel("ruleview").view; let ruleViewDocument = ruleView.styleDocument; let swatchEl = ruleViewDocument.querySelector(".ruleview-colorswatch"); info("Open the color picker"); let cPicker = ruleView.tooltips.getTooltip("colorPicker"); let onColorPickerReady = cPicker.once("ready"); swatchEl.click(); await onColorPickerReady; button = cPicker.tooltip.container.querySelector("#eyedropper-button"); ok(isDisabled(button), "The button is disabled in the color picker"); // Close the picker to avoid pending Promise when the connection closes because of // the navigation to the HTML document (See Bug 1721369). cPicker.hide(); info("Navigate to a HTML document"); const toolbarUpdated = inspector.once("inspector-toolbar-updated"); await navigateTo(TEST_URL_2); await toolbarUpdated; info("Check the inspector toolbar in HTML document"); button = inspector.panelDoc.querySelector("#inspector-eyedropper-toggle"); ok(!isDisabled(button), "The button is enabled in the toolbar"); info("Check the color picker in HTML document"); // Find the color swatch in the rule-view. await selectNode("h1", inspector); ruleView = inspector.getPanel("ruleview").view; ruleViewDocument = ruleView.styleDocument; swatchEl = ruleViewDocument.querySelector(".ruleview-colorswatch"); info("Open the color picker in HTML document"); cPicker = ruleView.tooltips.getTooltip("colorPicker"); onColorPickerReady = cPicker.once("ready"); swatchEl.click(); await onColorPickerReady; button = cPicker.tooltip.container.querySelector("#eyedropper-button"); ok(!isDisabled(button), "The button is enabled in the color picker"); }); function isDisabled(button) { return button.disabled; }