Package Torello.Browser.BrowserAPI
Class CSS
- java.lang.Object
-
- Torello.Browser.BrowserAPI.CSS
-
public class CSS extends java.lang.Object
This class was built using the Chrome Remote Dev-Tools A.P.I., which is specified by two JSON-RPC Files. These files were obtained from the Chrome Dev Tools Protocol Git Hub Page, which has a "Tip of Tree" (the latest) API-Specification Page Here: JSON-RPC Protocol Specification.
These files were converted into this Java-Browser (CDP) Library. The intention is to have them function in a similar fasion to the Node.js Tool known as 'Puppeteer', Microsoft's 'Playwright' and of course the Main-Stay 'Selenium.' The Java-HTML JAR Library merely implements the Java Types & Commands defined by Google's DevTools Protocol.
🧠 View the Google CDP API:
This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles) have an associatedidused in subsequent operations on the related object. Each object type has a specificidstructure, and those are not interchangeable between objects of different kinds. CSS objects can be loaded using theget*ForNode()calls (which accept a DOM node id). A client can also keep track of stylesheets via thestyleSheetAdded/styleSheetRemovedevents and subsequently load the required stylesheet contents using thegetStyleSheet[Text]()methods.
The top-level description and explanation for this class (this comment, at the top this Java-Doc Page) is repeated, verbatim, across all of the domain classes which comprise Google's CDP API.This class is intended to be used with a Browser Instance
These methods have been tested, to some degree, using Google Chrome. In order to use this class you must start a web-browser instance and make a connection to the browser using aRemote Debugging Port. Google-Corporation is the developer of this API, but any browser which accepts a Remote Debug Port Connection over Web-Sockets.
Google-Chrome was used during the development process of the classes in this particular package. Lately, it has been asserted Microsoft has switched to using the Chrome Browser-Engine for its Microsoft Edge Internal Code-Base. Therefore, there may some functionality available when running the methods in this class with Microsoft-Edge.
Check whether the your Web-Browser will allow itself to be driven by theWeb-Socket RDP-Port 9223. See the examples available in packageTorello.Browserto undertand how to build aPageConnandBrowserConnWeb-Socket Connection, and how to build aWebSocketSenderinstance in order to execute the methods in this class.
Web-Socket & JSON API:
Every one of the methods that reside in this class are designed to do nothing more than:- Accept Parameters from the User, and "Marshall Them" into a Valid JSON-Request
- Transmit the Marshalled Request-JSON to a Headless Web-Browser over a Web-Socket Connection
- Receive BOTH that Command-Results AND any Browser Event-Firings from the Web-Socket
- Parse JSON Method-Results and Browser-Event Firings, and Subsequently Convert them to Standard Java-Types
- Report these Method-Results and Browser-Events to the User via a User-Registered, Event-Listener (Events) or a Promise Object (Command Responses / Results)
Unlike the bulk of the Java HTML JAR Library, there is very little native Java-Code, and very little testing that may be done on any of the classes & methods in this package. The code inside these classes does nothing more than marshall-and-unmarshall Java-Types into Json-Requests (and vice-versa). The Java-Script & Browser modules inside of a Google-Chrome instance are, theoretically, handling these requests, and returning their results (or events) over the Web-Socket Connection.
It has been asserted (by Google Chrome Developers) that some of these methods are only "partially working" or "experimental".
Asking Chat-GPT for Help:
The LLM otherwise known as "Chat-GPT" does, indeed, have an expert level of knowledge about the "Remote DevTools Protocol". The API that theChrome DevTools Protocl (CDP)exports is extremely well understood by the LLM, and generally I have found that Chat-GPT understands (by 2 or 3 orders of magnitude) better what my Auto-Generated JSON-Wrappers can do in controlling a Web-Browser than I could ever possibly hope to understand.
Though not available today, there will soon be an automatically downloadable Token-Stream (AI Embeddings) BUTTON available on my Java-Doc Pages that should hopefully make it extremely easy to post my code-base, RAG Style, to Chat-GPT and other LLM's when 'interogating' them. Presently, because my "Get Token Stream Button" does not exist yet on any of my pages, what you can do is copy-and-paste any Method-Signature from any one of these pages and then ask Chat-GPT to explain what that Browser or Java-Script Function is actually doing. It is very likely to give you some pretty neat answers.
I have found that every single one of the Domains, Types & Events which are offered by the CDP Protocol (though not documented very well by Google), are perfectly understood by the A.I. LLM - literally to the point where it does know (much better than I ever could) what my own code base actually does!
Try it out, it's a lot of fun. Note that this package and these classes were originally developed solely to be able to execute the Java-Script that a browser executes when visiting a Web-Site. Complete HTML-Page Content can be scraped (using the HTML Data-Scraping Tools in Java-HTML) off of Web-Sites that have dynamic / Java-Script Generated Content.
Conspicuous Boxed-Types Usage:
You may notice that there are many methods that have parameters which accept, for instance, anInteger, instead of a primitiveint. Just to remind the readiner, in Java Programs aBoxed Typeis a standard Java-Primitive which has been converted into an Object-Reference. The use of Boxed-Types in this code base is an easy-and-fast-way to allow for the concept of "Optional Parameters" or "Optional Field Value."
Whenever you see a method that accepts anInteger, the reason for this Parameter-Type choice is actually to allow a user to pass 'null' to it. This is a simple way to ELIDE passing any value at all to parameters which Google-Chrome would otherwise assert are "Optional." Whenever you pass 'null' to a Boxed-Types in this class, the Json-Processor will simply eliminate that Object-Property from the command altogether; and the browser will simply not receive any value for that parameter when that command is invoked.
The Java Language Specification does not have an easy or well defined means of accepting optional method parameters; so Boxed-Types and 'null' are utilized here. Note that 'null' may be passed to any Command Method-Parameter that is listed asOptionalon the Java-Doc Page description for that parameter.
Hi-Lited Source-Code:This File's Source Code:
- View Here: Torello/Browser/BrowserAPI/CSS.java
- Open New Browser-Tab: Torello/Browser/BrowserAPI/CSS.java
File Size: 188,231 Bytes Line Count: 4,726 '\n' Characters Found
Helper: Command Invocation Helpers
- View Here: CSS$$Commands.java
- Open New Browser-Tab: CSS$$Commands.java
File Size: 16,274 Bytes Line Count: 418 '\n' Characters Found
Stateless Class:This class neither contains any program-state, nor can it be instantiated. The@StaticFunctionalAnnotation may also be called 'The Spaghetti Report'.Static-Functionalclasses are, essentially, C-Styled Files, without any constructors or non-static member fields. It is a concept very similar to the Java-Bean's@StatelessAnnotation.
- 1 Constructor(s), 1 declared private, zero-argument constructor
- 38 Method(s), 38 declared static
- 4 Field(s), 4 declared static, 4 declared final
-
-
Nested Class Summary
Type Nested Classes: Types / Classes that Are Used & Exported by this Domain Modifier and Type Class Description static classCSS.CSSAnimationStyleCSS style coming from animations with the name of the animation.static classCSS.CSSComputedStyleProperty[No Description Provided by Google]static classCSS.CSSContainerQueryCSS container query rule descriptor.static classCSS.CSSFontPaletteValuesRuleCSS font-palette-values rule representation.static classCSS.CSSFunctionConditionNodeCSS function conditional block representation.static classCSS.CSSFunctionNodeSection of the body of a CSS function rule.static classCSS.CSSFunctionParameterCSS function argument representation.static classCSS.CSSFunctionRuleCSS function at-rule representation.static classCSS.CSSKeyframeRuleCSS keyframe rule representation.static classCSS.CSSKeyframesRuleCSS keyframes rule representation.static classCSS.CSSLayerCSS Layer at-rule descriptor.static classCSS.CSSLayerDataCSS Layer data.static classCSS.CSSMediaCSS media rule descriptor.static classCSS.CSSPositionTryRuleCSS @position-try rule representation.static classCSS.CSSPropertyCSS property declaration data.static classCSS.CSSPropertyRegistrationRepresentation of a custom property registration through CSS.registerPropertystatic classCSS.CSSPropertyRuleCSS property at-rule representation.static classCSS.CSSRuleCSS rule representation.static classCSS.CSSScopeCSS Scope at-rule descriptor.static classCSS.CSSStartingStyleCSS Starting Style at-rule descriptor.static classCSS.CSSStyleCSS style representation.static classCSS.CSSStyleSheetHeaderCSS stylesheet metainformation.static classCSS.CSSSupportsCSS Supports at-rule descriptor.static classCSS.CSSTryRuleCSS try rule representation.static classCSS.FontFaceProperties 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.static classCSS.FontVariationAxisInformation about font variation axes for variable fontsstatic classCSS.InheritedAnimatedStyleEntryInherited CSS style collection for animated styles from ancestor node.static classCSS.InheritedPseudoElementMatchesInherited pseudo element matches from pseudos of an ancestor node.static classCSS.InheritedStyleEntryInherited CSS rule collection from ancestor node.static classCSS.MediaQueryMedia query descriptor.static classCSS.MediaQueryExpressionMedia query expression descriptor.static classCSS.PlatformFontUsageInformation about amount of glyphs that were rendered with given font.static classCSS.PseudoElementMatchesCSS rule collection for a single pseudo style.static classCSS.RuleMatchMatch data for a CSS rule.static classCSS.RuleUsageCSS coverage information.static classCSS.SelectorListSelector list data.static classCSS.ShorthandEntry[No Description Provided by Google]static classCSS.SourceRangeText range within a resource.static classCSS.SpecificitySpecificity: https://drafts.csswg.org/selectors/#specificity-rulesstatic classCSS.StyleDeclarationEditA descriptor of operation to mutate style declaration text.static classCSS.ValueData for a simple selector (these are delimited by commas in a selector list).Event Nested Classes: Browser Events, as Java Inner Classes, Which are Fired by this Domain Modifier and Type Class Description static classCSS.computedStyleUpdated[No Description Provided by Google]static classCSS.fontsUpdatedFires whenever a web font is updated.static classCSS.styleSheetAddedFired whenever an active document stylesheet is added.static classCSS.styleSheetChangedFired whenever a stylesheet is changed as a result of the client operation.static classCSS.styleSheetRemovedFired whenever an active document stylesheet is removed.Command-Returns Nested Classes: Domain-Commands with Multiple Return-Values, and a Dedicated Inner-Class Modifier and Type Class Description static classCSS.getAnimatedStylesForNode$$RETReturns the styles coming from animations & transitions including the animation & transition styles coming from inheritance chain.static classCSS.getBackgroundColors$$RET[No Description Provided by Google]static classCSS.getInlineStylesForNode$$RETReturns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified bynodeId.static classCSS.getMatchedStylesForNode$$RETReturns requested styles for a DOM node identified bynodeId.static classCSS.takeCoverageDelta$$RETObtain list of rules that became used since last call to this method (or since start of coverage instrumentation).
-
Field Summary
Enumerated Strings: Like Java 'enum' Types, but Converted to Read-Only String-Lists Modifier and Type Field Description static ReadOnlyList<String>CSSRuleTypeEnum indicating the type of a CSS rule, used to represent the order of a style rule's ancestors.static ReadOnlyList<String>StyleSheetOriginStylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent stylesheets, "inspector" for stylesheets created by the inspector (i.e.Eliminated Types: Removed CDP Types which Have Been Re-Mapped to Basic Java String Constants Modifier and Type Field Description static StringStyleSheetId[No Description Provided by Google]Marker Events: Events without any Fields or Properties Modifier and Type Field Description static StringmediaQueryResultChangedFires whenever a MediaQuery result changes (for example, after a browser window has been resized.) The current implementation considers only viewport-dependent media features.
-
Method Summary
CSS Domain Commands Script Returns Modifier and Type Method CSS.CSSRulestatic Script<>addRule(String styleSheetId, String ruleText, CSS.SourceRange location, Integer nodeForPropertySyntaxValidation)
Inserts a new rule with the givenruleTextin a stylesheet with givenstyleSheetId, at the position specified bylocation.String[]static Script<>collectClassNames(String styleSheetId)
Returns all class names from specified stylesheet.Stringstatic Script<>createStyleSheet(String frameId, Boolean force)
Creates a new special "via-inspector" stylesheet in the frame with givenframeId.Voidstatic Script<>disable()
Disables the CSS agent for the given page.Voidstatic Script<>enable()
Enables the CSS agent for the given page.Voidstatic Script<>forcePseudoState(int nodeId, String[] forcedPseudoClasses)
Ensures that the given node will have specified pseudo-classes whenever its style is computed by the browser.Voidstatic Script<>forceStartingStyle(int nodeId, boolean forced)
Ensures that the given node is in its starting-style state.CSS.getAnimatedStylesForNode$$RETstatic Script<>getAnimatedStylesForNode(int nodeId)
Returns the styles coming from animations & transitions including the animation & transition styles coming from inheritance chain.CSS.getBackgroundColors$$RETstatic Script<>getBackgroundColors(int nodeId)
[No Description Provided by Google]CSS.CSSComputedStyleProperty[]static Script<>getComputedStyleForNode(int nodeId)
Returns the computed style for a DOM node identified bynodeId.JsonValuestatic Script<>getEnvironmentVariables()
Returns the values of the default UA-defined environment variables used in env()CSS.getInlineStylesForNode$$RETstatic Script<>getInlineStylesForNode(int nodeId)
Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified bynodeId.CSS.CSSLayerDatastatic Script<>getLayersForNode(int nodeId)
Returns all layers parsed by the rendering engine for the tree scope of a node.CSS.SourceRange[]static Script<>getLocationForSelector(String styleSheetId, String selectorText)
Given a CSS selector text and a style sheet ID, getLocationForSelector returns an array of locations of the CSS selector in the style sheet.CSS.CSSProperty[]static Script<>getLonghandProperties(String shorthandName, String value)
[No Description Provided by Google]CSS.getMatchedStylesForNode$$RETstatic Script<>getMatchedStylesForNode(int nodeId)
Returns requested styles for a DOM node identified bynodeId.CSS.CSSMedia[]static Script<>getMediaQueries()
Returns all media queries parsed by the rendering engine.CSS.PlatformFontUsage[]static Script<>getPlatformFontsForNode(int nodeId)
Requests information about platform fonts which we used to render child TextNodes in the given node.Stringstatic Script<>getStyleSheetText(String styleSheetId)
Returns the current textual content for a stylesheet.String[]static Script<>resolveValues(String[] values, int nodeId, String propertyName, String pseudoType, String pseudoIdentifier)
Resolve the specified values in the context of the provided element.CSS.CSSContainerQuerystatic Script<>setContainerQueryText(String styleSheetId, CSS.SourceRange range, String text)
Modifies the expression of a container query.Voidstatic Script<>setEffectivePropertyValueForNode(int nodeId, String propertyName, String value)
Find a rule with the given active property for the given node and set the new value for this propertyCSS.Valuestatic Script<>setKeyframeKey(String styleSheetId, CSS.SourceRange range, String keyText)
Modifies the keyframe rule key text.Voidstatic Script<>setLocalFontsEnabled(boolean enabled)
Enables/disables rendering of local CSS fonts (enabled by default).CSS.CSSMediastatic Script<>setMediaText(String styleSheetId, CSS.SourceRange range, String text)
Modifies the rule selector.CSS.Valuestatic Script<>setPropertyRulePropertyName(String styleSheetId, CSS.SourceRange range, String propertyName)
Modifies the property rule property name.CSS.SelectorListstatic Script<>setRuleSelector(String styleSheetId, CSS.SourceRange range, String selector)
Modifies the rule selector.CSS.CSSScopestatic Script<>setScopeText(String styleSheetId, CSS.SourceRange range, String text)
Modifies the expression of a scope at-rule.Stringstatic Script<>setStyleSheetText(String styleSheetId, String text)
Sets the new stylesheet text.CSS.CSSStyle[]static Script<>setStyleTexts(CSS.StyleDeclarationEdit[] edits, Integer nodeForPropertySyntaxValidation)
Applies specified style edits one after another in the given order.CSS.CSSSupportsstatic Script<>setSupportsText(String styleSheetId, CSS.SourceRange range, String text)
Modifies the expression of a supports at-rule.Voidstatic Script<>startRuleUsageTracking()
Enables the selector recording.CSS.RuleUsage[]static Script<>stopRuleUsageTracking()
Stop tracking rule usage and return the list of rules that were used since last call totakeCoverageDelta(or since start of coverage instrumentation).int[]static Script<>takeComputedStyleUpdates()
Polls the next batch of computed style updates.CSS.takeCoverageDelta$$RETstatic Script<>takeCoverageDelta()
Obtain list of rules that became used since last call to this method (or since start of coverage instrumentation).Voidstatic Script<>trackComputedStyleUpdates(CSS.CSSComputedStyleProperty[] propertiesToTrack)
Starts tracking the given computed styles for updates.Voidstatic Script<>trackComputedStyleUpdatesForNode(Integer nodeId)
Starts tracking the given node for the computed style updates and whenever the computed style is updated for node, it queues acomputedStyleUpdatedevent with throttling.CSS Domain CommandBuilder Methods Modifier and Type Method Description static CommandBuilder
<String[]>resolveValues()Creates a buider for conveniently assigning parameters to this method.
-
-
-
Field Detail
-
StyleSheetId
public static final java.lang.String StyleSheetId
[No Description Provided by Google]
The TypeStyleSheetIdhas been eliminated, because it is a direct mapping to a basic Java-Type; it has no additional fields, or other distinguishing properties. Instead, this CDP defined type has been relegated to a simpleStringConstant, for documentation & reference purposes only.
The code which is generated which employs this type replaces its use with the Standard Java-Type:String
Eliminated Type- See Also:
- Constant Field Values
-
mediaQueryResultChanged
public static final java.lang.String mediaQueryResultChanged
Fires whenever a MediaQuery result changes (for example, after a browser window has been resized.) The current implementation considers only viewport-dependent media features.
This is Marker-Event. Marker-Event's are events that do not possess any data or fields at all. When such events are fired by the browser, the Web-Socket sends nothing more than the name of the event in the packet. The Java-HTML CDP Implementation (this library) has not actually created a dedicated Java Event-Type for this Browser Event.
This specificstaticfield is actually just declared aString.mediaQueryResultChangedhas not been 'reified' into an actual nested / inner class of its own, at all.
Eliminated Event Type- See Also:
- Constant Field Values
-
CSSRuleType
public static final ReadOnlyList<java.lang.String> CSSRuleType
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.
EXPERIMENTAL
String-Enumeration Type
-
StyleSheetOrigin
public static final ReadOnlyList<java.lang.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.
String-Enumeration Type
-
-
Method Detail
-
addRule
public static Script<CSS.CSSRule> addRule (java.lang.String styleSheetId, java.lang.String ruleText, CSS.SourceRange location, java.lang.Integer nodeForPropertySyntaxValidation)
Inserts a new rule with the givenruleTextin a stylesheet with givenstyleSheetId, at the position specified bylocation.- 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.nodeForPropertySyntaxValidation- 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.
OPTIONALEXPERIMENTAL- Returns:
- An instance of
Script<CSS.CSSRule>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSRule>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.
-
collectClassNames
public static Script<java.lang.String[]> collectClassNames (java.lang.String styleSheetId)
Returns all class names from specified stylesheet.- Parameters:
styleSheetId- -- Returns:
- An instance of
Script<String[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<String[]>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String[] (classNames)
Class name list.
-
createStyleSheet
public static Script<java.lang.String> createStyleSheet (java.lang.String frameId, java.lang.Boolean force)
Creates a new special "via-inspector" stylesheet in the frame with givenframeId.- Parameters:
frameId- Identifier of the frame where "via-inspector" stylesheet should be created.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).
OPTIONAL- Returns:
- An instance of
Script<String>
This script may be executed, usingScript.exec, and afterwards, aPromise<String>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String (styleSheetId)
Identifier of the created "via-inspector" stylesheet.
-
disable
-
enable
-
forcePseudoState
public static Script<java.lang.Void> forcePseudoState (int nodeId, java.lang.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.- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
forceStartingStyle
public static Script<java.lang.Void> forceStartingStyle(int nodeId, boolean forced)
Ensures that the given node is in its starting-style state.- Parameters:
nodeId- The element id for which to force the starting-style state.forced- Boolean indicating if this is on or off.- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
getAnimatedStylesForNode
public static Script<CSS.getAnimatedStylesForNode$$RET> getAnimatedStylesForNode (int nodeId)
Returns the styles coming from animations & transitions including the animation & transition styles coming from inheritance chain.
EXPERIMENTAL- Parameters:
nodeId- -- Returns:
- An instance of
Script<CSS.getAnimatedStylesForNode$$RET>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.getAnimatedStylesForNode$$RET>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.getAnimatedStylesForNode$$RETA dedicated return type implies that the browser may return more than 1 datum
-
getBackgroundColors
public static Script<CSS.getBackgroundColors$$RET> getBackgroundColors (int nodeId)
[No Description Provided by Google]- Parameters:
nodeId- Id of the node to get background colors for.- Returns:
- An instance of
Script<CSS.getBackgroundColors$$RET>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.getBackgroundColors$$RET>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.getBackgroundColors$$RETA dedicated return type implies that the browser may return more than 1 datum
-
getComputedStyleForNode
public static Script<CSS.CSSComputedStyleProperty[]> getComputedStyleForNode (int nodeId)
Returns the computed style for a DOM node identified bynodeId.- Parameters:
nodeId- -- Returns:
- An instance of
Script<CSS.CSSComputedStyleProperty[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSComputedStyleProperty[]>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.CSSComputedStyleProperty[] (computedStyle)
Computed style for the specified DOM node.
-
getEnvironmentVariables
public static Script<JsonValue> getEnvironmentVariables()
Returns the values of the default UA-defined environment variables used in env()
EXPERIMENTAL- Returns:
- An instance of
Script<JsonValue>
This script may be executed, usingScript.exec, and afterwards, aPromise<JsonValue>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:JsonValue (environmentVariables)
-
getInlineStylesForNode
public static Script<CSS.getInlineStylesForNode$$RET> getInlineStylesForNode (int nodeId)
Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified bynodeId.- Parameters:
nodeId- -- Returns:
- An instance of
Script<CSS.getInlineStylesForNode$$RET>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.getInlineStylesForNode$$RET>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.getInlineStylesForNode$$RETA dedicated return type implies that the browser may return more than 1 datum
-
getLayersForNode
public static Script<CSS.CSSLayerData> getLayersForNode(int 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.
EXPERIMENTAL- Parameters:
nodeId- -- Returns:
- An instance of
Script<CSS.CSSLayerData>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSLayerData>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.CSSLayerData(rootLayer)
-
getLocationForSelector
public static Script<CSS.SourceRange[]> getLocationForSelector (java.lang.String styleSheetId, java.lang.String selectorText)
Given a CSS selector text and a style sheet ID, getLocationForSelector returns an array of locations of the CSS selector in the style sheet.
EXPERIMENTAL- Parameters:
styleSheetId- -selectorText- -- Returns:
- An instance of
Script<CSS.SourceRange[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.SourceRange[]>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.SourceRange[] (ranges)
-
getLonghandProperties
public static Script<CSS.CSSProperty[]> getLonghandProperties (java.lang.String shorthandName, java.lang.String value)
[No Description Provided by Google]
EXPERIMENTAL- Parameters:
shorthandName- -value- -- Returns:
- An instance of
Script<CSS.CSSProperty[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSProperty[]>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.CSSProperty[] (longhandProperties)
-
getMatchedStylesForNode
public static Script<CSS.getMatchedStylesForNode$$RET> getMatchedStylesForNode (int nodeId)
Returns requested styles for a DOM node identified bynodeId.- Parameters:
nodeId- -- Returns:
- An instance of
Script<CSS.getMatchedStylesForNode$$RET>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.getMatchedStylesForNode$$RET>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.getMatchedStylesForNode$$RETA dedicated return type implies that the browser may return more than 1 datum
-
getMediaQueries
public static Script<CSS.CSSMedia[]> getMediaQueries()
Returns all media queries parsed by the rendering engine.- Returns:
- An instance of
Script<CSS.CSSMedia[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSMedia[]>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.CSSMedia[] (medias)
-
getPlatformFontsForNode
public static Script<CSS.PlatformFontUsage[]> getPlatformFontsForNode (int nodeId)
Requests information about platform fonts which we used to render child TextNodes in the given node.- Parameters:
nodeId- -- Returns:
- An instance of
Script<CSS.PlatformFontUsage[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.PlatformFontUsage[]>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.PlatformFontUsage[] (fonts)
Usage statistics for every employed platform font.
-
getStyleSheetText
public static Script<java.lang.String> getStyleSheetText (java.lang.String styleSheetId)
Returns the current textual content for a stylesheet.- Parameters:
styleSheetId- -- Returns:
- An instance of
Script<String>
This script may be executed, usingScript.exec, and afterwards, aPromise<String>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String (text)
The stylesheet text.
-
resolveValues
public static Script<java.lang.String[]> resolveValues (java.lang.String[] values, int nodeId, java.lang.String propertyName, java.lang.String pseudoType, java.lang.String pseudoIdentifier)
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 thepropertyNamewas specified thevaluesare 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 nullpropertyNamewas provided. If the value cannot be resolved even then, return the provided value without any changes.
EXPERIMENTAL👍 Because of the sheer number of input parameters to this method, there is a aCommandBuildervariant to this method which may be invoked instead.
Please View: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 evaluatedpropertyName- Only longhands and custom property names are accepted.
OPTIONALpseudoType- Pseudo element type, only works for pseudo elements that generate elements in the tree, such as ::before and ::after.
OPTIONALpseudoIdentifier- Pseudo element custom ident.
OPTIONAL- Returns:
- An instance of
Script<String[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<String[]>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String[] (results)
-
setContainerQueryText
public static Script<CSS.CSSContainerQuery> setContainerQueryText (java.lang.String styleSheetId, CSS.SourceRange range, java.lang.String text)
Modifies the expression of a container query.
EXPERIMENTAL- Parameters:
styleSheetId- -range- -text- -- Returns:
- An instance of
Script<CSS.CSSContainerQuery>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSContainerQuery>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.CSSContainerQuery(containerQuery)
The resulting CSS container query rule after modification.
-
setEffectivePropertyValueForNode
public static Script<java.lang.Void> setEffectivePropertyValueForNode (int nodeId, java.lang.String propertyName, java.lang.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.propertyName- -value- -- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
setKeyframeKey
public static Script<CSS.Value> setKeyframeKey (java.lang.String styleSheetId, CSS.SourceRange range, java.lang.String keyText)
Modifies the keyframe rule key text.- Parameters:
styleSheetId- -range- -keyText- -- Returns:
- An instance of
Script<CSS.Value>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.Value>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.Value(keyText)
The resulting key text after modification.
-
setLocalFontsEnabled
public static Script<java.lang.Void> setLocalFontsEnabled(boolean enabled)
Enables/disables rendering of local CSS fonts (enabled by default).
EXPERIMENTAL- Parameters:
enabled- Whether rendering of local fonts is enabled.- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
setMediaText
public static Script<CSS.CSSMedia> setMediaText (java.lang.String styleSheetId, CSS.SourceRange range, java.lang.String text)
Modifies the rule selector.- Parameters:
styleSheetId- -range- -text- -- Returns:
- An instance of
Script<CSS.CSSMedia>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSMedia>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.CSSMedia(media)
The resulting CSS media rule after modification.
-
setPropertyRulePropertyName
public static Script<CSS.Value> setPropertyRulePropertyName (java.lang.String styleSheetId, CSS.SourceRange range, java.lang.String propertyName)
Modifies the property rule property name.- Parameters:
styleSheetId- -range- -propertyName- -- Returns:
- An instance of
Script<CSS.Value>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.Value>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.Value(propertyName)
The resulting key text after modification.
-
setRuleSelector
public static Script<CSS.SelectorList> setRuleSelector (java.lang.String styleSheetId, CSS.SourceRange range, java.lang.String selector)
Modifies the rule selector.- Parameters:
styleSheetId- -range- -selector- -- Returns:
- An instance of
Script<CSS.SelectorList>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.SelectorList>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.SelectorList(selectorList)
The resulting selector list after modification.
-
setScopeText
public static Script<CSS.CSSScope> setScopeText (java.lang.String styleSheetId, CSS.SourceRange range, java.lang.String text)
Modifies the expression of a scope at-rule.
EXPERIMENTAL- Parameters:
styleSheetId- -range- -text- -- Returns:
- An instance of
Script<CSS.CSSScope>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSScope>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.CSSScope(scope)
The resulting CSS Scope rule after modification.
-
setStyleSheetText
public static Script<java.lang.String> setStyleSheetText (java.lang.String styleSheetId, java.lang.String text)
Sets the new stylesheet text.- Parameters:
styleSheetId- -text- -- Returns:
- An instance of
Script<String>
This script may be executed, usingScript.exec, and afterwards, aPromise<String>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String (sourceMapURL)
URL of source map associated with script (if any).
-
setStyleTexts
public static Script<CSS.CSSStyle[]> setStyleTexts (CSS.StyleDeclarationEdit[] edits, java.lang.Integer nodeForPropertySyntaxValidation)
Applies specified style edits one after another in the given order.- Parameters:
edits- -nodeForPropertySyntaxValidation- 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.
OPTIONALEXPERIMENTAL- Returns:
- An instance of
Script<CSS.CSSStyle[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSStyle[]>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.CSSStyle[] (styles)
The resulting styles after modification.
-
setSupportsText
public static Script<CSS.CSSSupports> setSupportsText (java.lang.String styleSheetId, CSS.SourceRange range, java.lang.String text)
Modifies the expression of a supports at-rule.
EXPERIMENTAL- Parameters:
styleSheetId- -range- -text- -- Returns:
- An instance of
Script<CSS.CSSSupports>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.CSSSupports>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.CSSSupports(supports)
The resulting CSS Supports rule after modification.
-
startRuleUsageTracking
public static Script<java.lang.Void> startRuleUsageTracking()
Enables the selector recording.
-
stopRuleUsageTracking
public static Script<CSS.RuleUsage[]> stopRuleUsageTracking()
Stop tracking rule usage and return the list of rules that were used since last call totakeCoverageDelta(or since start of coverage instrumentation).- Returns:
- An instance of
Script<CSS.RuleUsage[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.RuleUsage[]>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.RuleUsage[] (ruleUsage)
-
takeComputedStyleUpdates
public static Script<int[]> takeComputedStyleUpdates()
Polls the next batch of computed style updates.
EXPERIMENTAL- Returns:
- An instance of
Script<int[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<int[]>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:int[] (nodeIds)
The list of node Ids that have their tracked computed styles updated.
-
takeCoverageDelta
public static Script<CSS.takeCoverageDelta$$RET> takeCoverageDelta()
Obtain list of rules that became used since last call to this method (or since start of coverage instrumentation).- Returns:
- An instance of
Script<CSS.takeCoverageDelta$$RET>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedCSS.takeCoverageDelta$$RET>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:CSS.takeCoverageDelta$$RETA dedicated return type implies that the browser may return more than 1 datum
-
trackComputedStyleUpdates
public static Script<java.lang.Void> trackComputedStyleUpdates (CSS.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.
EXPERIMENTAL- Parameters:
propertiesToTrack- -- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
trackComputedStyleUpdatesForNode
public static Script<java.lang.Void> trackComputedStyleUpdatesForNode (java.lang.Integer nodeId)
Starts tracking the given node for the computed style updates and whenever the computed style is updated for node, it queues acomputedStyleUpdatedevent 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. Passundefinedto disable tracking.
EXPERIMENTAL- Parameters:
nodeId- -
OPTIONAL- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
resolveValues
public static CommandBuilder<java.lang.String[]> resolveValues()
Creates a buider for conveniently assigning parameters to this method.Note that the original method expects 5 parameters, and can be cumbersome.- Returns:
CommandBuilderinstance, for assigning parameter values, one by one.- See Also:
resolveValues(java.lang.String[], int, java.lang.String, java.lang.String, java.lang.String)
-
-