Chrome DevTools - How are computed properties populated?

Chrome(10y ago)

#Where is the computed properties pane defined?

The computed style properties pane is defined in elements/ComputedStyleSidebarPane.js file.

The pane holds computed properties and computed "inherited" properties.

It's interesting that the inherited properties checkbox toggles the WebInspector.settings.showInheritedComputedStyleProperties setting. Making the inherited properties checkbox a devtools setting means that you can toggle inherited properties on, navigate to sources and back to elements and it's still on.

It's parent class is WebInspector.ElementsSidebarPane

WebInspector.ComputedStyleSidebarPane = function () {
WebInspector.ElementsSidebarPane.call(
this,
WebInspector.UIString("Computed Style")
);

var inheritedCheckBox = WebInspector.SettingsUI.createSettingCheckbox(
WebInspector.UIString("Show inherited properties"),
WebInspector.settings.showInheritedComputedStyleProperties,
true
);

WebInspector.settings.showInheritedComputedStyleProperties.addChangeListener(
this._showInheritedComputedStyleChanged.bind(this)
);

this._propertiesContainer = this.bodyElement.createChild("div", "monospace");
};
WebInspector.ComputedStyleSidebarPane = function () {
WebInspector.ElementsSidebarPane.call(
this,
WebInspector.UIString("Computed Style")
);

var inheritedCheckBox = WebInspector.SettingsUI.createSettingCheckbox(
WebInspector.UIString("Show inherited properties"),
WebInspector.settings.showInheritedComputedStyleProperties,
true
);

WebInspector.settings.showInheritedComputedStyleProperties.addChangeListener(
this._showInheritedComputedStyleChanged.bind(this)
);

this._propertiesContainer = this.bodyElement.createChild("div", "monospace");
};
#functionality:
  • setNode
  • doUpdate
  • setHostingPane
  • setFilterBoxContainer
  • _onTraceProperty
  • _showInheritedComputedStyleChanged
  • _processColor
  • _innerRebuildUpdate
  • _isPropertyInherited
  • _updateFilter

#How is the list of properties populated?