Interface CSSAsync


public interface CSSAsync
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.
  • Method Details

    • addRule

      CompletableFuture<CSSRule> addRule(String styleSheetId, String ruleText, SourceRange location)
      Inserts a new rule with the given ruleText in a stylesheet with given styleSheetId, at the position specified by location.
      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.
      Returns:
      The newly created rule.
    • collectClassNames

      CompletableFuture<List<String>> collectClassNames(String styleSheetId)
      Returns all class names from specified stylesheet.
      Returns:
      Class name list.
    • createStyleSheet

      CompletableFuture<String> createStyleSheet(String frameId)
      Creates a new special "via-inspector" stylesheet in the frame with given frameId.
      Parameters:
      frameId - Identifier of the frame where "via-inspector" stylesheet should be created.
      Returns:
      Identifier of the created "via-inspector" stylesheet.
    • disable

      Disables the CSS agent for the given page.
    • 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.
    • forcePseudoState

      CompletableFuture<Void> forcePseudoState(Integer nodeId, List<String> forcedPseudoClasses)
      Ensures that the given node will have specified pseudo-classes whenever its style is computed by the browser.
      Parameters:
      nodeId - The element id for which to force the pseudo state.
      forcedPseudoClasses - Element pseudo classes to force when computing the element's style.
    • getBackgroundColors

      CompletableFuture<GetBackgroundColorsResult> getBackgroundColors(Integer nodeId)
      Returns:
      GetBackgroundColorsResult
    • getComputedStyleForNode

      CompletableFuture<List<CSSComputedStyleProperty>> getComputedStyleForNode(Integer nodeId)
      Returns the computed style for a DOM node identified by nodeId.
      Returns:
      Computed style for the specified DOM node.
    • getInlineStylesForNode

      CompletableFuture<GetInlineStylesForNodeResult> getInlineStylesForNode(Integer nodeId)
      Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified by nodeId.
      Returns:
      GetInlineStylesForNodeResult
    • getLayersForNode

      CompletableFuture<CSSLayerData> getLayersForNode(Integer nodeId)
      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.
    • getMatchedStylesForNode

      CompletableFuture<GetMatchedStylesForNodeResult> getMatchedStylesForNode(Integer nodeId)
      Returns requested styles for a DOM node identified by nodeId.
      Returns:
      GetMatchedStylesForNodeResult
    • getMediaQueries

      CompletableFuture<List<CSSMedia>> getMediaQueries()
      Returns all media queries parsed by the rendering engine.
    • getPlatformFontsForNode

      CompletableFuture<List<PlatformFontUsage>> getPlatformFontsForNode(Integer nodeId)
      Requests information about platform fonts which we used to render child TextNodes in the given node.
      Returns:
      Usage statistics for every employed platform font.
    • getStyleSheetText

      CompletableFuture<String> getStyleSheetText(String styleSheetId)
      Returns the current textual content for a stylesheet.
      Returns:
      The stylesheet text.
    • setContainerQueryText

      CompletableFuture<CSSContainerQuery> setContainerQueryText(String styleSheetId, SourceRange range, String text)
      Modifies the expression of a container query.
      Returns:
      The resulting CSS container query rule after modification.
    • setEffectivePropertyValueForNode

      CompletableFuture<Void> setEffectivePropertyValueForNode(Integer nodeId, String propertyName, String value)
      Find a rule with the given active property for the given node and set the new value for this property
      Parameters:
      nodeId - The element id for which to set property.
    • setKeyframeKey

      CompletableFuture<Value> setKeyframeKey(String styleSheetId, SourceRange range, String keyText)
      Modifies the keyframe rule key text.
      Returns:
      The resulting key text after modification.
    • setLocalFontsEnabled

      CompletableFuture<Void> setLocalFontsEnabled(Boolean enabled)
      Enables/disables rendering of local CSS fonts (enabled by default).
      Parameters:
      enabled - Whether rendering of local fonts is enabled.
    • setMediaText

      CompletableFuture<CSSMedia> setMediaText(String styleSheetId, SourceRange range, String text)
      Modifies the rule selector.
      Returns:
      The resulting CSS media rule after modification.
    • setRuleSelector

      CompletableFuture<SelectorList> setRuleSelector(String styleSheetId, SourceRange range, String selector)
      Modifies the rule selector.
      Returns:
      The resulting selector list after modification.
    • setScopeText

      CompletableFuture<CSSScope> setScopeText(String styleSheetId, SourceRange range, String text)
      Modifies the expression of a scope at-rule.
      Returns:
      The resulting CSS Scope rule after modification.
    • setStyleSheetText

      CompletableFuture<String> setStyleSheetText(String styleSheetId, String text)
      Sets the new stylesheet text.
      Returns:
      URL of source map associated with script (if any).
    • setStyleTexts

      Applies specified style edits one after another in the given order.
      Returns:
      The resulting styles after modification.
    • setSupportsText

      CompletableFuture<CSSSupports> setSupportsText(String styleSheetId, SourceRange range, String text)
      Modifies the expression of a supports at-rule.
      Returns:
      The resulting CSS Supports rule after modification.
    • startRuleUsageTracking

      CompletableFuture<Void> startRuleUsageTracking()
      Enables the selector recording.
    • stopRuleUsageTracking

      CompletableFuture<List<RuleUsage>> 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)
    • takeComputedStyleUpdates

      CompletableFuture<List<Integer>> takeComputedStyleUpdates()
      Polls the next batch of computed style updates.
      Returns:
      The list of node Ids that have their tracked computed styles updated
    • takeCoverageDelta

      Obtain list of rules that became used since last call to this method (or since start of coverage instrumentation)
      Returns:
      TakeCoverageDeltaResult
    • trackComputedStyleUpdates

      CompletableFuture<Void> trackComputedStyleUpdates(List<CSSComputedStyleProperty> propertiesToTrack)
      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.