@@ -795,7 +795,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
795795 return this . #domTreeWidget. selectedDOMNode ( ) ;
796796 }
797797
798- selectDOMNode ( node : SDK . DOMModel . DOMNode , focus ?: boolean ) : void {
798+ selectDOMNode ( node : SDK . DOMModel . DOMNode | SDK . DOMModel . AdoptedStyleSheet , focus ?: boolean ) : void {
799799 this . #domTreeWidget. selectDOMNode ( node , focus ) ;
800800 }
801801
@@ -899,6 +899,18 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
899899 this . notFirstInspectElement = true ;
900900 }
901901
902+ async revealAndSelectAdoptedStyleSheet ( nodeToReveal : SDK . DOMModel . AdoptedStyleSheet , opts ?: RevealAndSelectNodeOpts ) :
903+ Promise < void > {
904+ const { showPanel = true , focusNode = false } = opts ?? { } ;
905+ this . omitDefaultSelection = true ;
906+
907+ if ( showPanel ) {
908+ await UI . ViewManager . ViewManager . instance ( ) . showView ( 'elements' , false , ! focus ) ;
909+ }
910+ this . selectDOMNode ( nodeToReveal , focusNode ) ;
911+ delete this . omitDefaultSelection ;
912+ }
913+
902914 private showUAShadowDOMChanged ( ) : void {
903915 this . #domTreeWidget. reload ( ) ;
904916 }
@@ -1309,10 +1321,12 @@ export class ContextMenuProvider implements
13091321 }
13101322}
13111323
1312- export class DOMNodeRevealer implements
1313- Common . Revealer . Revealer < SDK . DOMModel . DOMNode | SDK . DOMModel . DeferredDOMNode | SDK . RemoteObject . RemoteObject > {
1314- reveal ( node : SDK . DOMModel . DOMNode | SDK . DOMModel . DeferredDOMNode | SDK . RemoteObject . RemoteObject , omitFocus ?: boolean ) :
1315- Promise < void > {
1324+ export class DOMNodeRevealer implements Common . Revealer . Revealer <
1325+ SDK . DOMModel . DOMNode | SDK . DOMModel . DeferredDOMNode | SDK . RemoteObject . RemoteObject | SDK . DOMModel . AdoptedStyleSheet > {
1326+ reveal (
1327+ node : SDK . DOMModel . DOMNode | SDK . DOMModel . DeferredDOMNode | SDK . RemoteObject . RemoteObject |
1328+ SDK . DOMModel . AdoptedStyleSheet ,
1329+ omitFocus ?: boolean ) : Promise < void > {
13161330 const panel = ElementsPanel . instance ( ) ;
13171331 panel . pendingNodeReveal = true ;
13181332
@@ -1332,7 +1346,7 @@ export class DOMNodeRevealer implements
13321346
13331347 function revealPromise (
13341348 resolve : ( ) => void , reject : ( arg0 : Platform . UserVisibleError . UserVisibleError ) => void ) : void {
1335- if ( node instanceof SDK . DOMModel . DOMNode ) {
1349+ if ( node instanceof SDK . DOMModel . DOMNode || node instanceof SDK . DOMModel . AdoptedStyleSheet ) {
13361350 onNodeResolved ( ( node ) ) ;
13371351 } else if ( node instanceof SDK . DOMModel . DeferredDOMNode ) {
13381352 ( node ) . resolve ( checkDeferredDOMNodeThenReveal ) ;
@@ -1346,14 +1360,15 @@ export class DOMNodeRevealer implements
13461360 }
13471361 }
13481362
1349- function onNodeResolved ( resolvedNode : SDK . DOMModel . DOMNode ) : void {
1363+ function onNodeResolved ( resolvedNode : SDK . DOMModel . DOMNode | SDK . DOMModel . AdoptedStyleSheet ) : void {
13501364 panel . pendingNodeReveal = false ;
13511365
13521366 // A detached node could still have a parent and ownerDocument
13531367 // properties, which means stepping up through the hierarchy to ensure
13541368 // that the root node is the document itself. Any break implies
13551369 // detachment.
1356- let currentNode : SDK . DOMModel . DOMNode = resolvedNode ;
1370+ let currentNode : SDK . DOMModel . DOMNode =
1371+ resolvedNode instanceof SDK . DOMModel . AdoptedStyleSheet ? resolvedNode . parent : resolvedNode ;
13571372 while ( currentNode . parentNode ) {
13581373 currentNode = currentNode . parentNode ;
13591374 }
@@ -1367,7 +1382,11 @@ export class DOMNodeRevealer implements
13671382 }
13681383
13691384 if ( resolvedNode ) {
1370- void panel . revealAndSelectNode ( resolvedNode , { showPanel : true , focusNode : ! omitFocus } ) . then ( resolve ) ;
1385+ const opts : RevealAndSelectNodeOpts = { showPanel : true , focusNode : ! omitFocus } ;
1386+ const promise = resolvedNode instanceof SDK . DOMModel . AdoptedStyleSheet ?
1387+ panel . revealAndSelectAdoptedStyleSheet ( resolvedNode , opts ) :
1388+ panel . revealAndSelectNode ( resolvedNode , opts ) ;
1389+ void promise . then ( resolve ) ;
13711390 return ;
13721391 }
13731392 const msg = i18nString ( UIStrings . nodeCannotBeFoundInTheCurrent ) ;
0 commit comments