Class CSS


  • public class CSS
    extends java.lang.Object
    Class created by Automatic Code-Generator.
    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.

    JSON-Viewable Google-API:
    These files may be viewed here: browser_protocol.json and js_protocol.json.
    These files were converted into this Java-Browser (CDT) Library; they are a Java-Alternative to the Node.js implementation.

    HTML-Viewable API:
    In addition to this Class-Library, these files were also converted to a simple HTML Page, which may be browsed here: Browser API Web-Page

    Node.js RDP-API Implementation:
    You may read about the Node.js Chrome Remote Interface on the Node.js Package Manager Web-Site: NPM
    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.

    This class is intended to be used with a Headless Browser

    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 a Remote Debugging Port. The initializations may be accomplished using class BRDPC (Browser Remote Debug Protocol Connection).

    Google-Chrome was used during the development process of the classes in this particular package. Note that, lately, it has been asserted Microsoft has switched to using the Chrome-Engine for its Microsoft Edge Browser Internal Code-Base. Therefore, there may limited support / functionality when running the methods in this class with Microsoft-Edge. There is the possibility these will work with Opera & Safari.

    Check whether the your Web-Browser will allow itself to be driven by the Web-Socket RDP-Port 9223.


    Foreign Function API:
    Every one of the methods that reside in this class are designed to do nothing more than:

    1. Accept Parameters from the User, and "Marshall Them" into a Valid JSON-Request
    2. Transmit the Marshalled Request-JSON to a Headless Web-Browser over a Web-Socket RDP Connection
    3. Receive BOTH that Method's Results AND any Browser Event-Firings from the Web-Socket
    4. Parse JSON Method-Results and Browser-Event Firings, and Subsequently Convert them to Standard Java-Types
    5. Report these Method-Results and Browser-Events to the User via an User-Registered Event-Listener or a Promise Object


    Java-HTML Difference:
    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".



    Stateless Class:
    This class neither contains any program-state, nor can it be instantiated. The @StaticFunctional Annotation may also be called 'The Spaghetti Report'. Static-Functional classes are, essentially, C-Styled Files, without any constructors or non-static member fields. It is a concept very similar to the Java-Bean's @Stateless Annotation.

    • 1 Constructor(s), 1 declared private, zero-argument constructor
    • 26 Method(s), 26 declared static
    • 6 Field(s), 6 declared static, 5 declared final
    • Fields excused from final modifier (with explanation):
      Field 'counter' is not final. Reason: CONFIGURATION


    • Field Detail

      • StyleSheetOrigin

        🡇     🗕  🗗  🗖
        public static final 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.
    • Method Detail

      • addRule

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​CSS.CSSRuleaddRule​
                    (java.lang.String styleSheetId,
                     java.lang.String ruleText,
                     CSS.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:
        An instance of Script<String, JsonObject, CSS.CSSRule>

        This script may be executed, using Script.exec(), and afterwards, a Promise<JsonObject, CSS.CSSRule> will be returned.

        Finally, the Promise may be awaited, using Promise.await(), and the returned result of this Browser Function may may be retrieved.

        This Browser Function returns

      • collectClassNames

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​java.lang.String[]> collectClassNames​
                    (java.lang.String styleSheetId)
        
        Returns all class names from specified stylesheet.
        Parameters:
        styleSheetId - -
        Returns:
        An instance of Script<String, JsonObject, String[]>

        This script may be executed, using Script.exec(), and afterwards, a Promise<JsonObject, String[]> will be returned.

        Finally, the Promise may be awaited, using Promise.await(), and the returned result of this Browser Function may may be retrieved.

        This Browser Function returns

        • String[] (classNames)
          Class name list.
      • createStyleSheet

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​java.lang.String> createStyleSheet​
                    (java.lang.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:
        An instance of Script<String, JsonObject, String>

        This script may be executed, using Script.exec(), and afterwards, a Promise<JsonObject, String> will be returned.

        Finally, the Promise may be awaited, using Promise.await(), and the returned result of this Browser Function may may be retrieved.

        This Browser Function returns

        • String (styleSheetId)
          Identifier of the created "via-inspector" stylesheet.
      • disable

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​Ret0disable()
        Disables the CSS agent for the given page.
        Returns:
        An instance of Script<String, JsonObject, Ret0>

        This Script instance must be executed before the browser receives the invocation-request.

        This Browser-Function does not have a return-value. You may choose to await the Promise<JsonObject, Ret0 > to ensure the Browser Function has run to completion.
      • enable

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​Ret0enable()
        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.
        Returns:
        An instance of Script<String, JsonObject, Ret0>

        This Script instance must be executed before the browser receives the invocation-request.

        This Browser-Function does not have a return-value. You may choose to await the Promise<JsonObject, Ret0 > to ensure the Browser Function has run to completion.
      • forcePseudoState

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​Ret0forcePseudoState​
                    (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<String, JsonObject, Ret0>

        This Script instance must be executed before the browser receives the invocation-request.

        This Browser-Function does not have a return-value. You may choose to await the Promise<JsonObject, Ret0 > to ensure the Browser Function has run to completion.
      • getBackgroundColors

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​Ret3<java.lang.String[],​java.lang.String,​java.lang.String>> getBackgroundColors​
                    (int nodeId)
        
        [No Description Provided by Google]
        Parameters:
        nodeId - Id of the node to get background colors for.
        Returns:
        An instance of Script<String, JsonObject, Ret3>

        This Script may be executed (using Script.exec()), and a Promise returned.

        When the Promise is awaited (using Promise.await()), the Ret3 will subsequently be returned from that call.

        The returned values are encapsulated in an instance of Ret3

        • Ret3.a: String[] (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).

        • Ret3.b: String (computedFontSize)
          The computed font size for this node, as a CSS computed value string (e.g. '12px').

        • Ret3.c: String (computedFontWeight)
          The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or '100').
      • getStyleSheetText

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​java.lang.String> getStyleSheetText​
                    (java.lang.String styleSheetId)
        
        Returns the current textual content for a stylesheet.
        Parameters:
        styleSheetId - -
        Returns:
        An instance of Script<String, JsonObject, String>

        This script may be executed, using Script.exec(), and afterwards, a Promise<JsonObject, String> will be returned.

        Finally, the Promise may be awaited, using Promise.await(), and the returned result of this Browser Function may may be retrieved.

        This Browser Function returns

        • String (text)
          The stylesheet text.
      • trackComputedStyleUpdates

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​Ret0trackComputedStyleUpdates​
                    (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<String, JsonObject, Ret0>

        This Script instance must be executed before the browser receives the invocation-request.

        This Browser-Function does not have a return-value. You may choose to await the Promise<JsonObject, Ret0 > to ensure the Browser Function has run to completion.
      • takeComputedStyleUpdates

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​int[]> takeComputedStyleUpdates
                    ()
        
        Polls the next batch of computed style updates.
        EXPERIMENTAL
        Returns:
        An instance of Script<String, JsonObject, int[]>

        This script may be executed, using Script.exec(), and afterwards, a Promise<JsonObject, int[]> will be returned.

        Finally, the Promise may be awaited, using Promise.await(), and the returned result of this Browser Function may may be retrieved.

        This Browser Function returns

        • int[] (nodeIds)
          The list of node Ids that have their tracked computed styles updated
      • setEffectivePropertyValueForNode

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​Ret0setEffectivePropertyValueForNode​
                    (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<String, JsonObject, Ret0>

        This Script instance must be executed before the browser receives the invocation-request.

        This Browser-Function does not have a return-value. You may choose to await the Promise<JsonObject, Ret0 > to ensure the Browser Function has run to completion.
      • setStyleSheetText

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​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, JsonObject, String>

        This script may be executed, using Script.exec(), and afterwards, a Promise<JsonObject, String> will be returned.

        Finally, the Promise may be awaited, using Promise.await(), and the returned result of this Browser Function may may be retrieved.

        This Browser Function returns

        • String (sourceMapURL)
          URL of source map associated with script (if any).
      • startRuleUsageTracking

        🡅  🡇     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​Ret0startRuleUsageTracking
                    ()
        
        Enables the selector recording.
        Returns:
        An instance of Script<String, JsonObject, Ret0>

        This Script instance must be executed before the browser receives the invocation-request.

        This Browser-Function does not have a return-value. You may choose to await the Promise<JsonObject, Ret0 > to ensure the Browser Function has run to completion.
      • setLocalFontsEnabled

        🡅     🗕  🗗  🗖
        public static Script<java.lang.String,​JsonObject,​Ret0setLocalFontsEnabled​
                    (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<String, JsonObject, Ret0>

        This Script instance must be executed before the browser receives the invocation-request.

        This Browser-Function does not have a return-value. You may choose to await the Promise<JsonObject, Ret0 > to ensure the Browser Function has run to completion.