All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openqa.selenium.devtools.v88.page.model.Frame Maven / Gradle / Ivy

package org.openqa.selenium.devtools.v88.page.model;

import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;

/**
 * Information about the Frame on the page.
 */
public class Frame {

    private final org.openqa.selenium.devtools.v88.page.model.FrameId id;

    private final java.util.Optional parentId;

    private final org.openqa.selenium.devtools.v88.network.model.LoaderId loaderId;

    private final java.util.Optional name;

    private final java.lang.String url;

    private final java.util.Optional urlFragment;

    private final java.lang.String domainAndRegistry;

    private final java.lang.String securityOrigin;

    private final java.lang.String mimeType;

    private final java.util.Optional unreachableUrl;

    private final java.util.Optional adFrameType;

    private final org.openqa.selenium.devtools.v88.page.model.SecureContextType secureContextType;

    private final org.openqa.selenium.devtools.v88.page.model.CrossOriginIsolatedContextType crossOriginIsolatedContextType;

    private final java.util.List gatedAPIFeatures;

    public Frame(org.openqa.selenium.devtools.v88.page.model.FrameId id, java.util.Optional parentId, org.openqa.selenium.devtools.v88.network.model.LoaderId loaderId, java.util.Optional name, java.lang.String url, java.util.Optional urlFragment, java.lang.String domainAndRegistry, java.lang.String securityOrigin, java.lang.String mimeType, java.util.Optional unreachableUrl, java.util.Optional adFrameType, org.openqa.selenium.devtools.v88.page.model.SecureContextType secureContextType, org.openqa.selenium.devtools.v88.page.model.CrossOriginIsolatedContextType crossOriginIsolatedContextType, java.util.List gatedAPIFeatures) {
        this.id = java.util.Objects.requireNonNull(id, "id is required");
        this.parentId = parentId;
        this.loaderId = java.util.Objects.requireNonNull(loaderId, "loaderId is required");
        this.name = name;
        this.url = java.util.Objects.requireNonNull(url, "url is required");
        this.urlFragment = urlFragment;
        this.domainAndRegistry = java.util.Objects.requireNonNull(domainAndRegistry, "domainAndRegistry is required");
        this.securityOrigin = java.util.Objects.requireNonNull(securityOrigin, "securityOrigin is required");
        this.mimeType = java.util.Objects.requireNonNull(mimeType, "mimeType is required");
        this.unreachableUrl = unreachableUrl;
        this.adFrameType = adFrameType;
        this.secureContextType = java.util.Objects.requireNonNull(secureContextType, "secureContextType is required");
        this.crossOriginIsolatedContextType = java.util.Objects.requireNonNull(crossOriginIsolatedContextType, "crossOriginIsolatedContextType is required");
        this.gatedAPIFeatures = java.util.Objects.requireNonNull(gatedAPIFeatures, "gatedAPIFeatures is required");
    }

    /**
     * Frame unique identifier.
     */
    public org.openqa.selenium.devtools.v88.page.model.FrameId getId() {
        return id;
    }

    /**
     * Parent frame identifier.
     */
    public java.util.Optional getParentId() {
        return parentId;
    }

    /**
     * Identifier of the loader associated with this frame.
     */
    public org.openqa.selenium.devtools.v88.network.model.LoaderId getLoaderId() {
        return loaderId;
    }

    /**
     * Frame's name as specified in the tag.
     */
    public java.util.Optional getName() {
        return name;
    }

    /**
     * Frame document's URL without fragment.
     */
    public java.lang.String getUrl() {
        return url;
    }

    /**
     * Frame document's URL fragment including the '#'.
     */
    @Beta()
    public java.util.Optional getUrlFragment() {
        return urlFragment;
    }

    /**
     * Frame document's registered domain, taking the public suffixes list into account.
     * Extracted from the Frame's url.
     * Example URLs: http://www.google.com/file.html -> "google.com"
     *               http://a.b.co.uk/file.html      -> "b.co.uk"
     */
    @Beta()
    public java.lang.String getDomainAndRegistry() {
        return domainAndRegistry;
    }

    /**
     * Frame document's security origin.
     */
    public java.lang.String getSecurityOrigin() {
        return securityOrigin;
    }

    /**
     * Frame document's mimeType as determined by the browser.
     */
    public java.lang.String getMimeType() {
        return mimeType;
    }

    /**
     * If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment.
     */
    @Beta()
    public java.util.Optional getUnreachableUrl() {
        return unreachableUrl;
    }

    /**
     * Indicates whether this frame was tagged as an ad.
     */
    @Beta()
    public java.util.Optional getAdFrameType() {
        return adFrameType;
    }

    /**
     * Indicates whether the main document is a secure context and explains why that is the case.
     */
    @Beta()
    public org.openqa.selenium.devtools.v88.page.model.SecureContextType getSecureContextType() {
        return secureContextType;
    }

    /**
     * Indicates whether this is a cross origin isolated context.
     */
    @Beta()
    public org.openqa.selenium.devtools.v88.page.model.CrossOriginIsolatedContextType getCrossOriginIsolatedContextType() {
        return crossOriginIsolatedContextType;
    }

    /**
     * Indicated which gated APIs / features are available.
     */
    @Beta()
    public java.util.List getGatedAPIFeatures() {
        return gatedAPIFeatures;
    }

    private static Frame fromJson(JsonInput input) {
        org.openqa.selenium.devtools.v88.page.model.FrameId id = null;
        java.util.Optional parentId = java.util.Optional.empty();
        org.openqa.selenium.devtools.v88.network.model.LoaderId loaderId = null;
        java.util.Optional name = java.util.Optional.empty();
        java.lang.String url = null;
        java.util.Optional urlFragment = java.util.Optional.empty();
        java.lang.String domainAndRegistry = null;
        java.lang.String securityOrigin = null;
        java.lang.String mimeType = null;
        java.util.Optional unreachableUrl = java.util.Optional.empty();
        java.util.Optional adFrameType = java.util.Optional.empty();
        org.openqa.selenium.devtools.v88.page.model.SecureContextType secureContextType = null;
        org.openqa.selenium.devtools.v88.page.model.CrossOriginIsolatedContextType crossOriginIsolatedContextType = null;
        java.util.List gatedAPIFeatures = null;
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "id":
                    id = input.read(org.openqa.selenium.devtools.v88.page.model.FrameId.class);
                    break;
                case "parentId":
                    parentId = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "loaderId":
                    loaderId = input.read(org.openqa.selenium.devtools.v88.network.model.LoaderId.class);
                    break;
                case "name":
                    name = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "url":
                    url = input.nextString();
                    break;
                case "urlFragment":
                    urlFragment = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "domainAndRegistry":
                    domainAndRegistry = input.nextString();
                    break;
                case "securityOrigin":
                    securityOrigin = input.nextString();
                    break;
                case "mimeType":
                    mimeType = input.nextString();
                    break;
                case "unreachableUrl":
                    unreachableUrl = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "adFrameType":
                    adFrameType = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.page.model.AdFrameType.class));
                    break;
                case "secureContextType":
                    secureContextType = input.read(org.openqa.selenium.devtools.v88.page.model.SecureContextType.class);
                    break;
                case "crossOriginIsolatedContextType":
                    crossOriginIsolatedContextType = input.read(org.openqa.selenium.devtools.v88.page.model.CrossOriginIsolatedContextType.class);
                    break;
                case "gatedAPIFeatures":
                    gatedAPIFeatures = input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType());
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new Frame(id, parentId, loaderId, name, url, urlFragment, domainAndRegistry, securityOrigin, mimeType, unreachableUrl, adFrameType, secureContextType, crossOriginIsolatedContextType, gatedAPIFeatures);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy