2020-03-07 10:27:02 +01:00
|
|
|
/*
|
2024-10-20 10:37:44 +02:00
|
|
|
* Copyright (c) 2020-2024, Andreas Kling <andreas@ladybird.org>
|
2023-08-20 14:39:57 +12:00
|
|
|
* Copyright (c) 2021-2023, the SerenityOS developers.
|
2020-03-07 10:27:02 +01:00
|
|
|
*
|
2021-04-22 01:24:48 -07:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-03-07 10:27:02 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2024-10-20 10:37:44 +02:00
|
|
|
#include <AK/DistinctNumeric.h>
|
2024-06-13 15:22:46 +03:00
|
|
|
#include <AK/Variant.h>
|
2024-10-20 10:37:44 +02:00
|
|
|
#include <LibIPC/Forward.h>
|
2023-05-08 07:39:05 +02:00
|
|
|
#include <LibJS/Forward.h>
|
2023-01-09 17:49:06 -05:00
|
|
|
|
2022-03-28 16:25:17 +04:30
|
|
|
namespace Web {
|
LibWeb: Separate text control input events handling from contenteditable
This input event handling change is intended to address the following
design issues:
- Having `DOM::Position` is unnecessary complexity when `Selection`
exists because caret position could be described by the selection
object with a collapsed state. Before this change, we had to
synchronize those whenever one of them was modified, and there were
already bugs caused by that, i.e., caret position was not changed when
selection offset was modified from the JS side.
- Selection API exposes selection offset within `<textarea>` and
`<input>`, which is not supposed to happen. These objects should
manage their selection state by themselves and have selection offset
even when they are not displayed.
- `EventHandler` looks only at `DOM::Text` owned by `DOM::Position`
while doing text manipulations. It works fine for `<input>` and
`<textarea>`, but `contenteditable` needs to consider all text
descendant text nodes; i.e., if the cursor is moved outside of
`DOM::Text`, we need to look for an adjacent text node to move the
cursor there.
With this change, `EventHandler` no longer does direct manipulations on
caret position or text content, but instead delegates them to the active
`InputEventsTarget`, which could be either
`FormAssociatedTextControlElement` (for `<input>` and `<textarea>`) or
`EditingHostManager` (for `contenteditable`). The `Selection` object is
used to manage both selection and caret position for `contenteditable`,
and text control elements manage their own selection state that is not
exposed by Selection API.
This change improves text editing on Discord, as now we don't have to
refocus the `contenteditable` element after character input. The problem
was that selection manipulations from the JS side were not propagated
to `DOM::Position`.
I expect this change to make future correctness improvements for
`contenteditable` (and `designMode`) easier, as now it's decoupled from
`<input>` and `<textarea>` and separated from `EventHandler`, which is
quite a busy file.
2024-10-23 21:26:58 +02:00
|
|
|
class InputEventsTarget;
|
2024-08-17 13:29:55 -04:00
|
|
|
class DragAndDropEventHandler;
|
2023-04-17 11:04:07 -04:00
|
|
|
class EventHandler;
|
|
|
|
class LoadRequest;
|
|
|
|
class Page;
|
|
|
|
class PageClient;
|
|
|
|
class PaintContext;
|
|
|
|
class Resource;
|
|
|
|
class ResourceLoader;
|
2022-03-28 16:25:17 +04:30
|
|
|
class XMLDocumentBuilder;
|
2024-10-17 08:45:20 -04:00
|
|
|
|
|
|
|
enum class InvalidateDisplayList;
|
|
|
|
enum class TraversalDecision;
|
2024-10-20 10:37:44 +02:00
|
|
|
|
|
|
|
AK_TYPEDEF_DISTINCT_NUMERIC_GENERAL(i64, UniqueNodeID, Comparison, Increment, CastToUnderlying);
|
2022-03-28 16:25:17 +04:30
|
|
|
}
|
|
|
|
|
2023-10-15 04:27:48 +02:00
|
|
|
namespace Web::Painting {
|
2024-06-25 16:43:39 +02:00
|
|
|
class BackingStore;
|
2024-07-24 22:03:19 +03:00
|
|
|
class DisplayList;
|
2024-06-23 18:40:10 +02:00
|
|
|
class DisplayListRecorder;
|
2024-06-13 15:22:46 +03:00
|
|
|
class SVGGradientPaintStyle;
|
|
|
|
using PaintStyle = RefPtr<SVGGradientPaintStyle>;
|
2023-10-15 04:27:48 +02:00
|
|
|
}
|
|
|
|
|
2023-11-04 08:16:37 -07:00
|
|
|
namespace Web::Animations {
|
2023-11-05 10:20:10 -07:00
|
|
|
class Animatable;
|
2023-11-06 15:17:19 +00:00
|
|
|
class Animation;
|
2023-11-06 15:17:15 +00:00
|
|
|
class AnimationEffect;
|
2023-11-04 12:20:39 -07:00
|
|
|
class AnimationPlaybackEvent;
|
2023-11-04 08:16:37 -07:00
|
|
|
class AnimationTimeline;
|
2023-11-04 08:32:30 -07:00
|
|
|
class DocumentTimeline;
|
2023-11-04 13:09:57 -07:00
|
|
|
class KeyframeEffect;
|
2023-11-04 08:16:37 -07:00
|
|
|
}
|
|
|
|
|
2023-02-25 15:50:34 -06:00
|
|
|
namespace Web::ARIA {
|
|
|
|
class AriaData;
|
|
|
|
class ARIAMixin;
|
2024-10-17 08:45:20 -04:00
|
|
|
|
2023-02-25 15:50:34 -06:00
|
|
|
enum class StateAndProperties;
|
|
|
|
}
|
|
|
|
|
2023-04-17 11:04:07 -04:00
|
|
|
namespace Web::Bindings {
|
|
|
|
class Intrinsics;
|
|
|
|
class OptionConstructor;
|
|
|
|
|
2023-06-27 13:34:51 -04:00
|
|
|
enum class AudioContextLatencyCategory;
|
2023-04-17 11:04:07 -04:00
|
|
|
enum class CanPlayTypeResult;
|
|
|
|
enum class CanvasFillRule;
|
2023-08-03 12:18:17 +02:00
|
|
|
enum class CanvasTextAlign;
|
|
|
|
enum class CanvasTextBaseline;
|
2023-04-17 11:04:07 -04:00
|
|
|
enum class DOMParserSupportedType;
|
|
|
|
enum class EndingType;
|
|
|
|
enum class ImageSmoothingQuality;
|
2023-06-29 20:53:19 +12:00
|
|
|
enum class ReadableStreamReaderMode;
|
2023-04-17 11:04:07 -04:00
|
|
|
enum class ReferrerPolicy;
|
|
|
|
enum class RequestCache;
|
|
|
|
enum class RequestCredentials;
|
|
|
|
enum class RequestDestination;
|
|
|
|
enum class RequestDuplex;
|
|
|
|
enum class RequestMode;
|
2024-05-04 00:17:24 +01:00
|
|
|
enum class RequestPriority;
|
2023-04-17 11:04:07 -04:00
|
|
|
enum class RequestRedirect;
|
|
|
|
enum class ResizeObserverBoxOptions;
|
|
|
|
enum class ResponseType;
|
2024-06-09 10:32:20 +01:00
|
|
|
enum class TextTrackKind;
|
2023-04-17 11:04:07 -04:00
|
|
|
enum class XMLHttpRequestResponseType;
|
|
|
|
}
|
|
|
|
|
2023-11-10 13:29:20 -05:00
|
|
|
namespace Web::Clipboard {
|
|
|
|
class Clipboard;
|
|
|
|
}
|
|
|
|
|
2021-04-13 16:47:05 -04:00
|
|
|
namespace Web::Cookie {
|
2021-04-13 17:01:20 -04:00
|
|
|
struct Cookie;
|
2021-04-13 16:47:05 -04:00
|
|
|
struct ParsedCookie;
|
2023-04-17 11:04:07 -04:00
|
|
|
|
2021-04-13 17:30:41 -04:00
|
|
|
enum class Source;
|
2021-04-13 16:47:05 -04:00
|
|
|
}
|
|
|
|
|
2021-09-30 20:02:55 +03:00
|
|
|
namespace Web::Crypto {
|
|
|
|
class Crypto;
|
2021-12-13 20:48:27 +00:00
|
|
|
class SubtleCrypto;
|
2021-09-30 20:02:55 +03:00
|
|
|
}
|
|
|
|
|
2020-07-26 20:01:35 +02:00
|
|
|
namespace Web::CSS {
|
2022-07-31 01:11:59 +01:00
|
|
|
class AbstractImageStyleValue;
|
2022-02-21 17:43:30 +00:00
|
|
|
class Angle;
|
2023-03-30 16:57:49 +01:00
|
|
|
class AngleOrCalculated;
|
2023-04-17 11:04:07 -04:00
|
|
|
class AnglePercentage;
|
2022-02-21 17:43:30 +00:00
|
|
|
class AngleStyleValue;
|
2021-10-15 07:06:30 -04:00
|
|
|
class BackgroundRepeatStyleValue;
|
2021-11-05 12:18:23 +00:00
|
|
|
class BackgroundSizeStyleValue;
|
2024-05-25 23:06:47 +01:00
|
|
|
class BasicShapeStyleValue;
|
2023-04-17 11:04:07 -04:00
|
|
|
class BorderRadiusStyleValue;
|
2024-10-17 08:45:20 -04:00
|
|
|
class Clip;
|
|
|
|
class ConicGradientStyleValue;
|
|
|
|
class ContentStyleValue;
|
|
|
|
class CounterDefinitionsStyleValue;
|
|
|
|
class CounterStyleValue;
|
2023-11-04 13:57:57 -07:00
|
|
|
class CSSAnimation;
|
2024-08-14 16:37:02 +01:00
|
|
|
class CSSColorValue;
|
2022-04-22 14:14:16 +01:00
|
|
|
class CSSConditionRule;
|
2023-04-17 11:04:07 -04:00
|
|
|
class CSSFontFaceRule;
|
2022-04-22 14:13:37 +01:00
|
|
|
class CSSGroupingRule;
|
2024-08-16 16:42:16 +01:00
|
|
|
class CSSHSL;
|
|
|
|
class CSSHWB;
|
2021-02-21 18:36:34 +02:00
|
|
|
class CSSImportRule;
|
2023-05-26 23:30:54 +03:30
|
|
|
class CSSKeyframeRule;
|
|
|
|
class CSSKeyframesRule;
|
2024-08-14 11:46:56 +01:00
|
|
|
class CSSKeywordValue;
|
2024-09-02 16:45:25 +01:00
|
|
|
class CSSLayerBlockRule;
|
|
|
|
class CSSLayerStatementRule;
|
2024-09-18 17:27:47 +01:00
|
|
|
class CSSMathValue;
|
2021-09-29 12:48:04 +01:00
|
|
|
class CSSMediaRule;
|
2024-10-15 15:59:31 +01:00
|
|
|
class CSSNestedDeclarations;
|
2024-08-16 16:42:16 +01:00
|
|
|
class CSSOKLab;
|
|
|
|
class CSSOKLCH;
|
2024-10-17 23:28:09 +01:00
|
|
|
class CSSPropertyRule;
|
2024-08-16 16:42:16 +01:00
|
|
|
class CSSRGB;
|
2021-09-29 12:48:04 +01:00
|
|
|
class CSSRule;
|
2021-10-03 17:22:55 +01:00
|
|
|
class CSSRuleList;
|
2021-03-13 20:11:33 +01:00
|
|
|
class CSSStyleDeclaration;
|
2021-03-07 15:00:02 +01:00
|
|
|
class CSSStyleRule;
|
2021-03-07 16:14:04 +01:00
|
|
|
class CSSStyleSheet;
|
2024-08-14 11:10:54 +01:00
|
|
|
class CSSStyleValue;
|
2021-10-08 17:48:14 +01:00
|
|
|
class CSSSupportsRule;
|
2023-05-25 12:43:52 +01:00
|
|
|
class CustomIdentStyleValue;
|
2021-10-06 17:57:44 +02:00
|
|
|
class Display;
|
2023-04-26 21:05:38 +02:00
|
|
|
class DisplayStyleValue;
|
2023-07-06 02:29:36 +03:30
|
|
|
class EasingStyleValue;
|
2023-04-02 22:56:45 +01:00
|
|
|
class EdgeStyleValue;
|
2021-03-16 18:55:53 +01:00
|
|
|
class ElementInlineCSSStyleDeclaration;
|
2022-10-30 13:27:57 +01:00
|
|
|
class ExplicitGridTrack;
|
2022-09-15 08:31:14 +01:00
|
|
|
class FilterValueListStyleValue;
|
2023-09-28 15:18:14 +01:00
|
|
|
class Flex;
|
2023-12-27 12:56:00 +00:00
|
|
|
class FlexOrCalculated;
|
2023-09-28 15:18:14 +01:00
|
|
|
class FlexStyleValue;
|
2024-05-07 10:05:29 -06:00
|
|
|
class FontFace;
|
2024-05-07 14:49:31 -06:00
|
|
|
class FontFaceSet;
|
2022-02-21 17:49:47 +00:00
|
|
|
class Frequency;
|
2023-03-30 16:57:49 +01:00
|
|
|
class FrequencyOrCalculated;
|
2023-04-17 11:04:07 -04:00
|
|
|
class FrequencyPercentage;
|
2022-02-21 17:49:47 +00:00
|
|
|
class FrequencyStyleValue;
|
2023-08-17 20:25:18 +02:00
|
|
|
class GridAutoFlowStyleValue;
|
2024-07-22 22:49:52 +02:00
|
|
|
class GridFitContent;
|
2022-10-30 13:27:57 +01:00
|
|
|
class GridMinMax;
|
|
|
|
class GridRepeat;
|
|
|
|
class GridSize;
|
2023-01-16 18:17:05 +01:00
|
|
|
class GridTemplateAreaStyleValue;
|
2022-08-24 12:21:58 +02:00
|
|
|
class GridTrackPlacement;
|
2022-08-24 12:31:00 +02:00
|
|
|
class GridTrackPlacementStyleValue;
|
2022-10-30 13:27:57 +01:00
|
|
|
class GridTrackSizeList;
|
2023-04-29 17:59:07 +02:00
|
|
|
class GridTrackSizeListStyleValue;
|
2021-09-23 19:54:19 +01:00
|
|
|
class ImageStyleValue;
|
2023-12-27 12:56:00 +00:00
|
|
|
class IntegerOrCalculated;
|
2023-06-01 17:01:09 +01:00
|
|
|
class IntegerStyleValue;
|
2021-10-15 07:06:30 -04:00
|
|
|
class Length;
|
2022-09-13 17:42:39 +02:00
|
|
|
class LengthBox;
|
2023-03-30 16:57:49 +01:00
|
|
|
class LengthOrCalculated;
|
2023-04-17 11:04:07 -04:00
|
|
|
class LengthPercentage;
|
2021-09-23 19:54:19 +01:00
|
|
|
class LengthStyleValue;
|
2022-07-12 00:09:29 +01:00
|
|
|
class LinearGradientStyleValue;
|
2023-09-07 15:29:54 +01:00
|
|
|
class MathDepthStyleValue;
|
2022-08-28 13:42:07 +02:00
|
|
|
class MediaFeatureValue;
|
2021-10-15 07:06:30 -04:00
|
|
|
class MediaList;
|
|
|
|
class MediaQuery;
|
|
|
|
class MediaQueryList;
|
|
|
|
class MediaQueryListEvent;
|
2022-03-21 20:54:45 +00:00
|
|
|
class Number;
|
2023-12-27 12:56:00 +00:00
|
|
|
class NumberOrCalculated;
|
2023-06-01 16:16:15 +01:00
|
|
|
class NumberStyleValue;
|
2024-09-30 17:05:52 +01:00
|
|
|
class OpenTypeTaggedStyleValue;
|
2024-05-07 09:18:37 -06:00
|
|
|
class ParsedFontFace;
|
2022-01-14 12:23:54 +00:00
|
|
|
class Percentage;
|
2023-03-30 16:57:49 +01:00
|
|
|
class PercentageOrCalculated;
|
2022-01-14 17:09:02 +00:00
|
|
|
class PercentageStyleValue;
|
2021-10-31 16:02:29 +00:00
|
|
|
class PositionStyleValue;
|
2021-10-15 07:06:30 -04:00
|
|
|
class PropertyOwningCSSStyleDeclaration;
|
2022-11-11 18:13:00 +01:00
|
|
|
class RadialGradientStyleValue;
|
2023-06-06 15:42:43 +01:00
|
|
|
class Ratio;
|
|
|
|
class RatioStyleValue;
|
2022-07-31 18:46:35 +02:00
|
|
|
class RectStyleValue;
|
2022-02-21 17:51:01 +00:00
|
|
|
class Resolution;
|
2023-12-30 17:05:23 +00:00
|
|
|
class ResolutionOrCalculated;
|
2022-02-21 17:51:01 +00:00
|
|
|
class ResolutionStyleValue;
|
2024-10-16 08:50:35 +02:00
|
|
|
class RotationStyleValue;
|
2021-10-15 07:06:30 -04:00
|
|
|
class Screen;
|
2024-04-02 22:44:05 +02:00
|
|
|
class ScreenOrientation;
|
2024-06-26 23:19:38 +01:00
|
|
|
class ScrollbarGutterStyleValue;
|
2021-10-15 07:06:30 -04:00
|
|
|
class Selector;
|
2022-03-23 16:55:22 +00:00
|
|
|
class ShadowStyleValue;
|
2023-09-19 12:21:15 +01:00
|
|
|
class ShorthandStyleValue;
|
2022-09-25 15:13:09 +02:00
|
|
|
class Size;
|
2021-09-23 19:54:19 +01:00
|
|
|
class StringStyleValue;
|
2021-10-15 07:06:30 -04:00
|
|
|
class StyleComputer;
|
|
|
|
class StyleProperties;
|
|
|
|
class StyleSheet;
|
2022-03-09 19:57:15 +01:00
|
|
|
class StyleSheetList;
|
2021-10-15 07:06:30 -04:00
|
|
|
class StyleValueList;
|
|
|
|
class Supports;
|
2023-06-06 20:40:10 +01:00
|
|
|
class SVGPaint;
|
2022-02-21 19:29:43 +00:00
|
|
|
class Time;
|
2023-03-30 16:57:49 +01:00
|
|
|
class TimeOrCalculated;
|
2023-04-17 11:04:07 -04:00
|
|
|
class TimePercentage;
|
2022-02-21 19:29:43 +00:00
|
|
|
class TimeStyleValue;
|
2023-10-13 17:25:23 +01:00
|
|
|
class Transformation;
|
2021-09-23 19:54:19 +01:00
|
|
|
class TransformationStyleValue;
|
2024-02-19 19:01:34 -07:00
|
|
|
class TransitionStyleValue;
|
2021-12-03 12:28:14 +00:00
|
|
|
class UnresolvedStyleValue;
|
2024-10-17 08:45:20 -04:00
|
|
|
class URLStyleValue;
|
2023-06-17 16:40:35 +02:00
|
|
|
class VisualViewport;
|
2022-04-12 11:32:18 +01:00
|
|
|
|
2024-08-14 14:06:03 +01:00
|
|
|
enum class Keyword;
|
2022-04-12 11:32:18 +01:00
|
|
|
enum class MediaFeatureID;
|
|
|
|
enum class PropertyID;
|
2023-05-08 07:51:03 +02:00
|
|
|
|
|
|
|
struct BackgroundLayerData;
|
2024-10-17 08:45:20 -04:00
|
|
|
struct CSSStyleSheetInit;
|
|
|
|
struct StyleSheetIdentifier;
|
2020-07-26 20:01:35 +02:00
|
|
|
}
|
|
|
|
|
2022-04-12 12:00:07 +01:00
|
|
|
namespace Web::CSS::Parser {
|
2022-04-12 12:13:10 +01:00
|
|
|
class ComponentValue;
|
2024-10-17 08:45:20 -04:00
|
|
|
class Parser;
|
|
|
|
class Token;
|
|
|
|
class Tokenizer;
|
|
|
|
|
|
|
|
struct AtRule;
|
2024-10-11 11:17:10 +01:00
|
|
|
struct Declaration;
|
|
|
|
struct Function;
|
|
|
|
struct QualifiedRule;
|
|
|
|
struct SimpleBlock;
|
2022-04-12 12:00:07 +01:00
|
|
|
}
|
|
|
|
|
2020-07-26 19:37:56 +02:00
|
|
|
namespace Web::DOM {
|
2021-09-02 02:12:49 +01:00
|
|
|
class AbortController;
|
|
|
|
class AbortSignal;
|
2023-04-17 11:04:07 -04:00
|
|
|
class AbstractRange;
|
2022-12-11 12:38:27 -06:00
|
|
|
class AccessibilityTreeNode;
|
2022-09-18 01:03:58 +02:00
|
|
|
class Attr;
|
2024-10-02 23:54:48 +01:00
|
|
|
class BeforeUnloadEvent;
|
2022-06-27 21:20:59 +01:00
|
|
|
class CDATASection;
|
2020-08-17 19:14:30 +01:00
|
|
|
class CharacterData;
|
|
|
|
class Comment;
|
2021-09-27 16:10:56 +01:00
|
|
|
class CustomEvent;
|
2020-03-07 10:27:02 +01:00
|
|
|
class Document;
|
2020-08-17 19:14:30 +01:00
|
|
|
class DocumentFragment;
|
2021-09-26 01:03:42 +02:00
|
|
|
class DocumentLoadEventDelayer;
|
2023-05-04 08:48:53 -04:00
|
|
|
class DocumentObserver;
|
2020-07-18 21:17:17 +01:00
|
|
|
class DocumentType;
|
2022-02-16 20:43:24 +01:00
|
|
|
class DOMEventListener;
|
2020-11-13 06:08:06 +00:00
|
|
|
class DOMImplementation;
|
2021-10-18 11:53:40 -04:00
|
|
|
class DOMTokenList;
|
2020-03-07 10:27:02 +01:00
|
|
|
class Element;
|
2020-03-21 18:17:18 +01:00
|
|
|
class Event;
|
2020-06-07 14:40:38 +02:00
|
|
|
class EventHandler;
|
LibWeb: Separate text control input events handling from contenteditable
This input event handling change is intended to address the following
design issues:
- Having `DOM::Position` is unnecessary complexity when `Selection`
exists because caret position could be described by the selection
object with a collapsed state. Before this change, we had to
synchronize those whenever one of them was modified, and there were
already bugs caused by that, i.e., caret position was not changed when
selection offset was modified from the JS side.
- Selection API exposes selection offset within `<textarea>` and
`<input>`, which is not supposed to happen. These objects should
manage their selection state by themselves and have selection offset
even when they are not displayed.
- `EventHandler` looks only at `DOM::Text` owned by `DOM::Position`
while doing text manipulations. It works fine for `<input>` and
`<textarea>`, but `contenteditable` needs to consider all text
descendant text nodes; i.e., if the cursor is moved outside of
`DOM::Text`, we need to look for an adjacent text node to move the
cursor there.
With this change, `EventHandler` no longer does direct manipulations on
caret position or text content, but instead delegates them to the active
`InputEventsTarget`, which could be either
`FormAssociatedTextControlElement` (for `<input>` and `<textarea>`) or
`EditingHostManager` (for `contenteditable`). The `Selection` object is
used to manage both selection and caret position for `contenteditable`,
and text control elements manage their own selection state that is not
exposed by Selection API.
This change improves text editing on Discord, as now we don't have to
refocus the `contenteditable` element after character input. The problem
was that selection manipulations from the JS side were not propagated
to `DOM::Position`.
I expect this change to make future correctness improvements for
`contenteditable` (and `designMode`) easier, as now it's decoupled from
`<input>` and `<textarea>` and separated from `EventHandler`, which is
quite a busy file.
2024-10-23 21:26:58 +02:00
|
|
|
class EditingHostManager;
|
2020-03-18 15:22:31 +01:00
|
|
|
class EventTarget;
|
2021-04-22 21:11:20 +02:00
|
|
|
class HTMLCollection;
|
2023-08-20 14:41:51 +12:00
|
|
|
class HTMLFormControlsCollection;
|
2022-02-16 20:43:24 +01:00
|
|
|
class IDLEventListener;
|
2021-10-02 20:33:45 +01:00
|
|
|
class LiveNodeList;
|
2022-07-11 16:37:51 +01:00
|
|
|
class MutationObserver;
|
|
|
|
class MutationRecord;
|
2021-10-16 15:30:21 -04:00
|
|
|
class NamedNodeMap;
|
2020-07-26 19:37:56 +02:00
|
|
|
class Node;
|
2022-03-09 14:34:32 +01:00
|
|
|
class NodeFilter;
|
|
|
|
class NodeIterator;
|
2021-10-02 20:33:45 +01:00
|
|
|
class NodeList;
|
2020-07-26 19:37:56 +02:00
|
|
|
class ParentNode;
|
2020-08-02 11:47:27 +02:00
|
|
|
class Position;
|
2021-04-06 17:06:23 +01:00
|
|
|
class ProcessingInstruction;
|
2023-08-20 14:39:57 +12:00
|
|
|
class RadioNodeList;
|
2024-10-17 08:45:20 -04:00
|
|
|
class Range;
|
2022-09-01 17:59:48 +02:00
|
|
|
class RegisteredObserver;
|
2021-02-10 18:20:49 +01:00
|
|
|
class ShadowRoot;
|
2021-10-02 20:33:45 +01:00
|
|
|
class StaticNodeList;
|
2022-01-30 23:37:42 +00:00
|
|
|
class StaticRange;
|
2020-07-26 19:37:56 +02:00
|
|
|
class Text;
|
2022-03-09 14:37:48 +01:00
|
|
|
class TreeWalker;
|
2023-04-05 23:00:08 +01:00
|
|
|
class XMLDocument;
|
2023-04-17 11:04:07 -04:00
|
|
|
|
2020-07-26 19:37:56 +02:00
|
|
|
enum class QuirksMode;
|
2023-04-17 11:04:07 -04:00
|
|
|
|
2022-02-19 22:02:32 +00:00
|
|
|
struct AddEventListenerOptions;
|
2023-04-17 11:04:07 -04:00
|
|
|
struct EventListenerOptions;
|
2020-07-26 19:37:56 +02:00
|
|
|
}
|
|
|
|
|
2022-07-05 18:59:45 +01:00
|
|
|
namespace Web::DOMParsing {
|
|
|
|
class XMLSerializer;
|
|
|
|
}
|
|
|
|
|
2021-12-12 18:03:22 +00:00
|
|
|
namespace Web::Encoding {
|
2023-10-06 07:02:56 +02:00
|
|
|
class TextDecoder;
|
2021-12-12 18:03:22 +00:00
|
|
|
class TextEncoder;
|
2024-10-17 08:45:20 -04:00
|
|
|
|
|
|
|
struct TextDecodeOptions;
|
|
|
|
struct TextDecoderOptions;
|
2023-10-06 07:03:44 +02:00
|
|
|
struct TextEncoderEncodeIntoResult;
|
2021-12-12 18:03:22 +00:00
|
|
|
}
|
|
|
|
|
2024-08-23 19:41:19 +01:00
|
|
|
namespace Web::EntriesAPI {
|
|
|
|
class FileSystemEntry;
|
|
|
|
}
|
|
|
|
|
2024-09-22 15:12:55 -04:00
|
|
|
namespace Web::EventTiming {
|
|
|
|
class PerformanceEventTiming;
|
|
|
|
}
|
|
|
|
|
2022-07-19 00:19:24 +01:00
|
|
|
namespace Web::Fetch {
|
2022-09-25 19:30:24 +01:00
|
|
|
class BodyMixin;
|
2022-07-19 00:19:24 +01:00
|
|
|
class Headers;
|
|
|
|
class HeadersIterator;
|
2022-09-25 19:33:13 +01:00
|
|
|
class Request;
|
2022-09-25 19:36:30 +01:00
|
|
|
class Response;
|
2022-07-19 00:19:24 +01:00
|
|
|
}
|
|
|
|
|
2022-10-23 22:16:14 +01:00
|
|
|
namespace Web::Fetch::Fetching {
|
|
|
|
class PendingResponse;
|
|
|
|
class RefCountedFlag;
|
|
|
|
}
|
|
|
|
|
2022-07-17 23:52:02 +01:00
|
|
|
namespace Web::Fetch::Infrastructure {
|
2022-07-12 18:04:24 +01:00
|
|
|
class Body;
|
2022-10-13 19:19:32 +02:00
|
|
|
class ConnectionTimingInfo;
|
2022-10-13 19:23:43 +02:00
|
|
|
class FetchAlgorithms;
|
2022-10-13 19:21:50 +02:00
|
|
|
class FetchController;
|
2022-10-13 19:24:23 +02:00
|
|
|
class FetchParams;
|
2024-07-16 19:19:57 +01:00
|
|
|
class FetchRecord;
|
2024-10-17 08:45:20 -04:00
|
|
|
class FetchTimingInfo;
|
2022-07-11 21:42:14 +01:00
|
|
|
class HeaderList;
|
2024-05-17 22:06:27 +02:00
|
|
|
class IncrementalReadLoopReadRequest;
|
2022-07-14 00:51:42 +01:00
|
|
|
class Request;
|
2022-07-16 17:55:29 +01:00
|
|
|
class Response;
|
2023-04-17 11:04:07 -04:00
|
|
|
|
|
|
|
struct BodyWithType;
|
|
|
|
struct Header;
|
2022-07-11 21:42:14 +01:00
|
|
|
}
|
|
|
|
|
2022-07-10 18:31:17 +02:00
|
|
|
namespace Web::FileAPI {
|
|
|
|
class Blob;
|
2022-07-24 21:32:18 +02:00
|
|
|
class File;
|
2024-08-17 14:26:55 -04:00
|
|
|
class FileList;
|
2022-07-10 18:31:17 +02:00
|
|
|
}
|
|
|
|
|
2021-09-27 00:55:13 +02:00
|
|
|
namespace Web::Geometry {
|
2023-02-27 18:04:51 +00:00
|
|
|
class DOMMatrix;
|
|
|
|
class DOMMatrixReadOnly;
|
2022-07-12 20:06:50 +02:00
|
|
|
class DOMPoint;
|
|
|
|
class DOMPointReadOnly;
|
2023-08-20 22:03:41 +02:00
|
|
|
class DOMQuad;
|
2021-09-27 00:55:13 +02:00
|
|
|
class DOMRect;
|
2022-02-12 16:38:54 +03:00
|
|
|
class DOMRectList;
|
2021-10-08 22:59:15 +02:00
|
|
|
class DOMRectReadOnly;
|
2024-10-17 08:45:20 -04:00
|
|
|
|
|
|
|
struct DOMMatrix2DInit;
|
|
|
|
struct DOMMatrixInit;
|
|
|
|
struct DOMPointInit;
|
2021-09-27 00:55:13 +02:00
|
|
|
}
|
|
|
|
|
2020-07-28 18:20:36 +02:00
|
|
|
namespace Web::HTML {
|
2024-10-30 20:13:31 -04:00
|
|
|
class AnimationFrameCallbackDriver;
|
2023-06-12 13:52:30 -04:00
|
|
|
class AudioTrack;
|
|
|
|
class AudioTrackList;
|
2024-07-13 14:51:28 +01:00
|
|
|
class BroadcastChannel;
|
2021-11-18 15:01:28 +01:00
|
|
|
class BrowsingContext;
|
2022-09-19 12:28:46 +02:00
|
|
|
class BrowsingContextGroup;
|
2020-07-26 19:37:56 +02:00
|
|
|
class CanvasRenderingContext2D;
|
2021-10-14 16:12:53 +01:00
|
|
|
class ClassicScript;
|
2021-04-24 13:54:24 +02:00
|
|
|
class CloseEvent;
|
2024-06-21 22:53:05 +01:00
|
|
|
class CloseWatcher;
|
|
|
|
class CloseWatcherManager;
|
2023-03-29 23:46:18 +01:00
|
|
|
class CustomElementDefinition;
|
|
|
|
class CustomElementRegistry;
|
2024-08-16 13:40:56 -04:00
|
|
|
class DataTransfer;
|
2024-08-15 12:18:56 -04:00
|
|
|
class DataTransferItem;
|
2024-08-15 12:20:22 -04:00
|
|
|
class DataTransferItemList;
|
2023-05-10 19:36:43 +02:00
|
|
|
class DecodedImageData;
|
2022-12-12 20:55:34 +01:00
|
|
|
class DocumentState;
|
2021-07-05 05:20:31 +01:00
|
|
|
class DOMParser;
|
2024-07-14 12:31:50 +01:00
|
|
|
class DOMStringList;
|
2021-09-26 15:24:41 +01:00
|
|
|
class DOMStringMap;
|
2024-08-16 13:31:42 -04:00
|
|
|
class DragDataStore;
|
2024-07-08 18:33:12 +02:00
|
|
|
class DragEvent;
|
2024-06-24 21:54:42 +01:00
|
|
|
class ElementInternals;
|
2021-10-14 16:53:39 +01:00
|
|
|
class ErrorEvent;
|
2022-08-08 14:12:01 +02:00
|
|
|
class EventHandler;
|
2021-09-09 00:38:43 +02:00
|
|
|
class EventLoop;
|
2024-04-05 13:33:41 -04:00
|
|
|
class EventSource;
|
2024-02-03 09:37:22 -05:00
|
|
|
class FormAssociatedElement;
|
2023-02-03 21:50:10 +01:00
|
|
|
class FormDataEvent;
|
2023-03-05 20:21:35 +00:00
|
|
|
class History;
|
2024-04-01 08:44:24 +02:00
|
|
|
class HTMLAllCollection;
|
2020-07-26 19:37:56 +02:00
|
|
|
class HTMLAnchorElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLAreaElement;
|
|
|
|
class HTMLAudioElement;
|
|
|
|
class HTMLBaseElement;
|
2020-04-01 18:53:28 +02:00
|
|
|
class HTMLBodyElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLBRElement;
|
|
|
|
class HTMLButtonElement;
|
2020-03-19 19:07:56 +01:00
|
|
|
class HTMLCanvasElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLDataElement;
|
|
|
|
class HTMLDataListElement;
|
|
|
|
class HTMLDetailsElement;
|
|
|
|
class HTMLDialogElement;
|
2020-11-12 04:16:41 +00:00
|
|
|
class HTMLDirectoryElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLDivElement;
|
|
|
|
class HTMLDListElement;
|
2020-03-29 22:24:23 +02:00
|
|
|
class HTMLElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLEmbedElement;
|
|
|
|
class HTMLFieldSetElement;
|
|
|
|
class HTMLFontElement;
|
2020-05-24 00:12:27 +02:00
|
|
|
class HTMLFormElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLFrameElement;
|
|
|
|
class HTMLFrameSetElement;
|
2020-04-01 18:53:28 +02:00
|
|
|
class HTMLHeadElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLHeadingElement;
|
|
|
|
class HTMLHRElement;
|
2020-04-01 18:53:28 +02:00
|
|
|
class HTMLHtmlElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLIFrameElement;
|
2020-04-14 20:37:01 +02:00
|
|
|
class HTMLImageElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
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;
|
2022-03-16 12:58:28 +01:00
|
|
|
class HTMLOptionsCollection;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLOutputElement;
|
|
|
|
class HTMLParagraphElement;
|
|
|
|
class HTMLParamElement;
|
2021-10-15 07:06:30 -04:00
|
|
|
class HTMLParser;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLPictureElement;
|
|
|
|
class HTMLPreElement;
|
|
|
|
class HTMLProgressElement;
|
|
|
|
class HTMLQuoteElement;
|
2020-05-24 22:00:10 +02:00
|
|
|
class HTMLScriptElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
class HTMLSelectElement;
|
|
|
|
class HTMLSlotElement;
|
|
|
|
class HTMLSourceElement;
|
|
|
|
class HTMLSpanElement;
|
|
|
|
class HTMLStyleElement;
|
2023-06-02 21:08:14 +02:00
|
|
|
class HTMLSummaryElement;
|
2020-08-09 17:10:41 +01:00
|
|
|
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;
|
2024-04-04 21:48:58 -04:00
|
|
|
class ImageBitmap;
|
2020-04-21 23:49:51 +02:00
|
|
|
class ImageData;
|
2023-05-10 19:36:43 +02:00
|
|
|
class ImageRequest;
|
2023-05-11 06:12:45 +02:00
|
|
|
class ListOfAvailableImages;
|
2023-01-18 17:41:12 +00:00
|
|
|
class Location;
|
2023-04-22 14:39:20 -04:00
|
|
|
class MediaError;
|
2021-09-19 22:12:31 +02:00
|
|
|
class MessageChannel;
|
2021-04-24 13:54:24 +02:00
|
|
|
class MessageEvent;
|
2021-09-19 22:12:31 +02:00
|
|
|
class MessagePort;
|
2023-02-28 00:23:53 +00:00
|
|
|
class MimeType;
|
|
|
|
class MimeTypeArray;
|
2022-12-12 11:46:54 +01:00
|
|
|
class Navigable;
|
2022-12-12 12:20:02 +01:00
|
|
|
class NavigableContainer;
|
2023-08-23 18:40:42 -06:00
|
|
|
class NavigateEvent;
|
2023-08-23 10:57:12 -06:00
|
|
|
class Navigation;
|
2023-08-23 10:53:11 -06:00
|
|
|
class NavigationCurrentEntryChangeEvent;
|
2023-08-23 18:40:42 -06:00
|
|
|
class NavigationDestination;
|
2023-08-23 10:47:05 -06:00
|
|
|
class NavigationHistoryEntry;
|
2024-10-25 10:26:01 -04:00
|
|
|
class NavigationObserver;
|
2023-08-23 15:34:02 -06:00
|
|
|
class NavigationTransition;
|
2022-10-08 20:53:08 -06:00
|
|
|
class Navigator;
|
2021-09-27 17:20:16 +01:00
|
|
|
class PageTransitionEvent;
|
2022-08-11 16:50:23 +01:00
|
|
|
class Path2D;
|
2023-02-28 00:23:53 +00:00
|
|
|
class Plugin;
|
|
|
|
class PluginArray;
|
2021-10-11 12:59:45 +01:00
|
|
|
class PromiseRejectionEvent;
|
2024-02-25 13:02:47 -05:00
|
|
|
class SelectedFile;
|
2024-08-22 17:27:30 +01:00
|
|
|
class ServiceWorkerContainer;
|
2024-08-22 22:59:01 +01:00
|
|
|
class ServiceWorkerRegistration;
|
2024-10-17 08:45:20 -04:00
|
|
|
class SessionHistoryEntry;
|
2024-08-03 15:27:08 +12:00
|
|
|
class SharedResourceRequest;
|
2022-02-08 19:38:29 +01:00
|
|
|
class Storage;
|
2021-09-27 17:20:16 +01:00
|
|
|
class SubmitEvent;
|
2021-12-30 22:15:38 +00:00
|
|
|
class TextMetrics;
|
2024-06-09 10:32:20 +01:00
|
|
|
class TextTrack;
|
2024-09-19 19:41:57 +01:00
|
|
|
class TextTrackCue;
|
2024-09-20 23:06:51 +01:00
|
|
|
class TextTrackCueList;
|
2024-06-09 11:07:41 +01:00
|
|
|
class TextTrackList;
|
2022-03-07 23:54:56 +01:00
|
|
|
class Timer;
|
2023-04-18 16:19:37 -04:00
|
|
|
class TimeRanges;
|
2023-08-31 13:28:49 -04:00
|
|
|
class ToggleEvent;
|
2023-04-04 09:28:59 -04:00
|
|
|
class TrackEvent;
|
2022-12-12 12:01:09 +01:00
|
|
|
class TraversableNavigable;
|
2024-05-25 12:40:44 +01:00
|
|
|
class UserActivation;
|
2024-06-09 15:13:38 +12:00
|
|
|
class ValidityState;
|
2023-04-04 09:26:02 -04:00
|
|
|
class VideoTrack;
|
|
|
|
class VideoTrackList;
|
2022-03-07 23:08:26 +01:00
|
|
|
class Window;
|
2021-10-14 16:12:53 +01:00
|
|
|
class WindowEnvironmentSettingsObject;
|
2022-09-24 16:24:41 +01:00
|
|
|
class WindowProxy;
|
2022-02-17 13:31:09 +01:00
|
|
|
class Worker;
|
2024-01-06 13:13:59 -07:00
|
|
|
class WorkerAgent;
|
2023-04-17 11:04:07 -04:00
|
|
|
class WorkerDebugConsoleClient;
|
2022-02-17 13:31:09 +01:00
|
|
|
class WorkerEnvironmentSettingsObject;
|
2022-02-06 19:12:57 -07:00
|
|
|
class WorkerGlobalScope;
|
|
|
|
class WorkerLocation;
|
|
|
|
class WorkerNavigator;
|
2023-04-11 18:37:00 -04:00
|
|
|
|
2024-02-25 13:02:47 -05:00
|
|
|
enum class AllowMultipleFiles;
|
2023-04-11 18:37:00 -04:00
|
|
|
enum class MediaSeekMode;
|
2023-08-31 13:28:49 -04:00
|
|
|
enum class SandboxingFlagSet;
|
2023-04-17 11:04:07 -04:00
|
|
|
|
2024-10-17 08:45:20 -04:00
|
|
|
struct EmbedderPolicy;
|
2023-04-17 11:04:07 -04:00
|
|
|
struct Environment;
|
|
|
|
struct EnvironmentSettingsObject;
|
|
|
|
struct NavigationParams;
|
2024-10-17 08:45:20 -04:00
|
|
|
struct OpenerPolicy;
|
|
|
|
struct OpenerPolicyEnforcementResult;
|
2023-04-17 11:04:07 -04:00
|
|
|
struct PolicyContainer;
|
2023-08-31 13:28:49 -04:00
|
|
|
struct POSTResource;
|
2023-10-08 11:59:40 +02:00
|
|
|
struct ScrollOptions;
|
|
|
|
struct ScrollToOptions;
|
2023-04-17 11:04:07 -04:00
|
|
|
struct SerializedFormData;
|
2024-10-17 08:46:48 -04:00
|
|
|
struct StructuredSerializeOptions;
|
2023-08-31 13:53:17 -04:00
|
|
|
struct ToggleTaskTracker;
|
2024-10-17 08:45:20 -04:00
|
|
|
struct TransferDataHolder;
|
2020-07-28 18:20:36 +02:00
|
|
|
}
|
|
|
|
|
2020-09-29 18:19:18 +02:00
|
|
|
namespace Web::HighResolutionTime {
|
|
|
|
class Performance;
|
|
|
|
}
|
|
|
|
|
2024-05-19 17:58:06 +12:00
|
|
|
namespace Web::IndexedDB {
|
|
|
|
class IDBFactory;
|
2024-05-19 18:07:06 +12:00
|
|
|
class IDBOpenDBRequest;
|
2024-05-19 18:03:00 +12:00
|
|
|
class IDBRequest;
|
2024-05-19 17:58:06 +12:00
|
|
|
}
|
|
|
|
|
2023-07-21 11:59:49 +02:00
|
|
|
namespace Web::Internals {
|
2023-11-23 12:22:23 -05:00
|
|
|
class Inspector;
|
2023-07-21 11:59:49 +02:00
|
|
|
class Internals;
|
|
|
|
}
|
|
|
|
|
2021-10-13 14:20:50 -04:00
|
|
|
namespace Web::IntersectionObserver {
|
|
|
|
class IntersectionObserver;
|
2023-07-06 23:44:07 +01:00
|
|
|
class IntersectionObserverEntry;
|
2024-10-17 08:45:20 -04:00
|
|
|
|
2023-07-06 23:44:07 +01:00
|
|
|
struct IntersectionObserverRegistration;
|
2021-10-13 14:20:50 -04:00
|
|
|
}
|
|
|
|
|
2023-04-17 11:04:07 -04:00
|
|
|
namespace Web::Layout {
|
2023-06-12 13:55:43 -04:00
|
|
|
class AudioBox;
|
2023-04-17 11:04:07 -04:00
|
|
|
class BlockContainer;
|
|
|
|
class BlockFormattingContext;
|
|
|
|
class Box;
|
|
|
|
class ButtonBox;
|
|
|
|
class CheckBox;
|
|
|
|
class FlexFormattingContext;
|
|
|
|
class FormattingContext;
|
2024-02-18 20:08:46 -05:00
|
|
|
class ImageBox;
|
2023-04-17 11:04:07 -04:00
|
|
|
class InlineFormattingContext;
|
2024-10-17 08:45:20 -04:00
|
|
|
class InlineNode;
|
2023-04-17 11:04:07 -04:00
|
|
|
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;
|
2023-05-08 07:02:43 +02:00
|
|
|
class TreeBuilder;
|
2023-04-17 11:04:07 -04:00
|
|
|
class VideoBox;
|
|
|
|
class Viewport;
|
|
|
|
|
|
|
|
enum class LayoutMode;
|
|
|
|
|
|
|
|
struct LayoutState;
|
|
|
|
}
|
|
|
|
|
2023-07-05 20:24:51 -05:00
|
|
|
namespace Web::MathML {
|
|
|
|
class MathMLElement;
|
|
|
|
}
|
|
|
|
|
2024-09-04 23:52:21 +01:00
|
|
|
namespace Web::MediaCapabilitiesAPI {
|
|
|
|
class MediaCapabilities;
|
|
|
|
}
|
|
|
|
|
2022-02-11 20:53:47 +00:00
|
|
|
namespace Web::MimeSniff {
|
|
|
|
class MimeType;
|
|
|
|
}
|
|
|
|
|
2021-01-18 15:06:13 +01:00
|
|
|
namespace Web::NavigationTiming {
|
2024-08-01 19:50:52 -06:00
|
|
|
class PerformanceNavigation;
|
2021-01-18 15:06:13 +01:00
|
|
|
class PerformanceTiming;
|
|
|
|
}
|
|
|
|
|
2022-03-09 23:53:41 +01:00
|
|
|
namespace Web::Painting {
|
2023-06-12 13:55:43 -04:00
|
|
|
class AudioPaintable;
|
2022-03-10 22:46:35 +01:00
|
|
|
class ButtonPaintable;
|
|
|
|
class CheckBoxPaintable;
|
|
|
|
class LabelablePaintable;
|
2023-06-12 08:21:35 -04:00
|
|
|
class MediaPaintable;
|
2022-03-10 11:26:01 +01:00
|
|
|
class Paintable;
|
2022-03-10 15:50:57 +01:00
|
|
|
class PaintableBox;
|
2022-03-10 11:26:01 +01:00
|
|
|
class PaintableWithLines;
|
2022-03-11 00:03:28 +01:00
|
|
|
class StackingContext;
|
2022-03-10 22:46:35 +01:00
|
|
|
class TextPaintable;
|
2023-04-04 18:32:09 -04:00
|
|
|
class VideoPaintable;
|
2023-08-19 09:29:04 +02:00
|
|
|
class ViewportPaintable;
|
2023-04-17 11:04:07 -04:00
|
|
|
|
|
|
|
enum class PaintPhase;
|
|
|
|
|
2022-06-20 12:09:11 +01:00
|
|
|
struct BorderRadiiData;
|
2023-04-17 11:04:07 -04:00
|
|
|
struct BorderRadiusData;
|
2022-07-31 01:11:59 +01:00
|
|
|
struct LinearGradientData;
|
2022-03-09 23:53:41 +01:00
|
|
|
}
|
|
|
|
|
2023-03-22 19:12:57 +00:00
|
|
|
namespace Web::PerformanceTimeline {
|
|
|
|
class PerformanceEntry;
|
2023-08-25 01:26:47 +01:00
|
|
|
class PerformanceObserver;
|
|
|
|
class PerformanceObserverEntryList;
|
2024-10-17 08:45:20 -04:00
|
|
|
|
2023-08-25 01:26:47 +01:00
|
|
|
struct PerformanceObserverInit;
|
2023-03-22 19:12:57 +00:00
|
|
|
}
|
|
|
|
|
2023-04-17 13:21:19 -04:00
|
|
|
namespace Web::PermissionsPolicy {
|
|
|
|
class AutoplayAllowlist;
|
|
|
|
}
|
|
|
|
|
2022-09-07 20:30:31 +02:00
|
|
|
namespace Web::Platform {
|
2023-06-12 13:44:10 -04:00
|
|
|
class AudioCodecPlugin;
|
2022-09-07 20:30:31 +02:00
|
|
|
class Timer;
|
|
|
|
}
|
|
|
|
|
2022-09-24 00:29:45 +01:00
|
|
|
namespace Web::ReferrerPolicy {
|
|
|
|
enum class ReferrerPolicy;
|
|
|
|
}
|
|
|
|
|
2021-09-17 01:42:36 +02:00
|
|
|
namespace Web::RequestIdleCallback {
|
|
|
|
class IdleDeadline;
|
|
|
|
}
|
|
|
|
|
2021-10-11 00:18:07 +02:00
|
|
|
namespace Web::ResizeObserver {
|
|
|
|
class ResizeObserver;
|
|
|
|
}
|
|
|
|
|
2022-09-21 23:27:13 +01:00
|
|
|
namespace Web::Selection {
|
|
|
|
class Selection;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace Web::Streams {
|
2023-06-18 20:26:19 +12:00
|
|
|
class ByteLengthQueuingStrategy;
|
2023-06-18 19:43:56 +12:00
|
|
|
class CountQueuingStrategy;
|
2023-04-11 16:33:32 -07:00
|
|
|
class ReadableByteStreamController;
|
2023-04-17 11:04:07 -04:00
|
|
|
class ReadableStream;
|
2023-04-08 12:01:49 -07:00
|
|
|
class ReadableStreamBYOBReader;
|
2023-04-10 18:37:27 -07:00
|
|
|
class ReadableStreamBYOBRequest;
|
2023-03-28 18:56:11 -07:00
|
|
|
class ReadableStreamDefaultController;
|
2023-03-28 18:30:22 -07:00
|
|
|
class ReadableStreamDefaultReader;
|
2023-03-28 17:43:34 -07:00
|
|
|
class ReadableStreamGenericReaderMixin;
|
2023-11-19 11:27:43 +13:00
|
|
|
class ReadIntoRequest;
|
2023-03-28 18:30:22 -07:00
|
|
|
class ReadRequest;
|
2023-07-06 19:37:12 +02:00
|
|
|
class TransformStream;
|
|
|
|
class TransformStreamDefaultController;
|
2023-04-02 15:15:53 -07:00
|
|
|
class WritableStream;
|
2023-04-01 19:53:28 -07:00
|
|
|
class WritableStreamDefaultController;
|
2023-03-30 19:27:45 -07:00
|
|
|
class WritableStreamDefaultWriter;
|
2023-04-17 11:04:07 -04:00
|
|
|
|
2023-06-10 19:48:21 +12:00
|
|
|
struct PullIntoDescriptor;
|
2023-06-18 21:21:34 +12:00
|
|
|
struct QueuingStrategy;
|
2023-06-18 19:17:44 +12:00
|
|
|
struct QueuingStrategyInit;
|
2023-06-29 20:53:19 +12:00
|
|
|
struct ReadableStreamGetReaderOptions;
|
2023-07-02 21:42:02 +02:00
|
|
|
struct Transformer;
|
2023-04-17 11:04:07 -04:00
|
|
|
struct UnderlyingSink;
|
|
|
|
struct UnderlyingSource;
|
2022-09-21 23:27:13 +01:00
|
|
|
}
|
|
|
|
|
2024-08-13 20:54:58 +01:00
|
|
|
namespace Web::StorageAPI {
|
2024-08-13 20:56:19 +01:00
|
|
|
class NavigatorStorage;
|
2024-08-13 20:54:58 +01:00
|
|
|
class StorageManager;
|
|
|
|
}
|
|
|
|
|
2020-10-02 20:57:28 +01:00
|
|
|
namespace Web::SVG {
|
2022-03-21 14:33:11 -04:00
|
|
|
class SVGAnimatedLength;
|
2024-01-24 22:54:16 +01:00
|
|
|
class SVGAnimatedRect;
|
2022-02-11 16:14:58 +00:00
|
|
|
class SVGCircleElement;
|
2022-04-10 19:05:12 +02:00
|
|
|
class SVGClipPathElement;
|
2022-04-11 16:59:03 +02:00
|
|
|
class SVGDefsElement;
|
2024-04-15 18:43:01 +01:00
|
|
|
class SVGDescElement;
|
2020-10-02 20:57:28 +01:00
|
|
|
class SVGElement;
|
2022-02-11 16:45:59 +00:00
|
|
|
class SVGEllipseElement;
|
2022-11-10 13:49:26 +01:00
|
|
|
class SVGForeignObjectElement;
|
2020-10-02 20:57:28 +01:00
|
|
|
class SVGGeometryElement;
|
|
|
|
class SVGGraphicsElement;
|
2024-10-04 14:39:04 +02:00
|
|
|
class SVGImageElement;
|
2022-03-21 14:20:48 -04:00
|
|
|
class SVGLength;
|
2022-02-11 16:56:36 +00:00
|
|
|
class SVGLineElement;
|
2023-08-10 09:55:15 +02:00
|
|
|
class SVGMaskElement;
|
2024-08-16 17:27:32 +01:00
|
|
|
class SVGMetadataElement;
|
2020-10-02 20:57:28 +01:00
|
|
|
class SVGPathElement;
|
2022-02-11 17:36:05 +00:00
|
|
|
class SVGPolygonElement;
|
2022-02-11 17:28:24 +00:00
|
|
|
class SVGPolylineElement;
|
2022-02-11 15:52:42 +00:00
|
|
|
class SVGRectElement;
|
2023-09-26 01:12:21 +13:00
|
|
|
class SVGScriptElement;
|
2020-10-02 20:57:28 +01:00
|
|
|
class SVGSVGElement;
|
2023-06-08 11:46:44 -04:00
|
|
|
class SVGTitleElement;
|
2020-10-02 20:57:28 +01:00
|
|
|
}
|
|
|
|
|
2023-04-17 11:04:07 -04:00
|
|
|
namespace Web::UIEvents {
|
2024-07-18 20:22:44 +01:00
|
|
|
class CompositionEvent;
|
2024-07-18 19:35:14 +01:00
|
|
|
class InputEvent;
|
2023-04-17 11:04:07 -04:00
|
|
|
class KeyboardEvent;
|
|
|
|
class MouseEvent;
|
2024-04-07 19:51:02 +02:00
|
|
|
class PointerEvent;
|
2024-10-05 14:44:59 +01:00
|
|
|
class TextEvent;
|
2024-10-05 14:21:05 +01:00
|
|
|
class UIEvent;
|
2022-02-18 17:35:45 +00:00
|
|
|
}
|
|
|
|
|
2024-02-11 19:48:56 +13:00
|
|
|
namespace Web::DOMURL {
|
|
|
|
class DOMURL;
|
2023-04-17 11:04:07 -04:00
|
|
|
class URLSearchParams;
|
|
|
|
class URLSearchParamsIterator;
|
2020-11-22 13:38:18 +01:00
|
|
|
}
|
|
|
|
|
2023-04-17 11:04:07 -04:00
|
|
|
namespace Web::UserTiming {
|
|
|
|
class PerformanceMark;
|
2023-05-13 13:34:28 +01:00
|
|
|
class PerformanceMeasure;
|
2021-01-23 11:51:36 +01:00
|
|
|
}
|
|
|
|
|
2023-03-15 13:35:10 -04:00
|
|
|
namespace Web::WebAssembly {
|
2023-03-15 18:15:28 -04:00
|
|
|
class Instance;
|
2023-03-15 19:29:57 -04:00
|
|
|
class Memory;
|
2023-03-15 14:47:54 -04:00
|
|
|
class Module;
|
2023-03-15 20:16:22 -04:00
|
|
|
class Table;
|
2023-03-15 13:35:10 -04:00
|
|
|
}
|
|
|
|
|
2023-05-21 20:36:22 +01:00
|
|
|
namespace Web::WebAudio {
|
2024-05-26 11:56:11 +12:00
|
|
|
class AudioBuffer;
|
2024-07-21 15:24:25 +03:00
|
|
|
class AudioBufferSourceNode;
|
2023-05-21 20:36:22 +01:00
|
|
|
class AudioContext;
|
2024-07-27 16:38:09 +03:00
|
|
|
class AudioDestinationNode;
|
2024-10-17 21:26:01 +02:00
|
|
|
class AudioListener;
|
2024-04-28 12:46:07 +12:00
|
|
|
class AudioNode;
|
2024-04-28 12:26:30 +12:00
|
|
|
class AudioParam;
|
2024-04-28 13:17:44 +12:00
|
|
|
class AudioScheduledSourceNode;
|
2023-05-21 20:36:22 +01:00
|
|
|
class BaseAudioContext;
|
2024-07-21 21:25:14 +03:00
|
|
|
class BiquadFilterNode;
|
2024-05-05 10:53:34 +12:00
|
|
|
class DynamicsCompressorNode;
|
2024-05-28 15:42:07 +12:00
|
|
|
class GainNode;
|
2024-04-28 12:19:19 +12:00
|
|
|
class OfflineAudioContext;
|
2024-04-28 13:29:14 +12:00
|
|
|
class OscillatorNode;
|
2024-04-28 12:19:19 +12:00
|
|
|
class PeriodicWave;
|
2023-06-27 13:34:51 -04:00
|
|
|
|
|
|
|
enum class AudioContextState;
|
|
|
|
|
|
|
|
struct AudioContextOptions;
|
2024-05-05 10:53:34 +12:00
|
|
|
struct DynamicsCompressorOptions;
|
|
|
|
struct OscillatorOptions;
|
2023-05-21 20:36:22 +01:00
|
|
|
}
|
|
|
|
|
2022-06-04 04:18:32 +01:00
|
|
|
namespace Web::WebGL {
|
|
|
|
class WebGLContextEvent;
|
2022-06-04 04:22:42 +01:00
|
|
|
class WebGLRenderingContext;
|
|
|
|
class WebGLRenderingContextBase;
|
2022-06-04 04:18:32 +01:00
|
|
|
}
|
|
|
|
|
2023-04-17 11:04:07 -04:00
|
|
|
namespace Web::WebIDL {
|
2023-11-23 20:07:25 +13:00
|
|
|
class ArrayBufferView;
|
|
|
|
class BufferSource;
|
2023-04-17 11:04:07 -04:00
|
|
|
class CallbackType;
|
|
|
|
class DOMException;
|
|
|
|
|
|
|
|
template<typename ValueType>
|
|
|
|
class ExceptionOr;
|
2023-05-08 07:39:05 +02:00
|
|
|
|
|
|
|
using Promise = JS::PromiseCapability;
|
2023-04-17 11:04:07 -04:00
|
|
|
}
|
|
|
|
|
2024-09-26 13:17:18 -04:00
|
|
|
namespace Web::WebDriver {
|
2024-10-25 11:02:31 -04:00
|
|
|
class HeapTimer;
|
|
|
|
|
2024-09-26 13:17:18 -04:00
|
|
|
struct ActionObject;
|
|
|
|
struct InputState;
|
|
|
|
};
|
|
|
|
|
2023-04-17 11:04:07 -04:00
|
|
|
namespace Web::WebSockets {
|
|
|
|
class WebSocket;
|
|
|
|
}
|
|
|
|
|
2024-09-19 19:18:00 +01:00
|
|
|
namespace Web::WebVTT {
|
2024-09-19 21:49:54 +01:00
|
|
|
class VTTCue;
|
2024-09-19 19:18:00 +01:00
|
|
|
class VTTRegion;
|
|
|
|
}
|
|
|
|
|
2021-01-23 11:51:36 +01:00
|
|
|
namespace Web::XHR {
|
2023-02-03 21:50:05 +01:00
|
|
|
class FormData;
|
2023-03-05 17:29:11 +01:00
|
|
|
class FormDataIterator;
|
2021-01-23 17:50:22 +00:00
|
|
|
class ProgressEvent;
|
2020-04-08 21:11:51 +02:00
|
|
|
class XMLHttpRequest;
|
2021-01-23 17:52:16 +00:00
|
|
|
class XMLHttpRequestEventTarget;
|
2023-02-28 18:27:52 +00:00
|
|
|
class XMLHttpRequestUpload;
|
2024-10-17 08:45:20 -04:00
|
|
|
|
2023-06-18 15:08:15 +01:00
|
|
|
struct FormDataEntry;
|
2020-07-21 16:23:08 +02:00
|
|
|
}
|
2024-10-20 10:37:44 +02:00
|
|
|
|
|
|
|
namespace IPC {
|
|
|
|
|
|
|
|
template<>
|
|
|
|
ErrorOr<void> encode(Encoder&, Web::UniqueNodeID const&);
|
|
|
|
|
|
|
|
template<>
|
|
|
|
ErrorOr<Web::UniqueNodeID> decode(Decoder&);
|
|
|
|
|
|
|
|
}
|