Skip to content

Instantly share code, notes, and snippets.

@Meir017
Last active February 23, 2020 19:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Meir017/36be9e728c4784c0d2192318d8499ca8 to your computer and use it in GitHub Desktop.
Save Meir017/36be9e728c4784c0d2192318d8499ca8 to your computer and use it in GitHub Desktop.
Chromium Protocol.Generated.cs
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
namespace Playwright.Chromium.Protocol.Accessibility
{
public readonly struct AXNodeId : System.IComparable<AXNodeId>, System.IEquatable<AXNodeId>
{
public string Value { get; }
public AXNodeId(string value)
{
Value = value;
}
public bool Equals(AXNodeId other) => this.Value.Equals(other.Value);
public int CompareTo(AXNodeId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is AXNodeId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(AXNodeId a, AXNodeId b) => a.CompareTo(b) == 0;
public static bool operator !=(AXNodeId a, AXNodeId b) => !(a == b);
}
/// <summary>
/// Enum of possible property types.
/// </summary>
public enum AXValueType
{
[System.Runtime.Serialization.EnumMember(Value = "boolean")]Boolean,
[System.Runtime.Serialization.EnumMember(Value = "tristate")]Tristate,
[System.Runtime.Serialization.EnumMember(Value = "booleanOrUndefined")]BooleanOrUndefined,
[System.Runtime.Serialization.EnumMember(Value = "idref")]Idref,
[System.Runtime.Serialization.EnumMember(Value = "idrefList")]IdrefList,
[System.Runtime.Serialization.EnumMember(Value = "integer")]Integer,
[System.Runtime.Serialization.EnumMember(Value = "node")]Node,
[System.Runtime.Serialization.EnumMember(Value = "nodeList")]NodeList,
[System.Runtime.Serialization.EnumMember(Value = "number")]Number,
[System.Runtime.Serialization.EnumMember(Value = "string")]String,
[System.Runtime.Serialization.EnumMember(Value = "computedString")]ComputedString,
[System.Runtime.Serialization.EnumMember(Value = "token")]Token,
[System.Runtime.Serialization.EnumMember(Value = "tokenList")]TokenList,
[System.Runtime.Serialization.EnumMember(Value = "domRelation")]DomRelation,
[System.Runtime.Serialization.EnumMember(Value = "role")]Role,
[System.Runtime.Serialization.EnumMember(Value = "internalRole")]InternalRole,
[System.Runtime.Serialization.EnumMember(Value = "valueUndefined")]ValueUndefined}
/// <summary>
/// Enum of possible property sources.
/// </summary>
public enum AXValueSourceType
{
[System.Runtime.Serialization.EnumMember(Value = "attribute")]Attribute,
[System.Runtime.Serialization.EnumMember(Value = "implicit")]Implicit,
[System.Runtime.Serialization.EnumMember(Value = "style")]Style,
[System.Runtime.Serialization.EnumMember(Value = "contents")]Contents,
[System.Runtime.Serialization.EnumMember(Value = "placeholder")]Placeholder,
[System.Runtime.Serialization.EnumMember(Value = "relatedElement")]RelatedElement}
/// <summary>
/// Enum of possible native property sources (as a subtype of a particular AXValueSourceType).
/// </summary>
public enum AXValueNativeSourceType
{
[System.Runtime.Serialization.EnumMember(Value = "figcaption")]Figcaption,
[System.Runtime.Serialization.EnumMember(Value = "label")]Label,
[System.Runtime.Serialization.EnumMember(Value = "labelfor")]Labelfor,
[System.Runtime.Serialization.EnumMember(Value = "labelwrapped")]Labelwrapped,
[System.Runtime.Serialization.EnumMember(Value = "legend")]Legend,
[System.Runtime.Serialization.EnumMember(Value = "tablecaption")]Tablecaption,
[System.Runtime.Serialization.EnumMember(Value = "title")]Title,
[System.Runtime.Serialization.EnumMember(Value = "other")]Other}
/// <summary>
/// A single source for a computed AX property.
/// </summary>
public class AXValueSource
{
/// <summary>
/// What type of source this is.
/// </summary>
public AXValueSourceType Type { get; set; }
/// <summary>
/// The value of this property source.
/// </summary>
public AXValue Value { get; set; }
/// <summary>
/// The name of the relevant attribute, if any.
/// </summary>
public string Attribute { get; set; }
/// <summary>
/// The value of the relevant attribute, if any.
/// </summary>
public AXValue AttributeValue { get; set; }
/// <summary>
/// Whether this source is superseded by a higher priority source.
/// </summary>
public bool Superseded { get; set; }
/// <summary>
/// The native markup source for this value, e.g. a <label> element.
/// </summary>
public AXValueNativeSourceType NativeSource { get; set; }
/// <summary>
/// The value, such as a node or node list, of the native source.
/// </summary>
public AXValue NativeSourceValue { get; set; }
/// <summary>
/// Whether the value for this property is invalid.
/// </summary>
public bool Invalid { get; set; }
/// <summary>
/// Reason for the value being invalid, if it is.
/// </summary>
public string InvalidReason { get; set; }}
/// <summary>
///
/// </summary>
public class AXRelatedNode
{
/// <summary>
/// The BackendNodeId of the related DOM node.
/// </summary>
public Playwright.Chromium.Protocol.DOM.BackendNodeId BackendDOMNodeId { get; set; }
/// <summary>
/// The IDRef value provided, if any.
/// </summary>
public string Idref { get; set; }
/// <summary>
/// The text alternative of this node in the current context.
/// </summary>
public string Text { get; set; }}
/// <summary>
///
/// </summary>
public class AXProperty
{
/// <summary>
/// The name of this property.
/// </summary>
public AXPropertyName Name { get; set; }
/// <summary>
/// The value of this property.
/// </summary>
public AXValue Value { get; set; }}
/// <summary>
/// A single computed AX property.
/// </summary>
public class AXValue
{
/// <summary>
/// The type of this value.
/// </summary>
public AXValueType Type { get; set; }
/// <summary>
/// The computed value of this property.
/// </summary>
public object Value { get; set; }
/// <summary>
/// One or more related nodes, if applicable.
/// </summary>
public AXRelatedNode[] RelatedNodes { get; set; }
/// <summary>
/// The sources which contributed to the computation of this property.
/// </summary>
public AXValueSource[] Sources { get; set; }}
/// <summary>
/// Values of AXProperty name:
/// - from 'busy' to 'roledescription': states which apply to every AX node
/// - from 'live' to 'root': attributes which apply to nodes in live regions
/// - from 'autocomplete' to 'valuetext': attributes which apply to widgets
/// - from 'checked' to 'selected': states which apply to widgets
/// - from 'activedescendant' to 'owns' - relationships between elements other than parent/child/sibling.
/// </summary>
public enum AXPropertyName
{
[System.Runtime.Serialization.EnumMember(Value = "busy")]Busy,
[System.Runtime.Serialization.EnumMember(Value = "disabled")]Disabled,
[System.Runtime.Serialization.EnumMember(Value = "editable")]Editable,
[System.Runtime.Serialization.EnumMember(Value = "focusable")]Focusable,
[System.Runtime.Serialization.EnumMember(Value = "focused")]Focused,
[System.Runtime.Serialization.EnumMember(Value = "hidden")]Hidden,
[System.Runtime.Serialization.EnumMember(Value = "hiddenRoot")]HiddenRoot,
[System.Runtime.Serialization.EnumMember(Value = "invalid")]Invalid,
[System.Runtime.Serialization.EnumMember(Value = "keyshortcuts")]Keyshortcuts,
[System.Runtime.Serialization.EnumMember(Value = "settable")]Settable,
[System.Runtime.Serialization.EnumMember(Value = "roledescription")]Roledescription,
[System.Runtime.Serialization.EnumMember(Value = "live")]Live,
[System.Runtime.Serialization.EnumMember(Value = "atomic")]Atomic,
[System.Runtime.Serialization.EnumMember(Value = "relevant")]Relevant,
[System.Runtime.Serialization.EnumMember(Value = "root")]Root,
[System.Runtime.Serialization.EnumMember(Value = "autocomplete")]Autocomplete,
[System.Runtime.Serialization.EnumMember(Value = "hasPopup")]HasPopup,
[System.Runtime.Serialization.EnumMember(Value = "level")]Level,
[System.Runtime.Serialization.EnumMember(Value = "multiselectable")]Multiselectable,
[System.Runtime.Serialization.EnumMember(Value = "orientation")]Orientation,
[System.Runtime.Serialization.EnumMember(Value = "multiline")]Multiline,
[System.Runtime.Serialization.EnumMember(Value = "readonly")]Readonly,
[System.Runtime.Serialization.EnumMember(Value = "required")]Required,
[System.Runtime.Serialization.EnumMember(Value = "valuemin")]Valuemin,
[System.Runtime.Serialization.EnumMember(Value = "valuemax")]Valuemax,
[System.Runtime.Serialization.EnumMember(Value = "valuetext")]Valuetext,
[System.Runtime.Serialization.EnumMember(Value = "checked")]Checked,
[System.Runtime.Serialization.EnumMember(Value = "expanded")]Expanded,
[System.Runtime.Serialization.EnumMember(Value = "modal")]Modal,
[System.Runtime.Serialization.EnumMember(Value = "pressed")]Pressed,
[System.Runtime.Serialization.EnumMember(Value = "selected")]Selected,
[System.Runtime.Serialization.EnumMember(Value = "activedescendant")]Activedescendant,
[System.Runtime.Serialization.EnumMember(Value = "controls")]Controls,
[System.Runtime.Serialization.EnumMember(Value = "describedby")]Describedby,
[System.Runtime.Serialization.EnumMember(Value = "details")]Details,
[System.Runtime.Serialization.EnumMember(Value = "errormessage")]Errormessage,
[System.Runtime.Serialization.EnumMember(Value = "flowto")]Flowto,
[System.Runtime.Serialization.EnumMember(Value = "labelledby")]Labelledby,
[System.Runtime.Serialization.EnumMember(Value = "owns")]Owns}
/// <summary>
/// A node in the accessibility tree.
/// </summary>
public class AXNode
{
/// <summary>
/// Unique identifier for this node.
/// </summary>
public AXNodeId NodeId { get; set; }
/// <summary>
/// Whether this node is ignored for accessibility
/// </summary>
public bool Ignored { get; set; }
/// <summary>
/// Collection of reasons why this node is hidden.
/// </summary>
public AXProperty[] IgnoredReasons { get; set; }
/// <summary>
/// This `Node`'s role, whether explicit or implicit.
/// </summary>
public AXValue Role { get; set; }
/// <summary>
/// The accessible name for this `Node`.
/// </summary>
public AXValue Name { get; set; }
/// <summary>
/// The accessible description for this `Node`.
/// </summary>
public AXValue Description { get; set; }
/// <summary>
/// The value for this `Node`.
/// </summary>
public AXValue Value { get; set; }
/// <summary>
/// All other properties
/// </summary>
public AXProperty[] Properties { get; set; }
/// <summary>
/// IDs for each of this node's child nodes.
/// </summary>
public AXNodeId[] ChildIds { get; set; }
/// <summary>
/// The backend ID for the associated DOM node, if any.
/// </summary>
public Playwright.Chromium.Protocol.DOM.BackendNodeId BackendDOMNodeId { get; set; }}
}
namespace Playwright.Chromium.Protocol.Animation
{
/// <summary>
/// Animation instance.
/// </summary>
public class Animation
{
/// <summary>
/// `Animation`'s id.
/// </summary>
public string Id { get; set; }
/// <summary>
/// `Animation`'s name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// `Animation`'s internal paused state.
/// </summary>
public bool PausedState { get; set; }
/// <summary>
/// `Animation`'s play state.
/// </summary>
public string PlayState { get; set; }
/// <summary>
/// `Animation`'s playback rate.
/// </summary>
public double PlaybackRate { get; set; }
/// <summary>
/// `Animation`'s start time.
/// </summary>
public double StartTime { get; set; }
/// <summary>
/// `Animation`'s current time.
/// </summary>
public double CurrentTime { get; set; }
/// <summary>
/// Animation type of `Animation`.
/// </summary>
public string Type { get; set; }
/// <summary>
/// `Animation`'s source animation node.
/// </summary>
public AnimationEffect Source { get; set; }
/// <summary>
/// A unique ID for `Animation` representing the sources that triggered this CSS
/// animation/transition.
/// </summary>
public string CssId { get; set; }}
/// <summary>
/// AnimationEffect instance
/// </summary>
public class AnimationEffect
{
/// <summary>
/// `AnimationEffect`'s delay.
/// </summary>
public double Delay { get; set; }
/// <summary>
/// `AnimationEffect`'s end delay.
/// </summary>
public double EndDelay { get; set; }
/// <summary>
/// `AnimationEffect`'s iteration start.
/// </summary>
public double IterationStart { get; set; }
/// <summary>
/// `AnimationEffect`'s iterations.
/// </summary>
public double Iterations { get; set; }
/// <summary>
/// `AnimationEffect`'s iteration duration.
/// </summary>
public double Duration { get; set; }
/// <summary>
/// `AnimationEffect`'s playback direction.
/// </summary>
public string Direction { get; set; }
/// <summary>
/// `AnimationEffect`'s fill mode.
/// </summary>
public string Fill { get; set; }
/// <summary>
/// `AnimationEffect`'s target node.
/// </summary>
public Playwright.Chromium.Protocol.DOM.BackendNodeId BackendNodeId { get; set; }
/// <summary>
/// `AnimationEffect`'s keyframes.
/// </summary>
public KeyframesRule KeyframesRule { get; set; }
/// <summary>
/// `AnimationEffect`'s timing function.
/// </summary>
public string Easing { get; set; }}
/// <summary>
/// Keyframes Rule
/// </summary>
public class KeyframesRule
{
/// <summary>
/// CSS keyframed animation's name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// List of animation keyframes.
/// </summary>
public KeyframeStyle[] Keyframes { get; set; }}
/// <summary>
/// Keyframe Style
/// </summary>
public class KeyframeStyle
{
/// <summary>
/// Keyframe's time offset.
/// </summary>
public string Offset { get; set; }
/// <summary>
/// `AnimationEffect`'s timing function.
/// </summary>
public string Easing { get; set; }}
}
namespace Playwright.Chromium.Protocol.ApplicationCache
{
/// <summary>
/// Detailed application cache resource information.
/// </summary>
public class ApplicationCacheResource
{
/// <summary>
/// Resource url.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Resource size.
/// </summary>
public int Size { get; set; }
/// <summary>
/// Resource type.
/// </summary>
public string Type { get; set; }}
/// <summary>
/// Detailed application cache information.
/// </summary>
public class ApplicationCache
{
/// <summary>
/// Manifest URL.
/// </summary>
public string ManifestURL { get; set; }
/// <summary>
/// Application cache size.
/// </summary>
public double Size { get; set; }
/// <summary>
/// Application cache creation time.
/// </summary>
public double CreationTime { get; set; }
/// <summary>
/// Application cache update time.
/// </summary>
public double UpdateTime { get; set; }
/// <summary>
/// Application cache resources.
/// </summary>
public ApplicationCacheResource[] Resources { get; set; }}
/// <summary>
/// Frame identifier - manifest URL pair.
/// </summary>
public class FrameWithManifest
{
/// <summary>
/// Frame identifier.
/// </summary>
public Playwright.Chromium.Protocol.Page.FrameId FrameId { get; set; }
/// <summary>
/// Manifest URL.
/// </summary>
public string ManifestURL { get; set; }
/// <summary>
/// Application cache status.
/// </summary>
public int Status { get; set; }}
}
namespace Playwright.Chromium.Protocol.Audits
{
}
namespace Playwright.Chromium.Protocol.BackgroundService
{
/// <summary>
/// The Background Service that will be associated with the commands/events.
/// Every Background Service operates independently, but they share the same
/// API.
/// </summary>
public enum ServiceName
{
[System.Runtime.Serialization.EnumMember(Value = "backgroundFetch")]BackgroundFetch,
[System.Runtime.Serialization.EnumMember(Value = "backgroundSync")]BackgroundSync,
[System.Runtime.Serialization.EnumMember(Value = "pushMessaging")]PushMessaging,
[System.Runtime.Serialization.EnumMember(Value = "notifications")]Notifications,
[System.Runtime.Serialization.EnumMember(Value = "paymentHandler")]PaymentHandler,
[System.Runtime.Serialization.EnumMember(Value = "periodicBackgroundSync")]PeriodicBackgroundSync}
/// <summary>
/// A key-value pair for additional event information to pass along.
/// </summary>
public class EventMetadata
{
/// <summary>
///
/// </summary>
public string Key { get; set; }
/// <summary>
///
/// </summary>
public string Value { get; set; }}
/// <summary>
///
/// </summary>
public class BackgroundServiceEvent
{
/// <summary>
/// Timestamp of the event (in seconds).
/// </summary>
public Playwright.Chromium.Protocol.Network.TimeSinceEpoch Timestamp { get; set; }
/// <summary>
/// The origin this event belongs to.
/// </summary>
public string Origin { get; set; }
/// <summary>
/// The Service Worker ID that initiated the event.
/// </summary>
public Playwright.Chromium.Protocol.ServiceWorker.RegistrationID ServiceWorkerRegistrationId { get; set; }
/// <summary>
/// The Background Service this event belongs to.
/// </summary>
public ServiceName Service { get; set; }
/// <summary>
/// A description of the event.
/// </summary>
public string EventName { get; set; }
/// <summary>
/// An identifier that groups related events together.
/// </summary>
public string InstanceId { get; set; }
/// <summary>
/// A list of event-specific information.
/// </summary>
public EventMetadata[] EventMetadata { get; set; }}
}
namespace Playwright.Chromium.Protocol.Browser
{
public readonly struct WindowID : System.IComparable<WindowID>, System.IEquatable<WindowID>
{
public int Value { get; }
public WindowID(int value)
{
Value = value;
}
public bool Equals(WindowID other) => this.Value.Equals(other.Value);
public int CompareTo(WindowID other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is WindowID other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(WindowID a, WindowID b) => a.CompareTo(b) == 0;
public static bool operator !=(WindowID a, WindowID b) => !(a == b);
}
/// <summary>
/// The state of the browser window.
/// </summary>
public enum WindowState
{
[System.Runtime.Serialization.EnumMember(Value = "normal")]Normal,
[System.Runtime.Serialization.EnumMember(Value = "minimized")]Minimized,
[System.Runtime.Serialization.EnumMember(Value = "maximized")]Maximized,
[System.Runtime.Serialization.EnumMember(Value = "fullscreen")]Fullscreen}
/// <summary>
/// Browser window bounds information
/// </summary>
public class Bounds
{
/// <summary>
/// The offset from the left edge of the screen to the window in pixels.
/// </summary>
public int Left { get; set; }
/// <summary>
/// The offset from the top edge of the screen to the window in pixels.
/// </summary>
public int Top { get; set; }
/// <summary>
/// The window width in pixels.
/// </summary>
public int Width { get; set; }
/// <summary>
/// The window height in pixels.
/// </summary>
public int Height { get; set; }
/// <summary>
/// The window state. Default to normal.
/// </summary>
public WindowState WindowState { get; set; }}
/// <summary>
///
/// </summary>
public enum PermissionType
{
[System.Runtime.Serialization.EnumMember(Value = "accessibilityEvents")]AccessibilityEvents,
[System.Runtime.Serialization.EnumMember(Value = "audioCapture")]AudioCapture,
[System.Runtime.Serialization.EnumMember(Value = "backgroundSync")]BackgroundSync,
[System.Runtime.Serialization.EnumMember(Value = "backgroundFetch")]BackgroundFetch,
[System.Runtime.Serialization.EnumMember(Value = "clipboardRead")]ClipboardRead,
[System.Runtime.Serialization.EnumMember(Value = "clipboardWrite")]ClipboardWrite,
[System.Runtime.Serialization.EnumMember(Value = "durableStorage")]DurableStorage,
[System.Runtime.Serialization.EnumMember(Value = "flash")]Flash,
[System.Runtime.Serialization.EnumMember(Value = "geolocation")]Geolocation,
[System.Runtime.Serialization.EnumMember(Value = "midi")]Midi,
[System.Runtime.Serialization.EnumMember(Value = "midiSysex")]MidiSysex,
[System.Runtime.Serialization.EnumMember(Value = "notifications")]Notifications,
[System.Runtime.Serialization.EnumMember(Value = "paymentHandler")]PaymentHandler,
[System.Runtime.Serialization.EnumMember(Value = "periodicBackgroundSync")]PeriodicBackgroundSync,
[System.Runtime.Serialization.EnumMember(Value = "protectedMediaIdentifier")]ProtectedMediaIdentifier,
[System.Runtime.Serialization.EnumMember(Value = "sensors")]Sensors,
[System.Runtime.Serialization.EnumMember(Value = "videoCapture")]VideoCapture,
[System.Runtime.Serialization.EnumMember(Value = "idleDetection")]IdleDetection,
[System.Runtime.Serialization.EnumMember(Value = "wakeLockScreen")]WakeLockScreen,
[System.Runtime.Serialization.EnumMember(Value = "wakeLockSystem")]WakeLockSystem}
/// <summary>
///
/// </summary>
public enum PermissionSetting
{
[System.Runtime.Serialization.EnumMember(Value = "granted")]Granted,
[System.Runtime.Serialization.EnumMember(Value = "denied")]Denied,
[System.Runtime.Serialization.EnumMember(Value = "prompt")]Prompt}
/// <summary>
/// Definition of PermissionDescriptor defined in the Permissions API:
/// https://w3c.github.io/permissions/#dictdef-permissiondescriptor.
/// </summary>
public class PermissionDescriptor
{
/// <summary>
/// Name of permission.
/// See https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names.
/// </summary>
public string Name { get; set; }
/// <summary>
/// For "midi" permission, may also specify sysex control.
/// </summary>
public bool Sysex { get; set; }
/// <summary>
/// For "push" permission, may specify userVisibleOnly.
/// Note that userVisibleOnly = true is the only currently supported type.
/// </summary>
public bool UserVisibleOnly { get; set; }
/// <summary>
/// For "wake-lock" permission, must specify type as either "screen" or "system".
/// </summary>
public string Type { get; set; }}
/// <summary>
/// Chrome histogram bucket.
/// </summary>
public class Bucket
{
/// <summary>
/// Minimum value (inclusive).
/// </summary>
public int Low { get; set; }
/// <summary>
/// Maximum value (exclusive).
/// </summary>
public int High { get; set; }
/// <summary>
/// Number of samples.
/// </summary>
public int Count { get; set; }}
/// <summary>
/// Chrome histogram.
/// </summary>
public class Histogram
{
/// <summary>
/// Name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Sum of sample values.
/// </summary>
public int Sum { get; set; }
/// <summary>
/// Total number of samples.
/// </summary>
public int Count { get; set; }
/// <summary>
/// Buckets.
/// </summary>
public Bucket[] Buckets { get; set; }}
}
namespace Playwright.Chromium.Protocol.CSS
{
public readonly struct StyleSheetId : System.IComparable<StyleSheetId>, System.IEquatable<StyleSheetId>
{
public string Value { get; }
public StyleSheetId(string value)
{
Value = value;
}
public bool Equals(StyleSheetId other) => this.Value.Equals(other.Value);
public int CompareTo(StyleSheetId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is StyleSheetId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(StyleSheetId a, StyleSheetId b) => a.CompareTo(b) == 0;
public static bool operator !=(StyleSheetId a, StyleSheetId b) => !(a == b);
}
/// <summary>
/// Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent
/// stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via
/// inspector" rules), "regular" for regular stylesheets.
/// </summary>
public enum StyleSheetOrigin
{
[System.Runtime.Serialization.EnumMember(Value = "injected")]Injected,
[System.Runtime.Serialization.EnumMember(Value = "user-agent")]UserAgent,
[System.Runtime.Serialization.EnumMember(Value = "inspector")]Inspector,
[System.Runtime.Serialization.EnumMember(Value = "regular")]Regular}
/// <summary>
/// CSS rule collection for a single pseudo style.
/// </summary>
public class PseudoElementMatches
{
/// <summary>
/// Pseudo element type.
/// </summary>
public Playwright.Chromium.Protocol.DOM.PseudoType PseudoType { get; set; }
/// <summary>
/// Matches of CSS rules applicable to the pseudo style.
/// </summary>
public RuleMatch[] Matches { get; set; }}
/// <summary>
/// Inherited CSS rule collection from ancestor node.
/// </summary>
public class InheritedStyleEntry
{
/// <summary>
/// The ancestor node's inline style, if any, in the style inheritance chain.
/// </summary>
public CSSStyle InlineStyle { get; set; }
/// <summary>
/// Matches of CSS rules matching the ancestor node in the style inheritance chain.
/// </summary>
public RuleMatch[] MatchedCSSRules { get; set; }}
/// <summary>
/// Match data for a CSS rule.
/// </summary>
public class RuleMatch
{
/// <summary>
/// CSS rule in the match.
/// </summary>
public CSSRule Rule { get; set; }
/// <summary>
/// Matching selector indices in the rule's selectorList selectors (0-based).
/// </summary>
public int[] MatchingSelectors { get; set; }}
/// <summary>
/// Data for a simple selector (these are delimited by commas in a selector list).
/// </summary>
public class Value
{
/// <summary>
/// Value text.
/// </summary>
public string Text { get; set; }
/// <summary>
/// Value range in the underlying resource (if available).
/// </summary>
public SourceRange Range { get; set; }}
/// <summary>
/// Selector list data.
/// </summary>
public class SelectorList
{
/// <summary>
/// Selectors in the list.
/// </summary>
public Value[] Selectors { get; set; }
/// <summary>
/// Rule selector text.
/// </summary>
public string Text { get; set; }}
/// <summary>
/// CSS stylesheet metainformation.
/// </summary>
public class CSSStyleSheetHeader
{
/// <summary>
/// The stylesheet identifier.
/// </summary>
public StyleSheetId StyleSheetId { get; set; }
/// <summary>
/// Owner frame identifier.
/// </summary>
public Playwright.Chromium.Protocol.Page.FrameId FrameId { get; set; }
/// <summary>
/// Stylesheet resource URL.
/// </summary>
public string SourceURL { get; set; }
/// <summary>
/// URL of source map associated with the stylesheet (if any).
/// </summary>
public string SourceMapURL { get; set; }
/// <summary>
/// Stylesheet origin.
/// </summary>
public StyleSheetOrigin Origin { get; set; }
/// <summary>
/// Stylesheet title.
/// </summary>
public string Title { get; set; }
/// <summary>
/// The backend id for the owner node of the stylesheet.
/// </summary>
public Playwright.Chromium.Protocol.DOM.BackendNodeId OwnerNode { get; set; }
/// <summary>
/// Denotes whether the stylesheet is disabled.
/// </summary>
public bool Disabled { get; set; }
/// <summary>
/// Whether the sourceURL field value comes from the sourceURL comment.
/// </summary>
public bool HasSourceURL { get; set; }
/// <summary>
/// Whether this stylesheet is created for STYLE tag by parser. This flag is not set for
/// document.written STYLE tags.
/// </summary>
public bool IsInline { get; set; }
/// <summary>
/// Line offset of the stylesheet within the resource (zero based).
/// </summary>
public double StartLine { get; set; }
/// <summary>
/// Column offset of the stylesheet within the resource (zero based).
/// </summary>
public double StartColumn { get; set; }
/// <summary>
/// Size of the content (in characters).
/// </summary>
public double Length { get; set; }
/// <summary>
/// Line offset of the end of the stylesheet within the resource (zero based).
/// </summary>
public double EndLine { get; set; }
/// <summary>
/// Column offset of the end of the stylesheet within the resource (zero based).
/// </summary>
public double EndColumn { get; set; }}
/// <summary>
/// CSS rule representation.
/// </summary>
public class CSSRule
{
/// <summary>
/// The css style sheet identifier (absent for user agent stylesheet and user-specified
/// stylesheet rules) this rule came from.
/// </summary>
public StyleSheetId StyleSheetId { get; set; }
/// <summary>
/// Rule selector data.
/// </summary>
public SelectorList SelectorList { get; set; }
/// <summary>
/// Parent stylesheet's origin.
/// </summary>
public StyleSheetOrigin Origin { get; set; }
/// <summary>
/// Associated style declaration.
/// </summary>
public CSSStyle Style { get; set; }
/// <summary>
/// Media list array (for rules involving media queries). The array enumerates media queries
/// starting with the innermost one, going outwards.
/// </summary>
public CSSMedia[] Media { get; set; }}
/// <summary>
/// CSS coverage information.
/// </summary>
public class RuleUsage
{
/// <summary>
/// The css style sheet identifier (absent for user agent stylesheet and user-specified
/// stylesheet rules) this rule came from.
/// </summary>
public StyleSheetId StyleSheetId { get; set; }
/// <summary>
/// Offset of the start of the rule (including selector) from the beginning of the stylesheet.
/// </summary>
public double StartOffset { get; set; }
/// <summary>
/// Offset of the end of the rule body from the beginning of the stylesheet.
/// </summary>
public double EndOffset { get; set; }
/// <summary>
/// Indicates whether the rule was actually used by some element in the page.
/// </summary>
public bool Used { get; set; }}
/// <summary>
/// Text range within a resource. All numbers are zero-based.
/// </summary>
public class SourceRange
{
/// <summary>
/// Start line of range.
/// </summary>
public int StartLine { get; set; }
/// <summary>
/// Start column of range (inclusive).
/// </summary>
public int StartColumn { get; set; }
/// <summary>
/// End line of range
/// </summary>
public int EndLine { get; set; }
/// <summary>
/// End column of range (exclusive).
/// </summary>
public int EndColumn { get; set; }}
/// <summary>
///
/// </summary>
public class ShorthandEntry
{
/// <summary>
/// Shorthand name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Shorthand value.
/// </summary>
public string Value { get; set; }
/// <summary>
/// Whether the property has "!important" annotation (implies `false` if absent).
/// </summary>
public bool Important { get; set; }}
/// <summary>
///
/// </summary>
public class CSSComputedStyleProperty
{
/// <summary>
/// Computed style property name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Computed style property value.
/// </summary>
public string Value { get; set; }}
/// <summary>
/// CSS style representation.
/// </summary>
public class CSSStyle
{
/// <summary>
/// The css style sheet identifier (absent for user agent stylesheet and user-specified
/// stylesheet rules) this rule came from.
/// </summary>
public StyleSheetId StyleSheetId { get; set; }
/// <summary>
/// CSS properties in the style.
/// </summary>
public CSSProperty[] CssProperties { get; set; }
/// <summary>
/// Computed values for all shorthands found in the style.
/// </summary>
public ShorthandEntry[] ShorthandEntries { get; set; }
/// <summary>
/// Style declaration text (if available).
/// </summary>
public string CssText { get; set; }
/// <summary>
/// Style declaration range in the enclosing stylesheet (if available).
/// </summary>
public SourceRange Range { get; set; }}
/// <summary>
/// CSS property declaration data.
/// </summary>
public class CSSProperty
{
/// <summary>
/// The property name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// The property value.
/// </summary>
public string Value { get; set; }
/// <summary>
/// Whether the property has "!important" annotation (implies `false` if absent).
/// </summary>
public bool Important { get; set; }
/// <summary>
/// Whether the property is implicit (implies `false` if absent).
/// </summary>
public bool Implicit { get; set; }
/// <summary>
/// The full property text as specified in the style.
/// </summary>
public string Text { get; set; }
/// <summary>
/// Whether the property is understood by the browser (implies `true` if absent).
/// </summary>
public bool ParsedOk { get; set; }
/// <summary>
/// Whether the property is disabled by the user (present for source-based properties only).
/// </summary>
public bool Disabled { get; set; }
/// <summary>
/// The entire property range in the enclosing style declaration (if available).
/// </summary>
public SourceRange Range { get; set; }}
/// <summary>
/// CSS media rule descriptor.
/// </summary>
public class CSSMedia
{
/// <summary>
/// Media query text.
/// </summary>
public string Text { get; set; }
/// <summary>
/// Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if
/// specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked
/// stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline
/// stylesheet's STYLE tag.
/// </summary>
public string Source { get; set; }
/// <summary>
/// URL of the document containing the media query description.
/// </summary>
public string SourceURL { get; set; }
/// <summary>
/// The associated rule (@media or @import) header range in the enclosing stylesheet (if
/// available).
/// </summary>
public SourceRange Range { get; set; }
/// <summary>
/// Identifier of the stylesheet containing this object (if exists).
/// </summary>
public StyleSheetId StyleSheetId { get; set; }
/// <summary>
/// Array of media queries.
/// </summary>
public MediaQuery[] MediaList { get; set; }}
/// <summary>
/// Media query descriptor.
/// </summary>
public class MediaQuery
{
/// <summary>
/// Array of media query expressions.
/// </summary>
public MediaQueryExpression[] Expressions { get; set; }
/// <summary>
/// Whether the media query condition is satisfied.
/// </summary>
public bool Active { get; set; }}
/// <summary>
/// Media query expression descriptor.
/// </summary>
public class MediaQueryExpression
{
/// <summary>
/// Media query expression value.
/// </summary>
public double Value { get; set; }
/// <summary>
/// Media query expression units.
/// </summary>
public string Unit { get; set; }
/// <summary>
/// Media query expression feature.
/// </summary>
public string Feature { get; set; }
/// <summary>
/// The associated range of the value text in the enclosing stylesheet (if available).
/// </summary>
public SourceRange ValueRange { get; set; }
/// <summary>
/// Computed length of media query expression (if applicable).
/// </summary>
public double ComputedLength { get; set; }}
/// <summary>
/// Information about amount of glyphs that were rendered with given font.
/// </summary>
public class PlatformFontUsage
{
/// <summary>
/// Font's family name reported by platform.
/// </summary>
public string FamilyName { get; set; }
/// <summary>
/// Indicates if the font was downloaded or resolved locally.
/// </summary>
public bool IsCustomFont { get; set; }
/// <summary>
/// Amount of glyphs that were rendered with this font.
/// </summary>
public double GlyphCount { get; set; }}
/// <summary>
/// Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions
/// </summary>
public class FontFace
{
/// <summary>
/// The font-family.
/// </summary>
public string FontFamily { get; set; }
/// <summary>
/// The font-style.
/// </summary>
public string FontStyle { get; set; }
/// <summary>
/// The font-variant.
/// </summary>
public string FontVariant { get; set; }
/// <summary>
/// The font-weight.
/// </summary>
public string FontWeight { get; set; }
/// <summary>
/// The font-stretch.
/// </summary>
public string FontStretch { get; set; }
/// <summary>
/// The unicode-range.
/// </summary>
public string UnicodeRange { get; set; }
/// <summary>
/// The src.
/// </summary>
public string Src { get; set; }
/// <summary>
/// The resolved platform font family
/// </summary>
public string PlatformFontFamily { get; set; }}
/// <summary>
/// CSS keyframes rule representation.
/// </summary>
public class CSSKeyframesRule
{
/// <summary>
/// Animation name.
/// </summary>
public Value AnimationName { get; set; }
/// <summary>
/// List of keyframes.
/// </summary>
public CSSKeyframeRule[] Keyframes { get; set; }}
/// <summary>
/// CSS keyframe rule representation.
/// </summary>
public class CSSKeyframeRule
{
/// <summary>
/// The css style sheet identifier (absent for user agent stylesheet and user-specified
/// stylesheet rules) this rule came from.
/// </summary>
public StyleSheetId StyleSheetId { get; set; }
/// <summary>
/// Parent stylesheet's origin.
/// </summary>
public StyleSheetOrigin Origin { get; set; }
/// <summary>
/// Associated key text.
/// </summary>
public Value KeyText { get; set; }
/// <summary>
/// Associated style declaration.
/// </summary>
public CSSStyle Style { get; set; }}
/// <summary>
/// A descriptor of operation to mutate style declaration text.
/// </summary>
public class StyleDeclarationEdit
{
/// <summary>
/// The css style sheet identifier.
/// </summary>
public StyleSheetId StyleSheetId { get; set; }
/// <summary>
/// The range of the style text in the enclosing stylesheet.
/// </summary>
public SourceRange Range { get; set; }
/// <summary>
/// New style text.
/// </summary>
public string Text { get; set; }}
}
namespace Playwright.Chromium.Protocol.CacheStorage
{
public readonly struct CacheId : System.IComparable<CacheId>, System.IEquatable<CacheId>
{
public string Value { get; }
public CacheId(string value)
{
Value = value;
}
public bool Equals(CacheId other) => this.Value.Equals(other.Value);
public int CompareTo(CacheId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is CacheId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(CacheId a, CacheId b) => a.CompareTo(b) == 0;
public static bool operator !=(CacheId a, CacheId b) => !(a == b);
}
/// <summary>
/// type of HTTP response cached
/// </summary>
public enum CachedResponseType
{
[System.Runtime.Serialization.EnumMember(Value = "basic")]Basic,
[System.Runtime.Serialization.EnumMember(Value = "cors")]Cors,
[System.Runtime.Serialization.EnumMember(Value = "default")]Default,
[System.Runtime.Serialization.EnumMember(Value = "error")]Error,
[System.Runtime.Serialization.EnumMember(Value = "opaqueResponse")]OpaqueResponse,
[System.Runtime.Serialization.EnumMember(Value = "opaqueRedirect")]OpaqueRedirect}
/// <summary>
/// Data entry.
/// </summary>
public class DataEntry
{
/// <summary>
/// Request URL.
/// </summary>
public string RequestURL { get; set; }
/// <summary>
/// Request method.
/// </summary>
public string RequestMethod { get; set; }
/// <summary>
/// Request headers
/// </summary>
public Header[] RequestHeaders { get; set; }
/// <summary>
/// Number of seconds since epoch.
/// </summary>
public double ResponseTime { get; set; }
/// <summary>
/// HTTP response status code.
/// </summary>
public int ResponseStatus { get; set; }
/// <summary>
/// HTTP response status text.
/// </summary>
public string ResponseStatusText { get; set; }
/// <summary>
/// HTTP response type
/// </summary>
public CachedResponseType ResponseType { get; set; }
/// <summary>
/// Response headers
/// </summary>
public Header[] ResponseHeaders { get; set; }}
/// <summary>
/// Cache identifier.
/// </summary>
public class Cache
{
/// <summary>
/// An opaque unique id of the cache.
/// </summary>
public CacheId CacheId { get; set; }
/// <summary>
/// Security origin of the cache.
/// </summary>
public string SecurityOrigin { get; set; }
/// <summary>
/// The name of the cache.
/// </summary>
public string CacheName { get; set; }}
/// <summary>
///
/// </summary>
public class Header
{
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Value { get; set; }}
/// <summary>
/// Cached response
/// </summary>
public class CachedResponse
{
/// <summary>
/// Entry content, base64-encoded.
/// </summary>
public byte[] Body { get; set; }}
}
namespace Playwright.Chromium.Protocol.Cast
{
/// <summary>
///
/// </summary>
public class Sink
{
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Id { get; set; }
/// <summary>
/// Text describing the current session. Present only if there is an active
/// session on the sink.
/// </summary>
public string Session { get; set; }}
}
namespace Playwright.Chromium.Protocol.DOM
{
public readonly struct NodeId : System.IComparable<NodeId>, System.IEquatable<NodeId>
{
public int Value { get; }
public NodeId(int value)
{
Value = value;
}
public bool Equals(NodeId other) => this.Value.Equals(other.Value);
public int CompareTo(NodeId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is NodeId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(NodeId a, NodeId b) => a.CompareTo(b) == 0;
public static bool operator !=(NodeId a, NodeId b) => !(a == b);
}
public readonly struct BackendNodeId : System.IComparable<BackendNodeId>, System.IEquatable<BackendNodeId>
{
public int Value { get; }
public BackendNodeId(int value)
{
Value = value;
}
public bool Equals(BackendNodeId other) => this.Value.Equals(other.Value);
public int CompareTo(BackendNodeId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is BackendNodeId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(BackendNodeId a, BackendNodeId b) => a.CompareTo(b) == 0;
public static bool operator !=(BackendNodeId a, BackendNodeId b) => !(a == b);
}
/// <summary>
/// Backend node with a friendly name.
/// </summary>
public class BackendNode
{
/// <summary>
/// `Node`'s nodeType.
/// </summary>
public int NodeType { get; set; }
/// <summary>
/// `Node`'s nodeName.
/// </summary>
public string NodeName { get; set; }
/// <summary>
///
/// </summary>
public BackendNodeId BackendNodeId { get; set; }}
/// <summary>
/// Pseudo element type.
/// </summary>
public enum PseudoType
{
[System.Runtime.Serialization.EnumMember(Value = "first-line")]FirstLine,
[System.Runtime.Serialization.EnumMember(Value = "first-letter")]FirstLetter,
[System.Runtime.Serialization.EnumMember(Value = "before")]Before,
[System.Runtime.Serialization.EnumMember(Value = "after")]After,
[System.Runtime.Serialization.EnumMember(Value = "backdrop")]Backdrop,
[System.Runtime.Serialization.EnumMember(Value = "selection")]Selection,
[System.Runtime.Serialization.EnumMember(Value = "first-line-inherited")]FirstLineInherited,
[System.Runtime.Serialization.EnumMember(Value = "scrollbar")]Scrollbar,
[System.Runtime.Serialization.EnumMember(Value = "scrollbar-thumb")]ScrollbarThumb,
[System.Runtime.Serialization.EnumMember(Value = "scrollbar-button")]ScrollbarButton,
[System.Runtime.Serialization.EnumMember(Value = "scrollbar-track")]ScrollbarTrack,
[System.Runtime.Serialization.EnumMember(Value = "scrollbar-track-piece")]ScrollbarTrackPiece,
[System.Runtime.Serialization.EnumMember(Value = "scrollbar-corner")]ScrollbarCorner,
[System.Runtime.Serialization.EnumMember(Value = "resizer")]Resizer,
[System.Runtime.Serialization.EnumMember(Value = "input-list-button")]InputListButton}
/// <summary>
/// Shadow root type.
/// </summary>
public enum ShadowRootType
{
[System.Runtime.Serialization.EnumMember(Value = "user-agent")]UserAgent,
[System.Runtime.Serialization.EnumMember(Value = "open")]Open,
[System.Runtime.Serialization.EnumMember(Value = "closed")]Closed}
/// <summary>
/// DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes.
/// DOMNode is a base node mirror type.
/// </summary>
public class Node
{
/// <summary>
/// Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend
/// will only push node with given `id` once. It is aware of all requested nodes and will only
/// fire DOM events for nodes known to the client.
/// </summary>
public NodeId NodeId { get; set; }
/// <summary>
/// The id of the parent node if any.
/// </summary>
public NodeId ParentId { get; set; }
/// <summary>
/// The BackendNodeId for this node.
/// </summary>
public BackendNodeId BackendNodeId { get; set; }
/// <summary>
/// `Node`'s nodeType.
/// </summary>
public int NodeType { get; set; }
/// <summary>
/// `Node`'s nodeName.
/// </summary>
public string NodeName { get; set; }
/// <summary>
/// `Node`'s localName.
/// </summary>
public string LocalName { get; set; }
/// <summary>
/// `Node`'s nodeValue.
/// </summary>
public string NodeValue { get; set; }
/// <summary>
/// Child count for `Container` nodes.
/// </summary>
public int ChildNodeCount { get; set; }
/// <summary>
/// Child nodes of this node when requested with children.
/// </summary>
public Node[] Children { get; set; }
/// <summary>
/// Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.
/// </summary>
public string[] Attributes { get; set; }
/// <summary>
/// Document URL that `Document` or `FrameOwner` node points to.
/// </summary>
public string DocumentURL { get; set; }
/// <summary>
/// Base URL that `Document` or `FrameOwner` node uses for URL completion.
/// </summary>
public string BaseURL { get; set; }
/// <summary>
/// `DocumentType`'s publicId.
/// </summary>
public string PublicId { get; set; }
/// <summary>
/// `DocumentType`'s systemId.
/// </summary>
public string SystemId { get; set; }
/// <summary>
/// `DocumentType`'s internalSubset.
/// </summary>
public string InternalSubset { get; set; }
/// <summary>
/// `Document`'s XML version in case of XML documents.
/// </summary>
public string XmlVersion { get; set; }
/// <summary>
/// `Attr`'s name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// `Attr`'s value.
/// </summary>
public string Value { get; set; }
/// <summary>
/// Pseudo element type for this node.
/// </summary>
public PseudoType PseudoType { get; set; }
/// <summary>
/// Shadow root type.
/// </summary>
public ShadowRootType ShadowRootType { get; set; }
/// <summary>
/// Frame ID for frame owner elements.
/// </summary>
public Playwright.Chromium.Protocol.Page.FrameId FrameId { get; set; }
/// <summary>
/// Content document for frame owner elements.
/// </summary>
public Node ContentDocument { get; set; }
/// <summary>
/// Shadow root list for given element host.
/// </summary>
public Node[] ShadowRoots { get; set; }
/// <summary>
/// Content document fragment for template elements.
/// </summary>
public Node TemplateContent { get; set; }
/// <summary>
/// Pseudo elements associated with this node.
/// </summary>
public Node[] PseudoElements { get; set; }
/// <summary>
/// Import document for the HTMLImport links.
/// </summary>
public Node ImportedDocument { get; set; }
/// <summary>
/// Distributed nodes for given insertion point.
/// </summary>
public BackendNode[] DistributedNodes { get; set; }
/// <summary>
/// Whether the node is SVG.
/// </summary>
public bool IsSVG { get; set; }}
/// <summary>
/// A structure holding an RGBA color.
/// </summary>
public class RGBA
{
/// <summary>
/// The red component, in the [0-255] range.
/// </summary>
public int R { get; set; }
/// <summary>
/// The green component, in the [0-255] range.
/// </summary>
public int G { get; set; }
/// <summary>
/// The blue component, in the [0-255] range.
/// </summary>
public int B { get; set; }
/// <summary>
/// The alpha component, in the [0-1] range (default: 1).
/// </summary>
public double A { get; set; }}
/// <summary>
/// Box model.
/// </summary>
public class BoxModel
{
/// <summary>
/// Content box
/// </summary>
public Quad Content { get; set; }
/// <summary>
/// Padding box
/// </summary>
public Quad Padding { get; set; }
/// <summary>
/// Border box
/// </summary>
public Quad Border { get; set; }
/// <summary>
/// Margin box
/// </summary>
public Quad Margin { get; set; }
/// <summary>
/// Node width
/// </summary>
public int Width { get; set; }
/// <summary>
/// Node height
/// </summary>
public int Height { get; set; }
/// <summary>
/// Shape outside coordinates
/// </summary>
public ShapeOutsideInfo ShapeOutside { get; set; }}
/// <summary>
/// CSS Shape Outside details.
/// </summary>
public class ShapeOutsideInfo
{
/// <summary>
/// Shape bounds
/// </summary>
public Quad Bounds { get; set; }
/// <summary>
/// Shape coordinate details
/// </summary>
public object[] Shape { get; set; }
/// <summary>
/// Margin shape bounds
/// </summary>
public object[] MarginShape { get; set; }}
/// <summary>
/// Rectangle.
/// </summary>
public class Rect
{
/// <summary>
/// X coordinate
/// </summary>
public double X { get; set; }
/// <summary>
/// Y coordinate
/// </summary>
public double Y { get; set; }
/// <summary>
/// Rectangle width
/// </summary>
public double Width { get; set; }
/// <summary>
/// Rectangle height
/// </summary>
public double Height { get; set; }}
}
namespace Playwright.Chromium.Protocol.DOMDebugger
{
/// <summary>
/// DOM breakpoint type.
/// </summary>
public enum DOMBreakpointType
{
[System.Runtime.Serialization.EnumMember(Value = "subtree-modified")]SubtreeModified,
[System.Runtime.Serialization.EnumMember(Value = "attribute-modified")]AttributeModified,
[System.Runtime.Serialization.EnumMember(Value = "node-removed")]NodeRemoved}
/// <summary>
/// Object event listener.
/// </summary>
public class EventListener
{
/// <summary>
/// `EventListener`'s type.
/// </summary>
public string Type { get; set; }
/// <summary>
/// `EventListener`'s useCapture.
/// </summary>
public bool UseCapture { get; set; }
/// <summary>
/// `EventListener`'s passive flag.
/// </summary>
public bool Passive { get; set; }
/// <summary>
/// `EventListener`'s once flag.
/// </summary>
public bool Once { get; set; }
/// <summary>
/// Script id of the handler code.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.ScriptId ScriptId { get; set; }
/// <summary>
/// Line number in the script (0-based).
/// </summary>
public int LineNumber { get; set; }
/// <summary>
/// Column number in the script (0-based).
/// </summary>
public int ColumnNumber { get; set; }
/// <summary>
/// Event handler function value.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.RemoteObject Handler { get; set; }
/// <summary>
/// Event original handler function value.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.RemoteObject OriginalHandler { get; set; }
/// <summary>
/// Node the listener is added to (if any).
/// </summary>
public Playwright.Chromium.Protocol.DOM.BackendNodeId BackendNodeId { get; set; }}
}
namespace Playwright.Chromium.Protocol.DOMSnapshot
{
/// <summary>
/// A Node in the DOM tree.
/// </summary>
public class DOMNode
{
/// <summary>
/// `Node`'s nodeType.
/// </summary>
public int NodeType { get; set; }
/// <summary>
/// `Node`'s nodeName.
/// </summary>
public string NodeName { get; set; }
/// <summary>
/// `Node`'s nodeValue.
/// </summary>
public string NodeValue { get; set; }
/// <summary>
/// Only set for textarea elements, contains the text value.
/// </summary>
public string TextValue { get; set; }
/// <summary>
/// Only set for input elements, contains the input's associated text value.
/// </summary>
public string InputValue { get; set; }
/// <summary>
/// Only set for radio and checkbox input elements, indicates if the element has been checked
/// </summary>
public bool InputChecked { get; set; }
/// <summary>
/// Only set for option elements, indicates if the element has been selected
/// </summary>
public bool OptionSelected { get; set; }
/// <summary>
/// `Node`'s id, corresponds to DOM.Node.backendNodeId.
/// </summary>
public Playwright.Chromium.Protocol.DOM.BackendNodeId BackendNodeId { get; set; }
/// <summary>
/// The indexes of the node's child nodes in the `domNodes` array returned by `getSnapshot`, if
/// any.
/// </summary>
public int[] ChildNodeIndexes { get; set; }
/// <summary>
/// Attributes of an `Element` node.
/// </summary>
public NameValue[] Attributes { get; set; }
/// <summary>
/// Indexes of pseudo elements associated with this node in the `domNodes` array returned by
/// `getSnapshot`, if any.
/// </summary>
public int[] PseudoElementIndexes { get; set; }
/// <summary>
/// The index of the node's related layout tree node in the `layoutTreeNodes` array returned by
/// `getSnapshot`, if any.
/// </summary>
public int LayoutNodeIndex { get; set; }
/// <summary>
/// Document URL that `Document` or `FrameOwner` node points to.
/// </summary>
public string DocumentURL { get; set; }
/// <summary>
/// Base URL that `Document` or `FrameOwner` node uses for URL completion.
/// </summary>
public string BaseURL { get; set; }
/// <summary>
/// Only set for documents, contains the document's content language.
/// </summary>
public string ContentLanguage { get; set; }
/// <summary>
/// Only set for documents, contains the document's character set encoding.
/// </summary>
public string DocumentEncoding { get; set; }
/// <summary>
/// `DocumentType` node's publicId.
/// </summary>
public string PublicId { get; set; }
/// <summary>
/// `DocumentType` node's systemId.
/// </summary>
public string SystemId { get; set; }
/// <summary>
/// Frame ID for frame owner elements and also for the document node.
/// </summary>
public Playwright.Chromium.Protocol.Page.FrameId FrameId { get; set; }
/// <summary>
/// The index of a frame owner element's content document in the `domNodes` array returned by
/// `getSnapshot`, if any.
/// </summary>
public int ContentDocumentIndex { get; set; }
/// <summary>
/// Type of a pseudo element node.
/// </summary>
public Playwright.Chromium.Protocol.DOM.PseudoType PseudoType { get; set; }
/// <summary>
/// Shadow root type.
/// </summary>
public Playwright.Chromium.Protocol.DOM.ShadowRootType ShadowRootType { get; set; }
/// <summary>
/// Whether this DOM node responds to mouse clicks. This includes nodes that have had click
/// event listeners attached via JavaScript as well as anchor tags that naturally navigate when
/// clicked.
/// </summary>
public bool IsClickable { get; set; }
/// <summary>
/// Details of the node's event listeners, if any.
/// </summary>
public Playwright.Chromium.Protocol.DOMDebugger.EventListener[] EventListeners { get; set; }
/// <summary>
/// The selected url for nodes with a srcset attribute.
/// </summary>
public string CurrentSourceURL { get; set; }
/// <summary>
/// The url of the script (if any) that generates this node.
/// </summary>
public string OriginURL { get; set; }
/// <summary>
/// Scroll offsets, set when this node is a Document.
/// </summary>
public double ScrollOffsetX { get; set; }
/// <summary>
///
/// </summary>
public double ScrollOffsetY { get; set; }}
/// <summary>
/// Details of post layout rendered text positions. The exact layout should not be regarded as
/// stable and may change between versions.
/// </summary>
public class InlineTextBox
{
/// <summary>
/// The bounding box in document coordinates. Note that scroll offset of the document is ignored.
/// </summary>
public Playwright.Chromium.Protocol.DOM.Rect BoundingBox { get; set; }
/// <summary>
/// The starting index in characters, for this post layout textbox substring. Characters that
/// would be represented as a surrogate pair in UTF-16 have length 2.
/// </summary>
public int StartCharacterIndex { get; set; }
/// <summary>
/// The number of characters in this post layout textbox substring. Characters that would be
/// represented as a surrogate pair in UTF-16 have length 2.
/// </summary>
public int NumCharacters { get; set; }}
/// <summary>
/// Details of an element in the DOM tree with a LayoutObject.
/// </summary>
public class LayoutTreeNode
{
/// <summary>
/// The index of the related DOM node in the `domNodes` array returned by `getSnapshot`.
/// </summary>
public int DomNodeIndex { get; set; }
/// <summary>
/// The bounding box in document coordinates. Note that scroll offset of the document is ignored.
/// </summary>
public Playwright.Chromium.Protocol.DOM.Rect BoundingBox { get; set; }
/// <summary>
/// Contents of the LayoutText, if any.
/// </summary>
public string LayoutText { get; set; }
/// <summary>
/// The post-layout inline text nodes, if any.
/// </summary>
public InlineTextBox[] InlineTextNodes { get; set; }
/// <summary>
/// Index into the `computedStyles` array returned by `getSnapshot`.
/// </summary>
public int StyleIndex { get; set; }
/// <summary>
/// Global paint order index, which is determined by the stacking order of the nodes. Nodes
/// that are painted together will have the same index. Only provided if includePaintOrder in
/// getSnapshot was true.
/// </summary>
public int PaintOrder { get; set; }
/// <summary>
/// Set to true to indicate the element begins a new stacking context.
/// </summary>
public bool IsStackingContext { get; set; }}
/// <summary>
/// A subset of the full ComputedStyle as defined by the request whitelist.
/// </summary>
public class ComputedStyle
{
/// <summary>
/// Name/value pairs of computed style properties.
/// </summary>
public NameValue[] Properties { get; set; }}
/// <summary>
/// A name/value pair.
/// </summary>
public class NameValue
{
/// <summary>
/// Attribute/property name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Attribute/property value.
/// </summary>
public string Value { get; set; }}
public readonly struct StringIndex : System.IComparable<StringIndex>, System.IEquatable<StringIndex>
{
public int Value { get; }
public StringIndex(int value)
{
Value = value;
}
public bool Equals(StringIndex other) => this.Value.Equals(other.Value);
public int CompareTo(StringIndex other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is StringIndex other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(StringIndex a, StringIndex b) => a.CompareTo(b) == 0;
public static bool operator !=(StringIndex a, StringIndex b) => !(a == b);
}
/// <summary>
/// Data that is only present on rare nodes.
/// </summary>
public class RareStringData
{
/// <summary>
///
/// </summary>
public int[] Index { get; set; }
/// <summary>
///
/// </summary>
public StringIndex[] Value { get; set; }}
/// <summary>
///
/// </summary>
public class RareBooleanData
{
/// <summary>
///
/// </summary>
public int[] Index { get; set; }}
/// <summary>
///
/// </summary>
public class RareIntegerData
{
/// <summary>
///
/// </summary>
public int[] Index { get; set; }
/// <summary>
///
/// </summary>
public int[] Value { get; set; }}
/// <summary>
/// Document snapshot.
/// </summary>
public class DocumentSnapshot
{
/// <summary>
/// Document URL that `Document` or `FrameOwner` node points to.
/// </summary>
public StringIndex DocumentURL { get; set; }
/// <summary>
/// Document title.
/// </summary>
public StringIndex Title { get; set; }
/// <summary>
/// Base URL that `Document` or `FrameOwner` node uses for URL completion.
/// </summary>
public StringIndex BaseURL { get; set; }
/// <summary>
/// Contains the document's content language.
/// </summary>
public StringIndex ContentLanguage { get; set; }
/// <summary>
/// Contains the document's character set encoding.
/// </summary>
public StringIndex EncodingName { get; set; }
/// <summary>
/// `DocumentType` node's publicId.
/// </summary>
public StringIndex PublicId { get; set; }
/// <summary>
/// `DocumentType` node's systemId.
/// </summary>
public StringIndex SystemId { get; set; }
/// <summary>
/// Frame ID for frame owner elements and also for the document node.
/// </summary>
public StringIndex FrameId { get; set; }
/// <summary>
/// A table with dom nodes.
/// </summary>
public NodeTreeSnapshot Nodes { get; set; }
/// <summary>
/// The nodes in the layout tree.
/// </summary>
public LayoutTreeSnapshot Layout { get; set; }
/// <summary>
/// The post-layout inline text nodes.
/// </summary>
public TextBoxSnapshot TextBoxes { get; set; }
/// <summary>
/// Horizontal scroll offset.
/// </summary>
public double ScrollOffsetX { get; set; }
/// <summary>
/// Vertical scroll offset.
/// </summary>
public double ScrollOffsetY { get; set; }
/// <summary>
/// Document content width.
/// </summary>
public double ContentWidth { get; set; }
/// <summary>
/// Document content height.
/// </summary>
public double ContentHeight { get; set; }}
/// <summary>
/// Table containing nodes.
/// </summary>
public class NodeTreeSnapshot
{
/// <summary>
/// Parent node index.
/// </summary>
public int[] ParentIndex { get; set; }
/// <summary>
/// `Node`'s nodeType.
/// </summary>
public int[] NodeType { get; set; }
/// <summary>
/// `Node`'s nodeName.
/// </summary>
public StringIndex[] NodeName { get; set; }
/// <summary>
/// `Node`'s nodeValue.
/// </summary>
public StringIndex[] NodeValue { get; set; }
/// <summary>
/// `Node`'s id, corresponds to DOM.Node.backendNodeId.
/// </summary>
public Playwright.Chromium.Protocol.DOM.BackendNodeId[] BackendNodeId { get; set; }
/// <summary>
/// Attributes of an `Element` node. Flatten name, value pairs.
/// </summary>
public ArrayOfStrings[] Attributes { get; set; }
/// <summary>
/// Only set for textarea elements, contains the text value.
/// </summary>
public RareStringData TextValue { get; set; }
/// <summary>
/// Only set for input elements, contains the input's associated text value.
/// </summary>
public RareStringData InputValue { get; set; }
/// <summary>
/// Only set for radio and checkbox input elements, indicates if the element has been checked
/// </summary>
public RareBooleanData InputChecked { get; set; }
/// <summary>
/// Only set for option elements, indicates if the element has been selected
/// </summary>
public RareBooleanData OptionSelected { get; set; }
/// <summary>
/// The index of the document in the list of the snapshot documents.
/// </summary>
public RareIntegerData ContentDocumentIndex { get; set; }
/// <summary>
/// Type of a pseudo element node.
/// </summary>
public RareStringData PseudoType { get; set; }
/// <summary>
/// Whether this DOM node responds to mouse clicks. This includes nodes that have had click
/// event listeners attached via JavaScript as well as anchor tags that naturally navigate when
/// clicked.
/// </summary>
public RareBooleanData IsClickable { get; set; }
/// <summary>
/// The selected url for nodes with a srcset attribute.
/// </summary>
public RareStringData CurrentSourceURL { get; set; }
/// <summary>
/// The url of the script (if any) that generates this node.
/// </summary>
public RareStringData OriginURL { get; set; }}
/// <summary>
/// Table of details of an element in the DOM tree with a LayoutObject.
/// </summary>
public class LayoutTreeSnapshot
{
/// <summary>
/// Index of the corresponding node in the `NodeTreeSnapshot` array returned by `captureSnapshot`.
/// </summary>
public int[] NodeIndex { get; set; }
/// <summary>
/// Array of indexes specifying computed style strings, filtered according to the `computedStyles` parameter passed to `captureSnapshot`.
/// </summary>
public ArrayOfStrings[] Styles { get; set; }
/// <summary>
/// The absolute position bounding box.
/// </summary>
public Rectangle[] Bounds { get; set; }
/// <summary>
/// Contents of the LayoutText, if any.
/// </summary>
public StringIndex[] Text { get; set; }
/// <summary>
/// Stacking context information.
/// </summary>
public RareBooleanData StackingContexts { get; set; }
/// <summary>
/// Global paint order index, which is determined by the stacking order of the nodes. Nodes
/// that are painted together will have the same index. Only provided if includePaintOrder in
/// captureSnapshot was true.
/// </summary>
public int[] PaintOrders { get; set; }
/// <summary>
/// The offset rect of nodes. Only available when includeDOMRects is set to true
/// </summary>
public Rectangle[] OffsetRects { get; set; }
/// <summary>
/// The scroll rect of nodes. Only available when includeDOMRects is set to true
/// </summary>
public Rectangle[] ScrollRects { get; set; }
/// <summary>
/// The client rect of nodes. Only available when includeDOMRects is set to true
/// </summary>
public Rectangle[] ClientRects { get; set; }}
/// <summary>
/// Table of details of the post layout rendered text positions. The exact layout should not be regarded as
/// stable and may change between versions.
/// </summary>
public class TextBoxSnapshot
{
/// <summary>
/// Index of the layout tree node that owns this box collection.
/// </summary>
public int[] LayoutIndex { get; set; }
/// <summary>
/// The absolute position bounding box.
/// </summary>
public Rectangle[] Bounds { get; set; }
/// <summary>
/// The starting index in characters, for this post layout textbox substring. Characters that
/// would be represented as a surrogate pair in UTF-16 have length 2.
/// </summary>
public int[] Start { get; set; }
/// <summary>
/// The number of characters in this post layout textbox substring. Characters that would be
/// represented as a surrogate pair in UTF-16 have length 2.
/// </summary>
public int[] Length { get; set; }}
}
namespace Playwright.Chromium.Protocol.DOMStorage
{
/// <summary>
/// DOM Storage identifier.
/// </summary>
public class StorageId
{
/// <summary>
/// Security origin for the storage.
/// </summary>
public string SecurityOrigin { get; set; }
/// <summary>
/// Whether the storage is local storage (not session storage).
/// </summary>
public bool IsLocalStorage { get; set; }}
}
namespace Playwright.Chromium.Protocol.Database
{
public readonly struct DatabaseId : System.IComparable<DatabaseId>, System.IEquatable<DatabaseId>
{
public string Value { get; }
public DatabaseId(string value)
{
Value = value;
}
public bool Equals(DatabaseId other) => this.Value.Equals(other.Value);
public int CompareTo(DatabaseId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is DatabaseId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(DatabaseId a, DatabaseId b) => a.CompareTo(b) == 0;
public static bool operator !=(DatabaseId a, DatabaseId b) => !(a == b);
}
/// <summary>
/// Database object.
/// </summary>
public class Database
{
/// <summary>
/// Database ID.
/// </summary>
public DatabaseId Id { get; set; }
/// <summary>
/// Database domain.
/// </summary>
public string Domain { get; set; }
/// <summary>
/// Database name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Database version.
/// </summary>
public string Version { get; set; }}
/// <summary>
/// Database error.
/// </summary>
public class Error
{
/// <summary>
/// Error message.
/// </summary>
public string Message { get; set; }
/// <summary>
/// Error code.
/// </summary>
public int Code { get; set; }}
}
namespace Playwright.Chromium.Protocol.DeviceOrientation
{
}
namespace Playwright.Chromium.Protocol.Emulation
{
/// <summary>
/// Screen orientation.
/// </summary>
public class ScreenOrientation
{
/// <summary>
/// Orientation type.
/// </summary>
public string Type { get; set; }
/// <summary>
/// Orientation angle.
/// </summary>
public int Angle { get; set; }}
/// <summary>
///
/// </summary>
public class MediaFeature
{
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Value { get; set; }}
/// <summary>
/// advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to
/// allow the next delayed task (if any) to run; pause: The virtual time base may not advance;
/// pauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending
/// resource fetches.
/// </summary>
public enum VirtualTimePolicy
{
[System.Runtime.Serialization.EnumMember(Value = "advance")]Advance,
[System.Runtime.Serialization.EnumMember(Value = "pause")]Pause,
[System.Runtime.Serialization.EnumMember(Value = "pauseIfNetworkFetchesPending")]PauseIfNetworkFetchesPending}
}
namespace Playwright.Chromium.Protocol.HeadlessExperimental
{
/// <summary>
/// Encoding options for a screenshot.
/// </summary>
public class ScreenshotParams
{
/// <summary>
/// Image compression format (defaults to png).
/// </summary>
public string Format { get; set; }
/// <summary>
/// Compression quality from range [0..100] (jpeg only).
/// </summary>
public int Quality { get; set; }}
}
namespace Playwright.Chromium.Protocol.IO
{
public readonly struct StreamHandle : System.IComparable<StreamHandle>, System.IEquatable<StreamHandle>
{
public string Value { get; }
public StreamHandle(string value)
{
Value = value;
}
public bool Equals(StreamHandle other) => this.Value.Equals(other.Value);
public int CompareTo(StreamHandle other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is StreamHandle other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(StreamHandle a, StreamHandle b) => a.CompareTo(b) == 0;
public static bool operator !=(StreamHandle a, StreamHandle b) => !(a == b);
}
}
namespace Playwright.Chromium.Protocol.IndexedDB
{
/// <summary>
/// Database with an array of object stores.
/// </summary>
public class DatabaseWithObjectStores
{
/// <summary>
/// Database name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Database version (type is not 'integer', as the standard
/// requires the version number to be 'unsigned long long')
/// </summary>
public double Version { get; set; }
/// <summary>
/// Object stores in this database.
/// </summary>
public ObjectStore[] ObjectStores { get; set; }}
/// <summary>
/// Object store.
/// </summary>
public class ObjectStore
{
/// <summary>
/// Object store name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Object store key path.
/// </summary>
public KeyPath KeyPath { get; set; }
/// <summary>
/// If true, object store has auto increment flag set.
/// </summary>
public bool AutoIncrement { get; set; }
/// <summary>
/// Indexes in this object store.
/// </summary>
public ObjectStoreIndex[] Indexes { get; set; }}
/// <summary>
/// Object store index.
/// </summary>
public class ObjectStoreIndex
{
/// <summary>
/// Index name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Index key path.
/// </summary>
public KeyPath KeyPath { get; set; }
/// <summary>
/// If true, index is unique.
/// </summary>
public bool Unique { get; set; }
/// <summary>
/// If true, index allows multiple entries for a key.
/// </summary>
public bool MultiEntry { get; set; }}
/// <summary>
/// Key.
/// </summary>
public class Key
{
/// <summary>
/// Key type.
/// </summary>
public string Type { get; set; }
/// <summary>
/// Number value.
/// </summary>
public double Number { get; set; }
/// <summary>
/// String value.
/// </summary>
public string String { get; set; }
/// <summary>
/// Date value.
/// </summary>
public double Date { get; set; }
/// <summary>
/// Array value.
/// </summary>
public Key[] Array { get; set; }}
/// <summary>
/// Key range.
/// </summary>
public class KeyRange
{
/// <summary>
/// Lower bound.
/// </summary>
public Key Lower { get; set; }
/// <summary>
/// Upper bound.
/// </summary>
public Key Upper { get; set; }
/// <summary>
/// If true lower bound is open.
/// </summary>
public bool LowerOpen { get; set; }
/// <summary>
/// If true upper bound is open.
/// </summary>
public bool UpperOpen { get; set; }}
/// <summary>
/// Data entry.
/// </summary>
public class DataEntry
{
/// <summary>
/// Key object.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.RemoteObject Key { get; set; }
/// <summary>
/// Primary key object.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.RemoteObject PrimaryKey { get; set; }
/// <summary>
/// Value object.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.RemoteObject Value { get; set; }}
/// <summary>
/// Key path.
/// </summary>
public class KeyPath
{
/// <summary>
/// Key path type.
/// </summary>
public string Type { get; set; }
/// <summary>
/// String value.
/// </summary>
public string String { get; set; }
/// <summary>
/// Array value.
/// </summary>
public string[] Array { get; set; }}
}
namespace Playwright.Chromium.Protocol.Input
{
/// <summary>
///
/// </summary>
public class TouchPoint
{
/// <summary>
/// X coordinate of the event relative to the main frame's viewport in CSS pixels.
/// </summary>
public double X { get; set; }
/// <summary>
/// Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to
/// the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.
/// </summary>
public double Y { get; set; }
/// <summary>
/// X radius of the touch area (default: 1.0).
/// </summary>
public double RadiusX { get; set; }
/// <summary>
/// Y radius of the touch area (default: 1.0).
/// </summary>
public double RadiusY { get; set; }
/// <summary>
/// Rotation angle (default: 0.0).
/// </summary>
public double RotationAngle { get; set; }
/// <summary>
/// Force (default: 1.0).
/// </summary>
public double Force { get; set; }
/// <summary>
/// Identifier used to track touch sources between events, must be unique within an event.
/// </summary>
public double Id { get; set; }}
/// <summary>
///
/// </summary>
public enum GestureSourceType
{
[System.Runtime.Serialization.EnumMember(Value = "default")]Default,
[System.Runtime.Serialization.EnumMember(Value = "touch")]Touch,
[System.Runtime.Serialization.EnumMember(Value = "mouse")]Mouse}
public readonly struct TimeSinceEpoch : System.IComparable<TimeSinceEpoch>, System.IEquatable<TimeSinceEpoch>
{
public long Value { get; }
public TimeSinceEpoch(long value)
{
Value = value;
}
public bool Equals(TimeSinceEpoch other) => this.Value.Equals(other.Value);
public int CompareTo(TimeSinceEpoch other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is TimeSinceEpoch other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(TimeSinceEpoch a, TimeSinceEpoch b) => a.CompareTo(b) == 0;
public static bool operator !=(TimeSinceEpoch a, TimeSinceEpoch b) => !(a == b);
}
}
namespace Playwright.Chromium.Protocol.Inspector
{
}
namespace Playwright.Chromium.Protocol.LayerTree
{
public readonly struct LayerId : System.IComparable<LayerId>, System.IEquatable<LayerId>
{
public string Value { get; }
public LayerId(string value)
{
Value = value;
}
public bool Equals(LayerId other) => this.Value.Equals(other.Value);
public int CompareTo(LayerId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is LayerId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(LayerId a, LayerId b) => a.CompareTo(b) == 0;
public static bool operator !=(LayerId a, LayerId b) => !(a == b);
}
public readonly struct SnapshotId : System.IComparable<SnapshotId>, System.IEquatable<SnapshotId>
{
public string Value { get; }
public SnapshotId(string value)
{
Value = value;
}
public bool Equals(SnapshotId other) => this.Value.Equals(other.Value);
public int CompareTo(SnapshotId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is SnapshotId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(SnapshotId a, SnapshotId b) => a.CompareTo(b) == 0;
public static bool operator !=(SnapshotId a, SnapshotId b) => !(a == b);
}
/// <summary>
/// Rectangle where scrolling happens on the main thread.
/// </summary>
public class ScrollRect
{
/// <summary>
/// Rectangle itself.
/// </summary>
public Playwright.Chromium.Protocol.DOM.Rect Rect { get; set; }
/// <summary>
/// Reason for rectangle to force scrolling on the main thread
/// </summary>
public string Type { get; set; }}
/// <summary>
/// Sticky position constraints.
/// </summary>
public class StickyPositionConstraint
{
/// <summary>
/// Layout rectangle of the sticky element before being shifted
/// </summary>
public Playwright.Chromium.Protocol.DOM.Rect StickyBoxRect { get; set; }
/// <summary>
/// Layout rectangle of the containing block of the sticky element
/// </summary>
public Playwright.Chromium.Protocol.DOM.Rect ContainingBlockRect { get; set; }
/// <summary>
/// The nearest sticky layer that shifts the sticky box
/// </summary>
public LayerId NearestLayerShiftingStickyBox { get; set; }
/// <summary>
/// The nearest sticky layer that shifts the containing block
/// </summary>
public LayerId NearestLayerShiftingContainingBlock { get; set; }}
/// <summary>
/// Serialized fragment of layer picture along with its offset within the layer.
/// </summary>
public class PictureTile
{
/// <summary>
/// Offset from owning layer left boundary
/// </summary>
public double X { get; set; }
/// <summary>
/// Offset from owning layer top boundary
/// </summary>
public double Y { get; set; }
/// <summary>
/// Base64-encoded snapshot data.
/// </summary>
public byte[] Picture { get; set; }}
/// <summary>
/// Information about a compositing layer.
/// </summary>
public class Layer
{
/// <summary>
/// The unique id for this layer.
/// </summary>
public LayerId LayerId { get; set; }
/// <summary>
/// The id of parent (not present for root).
/// </summary>
public LayerId ParentLayerId { get; set; }
/// <summary>
/// The backend id for the node associated with this layer.
/// </summary>
public Playwright.Chromium.Protocol.DOM.BackendNodeId BackendNodeId { get; set; }
/// <summary>
/// Offset from parent layer, X coordinate.
/// </summary>
public double OffsetX { get; set; }
/// <summary>
/// Offset from parent layer, Y coordinate.
/// </summary>
public double OffsetY { get; set; }
/// <summary>
/// Layer width.
/// </summary>
public double Width { get; set; }
/// <summary>
/// Layer height.
/// </summary>
public double Height { get; set; }
/// <summary>
/// Transformation matrix for layer, default is identity matrix
/// </summary>
public double[] Transform { get; set; }
/// <summary>
/// Transform anchor point X, absent if no transform specified
/// </summary>
public double AnchorX { get; set; }
/// <summary>
/// Transform anchor point Y, absent if no transform specified
/// </summary>
public double AnchorY { get; set; }
/// <summary>
/// Transform anchor point Z, absent if no transform specified
/// </summary>
public double AnchorZ { get; set; }
/// <summary>
/// Indicates how many time this layer has painted.
/// </summary>
public int PaintCount { get; set; }
/// <summary>
/// Indicates whether this layer hosts any content, rather than being used for
/// transform/scrolling purposes only.
/// </summary>
public bool DrawsContent { get; set; }
/// <summary>
/// Set if layer is not visible.
/// </summary>
public bool Invisible { get; set; }
/// <summary>
/// Rectangles scrolling on main thread only.
/// </summary>
public ScrollRect[] ScrollRects { get; set; }
/// <summary>
/// Sticky position constraint information
/// </summary>
public StickyPositionConstraint StickyPositionConstraint { get; set; }}
}
namespace Playwright.Chromium.Protocol.Log
{
/// <summary>
/// Log entry.
/// </summary>
public class LogEntry
{
/// <summary>
/// Log entry source.
/// </summary>
public string Source { get; set; }
/// <summary>
/// Log entry severity.
/// </summary>
public string Level { get; set; }
/// <summary>
/// Logged text.
/// </summary>
public string Text { get; set; }
/// <summary>
/// Timestamp when this entry was added.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.Timestamp Timestamp { get; set; }
/// <summary>
/// URL of the resource if known.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Line number in the resource.
/// </summary>
public int LineNumber { get; set; }
/// <summary>
/// JavaScript stack trace.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.StackTrace StackTrace { get; set; }
/// <summary>
/// Identifier of the network request associated with this entry.
/// </summary>
public Playwright.Chromium.Protocol.Network.RequestId NetworkRequestId { get; set; }
/// <summary>
/// Identifier of the worker associated with this entry.
/// </summary>
public string WorkerId { get; set; }
/// <summary>
/// Call arguments.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.RemoteObject[] Args { get; set; }}
/// <summary>
/// Violation configuration setting.
/// </summary>
public class ViolationSetting
{
/// <summary>
/// Violation type.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Time threshold to trigger upon.
/// </summary>
public double Threshold { get; set; }}
}
namespace Playwright.Chromium.Protocol.Memory
{
/// <summary>
/// Memory pressure level.
/// </summary>
public enum PressureLevel
{
[System.Runtime.Serialization.EnumMember(Value = "moderate")]Moderate,
[System.Runtime.Serialization.EnumMember(Value = "critical")]Critical}
/// <summary>
/// Heap profile sample.
/// </summary>
public class SamplingProfileNode
{
/// <summary>
/// Size of the sampled allocation.
/// </summary>
public double Size { get; set; }
/// <summary>
/// Total bytes attributed to this sample.
/// </summary>
public double Total { get; set; }
/// <summary>
/// Execution stack at the point of allocation.
/// </summary>
public string[] Stack { get; set; }}
/// <summary>
/// Array of heap profile samples.
/// </summary>
public class SamplingProfile
{
/// <summary>
///
/// </summary>
public SamplingProfileNode[] Samples { get; set; }
/// <summary>
///
/// </summary>
public Module[] Modules { get; set; }}
/// <summary>
/// Executable module information
/// </summary>
public class Module
{
/// <summary>
/// Name of the module.
/// </summary>
public string Name { get; set; }
/// <summary>
/// UUID of the module.
/// </summary>
public string Uuid { get; set; }
/// <summary>
/// Base address where the module is loaded into memory. Encoded as a decimal
/// or hexadecimal (0x prefixed) string.
/// </summary>
public string BaseAddress { get; set; }
/// <summary>
/// Size of the module in bytes.
/// </summary>
public double Size { get; set; }}
}
namespace Playwright.Chromium.Protocol.Network
{
/// <summary>
/// Resource type as it was perceived by the rendering engine.
/// </summary>
public enum ResourceType
{
[System.Runtime.Serialization.EnumMember(Value = "Document")]DOcument,
[System.Runtime.Serialization.EnumMember(Value = "Stylesheet")]STylesheet,
[System.Runtime.Serialization.EnumMember(Value = "Image")]IMage,
[System.Runtime.Serialization.EnumMember(Value = "Media")]MEdia,
[System.Runtime.Serialization.EnumMember(Value = "Font")]FOnt,
[System.Runtime.Serialization.EnumMember(Value = "Script")]SCript,
[System.Runtime.Serialization.EnumMember(Value = "TextTrack")]TExtTrack,
[System.Runtime.Serialization.EnumMember(Value = "XHR")]XHR,
[System.Runtime.Serialization.EnumMember(Value = "Fetch")]FEtch,
[System.Runtime.Serialization.EnumMember(Value = "EventSource")]EVentSource,
[System.Runtime.Serialization.EnumMember(Value = "WebSocket")]WEbSocket,
[System.Runtime.Serialization.EnumMember(Value = "Manifest")]MAnifest,
[System.Runtime.Serialization.EnumMember(Value = "SignedExchange")]SIgnedExchange,
[System.Runtime.Serialization.EnumMember(Value = "Ping")]PIng,
[System.Runtime.Serialization.EnumMember(Value = "CSPViolationReport")]CSPVIolationReport,
[System.Runtime.Serialization.EnumMember(Value = "Other")]OTher}
public readonly struct LoaderId : System.IComparable<LoaderId>, System.IEquatable<LoaderId>
{
public string Value { get; }
public LoaderId(string value)
{
Value = value;
}
public bool Equals(LoaderId other) => this.Value.Equals(other.Value);
public int CompareTo(LoaderId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is LoaderId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(LoaderId a, LoaderId b) => a.CompareTo(b) == 0;
public static bool operator !=(LoaderId a, LoaderId b) => !(a == b);
}
public readonly struct RequestId : System.IComparable<RequestId>, System.IEquatable<RequestId>
{
public string Value { get; }
public RequestId(string value)
{
Value = value;
}
public bool Equals(RequestId other) => this.Value.Equals(other.Value);
public int CompareTo(RequestId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is RequestId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(RequestId a, RequestId b) => a.CompareTo(b) == 0;
public static bool operator !=(RequestId a, RequestId b) => !(a == b);
}
public readonly struct InterceptionId : System.IComparable<InterceptionId>, System.IEquatable<InterceptionId>
{
public string Value { get; }
public InterceptionId(string value)
{
Value = value;
}
public bool Equals(InterceptionId other) => this.Value.Equals(other.Value);
public int CompareTo(InterceptionId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is InterceptionId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(InterceptionId a, InterceptionId b) => a.CompareTo(b) == 0;
public static bool operator !=(InterceptionId a, InterceptionId b) => !(a == b);
}
/// <summary>
/// Network level fetch failure reason.
/// </summary>
public enum ErrorReason
{
[System.Runtime.Serialization.EnumMember(Value = "Failed")]FAiled,
[System.Runtime.Serialization.EnumMember(Value = "Aborted")]ABorted,
[System.Runtime.Serialization.EnumMember(Value = "TimedOut")]TImedOut,
[System.Runtime.Serialization.EnumMember(Value = "AccessDenied")]ACcessDenied,
[System.Runtime.Serialization.EnumMember(Value = "ConnectionClosed")]COnnectionClosed,
[System.Runtime.Serialization.EnumMember(Value = "ConnectionReset")]COnnectionReset,
[System.Runtime.Serialization.EnumMember(Value = "ConnectionRefused")]COnnectionRefused,
[System.Runtime.Serialization.EnumMember(Value = "ConnectionAborted")]COnnectionAborted,
[System.Runtime.Serialization.EnumMember(Value = "ConnectionFailed")]COnnectionFailed,
[System.Runtime.Serialization.EnumMember(Value = "NameNotResolved")]NAmeNotResolved,
[System.Runtime.Serialization.EnumMember(Value = "InternetDisconnected")]INternetDisconnected,
[System.Runtime.Serialization.EnumMember(Value = "AddressUnreachable")]ADdressUnreachable,
[System.Runtime.Serialization.EnumMember(Value = "BlockedByClient")]BLockedByClient,
[System.Runtime.Serialization.EnumMember(Value = "BlockedByResponse")]BLockedByResponse}
public readonly struct TimeSinceEpoch : System.IComparable<TimeSinceEpoch>, System.IEquatable<TimeSinceEpoch>
{
public long Value { get; }
public TimeSinceEpoch(long value)
{
Value = value;
}
public bool Equals(TimeSinceEpoch other) => this.Value.Equals(other.Value);
public int CompareTo(TimeSinceEpoch other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is TimeSinceEpoch other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(TimeSinceEpoch a, TimeSinceEpoch b) => a.CompareTo(b) == 0;
public static bool operator !=(TimeSinceEpoch a, TimeSinceEpoch b) => !(a == b);
}
public readonly struct MonotonicTime : System.IComparable<MonotonicTime>, System.IEquatable<MonotonicTime>
{
public long Value { get; }
public MonotonicTime(long value)
{
Value = value;
}
public bool Equals(MonotonicTime other) => this.Value.Equals(other.Value);
public int CompareTo(MonotonicTime other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is MonotonicTime other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(MonotonicTime a, MonotonicTime b) => a.CompareTo(b) == 0;
public static bool operator !=(MonotonicTime a, MonotonicTime b) => !(a == b);
}
/// <summary>
/// Request / response headers as keys / values of JSON object.
/// </summary>
public class Headers
{
}
/// <summary>
/// The underlying connection technology that the browser is supposedly using.
/// </summary>
public enum ConnectionType
{
[System.Runtime.Serialization.EnumMember(Value = "none")]None,
[System.Runtime.Serialization.EnumMember(Value = "cellular2g")]Cellular2G,
[System.Runtime.Serialization.EnumMember(Value = "cellular3g")]Cellular3G,
[System.Runtime.Serialization.EnumMember(Value = "cellular4g")]Cellular4G,
[System.Runtime.Serialization.EnumMember(Value = "bluetooth")]Bluetooth,
[System.Runtime.Serialization.EnumMember(Value = "ethernet")]Ethernet,
[System.Runtime.Serialization.EnumMember(Value = "wifi")]Wifi,
[System.Runtime.Serialization.EnumMember(Value = "wimax")]Wimax,
[System.Runtime.Serialization.EnumMember(Value = "other")]Other}
/// <summary>
/// Represents the cookie's 'SameSite' status:
/// https://tools.ietf.org/html/draft-west-first-party-cookies
/// </summary>
public enum CookieSameSite
{
[System.Runtime.Serialization.EnumMember(Value = "Strict")]STrict,
[System.Runtime.Serialization.EnumMember(Value = "Lax")]LAx,
[System.Runtime.Serialization.EnumMember(Value = "Extended")]EXtended,
[System.Runtime.Serialization.EnumMember(Value = "None")]NOne}
/// <summary>
/// Timing information for the request.
/// </summary>
public class ResourceTiming
{
/// <summary>
/// Timing's requestTime is a baseline in seconds, while the other numbers are ticks in
/// milliseconds relatively to this requestTime.
/// </summary>
public double RequestTime { get; set; }
/// <summary>
/// Started resolving proxy.
/// </summary>
public double ProxyStart { get; set; }
/// <summary>
/// Finished resolving proxy.
/// </summary>
public double ProxyEnd { get; set; }
/// <summary>
/// Started DNS address resolve.
/// </summary>
public double DnsStart { get; set; }
/// <summary>
/// Finished DNS address resolve.
/// </summary>
public double DnsEnd { get; set; }
/// <summary>
/// Started connecting to the remote host.
/// </summary>
public double ConnectStart { get; set; }
/// <summary>
/// Connected to the remote host.
/// </summary>
public double ConnectEnd { get; set; }
/// <summary>
/// Started SSL handshake.
/// </summary>
public double SslStart { get; set; }
/// <summary>
/// Finished SSL handshake.
/// </summary>
public double SslEnd { get; set; }
/// <summary>
/// Started running ServiceWorker.
/// </summary>
public double WorkerStart { get; set; }
/// <summary>
/// Finished Starting ServiceWorker.
/// </summary>
public double WorkerReady { get; set; }
/// <summary>
/// Started sending request.
/// </summary>
public double SendStart { get; set; }
/// <summary>
/// Finished sending request.
/// </summary>
public double SendEnd { get; set; }
/// <summary>
/// Time the server started pushing request.
/// </summary>
public double PushStart { get; set; }
/// <summary>
/// Time the server finished pushing request.
/// </summary>
public double PushEnd { get; set; }
/// <summary>
/// Finished receiving response headers.
/// </summary>
public double ReceiveHeadersEnd { get; set; }}
/// <summary>
/// Loading priority of a resource request.
/// </summary>
public enum ResourcePriority
{
[System.Runtime.Serialization.EnumMember(Value = "VeryLow")]VEryLow,
[System.Runtime.Serialization.EnumMember(Value = "Low")]LOw,
[System.Runtime.Serialization.EnumMember(Value = "Medium")]MEdium,
[System.Runtime.Serialization.EnumMember(Value = "High")]HIgh,
[System.Runtime.Serialization.EnumMember(Value = "VeryHigh")]VEryHigh}
/// <summary>
/// HTTP request data.
/// </summary>
public class Request
{
/// <summary>
/// Request URL (without fragment).
/// </summary>
public string Url { get; set; }
/// <summary>
/// Fragment of the requested URL starting with hash, if present.
/// </summary>
public string UrlFragment { get; set; }
/// <summary>
/// HTTP request method.
/// </summary>
public string Method { get; set; }
/// <summary>
/// HTTP request headers.
/// </summary>
public Headers Headers { get; set; }
/// <summary>
/// HTTP POST request data.
/// </summary>
public string PostData { get; set; }
/// <summary>
/// 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.
/// </summary>
public bool HasPostData { get; set; }
/// <summary>
/// The mixed content type of the request.
/// </summary>
public Playwright.Chromium.Protocol.Security.MixedContentType MixedContentType { get; set; }
/// <summary>
/// Priority of the resource request at the time request is sent.
/// </summary>
public ResourcePriority InitialPriority { get; set; }
/// <summary>
/// The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/
/// </summary>
public string ReferrerPolicy { get; set; }
/// <summary>
/// Whether is loaded via link preload.
/// </summary>
public bool IsLinkPreload { get; set; }}
/// <summary>
/// Details of a signed certificate timestamp (SCT).
/// </summary>
public class SignedCertificateTimestamp
{
/// <summary>
/// Validation status.
/// </summary>
public string Status { get; set; }
/// <summary>
/// Origin.
/// </summary>
public string Origin { get; set; }
/// <summary>
/// Log name / description.
/// </summary>
public string LogDescription { get; set; }
/// <summary>
/// Log ID.
/// </summary>
public string LogId { get; set; }
/// <summary>
/// Issuance date.
/// </summary>
public TimeSinceEpoch Timestamp { get; set; }
/// <summary>
/// Hash algorithm.
/// </summary>
public string HashAlgorithm { get; set; }
/// <summary>
/// Signature algorithm.
/// </summary>
public string SignatureAlgorithm { get; set; }
/// <summary>
/// Signature data.
/// </summary>
public string SignatureData { get; set; }}
/// <summary>
/// Security details about a request.
/// </summary>
public class SecurityDetails
{
/// <summary>
/// Protocol name (e.g. "TLS 1.2" or "QUIC").
/// </summary>
public string Protocol { get; set; }
/// <summary>
/// Key Exchange used by the connection, or the empty string if not applicable.
/// </summary>
public string KeyExchange { get; set; }
/// <summary>
/// (EC)DH group used by the connection, if applicable.
/// </summary>
public string KeyExchangeGroup { get; set; }
/// <summary>
/// Cipher name.
/// </summary>
public string Cipher { get; set; }
/// <summary>
/// TLS MAC. Note that AEAD ciphers do not have separate MACs.
/// </summary>
public string Mac { get; set; }
/// <summary>
/// Certificate ID value.
/// </summary>
public Playwright.Chromium.Protocol.Security.CertificateId CertificateId { get; set; }
/// <summary>
/// Certificate subject name.
/// </summary>
public string SubjectName { get; set; }
/// <summary>
/// Subject Alternative Name (SAN) DNS names and IP addresses.
/// </summary>
public string[] SanList { get; set; }
/// <summary>
/// Name of the issuing CA.
/// </summary>
public string Issuer { get; set; }
/// <summary>
/// Certificate valid from date.
/// </summary>
public TimeSinceEpoch ValidFrom { get; set; }
/// <summary>
/// Certificate valid to (expiration) date
/// </summary>
public TimeSinceEpoch ValidTo { get; set; }
/// <summary>
/// List of signed certificate timestamps (SCTs).
/// </summary>
public SignedCertificateTimestamp[] SignedCertificateTimestampList { get; set; }
/// <summary>
/// Whether the request complied with Certificate Transparency policy
/// </summary>
public CertificateTransparencyCompliance CertificateTransparencyCompliance { get; set; }}
/// <summary>
/// Whether the request complied with Certificate Transparency policy.
/// </summary>
public enum CertificateTransparencyCompliance
{
[System.Runtime.Serialization.EnumMember(Value = "unknown")]Unknown,
[System.Runtime.Serialization.EnumMember(Value = "not-compliant")]NotCompliant,
[System.Runtime.Serialization.EnumMember(Value = "compliant")]Compliant}
/// <summary>
/// The reason why request was blocked.
/// </summary>
public enum BlockedReason
{
[System.Runtime.Serialization.EnumMember(Value = "other")]Other,
[System.Runtime.Serialization.EnumMember(Value = "csp")]Csp,
[System.Runtime.Serialization.EnumMember(Value = "mixed-content")]MixedContent,
[System.Runtime.Serialization.EnumMember(Value = "origin")]Origin,
[System.Runtime.Serialization.EnumMember(Value = "inspector")]Inspector,
[System.Runtime.Serialization.EnumMember(Value = "subresource-filter")]SubresourceFilter,
[System.Runtime.Serialization.EnumMember(Value = "content-type")]ContentType,
[System.Runtime.Serialization.EnumMember(Value = "collapsed-by-client")]CollapsedByClient}
/// <summary>
/// HTTP response data.
/// </summary>
public class Response
{
/// <summary>
/// Response URL. This URL can be different from CachedResource.url in case of redirect.
/// </summary>
public string Url { get; set; }
/// <summary>
/// HTTP response status code.
/// </summary>
public int Status { get; set; }
/// <summary>
/// HTTP response status text.
/// </summary>
public string StatusText { get; set; }
/// <summary>
/// HTTP response headers.
/// </summary>
public Headers Headers { get; set; }
/// <summary>
/// HTTP response headers text.
/// </summary>
public string HeadersText { get; set; }
/// <summary>
/// Resource mimeType as determined by the browser.
/// </summary>
public string MimeType { get; set; }
/// <summary>
/// Refined HTTP request headers that were actually transmitted over the network.
/// </summary>
public Headers RequestHeaders { get; set; }
/// <summary>
/// HTTP request headers text.
/// </summary>
public string RequestHeadersText { get; set; }
/// <summary>
/// Specifies whether physical connection was actually reused for this request.
/// </summary>
public bool ConnectionReused { get; set; }
/// <summary>
/// Physical connection id that was actually used for this request.
/// </summary>
public double ConnectionId { get; set; }
/// <summary>
/// Remote IP address.
/// </summary>
public string RemoteIPAddress { get; set; }
/// <summary>
/// Remote port.
/// </summary>
public int RemotePort { get; set; }
/// <summary>
/// Specifies that the request was served from the disk cache.
/// </summary>
public bool FromDiskCache { get; set; }
/// <summary>
/// Specifies that the request was served from the ServiceWorker.
/// </summary>
public bool FromServiceWorker { get; set; }
/// <summary>
/// Specifies that the request was served from the prefetch cache.
/// </summary>
public bool FromPrefetchCache { get; set; }
/// <summary>
/// Total number of bytes received for this request so far.
/// </summary>
public double EncodedDataLength { get; set; }
/// <summary>
/// Timing information for the given request.
/// </summary>
public ResourceTiming Timing { get; set; }
/// <summary>
/// Protocol used to fetch this request.
/// </summary>
public string Protocol { get; set; }
/// <summary>
/// Security state of the request resource.
/// </summary>
public Playwright.Chromium.Protocol.Security.SecurityState SecurityState { get; set; }
/// <summary>
/// Security details for the request.
/// </summary>
public SecurityDetails SecurityDetails { get; set; }}
/// <summary>
/// WebSocket request data.
/// </summary>
public class WebSocketRequest
{
/// <summary>
/// HTTP request headers.
/// </summary>
public Headers Headers { get; set; }}
/// <summary>
/// WebSocket response data.
/// </summary>
public class WebSocketResponse
{
/// <summary>
/// HTTP response status code.
/// </summary>
public int Status { get; set; }
/// <summary>
/// HTTP response status text.
/// </summary>
public string StatusText { get; set; }
/// <summary>
/// HTTP response headers.
/// </summary>
public Headers Headers { get; set; }
/// <summary>
/// HTTP response headers text.
/// </summary>
public string HeadersText { get; set; }
/// <summary>
/// HTTP request headers.
/// </summary>
public Headers RequestHeaders { get; set; }
/// <summary>
/// HTTP request headers text.
/// </summary>
public string RequestHeadersText { get; set; }}
/// <summary>
/// WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.
/// </summary>
public class WebSocketFrame
{
/// <summary>
/// WebSocket message opcode.
/// </summary>
public double Opcode { get; set; }
/// <summary>
/// WebSocket message mask.
/// </summary>
public bool Mask { get; set; }
/// <summary>
/// WebSocket message payload data.
/// If the opcode is 1, this is a text message and payloadData is a UTF-8 string.
/// If the opcode isn't 1, then payloadData is a base64 encoded string representing binary data.
/// </summary>
public string PayloadData { get; set; }}
/// <summary>
/// Information about the cached resource.
/// </summary>
public class CachedResource
{
/// <summary>
/// Resource URL. This is the url of the original network request.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Type of this resource.
/// </summary>
public ResourceType Type { get; set; }
/// <summary>
/// Cached response data.
/// </summary>
public Response Response { get; set; }
/// <summary>
/// Cached response body size.
/// </summary>
public double BodySize { get; set; }}
/// <summary>
/// Information about the request initiator.
/// </summary>
public class Initiator
{
/// <summary>
/// Type of this initiator.
/// </summary>
public string Type { get; set; }
/// <summary>
/// Initiator JavaScript stack trace, set for Script only.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.StackTrace Stack { get; set; }
/// <summary>
/// Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Initiator line number, set for Parser type or for Script type (when script is importing
/// module) (0-based).
/// </summary>
public double LineNumber { get; set; }}
/// <summary>
/// Cookie object
/// </summary>
public class Cookie
{
/// <summary>
/// Cookie name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Cookie value.
/// </summary>
public string Value { get; set; }
/// <summary>
/// Cookie domain.
/// </summary>
public string Domain { get; set; }
/// <summary>
/// Cookie path.
/// </summary>
public string Path { get; set; }
/// <summary>
/// Cookie expiration date as the number of seconds since the UNIX epoch.
/// </summary>
public double Expires { get; set; }
/// <summary>
/// Cookie size.
/// </summary>
public int Size { get; set; }
/// <summary>
/// True if cookie is http-only.
/// </summary>
public bool HttpOnly { get; set; }
/// <summary>
/// True if cookie is secure.
/// </summary>
public bool Secure { get; set; }
/// <summary>
/// True in case of session cookie.
/// </summary>
public bool Session { get; set; }
/// <summary>
/// Cookie SameSite type.
/// </summary>
public CookieSameSite SameSite { get; set; }}
/// <summary>
/// Types of reasons why a cookie may not be stored from a response.
/// </summary>
public enum SetCookieBlockedReason
{
[System.Runtime.Serialization.EnumMember(Value = "SecureOnly")]SEcureOnly,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteStrict")]SAmeSiteStrict,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteLax")]SAmeSiteLax,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteExtended")]SAmeSiteExtended,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteUnspecifiedTreatedAsLax")]SAmeSiteUnspecifiedTreatedAsLax,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteNoneInsecure")]SAmeSiteNoneInsecure,
[System.Runtime.Serialization.EnumMember(Value = "UserPreferences")]USerPreferences,
[System.Runtime.Serialization.EnumMember(Value = "SyntaxError")]SYntaxError,
[System.Runtime.Serialization.EnumMember(Value = "SchemeNotSupported")]SChemeNotSupported,
[System.Runtime.Serialization.EnumMember(Value = "OverwriteSecure")]OVerwriteSecure,
[System.Runtime.Serialization.EnumMember(Value = "InvalidDomain")]INvalidDomain,
[System.Runtime.Serialization.EnumMember(Value = "InvalidPrefix")]INvalidPrefix,
[System.Runtime.Serialization.EnumMember(Value = "UnknownError")]UNknownError}
/// <summary>
/// Types of reasons why a cookie may not be sent with a request.
/// </summary>
public enum CookieBlockedReason
{
[System.Runtime.Serialization.EnumMember(Value = "SecureOnly")]SEcureOnly,
[System.Runtime.Serialization.EnumMember(Value = "NotOnPath")]NOtOnPath,
[System.Runtime.Serialization.EnumMember(Value = "DomainMismatch")]DOmainMismatch,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteStrict")]SAmeSiteStrict,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteLax")]SAmeSiteLax,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteExtended")]SAmeSiteExtended,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteUnspecifiedTreatedAsLax")]SAmeSiteUnspecifiedTreatedAsLax,
[System.Runtime.Serialization.EnumMember(Value = "SameSiteNoneInsecure")]SAmeSiteNoneInsecure,
[System.Runtime.Serialization.EnumMember(Value = "UserPreferences")]USerPreferences,
[System.Runtime.Serialization.EnumMember(Value = "UnknownError")]UNknownError}
/// <summary>
/// A cookie which was not stored from a response with the corresponding reason.
/// </summary>
public class BlockedSetCookieWithReason
{
/// <summary>
/// The reason(s) this cookie was blocked.
/// </summary>
public SetCookieBlockedReason[] BlockedReasons { get; set; }
/// <summary>
/// The string representing this individual cookie as it would appear in the header.
/// This is not the entire "cookie" or "set-cookie" header which could have multiple cookies.
/// </summary>
public string CookieLine { get; set; }
/// <summary>
/// The cookie object which represents the cookie which was not stored. It is optional because
/// sometimes complete cookie information is not available, such as in the case of parsing
/// errors.
/// </summary>
public Cookie Cookie { get; set; }}
/// <summary>
/// A cookie with was not sent with a request with the corresponding reason.
/// </summary>
public class BlockedCookieWithReason
{
/// <summary>
/// The reason(s) the cookie was blocked.
/// </summary>
public CookieBlockedReason[] BlockedReasons { get; set; }
/// <summary>
/// The cookie object representing the cookie which was not sent.
/// </summary>
public Cookie Cookie { get; set; }}
/// <summary>
/// Cookie parameter object
/// </summary>
public class CookieParam
{
/// <summary>
/// Cookie name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Cookie value.
/// </summary>
public string Value { get; set; }
/// <summary>
/// The request-URI to associate with the setting of the cookie. This value can affect the
/// default domain and path values of the created cookie.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Cookie domain.
/// </summary>
public string Domain { get; set; }
/// <summary>
/// Cookie path.
/// </summary>
public string Path { get; set; }
/// <summary>
/// True if cookie is secure.
/// </summary>
public bool Secure { get; set; }
/// <summary>
/// True if cookie is http-only.
/// </summary>
public bool HttpOnly { get; set; }
/// <summary>
/// Cookie SameSite type.
/// </summary>
public CookieSameSite SameSite { get; set; }
/// <summary>
/// Cookie expiration date, session cookie if not set
/// </summary>
public TimeSinceEpoch Expires { get; set; }}
/// <summary>
/// Authorization challenge for HTTP status code 401 or 407.
/// </summary>
public class AuthChallenge
{
/// <summary>
/// Source of the authentication challenge.
/// </summary>
public string Source { get; set; }
/// <summary>
/// Origin of the challenger.
/// </summary>
public string Origin { get; set; }
/// <summary>
/// The authentication scheme used, such as basic or digest
/// </summary>
public string Scheme { get; set; }
/// <summary>
/// The realm of the challenge. May be empty.
/// </summary>
public string Realm { get; set; }}
/// <summary>
/// Response to an AuthChallenge.
/// </summary>
public class AuthChallengeResponse
{
/// <summary>
/// The decision on what to do in response to the authorization challenge. Default means
/// deferring to the default behavior of the net stack, which will likely either the Cancel
/// authentication or display a popup dialog box.
/// </summary>
public string Response { get; set; }
/// <summary>
/// The username to provide, possibly empty. Should only be set if response is
/// ProvideCredentials.
/// </summary>
public string Username { get; set; }
/// <summary>
/// The password to provide, possibly empty. Should only be set if response is
/// ProvideCredentials.
/// </summary>
public string Password { get; set; }}
/// <summary>
/// Stages of the interception to begin intercepting. Request will intercept before the request is
/// sent. Response will intercept after the response is received.
/// </summary>
public enum InterceptionStage
{
[System.Runtime.Serialization.EnumMember(Value = "Request")]REquest,
[System.Runtime.Serialization.EnumMember(Value = "HeadersReceived")]HEadersReceived}
/// <summary>
/// Request pattern for interception.
/// </summary>
public class RequestPattern
{
/// <summary>
/// Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is
/// backslash. Omitting is equivalent to "*".
/// </summary>
public string UrlPattern { get; set; }
/// <summary>
/// If set, only requests for matching resource types will be intercepted.
/// </summary>
public ResourceType ResourceType { get; set; }
/// <summary>
/// Stage at wich to begin intercepting requests. Default is Request.
/// </summary>
public InterceptionStage InterceptionStage { get; set; }}
/// <summary>
/// Information about a signed exchange signature.
/// https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1
/// </summary>
public class SignedExchangeSignature
{
/// <summary>
/// Signed exchange signature label.
/// </summary>
public string Label { get; set; }
/// <summary>
/// The hex string of signed exchange signature.
/// </summary>
public string Signature { get; set; }
/// <summary>
/// Signed exchange signature integrity.
/// </summary>
public string Integrity { get; set; }
/// <summary>
/// Signed exchange signature cert Url.
/// </summary>
public string CertUrl { get; set; }
/// <summary>
/// The hex string of signed exchange signature cert sha256.
/// </summary>
public string CertSha256 { get; set; }
/// <summary>
/// Signed exchange signature validity Url.
/// </summary>
public string ValidityUrl { get; set; }
/// <summary>
/// Signed exchange signature date.
/// </summary>
public int Date { get; set; }
/// <summary>
/// Signed exchange signature expires.
/// </summary>
public int Expires { get; set; }
/// <summary>
/// The encoded certificates.
/// </summary>
public string[] Certificates { get; set; }}
/// <summary>
/// Information about a signed exchange header.
/// https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation
/// </summary>
public class SignedExchangeHeader
{
/// <summary>
/// Signed exchange request URL.
/// </summary>
public string RequestUrl { get; set; }
/// <summary>
/// Signed exchange response code.
/// </summary>
public int ResponseCode { get; set; }
/// <summary>
/// Signed exchange response headers.
/// </summary>
public Headers ResponseHeaders { get; set; }
/// <summary>
/// Signed exchange response signature.
/// </summary>
public SignedExchangeSignature[] Signatures { get; set; }
/// <summary>
/// Signed exchange header integrity hash in the form of "sha256-<base64-hash-value>".
/// </summary>
public string HeaderIntegrity { get; set; }}
/// <summary>
/// Field type for a signed exchange related error.
/// </summary>
public enum SignedExchangeErrorField
{
[System.Runtime.Serialization.EnumMember(Value = "signatureSig")]SignatureSig,
[System.Runtime.Serialization.EnumMember(Value = "signatureIntegrity")]SignatureIntegrity,
[System.Runtime.Serialization.EnumMember(Value = "signatureCertUrl")]SignatureCertUrl,
[System.Runtime.Serialization.EnumMember(Value = "signatureCertSha256")]SignatureCertSha256,
[System.Runtime.Serialization.EnumMember(Value = "signatureValidityUrl")]SignatureValidityUrl,
[System.Runtime.Serialization.EnumMember(Value = "signatureTimestamps")]SignatureTimestamps}
/// <summary>
/// Information about a signed exchange response.
/// </summary>
public class SignedExchangeError
{
/// <summary>
/// Error message.
/// </summary>
public string Message { get; set; }
/// <summary>
/// The index of the signature which caused the error.
/// </summary>
public int SignatureIndex { get; set; }
/// <summary>
/// The field which caused the error.
/// </summary>
public SignedExchangeErrorField ErrorField { get; set; }}
/// <summary>
/// Information about a signed exchange response.
/// </summary>
public class SignedExchangeInfo
{
/// <summary>
/// The outer response of signed HTTP exchange which was received from network.
/// </summary>
public Response OuterResponse { get; set; }
/// <summary>
/// Information about the signed exchange header.
/// </summary>
public SignedExchangeHeader Header { get; set; }
/// <summary>
/// Security details for the signed exchange header.
/// </summary>
public SecurityDetails SecurityDetails { get; set; }
/// <summary>
/// Errors occurred while handling the signed exchagne.
/// </summary>
public SignedExchangeError[] Errors { get; set; }}
}
namespace Playwright.Chromium.Protocol.Overlay
{
/// <summary>
/// Configuration data for the highlighting of page elements.
/// </summary>
public class HighlightConfig
{
/// <summary>
/// Whether the node info tooltip should be shown (default: false).
/// </summary>
public bool ShowInfo { get; set; }
/// <summary>
/// Whether the node styles in the tooltip (default: false).
/// </summary>
public bool ShowStyles { get; set; }
/// <summary>
/// Whether the rulers should be shown (default: false).
/// </summary>
public bool ShowRulers { get; set; }
/// <summary>
/// Whether the extension lines from node to the rulers should be shown (default: false).
/// </summary>
public bool ShowExtensionLines { get; set; }
/// <summary>
/// The content box highlight fill color (default: transparent).
/// </summary>
public Playwright.Chromium.Protocol.DOM.RGBA ContentColor { get; set; }
/// <summary>
/// The padding highlight fill color (default: transparent).
/// </summary>
public Playwright.Chromium.Protocol.DOM.RGBA PaddingColor { get; set; }
/// <summary>
/// The border highlight fill color (default: transparent).
/// </summary>
public Playwright.Chromium.Protocol.DOM.RGBA BorderColor { get; set; }
/// <summary>
/// The margin highlight fill color (default: transparent).
/// </summary>
public Playwright.Chromium.Protocol.DOM.RGBA MarginColor { get; set; }
/// <summary>
/// The event target element highlight fill color (default: transparent).
/// </summary>
public Playwright.Chromium.Protocol.DOM.RGBA EventTargetColor { get; set; }
/// <summary>
/// The shape outside fill color (default: transparent).
/// </summary>
public Playwright.Chromium.Protocol.DOM.RGBA ShapeColor { get; set; }
/// <summary>
/// The shape margin fill color (default: transparent).
/// </summary>
public Playwright.Chromium.Protocol.DOM.RGBA ShapeMarginColor { get; set; }
/// <summary>
/// The grid layout color (default: transparent).
/// </summary>
public Playwright.Chromium.Protocol.DOM.RGBA CssGridColor { get; set; }}
/// <summary>
///
/// </summary>
public enum InspectMode
{
[System.Runtime.Serialization.EnumMember(Value = "searchForNode")]SearchForNode,
[System.Runtime.Serialization.EnumMember(Value = "searchForUAShadowDOM")]SearchForUAShadowDOM,
[System.Runtime.Serialization.EnumMember(Value = "captureAreaScreenshot")]CaptureAreaScreenshot,
[System.Runtime.Serialization.EnumMember(Value = "showDistances")]ShowDistances,
[System.Runtime.Serialization.EnumMember(Value = "none")]None}
}
namespace Playwright.Chromium.Protocol.Page
{
public readonly struct FrameId : System.IComparable<FrameId>, System.IEquatable<FrameId>
{
public string Value { get; }
public FrameId(string value)
{
Value = value;
}
public bool Equals(FrameId other) => this.Value.Equals(other.Value);
public int CompareTo(FrameId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is FrameId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(FrameId a, FrameId b) => a.CompareTo(b) == 0;
public static bool operator !=(FrameId a, FrameId b) => !(a == b);
}
/// <summary>
/// Information about the Frame on the page.
/// </summary>
public class Frame
{
/// <summary>
/// Frame unique identifier.
/// </summary>
public FrameId Id { get; set; }
/// <summary>
/// Parent frame identifier.
/// </summary>
public string ParentId { get; set; }
/// <summary>
/// Identifier of the loader associated with this frame.
/// </summary>
public Playwright.Chromium.Protocol.Network.LoaderId LoaderId { get; set; }
/// <summary>
/// Frame's name as specified in the tag.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Frame document's URL without fragment.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Frame document's URL fragment including the '#'.
/// </summary>
public string UrlFragment { get; set; }
/// <summary>
/// Frame document's security origin.
/// </summary>
public string SecurityOrigin { get; set; }
/// <summary>
/// Frame document's mimeType as determined by the browser.
/// </summary>
public string MimeType { get; set; }
/// <summary>
/// If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment.
/// </summary>
public string UnreachableUrl { get; set; }}
/// <summary>
/// Information about the Resource on the page.
/// </summary>
public class FrameResource
{
/// <summary>
/// Resource URL.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Type of this resource.
/// </summary>
public Playwright.Chromium.Protocol.Network.ResourceType Type { get; set; }
/// <summary>
/// Resource mimeType as determined by the browser.
/// </summary>
public string MimeType { get; set; }
/// <summary>
/// last-modified timestamp as reported by server.
/// </summary>
public Playwright.Chromium.Protocol.Network.TimeSinceEpoch LastModified { get; set; }
/// <summary>
/// Resource content size.
/// </summary>
public double ContentSize { get; set; }
/// <summary>
/// True if the resource failed to load.
/// </summary>
public bool Failed { get; set; }
/// <summary>
/// True if the resource was canceled during loading.
/// </summary>
public bool Canceled { get; set; }}
/// <summary>
/// Information about the Frame hierarchy along with their cached resources.
/// </summary>
public class FrameResourceTree
{
/// <summary>
/// Frame information for this tree item.
/// </summary>
public Frame Frame { get; set; }
/// <summary>
/// Child frames.
/// </summary>
public FrameResourceTree[] ChildFrames { get; set; }
/// <summary>
/// Information about frame resources.
/// </summary>
public FrameResource[] Resources { get; set; }}
/// <summary>
/// Information about the Frame hierarchy.
/// </summary>
public class FrameTree
{
/// <summary>
/// Frame information for this tree item.
/// </summary>
public Frame Frame { get; set; }
/// <summary>
/// Child frames.
/// </summary>
public FrameTree[] ChildFrames { get; set; }}
public readonly struct ScriptIdentifier : System.IComparable<ScriptIdentifier>, System.IEquatable<ScriptIdentifier>
{
public string Value { get; }
public ScriptIdentifier(string value)
{
Value = value;
}
public bool Equals(ScriptIdentifier other) => this.Value.Equals(other.Value);
public int CompareTo(ScriptIdentifier other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is ScriptIdentifier other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(ScriptIdentifier a, ScriptIdentifier b) => a.CompareTo(b) == 0;
public static bool operator !=(ScriptIdentifier a, ScriptIdentifier b) => !(a == b);
}
/// <summary>
/// Transition type.
/// </summary>
public enum TransitionType
{
[System.Runtime.Serialization.EnumMember(Value = "link")]Link,
[System.Runtime.Serialization.EnumMember(Value = "typed")]Typed,
[System.Runtime.Serialization.EnumMember(Value = "address_bar")]AddressBar,
[System.Runtime.Serialization.EnumMember(Value = "auto_bookmark")]AutoBookmark,
[System.Runtime.Serialization.EnumMember(Value = "auto_subframe")]AutoSubframe,
[System.Runtime.Serialization.EnumMember(Value = "manual_subframe")]ManualSubframe,
[System.Runtime.Serialization.EnumMember(Value = "generated")]Generated,
[System.Runtime.Serialization.EnumMember(Value = "auto_toplevel")]AutoToplevel,
[System.Runtime.Serialization.EnumMember(Value = "form_submit")]FormSubmit,
[System.Runtime.Serialization.EnumMember(Value = "reload")]Reload,
[System.Runtime.Serialization.EnumMember(Value = "keyword")]Keyword,
[System.Runtime.Serialization.EnumMember(Value = "keyword_generated")]KeywordGenerated,
[System.Runtime.Serialization.EnumMember(Value = "other")]Other}
/// <summary>
/// Navigation history entry.
/// </summary>
public class NavigationEntry
{
/// <summary>
/// Unique id of the navigation history entry.
/// </summary>
public int Id { get; set; }
/// <summary>
/// URL of the navigation history entry.
/// </summary>
public string Url { get; set; }
/// <summary>
/// URL that the user typed in the url bar.
/// </summary>
public string UserTypedURL { get; set; }
/// <summary>
/// Title of the navigation history entry.
/// </summary>
public string Title { get; set; }
/// <summary>
/// Transition type.
/// </summary>
public TransitionType TransitionType { get; set; }}
/// <summary>
/// Screencast frame metadata.
/// </summary>
public class ScreencastFrameMetadata
{
/// <summary>
/// Top offset in DIP.
/// </summary>
public double OffsetTop { get; set; }
/// <summary>
/// Page scale factor.
/// </summary>
public double PageScaleFactor { get; set; }
/// <summary>
/// Device screen width in DIP.
/// </summary>
public double DeviceWidth { get; set; }
/// <summary>
/// Device screen height in DIP.
/// </summary>
public double DeviceHeight { get; set; }
/// <summary>
/// Position of horizontal scroll in CSS pixels.
/// </summary>
public double ScrollOffsetX { get; set; }
/// <summary>
/// Position of vertical scroll in CSS pixels.
/// </summary>
public double ScrollOffsetY { get; set; }
/// <summary>
/// Frame swap timestamp.
/// </summary>
public Playwright.Chromium.Protocol.Network.TimeSinceEpoch Timestamp { get; set; }}
/// <summary>
/// Javascript dialog type.
/// </summary>
public enum DialogType
{
[System.Runtime.Serialization.EnumMember(Value = "alert")]Alert,
[System.Runtime.Serialization.EnumMember(Value = "confirm")]Confirm,
[System.Runtime.Serialization.EnumMember(Value = "prompt")]Prompt,
[System.Runtime.Serialization.EnumMember(Value = "beforeunload")]Beforeunload}
/// <summary>
/// Error while paring app manifest.
/// </summary>
public class AppManifestError
{
/// <summary>
/// Error message.
/// </summary>
public string Message { get; set; }
/// <summary>
/// If criticial, this is a non-recoverable parse error.
/// </summary>
public int Critical { get; set; }
/// <summary>
/// Error line.
/// </summary>
public int Line { get; set; }
/// <summary>
/// Error column.
/// </summary>
public int Column { get; set; }}
/// <summary>
/// Layout viewport position and dimensions.
/// </summary>
public class LayoutViewport
{
/// <summary>
/// Horizontal offset relative to the document (CSS pixels).
/// </summary>
public int PageX { get; set; }
/// <summary>
/// Vertical offset relative to the document (CSS pixels).
/// </summary>
public int PageY { get; set; }
/// <summary>
/// Width (CSS pixels), excludes scrollbar if present.
/// </summary>
public int ClientWidth { get; set; }
/// <summary>
/// Height (CSS pixels), excludes scrollbar if present.
/// </summary>
public int ClientHeight { get; set; }}
/// <summary>
/// Visual viewport position, dimensions, and scale.
/// </summary>
public class VisualViewport
{
/// <summary>
/// Horizontal offset relative to the layout viewport (CSS pixels).
/// </summary>
public double OffsetX { get; set; }
/// <summary>
/// Vertical offset relative to the layout viewport (CSS pixels).
/// </summary>
public double OffsetY { get; set; }
/// <summary>
/// Horizontal offset relative to the document (CSS pixels).
/// </summary>
public double PageX { get; set; }
/// <summary>
/// Vertical offset relative to the document (CSS pixels).
/// </summary>
public double PageY { get; set; }
/// <summary>
/// Width (CSS pixels), excludes scrollbar if present.
/// </summary>
public double ClientWidth { get; set; }
/// <summary>
/// Height (CSS pixels), excludes scrollbar if present.
/// </summary>
public double ClientHeight { get; set; }
/// <summary>
/// Scale relative to the ideal viewport (size at width=device-width).
/// </summary>
public double Scale { get; set; }
/// <summary>
/// Page zoom factor (CSS to device independent pixels ratio).
/// </summary>
public double Zoom { get; set; }}
/// <summary>
/// Viewport for capturing screenshot.
/// </summary>
public class Viewport
{
/// <summary>
/// X offset in device independent pixels (dip).
/// </summary>
public double X { get; set; }
/// <summary>
/// Y offset in device independent pixels (dip).
/// </summary>
public double Y { get; set; }
/// <summary>
/// Rectangle width in device independent pixels (dip).
/// </summary>
public double Width { get; set; }
/// <summary>
/// Rectangle height in device independent pixels (dip).
/// </summary>
public double Height { get; set; }
/// <summary>
/// Page scale factor.
/// </summary>
public double Scale { get; set; }}
/// <summary>
/// Generic font families collection.
/// </summary>
public class FontFamilies
{
/// <summary>
/// The standard font-family.
/// </summary>
public string Standard { get; set; }
/// <summary>
/// The fixed font-family.
/// </summary>
public string Fixed { get; set; }
/// <summary>
/// The serif font-family.
/// </summary>
public string Serif { get; set; }
/// <summary>
/// The sansSerif font-family.
/// </summary>
public string SansSerif { get; set; }
/// <summary>
/// The cursive font-family.
/// </summary>
public string Cursive { get; set; }
/// <summary>
/// The fantasy font-family.
/// </summary>
public string Fantasy { get; set; }
/// <summary>
/// The pictograph font-family.
/// </summary>
public string Pictograph { get; set; }}
/// <summary>
/// Default font sizes.
/// </summary>
public class FontSizes
{
/// <summary>
/// Default standard font size.
/// </summary>
public int Standard { get; set; }
/// <summary>
/// Default fixed font size.
/// </summary>
public int Fixed { get; set; }}
/// <summary>
///
/// </summary>
public enum ClientNavigationReason
{
[System.Runtime.Serialization.EnumMember(Value = "formSubmissionGet")]FormSubmissionGet,
[System.Runtime.Serialization.EnumMember(Value = "formSubmissionPost")]FormSubmissionPost,
[System.Runtime.Serialization.EnumMember(Value = "httpHeaderRefresh")]HttpHeaderRefresh,
[System.Runtime.Serialization.EnumMember(Value = "scriptInitiated")]ScriptInitiated,
[System.Runtime.Serialization.EnumMember(Value = "metaTagRefresh")]MetaTagRefresh,
[System.Runtime.Serialization.EnumMember(Value = "pageBlockInterstitial")]PageBlockInterstitial,
[System.Runtime.Serialization.EnumMember(Value = "reload")]Reload}
}
namespace Playwright.Chromium.Protocol.Performance
{
/// <summary>
/// Run-time execution metric.
/// </summary>
public class Metric
{
/// <summary>
/// Metric name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Metric value.
/// </summary>
public double Value { get; set; }}
}
namespace Playwright.Chromium.Protocol.Security
{
public readonly struct CertificateId : System.IComparable<CertificateId>, System.IEquatable<CertificateId>
{
public int Value { get; }
public CertificateId(int value)
{
Value = value;
}
public bool Equals(CertificateId other) => this.Value.Equals(other.Value);
public int CompareTo(CertificateId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is CertificateId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(CertificateId a, CertificateId b) => a.CompareTo(b) == 0;
public static bool operator !=(CertificateId a, CertificateId b) => !(a == b);
}
/// <summary>
/// A description of mixed content (HTTP resources on HTTPS pages), as defined by
/// https://www.w3.org/TR/mixed-content/#categories
/// </summary>
public enum MixedContentType
{
[System.Runtime.Serialization.EnumMember(Value = "blockable")]Blockable,
[System.Runtime.Serialization.EnumMember(Value = "optionally-blockable")]OptionallyBlockable,
[System.Runtime.Serialization.EnumMember(Value = "none")]None}
/// <summary>
/// The security level of a page or resource.
/// </summary>
public enum SecurityState
{
[System.Runtime.Serialization.EnumMember(Value = "unknown")]Unknown,
[System.Runtime.Serialization.EnumMember(Value = "neutral")]Neutral,
[System.Runtime.Serialization.EnumMember(Value = "insecure")]Insecure,
[System.Runtime.Serialization.EnumMember(Value = "secure")]Secure,
[System.Runtime.Serialization.EnumMember(Value = "info")]Info}
/// <summary>
/// Details about the security state of the page certificate.
/// </summary>
public class CertificateSecurityState
{
/// <summary>
/// Protocol name (e.g. "TLS 1.2" or "QUIC").
/// </summary>
public string Protocol { get; set; }
/// <summary>
/// Key Exchange used by the connection, or the empty string if not applicable.
/// </summary>
public string KeyExchange { get; set; }
/// <summary>
/// (EC)DH group used by the connection, if applicable.
/// </summary>
public string KeyExchangeGroup { get; set; }
/// <summary>
/// Cipher name.
/// </summary>
public string Cipher { get; set; }
/// <summary>
/// TLS MAC. Note that AEAD ciphers do not have separate MACs.
/// </summary>
public string Mac { get; set; }
/// <summary>
/// Page certificate.
/// </summary>
public string[] Certificate { get; set; }
/// <summary>
/// Certificate subject name.
/// </summary>
public string SubjectName { get; set; }
/// <summary>
/// Name of the issuing CA.
/// </summary>
public string Issuer { get; set; }
/// <summary>
/// Certificate valid from date.
/// </summary>
public Playwright.Chromium.Protocol.Network.TimeSinceEpoch ValidFrom { get; set; }
/// <summary>
/// Certificate valid to (expiration) date
/// </summary>
public Playwright.Chromium.Protocol.Network.TimeSinceEpoch ValidTo { get; set; }
/// <summary>
/// True if the certificate uses a weak signature aglorithm.
/// </summary>
public bool CertifcateHasWeakSignature { get; set; }
/// <summary>
/// True if modern SSL
/// </summary>
public bool ModernSSL { get; set; }
/// <summary>
/// True if the connection is using an obsolete SSL protocol.
/// </summary>
public bool ObsoleteSslProtocol { get; set; }
/// <summary>
/// True if the connection is using an obsolete SSL key exchange.
/// </summary>
public bool ObsoleteSslKeyExchange { get; set; }
/// <summary>
/// True if the connection is using an obsolete SSL cipher.
/// </summary>
public bool ObsoleteSslCipher { get; set; }
/// <summary>
/// True if the connection is using an obsolete SSL signature.
/// </summary>
public bool ObsoleteSslSignature { get; set; }}
/// <summary>
/// Security state information about the page.
/// </summary>
public class VisibleSecurityState
{
/// <summary>
/// The security level of the page.
/// </summary>
public SecurityState SecurityState { get; set; }
/// <summary>
/// Security state details about the page certificate.
/// </summary>
public CertificateSecurityState CertificateSecurityState { get; set; }
/// <summary>
/// Array of security state issues ids.
/// </summary>
public string[] SecurityStateIssueIds { get; set; }}
/// <summary>
/// An explanation of an factor contributing to the security state.
/// </summary>
public class SecurityStateExplanation
{
/// <summary>
/// Security state representing the severity of the factor being explained.
/// </summary>
public SecurityState SecurityState { get; set; }
/// <summary>
/// Title describing the type of factor.
/// </summary>
public string Title { get; set; }
/// <summary>
/// Short phrase describing the type of factor.
/// </summary>
public string Summary { get; set; }
/// <summary>
/// Full text explanation of the factor.
/// </summary>
public string Description { get; set; }
/// <summary>
/// The type of mixed content described by the explanation.
/// </summary>
public MixedContentType MixedContentType { get; set; }
/// <summary>
/// Page certificate.
/// </summary>
public string[] Certificate { get; set; }
/// <summary>
/// Recommendations to fix any issues.
/// </summary>
public string[] Recommendations { get; set; }}
/// <summary>
/// Information about insecure content on the page.
/// </summary>
public class InsecureContentStatus
{
/// <summary>
/// Always false.
/// </summary>
public bool RanMixedContent { get; set; }
/// <summary>
/// Always false.
/// </summary>
public bool DisplayedMixedContent { get; set; }
/// <summary>
/// Always false.
/// </summary>
public bool ContainedMixedForm { get; set; }
/// <summary>
/// Always false.
/// </summary>
public bool RanContentWithCertErrors { get; set; }
/// <summary>
/// Always false.
/// </summary>
public bool DisplayedContentWithCertErrors { get; set; }
/// <summary>
/// Always set to unknown.
/// </summary>
public SecurityState RanInsecureContentStyle { get; set; }
/// <summary>
/// Always set to unknown.
/// </summary>
public SecurityState DisplayedInsecureContentStyle { get; set; }}
/// <summary>
/// The action to take when a certificate error occurs. continue will continue processing the
/// request and cancel will cancel the request.
/// </summary>
public enum CertificateErrorAction
{
[System.Runtime.Serialization.EnumMember(Value = "continue")]Continue,
[System.Runtime.Serialization.EnumMember(Value = "cancel")]Cancel}
}
namespace Playwright.Chromium.Protocol.ServiceWorker
{
public readonly struct RegistrationID : System.IComparable<RegistrationID>, System.IEquatable<RegistrationID>
{
public string Value { get; }
public RegistrationID(string value)
{
Value = value;
}
public bool Equals(RegistrationID other) => this.Value.Equals(other.Value);
public int CompareTo(RegistrationID other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is RegistrationID other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(RegistrationID a, RegistrationID b) => a.CompareTo(b) == 0;
public static bool operator !=(RegistrationID a, RegistrationID b) => !(a == b);
}
/// <summary>
/// ServiceWorker registration.
/// </summary>
public class ServiceWorkerRegistration
{
/// <summary>
///
/// </summary>
public RegistrationID RegistrationId { get; set; }
/// <summary>
///
/// </summary>
public string ScopeURL { get; set; }
/// <summary>
///
/// </summary>
public bool IsDeleted { get; set; }}
/// <summary>
///
/// </summary>
public enum ServiceWorkerVersionRunningStatus
{
[System.Runtime.Serialization.EnumMember(Value = "stopped")]Stopped,
[System.Runtime.Serialization.EnumMember(Value = "starting")]Starting,
[System.Runtime.Serialization.EnumMember(Value = "running")]Running,
[System.Runtime.Serialization.EnumMember(Value = "stopping")]Stopping}
/// <summary>
///
/// </summary>
public enum ServiceWorkerVersionStatus
{
[System.Runtime.Serialization.EnumMember(Value = "new")]New,
[System.Runtime.Serialization.EnumMember(Value = "installing")]Installing,
[System.Runtime.Serialization.EnumMember(Value = "installed")]Installed,
[System.Runtime.Serialization.EnumMember(Value = "activating")]Activating,
[System.Runtime.Serialization.EnumMember(Value = "activated")]Activated,
[System.Runtime.Serialization.EnumMember(Value = "redundant")]Redundant}
/// <summary>
/// ServiceWorker version.
/// </summary>
public class ServiceWorkerVersion
{
/// <summary>
///
/// </summary>
public string VersionId { get; set; }
/// <summary>
///
/// </summary>
public RegistrationID RegistrationId { get; set; }
/// <summary>
///
/// </summary>
public string ScriptURL { get; set; }
/// <summary>
///
/// </summary>
public ServiceWorkerVersionRunningStatus RunningStatus { get; set; }
/// <summary>
///
/// </summary>
public ServiceWorkerVersionStatus Status { get; set; }
/// <summary>
/// The Last-Modified header value of the main script.
/// </summary>
public double ScriptLastModified { get; set; }
/// <summary>
/// The time at which the response headers of the main script were received from the server.
/// For cached script it is the last time the cache entry was validated.
/// </summary>
public double ScriptResponseTime { get; set; }
/// <summary>
///
/// </summary>
public Playwright.Chromium.Protocol.Target.TargetID[] ControlledClients { get; set; }
/// <summary>
///
/// </summary>
public Playwright.Chromium.Protocol.Target.TargetID TargetId { get; set; }}
/// <summary>
/// ServiceWorker error message.
/// </summary>
public class ServiceWorkerErrorMessage
{
/// <summary>
///
/// </summary>
public string ErrorMessage { get; set; }
/// <summary>
///
/// </summary>
public RegistrationID RegistrationId { get; set; }
/// <summary>
///
/// </summary>
public string VersionId { get; set; }
/// <summary>
///
/// </summary>
public string SourceURL { get; set; }
/// <summary>
///
/// </summary>
public int LineNumber { get; set; }
/// <summary>
///
/// </summary>
public int ColumnNumber { get; set; }}
}
namespace Playwright.Chromium.Protocol.Storage
{
/// <summary>
/// Enum of possible storage types.
/// </summary>
public enum StorageType
{
[System.Runtime.Serialization.EnumMember(Value = "appcache")]Appcache,
[System.Runtime.Serialization.EnumMember(Value = "cookies")]Cookies,
[System.Runtime.Serialization.EnumMember(Value = "file_systems")]FileSystems,
[System.Runtime.Serialization.EnumMember(Value = "indexeddb")]Indexeddb,
[System.Runtime.Serialization.EnumMember(Value = "local_storage")]LocalStorage,
[System.Runtime.Serialization.EnumMember(Value = "shader_cache")]ShaderCache,
[System.Runtime.Serialization.EnumMember(Value = "websql")]Websql,
[System.Runtime.Serialization.EnumMember(Value = "service_workers")]ServiceWorkers,
[System.Runtime.Serialization.EnumMember(Value = "cache_storage")]CacheStorage,
[System.Runtime.Serialization.EnumMember(Value = "all")]All,
[System.Runtime.Serialization.EnumMember(Value = "other")]Other}
/// <summary>
/// Usage for a storage type.
/// </summary>
public class UsageForType
{
/// <summary>
/// Name of storage type.
/// </summary>
public StorageType StorageType { get; set; }
/// <summary>
/// Storage usage (bytes).
/// </summary>
public double Usage { get; set; }}
}
namespace Playwright.Chromium.Protocol.SystemInfo
{
/// <summary>
/// Describes a single graphics processor (GPU).
/// </summary>
public class GPUDevice
{
/// <summary>
/// PCI ID of the GPU vendor, if available; 0 otherwise.
/// </summary>
public double VendorId { get; set; }
/// <summary>
/// PCI ID of the GPU device, if available; 0 otherwise.
/// </summary>
public double DeviceId { get; set; }
/// <summary>
/// Sub sys ID of the GPU, only available on Windows.
/// </summary>
public double SubSysId { get; set; }
/// <summary>
/// Revision of the GPU, only available on Windows.
/// </summary>
public double Revision { get; set; }
/// <summary>
/// String description of the GPU vendor, if the PCI ID is not available.
/// </summary>
public string VendorString { get; set; }
/// <summary>
/// String description of the GPU device, if the PCI ID is not available.
/// </summary>
public string DeviceString { get; set; }
/// <summary>
/// String description of the GPU driver vendor.
/// </summary>
public string DriverVendor { get; set; }
/// <summary>
/// String description of the GPU driver version.
/// </summary>
public string DriverVersion { get; set; }}
/// <summary>
/// Describes the width and height dimensions of an entity.
/// </summary>
public class Size
{
/// <summary>
/// Width in pixels.
/// </summary>
public int Width { get; set; }
/// <summary>
/// Height in pixels.
/// </summary>
public int Height { get; set; }}
/// <summary>
/// Describes a supported video decoding profile with its associated minimum and
/// maximum resolutions.
/// </summary>
public class VideoDecodeAcceleratorCapability
{
/// <summary>
/// Video codec profile that is supported, e.g. VP9 Profile 2.
/// </summary>
public string Profile { get; set; }
/// <summary>
/// Maximum video dimensions in pixels supported for this |profile|.
/// </summary>
public Size MaxResolution { get; set; }
/// <summary>
/// Minimum video dimensions in pixels supported for this |profile|.
/// </summary>
public Size MinResolution { get; set; }}
/// <summary>
/// Describes a supported video encoding profile with its associated maximum
/// resolution and maximum framerate.
/// </summary>
public class VideoEncodeAcceleratorCapability
{
/// <summary>
/// Video codec profile that is supported, e.g H264 Main.
/// </summary>
public string Profile { get; set; }
/// <summary>
/// Maximum video dimensions in pixels supported for this |profile|.
/// </summary>
public Size MaxResolution { get; set; }
/// <summary>
/// Maximum encoding framerate in frames per second supported for this
/// |profile|, as fraction's numerator and denominator, e.g. 24/1 fps,
/// 24000/1001 fps, etc.
/// </summary>
public int MaxFramerateNumerator { get; set; }
/// <summary>
///
/// </summary>
public int MaxFramerateDenominator { get; set; }}
/// <summary>
/// YUV subsampling type of the pixels of a given image.
/// </summary>
public enum SubsamplingFormat
{
[System.Runtime.Serialization.EnumMember(Value = "yuv420")]Yuv420,
[System.Runtime.Serialization.EnumMember(Value = "yuv422")]Yuv422,
[System.Runtime.Serialization.EnumMember(Value = "yuv444")]Yuv444}
/// <summary>
/// Image format of a given image.
/// </summary>
public enum ImageType
{
[System.Runtime.Serialization.EnumMember(Value = "jpeg")]Jpeg,
[System.Runtime.Serialization.EnumMember(Value = "webp")]Webp,
[System.Runtime.Serialization.EnumMember(Value = "unknown")]Unknown}
/// <summary>
/// Describes a supported image decoding profile with its associated minimum and
/// maximum resolutions and subsampling.
/// </summary>
public class ImageDecodeAcceleratorCapability
{
/// <summary>
/// Image coded, e.g. Jpeg.
/// </summary>
public ImageType ImageType { get; set; }
/// <summary>
/// Maximum supported dimensions of the image in pixels.
/// </summary>
public Size MaxDimensions { get; set; }
/// <summary>
/// Minimum supported dimensions of the image in pixels.
/// </summary>
public Size MinDimensions { get; set; }
/// <summary>
/// Optional array of supported subsampling formats, e.g. 4:2:0, if known.
/// </summary>
public SubsamplingFormat[] Subsamplings { get; set; }}
/// <summary>
/// Provides information about the GPU(s) on the system.
/// </summary>
public class GPUInfo
{
/// <summary>
/// The graphics devices on the system. Element 0 is the primary GPU.
/// </summary>
public GPUDevice[] Devices { get; set; }
/// <summary>
/// An optional dictionary of additional GPU related attributes.
/// </summary>
public object AuxAttributes { get; set; }
/// <summary>
/// An optional dictionary of graphics features and their status.
/// </summary>
public object FeatureStatus { get; set; }
/// <summary>
/// An optional array of GPU driver bug workarounds.
/// </summary>
public string[] DriverBugWorkarounds { get; set; }
/// <summary>
/// Supported accelerated video decoding capabilities.
/// </summary>
public VideoDecodeAcceleratorCapability[] VideoDecoding { get; set; }
/// <summary>
/// Supported accelerated video encoding capabilities.
/// </summary>
public VideoEncodeAcceleratorCapability[] VideoEncoding { get; set; }
/// <summary>
/// Supported accelerated image decoding capabilities.
/// </summary>
public ImageDecodeAcceleratorCapability[] ImageDecoding { get; set; }}
/// <summary>
/// Represents process info.
/// </summary>
public class ProcessInfo
{
/// <summary>
/// Specifies process type.
/// </summary>
public string Type { get; set; }
/// <summary>
/// Specifies process id.
/// </summary>
public int Id { get; set; }
/// <summary>
/// Specifies cumulative CPU usage in seconds across all threads of the
/// process since the process start.
/// </summary>
public double CpuTime { get; set; }}
}
namespace Playwright.Chromium.Protocol.Target
{
public readonly struct TargetID : System.IComparable<TargetID>, System.IEquatable<TargetID>
{
public string Value { get; }
public TargetID(string value)
{
Value = value;
}
public bool Equals(TargetID other) => this.Value.Equals(other.Value);
public int CompareTo(TargetID other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is TargetID other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(TargetID a, TargetID b) => a.CompareTo(b) == 0;
public static bool operator !=(TargetID a, TargetID b) => !(a == b);
}
public readonly struct SessionID : System.IComparable<SessionID>, System.IEquatable<SessionID>
{
public string Value { get; }
public SessionID(string value)
{
Value = value;
}
public bool Equals(SessionID other) => this.Value.Equals(other.Value);
public int CompareTo(SessionID other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is SessionID other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(SessionID a, SessionID b) => a.CompareTo(b) == 0;
public static bool operator !=(SessionID a, SessionID b) => !(a == b);
}
public readonly struct BrowserContextID : System.IComparable<BrowserContextID>, System.IEquatable<BrowserContextID>
{
public string Value { get; }
public BrowserContextID(string value)
{
Value = value;
}
public bool Equals(BrowserContextID other) => this.Value.Equals(other.Value);
public int CompareTo(BrowserContextID other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is BrowserContextID other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(BrowserContextID a, BrowserContextID b) => a.CompareTo(b) == 0;
public static bool operator !=(BrowserContextID a, BrowserContextID b) => !(a == b);
}
/// <summary>
///
/// </summary>
public class TargetInfo
{
/// <summary>
///
/// </summary>
public TargetID TargetId { get; set; }
/// <summary>
///
/// </summary>
public string Type { get; set; }
/// <summary>
///
/// </summary>
public string Title { get; set; }
/// <summary>
///
/// </summary>
public string Url { get; set; }
/// <summary>
/// Whether the target has an attached client.
/// </summary>
public bool Attached { get; set; }
/// <summary>
/// Opener target Id
/// </summary>
public TargetID OpenerId { get; set; }
/// <summary>
///
/// </summary>
public BrowserContextID BrowserContextId { get; set; }}
/// <summary>
///
/// </summary>
public class RemoteLocation
{
/// <summary>
///
/// </summary>
public string Host { get; set; }
/// <summary>
///
/// </summary>
public int Port { get; set; }}
}
namespace Playwright.Chromium.Protocol.Tethering
{
}
namespace Playwright.Chromium.Protocol.Tracing
{
/// <summary>
/// Configuration for memory dump. Used only when "memory-infra" category is enabled.
/// </summary>
public class MemoryDumpConfig
{
}
/// <summary>
///
/// </summary>
public class TraceConfig
{
/// <summary>
/// Controls how the trace buffer stores data.
/// </summary>
public string RecordMode { get; set; }
/// <summary>
/// Turns on JavaScript stack sampling.
/// </summary>
public bool EnableSampling { get; set; }
/// <summary>
/// Turns on system tracing.
/// </summary>
public bool EnableSystrace { get; set; }
/// <summary>
/// Turns on argument filter.
/// </summary>
public bool EnableArgumentFilter { get; set; }
/// <summary>
/// Included category filters.
/// </summary>
public string[] IncludedCategories { get; set; }
/// <summary>
/// Excluded category filters.
/// </summary>
public string[] ExcludedCategories { get; set; }
/// <summary>
/// Configuration to synthesize the delays in tracing.
/// </summary>
public string[] SyntheticDelays { get; set; }
/// <summary>
/// Configuration for memory dump triggers. Used only when "memory-infra" category is enabled.
/// </summary>
public MemoryDumpConfig MemoryDumpConfig { get; set; }}
/// <summary>
/// Data format of a trace. Can be either the legacy JSON format or the
/// protocol buffer format. Note that the JSON format will be deprecated soon.
/// </summary>
public enum StreamFormat
{
[System.Runtime.Serialization.EnumMember(Value = "json")]Json,
[System.Runtime.Serialization.EnumMember(Value = "proto")]Proto}
/// <summary>
/// Compression type to use for traces returned via streams.
/// </summary>
public enum StreamCompression
{
[System.Runtime.Serialization.EnumMember(Value = "none")]None,
[System.Runtime.Serialization.EnumMember(Value = "gzip")]Gzip}
}
namespace Playwright.Chromium.Protocol.Fetch
{
public readonly struct RequestId : System.IComparable<RequestId>, System.IEquatable<RequestId>
{
public string Value { get; }
public RequestId(string value)
{
Value = value;
}
public bool Equals(RequestId other) => this.Value.Equals(other.Value);
public int CompareTo(RequestId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is RequestId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(RequestId a, RequestId b) => a.CompareTo(b) == 0;
public static bool operator !=(RequestId a, RequestId b) => !(a == b);
}
/// <summary>
/// Stages of the request to handle. Request will intercept before the request is
/// sent. Response will intercept after the response is received (but before response
/// body is received.
/// </summary>
public enum RequestStage
{
[System.Runtime.Serialization.EnumMember(Value = "Request")]REquest,
[System.Runtime.Serialization.EnumMember(Value = "Response")]REsponse}
/// <summary>
///
/// </summary>
public class RequestPattern
{
/// <summary>
/// Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is
/// backslash. Omitting is equivalent to "*".
/// </summary>
public string UrlPattern { get; set; }
/// <summary>
/// If set, only requests for matching resource types will be intercepted.
/// </summary>
public Playwright.Chromium.Protocol.Network.ResourceType ResourceType { get; set; }
/// <summary>
/// Stage at wich to begin intercepting requests. Default is Request.
/// </summary>
public RequestStage RequestStage { get; set; }}
/// <summary>
/// Response HTTP header entry
/// </summary>
public class HeaderEntry
{
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Value { get; set; }}
/// <summary>
/// Authorization challenge for HTTP status code 401 or 407.
/// </summary>
public class AuthChallenge
{
/// <summary>
/// Source of the authentication challenge.
/// </summary>
public string Source { get; set; }
/// <summary>
/// Origin of the challenger.
/// </summary>
public string Origin { get; set; }
/// <summary>
/// The authentication scheme used, such as basic or digest
/// </summary>
public string Scheme { get; set; }
/// <summary>
/// The realm of the challenge. May be empty.
/// </summary>
public string Realm { get; set; }}
/// <summary>
/// Response to an AuthChallenge.
/// </summary>
public class AuthChallengeResponse
{
/// <summary>
/// The decision on what to do in response to the authorization challenge. Default means
/// deferring to the default behavior of the net stack, which will likely either the Cancel
/// authentication or display a popup dialog box.
/// </summary>
public string Response { get; set; }
/// <summary>
/// The username to provide, possibly empty. Should only be set if response is
/// ProvideCredentials.
/// </summary>
public string Username { get; set; }
/// <summary>
/// The password to provide, possibly empty. Should only be set if response is
/// ProvideCredentials.
/// </summary>
public string Password { get; set; }}
}
namespace Playwright.Chromium.Protocol.WebAudio
{
public readonly struct GraphObjectId : System.IComparable<GraphObjectId>, System.IEquatable<GraphObjectId>
{
public string Value { get; }
public GraphObjectId(string value)
{
Value = value;
}
public bool Equals(GraphObjectId other) => this.Value.Equals(other.Value);
public int CompareTo(GraphObjectId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is GraphObjectId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(GraphObjectId a, GraphObjectId b) => a.CompareTo(b) == 0;
public static bool operator !=(GraphObjectId a, GraphObjectId b) => !(a == b);
}
/// <summary>
/// Enum of BaseAudioContext types
/// </summary>
public enum ContextType
{
[System.Runtime.Serialization.EnumMember(Value = "realtime")]Realtime,
[System.Runtime.Serialization.EnumMember(Value = "offline")]Offline}
/// <summary>
/// Enum of AudioContextState from the spec
/// </summary>
public enum ContextState
{
[System.Runtime.Serialization.EnumMember(Value = "suspended")]Suspended,
[System.Runtime.Serialization.EnumMember(Value = "running")]Running,
[System.Runtime.Serialization.EnumMember(Value = "closed")]Closed}
public readonly struct NodeType : System.IComparable<NodeType>, System.IEquatable<NodeType>
{
public string Value { get; }
public NodeType(string value)
{
Value = value;
}
public bool Equals(NodeType other) => this.Value.Equals(other.Value);
public int CompareTo(NodeType other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is NodeType other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(NodeType a, NodeType b) => a.CompareTo(b) == 0;
public static bool operator !=(NodeType a, NodeType b) => !(a == b);
}
/// <summary>
/// Enum of AudioNode::ChannelCountMode from the spec
/// </summary>
public enum ChannelCountMode
{
[System.Runtime.Serialization.EnumMember(Value = "clamped-max")]ClampedMax,
[System.Runtime.Serialization.EnumMember(Value = "explicit")]Explicit,
[System.Runtime.Serialization.EnumMember(Value = "max")]Max}
/// <summary>
/// Enum of AudioNode::ChannelInterpretation from the spec
/// </summary>
public enum ChannelInterpretation
{
[System.Runtime.Serialization.EnumMember(Value = "discrete")]Discrete,
[System.Runtime.Serialization.EnumMember(Value = "speakers")]Speakers}
public readonly struct ParamType : System.IComparable<ParamType>, System.IEquatable<ParamType>
{
public string Value { get; }
public ParamType(string value)
{
Value = value;
}
public bool Equals(ParamType other) => this.Value.Equals(other.Value);
public int CompareTo(ParamType other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is ParamType other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(ParamType a, ParamType b) => a.CompareTo(b) == 0;
public static bool operator !=(ParamType a, ParamType b) => !(a == b);
}
/// <summary>
/// Enum of AudioParam::AutomationRate from the spec
/// </summary>
public enum AutomationRate
{
[System.Runtime.Serialization.EnumMember(Value = "a-rate")]ARate,
[System.Runtime.Serialization.EnumMember(Value = "k-rate")]KRate}
/// <summary>
/// Fields in AudioContext that change in real-time.
/// </summary>
public class ContextRealtimeData
{
/// <summary>
/// The current context time in second in BaseAudioContext.
/// </summary>
public double CurrentTime { get; set; }
/// <summary>
/// The time spent on rendering graph divided by render qunatum duration,
/// and multiplied by 100. 100 means the audio renderer reached the full
/// capacity and glitch may occur.
/// </summary>
public double RenderCapacity { get; set; }
/// <summary>
/// A running mean of callback interval.
/// </summary>
public double CallbackIntervalMean { get; set; }
/// <summary>
/// A running variance of callback interval.
/// </summary>
public double CallbackIntervalVariance { get; set; }}
/// <summary>
/// Protocol object for BaseAudioContext
/// </summary>
public class BaseAudioContext
{
/// <summary>
///
/// </summary>
public GraphObjectId ContextId { get; set; }
/// <summary>
///
/// </summary>
public ContextType ContextType { get; set; }
/// <summary>
///
/// </summary>
public ContextState ContextState { get; set; }
/// <summary>
///
/// </summary>
public ContextRealtimeData RealtimeData { get; set; }
/// <summary>
/// Platform-dependent callback buffer size.
/// </summary>
public double CallbackBufferSize { get; set; }
/// <summary>
/// Number of output channels supported by audio hardware in use.
/// </summary>
public double MaxOutputChannelCount { get; set; }
/// <summary>
/// Context sample rate.
/// </summary>
public double SampleRate { get; set; }}
/// <summary>
/// Protocol object for AudioListner
/// </summary>
public class AudioListener
{
/// <summary>
///
/// </summary>
public GraphObjectId ListenerId { get; set; }
/// <summary>
///
/// </summary>
public GraphObjectId ContextId { get; set; }}
/// <summary>
/// Protocol object for AudioNode
/// </summary>
public class AudioNode
{
/// <summary>
///
/// </summary>
public GraphObjectId NodeId { get; set; }
/// <summary>
///
/// </summary>
public GraphObjectId ContextId { get; set; }
/// <summary>
///
/// </summary>
public NodeType NodeType { get; set; }
/// <summary>
///
/// </summary>
public double NumberOfInputs { get; set; }
/// <summary>
///
/// </summary>
public double NumberOfOutputs { get; set; }
/// <summary>
///
/// </summary>
public double ChannelCount { get; set; }
/// <summary>
///
/// </summary>
public ChannelCountMode ChannelCountMode { get; set; }
/// <summary>
///
/// </summary>
public ChannelInterpretation ChannelInterpretation { get; set; }}
/// <summary>
/// Protocol object for AudioParam
/// </summary>
public class AudioParam
{
/// <summary>
///
/// </summary>
public GraphObjectId ParamId { get; set; }
/// <summary>
///
/// </summary>
public GraphObjectId NodeId { get; set; }
/// <summary>
///
/// </summary>
public GraphObjectId ContextId { get; set; }
/// <summary>
///
/// </summary>
public ParamType ParamType { get; set; }
/// <summary>
///
/// </summary>
public AutomationRate Rate { get; set; }
/// <summary>
///
/// </summary>
public double DefaultValue { get; set; }
/// <summary>
///
/// </summary>
public double MinValue { get; set; }
/// <summary>
///
/// </summary>
public double MaxValue { get; set; }}
}
namespace Playwright.Chromium.Protocol.WebAuthn
{
public readonly struct AuthenticatorId : System.IComparable<AuthenticatorId>, System.IEquatable<AuthenticatorId>
{
public string Value { get; }
public AuthenticatorId(string value)
{
Value = value;
}
public bool Equals(AuthenticatorId other) => this.Value.Equals(other.Value);
public int CompareTo(AuthenticatorId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is AuthenticatorId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(AuthenticatorId a, AuthenticatorId b) => a.CompareTo(b) == 0;
public static bool operator !=(AuthenticatorId a, AuthenticatorId b) => !(a == b);
}
/// <summary>
///
/// </summary>
public enum AuthenticatorProtocol
{
[System.Runtime.Serialization.EnumMember(Value = "u2f")]U2F,
[System.Runtime.Serialization.EnumMember(Value = "ctap2")]Ctap2}
/// <summary>
///
/// </summary>
public enum AuthenticatorTransport
{
[System.Runtime.Serialization.EnumMember(Value = "usb")]Usb,
[System.Runtime.Serialization.EnumMember(Value = "nfc")]Nfc,
[System.Runtime.Serialization.EnumMember(Value = "ble")]Ble,
[System.Runtime.Serialization.EnumMember(Value = "cable")]Cable,
[System.Runtime.Serialization.EnumMember(Value = "internal")]Internal}
/// <summary>
///
/// </summary>
public class VirtualAuthenticatorOptions
{
/// <summary>
///
/// </summary>
public AuthenticatorProtocol Protocol { get; set; }
/// <summary>
///
/// </summary>
public AuthenticatorTransport Transport { get; set; }
/// <summary>
/// Defaults to false.
/// </summary>
public bool HasResidentKey { get; set; }
/// <summary>
/// Defaults to false.
/// </summary>
public bool HasUserVerification { get; set; }
/// <summary>
/// If set to true, tests of user presence will succeed immediately.
/// Otherwise, they will not be resolved. Defaults to true.
/// </summary>
public bool AutomaticPresenceSimulation { get; set; }
/// <summary>
/// Sets whether User Verification succeeds or fails for an authenticator.
/// Defaults to false.
/// </summary>
public bool IsUserVerified { get; set; }}
/// <summary>
///
/// </summary>
public class Credential
{
/// <summary>
///
/// </summary>
public byte[] CredentialId { get; set; }
/// <summary>
///
/// </summary>
public bool IsResidentCredential { get; set; }
/// <summary>
/// Relying Party ID the credential is scoped to. Must be set when adding a
/// credential.
/// </summary>
public string RpId { get; set; }
/// <summary>
/// The ECDSA P-256 private key in PKCS#8 format.
/// </summary>
public byte[] PrivateKey { get; set; }
/// <summary>
/// An opaque byte sequence with a maximum size of 64 bytes mapping the
/// credential to a specific user.
/// </summary>
public byte[] UserHandle { get; set; }
/// <summary>
/// Signature counter. This is incremented by one for each successful
/// assertion.
/// See https://w3c.github.io/webauthn/#signature-counter
/// </summary>
public int SignCount { get; set; }}
}
namespace Playwright.Chromium.Protocol.Media
{
public readonly struct PlayerId : System.IComparable<PlayerId>, System.IEquatable<PlayerId>
{
public string Value { get; }
public PlayerId(string value)
{
Value = value;
}
public bool Equals(PlayerId other) => this.Value.Equals(other.Value);
public int CompareTo(PlayerId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is PlayerId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(PlayerId a, PlayerId b) => a.CompareTo(b) == 0;
public static bool operator !=(PlayerId a, PlayerId b) => !(a == b);
}
public readonly struct Timestamp : System.IComparable<Timestamp>, System.IEquatable<Timestamp>
{
public long Value { get; }
public Timestamp(long value)
{
Value = value;
}
public bool Equals(Timestamp other) => this.Value.Equals(other.Value);
public int CompareTo(Timestamp other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is Timestamp other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(Timestamp a, Timestamp b) => a.CompareTo(b) == 0;
public static bool operator !=(Timestamp a, Timestamp b) => !(a == b);
}
/// <summary>
/// Player Property type
/// </summary>
public class PlayerProperty
{
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Value { get; set; }}
/// <summary>
/// Break out events into different types
/// </summary>
public enum PlayerEventType
{
[System.Runtime.Serialization.EnumMember(Value = "playbackEvent")]PlaybackEvent,
[System.Runtime.Serialization.EnumMember(Value = "systemEvent")]SystemEvent,
[System.Runtime.Serialization.EnumMember(Value = "messageEvent")]MessageEvent}
/// <summary>
///
/// </summary>
public class PlayerEvent
{
/// <summary>
///
/// </summary>
public PlayerEventType Type { get; set; }
/// <summary>
/// Events are timestamped relative to the start of the player creation
/// not relative to the start of playback.
/// </summary>
public Timestamp Timestamp { get; set; }
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Value { get; set; }}
}
namespace Playwright.Chromium.Protocol.Console
{
/// <summary>
/// Console message.
/// </summary>
public class ConsoleMessage
{
/// <summary>
/// Message source.
/// </summary>
public string Source { get; set; }
/// <summary>
/// Message severity.
/// </summary>
public string Level { get; set; }
/// <summary>
/// Message text.
/// </summary>
public string Text { get; set; }
/// <summary>
/// URL of the message origin.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Line number in the resource that generated this message (1-based).
/// </summary>
public int Line { get; set; }
/// <summary>
/// Column number in the resource that generated this message (1-based).
/// </summary>
public int Column { get; set; }}
}
namespace Playwright.Chromium.Protocol.Debugger
{
public readonly struct BreakpointId : System.IComparable<BreakpointId>, System.IEquatable<BreakpointId>
{
public string Value { get; }
public BreakpointId(string value)
{
Value = value;
}
public bool Equals(BreakpointId other) => this.Value.Equals(other.Value);
public int CompareTo(BreakpointId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is BreakpointId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(BreakpointId a, BreakpointId b) => a.CompareTo(b) == 0;
public static bool operator !=(BreakpointId a, BreakpointId b) => !(a == b);
}
public readonly struct CallFrameId : System.IComparable<CallFrameId>, System.IEquatable<CallFrameId>
{
public string Value { get; }
public CallFrameId(string value)
{
Value = value;
}
public bool Equals(CallFrameId other) => this.Value.Equals(other.Value);
public int CompareTo(CallFrameId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is CallFrameId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(CallFrameId a, CallFrameId b) => a.CompareTo(b) == 0;
public static bool operator !=(CallFrameId a, CallFrameId b) => !(a == b);
}
/// <summary>
/// Location in the source code.
/// </summary>
public class Location
{
/// <summary>
/// Script identifier as reported in the `Debugger.scriptParsed`.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.ScriptId ScriptId { get; set; }
/// <summary>
/// Line number in the script (0-based).
/// </summary>
public int LineNumber { get; set; }
/// <summary>
/// Column number in the script (0-based).
/// </summary>
public int ColumnNumber { get; set; }}
/// <summary>
/// Location in the source code.
/// </summary>
public class ScriptPosition
{
/// <summary>
///
/// </summary>
public int LineNumber { get; set; }
/// <summary>
///
/// </summary>
public int ColumnNumber { get; set; }}
/// <summary>
/// JavaScript call frame. Array of call frames form the call stack.
/// </summary>
public class CallFrame
{
/// <summary>
/// Call frame identifier. This identifier is only valid while the virtual machine is paused.
/// </summary>
public CallFrameId CallFrameId { get; set; }
/// <summary>
/// Name of the JavaScript function called on this call frame.
/// </summary>
public string FunctionName { get; set; }
/// <summary>
/// Location in the source code.
/// </summary>
public Location FunctionLocation { get; set; }
/// <summary>
/// Location in the source code.
/// </summary>
public Location Location { get; set; }
/// <summary>
/// JavaScript script name or url.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Scope chain for this call frame.
/// </summary>
public Scope[] ScopeChain { get; set; }
/// <summary>
/// `this` object for this call frame.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.RemoteObject This { get; set; }
/// <summary>
/// The value being returned, if the function is at return point.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.RemoteObject ReturnValue { get; set; }}
/// <summary>
/// Scope description.
/// </summary>
public class Scope
{
/// <summary>
/// Scope type.
/// </summary>
public string Type { get; set; }
/// <summary>
/// Object representing the scope. For `global` and `with` scopes it represents the actual
/// object; for the rest of the scopes, it is artificial transient object enumerating scope
/// variables as its properties.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.RemoteObject Object { get; set; }
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
/// Location in the source code where scope starts
/// </summary>
public Location StartLocation { get; set; }
/// <summary>
/// Location in the source code where scope ends
/// </summary>
public Location EndLocation { get; set; }}
/// <summary>
/// Search match for resource.
/// </summary>
public class SearchMatch
{
/// <summary>
/// Line number in resource content.
/// </summary>
public double LineNumber { get; set; }
/// <summary>
/// Line with match content.
/// </summary>
public string LineContent { get; set; }}
/// <summary>
///
/// </summary>
public class BreakLocation
{
/// <summary>
/// Script identifier as reported in the `Debugger.scriptParsed`.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.ScriptId ScriptId { get; set; }
/// <summary>
/// Line number in the script (0-based).
/// </summary>
public int LineNumber { get; set; }
/// <summary>
/// Column number in the script (0-based).
/// </summary>
public int ColumnNumber { get; set; }
/// <summary>
///
/// </summary>
public string Type { get; set; }}
}
namespace Playwright.Chromium.Protocol.HeapProfiler
{
public readonly struct HeapSnapshotObjectId : System.IComparable<HeapSnapshotObjectId>, System.IEquatable<HeapSnapshotObjectId>
{
public string Value { get; }
public HeapSnapshotObjectId(string value)
{
Value = value;
}
public bool Equals(HeapSnapshotObjectId other) => this.Value.Equals(other.Value);
public int CompareTo(HeapSnapshotObjectId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is HeapSnapshotObjectId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(HeapSnapshotObjectId a, HeapSnapshotObjectId b) => a.CompareTo(b) == 0;
public static bool operator !=(HeapSnapshotObjectId a, HeapSnapshotObjectId b) => !(a == b);
}
/// <summary>
/// Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes.
/// </summary>
public class SamplingHeapProfileNode
{
/// <summary>
/// Function location.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.CallFrame CallFrame { get; set; }
/// <summary>
/// Allocations size in bytes for the node excluding children.
/// </summary>
public double SelfSize { get; set; }
/// <summary>
/// Node id. Ids are unique across all profiles collected between startSampling and stopSampling.
/// </summary>
public int Id { get; set; }
/// <summary>
/// Child nodes.
/// </summary>
public SamplingHeapProfileNode[] Children { get; set; }}
/// <summary>
/// A single sample from a sampling profile.
/// </summary>
public class SamplingHeapProfileSample
{
/// <summary>
/// Allocation size in bytes attributed to the sample.
/// </summary>
public double Size { get; set; }
/// <summary>
/// Id of the corresponding profile tree node.
/// </summary>
public int NodeId { get; set; }
/// <summary>
/// Time-ordered sample ordinal number. It is unique across all profiles retrieved
/// between startSampling and stopSampling.
/// </summary>
public double Ordinal { get; set; }}
/// <summary>
/// Sampling profile.
/// </summary>
public class SamplingHeapProfile
{
/// <summary>
///
/// </summary>
public SamplingHeapProfileNode Head { get; set; }
/// <summary>
///
/// </summary>
public SamplingHeapProfileSample[] Samples { get; set; }}
}
namespace Playwright.Chromium.Protocol.Profiler
{
/// <summary>
/// Profile node. Holds callsite information, execution statistics and child nodes.
/// </summary>
public class ProfileNode
{
/// <summary>
/// Unique id of the node.
/// </summary>
public int Id { get; set; }
/// <summary>
/// Function location.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.CallFrame CallFrame { get; set; }
/// <summary>
/// Number of samples where this node was on top of the call stack.
/// </summary>
public int HitCount { get; set; }
/// <summary>
/// Child node ids.
/// </summary>
public int[] Children { get; set; }
/// <summary>
/// The reason of being not optimized. The function may be deoptimized or marked as don't
/// optimize.
/// </summary>
public string DeoptReason { get; set; }
/// <summary>
/// An array of source position ticks.
/// </summary>
public PositionTickInfo[] PositionTicks { get; set; }}
/// <summary>
/// Profile.
/// </summary>
public class Profile
{
/// <summary>
/// The list of profile nodes. First item is the root node.
/// </summary>
public ProfileNode[] Nodes { get; set; }
/// <summary>
/// Profiling start timestamp in microseconds.
/// </summary>
public double StartTime { get; set; }
/// <summary>
/// Profiling end timestamp in microseconds.
/// </summary>
public double EndTime { get; set; }
/// <summary>
/// Ids of samples top nodes.
/// </summary>
public int[] Samples { get; set; }
/// <summary>
/// Time intervals between adjacent samples in microseconds. The first delta is relative to the
/// profile startTime.
/// </summary>
public int[] TimeDeltas { get; set; }}
/// <summary>
/// Specifies a number of samples attributed to a certain source position.
/// </summary>
public class PositionTickInfo
{
/// <summary>
/// Source line number (1-based).
/// </summary>
public int Line { get; set; }
/// <summary>
/// Number of samples attributed to the source line.
/// </summary>
public int Ticks { get; set; }}
/// <summary>
/// Coverage data for a source range.
/// </summary>
public class CoverageRange
{
/// <summary>
/// JavaScript script source offset for the range start.
/// </summary>
public int StartOffset { get; set; }
/// <summary>
/// JavaScript script source offset for the range end.
/// </summary>
public int EndOffset { get; set; }
/// <summary>
/// Collected execution count of the source range.
/// </summary>
public int Count { get; set; }}
/// <summary>
/// Coverage data for a JavaScript function.
/// </summary>
public class FunctionCoverage
{
/// <summary>
/// JavaScript function name.
/// </summary>
public string FunctionName { get; set; }
/// <summary>
/// Source ranges inside the function with coverage data.
/// </summary>
public CoverageRange[] Ranges { get; set; }
/// <summary>
/// Whether coverage data for this function has block granularity.
/// </summary>
public bool IsBlockCoverage { get; set; }}
/// <summary>
/// Coverage data for a JavaScript script.
/// </summary>
public class ScriptCoverage
{
/// <summary>
/// JavaScript script id.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.ScriptId ScriptId { get; set; }
/// <summary>
/// JavaScript script name or url.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Functions contained in the script that has coverage data.
/// </summary>
public FunctionCoverage[] Functions { get; set; }}
/// <summary>
/// Describes a type collected during runtime.
/// </summary>
public class TypeObject
{
/// <summary>
/// Name of a type collected with type profiling.
/// </summary>
public string Name { get; set; }}
/// <summary>
/// Source offset and types for a parameter or return value.
/// </summary>
public class TypeProfileEntry
{
/// <summary>
/// Source offset of the parameter or end of function for return values.
/// </summary>
public int Offset { get; set; }
/// <summary>
/// The types for this parameter or return value.
/// </summary>
public TypeObject[] Types { get; set; }}
/// <summary>
/// Type profile data collected during runtime for a JavaScript script.
/// </summary>
public class ScriptTypeProfile
{
/// <summary>
/// JavaScript script id.
/// </summary>
public Playwright.Chromium.Protocol.Runtime.ScriptId ScriptId { get; set; }
/// <summary>
/// JavaScript script name or url.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Type profile entries for parameters and return values of the functions in the script.
/// </summary>
public TypeProfileEntry[] Entries { get; set; }}
}
namespace Playwright.Chromium.Protocol.Runtime
{
public readonly struct ScriptId : System.IComparable<ScriptId>, System.IEquatable<ScriptId>
{
public string Value { get; }
public ScriptId(string value)
{
Value = value;
}
public bool Equals(ScriptId other) => this.Value.Equals(other.Value);
public int CompareTo(ScriptId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is ScriptId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(ScriptId a, ScriptId b) => a.CompareTo(b) == 0;
public static bool operator !=(ScriptId a, ScriptId b) => !(a == b);
}
public readonly struct RemoteObjectId : System.IComparable<RemoteObjectId>, System.IEquatable<RemoteObjectId>
{
public string Value { get; }
public RemoteObjectId(string value)
{
Value = value;
}
public bool Equals(RemoteObjectId other) => this.Value.Equals(other.Value);
public int CompareTo(RemoteObjectId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is RemoteObjectId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(RemoteObjectId a, RemoteObjectId b) => a.CompareTo(b) == 0;
public static bool operator !=(RemoteObjectId a, RemoteObjectId b) => !(a == b);
}
public readonly struct UnserializableValue : System.IComparable<UnserializableValue>, System.IEquatable<UnserializableValue>
{
public string Value { get; }
public UnserializableValue(string value)
{
Value = value;
}
public bool Equals(UnserializableValue other) => this.Value.Equals(other.Value);
public int CompareTo(UnserializableValue other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is UnserializableValue other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(UnserializableValue a, UnserializableValue b) => a.CompareTo(b) == 0;
public static bool operator !=(UnserializableValue a, UnserializableValue b) => !(a == b);
}
/// <summary>
/// Mirror object referencing original JavaScript object.
/// </summary>
public class RemoteObject
{
/// <summary>
/// Object type.
/// </summary>
public string Type { get; set; }
/// <summary>
/// Object subtype hint. Specified for `object` type values only.
/// </summary>
public string Subtype { get; set; }
/// <summary>
/// Object class (constructor) name. Specified for `object` type values only.
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// Remote object value in case of primitive values or JSON values (if it was requested).
/// </summary>
public object Value { get; set; }
/// <summary>
/// Primitive value which can not be JSON-stringified does not have `value`, but gets this
/// property.
/// </summary>
public UnserializableValue UnserializableValue { get; set; }
/// <summary>
/// String representation of the object.
/// </summary>
public string Description { get; set; }
/// <summary>
/// Unique object identifier (for non-primitive values).
/// </summary>
public RemoteObjectId ObjectId { get; set; }
/// <summary>
/// Preview containing abbreviated property values. Specified for `object` type values only.
/// </summary>
public ObjectPreview Preview { get; set; }
/// <summary>
///
/// </summary>
public CustomPreview CustomPreview { get; set; }}
/// <summary>
///
/// </summary>
public class CustomPreview
{
/// <summary>
/// The JSON-stringified result of formatter.header(object, config) call.
/// It contains json ML array that represents RemoteObject.
/// </summary>
public string Header { get; set; }
/// <summary>
/// If formatter returns true as a result of formatter.hasBody call then bodyGetterId will
/// contain RemoteObjectId for the function that returns result of formatter.body(object, config) call.
/// The result value is json ML array.
/// </summary>
public RemoteObjectId BodyGetterId { get; set; }}
/// <summary>
/// Object containing abbreviated remote object value.
/// </summary>
public class ObjectPreview
{
/// <summary>
/// Object type.
/// </summary>
public string Type { get; set; }
/// <summary>
/// Object subtype hint. Specified for `object` type values only.
/// </summary>
public string Subtype { get; set; }
/// <summary>
/// String representation of the object.
/// </summary>
public string Description { get; set; }
/// <summary>
/// True iff some of the properties or entries of the original object did not fit.
/// </summary>
public bool Overflow { get; set; }
/// <summary>
/// List of the properties.
/// </summary>
public PropertyPreview[] Properties { get; set; }
/// <summary>
/// List of the entries. Specified for `map` and `set` subtype values only.
/// </summary>
public EntryPreview[] Entries { get; set; }}
/// <summary>
///
/// </summary>
public class PropertyPreview
{
/// <summary>
/// Property name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Object type. Accessor means that the property itself is an accessor property.
/// </summary>
public string Type { get; set; }
/// <summary>
/// User-friendly property value string.
/// </summary>
public string Value { get; set; }
/// <summary>
/// Nested value preview.
/// </summary>
public ObjectPreview ValuePreview { get; set; }
/// <summary>
/// Object subtype hint. Specified for `object` type values only.
/// </summary>
public string Subtype { get; set; }}
/// <summary>
///
/// </summary>
public class EntryPreview
{
/// <summary>
/// Preview of the key. Specified for map-like collection entries.
/// </summary>
public ObjectPreview Key { get; set; }
/// <summary>
/// Preview of the value.
/// </summary>
public ObjectPreview Value { get; set; }}
/// <summary>
/// Object property descriptor.
/// </summary>
public class PropertyDescriptor
{
/// <summary>
/// Property name or symbol description.
/// </summary>
public string Name { get; set; }
/// <summary>
/// The value associated with the property.
/// </summary>
public RemoteObject Value { get; set; }
/// <summary>
/// True if the value associated with the property may be changed (data descriptors only).
/// </summary>
public bool Writable { get; set; }
/// <summary>
/// A function which serves as a getter for the property, or `undefined` if there is no getter
/// (accessor descriptors only).
/// </summary>
public RemoteObject Get { get; set; }
/// <summary>
/// A function which serves as a setter for the property, or `undefined` if there is no setter
/// (accessor descriptors only).
/// </summary>
public RemoteObject Set { get; set; }
/// <summary>
/// True if the type of this property descriptor may be changed and if the property may be
/// deleted from the corresponding object.
/// </summary>
public bool Configurable { get; set; }
/// <summary>
/// True if this property shows up during enumeration of the properties on the corresponding
/// object.
/// </summary>
public bool Enumerable { get; set; }
/// <summary>
/// True if the result was thrown during the evaluation.
/// </summary>
public bool WasThrown { get; set; }
/// <summary>
/// True if the property is owned for the object.
/// </summary>
public bool IsOwn { get; set; }
/// <summary>
/// Property symbol object, if the property is of the `symbol` type.
/// </summary>
public RemoteObject Symbol { get; set; }}
/// <summary>
/// Object internal property descriptor. This property isn't normally visible in JavaScript code.
/// </summary>
public class InternalPropertyDescriptor
{
/// <summary>
/// Conventional property name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// The value associated with the property.
/// </summary>
public RemoteObject Value { get; set; }}
/// <summary>
/// Object private field descriptor.
/// </summary>
public class PrivatePropertyDescriptor
{
/// <summary>
/// Private property name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// The value associated with the private property.
/// </summary>
public RemoteObject Value { get; set; }}
/// <summary>
/// Represents function call argument. Either remote object id `objectId`, primitive `value`,
/// unserializable primitive value or neither of (for undefined) them should be specified.
/// </summary>
public class CallArgument
{
/// <summary>
/// Primitive value or serializable javascript object.
/// </summary>
public object Value { get; set; }
/// <summary>
/// Primitive value which can not be JSON-stringified.
/// </summary>
public UnserializableValue UnserializableValue { get; set; }
/// <summary>
/// Remote object handle.
/// </summary>
public RemoteObjectId ObjectId { get; set; }}
public readonly struct ExecutionContextId : System.IComparable<ExecutionContextId>, System.IEquatable<ExecutionContextId>
{
public int Value { get; }
public ExecutionContextId(int value)
{
Value = value;
}
public bool Equals(ExecutionContextId other) => this.Value.Equals(other.Value);
public int CompareTo(ExecutionContextId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is ExecutionContextId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(ExecutionContextId a, ExecutionContextId b) => a.CompareTo(b) == 0;
public static bool operator !=(ExecutionContextId a, ExecutionContextId b) => !(a == b);
}
/// <summary>
/// Description of an isolated world.
/// </summary>
public class ExecutionContextDescription
{
/// <summary>
/// Unique id of the execution context. It can be used to specify in which execution context
/// script evaluation should be performed.
/// </summary>
public ExecutionContextId Id { get; set; }
/// <summary>
/// Execution context origin.
/// </summary>
public string Origin { get; set; }
/// <summary>
/// Human readable name describing given context.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Embedder-specific auxiliary data.
/// </summary>
public object AuxData { get; set; }}
/// <summary>
/// Detailed information about exception (or error) that was thrown during script compilation or
/// execution.
/// </summary>
public class ExceptionDetails
{
/// <summary>
/// Exception id.
/// </summary>
public int ExceptionId { get; set; }
/// <summary>
/// Exception text, which should be used together with exception object when available.
/// </summary>
public string Text { get; set; }
/// <summary>
/// Line number of the exception location (0-based).
/// </summary>
public int LineNumber { get; set; }
/// <summary>
/// Column number of the exception location (0-based).
/// </summary>
public int ColumnNumber { get; set; }
/// <summary>
/// Script ID of the exception location.
/// </summary>
public ScriptId ScriptId { get; set; }
/// <summary>
/// URL of the exception location, to be used when the script was not reported.
/// </summary>
public string Url { get; set; }
/// <summary>
/// JavaScript stack trace if available.
/// </summary>
public StackTrace StackTrace { get; set; }
/// <summary>
/// Exception object if available.
/// </summary>
public RemoteObject Exception { get; set; }
/// <summary>
/// Identifier of the context where exception happened.
/// </summary>
public ExecutionContextId ExecutionContextId { get; set; }}
public readonly struct Timestamp : System.IComparable<Timestamp>, System.IEquatable<Timestamp>
{
public long Value { get; }
public Timestamp(long value)
{
Value = value;
}
public bool Equals(Timestamp other) => this.Value.Equals(other.Value);
public int CompareTo(Timestamp other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is Timestamp other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(Timestamp a, Timestamp b) => a.CompareTo(b) == 0;
public static bool operator !=(Timestamp a, Timestamp b) => !(a == b);
}
public readonly struct TimeDelta : System.IComparable<TimeDelta>, System.IEquatable<TimeDelta>
{
public long Value { get; }
public TimeDelta(long value)
{
Value = value;
}
public bool Equals(TimeDelta other) => this.Value.Equals(other.Value);
public int CompareTo(TimeDelta other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is TimeDelta other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(TimeDelta a, TimeDelta b) => a.CompareTo(b) == 0;
public static bool operator !=(TimeDelta a, TimeDelta b) => !(a == b);
}
/// <summary>
/// Stack entry for runtime errors and assertions.
/// </summary>
public class CallFrame
{
/// <summary>
/// JavaScript function name.
/// </summary>
public string FunctionName { get; set; }
/// <summary>
/// JavaScript script id.
/// </summary>
public ScriptId ScriptId { get; set; }
/// <summary>
/// JavaScript script name or url.
/// </summary>
public string Url { get; set; }
/// <summary>
/// JavaScript script line number (0-based).
/// </summary>
public int LineNumber { get; set; }
/// <summary>
/// JavaScript script column number (0-based).
/// </summary>
public int ColumnNumber { get; set; }}
/// <summary>
/// Call frames for assertions or error messages.
/// </summary>
public class StackTrace
{
/// <summary>
/// String label of this stack trace. For async traces this may be a name of the function that
/// initiated the async call.
/// </summary>
public string Description { get; set; }
/// <summary>
/// JavaScript function name.
/// </summary>
public CallFrame[] CallFrames { get; set; }
/// <summary>
/// Asynchronous JavaScript stack trace that preceded this stack, if available.
/// </summary>
public StackTrace Parent { get; set; }
/// <summary>
/// Asynchronous JavaScript stack trace that preceded this stack, if available.
/// </summary>
public StackTraceId ParentId { get; set; }}
public readonly struct UniqueDebuggerId : System.IComparable<UniqueDebuggerId>, System.IEquatable<UniqueDebuggerId>
{
public string Value { get; }
public UniqueDebuggerId(string value)
{
Value = value;
}
public bool Equals(UniqueDebuggerId other) => this.Value.Equals(other.Value);
public int CompareTo(UniqueDebuggerId other) => Value.CompareTo(other.Value);
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
return obj is UniqueDebuggerId other && Equals(other);
}
public override int GetHashCode() => Value.GetHashCode();
public override string ToString() => Value.ToString();
public static bool operator ==(UniqueDebuggerId a, UniqueDebuggerId b) => a.CompareTo(b) == 0;
public static bool operator !=(UniqueDebuggerId a, UniqueDebuggerId b) => !(a == b);
}
/// <summary>
/// If `debuggerId` is set stack trace comes from another debugger and can be resolved there. This
/// allows to track cross-debugger calls. See `Runtime.StackTrace` and `Debugger.paused` for usages.
/// </summary>
public class StackTraceId
{
/// <summary>
///
/// </summary>
public string Id { get; set; }
/// <summary>
///
/// </summary>
public UniqueDebuggerId DebuggerId { get; set; }}
}
namespace Playwright.Chromium.Protocol.Schema
{
/// <summary>
/// Description of the protocol domain.
/// </summary>
public class Domain
{
/// <summary>
/// Domain name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Domain version.
/// </summary>
public string Version { get; set; }}
}
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment