diff --git a/devtools/client/inspector/test/browser.ini b/devtools/client/inspector/test/browser.ini index 27298825443a..ba95ce2aa8c5 100644 --- a/devtools/client/inspector/test/browser.ini +++ b/devtools/client/inspector/test/browser.ini @@ -212,6 +212,7 @@ skip-if = (os == 'win' && processor == 'aarch64') # bug 1533492 [browser_inspector_reload_iframe.js] [browser_inspector_reload_invalid_iframe.js] [browser_inspector_reload_missing-iframe-node.js] +[browser_inspector_reload_shadow_dom.js] [browser_inspector_reload_xul.js] [browser_inspector_remove-iframe-during-load.js] [browser_inspector_search-01.js] diff --git a/devtools/client/inspector/test/browser_inspector_reload_shadow_dom.js b/devtools/client/inspector/test/browser_inspector_reload_shadow_dom.js new file mode 100644 index 000000000000..b769ca821a07 --- /dev/null +++ b/devtools/client/inspector/test/browser_inspector_reload_shadow_dom.js @@ -0,0 +1,61 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +"use strict"; + +// Check that the markup view selection is preserved even if the selection is in shadow-dom. + +const HTML = ` + + + + Test + + +

Shadow DOM test

+ +
content
+
+ + + +`; + +const TEST_URI = "data:text/html;charset=utf-8," + encodeURI(HTML); + +add_task(async function() { + const { inspector } = await openInspectorForURL(TEST_URI); + + info("Select node in shadow DOM"); + const nodeFront = await getNodeFrontInShadowDom( + "slot", + "test-component", + inspector + ); + await selectNode(nodeFront, inspector); + + info("Reloading page."); + await navigateTo(TEST_URI); + + const reloadedNodeFront = await getNodeFrontInShadowDom( + "slot", + "test-component", + inspector + ); + + is( + inspector.selection.nodeFront, + reloadedNodeFront, + " is selected after reload." + ); +});