@@ -449,6 +449,10 @@ export class AiAssistancePanel extends UI.Panel.Panel {
449449 SourcesPanel . SourcesPanel . SourcesPanel , this . #selectDefaultAgentIfNeeded, this ) ;
450450 UI . Context . Context . instance ( ) . addFlavorChangeListener (
451451 TimelinePanel . TimelinePanel . TimelinePanel , this . #selectDefaultAgentIfNeeded, this ) ;
452+ SDK . TargetManager . TargetManager . instance ( ) . addModelListener (
453+ SDK . DOMModel . DOMModel , SDK . DOMModel . Events . AttrModified , this . #handleDOMNodeAttrChange, this ) ;
454+ SDK . TargetManager . TargetManager . instance ( ) . addModelListener (
455+ SDK . DOMModel . DOMModel , SDK . DOMModel . Events . AttrRemoved , this . #handleDOMNodeAttrChange, this ) ;
452456 Host . userMetrics . actionTaken ( Host . UserMetrics . Action . AiAssistancePanelOpened ) ;
453457 }
454458
@@ -473,6 +477,18 @@ export class AiAssistancePanel extends UI.Panel.Panel {
473477 SourcesPanel . SourcesPanel . SourcesPanel , this . #selectDefaultAgentIfNeeded, this ) ;
474478 UI . Context . Context . instance ( ) . removeFlavorChangeListener (
475479 TimelinePanel . TimelinePanel . TimelinePanel , this . #selectDefaultAgentIfNeeded, this ) ;
480+ SDK . TargetManager . TargetManager . instance ( ) . removeModelListener (
481+ SDK . DOMModel . DOMModel ,
482+ SDK . DOMModel . Events . AttrModified ,
483+ this . #handleDOMNodeAttrChange,
484+ this ,
485+ ) ;
486+ SDK . TargetManager . TargetManager . instance ( ) . removeModelListener (
487+ SDK . DOMModel . DOMModel ,
488+ SDK . DOMModel . Events . AttrRemoved ,
489+ this . #handleDOMNodeAttrChange,
490+ this ,
491+ ) ;
476492 }
477493
478494 #handleAidaAvailabilityChange = async ( ) : Promise < void > => {
@@ -508,6 +524,15 @@ export class AiAssistancePanel extends UI.Panel.Panel {
508524 this . #updateAgentState( this . #currentAgent) ;
509525 } ;
510526
527+ #handleDOMNodeAttrChange =
528+ ( ev : Common . EventTarget . EventTargetEvent < { node : SDK . DOMModel . DOMNode , name : string } > ) : void => {
529+ if ( this . #selectedElement?. getItem ( ) === ev . data . node ) {
530+ if ( ev . data . name === 'class' || ev . data . name === 'id' ) {
531+ void this . doUpdate ( ) ;
532+ }
533+ }
534+ } ;
535+
511536 #handleNetworkRequestFlavorChange =
512537 ( ev : Common . EventTarget . EventTargetEvent < SDK . NetworkRequest . NetworkRequest > ) : void => {
513538 if ( this . #selectedRequest?. getItem ( ) === ev . data ) {
0 commit comments