001package Torello.Browser.BrowserAPI;
002
003// *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
004// Java-HTML Imports
005// *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
006
007import Torello.Browser.*;
008import Torello.Browser.helper.*;
009import Torello.Browser.JavaScriptAPI.*;
010import Torello.JSON.*;
011
012import Torello.Java.ReadOnly.ReadOnlyList;
013import Torello.Java.ReadOnly.ReadOnlyArrayList;
014
015import Torello.JavaDoc.Annotations.StaticFunctional;
016import Torello.JavaDoc.Annotations.JDHeaderBackgroundImg;
017
018import Torello.Browser.BrowserAPI.NestedHelpers.Commands.Network$$Commands;
019
020
021// *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
022// JDK Imports
023// *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
024
025import javax.json.JsonObject;
026import javax.json.JsonValue;
027
028/**
029 * <SPAN CLASS=COPIEDJDK><B>Network domain allows tracking network activities of the page. It exposes information about http,
030 * file, data and other requests and responses, their headers, bodies, timing, etc.</B></SPAN>
031 * <EMBED CLASS='external-html' DATA-FILE-ID=CDP.CODE_GEN_NOTE>
032 */
033@StaticFunctional@JDHeaderBackgroundImg(EmbedTagFileID="CDP.WOOD_PLANK_NOTE")
034public class Network
035{
036    // No Pubic Constructors
037    private Network() { }
038
039
040    // ********************************************************************************************
041    // ********************************************************************************************
042    // Eliminated Types
043    // ********************************************************************************************
044    // ********************************************************************************************
045
046
047    /**
048     * Request / response headers as keys / values of JSON object.
049
050     * <EMBED CLASS='external-html' DATA-CTAS='JsonValue' DATA-FILE-ID=CDP.EliminatedType
051     *     DATA-NAME=Headers>
052     */
053    public static final String Headers =
054        "Headers has been eliminated.\n" +
055        "It was replaced with the standard Java-Type: JsonValue";
056
057    /**
058     * Unique intercepted request identifier.
059
060     * <EMBED CLASS='external-html' DATA-CTAS='String' DATA-FILE-ID=CDP.EliminatedType
061     *     DATA-NAME=InterceptionId>
062     */
063    public static final String InterceptionId =
064        "InterceptionId has been eliminated.\n" +
065        "It was replaced with the standard Java-Type: String";
066
067    /**
068     * Unique loader identifier.
069
070     * <EMBED CLASS='external-html' DATA-CTAS='String' DATA-FILE-ID=CDP.EliminatedType
071     *     DATA-NAME=LoaderId>
072     */
073    public static final String LoaderId =
074        "LoaderId has been eliminated.\n" +
075        "It was replaced with the standard Java-Type: String";
076
077    /**
078     * Monotonically increasing time in seconds since an arbitrary point in the past.
079
080     * <EMBED CLASS='external-html' DATA-CTAS='Number' DATA-FILE-ID=CDP.EliminatedType
081     *     DATA-NAME=MonotonicTime>
082     */
083    public static final String MonotonicTime =
084        "MonotonicTime has been eliminated.\n" +
085        "It was replaced with the standard Java-Type: Number";
086
087    /**
088     * <CODE>[No Description Provided by Google]</CODE>
089     * 
090     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
091
092     * <EMBED CLASS='external-html' DATA-CTAS='String' DATA-FILE-ID=CDP.EliminatedType
093     *     DATA-NAME=ReportId>
094     */
095    public static final String ReportId =
096        "ReportId has been eliminated.\n" +
097        "It was replaced with the standard Java-Type: String";
098
099    /**
100     * Unique network request identifier.
101     * Note that this does not identify individual HTTP requests that are part of
102     * a network request.
103
104     * <EMBED CLASS='external-html' DATA-CTAS='String' DATA-FILE-ID=CDP.EliminatedType
105     *     DATA-NAME=RequestId>
106     */
107    public static final String RequestId =
108        "RequestId has been eliminated.\n" +
109        "It was replaced with the standard Java-Type: String";
110
111    /**
112     * UTC time in seconds, counted from January 1, 1970.
113
114     * <EMBED CLASS='external-html' DATA-CTAS='Number' DATA-FILE-ID=CDP.EliminatedType
115     *     DATA-NAME=TimeSinceEpoch>
116     */
117    public static final String TimeSinceEpoch =
118        "TimeSinceEpoch has been eliminated.\n" +
119        "It was replaced with the standard Java-Type: Number";
120
121
122    // ********************************************************************************************
123    // ********************************************************************************************
124    // Marker Events
125    // ********************************************************************************************
126    // ********************************************************************************************
127
128
129    /**
130     * Fired once security policy has been updated.
131     * 
132     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
133
134     * 
135     * <EMBED CLASS='external-html' DATA-FILE-ID=CDP.MarkerEvent
136     *     DATA-NAME=policyUpdated>
137     */
138    public static final String policyUpdated = "Network.policyUpdated Marker Event";
139
140
141    // ********************************************************************************************
142    // ********************************************************************************************
143    // Enumerated String Constants Lists
144    // ********************************************************************************************
145    // ********************************************************************************************
146
147
148    /**
149     * The reason why Chrome uses a specific transport protocol for HTTP semantics.
150     * 
151     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
152     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
153     */
154    public static final ReadOnlyList<String> AlternateProtocolUsage = new ReadOnlyArrayList<>(
155        String.class, 
156        "alternativeJobWonRace", "alternativeJobWonWithoutRace", "broken", "dnsAlpnH3JobWonRace",
157        "dnsAlpnH3JobWonWithoutRace", "mainJobWonRace", "mappingMissing", "unspecifiedReason"
158    );
159
160    /**
161     * The reason why request was blocked.
162     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
163     */
164    public static final ReadOnlyList<String> BlockedReason = new ReadOnlyArrayList<>(
165        String.class, 
166        "coep-frame-resource-needs-coep-header", "content-type",
167        "coop-sandboxed-iframe-cannot-navigate-to-coop-page", "corp-not-same-origin",
168        "corp-not-same-origin-after-defaulted-to-same-origin-by-coep",
169        "corp-not-same-origin-after-defaulted-to-same-origin-by-coep-and-dip",
170        "corp-not-same-origin-after-defaulted-to-same-origin-by-dip", "corp-not-same-site", "csp",
171        "inspector", "integrity", "mixed-content", "origin", "other",
172        "sri-message-signature-mismatch", "subresource-filter"
173    );
174
175    /**
176     * Whether the request complied with Certificate Transparency policy.
177     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
178     */
179    public static final ReadOnlyList<String> CertificateTransparencyCompliance = new ReadOnlyArrayList<>
180        (String.class, "compliant", "not-compliant", "unknown");
181
182    /**
183     * The underlying connection technology that the browser is supposedly using.
184     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
185     */
186    public static final ReadOnlyList<String> ConnectionType = new ReadOnlyArrayList<>(
187        String.class, 
188        "bluetooth", "cellular2g", "cellular3g", "cellular4g", "ethernet", "none", "other", "wifi",
189        "wimax"
190    );
191
192    /**
193     * List of content encodings supported by the backend.
194     * 
195     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
196     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
197     */
198    public static final ReadOnlyList<String> ContentEncoding = new ReadOnlyArrayList<>
199        (String.class, "br", "deflate", "gzip", "zstd");
200
201    /**
202     * <CODE>[No Description Provided by Google]</CODE>
203     * 
204     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
205     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
206     */
207    public static final ReadOnlyList<String> ContentSecurityPolicySource = new ReadOnlyArrayList<>
208        (String.class, "HTTP", "Meta");
209
210    /**
211     * Types of reasons why a cookie may not be sent with a request.
212     * 
213     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
214     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
215     */
216    public static final ReadOnlyList<String> CookieBlockedReason = new ReadOnlyArrayList<>(
217        String.class, 
218        "AnonymousContext", "DomainMismatch", "NameValuePairExceedsMaxSize", "NotOnPath",
219        "PortMismatch", "SamePartyFromCrossPartyContext", "SameSiteLax", "SameSiteNoneInsecure",
220        "SameSiteStrict", "SameSiteUnspecifiedTreatedAsLax", "SchemeMismatch",
221        "SchemefulSameSiteLax", "SchemefulSameSiteStrict",
222        "SchemefulSameSiteUnspecifiedTreatedAsLax", "SecureOnly",
223        "ThirdPartyBlockedInFirstPartySet", "ThirdPartyPhaseout", "UnknownError", "UserPreferences"
224    );
225
226    /**
227     * Types of reasons why a cookie should have been blocked by 3PCD but is exempted for the request.
228     * 
229     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
230     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
231     */
232    public static final ReadOnlyList<String> CookieExemptionReason = new ReadOnlyArrayList<>(
233        String.class, 
234        "EnterprisePolicy", "None", "SameSiteNoneCookiesInSandbox", "Scheme", "StorageAccess",
235        "TPCDDeprecationTrial", "TPCDHeuristics", "TPCDMetadata", "TopLevelStorageAccess",
236        "TopLevelTPCDDeprecationTrial", "UserSetting"
237    );
238
239    /**
240     * Represents the cookie's 'Priority' status:
241     * https://tools.ietf.org/html/draft-west-cookie-priority-00
242     * 
243     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
244     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
245     */
246    public static final ReadOnlyList<String> CookiePriority = new ReadOnlyArrayList<>
247        (String.class, "High", "Low", "Medium");
248
249    /**
250     * Represents the cookie's 'SameSite' status:
251     * https://tools.ietf.org/html/draft-west-first-party-cookies
252     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
253     */
254    public static final ReadOnlyList<String> CookieSameSite = new ReadOnlyArrayList<>
255        (String.class, "Lax", "None", "Strict");
256
257    /**
258     * Represents the source scheme of the origin that originally set the cookie.
259     * A value of "Unset" allows protocol clients to emulate legacy cookie scope for the scheme.
260     * This is a temporary ability and it will be removed in the future.
261     * 
262     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
263     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
264     */
265    public static final ReadOnlyList<String> CookieSourceScheme = new ReadOnlyArrayList<>
266        (String.class, "NonSecure", "Secure", "Unset");
267
268    /**
269     * The reason why request was blocked.
270     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
271     */
272    public static final ReadOnlyList<String> CorsError = new ReadOnlyArrayList<>(
273        String.class, 
274        "AllowOriginMismatch", "CorsDisabledScheme", "DisallowedByMode",
275        "HeaderDisallowedByPreflightResponse", "InsecurePrivateNetwork", "InvalidAllowCredentials",
276        "InvalidAllowHeadersPreflightResponse", "InvalidAllowMethodsPreflightResponse",
277        "InvalidAllowOriginValue", "InvalidPrivateNetworkAccess", "InvalidResponse",
278        "LocalNetworkAccessPermissionDenied", "MethodDisallowedByPreflightResponse",
279        "MissingAllowOriginHeader", "MultipleAllowOriginValues", "NoCorsRedirectModeNotFollow",
280        "PreflightAllowOriginMismatch", "PreflightDisallowedRedirect",
281        "PreflightInvalidAllowCredentials", "PreflightInvalidAllowExternal",
282        "PreflightInvalidAllowOriginValue", "PreflightInvalidAllowPrivateNetwork",
283        "PreflightInvalidStatus", "PreflightMissingAllowExternal",
284        "PreflightMissingAllowOriginHeader", "PreflightMissingAllowPrivateNetwork",
285        "PreflightMissingPrivateNetworkAccessId", "PreflightMissingPrivateNetworkAccessName",
286        "PreflightMultipleAllowOriginValues", "PreflightWildcardOriginNotAllowed",
287        "PrivateNetworkAccessPermissionDenied", "PrivateNetworkAccessPermissionUnavailable",
288        "RedirectContainsCredentials", "UnexpectedPrivateNetworkAccess", "WildcardOriginNotAllowed"
289    );
290
291    /**
292     * <CODE>[No Description Provided by Google]</CODE>
293     * 
294     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
295     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
296     */
297    public static final ReadOnlyList<String> CrossOriginEmbedderPolicyValue = new ReadOnlyArrayList<>
298        (String.class, "Credentialless", "None", "RequireCorp");
299
300    /**
301     * <CODE>[No Description Provided by Google]</CODE>
302     * 
303     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
304     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
305     */
306    public static final ReadOnlyList<String> CrossOriginOpenerPolicyValue = new ReadOnlyArrayList<>(
307        String.class, 
308        "NoopenerAllowPopups", "RestrictProperties", "RestrictPropertiesPlusCoep", "SameOrigin",
309        "SameOriginAllowPopups", "SameOriginPlusCoep", "UnsafeNone"
310    );
311
312    /**
313     * <CODE>[No Description Provided by Google]</CODE>
314     * 
315     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
316     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
317     */
318    public static final ReadOnlyList<String> DirectSocketDnsQueryType = new ReadOnlyArrayList<>
319        (String.class, "ipv4", "ipv6");
320
321    /**
322     * Network level fetch failure reason.
323     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
324     */
325    public static final ReadOnlyList<String> ErrorReason = new ReadOnlyArrayList<>(
326        String.class, 
327        "Aborted", "AccessDenied", "AddressUnreachable", "BlockedByClient", "BlockedByResponse",
328        "ConnectionAborted", "ConnectionClosed", "ConnectionFailed", "ConnectionRefused",
329        "ConnectionReset", "Failed", "InternetDisconnected", "NameNotResolved", "TimedOut"
330    );
331
332    /**
333     * <CODE>[No Description Provided by Google]</CODE>
334     * 
335     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
336     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
337     */
338    public static final ReadOnlyList<String> IPAddressSpace = new ReadOnlyArrayList<>
339        (String.class, "Local", "Loopback", "Public", "Unknown");
340
341    /**
342     * Stages of the interception to begin intercepting. Request will intercept before the request is
343     * sent. Response will intercept after the response is received.
344     * 
345     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
346     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
347     */
348    public static final ReadOnlyList<String> InterceptionStage = new ReadOnlyArrayList<>
349        (String.class, "HeadersReceived", "Request");
350
351    /**
352     * <CODE>[No Description Provided by Google]</CODE>
353     * 
354     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
355     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
356     */
357    public static final ReadOnlyList<String> PrivateNetworkRequestPolicy = new ReadOnlyArrayList<>(
358        String.class, 
359        "Allow", "BlockFromInsecureToMorePrivate", "PermissionBlock", "PermissionWarn",
360        "PreflightBlock", "PreflightWarn", "WarnFromInsecureToMorePrivate"
361    );
362
363    /**
364     * The status of a Reporting API report.
365     * 
366     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
367     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
368     */
369    public static final ReadOnlyList<String> ReportStatus = new ReadOnlyArrayList<>
370        (String.class, "MarkedForRemoval", "Pending", "Queued", "Success");
371
372    /**
373     * Loading priority of a resource request.
374     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
375     */
376    public static final ReadOnlyList<String> ResourcePriority = new ReadOnlyArrayList<>
377        (String.class, "High", "Low", "Medium", "VeryHigh", "VeryLow");
378
379    /**
380     * Resource type as it was perceived by the rendering engine.
381     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
382     */
383    public static final ReadOnlyList<String> ResourceType = new ReadOnlyArrayList<>(
384        String.class, 
385        "CSPViolationReport", "Document", "EventSource", "FedCM", "Fetch", "Font", "Image",
386        "Manifest", "Media", "Other", "Ping", "Prefetch", "Preflight", "Script", "SignedExchange",
387        "Stylesheet", "TextTrack", "WebSocket", "XHR"
388    );
389
390    /**
391     * Source of serviceworker response.
392     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
393     */
394    public static final ReadOnlyList<String> ServiceWorkerResponseSource = new ReadOnlyArrayList<>
395        (String.class, "cache-storage", "fallback-code", "http-cache", "network");
396
397    /**
398     * Source of service worker router.
399     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
400     */
401    public static final ReadOnlyList<String> ServiceWorkerRouterSource = new ReadOnlyArrayList<>(
402        String.class, 
403        "cache", "fetch-event", "network", "race-network-and-cache",
404        "race-network-and-fetch-handler"
405    );
406
407    /**
408     * Types of reasons why a cookie may not be stored from a response.
409     * 
410     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
411     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
412     */
413    public static final ReadOnlyList<String> SetCookieBlockedReason = new ReadOnlyArrayList<>(
414        String.class, 
415        "DisallowedCharacter", "InvalidDomain", "InvalidPrefix", "NameValuePairExceedsMaxSize",
416        "NoCookieContent", "OverwriteSecure", "SamePartyConflictsWithOtherAttributes",
417        "SamePartyFromCrossPartyContext", "SameSiteLax", "SameSiteNoneInsecure", "SameSiteStrict",
418        "SameSiteUnspecifiedTreatedAsLax", "SchemeNotSupported", "SchemefulSameSiteLax",
419        "SchemefulSameSiteStrict", "SchemefulSameSiteUnspecifiedTreatedAsLax", "SecureOnly",
420        "SyntaxError", "ThirdPartyBlockedInFirstPartySet", "ThirdPartyPhaseout", "UnknownError",
421        "UserPreferences"
422    );
423
424    /**
425     * Field type for a signed exchange related error.
426     * 
427     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
428     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
429     */
430    public static final ReadOnlyList<String> SignedExchangeErrorField = new ReadOnlyArrayList<>(
431        String.class, 
432        "signatureCertSha256", "signatureCertUrl", "signatureIntegrity", "signatureSig",
433        "signatureTimestamps", "signatureValidityUrl"
434    );
435
436    /**
437     * <CODE>[No Description Provided by Google]</CODE>
438     * 
439     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
440     * <BR /><BR /><B CLASS=StrEnumType>String-Enumeration Type</B>
441     */
442    public static final ReadOnlyList<String> TrustTokenOperationType = new ReadOnlyArrayList<>
443        (String.class, "Issuance", "Redemption", "Signing");
444
445
446
447    // ********************************************************************************************
448    // ********************************************************************************************
449    // Basic Types
450    // ********************************************************************************************
451    // ********************************************************************************************
452
453
454    /**
455     * A cookie associated with the request which may or may not be sent with it.
456     * Includes the cookies itself and reasons for blocking or exemption.
457     * 
458     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
459     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
460     */
461    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
462    public static class AssociatedCookie
463        extends BaseType<AssociatedCookie>
464        implements java.io.Serializable
465    {
466        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
467        protected static final long serialVersionUID = 1;
468
469        private static final NestedHelper<Network.AssociatedCookie> singleton =
470            Torello.Browser.BrowserAPI.NestedHelpers.Types.
471                Network$$AssociatedCookie$$.singleton;
472
473        /** The cookie object representing the cookie which was not sent. */
474        public final Network.Cookie cookie;
475
476        /**
477         * The reason(s) the cookie was blocked. If empty means the cookie is included.
478         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CookieBlockedReason DATA-F=blockedReasons DATA-FILE-ID=CDP.EL2>
479         * @see BaseType#enumStrList(String)
480         */
481        public final String[] blockedReasons;
482
483        /**
484         * The reason the cookie should have been blocked by 3PCD but is exempted. A cookie could
485         * only have at most one exemption reason.
486         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
487         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CookieExemptionReason DATA-F=exemptionReason DATA-FILE-ID=CDP.EL2>
488         * @see BaseType#enumStrList(String)
489         */
490        public final String exemptionReason;
491
492        /** Constructor.  Please review this class' fields for documentation. */
493        public AssociatedCookie(
494                ReadOnlyList<Boolean> isPresent, Cookie cookie, String[] blockedReasons,
495                String exemptionReason
496            )
497        {
498            super(singleton, Domains.Network, "AssociatedCookie", 3);
499
500            this.cookie             = cookie;
501            this.blockedReasons     = blockedReasons;
502            this.exemptionReason    = exemptionReason;
503
504            this.isPresent = (isPresent == null)
505                ? singleton.generateIsPresentList(this)
506                : THROWS.check(isPresent, 3, "Network.AssociatedCookie");
507        }
508
509        /** Creates an instance of this class from a {@link JsonObject}.*/
510        public static AssociatedCookie fromJSON(JsonObject jo)
511        { return singleton.fromJSON(jo); }
512
513        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
514        public static NestedDescriptor<AssociatedCookie> descriptor()
515        { return singleton.descriptor(); }
516    }
517
518    /**
519     * Authorization challenge for HTTP status code 401 or 407.
520     * 
521     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
522     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
523     */
524    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
525    public static class AuthChallenge
526        extends BaseType<AuthChallenge>
527        implements java.io.Serializable
528    {
529        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
530        protected static final long serialVersionUID = 1;
531
532        private static final NestedHelper<Network.AuthChallenge> singleton =
533            Torello.Browser.BrowserAPI.NestedHelpers.Types.
534                Network$$AuthChallenge$$.singleton;
535
536        /**
537         * Source of the authentication challenge.
538         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
539         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=AuthChallenge DATA-F=source DATA-FILE-ID=CDP.EL1>
540         * @see BaseType#enumStrList(String)
541         */
542        public final String source;
543
544        /** Origin of the challenger. */
545        public final String origin;
546
547        /** The authentication scheme used, such as basic or digest */
548        public final String scheme;
549
550        /** The realm of the challenge. May be empty. */
551        public final String realm;
552
553        /** Constructor.  Please review this class' fields for documentation. */
554        public AuthChallenge(
555                ReadOnlyList<Boolean> isPresent, String source, String origin, String scheme,
556                String realm
557            )
558        {
559            super(singleton, Domains.Network, "AuthChallenge", 4);
560
561            this.source = source;
562            this.origin = origin;
563            this.scheme = scheme;
564            this.realm  = realm;
565
566            this.isPresent = (isPresent == null)
567                ? singleton.generateIsPresentList(this)
568                : THROWS.check(isPresent, 4, "Network.AuthChallenge");
569        }
570
571        /** Creates an instance of this class from a {@link JsonObject}.*/
572        public static AuthChallenge fromJSON(JsonObject jo)
573        { return singleton.fromJSON(jo); }
574
575        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
576        public static NestedDescriptor<AuthChallenge> descriptor()
577        { return singleton.descriptor(); }
578    }
579
580    /**
581     * Response to an AuthChallenge.
582     * 
583     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
584     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
585     */
586    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
587    public static class AuthChallengeResponse
588        extends BaseType<AuthChallengeResponse>
589        implements java.io.Serializable
590    {
591        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
592        protected static final long serialVersionUID = 1;
593
594        private static final NestedHelper<Network.AuthChallengeResponse> singleton =
595            Torello.Browser.BrowserAPI.NestedHelpers.Types.
596                Network$$AuthChallengeResponse$$.singleton;
597
598        /**
599         * The decision on what to do in response to the authorization challenge.  Default means
600         * deferring to the default behavior of the net stack, which will likely either the Cancel
601         * authentication or display a popup dialog box.
602         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=AuthChallengeResponse DATA-F=response DATA-FILE-ID=CDP.EL1>
603         * @see BaseType#enumStrList(String)
604         */
605        public final String response;
606
607        /**
608         * The username to provide, possibly empty. Should only be set if response is
609         * ProvideCredentials.
610         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
611         */
612        public final String username;
613
614        /**
615         * The password to provide, possibly empty. Should only be set if response is
616         * ProvideCredentials.
617         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
618         */
619        public final String password;
620
621        /** Constructor.  Please review this class' fields for documentation. */
622        public AuthChallengeResponse
623            (ReadOnlyList<Boolean> isPresent, String response, String username, String password)
624        {
625            super(singleton, Domains.Network, "AuthChallengeResponse", 3);
626
627            this.response = response;
628            this.username = username;
629            this.password = password;
630
631            this.isPresent = (isPresent == null)
632                ? singleton.generateIsPresentList(this)
633                : THROWS.check(isPresent, 3, "Network.AuthChallengeResponse");
634        }
635
636        /** Creates an instance of this class from a {@link JsonObject}.*/
637        public static AuthChallengeResponse fromJSON(JsonObject jo)
638        { return singleton.fromJSON(jo); }
639
640        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
641        public static NestedDescriptor<AuthChallengeResponse> descriptor()
642        { return singleton.descriptor(); }
643    }
644
645    /**
646     * A cookie which was not stored from a response with the corresponding reason.
647     * 
648     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
649     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
650     */
651    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
652    public static class BlockedSetCookieWithReason
653        extends BaseType<BlockedSetCookieWithReason>
654        implements java.io.Serializable
655    {
656        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
657        protected static final long serialVersionUID = 1;
658
659        private static final NestedHelper<Network.BlockedSetCookieWithReason> singleton =
660            Torello.Browser.BrowserAPI.NestedHelpers.Types.
661                Network$$BlockedSetCookieWithReason$$.singleton;
662
663        /**
664         * The reason(s) this cookie was blocked.
665         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=SetCookieBlockedReason DATA-F=blockedReasons DATA-FILE-ID=CDP.EL2>
666         * @see BaseType#enumStrList(String)
667         */
668        public final String[] blockedReasons;
669
670        /**
671         * The string representing this individual cookie as it would appear in the header.
672         * This is not the entire "cookie" or "set-cookie" header which could have multiple cookies.
673         */
674        public final String cookieLine;
675
676        /**
677         * The cookie object which represents the cookie which was not stored. It is optional because
678         * sometimes complete cookie information is not available, such as in the case of parsing
679         * errors.
680         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
681         */
682        public final Network.Cookie cookie;
683
684        /** Constructor.  Please review this class' fields for documentation. */
685        public BlockedSetCookieWithReason(
686                ReadOnlyList<Boolean> isPresent, String[] blockedReasons, String cookieLine,
687                Cookie cookie
688            )
689        {
690            super(singleton, Domains.Network, "BlockedSetCookieWithReason", 3);
691
692            this.blockedReasons = blockedReasons;
693            this.cookieLine     = cookieLine;
694            this.cookie         = cookie;
695
696            this.isPresent = (isPresent == null)
697                ? singleton.generateIsPresentList(this)
698                : THROWS.check(isPresent, 3, "Network.BlockedSetCookieWithReason");
699        }
700
701        /** Creates an instance of this class from a {@link JsonObject}.*/
702        public static BlockedSetCookieWithReason fromJSON(JsonObject jo)
703        { return singleton.fromJSON(jo); }
704
705        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
706        public static NestedDescriptor<BlockedSetCookieWithReason> descriptor()
707        { return singleton.descriptor(); }
708    }
709
710    /**
711     * Information about the cached resource.
712     * 
713     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
714     */
715    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
716    public static class CachedResource
717        extends BaseType<CachedResource>
718        implements java.io.Serializable
719    {
720        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
721        protected static final long serialVersionUID = 1;
722
723        private static final NestedHelper<Network.CachedResource> singleton =
724            Torello.Browser.BrowserAPI.NestedHelpers.Types.
725                Network$$CachedResource$$.singleton;
726
727        /** Resource URL. This is the url of the original network request. */
728        public final String url;
729
730        /**
731         * Type of this resource.
732         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ResourceType DATA-F=type DATA-FILE-ID=CDP.EL2>
733         * @see BaseType#enumStrList(String)
734         */
735        public final String type;
736
737        /**
738         * Cached response data.
739         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
740         */
741        public final Network.Response response;
742
743        /** Cached response body size. */
744        public final Number bodySize;
745
746        /** Constructor.  Please review this class' fields for documentation. */
747        public CachedResource(
748                ReadOnlyList<Boolean> isPresent, String url, String type, Response response,
749                Number bodySize
750            )
751        {
752            super(singleton, Domains.Network, "CachedResource", 4);
753
754            this.url        = url;
755            this.type       = type;
756            this.response   = response;
757            this.bodySize   = bodySize;
758
759            this.isPresent = (isPresent == null)
760                ? singleton.generateIsPresentList(this)
761                : THROWS.check(isPresent, 4, "Network.CachedResource");
762        }
763
764        /** Creates an instance of this class from a {@link JsonObject}.*/
765        public static CachedResource fromJSON(JsonObject jo)
766        { return singleton.fromJSON(jo); }
767
768        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
769        public static NestedDescriptor<CachedResource> descriptor()
770        { return singleton.descriptor(); }
771    }
772
773    /**
774     * <CODE>[No Description Provided by Google]</CODE>
775     * 
776     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
777     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
778     */
779    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
780    public static class ClientSecurityState
781        extends BaseType<ClientSecurityState>
782        implements java.io.Serializable
783    {
784        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
785        protected static final long serialVersionUID = 1;
786
787        private static final NestedHelper<Network.ClientSecurityState> singleton =
788            Torello.Browser.BrowserAPI.NestedHelpers.Types.
789                Network$$ClientSecurityState$$.singleton;
790
791        /** <CODE>[No Description Provided by Google]</CODE> */
792        public final boolean initiatorIsSecureContext;
793
794        /**
795         * <CODE>[No Description Provided by Google]</CODE>
796         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=IPAddressSpace DATA-F=initiatorIPAddressSpace DATA-FILE-ID=CDP.EL2>
797         * @see BaseType#enumStrList(String)
798         */
799        public final String initiatorIPAddressSpace;
800
801        /**
802         * <CODE>[No Description Provided by Google]</CODE>
803         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=PrivateNetworkRequestPolicy DATA-F=privateNetworkRequestPolicy DATA-FILE-ID=CDP.EL2>
804         * @see BaseType#enumStrList(String)
805         */
806        public final String privateNetworkRequestPolicy;
807
808        /** Constructor.  Please review this class' fields for documentation. */
809        public ClientSecurityState(
810                ReadOnlyList<Boolean> isPresent, boolean initiatorIsSecureContext,
811                String initiatorIPAddressSpace, String privateNetworkRequestPolicy
812            )
813        {
814            super(singleton, Domains.Network, "ClientSecurityState", 3);
815
816            this.initiatorIsSecureContext       = initiatorIsSecureContext;
817            this.initiatorIPAddressSpace        = initiatorIPAddressSpace;
818            this.privateNetworkRequestPolicy    = privateNetworkRequestPolicy;
819
820            this.isPresent = (isPresent == null)
821                ? singleton.generateIsPresentList(this)
822                : THROWS.check(isPresent, 3, "Network.ClientSecurityState");
823        }
824
825        /** Creates an instance of this class from a {@link JsonObject}.*/
826        public static ClientSecurityState fromJSON(JsonObject jo)
827        { return singleton.fromJSON(jo); }
828
829        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
830        public static NestedDescriptor<ClientSecurityState> descriptor()
831        { return singleton.descriptor(); }
832    }
833
834    /**
835     * <CODE>[No Description Provided by Google]</CODE>
836     * 
837     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
838     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
839     */
840    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
841    public static class ConnectTiming
842        extends BaseType<ConnectTiming>
843        implements java.io.Serializable
844    {
845        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
846        protected static final long serialVersionUID = 1;
847
848        private static final NestedHelper<Network.ConnectTiming> singleton =
849            Torello.Browser.BrowserAPI.NestedHelpers.Types.
850                Network$$ConnectTiming$$.singleton;
851
852        /**
853         * Timing's requestTime is a baseline in seconds, while the other numbers are ticks in
854         * milliseconds relatively to this requestTime. Matches ResourceTiming's requestTime for
855         * the same request (but not for redirected requests).
856         */
857        public final Number requestTime;
858
859        /** Constructor.  Please review this class' fields for documentation. */
860        public ConnectTiming(ReadOnlyList<Boolean> isPresent, Number requestTime)
861        {
862            super(singleton, Domains.Network, "ConnectTiming", 1);
863
864            this.requestTime = requestTime;
865
866            this.isPresent = (isPresent == null)
867                ? singleton.generateIsPresentList(this)
868                : THROWS.check(isPresent, 1, "Network.ConnectTiming");
869        }
870
871        /** Creates an instance of this class from a {@link JsonObject}.*/
872        public static ConnectTiming fromJSON(JsonObject jo)
873        { return singleton.fromJSON(jo); }
874
875        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
876        public static NestedDescriptor<ConnectTiming> descriptor()
877        { return singleton.descriptor(); }
878    }
879
880    /**
881     * <CODE>[No Description Provided by Google]</CODE>
882     * 
883     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
884     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
885     */
886    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
887    public static class ContentSecurityPolicyStatus
888        extends BaseType<ContentSecurityPolicyStatus>
889        implements java.io.Serializable
890    {
891        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
892        protected static final long serialVersionUID = 1;
893
894        private static final NestedHelper<Network.ContentSecurityPolicyStatus> singleton =
895            Torello.Browser.BrowserAPI.NestedHelpers.Types.
896                Network$$ContentSecurityPolicyStatus$$.singleton;
897
898        /** <CODE>[No Description Provided by Google]</CODE> */
899        public final String effectiveDirectives;
900
901        /** <CODE>[No Description Provided by Google]</CODE> */
902        public final boolean isEnforced;
903
904        /**
905         * <CODE>[No Description Provided by Google]</CODE>
906         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ContentSecurityPolicySource DATA-F=source DATA-FILE-ID=CDP.EL2>
907         * @see BaseType#enumStrList(String)
908         */
909        public final String source;
910
911        /** Constructor.  Please review this class' fields for documentation. */
912        public ContentSecurityPolicyStatus(
913                ReadOnlyList<Boolean> isPresent, String effectiveDirectives, boolean isEnforced,
914                String source
915            )
916        {
917            super(singleton, Domains.Network, "ContentSecurityPolicyStatus", 3);
918
919            this.effectiveDirectives    = effectiveDirectives;
920            this.isEnforced             = isEnforced;
921            this.source                 = source;
922
923            this.isPresent = (isPresent == null)
924                ? singleton.generateIsPresentList(this)
925                : THROWS.check(isPresent, 3, "Network.ContentSecurityPolicyStatus");
926        }
927
928        /** Creates an instance of this class from a {@link JsonObject}.*/
929        public static ContentSecurityPolicyStatus fromJSON(JsonObject jo)
930        { return singleton.fromJSON(jo); }
931
932        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
933        public static NestedDescriptor<ContentSecurityPolicyStatus> descriptor()
934        { return singleton.descriptor(); }
935    }
936
937    /**
938     * Cookie object
939     * 
940     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
941     */
942    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
943    public static class Cookie
944        extends BaseType<Cookie>
945        implements java.io.Serializable
946    {
947        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
948        protected static final long serialVersionUID = 1;
949
950        private static final NestedHelper<Network.Cookie> singleton =
951            Torello.Browser.BrowserAPI.NestedHelpers.Types.
952                Network$$Cookie$$.singleton;
953
954        /** Cookie name. */
955        public final String name;
956
957        /** Cookie value. */
958        public final String value;
959
960        /** Cookie domain. */
961        public final String domain;
962
963        /** Cookie path. */
964        public final String path;
965
966        /** Cookie expiration date as the number of seconds since the UNIX epoch. */
967        public final Number expires;
968
969        /** Cookie size. */
970        public final int size;
971
972        /** True if cookie is http-only. */
973        public final boolean httpOnly;
974
975        /** True if cookie is secure. */
976        public final boolean secure;
977
978        /** True in case of session cookie. */
979        public final boolean session;
980
981        /**
982         * Cookie SameSite type.
983         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
984         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CookieSameSite DATA-F=sameSite DATA-FILE-ID=CDP.EL2>
985         * @see BaseType#enumStrList(String)
986         */
987        public final String sameSite;
988
989        /**
990         * Cookie Priority
991         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
992         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CookiePriority DATA-F=priority DATA-FILE-ID=CDP.EL2>
993         * @see BaseType#enumStrList(String)
994         */
995        public final String priority;
996
997        /**
998         * True if cookie is SameParty.
999         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B><B CLASS=Dep-Top>DEPRECATED</B>
1000         */
1001        public final boolean sameParty;
1002
1003        /**
1004         * Cookie source scheme type.
1005         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1006         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CookieSourceScheme DATA-F=sourceScheme DATA-FILE-ID=CDP.EL2>
1007         * @see BaseType#enumStrList(String)
1008         */
1009        public final String sourceScheme;
1010
1011        /**
1012         * Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.
1013         * An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.
1014         * This is a temporary ability and it will be removed in the future.
1015         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1016         */
1017        public final int sourcePort;
1018
1019        /**
1020         * Cookie partition key.
1021         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
1022         */
1023        public final Network.CookiePartitionKey partitionKey;
1024
1025        /**
1026         * True if cookie partition key is opaque.
1027         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
1028         */
1029        public final Boolean partitionKeyOpaque;
1030
1031        /** Constructor.  Please review this class' fields for documentation. */
1032        public Cookie(
1033                ReadOnlyList<Boolean> isPresent, String name, String value, String domain,
1034                String path, Number expires, int size, boolean httpOnly, boolean secure,
1035                boolean session, String sameSite, String priority, boolean sameParty,
1036                String sourceScheme, int sourcePort, CookiePartitionKey partitionKey,
1037                Boolean partitionKeyOpaque
1038            )
1039        {
1040            super(singleton, Domains.Network, "Cookie", 16);
1041
1042            this.name               = name;
1043            this.value              = value;
1044            this.domain             = domain;
1045            this.path               = path;
1046            this.expires            = expires;
1047            this.size               = size;
1048            this.httpOnly           = httpOnly;
1049            this.secure             = secure;
1050            this.session            = session;
1051            this.sameSite           = sameSite;
1052            this.priority           = priority;
1053            this.sameParty          = sameParty;
1054            this.sourceScheme       = sourceScheme;
1055            this.sourcePort         = sourcePort;
1056            this.partitionKey       = partitionKey;
1057            this.partitionKeyOpaque = partitionKeyOpaque;
1058
1059            this.isPresent = (isPresent == null)
1060                ? singleton.generateIsPresentList(this)
1061                : THROWS.check(isPresent, 16, "Network.Cookie");
1062        }
1063
1064        /** Creates an instance of this class from a {@link JsonObject}.*/
1065        public static Cookie fromJSON(JsonObject jo)
1066        { return singleton.fromJSON(jo); }
1067
1068        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1069        public static NestedDescriptor<Cookie> descriptor()
1070        { return singleton.descriptor(); }
1071    }
1072
1073    /**
1074     * Cookie parameter object
1075     * 
1076     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1077     */
1078    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1079    public static class CookieParam
1080        extends BaseType<CookieParam>
1081        implements java.io.Serializable
1082    {
1083        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1084        protected static final long serialVersionUID = 1;
1085
1086        private static final NestedHelper<Network.CookieParam> singleton =
1087            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1088                Network$$CookieParam$$.singleton;
1089
1090        /** Cookie name. */
1091        public final String name;
1092
1093        /** Cookie value. */
1094        public final String value;
1095
1096        /**
1097         * The request-URI to associate with the setting of the cookie. This value can affect the
1098         * default domain, path, source port, and source scheme values of the created cookie.
1099         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1100         */
1101        public final String url;
1102
1103        /**
1104         * Cookie domain.
1105         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1106         */
1107        public final String domain;
1108
1109        /**
1110         * Cookie path.
1111         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1112         */
1113        public final String path;
1114
1115        /**
1116         * True if cookie is secure.
1117         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1118         */
1119        public final Boolean secure;
1120
1121        /**
1122         * True if cookie is http-only.
1123         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1124         */
1125        public final Boolean httpOnly;
1126
1127        /**
1128         * Cookie SameSite type.
1129         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1130         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CookieSameSite DATA-F=sameSite DATA-FILE-ID=CDP.EL2>
1131         * @see BaseType#enumStrList(String)
1132         */
1133        public final String sameSite;
1134
1135        /**
1136         * Cookie expiration date, session cookie if not set
1137         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1138         */
1139        public final Number expires;
1140
1141        /**
1142         * Cookie Priority.
1143         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
1144         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CookiePriority DATA-F=priority DATA-FILE-ID=CDP.EL2>
1145         * @see BaseType#enumStrList(String)
1146         */
1147        public final String priority;
1148
1149        /**
1150         * True if cookie is SameParty.
1151         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
1152         */
1153        public final Boolean sameParty;
1154
1155        /**
1156         * Cookie source scheme type.
1157         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
1158         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CookieSourceScheme DATA-F=sourceScheme DATA-FILE-ID=CDP.EL2>
1159         * @see BaseType#enumStrList(String)
1160         */
1161        public final String sourceScheme;
1162
1163        /**
1164         * Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.
1165         * An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.
1166         * This is a temporary ability and it will be removed in the future.
1167         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
1168         */
1169        public final Integer sourcePort;
1170
1171        /**
1172         * Cookie partition key. If not set, the cookie will be set as not partitioned.
1173         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
1174         */
1175        public final Network.CookiePartitionKey partitionKey;
1176
1177        /** Constructor.  Please review this class' fields for documentation. */
1178        public CookieParam(
1179                ReadOnlyList<Boolean> isPresent, String name, String value, String url,
1180                String domain, String path, Boolean secure, Boolean httpOnly, String sameSite,
1181                Number expires, String priority, Boolean sameParty, String sourceScheme,
1182                Integer sourcePort, CookiePartitionKey partitionKey
1183            )
1184        {
1185            super(singleton, Domains.Network, "CookieParam", 14);
1186
1187            this.name           = name;
1188            this.value          = value;
1189            this.url            = url;
1190            this.domain         = domain;
1191            this.path           = path;
1192            this.secure         = secure;
1193            this.httpOnly       = httpOnly;
1194            this.sameSite       = sameSite;
1195            this.expires        = expires;
1196            this.priority       = priority;
1197            this.sameParty      = sameParty;
1198            this.sourceScheme   = sourceScheme;
1199            this.sourcePort     = sourcePort;
1200            this.partitionKey   = partitionKey;
1201
1202            this.isPresent = (isPresent == null)
1203                ? singleton.generateIsPresentList(this)
1204                : THROWS.check(isPresent, 14, "Network.CookieParam");
1205        }
1206
1207        /** Creates an instance of this class from a {@link JsonObject}.*/
1208        public static CookieParam fromJSON(JsonObject jo)
1209        { return singleton.fromJSON(jo); }
1210
1211        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1212        public static NestedDescriptor<CookieParam> descriptor()
1213        { return singleton.descriptor(); }
1214    }
1215
1216    /**
1217     * cookiePartitionKey object
1218     * The representation of the components of the key that are created by the cookiePartitionKey class contained in net/cookies/cookie_partition_key.h.
1219     * 
1220     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1221     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1222     */
1223    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1224    public static class CookiePartitionKey
1225        extends BaseType<CookiePartitionKey>
1226        implements java.io.Serializable
1227    {
1228        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1229        protected static final long serialVersionUID = 1;
1230
1231        private static final NestedHelper<Network.CookiePartitionKey> singleton =
1232            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1233                Network$$CookiePartitionKey$$.singleton;
1234
1235        /**
1236         * The site of the top-level URL the browser was visiting at the start
1237         * of the request to the endpoint that set the cookie.
1238         */
1239        public final String topLevelSite;
1240
1241        /** Indicates if the cookie has any ancestors that are cross-site to the topLevelSite. */
1242        public final boolean hasCrossSiteAncestor;
1243
1244        /** Constructor.  Please review this class' fields for documentation. */
1245        public CookiePartitionKey
1246            (ReadOnlyList<Boolean> isPresent, String topLevelSite, boolean hasCrossSiteAncestor)
1247        {
1248            super(singleton, Domains.Network, "CookiePartitionKey", 2);
1249
1250            this.topLevelSite           = topLevelSite;
1251            this.hasCrossSiteAncestor   = hasCrossSiteAncestor;
1252
1253            this.isPresent = (isPresent == null)
1254                ? singleton.generateIsPresentList(this)
1255                : THROWS.check(isPresent, 2, "Network.CookiePartitionKey");
1256        }
1257
1258        /** Creates an instance of this class from a {@link JsonObject}.*/
1259        public static CookiePartitionKey fromJSON(JsonObject jo)
1260        { return singleton.fromJSON(jo); }
1261
1262        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1263        public static NestedDescriptor<CookiePartitionKey> descriptor()
1264        { return singleton.descriptor(); }
1265    }
1266
1267    /**
1268     * <CODE>[No Description Provided by Google]</CODE>
1269     * 
1270     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1271     */
1272    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1273    public static class CorsErrorStatus
1274        extends BaseType<CorsErrorStatus>
1275        implements java.io.Serializable
1276    {
1277        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1278        protected static final long serialVersionUID = 1;
1279
1280        private static final NestedHelper<Network.CorsErrorStatus> singleton =
1281            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1282                Network$$CorsErrorStatus$$.singleton;
1283
1284        /**
1285         * <CODE>[No Description Provided by Google]</CODE>
1286         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CorsError DATA-F=corsError DATA-FILE-ID=CDP.EL2>
1287         * @see BaseType#enumStrList(String)
1288         */
1289        public final String corsError;
1290
1291        /** <CODE>[No Description Provided by Google]</CODE> */
1292        public final String failedParameter;
1293
1294        /** Constructor.  Please review this class' fields for documentation. */
1295        public CorsErrorStatus
1296            (ReadOnlyList<Boolean> isPresent, String corsError, String failedParameter)
1297        {
1298            super(singleton, Domains.Network, "CorsErrorStatus", 2);
1299
1300            this.corsError          = corsError;
1301            this.failedParameter    = failedParameter;
1302
1303            this.isPresent = (isPresent == null)
1304                ? singleton.generateIsPresentList(this)
1305                : THROWS.check(isPresent, 2, "Network.CorsErrorStatus");
1306        }
1307
1308        /** Creates an instance of this class from a {@link JsonObject}.*/
1309        public static CorsErrorStatus fromJSON(JsonObject jo)
1310        { return singleton.fromJSON(jo); }
1311
1312        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1313        public static NestedDescriptor<CorsErrorStatus> descriptor()
1314        { return singleton.descriptor(); }
1315    }
1316
1317    /**
1318     * <CODE>[No Description Provided by Google]</CODE>
1319     * 
1320     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1321     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1322     */
1323    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1324    public static class CrossOriginEmbedderPolicyStatus
1325        extends BaseType<CrossOriginEmbedderPolicyStatus>
1326        implements java.io.Serializable
1327    {
1328        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1329        protected static final long serialVersionUID = 1;
1330
1331        private static final NestedHelper<Network.CrossOriginEmbedderPolicyStatus> singleton =
1332            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1333                Network$$CrossOriginEmbedderPolicyStatus$$.singleton;
1334
1335        /**
1336         * <CODE>[No Description Provided by Google]</CODE>
1337         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CrossOriginEmbedderPolicyValue DATA-F=value DATA-FILE-ID=CDP.EL2>
1338         * @see BaseType#enumStrList(String)
1339         */
1340        public final String value;
1341
1342        /**
1343         * <CODE>[No Description Provided by Google]</CODE>
1344         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CrossOriginEmbedderPolicyValue DATA-F=reportOnlyValue DATA-FILE-ID=CDP.EL2>
1345         * @see BaseType#enumStrList(String)
1346         */
1347        public final String reportOnlyValue;
1348
1349        /**
1350         * <CODE>[No Description Provided by Google]</CODE>
1351         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1352         */
1353        public final String reportingEndpoint;
1354
1355        /**
1356         * <CODE>[No Description Provided by Google]</CODE>
1357         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1358         */
1359        public final String reportOnlyReportingEndpoint;
1360
1361        /** Constructor.  Please review this class' fields for documentation. */
1362        public CrossOriginEmbedderPolicyStatus(
1363                ReadOnlyList<Boolean> isPresent, String value, String reportOnlyValue,
1364                String reportingEndpoint, String reportOnlyReportingEndpoint
1365            )
1366        {
1367            super(singleton, Domains.Network, "CrossOriginEmbedderPolicyStatus", 4);
1368
1369            this.value                          = value;
1370            this.reportOnlyValue                = reportOnlyValue;
1371            this.reportingEndpoint              = reportingEndpoint;
1372            this.reportOnlyReportingEndpoint    = reportOnlyReportingEndpoint;
1373
1374            this.isPresent = (isPresent == null)
1375                ? singleton.generateIsPresentList(this)
1376                : THROWS.check(isPresent, 4, "Network.CrossOriginEmbedderPolicyStatus");
1377        }
1378
1379        /** Creates an instance of this class from a {@link JsonObject}.*/
1380        public static CrossOriginEmbedderPolicyStatus fromJSON(JsonObject jo)
1381        { return singleton.fromJSON(jo); }
1382
1383        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1384        public static NestedDescriptor<CrossOriginEmbedderPolicyStatus> descriptor()
1385        { return singleton.descriptor(); }
1386    }
1387
1388    /**
1389     * <CODE>[No Description Provided by Google]</CODE>
1390     * 
1391     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1392     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1393     */
1394    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1395    public static class CrossOriginOpenerPolicyStatus
1396        extends BaseType<CrossOriginOpenerPolicyStatus>
1397        implements java.io.Serializable
1398    {
1399        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1400        protected static final long serialVersionUID = 1;
1401
1402        private static final NestedHelper<Network.CrossOriginOpenerPolicyStatus> singleton =
1403            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1404                Network$$CrossOriginOpenerPolicyStatus$$.singleton;
1405
1406        /**
1407         * <CODE>[No Description Provided by Google]</CODE>
1408         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CrossOriginOpenerPolicyValue DATA-F=value DATA-FILE-ID=CDP.EL2>
1409         * @see BaseType#enumStrList(String)
1410         */
1411        public final String value;
1412
1413        /**
1414         * <CODE>[No Description Provided by Google]</CODE>
1415         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CrossOriginOpenerPolicyValue DATA-F=reportOnlyValue DATA-FILE-ID=CDP.EL2>
1416         * @see BaseType#enumStrList(String)
1417         */
1418        public final String reportOnlyValue;
1419
1420        /**
1421         * <CODE>[No Description Provided by Google]</CODE>
1422         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1423         */
1424        public final String reportingEndpoint;
1425
1426        /**
1427         * <CODE>[No Description Provided by Google]</CODE>
1428         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1429         */
1430        public final String reportOnlyReportingEndpoint;
1431
1432        /** Constructor.  Please review this class' fields for documentation. */
1433        public CrossOriginOpenerPolicyStatus(
1434                ReadOnlyList<Boolean> isPresent, String value, String reportOnlyValue,
1435                String reportingEndpoint, String reportOnlyReportingEndpoint
1436            )
1437        {
1438            super(singleton, Domains.Network, "CrossOriginOpenerPolicyStatus", 4);
1439
1440            this.value                          = value;
1441            this.reportOnlyValue                = reportOnlyValue;
1442            this.reportingEndpoint              = reportingEndpoint;
1443            this.reportOnlyReportingEndpoint    = reportOnlyReportingEndpoint;
1444
1445            this.isPresent = (isPresent == null)
1446                ? singleton.generateIsPresentList(this)
1447                : THROWS.check(isPresent, 4, "Network.CrossOriginOpenerPolicyStatus");
1448        }
1449
1450        /** Creates an instance of this class from a {@link JsonObject}.*/
1451        public static CrossOriginOpenerPolicyStatus fromJSON(JsonObject jo)
1452        { return singleton.fromJSON(jo); }
1453
1454        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1455        public static NestedDescriptor<CrossOriginOpenerPolicyStatus> descriptor()
1456        { return singleton.descriptor(); }
1457    }
1458
1459    /**
1460     * <CODE>[No Description Provided by Google]</CODE>
1461     * 
1462     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1463     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1464     */
1465    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1466    public static class DirectTCPSocketOptions
1467        extends BaseType<DirectTCPSocketOptions>
1468        implements java.io.Serializable
1469    {
1470        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1471        protected static final long serialVersionUID = 1;
1472
1473        private static final NestedHelper<Network.DirectTCPSocketOptions> singleton =
1474            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1475                Network$$DirectTCPSocketOptions$$.singleton;
1476
1477        /** TCP_NODELAY option */
1478        public final boolean noDelay;
1479
1480        /**
1481         * Expected to be unsigned integer.
1482         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1483         */
1484        public final Number keepAliveDelay;
1485
1486        /**
1487         * Expected to be unsigned integer.
1488         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1489         */
1490        public final Number sendBufferSize;
1491
1492        /**
1493         * Expected to be unsigned integer.
1494         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1495         */
1496        public final Number receiveBufferSize;
1497
1498        /**
1499         * <CODE>[No Description Provided by Google]</CODE>
1500         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1501         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=DirectSocketDnsQueryType DATA-F=dnsQueryType DATA-FILE-ID=CDP.EL2>
1502         * @see BaseType#enumStrList(String)
1503         */
1504        public final String dnsQueryType;
1505
1506        /** Constructor.  Please review this class' fields for documentation. */
1507        public DirectTCPSocketOptions(
1508                ReadOnlyList<Boolean> isPresent, boolean noDelay, Number keepAliveDelay,
1509                Number sendBufferSize, Number receiveBufferSize, String dnsQueryType
1510            )
1511        {
1512            super(singleton, Domains.Network, "DirectTCPSocketOptions", 5);
1513
1514            this.noDelay            = noDelay;
1515            this.keepAliveDelay     = keepAliveDelay;
1516            this.sendBufferSize     = sendBufferSize;
1517            this.receiveBufferSize  = receiveBufferSize;
1518            this.dnsQueryType       = dnsQueryType;
1519
1520            this.isPresent = (isPresent == null)
1521                ? singleton.generateIsPresentList(this)
1522                : THROWS.check(isPresent, 5, "Network.DirectTCPSocketOptions");
1523        }
1524
1525        /** Creates an instance of this class from a {@link JsonObject}.*/
1526        public static DirectTCPSocketOptions fromJSON(JsonObject jo)
1527        { return singleton.fromJSON(jo); }
1528
1529        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1530        public static NestedDescriptor<DirectTCPSocketOptions> descriptor()
1531        { return singleton.descriptor(); }
1532    }
1533
1534    /**
1535     * <CODE>[No Description Provided by Google]</CODE>
1536     * 
1537     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1538     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1539     */
1540    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1541    public static class DirectUDPMessage
1542        extends BaseType<DirectUDPMessage>
1543        implements java.io.Serializable
1544    {
1545        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1546        protected static final long serialVersionUID = 1;
1547
1548        private static final NestedHelper<Network.DirectUDPMessage> singleton =
1549            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1550                Network$$DirectUDPMessage$$.singleton;
1551
1552        /** <CODE>[No Description Provided by Google]</CODE> */
1553        public final String data;
1554
1555        /**
1556         * Null for connected mode.
1557         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1558         */
1559        public final String remoteAddr;
1560
1561        /**
1562         * Null for connected mode.
1563         * Expected to be unsigned integer.
1564         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1565         */
1566        public final Integer remotePort;
1567
1568        /** Constructor.  Please review this class' fields for documentation. */
1569        public DirectUDPMessage
1570            (ReadOnlyList<Boolean> isPresent, String data, String remoteAddr, Integer remotePort)
1571        {
1572            super(singleton, Domains.Network, "DirectUDPMessage", 3);
1573
1574            this.data       = data;
1575            this.remoteAddr = remoteAddr;
1576            this.remotePort = remotePort;
1577
1578            this.isPresent = (isPresent == null)
1579                ? singleton.generateIsPresentList(this)
1580                : THROWS.check(isPresent, 3, "Network.DirectUDPMessage");
1581        }
1582
1583        /** Creates an instance of this class from a {@link JsonObject}.*/
1584        public static DirectUDPMessage fromJSON(JsonObject jo)
1585        { return singleton.fromJSON(jo); }
1586
1587        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1588        public static NestedDescriptor<DirectUDPMessage> descriptor()
1589        { return singleton.descriptor(); }
1590    }
1591
1592    /**
1593     * <CODE>[No Description Provided by Google]</CODE>
1594     * 
1595     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1596     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1597     */
1598    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1599    public static class DirectUDPSocketOptions
1600        extends BaseType<DirectUDPSocketOptions>
1601        implements java.io.Serializable
1602    {
1603        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1604        protected static final long serialVersionUID = 1;
1605
1606        private static final NestedHelper<Network.DirectUDPSocketOptions> singleton =
1607            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1608                Network$$DirectUDPSocketOptions$$.singleton;
1609
1610        /**
1611         * <CODE>[No Description Provided by Google]</CODE>
1612         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1613         */
1614        public final String remoteAddr;
1615
1616        /**
1617         * Unsigned int 16.
1618         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1619         */
1620        public final Integer remotePort;
1621
1622        /**
1623         * <CODE>[No Description Provided by Google]</CODE>
1624         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1625         */
1626        public final String localAddr;
1627
1628        /**
1629         * Unsigned int 16.
1630         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1631         */
1632        public final Integer localPort;
1633
1634        /**
1635         * <CODE>[No Description Provided by Google]</CODE>
1636         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1637         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=DirectSocketDnsQueryType DATA-F=dnsQueryType DATA-FILE-ID=CDP.EL2>
1638         * @see BaseType#enumStrList(String)
1639         */
1640        public final String dnsQueryType;
1641
1642        /**
1643         * Expected to be unsigned integer.
1644         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1645         */
1646        public final Number sendBufferSize;
1647
1648        /**
1649         * Expected to be unsigned integer.
1650         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1651         */
1652        public final Number receiveBufferSize;
1653
1654        /** Constructor.  Please review this class' fields for documentation. */
1655        public DirectUDPSocketOptions(
1656                ReadOnlyList<Boolean> isPresent, String remoteAddr, Integer remotePort,
1657                String localAddr, Integer localPort, String dnsQueryType, Number sendBufferSize,
1658                Number receiveBufferSize
1659            )
1660        {
1661            super(singleton, Domains.Network, "DirectUDPSocketOptions", 7);
1662
1663            this.remoteAddr         = remoteAddr;
1664            this.remotePort         = remotePort;
1665            this.localAddr          = localAddr;
1666            this.localPort          = localPort;
1667            this.dnsQueryType       = dnsQueryType;
1668            this.sendBufferSize     = sendBufferSize;
1669            this.receiveBufferSize  = receiveBufferSize;
1670
1671            this.isPresent = (isPresent == null)
1672                ? singleton.generateIsPresentList(this)
1673                : THROWS.check(isPresent, 7, "Network.DirectUDPSocketOptions");
1674        }
1675
1676        /** Creates an instance of this class from a {@link JsonObject}.*/
1677        public static DirectUDPSocketOptions fromJSON(JsonObject jo)
1678        { return singleton.fromJSON(jo); }
1679
1680        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1681        public static NestedDescriptor<DirectUDPSocketOptions> descriptor()
1682        { return singleton.descriptor(); }
1683    }
1684
1685    /**
1686     * A cookie should have been blocked by 3PCD but is exempted and stored from a response with the
1687     * corresponding reason. A cookie could only have at most one exemption reason.
1688     * 
1689     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1690     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1691     */
1692    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1693    public static class ExemptedSetCookieWithReason
1694        extends BaseType<ExemptedSetCookieWithReason>
1695        implements java.io.Serializable
1696    {
1697        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1698        protected static final long serialVersionUID = 1;
1699
1700        private static final NestedHelper<Network.ExemptedSetCookieWithReason> singleton =
1701            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1702                Network$$ExemptedSetCookieWithReason$$.singleton;
1703
1704        /**
1705         * The reason the cookie was exempted.
1706         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CookieExemptionReason DATA-F=exemptionReason DATA-FILE-ID=CDP.EL2>
1707         * @see BaseType#enumStrList(String)
1708         */
1709        public final String exemptionReason;
1710
1711        /** The string representing this individual cookie as it would appear in the header. */
1712        public final String cookieLine;
1713
1714        /** The cookie object representing the cookie. */
1715        public final Network.Cookie cookie;
1716
1717        /** Constructor.  Please review this class' fields for documentation. */
1718        public ExemptedSetCookieWithReason(
1719                ReadOnlyList<Boolean> isPresent, String exemptionReason, String cookieLine,
1720                Cookie cookie
1721            )
1722        {
1723            super(singleton, Domains.Network, "ExemptedSetCookieWithReason", 3);
1724
1725            this.exemptionReason    = exemptionReason;
1726            this.cookieLine         = cookieLine;
1727            this.cookie             = cookie;
1728
1729            this.isPresent = (isPresent == null)
1730                ? singleton.generateIsPresentList(this)
1731                : THROWS.check(isPresent, 3, "Network.ExemptedSetCookieWithReason");
1732        }
1733
1734        /** Creates an instance of this class from a {@link JsonObject}.*/
1735        public static ExemptedSetCookieWithReason fromJSON(JsonObject jo)
1736        { return singleton.fromJSON(jo); }
1737
1738        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1739        public static NestedDescriptor<ExemptedSetCookieWithReason> descriptor()
1740        { return singleton.descriptor(); }
1741    }
1742
1743    /**
1744     * Information about the request initiator.
1745     * 
1746     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1747     */
1748    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1749    public static class Initiator
1750        extends BaseType<Initiator>
1751        implements java.io.Serializable
1752    {
1753        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1754        protected static final long serialVersionUID = 1;
1755
1756        private static final NestedHelper<Network.Initiator> singleton =
1757            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1758                Network$$Initiator$$.singleton;
1759
1760        /**
1761         * Type of this initiator.
1762         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=Initiator DATA-F=type DATA-FILE-ID=CDP.EL1>
1763         * @see BaseType#enumStrList(String)
1764         */
1765        public final String type;
1766
1767        /**
1768         * Initiator JavaScript stack trace, set for Script only.
1769         * Requires the Debugger domain to be enabled.
1770         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1771         */
1772        public final RunTime.StackTrace stack;
1773
1774        /**
1775         * Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type.
1776         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1777         */
1778        public final String url;
1779
1780        /**
1781         * Initiator line number, set for Parser type or for Script type (when script is importing
1782         * module) (0-based).
1783         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1784         */
1785        public final Number lineNumber;
1786
1787        /**
1788         * Initiator column number, set for Parser type or for Script type (when script is importing
1789         * module) (0-based).
1790         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1791         */
1792        public final Number columnNumber;
1793
1794        /**
1795         * Set if another request triggered this request (e.g. preflight).
1796         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1797         */
1798        public final String requestId;
1799
1800        /** Constructor.  Please review this class' fields for documentation. */
1801        public Initiator(
1802                ReadOnlyList<Boolean> isPresent, String type, RunTime.StackTrace stack, String url,
1803                Number lineNumber, Number columnNumber, String requestId
1804            )
1805        {
1806            super(singleton, Domains.Network, "Initiator", 6);
1807
1808            this.type           = type;
1809            this.stack          = stack;
1810            this.url            = url;
1811            this.lineNumber     = lineNumber;
1812            this.columnNumber   = columnNumber;
1813            this.requestId      = requestId;
1814
1815            this.isPresent = (isPresent == null)
1816                ? singleton.generateIsPresentList(this)
1817                : THROWS.check(isPresent, 6, "Network.Initiator");
1818        }
1819
1820        /** Creates an instance of this class from a {@link JsonObject}.*/
1821        public static Initiator fromJSON(JsonObject jo)
1822        { return singleton.fromJSON(jo); }
1823
1824        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1825        public static NestedDescriptor<Initiator> descriptor()
1826        { return singleton.descriptor(); }
1827    }
1828
1829    /**
1830     * An options object that may be extended later to better support CORS,
1831     * CORB and streaming.
1832     * 
1833     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1834     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1835     */
1836    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1837    public static class LoadNetworkResourceOptions
1838        extends BaseType<LoadNetworkResourceOptions>
1839        implements java.io.Serializable
1840    {
1841        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1842        protected static final long serialVersionUID = 1;
1843
1844        private static final NestedHelper<Network.LoadNetworkResourceOptions> singleton =
1845            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1846                Network$$LoadNetworkResourceOptions$$.singleton;
1847
1848        /** <CODE>[No Description Provided by Google]</CODE> */
1849        public final boolean disableCache;
1850
1851        /** <CODE>[No Description Provided by Google]</CODE> */
1852        public final boolean includeCredentials;
1853
1854        /** Constructor.  Please review this class' fields for documentation. */
1855        public LoadNetworkResourceOptions
1856            (ReadOnlyList<Boolean> isPresent, boolean disableCache, boolean includeCredentials)
1857        {
1858            super(singleton, Domains.Network, "LoadNetworkResourceOptions", 2);
1859
1860            this.disableCache       = disableCache;
1861            this.includeCredentials = includeCredentials;
1862
1863            this.isPresent = (isPresent == null)
1864                ? singleton.generateIsPresentList(this)
1865                : THROWS.check(isPresent, 2, "Network.LoadNetworkResourceOptions");
1866        }
1867
1868        /** Creates an instance of this class from a {@link JsonObject}.*/
1869        public static LoadNetworkResourceOptions fromJSON(JsonObject jo)
1870        { return singleton.fromJSON(jo); }
1871
1872        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1873        public static NestedDescriptor<LoadNetworkResourceOptions> descriptor()
1874        { return singleton.descriptor(); }
1875    }
1876
1877    /**
1878     * An object providing the result of a network resource load.
1879     * 
1880     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
1881     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1882     */
1883    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1884    public static class LoadNetworkResourcePageResult
1885        extends BaseType<LoadNetworkResourcePageResult>
1886        implements java.io.Serializable
1887    {
1888        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1889        protected static final long serialVersionUID = 1;
1890
1891        private static final NestedHelper<Network.LoadNetworkResourcePageResult> singleton =
1892            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1893                Network$$LoadNetworkResourcePageResult$$.singleton;
1894
1895        /** <CODE>[No Description Provided by Google]</CODE> */
1896        public final boolean success;
1897
1898        /**
1899         * Optional values used for error reporting.
1900         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1901         */
1902        public final Number netError;
1903
1904        /**
1905         * <CODE>[No Description Provided by Google]</CODE>
1906         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1907         */
1908        public final String netErrorName;
1909
1910        /**
1911         * <CODE>[No Description Provided by Google]</CODE>
1912         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1913         */
1914        public final Number httpStatusCode;
1915
1916        /**
1917         * If successful, one of the following two fields holds the result.
1918         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1919         */
1920        public final String stream;
1921
1922        /**
1923         * Response headers.
1924         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1925         */
1926        public final JsonValue headers;
1927
1928        /** Constructor.  Please review this class' fields for documentation. */
1929        public LoadNetworkResourcePageResult(
1930                ReadOnlyList<Boolean> isPresent, boolean success, Number netError,
1931                String netErrorName, Number httpStatusCode, String stream, JsonValue headers
1932            )
1933        {
1934            super(singleton, Domains.Network, "LoadNetworkResourcePageResult", 6);
1935
1936            this.success        = success;
1937            this.netError       = netError;
1938            this.netErrorName   = netErrorName;
1939            this.httpStatusCode = httpStatusCode;
1940            this.stream         = stream;
1941            this.headers        = headers;
1942
1943            this.isPresent = (isPresent == null)
1944                ? singleton.generateIsPresentList(this)
1945                : THROWS.check(isPresent, 6, "Network.LoadNetworkResourcePageResult");
1946        }
1947
1948        /** Creates an instance of this class from a {@link JsonObject}.*/
1949        public static LoadNetworkResourcePageResult fromJSON(JsonObject jo)
1950        { return singleton.fromJSON(jo); }
1951
1952        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1953        public static NestedDescriptor<LoadNetworkResourcePageResult> descriptor()
1954        { return singleton.descriptor(); }
1955    }
1956
1957    /**
1958     * Post data entry for HTTP request
1959     * 
1960     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
1961     */
1962    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
1963    public static class PostDataEntry
1964        extends BaseType<PostDataEntry>
1965        implements java.io.Serializable
1966    {
1967        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
1968        protected static final long serialVersionUID = 1;
1969
1970        private static final NestedHelper<Network.PostDataEntry> singleton =
1971            Torello.Browser.BrowserAPI.NestedHelpers.Types.
1972                Network$$PostDataEntry$$.singleton;
1973
1974        /**
1975         * <CODE>[No Description Provided by Google]</CODE>
1976         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
1977         */
1978        public final String bytes;
1979
1980        /** Constructor.  Please review this class' fields for documentation. */
1981        public PostDataEntry(ReadOnlyList<Boolean> isPresent, String bytes)
1982        {
1983            super(singleton, Domains.Network, "PostDataEntry", 1);
1984
1985            this.bytes = bytes;
1986
1987            this.isPresent = (isPresent == null)
1988                ? singleton.generateIsPresentList(this)
1989                : THROWS.check(isPresent, 1, "Network.PostDataEntry");
1990        }
1991
1992        /** Creates an instance of this class from a {@link JsonObject}.*/
1993        public static PostDataEntry fromJSON(JsonObject jo)
1994        { return singleton.fromJSON(jo); }
1995
1996        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
1997        public static NestedDescriptor<PostDataEntry> descriptor()
1998        { return singleton.descriptor(); }
1999    }
2000
2001    /**
2002     * <CODE>[No Description Provided by Google]</CODE>
2003     * 
2004     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2005     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2006     */
2007    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2008    public static class ReportingApiEndpoint
2009        extends BaseType<ReportingApiEndpoint>
2010        implements java.io.Serializable
2011    {
2012        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2013        protected static final long serialVersionUID = 1;
2014
2015        private static final NestedHelper<Network.ReportingApiEndpoint> singleton =
2016            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2017                Network$$ReportingApiEndpoint$$.singleton;
2018
2019        /** The URL of the endpoint to which reports may be delivered. */
2020        public final String url;
2021
2022        /** Name of the endpoint group. */
2023        public final String groupName;
2024
2025        /** Constructor.  Please review this class' fields for documentation. */
2026        public ReportingApiEndpoint(ReadOnlyList<Boolean> isPresent, String url, String groupName)
2027        {
2028            super(singleton, Domains.Network, "ReportingApiEndpoint", 2);
2029
2030            this.url        = url;
2031            this.groupName  = groupName;
2032
2033            this.isPresent = (isPresent == null)
2034                ? singleton.generateIsPresentList(this)
2035                : THROWS.check(isPresent, 2, "Network.ReportingApiEndpoint");
2036        }
2037
2038        /** Creates an instance of this class from a {@link JsonObject}.*/
2039        public static ReportingApiEndpoint fromJSON(JsonObject jo)
2040        { return singleton.fromJSON(jo); }
2041
2042        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
2043        public static NestedDescriptor<ReportingApiEndpoint> descriptor()
2044        { return singleton.descriptor(); }
2045    }
2046
2047    /**
2048     * An object representing a report generated by the Reporting API.
2049     * 
2050     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2051     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2052     */
2053    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2054    public static class ReportingApiReport
2055        extends BaseType<ReportingApiReport>
2056        implements java.io.Serializable
2057    {
2058        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2059        protected static final long serialVersionUID = 1;
2060
2061        private static final NestedHelper<Network.ReportingApiReport> singleton =
2062            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2063                Network$$ReportingApiReport$$.singleton;
2064
2065        /** <CODE>[No Description Provided by Google]</CODE> */
2066        public final String id;
2067
2068        /** The URL of the document that triggered the report. */
2069        public final String initiatorUrl;
2070
2071        /** The name of the endpoint group that should be used to deliver the report. */
2072        public final String destination;
2073
2074        /** The type of the report (specifies the set of data that is contained in the report body). */
2075        public final String type;
2076
2077        /** When the report was generated. */
2078        public final Number timestamp;
2079
2080        /** How many uploads deep the related request was. */
2081        public final int depth;
2082
2083        /** The number of delivery attempts made so far, not including an active attempt. */
2084        public final int completedAttempts;
2085
2086        /** <CODE>[No Description Provided by Google]</CODE> */
2087        public final JsonValue body;
2088
2089        /**
2090         * <CODE>[No Description Provided by Google]</CODE>
2091         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ReportStatus DATA-F=status DATA-FILE-ID=CDP.EL2>
2092         * @see BaseType#enumStrList(String)
2093         */
2094        public final String status;
2095
2096        /** Constructor.  Please review this class' fields for documentation. */
2097        public ReportingApiReport(
2098                ReadOnlyList<Boolean> isPresent, String id, String initiatorUrl,
2099                String destination, String type, Number timestamp, int depth,
2100                int completedAttempts, JsonValue body, String status
2101            )
2102        {
2103            super(singleton, Domains.Network, "ReportingApiReport", 9);
2104
2105            this.id                 = id;
2106            this.initiatorUrl       = initiatorUrl;
2107            this.destination        = destination;
2108            this.type               = type;
2109            this.timestamp          = timestamp;
2110            this.depth              = depth;
2111            this.completedAttempts  = completedAttempts;
2112            this.body               = body;
2113            this.status             = status;
2114
2115            this.isPresent = (isPresent == null)
2116                ? singleton.generateIsPresentList(this)
2117                : THROWS.check(isPresent, 9, "Network.ReportingApiReport");
2118        }
2119
2120        /** Creates an instance of this class from a {@link JsonObject}.*/
2121        public static ReportingApiReport fromJSON(JsonObject jo)
2122        { return singleton.fromJSON(jo); }
2123
2124        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
2125        public static NestedDescriptor<ReportingApiReport> descriptor()
2126        { return singleton.descriptor(); }
2127    }
2128
2129    /**
2130     * HTTP request data.
2131     * 
2132     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2133     */
2134    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2135    public static class Request
2136        extends BaseType<Request>
2137        implements java.io.Serializable
2138    {
2139        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2140        protected static final long serialVersionUID = 1;
2141
2142        private static final NestedHelper<Network.Request> singleton =
2143            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2144                Network$$Request$$.singleton;
2145
2146        /** Request URL (without fragment). */
2147        public final String url;
2148
2149        /**
2150         * Fragment of the requested URL starting with hash, if present.
2151         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2152         */
2153        public final String urlFragment;
2154
2155        /** HTTP request method. */
2156        public final String method;
2157
2158        /** HTTP request headers. */
2159        public final JsonValue headers;
2160
2161        /**
2162         * HTTP POST request data.
2163         * Use postDataEntries instead.
2164         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Dep-Top>DEPRECATED</B>
2165         */
2166        public final String postData;
2167
2168        /**
2169         * True when the request has POST data. Note that postData might still be omitted when this flag is true when the data is too long.
2170         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2171         */
2172        public final Boolean hasPostData;
2173
2174        /**
2175         * Request body elements (post data broken into individual entries).
2176         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
2177         */
2178        public final Network.PostDataEntry[] postDataEntries;
2179
2180        /**
2181         * The mixed content type of the request.
2182         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2183         * <EMBED CLASS='external-html' DATA-D=Security DATA-C=MixedContentType DATA-F=mixedContentType DATA-FILE-ID=CDP.EL2>
2184         * @see BaseType#enumStrList(String)
2185         */
2186        public final String mixedContentType;
2187
2188        /**
2189         * Priority of the resource request at the time request is sent.
2190         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ResourcePriority DATA-F=initialPriority DATA-FILE-ID=CDP.EL2>
2191         * @see BaseType#enumStrList(String)
2192         */
2193        public final String initialPriority;
2194
2195        /**
2196         * The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/
2197         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=Request DATA-F=referrerPolicy DATA-FILE-ID=CDP.EL1>
2198         * @see BaseType#enumStrList(String)
2199         */
2200        public final String referrerPolicy;
2201
2202        /**
2203         * Whether is loaded via link preload.
2204         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2205         */
2206        public final Boolean isLinkPreload;
2207
2208        /**
2209         * Set for requests when the TrustToken API is used. Contains the parameters
2210         * passed by the developer (e.g. via "fetch") as understood by the backend.
2211         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
2212         */
2213        public final Network.TrustTokenParams trustTokenParams;
2214
2215        /**
2216         * True if this resource request is considered to be the 'same site' as the
2217         * request corresponding to the main frame.
2218         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
2219         */
2220        public final Boolean isSameSite;
2221
2222        /** Constructor.  Please review this class' fields for documentation. */
2223        public Request(
2224                ReadOnlyList<Boolean> isPresent, String url, String urlFragment, String method,
2225                JsonValue headers, String postData, Boolean hasPostData,
2226                PostDataEntry[] postDataEntries, String mixedContentType, String initialPriority,
2227                String referrerPolicy, Boolean isLinkPreload, TrustTokenParams trustTokenParams,
2228                Boolean isSameSite
2229            )
2230        {
2231            super(singleton, Domains.Network, "Request", 13);
2232
2233            this.url                = url;
2234            this.urlFragment        = urlFragment;
2235            this.method             = method;
2236            this.headers            = headers;
2237            this.postData           = postData;
2238            this.hasPostData        = hasPostData;
2239            this.postDataEntries    = postDataEntries;
2240            this.mixedContentType   = mixedContentType;
2241            this.initialPriority    = initialPriority;
2242            this.referrerPolicy     = referrerPolicy;
2243            this.isLinkPreload      = isLinkPreload;
2244            this.trustTokenParams   = trustTokenParams;
2245            this.isSameSite         = isSameSite;
2246
2247            this.isPresent = (isPresent == null)
2248                ? singleton.generateIsPresentList(this)
2249                : THROWS.check(isPresent, 13, "Network.Request");
2250        }
2251
2252        /** Creates an instance of this class from a {@link JsonObject}.*/
2253        public static Request fromJSON(JsonObject jo)
2254        { return singleton.fromJSON(jo); }
2255
2256        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
2257        public static NestedDescriptor<Request> descriptor()
2258        { return singleton.descriptor(); }
2259    }
2260
2261    /**
2262     * Request pattern for interception.
2263     * 
2264     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2265     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2266     */
2267    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2268    public static class RequestPattern
2269        extends BaseType<RequestPattern>
2270        implements java.io.Serializable
2271    {
2272        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2273        protected static final long serialVersionUID = 1;
2274
2275        private static final NestedHelper<Network.RequestPattern> singleton =
2276            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2277                Network$$RequestPattern$$.singleton;
2278
2279        /**
2280         * Wildcards (<CODE>'*'</CODE> -&gt; zero or more, <CODE>'?'</CODE> -&gt; exactly one) are allowed. Escape character is
2281         * backslash. Omitting is equivalent to <CODE>"*"</CODE>.
2282         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2283         */
2284        public final String urlPattern;
2285
2286        /**
2287         * If set, only requests for matching resource types will be intercepted.
2288         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2289         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ResourceType DATA-F=resourceType DATA-FILE-ID=CDP.EL2>
2290         * @see BaseType#enumStrList(String)
2291         */
2292        public final String resourceType;
2293
2294        /**
2295         * Stage at which to begin intercepting requests. Default is Request.
2296         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2297         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=InterceptionStage DATA-F=interceptionStage DATA-FILE-ID=CDP.EL2>
2298         * @see BaseType#enumStrList(String)
2299         */
2300        public final String interceptionStage;
2301
2302        /** Constructor.  Please review this class' fields for documentation. */
2303        public RequestPattern(
2304                ReadOnlyList<Boolean> isPresent, String urlPattern, String resourceType,
2305                String interceptionStage
2306            )
2307        {
2308            super(singleton, Domains.Network, "RequestPattern", 3);
2309
2310            this.urlPattern         = urlPattern;
2311            this.resourceType       = resourceType;
2312            this.interceptionStage  = interceptionStage;
2313
2314            this.isPresent = (isPresent == null)
2315                ? singleton.generateIsPresentList(this)
2316                : THROWS.check(isPresent, 3, "Network.RequestPattern");
2317        }
2318
2319        /** Creates an instance of this class from a {@link JsonObject}.*/
2320        public static RequestPattern fromJSON(JsonObject jo)
2321        { return singleton.fromJSON(jo); }
2322
2323        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
2324        public static NestedDescriptor<RequestPattern> descriptor()
2325        { return singleton.descriptor(); }
2326    }
2327
2328    /**
2329     * Timing information for the request.
2330     * 
2331     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2332     */
2333    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2334    public static class ResourceTiming
2335        extends BaseType<ResourceTiming>
2336        implements java.io.Serializable
2337    {
2338        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2339        protected static final long serialVersionUID = 1;
2340
2341        private static final NestedHelper<Network.ResourceTiming> singleton =
2342            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2343                Network$$ResourceTiming$$.singleton;
2344
2345        /**
2346         * Timing's requestTime is a baseline in seconds, while the other numbers are ticks in
2347         * milliseconds relatively to this requestTime.
2348         */
2349        public final Number requestTime;
2350
2351        /** Started resolving proxy. */
2352        public final Number proxyStart;
2353
2354        /** Finished resolving proxy. */
2355        public final Number proxyEnd;
2356
2357        /** Started DNS address resolve. */
2358        public final Number dnsStart;
2359
2360        /** Finished DNS address resolve. */
2361        public final Number dnsEnd;
2362
2363        /** Started connecting to the remote host. */
2364        public final Number connectStart;
2365
2366        /** Connected to the remote host. */
2367        public final Number connectEnd;
2368
2369        /** Started SSL handshake. */
2370        public final Number sslStart;
2371
2372        /** Finished SSL handshake. */
2373        public final Number sslEnd;
2374
2375        /**
2376         * Started running ServiceWorker.
2377         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2378         */
2379        public final Number workerStart;
2380
2381        /**
2382         * Finished Starting ServiceWorker.
2383         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2384         */
2385        public final Number workerReady;
2386
2387        /**
2388         * Started fetch event.
2389         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2390         */
2391        public final Number workerFetchStart;
2392
2393        /**
2394         * Settled fetch event respondWith promise.
2395         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2396         */
2397        public final Number workerRespondWithSettled;
2398
2399        /**
2400         * Started ServiceWorker static routing source evaluation.
2401         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
2402         */
2403        public final Number workerRouterEvaluationStart;
2404
2405        /**
2406         * Started cache lookup when the source was evaluated to <CODE>cache</CODE>.
2407         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
2408         */
2409        public final Number workerCacheLookupStart;
2410
2411        /** Started sending request. */
2412        public final Number sendStart;
2413
2414        /** Finished sending request. */
2415        public final Number sendEnd;
2416
2417        /**
2418         * Time the server started pushing request.
2419         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2420         */
2421        public final Number pushStart;
2422
2423        /**
2424         * Time the server finished pushing request.
2425         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2426         */
2427        public final Number pushEnd;
2428
2429        /**
2430         * Started receiving response headers.
2431         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2432         */
2433        public final Number receiveHeadersStart;
2434
2435        /** Finished receiving response headers. */
2436        public final Number receiveHeadersEnd;
2437
2438        /** Constructor.  Please review this class' fields for documentation. */
2439        public ResourceTiming(
2440                ReadOnlyList<Boolean> isPresent, Number requestTime, Number proxyStart,
2441                Number proxyEnd, Number dnsStart, Number dnsEnd, Number connectStart,
2442                Number connectEnd, Number sslStart, Number sslEnd, Number workerStart,
2443                Number workerReady, Number workerFetchStart, Number workerRespondWithSettled,
2444                Number workerRouterEvaluationStart, Number workerCacheLookupStart,
2445                Number sendStart, Number sendEnd, Number pushStart, Number pushEnd,
2446                Number receiveHeadersStart, Number receiveHeadersEnd
2447            )
2448        {
2449            super(singleton, Domains.Network, "ResourceTiming", 21);
2450
2451            this.requestTime                    = requestTime;
2452            this.proxyStart                     = proxyStart;
2453            this.proxyEnd                       = proxyEnd;
2454            this.dnsStart                       = dnsStart;
2455            this.dnsEnd                         = dnsEnd;
2456            this.connectStart                   = connectStart;
2457            this.connectEnd                     = connectEnd;
2458            this.sslStart                       = sslStart;
2459            this.sslEnd                         = sslEnd;
2460            this.workerStart                    = workerStart;
2461            this.workerReady                    = workerReady;
2462            this.workerFetchStart               = workerFetchStart;
2463            this.workerRespondWithSettled       = workerRespondWithSettled;
2464            this.workerRouterEvaluationStart    = workerRouterEvaluationStart;
2465            this.workerCacheLookupStart         = workerCacheLookupStart;
2466            this.sendStart                      = sendStart;
2467            this.sendEnd                        = sendEnd;
2468            this.pushStart                      = pushStart;
2469            this.pushEnd                        = pushEnd;
2470            this.receiveHeadersStart            = receiveHeadersStart;
2471            this.receiveHeadersEnd              = receiveHeadersEnd;
2472
2473            this.isPresent = (isPresent == null)
2474                ? singleton.generateIsPresentList(this)
2475                : THROWS.check(isPresent, 21, "Network.ResourceTiming");
2476        }
2477
2478        /** Creates an instance of this class from a {@link JsonObject}.*/
2479        public static ResourceTiming fromJSON(JsonObject jo)
2480        { return singleton.fromJSON(jo); }
2481
2482        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
2483        public static NestedDescriptor<ResourceTiming> descriptor()
2484        { return singleton.descriptor(); }
2485    }
2486
2487    /**
2488     * HTTP response data.
2489     * 
2490     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2491     */
2492    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2493    public static class Response
2494        extends BaseType<Response>
2495        implements java.io.Serializable
2496    {
2497        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2498        protected static final long serialVersionUID = 1;
2499
2500        private static final NestedHelper<Network.Response> singleton =
2501            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2502                Network$$Response$$.singleton;
2503
2504        /** Response URL. This URL can be different from CachedResource.url in case of redirect. */
2505        public final String url;
2506
2507        /** HTTP response status code. */
2508        public final int status;
2509
2510        /** HTTP response status text. */
2511        public final String statusText;
2512
2513        /** HTTP response headers. */
2514        public final JsonValue headers;
2515
2516        /**
2517         * HTTP response headers text. This has been replaced by the headers in Network.responseReceivedExtraInfo.
2518         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Dep-Top>DEPRECATED</B>
2519         */
2520        public final String headersText;
2521
2522        /** Resource mimeType as determined by the browser. */
2523        public final String mimeType;
2524
2525        /** Resource charset as determined by the browser (if applicable). */
2526        public final String charset;
2527
2528        /**
2529         * Refined HTTP request headers that were actually transmitted over the network.
2530         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2531         */
2532        public final JsonValue requestHeaders;
2533
2534        /**
2535         * HTTP request headers text. This has been replaced by the headers in Network.requestWillBeSentExtraInfo.
2536         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Dep-Top>DEPRECATED</B>
2537         */
2538        public final String requestHeadersText;
2539
2540        /** Specifies whether physical connection was actually reused for this request. */
2541        public final boolean connectionReused;
2542
2543        /** Physical connection id that was actually used for this request. */
2544        public final Number connectionId;
2545
2546        /**
2547         * Remote IP address.
2548         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2549         */
2550        public final String remoteIPAddress;
2551
2552        /**
2553         * Remote port.
2554         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2555         */
2556        public final Integer remotePort;
2557
2558        /**
2559         * Specifies that the request was served from the disk cache.
2560         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2561         */
2562        public final Boolean fromDiskCache;
2563
2564        /**
2565         * Specifies that the request was served from the ServiceWorker.
2566         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2567         */
2568        public final Boolean fromServiceWorker;
2569
2570        /**
2571         * Specifies that the request was served from the prefetch cache.
2572         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2573         */
2574        public final Boolean fromPrefetchCache;
2575
2576        /**
2577         * Specifies that the request was served from the prefetch cache.
2578         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2579         */
2580        public final Boolean fromEarlyHints;
2581
2582        /**
2583         * Information about how ServiceWorker Static Router API was used. If this
2584         * field is set with <CODE>matchedSourceType</CODE> field, a matching rule is found.
2585         * If this field is set without <CODE>matchedSource</CODE>, no matching rule is found.
2586         * Otherwise, the API is not used.
2587         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
2588         */
2589        public final Network.ServiceWorkerRouterInfo serviceWorkerRouterInfo;
2590
2591        /** Total number of bytes received for this request so far. */
2592        public final Number encodedDataLength;
2593
2594        /**
2595         * Timing information for the given request.
2596         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2597         */
2598        public final Network.ResourceTiming timing;
2599
2600        /**
2601         * Response source of response from ServiceWorker.
2602         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2603         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ServiceWorkerResponseSource DATA-F=serviceWorkerResponseSource DATA-FILE-ID=CDP.EL2>
2604         * @see BaseType#enumStrList(String)
2605         */
2606        public final String serviceWorkerResponseSource;
2607
2608        /**
2609         * The time at which the returned response was generated.
2610         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2611         */
2612        public final Number responseTime;
2613
2614        /**
2615         * Cache Storage Cache Name.
2616         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2617         */
2618        public final String cacheStorageCacheName;
2619
2620        /**
2621         * Protocol used to fetch this request.
2622         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2623         */
2624        public final String protocol;
2625
2626        /**
2627         * The reason why Chrome uses a specific transport protocol for HTTP semantics.
2628         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
2629         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=AlternateProtocolUsage DATA-F=alternateProtocolUsage DATA-FILE-ID=CDP.EL2>
2630         * @see BaseType#enumStrList(String)
2631         */
2632        public final String alternateProtocolUsage;
2633
2634        /**
2635         * Security state of the request resource.
2636         * <EMBED CLASS='external-html' DATA-D=Security DATA-C=SecurityState DATA-F=securityState DATA-FILE-ID=CDP.EL2>
2637         * @see BaseType#enumStrList(String)
2638         */
2639        public final String securityState;
2640
2641        /**
2642         * Security details for the request.
2643         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2644         */
2645        public final Network.SecurityDetails securityDetails;
2646
2647        /**
2648         * Indicates whether the request was sent through IP Protection proxies. If
2649         * set to true, the request used the IP Protection privacy feature.
2650         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
2651         */
2652        public final Boolean isIpProtectionUsed;
2653
2654        /** Constructor.  Please review this class' fields for documentation. */
2655        public Response(
2656                ReadOnlyList<Boolean> isPresent, String url, int status, String statusText,
2657                JsonValue headers, String headersText, String mimeType, String charset,
2658                JsonValue requestHeaders, String requestHeadersText, boolean connectionReused,
2659                Number connectionId, String remoteIPAddress, Integer remotePort,
2660                Boolean fromDiskCache, Boolean fromServiceWorker, Boolean fromPrefetchCache,
2661                Boolean fromEarlyHints, ServiceWorkerRouterInfo serviceWorkerRouterInfo,
2662                Number encodedDataLength, ResourceTiming timing,
2663                String serviceWorkerResponseSource, Number responseTime,
2664                String cacheStorageCacheName, String protocol, String alternateProtocolUsage,
2665                String securityState, SecurityDetails securityDetails, Boolean isIpProtectionUsed
2666            )
2667        {
2668            super(singleton, Domains.Network, "Response", 28);
2669
2670            this.url                            = url;
2671            this.status                         = status;
2672            this.statusText                     = statusText;
2673            this.headers                        = headers;
2674            this.headersText                    = headersText;
2675            this.mimeType                       = mimeType;
2676            this.charset                        = charset;
2677            this.requestHeaders                 = requestHeaders;
2678            this.requestHeadersText             = requestHeadersText;
2679            this.connectionReused               = connectionReused;
2680            this.connectionId                   = connectionId;
2681            this.remoteIPAddress                = remoteIPAddress;
2682            this.remotePort                     = remotePort;
2683            this.fromDiskCache                  = fromDiskCache;
2684            this.fromServiceWorker              = fromServiceWorker;
2685            this.fromPrefetchCache              = fromPrefetchCache;
2686            this.fromEarlyHints                 = fromEarlyHints;
2687            this.serviceWorkerRouterInfo        = serviceWorkerRouterInfo;
2688            this.encodedDataLength              = encodedDataLength;
2689            this.timing                         = timing;
2690            this.serviceWorkerResponseSource    = serviceWorkerResponseSource;
2691            this.responseTime                   = responseTime;
2692            this.cacheStorageCacheName          = cacheStorageCacheName;
2693            this.protocol                       = protocol;
2694            this.alternateProtocolUsage         = alternateProtocolUsage;
2695            this.securityState                  = securityState;
2696            this.securityDetails                = securityDetails;
2697            this.isIpProtectionUsed             = isIpProtectionUsed;
2698
2699            this.isPresent = (isPresent == null)
2700                ? singleton.generateIsPresentList(this)
2701                : THROWS.check(isPresent, 28, "Network.Response");
2702        }
2703
2704        /** Creates an instance of this class from a {@link JsonObject}.*/
2705        public static Response fromJSON(JsonObject jo)
2706        { return singleton.fromJSON(jo); }
2707
2708        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
2709        public static NestedDescriptor<Response> descriptor()
2710        { return singleton.descriptor(); }
2711    }
2712
2713    /**
2714     * Security details about a request.
2715     * 
2716     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2717     */
2718    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2719    public static class SecurityDetails
2720        extends BaseType<SecurityDetails>
2721        implements java.io.Serializable
2722    {
2723        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2724        protected static final long serialVersionUID = 1;
2725
2726        private static final NestedHelper<Network.SecurityDetails> singleton =
2727            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2728                Network$$SecurityDetails$$.singleton;
2729
2730        /** Protocol name (e.g. "TLS 1.2" or "QUIC"). */
2731        public final String protocol;
2732
2733        /** Key Exchange used by the connection, or the empty string if not applicable. */
2734        public final String keyExchange;
2735
2736        /**
2737         * (EC)DH group used by the connection, if applicable.
2738         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2739         */
2740        public final String keyExchangeGroup;
2741
2742        /** Cipher name. */
2743        public final String cipher;
2744
2745        /**
2746         * TLS MAC. Note that AEAD ciphers do not have separate MACs.
2747         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2748         */
2749        public final String mac;
2750
2751        /** Certificate ID value. */
2752        public final int certificateId;
2753
2754        /** Certificate subject name. */
2755        public final String subjectName;
2756
2757        /** Subject Alternative Name (SAN) DNS names and IP addresses. */
2758        public final String[] sanList;
2759
2760        /** Name of the issuing CA. */
2761        public final String issuer;
2762
2763        /** Certificate valid from date. */
2764        public final Number validFrom;
2765
2766        /** Certificate valid to (expiration) date */
2767        public final Number validTo;
2768
2769        /** List of signed certificate timestamps (SCTs). */
2770        public final Network.SignedCertificateTimestamp[] signedCertificateTimestampList;
2771
2772        /**
2773         * Whether the request complied with Certificate Transparency policy
2774         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=CertificateTransparencyCompliance DATA-F=certificateTransparencyCompliance DATA-FILE-ID=CDP.EL2>
2775         * @see BaseType#enumStrList(String)
2776         */
2777        public final String certificateTransparencyCompliance;
2778
2779        /**
2780         * The signature algorithm used by the server in the TLS server signature,
2781         * represented as a TLS SignatureScheme code point. Omitted if not
2782         * applicable or not known.
2783         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2784         */
2785        public final Integer serverSignatureAlgorithm;
2786
2787        /** Whether the connection used Encrypted ClientHello */
2788        public final boolean encryptedClientHello;
2789
2790        /** Constructor.  Please review this class' fields for documentation. */
2791        public SecurityDetails(
2792                ReadOnlyList<Boolean> isPresent, String protocol, String keyExchange,
2793                String keyExchangeGroup, String cipher, String mac, int certificateId,
2794                String subjectName, String[] sanList, String issuer, Number validFrom,
2795                Number validTo, SignedCertificateTimestamp[] signedCertificateTimestampList,
2796                String certificateTransparencyCompliance, Integer serverSignatureAlgorithm,
2797                boolean encryptedClientHello
2798            )
2799        {
2800            super(singleton, Domains.Network, "SecurityDetails", 15);
2801
2802            this.protocol                           = protocol;
2803            this.keyExchange                        = keyExchange;
2804            this.keyExchangeGroup                   = keyExchangeGroup;
2805            this.cipher                             = cipher;
2806            this.mac                                = mac;
2807            this.certificateId                      = certificateId;
2808            this.subjectName                        = subjectName;
2809            this.sanList                            = sanList;
2810            this.issuer                             = issuer;
2811            this.validFrom                          = validFrom;
2812            this.validTo                            = validTo;
2813            this.signedCertificateTimestampList     = signedCertificateTimestampList;
2814            this.certificateTransparencyCompliance  = certificateTransparencyCompliance;
2815            this.serverSignatureAlgorithm           = serverSignatureAlgorithm;
2816            this.encryptedClientHello               = encryptedClientHello;
2817
2818            this.isPresent = (isPresent == null)
2819                ? singleton.generateIsPresentList(this)
2820                : THROWS.check(isPresent, 15, "Network.SecurityDetails");
2821        }
2822
2823        /** Creates an instance of this class from a {@link JsonObject}.*/
2824        public static SecurityDetails fromJSON(JsonObject jo)
2825        { return singleton.fromJSON(jo); }
2826
2827        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
2828        public static NestedDescriptor<SecurityDetails> descriptor()
2829        { return singleton.descriptor(); }
2830    }
2831
2832    /**
2833     * <CODE>[No Description Provided by Google]</CODE>
2834     * 
2835     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2836     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2837     */
2838    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2839    public static class SecurityIsolationStatus
2840        extends BaseType<SecurityIsolationStatus>
2841        implements java.io.Serializable
2842    {
2843        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2844        protected static final long serialVersionUID = 1;
2845
2846        private static final NestedHelper<Network.SecurityIsolationStatus> singleton =
2847            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2848                Network$$SecurityIsolationStatus$$.singleton;
2849
2850        /**
2851         * <CODE>[No Description Provided by Google]</CODE>
2852         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2853         */
2854        public final Network.CrossOriginOpenerPolicyStatus coop;
2855
2856        /**
2857         * <CODE>[No Description Provided by Google]</CODE>
2858         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2859         */
2860        public final Network.CrossOriginEmbedderPolicyStatus coep;
2861
2862        /**
2863         * <CODE>[No Description Provided by Google]</CODE>
2864         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2865         */
2866        public final Network.ContentSecurityPolicyStatus[] csp;
2867
2868        /** Constructor.  Please review this class' fields for documentation. */
2869        public SecurityIsolationStatus(
2870                ReadOnlyList<Boolean> isPresent, CrossOriginOpenerPolicyStatus coop,
2871                CrossOriginEmbedderPolicyStatus coep, ContentSecurityPolicyStatus[] csp
2872            )
2873        {
2874            super(singleton, Domains.Network, "SecurityIsolationStatus", 3);
2875
2876            this.coop   = coop;
2877            this.coep   = coep;
2878            this.csp    = csp;
2879
2880            this.isPresent = (isPresent == null)
2881                ? singleton.generateIsPresentList(this)
2882                : THROWS.check(isPresent, 3, "Network.SecurityIsolationStatus");
2883        }
2884
2885        /** Creates an instance of this class from a {@link JsonObject}.*/
2886        public static SecurityIsolationStatus fromJSON(JsonObject jo)
2887        { return singleton.fromJSON(jo); }
2888
2889        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
2890        public static NestedDescriptor<SecurityIsolationStatus> descriptor()
2891        { return singleton.descriptor(); }
2892    }
2893
2894    /**
2895     * <CODE>[No Description Provided by Google]</CODE>
2896     * 
2897     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
2898     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2899     */
2900    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2901    public static class ServiceWorkerRouterInfo
2902        extends BaseType<ServiceWorkerRouterInfo>
2903        implements java.io.Serializable
2904    {
2905        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2906        protected static final long serialVersionUID = 1;
2907
2908        private static final NestedHelper<Network.ServiceWorkerRouterInfo> singleton =
2909            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2910                Network$$ServiceWorkerRouterInfo$$.singleton;
2911
2912        /**
2913         * ID of the rule matched. If there is a matched rule, this field will
2914         * be set, otherwiser no value will be set.
2915         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2916         */
2917        public final Integer ruleIdMatched;
2918
2919        /**
2920         * The router source of the matched rule. If there is a matched rule, this
2921         * field will be set, otherwise no value will be set.
2922         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2923         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ServiceWorkerRouterSource DATA-F=matchedSourceType DATA-FILE-ID=CDP.EL2>
2924         * @see BaseType#enumStrList(String)
2925         */
2926        public final String matchedSourceType;
2927
2928        /**
2929         * The actual router source used.
2930         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
2931         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ServiceWorkerRouterSource DATA-F=actualSourceType DATA-FILE-ID=CDP.EL2>
2932         * @see BaseType#enumStrList(String)
2933         */
2934        public final String actualSourceType;
2935
2936        /** Constructor.  Please review this class' fields for documentation. */
2937        public ServiceWorkerRouterInfo(
2938                ReadOnlyList<Boolean> isPresent, Integer ruleIdMatched, String matchedSourceType,
2939                String actualSourceType
2940            )
2941        {
2942            super(singleton, Domains.Network, "ServiceWorkerRouterInfo", 3);
2943
2944            this.ruleIdMatched      = ruleIdMatched;
2945            this.matchedSourceType  = matchedSourceType;
2946            this.actualSourceType   = actualSourceType;
2947
2948            this.isPresent = (isPresent == null)
2949                ? singleton.generateIsPresentList(this)
2950                : THROWS.check(isPresent, 3, "Network.ServiceWorkerRouterInfo");
2951        }
2952
2953        /** Creates an instance of this class from a {@link JsonObject}.*/
2954        public static ServiceWorkerRouterInfo fromJSON(JsonObject jo)
2955        { return singleton.fromJSON(jo); }
2956
2957        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
2958        public static NestedDescriptor<ServiceWorkerRouterInfo> descriptor()
2959        { return singleton.descriptor(); }
2960    }
2961
2962    /**
2963     * Details of a signed certificate timestamp (SCT).
2964     * 
2965     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
2966     */
2967    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
2968    public static class SignedCertificateTimestamp
2969        extends BaseType<SignedCertificateTimestamp>
2970        implements java.io.Serializable
2971    {
2972        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
2973        protected static final long serialVersionUID = 1;
2974
2975        private static final NestedHelper<Network.SignedCertificateTimestamp> singleton =
2976            Torello.Browser.BrowserAPI.NestedHelpers.Types.
2977                Network$$SignedCertificateTimestamp$$.singleton;
2978
2979        /** Validation status. */
2980        public final String status;
2981
2982        /** Origin. */
2983        public final String origin;
2984
2985        /** Log name / description. */
2986        public final String logDescription;
2987
2988        /** Log ID. */
2989        public final String logId;
2990
2991        /**
2992         * Issuance date. Unlike TimeSinceEpoch, this contains the number of
2993         * milliseconds since January 1, 1970, UTC, not the number of seconds.
2994         */
2995        public final Number timestamp;
2996
2997        /** Hash algorithm. */
2998        public final String hashAlgorithm;
2999
3000        /** Signature algorithm. */
3001        public final String signatureAlgorithm;
3002
3003        /** Signature data. */
3004        public final String signatureData;
3005
3006        /** Constructor.  Please review this class' fields for documentation. */
3007        public SignedCertificateTimestamp(
3008                ReadOnlyList<Boolean> isPresent, String status, String origin,
3009                String logDescription, String logId, Number timestamp, String hashAlgorithm,
3010                String signatureAlgorithm, String signatureData
3011            )
3012        {
3013            super(singleton, Domains.Network, "SignedCertificateTimestamp", 8);
3014
3015            this.status             = status;
3016            this.origin             = origin;
3017            this.logDescription     = logDescription;
3018            this.logId              = logId;
3019            this.timestamp          = timestamp;
3020            this.hashAlgorithm      = hashAlgorithm;
3021            this.signatureAlgorithm = signatureAlgorithm;
3022            this.signatureData      = signatureData;
3023
3024            this.isPresent = (isPresent == null)
3025                ? singleton.generateIsPresentList(this)
3026                : THROWS.check(isPresent, 8, "Network.SignedCertificateTimestamp");
3027        }
3028
3029        /** Creates an instance of this class from a {@link JsonObject}.*/
3030        public static SignedCertificateTimestamp fromJSON(JsonObject jo)
3031        { return singleton.fromJSON(jo); }
3032
3033        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3034        public static NestedDescriptor<SignedCertificateTimestamp> descriptor()
3035        { return singleton.descriptor(); }
3036    }
3037
3038    /**
3039     * Information about a signed exchange response.
3040     * 
3041     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3042     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3043     */
3044    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
3045    public static class SignedExchangeError
3046        extends BaseType<SignedExchangeError>
3047        implements java.io.Serializable
3048    {
3049        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3050        protected static final long serialVersionUID = 1;
3051
3052        private static final NestedHelper<Network.SignedExchangeError> singleton =
3053            Torello.Browser.BrowserAPI.NestedHelpers.Types.
3054                Network$$SignedExchangeError$$.singleton;
3055
3056        /** Error message. */
3057        public final String message;
3058
3059        /**
3060         * The index of the signature which caused the error.
3061         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3062         */
3063        public final Integer signatureIndex;
3064
3065        /**
3066         * The field which caused the error.
3067         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3068         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=SignedExchangeErrorField DATA-F=errorField DATA-FILE-ID=CDP.EL2>
3069         * @see BaseType#enumStrList(String)
3070         */
3071        public final String errorField;
3072
3073        /** Constructor.  Please review this class' fields for documentation. */
3074        public SignedExchangeError(
3075                ReadOnlyList<Boolean> isPresent, String message, Integer signatureIndex,
3076                String errorField
3077            )
3078        {
3079            super(singleton, Domains.Network, "SignedExchangeError", 3);
3080
3081            this.message        = message;
3082            this.signatureIndex = signatureIndex;
3083            this.errorField     = errorField;
3084
3085            this.isPresent = (isPresent == null)
3086                ? singleton.generateIsPresentList(this)
3087                : THROWS.check(isPresent, 3, "Network.SignedExchangeError");
3088        }
3089
3090        /** Creates an instance of this class from a {@link JsonObject}.*/
3091        public static SignedExchangeError fromJSON(JsonObject jo)
3092        { return singleton.fromJSON(jo); }
3093
3094        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3095        public static NestedDescriptor<SignedExchangeError> descriptor()
3096        { return singleton.descriptor(); }
3097    }
3098
3099    /**
3100     * Information about a signed exchange header.
3101     * https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation
3102     * 
3103     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3104     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3105     */
3106    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
3107    public static class SignedExchangeHeader
3108        extends BaseType<SignedExchangeHeader>
3109        implements java.io.Serializable
3110    {
3111        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3112        protected static final long serialVersionUID = 1;
3113
3114        private static final NestedHelper<Network.SignedExchangeHeader> singleton =
3115            Torello.Browser.BrowserAPI.NestedHelpers.Types.
3116                Network$$SignedExchangeHeader$$.singleton;
3117
3118        /** Signed exchange request URL. */
3119        public final String requestUrl;
3120
3121        /** Signed exchange response code. */
3122        public final int responseCode;
3123
3124        /** Signed exchange response headers. */
3125        public final JsonValue responseHeaders;
3126
3127        /** Signed exchange response signature. */
3128        public final Network.SignedExchangeSignature[] signatures;
3129
3130        /** Signed exchange header integrity hash in the form of <CODE>sha256-&lt;base64-hash-value&gt;</CODE>. */
3131        public final String headerIntegrity;
3132
3133        /** Constructor.  Please review this class' fields for documentation. */
3134        public SignedExchangeHeader(
3135                ReadOnlyList<Boolean> isPresent, String requestUrl, int responseCode,
3136                JsonValue responseHeaders, SignedExchangeSignature[] signatures,
3137                String headerIntegrity
3138            )
3139        {
3140            super(singleton, Domains.Network, "SignedExchangeHeader", 5);
3141
3142            this.requestUrl         = requestUrl;
3143            this.responseCode       = responseCode;
3144            this.responseHeaders    = responseHeaders;
3145            this.signatures         = signatures;
3146            this.headerIntegrity    = headerIntegrity;
3147
3148            this.isPresent = (isPresent == null)
3149                ? singleton.generateIsPresentList(this)
3150                : THROWS.check(isPresent, 5, "Network.SignedExchangeHeader");
3151        }
3152
3153        /** Creates an instance of this class from a {@link JsonObject}.*/
3154        public static SignedExchangeHeader fromJSON(JsonObject jo)
3155        { return singleton.fromJSON(jo); }
3156
3157        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3158        public static NestedDescriptor<SignedExchangeHeader> descriptor()
3159        { return singleton.descriptor(); }
3160    }
3161
3162    /**
3163     * Information about a signed exchange response.
3164     * 
3165     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3166     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3167     */
3168    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
3169    public static class SignedExchangeInfo
3170        extends BaseType<SignedExchangeInfo>
3171        implements java.io.Serializable
3172    {
3173        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3174        protected static final long serialVersionUID = 1;
3175
3176        private static final NestedHelper<Network.SignedExchangeInfo> singleton =
3177            Torello.Browser.BrowserAPI.NestedHelpers.Types.
3178                Network$$SignedExchangeInfo$$.singleton;
3179
3180        /** The outer response of signed HTTP exchange which was received from network. */
3181        public final Network.Response outerResponse;
3182
3183        /**
3184         * Whether network response for the signed exchange was accompanied by
3185         * extra headers.
3186         */
3187        public final boolean hasExtraInfo;
3188
3189        /**
3190         * Information about the signed exchange header.
3191         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3192         */
3193        public final Network.SignedExchangeHeader header;
3194
3195        /**
3196         * Security details for the signed exchange header.
3197         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3198         */
3199        public final Network.SecurityDetails securityDetails;
3200
3201        /**
3202         * Errors occurred while handling the signed exchange.
3203         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3204         */
3205        public final Network.SignedExchangeError[] errors;
3206
3207        /** Constructor.  Please review this class' fields for documentation. */
3208        public SignedExchangeInfo(
3209                ReadOnlyList<Boolean> isPresent, Response outerResponse, boolean hasExtraInfo,
3210                SignedExchangeHeader header, SecurityDetails securityDetails,
3211                SignedExchangeError[] errors
3212            )
3213        {
3214            super(singleton, Domains.Network, "SignedExchangeInfo", 5);
3215
3216            this.outerResponse      = outerResponse;
3217            this.hasExtraInfo       = hasExtraInfo;
3218            this.header             = header;
3219            this.securityDetails    = securityDetails;
3220            this.errors             = errors;
3221
3222            this.isPresent = (isPresent == null)
3223                ? singleton.generateIsPresentList(this)
3224                : THROWS.check(isPresent, 5, "Network.SignedExchangeInfo");
3225        }
3226
3227        /** Creates an instance of this class from a {@link JsonObject}.*/
3228        public static SignedExchangeInfo fromJSON(JsonObject jo)
3229        { return singleton.fromJSON(jo); }
3230
3231        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3232        public static NestedDescriptor<SignedExchangeInfo> descriptor()
3233        { return singleton.descriptor(); }
3234    }
3235
3236    /**
3237     * Information about a signed exchange signature.
3238     * https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1
3239     * 
3240     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3241     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3242     */
3243    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
3244    public static class SignedExchangeSignature
3245        extends BaseType<SignedExchangeSignature>
3246        implements java.io.Serializable
3247    {
3248        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3249        protected static final long serialVersionUID = 1;
3250
3251        private static final NestedHelper<Network.SignedExchangeSignature> singleton =
3252            Torello.Browser.BrowserAPI.NestedHelpers.Types.
3253                Network$$SignedExchangeSignature$$.singleton;
3254
3255        /** Signed exchange signature label. */
3256        public final String label;
3257
3258        /** The hex string of signed exchange signature. */
3259        public final String signature;
3260
3261        /** Signed exchange signature integrity. */
3262        public final String integrity;
3263
3264        /**
3265         * Signed exchange signature cert Url.
3266         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3267         */
3268        public final String certUrl;
3269
3270        /**
3271         * The hex string of signed exchange signature cert sha256.
3272         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3273         */
3274        public final String certSha256;
3275
3276        /** Signed exchange signature validity Url. */
3277        public final String validityUrl;
3278
3279        /** Signed exchange signature date. */
3280        public final int date;
3281
3282        /** Signed exchange signature expires. */
3283        public final int expires;
3284
3285        /**
3286         * The encoded certificates.
3287         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3288         */
3289        public final String[] certificates;
3290
3291        /** Constructor.  Please review this class' fields for documentation. */
3292        public SignedExchangeSignature(
3293                ReadOnlyList<Boolean> isPresent, String label, String signature, String integrity,
3294                String certUrl, String certSha256, String validityUrl, int date, int expires,
3295                String[] certificates
3296            )
3297        {
3298            super(singleton, Domains.Network, "SignedExchangeSignature", 9);
3299
3300            this.label          = label;
3301            this.signature      = signature;
3302            this.integrity      = integrity;
3303            this.certUrl        = certUrl;
3304            this.certSha256     = certSha256;
3305            this.validityUrl    = validityUrl;
3306            this.date           = date;
3307            this.expires        = expires;
3308            this.certificates   = certificates;
3309
3310            this.isPresent = (isPresent == null)
3311                ? singleton.generateIsPresentList(this)
3312                : THROWS.check(isPresent, 9, "Network.SignedExchangeSignature");
3313        }
3314
3315        /** Creates an instance of this class from a {@link JsonObject}.*/
3316        public static SignedExchangeSignature fromJSON(JsonObject jo)
3317        { return singleton.fromJSON(jo); }
3318
3319        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3320        public static NestedDescriptor<SignedExchangeSignature> descriptor()
3321        { return singleton.descriptor(); }
3322    }
3323
3324    /**
3325     * Determines what type of Trust Token operation is executed and
3326     * depending on the type, some additional parameters. The values
3327     * are specified in third_party/blink/renderer/core/fetch/trust_token.idl.
3328     * 
3329     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3330     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3331     */
3332    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
3333    public static class TrustTokenParams
3334        extends BaseType<TrustTokenParams>
3335        implements java.io.Serializable
3336    {
3337        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3338        protected static final long serialVersionUID = 1;
3339
3340        private static final NestedHelper<Network.TrustTokenParams> singleton =
3341            Torello.Browser.BrowserAPI.NestedHelpers.Types.
3342                Network$$TrustTokenParams$$.singleton;
3343
3344        /**
3345         * <CODE>[No Description Provided by Google]</CODE>
3346         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=TrustTokenOperationType DATA-F=operation DATA-FILE-ID=CDP.EL2>
3347         * @see BaseType#enumStrList(String)
3348         */
3349        public final String operation;
3350
3351        /**
3352         * Only set for "token-redemption" operation and determine whether
3353         * to request a fresh SRR or use a still valid cached SRR.
3354         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=TrustTokenParams DATA-F=refreshPolicy DATA-FILE-ID=CDP.EL1>
3355         * @see BaseType#enumStrList(String)
3356         */
3357        public final String refreshPolicy;
3358
3359        /**
3360         * Origins of issuers from whom to request tokens or redemption
3361         * records.
3362         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3363         */
3364        public final String[] issuers;
3365
3366        /** Constructor.  Please review this class' fields for documentation. */
3367        public TrustTokenParams(
3368                ReadOnlyList<Boolean> isPresent, String operation, String refreshPolicy,
3369                String[] issuers
3370            )
3371        {
3372            super(singleton, Domains.Network, "TrustTokenParams", 3);
3373
3374            this.operation      = operation;
3375            this.refreshPolicy  = refreshPolicy;
3376            this.issuers        = issuers;
3377
3378            this.isPresent = (isPresent == null)
3379                ? singleton.generateIsPresentList(this)
3380                : THROWS.check(isPresent, 3, "Network.TrustTokenParams");
3381        }
3382
3383        /** Creates an instance of this class from a {@link JsonObject}.*/
3384        public static TrustTokenParams fromJSON(JsonObject jo)
3385        { return singleton.fromJSON(jo); }
3386
3387        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3388        public static NestedDescriptor<TrustTokenParams> descriptor()
3389        { return singleton.descriptor(); }
3390    }
3391
3392    /**
3393     * WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.
3394     * 
3395     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3396     */
3397    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
3398    public static class WebSocketFrame
3399        extends BaseType<WebSocketFrame>
3400        implements java.io.Serializable
3401    {
3402        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3403        protected static final long serialVersionUID = 1;
3404
3405        private static final NestedHelper<Network.WebSocketFrame> singleton =
3406            Torello.Browser.BrowserAPI.NestedHelpers.Types.
3407                Network$$WebSocketFrame$$.singleton;
3408
3409        /** WebSocket message opcode. */
3410        public final Number opcode;
3411
3412        /** WebSocket message mask. */
3413        public final boolean mask;
3414
3415        /**
3416         * WebSocket message payload data.
3417         * If the opcode is 1, this is a text message and payloadData is a UTF-8 string.
3418         * If the opcode isn't 1, then payloadData is a base64 encoded string representing binary data.
3419         */
3420        public final String payloadData;
3421
3422        /** Constructor.  Please review this class' fields for documentation. */
3423        public WebSocketFrame
3424            (ReadOnlyList<Boolean> isPresent, Number opcode, boolean mask, String payloadData)
3425        {
3426            super(singleton, Domains.Network, "WebSocketFrame", 3);
3427
3428            this.opcode         = opcode;
3429            this.mask           = mask;
3430            this.payloadData    = payloadData;
3431
3432            this.isPresent = (isPresent == null)
3433                ? singleton.generateIsPresentList(this)
3434                : THROWS.check(isPresent, 3, "Network.WebSocketFrame");
3435        }
3436
3437        /** Creates an instance of this class from a {@link JsonObject}.*/
3438        public static WebSocketFrame fromJSON(JsonObject jo)
3439        { return singleton.fromJSON(jo); }
3440
3441        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3442        public static NestedDescriptor<WebSocketFrame> descriptor()
3443        { return singleton.descriptor(); }
3444    }
3445
3446    /**
3447     * WebSocket request data.
3448     * 
3449     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3450     */
3451    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
3452    public static class WebSocketRequest
3453        extends BaseType<WebSocketRequest>
3454        implements java.io.Serializable
3455    {
3456        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3457        protected static final long serialVersionUID = 1;
3458
3459        private static final NestedHelper<Network.WebSocketRequest> singleton =
3460            Torello.Browser.BrowserAPI.NestedHelpers.Types.
3461                Network$$WebSocketRequest$$.singleton;
3462
3463        /** HTTP request headers. */
3464        public final JsonValue headers;
3465
3466        /** Constructor.  Please review this class' fields for documentation. */
3467        public WebSocketRequest(ReadOnlyList<Boolean> isPresent, JsonValue headers)
3468        {
3469            super(singleton, Domains.Network, "WebSocketRequest", 1);
3470
3471            this.headers = headers;
3472
3473            this.isPresent = (isPresent == null)
3474                ? singleton.generateIsPresentList(this)
3475                : THROWS.check(isPresent, 1, "Network.WebSocketRequest");
3476        }
3477
3478        /** Creates an instance of this class from a {@link JsonObject}.*/
3479        public static WebSocketRequest fromJSON(JsonObject jo)
3480        { return singleton.fromJSON(jo); }
3481
3482        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3483        public static NestedDescriptor<WebSocketRequest> descriptor()
3484        { return singleton.descriptor(); }
3485    }
3486
3487    /**
3488     * WebSocket response data.
3489     * 
3490     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3491     */
3492    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
3493    public static class WebSocketResponse
3494        extends BaseType<WebSocketResponse>
3495        implements java.io.Serializable
3496    {
3497        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3498        protected static final long serialVersionUID = 1;
3499
3500        private static final NestedHelper<Network.WebSocketResponse> singleton =
3501            Torello.Browser.BrowserAPI.NestedHelpers.Types.
3502                Network$$WebSocketResponse$$.singleton;
3503
3504        /** HTTP response status code. */
3505        public final int status;
3506
3507        /** HTTP response status text. */
3508        public final String statusText;
3509
3510        /** HTTP response headers. */
3511        public final JsonValue headers;
3512
3513        /**
3514         * HTTP response headers text.
3515         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3516         */
3517        public final String headersText;
3518
3519        /**
3520         * HTTP request headers.
3521         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3522         */
3523        public final JsonValue requestHeaders;
3524
3525        /**
3526         * HTTP request headers text.
3527         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3528         */
3529        public final String requestHeadersText;
3530
3531        /** Constructor.  Please review this class' fields for documentation. */
3532        public WebSocketResponse(
3533                ReadOnlyList<Boolean> isPresent, int status, String statusText, JsonValue headers,
3534                String headersText, JsonValue requestHeaders, String requestHeadersText
3535            )
3536        {
3537            super(singleton, Domains.Network, "WebSocketResponse", 6);
3538
3539            this.status             = status;
3540            this.statusText         = statusText;
3541            this.headers            = headers;
3542            this.headersText        = headersText;
3543            this.requestHeaders     = requestHeaders;
3544            this.requestHeadersText = requestHeadersText;
3545
3546            this.isPresent = (isPresent == null)
3547                ? singleton.generateIsPresentList(this)
3548                : THROWS.check(isPresent, 6, "Network.WebSocketResponse");
3549        }
3550
3551        /** Creates an instance of this class from a {@link JsonObject}.*/
3552        public static WebSocketResponse fromJSON(JsonObject jo)
3553        { return singleton.fromJSON(jo); }
3554
3555        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3556        public static NestedDescriptor<WebSocketResponse> descriptor()
3557        { return singleton.descriptor(); }
3558    }
3559
3560
3561    // ********************************************************************************************
3562    // ********************************************************************************************
3563    // Command-Return Types
3564    // ********************************************************************************************
3565    // ********************************************************************************************
3566
3567
3568    /**
3569     * Returns content served for the given request.
3570     * 
3571     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI DATA-CMD=getResponseBody>
3572     * @see Network#getResponseBody
3573     */
3574    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_CMD_JDHBI")
3575    public static class getResponseBody$$RET
3576        extends BaseType<getResponseBody$$RET>
3577        implements java.io.Serializable
3578    {
3579        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3580        protected static final long serialVersionUID = 1;
3581
3582        private static final NestedHelper<Network.getResponseBody$$RET> singleton =
3583            Torello.Browser.BrowserAPI.NestedHelpers.CmdReturns.
3584                Network$$getResponseBody$$RET.singleton;
3585
3586        /** Response body. */
3587        public final String body;
3588
3589        /** True, if content was sent as base64. */
3590        public final boolean base64Encoded;
3591
3592        /** Constructor.  Please review this class' fields for documentation. */
3593        public getResponseBody$$RET
3594            (ReadOnlyList<Boolean> isPresent, String body, boolean base64Encoded)
3595        {
3596            super(singleton, Domains.Network, "getResponseBody", 2);
3597
3598            this.body           = body;
3599            this.base64Encoded  = base64Encoded;
3600
3601            this.isPresent = (isPresent == null)
3602                ? singleton.generateIsPresentList(this)
3603                : THROWS.check(isPresent, 2, "Network.getResponseBody$$RET");
3604        }
3605
3606        /** Creates an instance of this class from a {@link JsonObject}.*/
3607        public static getResponseBody$$RET fromJSON(JsonObject jo)
3608        { return singleton.fromJSON(jo); }
3609
3610        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3611        public static NestedDescriptor<getResponseBody$$RET> descriptor()
3612        { return singleton.descriptor(); }
3613    }
3614
3615    /**
3616     * Returns content served for the given currently intercepted request.
3617     * 
3618     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3619     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI DATA-CMD=getResponseBodyForInterception>
3620     * @see Network#getResponseBodyForInterception
3621     */
3622    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_CMD_JDHBI")
3623    public static class getResponseBodyForInterception$$RET
3624        extends BaseType<getResponseBodyForInterception$$RET>
3625        implements java.io.Serializable
3626    {
3627        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3628        protected static final long serialVersionUID = 1;
3629
3630        private static final NestedHelper<Network.getResponseBodyForInterception$$RET> singleton =
3631            Torello.Browser.BrowserAPI.NestedHelpers.CmdReturns.
3632                Network$$getResponseBodyForInterception$$RET.singleton;
3633
3634        /** Response body. */
3635        public final String body;
3636
3637        /** True, if content was sent as base64. */
3638        public final boolean base64Encoded;
3639
3640        /** Constructor.  Please review this class' fields for documentation. */
3641        public getResponseBodyForInterception$$RET
3642            (ReadOnlyList<Boolean> isPresent, String body, boolean base64Encoded)
3643        {
3644            super(singleton, Domains.Network, "getResponseBodyForInterception", 2);
3645
3646            this.body           = body;
3647            this.base64Encoded  = base64Encoded;
3648
3649            this.isPresent = (isPresent == null)
3650                ? singleton.generateIsPresentList(this)
3651                : THROWS.check(isPresent, 2, "Network.getResponseBodyForInterception$$RET");
3652        }
3653
3654        /** Creates an instance of this class from a {@link JsonObject}.*/
3655        public static getResponseBodyForInterception$$RET fromJSON(JsonObject jo)
3656        { return singleton.fromJSON(jo); }
3657
3658        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3659        public static NestedDescriptor<getResponseBodyForInterception$$RET> descriptor()
3660        { return singleton.descriptor(); }
3661    }
3662
3663
3664    // ********************************************************************************************
3665    // ********************************************************************************************
3666    // Event Types
3667    // ********************************************************************************************
3668    // ********************************************************************************************
3669
3670
3671    /**
3672     * Fired when data chunk was received over the network.
3673     * 
3674     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3675     */
3676    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
3677    public static class dataReceived
3678        extends BrowserEvent<dataReceived>
3679        implements java.io.Serializable
3680    {
3681        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3682        protected static final long serialVersionUID = 1;
3683
3684        private static final NestedHelper<Network.dataReceived> singleton =
3685            Torello.Browser.BrowserAPI.NestedHelpers.Events.
3686                Network$$dataReceived$$.singleton;
3687
3688        /** Request identifier. */
3689        public final String requestId;
3690
3691        /** Timestamp. */
3692        public final Number timestamp;
3693
3694        /** Data chunk length. */
3695        public final int dataLength;
3696
3697        /** Actual bytes received (might be less than dataLength for compressed encodings). */
3698        public final int encodedDataLength;
3699
3700        /**
3701         * Data that was received. (Encoded as a base64 string when passed over JSON)
3702         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
3703         */
3704        public final String data;
3705
3706        /** Constructor.  Please review this class' fields for documentation. */
3707        public dataReceived(
3708                ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp,
3709                int dataLength, int encodedDataLength, String data
3710            )
3711        {
3712            super(singleton, Domains.Network, "dataReceived", 5);
3713
3714            this.requestId          = requestId;
3715            this.timestamp          = timestamp;
3716            this.dataLength         = dataLength;
3717            this.encodedDataLength  = encodedDataLength;
3718            this.data               = data;
3719
3720            this.isPresent = (isPresent == null)
3721                ? singleton.generateIsPresentList(this)
3722                : THROWS.check(isPresent, 5, "Network.dataReceived");
3723        }
3724
3725        /** Creates an instance of this class from a {@link JsonObject}.*/
3726        public static dataReceived fromJSON(JsonObject jo)
3727        { return singleton.fromJSON(jo); }
3728
3729        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3730        public static NestedDescriptor<dataReceived> descriptor()
3731        { return singleton.descriptor(); }
3732    }
3733
3734    /**
3735     * Fired when direct_socket.TCPSocket is aborted.
3736     * 
3737     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3738     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3739     */
3740    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
3741    public static class directTCPSocketAborted
3742        extends BrowserEvent<directTCPSocketAborted>
3743        implements java.io.Serializable
3744    {
3745        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3746        protected static final long serialVersionUID = 1;
3747
3748        private static final NestedHelper<Network.directTCPSocketAborted> singleton =
3749            Torello.Browser.BrowserAPI.NestedHelpers.Events.
3750                Network$$directTCPSocketAborted$$.singleton;
3751
3752        /** <CODE>[No Description Provided by Google]</CODE> */
3753        public final String identifier;
3754
3755        /** <CODE>[No Description Provided by Google]</CODE> */
3756        public final String errorMessage;
3757
3758        /** <CODE>[No Description Provided by Google]</CODE> */
3759        public final Number timestamp;
3760
3761        /** Constructor.  Please review this class' fields for documentation. */
3762        public directTCPSocketAborted(
3763                ReadOnlyList<Boolean> isPresent, String identifier, String errorMessage,
3764                Number timestamp
3765            )
3766        {
3767            super(singleton, Domains.Network, "directTCPSocketAborted", 3);
3768
3769            this.identifier     = identifier;
3770            this.errorMessage   = errorMessage;
3771            this.timestamp      = timestamp;
3772
3773            this.isPresent = (isPresent == null)
3774                ? singleton.generateIsPresentList(this)
3775                : THROWS.check(isPresent, 3, "Network.directTCPSocketAborted");
3776        }
3777
3778        /** Creates an instance of this class from a {@link JsonObject}.*/
3779        public static directTCPSocketAborted fromJSON(JsonObject jo)
3780        { return singleton.fromJSON(jo); }
3781
3782        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3783        public static NestedDescriptor<directTCPSocketAborted> descriptor()
3784        { return singleton.descriptor(); }
3785    }
3786
3787    /**
3788     * Fired when data is received from tcp direct socket stream.
3789     * 
3790     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3791     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3792     */
3793    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
3794    public static class directTCPSocketChunkReceived
3795        extends BrowserEvent<directTCPSocketChunkReceived>
3796        implements java.io.Serializable
3797    {
3798        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3799        protected static final long serialVersionUID = 1;
3800
3801        private static final NestedHelper<Network.directTCPSocketChunkReceived> singleton =
3802            Torello.Browser.BrowserAPI.NestedHelpers.Events.
3803                Network$$directTCPSocketChunkReceived$$.singleton;
3804
3805        /** <CODE>[No Description Provided by Google]</CODE> */
3806        public final String identifier;
3807
3808        /** <CODE>[No Description Provided by Google]</CODE> */
3809        public final String data;
3810
3811        /** <CODE>[No Description Provided by Google]</CODE> */
3812        public final Number timestamp;
3813
3814        /** Constructor.  Please review this class' fields for documentation. */
3815        public directTCPSocketChunkReceived
3816            (ReadOnlyList<Boolean> isPresent, String identifier, String data, Number timestamp)
3817        {
3818            super(singleton, Domains.Network, "directTCPSocketChunkReceived", 3);
3819
3820            this.identifier = identifier;
3821            this.data       = data;
3822            this.timestamp  = timestamp;
3823
3824            this.isPresent = (isPresent == null)
3825                ? singleton.generateIsPresentList(this)
3826                : THROWS.check(isPresent, 3, "Network.directTCPSocketChunkReceived");
3827        }
3828
3829        /** Creates an instance of this class from a {@link JsonObject}.*/
3830        public static directTCPSocketChunkReceived fromJSON(JsonObject jo)
3831        { return singleton.fromJSON(jo); }
3832
3833        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3834        public static NestedDescriptor<directTCPSocketChunkReceived> descriptor()
3835        { return singleton.descriptor(); }
3836    }
3837
3838    /**
3839     * Fired when data is sent to tcp direct socket stream.
3840     * 
3841     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3842     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3843     */
3844    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
3845    public static class directTCPSocketChunkSent
3846        extends BrowserEvent<directTCPSocketChunkSent>
3847        implements java.io.Serializable
3848    {
3849        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3850        protected static final long serialVersionUID = 1;
3851
3852        private static final NestedHelper<Network.directTCPSocketChunkSent> singleton =
3853            Torello.Browser.BrowserAPI.NestedHelpers.Events.
3854                Network$$directTCPSocketChunkSent$$.singleton;
3855
3856        /** <CODE>[No Description Provided by Google]</CODE> */
3857        public final String identifier;
3858
3859        /** <CODE>[No Description Provided by Google]</CODE> */
3860        public final String data;
3861
3862        /** <CODE>[No Description Provided by Google]</CODE> */
3863        public final Number timestamp;
3864
3865        /** Constructor.  Please review this class' fields for documentation. */
3866        public directTCPSocketChunkSent
3867            (ReadOnlyList<Boolean> isPresent, String identifier, String data, Number timestamp)
3868        {
3869            super(singleton, Domains.Network, "directTCPSocketChunkSent", 3);
3870
3871            this.identifier = identifier;
3872            this.data       = data;
3873            this.timestamp  = timestamp;
3874
3875            this.isPresent = (isPresent == null)
3876                ? singleton.generateIsPresentList(this)
3877                : THROWS.check(isPresent, 3, "Network.directTCPSocketChunkSent");
3878        }
3879
3880        /** Creates an instance of this class from a {@link JsonObject}.*/
3881        public static directTCPSocketChunkSent fromJSON(JsonObject jo)
3882        { return singleton.fromJSON(jo); }
3883
3884        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3885        public static NestedDescriptor<directTCPSocketChunkSent> descriptor()
3886        { return singleton.descriptor(); }
3887    }
3888
3889    /**
3890     * Fired when direct_socket.TCPSocket is closed.
3891     * 
3892     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3893     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3894     */
3895    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
3896    public static class directTCPSocketClosed
3897        extends BrowserEvent<directTCPSocketClosed>
3898        implements java.io.Serializable
3899    {
3900        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3901        protected static final long serialVersionUID = 1;
3902
3903        private static final NestedHelper<Network.directTCPSocketClosed> singleton =
3904            Torello.Browser.BrowserAPI.NestedHelpers.Events.
3905                Network$$directTCPSocketClosed$$.singleton;
3906
3907        /** <CODE>[No Description Provided by Google]</CODE> */
3908        public final String identifier;
3909
3910        /** <CODE>[No Description Provided by Google]</CODE> */
3911        public final Number timestamp;
3912
3913        /** Constructor.  Please review this class' fields for documentation. */
3914        public directTCPSocketClosed
3915            (ReadOnlyList<Boolean> isPresent, String identifier, Number timestamp)
3916        {
3917            super(singleton, Domains.Network, "directTCPSocketClosed", 2);
3918
3919            this.identifier = identifier;
3920            this.timestamp  = timestamp;
3921
3922            this.isPresent = (isPresent == null)
3923                ? singleton.generateIsPresentList(this)
3924                : THROWS.check(isPresent, 2, "Network.directTCPSocketClosed");
3925        }
3926
3927        /** Creates an instance of this class from a {@link JsonObject}.*/
3928        public static directTCPSocketClosed fromJSON(JsonObject jo)
3929        { return singleton.fromJSON(jo); }
3930
3931        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
3932        public static NestedDescriptor<directTCPSocketClosed> descriptor()
3933        { return singleton.descriptor(); }
3934    }
3935
3936    /**
3937     * Fired upon direct_socket.TCPSocket creation.
3938     * 
3939     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
3940     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
3941     */
3942    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
3943    public static class directTCPSocketCreated
3944        extends BrowserEvent<directTCPSocketCreated>
3945        implements java.io.Serializable
3946    {
3947        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
3948        protected static final long serialVersionUID = 1;
3949
3950        private static final NestedHelper<Network.directTCPSocketCreated> singleton =
3951            Torello.Browser.BrowserAPI.NestedHelpers.Events.
3952                Network$$directTCPSocketCreated$$.singleton;
3953
3954        /** <CODE>[No Description Provided by Google]</CODE> */
3955        public final String identifier;
3956
3957        /** <CODE>[No Description Provided by Google]</CODE> */
3958        public final String remoteAddr;
3959
3960        /** Unsigned int 16. */
3961        public final int remotePort;
3962
3963        /** <CODE>[No Description Provided by Google]</CODE> */
3964        public final Network.DirectTCPSocketOptions options;
3965
3966        /** <CODE>[No Description Provided by Google]</CODE> */
3967        public final Number timestamp;
3968
3969        /**
3970         * <CODE>[No Description Provided by Google]</CODE>
3971         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
3972         */
3973        public final Network.Initiator initiator;
3974
3975        /** Constructor.  Please review this class' fields for documentation. */
3976        public directTCPSocketCreated(
3977                ReadOnlyList<Boolean> isPresent, String identifier, String remoteAddr,
3978                int remotePort, DirectTCPSocketOptions options, Number timestamp,
3979                Initiator initiator
3980            )
3981        {
3982            super(singleton, Domains.Network, "directTCPSocketCreated", 6);
3983
3984            this.identifier = identifier;
3985            this.remoteAddr = remoteAddr;
3986            this.remotePort = remotePort;
3987            this.options    = options;
3988            this.timestamp  = timestamp;
3989            this.initiator  = initiator;
3990
3991            this.isPresent = (isPresent == null)
3992                ? singleton.generateIsPresentList(this)
3993                : THROWS.check(isPresent, 6, "Network.directTCPSocketCreated");
3994        }
3995
3996        /** Creates an instance of this class from a {@link JsonObject}.*/
3997        public static directTCPSocketCreated fromJSON(JsonObject jo)
3998        { return singleton.fromJSON(jo); }
3999
4000        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4001        public static NestedDescriptor<directTCPSocketCreated> descriptor()
4002        { return singleton.descriptor(); }
4003    }
4004
4005    /**
4006     * Fired when direct_socket.TCPSocket connection is opened.
4007     * 
4008     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4009     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4010     */
4011    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4012    public static class directTCPSocketOpened
4013        extends BrowserEvent<directTCPSocketOpened>
4014        implements java.io.Serializable
4015    {
4016        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4017        protected static final long serialVersionUID = 1;
4018
4019        private static final NestedHelper<Network.directTCPSocketOpened> singleton =
4020            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4021                Network$$directTCPSocketOpened$$.singleton;
4022
4023        /** <CODE>[No Description Provided by Google]</CODE> */
4024        public final String identifier;
4025
4026        /** <CODE>[No Description Provided by Google]</CODE> */
4027        public final String remoteAddr;
4028
4029        /** Expected to be unsigned integer. */
4030        public final int remotePort;
4031
4032        /** <CODE>[No Description Provided by Google]</CODE> */
4033        public final Number timestamp;
4034
4035        /**
4036         * <CODE>[No Description Provided by Google]</CODE>
4037         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4038         */
4039        public final String localAddr;
4040
4041        /**
4042         * Expected to be unsigned integer.
4043         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4044         */
4045        public final Integer localPort;
4046
4047        /** Constructor.  Please review this class' fields for documentation. */
4048        public directTCPSocketOpened(
4049                ReadOnlyList<Boolean> isPresent, String identifier, String remoteAddr,
4050                int remotePort, Number timestamp, String localAddr, Integer localPort
4051            )
4052        {
4053            super(singleton, Domains.Network, "directTCPSocketOpened", 6);
4054
4055            this.identifier = identifier;
4056            this.remoteAddr = remoteAddr;
4057            this.remotePort = remotePort;
4058            this.timestamp  = timestamp;
4059            this.localAddr  = localAddr;
4060            this.localPort  = localPort;
4061
4062            this.isPresent = (isPresent == null)
4063                ? singleton.generateIsPresentList(this)
4064                : THROWS.check(isPresent, 6, "Network.directTCPSocketOpened");
4065        }
4066
4067        /** Creates an instance of this class from a {@link JsonObject}.*/
4068        public static directTCPSocketOpened fromJSON(JsonObject jo)
4069        { return singleton.fromJSON(jo); }
4070
4071        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4072        public static NestedDescriptor<directTCPSocketOpened> descriptor()
4073        { return singleton.descriptor(); }
4074    }
4075
4076    /**
4077     * Fired when direct_socket.UDPSocket is aborted.
4078     * 
4079     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4080     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4081     */
4082    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4083    public static class directUDPSocketAborted
4084        extends BrowserEvent<directUDPSocketAborted>
4085        implements java.io.Serializable
4086    {
4087        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4088        protected static final long serialVersionUID = 1;
4089
4090        private static final NestedHelper<Network.directUDPSocketAborted> singleton =
4091            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4092                Network$$directUDPSocketAborted$$.singleton;
4093
4094        /** <CODE>[No Description Provided by Google]</CODE> */
4095        public final String identifier;
4096
4097        /** <CODE>[No Description Provided by Google]</CODE> */
4098        public final String errorMessage;
4099
4100        /** <CODE>[No Description Provided by Google]</CODE> */
4101        public final Number timestamp;
4102
4103        /** Constructor.  Please review this class' fields for documentation. */
4104        public directUDPSocketAborted(
4105                ReadOnlyList<Boolean> isPresent, String identifier, String errorMessage,
4106                Number timestamp
4107            )
4108        {
4109            super(singleton, Domains.Network, "directUDPSocketAborted", 3);
4110
4111            this.identifier     = identifier;
4112            this.errorMessage   = errorMessage;
4113            this.timestamp      = timestamp;
4114
4115            this.isPresent = (isPresent == null)
4116                ? singleton.generateIsPresentList(this)
4117                : THROWS.check(isPresent, 3, "Network.directUDPSocketAborted");
4118        }
4119
4120        /** Creates an instance of this class from a {@link JsonObject}.*/
4121        public static directUDPSocketAborted fromJSON(JsonObject jo)
4122        { return singleton.fromJSON(jo); }
4123
4124        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4125        public static NestedDescriptor<directUDPSocketAborted> descriptor()
4126        { return singleton.descriptor(); }
4127    }
4128
4129    /**
4130     * Fired when message is received from udp direct socket stream.
4131     * 
4132     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4133     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4134     */
4135    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4136    public static class directUDPSocketChunkReceived
4137        extends BrowserEvent<directUDPSocketChunkReceived>
4138        implements java.io.Serializable
4139    {
4140        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4141        protected static final long serialVersionUID = 1;
4142
4143        private static final NestedHelper<Network.directUDPSocketChunkReceived> singleton =
4144            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4145                Network$$directUDPSocketChunkReceived$$.singleton;
4146
4147        /** <CODE>[No Description Provided by Google]</CODE> */
4148        public final String identifier;
4149
4150        /** <CODE>[No Description Provided by Google]</CODE> */
4151        public final Network.DirectUDPMessage message;
4152
4153        /** <CODE>[No Description Provided by Google]</CODE> */
4154        public final Number timestamp;
4155
4156        /** Constructor.  Please review this class' fields for documentation. */
4157        public directUDPSocketChunkReceived(
4158                ReadOnlyList<Boolean> isPresent, String identifier, DirectUDPMessage message,
4159                Number timestamp
4160            )
4161        {
4162            super(singleton, Domains.Network, "directUDPSocketChunkReceived", 3);
4163
4164            this.identifier = identifier;
4165            this.message    = message;
4166            this.timestamp  = timestamp;
4167
4168            this.isPresent = (isPresent == null)
4169                ? singleton.generateIsPresentList(this)
4170                : THROWS.check(isPresent, 3, "Network.directUDPSocketChunkReceived");
4171        }
4172
4173        /** Creates an instance of this class from a {@link JsonObject}.*/
4174        public static directUDPSocketChunkReceived fromJSON(JsonObject jo)
4175        { return singleton.fromJSON(jo); }
4176
4177        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4178        public static NestedDescriptor<directUDPSocketChunkReceived> descriptor()
4179        { return singleton.descriptor(); }
4180    }
4181
4182    /**
4183     * Fired when message is sent to udp direct socket stream.
4184     * 
4185     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4186     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4187     */
4188    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4189    public static class directUDPSocketChunkSent
4190        extends BrowserEvent<directUDPSocketChunkSent>
4191        implements java.io.Serializable
4192    {
4193        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4194        protected static final long serialVersionUID = 1;
4195
4196        private static final NestedHelper<Network.directUDPSocketChunkSent> singleton =
4197            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4198                Network$$directUDPSocketChunkSent$$.singleton;
4199
4200        /** <CODE>[No Description Provided by Google]</CODE> */
4201        public final String identifier;
4202
4203        /** <CODE>[No Description Provided by Google]</CODE> */
4204        public final Network.DirectUDPMessage message;
4205
4206        /** <CODE>[No Description Provided by Google]</CODE> */
4207        public final Number timestamp;
4208
4209        /** Constructor.  Please review this class' fields for documentation. */
4210        public directUDPSocketChunkSent(
4211                ReadOnlyList<Boolean> isPresent, String identifier, DirectUDPMessage message,
4212                Number timestamp
4213            )
4214        {
4215            super(singleton, Domains.Network, "directUDPSocketChunkSent", 3);
4216
4217            this.identifier = identifier;
4218            this.message    = message;
4219            this.timestamp  = timestamp;
4220
4221            this.isPresent = (isPresent == null)
4222                ? singleton.generateIsPresentList(this)
4223                : THROWS.check(isPresent, 3, "Network.directUDPSocketChunkSent");
4224        }
4225
4226        /** Creates an instance of this class from a {@link JsonObject}.*/
4227        public static directUDPSocketChunkSent fromJSON(JsonObject jo)
4228        { return singleton.fromJSON(jo); }
4229
4230        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4231        public static NestedDescriptor<directUDPSocketChunkSent> descriptor()
4232        { return singleton.descriptor(); }
4233    }
4234
4235    /**
4236     * Fired when direct_socket.UDPSocket is closed.
4237     * 
4238     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4239     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4240     */
4241    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4242    public static class directUDPSocketClosed
4243        extends BrowserEvent<directUDPSocketClosed>
4244        implements java.io.Serializable
4245    {
4246        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4247        protected static final long serialVersionUID = 1;
4248
4249        private static final NestedHelper<Network.directUDPSocketClosed> singleton =
4250            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4251                Network$$directUDPSocketClosed$$.singleton;
4252
4253        /** <CODE>[No Description Provided by Google]</CODE> */
4254        public final String identifier;
4255
4256        /** <CODE>[No Description Provided by Google]</CODE> */
4257        public final Number timestamp;
4258
4259        /** Constructor.  Please review this class' fields for documentation. */
4260        public directUDPSocketClosed
4261            (ReadOnlyList<Boolean> isPresent, String identifier, Number timestamp)
4262        {
4263            super(singleton, Domains.Network, "directUDPSocketClosed", 2);
4264
4265            this.identifier = identifier;
4266            this.timestamp  = timestamp;
4267
4268            this.isPresent = (isPresent == null)
4269                ? singleton.generateIsPresentList(this)
4270                : THROWS.check(isPresent, 2, "Network.directUDPSocketClosed");
4271        }
4272
4273        /** Creates an instance of this class from a {@link JsonObject}.*/
4274        public static directUDPSocketClosed fromJSON(JsonObject jo)
4275        { return singleton.fromJSON(jo); }
4276
4277        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4278        public static NestedDescriptor<directUDPSocketClosed> descriptor()
4279        { return singleton.descriptor(); }
4280    }
4281
4282    /**
4283     * Fired upon direct_socket.UDPSocket creation.
4284     * 
4285     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4286     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4287     */
4288    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4289    public static class directUDPSocketCreated
4290        extends BrowserEvent<directUDPSocketCreated>
4291        implements java.io.Serializable
4292    {
4293        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4294        protected static final long serialVersionUID = 1;
4295
4296        private static final NestedHelper<Network.directUDPSocketCreated> singleton =
4297            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4298                Network$$directUDPSocketCreated$$.singleton;
4299
4300        /** <CODE>[No Description Provided by Google]</CODE> */
4301        public final String identifier;
4302
4303        /** <CODE>[No Description Provided by Google]</CODE> */
4304        public final Network.DirectUDPSocketOptions options;
4305
4306        /** <CODE>[No Description Provided by Google]</CODE> */
4307        public final Number timestamp;
4308
4309        /**
4310         * <CODE>[No Description Provided by Google]</CODE>
4311         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4312         */
4313        public final Network.Initiator initiator;
4314
4315        /** Constructor.  Please review this class' fields for documentation. */
4316        public directUDPSocketCreated(
4317                ReadOnlyList<Boolean> isPresent, String identifier, DirectUDPSocketOptions options,
4318                Number timestamp, Initiator initiator
4319            )
4320        {
4321            super(singleton, Domains.Network, "directUDPSocketCreated", 4);
4322
4323            this.identifier = identifier;
4324            this.options    = options;
4325            this.timestamp  = timestamp;
4326            this.initiator  = initiator;
4327
4328            this.isPresent = (isPresent == null)
4329                ? singleton.generateIsPresentList(this)
4330                : THROWS.check(isPresent, 4, "Network.directUDPSocketCreated");
4331        }
4332
4333        /** Creates an instance of this class from a {@link JsonObject}.*/
4334        public static directUDPSocketCreated fromJSON(JsonObject jo)
4335        { return singleton.fromJSON(jo); }
4336
4337        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4338        public static NestedDescriptor<directUDPSocketCreated> descriptor()
4339        { return singleton.descriptor(); }
4340    }
4341
4342    /**
4343     * Fired when direct_socket.UDPSocket connection is opened.
4344     * 
4345     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4346     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4347     */
4348    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4349    public static class directUDPSocketOpened
4350        extends BrowserEvent<directUDPSocketOpened>
4351        implements java.io.Serializable
4352    {
4353        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4354        protected static final long serialVersionUID = 1;
4355
4356        private static final NestedHelper<Network.directUDPSocketOpened> singleton =
4357            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4358                Network$$directUDPSocketOpened$$.singleton;
4359
4360        /** <CODE>[No Description Provided by Google]</CODE> */
4361        public final String identifier;
4362
4363        /** <CODE>[No Description Provided by Google]</CODE> */
4364        public final String localAddr;
4365
4366        /** Expected to be unsigned integer. */
4367        public final int localPort;
4368
4369        /** <CODE>[No Description Provided by Google]</CODE> */
4370        public final Number timestamp;
4371
4372        /**
4373         * <CODE>[No Description Provided by Google]</CODE>
4374         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4375         */
4376        public final String remoteAddr;
4377
4378        /**
4379         * Expected to be unsigned integer.
4380         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4381         */
4382        public final Integer remotePort;
4383
4384        /** Constructor.  Please review this class' fields for documentation. */
4385        public directUDPSocketOpened(
4386                ReadOnlyList<Boolean> isPresent, String identifier, String localAddr,
4387                int localPort, Number timestamp, String remoteAddr, Integer remotePort
4388            )
4389        {
4390            super(singleton, Domains.Network, "directUDPSocketOpened", 6);
4391
4392            this.identifier = identifier;
4393            this.localAddr  = localAddr;
4394            this.localPort  = localPort;
4395            this.timestamp  = timestamp;
4396            this.remoteAddr = remoteAddr;
4397            this.remotePort = remotePort;
4398
4399            this.isPresent = (isPresent == null)
4400                ? singleton.generateIsPresentList(this)
4401                : THROWS.check(isPresent, 6, "Network.directUDPSocketOpened");
4402        }
4403
4404        /** Creates an instance of this class from a {@link JsonObject}.*/
4405        public static directUDPSocketOpened fromJSON(JsonObject jo)
4406        { return singleton.fromJSON(jo); }
4407
4408        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4409        public static NestedDescriptor<directUDPSocketOpened> descriptor()
4410        { return singleton.descriptor(); }
4411    }
4412
4413    /**
4414     * Fired when EventSource message is received.
4415     * 
4416     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4417     */
4418    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4419    public static class eventSourceMessageReceived
4420        extends BrowserEvent<eventSourceMessageReceived>
4421        implements java.io.Serializable
4422    {
4423        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4424        protected static final long serialVersionUID = 1;
4425
4426        private static final NestedHelper<Network.eventSourceMessageReceived> singleton =
4427            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4428                Network$$eventSourceMessageReceived$$.singleton;
4429
4430        /** Request identifier. */
4431        public final String requestId;
4432
4433        /** Timestamp. */
4434        public final Number timestamp;
4435
4436        /** Message type. */
4437        public final String eventName;
4438
4439        /** Message identifier. */
4440        public final String eventId;
4441
4442        /** Message content. */
4443        public final String data;
4444
4445        /** Constructor.  Please review this class' fields for documentation. */
4446        public eventSourceMessageReceived(
4447                ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp,
4448                String eventName, String eventId, String data
4449            )
4450        {
4451            super(singleton, Domains.Network, "eventSourceMessageReceived", 5);
4452
4453            this.requestId  = requestId;
4454            this.timestamp  = timestamp;
4455            this.eventName  = eventName;
4456            this.eventId    = eventId;
4457            this.data       = data;
4458
4459            this.isPresent = (isPresent == null)
4460                ? singleton.generateIsPresentList(this)
4461                : THROWS.check(isPresent, 5, "Network.eventSourceMessageReceived");
4462        }
4463
4464        /** Creates an instance of this class from a {@link JsonObject}.*/
4465        public static eventSourceMessageReceived fromJSON(JsonObject jo)
4466        { return singleton.fromJSON(jo); }
4467
4468        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4469        public static NestedDescriptor<eventSourceMessageReceived> descriptor()
4470        { return singleton.descriptor(); }
4471    }
4472
4473    /**
4474     * Fired when HTTP request has failed to load.
4475     * 
4476     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4477     */
4478    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4479    public static class loadingFailed
4480        extends BrowserEvent<loadingFailed>
4481        implements java.io.Serializable
4482    {
4483        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4484        protected static final long serialVersionUID = 1;
4485
4486        private static final NestedHelper<Network.loadingFailed> singleton =
4487            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4488                Network$$loadingFailed$$.singleton;
4489
4490        /** Request identifier. */
4491        public final String requestId;
4492
4493        /** Timestamp. */
4494        public final Number timestamp;
4495
4496        /**
4497         * Resource type.
4498         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ResourceType DATA-F=type DATA-FILE-ID=CDP.EL2>
4499         * @see BaseType#enumStrList(String)
4500         */
4501        public final String type;
4502
4503        /** Error message. List of network errors: https://cs.chromium.org/chromium/src/net/base/net_error_list.h */
4504        public final String errorText;
4505
4506        /**
4507         * True if loading was canceled.
4508         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4509         */
4510        public final Boolean canceled;
4511
4512        /**
4513         * The reason why loading was blocked, if any.
4514         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4515         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=BlockedReason DATA-F=blockedReason DATA-FILE-ID=CDP.EL2>
4516         * @see BaseType#enumStrList(String)
4517         */
4518        public final String blockedReason;
4519
4520        /**
4521         * The reason why loading was blocked by CORS, if any.
4522         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4523         */
4524        public final Network.CorsErrorStatus corsErrorStatus;
4525
4526        /** Constructor.  Please review this class' fields for documentation. */
4527        public loadingFailed(
4528                ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp, String type,
4529                String errorText, Boolean canceled, String blockedReason,
4530                CorsErrorStatus corsErrorStatus
4531            )
4532        {
4533            super(singleton, Domains.Network, "loadingFailed", 7);
4534
4535            this.requestId          = requestId;
4536            this.timestamp          = timestamp;
4537            this.type               = type;
4538            this.errorText          = errorText;
4539            this.canceled           = canceled;
4540            this.blockedReason      = blockedReason;
4541            this.corsErrorStatus    = corsErrorStatus;
4542
4543            this.isPresent = (isPresent == null)
4544                ? singleton.generateIsPresentList(this)
4545                : THROWS.check(isPresent, 7, "Network.loadingFailed");
4546        }
4547
4548        /** Creates an instance of this class from a {@link JsonObject}.*/
4549        public static loadingFailed fromJSON(JsonObject jo)
4550        { return singleton.fromJSON(jo); }
4551
4552        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4553        public static NestedDescriptor<loadingFailed> descriptor()
4554        { return singleton.descriptor(); }
4555    }
4556
4557    /**
4558     * Fired when HTTP request has finished loading.
4559     * 
4560     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4561     */
4562    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4563    public static class loadingFinished
4564        extends BrowserEvent<loadingFinished>
4565        implements java.io.Serializable
4566    {
4567        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4568        protected static final long serialVersionUID = 1;
4569
4570        private static final NestedHelper<Network.loadingFinished> singleton =
4571            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4572                Network$$loadingFinished$$.singleton;
4573
4574        /** Request identifier. */
4575        public final String requestId;
4576
4577        /** Timestamp. */
4578        public final Number timestamp;
4579
4580        /** Total number of bytes received for this request. */
4581        public final Number encodedDataLength;
4582
4583        /** Constructor.  Please review this class' fields for documentation. */
4584        public loadingFinished(
4585                ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp,
4586                Number encodedDataLength
4587            )
4588        {
4589            super(singleton, Domains.Network, "loadingFinished", 3);
4590
4591            this.requestId          = requestId;
4592            this.timestamp          = timestamp;
4593            this.encodedDataLength  = encodedDataLength;
4594
4595            this.isPresent = (isPresent == null)
4596                ? singleton.generateIsPresentList(this)
4597                : THROWS.check(isPresent, 3, "Network.loadingFinished");
4598        }
4599
4600        /** Creates an instance of this class from a {@link JsonObject}.*/
4601        public static loadingFinished fromJSON(JsonObject jo)
4602        { return singleton.fromJSON(jo); }
4603
4604        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4605        public static NestedDescriptor<loadingFinished> descriptor()
4606        { return singleton.descriptor(); }
4607    }
4608
4609    /**
4610     * <CODE>[No Description Provided by Google]</CODE>
4611     * 
4612     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4613     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4614     */
4615    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4616    public static class reportingApiEndpointsChangedForOrigin
4617        extends BrowserEvent<reportingApiEndpointsChangedForOrigin>
4618        implements java.io.Serializable
4619    {
4620        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4621        protected static final long serialVersionUID = 1;
4622
4623        private static final NestedHelper<Network.reportingApiEndpointsChangedForOrigin> singleton =
4624            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4625                Network$$reportingApiEndpointsChangedForOrigin$$.singleton;
4626
4627        /** Origin of the document(s) which configured the endpoints. */
4628        public final String origin;
4629
4630        /** <CODE>[No Description Provided by Google]</CODE> */
4631        public final Network.ReportingApiEndpoint[] endpoints;
4632
4633        /** Constructor.  Please review this class' fields for documentation. */
4634        public reportingApiEndpointsChangedForOrigin
4635            (ReadOnlyList<Boolean> isPresent, String origin, ReportingApiEndpoint[] endpoints)
4636        {
4637            super(singleton, Domains.Network, "reportingApiEndpointsChangedForOrigin", 2);
4638
4639            this.origin     = origin;
4640            this.endpoints  = endpoints;
4641
4642            this.isPresent = (isPresent == null)
4643                ? singleton.generateIsPresentList(this)
4644                : THROWS.check(isPresent, 2, "Network.reportingApiEndpointsChangedForOrigin");
4645        }
4646
4647        /** Creates an instance of this class from a {@link JsonObject}.*/
4648        public static reportingApiEndpointsChangedForOrigin fromJSON(JsonObject jo)
4649        { return singleton.fromJSON(jo); }
4650
4651        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4652        public static NestedDescriptor<reportingApiEndpointsChangedForOrigin> descriptor()
4653        { return singleton.descriptor(); }
4654    }
4655
4656    /**
4657     * Is sent whenever a new report is added.
4658     * And after 'enableReportingApi' for all existing reports.
4659     * 
4660     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4661     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4662     */
4663    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4664    public static class reportingApiReportAdded
4665        extends BrowserEvent<reportingApiReportAdded>
4666        implements java.io.Serializable
4667    {
4668        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4669        protected static final long serialVersionUID = 1;
4670
4671        private static final NestedHelper<Network.reportingApiReportAdded> singleton =
4672            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4673                Network$$reportingApiReportAdded$$.singleton;
4674
4675        /** <CODE>[No Description Provided by Google]</CODE> */
4676        public final Network.ReportingApiReport report;
4677
4678        /** Constructor.  Please review this class' fields for documentation. */
4679        public reportingApiReportAdded(ReadOnlyList<Boolean> isPresent, ReportingApiReport report)
4680        {
4681            super(singleton, Domains.Network, "reportingApiReportAdded", 1);
4682
4683            this.report = report;
4684
4685            this.isPresent = (isPresent == null)
4686                ? singleton.generateIsPresentList(this)
4687                : THROWS.check(isPresent, 1, "Network.reportingApiReportAdded");
4688        }
4689
4690        /** Creates an instance of this class from a {@link JsonObject}.*/
4691        public static reportingApiReportAdded fromJSON(JsonObject jo)
4692        { return singleton.fromJSON(jo); }
4693
4694        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4695        public static NestedDescriptor<reportingApiReportAdded> descriptor()
4696        { return singleton.descriptor(); }
4697    }
4698
4699    /**
4700     * <CODE>[No Description Provided by Google]</CODE>
4701     * 
4702     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4703     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4704     */
4705    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4706    public static class reportingApiReportUpdated
4707        extends BrowserEvent<reportingApiReportUpdated>
4708        implements java.io.Serializable
4709    {
4710        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4711        protected static final long serialVersionUID = 1;
4712
4713        private static final NestedHelper<Network.reportingApiReportUpdated> singleton =
4714            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4715                Network$$reportingApiReportUpdated$$.singleton;
4716
4717        /** <CODE>[No Description Provided by Google]</CODE> */
4718        public final Network.ReportingApiReport report;
4719
4720        /** Constructor.  Please review this class' fields for documentation. */
4721        public reportingApiReportUpdated
4722            (ReadOnlyList<Boolean> isPresent, ReportingApiReport report)
4723        {
4724            super(singleton, Domains.Network, "reportingApiReportUpdated", 1);
4725
4726            this.report = report;
4727
4728            this.isPresent = (isPresent == null)
4729                ? singleton.generateIsPresentList(this)
4730                : THROWS.check(isPresent, 1, "Network.reportingApiReportUpdated");
4731        }
4732
4733        /** Creates an instance of this class from a {@link JsonObject}.*/
4734        public static reportingApiReportUpdated fromJSON(JsonObject jo)
4735        { return singleton.fromJSON(jo); }
4736
4737        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4738        public static NestedDescriptor<reportingApiReportUpdated> descriptor()
4739        { return singleton.descriptor(); }
4740    }
4741
4742    /**
4743     * Details of an intercepted HTTP request, which must be either allowed, blocked, modified or
4744     * mocked.
4745     * Deprecated, use Fetch.requestPaused instead.
4746     * 
4747     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B><B CLASS=Dep-Top>DEPRECATED</B>
4748     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4749     */
4750    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4751    public static class requestIntercepted
4752        extends BrowserEvent<requestIntercepted>
4753        implements java.io.Serializable
4754    {
4755        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4756        protected static final long serialVersionUID = 1;
4757
4758        private static final NestedHelper<Network.requestIntercepted> singleton =
4759            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4760                Network$$requestIntercepted$$.singleton;
4761
4762        /**
4763         * Each request the page makes will have a unique id, however if any redirects are encountered
4764         * while processing that fetch, they will be reported with the same id as the original fetch.
4765         * Likewise if HTTP authentication is needed then the same fetch id will be used.
4766         */
4767        public final String interceptionId;
4768
4769        /** <CODE>[No Description Provided by Google]</CODE> */
4770        public final Network.Request request;
4771
4772        /** The id of the frame that initiated the request. */
4773        public final String frameId;
4774
4775        /**
4776         * How the requested resource will be used.
4777         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ResourceType DATA-F=resourceType DATA-FILE-ID=CDP.EL2>
4778         * @see BaseType#enumStrList(String)
4779         */
4780        public final String resourceType;
4781
4782        /** Whether this is a navigation request, which can abort the navigation completely. */
4783        public final boolean isNavigationRequest;
4784
4785        /**
4786         * Set if the request is a navigation that will result in a download.
4787         * Only present after response is received from the server (i.e. HeadersReceived stage).
4788         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4789         */
4790        public final Boolean isDownload;
4791
4792        /**
4793         * Redirect location, only sent if a redirect was intercepted.
4794         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4795         */
4796        public final String redirectUrl;
4797
4798        /**
4799         * Details of the Authorization Challenge encountered. If this is set then
4800         * continueInterceptedRequest must contain an authChallengeResponse.
4801         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4802         */
4803        public final Network.AuthChallenge authChallenge;
4804
4805        /**
4806         * Response error if intercepted at response stage or if redirect occurred while intercepting
4807         * request.
4808         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4809         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ErrorReason DATA-F=responseErrorReason DATA-FILE-ID=CDP.EL2>
4810         * @see BaseType#enumStrList(String)
4811         */
4812        public final String responseErrorReason;
4813
4814        /**
4815         * Response code if intercepted at response stage or if redirect occurred while intercepting
4816         * request or auth retry occurred.
4817         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4818         */
4819        public final Integer responseStatusCode;
4820
4821        /**
4822         * Response headers if intercepted at the response stage or if redirect occurred while
4823         * intercepting request or auth retry occurred.
4824         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4825         */
4826        public final JsonValue responseHeaders;
4827
4828        /**
4829         * If the intercepted request had a corresponding requestWillBeSent event fired for it, then
4830         * this requestId will be the same as the requestId present in the requestWillBeSent event.
4831         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4832         */
4833        public final String requestId;
4834
4835        /** Constructor.  Please review this class' fields for documentation. */
4836        public requestIntercepted(
4837                ReadOnlyList<Boolean> isPresent, String interceptionId, Request request,
4838                String frameId, String resourceType, boolean isNavigationRequest,
4839                Boolean isDownload, String redirectUrl, AuthChallenge authChallenge,
4840                String responseErrorReason, Integer responseStatusCode, JsonValue responseHeaders,
4841                String requestId
4842            )
4843        {
4844            super(singleton, Domains.Network, "requestIntercepted", 12);
4845
4846            this.interceptionId         = interceptionId;
4847            this.request                = request;
4848            this.frameId                = frameId;
4849            this.resourceType           = resourceType;
4850            this.isNavigationRequest    = isNavigationRequest;
4851            this.isDownload             = isDownload;
4852            this.redirectUrl            = redirectUrl;
4853            this.authChallenge          = authChallenge;
4854            this.responseErrorReason    = responseErrorReason;
4855            this.responseStatusCode     = responseStatusCode;
4856            this.responseHeaders        = responseHeaders;
4857            this.requestId              = requestId;
4858
4859            this.isPresent = (isPresent == null)
4860                ? singleton.generateIsPresentList(this)
4861                : THROWS.check(isPresent, 12, "Network.requestIntercepted");
4862        }
4863
4864        /** Creates an instance of this class from a {@link JsonObject}.*/
4865        public static requestIntercepted fromJSON(JsonObject jo)
4866        { return singleton.fromJSON(jo); }
4867
4868        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4869        public static NestedDescriptor<requestIntercepted> descriptor()
4870        { return singleton.descriptor(); }
4871    }
4872
4873    /**
4874     * Fired if request ended up loading from cache.
4875     * 
4876     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4877     */
4878    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4879    public static class requestServedFromCache
4880        extends BrowserEvent<requestServedFromCache>
4881        implements java.io.Serializable
4882    {
4883        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4884        protected static final long serialVersionUID = 1;
4885
4886        private static final NestedHelper<Network.requestServedFromCache> singleton =
4887            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4888                Network$$requestServedFromCache$$.singleton;
4889
4890        /** Request identifier. */
4891        public final String requestId;
4892
4893        /** Constructor.  Please review this class' fields for documentation. */
4894        public requestServedFromCache(ReadOnlyList<Boolean> isPresent, String requestId)
4895        {
4896            super(singleton, Domains.Network, "requestServedFromCache", 1);
4897
4898            this.requestId = requestId;
4899
4900            this.isPresent = (isPresent == null)
4901                ? singleton.generateIsPresentList(this)
4902                : THROWS.check(isPresent, 1, "Network.requestServedFromCache");
4903        }
4904
4905        /** Creates an instance of this class from a {@link JsonObject}.*/
4906        public static requestServedFromCache fromJSON(JsonObject jo)
4907        { return singleton.fromJSON(jo); }
4908
4909        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
4910        public static NestedDescriptor<requestServedFromCache> descriptor()
4911        { return singleton.descriptor(); }
4912    }
4913
4914    /**
4915     * Fired when page is about to send HTTP request.
4916     * 
4917     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
4918     */
4919    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
4920    public static class requestWillBeSent
4921        extends BrowserEvent<requestWillBeSent>
4922        implements java.io.Serializable
4923    {
4924        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
4925        protected static final long serialVersionUID = 1;
4926
4927        private static final NestedHelper<Network.requestWillBeSent> singleton =
4928            Torello.Browser.BrowserAPI.NestedHelpers.Events.
4929                Network$$requestWillBeSent$$.singleton;
4930
4931        /** Request identifier. */
4932        public final String requestId;
4933
4934        /** Loader identifier. Empty string if the request is fetched from worker. */
4935        public final String loaderId;
4936
4937        /** URL of the document this request is loaded for. */
4938        public final String documentURL;
4939
4940        /** Request data. */
4941        public final Network.Request request;
4942
4943        /** Timestamp. */
4944        public final Number timestamp;
4945
4946        /** Timestamp. */
4947        public final Number wallTime;
4948
4949        /** Request initiator. */
4950        public final Network.Initiator initiator;
4951
4952        /**
4953         * In the case that redirectResponse is populated, this flag indicates whether
4954         * requestWillBeSentExtraInfo and responseReceivedExtraInfo events will be or were emitted
4955         * for the request which was just redirected.
4956         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
4957         */
4958        public final boolean redirectHasExtraInfo;
4959
4960        /**
4961         * Redirect response data.
4962         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4963         */
4964        public final Network.Response redirectResponse;
4965
4966        /**
4967         * Type of this resource.
4968         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4969         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ResourceType DATA-F=type DATA-FILE-ID=CDP.EL2>
4970         * @see BaseType#enumStrList(String)
4971         */
4972        public final String type;
4973
4974        /**
4975         * Frame identifier.
4976         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4977         */
4978        public final String frameId;
4979
4980        /**
4981         * Whether the request is initiated by a user gesture. Defaults to false.
4982         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
4983         */
4984        public final Boolean hasUserGesture;
4985
4986        /** Constructor.  Please review this class' fields for documentation. */
4987        public requestWillBeSent(
4988                ReadOnlyList<Boolean> isPresent, String requestId, String loaderId,
4989                String documentURL, Request request, Number timestamp, Number wallTime,
4990                Initiator initiator, boolean redirectHasExtraInfo, Response redirectResponse,
4991                String type, String frameId, Boolean hasUserGesture
4992            )
4993        {
4994            super(singleton, Domains.Network, "requestWillBeSent", 12);
4995
4996            this.requestId              = requestId;
4997            this.loaderId               = loaderId;
4998            this.documentURL            = documentURL;
4999            this.request                = request;
5000            this.timestamp              = timestamp;
5001            this.wallTime               = wallTime;
5002            this.initiator              = initiator;
5003            this.redirectHasExtraInfo   = redirectHasExtraInfo;
5004            this.redirectResponse       = redirectResponse;
5005            this.type                   = type;
5006            this.frameId                = frameId;
5007            this.hasUserGesture         = hasUserGesture;
5008
5009            this.isPresent = (isPresent == null)
5010                ? singleton.generateIsPresentList(this)
5011                : THROWS.check(isPresent, 12, "Network.requestWillBeSent");
5012        }
5013
5014        /** Creates an instance of this class from a {@link JsonObject}.*/
5015        public static requestWillBeSent fromJSON(JsonObject jo)
5016        { return singleton.fromJSON(jo); }
5017
5018        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5019        public static NestedDescriptor<requestWillBeSent> descriptor()
5020        { return singleton.descriptor(); }
5021    }
5022
5023    /**
5024     * Fired when additional information about a requestWillBeSent event is available from the
5025     * network stack. Not every requestWillBeSent event will have an additional
5026     * requestWillBeSentExtraInfo fired for it, and there is no guarantee whether requestWillBeSent
5027     * or requestWillBeSentExtraInfo will be fired first for the same request.
5028     * 
5029     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5030     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5031     */
5032    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5033    public static class requestWillBeSentExtraInfo
5034        extends BrowserEvent<requestWillBeSentExtraInfo>
5035        implements java.io.Serializable
5036    {
5037        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5038        protected static final long serialVersionUID = 1;
5039
5040        private static final NestedHelper<Network.requestWillBeSentExtraInfo> singleton =
5041            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5042                Network$$requestWillBeSentExtraInfo$$.singleton;
5043
5044        /** Request identifier. Used to match this information to an existing requestWillBeSent event. */
5045        public final String requestId;
5046
5047        /**
5048         * A list of cookies potentially associated to the requested URL. This includes both cookies sent with
5049         * the request and the ones not sent; the latter are distinguished by having blockedReasons field set.
5050         */
5051        public final Network.AssociatedCookie[] associatedCookies;
5052
5053        /** Raw request headers as they will be sent over the wire. */
5054        public final JsonValue headers;
5055
5056        /**
5057         * Connection timing information for the request.
5058         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5059         */
5060        public final Network.ConnectTiming connectTiming;
5061
5062        /**
5063         * The client security state set for the request.
5064         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5065         */
5066        public final Network.ClientSecurityState clientSecurityState;
5067
5068        /**
5069         * Whether the site has partitioned cookies stored in a partition different than the current one.
5070         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5071         */
5072        public final Boolean siteHasCookieInOtherPartition;
5073
5074        /** Constructor.  Please review this class' fields for documentation. */
5075        public requestWillBeSentExtraInfo(
5076                ReadOnlyList<Boolean> isPresent, String requestId,
5077                AssociatedCookie[] associatedCookies, JsonValue headers,
5078                ConnectTiming connectTiming, ClientSecurityState clientSecurityState,
5079                Boolean siteHasCookieInOtherPartition
5080            )
5081        {
5082            super(singleton, Domains.Network, "requestWillBeSentExtraInfo", 6);
5083
5084            this.requestId                      = requestId;
5085            this.associatedCookies              = associatedCookies;
5086            this.headers                        = headers;
5087            this.connectTiming                  = connectTiming;
5088            this.clientSecurityState            = clientSecurityState;
5089            this.siteHasCookieInOtherPartition  = siteHasCookieInOtherPartition;
5090
5091            this.isPresent = (isPresent == null)
5092                ? singleton.generateIsPresentList(this)
5093                : THROWS.check(isPresent, 6, "Network.requestWillBeSentExtraInfo");
5094        }
5095
5096        /** Creates an instance of this class from a {@link JsonObject}.*/
5097        public static requestWillBeSentExtraInfo fromJSON(JsonObject jo)
5098        { return singleton.fromJSON(jo); }
5099
5100        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5101        public static NestedDescriptor<requestWillBeSentExtraInfo> descriptor()
5102        { return singleton.descriptor(); }
5103    }
5104
5105    /**
5106     * Fired when resource loading priority is changed
5107     * 
5108     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5109     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5110     */
5111    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5112    public static class resourceChangedPriority
5113        extends BrowserEvent<resourceChangedPriority>
5114        implements java.io.Serializable
5115    {
5116        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5117        protected static final long serialVersionUID = 1;
5118
5119        private static final NestedHelper<Network.resourceChangedPriority> singleton =
5120            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5121                Network$$resourceChangedPriority$$.singleton;
5122
5123        /** Request identifier. */
5124        public final String requestId;
5125
5126        /**
5127         * New priority
5128         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ResourcePriority DATA-F=newPriority DATA-FILE-ID=CDP.EL2>
5129         * @see BaseType#enumStrList(String)
5130         */
5131        public final String newPriority;
5132
5133        /** Timestamp. */
5134        public final Number timestamp;
5135
5136        /** Constructor.  Please review this class' fields for documentation. */
5137        public resourceChangedPriority(
5138                ReadOnlyList<Boolean> isPresent, String requestId, String newPriority,
5139                Number timestamp
5140            )
5141        {
5142            super(singleton, Domains.Network, "resourceChangedPriority", 3);
5143
5144            this.requestId      = requestId;
5145            this.newPriority    = newPriority;
5146            this.timestamp      = timestamp;
5147
5148            this.isPresent = (isPresent == null)
5149                ? singleton.generateIsPresentList(this)
5150                : THROWS.check(isPresent, 3, "Network.resourceChangedPriority");
5151        }
5152
5153        /** Creates an instance of this class from a {@link JsonObject}.*/
5154        public static resourceChangedPriority fromJSON(JsonObject jo)
5155        { return singleton.fromJSON(jo); }
5156
5157        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5158        public static NestedDescriptor<resourceChangedPriority> descriptor()
5159        { return singleton.descriptor(); }
5160    }
5161
5162    /**
5163     * Fired when HTTP response is available.
5164     * 
5165     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5166     */
5167    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5168    public static class responseReceived
5169        extends BrowserEvent<responseReceived>
5170        implements java.io.Serializable
5171    {
5172        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5173        protected static final long serialVersionUID = 1;
5174
5175        private static final NestedHelper<Network.responseReceived> singleton =
5176            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5177                Network$$responseReceived$$.singleton;
5178
5179        /** Request identifier. */
5180        public final String requestId;
5181
5182        /** Loader identifier. Empty string if the request is fetched from worker. */
5183        public final String loaderId;
5184
5185        /** Timestamp. */
5186        public final Number timestamp;
5187
5188        /**
5189         * Resource type.
5190         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=ResourceType DATA-F=type DATA-FILE-ID=CDP.EL2>
5191         * @see BaseType#enumStrList(String)
5192         */
5193        public final String type;
5194
5195        /** Response data. */
5196        public final Network.Response response;
5197
5198        /**
5199         * Indicates whether requestWillBeSentExtraInfo and responseReceivedExtraInfo events will be
5200         * or were emitted for this request.
5201         * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5202         */
5203        public final boolean hasExtraInfo;
5204
5205        /**
5206         * Frame identifier.
5207         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5208         */
5209        public final String frameId;
5210
5211        /** Constructor.  Please review this class' fields for documentation. */
5212        public responseReceived(
5213                ReadOnlyList<Boolean> isPresent, String requestId, String loaderId,
5214                Number timestamp, String type, Response response, boolean hasExtraInfo,
5215                String frameId
5216            )
5217        {
5218            super(singleton, Domains.Network, "responseReceived", 7);
5219
5220            this.requestId      = requestId;
5221            this.loaderId       = loaderId;
5222            this.timestamp      = timestamp;
5223            this.type           = type;
5224            this.response       = response;
5225            this.hasExtraInfo   = hasExtraInfo;
5226            this.frameId        = frameId;
5227
5228            this.isPresent = (isPresent == null)
5229                ? singleton.generateIsPresentList(this)
5230                : THROWS.check(isPresent, 7, "Network.responseReceived");
5231        }
5232
5233        /** Creates an instance of this class from a {@link JsonObject}.*/
5234        public static responseReceived fromJSON(JsonObject jo)
5235        { return singleton.fromJSON(jo); }
5236
5237        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5238        public static NestedDescriptor<responseReceived> descriptor()
5239        { return singleton.descriptor(); }
5240    }
5241
5242    /**
5243     * Fired when 103 Early Hints headers is received in addition to the common response.
5244     * Not every responseReceived event will have an responseReceivedEarlyHints fired.
5245     * Only one responseReceivedEarlyHints may be fired for eached responseReceived event.
5246     * 
5247     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5248     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5249     */
5250    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5251    public static class responseReceivedEarlyHints
5252        extends BrowserEvent<responseReceivedEarlyHints>
5253        implements java.io.Serializable
5254    {
5255        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5256        protected static final long serialVersionUID = 1;
5257
5258        private static final NestedHelper<Network.responseReceivedEarlyHints> singleton =
5259            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5260                Network$$responseReceivedEarlyHints$$.singleton;
5261
5262        /** Request identifier. Used to match this information to another responseReceived event. */
5263        public final String requestId;
5264
5265        /**
5266         * Raw response headers as they were received over the wire.
5267         * Duplicate headers in the response are represented as a single key with their values
5268         * concatentated using <CODE>\n</CODE> as the separator.
5269         * See also <CODE>headersText</CODE> that contains verbatim text for HTTP/1.*.
5270         */
5271        public final JsonValue headers;
5272
5273        /** Constructor.  Please review this class' fields for documentation. */
5274        public responseReceivedEarlyHints
5275            (ReadOnlyList<Boolean> isPresent, String requestId, JsonValue headers)
5276        {
5277            super(singleton, Domains.Network, "responseReceivedEarlyHints", 2);
5278
5279            this.requestId  = requestId;
5280            this.headers    = headers;
5281
5282            this.isPresent = (isPresent == null)
5283                ? singleton.generateIsPresentList(this)
5284                : THROWS.check(isPresent, 2, "Network.responseReceivedEarlyHints");
5285        }
5286
5287        /** Creates an instance of this class from a {@link JsonObject}.*/
5288        public static responseReceivedEarlyHints fromJSON(JsonObject jo)
5289        { return singleton.fromJSON(jo); }
5290
5291        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5292        public static NestedDescriptor<responseReceivedEarlyHints> descriptor()
5293        { return singleton.descriptor(); }
5294    }
5295
5296    /**
5297     * Fired when additional information about a responseReceived event is available from the network
5298     * stack. Not every responseReceived event will have an additional responseReceivedExtraInfo for
5299     * it, and responseReceivedExtraInfo may be fired before or after responseReceived.
5300     * 
5301     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5302     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5303     */
5304    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5305    public static class responseReceivedExtraInfo
5306        extends BrowserEvent<responseReceivedExtraInfo>
5307        implements java.io.Serializable
5308    {
5309        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5310        protected static final long serialVersionUID = 1;
5311
5312        private static final NestedHelper<Network.responseReceivedExtraInfo> singleton =
5313            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5314                Network$$responseReceivedExtraInfo$$.singleton;
5315
5316        /** Request identifier. Used to match this information to another responseReceived event. */
5317        public final String requestId;
5318
5319        /**
5320         * A list of cookies which were not stored from the response along with the corresponding
5321         * reasons for blocking. The cookies here may not be valid due to syntax errors, which
5322         * are represented by the invalid cookie line string instead of a proper cookie.
5323         */
5324        public final Network.BlockedSetCookieWithReason[] blockedCookies;
5325
5326        /**
5327         * Raw response headers as they were received over the wire.
5328         * Duplicate headers in the response are represented as a single key with their values
5329         * concatentated using <CODE>\n</CODE> as the separator.
5330         * See also <CODE>headersText</CODE> that contains verbatim text for HTTP/1.*.
5331         */
5332        public final JsonValue headers;
5333
5334        /**
5335         * The IP address space of the resource. The address space can only be determined once the transport
5336         * established the connection, so we can't send it in <CODE>requestWillBeSentExtraInfo</CODE>.
5337         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=IPAddressSpace DATA-F=resourceIPAddressSpace DATA-FILE-ID=CDP.EL2>
5338         * @see BaseType#enumStrList(String)
5339         */
5340        public final String resourceIPAddressSpace;
5341
5342        /**
5343         * The status code of the response. This is useful in cases the request failed and no responseReceived
5344         * event is triggered, which is the case for, e.g., CORS errors. This is also the correct status code
5345         * for cached requests, where the status in responseReceived is a 200 and this will be 304.
5346         */
5347        public final int statusCode;
5348
5349        /**
5350         * Raw response header text as it was received over the wire. The raw text may not always be
5351         * available, such as in the case of HTTP/2 or QUIC.
5352         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5353         */
5354        public final String headersText;
5355
5356        /**
5357         * The cookie partition key that will be used to store partitioned cookies set in this response.
5358         * Only sent when partitioned cookies are enabled.
5359         * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
5360         */
5361        public final Network.CookiePartitionKey cookiePartitionKey;
5362
5363        /**
5364         * True if partitioned cookies are enabled, but the partition key is not serializable to string.
5365         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5366         */
5367        public final Boolean cookiePartitionKeyOpaque;
5368
5369        /**
5370         * A list of cookies which should have been blocked by 3PCD but are exempted and stored from
5371         * the response with the corresponding reason.
5372         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5373         */
5374        public final Network.ExemptedSetCookieWithReason[] exemptedCookies;
5375
5376        /** Constructor.  Please review this class' fields for documentation. */
5377        public responseReceivedExtraInfo(
5378                ReadOnlyList<Boolean> isPresent, String requestId,
5379                BlockedSetCookieWithReason[] blockedCookies, JsonValue headers,
5380                String resourceIPAddressSpace, int statusCode, String headersText,
5381                CookiePartitionKey cookiePartitionKey, Boolean cookiePartitionKeyOpaque,
5382                ExemptedSetCookieWithReason[] exemptedCookies
5383            )
5384        {
5385            super(singleton, Domains.Network, "responseReceivedExtraInfo", 9);
5386
5387            this.requestId                  = requestId;
5388            this.blockedCookies             = blockedCookies;
5389            this.headers                    = headers;
5390            this.resourceIPAddressSpace     = resourceIPAddressSpace;
5391            this.statusCode                 = statusCode;
5392            this.headersText                = headersText;
5393            this.cookiePartitionKey         = cookiePartitionKey;
5394            this.cookiePartitionKeyOpaque   = cookiePartitionKeyOpaque;
5395            this.exemptedCookies            = exemptedCookies;
5396
5397            this.isPresent = (isPresent == null)
5398                ? singleton.generateIsPresentList(this)
5399                : THROWS.check(isPresent, 9, "Network.responseReceivedExtraInfo");
5400        }
5401
5402        /** Creates an instance of this class from a {@link JsonObject}.*/
5403        public static responseReceivedExtraInfo fromJSON(JsonObject jo)
5404        { return singleton.fromJSON(jo); }
5405
5406        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5407        public static NestedDescriptor<responseReceivedExtraInfo> descriptor()
5408        { return singleton.descriptor(); }
5409    }
5410
5411    /**
5412     * Fired when a signed exchange was received over the network
5413     * 
5414     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5415     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5416     */
5417    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5418    public static class signedExchangeReceived
5419        extends BrowserEvent<signedExchangeReceived>
5420        implements java.io.Serializable
5421    {
5422        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5423        protected static final long serialVersionUID = 1;
5424
5425        private static final NestedHelper<Network.signedExchangeReceived> singleton =
5426            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5427                Network$$signedExchangeReceived$$.singleton;
5428
5429        /** Request identifier. */
5430        public final String requestId;
5431
5432        /** Information about the signed exchange response. */
5433        public final Network.SignedExchangeInfo info;
5434
5435        /** Constructor.  Please review this class' fields for documentation. */
5436        public signedExchangeReceived
5437            (ReadOnlyList<Boolean> isPresent, String requestId, SignedExchangeInfo info)
5438        {
5439            super(singleton, Domains.Network, "signedExchangeReceived", 2);
5440
5441            this.requestId  = requestId;
5442            this.info       = info;
5443
5444            this.isPresent = (isPresent == null)
5445                ? singleton.generateIsPresentList(this)
5446                : THROWS.check(isPresent, 2, "Network.signedExchangeReceived");
5447        }
5448
5449        /** Creates an instance of this class from a {@link JsonObject}.*/
5450        public static signedExchangeReceived fromJSON(JsonObject jo)
5451        { return singleton.fromJSON(jo); }
5452
5453        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5454        public static NestedDescriptor<signedExchangeReceived> descriptor()
5455        { return singleton.descriptor(); }
5456    }
5457
5458    /**
5459     * Fired when request for resources within a .wbn file failed.
5460     * 
5461     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5462     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5463     */
5464    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5465    public static class subresourceWebBundleInnerResponseError
5466        extends BrowserEvent<subresourceWebBundleInnerResponseError>
5467        implements java.io.Serializable
5468    {
5469        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5470        protected static final long serialVersionUID = 1;
5471
5472        private static final NestedHelper<Network.subresourceWebBundleInnerResponseError> singleton =
5473            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5474                Network$$subresourceWebBundleInnerResponseError$$.singleton;
5475
5476        /** Request identifier of the subresource request */
5477        public final String innerRequestId;
5478
5479        /** URL of the subresource resource. */
5480        public final String innerRequestURL;
5481
5482        /** Error message */
5483        public final String errorMessage;
5484
5485        /**
5486         * Bundle request identifier. Used to match this information to another event.
5487         * This made be absent in case when the instrumentation was enabled only
5488         * after webbundle was parsed.
5489         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5490         */
5491        public final String bundleRequestId;
5492
5493        /** Constructor.  Please review this class' fields for documentation. */
5494        public subresourceWebBundleInnerResponseError(
5495                ReadOnlyList<Boolean> isPresent, String innerRequestId, String innerRequestURL,
5496                String errorMessage, String bundleRequestId
5497            )
5498        {
5499            super(singleton, Domains.Network, "subresourceWebBundleInnerResponseError", 4);
5500
5501            this.innerRequestId     = innerRequestId;
5502            this.innerRequestURL    = innerRequestURL;
5503            this.errorMessage       = errorMessage;
5504            this.bundleRequestId    = bundleRequestId;
5505
5506            this.isPresent = (isPresent == null)
5507                ? singleton.generateIsPresentList(this)
5508                : THROWS.check(isPresent, 4, "Network.subresourceWebBundleInnerResponseError");
5509        }
5510
5511        /** Creates an instance of this class from a {@link JsonObject}.*/
5512        public static subresourceWebBundleInnerResponseError fromJSON(JsonObject jo)
5513        { return singleton.fromJSON(jo); }
5514
5515        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5516        public static NestedDescriptor<subresourceWebBundleInnerResponseError> descriptor()
5517        { return singleton.descriptor(); }
5518    }
5519
5520    /**
5521     * Fired when handling requests for resources within a .wbn file.
5522     * Note: this will only be fired for resources that are requested by the webpage.
5523     * 
5524     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5525     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5526     */
5527    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5528    public static class subresourceWebBundleInnerResponseParsed
5529        extends BrowserEvent<subresourceWebBundleInnerResponseParsed>
5530        implements java.io.Serializable
5531    {
5532        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5533        protected static final long serialVersionUID = 1;
5534
5535        private static final NestedHelper<Network.subresourceWebBundleInnerResponseParsed> singleton =
5536            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5537                Network$$subresourceWebBundleInnerResponseParsed$$.singleton;
5538
5539        /** Request identifier of the subresource request */
5540        public final String innerRequestId;
5541
5542        /** URL of the subresource resource. */
5543        public final String innerRequestURL;
5544
5545        /**
5546         * Bundle request identifier. Used to match this information to another event.
5547         * This made be absent in case when the instrumentation was enabled only
5548         * after webbundle was parsed.
5549         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5550         */
5551        public final String bundleRequestId;
5552
5553        /** Constructor.  Please review this class' fields for documentation. */
5554        public subresourceWebBundleInnerResponseParsed(
5555                ReadOnlyList<Boolean> isPresent, String innerRequestId, String innerRequestURL,
5556                String bundleRequestId
5557            )
5558        {
5559            super(singleton, Domains.Network, "subresourceWebBundleInnerResponseParsed", 3);
5560
5561            this.innerRequestId     = innerRequestId;
5562            this.innerRequestURL    = innerRequestURL;
5563            this.bundleRequestId    = bundleRequestId;
5564
5565            this.isPresent = (isPresent == null)
5566                ? singleton.generateIsPresentList(this)
5567                : THROWS.check(isPresent, 3, "Network.subresourceWebBundleInnerResponseParsed");
5568        }
5569
5570        /** Creates an instance of this class from a {@link JsonObject}.*/
5571        public static subresourceWebBundleInnerResponseParsed fromJSON(JsonObject jo)
5572        { return singleton.fromJSON(jo); }
5573
5574        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5575        public static NestedDescriptor<subresourceWebBundleInnerResponseParsed> descriptor()
5576        { return singleton.descriptor(); }
5577    }
5578
5579    /**
5580     * Fired once when parsing the .wbn file has failed.
5581     * 
5582     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5583     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5584     */
5585    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5586    public static class subresourceWebBundleMetadataError
5587        extends BrowserEvent<subresourceWebBundleMetadataError>
5588        implements java.io.Serializable
5589    {
5590        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5591        protected static final long serialVersionUID = 1;
5592
5593        private static final NestedHelper<Network.subresourceWebBundleMetadataError> singleton =
5594            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5595                Network$$subresourceWebBundleMetadataError$$.singleton;
5596
5597        /** Request identifier. Used to match this information to another event. */
5598        public final String requestId;
5599
5600        /** Error message */
5601        public final String errorMessage;
5602
5603        /** Constructor.  Please review this class' fields for documentation. */
5604        public subresourceWebBundleMetadataError
5605            (ReadOnlyList<Boolean> isPresent, String requestId, String errorMessage)
5606        {
5607            super(singleton, Domains.Network, "subresourceWebBundleMetadataError", 2);
5608
5609            this.requestId      = requestId;
5610            this.errorMessage   = errorMessage;
5611
5612            this.isPresent = (isPresent == null)
5613                ? singleton.generateIsPresentList(this)
5614                : THROWS.check(isPresent, 2, "Network.subresourceWebBundleMetadataError");
5615        }
5616
5617        /** Creates an instance of this class from a {@link JsonObject}.*/
5618        public static subresourceWebBundleMetadataError fromJSON(JsonObject jo)
5619        { return singleton.fromJSON(jo); }
5620
5621        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5622        public static NestedDescriptor<subresourceWebBundleMetadataError> descriptor()
5623        { return singleton.descriptor(); }
5624    }
5625
5626    /**
5627     * Fired once when parsing the .wbn file has succeeded.
5628     * The event contains the information about the web bundle contents.
5629     * 
5630     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5631     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5632     */
5633    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5634    public static class subresourceWebBundleMetadataReceived
5635        extends BrowserEvent<subresourceWebBundleMetadataReceived>
5636        implements java.io.Serializable
5637    {
5638        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5639        protected static final long serialVersionUID = 1;
5640
5641        private static final NestedHelper<Network.subresourceWebBundleMetadataReceived> singleton =
5642            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5643                Network$$subresourceWebBundleMetadataReceived$$.singleton;
5644
5645        /** Request identifier. Used to match this information to another event. */
5646        public final String requestId;
5647
5648        /** A list of URLs of resources in the subresource Web Bundle. */
5649        public final String[] urls;
5650
5651        /** Constructor.  Please review this class' fields for documentation. */
5652        public subresourceWebBundleMetadataReceived
5653            (ReadOnlyList<Boolean> isPresent, String requestId, String[] urls)
5654        {
5655            super(singleton, Domains.Network, "subresourceWebBundleMetadataReceived", 2);
5656
5657            this.requestId  = requestId;
5658            this.urls       = urls;
5659
5660            this.isPresent = (isPresent == null)
5661                ? singleton.generateIsPresentList(this)
5662                : THROWS.check(isPresent, 2, "Network.subresourceWebBundleMetadataReceived");
5663        }
5664
5665        /** Creates an instance of this class from a {@link JsonObject}.*/
5666        public static subresourceWebBundleMetadataReceived fromJSON(JsonObject jo)
5667        { return singleton.fromJSON(jo); }
5668
5669        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5670        public static NestedDescriptor<subresourceWebBundleMetadataReceived> descriptor()
5671        { return singleton.descriptor(); }
5672    }
5673
5674    /**
5675     * Fired exactly once for each Trust Token operation. Depending on
5676     * the type of the operation and whether the operation succeeded or
5677     * failed, the event is fired before the corresponding request was sent
5678     * or after the response was received.
5679     * 
5680     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
5681     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5682     */
5683    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5684    public static class trustTokenOperationDone
5685        extends BrowserEvent<trustTokenOperationDone>
5686        implements java.io.Serializable
5687    {
5688        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5689        protected static final long serialVersionUID = 1;
5690
5691        private static final NestedHelper<Network.trustTokenOperationDone> singleton =
5692            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5693                Network$$trustTokenOperationDone$$.singleton;
5694
5695        /**
5696         * Detailed success or error status of the operation.
5697         * 'AlreadyExists' also signifies a successful operation, as the result
5698         * of the operation already exists und thus, the operation was abort
5699         * preemptively (e.g. a cache hit).
5700         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=trustTokenOperationDone DATA-F=status DATA-FILE-ID=CDP.EL1>
5701         * @see BaseType#enumStrList(String)
5702         */
5703        public final String status;
5704
5705        /**
5706         * <CODE>[No Description Provided by Google]</CODE>
5707         * <EMBED CLASS='external-html' DATA-D=Network DATA-C=TrustTokenOperationType DATA-F=type DATA-FILE-ID=CDP.EL2>
5708         * @see BaseType#enumStrList(String)
5709         */
5710        public final String type;
5711
5712        /** <CODE>[No Description Provided by Google]</CODE> */
5713        public final String requestId;
5714
5715        /**
5716         * Top level origin. The context in which the operation was attempted.
5717         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5718         */
5719        public final String topLevelOrigin;
5720
5721        /**
5722         * Origin of the issuer in case of a "Issuance" or "Redemption" operation.
5723         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5724         */
5725        public final String issuerOrigin;
5726
5727        /**
5728         * The number of obtained Trust Tokens on a successful "Issuance" operation.
5729         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5730         */
5731        public final Integer issuedTokenCount;
5732
5733        /** Constructor.  Please review this class' fields for documentation. */
5734        public trustTokenOperationDone(
5735                ReadOnlyList<Boolean> isPresent, String status, String type, String requestId,
5736                String topLevelOrigin, String issuerOrigin, Integer issuedTokenCount
5737            )
5738        {
5739            super(singleton, Domains.Network, "trustTokenOperationDone", 6);
5740
5741            this.status             = status;
5742            this.type               = type;
5743            this.requestId          = requestId;
5744            this.topLevelOrigin     = topLevelOrigin;
5745            this.issuerOrigin       = issuerOrigin;
5746            this.issuedTokenCount   = issuedTokenCount;
5747
5748            this.isPresent = (isPresent == null)
5749                ? singleton.generateIsPresentList(this)
5750                : THROWS.check(isPresent, 6, "Network.trustTokenOperationDone");
5751        }
5752
5753        /** Creates an instance of this class from a {@link JsonObject}.*/
5754        public static trustTokenOperationDone fromJSON(JsonObject jo)
5755        { return singleton.fromJSON(jo); }
5756
5757        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5758        public static NestedDescriptor<trustTokenOperationDone> descriptor()
5759        { return singleton.descriptor(); }
5760    }
5761
5762    /**
5763     * Fired when WebSocket is closed.
5764     * 
5765     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5766     */
5767    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5768    public static class webSocketClosed
5769        extends BrowserEvent<webSocketClosed>
5770        implements java.io.Serializable
5771    {
5772        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5773        protected static final long serialVersionUID = 1;
5774
5775        private static final NestedHelper<Network.webSocketClosed> singleton =
5776            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5777                Network$$webSocketClosed$$.singleton;
5778
5779        /** Request identifier. */
5780        public final String requestId;
5781
5782        /** Timestamp. */
5783        public final Number timestamp;
5784
5785        /** Constructor.  Please review this class' fields for documentation. */
5786        public webSocketClosed(ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp)
5787        {
5788            super(singleton, Domains.Network, "webSocketClosed", 2);
5789
5790            this.requestId = requestId;
5791            this.timestamp = timestamp;
5792
5793            this.isPresent = (isPresent == null)
5794                ? singleton.generateIsPresentList(this)
5795                : THROWS.check(isPresent, 2, "Network.webSocketClosed");
5796        }
5797
5798        /** Creates an instance of this class from a {@link JsonObject}.*/
5799        public static webSocketClosed fromJSON(JsonObject jo)
5800        { return singleton.fromJSON(jo); }
5801
5802        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5803        public static NestedDescriptor<webSocketClosed> descriptor()
5804        { return singleton.descriptor(); }
5805    }
5806
5807    /**
5808     * Fired upon WebSocket creation.
5809     * 
5810     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5811     */
5812    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5813    public static class webSocketCreated
5814        extends BrowserEvent<webSocketCreated>
5815        implements java.io.Serializable
5816    {
5817        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5818        protected static final long serialVersionUID = 1;
5819
5820        private static final NestedHelper<Network.webSocketCreated> singleton =
5821            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5822                Network$$webSocketCreated$$.singleton;
5823
5824        /** Request identifier. */
5825        public final String requestId;
5826
5827        /** WebSocket request URL. */
5828        public final String url;
5829
5830        /**
5831         * Request initiator.
5832         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
5833         */
5834        public final Network.Initiator initiator;
5835
5836        /** Constructor.  Please review this class' fields for documentation. */
5837        public webSocketCreated
5838            (ReadOnlyList<Boolean> isPresent, String requestId, String url, Initiator initiator)
5839        {
5840            super(singleton, Domains.Network, "webSocketCreated", 3);
5841
5842            this.requestId  = requestId;
5843            this.url        = url;
5844            this.initiator  = initiator;
5845
5846            this.isPresent = (isPresent == null)
5847                ? singleton.generateIsPresentList(this)
5848                : THROWS.check(isPresent, 3, "Network.webSocketCreated");
5849        }
5850
5851        /** Creates an instance of this class from a {@link JsonObject}.*/
5852        public static webSocketCreated fromJSON(JsonObject jo)
5853        { return singleton.fromJSON(jo); }
5854
5855        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5856        public static NestedDescriptor<webSocketCreated> descriptor()
5857        { return singleton.descriptor(); }
5858    }
5859
5860    /**
5861     * Fired when WebSocket message error occurs.
5862     * 
5863     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5864     */
5865    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5866    public static class webSocketFrameError
5867        extends BrowserEvent<webSocketFrameError>
5868        implements java.io.Serializable
5869    {
5870        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5871        protected static final long serialVersionUID = 1;
5872
5873        private static final NestedHelper<Network.webSocketFrameError> singleton =
5874            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5875                Network$$webSocketFrameError$$.singleton;
5876
5877        /** Request identifier. */
5878        public final String requestId;
5879
5880        /** Timestamp. */
5881        public final Number timestamp;
5882
5883        /** WebSocket error message. */
5884        public final String errorMessage;
5885
5886        /** Constructor.  Please review this class' fields for documentation. */
5887        public webSocketFrameError(
5888                ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp,
5889                String errorMessage
5890            )
5891        {
5892            super(singleton, Domains.Network, "webSocketFrameError", 3);
5893
5894            this.requestId      = requestId;
5895            this.timestamp      = timestamp;
5896            this.errorMessage   = errorMessage;
5897
5898            this.isPresent = (isPresent == null)
5899                ? singleton.generateIsPresentList(this)
5900                : THROWS.check(isPresent, 3, "Network.webSocketFrameError");
5901        }
5902
5903        /** Creates an instance of this class from a {@link JsonObject}.*/
5904        public static webSocketFrameError fromJSON(JsonObject jo)
5905        { return singleton.fromJSON(jo); }
5906
5907        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5908        public static NestedDescriptor<webSocketFrameError> descriptor()
5909        { return singleton.descriptor(); }
5910    }
5911
5912    /**
5913     * Fired when WebSocket message is received.
5914     * 
5915     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5916     */
5917    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5918    public static class webSocketFrameReceived
5919        extends BrowserEvent<webSocketFrameReceived>
5920        implements java.io.Serializable
5921    {
5922        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5923        protected static final long serialVersionUID = 1;
5924
5925        private static final NestedHelper<Network.webSocketFrameReceived> singleton =
5926            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5927                Network$$webSocketFrameReceived$$.singleton;
5928
5929        /** Request identifier. */
5930        public final String requestId;
5931
5932        /** Timestamp. */
5933        public final Number timestamp;
5934
5935        /** WebSocket response data. */
5936        public final Network.WebSocketFrame response;
5937
5938        /** Constructor.  Please review this class' fields for documentation. */
5939        public webSocketFrameReceived(
5940                ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp,
5941                WebSocketFrame response
5942            )
5943        {
5944            super(singleton, Domains.Network, "webSocketFrameReceived", 3);
5945
5946            this.requestId  = requestId;
5947            this.timestamp  = timestamp;
5948            this.response   = response;
5949
5950            this.isPresent = (isPresent == null)
5951                ? singleton.generateIsPresentList(this)
5952                : THROWS.check(isPresent, 3, "Network.webSocketFrameReceived");
5953        }
5954
5955        /** Creates an instance of this class from a {@link JsonObject}.*/
5956        public static webSocketFrameReceived fromJSON(JsonObject jo)
5957        { return singleton.fromJSON(jo); }
5958
5959        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
5960        public static NestedDescriptor<webSocketFrameReceived> descriptor()
5961        { return singleton.descriptor(); }
5962    }
5963
5964    /**
5965     * Fired when WebSocket message is sent.
5966     * 
5967     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
5968     */
5969    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
5970    public static class webSocketFrameSent
5971        extends BrowserEvent<webSocketFrameSent>
5972        implements java.io.Serializable
5973    {
5974        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
5975        protected static final long serialVersionUID = 1;
5976
5977        private static final NestedHelper<Network.webSocketFrameSent> singleton =
5978            Torello.Browser.BrowserAPI.NestedHelpers.Events.
5979                Network$$webSocketFrameSent$$.singleton;
5980
5981        /** Request identifier. */
5982        public final String requestId;
5983
5984        /** Timestamp. */
5985        public final Number timestamp;
5986
5987        /** WebSocket response data. */
5988        public final Network.WebSocketFrame response;
5989
5990        /** Constructor.  Please review this class' fields for documentation. */
5991        public webSocketFrameSent(
5992                ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp,
5993                WebSocketFrame response
5994            )
5995        {
5996            super(singleton, Domains.Network, "webSocketFrameSent", 3);
5997
5998            this.requestId  = requestId;
5999            this.timestamp  = timestamp;
6000            this.response   = response;
6001
6002            this.isPresent = (isPresent == null)
6003                ? singleton.generateIsPresentList(this)
6004                : THROWS.check(isPresent, 3, "Network.webSocketFrameSent");
6005        }
6006
6007        /** Creates an instance of this class from a {@link JsonObject}.*/
6008        public static webSocketFrameSent fromJSON(JsonObject jo)
6009        { return singleton.fromJSON(jo); }
6010
6011        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
6012        public static NestedDescriptor<webSocketFrameSent> descriptor()
6013        { return singleton.descriptor(); }
6014    }
6015
6016    /**
6017     * Fired when WebSocket handshake response becomes available.
6018     * 
6019     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
6020     */
6021    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
6022    public static class webSocketHandshakeResponseReceived
6023        extends BrowserEvent<webSocketHandshakeResponseReceived>
6024        implements java.io.Serializable
6025    {
6026        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
6027        protected static final long serialVersionUID = 1;
6028
6029        private static final NestedHelper<Network.webSocketHandshakeResponseReceived> singleton =
6030            Torello.Browser.BrowserAPI.NestedHelpers.Events.
6031                Network$$webSocketHandshakeResponseReceived$$.singleton;
6032
6033        /** Request identifier. */
6034        public final String requestId;
6035
6036        /** Timestamp. */
6037        public final Number timestamp;
6038
6039        /** WebSocket response data. */
6040        public final Network.WebSocketResponse response;
6041
6042        /** Constructor.  Please review this class' fields for documentation. */
6043        public webSocketHandshakeResponseReceived(
6044                ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp,
6045                WebSocketResponse response
6046            )
6047        {
6048            super(singleton, Domains.Network, "webSocketHandshakeResponseReceived", 3);
6049
6050            this.requestId  = requestId;
6051            this.timestamp  = timestamp;
6052            this.response   = response;
6053
6054            this.isPresent = (isPresent == null)
6055                ? singleton.generateIsPresentList(this)
6056                : THROWS.check(isPresent, 3, "Network.webSocketHandshakeResponseReceived");
6057        }
6058
6059        /** Creates an instance of this class from a {@link JsonObject}.*/
6060        public static webSocketHandshakeResponseReceived fromJSON(JsonObject jo)
6061        { return singleton.fromJSON(jo); }
6062
6063        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
6064        public static NestedDescriptor<webSocketHandshakeResponseReceived> descriptor()
6065        { return singleton.descriptor(); }
6066    }
6067
6068    /**
6069     * Fired when WebSocket is about to initiate handshake.
6070     * 
6071     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
6072     */
6073    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
6074    public static class webSocketWillSendHandshakeRequest
6075        extends BrowserEvent<webSocketWillSendHandshakeRequest>
6076        implements java.io.Serializable
6077    {
6078        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
6079        protected static final long serialVersionUID = 1;
6080
6081        private static final NestedHelper<Network.webSocketWillSendHandshakeRequest> singleton =
6082            Torello.Browser.BrowserAPI.NestedHelpers.Events.
6083                Network$$webSocketWillSendHandshakeRequest$$.singleton;
6084
6085        /** Request identifier. */
6086        public final String requestId;
6087
6088        /** Timestamp. */
6089        public final Number timestamp;
6090
6091        /** UTC Timestamp. */
6092        public final Number wallTime;
6093
6094        /** WebSocket request data. */
6095        public final Network.WebSocketRequest request;
6096
6097        /** Constructor.  Please review this class' fields for documentation. */
6098        public webSocketWillSendHandshakeRequest(
6099                ReadOnlyList<Boolean> isPresent, String requestId, Number timestamp,
6100                Number wallTime, WebSocketRequest request
6101            )
6102        {
6103            super(singleton, Domains.Network, "webSocketWillSendHandshakeRequest", 4);
6104
6105            this.requestId  = requestId;
6106            this.timestamp  = timestamp;
6107            this.wallTime   = wallTime;
6108            this.request    = request;
6109
6110            this.isPresent = (isPresent == null)
6111                ? singleton.generateIsPresentList(this)
6112                : THROWS.check(isPresent, 4, "Network.webSocketWillSendHandshakeRequest");
6113        }
6114
6115        /** Creates an instance of this class from a {@link JsonObject}.*/
6116        public static webSocketWillSendHandshakeRequest fromJSON(JsonObject jo)
6117        { return singleton.fromJSON(jo); }
6118
6119        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
6120        public static NestedDescriptor<webSocketWillSendHandshakeRequest> descriptor()
6121        { return singleton.descriptor(); }
6122    }
6123
6124    /**
6125     * Fired when WebTransport is disposed.
6126     * 
6127     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
6128     */
6129    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
6130    public static class webTransportClosed
6131        extends BrowserEvent<webTransportClosed>
6132        implements java.io.Serializable
6133    {
6134        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
6135        protected static final long serialVersionUID = 1;
6136
6137        private static final NestedHelper<Network.webTransportClosed> singleton =
6138            Torello.Browser.BrowserAPI.NestedHelpers.Events.
6139                Network$$webTransportClosed$$.singleton;
6140
6141        /** WebTransport identifier. */
6142        public final String transportId;
6143
6144        /** Timestamp. */
6145        public final Number timestamp;
6146
6147        /** Constructor.  Please review this class' fields for documentation. */
6148        public webTransportClosed
6149            (ReadOnlyList<Boolean> isPresent, String transportId, Number timestamp)
6150        {
6151            super(singleton, Domains.Network, "webTransportClosed", 2);
6152
6153            this.transportId    = transportId;
6154            this.timestamp      = timestamp;
6155
6156            this.isPresent = (isPresent == null)
6157                ? singleton.generateIsPresentList(this)
6158                : THROWS.check(isPresent, 2, "Network.webTransportClosed");
6159        }
6160
6161        /** Creates an instance of this class from a {@link JsonObject}.*/
6162        public static webTransportClosed fromJSON(JsonObject jo)
6163        { return singleton.fromJSON(jo); }
6164
6165        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
6166        public static NestedDescriptor<webTransportClosed> descriptor()
6167        { return singleton.descriptor(); }
6168    }
6169
6170    /**
6171     * Fired when WebTransport handshake is finished.
6172     * 
6173     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
6174     */
6175    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
6176    public static class webTransportConnectionEstablished
6177        extends BrowserEvent<webTransportConnectionEstablished>
6178        implements java.io.Serializable
6179    {
6180        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
6181        protected static final long serialVersionUID = 1;
6182
6183        private static final NestedHelper<Network.webTransportConnectionEstablished> singleton =
6184            Torello.Browser.BrowserAPI.NestedHelpers.Events.
6185                Network$$webTransportConnectionEstablished$$.singleton;
6186
6187        /** WebTransport identifier. */
6188        public final String transportId;
6189
6190        /** Timestamp. */
6191        public final Number timestamp;
6192
6193        /** Constructor.  Please review this class' fields for documentation. */
6194        public webTransportConnectionEstablished
6195            (ReadOnlyList<Boolean> isPresent, String transportId, Number timestamp)
6196        {
6197            super(singleton, Domains.Network, "webTransportConnectionEstablished", 2);
6198
6199            this.transportId    = transportId;
6200            this.timestamp      = timestamp;
6201
6202            this.isPresent = (isPresent == null)
6203                ? singleton.generateIsPresentList(this)
6204                : THROWS.check(isPresent, 2, "Network.webTransportConnectionEstablished");
6205        }
6206
6207        /** Creates an instance of this class from a {@link JsonObject}.*/
6208        public static webTransportConnectionEstablished fromJSON(JsonObject jo)
6209        { return singleton.fromJSON(jo); }
6210
6211        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
6212        public static NestedDescriptor<webTransportConnectionEstablished> descriptor()
6213        { return singleton.descriptor(); }
6214    }
6215
6216    /**
6217     * Fired upon WebTransport creation.
6218     * 
6219     * <EMBED CLASS=globalDefs DATA-DOMAIN=Network DATA-API=BrowserAPI>
6220     */
6221    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
6222    public static class webTransportCreated
6223        extends BrowserEvent<webTransportCreated>
6224        implements java.io.Serializable
6225    {
6226        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
6227        protected static final long serialVersionUID = 1;
6228
6229        private static final NestedHelper<Network.webTransportCreated> singleton =
6230            Torello.Browser.BrowserAPI.NestedHelpers.Events.
6231                Network$$webTransportCreated$$.singleton;
6232
6233        /** WebTransport identifier. */
6234        public final String transportId;
6235
6236        /** WebTransport request URL. */
6237        public final String url;
6238
6239        /** Timestamp. */
6240        public final Number timestamp;
6241
6242        /**
6243         * Request initiator.
6244         * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6245         */
6246        public final Network.Initiator initiator;
6247
6248        /** Constructor.  Please review this class' fields for documentation. */
6249        public webTransportCreated(
6250                ReadOnlyList<Boolean> isPresent, String transportId, String url, Number timestamp,
6251                Initiator initiator
6252            )
6253        {
6254            super(singleton, Domains.Network, "webTransportCreated", 4);
6255
6256            this.transportId    = transportId;
6257            this.url            = url;
6258            this.timestamp      = timestamp;
6259            this.initiator      = initiator;
6260
6261            this.isPresent = (isPresent == null)
6262                ? singleton.generateIsPresentList(this)
6263                : THROWS.check(isPresent, 4, "Network.webTransportCreated");
6264        }
6265
6266        /** Creates an instance of this class from a {@link JsonObject}.*/
6267        public static webTransportCreated fromJSON(JsonObject jo)
6268        { return singleton.fromJSON(jo); }
6269
6270        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
6271        public static NestedDescriptor<webTransportCreated> descriptor()
6272        { return singleton.descriptor(); }
6273    }
6274
6275
6276
6277
6278    // ********************************************************************************************
6279    // ********************************************************************************************
6280    // Commands
6281    // ********************************************************************************************
6282    // ********************************************************************************************
6283
6284
6285    /**
6286     * Tells whether clearing browser cache is supported.
6287     * 
6288     * <BR /><B CLASS=Dep-Top>DEPRECATED</B>
6289     * 
6290     * @return An instance of <CODE>{@link Script}&lt;Boolean&gt;</CODE>
6291     * 
6292     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6293     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6294     * <CODE>&lt;Boolean&gt;</CODE> will be returned
6295     *
6296     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6297     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6298     * be retrieved.</I>
6299     *
6300     * <BR /><BR /><DIV CLASS=JDHint>
6301     * This Browser Function's {@code Promise} returns:
6302     * <CODE>Boolean (<B>result</B>)</CODE>
6303     * <BR />
6304     * True if browser cache can be cleared.
6305     * </DIV>
6306     */
6307    public static Script<Boolean> canClearBrowserCache()
6308    {
6309        // Ultra-Simple Request JSON - Because this method has no parameters
6310        final String requestJSON = "{\"method\":\"Network.canClearBrowserCache\"}";
6311
6312        return new Script<>(
6313            Domains.Network, "canClearBrowserCache", requestJSON,
6314            jo -> ReadBoxedJSON.getBoolean(jo, "result", JFlag.RD_N | JFlag.RD_M, DV.NULL_BOOL),
6315            Boolean.class
6316        );
6317    }
6318
6319    /**
6320     * Tells whether clearing browser cookies is supported.
6321     * 
6322     * <BR /><B CLASS=Dep-Top>DEPRECATED</B>
6323     * 
6324     * @return An instance of <CODE>{@link Script}&lt;Boolean&gt;</CODE>
6325     * 
6326     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6327     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6328     * <CODE>&lt;Boolean&gt;</CODE> will be returned
6329     *
6330     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6331     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6332     * be retrieved.</I>
6333     *
6334     * <BR /><BR /><DIV CLASS=JDHint>
6335     * This Browser Function's {@code Promise} returns:
6336     * <CODE>Boolean (<B>result</B>)</CODE>
6337     * <BR />
6338     * True if browser cookies can be cleared.
6339     * </DIV>
6340     */
6341    public static Script<Boolean> canClearBrowserCookies()
6342    {
6343        // Ultra-Simple Request JSON - Because this method has no parameters
6344        final String requestJSON = "{\"method\":\"Network.canClearBrowserCookies\"}";
6345
6346        return new Script<>(
6347            Domains.Network, "canClearBrowserCookies", requestJSON,
6348            jo -> ReadBoxedJSON.getBoolean(jo, "result", JFlag.RD_N | JFlag.RD_M, DV.NULL_BOOL),
6349            Boolean.class
6350        );
6351    }
6352
6353    /**
6354     * Tells whether emulation of network conditions is supported.
6355     * 
6356     * <BR /><B CLASS=Dep-Top>DEPRECATED</B>
6357     * 
6358     * @return An instance of <CODE>{@link Script}&lt;Boolean&gt;</CODE>
6359     * 
6360     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6361     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6362     * <CODE>&lt;Boolean&gt;</CODE> will be returned
6363     *
6364     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6365     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6366     * be retrieved.</I>
6367     *
6368     * <BR /><BR /><DIV CLASS=JDHint>
6369     * This Browser Function's {@code Promise} returns:
6370     * <CODE>Boolean (<B>result</B>)</CODE>
6371     * <BR />
6372     * True if emulation of network conditions is supported.
6373     * </DIV>
6374     */
6375    public static Script<Boolean> canEmulateNetworkConditions()
6376    {
6377        // Ultra-Simple Request JSON - Because this method has no parameters
6378        final String requestJSON = "{\"method\":\"Network.canEmulateNetworkConditions\"}";
6379
6380        return new Script<>(
6381            Domains.Network, "canEmulateNetworkConditions", requestJSON,
6382            jo -> ReadBoxedJSON.getBoolean(jo, "result", JFlag.RD_N | JFlag.RD_M, DV.NULL_BOOL),
6383            Boolean.class
6384        );
6385    }
6386
6387    /**
6388     * Clears accepted encodings set by setAcceptedEncodings
6389     * 
6390     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
6391     * 
6392     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
6393     *
6394     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
6395     * browser receives the invocation-request.
6396     *
6397     * <BR /><BR /><DIV CLASS=JDHint>
6398     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
6399     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
6400     * the Browser Function has run to completion.
6401     * </DIV>
6402     */
6403    public static Script<Void> clearAcceptedEncodingsOverride()
6404    {
6405        // Ultra-Simple Request JSON - Because this method has no parameters
6406        final String requestJSON = "{\"method\":\"Network.clearAcceptedEncodingsOverride\"}";
6407
6408        return Script.NO_RET(Domains.Network, "clearAcceptedEncodingsOverride", requestJSON);
6409    }
6410
6411    /**
6412     * Clears browser cache.
6413     * 
6414     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
6415     *
6416     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
6417     * browser receives the invocation-request.
6418     *
6419     * <BR /><BR /><DIV CLASS=JDHint>
6420     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
6421     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
6422     * the Browser Function has run to completion.
6423     * </DIV>
6424     */
6425    public static Script<Void> clearBrowserCache()
6426    {
6427        // Ultra-Simple Request JSON - Because this method has no parameters
6428        final String requestJSON = "{\"method\":\"Network.clearBrowserCache\"}";
6429
6430        return Script.NO_RET(Domains.Network, "clearBrowserCache", requestJSON);
6431    }
6432
6433    /**
6434     * Clears browser cookies.
6435     * 
6436     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
6437     *
6438     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
6439     * browser receives the invocation-request.
6440     *
6441     * <BR /><BR /><DIV CLASS=JDHint>
6442     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
6443     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
6444     * the Browser Function has run to completion.
6445     * </DIV>
6446     */
6447    public static Script<Void> clearBrowserCookies()
6448    {
6449        // Ultra-Simple Request JSON - Because this method has no parameters
6450        final String requestJSON = "{\"method\":\"Network.clearBrowserCookies\"}";
6451
6452        return Script.NO_RET(Domains.Network, "clearBrowserCookies", requestJSON);
6453    }
6454
6455    /**
6456     * Response to Network.requestIntercepted which either modifies the request to continue with any
6457     * modifications, or blocks it, or completes it with the provided response bytes. If a network
6458     * fetch occurs as a result which encounters a redirect an additional Network.requestIntercepted
6459     * event will be sent with the same InterceptionId.
6460     * Deprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.
6461     * 
6462     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B><B CLASS=Dep-Top>DEPRECATED</B>
6463     * 
6464     * <BR /><BR /><DIV CLASS=JDHint>
6465     * 👍 Because of the sheer number of input parameters to this method, there is a
6466     * a {@link CommandBuilder} variant to this method which may be invoked instead.
6467     * 
6468     * <BR /><BR />
6469     * Please View: {@link #continueInterceptedRequest()}
6470     * </DIV>
6471     * 
6472     * @param interceptionId -
6473     * 
6474     * @param errorReason 
6475     * If set this causes the request to fail with the given reason. Passing <CODE>Aborted</CODE> for requests
6476     * marked with <CODE>isNavigationRequest</CODE> also cancels the navigation. Must not be set in response
6477     * to an authChallenge.
6478     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6479     * 
6480     * @param rawResponse 
6481     * If set the requests completes using with the provided base64 encoded raw response, including
6482     * HTTP status line and headers etc... Must not be set in response to an authChallenge. (Encoded as a base64 string when passed over JSON)
6483     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6484     * 
6485     * @param url 
6486     * If set the request url will be modified in a way that's not observable by page. Must not be
6487     * set in response to an authChallenge.
6488     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6489     * 
6490     * @param method 
6491     * If set this allows the request method to be overridden. Must not be set in response to an
6492     * authChallenge.
6493     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6494     * 
6495     * @param postData If set this allows postData to be set. Must not be set in response to an authChallenge.
6496     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6497     * 
6498     * @param headers 
6499     * If set this allows the request headers to be changed. Must not be set in response to an
6500     * authChallenge.
6501     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6502     * 
6503     * @param authChallengeResponse Response to a requestIntercepted with an authChallenge. Must not be set otherwise.
6504     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6505     * 
6506     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
6507     *
6508     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
6509     * browser receives the invocation-request.
6510     *
6511     * <BR /><BR /><DIV CLASS=JDHint>
6512     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
6513     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
6514     * the Browser Function has run to completion.
6515     * </DIV>
6516     */
6517    public static Script<Void> continueInterceptedRequest(
6518            String interceptionId, String errorReason, String rawResponse, String url,
6519            String method, String postData, JsonValue headers,
6520            AuthChallengeResponse authChallengeResponse
6521        )
6522    {
6523        // Convert all Method Parameters into a JSON Request-Object (as a String)
6524        final String requestJSON = WriteJSON.get(
6525            Network$$Commands.continueInterceptedRequest$$, "Network.continueInterceptedRequest",
6526            interceptionId, errorReason, rawResponse, url, method, postData, headers,
6527            authChallengeResponse
6528        );
6529
6530        return Script.NO_RET(Domains.Network, "continueInterceptedRequest", requestJSON);
6531    }
6532
6533    /**
6534     * Deletes browser cookies with matching name and url or domain/path/partitionKey pair.
6535     * 
6536     * <BR /><BR /><DIV CLASS=JDHint>
6537     * 👍 Because of the sheer number of input parameters to this method, there is a
6538     * a {@link CommandBuilder} variant to this method which may be invoked instead.
6539     * 
6540     * <BR /><BR />
6541     * Please View: {@link #deleteCookies()}
6542     * </DIV>
6543     * 
6544     * @param name Name of the cookies to remove.
6545     * 
6546     * @param url 
6547     * If specified, deletes all the cookies with the given name where domain and path match
6548     * provided URL.
6549     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6550     * 
6551     * @param domain If specified, deletes only cookies with the exact domain.
6552     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6553     * 
6554     * @param path If specified, deletes only cookies with the exact path.
6555     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6556     * 
6557     * @param partitionKey 
6558     * If specified, deletes only cookies with the the given name and partitionKey where
6559     * all partition key attributes match the cookie partition key attribute.
6560     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
6561     * 
6562     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
6563     *
6564     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
6565     * browser receives the invocation-request.
6566     *
6567     * <BR /><BR /><DIV CLASS=JDHint>
6568     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
6569     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
6570     * the Browser Function has run to completion.
6571     * </DIV>
6572     */
6573    public static Script<Void> deleteCookies
6574        (String name, String url, String domain, String path, CookiePartitionKey partitionKey)
6575    {
6576        // Convert all Method Parameters into a JSON Request-Object (as a String)
6577        final String requestJSON = WriteJSON.get(
6578            Network$$Commands.deleteCookies$$, "Network.deleteCookies",
6579            name, url, domain, path, partitionKey
6580        );
6581
6582        return Script.NO_RET(Domains.Network, "deleteCookies", requestJSON);
6583    }
6584
6585    /**
6586     * Disables network tracking, prevents network events from being sent to the client.
6587     * 
6588     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
6589     *
6590     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
6591     * browser receives the invocation-request.
6592     *
6593     * <BR /><BR /><DIV CLASS=JDHint>
6594     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
6595     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
6596     * the Browser Function has run to completion.
6597     * </DIV>
6598     */
6599    public static Script<Void> disable()
6600    {
6601        // Ultra-Simple Request JSON - Because this method has no parameters
6602        final String requestJSON = "{\"method\":\"Network.disable\"}";
6603
6604        return Script.NO_RET(Domains.Network, "disable", requestJSON);
6605    }
6606
6607    /**
6608     * Activates emulation of network conditions.
6609     * 
6610     * <BR /><BR /><DIV CLASS=JDHint>
6611     * 👍 Because of the sheer number of input parameters to this method, there is a
6612     * a {@link CommandBuilder} variant to this method which may be invoked instead.
6613     * 
6614     * <BR /><BR />
6615     * Please View: {@link #emulateNetworkConditions()}
6616     * </DIV>
6617     * 
6618     * @param offline True to emulate internet disconnection.
6619     * 
6620     * @param latency Minimum latency from request sent to response headers received (ms).
6621     * 
6622     * @param downloadThroughput Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.
6623     * 
6624     * @param uploadThroughput Maximal aggregated upload throughput (bytes/sec).  -1 disables upload throttling.
6625     * 
6626     * @param connectionType Connection type if known.
6627     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6628     * 
6629     * @param packetLoss WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.
6630     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
6631     * 
6632     * @param packetQueueLength WebRTC packet queue length (packet). 0 removes any queue length limitations.
6633     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
6634     * 
6635     * @param packetReordering WebRTC packetReordering feature.
6636     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
6637     * 
6638     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
6639     *
6640     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
6641     * browser receives the invocation-request.
6642     *
6643     * <BR /><BR /><DIV CLASS=JDHint>
6644     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
6645     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
6646     * the Browser Function has run to completion.
6647     * </DIV>
6648     */
6649    public static Script<Void> emulateNetworkConditions(
6650            boolean offline, Number latency, Number downloadThroughput, Number uploadThroughput,
6651            String connectionType, Number packetLoss, Integer packetQueueLength,
6652            Boolean packetReordering
6653        )
6654    {
6655        // Convert all Method Parameters into a JSON Request-Object (as a String)
6656        final String requestJSON = WriteJSON.get(
6657            Network$$Commands.emulateNetworkConditions$$, "Network.emulateNetworkConditions",
6658            offline, latency, downloadThroughput, uploadThroughput, connectionType, packetLoss,
6659            packetQueueLength, packetReordering
6660        );
6661
6662        return Script.NO_RET(Domains.Network, "emulateNetworkConditions", requestJSON);
6663    }
6664
6665    /**
6666     * Enables network tracking, network events will now be delivered to the client.
6667     * 
6668     * @param maxTotalBufferSize Buffer size in bytes to use when preserving network payloads (XHRs, etc).
6669     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
6670     * 
6671     * @param maxResourceBufferSize Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).
6672     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
6673     * 
6674     * @param maxPostDataSize Longest post body size (in bytes) that would be included in requestWillBeSent notification
6675     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6676     * 
6677     * @param reportDirectSocketTraffic Whether DirectSocket chunk send/receive events should be reported.
6678     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
6679     * 
6680     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
6681     *
6682     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
6683     * browser receives the invocation-request.
6684     *
6685     * <BR /><BR /><DIV CLASS=JDHint>
6686     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
6687     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
6688     * the Browser Function has run to completion.
6689     * </DIV>
6690     */
6691    public static Script<Void> enable(
6692            Integer maxTotalBufferSize, Integer maxResourceBufferSize, Integer maxPostDataSize,
6693            Boolean reportDirectSocketTraffic
6694        )
6695    {
6696        // Convert all Method Parameters into a JSON Request-Object (as a String)
6697        final String requestJSON = WriteJSON.get(
6698            Network$$Commands.enable$$, "Network.enable",
6699            maxTotalBufferSize, maxResourceBufferSize, maxPostDataSize, reportDirectSocketTraffic
6700        );
6701
6702        return Script.NO_RET(Domains.Network, "enable", requestJSON);
6703    }
6704
6705    /**
6706     * Enables tracking for the Reporting API, events generated by the Reporting API will now be delivered to the client.
6707     * Enabling triggers 'reportingApiReportAdded' for all existing reports.
6708     * 
6709     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
6710     * 
6711     * @param enable Whether to enable or disable events for the Reporting API
6712     * 
6713     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
6714     *
6715     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
6716     * browser receives the invocation-request.
6717     *
6718     * <BR /><BR /><DIV CLASS=JDHint>
6719     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
6720     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
6721     * the Browser Function has run to completion.
6722     * </DIV>
6723     */
6724    public static Script<Void> enableReportingApi(boolean enable)
6725    {
6726        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
6727        final String requestJSON = WriteJSON.get
6728            (CDPTypes.PRIMITIVE_BOOLEAN, "enable", false, "Network.enableReportingApi", enable);
6729
6730        return Script.NO_RET(Domains.Network, "enableReportingApi", requestJSON);
6731    }
6732
6733    /**
6734     * Returns all browser cookies. Depending on the backend support, will return detailed cookie
6735     * information in the <CODE>cookies</CODE> field.
6736     * Deprecated. Use Storage.getCookies instead.
6737     * 
6738     * <BR /><B CLASS=Dep-Top>DEPRECATED</B>
6739     * 
6740     * @return An instance of <CODE>{@link Script}&lt;{@link Network.Cookie}[]&gt;</CODE>
6741     * 
6742     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6743     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6744     * <CODE>&lt;{@link Network.Cookie}[]&gt;</CODE> will be returned
6745     *
6746     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6747     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6748     * be retrieved.</I>
6749     *
6750     * <BR /><BR /><DIV CLASS=JDHint>
6751     * This Browser Function's {@code Promise} returns:
6752     * <CODE>{@link Network.Cookie}[] (<B>cookies</B>)</CODE>
6753     * <BR />
6754     * Array of cookie objects.
6755     * </DIV>
6756     */
6757    public static Script<Network.Cookie[]> getAllCookies()
6758    {
6759        // Ultra-Simple Request JSON - Because this method has no parameters
6760        final String requestJSON = "{\"method\":\"Network.getAllCookies\"}";
6761
6762        return new Script<>(
6763            Domains.Network, "getAllCookies", requestJSON,
6764            Network$$Commands::getAllCookies,
6765            Network.Cookie[].class
6766        );
6767    }
6768
6769    /**
6770     * Returns the DER-encoded certificate.
6771     * 
6772     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
6773     * 
6774     * @param origin Origin to get certificate for.
6775     * 
6776     * @return An instance of <CODE>{@link Script}&lt;String[]&gt;</CODE>
6777     * 
6778     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6779     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6780     * <CODE>&lt;String[]&gt;</CODE> will be returned
6781     *
6782     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6783     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6784     * be retrieved.</I>
6785     *
6786     * <BR /><BR /><DIV CLASS=JDHint>
6787     * This Browser Function's {@code Promise} returns:
6788     * <CODE>String[] (<B>tableNames</B>)</CODE>
6789     * </DIV>
6790     */
6791    public static Script<String[]> getCertificate(String origin)
6792    {
6793        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
6794        final String requestJSON = WriteJSON.get
6795            (CDPTypes.STRING, "origin", false, "Network.getCertificate", origin);
6796
6797        return new Script<>(
6798            Domains.Network, "getCertificate", requestJSON,
6799            Network$$Commands::getCertificate,
6800            String[].class
6801        );
6802    }
6803
6804    /**
6805     * Returns all browser cookies for the current URL. Depending on the backend support, will return
6806     * detailed cookie information in the <CODE>cookies</CODE> field.
6807     * 
6808     * @param urls 
6809     * The list of URLs for which applicable cookies will be fetched.
6810     * If not specified, it's assumed to be set to the list containing
6811     * the URLs of the page and all of its subframes.
6812     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6813     * 
6814     * @return An instance of <CODE>{@link Script}&lt;{@link Network.Cookie}[]&gt;</CODE>
6815     * 
6816     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6817     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6818     * <CODE>&lt;{@link Network.Cookie}[]&gt;</CODE> will be returned
6819     *
6820     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6821     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6822     * be retrieved.</I>
6823     *
6824     * <BR /><BR /><DIV CLASS=JDHint>
6825     * This Browser Function's {@code Promise} returns:
6826     * <CODE>{@link Network.Cookie}[] (<B>cookies</B>)</CODE>
6827     * <BR />
6828     * Array of cookie objects.
6829     * </DIV>
6830     */
6831    public static Script<Network.Cookie[]> getCookies(String[] urls)
6832    {
6833        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
6834        final String requestJSON = WriteJSON.get
6835            (CDPTypes.STRING_ARRAY_1D, "urls", true, "Network.getCookies", (Object) urls);
6836
6837        return new Script<>(
6838            Domains.Network, "getCookies", requestJSON,
6839            Network$$Commands::getCookies,
6840            Network.Cookie[].class
6841        );
6842    }
6843
6844    /**
6845     * Returns post data sent with the request. Returns an error when no data was sent with the request.
6846     * 
6847     * @param requestId Identifier of the network request to get content for.
6848     * 
6849     * @return An instance of <CODE>{@link Script}&lt;String&gt;</CODE>
6850     * 
6851     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6852     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6853     * <CODE>&lt;String&gt;</CODE> will be returned
6854     *
6855     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6856     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6857     * be retrieved.</I>
6858     *
6859     * <BR /><BR /><DIV CLASS=JDHint>
6860     * This Browser Function's {@code Promise} returns:
6861     * <CODE>String (<B>postData</B>)</CODE>
6862     * <BR />
6863     * Request body string, omitting files from multipart requests
6864     * </DIV>
6865     */
6866    public static Script<String> getRequestPostData(String requestId)
6867    {
6868        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
6869        final String requestJSON = WriteJSON.get
6870            (CDPTypes.STRING, "requestId", false, "Network.getRequestPostData", requestId);
6871
6872        return new Script<>(
6873            Domains.Network, "getRequestPostData", requestJSON,
6874            jo -> ReadJSON.getString(jo, "postData", true, false),
6875            String.class
6876        );
6877    }
6878
6879    /**
6880     * Returns content served for the given request.
6881     * 
6882     * @param requestId Identifier of the network request to get content for.
6883     * 
6884     * @return An instance of <CODE>{@link Script}&lt;{@link getResponseBody$$RET}&gt;</CODE>
6885     * 
6886     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6887     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6888     * <CODE>&lt;{@link getResponseBody$$RET}&gt;</CODE> will be returned
6889     *
6890     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6891     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6892     * be retrieved.</I>
6893     *
6894     * <BR /><BR /><DIV CLASS=JDHint>
6895     * This Browser Function's {@code Promise} returns:{@link getResponseBody$$RET}
6896     * A dedicated return type implies that the browser may return more than 1 datum
6897     * </DIV>
6898     */
6899    public static Script<getResponseBody$$RET> getResponseBody(String requestId)
6900    {
6901        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
6902        final String requestJSON = WriteJSON.get
6903            (CDPTypes.STRING, "requestId", false, "Network.getResponseBody", requestId);
6904
6905        return new Script<>(
6906            Domains.Network, "getResponseBody", requestJSON,
6907            getResponseBody$$RET::fromJSON,
6908            getResponseBody$$RET.class
6909        );
6910    }
6911
6912    /**
6913     * Returns content served for the given currently intercepted request.
6914     * 
6915     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
6916     * 
6917     * @param interceptionId Identifier for the intercepted request to get body for.
6918     * 
6919     * @return An instance of <CODE>{@link Script}
6920     * &lt;{@link getResponseBodyForInterception$$RET}&gt;</CODE>
6921     * 
6922     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6923     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6924     * <CODE>&lt;{@link getResponseBodyForInterception$$RET}&gt;</CODE> will be returned
6925     *
6926     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6927     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6928     * be retrieved.</I>
6929     *
6930     * <BR /><BR /><DIV CLASS=JDHint>
6931     * This Browser Function's {@code Promise} returns:{@link getResponseBodyForInterception$$RET}
6932     * A dedicated return type implies that the browser may return more than 1 datum
6933     * </DIV>
6934     */
6935    public static Script<getResponseBodyForInterception$$RET> getResponseBodyForInterception
6936        (String interceptionId)
6937    {
6938        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
6939        final String requestJSON = WriteJSON.get(
6940            CDPTypes.STRING, "interceptionId", false, "Network.getResponseBodyForInterception",
6941            interceptionId
6942        );
6943
6944        return new Script<>(
6945            Domains.Network, "getResponseBodyForInterception", requestJSON,
6946            getResponseBodyForInterception$$RET::fromJSON,
6947            getResponseBodyForInterception$$RET.class
6948        );
6949    }
6950
6951    /**
6952     * Returns information about the COEP/COOP isolation status.
6953     * 
6954     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
6955     * 
6956     * @param frameId If no frameId is provided, the status of the target is provided.
6957     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6958     * 
6959     * @return An instance of <CODE>{@link Script}&lt;{@link Network.SecurityIsolationStatus}&gt;</CODE>
6960     * 
6961     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
6962     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
6963     * <CODE>&lt;{@link Network.SecurityIsolationStatus}&gt;</CODE> will be returned
6964     *
6965     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
6966     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
6967     * be retrieved.</I>
6968     *
6969     * <BR /><BR /><DIV CLASS=JDHint>
6970     * This Browser Function's {@code Promise} returns:
6971     * <CODE>{@link Network.SecurityIsolationStatus} (<B>status</B>)</CODE>
6972     * </DIV>
6973     */
6974    public static Script<Network.SecurityIsolationStatus> getSecurityIsolationStatus
6975        (String frameId)
6976    {
6977        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
6978        final String requestJSON = WriteJSON.get
6979            (CDPTypes.STRING, "frameId", true, "Network.getSecurityIsolationStatus", frameId);
6980
6981        return new Script<>(
6982            Domains.Network, "getSecurityIsolationStatus", requestJSON,
6983            Network$$Commands::getSecurityIsolationStatus,
6984            Network.SecurityIsolationStatus.class
6985        );
6986    }
6987
6988    /**
6989     * Fetches the resource and returns the content.
6990     * 
6991     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
6992     * 
6993     * @param frameId 
6994     * Frame id to get the resource for. Mandatory for frame targets, and
6995     * should be omitted for worker targets.
6996     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
6997     * 
6998     * @param url URL of the resource to get content for.
6999     * 
7000     * @param options Options for the request.
7001     * 
7002     * @return An instance of <CODE>{@link Script}
7003     * &lt;{@link Network.LoadNetworkResourcePageResult}&gt;</CODE>
7004     * 
7005     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
7006     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
7007     * <CODE>&lt;{@link Network.LoadNetworkResourcePageResult}&gt;</CODE> will be returned
7008     *
7009     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
7010     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
7011     * be retrieved.</I>
7012     *
7013     * <BR /><BR /><DIV CLASS=JDHint>
7014     * This Browser Function's {@code Promise} returns:
7015     * <CODE>{@link Network.LoadNetworkResourcePageResult} (<B>resource</B>)</CODE>
7016     * </DIV>
7017     */
7018    public static Script<Network.LoadNetworkResourcePageResult> loadNetworkResource
7019        (String frameId, String url, LoadNetworkResourceOptions options)
7020    {
7021        // Convert all Method Parameters into a JSON Request-Object (as a String)
7022        final String requestJSON = WriteJSON.get(
7023            Network$$Commands.loadNetworkResource$$, "Network.loadNetworkResource",
7024            frameId, url, options
7025        );
7026
7027        return new Script<>(
7028            Domains.Network, "loadNetworkResource", requestJSON,
7029            Network$$Commands::loadNetworkResource,
7030            Network.LoadNetworkResourcePageResult.class
7031        );
7032    }
7033
7034    /**
7035     * This method sends a new XMLHttpRequest which is identical to the original one. The following
7036     * parameters should be identical: method, url, async, request body, extra headers, withCredentials
7037     * attribute, user, password.
7038     * 
7039     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
7040     * 
7041     * @param requestId Identifier of XHR to replay.
7042     * 
7043     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7044     *
7045     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7046     * browser receives the invocation-request.
7047     *
7048     * <BR /><BR /><DIV CLASS=JDHint>
7049     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7050     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7051     * the Browser Function has run to completion.
7052     * </DIV>
7053     */
7054    public static Script<Void> replayXHR(String requestId)
7055    {
7056        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7057        final String requestJSON = WriteJSON.get
7058            (CDPTypes.STRING, "requestId", false, "Network.replayXHR", requestId);
7059
7060        return Script.NO_RET(Domains.Network, "replayXHR", requestJSON);
7061    }
7062
7063    /**
7064     * Searches for given string in response content.
7065     * 
7066     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
7067     * 
7068     * @param requestId Identifier of the network response to search.
7069     * 
7070     * @param query String to search for.
7071     * 
7072     * @param caseSensitive If true, search is case sensitive.
7073     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7074     * 
7075     * @param isRegex If true, treats string parameter as regex.
7076     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7077     * 
7078     * @return An instance of <CODE>{@link Script}&lt;{@link Debugger.SearchMatch}[]&gt;</CODE>
7079     * 
7080     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
7081     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
7082     * <CODE>&lt;{@link Debugger.SearchMatch}[]&gt;</CODE> will be returned
7083     *
7084     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
7085     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
7086     * be retrieved.</I>
7087     *
7088     * <BR /><BR /><DIV CLASS=JDHint>
7089     * This Browser Function's {@code Promise} returns:
7090     * <CODE>{@link Debugger.SearchMatch}[] (<B>result</B>)</CODE>
7091     * <BR />
7092     * List of search matches.
7093     * </DIV>
7094     */
7095    public static Script<Debugger.SearchMatch[]> searchInResponseBody
7096        (String requestId, String query, Boolean caseSensitive, Boolean isRegex)
7097    {
7098        // Convert all Method Parameters into a JSON Request-Object (as a String)
7099        final String requestJSON = WriteJSON.get(
7100            Network$$Commands.searchInResponseBody$$, "Network.searchInResponseBody",
7101            requestId, query, caseSensitive, isRegex
7102        );
7103
7104        return new Script<>(
7105            Domains.Network, "searchInResponseBody", requestJSON,
7106            Network$$Commands::searchInResponseBody,
7107            Debugger.SearchMatch[].class
7108        );
7109    }
7110
7111    /**
7112     * Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted.
7113     * 
7114     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
7115     * 
7116     * @param encodings List of accepted content encodings.
7117     * 
7118     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7119     *
7120     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7121     * browser receives the invocation-request.
7122     *
7123     * <BR /><BR /><DIV CLASS=JDHint>
7124     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7125     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7126     * the Browser Function has run to completion.
7127     * </DIV>
7128     */
7129    public static Script<Void> setAcceptedEncodings(String[] encodings)
7130    {
7131        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7132        final String requestJSON = WriteJSON.get(
7133            CDPTypes.STRING_ARRAY_1D, "encodings", false, "Network.setAcceptedEncodings",
7134            (Object) encodings
7135        );
7136
7137        return Script.NO_RET(Domains.Network, "setAcceptedEncodings", requestJSON);
7138    }
7139
7140    /**
7141     * Specifies whether to attach a page script stack id in requests
7142     * 
7143     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
7144     * 
7145     * @param enabled Whether to attach a page script stack for debugging purpose.
7146     * 
7147     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7148     *
7149     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7150     * browser receives the invocation-request.
7151     *
7152     * <BR /><BR /><DIV CLASS=JDHint>
7153     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7154     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7155     * the Browser Function has run to completion.
7156     * </DIV>
7157     */
7158    public static Script<Void> setAttachDebugStack(boolean enabled)
7159    {
7160        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7161        final String requestJSON = WriteJSON.get(
7162            CDPTypes.PRIMITIVE_BOOLEAN, "enabled", false, "Network.setAttachDebugStack", enabled
7163        );
7164
7165        return Script.NO_RET(Domains.Network, "setAttachDebugStack", requestJSON);
7166    }
7167
7168    /**
7169     * Blocks URLs from loading.
7170     * 
7171     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
7172     * 
7173     * @param urls URL patterns to block. Wildcards ('*') are allowed.
7174     * 
7175     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7176     *
7177     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7178     * browser receives the invocation-request.
7179     *
7180     * <BR /><BR /><DIV CLASS=JDHint>
7181     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7182     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7183     * the Browser Function has run to completion.
7184     * </DIV>
7185     */
7186    public static Script<Void> setBlockedURLs(String[] urls)
7187    {
7188        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7189        final String requestJSON = WriteJSON.get
7190            (CDPTypes.STRING_ARRAY_1D, "urls", false, "Network.setBlockedURLs", (Object) urls);
7191
7192        return Script.NO_RET(Domains.Network, "setBlockedURLs", requestJSON);
7193    }
7194
7195    /**
7196     * Toggles ignoring of service worker for each request.
7197     * 
7198     * @param bypass Bypass service worker and load from network.
7199     * 
7200     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7201     *
7202     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7203     * browser receives the invocation-request.
7204     *
7205     * <BR /><BR /><DIV CLASS=JDHint>
7206     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7207     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7208     * the Browser Function has run to completion.
7209     * </DIV>
7210     */
7211    public static Script<Void> setBypassServiceWorker(boolean bypass)
7212    {
7213        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7214        final String requestJSON = WriteJSON.get(
7215            CDPTypes.PRIMITIVE_BOOLEAN, "bypass", false, "Network.setBypassServiceWorker",
7216            bypass
7217        );
7218
7219        return Script.NO_RET(Domains.Network, "setBypassServiceWorker", requestJSON);
7220    }
7221
7222    /**
7223     * Toggles ignoring cache for each request. If <CODE>true</CODE>, cache will not be used.
7224     * 
7225     * @param cacheDisabled Cache disabled state.
7226     * 
7227     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7228     *
7229     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7230     * browser receives the invocation-request.
7231     *
7232     * <BR /><BR /><DIV CLASS=JDHint>
7233     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7234     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7235     * the Browser Function has run to completion.
7236     * </DIV>
7237     */
7238    public static Script<Void> setCacheDisabled(boolean cacheDisabled)
7239    {
7240        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7241        final String requestJSON = WriteJSON.get(
7242            CDPTypes.PRIMITIVE_BOOLEAN, "cacheDisabled", false, "Network.setCacheDisabled",
7243            cacheDisabled
7244        );
7245
7246        return Script.NO_RET(Domains.Network, "setCacheDisabled", requestJSON);
7247    }
7248
7249    /**
7250     * Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.
7251     * 
7252     * <BR /><BR /><DIV CLASS=JDHint>
7253     * 👍 Because of the sheer number of input parameters to this method, there is a
7254     * a {@link CommandBuilder} variant to this method which may be invoked instead.
7255     * 
7256     * <BR /><BR />
7257     * Please View: {@link #setCookie()}
7258     * </DIV>
7259     * 
7260     * @param name Cookie name.
7261     * 
7262     * @param value Cookie value.
7263     * 
7264     * @param url 
7265     * The request-URI to associate with the setting of the cookie. This value can affect the
7266     * default domain, path, source port, and source scheme values of the created cookie.
7267     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7268     * 
7269     * @param domain Cookie domain.
7270     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7271     * 
7272     * @param path Cookie path.
7273     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7274     * 
7275     * @param secure True if cookie is secure.
7276     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7277     * 
7278     * @param httpOnly True if cookie is http-only.
7279     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7280     * 
7281     * @param sameSite Cookie SameSite type.
7282     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7283     * 
7284     * @param expires Cookie expiration date, session cookie if not set
7285     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7286     * 
7287     * @param priority Cookie Priority type.
7288     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
7289     * 
7290     * @param sameParty True if cookie is SameParty.
7291     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
7292     * 
7293     * @param sourceScheme Cookie source scheme type.
7294     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
7295     * 
7296     * @param sourcePort 
7297     * Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.
7298     * An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.
7299     * This is a temporary ability and it will be removed in the future.
7300     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
7301     * 
7302     * @param partitionKey Cookie partition key. If not set, the cookie will be set as not partitioned.
7303     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
7304     * 
7305     * @return An instance of <CODE>{@link Script}&lt;Boolean&gt;</CODE>
7306     * 
7307     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
7308     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
7309     * <CODE>&lt;Boolean&gt;</CODE> will be returned
7310     *
7311     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
7312     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
7313     * be retrieved.</I>
7314     *
7315     * <BR /><BR /><DIV CLASS=JDHint>
7316     * This Browser Function's {@code Promise} returns:
7317     * <CODE>Boolean (<B>success</B>)</CODE>
7318     * <BR />
7319     * Always set to true. If an error occurs, the response indicates protocol error.
7320     * </DIV>
7321     */
7322    public static Script<Boolean> setCookie(
7323            String name, String value, String url, String domain, String path, Boolean secure,
7324            Boolean httpOnly, String sameSite, Number expires, String priority, Boolean sameParty,
7325            String sourceScheme, Integer sourcePort, CookiePartitionKey partitionKey
7326        )
7327    {
7328        // Convert all Method Parameters into a JSON Request-Object (as a String)
7329        final String requestJSON = WriteJSON.get(
7330            Network$$Commands.setCookie$$, "Network.setCookie",
7331            name, value, url, domain, path, secure, httpOnly, sameSite, expires, priority,
7332            sameParty, sourceScheme, sourcePort, partitionKey
7333        );
7334
7335        return new Script<>(
7336            Domains.Network, "setCookie", requestJSON,
7337            jo -> ReadBoxedJSON.getBoolean(jo, "success", JFlag.RD_N | JFlag.RD_M, DV.NULL_BOOL),
7338            Boolean.class
7339        );
7340    }
7341
7342    /**
7343     * Sets Controls for third-party cookie access
7344     * Page reload is required before the new cookie behavior will be observed
7345     * 
7346     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
7347     * 
7348     * @param enableThirdPartyCookieRestriction Whether 3pc restriction is enabled.
7349     * 
7350     * @param disableThirdPartyCookieMetadata Whether 3pc grace period exception should be enabled; false by default.
7351     * 
7352     * @param disableThirdPartyCookieHeuristics Whether 3pc heuristics exceptions should be enabled; false by default.
7353     * 
7354     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7355     *
7356     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7357     * browser receives the invocation-request.
7358     *
7359     * <BR /><BR /><DIV CLASS=JDHint>
7360     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7361     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7362     * the Browser Function has run to completion.
7363     * </DIV>
7364     */
7365    public static Script<Void> setCookieControls(
7366            boolean enableThirdPartyCookieRestriction, boolean disableThirdPartyCookieMetadata,
7367            boolean disableThirdPartyCookieHeuristics
7368        )
7369    {
7370        // Convert all Method Parameters into a JSON Request-Object (as a String)
7371        final String requestJSON = WriteJSON.get(
7372            Network$$Commands.setCookieControls$$, "Network.setCookieControls",
7373            enableThirdPartyCookieRestriction, disableThirdPartyCookieMetadata,
7374            disableThirdPartyCookieHeuristics
7375        );
7376
7377        return Script.NO_RET(Domains.Network, "setCookieControls", requestJSON);
7378    }
7379
7380    /**
7381     * Sets given cookies.
7382     * 
7383     * @param cookies Cookies to be set.
7384     * 
7385     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7386     *
7387     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7388     * browser receives the invocation-request.
7389     *
7390     * <BR /><BR /><DIV CLASS=JDHint>
7391     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7392     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7393     * the Browser Function has run to completion.
7394     * </DIV>
7395     */
7396    public static Script<Void> setCookies(CookieParam[] cookies)
7397    {
7398        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7399        final String requestJSON = WriteJSON.get(
7400            CDPTypes.CDP_TYPE_ARRAY_1D, "cookies", false, "Network.setCookies", (Object) cookies
7401        );
7402
7403        return Script.NO_RET(Domains.Network, "setCookies", requestJSON);
7404    }
7405
7406    /**
7407     * Specifies whether to always send extra HTTP headers with the requests from this page.
7408     * 
7409     * @param headers Map with extra HTTP headers.
7410     * 
7411     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7412     *
7413     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7414     * browser receives the invocation-request.
7415     *
7416     * <BR /><BR /><DIV CLASS=JDHint>
7417     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7418     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7419     * the Browser Function has run to completion.
7420     * </DIV>
7421     */
7422    public static Script<Void> setExtraHTTPHeaders(JsonValue headers)
7423    {
7424        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7425        final String requestJSON = WriteJSON.get
7426            (CDPTypes.RAW_JSON_VALUE, "headers", false, "Network.setExtraHTTPHeaders", headers);
7427
7428        return Script.NO_RET(Domains.Network, "setExtraHTTPHeaders", requestJSON);
7429    }
7430
7431    /**
7432     * Sets the requests to intercept that match the provided patterns and optionally resource types.
7433     * Deprecated, please use Fetch.enable instead.
7434     * 
7435     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B><B CLASS=Dep-Top>DEPRECATED</B>
7436     * 
7437     * @param patterns 
7438     * Requests matching any of these patterns will be forwarded and wait for the corresponding
7439     * continueInterceptedRequest call.
7440     * 
7441     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7442     *
7443     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7444     * browser receives the invocation-request.
7445     *
7446     * <BR /><BR /><DIV CLASS=JDHint>
7447     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7448     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7449     * the Browser Function has run to completion.
7450     * </DIV>
7451     */
7452    public static Script<Void> setRequestInterception(RequestPattern[] patterns)
7453    {
7454        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7455        final String requestJSON = WriteJSON.get(
7456            CDPTypes.CDP_TYPE_ARRAY_1D, "patterns", false, "Network.setRequestInterception",
7457            (Object) patterns
7458        );
7459
7460        return Script.NO_RET(Domains.Network, "setRequestInterception", requestJSON);
7461    }
7462
7463    /**
7464     * Allows overriding user agent with the given string.
7465     * 
7466     * @param userAgent User agent to use.
7467     * 
7468     * @param acceptLanguage Browser language to emulate.
7469     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7470     * 
7471     * @param platform The platform navigator.platform should return.
7472     * <BR /><B CLASS=Opt-Top>OPTIONAL</B>
7473     * 
7474     * @param userAgentMetadata To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData
7475     * <BR /><B CLASS=Opt-Top>OPTIONAL</B><B CLASS=Exp-Top>EXPERIMENTAL</B>
7476     * 
7477     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
7478     *
7479     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
7480     * browser receives the invocation-request.
7481     *
7482     * <BR /><BR /><DIV CLASS=JDHint>
7483     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
7484     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
7485     * the Browser Function has run to completion.
7486     * </DIV>
7487     */
7488    public static Script<Void> setUserAgentOverride(
7489            String userAgent, String acceptLanguage, String platform,
7490            Emulation.UserAgentMetadata userAgentMetadata
7491        )
7492    {
7493        // Convert all Method Parameters into a JSON Request-Object (as a String)
7494        final String requestJSON = WriteJSON.get(
7495            Network$$Commands.setUserAgentOverride$$, "Network.setUserAgentOverride",
7496            userAgent, acceptLanguage, platform, userAgentMetadata
7497        );
7498
7499        return Script.NO_RET(Domains.Network, "setUserAgentOverride", requestJSON);
7500    }
7501
7502    /**
7503     * Enables streaming of the response for the given requestId.
7504     * If enabled, the dataReceived event contains the data that was received during streaming.
7505     * 
7506     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
7507     * 
7508     * @param requestId Identifier of the request to stream.
7509     * 
7510     * @return An instance of <CODE>{@link Script}&lt;String&gt;</CODE>
7511     * 
7512     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
7513     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
7514     * <CODE>&lt;String&gt;</CODE> will be returned
7515     *
7516     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
7517     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
7518     * be retrieved.</I>
7519     *
7520     * <BR /><BR /><DIV CLASS=JDHint>
7521     * This Browser Function's {@code Promise} returns:
7522     * <CODE>String (<B>bufferedData</B>)</CODE>
7523     * <BR />
7524     * Data that has been buffered until streaming is enabled. (Encoded as a base64 string when passed over JSON)
7525     * </DIV>
7526     */
7527    public static Script<String> streamResourceContent(String requestId)
7528    {
7529        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7530        final String requestJSON = WriteJSON.get
7531            (CDPTypes.STRING, "requestId", false, "Network.streamResourceContent", requestId);
7532
7533        return new Script<>(
7534            Domains.Network, "streamResourceContent", requestJSON,
7535            jo -> ReadJSON.getString(jo, "bufferedData", true, false),
7536            String.class
7537        );
7538    }
7539
7540    /**
7541     * Returns a handle to the stream representing the response body. Note that after this command,
7542     * the intercepted request can't be continued as is -- you either need to cancel it or to provide
7543     * the response body. The stream only supports sequential read, IO.read will fail if the position
7544     * is specified.
7545     * 
7546     * <BR /><B CLASS=Exp-Top>EXPERIMENTAL</B>
7547     * 
7548     * @param interceptionId -
7549     * 
7550     * @return An instance of <CODE>{@link Script}&lt;String&gt;</CODE>
7551     * 
7552     * <BR /><BR />This <B>script</B> may be <B STYLE='color: red'>executed</B>, using
7553     * {@link Script#exec(WebSocketSender) Script.exec}, and afterwards, a {@link Promise}
7554     * <CODE>&lt;String&gt;</CODE> will be returned
7555     *
7556     * <BR /><BR />Finally, the <B>{@code Promise}</B> may be <B STYLE='color: red'>awaited</B>,
7557     * using {@link Promise#await()}, <I>and the returned result of this Browser Function may
7558     * be retrieved.</I>
7559     *
7560     * <BR /><BR /><DIV CLASS=JDHint>
7561     * This Browser Function's {@code Promise} returns:
7562     * <CODE>String (<B>stream</B>)</CODE>
7563     * </DIV>
7564     */
7565    public static Script<String> takeResponseBodyForInterceptionAsStream(String interceptionId)
7566    {
7567        // Build the JSON Request-Object (as a String); only 1 Parameter is passed
7568        final String requestJSON = WriteJSON.get(
7569            CDPTypes.STRING, "interceptionId", false,
7570            "Network.takeResponseBodyForInterceptionAsStream", interceptionId
7571        );
7572
7573        return new Script<>(
7574            Domains.Network, "takeResponseBodyForInterceptionAsStream", requestJSON,
7575            jo -> ReadJSON.getString(jo, "stream", true, false),
7576            String.class
7577        );
7578    }
7579
7580
7581    // ********************************************************************************************
7582    // ********************************************************************************************
7583    // CommandBuilder Getter-Methods
7584    // ********************************************************************************************
7585    // ********************************************************************************************
7586
7587
7588    /**
7589     * Creates a buider for conveniently assigning parameters to this method.
7590     * 
7591     * <BR /><BR /><DIV CLASS=JDHint>
7592     * Note that the original method expects 8 parameters, and can be cumbersome.
7593     * </DIV>
7594     * 
7595     * @return {@link CommandBuilder} instance, for assigning parameter values, one by one.
7596     * @see #continueInterceptedRequest
7597     */
7598    public static CommandBuilder<Void> continueInterceptedRequest()
7599    { return CommandBuilder.builder(Network$$Commands.continueInterceptedRequest$$); }
7600
7601    /**
7602     * Creates a buider for conveniently assigning parameters to this method.
7603     * 
7604     * <BR /><BR /><DIV CLASS=JDHint>
7605     * Note that the original method expects 5 parameters, and can be cumbersome.
7606     * </DIV>
7607     * 
7608     * @return {@link CommandBuilder} instance, for assigning parameter values, one by one.
7609     * @see #deleteCookies
7610     */
7611    public static CommandBuilder<Void> deleteCookies()
7612    { return CommandBuilder.builder(Network$$Commands.deleteCookies$$); }
7613
7614    /**
7615     * Creates a buider for conveniently assigning parameters to this method.
7616     * 
7617     * <BR /><BR /><DIV CLASS=JDHint>
7618     * Note that the original method expects 8 parameters, and can be cumbersome.
7619     * </DIV>
7620     * 
7621     * @return {@link CommandBuilder} instance, for assigning parameter values, one by one.
7622     * @see #emulateNetworkConditions
7623     */
7624    public static CommandBuilder<Void> emulateNetworkConditions()
7625    { return CommandBuilder.builder(Network$$Commands.emulateNetworkConditions$$); }
7626
7627    /**
7628     * Creates a buider for conveniently assigning parameters to this method.
7629     * 
7630     * <BR /><BR /><DIV CLASS=JDHint>
7631     * Note that the original method expects 14 parameters, and can be cumbersome.
7632     * </DIV>
7633     * 
7634     * @return {@link CommandBuilder} instance, for assigning parameter values, one by one.
7635     * @see #setCookie
7636     */
7637    public static CommandBuilder<Boolean> setCookie()
7638    { return CommandBuilder.builder(Network$$Commands.setCookie$$); }
7639
7640
7641}