@@ -69,8 +69,8 @@ enum SpecificPseudoStates {
6969}
7070
7171export class ElementStatePaneWidget extends UI . Widget . Widget {
72- private readonly inputs : HTMLInputElement [ ] ;
73- private readonly inputStates : WeakMap < HTMLInputElement , string > ;
72+ private readonly inputs : UI . UIUtils . CheckboxLabel [ ] ;
73+ private readonly inputStates : WeakMap < UI . UIUtils . CheckboxLabel , string > ;
7474 private readonly duals : Map < SpecificPseudoStates , SpecificPseudoStates > ;
7575 private cssModel ?: SDK . CSSModel . CSSModel | null ;
7676 private specificPseudoStateDivs : Map < SpecificPseudoStates , HTMLDivElement > ;
@@ -82,7 +82,7 @@ export class ElementStatePaneWidget extends UI.Widget.Widget {
8282 this . registerRequiredCSS ( elementStatePaneWidgetStyles ) ;
8383 this . contentElement . className = 'styles-element-state-pane' ;
8484 this . contentElement . setAttribute ( 'jslog' , `${ VisualLogging . pane ( 'element-states' ) } ` ) ;
85- const inputs : HTMLInputElement [ ] = [ ] ;
85+ const inputs : UI . UIUtils . CheckboxLabel [ ] = [ ] ;
8686 this . inputs = inputs ;
8787 this . inputStates = new WeakMap ( ) ;
8888 this . duals = new Map ( ) ;
@@ -95,7 +95,7 @@ export class ElementStatePaneWidget extends UI.Widget.Widget {
9595 } ;
9696 const clickListener = ( event : MouseEvent ) : void => {
9797 const node = UI . Context . Context . instance ( ) . flavor ( SDK . DOMModel . DOMNode ) ;
98- if ( ! node || ! ( event . target instanceof HTMLInputElement ) ) {
98+ if ( ! node || ! ( event . target instanceof UI . UIUtils . CheckboxLabel ) ) {
9999 return ;
100100 }
101101 const state = this . inputStates . get ( event . target ) ;
@@ -112,13 +112,11 @@ export class ElementStatePaneWidget extends UI.Widget.Widget {
112112 const createElementStateCheckbox = ( state : string ) : HTMLDivElement => {
113113 const div = document . createElement ( 'div' ) ;
114114 div . id = state ;
115- const label = UI . UIUtils . CheckboxLabel . createWithStringLiteral ( ':' + state , undefined , undefined , true ) ;
116- const input = label . checkboxElement ;
117- this . inputStates . set ( input , state ) ;
118- input . addEventListener ( 'click' , ( clickListener as EventListener ) , false ) ;
119- input . setAttribute ( 'jslog' , `${ VisualLogging . toggle ( ) . track ( { change : true } ) . context ( state ) } ` ) ;
120- inputs . push ( input ) ;
121- div . appendChild ( label ) ;
115+ const checkbox = UI . UIUtils . CheckboxLabel . createWithStringLiteral ( ':' + state , undefined , state , true ) ;
116+ this . inputStates . set ( checkbox , state ) ;
117+ checkbox . addEventListener ( 'click' , ( clickListener as EventListener ) , false ) ;
118+ inputs . push ( checkbox ) ;
119+ div . appendChild ( checkbox ) ;
122120 return div ;
123121 } ;
124122 const setDualStateCheckboxes = ( first : SpecificPseudoStates , second : SpecificPseudoStates ) : void => {
@@ -128,14 +126,13 @@ export class ElementStatePaneWidget extends UI.Widget.Widget {
128126 const createEmulateFocusedPageCheckbox = ( ) : Element => {
129127 const div = document . createElement ( 'div' ) ;
130128 div . classList . add ( 'page-state-checkbox' ) ;
131- const label = UI . UIUtils . CheckboxLabel . create (
129+ const checkbox = UI . UIUtils . CheckboxLabel . create (
132130 i18nString ( UIStrings . emulateFocusedPage ) , undefined , undefined , 'emulate-page-focus' , true ) ;
133- UI . SettingsUI . bindCheckbox (
134- label . checkboxElement , Common . Settings . Settings . instance ( ) . moduleSetting ( 'emulate-page-focus' ) , {
135- enable : Host . UserMetrics . Action . ToggleEmulateFocusedPageFromStylesPaneOn ,
136- disable : Host . UserMetrics . Action . ToggleEmulateFocusedPageFromStylesPaneOff ,
137- } ) ;
138- UI . Tooltip . Tooltip . install ( label , i18nString ( UIStrings . emulatesAFocusedPage ) ) ;
131+ UI . SettingsUI . bindCheckbox ( checkbox , Common . Settings . Settings . instance ( ) . moduleSetting ( 'emulate-page-focus' ) , {
132+ enable : Host . UserMetrics . Action . ToggleEmulateFocusedPageFromStylesPaneOn ,
133+ disable : Host . UserMetrics . Action . ToggleEmulateFocusedPageFromStylesPaneOff ,
134+ } ) ;
135+ UI . Tooltip . Tooltip . install ( checkbox , i18nString ( UIStrings . emulatesAFocusedPage ) ) ;
139136
140137 const learnMoreButton = new Buttons . Button . Button ( ) ;
141138 learnMoreButton . data = {
@@ -150,7 +147,7 @@ export class ElementStatePaneWidget extends UI.Widget.Widget {
150147 ( ) => UI . UIUtils . openInNewTab (
151148 'https://developer.chrome.com/docs/devtools/rendering/apply-effects#emulate_a_focused_page' ) ) ;
152149
153- div . appendChild ( label ) ;
150+ div . appendChild ( checkbox ) ;
154151 div . appendChild ( learnMoreButton ) ;
155152 return div ;
156153 } ;
0 commit comments