css

package
v0.0.0-...-3f8c33c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2025 License: MIT Imports: 5 Imported by: 47

Documentation

Overview

Package css provides the Chrome DevTools Protocol commands, types, and events for the CSS domain.

This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles) have an associated id used in subsequent operations on the related object. Each object type has a specific id structure, and those are not interchangeable between objects of different kinds. CSS objects can be loaded using the get*ForNode() calls (which accept a DOM node id). A client can also keep track of stylesheets via the styleSheetAdded/styleSheetRemoved events and subsequently load the required stylesheet contents using the getStyleSheet[Text]() methods.

Generated by the cdproto-gen command.

Index

Constants

View Source
const (
	CommandAddRule                          = "CSS.addRule"
	CommandCollectClassNames                = "CSS.collectClassNames"
	CommandCreateStyleSheet                 = "CSS.createStyleSheet"
	CommandDisable                          = "CSS.disable"
	CommandEnable                           = "CSS.enable"
	CommandForcePseudoState                 = "CSS.forcePseudoState"
	CommandForceStartingStyle               = "CSS.forceStartingStyle"
	CommandGetBackgroundColors              = "CSS.getBackgroundColors"
	CommandGetComputedStyleForNode          = "CSS.getComputedStyleForNode"
	CommandResolveValues                    = "CSS.resolveValues"
	CommandGetLonghandProperties            = "CSS.getLonghandProperties"
	CommandGetInlineStylesForNode           = "CSS.getInlineStylesForNode"
	CommandGetAnimatedStylesForNode         = "CSS.getAnimatedStylesForNode"
	CommandGetMatchedStylesForNode          = "CSS.getMatchedStylesForNode"
	CommandGetMediaQueries                  = "CSS.getMediaQueries"
	CommandGetPlatformFontsForNode          = "CSS.getPlatformFontsForNode"
	CommandGetStyleSheetText                = "CSS.getStyleSheetText"
	CommandGetLayersForNode                 = "CSS.getLayersForNode"
	CommandGetLocationForSelector           = "CSS.getLocationForSelector"
	CommandTrackComputedStyleUpdatesForNode = "CSS.trackComputedStyleUpdatesForNode"
	CommandTrackComputedStyleUpdates        = "CSS.trackComputedStyleUpdates"
	CommandTakeComputedStyleUpdates         = "CSS.takeComputedStyleUpdates"
	CommandSetEffectivePropertyValueForNode = "CSS.setEffectivePropertyValueForNode"
	CommandSetPropertyRulePropertyName      = "CSS.setPropertyRulePropertyName"
	CommandSetKeyframeKey                   = "CSS.setKeyframeKey"
	CommandSetMediaText                     = "CSS.setMediaText"
	CommandSetContainerQueryText            = "CSS.setContainerQueryText"
	CommandSetSupportsText                  = "CSS.setSupportsText"
	CommandSetScopeText                     = "CSS.setScopeText"
	CommandSetRuleSelector                  = "CSS.setRuleSelector"
	CommandSetStyleSheetText                = "CSS.setStyleSheetText"
	CommandSetStyleTexts                    = "CSS.setStyleTexts"
	CommandStartRuleUsageTracking           = "CSS.startRuleUsageTracking"
	CommandStopRuleUsageTracking            = "CSS.stopRuleUsageTracking"
	CommandTakeCoverageDelta                = "CSS.takeCoverageDelta"
	CommandSetLocalFontsEnabled             = "CSS.setLocalFontsEnabled"
)

Command names.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddRuleParams

type AddRuleParams struct {
	StyleSheetID                    StyleSheetID `json:"styleSheetId"`                                       // The css style sheet identifier where a new rule should be inserted.
	RuleText                        string       `json:"ruleText"`                                           // The text of a new rule.
	Location                        *SourceRange `json:"location"`                                           // Text position of a new rule in the target style sheet.
	NodeForPropertySyntaxValidation cdp.NodeID   `json:"nodeForPropertySyntaxValidation,omitempty,omitzero"` // NodeId for the DOM node in whose context custom property declarations for registered properties should be validated. If omitted, declarations in the new rule text can only be validated statically, which may produce incorrect results if the declaration contains a var() for example.
}

AddRuleParams inserts a new rule with the given ruleText in a stylesheet with given styleSheetId, at the position specified by location.

func AddRule

func AddRule(styleSheetID StyleSheetID, ruleText string, location *SourceRange) *AddRuleParams

AddRule inserts a new rule with the given ruleText in a stylesheet with given styleSheetId, at the position specified by location.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-addRule

parameters:

styleSheetID - The css style sheet identifier where a new rule should be inserted.
ruleText - The text of a new rule.
location - Text position of a new rule in the target style sheet.

func (*AddRuleParams) Do

func (p *AddRuleParams) Do(ctx context.Context) (rule *Rule, err error)

Do executes CSS.addRule against the provided context.

returns:

rule - The newly created rule.

func (AddRuleParams) WithNodeForPropertySyntaxValidation

func (p AddRuleParams) WithNodeForPropertySyntaxValidation(nodeForPropertySyntaxValidation cdp.NodeID) *AddRuleParams

WithNodeForPropertySyntaxValidation nodeId for the DOM node in whose context custom property declarations for registered properties should be validated. If omitted, declarations in the new rule text can only be validated statically, which may produce incorrect results if the declaration contains a var() for example.

type AddRuleReturns

type AddRuleReturns struct {
	Rule *Rule `json:"rule,omitempty,omitzero"` // The newly created rule.
}

AddRuleReturns return values.

type AnimationStyle

type AnimationStyle struct {
	Name  string `json:"name,omitempty,omitzero"` // The name of the animation.
	Style *Style `json:"style"`                   // The style coming from the animation.
}

AnimationStyle CSS style coming from animations with the name of the animation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSAnimationStyle

type CollectClassNamesParams

type CollectClassNamesParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
}

CollectClassNamesParams returns all class names from specified stylesheet.

func CollectClassNames

func CollectClassNames(styleSheetID StyleSheetID) *CollectClassNamesParams

CollectClassNames returns all class names from specified stylesheet.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-collectClassNames

parameters:

styleSheetID

func (*CollectClassNamesParams) Do

func (p *CollectClassNamesParams) Do(ctx context.Context) (classNames []string, err error)

Do executes CSS.collectClassNames against the provided context.

returns:

classNames - Class name list.

type CollectClassNamesReturns

type CollectClassNamesReturns struct {
	ClassNames []string `json:"classNames,omitempty,omitzero"` // Class name list.
}

CollectClassNamesReturns return values.

type ComputedStyleProperty

type ComputedStyleProperty struct {
	Name  string `json:"name"`  // Computed style property name.
	Value string `json:"value"` // Computed style property value.
}

ComputedStyleProperty [no description].

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSComputedStyleProperty

type ContainerQuery

type ContainerQuery struct {
	Text               string           `json:"text"`                            // Container query text.
	Range              *SourceRange     `json:"range,omitempty,omitzero"`        // The associated rule header range in the enclosing stylesheet (if available).
	StyleSheetID       StyleSheetID     `json:"styleSheetId,omitempty,omitzero"` // Identifier of the stylesheet containing this object (if exists).
	Name               string           `json:"name,omitempty,omitzero"`         // Optional name for the container.
	PhysicalAxes       dom.PhysicalAxes `json:"physicalAxes,omitempty,omitzero"` // Optional physical axes queried for the container.
	LogicalAxes        dom.LogicalAxes  `json:"logicalAxes,omitempty,omitzero"`  // Optional logical axes queried for the container.
	QueriesScrollState bool             `json:"queriesScrollState"`              // true if the query contains scroll-state() queries.
}

ContainerQuery CSS container query rule descriptor.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSContainerQuery

type CreateStyleSheetParams

type CreateStyleSheetParams struct {
	FrameID cdp.FrameID `json:"frameId"` // Identifier of the frame where "via-inspector" stylesheet should be created.
	Force   bool        `json:"force"`   // If true, creates a new stylesheet for every call. If false, returns a stylesheet previously created by a call with force=false for the frame's document if it exists or creates a new stylesheet (default: false).
}

CreateStyleSheetParams creates a new special "via-inspector" stylesheet in the frame with given frameId.

func CreateStyleSheet

func CreateStyleSheet(frameID cdp.FrameID) *CreateStyleSheetParams

CreateStyleSheet creates a new special "via-inspector" stylesheet in the frame with given frameId.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-createStyleSheet

parameters:

frameID - Identifier of the frame where "via-inspector" stylesheet should be created.

func (*CreateStyleSheetParams) Do

func (p *CreateStyleSheetParams) Do(ctx context.Context) (styleSheetID StyleSheetID, err error)

Do executes CSS.createStyleSheet against the provided context.

returns:

styleSheetID - Identifier of the created "via-inspector" stylesheet.

func (CreateStyleSheetParams) WithForce

WithForce if true, creates a new stylesheet for every call. If false, returns a stylesheet previously created by a call with force=false for the frame's document if it exists or creates a new stylesheet (default: false).

type CreateStyleSheetReturns

type CreateStyleSheetReturns struct {
	StyleSheetID StyleSheetID `json:"styleSheetId,omitempty,omitzero"` // Identifier of the created "via-inspector" stylesheet.
}

CreateStyleSheetReturns return values.

type DisableParams

type DisableParams struct{}

DisableParams disables the CSS agent for the given page.

func Disable

func Disable() *DisableParams

Disable disables the CSS agent for the given page.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-disable

func (*DisableParams) Do

func (p *DisableParams) Do(ctx context.Context) (err error)

Do executes CSS.disable against the provided context.

type EnableParams

type EnableParams struct{}

EnableParams enables the CSS agent for the given page. Clients should not assume that the CSS agent has been enabled until the result of this command is received.

func Enable

func Enable() *EnableParams

Enable enables the CSS agent for the given page. Clients should not assume that the CSS agent has been enabled until the result of this command is received.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-enable

func (*EnableParams) Do

func (p *EnableParams) Do(ctx context.Context) (err error)

Do executes CSS.enable against the provided context.

type EventComputedStyleUpdated

type EventComputedStyleUpdated struct {
	NodeID cdp.NodeID `json:"nodeId"` // The node id that has updated computed styles.
}

EventComputedStyleUpdated [no description].

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#event-computedStyleUpdated

type EventFontsUpdated

type EventFontsUpdated struct {
	Font *FontFace `json:"font,omitempty,omitzero"` // The web font that has loaded.
}

EventFontsUpdated fires whenever a web font is updated. A non-empty font parameter indicates a successfully loaded web font.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#event-fontsUpdated

type EventMediaQueryResultChanged

type EventMediaQueryResultChanged struct{}

EventMediaQueryResultChanged fires whenever a MediaQuery result changes (for example, after a browser window has been resized.) The current implementation considers only viewport-dependent media features.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#event-mediaQueryResultChanged

type EventStyleSheetAdded

type EventStyleSheetAdded struct {
	Header *StyleSheetHeader `json:"header"` // Added stylesheet metainfo.
}

EventStyleSheetAdded fired whenever an active document stylesheet is added.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#event-styleSheetAdded

type EventStyleSheetChanged

type EventStyleSheetChanged struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
}

EventStyleSheetChanged fired whenever a stylesheet is changed as a result of the client operation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#event-styleSheetChanged

type EventStyleSheetRemoved

type EventStyleSheetRemoved struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"` // Identifier of the removed stylesheet.
}

EventStyleSheetRemoved fired whenever an active document stylesheet is removed.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#event-styleSheetRemoved

type FontFace

type FontFace struct {
	FontFamily         string               `json:"fontFamily"`                           // The font-family.
	FontStyle          string               `json:"fontStyle"`                            // The font-style.
	FontVariant        string               `json:"fontVariant"`                          // The font-variant.
	FontWeight         string               `json:"fontWeight"`                           // The font-weight.
	FontStretch        string               `json:"fontStretch"`                          // The font-stretch.
	FontDisplay        string               `json:"fontDisplay"`                          // The font-display.
	UnicodeRange       string               `json:"unicodeRange"`                         // The unicode-range.
	Src                string               `json:"src"`                                  // The src.
	PlatformFontFamily string               `json:"platformFontFamily"`                   // The resolved platform font family
	FontVariationAxes  []*FontVariationAxis `json:"fontVariationAxes,omitempty,omitzero"` // Available variation settings (a.k.a. "axes").
}

FontFace properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions and additional information such as platformFontFamily and fontVariationAxes.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-FontFace

type FontPaletteValuesRule

type FontPaletteValuesRule struct {
	StyleSheetID    StyleSheetID     `json:"styleSheetId,omitempty,omitzero"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
	Origin          StyleSheetOrigin `json:"origin"`                          // Parent stylesheet's origin.
	FontPaletteName *Value           `json:"fontPaletteName"`                 // Associated font palette name.
	Style           *Style           `json:"style"`                           // Associated style declaration.
}

FontPaletteValuesRule CSS font-palette-values rule representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSFontPaletteValuesRule

type FontVariationAxis

type FontVariationAxis struct {
	Tag          string  `json:"tag"`          // The font-variation-setting tag (a.k.a. "axis tag").
	Name         string  `json:"name"`         // Human-readable variation name in the default language (normally, "en").
	MinValue     float64 `json:"minValue"`     // The minimum value (inclusive) the font supports for this tag.
	MaxValue     float64 `json:"maxValue"`     // The maximum value (inclusive) the font supports for this tag.
	DefaultValue float64 `json:"defaultValue"` // The default value.
}

FontVariationAxis information about font variation axes for variable fonts.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-FontVariationAxis

type ForcePseudoStateParams

type ForcePseudoStateParams struct {
	NodeID              cdp.NodeID `json:"nodeId"`              // The element id for which to force the pseudo state.
	ForcedPseudoClasses []string   `json:"forcedPseudoClasses"` // Element pseudo classes to force when computing the element's style.
}

ForcePseudoStateParams ensures that the given node will have specified pseudo-classes whenever its style is computed by the browser.

func ForcePseudoState

func ForcePseudoState(nodeID cdp.NodeID, forcedPseudoClasses []string) *ForcePseudoStateParams

ForcePseudoState ensures that the given node will have specified pseudo-classes whenever its style is computed by the browser.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-forcePseudoState

parameters:

nodeID - The element id for which to force the pseudo state.
forcedPseudoClasses - Element pseudo classes to force when computing the element's style.

func (*ForcePseudoStateParams) Do

func (p *ForcePseudoStateParams) Do(ctx context.Context) (err error)

Do executes CSS.forcePseudoState against the provided context.

type ForceStartingStyleParams

type ForceStartingStyleParams struct {
	NodeID cdp.NodeID `json:"nodeId"` // The element id for which to force the starting-style state.
	Forced bool       `json:"forced"` // Boolean indicating if this is on or off.
}

ForceStartingStyleParams ensures that the given node is in its starting-style state.

func ForceStartingStyle

func ForceStartingStyle(nodeID cdp.NodeID, forced bool) *ForceStartingStyleParams

ForceStartingStyle ensures that the given node is in its starting-style state.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-forceStartingStyle

parameters:

nodeID - The element id for which to force the starting-style state.
forced - Boolean indicating if this is on or off.

func (*ForceStartingStyleParams) Do

func (p *ForceStartingStyleParams) Do(ctx context.Context) (err error)

Do executes CSS.forceStartingStyle against the provided context.

type FunctionConditionNode

type FunctionConditionNode struct {
	Media            *Media          `json:"media,omitempty,omitzero"`            // Media query for this conditional block. Only one type of condition should be set.
	ContainerQueries *ContainerQuery `json:"containerQueries,omitempty,omitzero"` // Container query for this conditional block. Only one type of condition should be set.
	Supports         *Supports       `json:"supports,omitempty,omitzero"`         // @supports CSS at-rule condition. Only one type of condition should be set.
	Children         []*FunctionNode `json:"children"`                            // Block body.
	ConditionText    string          `json:"conditionText"`                       // The condition text.
}

FunctionConditionNode CSS function conditional block representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSFunctionConditionNode

type FunctionNode

type FunctionNode struct {
	Condition *FunctionConditionNode `json:"condition,omitempty,omitzero"` // A conditional block. If set, style should not be set.
	Style     *Style                 `json:"style,omitempty,omitzero"`     // Values set by this node. If set, condition should not be set.
}

FunctionNode section of the body of a CSS function rule.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSFunctionNode

type FunctionParameter

type FunctionParameter struct {
	Name string `json:"name"` // The parameter name.
	Type string `json:"type"` // The parameter type.
}

FunctionParameter CSS function argument representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSFunctionParameter

type FunctionRule

type FunctionRule struct {
	Name         *Value               `json:"name"`                            // Name of the function.
	StyleSheetID StyleSheetID         `json:"styleSheetId,omitempty,omitzero"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
	Origin       StyleSheetOrigin     `json:"origin"`                          // Parent stylesheet's origin.
	Parameters   []*FunctionParameter `json:"parameters"`                      // List of parameters.
	Children     []*FunctionNode      `json:"children"`                        // Function body.
}

FunctionRule CSS function at-rule representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSFunctionRule

type GetAnimatedStylesForNodeParams

type GetAnimatedStylesForNodeParams struct {
	NodeID cdp.NodeID `json:"nodeId"`
}

GetAnimatedStylesForNodeParams returns the styles coming from animations & transitions including the animation & transition styles coming from inheritance chain.

func GetAnimatedStylesForNode

func GetAnimatedStylesForNode(nodeID cdp.NodeID) *GetAnimatedStylesForNodeParams

GetAnimatedStylesForNode returns the styles coming from animations & transitions including the animation & transition styles coming from inheritance chain.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getAnimatedStylesForNode

parameters:

nodeID

func (*GetAnimatedStylesForNodeParams) Do

func (p *GetAnimatedStylesForNodeParams) Do(ctx context.Context) (animationStyles []*AnimationStyle, transitionsStyle *Style, inherited []*InheritedAnimatedStyleEntry, err error)

Do executes CSS.getAnimatedStylesForNode against the provided context.

returns:

animationStyles - Styles coming from animations.
transitionsStyle - Style coming from transitions.
inherited - Inherited style entries for animationsStyle and transitionsStyle from the inheritance chain of the element.

type GetAnimatedStylesForNodeReturns

type GetAnimatedStylesForNodeReturns struct {
	AnimationStyles  []*AnimationStyle              `json:"animationStyles,omitempty,omitzero"`  // Styles coming from animations.
	TransitionsStyle *Style                         `json:"transitionsStyle,omitempty,omitzero"` // Style coming from transitions.
	Inherited        []*InheritedAnimatedStyleEntry `json:"inherited,omitempty,omitzero"`        // Inherited style entries for animationsStyle and transitionsStyle from the inheritance chain of the element.
}

GetAnimatedStylesForNodeReturns return values.

type GetBackgroundColorsParams

type GetBackgroundColorsParams struct {
	NodeID cdp.NodeID `json:"nodeId"` // Id of the node to get background colors for.
}

GetBackgroundColorsParams [no description].

func GetBackgroundColors

func GetBackgroundColors(nodeID cdp.NodeID) *GetBackgroundColorsParams

GetBackgroundColors [no description].

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getBackgroundColors

parameters:

nodeID - Id of the node to get background colors for.

func (*GetBackgroundColorsParams) Do

func (p *GetBackgroundColorsParams) Do(ctx context.Context) (backgroundColors []string, computedFontSize string, computedFontWeight string, err error)

Do executes CSS.getBackgroundColors against the provided context.

returns:

backgroundColors - The range of background colors behind this element, if it contains any visible text. If no visible text is present, this will be undefined. In the case of a flat background color, this will consist of simply that color. In the case of a gradient, this will consist of each of the color stops. For anything more complicated, this will be an empty array. Images will be ignored (as if the image had failed to load).
computedFontSize - The computed font size for this node, as a CSS computed value string (e.g. '12px').
computedFontWeight - The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or '100').

type GetBackgroundColorsReturns

type GetBackgroundColorsReturns struct {
	BackgroundColors   []string `json:"backgroundColors,omitempty,omitzero"`   // The range of background colors behind this element, if it contains any visible text. If no visible text is present, this will be undefined. In the case of a flat background color, this will consist of simply that color. In the case of a gradient, this will consist of each of the color stops. For anything more complicated, this will be an empty array. Images will be ignored (as if the image had failed to load).
	ComputedFontSize   string   `json:"computedFontSize,omitempty,omitzero"`   // The computed font size for this node, as a CSS computed value string (e.g. '12px').
	ComputedFontWeight string   `json:"computedFontWeight,omitempty,omitzero"` // The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or '100').
}

GetBackgroundColorsReturns return values.

type GetComputedStyleForNodeParams

type GetComputedStyleForNodeParams struct {
	NodeID cdp.NodeID `json:"nodeId"`
}

GetComputedStyleForNodeParams returns the computed style for a DOM node identified by nodeId.

func GetComputedStyleForNode

func GetComputedStyleForNode(nodeID cdp.NodeID) *GetComputedStyleForNodeParams

GetComputedStyleForNode returns the computed style for a DOM node identified by nodeId.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getComputedStyleForNode

parameters:

nodeID

func (*GetComputedStyleForNodeParams) Do

func (p *GetComputedStyleForNodeParams) Do(ctx context.Context) (computedStyle []*ComputedStyleProperty, err error)

Do executes CSS.getComputedStyleForNode against the provided context.

returns:

computedStyle - Computed style for the specified DOM node.

type GetComputedStyleForNodeReturns

type GetComputedStyleForNodeReturns struct {
	ComputedStyle []*ComputedStyleProperty `json:"computedStyle,omitempty,omitzero"` // Computed style for the specified DOM node.
}

GetComputedStyleForNodeReturns return values.

type GetInlineStylesForNodeParams

type GetInlineStylesForNodeParams struct {
	NodeID cdp.NodeID `json:"nodeId"`
}

GetInlineStylesForNodeParams returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified by nodeId.

func GetInlineStylesForNode

func GetInlineStylesForNode(nodeID cdp.NodeID) *GetInlineStylesForNodeParams

GetInlineStylesForNode returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified by nodeId.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getInlineStylesForNode

parameters:

nodeID

func (*GetInlineStylesForNodeParams) Do

func (p *GetInlineStylesForNodeParams) Do(ctx context.Context) (inlineStyle *Style, attributesStyle *Style, err error)

Do executes CSS.getInlineStylesForNode against the provided context.

returns:

inlineStyle - Inline style for the specified DOM node.
attributesStyle - Attribute-defined element style (e.g. resulting from "width=20 height=100%").

type GetInlineStylesForNodeReturns

type GetInlineStylesForNodeReturns struct {
	InlineStyle     *Style `json:"inlineStyle,omitempty,omitzero"`     // Inline style for the specified DOM node.
	AttributesStyle *Style `json:"attributesStyle,omitempty,omitzero"` // Attribute-defined element style (e.g. resulting from "width=20 height=100%").
}

GetInlineStylesForNodeReturns return values.

type GetLayersForNodeParams

type GetLayersForNodeParams struct {
	NodeID cdp.NodeID `json:"nodeId"`
}

GetLayersForNodeParams returns all layers parsed by the rendering engine for the tree scope of a node. Given a DOM element identified by nodeId, getLayersForNode returns the root layer for the nearest ancestor document or shadow root. The layer root contains the full layer tree for the tree scope and their ordering.

func GetLayersForNode

func GetLayersForNode(nodeID cdp.NodeID) *GetLayersForNodeParams

GetLayersForNode returns all layers parsed by the rendering engine for the tree scope of a node. Given a DOM element identified by nodeId, getLayersForNode returns the root layer for the nearest ancestor document or shadow root. The layer root contains the full layer tree for the tree scope and their ordering.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getLayersForNode

parameters:

nodeID

func (*GetLayersForNodeParams) Do

func (p *GetLayersForNodeParams) Do(ctx context.Context) (rootLayer *LayerData, err error)

Do executes CSS.getLayersForNode against the provided context.

returns:

rootLayer

type GetLayersForNodeReturns

type GetLayersForNodeReturns struct {
	RootLayer *LayerData `json:"rootLayer,omitempty,omitzero"`
}

GetLayersForNodeReturns return values.

type GetLocationForSelectorParams

type GetLocationForSelectorParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
	SelectorText string       `json:"selectorText"`
}

GetLocationForSelectorParams given a CSS selector text and a style sheet ID, getLocationForSelector returns an array of locations of the CSS selector in the style sheet.

func GetLocationForSelector

func GetLocationForSelector(styleSheetID StyleSheetID, selectorText string) *GetLocationForSelectorParams

GetLocationForSelector given a CSS selector text and a style sheet ID, getLocationForSelector returns an array of locations of the CSS selector in the style sheet.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getLocationForSelector

parameters:

styleSheetID
selectorText

func (*GetLocationForSelectorParams) Do

func (p *GetLocationForSelectorParams) Do(ctx context.Context) (ranges []*SourceRange, err error)

Do executes CSS.getLocationForSelector against the provided context.

returns:

ranges

type GetLocationForSelectorReturns

type GetLocationForSelectorReturns struct {
	Ranges []*SourceRange `json:"ranges,omitempty,omitzero"`
}

GetLocationForSelectorReturns return values.

type GetLonghandPropertiesParams

type GetLonghandPropertiesParams struct {
	ShorthandName string `json:"shorthandName"`
	Value         string `json:"value"`
}

GetLonghandPropertiesParams [no description].

func GetLonghandProperties

func GetLonghandProperties(shorthandName string, value string) *GetLonghandPropertiesParams

GetLonghandProperties [no description].

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getLonghandProperties

parameters:

shorthandName
value

func (*GetLonghandPropertiesParams) Do

func (p *GetLonghandPropertiesParams) Do(ctx context.Context) (longhandProperties []*Property, err error)

Do executes CSS.getLonghandProperties against the provided context.

returns:

longhandProperties

type GetLonghandPropertiesReturns

type GetLonghandPropertiesReturns struct {
	LonghandProperties []*Property `json:"longhandProperties,omitempty,omitzero"`
}

GetLonghandPropertiesReturns return values.

type GetMatchedStylesForNodeParams

type GetMatchedStylesForNodeParams struct {
	NodeID cdp.NodeID `json:"nodeId"`
}

GetMatchedStylesForNodeParams returns requested styles for a DOM node identified by nodeId.

func GetMatchedStylesForNode

func GetMatchedStylesForNode(nodeID cdp.NodeID) *GetMatchedStylesForNodeParams

GetMatchedStylesForNode returns requested styles for a DOM node identified by nodeId.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getMatchedStylesForNode

parameters:

nodeID

func (*GetMatchedStylesForNodeParams) Do

func (p *GetMatchedStylesForNodeParams) Do(ctx context.Context) (inlineStyle *Style, attributesStyle *Style, matchedCSSRules []*RuleMatch, pseudoElements []*PseudoElementMatches, inherited []*InheritedStyleEntry, inheritedPseudoElements []*InheritedPseudoElementMatches, cssKeyframesRules []*KeyframesRule, cssPositionTryRules []*PositionTryRule, activePositionFallbackIndex int64, cssPropertyRules []*PropertyRule, cssPropertyRegistrations []*PropertyRegistration, cssFontPaletteValuesRule *FontPaletteValuesRule, parentLayoutNodeID cdp.NodeID, cssFunctionRules []*FunctionRule, err error)

Do executes CSS.getMatchedStylesForNode against the provided context.

returns:

inlineStyle - Inline style for the specified DOM node.
attributesStyle - Attribute-defined element style (e.g. resulting from "width=20 height=100%").
matchedCSSRules - CSS rules matching this node, from all applicable stylesheets.
pseudoElements - Pseudo style matches for this node.
inherited - A chain of inherited styles (from the immediate node parent up to the DOM tree root).
inheritedPseudoElements - A chain of inherited pseudo element styles (from the immediate node parent up to the DOM tree root).
cssKeyframesRules - A list of CSS keyframed animations matching this node.
cssPositionTryRules - A list of CSS @position-try rules matching this node, based on the position-try-fallbacks property.
activePositionFallbackIndex - Index of the active fallback in the applied position-try-fallback property, will not be set if there is no active position-try fallback.
cssPropertyRules - A list of CSS at-property rules matching this node.
cssPropertyRegistrations - A list of CSS property registrations matching this node.
cssFontPaletteValuesRule - A font-palette-values rule matching this node.
parentLayoutNodeID - Id of the first parent element that does not have display: contents.
cssFunctionRules - A list of CSS at-function rules referenced by styles of this node.

type GetMatchedStylesForNodeReturns

type GetMatchedStylesForNodeReturns struct {
	InlineStyle                 *Style                           `json:"inlineStyle,omitempty,omitzero"`                 // Inline style for the specified DOM node.
	AttributesStyle             *Style                           `json:"attributesStyle,omitempty,omitzero"`             // Attribute-defined element style (e.g. resulting from "width=20 height=100%").
	MatchedCSSRules             []*RuleMatch                     `json:"matchedCSSRules,omitempty,omitzero"`             // CSS rules matching this node, from all applicable stylesheets.
	PseudoElements              []*PseudoElementMatches          `json:"pseudoElements,omitempty,omitzero"`              // Pseudo style matches for this node.
	Inherited                   []*InheritedStyleEntry           `json:"inherited,omitempty,omitzero"`                   // A chain of inherited styles (from the immediate node parent up to the DOM tree root).
	InheritedPseudoElements     []*InheritedPseudoElementMatches `json:"inheritedPseudoElements,omitempty,omitzero"`     // A chain of inherited pseudo element styles (from the immediate node parent up to the DOM tree root).
	CSSKeyframesRules           []*KeyframesRule                 `json:"cssKeyframesRules,omitempty,omitzero"`           // A list of CSS keyframed animations matching this node.
	CSSPositionTryRules         []*PositionTryRule               `json:"cssPositionTryRules,omitempty,omitzero"`         // A list of CSS @position-try rules matching this node, based on the position-try-fallbacks property.
	ActivePositionFallbackIndex int64                            `json:"activePositionFallbackIndex,omitempty,omitzero"` // Index of the active fallback in the applied position-try-fallback property, will not be set if there is no active position-try fallback.
	CSSPropertyRules            []*PropertyRule                  `json:"cssPropertyRules,omitempty,omitzero"`            // A list of CSS at-property rules matching this node.
	CSSPropertyRegistrations    []*PropertyRegistration          `json:"cssPropertyRegistrations,omitempty,omitzero"`    // A list of CSS property registrations matching this node.
	CSSFontPaletteValuesRule    *FontPaletteValuesRule           `json:"cssFontPaletteValuesRule,omitempty,omitzero"`    // A font-palette-values rule matching this node.
	ParentLayoutNodeID          cdp.NodeID                       `json:"parentLayoutNodeId,omitempty,omitzero"`          // Id of the first parent element that does not have display: contents.
	CSSFunctionRules            []*FunctionRule                  `json:"cssFunctionRules,omitempty,omitzero"`            // A list of CSS at-function rules referenced by styles of this node.
}

GetMatchedStylesForNodeReturns return values.

type GetMediaQueriesParams

type GetMediaQueriesParams struct{}

GetMediaQueriesParams returns all media queries parsed by the rendering engine.

func GetMediaQueries

func GetMediaQueries() *GetMediaQueriesParams

GetMediaQueries returns all media queries parsed by the rendering engine.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getMediaQueries

func (*GetMediaQueriesParams) Do

func (p *GetMediaQueriesParams) Do(ctx context.Context) (medias []*Media, err error)

Do executes CSS.getMediaQueries against the provided context.

returns:

medias

type GetMediaQueriesReturns

type GetMediaQueriesReturns struct {
	Medias []*Media `json:"medias,omitempty,omitzero"`
}

GetMediaQueriesReturns return values.

type GetPlatformFontsForNodeParams

type GetPlatformFontsForNodeParams struct {
	NodeID cdp.NodeID `json:"nodeId"`
}

GetPlatformFontsForNodeParams requests information about platform fonts which we used to render child TextNodes in the given node.

func GetPlatformFontsForNode

func GetPlatformFontsForNode(nodeID cdp.NodeID) *GetPlatformFontsForNodeParams

GetPlatformFontsForNode requests information about platform fonts which we used to render child TextNodes in the given node.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getPlatformFontsForNode

parameters:

nodeID

func (*GetPlatformFontsForNodeParams) Do

Do executes CSS.getPlatformFontsForNode against the provided context.

returns:

fonts - Usage statistics for every employed platform font.

type GetPlatformFontsForNodeReturns

type GetPlatformFontsForNodeReturns struct {
	Fonts []*PlatformFontUsage `json:"fonts,omitempty,omitzero"` // Usage statistics for every employed platform font.
}

GetPlatformFontsForNodeReturns return values.

type GetStyleSheetTextParams

type GetStyleSheetTextParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
}

GetStyleSheetTextParams returns the current textual content for a stylesheet.

func GetStyleSheetText

func GetStyleSheetText(styleSheetID StyleSheetID) *GetStyleSheetTextParams

GetStyleSheetText returns the current textual content for a stylesheet.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-getStyleSheetText

parameters:

styleSheetID

func (*GetStyleSheetTextParams) Do

func (p *GetStyleSheetTextParams) Do(ctx context.Context) (text string, err error)

Do executes CSS.getStyleSheetText against the provided context.

returns:

text - The stylesheet text.

type GetStyleSheetTextReturns

type GetStyleSheetTextReturns struct {
	Text string `json:"text,omitempty,omitzero"` // The stylesheet text.
}

GetStyleSheetTextReturns return values.

type InheritedAnimatedStyleEntry

type InheritedAnimatedStyleEntry struct {
	AnimationStyles  []*AnimationStyle `json:"animationStyles,omitempty,omitzero"`  // Styles coming from the animations of the ancestor, if any, in the style inheritance chain.
	TransitionsStyle *Style            `json:"transitionsStyle,omitempty,omitzero"` // The style coming from the transitions of the ancestor, if any, in the style inheritance chain.
}

InheritedAnimatedStyleEntry inherited CSS style collection for animated styles from ancestor node.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-InheritedAnimatedStyleEntry

type InheritedPseudoElementMatches

type InheritedPseudoElementMatches struct {
	PseudoElements []*PseudoElementMatches `json:"pseudoElements"` // Matches of pseudo styles from the pseudos of an ancestor node.
}

InheritedPseudoElementMatches inherited pseudo element matches from pseudos of an ancestor node.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-InheritedPseudoElementMatches

type InheritedStyleEntry

type InheritedStyleEntry struct {
	InlineStyle     *Style       `json:"inlineStyle,omitempty,omitzero"` // The ancestor node's inline style, if any, in the style inheritance chain.
	MatchedCSSRules []*RuleMatch `json:"matchedCSSRules"`                // Matches of CSS rules matching the ancestor node in the style inheritance chain.
}

InheritedStyleEntry inherited CSS rule collection from ancestor node.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-InheritedStyleEntry

type KeyframeRule

type KeyframeRule struct {
	StyleSheetID StyleSheetID     `json:"styleSheetId,omitempty,omitzero"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
	Origin       StyleSheetOrigin `json:"origin"`                          // Parent stylesheet's origin.
	KeyText      *Value           `json:"keyText"`                         // Associated key text.
	Style        *Style           `json:"style"`                           // Associated style declaration.
}

KeyframeRule CSS keyframe rule representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSKeyframeRule

type KeyframesRule

type KeyframesRule struct {
	AnimationName *Value          `json:"animationName"` // Animation name.
	Keyframes     []*KeyframeRule `json:"keyframes"`     // List of keyframes.
}

KeyframesRule CSS keyframes rule representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSKeyframesRule

type Layer

type Layer struct {
	Text         string       `json:"text"`                            // Layer name.
	Range        *SourceRange `json:"range,omitempty,omitzero"`        // The associated rule header range in the enclosing stylesheet (if available).
	StyleSheetID StyleSheetID `json:"styleSheetId,omitempty,omitzero"` // Identifier of the stylesheet containing this object (if exists).
}

Layer CSS Layer at-rule descriptor.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSLayer

type LayerData

type LayerData struct {
	Name      string       `json:"name"`                         // Layer name.
	SubLayers []*LayerData `json:"subLayers,omitempty,omitzero"` // Direct sub-layers
	Order     float64      `json:"order"`                        // Layer order. The order determines the order of the layer in the cascade order. A higher number has higher priority in the cascade order.
}

LayerData CSS Layer data.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSLayerData

type Media

type Media struct {
	Text         string        `json:"text"`                            // Media query text.
	Source       MediaSource   `json:"source"`                          // Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline stylesheet's STYLE tag.
	SourceURL    string        `json:"sourceURL,omitempty,omitzero"`    // URL of the document containing the media query description.
	Range        *SourceRange  `json:"range,omitempty,omitzero"`        // The associated rule (@media or @import) header range in the enclosing stylesheet (if available).
	StyleSheetID StyleSheetID  `json:"styleSheetId,omitempty,omitzero"` // Identifier of the stylesheet containing this object (if exists).
	MediaList    []*MediaQuery `json:"mediaList,omitempty,omitzero"`    // Array of media queries.
}

Media CSS media rule descriptor.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSMedia

type MediaQuery

type MediaQuery struct {
	Expressions []*MediaQueryExpression `json:"expressions"` // Array of media query expressions.
	Active      bool                    `json:"active"`      // Whether the media query condition is satisfied.
}

MediaQuery media query descriptor.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-MediaQuery

type MediaQueryExpression

type MediaQueryExpression struct {
	Value          float64      `json:"value"`                             // Media query expression value.
	Unit           string       `json:"unit"`                              // Media query expression units.
	Feature        string       `json:"feature"`                           // Media query expression feature.
	ValueRange     *SourceRange `json:"valueRange,omitempty,omitzero"`     // The associated range of the value text in the enclosing stylesheet (if available).
	ComputedLength float64      `json:"computedLength,omitempty,omitzero"` // Computed length of media query expression (if applicable).
}

MediaQueryExpression media query expression descriptor.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-MediaQueryExpression

type MediaSource

type MediaSource string

MediaSource source of the media query: "mediaRule" if specified by a @media rule, "importRule" if specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline stylesheet's STYLE tag.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSMedia

const (
	MediaSourceMediaRule   MediaSource = "mediaRule"
	MediaSourceImportRule  MediaSource = "importRule"
	MediaSourceLinkedSheet MediaSource = "linkedSheet"
	MediaSourceInlineSheet MediaSource = "inlineSheet"
)

MediaSource values.

func (MediaSource) String

func (t MediaSource) String() string

String returns the MediaSource as string value.

func (*MediaSource) UnmarshalJSON

func (t *MediaSource) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies [json.Unmarshaler].

type PlatformFontUsage

type PlatformFontUsage struct {
	FamilyName     string  `json:"familyName"`     // Font's family name reported by platform.
	PostScriptName string  `json:"postScriptName"` // Font's PostScript name reported by platform.
	IsCustomFont   bool    `json:"isCustomFont"`   // Indicates if the font was downloaded or resolved locally.
	GlyphCount     float64 `json:"glyphCount"`     // Amount of glyphs that were rendered with this font.
}

PlatformFontUsage information about amount of glyphs that were rendered with given font.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-PlatformFontUsage

type PositionTryRule

type PositionTryRule struct {
	Name         *Value           `json:"name"`                            // The prelude dashed-ident name
	StyleSheetID StyleSheetID     `json:"styleSheetId,omitempty,omitzero"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
	Origin       StyleSheetOrigin `json:"origin"`                          // Parent stylesheet's origin.
	Style        *Style           `json:"style"`                           // Associated style declaration.
	Active       bool             `json:"active"`
}

PositionTryRule CSS @position-try rule representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSPositionTryRule

type Property

type Property struct {
	Name               string       `json:"name"`                                  // The property name.
	Value              string       `json:"value"`                                 // The property value.
	Important          bool         `json:"important"`                             // Whether the property has "!important" annotation (implies false if absent).
	Implicit           bool         `json:"implicit"`                              // Whether the property is implicit (implies false if absent).
	Text               string       `json:"text,omitempty,omitzero"`               // The full property text as specified in the style.
	ParsedOk           bool         `json:"parsedOk"`                              // Whether the property is understood by the browser (implies true if absent).
	Disabled           bool         `json:"disabled"`                              // Whether the property is disabled by the user (present for source-based properties only).
	Range              *SourceRange `json:"range,omitempty,omitzero"`              // The entire property range in the enclosing style declaration (if available).
	LonghandProperties []*Property  `json:"longhandProperties,omitempty,omitzero"` // Parsed longhand components of this property if it is a shorthand. This field will be empty if the given property is not a shorthand.
}

Property CSS property declaration data.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSProperty

type PropertyRegistration

type PropertyRegistration struct {
	PropertyName string `json:"propertyName"`
	InitialValue *Value `json:"initialValue,omitempty,omitzero"`
	Inherits     bool   `json:"inherits"`
	Syntax       string `json:"syntax"`
}

PropertyRegistration representation of a custom property registration through CSS.registerProperty.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSPropertyRegistration

type PropertyRule

type PropertyRule struct {
	StyleSheetID StyleSheetID     `json:"styleSheetId,omitempty,omitzero"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
	Origin       StyleSheetOrigin `json:"origin"`                          // Parent stylesheet's origin.
	PropertyName *Value           `json:"propertyName"`                    // Associated property name.
	Style        *Style           `json:"style"`                           // Associated style declaration.
}

PropertyRule CSS property at-rule representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSPropertyRule

type PseudoElementMatches

type PseudoElementMatches struct {
	PseudoType       cdp.PseudoType `json:"pseudoType"`                          // Pseudo element type.
	PseudoIdentifier string         `json:"pseudoIdentifier,omitempty,omitzero"` // Pseudo element custom ident.
	Matches          []*RuleMatch   `json:"matches"`                             // Matches of CSS rules applicable to the pseudo style.
}

PseudoElementMatches CSS rule collection for a single pseudo style.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-PseudoElementMatches

type ResolveValuesParams

type ResolveValuesParams struct {
	Values           []string       `json:"values"`                              // Substitution functions (var()/env()/attr()) and cascade-dependent keywords (revert/revert-layer) do not work.
	NodeID           cdp.NodeID     `json:"nodeId"`                              // Id of the node in whose context the expression is evaluated
	PropertyName     string         `json:"propertyName,omitempty,omitzero"`     // Only longhands and custom property names are accepted.
	PseudoType       cdp.PseudoType `json:"pseudoType,omitempty,omitzero"`       // Pseudo element type, only works for pseudo elements that generate elements in the tree, such as ::before and ::after.
	PseudoIdentifier string         `json:"pseudoIdentifier,omitempty,omitzero"` // Pseudo element custom ident.
}

ResolveValuesParams resolve the specified values in the context of the provided element. For example, a value of '1em' is evaluated according to the computed 'font-size' of the element and a value 'calc(1px + 2px)' will be resolved to '3px'. If the propertyName was specified the values are resolved as if they were property's declaration. If a value cannot be parsed according to the provided property syntax, the value is parsed using combined syntax as if null propertyName was provided. If the value cannot be resolved even then, return the provided value without any changes.

func ResolveValues

func ResolveValues(values []string, nodeID cdp.NodeID) *ResolveValuesParams

ResolveValues resolve the specified values in the context of the provided element. For example, a value of '1em' is evaluated according to the computed 'font-size' of the element and a value 'calc(1px + 2px)' will be resolved to '3px'. If the propertyName was specified the values are resolved as if they were property's declaration. If a value cannot be parsed according to the provided property syntax, the value is parsed using combined syntax as if null propertyName was provided. If the value cannot be resolved even then, return the provided value without any changes.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-resolveValues

parameters:

values - Substitution functions (var()/env()/attr()) and cascade-dependent keywords (revert/revert-layer) do not work.
nodeID - Id of the node in whose context the expression is evaluated

func (*ResolveValuesParams) Do

func (p *ResolveValuesParams) Do(ctx context.Context) (results []string, err error)

Do executes CSS.resolveValues against the provided context.

returns:

results

func (ResolveValuesParams) WithPropertyName

func (p ResolveValuesParams) WithPropertyName(propertyName string) *ResolveValuesParams

WithPropertyName only longhands and custom property names are accepted.

func (ResolveValuesParams) WithPseudoIdentifier

func (p ResolveValuesParams) WithPseudoIdentifier(pseudoIdentifier string) *ResolveValuesParams

WithPseudoIdentifier pseudo element custom ident.

func (ResolveValuesParams) WithPseudoType

func (p ResolveValuesParams) WithPseudoType(pseudoType cdp.PseudoType) *ResolveValuesParams

WithPseudoType pseudo element type, only works for pseudo elements that generate elements in the tree, such as ::before and ::after.

type ResolveValuesReturns

type ResolveValuesReturns struct {
	Results []string `json:"results,omitempty,omitzero"`
}

ResolveValuesReturns return values.

type Rule

type Rule struct {
	StyleSheetID     StyleSheetID      `json:"styleSheetId,omitempty,omitzero"`     // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
	SelectorList     *SelectorList     `json:"selectorList"`                        // Rule selector data.
	NestingSelectors []string          `json:"nestingSelectors,omitempty,omitzero"` // Array of selectors from ancestor style rules, sorted by distance from the current rule.
	Origin           StyleSheetOrigin  `json:"origin"`                              // Parent stylesheet's origin.
	Style            *Style            `json:"style"`                               // Associated style declaration.
	Media            []*Media          `json:"media,omitempty,omitzero"`            // Media list array (for rules involving media queries). The array enumerates media queries starting with the innermost one, going outwards.
	ContainerQueries []*ContainerQuery `json:"containerQueries,omitempty,omitzero"` // Container query list array (for rules involving container queries). The array enumerates container queries starting with the innermost one, going outwards.
	Supports         []*Supports       `json:"supports,omitempty,omitzero"`         // @supports CSS at-rule array. The array enumerates @supports at-rules starting with the innermost one, going outwards.
	Layers           []*Layer          `json:"layers,omitempty,omitzero"`           // Cascade layer array. Contains the layer hierarchy that this rule belongs to starting with the innermost layer and going outwards.
	Scopes           []*Scope          `json:"scopes,omitempty,omitzero"`           // @scope CSS at-rule array. The array enumerates @scope at-rules starting with the innermost one, going outwards.
	RuleTypes        []RuleType        `json:"ruleTypes,omitempty,omitzero"`        // The array keeps the types of ancestor CSSRules from the innermost going outwards.
	StartingStyles   []*StartingStyle  `json:"startingStyles,omitempty,omitzero"`   // @starting-style CSS at-rule array. The array enumerates @starting-style at-rules starting with the innermost one, going outwards.
}

Rule CSS rule representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSRule

type RuleMatch

type RuleMatch struct {
	Rule              *Rule   `json:"rule"`              // CSS rule in the match.
	MatchingSelectors []int64 `json:"matchingSelectors"` // Matching selector indices in the rule's selectorList selectors (0-based).
}

RuleMatch match data for a CSS rule.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-RuleMatch

type RuleType

type RuleType string

RuleType enum indicating the type of a CSS rule, used to represent the order of a style rule's ancestors. This list only contains rule types that are collected during the ancestor rule collection.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSRuleType

const (
	RuleTypeMediaRule         RuleType = "MediaRule"
	RuleTypeSupportsRule      RuleType = "SupportsRule"
	RuleTypeContainerRule     RuleType = "ContainerRule"
	RuleTypeLayerRule         RuleType = "LayerRule"
	RuleTypeScopeRule         RuleType = "ScopeRule"
	RuleTypeStyleRule         RuleType = "StyleRule"
	RuleTypeStartingStyleRule RuleType = "StartingStyleRule"
)

RuleType values.

func (RuleType) String

func (t RuleType) String() string

String returns the RuleType as string value.

func (*RuleType) UnmarshalJSON

func (t *RuleType) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies [json.Unmarshaler].

type RuleUsage

type RuleUsage struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
	StartOffset  float64      `json:"startOffset"`  // Offset of the start of the rule (including selector) from the beginning of the stylesheet.
	EndOffset    float64      `json:"endOffset"`    // Offset of the end of the rule body from the beginning of the stylesheet.
	Used         bool         `json:"used"`         // Indicates whether the rule was actually used by some element in the page.
}

RuleUsage CSS coverage information.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-RuleUsage

type Scope

type Scope struct {
	Text         string       `json:"text"`                            // Scope rule text.
	Range        *SourceRange `json:"range,omitempty,omitzero"`        // The associated rule header range in the enclosing stylesheet (if available).
	StyleSheetID StyleSheetID `json:"styleSheetId,omitempty,omitzero"` // Identifier of the stylesheet containing this object (if exists).
}

Scope CSS Scope at-rule descriptor.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSScope

type SelectorList

type SelectorList struct {
	Selectors []*Value `json:"selectors"` // Selectors in the list.
	Text      string   `json:"text"`      // Rule selector text.
}

SelectorList selector list data.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-SelectorList

type SetContainerQueryTextParams

type SetContainerQueryTextParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
	Range        *SourceRange `json:"range"`
	Text         string       `json:"text"`
}

SetContainerQueryTextParams modifies the expression of a container query.

func SetContainerQueryText

func SetContainerQueryText(styleSheetID StyleSheetID, rangeVal *SourceRange, text string) *SetContainerQueryTextParams

SetContainerQueryText modifies the expression of a container query.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setContainerQueryText

parameters:

styleSheetID
range
text

func (*SetContainerQueryTextParams) Do

func (p *SetContainerQueryTextParams) Do(ctx context.Context) (containerQuery *ContainerQuery, err error)

Do executes CSS.setContainerQueryText against the provided context.

returns:

containerQuery - The resulting CSS container query rule after modification.

type SetContainerQueryTextReturns

type SetContainerQueryTextReturns struct {
	ContainerQuery *ContainerQuery `json:"containerQuery,omitempty,omitzero"` // The resulting CSS container query rule after modification.
}

SetContainerQueryTextReturns return values.

type SetEffectivePropertyValueForNodeParams

type SetEffectivePropertyValueForNodeParams struct {
	NodeID       cdp.NodeID `json:"nodeId"` // The element id for which to set property.
	PropertyName string     `json:"propertyName"`
	Value        string     `json:"value"`
}

SetEffectivePropertyValueForNodeParams find a rule with the given active property for the given node and set the new value for this property.

func SetEffectivePropertyValueForNode

func SetEffectivePropertyValueForNode(nodeID cdp.NodeID, propertyName string, value string) *SetEffectivePropertyValueForNodeParams

SetEffectivePropertyValueForNode find a rule with the given active property for the given node and set the new value for this property.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setEffectivePropertyValueForNode

parameters:

nodeID - The element id for which to set property.
propertyName
value

func (*SetEffectivePropertyValueForNodeParams) Do

Do executes CSS.setEffectivePropertyValueForNode against the provided context.

type SetKeyframeKeyParams

type SetKeyframeKeyParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
	Range        *SourceRange `json:"range"`
	KeyText      string       `json:"keyText"`
}

SetKeyframeKeyParams modifies the keyframe rule key text.

func SetKeyframeKey

func SetKeyframeKey(styleSheetID StyleSheetID, rangeVal *SourceRange, keyText string) *SetKeyframeKeyParams

SetKeyframeKey modifies the keyframe rule key text.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setKeyframeKey

parameters:

styleSheetID
range
keyText

func (*SetKeyframeKeyParams) Do

func (p *SetKeyframeKeyParams) Do(ctx context.Context) (keyText *Value, err error)

Do executes CSS.setKeyframeKey against the provided context.

returns:

keyText - The resulting key text after modification.

type SetKeyframeKeyReturns

type SetKeyframeKeyReturns struct {
	KeyText *Value `json:"keyText,omitempty,omitzero"` // The resulting key text after modification.
}

SetKeyframeKeyReturns return values.

type SetLocalFontsEnabledParams

type SetLocalFontsEnabledParams struct {
	Enabled bool `json:"enabled"` // Whether rendering of local fonts is enabled.
}

SetLocalFontsEnabledParams enables/disables rendering of local CSS fonts (enabled by default).

func SetLocalFontsEnabled

func SetLocalFontsEnabled(enabled bool) *SetLocalFontsEnabledParams

SetLocalFontsEnabled enables/disables rendering of local CSS fonts (enabled by default).

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setLocalFontsEnabled

parameters:

enabled - Whether rendering of local fonts is enabled.

func (*SetLocalFontsEnabledParams) Do

Do executes CSS.setLocalFontsEnabled against the provided context.

type SetMediaTextParams

type SetMediaTextParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
	Range        *SourceRange `json:"range"`
	Text         string       `json:"text"`
}

SetMediaTextParams modifies the rule selector.

func SetMediaText

func SetMediaText(styleSheetID StyleSheetID, rangeVal *SourceRange, text string) *SetMediaTextParams

SetMediaText modifies the rule selector.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setMediaText

parameters:

styleSheetID
range
text

func (*SetMediaTextParams) Do

func (p *SetMediaTextParams) Do(ctx context.Context) (media *Media, err error)

Do executes CSS.setMediaText against the provided context.

returns:

media - The resulting CSS media rule after modification.

type SetMediaTextReturns

type SetMediaTextReturns struct {
	Media *Media `json:"media,omitempty,omitzero"` // The resulting CSS media rule after modification.
}

SetMediaTextReturns return values.

type SetPropertyRulePropertyNameParams

type SetPropertyRulePropertyNameParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
	Range        *SourceRange `json:"range"`
	PropertyName string       `json:"propertyName"`
}

SetPropertyRulePropertyNameParams modifies the property rule property name.

func SetPropertyRulePropertyName

func SetPropertyRulePropertyName(styleSheetID StyleSheetID, rangeVal *SourceRange, propertyName string) *SetPropertyRulePropertyNameParams

SetPropertyRulePropertyName modifies the property rule property name.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setPropertyRulePropertyName

parameters:

styleSheetID
range
propertyName

func (*SetPropertyRulePropertyNameParams) Do

func (p *SetPropertyRulePropertyNameParams) Do(ctx context.Context) (propertyName *Value, err error)

Do executes CSS.setPropertyRulePropertyName against the provided context.

returns:

propertyName - The resulting key text after modification.

type SetPropertyRulePropertyNameReturns

type SetPropertyRulePropertyNameReturns struct {
	PropertyName *Value `json:"propertyName,omitempty,omitzero"` // The resulting key text after modification.
}

SetPropertyRulePropertyNameReturns return values.

type SetRuleSelectorParams

type SetRuleSelectorParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
	Range        *SourceRange `json:"range"`
	Selector     string       `json:"selector"`
}

SetRuleSelectorParams modifies the rule selector.

func SetRuleSelector

func SetRuleSelector(styleSheetID StyleSheetID, rangeVal *SourceRange, selector string) *SetRuleSelectorParams

SetRuleSelector modifies the rule selector.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setRuleSelector

parameters:

styleSheetID
range
selector

func (*SetRuleSelectorParams) Do

func (p *SetRuleSelectorParams) Do(ctx context.Context) (selectorList *SelectorList, err error)

Do executes CSS.setRuleSelector against the provided context.

returns:

selectorList - The resulting selector list after modification.

type SetRuleSelectorReturns

type SetRuleSelectorReturns struct {
	SelectorList *SelectorList `json:"selectorList,omitempty,omitzero"` // The resulting selector list after modification.
}

SetRuleSelectorReturns return values.

type SetScopeTextParams

type SetScopeTextParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
	Range        *SourceRange `json:"range"`
	Text         string       `json:"text"`
}

SetScopeTextParams modifies the expression of a scope at-rule.

func SetScopeText

func SetScopeText(styleSheetID StyleSheetID, rangeVal *SourceRange, text string) *SetScopeTextParams

SetScopeText modifies the expression of a scope at-rule.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setScopeText

parameters:

styleSheetID
range
text

func (*SetScopeTextParams) Do

func (p *SetScopeTextParams) Do(ctx context.Context) (scope *Scope, err error)

Do executes CSS.setScopeText against the provided context.

returns:

scope - The resulting CSS Scope rule after modification.

type SetScopeTextReturns

type SetScopeTextReturns struct {
	Scope *Scope `json:"scope,omitempty,omitzero"` // The resulting CSS Scope rule after modification.
}

SetScopeTextReturns return values.

type SetStyleSheetTextParams

type SetStyleSheetTextParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
	Text         string       `json:"text"`
}

SetStyleSheetTextParams sets the new stylesheet text.

func SetStyleSheetText

func SetStyleSheetText(styleSheetID StyleSheetID, text string) *SetStyleSheetTextParams

SetStyleSheetText sets the new stylesheet text.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setStyleSheetText

parameters:

styleSheetID
text

func (*SetStyleSheetTextParams) Do

func (p *SetStyleSheetTextParams) Do(ctx context.Context) (sourceMapURL string, err error)

Do executes CSS.setStyleSheetText against the provided context.

returns:

sourceMapURL - URL of source map associated with script (if any).

type SetStyleSheetTextReturns

type SetStyleSheetTextReturns struct {
	SourceMapURL string `json:"sourceMapURL,omitempty,omitzero"` // URL of source map associated with script (if any).
}

SetStyleSheetTextReturns return values.

type SetStyleTextsParams

type SetStyleTextsParams struct {
	Edits                           []*StyleDeclarationEdit `json:"edits"`
	NodeForPropertySyntaxValidation cdp.NodeID              `json:"nodeForPropertySyntaxValidation,omitempty,omitzero"` // NodeId for the DOM node in whose context custom property declarations for registered properties should be validated. If omitted, declarations in the new rule text can only be validated statically, which may produce incorrect results if the declaration contains a var() for example.
}

SetStyleTextsParams applies specified style edits one after another in the given order.

func SetStyleTexts

func SetStyleTexts(edits []*StyleDeclarationEdit) *SetStyleTextsParams

SetStyleTexts applies specified style edits one after another in the given order.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setStyleTexts

parameters:

edits

func (*SetStyleTextsParams) Do

func (p *SetStyleTextsParams) Do(ctx context.Context) (styles []*Style, err error)

Do executes CSS.setStyleTexts against the provided context.

returns:

styles - The resulting styles after modification.

func (SetStyleTextsParams) WithNodeForPropertySyntaxValidation

func (p SetStyleTextsParams) WithNodeForPropertySyntaxValidation(nodeForPropertySyntaxValidation cdp.NodeID) *SetStyleTextsParams

WithNodeForPropertySyntaxValidation nodeId for the DOM node in whose context custom property declarations for registered properties should be validated. If omitted, declarations in the new rule text can only be validated statically, which may produce incorrect results if the declaration contains a var() for example.

type SetStyleTextsReturns

type SetStyleTextsReturns struct {
	Styles []*Style `json:"styles,omitempty,omitzero"` // The resulting styles after modification.
}

SetStyleTextsReturns return values.

type SetSupportsTextParams

type SetSupportsTextParams struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"`
	Range        *SourceRange `json:"range"`
	Text         string       `json:"text"`
}

SetSupportsTextParams modifies the expression of a supports at-rule.

func SetSupportsText

func SetSupportsText(styleSheetID StyleSheetID, rangeVal *SourceRange, text string) *SetSupportsTextParams

SetSupportsText modifies the expression of a supports at-rule.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-setSupportsText

parameters:

styleSheetID
range
text

func (*SetSupportsTextParams) Do

func (p *SetSupportsTextParams) Do(ctx context.Context) (supports *Supports, err error)

Do executes CSS.setSupportsText against the provided context.

returns:

supports - The resulting CSS Supports rule after modification.

type SetSupportsTextReturns

type SetSupportsTextReturns struct {
	Supports *Supports `json:"supports,omitempty,omitzero"` // The resulting CSS Supports rule after modification.
}

SetSupportsTextReturns return values.

type ShorthandEntry

type ShorthandEntry struct {
	Name      string `json:"name"`      // Shorthand name.
	Value     string `json:"value"`     // Shorthand value.
	Important bool   `json:"important"` // Whether the property has "!important" annotation (implies false if absent).
}

ShorthandEntry [no description].

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-ShorthandEntry

type SourceRange

type SourceRange struct {
	StartLine   int64 `json:"startLine"`   // Start line of range.
	StartColumn int64 `json:"startColumn"` // Start column of range (inclusive).
	EndLine     int64 `json:"endLine"`     // End line of range
	EndColumn   int64 `json:"endColumn"`   // End column of range (exclusive).
}

SourceRange text range within a resource. All numbers are zero-based.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-SourceRange

type Specificity

type Specificity struct {
	A int64 `json:"a"` // The a component, which represents the number of ID selectors.
	B int64 `json:"b"` // The b component, which represents the number of class selectors, attributes selectors, and pseudo-classes.
	C int64 `json:"c"` // The c component, which represents the number of type selectors and pseudo-elements.
}

Specificity specificity: https://drafts.csswg.org/selectors/#specificity-rules.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-Specificity

type StartRuleUsageTrackingParams

type StartRuleUsageTrackingParams struct{}

StartRuleUsageTrackingParams enables the selector recording.

func StartRuleUsageTracking

func StartRuleUsageTracking() *StartRuleUsageTrackingParams

StartRuleUsageTracking enables the selector recording.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-startRuleUsageTracking

func (*StartRuleUsageTrackingParams) Do

Do executes CSS.startRuleUsageTracking against the provided context.

type StartingStyle

type StartingStyle struct {
	Range        *SourceRange `json:"range,omitempty,omitzero"`        // The associated rule header range in the enclosing stylesheet (if available).
	StyleSheetID StyleSheetID `json:"styleSheetId,omitempty,omitzero"` // Identifier of the stylesheet containing this object (if exists).
}

StartingStyle CSS Starting Style at-rule descriptor.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSStartingStyle

type StopRuleUsageTrackingParams

type StopRuleUsageTrackingParams struct{}

StopRuleUsageTrackingParams stop tracking rule usage and return the list of rules that were used since last call to takeCoverageDelta (or since start of coverage instrumentation).

func StopRuleUsageTracking

func StopRuleUsageTracking() *StopRuleUsageTrackingParams

StopRuleUsageTracking stop tracking rule usage and return the list of rules that were used since last call to takeCoverageDelta (or since start of coverage instrumentation).

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-stopRuleUsageTracking

func (*StopRuleUsageTrackingParams) Do

func (p *StopRuleUsageTrackingParams) Do(ctx context.Context) (ruleUsage []*RuleUsage, err error)

Do executes CSS.stopRuleUsageTracking against the provided context.

returns:

ruleUsage

type StopRuleUsageTrackingReturns

type StopRuleUsageTrackingReturns struct {
	RuleUsage []*RuleUsage `json:"ruleUsage,omitempty,omitzero"`
}

StopRuleUsageTrackingReturns return values.

type Style

type Style struct {
	StyleSheetID     StyleSheetID      `json:"styleSheetId,omitempty,omitzero"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
	CSSProperties    []*Property       `json:"cssProperties"`                   // CSS properties in the style.
	ShorthandEntries []*ShorthandEntry `json:"shorthandEntries"`                // Computed values for all shorthands found in the style.
	CSSText          string            `json:"cssText,omitempty,omitzero"`      // Style declaration text (if available).
	Range            *SourceRange      `json:"range,omitempty,omitzero"`        // Style declaration range in the enclosing stylesheet (if available).
}

Style CSS style representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSStyle

type StyleDeclarationEdit

type StyleDeclarationEdit struct {
	StyleSheetID StyleSheetID `json:"styleSheetId"` // The css style sheet identifier.
	Range        *SourceRange `json:"range"`        // The range of the style text in the enclosing stylesheet.
	Text         string       `json:"text"`         // New style text.
}

StyleDeclarationEdit a descriptor of operation to mutate style declaration text.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-StyleDeclarationEdit

type StyleSheetHeader

type StyleSheetHeader struct {
	StyleSheetID  StyleSheetID      `json:"styleSheetId"`                    // The stylesheet identifier.
	FrameID       cdp.FrameID       `json:"frameId"`                         // Owner frame identifier.
	SourceURL     string            `json:"sourceURL"`                       // Stylesheet resource URL. Empty if this is a constructed stylesheet created using new CSSStyleSheet() (but non-empty if this is a constructed stylesheet imported as a CSS module script).
	SourceMapURL  string            `json:"sourceMapURL,omitempty,omitzero"` // URL of source map associated with the stylesheet (if any).
	Origin        StyleSheetOrigin  `json:"origin"`                          // Stylesheet origin.
	Title         string            `json:"title"`                           // Stylesheet title.
	OwnerNode     cdp.BackendNodeID `json:"ownerNode,omitempty,omitzero"`    // The backend id for the owner node of the stylesheet.
	Disabled      bool              `json:"disabled"`                        // Denotes whether the stylesheet is disabled.
	HasSourceURL  bool              `json:"hasSourceURL"`                    // Whether the sourceURL field value comes from the sourceURL comment.
	IsInline      bool              `json:"isInline"`                        // Whether this stylesheet is created for STYLE tag by parser. This flag is not set for document.written STYLE tags.
	IsMutable     bool              `json:"isMutable"`                       // Whether this stylesheet is mutable. Inline stylesheets become mutable after they have been modified via CSSOM API. <link> element's stylesheets become mutable only if DevTools modifies them. Constructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation.
	IsConstructed bool              `json:"isConstructed"`                   // True if this stylesheet is created through new CSSStyleSheet() or imported as a CSS module script.
	StartLine     float64           `json:"startLine"`                       // Line offset of the stylesheet within the resource (zero based).
	StartColumn   float64           `json:"startColumn"`                     // Column offset of the stylesheet within the resource (zero based).
	Length        float64           `json:"length"`                          // Size of the content (in characters).
	EndLine       float64           `json:"endLine"`                         // Line offset of the end of the stylesheet within the resource (zero based).
	EndColumn     float64           `json:"endColumn"`                       // Column offset of the end of the stylesheet within the resource (zero based).
	LoadingFailed bool              `json:"loadingFailed"`                   // If the style sheet was loaded from a network resource, this indicates when the resource failed to load
}

StyleSheetHeader CSS stylesheet metainformation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSStyleSheetHeader

type StyleSheetID

type StyleSheetID string

StyleSheetID [no description].

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-StyleSheetId

func (StyleSheetID) String

func (t StyleSheetID) String() string

String returns the StyleSheetID as string value.

type StyleSheetOrigin

type StyleSheetOrigin string

StyleSheetOrigin stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via inspector" rules), "regular" for regular stylesheets.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-StyleSheetOrigin

const (
	StyleSheetOriginInjected  StyleSheetOrigin = "injected"
	StyleSheetOriginUserAgent StyleSheetOrigin = "user-agent"
	StyleSheetOriginInspector StyleSheetOrigin = "inspector"
	StyleSheetOriginRegular   StyleSheetOrigin = "regular"
)

StyleSheetOrigin values.

func (StyleSheetOrigin) String

func (t StyleSheetOrigin) String() string

String returns the StyleSheetOrigin as string value.

func (*StyleSheetOrigin) UnmarshalJSON

func (t *StyleSheetOrigin) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies [json.Unmarshaler].

type Supports

type Supports struct {
	Text         string       `json:"text"`                            // Supports rule text.
	Active       bool         `json:"active"`                          // Whether the supports condition is satisfied.
	Range        *SourceRange `json:"range,omitempty,omitzero"`        // The associated rule header range in the enclosing stylesheet (if available).
	StyleSheetID StyleSheetID `json:"styleSheetId,omitempty,omitzero"` // Identifier of the stylesheet containing this object (if exists).
}

Supports CSS Supports at-rule descriptor.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSSupports

type TakeComputedStyleUpdatesParams

type TakeComputedStyleUpdatesParams struct{}

TakeComputedStyleUpdatesParams polls the next batch of computed style updates.

func TakeComputedStyleUpdates

func TakeComputedStyleUpdates() *TakeComputedStyleUpdatesParams

TakeComputedStyleUpdates polls the next batch of computed style updates.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-takeComputedStyleUpdates

func (*TakeComputedStyleUpdatesParams) Do

func (p *TakeComputedStyleUpdatesParams) Do(ctx context.Context) (nodeIDs []cdp.NodeID, err error)

Do executes CSS.takeComputedStyleUpdates against the provided context.

returns:

nodeIDs - The list of node Ids that have their tracked computed styles updated.

type TakeComputedStyleUpdatesReturns

type TakeComputedStyleUpdatesReturns struct {
	NodeIDs []cdp.NodeID `json:"nodeIds,omitempty,omitzero"` // The list of node Ids that have their tracked computed styles updated.
}

TakeComputedStyleUpdatesReturns return values.

type TakeCoverageDeltaParams

type TakeCoverageDeltaParams struct{}

TakeCoverageDeltaParams obtain list of rules that became used since last call to this method (or since start of coverage instrumentation).

func TakeCoverageDelta

func TakeCoverageDelta() *TakeCoverageDeltaParams

TakeCoverageDelta obtain list of rules that became used since last call to this method (or since start of coverage instrumentation).

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-takeCoverageDelta

func (*TakeCoverageDeltaParams) Do

func (p *TakeCoverageDeltaParams) Do(ctx context.Context) (coverage []*RuleUsage, timestamp float64, err error)

Do executes CSS.takeCoverageDelta against the provided context.

returns:

coverage
timestamp - Monotonically increasing time, in seconds.

type TakeCoverageDeltaReturns

type TakeCoverageDeltaReturns struct {
	Coverage  []*RuleUsage `json:"coverage,omitempty,omitzero"`
	Timestamp float64      `json:"timestamp,omitempty,omitzero"` // Monotonically increasing time, in seconds.
}

TakeCoverageDeltaReturns return values.

type TrackComputedStyleUpdatesForNodeParams

type TrackComputedStyleUpdatesForNodeParams struct {
	NodeID cdp.NodeID `json:"nodeId,omitempty,omitzero"`
}

TrackComputedStyleUpdatesForNodeParams starts tracking the given node for the computed style updates and whenever the computed style is updated for node, it queues a computedStyleUpdated event with throttling. There can only be 1 node tracked for computed style updates so passing a new node id removes tracking from the previous node. Pass undefined to disable tracking.

func TrackComputedStyleUpdatesForNode

func TrackComputedStyleUpdatesForNode() *TrackComputedStyleUpdatesForNodeParams

TrackComputedStyleUpdatesForNode starts tracking the given node for the computed style updates and whenever the computed style is updated for node, it queues a computedStyleUpdated event with throttling. There can only be 1 node tracked for computed style updates so passing a new node id removes tracking from the previous node. Pass undefined to disable tracking.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-trackComputedStyleUpdatesForNode

parameters:

func (*TrackComputedStyleUpdatesForNodeParams) Do

Do executes CSS.trackComputedStyleUpdatesForNode against the provided context.

func (TrackComputedStyleUpdatesForNodeParams) WithNodeID

WithNodeID [no description].

type TrackComputedStyleUpdatesParams

type TrackComputedStyleUpdatesParams struct {
	PropertiesToTrack []*ComputedStyleProperty `json:"propertiesToTrack"`
}

TrackComputedStyleUpdatesParams starts tracking the given computed styles for updates. The specified array of properties replaces the one previously specified. Pass empty array to disable tracking. Use takeComputedStyleUpdates to retrieve the list of nodes that had properties modified. The changes to computed style properties are only tracked for nodes pushed to the front-end by the DOM agent. If no changes to the tracked properties occur after the node has been pushed to the front-end, no updates will be issued for the node.

func TrackComputedStyleUpdates

func TrackComputedStyleUpdates(propertiesToTrack []*ComputedStyleProperty) *TrackComputedStyleUpdatesParams

TrackComputedStyleUpdates starts tracking the given computed styles for updates. The specified array of properties replaces the one previously specified. Pass empty array to disable tracking. Use takeComputedStyleUpdates to retrieve the list of nodes that had properties modified. The changes to computed style properties are only tracked for nodes pushed to the front-end by the DOM agent. If no changes to the tracked properties occur after the node has been pushed to the front-end, no updates will be issued for the node.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#method-trackComputedStyleUpdates

parameters:

propertiesToTrack

func (*TrackComputedStyleUpdatesParams) Do

Do executes CSS.trackComputedStyleUpdates against the provided context.

type TryRule

type TryRule struct {
	StyleSheetID StyleSheetID     `json:"styleSheetId,omitempty,omitzero"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
	Origin       StyleSheetOrigin `json:"origin"`                          // Parent stylesheet's origin.
	Style        *Style           `json:"style"`                           // Associated style declaration.
}

TryRule CSS try rule representation.

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSTryRule

type Value

type Value struct {
	Text        string       `json:"text"`                           // Value text.
	Range       *SourceRange `json:"range,omitempty,omitzero"`       // Value range in the underlying resource (if available).
	Specificity *Specificity `json:"specificity,omitempty,omitzero"` // Specificity of the selector.
}

Value data for a simple selector (these are delimited by commas in a selector list).

See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-Value

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL