#include "third_party/blink/renderer/core/inspector/inspector_css_agent.h"
#include <utility>
#include "third_party/blink/public/common/metrics/document_update_reason.h"
#include "third_party/blink/renderer/core/animation/css/css_animation_data.h"
#include "third_party/blink/renderer/core/css/cascade_layer.h"
#include "third_party/blink/renderer/core/css/cascade_layer_map.h"
#include "third_party/blink/renderer/core/css/check_pseudo_has_cache_scope.h"
#include "third_party/blink/renderer/core/css/css_color.h"
#include "third_party/blink/renderer/core/css/css_computed_style_declaration.h"
#include "third_party/blink/renderer/core/css/css_container_rule.h"
#include "third_party/blink/renderer/core/css/css_default_style_sheets.h"
#include "third_party/blink/renderer/core/css/css_font_face.h"
#include "third_party/blink/renderer/core/css/css_font_face_source.h"
#include "third_party/blink/renderer/core/css/css_font_palette_values_rule.h"
#include "third_party/blink/renderer/core/css/css_font_selector.h"
#include "third_party/blink/renderer/core/css/css_gradient_value.h"
#include "third_party/blink/renderer/core/css/css_import_rule.h"
#include "third_party/blink/renderer/core/css/css_keyframe_rule.h"
#include "third_party/blink/renderer/core/css/css_keyframes_rule.h"
#include "third_party/blink/renderer/core/css/css_layer_block_rule.h"
#include "third_party/blink/renderer/core/css/css_layer_statement_rule.h"
#include "third_party/blink/renderer/core/css/css_media_rule.h"
#include "third_party/blink/renderer/core/css/css_property_name.h"
#include "third_party/blink/renderer/core/css/css_property_names.h"
#include "third_party/blink/renderer/core/css/css_property_rule.h"
#include "third_party/blink/renderer/core/css/css_property_value_set.h"
#include "third_party/blink/renderer/core/css/css_rule.h"
#include "third_party/blink/renderer/core/css/css_rule_list.h"
#include "third_party/blink/renderer/core/css/css_scope_rule.h"
#include "third_party/blink/renderer/core/css/css_style_rule.h"
#include "third_party/blink/renderer/core/css/css_style_sheet.h"
#include "third_party/blink/renderer/core/css/css_supports_rule.h"
#include "third_party/blink/renderer/core/css/css_variable_data.h"
#include "third_party/blink/renderer/core/css/font_face.h"
#include "third_party/blink/renderer/core/css/font_size_functions.h"
#include "third_party/blink/renderer/core/css/media_list.h"
#include "third_party/blink/renderer/core/css/media_query.h"
#include "third_party/blink/renderer/core/css/media_values.h"
#include "third_party/blink/renderer/core/css/out_of_flow_data.h"
#include "third_party/blink/renderer/core/css/parser/css_parser.h"
#include "third_party/blink/renderer/core/css/parser/css_parser_context.h"
#include "third_party/blink/renderer/core/css/properties/computed_style_utils.h"
#include "third_party/blink/renderer/core/css/properties/css_property.h"
#include "third_party/blink/renderer/core/css/properties/css_property_ref.h"
#include "third_party/blink/renderer/core/css/resolver/scoped_style_resolver.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
#include "third_party/blink/renderer/core/css/resolver/style_rule_usage_tracker.h"
#include "third_party/blink/renderer/core/css/style_change_reason.h"
#include "third_party/blink/renderer/core/css/style_engine.h"
#include "third_party/blink/renderer/core/css/style_rule.h"
#include "third_party/blink/renderer/core/css/style_rule_font_palette_values.h"
#include "third_party/blink/renderer/core/css/style_sheet.h"
#include "third_party/blink/renderer/core/css/style_sheet_contents.h"
#include "third_party/blink/renderer/core/css/style_sheet_list.h"
#include "third_party/blink/renderer/core/display_lock/display_lock_utilities.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/dom/dom_node_ids.h"
#include "third_party/blink/renderer/core/dom/flat_tree_traversal.h"
#include "third_party/blink/renderer/core/dom/layout_tree_builder_traversal.h"
#include "third_party/blink/renderer/core/dom/node.h"
#include "third_party/blink/renderer/core/dom/pseudo_element.h"
#include "third_party/blink/renderer/core/dom/slot_assignment_engine.h"
#include "third_party/blink/renderer/core/dom/text.h"
#include "third_party/blink/renderer/core/dom/tree_scope.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/html/html_document.h"
#include "third_party/blink/renderer/core/html/html_frame_owner_element.h"
#include "third_party/blink/renderer/core/html/html_head_element.h"
#include "third_party/blink/renderer/core/inspector/identifiers_factory.h"
#include "third_party/blink/renderer/core/inspector/inspected_frames.h"
#include "third_party/blink/renderer/core/inspector/inspector_contrast.h"
#include "third_party/blink/renderer/core/inspector/inspector_history.h"
#include "third_party/blink/renderer/core/inspector/inspector_network_agent.h"
#include "third_party/blink/renderer/core/inspector/inspector_resource_container.h"
#include "third_party/blink/renderer/core/inspector/inspector_resource_content_loader.h"
#include "third_party/blink/renderer/core/inspector/inspector_style_resolver.h"
#include "third_party/blink/renderer/core/inspector/protocol/css.h"
#include "third_party/blink/renderer/core/layout/hit_test_result.h"
#include "third_party/blink/renderer/core/layout/inline/inline_cursor.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/layout/layout_object_inlines.h"
#include "third_party/blink/renderer/core/layout/layout_text.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/loader/document_loader.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/style/computed_style_constants.h"
#include "third_party/blink/renderer/core/style/style_generated_image.h"
#include "third_party/blink/renderer/core/style/style_image.h"
#include "third_party/blink/renderer/core/style_property_shorthand.h"
#include "third_party/blink/renderer/core/svg/svg_element.h"
#include "third_party/blink/renderer/core/view_transition/view_transition.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/fonts/font.h"
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#include "third_party/blink/renderer/platform/fonts/font_custom_platform_data.h"
#include "third_party/blink/renderer/platform/fonts/shaping/caching_word_shaper.h"
#include "third_party/blink/renderer/platform/fonts/shaping/shape_result_view.h"
#include "third_party/blink/renderer/platform/heap/collection_support/clear_collection_scope.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/text/text_run.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
#include "third_party/blink/renderer/platform/wtf/casting.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
#include "third_party/blink/renderer/platform/wtf/text/string_concatenate.h"
namespace blink {
namespace {
int g_frontend_operation_counter = …;
class FrontendOperationScope { … };
Element* GetPseudoIdAndTag(Element* element,
PseudoId& element_pseudo_id,
AtomicString& view_transition_name) { … }
String CreateShorthandValue(Document& document,
const String& shorthand,
const String& old_text,
const String& longhand,
const String& new_value) { … }
HeapVector<Member<CSSStyleRule>> FilterDuplicateRules(
RuleIndexList* rule_list) { … }
void CollectPlatformFontsFromRunFontDataList(
const HeapVector<ShapeResult::RunFontData>& run_font_data_list,
HashMap<std::pair<int, String>, std::pair<int, String>>* font_stats) { … }
}
EnableCallback;
TakeComputedStyleUpdatesCallback;
enum ForcePseudoClassFlags { … };
static unsigned ComputePseudoClassMask(
std::unique_ptr<protocol::Array<String>> pseudo_class_array) { … }
class InspectorCSSAgent::StyleSheetAction : public InspectorHistory::Action { … };
class InspectorCSSAgent::SetStyleSheetTextAction final
: public InspectorCSSAgent::StyleSheetAction { … };
class InspectorCSSAgent::ModifyRuleAction final
: public InspectorCSSAgent::StyleSheetAction { … };
class InspectorCSSAgent::SetElementStyleAction final
: public InspectorCSSAgent::StyleSheetAction { … };
class InspectorCSSAgent::AddRuleAction final
: public InspectorCSSAgent::StyleSheetAction { … };
CSSStyleRule* InspectorCSSAgent::AsCSSStyleRule(CSSRule* rule) { … }
CSSMediaRule* InspectorCSSAgent::AsCSSMediaRule(CSSRule* rule) { … }
CSSContainerRule* InspectorCSSAgent::AsCSSContainerRule(CSSRule* rule) { … }
CSSSupportsRule* InspectorCSSAgent::AsCSSSupportsRule(CSSRule* rule) { … }
CSSScopeRule* InspectorCSSAgent::AsCSSScopeRule(CSSRule* rule) { … }
InspectorCSSAgent::InspectorCSSAgent(
InspectorDOMAgent* dom_agent,
InspectedFrames* inspected_frames,
InspectorNetworkAgent* network_agent,
InspectorResourceContentLoader* resource_content_loader,
InspectorResourceContainer* resource_container)
: … { … }
InspectorCSSAgent::~InspectorCSSAgent() = default;
void InspectorCSSAgent::Restore() { … }
void InspectorCSSAgent::FlushPendingProtocolNotifications() { … }
void InspectorCSSAgent::Reset() { … }
void InspectorCSSAgent::ResetNonPersistentData() { … }
void InspectorCSSAgent::enable(std::unique_ptr<EnableCallback> prp_callback) { … }
void InspectorCSSAgent::ResourceContentLoaded(
std::unique_ptr<EnableCallback> callback) { … }
void InspectorCSSAgent::CompleteEnabled() { … }
void InspectorCSSAgent::TriggerFontsUpdatedForDocument(Document* document) { … }
protocol::Response InspectorCSSAgent::disable() { … }
void InspectorCSSAgent::DidCommitLoadForLocalFrame(LocalFrame* frame) { … }
void InspectorCSSAgent::MediaQueryResultChanged() { … }
void InspectorCSSAgent::FontsUpdated(
const FontFace* font,
const String& src,
const FontCustomPlatformData* fontCustomPlatformData) { … }
void InspectorCSSAgent::ActiveStyleSheetsUpdated(Document* document) { … }
void InspectorCSSAgent::UpdateActiveStyleSheets(Document* document) { … }
void InspectorCSSAgent::SetActiveStyleSheets(
Document* document,
const HeapVector<Member<CSSStyleSheet>>& all_sheets_vector) { … }
void InspectorCSSAgent::DocumentDetached(Document* document) { … }
void InspectorCSSAgent::ForcePseudoState(Element* element,
CSSSelector::PseudoType pseudo_type,
bool* result) { … }
protocol::Response InspectorCSSAgent::getMediaQueries(
std::unique_ptr<protocol::Array<protocol::CSS::CSSMedia>>* medias) { … }
std::unique_ptr<protocol::CSS::CSSLayerData>
InspectorCSSAgent::BuildLayerDataObject(const CascadeLayer* layer,
unsigned& max_order) { … }
protocol::Response InspectorCSSAgent::getLayersForNode(
int node_id,
std::unique_ptr<protocol::CSS::CSSLayerData>* root_layer) { … }
protocol::Response InspectorCSSAgent::getLocationForSelector(
const String& style_sheet_id,
const String& selector_text,
std::unique_ptr<protocol::Array<protocol::CSS::SourceRange>>* ranges) { … }
protocol::Response InspectorCSSAgent::getMatchedStylesForNode(
int node_id,
Maybe<protocol::CSS::CSSStyle>* inline_style,
Maybe<protocol::CSS::CSSStyle>* attributes_style,
Maybe<protocol::Array<protocol::CSS::RuleMatch>>* matched_css_rules,
Maybe<protocol::Array<protocol::CSS::PseudoElementMatches>>*
pseudo_id_matches,
Maybe<protocol::Array<protocol::CSS::InheritedStyleEntry>>*
inherited_entries,
Maybe<protocol::Array<protocol::CSS::InheritedPseudoElementMatches>>*
inherited_pseudo_id_matches,
Maybe<protocol::Array<protocol::CSS::CSSKeyframesRule>>*
css_keyframes_rules,
Maybe<protocol::Array<protocol::CSS::CSSPositionTryRule>>*
css_position_try_rules,
Maybe<int>* active_position_fallback_index,
Maybe<protocol::Array<protocol::CSS::CSSPropertyRule>>* css_property_rules,
Maybe<protocol::Array<protocol::CSS::CSSPropertyRegistration>>*
css_property_registrations,
Maybe<protocol::CSS::CSSFontPaletteValuesRule>*
css_font_palette_values_rule,
Maybe<int>* parent_layout_node_id) { … }
template <class CSSRuleCollection>
static CSSKeyframesRule* FindKeyframesRule(CSSRuleCollection* css_rules,
StyleRuleKeyframes* keyframes_rule) { … }
template <class CSSRuleCollection>
static CSSPositionTryRule* FindPositionTryRule(
CSSRuleCollection* css_rules,
StyleRulePositionTry* position_try_rule) { … }
std::unique_ptr<protocol::Array<protocol::CSS::CSSPositionTryRule>>
InspectorCSSAgent::PositionTryRulesForElement(
Element* element,
std::optional<size_t> active_position_try_index) { … }
template <class CSSRuleCollection>
static CSSPropertyRule* FindPropertyRule(CSSRuleCollection* css_rules,
StyleRuleProperty* property_rule) { … }
std::unique_ptr<protocol::CSS::CSSPropertyRegistration>
BuildObjectForPropertyRegistration(const AtomicString& name,
const PropertyRegistration& registration) { … }
std::pair<
std::unique_ptr<protocol::Array<protocol::CSS::CSSPropertyRule>>,
std::unique_ptr<protocol::Array<protocol::CSS::CSSPropertyRegistration>>>
InspectorCSSAgent::CustomPropertiesForNode(Element* element) { … }
template <class CSSRuleCollection>
static CSSFontPaletteValuesRule* FindFontPaletteValuesRule(
CSSRuleCollection* css_rules,
StyleRuleFontPaletteValues* values_rule) { … }
std::unique_ptr<protocol::CSS::CSSFontPaletteValuesRule>
InspectorCSSAgent::FontPalettesForNode(Element& element) { … }
CSSKeyframesRule*
InspectorCSSAgent::FindKeyframesRuleFromUAViewTransitionStylesheet(
Element* element,
StyleRuleKeyframes* keyframes_style_rule) { … }
CSSKeyframesRule* InspectorCSSAgent::FindCSSOMWrapperForKeyframesRule(
Element* element,
StyleRuleKeyframes* keyframes_style_rule) { … }
std::unique_ptr<protocol::Array<protocol::CSS::CSSKeyframesRule>>
InspectorCSSAgent::AnimationsForNode(Element* element,
Element* animating_element) { … }
protocol::Response InspectorCSSAgent::getInlineStylesForNode(
int node_id,
Maybe<protocol::CSS::CSSStyle>* inline_style,
Maybe<protocol::CSS::CSSStyle>* attributes_style) { … }
protocol::Response InspectorCSSAgent::getComputedStyleForNode(
int node_id,
std::unique_ptr<protocol::Array<protocol::CSS::CSSComputedStyleProperty>>*
style) { … }
void InspectorCSSAgent::CollectPlatformFontsForLayoutObject(
LayoutObject* layout_object,
HashMap<std::pair<int, String>, std::pair<int, String>>* font_stats,
unsigned descendants_depth) { … }
protocol::Response InspectorCSSAgent::getPlatformFontsForNode(
int node_id,
std::unique_ptr<protocol::Array<protocol::CSS::PlatformFontUsage>>*
platform_fonts) { … }
protocol::Response InspectorCSSAgent::getStyleSheetText(
const String& style_sheet_id,
String* result) { … }
protocol::Response InspectorCSSAgent::collectClassNames(
const String& style_sheet_id,
std::unique_ptr<protocol::Array<String>>* class_names) { … }
protocol::Response InspectorCSSAgent::setStyleSheetText(
const String& style_sheet_id,
const String& text,
protocol::Maybe<String>* source_map_url) { … }
static protocol::Response JsonRangeToSourceRange(
InspectorStyleSheetBase* inspector_style_sheet,
protocol::CSS::SourceRange* range,
SourceRange* source_range) { … }
protocol::Response InspectorCSSAgent::setRuleSelector(
const String& style_sheet_id,
std::unique_ptr<protocol::CSS::SourceRange> range,
const String& selector,
std::unique_ptr<protocol::CSS::SelectorList>* result) { … }
protocol::Response InspectorCSSAgent::setPropertyRulePropertyName(
const String& in_styleSheetId,
std::unique_ptr<protocol::CSS::SourceRange> in_range,
const String& in_propertyName,
std::unique_ptr<protocol::CSS::Value>* out_propertyName) { … }
protocol::Response InspectorCSSAgent::setKeyframeKey(
const String& style_sheet_id,
std::unique_ptr<protocol::CSS::SourceRange> range,
const String& key_text,
std::unique_ptr<protocol::CSS::Value>* result) { … }
protocol::Response InspectorCSSAgent::MultipleStyleTextsActions(
std::unique_ptr<protocol::Array<protocol::CSS::StyleDeclarationEdit>> edits,
HeapVector<Member<StyleSheetAction>>* actions) { … }
protocol::Response InspectorCSSAgent::setStyleTexts(
std::unique_ptr<protocol::Array<protocol::CSS::StyleDeclarationEdit>> edits,
protocol::Maybe<int> node_for_property_syntax_validation,
std::unique_ptr<protocol::Array<protocol::CSS::CSSStyle>>* result) { … }
protocol::Response InspectorCSSAgent::SetStyleText(
InspectorStyleSheetBase* inspector_style_sheet,
const SourceRange& range,
const String& text,
CSSStyleDeclaration*& result) { … }
protocol::Response InspectorCSSAgent::setMediaText(
const String& style_sheet_id,
std::unique_ptr<protocol::CSS::SourceRange> range,
const String& text,
std::unique_ptr<protocol::CSS::CSSMedia>* result) { … }
protocol::Response InspectorCSSAgent::setContainerQueryText(
const String& style_sheet_id,
std::unique_ptr<protocol::CSS::SourceRange> range,
const String& text,
std::unique_ptr<protocol::CSS::CSSContainerQuery>* result) { … }
protocol::Response InspectorCSSAgent::setScopeText(
const String& style_sheet_id,
std::unique_ptr<protocol::CSS::SourceRange> range,
const String& text,
std::unique_ptr<protocol::CSS::CSSScope>* result) { … }
protocol::Response InspectorCSSAgent::setSupportsText(
const String& style_sheet_id,
std::unique_ptr<protocol::CSS::SourceRange> range,
const String& text,
std::unique_ptr<protocol::CSS::CSSSupports>* result) { … }
protocol::Response InspectorCSSAgent::createStyleSheet(
const String& frame_id,
protocol::CSS::StyleSheetId* out_style_sheet_id) { … }
protocol::Response InspectorCSSAgent::addRule(
const String& style_sheet_id,
const String& rule_text,
std::unique_ptr<protocol::CSS::SourceRange> location,
protocol::Maybe<int> node_for_property_syntax_validation,
std::unique_ptr<protocol::CSS::CSSRule>* result) { … }
protocol::Response InspectorCSSAgent::forcePseudoState(
int node_id,
std::unique_ptr<protocol::Array<String>> forced_pseudo_classes) { … }
void InspectorCSSAgent::IncrementFocusedCountForAncestors(Element* element) { … }
void InspectorCSSAgent::DecrementFocusedCountForAncestors(Element* element) { … }
std::unique_ptr<protocol::CSS::CSSMedia> InspectorCSSAgent::BuildMediaObject(
const MediaList* media,
MediaListSource media_list_source,
const String& source_url,
CSSStyleSheet* parent_style_sheet) { … }
void InspectorCSSAgent::CollectMediaQueriesFromStyleSheet(
CSSStyleSheet* style_sheet,
protocol::Array<protocol::CSS::CSSMedia>* media_array,
protocol::Array<protocol::CSS::CSSRuleType>* rule_types) { … }
void InspectorCSSAgent::CollectMediaQueriesFromRule(
CSSRule* rule,
protocol::Array<protocol::CSS::CSSMedia>* media_array,
protocol::Array<protocol::CSS::CSSRuleType>* rule_types) { … }
std::unique_ptr<protocol::CSS::CSSContainerQuery>
InspectorCSSAgent::BuildContainerQueryObject(CSSContainerRule* rule) { … }
void InspectorCSSAgent::CollectContainerQueriesFromRule(
CSSRule* rule,
protocol::Array<protocol::CSS::CSSContainerQuery>* container_queries,
protocol::Array<protocol::CSS::CSSRuleType>* rule_types) { … }
std::unique_ptr<protocol::CSS::CSSSupports>
InspectorCSSAgent::BuildSupportsObject(CSSSupportsRule* rule) { … }
void InspectorCSSAgent::CollectSupportsFromRule(
CSSRule* rule,
protocol::Array<protocol::CSS::CSSSupports>* supports_list,
protocol::Array<protocol::CSS::CSSRuleType>* rule_types) { … }
std::unique_ptr<protocol::CSS::CSSLayer> InspectorCSSAgent::BuildLayerObject(
CSSLayerBlockRule* rule) { … }
std::unique_ptr<protocol::CSS::CSSLayer>
InspectorCSSAgent::BuildLayerObjectFromImport(CSSImportRule* rule) { … }
void InspectorCSSAgent::CollectLayersFromRule(
CSSRule* rule,
protocol::Array<protocol::CSS::CSSLayer>* layers_list,
protocol::Array<protocol::CSS::CSSRuleType>* rule_types) { … }
void InspectorCSSAgent::FillAncestorData(CSSRule* rule,
protocol::CSS::CSSRule* result) { … }
std::unique_ptr<protocol::CSS::CSSScope> InspectorCSSAgent::BuildScopeObject(
CSSScopeRule* rule) { … }
void InspectorCSSAgent::CollectScopesFromRule(
CSSRule* rule,
protocol::Array<protocol::CSS::CSSScope>* scopes_list,
protocol::Array<protocol::CSS::CSSRuleType>* rule_types) { … }
InspectorStyleSheetForInlineStyle* InspectorCSSAgent::AsInspectorStyleSheet(
Element* element) { … }
void InspectorCSSAgent::CollectAllDocumentStyleSheets(
Document* document,
HeapVector<Member<CSSStyleSheet>>& result) { … }
void InspectorCSSAgent::CollectStyleSheets(
CSSStyleSheet* style_sheet,
HeapVector<Member<CSSStyleSheet>>& result) { … }
InspectorStyleSheet* InspectorCSSAgent::BindStyleSheet(
CSSStyleSheet* style_sheet) { … }
String InspectorCSSAgent::StyleSheetId(CSSStyleSheet* style_sheet) { … }
String InspectorCSSAgent::UnbindStyleSheet(
InspectorStyleSheet* inspector_style_sheet) { … }
InspectorStyleSheet* InspectorCSSAgent::InspectorStyleSheetForRule(
CSSStyleRule* rule) { … }
InspectorStyleSheet* InspectorCSSAgent::ViaInspectorStyleSheet(
Document* document) { … }
protocol::Response InspectorCSSAgent::AssertEnabled() { … }
protocol::Response InspectorCSSAgent::AssertInspectorStyleSheetForId(
const String& style_sheet_id,
InspectorStyleSheet*& result) { … }
protocol::Response InspectorCSSAgent::AssertStyleSheetForId(
const String& style_sheet_id,
InspectorStyleSheetBase*& result) { … }
protocol::CSS::StyleSheetOrigin InspectorCSSAgent::DetectOrigin(
CSSStyleSheet* page_style_sheet,
Document* owner_document) { … }
std::unique_ptr<protocol::CSS::CSSRule> InspectorCSSAgent::BuildObjectForRule(
CSSStyleRule* rule,
Element* element,
PseudoId pseudo_id,
const AtomicString& pseudo_argument) { … }
std::unique_ptr<protocol::Array<protocol::CSS::RuleMatch>>
InspectorCSSAgent::BuildArrayForMatchedRuleList(
RuleIndexList* rule_list,
Element* element,
PseudoId pseudo_id,
const AtomicString& pseudo_argument) { … }
std::unique_ptr<protocol::CSS::CSSStyle>
InspectorCSSAgent::BuildObjectForAttributesStyle(Element* element) { … }
void InspectorCSSAgent::DidAddDocument(Document* document) { … }
void InspectorCSSAgent::WillRemoveDOMNode(Node* node) { … }
void InspectorCSSAgent::DidModifyDOMAttr(Element* element) { … }
void InspectorCSSAgent::DidMutateStyleSheet(CSSStyleSheet* css_style_sheet) { … }
void InspectorCSSAgent::GetTextPosition(wtf_size_t offset,
const String* text,
TextPosition* result) { … }
void InspectorCSSAgent::DidReplaceStyleSheetText(CSSStyleSheet* css_style_sheet,
const String& text) { … }
void InspectorCSSAgent::StyleSheetChanged(
InspectorStyleSheetBase* style_sheet) { … }
void InspectorCSSAgent::ResetPseudoStates() { … }
HeapVector<Member<CSSStyleDeclaration>> InspectorCSSAgent::MatchingStyles(
Element* element) { … }
CSSStyleDeclaration* InspectorCSSAgent::FindEffectiveDeclaration(
const CSSPropertyName& property_name,
const HeapVector<Member<CSSStyleDeclaration>>& styles) { … }
protocol::Response InspectorCSSAgent::setEffectivePropertyValueForNode(
int node_id,
const String& property_name,
const String& value) { … }
protocol::Response InspectorCSSAgent::getBackgroundColors(
int node_id,
Maybe<protocol::Array<String>>* background_colors,
Maybe<String>* computed_font_size,
Maybe<String>* computed_font_weight) { … }
void InspectorCSSAgent::GetBackgroundColors(Element* element,
Vector<Color>* colors,
String* computed_font_size,
String* computed_font_weight,
float* text_opacity) { … }
void InspectorCSSAgent::SetCoverageEnabled(bool enabled) { … }
void InspectorCSSAgent::WillChangeStyleElement(Element* element) { … }
protocol::Response InspectorCSSAgent::startRuleUsageTracking() { … }
protocol::Response InspectorCSSAgent::stopRuleUsageTracking(
std::unique_ptr<protocol::Array<protocol::CSS::RuleUsage>>* result) { … }
void InspectorCSSAgent::BuildRulesMap(
InspectorStyleSheet* style_sheet,
HeapHashMap<Member<const StyleRule>, Member<CSSStyleRule>>*
rule_to_css_rule) { … }
protocol::Response InspectorCSSAgent::takeCoverageDelta(
std::unique_ptr<protocol::Array<protocol::CSS::RuleUsage>>* result,
double* out_timestamp) { … }
protocol::Response InspectorCSSAgent::trackComputedStyleUpdates(
std::unique_ptr<protocol::Array<protocol::CSS::CSSComputedStyleProperty>>
properties_to_track) { … }
void InspectorCSSAgent::takeComputedStyleUpdates(
std::unique_ptr<TakeComputedStyleUpdatesCallback> callback) { … }
void InspectorCSSAgent::DidUpdateComputedStyle(Element* element,
const ComputedStyle* old_style,
const ComputedStyle* new_style) { … }
void InspectorCSSAgent::Will(const probe::RecalculateStyle&) { … }
void InspectorCSSAgent::Did(const probe::RecalculateStyle&) { … }
std::unique_ptr<protocol::Array<int>>
InspectorCSSAgent::BuildArrayForComputedStyleUpdatedNodes() { … }
void InspectorCSSAgent::Trace(Visitor* visitor) const { … }
void InspectorCSSAgent::LocalFontsEnabled(bool* result) { … }
protocol::Response InspectorCSSAgent::setLocalFontsEnabled(bool enabled) { … }
}