123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716 |
- /*
- * Copyright (c) 2020-2023, Andreas Kling <kling@serenityos.org>
- * Copyright (c) 2021-2023, the SerenityOS developers.
- *
- * SPDX-License-Identifier: BSD-2-Clause
- */
- #pragma once
- #include <LibJS/Forward.h>
- #include <LibWeb/Bindings/Forward.h>
- namespace Web {
- class EditEventHandler;
- class EventHandler;
- class LoadRequest;
- class Page;
- class PageClient;
- class PaintContext;
- class Resource;
- class ResourceLoader;
- class XMLDocumentBuilder;
- }
- namespace Web::Painting {
- class RecordingPainter;
- }
- namespace Web::Animations {
- class Animatable;
- class Animation;
- class AnimationEffect;
- class AnimationPlaybackEvent;
- class AnimationTimeline;
- class DocumentTimeline;
- class KeyframeEffect;
- }
- namespace Web::ARIA {
- class AriaData;
- class ARIAMixin;
- enum class StateAndProperties;
- }
- namespace Web::Bindings {
- class Intrinsics;
- class OptionConstructor;
- enum class AudioContextLatencyCategory;
- enum class CanPlayTypeResult;
- enum class CanvasFillRule;
- enum class CanvasTextAlign;
- enum class CanvasTextBaseline;
- enum class DOMParserSupportedType;
- enum class EndingType;
- enum class ImageSmoothingQuality;
- enum class ReadableStreamReaderMode;
- enum class ReferrerPolicy;
- enum class RequestCache;
- enum class RequestCredentials;
- enum class RequestDestination;
- enum class RequestDuplex;
- enum class RequestMode;
- enum class RequestRedirect;
- enum class ResizeObserverBoxOptions;
- enum class ResponseType;
- enum class XMLHttpRequestResponseType;
- }
- namespace Web::Clipboard {
- class Clipboard;
- }
- namespace Web::Cookie {
- struct Cookie;
- struct ParsedCookie;
- enum class Source;
- }
- namespace Web::Crypto {
- class Crypto;
- class SubtleCrypto;
- }
- namespace Web::CSS {
- class AbstractImageStyleValue;
- class Angle;
- class AngleOrCalculated;
- class AnglePercentage;
- class AngleStyleValue;
- class BackgroundRepeatStyleValue;
- class BackgroundSizeStyleValue;
- class BorderRadiusStyleValue;
- class CSSAnimation;
- class CSSConditionRule;
- class CSSFontFaceRule;
- class CSSGroupingRule;
- class CSSImportRule;
- class CSSKeyframeRule;
- class CSSKeyframesRule;
- class CSSMediaRule;
- class CSSRule;
- class CSSRuleList;
- class CSSStyleDeclaration;
- class CSSStyleRule;
- class CSSStyleSheet;
- struct CSSStyleSheetInit;
- class CSSSupportsRule;
- class CalculatedStyleValue;
- class Clip;
- class ColorStyleValue;
- class ConicGradientStyleValue;
- class ContentStyleValue;
- class CustomIdentStyleValue;
- class Display;
- class DisplayStyleValue;
- class EasingStyleValue;
- class EdgeStyleValue;
- class ElementInlineCSSStyleDeclaration;
- class ExplicitGridTrack;
- class FilterValueListStyleValue;
- class Flex;
- class FlexOrCalculated;
- class FlexStyleValue;
- class FontFace;
- class Frequency;
- class FrequencyOrCalculated;
- class FrequencyPercentage;
- class FrequencyStyleValue;
- class GridAutoFlowStyleValue;
- class GridMinMax;
- class GridRepeat;
- class GridSize;
- class GridTemplateAreaStyleValue;
- class GridTrackPlacement;
- class GridTrackPlacementStyleValue;
- class GridTrackSizeList;
- class GridTrackSizeListStyleValue;
- class IdentifierStyleValue;
- class ImageStyleValue;
- class InheritStyleValue;
- class InitialStyleValue;
- class IntegerOrCalculated;
- class IntegerStyleValue;
- class Length;
- class LengthBox;
- class LengthOrCalculated;
- class LengthPercentage;
- class LengthStyleValue;
- class LinearGradientStyleValue;
- class MathDepthStyleValue;
- class MediaFeatureValue;
- class MediaList;
- class MediaQuery;
- class MediaQueryList;
- class MediaQueryListEvent;
- class Number;
- class NumberOrCalculated;
- class NumberStyleValue;
- class Percentage;
- class PercentageOrCalculated;
- class PercentageStyleValue;
- class PositionStyleValue;
- class PropertyOwningCSSStyleDeclaration;
- class RadialGradientStyleValue;
- class Ratio;
- class RatioStyleValue;
- class RectStyleValue;
- class Resolution;
- class ResolutionOrCalculated;
- class ResolutionStyleValue;
- class RevertStyleValue;
- class Screen;
- class Selector;
- class ShadowStyleValue;
- class ShorthandStyleValue;
- class Size;
- class StringStyleValue;
- class StyleComputer;
- class StyleProperties;
- class StyleSheet;
- class StyleSheetList;
- class StyleValue;
- class StyleValueList;
- class Supports;
- class SVGPaint;
- class Time;
- class TimeOrCalculated;
- class TimePercentage;
- class TimeStyleValue;
- class Transformation;
- class TransformationStyleValue;
- class URLStyleValue;
- class UnresolvedStyleValue;
- class UnsetStyleValue;
- class VisualViewport;
- enum class MediaFeatureID;
- enum class PropertyID;
- enum class ValueID;
- struct BackgroundLayerData;
- }
- namespace Web::CSS::Parser {
- class Block;
- class ComponentValue;
- class Declaration;
- class DeclarationOrAtRule;
- class Function;
- class Parser;
- class Rule;
- class Token;
- class Tokenizer;
- }
- namespace Web::DOM {
- class AbortController;
- class AbortSignal;
- class AbstractRange;
- class AccessibilityTreeNode;
- class Attr;
- class CDATASection;
- class CharacterData;
- class Comment;
- class CustomEvent;
- class Document;
- class DocumentFragment;
- class DocumentLoadEventDelayer;
- class DocumentObserver;
- class DocumentType;
- class DOMEventListener;
- class DOMImplementation;
- class DOMTokenList;
- class Element;
- class Event;
- class EventHandler;
- class EventTarget;
- class HTMLCollection;
- class HTMLFormControlsCollection;
- class IDLEventListener;
- class LiveNodeList;
- class MutationObserver;
- class MutationRecord;
- class NamedNodeMap;
- class Node;
- class NodeFilter;
- class NodeIterator;
- class NodeList;
- class ParentNode;
- class Position;
- class ProcessingInstruction;
- class Range;
- class RadioNodeList;
- class RegisteredObserver;
- class ShadowRoot;
- class StaticNodeList;
- class StaticRange;
- class Text;
- class TreeWalker;
- class XMLDocument;
- enum class QuirksMode;
- struct AddEventListenerOptions;
- struct EventListenerOptions;
- }
- namespace Web::DOMParsing {
- class XMLSerializer;
- }
- namespace Web::Encoding {
- struct TextDecodeOptions;
- class TextDecoder;
- struct TextDecoderOptions;
- class TextEncoder;
- struct TextEncoderEncodeIntoResult;
- }
- namespace Web::Fetch {
- class BodyMixin;
- class Headers;
- class HeadersIterator;
- class Request;
- class Response;
- }
- namespace Web::Fetch::Fetching {
- class PendingResponse;
- class RefCountedFlag;
- }
- namespace Web::Fetch::Infrastructure {
- class Body;
- class ConnectionTimingInfo;
- class FetchAlgorithms;
- class FetchController;
- class FetchParams;
- class FetchTimingInfo;
- class HeaderList;
- class Request;
- class Response;
- struct BodyWithType;
- struct Header;
- }
- namespace Web::FileAPI {
- class Blob;
- class File;
- }
- namespace Web::Geometry {
- class DOMMatrix;
- struct DOMMatrix2DInit;
- struct DOMMatrixInit;
- class DOMMatrixReadOnly;
- class DOMPoint;
- struct DOMPointInit;
- class DOMPointReadOnly;
- class DOMQuad;
- class DOMRect;
- class DOMRectList;
- class DOMRectReadOnly;
- }
- namespace Web::HTML {
- class AudioTrack;
- class AudioTrackList;
- class BrowsingContext;
- class BrowsingContextGroup;
- class CanvasRenderingContext2D;
- class ClassicScript;
- class CloseEvent;
- class CustomElementDefinition;
- class CustomElementRegistry;
- class DecodedImageData;
- class DocumentState;
- class DOMParser;
- class DOMStringMap;
- class ErrorEvent;
- class EventHandler;
- class EventLoop;
- class FormAssociatedElement;
- class FormDataEvent;
- class History;
- class HTMLAnchorElement;
- class HTMLAreaElement;
- class HTMLAudioElement;
- class HTMLBaseElement;
- class HTMLBodyElement;
- class HTMLBRElement;
- class HTMLButtonElement;
- class HTMLCanvasElement;
- class HTMLDataElement;
- class HTMLDataListElement;
- class HTMLDetailsElement;
- class HTMLDialogElement;
- class HTMLDirectoryElement;
- class HTMLDivElement;
- class HTMLDListElement;
- class HTMLElement;
- class HTMLEmbedElement;
- class HTMLFieldSetElement;
- class HTMLFontElement;
- class HTMLFormElement;
- class HTMLFrameElement;
- class HTMLFrameSetElement;
- class HTMLHeadElement;
- class HTMLHeadingElement;
- class HTMLHRElement;
- class HTMLHtmlElement;
- class HTMLIFrameElement;
- class HTMLImageElement;
- class HTMLInputElement;
- class HTMLLabelElement;
- class HTMLLegendElement;
- class HTMLLIElement;
- class HTMLLinkElement;
- class HTMLMapElement;
- class HTMLMarqueeElement;
- class HTMLMediaElement;
- class HTMLMenuElement;
- class HTMLMetaElement;
- class HTMLMeterElement;
- class HTMLModElement;
- class HTMLObjectElement;
- class HTMLOListElement;
- class HTMLOptGroupElement;
- class HTMLOptionElement;
- class HTMLOptionsCollection;
- class HTMLOutputElement;
- class HTMLParagraphElement;
- class HTMLParamElement;
- class HTMLParser;
- class HTMLPictureElement;
- class HTMLPreElement;
- class HTMLProgressElement;
- class HTMLQuoteElement;
- class HTMLScriptElement;
- class HTMLSelectElement;
- class HTMLSlotElement;
- class HTMLSourceElement;
- class HTMLSpanElement;
- class HTMLStyleElement;
- class HTMLSummaryElement;
- class HTMLTableCaptionElement;
- class HTMLTableCellElement;
- class HTMLTableColElement;
- class HTMLTableElement;
- class HTMLTableRowElement;
- class HTMLTableSectionElement;
- class HTMLTemplateElement;
- class HTMLTextAreaElement;
- class HTMLTimeElement;
- class HTMLTitleElement;
- class HTMLTrackElement;
- class HTMLUListElement;
- class HTMLUnknownElement;
- class HTMLVideoElement;
- class ImageData;
- class ImageRequest;
- class ListOfAvailableImages;
- class Location;
- class MediaError;
- class MessageChannel;
- class MessageEvent;
- class MessagePort;
- class MimeType;
- class MimeTypeArray;
- class Navigable;
- class NavigableContainer;
- class NavigateEvent;
- class Navigation;
- class NavigationCurrentEntryChangeEvent;
- class NavigationDestination;
- class NavigationHistoryEntry;
- class NavigationTransition;
- class Navigator;
- class Origin;
- class PageTransitionEvent;
- class Path2D;
- class Plugin;
- class PluginArray;
- class PromiseRejectionEvent;
- class SelectedFile;
- class SharedImageRequest;
- class Storage;
- class SubmitEvent;
- class TextMetrics;
- class Timer;
- class TimeRanges;
- class ToggleEvent;
- class TrackEvent;
- struct TransferDataHolder;
- class TraversableNavigable;
- class VideoTrack;
- class VideoTrackList;
- class Window;
- class WindowEnvironmentSettingsObject;
- class WindowProxy;
- class Worker;
- class WorkerAgent;
- class WorkerDebugConsoleClient;
- class WorkerEnvironmentSettingsObject;
- class WorkerGlobalScope;
- class WorkerLocation;
- class WorkerNavigator;
- enum class AllowMultipleFiles;
- enum class MediaSeekMode;
- enum class SandboxingFlagSet;
- struct CrossOriginOpenerPolicy;
- struct CrossOriginOpenerPolicyEnforcementResult;
- struct Environment;
- struct EnvironmentSettingsObject;
- struct NavigationParams;
- struct PolicyContainer;
- struct POSTResource;
- struct ScrollOptions;
- struct ScrollToOptions;
- struct SerializedFormData;
- struct SessionHistoryEntry;
- struct ToggleTaskTracker;
- }
- namespace Web::HighResolutionTime {
- class Performance;
- }
- namespace Web::Internals {
- class Inspector;
- class Internals;
- }
- namespace Web::IntersectionObserver {
- class IntersectionObserver;
- class IntersectionObserverEntry;
- struct IntersectionObserverRegistration;
- }
- namespace Web::Layout {
- class AudioBox;
- class BlockContainer;
- class BlockFormattingContext;
- class Box;
- class ButtonBox;
- class CheckBox;
- class FlexFormattingContext;
- class FormattingContext;
- class ImageBox;
- class InlineFormattingContext;
- class Label;
- class LabelableNode;
- class LineBox;
- class LineBoxFragment;
- class ListItemBox;
- class ListItemMarkerBox;
- class Node;
- class NodeWithStyle;
- class NodeWithStyleAndBoxModelMetrics;
- class RadioButton;
- class ReplacedBox;
- class TableWrapper;
- class TextNode;
- class TreeBuilder;
- class VideoBox;
- class Viewport;
- enum class LayoutMode;
- struct LayoutState;
- }
- namespace Web::MathML {
- class MathMLElement;
- }
- namespace Web::MimeSniff {
- class MimeType;
- }
- namespace Web::NavigationTiming {
- class PerformanceTiming;
- }
- namespace Web::Painting {
- class AudioPaintable;
- class ButtonPaintable;
- class CheckBoxPaintable;
- class LabelablePaintable;
- class MediaPaintable;
- class Paintable;
- class PaintableBox;
- class PaintableWithLines;
- class StackingContext;
- class TextPaintable;
- class VideoPaintable;
- class ViewportPaintable;
- enum class PaintPhase;
- struct BorderRadiiData;
- struct BorderRadiusData;
- struct LinearGradientData;
- }
- namespace Web::PerformanceTimeline {
- class PerformanceEntry;
- class PerformanceObserver;
- class PerformanceObserverEntryList;
- struct PerformanceObserverInit;
- }
- namespace Web::PermissionsPolicy {
- class AutoplayAllowlist;
- }
- namespace Web::Platform {
- class AudioCodecPlugin;
- class Timer;
- }
- namespace Web::ReferrerPolicy {
- enum class ReferrerPolicy;
- }
- namespace Web::RequestIdleCallback {
- class IdleDeadline;
- }
- namespace Web::ResizeObserver {
- class ResizeObserver;
- }
- namespace Web::Selection {
- class Selection;
- }
- namespace Web::Streams {
- class ByteLengthQueuingStrategy;
- class CountQueuingStrategy;
- class ReadableByteStreamController;
- class ReadableStream;
- class ReadableStreamBYOBReader;
- class ReadableStreamBYOBRequest;
- class ReadableStreamDefaultController;
- class ReadableStreamDefaultReader;
- class ReadableStreamGenericReaderMixin;
- class ReadIntoRequest;
- class ReadRequest;
- class TransformStream;
- class TransformStreamDefaultController;
- class WritableStream;
- class WritableStreamDefaultController;
- class WritableStreamDefaultWriter;
- struct PullIntoDescriptor;
- struct QueuingStrategy;
- struct QueuingStrategyInit;
- struct ReadableStreamGetReaderOptions;
- struct Transformer;
- struct UnderlyingSink;
- struct UnderlyingSource;
- }
- namespace Web::SVG {
- class SVGAnimatedLength;
- class SVGAnimatedRect;
- class SVGCircleElement;
- class SVGClipPathElement;
- class SVGDefsElement;
- class SVGElement;
- class SVGEllipseElement;
- class SVGForeignObjectElement;
- class SVGGeometryElement;
- class SVGGraphicsElement;
- class SVGLength;
- class SVGLineElement;
- class SVGMaskElement;
- class SVGPathElement;
- class SVGPolygonElement;
- class SVGPolylineElement;
- class SVGRectElement;
- class SVGScriptElement;
- class SVGSVGElement;
- class SVGTitleElement;
- }
- namespace Web::UIEvents {
- class KeyboardEvent;
- class MouseEvent;
- class UIEvents;
- }
- namespace Web::DOMURL {
- class DOMURL;
- class URLSearchParams;
- class URLSearchParamsIterator;
- }
- namespace Web::UserTiming {
- class PerformanceMark;
- class PerformanceMeasure;
- }
- namespace Web::WebAssembly {
- class Instance;
- class Memory;
- class Module;
- class Table;
- }
- namespace Web::WebAudio {
- class AudioContext;
- class BaseAudioContext;
- enum class AudioContextState;
- struct AudioContextOptions;
- }
- namespace Web::WebGL {
- class WebGLContextEvent;
- class WebGLRenderingContext;
- class WebGLRenderingContextBase;
- }
- namespace Web::WebIDL {
- class ArrayBufferView;
- class BufferSource;
- class CallbackType;
- class DOMException;
- template<typename ValueType>
- class ExceptionOr;
- using Promise = JS::PromiseCapability;
- }
- namespace Web::WebSockets {
- class WebSocket;
- }
- namespace Web::XHR {
- class FormData;
- class FormDataIterator;
- class ProgressEvent;
- class XMLHttpRequest;
- class XMLHttpRequestEventTarget;
- class XMLHttpRequestUpload;
- struct FormDataEntry;
- }
|