2020-03-07 06:27:02 -03:00
|
|
|
/*
|
2024-10-20 05:37:44 -03:00
|
|
|
* Copyright (c) 2020-2024, Andreas Kling <andreas@ladybird.org>
|
2023-08-19 23:39:57 -03:00
|
|
|
* Copyright (c) 2021-2023, the SerenityOS developers.
|
2020-03-07 06:27:02 -03:00
|
|
|
*
|
2021-04-22 05:24:48 -03:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-03-07 06:27:02 -03:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2024-10-20 05:37:44 -03:00
|
|
|
#include <AK/DistinctNumeric.h>
|
2024-06-13 09:22:46 -03:00
|
|
|
#include <AK/Variant.h>
|
2025-11-28 04:07:13 -03:00
|
|
|
#include <LibGC/Forward.h>
|
2025-08-02 15:04:12 -03:00
|
|
|
#include <LibGfx/Forward.h>
|
2024-10-20 05:37:44 -03:00
|
|
|
#include <LibIPC/Forward.h>
|
2023-05-08 02:39:05 -03:00
|
|
|
#include <LibJS/Forward.h>
|
2026-05-01 14:01:23 -03:00
|
|
|
#include <LibWeb/Bindings/Forward.h>
|
2025-07-19 23:35:33 -03:00
|
|
|
#include <LibWeb/Export.h>
|
2023-01-09 19:49:06 -03:00
|
|
|
|
2022-03-28 08:55:17 -03:00
|
|
|
namespace Web {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2026-05-15 11:21:30 -03:00
|
|
|
struct AsyncScrollOperation;
|
2026-02-07 08:22:38 -03:00
|
|
|
class AutoScrollHandler;
|
2025-11-06 02:27:22 -03:00
|
|
|
class CSSPixels;
|
2025-07-31 18:07:26 -03:00
|
|
|
class DisplayListRecordingContext;
|
2024-08-17 14:29:55 -03:00
|
|
|
class DragAndDropEventHandler;
|
2026-01-05 22:15:14 -03:00
|
|
|
class ElementResizeAction;
|
2023-04-17 12:04:07 -03:00
|
|
|
class EventHandler;
|
2026-04-12 11:10:01 -03:00
|
|
|
class MiddleButtonScrollHandler;
|
2024-10-30 21:03:07 -03:00
|
|
|
class InputEventsTarget;
|
2023-04-17 12:04:07 -03:00
|
|
|
class LoadRequest;
|
|
|
|
|
class Page;
|
|
|
|
|
class PageClient;
|
|
|
|
|
class Resource;
|
|
|
|
|
class ResourceLoader;
|
2022-03-28 08:55:17 -03:00
|
|
|
class XMLDocumentBuilder;
|
2024-10-17 09:45:20 -03:00
|
|
|
|
|
|
|
|
enum class InvalidateDisplayList;
|
|
|
|
|
enum class TraversalDecision;
|
2024-10-20 05:37:44 -03:00
|
|
|
|
|
|
|
|
AK_TYPEDEF_DISTINCT_NUMERIC_GENERAL(i64, UniqueNodeID, Comparison, Increment, CastToUnderlying);
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-03-28 08:55:17 -03:00
|
|
|
}
|
|
|
|
|
|
2026-06-15 14:29:43 -03:00
|
|
|
namespace Web::Compositor {
|
|
|
|
|
|
|
|
|
|
class CompositorContextHandle;
|
|
|
|
|
class CompositorHost;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-14 23:27:48 -03:00
|
|
|
namespace Web::Painting {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2026-05-27 12:51:03 -03:00
|
|
|
class AccumulatedVisualContextTree;
|
2024-06-25 11:43:39 -03:00
|
|
|
class BackingStore;
|
2026-05-14 14:20:34 -03:00
|
|
|
class ChromeWidget;
|
2026-06-15 14:20:22 -03:00
|
|
|
class CanvasSurfaceRegistry;
|
2025-07-12 22:54:55 -03:00
|
|
|
class DevicePixelConverter;
|
2024-07-24 16:03:19 -03:00
|
|
|
class DisplayList;
|
2025-07-10 14:24:30 -03:00
|
|
|
class DisplayListPlayerSkia;
|
2024-06-23 13:40:10 -03:00
|
|
|
class DisplayListRecorder;
|
2026-05-08 11:49:32 -03:00
|
|
|
class DisplayListResourceStorage;
|
2026-05-10 12:17:55 -03:00
|
|
|
struct GradientPaintStyle;
|
|
|
|
|
struct PatternPaintStyle;
|
2025-07-24 20:39:31 -03:00
|
|
|
class ScrollStateSnapshot;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-10-14 23:27:48 -03:00
|
|
|
}
|
|
|
|
|
|
2023-11-04 12:16:37 -03:00
|
|
|
namespace Web::Animations {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-11-05 14:20:10 -03:00
|
|
|
class Animatable;
|
2023-11-06 12:17:19 -03:00
|
|
|
class Animation;
|
2023-11-06 12:17:15 -03:00
|
|
|
class AnimationEffect;
|
2023-11-04 16:20:39 -03:00
|
|
|
class AnimationPlaybackEvent;
|
2023-11-04 12:16:37 -03:00
|
|
|
class AnimationTimeline;
|
2023-11-04 12:32:30 -03:00
|
|
|
class DocumentTimeline;
|
2023-11-04 17:09:57 -03:00
|
|
|
class KeyframeEffect;
|
2025-12-19 21:17:37 -03:00
|
|
|
class ScrollTimeline;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-11-04 12:16:37 -03:00
|
|
|
}
|
|
|
|
|
|
2023-02-25 18:50:34 -03:00
|
|
|
namespace Web::ARIA {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-02-25 18:50:34 -03:00
|
|
|
class AriaData;
|
|
|
|
|
class ARIAMixin;
|
2024-10-17 09:45:20 -03:00
|
|
|
|
2023-02-25 18:50:34 -03:00
|
|
|
enum class StateAndProperties;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-02-25 18:50:34 -03:00
|
|
|
}
|
|
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
namespace Web::Bindings {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
class Intrinsics;
|
|
|
|
|
class OptionConstructor;
|
|
|
|
|
|
2025-03-04 11:42:08 -03:00
|
|
|
enum class AudioContextLatencyCategory : u8;
|
|
|
|
|
enum class CanPlayTypeResult : u8;
|
|
|
|
|
enum class CanvasFillRule : u8;
|
|
|
|
|
enum class CanvasTextAlign : u8;
|
|
|
|
|
enum class CanvasTextBaseline : u8;
|
|
|
|
|
enum class ColorGamut : u8;
|
|
|
|
|
enum class DOMParserSupportedType : u8;
|
|
|
|
|
enum class EndingType : u8;
|
|
|
|
|
enum class HdrMetadataType : u8;
|
|
|
|
|
enum class ImageSmoothingQuality : u8;
|
|
|
|
|
enum class MediaDecodingType : u8;
|
|
|
|
|
enum class MediaEncodingType : u8;
|
2026-02-23 23:21:16 -03:00
|
|
|
enum class MediaStreamTrackState : u8;
|
2025-03-06 20:19:45 -03:00
|
|
|
enum class OffscreenRenderingContextId : u8;
|
2025-03-04 11:42:08 -03:00
|
|
|
enum class ReadableStreamReaderMode : u8;
|
|
|
|
|
enum class ReferrerPolicy : u8;
|
2025-02-26 12:51:05 -03:00
|
|
|
enum class RenderBlockingStatusType : u8;
|
2025-03-04 11:42:08 -03:00
|
|
|
enum class RequestCache : u8;
|
|
|
|
|
enum class RequestCredentials : u8;
|
|
|
|
|
enum class RequestDestination : u8;
|
|
|
|
|
enum class RequestDuplex : u8;
|
|
|
|
|
enum class RequestMode : u8;
|
|
|
|
|
enum class RequestPriority : u8;
|
|
|
|
|
enum class RequestRedirect : u8;
|
|
|
|
|
enum class ResizeObserverBoxOptions : u8;
|
|
|
|
|
enum class ResponseType : u8;
|
|
|
|
|
enum class TextTrackKind : u8;
|
|
|
|
|
enum class TransferFunction : u8;
|
|
|
|
|
enum class XMLHttpRequestResponseType : u8;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
}
|
|
|
|
|
|
2026-02-23 23:21:16 -03:00
|
|
|
namespace Web::MediaCapture {
|
|
|
|
|
|
|
|
|
|
class MediaStream;
|
|
|
|
|
class MediaStreamTrack;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-10 15:29:20 -03:00
|
|
|
namespace Web::Clipboard {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-11-10 15:29:20 -03:00
|
|
|
class Clipboard;
|
2024-12-01 01:23:38 -03:00
|
|
|
class ClipboardItem;
|
2025-05-01 12:38:31 -03:00
|
|
|
|
|
|
|
|
struct SystemClipboardItem;
|
|
|
|
|
struct SystemClipboardRepresentation;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-11-10 15:29:20 -03:00
|
|
|
}
|
|
|
|
|
|
2024-11-15 13:11:47 -03:00
|
|
|
namespace Web::Compression {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-11-15 13:11:47 -03:00
|
|
|
class CompressionStream;
|
2024-11-15 16:40:04 -03:00
|
|
|
class DecompressionStream;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-11-15 13:11:47 -03:00
|
|
|
}
|
|
|
|
|
|
2024-11-25 13:17:17 -03:00
|
|
|
namespace Web::ContentSecurityPolicy {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-11-25 13:17:17 -03:00
|
|
|
class Policy;
|
|
|
|
|
class PolicyList;
|
2024-11-26 12:43:02 -03:00
|
|
|
class SecurityPolicyViolationEvent;
|
2024-11-25 14:22:08 -03:00
|
|
|
class Violation;
|
2024-11-25 13:17:17 -03:00
|
|
|
struct SerializedPolicy;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-11-25 13:17:17 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
namespace Web::ContentSecurityPolicy::Directives {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-12-04 11:09:28 -03:00
|
|
|
class BaseUriDirective;
|
2024-12-03 15:29:41 -03:00
|
|
|
class ChildSourceDirective;
|
2024-11-28 13:35:12 -03:00
|
|
|
class ConnectSourceDirective;
|
2024-12-03 15:18:50 -03:00
|
|
|
class DefaultSourceDirective;
|
2024-11-25 13:17:17 -03:00
|
|
|
class Directive;
|
2024-11-29 07:54:29 -03:00
|
|
|
class FontSourceDirective;
|
2024-12-04 08:24:19 -03:00
|
|
|
class FormActionDirective;
|
2024-12-04 09:36:18 -03:00
|
|
|
class FrameAncestorsDirective;
|
2024-11-29 08:08:12 -03:00
|
|
|
class FrameSourceDirective;
|
2024-11-29 08:21:17 -03:00
|
|
|
class ImageSourceDirective;
|
2024-11-29 08:45:38 -03:00
|
|
|
class ManifestSourceDirective;
|
2024-11-29 09:04:15 -03:00
|
|
|
class MediaSourceDirective;
|
2024-11-29 09:10:14 -03:00
|
|
|
class ObjectSourceDirective;
|
2024-12-04 11:43:15 -03:00
|
|
|
class ReportToDirective;
|
2024-12-04 11:33:03 -03:00
|
|
|
class ReportUriDirective;
|
2024-12-06 13:01:02 -03:00
|
|
|
class SandboxDirective;
|
2024-12-03 12:33:32 -03:00
|
|
|
class ScriptSourceAttributeDirective;
|
2024-12-02 13:01:19 -03:00
|
|
|
class ScriptSourceDirective;
|
2024-12-03 12:24:07 -03:00
|
|
|
class ScriptSourceElementDirective;
|
2024-12-03 14:27:12 -03:00
|
|
|
class StyleSourceAttributeDirective;
|
2024-12-03 13:57:18 -03:00
|
|
|
class StyleSourceDirective;
|
2024-12-03 14:16:27 -03:00
|
|
|
class StyleSourceElementDirective;
|
2024-12-04 12:45:24 -03:00
|
|
|
class WebRTCDirective;
|
2024-12-03 14:54:51 -03:00
|
|
|
class WorkerSourceDirective;
|
2024-11-25 13:17:17 -03:00
|
|
|
struct SerializedDirective;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-11-25 13:17:17 -03:00
|
|
|
}
|
|
|
|
|
|
2025-08-04 16:17:20 -03:00
|
|
|
namespace Web::CookieStore {
|
|
|
|
|
|
2025-08-07 09:31:24 -03:00
|
|
|
class CookieChangeEvent;
|
2025-08-04 16:17:20 -03:00
|
|
|
class CookieStore;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-30 18:29:26 -03:00
|
|
|
namespace Web::CredentialManagement {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2025-01-30 18:29:26 -03:00
|
|
|
class Credential;
|
|
|
|
|
class CredentialsContainer;
|
|
|
|
|
class FederatedCredential;
|
|
|
|
|
class PasswordCredential;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-30 14:02:55 -03:00
|
|
|
namespace Web::Crypto {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-09-30 14:02:55 -03:00
|
|
|
class Crypto;
|
2026-04-26 12:49:33 -03:00
|
|
|
class CryptoKey;
|
2021-12-13 17:48:27 -03:00
|
|
|
class SubtleCrypto;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-09-30 14:02:55 -03:00
|
|
|
}
|
|
|
|
|
|
2026-02-14 20:37:02 -03:00
|
|
|
namespace Web::CSS::FilterOperation {
|
|
|
|
|
|
|
|
|
|
struct Blur;
|
|
|
|
|
struct DropShadow;
|
|
|
|
|
struct HueRotate;
|
|
|
|
|
struct Color;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-26 15:01:35 -03:00
|
|
|
namespace Web::CSS {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-07-30 21:11:59 -03:00
|
|
|
class AbstractImageStyleValue;
|
2025-08-03 09:58:13 -03:00
|
|
|
class AnchorStyleValue;
|
2025-07-30 09:14:53 -03:00
|
|
|
class AnchorSizeStyleValue;
|
2022-02-21 14:43:30 -03:00
|
|
|
class Angle;
|
2023-04-17 12:04:07 -03:00
|
|
|
class AnglePercentage;
|
2022-02-21 14:43:30 -03:00
|
|
|
class AngleStyleValue;
|
2021-11-05 09:18:23 -03:00
|
|
|
class BackgroundSizeStyleValue;
|
2024-05-25 19:06:47 -03:00
|
|
|
class BasicShapeStyleValue;
|
2026-03-27 11:14:00 -03:00
|
|
|
class BooleanExpression;
|
2025-06-10 12:58:54 -03:00
|
|
|
class BorderImageSliceStyleValue;
|
2026-01-05 04:55:26 -03:00
|
|
|
class BorderRadiusRectStyleValue;
|
2023-04-17 12:04:07 -03:00
|
|
|
class BorderRadiusStyleValue;
|
2024-12-11 12:05:56 -03:00
|
|
|
class CalculatedStyleValue;
|
2025-10-10 13:46:05 -03:00
|
|
|
class CalculationNode;
|
2025-07-11 22:34:26 -03:00
|
|
|
class CascadedProperties;
|
2026-02-13 06:19:02 -03:00
|
|
|
class CustomPropertyData;
|
2024-10-17 09:45:20 -03:00
|
|
|
class Clip;
|
2026-03-18 05:45:10 -03:00
|
|
|
class ColorInterpolationMethodStyleValue;
|
2025-04-21 15:03:46 -03:00
|
|
|
class ColorMixStyleValue;
|
2025-01-01 22:59:09 -03:00
|
|
|
class ColorSchemeStyleValue;
|
2025-08-08 07:41:12 -03:00
|
|
|
class ColorFunctionStyleValue;
|
2025-08-08 07:24:15 -03:00
|
|
|
class ColorStyleValue;
|
2025-08-11 10:28:57 -03:00
|
|
|
class ComputedProperties;
|
2024-10-17 09:45:20 -03:00
|
|
|
class ConicGradientStyleValue;
|
2026-03-27 11:14:00 -03:00
|
|
|
class ContainerQuery;
|
2024-10-17 09:45:20 -03:00
|
|
|
class ContentStyleValue;
|
2026-06-05 15:52:58 -03:00
|
|
|
class ContrastColorStyleValue;
|
2024-10-17 09:45:20 -03:00
|
|
|
class CounterDefinitionsStyleValue;
|
2026-02-07 02:18:29 -03:00
|
|
|
class CounterStyle;
|
2026-02-03 20:24:04 -03:00
|
|
|
class CounterStyleStyleValue;
|
2026-01-31 05:09:11 -03:00
|
|
|
class CounterStyleSystemStyleValue;
|
2024-10-17 09:45:20 -03:00
|
|
|
class CounterStyleValue;
|
2025-06-17 10:07:50 -03:00
|
|
|
class CountersSet;
|
2023-11-04 17:57:57 -03:00
|
|
|
class CSSAnimation;
|
2022-04-22 10:14:16 -03:00
|
|
|
class CSSConditionRule;
|
2026-03-27 11:14:00 -03:00
|
|
|
class CSSContainerRule;
|
2026-01-30 09:03:29 -03:00
|
|
|
class CSSCounterStyleRule;
|
2025-05-07 13:44:44 -03:00
|
|
|
class CSSDescriptors;
|
2025-04-03 07:44:06 -03:00
|
|
|
class CSSFontFaceDescriptors;
|
2023-04-17 12:04:07 -03:00
|
|
|
class CSSFontFaceRule;
|
2026-01-12 23:15:18 -03:00
|
|
|
class CSSFontFeatureValuesMap;
|
2026-01-13 05:44:21 -03:00
|
|
|
class CSSFontFeatureValuesRule;
|
2026-03-04 06:40:51 -03:00
|
|
|
class CSSFunctionDescriptors;
|
2026-03-03 21:42:47 -03:00
|
|
|
class CSSFunctionRule;
|
2022-04-22 10:13:37 -03:00
|
|
|
class CSSGroupingRule;
|
2025-09-12 11:07:19 -03:00
|
|
|
class CSSImageValue;
|
2021-02-21 13:36:34 -03:00
|
|
|
class CSSImportRule;
|
2023-05-26 17:00:54 -03:00
|
|
|
class CSSKeyframeRule;
|
|
|
|
|
class CSSKeyframesRule;
|
2025-08-14 08:33:40 -03:00
|
|
|
class CSSKeywordValue;
|
2024-09-02 12:45:25 -03:00
|
|
|
class CSSLayerBlockRule;
|
|
|
|
|
class CSSLayerStatementRule;
|
2025-05-15 07:48:56 -03:00
|
|
|
class CSSMarginRule;
|
2025-08-21 08:47:26 -03:00
|
|
|
class CSSMathClamp;
|
2025-08-19 12:23:12 -03:00
|
|
|
class CSSMathInvert;
|
2025-08-19 13:18:12 -03:00
|
|
|
class CSSMathMax;
|
2025-08-19 13:07:05 -03:00
|
|
|
class CSSMathMin;
|
2025-08-19 12:03:09 -03:00
|
|
|
class CSSMathNegate;
|
2025-08-19 11:35:09 -03:00
|
|
|
class CSSMathProduct;
|
2025-08-19 11:11:43 -03:00
|
|
|
class CSSMathSum;
|
2025-08-19 10:24:39 -03:00
|
|
|
class CSSMathValue;
|
2025-09-16 07:50:00 -03:00
|
|
|
class CSSMatrixComponent;
|
2021-09-29 08:48:04 -03:00
|
|
|
class CSSMediaRule;
|
2025-02-05 08:55:18 -03:00
|
|
|
class CSSNamespaceRule;
|
2024-10-15 11:59:31 -03:00
|
|
|
class CSSNestedDeclarations;
|
2025-08-19 08:21:27 -03:00
|
|
|
class CSSNumericArray;
|
2025-08-19 09:55:42 -03:00
|
|
|
class CSSNumericValue;
|
2025-05-13 08:17:41 -03:00
|
|
|
class CSSPageRule;
|
|
|
|
|
class CSSPageDescriptors;
|
2025-09-16 07:05:33 -03:00
|
|
|
class CSSPerspective;
|
2024-10-17 19:28:09 -03:00
|
|
|
class CSSPropertyRule;
|
2025-09-15 08:58:09 -03:00
|
|
|
class CSSRotate;
|
2021-09-29 08:48:04 -03:00
|
|
|
class CSSRule;
|
2021-10-03 13:22:55 -03:00
|
|
|
class CSSRuleList;
|
2025-09-15 10:31:03 -03:00
|
|
|
class CSSScale;
|
LibWeb/CSS: Implement the `@scope` rule
`@scope (a) to (b) {}` applies its contained style rules to elements
that have `a` as a parent, and do not have `a b` as a parent. Both the
`a` and `b` selector lists are optional.
Because it's situational whether a `@scope` will apply to a given
element, we store the ancestor scope on the `MatchingRule`, similar to
`@container`, and then determine during matching whether all the parent
`@scope`s match or not.
The rules for how selectors inside `@scope` are adjusted and interpreted
are a bit confusing. Unlike for other at-rules, nested style rules
inside `@scope` do not get a leading `&` added during parsing. To
support this, `adapt_nested_relative_selector_list()` now takes a flag
for whether its parent is a `@scope` or not.
`@scope` can also contain nested declarations without itself being
nested inside a style rule.
When determining their selectors, nested declarations rules adopt the
`@scope`'s scoping root if it has one, or otherwise fall back to the
parent element of the `<style>` element (not implemented here,) or the
`:root`. These are required to have zero specificity, so we wrap the
selector in `:where()`.
2026-05-15 13:11:08 -03:00
|
|
|
class CSSScopeRule;
|
2025-09-15 11:02:16 -03:00
|
|
|
class CSSSkew;
|
2025-09-15 11:18:55 -03:00
|
|
|
class CSSSkewX;
|
2025-09-15 11:33:37 -03:00
|
|
|
class CSSSkewY;
|
2021-03-13 16:11:33 -03:00
|
|
|
class CSSStyleDeclaration;
|
LibWeb/CSS: Merge style declaration subclasses into CSSStyleProperties
We previously had PropertyOwningCSSStyleDeclaration and
ResolvedCSSStyleDeclaration, representing the current style properties
and resolved style respectively. Both of these were the
CSSStyleDeclaration type in the CSSOM. (We also had
ElementInlineCSSStyleDeclaration but I removed that in a previous
commit.)
In the meantime, the spec has changed so that these should now be a new
CSSStyleProperties type in the CSSOM. Also, we need to subclass
CSSStyleDeclaration for things like CSSFontFaceRule's list of
descriptors, which means it wouldn't hold style properties.
So, this commit does the fairly messy work of combining these two types
into a new CSSStyleProperties class. A lot of what previously was done
as separate methods in the two classes, now follows the spec steps of
"if the readonly flag is set, do X" instead, which is hopefully easier
to follow too.
There is still some functionality in CSSStyleDeclaration that belongs in
CSSStyleProperties, but I'll do that next. To avoid a huge diff for
"CSSStyleDeclaration-all-supported-properties-and-default-values.txt"
both here and in the following commit, we don't apply the (currently
empty) CSSStyleProperties prototype yet.
2025-03-17 14:50:49 -03:00
|
|
|
class CSSStyleProperties;
|
2021-03-07 11:00:02 -03:00
|
|
|
class CSSStyleRule;
|
2021-03-07 12:14:04 -03:00
|
|
|
class CSSStyleSheet;
|
2025-08-08 08:57:23 -03:00
|
|
|
class CSSStyleValue;
|
2021-10-08 13:48:14 -03:00
|
|
|
class CSSSupportsRule;
|
2025-09-12 12:32:58 -03:00
|
|
|
class CSSTransformComponent;
|
2025-09-16 12:11:39 -03:00
|
|
|
class CSSTransformValue;
|
2025-09-15 07:27:45 -03:00
|
|
|
class CSSTranslate;
|
2025-08-18 11:12:55 -03:00
|
|
|
class CSSUnitValue;
|
2025-08-14 12:43:12 -03:00
|
|
|
class CSSUnparsedValue;
|
|
|
|
|
class CSSVariableReferenceValue;
|
2025-02-21 10:04:20 -03:00
|
|
|
class CursorStyleValue;
|
2023-05-25 08:43:52 -03:00
|
|
|
class CustomIdentStyleValue;
|
2025-08-08 07:08:54 -03:00
|
|
|
class DimensionStyleValue;
|
2021-10-06 12:57:44 -03:00
|
|
|
class Display;
|
2023-04-26 16:05:38 -03:00
|
|
|
class DisplayStyleValue;
|
2023-07-05 19:59:36 -03:00
|
|
|
class EasingStyleValue;
|
2023-04-02 18:56:45 -03:00
|
|
|
class EdgeStyleValue;
|
2026-05-05 07:23:14 -03:00
|
|
|
class EmptyOptionalStyleValue;
|
2022-10-30 09:27:57 -03:00
|
|
|
class ExplicitGridTrack;
|
2026-05-14 07:22:48 -03:00
|
|
|
class FeatureValue;
|
2022-09-15 04:31:14 -03:00
|
|
|
class FilterValueListStyleValue;
|
2023-09-28 11:18:14 -03:00
|
|
|
class Flex;
|
|
|
|
|
class FlexStyleValue;
|
2025-11-06 02:27:22 -03:00
|
|
|
class FontComputer;
|
2024-05-07 13:05:29 -03:00
|
|
|
class FontFace;
|
2024-05-07 17:49:31 -03:00
|
|
|
class FontFaceSet;
|
2025-04-02 13:01:16 -03:00
|
|
|
class FontSourceStyleValue;
|
2025-05-02 09:55:58 -03:00
|
|
|
class FontStyleStyleValue;
|
2022-02-21 14:49:47 -03:00
|
|
|
class Frequency;
|
2023-04-17 12:04:07 -03:00
|
|
|
class FrequencyPercentage;
|
2022-02-21 14:49:47 -03:00
|
|
|
class FrequencyStyleValue;
|
2026-04-22 08:56:54 -03:00
|
|
|
class FunctionStyleValue;
|
2023-08-17 15:25:18 -03:00
|
|
|
class GridAutoFlowStyleValue;
|
2025-06-25 12:58:07 -03:00
|
|
|
class GridLineNames;
|
2022-10-30 09:27:57 -03:00
|
|
|
class GridMinMax;
|
|
|
|
|
class GridRepeat;
|
|
|
|
|
class GridSize;
|
2023-01-16 14:17:05 -03:00
|
|
|
class GridTemplateAreaStyleValue;
|
2022-08-24 07:21:58 -03:00
|
|
|
class GridTrackPlacement;
|
2022-08-24 07:31:00 -03:00
|
|
|
class GridTrackPlacementStyleValue;
|
2022-10-30 09:27:57 -03:00
|
|
|
class GridTrackSizeList;
|
2023-04-29 12:59:07 -03:00
|
|
|
class GridTrackSizeListStyleValue;
|
2025-03-12 12:29:12 -03:00
|
|
|
class GuaranteedInvalidStyleValue;
|
2026-04-25 03:00:11 -03:00
|
|
|
class ImageSetStyleValue;
|
2021-09-23 15:54:19 -03:00
|
|
|
class ImageStyleValue;
|
2023-06-01 13:01:09 -03:00
|
|
|
class IntegerStyleValue;
|
2025-07-15 21:26:50 -03:00
|
|
|
class InvalidationSet;
|
2025-08-08 06:28:41 -03:00
|
|
|
class KeywordStyleValue;
|
2021-10-15 08:06:30 -03:00
|
|
|
class Length;
|
2022-09-13 12:42:39 -03:00
|
|
|
class LengthBox;
|
2025-08-28 09:40:39 -03:00
|
|
|
class LengthOrAuto;
|
2023-04-17 12:04:07 -03:00
|
|
|
class LengthPercentage;
|
2025-08-28 11:58:38 -03:00
|
|
|
class LengthPercentageOrAuto;
|
2021-09-23 15:54:19 -03:00
|
|
|
class LengthStyleValue;
|
2022-07-11 20:09:29 -03:00
|
|
|
class LinearGradientStyleValue;
|
2021-10-15 08:06:30 -03:00
|
|
|
class MediaList;
|
|
|
|
|
class MediaQuery;
|
|
|
|
|
class MediaQueryList;
|
|
|
|
|
class MediaQueryListEvent;
|
2022-03-21 17:54:45 -03:00
|
|
|
class Number;
|
2023-06-01 12:16:15 -03:00
|
|
|
class NumberStyleValue;
|
2025-08-15 08:55:58 -03:00
|
|
|
class NumericType;
|
2026-04-13 10:35:53 -03:00
|
|
|
class OpacityValueStyleValue;
|
2024-09-30 13:05:52 -03:00
|
|
|
class OpenTypeTaggedStyleValue;
|
2026-04-30 16:19:28 -03:00
|
|
|
class OverflowClipMarginStyleValue;
|
2024-05-07 12:18:37 -03:00
|
|
|
class ParsedFontFace;
|
2025-03-12 16:24:59 -03:00
|
|
|
class PendingSubstitutionStyleValue;
|
2022-01-14 09:23:54 -03:00
|
|
|
class Percentage;
|
2022-01-14 14:09:02 -03:00
|
|
|
class PercentageStyleValue;
|
2021-10-31 13:02:29 -03:00
|
|
|
class PositionStyleValue;
|
2025-09-25 07:48:11 -03:00
|
|
|
class PropertyNameAndID;
|
2022-11-11 14:13:00 -03:00
|
|
|
class RadialGradientStyleValue;
|
2025-12-10 09:15:17 -03:00
|
|
|
class RadialSizeStyleValue;
|
2025-11-03 21:35:17 -03:00
|
|
|
class RandomValueSharingStyleValue;
|
2023-06-06 11:42:43 -03:00
|
|
|
class Ratio;
|
|
|
|
|
class RatioStyleValue;
|
2022-07-31 13:46:35 -03:00
|
|
|
class RectStyleValue;
|
2025-07-18 15:36:09 -03:00
|
|
|
class RepeatStyleStyleValue;
|
2022-02-21 14:51:01 -03:00
|
|
|
class Resolution;
|
|
|
|
|
class ResolutionStyleValue;
|
2021-10-15 08:06:30 -03:00
|
|
|
class Screen;
|
2024-04-02 17:44:05 -03:00
|
|
|
class ScreenOrientation;
|
2024-06-26 19:19:38 -03:00
|
|
|
class ScrollbarGutterStyleValue;
|
2021-10-15 08:06:30 -03:00
|
|
|
class Selector;
|
2022-03-23 13:55:22 -03:00
|
|
|
class ShadowStyleValue;
|
2023-09-19 08:21:15 -03:00
|
|
|
class ShorthandStyleValue;
|
2022-09-25 10:13:09 -03:00
|
|
|
class Size;
|
2026-05-14 08:46:17 -03:00
|
|
|
class SizeFeature;
|
2025-05-26 18:36:12 -03:00
|
|
|
class ScrollbarColorStyleValue;
|
2021-09-23 15:54:19 -03:00
|
|
|
class StringStyleValue;
|
2021-10-15 08:06:30 -03:00
|
|
|
class StyleComputer;
|
2025-08-11 11:11:49 -03:00
|
|
|
class StylePropertyMap;
|
2025-08-11 10:28:57 -03:00
|
|
|
class StylePropertyMapReadOnly;
|
LibWeb: Add StyleScope to keep style caches per Document/ShadowRoot
Before this change, we've been maintaining various StyleComputer caches
at the document level.
This made sense for old-school documents without shadow trees, since
all the style information was document-wide anyway. However, documents
with many shadow trees ended up suffering since any time you mutated
a style sheet inside a shadow tree, *all* style caches for the entire
document would get invalidated.
This was particularly expensive on Reddit, which has tons of shadow
trees with their own style elements. Every time we'd create one of their
custom elements, we'd invalidate the document-level "rule cache" and
have to rebuild it, taking about ~60ms each time (ouch).
This commit introduces a new object called StyleScope.
Every Document and ShadowRoot has its own StyleScope. Rule caches etc
are moved from StyleComputer to StyleScope.
Rule cache invalidation now happens at StyleScope level. As an example,
rule cache rebuilds now take ~1ms on Reddit instead of ~60ms.
This is largely a mechanical change, moving things around, but there's
one key detail to be aware of: due to the :host selector, which works
across the shadow DOM boundary and reaches from inside a shadow tree out
into the light tree, there are various places where we have to check
both the shadow tree's StyleScope *and* the document-level StyleScope
in order to get all rules that may apply.
2025-11-13 15:08:08 -03:00
|
|
|
class StyleScope;
|
2021-10-15 08:06:30 -03:00
|
|
|
class StyleSheet;
|
2022-03-09 15:57:15 -03:00
|
|
|
class StyleSheetList;
|
2025-08-08 06:11:51 -03:00
|
|
|
class StyleValue;
|
2021-10-15 08:06:30 -03:00
|
|
|
class StyleValueList;
|
2025-10-08 06:43:27 -03:00
|
|
|
class SuperellipseStyleValue;
|
2021-10-15 08:06:30 -03:00
|
|
|
class Supports;
|
2023-06-06 16:40:10 -03:00
|
|
|
class SVGPaint;
|
2025-11-18 07:53:25 -03:00
|
|
|
class TextIndentStyleValue;
|
2025-09-13 04:27:52 -03:00
|
|
|
class TextUnderlinePositionStyleValue;
|
2022-02-21 16:29:43 -03:00
|
|
|
class Time;
|
2023-04-17 12:04:07 -03:00
|
|
|
class TimePercentage;
|
2022-02-21 16:29:43 -03:00
|
|
|
class TimeStyleValue;
|
2026-03-05 22:30:10 -03:00
|
|
|
template<typename T>
|
|
|
|
|
class TokenStream;
|
2021-09-23 15:54:19 -03:00
|
|
|
class TransformationStyleValue;
|
2025-10-01 04:02:33 -03:00
|
|
|
class TreeCountingFunctionStyleValue;
|
2026-02-17 06:15:22 -03:00
|
|
|
class TupleStyleValue;
|
2025-03-27 14:35:06 -03:00
|
|
|
class UnicodeRangeStyleValue;
|
2021-12-03 09:28:14 -03:00
|
|
|
class UnresolvedStyleValue;
|
2025-04-08 10:33:01 -03:00
|
|
|
class URL;
|
2024-10-17 09:45:20 -03:00
|
|
|
class URLStyleValue;
|
2023-06-17 11:40:35 -03:00
|
|
|
class VisualViewport;
|
2022-04-12 07:32:18 -03:00
|
|
|
|
2026-01-15 04:16:31 -03:00
|
|
|
enum class FontFeatureValueType : u8;
|
2025-05-19 08:51:01 -03:00
|
|
|
enum class Keyword : u16;
|
2025-05-19 08:32:37 -03:00
|
|
|
enum class MediaFeatureID : u8;
|
2025-05-19 08:51:01 -03:00
|
|
|
enum class PropertyID : u16;
|
2026-05-14 08:46:17 -03:00
|
|
|
enum class SizeFeatureID : u8;
|
2025-10-24 10:11:58 -03:00
|
|
|
enum class ValueType : u8;
|
2025-11-16 05:16:01 -03:00
|
|
|
enum class AnimatedPropertyResultOfTransition : u8;
|
2026-02-19 02:30:55 -03:00
|
|
|
|
|
|
|
|
enum class AbsoluteSize : u8;
|
|
|
|
|
enum class AnchorSize : u8;
|
|
|
|
|
enum class AnimationComposition : u8;
|
|
|
|
|
enum class AnimationDirection : u8;
|
|
|
|
|
enum class AnimationFillMode : u8;
|
2025-11-12 06:59:03 -03:00
|
|
|
enum class AnimationPlayState : u8;
|
2026-02-19 02:30:55 -03:00
|
|
|
enum class Axis : u8;
|
2026-02-18 18:51:45 -03:00
|
|
|
enum class CommonLigValue : u8;
|
|
|
|
|
enum class ContextualAltValue : u8;
|
2026-02-19 02:30:55 -03:00
|
|
|
enum class CounterStyleSystem : u8;
|
|
|
|
|
enum class CrossOriginModifierValue : u8;
|
|
|
|
|
enum class Direction : u8;
|
2026-02-18 18:51:45 -03:00
|
|
|
enum class DiscretionaryLigValue : u8;
|
2026-02-19 02:30:55 -03:00
|
|
|
enum class DisplayBox : u8;
|
|
|
|
|
enum class DisplayInside : u8;
|
|
|
|
|
enum class DisplayInternal : u8;
|
|
|
|
|
enum class DisplayOutside : u8;
|
2026-02-18 07:13:36 -03:00
|
|
|
enum class EastAsianVariant : u8;
|
|
|
|
|
enum class EastAsianWidth : u8;
|
2026-02-19 02:30:55 -03:00
|
|
|
enum class FontDisplay : u8;
|
|
|
|
|
enum class FontKerning : u8;
|
|
|
|
|
enum class FontOpticalSizing : u8;
|
|
|
|
|
enum class FontStyleKeyword : u8;
|
|
|
|
|
enum class FontTech : u8;
|
|
|
|
|
enum class FontVariantCaps : u8;
|
|
|
|
|
enum class FontVariantEmoji : u8;
|
|
|
|
|
enum class FontVariantPosition : u8;
|
2026-02-18 18:51:45 -03:00
|
|
|
enum class HistoricalLigValue : u8;
|
2026-02-19 02:30:55 -03:00
|
|
|
enum class HueInterpolationMethod : u8;
|
|
|
|
|
enum class ImageRendering : u8;
|
|
|
|
|
enum class MixBlendMode : u8;
|
2026-02-19 06:57:35 -03:00
|
|
|
enum class NumericFigureValue : u8;
|
|
|
|
|
enum class NumericSpacingValue : u8;
|
|
|
|
|
enum class NumericFractionValue : u8;
|
2026-02-19 02:30:55 -03:00
|
|
|
enum class PaintOrder : u8;
|
|
|
|
|
enum class PositionEdge : u8;
|
|
|
|
|
enum class RadialExtent : u8;
|
|
|
|
|
enum class ReferrerPolicyModifierValue : u8;
|
|
|
|
|
enum class RelativeSize : u8;
|
|
|
|
|
enum class Repetition : u8;
|
|
|
|
|
enum class RoundingStrategy : u8;
|
|
|
|
|
enum class Scroller : u8;
|
|
|
|
|
enum class StepPosition : u8;
|
|
|
|
|
enum class StrokeLinecap : u8;
|
|
|
|
|
enum class StrokeLinejoin : u8;
|
2026-02-26 23:36:12 -03:00
|
|
|
enum class SymbolsType : u8;
|
2026-02-19 02:30:55 -03:00
|
|
|
enum class TextRendering : u8;
|
|
|
|
|
enum class TextUnderlinePositionHorizontal : u8;
|
|
|
|
|
enum class TextUnderlinePositionVertical : u8;
|
|
|
|
|
enum class TransitionBehavior : u8;
|
|
|
|
|
enum class WritingMode : u8;
|
2023-05-08 02:51:03 -03:00
|
|
|
|
|
|
|
|
struct BackgroundLayerData;
|
2025-10-10 13:46:05 -03:00
|
|
|
struct CalculationContext;
|
2025-06-28 21:56:28 -03:00
|
|
|
struct CalculationResolutionContext;
|
2026-03-29 20:21:07 -03:00
|
|
|
struct ComputationContext;
|
2026-03-06 10:07:49 -03:00
|
|
|
struct FunctionParameterInternal;
|
2025-06-16 17:27:17 -03:00
|
|
|
struct GridRepeatParams;
|
2025-10-24 10:11:58 -03:00
|
|
|
struct LogicalAliasMappingContext;
|
2026-02-09 20:55:35 -03:00
|
|
|
struct NormalGap;
|
2025-11-04 21:27:48 -03:00
|
|
|
struct RandomCachingKey;
|
2026-02-11 02:15:39 -03:00
|
|
|
struct RequiredInvalidationAfterStyleChange;
|
2024-10-17 09:45:20 -03:00
|
|
|
struct StyleSheetIdentifier;
|
2025-12-27 20:07:09 -03:00
|
|
|
struct TransitionProperties;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2025-11-28 04:07:13 -03:00
|
|
|
// https://drafts.css-houdini.org/css-typed-om-1/#typedefdef-cssnumberish
|
2026-05-20 15:58:46 -03:00
|
|
|
using CSSNumberish = Variant<double, GC::Ref<CSSNumericValue>>;
|
2025-10-23 22:27:15 -03:00
|
|
|
using PaintOrderList = Array<PaintOrder, 3>;
|
2026-01-04 00:27:41 -03:00
|
|
|
using StyleValueVector = Vector<ValueComparingNonnullRefPtr<StyleValue const>>;
|
2026-02-17 06:15:22 -03:00
|
|
|
using StyleValueTuple = Vector<ValueComparingRefPtr<StyleValue const>>;
|
2025-10-23 22:27:15 -03:00
|
|
|
|
2026-02-14 20:37:02 -03:00
|
|
|
using FilterValue = Variant<FilterOperation::Blur, FilterOperation::DropShadow, FilterOperation::HueRotate, FilterOperation::Color, URL>;
|
|
|
|
|
|
2020-07-26 15:01:35 -03:00
|
|
|
}
|
|
|
|
|
|
2026-04-29 06:46:10 -03:00
|
|
|
namespace Web::CSS::Invalidation {
|
|
|
|
|
|
|
|
|
|
class StyleInvalidator;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2022-04-12 08:00:07 -03:00
|
|
|
namespace Web::CSS::Parser {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-04-12 08:13:10 -03:00
|
|
|
class ComponentValue;
|
2025-06-19 13:03:26 -03:00
|
|
|
class GuardedSubstitutionContexts;
|
2024-10-17 09:45:20 -03:00
|
|
|
class Parser;
|
2026-04-15 07:53:15 -03:00
|
|
|
class RustTokenizer;
|
2025-07-10 08:59:44 -03:00
|
|
|
class SyntaxNode;
|
2024-10-17 09:45:20 -03:00
|
|
|
class Token;
|
|
|
|
|
class Tokenizer;
|
|
|
|
|
|
|
|
|
|
struct AtRule;
|
2024-10-11 07:17:10 -03:00
|
|
|
struct Declaration;
|
|
|
|
|
struct Function;
|
2025-06-18 13:24:19 -03:00
|
|
|
struct GuaranteedInvalidValue;
|
2025-07-11 08:17:36 -03:00
|
|
|
struct ParsingParams;
|
2024-10-11 07:17:10 -03:00
|
|
|
struct QualifiedRule;
|
|
|
|
|
struct SimpleBlock;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-04-12 08:00:07 -03:00
|
|
|
}
|
|
|
|
|
|
2020-07-26 14:37:56 -03:00
|
|
|
namespace Web::DOM {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-09-01 22:12:49 -03:00
|
|
|
class AbortController;
|
|
|
|
|
class AbortSignal;
|
2025-06-18 06:19:56 -03:00
|
|
|
class AbstractElement;
|
2023-04-17 12:04:07 -03:00
|
|
|
class AbstractRange;
|
2022-12-11 15:38:27 -03:00
|
|
|
class AccessibilityTreeNode;
|
2026-03-30 12:15:58 -03:00
|
|
|
class AnchorNameMap;
|
2022-09-17 20:03:58 -03:00
|
|
|
class Attr;
|
2022-06-27 17:20:59 -03:00
|
|
|
class CDATASection;
|
2026-05-30 04:57:03 -03:00
|
|
|
class CaretPosition;
|
2020-08-17 15:14:30 -03:00
|
|
|
class CharacterData;
|
|
|
|
|
class Comment;
|
2021-09-27 12:10:56 -03:00
|
|
|
class CustomEvent;
|
2020-03-07 06:27:02 -03:00
|
|
|
class Document;
|
2020-08-17 15:14:30 -03:00
|
|
|
class DocumentFragment;
|
2021-09-25 20:03:42 -03:00
|
|
|
class DocumentLoadEventDelayer;
|
2023-05-04 09:48:53 -03:00
|
|
|
class DocumentObserver;
|
2020-07-18 17:17:17 -03:00
|
|
|
class DocumentType;
|
2022-02-16 16:43:24 -03:00
|
|
|
class DOMEventListener;
|
2020-11-13 03:08:06 -03:00
|
|
|
class DOMImplementation;
|
2021-10-18 12:53:40 -03:00
|
|
|
class DOMTokenList;
|
2024-10-30 21:03:07 -03:00
|
|
|
class EditingHostManager;
|
2020-03-07 06:27:02 -03:00
|
|
|
class Element;
|
2025-03-25 14:30:52 -03:00
|
|
|
class ElementByIdMap;
|
2020-03-21 14:17:18 -03:00
|
|
|
class Event;
|
2020-06-07 09:40:38 -03:00
|
|
|
class EventHandler;
|
2020-03-18 11:22:31 -03:00
|
|
|
class EventTarget;
|
2021-04-22 16:11:20 -03:00
|
|
|
class HTMLCollection;
|
2022-02-16 16:43:24 -03:00
|
|
|
class IDLEventListener;
|
2021-10-02 16:33:45 -03:00
|
|
|
class LiveNodeList;
|
2022-07-11 12:37:51 -03:00
|
|
|
class MutationObserver;
|
|
|
|
|
class MutationRecord;
|
2021-10-16 16:30:21 -03:00
|
|
|
class NamedNodeMap;
|
2020-07-26 14:37:56 -03:00
|
|
|
class Node;
|
2022-03-09 10:34:32 -03:00
|
|
|
class NodeFilter;
|
|
|
|
|
class NodeIterator;
|
2021-10-02 16:33:45 -03:00
|
|
|
class NodeList;
|
2020-07-26 14:37:56 -03:00
|
|
|
class ParentNode;
|
2020-08-02 06:47:27 -03:00
|
|
|
class Position;
|
2021-04-06 13:06:23 -03:00
|
|
|
class ProcessingInstruction;
|
2025-05-23 13:22:48 -03:00
|
|
|
class PseudoElement;
|
2024-10-17 09:45:20 -03:00
|
|
|
class Range;
|
2022-09-01 12:59:48 -03:00
|
|
|
class RegisteredObserver;
|
2021-02-10 14:20:49 -03:00
|
|
|
class ShadowRoot;
|
2026-01-28 10:12:46 -03:00
|
|
|
class SlotRegistry;
|
2021-10-02 16:33:45 -03:00
|
|
|
class StaticNodeList;
|
2022-01-30 20:37:42 -03:00
|
|
|
class StaticRange;
|
2026-05-15 02:38:12 -03:00
|
|
|
class SyntheticPseudoElement;
|
2020-07-26 14:37:56 -03:00
|
|
|
class Text;
|
2022-03-09 10:37:48 -03:00
|
|
|
class TreeWalker;
|
2023-04-05 19:00:08 -03:00
|
|
|
class XMLDocument;
|
2023-04-17 12:04:07 -03:00
|
|
|
|
2020-07-26 14:37:56 -03:00
|
|
|
enum class QuirksMode;
|
2026-02-08 12:42:02 -03:00
|
|
|
enum class SetNeedsLayoutReason;
|
2023-04-17 12:04:07 -03:00
|
|
|
|
2020-07-26 14:37:56 -03:00
|
|
|
}
|
|
|
|
|
|
2021-12-12 15:03:22 -03:00
|
|
|
namespace Web::Encoding {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-10-06 02:02:56 -03:00
|
|
|
class TextDecoder;
|
2021-12-12 15:03:22 -03:00
|
|
|
class TextEncoder;
|
2025-02-05 16:51:33 -03:00
|
|
|
class TextEncoderStream;
|
2024-10-17 09:45:20 -03:00
|
|
|
|
2021-12-12 15:03:22 -03:00
|
|
|
}
|
|
|
|
|
|
2025-07-31 07:43:03 -03:00
|
|
|
namespace Web::EncryptedMediaExtensions {
|
|
|
|
|
|
|
|
|
|
class MediaKeySystemAccess;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-23 15:41:19 -03:00
|
|
|
namespace Web::EntriesAPI {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-08-23 15:41:19 -03:00
|
|
|
class FileSystemEntry;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-08-23 15:41:19 -03:00
|
|
|
}
|
|
|
|
|
|
2024-09-22 16:12:55 -03:00
|
|
|
namespace Web::EventTiming {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-09-22 16:12:55 -03:00
|
|
|
class PerformanceEventTiming;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-09-22 16:12:55 -03:00
|
|
|
}
|
|
|
|
|
|
2022-07-18 20:19:24 -03:00
|
|
|
namespace Web::Fetch {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-09-25 15:30:24 -03:00
|
|
|
class BodyMixin;
|
2022-07-18 20:19:24 -03:00
|
|
|
class Headers;
|
|
|
|
|
class HeadersIterator;
|
2022-09-25 15:33:13 -03:00
|
|
|
class Request;
|
2022-09-25 15:36:30 -03:00
|
|
|
class Response;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-07-18 20:19:24 -03:00
|
|
|
}
|
|
|
|
|
|
2022-10-23 18:16:14 -03:00
|
|
|
namespace Web::Fetch::Fetching {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-10-23 18:16:14 -03:00
|
|
|
class PendingResponse;
|
|
|
|
|
class RefCountedFlag;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-10-23 18:16:14 -03:00
|
|
|
}
|
|
|
|
|
|
2022-07-17 19:52:02 -03:00
|
|
|
namespace Web::Fetch::Infrastructure {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-07-12 14:04:24 -03:00
|
|
|
class Body;
|
2022-10-13 14:23:43 -03:00
|
|
|
class FetchAlgorithms;
|
2022-10-13 14:21:50 -03:00
|
|
|
class FetchController;
|
2022-10-13 14:24:23 -03:00
|
|
|
class FetchParams;
|
2024-07-16 15:19:57 -03:00
|
|
|
class FetchRecord;
|
2024-10-17 09:45:20 -03:00
|
|
|
class FetchTimingInfo;
|
2024-05-17 17:06:27 -03:00
|
|
|
class IncrementalReadLoopReadRequest;
|
2022-07-13 20:51:42 -03:00
|
|
|
class Request;
|
2022-07-16 13:55:29 -03:00
|
|
|
class Response;
|
2023-04-17 12:04:07 -03:00
|
|
|
|
|
|
|
|
struct BodyWithType;
|
2025-01-23 13:15:35 -03:00
|
|
|
struct ConnectionTimingInfo;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-07-11 17:42:14 -03:00
|
|
|
}
|
|
|
|
|
|
2022-07-10 13:31:17 -03:00
|
|
|
namespace Web::FileAPI {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-07-10 13:31:17 -03:00
|
|
|
class Blob;
|
2022-07-24 16:32:18 -03:00
|
|
|
class File;
|
2024-08-17 15:26:55 -03:00
|
|
|
class FileList;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-07-10 13:31:17 -03:00
|
|
|
}
|
|
|
|
|
|
2025-07-22 10:11:18 -03:00
|
|
|
namespace Web::Gamepad {
|
|
|
|
|
|
2025-08-18 13:27:00 -03:00
|
|
|
class NavigatorGamepadPartial;
|
2025-07-22 10:11:18 -03:00
|
|
|
class Gamepad;
|
2025-08-18 13:27:00 -03:00
|
|
|
class GamepadButton;
|
|
|
|
|
class GamepadEvent;
|
|
|
|
|
class GamepadHapticActuator;
|
2025-07-22 10:11:18 -03:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2025-06-19 10:28:02 -03:00
|
|
|
namespace Web::Geolocation {
|
|
|
|
|
|
|
|
|
|
class Geolocation;
|
|
|
|
|
class GeolocationCoordinates;
|
|
|
|
|
class GeolocationPosition;
|
|
|
|
|
class GeolocationPositionError;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-26 19:55:13 -03:00
|
|
|
namespace Web::Geometry {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-02-27 15:04:51 -03:00
|
|
|
class DOMMatrix;
|
|
|
|
|
class DOMMatrixReadOnly;
|
2022-07-12 15:06:50 -03:00
|
|
|
class DOMPoint;
|
|
|
|
|
class DOMPointReadOnly;
|
2023-08-20 17:03:41 -03:00
|
|
|
class DOMQuad;
|
2021-09-26 19:55:13 -03:00
|
|
|
class DOMRect;
|
2022-02-12 10:38:54 -03:00
|
|
|
class DOMRectList;
|
2021-10-08 17:59:15 -03:00
|
|
|
class DOMRectReadOnly;
|
2024-10-17 09:45:20 -03:00
|
|
|
|
2021-09-26 19:55:13 -03:00
|
|
|
}
|
|
|
|
|
|
2020-07-28 13:20:36 -03:00
|
|
|
namespace Web::HTML {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-10-30 21:13:31 -03:00
|
|
|
class AnimationFrameCallbackDriver;
|
2023-06-12 14:52:30 -03:00
|
|
|
class AudioTrack;
|
|
|
|
|
class AudioTrackList;
|
2026-06-09 13:55:09 -03:00
|
|
|
class AutoplaySettings;
|
2025-03-04 18:51:08 -03:00
|
|
|
class BarProp;
|
2024-11-02 10:22:13 -03:00
|
|
|
class BeforeUnloadEvent;
|
2024-07-13 10:51:28 -03:00
|
|
|
class BroadcastChannel;
|
2021-11-18 11:01:28 -03:00
|
|
|
class BrowsingContext;
|
2022-09-19 07:28:46 -03:00
|
|
|
class BrowsingContextGroup;
|
2020-07-26 14:37:56 -03:00
|
|
|
class CanvasRenderingContext2D;
|
2026-06-15 14:29:43 -03:00
|
|
|
class RemoteCanvas2DTransport;
|
2021-10-14 12:12:53 -03:00
|
|
|
class ClassicScript;
|
2021-04-24 08:54:24 -03:00
|
|
|
class CloseEvent;
|
2024-06-21 18:53:05 -03:00
|
|
|
class CloseWatcher;
|
|
|
|
|
class CloseWatcherManager;
|
2023-03-29 19:46:18 -03:00
|
|
|
class CustomElementDefinition;
|
|
|
|
|
class CustomElementRegistry;
|
2025-07-03 13:32:10 -03:00
|
|
|
class CustomStateSet;
|
2024-08-16 14:40:56 -03:00
|
|
|
class DataTransfer;
|
2024-08-15 13:18:56 -03:00
|
|
|
class DataTransferItem;
|
2024-08-15 13:20:22 -03:00
|
|
|
class DataTransferItemList;
|
2023-05-10 14:36:43 -03:00
|
|
|
class DecodedImageData;
|
2022-12-12 16:55:34 -03:00
|
|
|
class DocumentState;
|
2021-07-05 01:20:31 -03:00
|
|
|
class DOMParser;
|
2024-07-14 08:31:50 -03:00
|
|
|
class DOMStringList;
|
2021-09-26 11:24:41 -03:00
|
|
|
class DOMStringMap;
|
2024-08-16 14:31:42 -03:00
|
|
|
class DragDataStore;
|
2024-07-08 13:33:12 -03:00
|
|
|
class DragEvent;
|
2024-06-24 17:54:42 -03:00
|
|
|
class ElementInternals;
|
2021-10-14 12:53:39 -03:00
|
|
|
class ErrorEvent;
|
2022-08-08 09:12:01 -03:00
|
|
|
class EventHandler;
|
2021-09-08 19:38:43 -03:00
|
|
|
class EventLoop;
|
2024-04-05 14:33:41 -03:00
|
|
|
class EventSource;
|
2026-01-20 10:36:21 -03:00
|
|
|
class External;
|
2024-02-03 11:37:22 -03:00
|
|
|
class FormAssociatedElement;
|
2023-02-03 17:50:10 -03:00
|
|
|
class FormDataEvent;
|
2023-03-05 17:21:35 -03:00
|
|
|
class History;
|
2024-04-01 03:44:24 -03:00
|
|
|
class HTMLAllCollection;
|
2020-07-26 14:37:56 -03:00
|
|
|
class HTMLAnchorElement;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLAreaElement;
|
|
|
|
|
class HTMLAudioElement;
|
|
|
|
|
class HTMLBaseElement;
|
2020-04-01 13:53:28 -03:00
|
|
|
class HTMLBodyElement;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLBRElement;
|
|
|
|
|
class HTMLButtonElement;
|
2020-03-19 15:07:56 -03:00
|
|
|
class HTMLCanvasElement;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLDataElement;
|
|
|
|
|
class HTMLDataListElement;
|
|
|
|
|
class HTMLDetailsElement;
|
|
|
|
|
class HTMLDialogElement;
|
2020-11-12 01:16:41 -03:00
|
|
|
class HTMLDirectoryElement;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLDivElement;
|
|
|
|
|
class HTMLDListElement;
|
2020-03-29 17:24:23 -03:00
|
|
|
class HTMLElement;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLEmbedElement;
|
|
|
|
|
class HTMLFieldSetElement;
|
|
|
|
|
class HTMLFontElement;
|
2024-11-02 10:22:13 -03:00
|
|
|
class HTMLFormControlsCollection;
|
2020-05-23 19:12:27 -03:00
|
|
|
class HTMLFormElement;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLFrameElement;
|
|
|
|
|
class HTMLFrameSetElement;
|
2020-04-01 13:53:28 -03:00
|
|
|
class HTMLHeadElement;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLHeadingElement;
|
|
|
|
|
class HTMLHRElement;
|
2020-04-01 13:53:28 -03:00
|
|
|
class HTMLHtmlElement;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLIFrameElement;
|
2020-04-14 15:37:01 -03:00
|
|
|
class HTMLImageElement;
|
2020-08-09 13:10:41 -03: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 08:58:28 -03:00
|
|
|
class HTMLOptionsCollection;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLOutputElement;
|
|
|
|
|
class HTMLParagraphElement;
|
|
|
|
|
class HTMLParamElement;
|
2021-10-15 08:06:30 -03:00
|
|
|
class HTMLParser;
|
LibWeb: Replace spin_until in HTMLParser::the_end() with state machine
HTMLParser::the_end() had three spin_until calls that blocked the event
loop: step 5 (deferred scripts), step 7 (ASAP scripts), and step 8
(load event delay). This replaces them with an HTMLParserEndState state
machine that progresses asynchronously via callbacks.
The state machine has three phases matching the three spin_until calls:
- WaitingForDeferredScripts: loops executing ready deferred scripts
- WaitingForASAPScripts: waits for ASAP script lists to empty
- WaitingForLoadEventDelay: waits for nothing to delay the load event
Notification triggers re-evaluate the state machine when conditions
change: HTMLScriptElement::mark_as_ready, stylesheet unblocking in
StyleElementBase/HTMLLinkElement, did_stop_being_active_document, and
DocumentLoadEventDelayer decrements. NavigableContainer state changes
(session history readiness, content navigable cleared, lazy load flag)
also trigger re-evaluation of the load event delay check.
Key design decisions and why:
1. Microtask checkpoint in schedule_progress_check(): The old spin_until
called perform_a_microtask_checkpoint() before checking conditions.
This is critical because HTMLImageElement::update_the_image_data step
8 queues a microtask that creates the DocumentLoadEventDelayer.
Without the checkpoint, check_progress() would see zero delayers and
complete before images start delaying the load event.
2. deferred_invoke in schedule_progress_check():
I tried Core::Timer (0ms), queue_global_task, and synchronous calls.
Timers caused non-deterministic ordering with the HTML event loop's
task processing timer, leading to image layout tests failing (wrong
subtest pass/fail patterns). Synchronous calls fired too early during
image load processing before dimensions were set, causing 0-height
images in layout tests. queue_global_task had task ordering issues
with the session history traversal queue. deferred_invoke runs after
the current callback returns but within the same event loop pump,
giving the right balance.
3. Navigation load event guard (m_navigation_load_event_guard): During
cross-document navigation, finalize_a_cross_document_navigation step
2 calls set_delaying_load_events(false) before the session history
traversal activates the new document. This creates a transient state
where the parent's load event delay check sees the about:blank (which
has ready_for_post_load_tasks=true) as the active document and
completes prematurely.
2026-03-28 05:39:51 -03:00
|
|
|
class HTMLParserEndState;
|
2026-04-25 22:21:39 -03:00
|
|
|
class SpeculativeHTMLParser;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLPictureElement;
|
|
|
|
|
class HTMLPreElement;
|
|
|
|
|
class HTMLProgressElement;
|
|
|
|
|
class HTMLQuoteElement;
|
2020-05-24 17:00:10 -03:00
|
|
|
class HTMLScriptElement;
|
2025-12-07 21:37:54 -03:00
|
|
|
class HTMLSelectedContentElement;
|
2020-08-09 13:10:41 -03:00
|
|
|
class HTMLSelectElement;
|
|
|
|
|
class HTMLSlotElement;
|
|
|
|
|
class HTMLSourceElement;
|
|
|
|
|
class HTMLSpanElement;
|
|
|
|
|
class HTMLStyleElement;
|
2023-06-02 16:08:14 -03:00
|
|
|
class HTMLSummaryElement;
|
2020-08-09 13:10:41 -03: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 22:48:58 -03:00
|
|
|
class ImageBitmap;
|
2020-04-21 18:49:51 -03:00
|
|
|
class ImageData;
|
2023-05-10 14:36:43 -03:00
|
|
|
class ImageRequest;
|
2023-05-11 01:12:45 -03:00
|
|
|
class ListOfAvailableImages;
|
2023-01-18 14:41:12 -03:00
|
|
|
class Location;
|
2023-04-22 15:39:20 -03:00
|
|
|
class MediaError;
|
2021-09-19 17:12:31 -03:00
|
|
|
class MessageChannel;
|
2021-04-24 08:54:24 -03:00
|
|
|
class MessageEvent;
|
2021-09-19 17:12:31 -03:00
|
|
|
class MessagePort;
|
2023-02-27 21:23:53 -03:00
|
|
|
class MimeType;
|
|
|
|
|
class MimeTypeArray;
|
2024-10-26 03:46:13 -03:00
|
|
|
class ModuleMap;
|
2022-12-12 07:46:54 -03:00
|
|
|
class Navigable;
|
2022-12-12 08:20:02 -03:00
|
|
|
class NavigableContainer;
|
2023-08-23 21:40:42 -03:00
|
|
|
class NavigateEvent;
|
2023-08-23 13:57:12 -03:00
|
|
|
class Navigation;
|
2023-08-23 13:53:11 -03:00
|
|
|
class NavigationCurrentEntryChangeEvent;
|
2023-08-23 21:40:42 -03:00
|
|
|
class NavigationDestination;
|
2023-08-23 13:47:05 -03:00
|
|
|
class NavigationHistoryEntry;
|
2024-10-25 11:26:01 -03:00
|
|
|
class NavigationObserver;
|
2023-08-23 18:34:02 -03:00
|
|
|
class NavigationTransition;
|
2022-10-08 23:53:08 -03:00
|
|
|
class Navigator;
|
2025-03-06 20:19:45 -03:00
|
|
|
class OffscreenCanvas;
|
|
|
|
|
class OffscreenCanvasRenderingContext2D;
|
2021-09-27 13:20:16 -03:00
|
|
|
class PageTransitionEvent;
|
2022-08-11 12:50:23 -03:00
|
|
|
class Path2D;
|
2023-02-27 21:23:53 -03:00
|
|
|
class Plugin;
|
|
|
|
|
class PluginArray;
|
2025-11-27 10:52:14 -03:00
|
|
|
class PopoverTargetAttributes;
|
2026-04-25 22:21:39 -03:00
|
|
|
class PreloadEntry;
|
|
|
|
|
struct PreloadKey;
|
2021-10-11 08:59:45 -03:00
|
|
|
class PromiseRejectionEvent;
|
2024-11-02 10:22:13 -03:00
|
|
|
class RadioNodeList;
|
2024-02-25 15:02:47 -03:00
|
|
|
class SelectedFile;
|
2024-10-17 09:45:20 -03:00
|
|
|
class SessionHistoryEntry;
|
2024-08-03 00:27:08 -03:00
|
|
|
class SharedResourceRequest;
|
2025-05-02 13:06:41 -03:00
|
|
|
class SharedWorker;
|
|
|
|
|
class SharedWorkerGlobalScope;
|
2022-02-08 15:38:29 -03:00
|
|
|
class Storage;
|
2021-09-27 13:20:16 -03:00
|
|
|
class SubmitEvent;
|
2021-12-30 19:15:38 -03:00
|
|
|
class TextMetrics;
|
2024-06-09 06:32:20 -03:00
|
|
|
class TextTrack;
|
2024-09-19 15:41:57 -03:00
|
|
|
class TextTrackCue;
|
2024-09-20 19:06:51 -03:00
|
|
|
class TextTrackCueList;
|
2024-06-09 07:07:41 -03:00
|
|
|
class TextTrackList;
|
2025-06-12 09:51:45 -03:00
|
|
|
class TextTrackObserver;
|
2022-03-07 19:54:56 -03:00
|
|
|
class Timer;
|
2023-04-18 17:19:37 -03:00
|
|
|
class TimeRanges;
|
2023-08-31 14:28:49 -03:00
|
|
|
class ToggleEvent;
|
2023-04-04 10:28:59 -03:00
|
|
|
class TrackEvent;
|
2025-07-17 10:51:04 -03:00
|
|
|
class TransferDataDecoder;
|
|
|
|
|
class TransferDataEncoder;
|
2022-12-12 08:01:09 -03:00
|
|
|
class TraversableNavigable;
|
2024-05-25 08:40:44 -03:00
|
|
|
class UserActivation;
|
2024-06-09 00:13:38 -03:00
|
|
|
class ValidityState;
|
2023-04-04 10:26:02 -03:00
|
|
|
class VideoTrack;
|
|
|
|
|
class VideoTrackList;
|
2022-03-07 19:08:26 -03:00
|
|
|
class Window;
|
2021-10-14 12:12:53 -03:00
|
|
|
class WindowEnvironmentSettingsObject;
|
2022-09-24 12:24:41 -03:00
|
|
|
class WindowProxy;
|
2022-02-17 09:31:09 -03:00
|
|
|
class Worker;
|
2025-04-23 23:08:39 -03:00
|
|
|
class WorkerAgentParent;
|
2023-04-17 12:04:07 -03:00
|
|
|
class WorkerDebugConsoleClient;
|
2022-02-17 09:31:09 -03:00
|
|
|
class WorkerEnvironmentSettingsObject;
|
2022-02-06 23:12:57 -03:00
|
|
|
class WorkerGlobalScope;
|
|
|
|
|
class WorkerLocation;
|
|
|
|
|
class WorkerNavigator;
|
2025-03-03 10:04:14 -03:00
|
|
|
class XMLSerializer;
|
2023-04-11 19:37:00 -03:00
|
|
|
|
2024-02-25 15:02:47 -03:00
|
|
|
enum class AllowMultipleFiles;
|
2026-02-11 05:20:13 -03:00
|
|
|
enum class RequireWellFormed;
|
2023-08-31 14:28:49 -03:00
|
|
|
enum class SandboxingFlagSet;
|
2023-04-17 12:04:07 -03:00
|
|
|
|
2025-01-04 07:12:55 -03:00
|
|
|
struct Agent;
|
2026-04-10 16:18:00 -03:00
|
|
|
struct BroadcastChannelMessage;
|
2025-07-17 14:40:50 -03:00
|
|
|
struct DeserializedTransferRecord;
|
2024-10-17 09:45:20 -03:00
|
|
|
struct EmbedderPolicy;
|
2023-04-17 12:04:07 -03:00
|
|
|
struct Environment;
|
|
|
|
|
struct EnvironmentSettingsObject;
|
|
|
|
|
struct NavigationParams;
|
2024-10-17 09:45:20 -03:00
|
|
|
struct OpenerPolicy;
|
|
|
|
|
struct OpenerPolicyEnforcementResult;
|
2025-10-16 10:07:09 -03:00
|
|
|
struct PaintConfig;
|
2023-04-17 12:04:07 -03:00
|
|
|
struct PolicyContainer;
|
2023-08-31 14:28:49 -03:00
|
|
|
struct POSTResource;
|
2023-04-17 12:04:07 -03:00
|
|
|
struct SerializedFormData;
|
2024-11-25 11:30:12 -03:00
|
|
|
struct SerializedPolicyContainer;
|
2025-07-17 14:40:50 -03:00
|
|
|
struct SerializedTransferRecord;
|
2025-10-16 10:07:09 -03:00
|
|
|
struct SourceSnapshotParams;
|
2023-08-31 14:53:17 -03:00
|
|
|
struct ToggleTaskTracker;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2020-07-28 13:20:36 -03:00
|
|
|
}
|
|
|
|
|
|
2020-09-29 13:19:18 -03:00
|
|
|
namespace Web::HighResolutionTime {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2020-09-29 13:19:18 -03:00
|
|
|
class Performance;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2020-09-29 13:19:18 -03:00
|
|
|
}
|
|
|
|
|
|
2024-05-19 02:58:06 -03:00
|
|
|
namespace Web::IndexedDB {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-11-04 14:44:43 -03:00
|
|
|
class Database;
|
2024-11-07 14:49:31 -03:00
|
|
|
class IDBCursor;
|
2025-05-13 06:04:55 -03:00
|
|
|
class IDBCursorWithValue;
|
2024-11-04 14:53:05 -03:00
|
|
|
class IDBDatabase;
|
2024-11-07 14:52:59 -03:00
|
|
|
class IDBFactory;
|
|
|
|
|
class IDBIndex;
|
2024-11-07 15:04:11 -03:00
|
|
|
class IDBKeyRange;
|
2024-11-07 14:56:26 -03:00
|
|
|
class IDBObjectStore;
|
2024-05-19 03:07:06 -03:00
|
|
|
class IDBOpenDBRequest;
|
2025-07-09 09:35:33 -03:00
|
|
|
class IDBRecord;
|
2024-05-19 03:03:00 -03:00
|
|
|
class IDBRequest;
|
2024-11-07 15:00:20 -03:00
|
|
|
class IDBTransaction;
|
2024-11-04 15:17:54 -03:00
|
|
|
class IDBVersionChangeEvent;
|
2025-04-01 13:26:13 -03:00
|
|
|
class Index;
|
2026-06-17 08:14:00 -03:00
|
|
|
class Key;
|
2025-03-24 16:29:33 -03:00
|
|
|
class ObjectStore;
|
2025-01-08 19:55:08 -03:00
|
|
|
class RequestList;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-05-19 02:58:06 -03:00
|
|
|
}
|
|
|
|
|
|
2023-07-21 06:59:49 -03:00
|
|
|
namespace Web::Internals {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2025-11-15 15:18:33 -03:00
|
|
|
class FakeXRDevice;
|
2023-07-21 06:59:49 -03:00
|
|
|
class Internals;
|
2025-08-18 13:28:06 -03:00
|
|
|
class InternalGamepad;
|
2025-03-24 10:27:36 -03:00
|
|
|
class WebUI;
|
2025-11-15 15:18:33 -03:00
|
|
|
class XRTest;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-07-21 06:59:49 -03:00
|
|
|
}
|
|
|
|
|
|
2021-10-13 15:20:50 -03:00
|
|
|
namespace Web::IntersectionObserver {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-10-13 15:20:50 -03:00
|
|
|
class IntersectionObserver;
|
2023-07-06 19:44:07 -03:00
|
|
|
class IntersectionObserverEntry;
|
2024-10-17 09:45:20 -03:00
|
|
|
|
2021-10-13 15:20:50 -03:00
|
|
|
}
|
|
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
namespace Web::Layout {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-06-12 14:55:43 -03:00
|
|
|
class AudioBox;
|
2023-04-17 12:04:07 -03:00
|
|
|
class BlockContainer;
|
|
|
|
|
class BlockFormattingContext;
|
|
|
|
|
class Box;
|
|
|
|
|
class ButtonBox;
|
|
|
|
|
class CheckBox;
|
2024-11-05 05:07:13 -03:00
|
|
|
class FieldSetBox;
|
2023-04-17 12:04:07 -03:00
|
|
|
class FlexFormattingContext;
|
|
|
|
|
class FormattingContext;
|
2024-02-18 22:08:46 -03:00
|
|
|
class ImageBox;
|
2023-04-17 12:04:07 -03:00
|
|
|
class InlineFormattingContext;
|
2024-10-17 09:45:20 -03:00
|
|
|
class InlineNode;
|
2023-04-17 12:04:07 -03:00
|
|
|
class Label;
|
2024-11-05 05:07:13 -03:00
|
|
|
class LegendBox;
|
2023-04-17 12:04:07 -03:00
|
|
|
class LineBox;
|
|
|
|
|
class LineBoxFragment;
|
|
|
|
|
class ListItemBox;
|
|
|
|
|
class ListItemMarkerBox;
|
|
|
|
|
class Node;
|
|
|
|
|
class NodeWithStyle;
|
|
|
|
|
class NodeWithStyleAndBoxModelMetrics;
|
|
|
|
|
class RadioButton;
|
|
|
|
|
class ReplacedBox;
|
2026-02-05 22:26:56 -03:00
|
|
|
class SVGSVGBox;
|
2023-04-17 12:04:07 -03:00
|
|
|
class TableWrapper;
|
|
|
|
|
class TextNode;
|
2026-04-12 14:27:36 -03:00
|
|
|
class TextOffsetMapping;
|
2023-05-08 02:02:43 -03:00
|
|
|
class TreeBuilder;
|
2023-04-17 12:04:07 -03:00
|
|
|
class VideoBox;
|
|
|
|
|
class Viewport;
|
|
|
|
|
|
|
|
|
|
enum class LayoutMode;
|
|
|
|
|
|
|
|
|
|
struct LayoutState;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
}
|
|
|
|
|
|
2023-07-05 22:24:51 -03:00
|
|
|
namespace Web::MathML {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-07-05 22:24:51 -03:00
|
|
|
class MathMLElement;
|
2025-09-20 17:54:45 -03:00
|
|
|
class MathMLMiElement;
|
|
|
|
|
class MathMLMspaceElement;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-07-05 22:24:51 -03:00
|
|
|
}
|
|
|
|
|
|
2024-09-04 19:52:21 -03:00
|
|
|
namespace Web::MediaCapabilitiesAPI {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-09-04 19:52:21 -03:00
|
|
|
class MediaCapabilities;
|
2025-02-12 13:29:29 -03:00
|
|
|
|
2024-09-04 19:52:21 -03:00
|
|
|
}
|
|
|
|
|
|
2024-11-01 10:03:15 -03:00
|
|
|
namespace Web::MediaSourceExtensions {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-11-01 10:03:15 -03:00
|
|
|
class BufferedChangeEvent;
|
|
|
|
|
class ManagedMediaSource;
|
|
|
|
|
class ManagedSourceBuffer;
|
|
|
|
|
class MediaSource;
|
|
|
|
|
class MediaSourceHandle;
|
|
|
|
|
class SourceBuffer;
|
|
|
|
|
class SourceBufferList;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-11-01 10:03:15 -03:00
|
|
|
}
|
|
|
|
|
|
2022-02-11 17:53:47 -03:00
|
|
|
namespace Web::MimeSniff {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-02-11 17:53:47 -03:00
|
|
|
class MimeType;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-02-11 17:53:47 -03:00
|
|
|
}
|
|
|
|
|
|
2021-01-18 11:06:13 -03:00
|
|
|
namespace Web::NavigationTiming {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-08-01 22:50:52 -03:00
|
|
|
class PerformanceNavigation;
|
2021-01-18 11:06:13 -03:00
|
|
|
class PerformanceTiming;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-01-18 11:06:13 -03:00
|
|
|
}
|
|
|
|
|
|
2025-09-17 04:14:38 -03:00
|
|
|
namespace Web::NotificationsAPI {
|
|
|
|
|
|
|
|
|
|
class Notification;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2022-03-09 19:53:41 -03:00
|
|
|
namespace Web::Painting {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-06-12 14:55:43 -03:00
|
|
|
class AudioPaintable;
|
2022-03-10 18:46:35 -03:00
|
|
|
class CheckBoxPaintable;
|
2024-11-23 12:47:32 -03:00
|
|
|
class FieldSetPaintable;
|
2023-06-12 09:21:35 -03:00
|
|
|
class MediaPaintable;
|
2022-03-10 07:26:01 -03:00
|
|
|
class Paintable;
|
2022-03-10 11:50:57 -03:00
|
|
|
class PaintableBox;
|
2022-03-10 07:26:01 -03:00
|
|
|
class PaintableWithLines;
|
2025-07-10 14:24:30 -03:00
|
|
|
class ScrollStateSnapshot;
|
2022-03-10 20:03:28 -03:00
|
|
|
class StackingContext;
|
2022-03-10 18:46:35 -03:00
|
|
|
class TextPaintable;
|
2023-04-04 19:32:09 -03:00
|
|
|
class VideoPaintable;
|
2023-08-19 04:29:04 -03:00
|
|
|
class ViewportPaintable;
|
2023-04-17 12:04:07 -03:00
|
|
|
|
|
|
|
|
enum class PaintPhase;
|
2022-06-20 08:09:11 -03:00
|
|
|
struct BorderRadiiData;
|
2023-04-17 12:04:07 -03:00
|
|
|
struct BorderRadiusData;
|
2022-07-30 21:11:59 -03:00
|
|
|
struct LinearGradientData;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-03-09 19:53:41 -03:00
|
|
|
}
|
|
|
|
|
|
2023-03-22 16:12:57 -03:00
|
|
|
namespace Web::PerformanceTimeline {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-03-22 16:12:57 -03:00
|
|
|
class PerformanceEntry;
|
2023-08-24 21:26:47 -03:00
|
|
|
class PerformanceObserver;
|
|
|
|
|
class PerformanceObserverEntryList;
|
2024-10-17 09:45:20 -03:00
|
|
|
|
2023-03-22 16:12:57 -03:00
|
|
|
}
|
|
|
|
|
|
2026-04-11 09:01:27 -03:00
|
|
|
namespace Web::PermissionsAPI {
|
|
|
|
|
|
|
|
|
|
class Permissions;
|
|
|
|
|
class PermissionStatus;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2022-09-07 15:30:31 -03:00
|
|
|
namespace Web::Platform {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-09-07 15:30:31 -03:00
|
|
|
class Timer;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-09-07 15:30:31 -03:00
|
|
|
}
|
|
|
|
|
|
2022-09-23 20:29:45 -03:00
|
|
|
namespace Web::ReferrerPolicy {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-09-23 20:29:45 -03:00
|
|
|
enum class ReferrerPolicy;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-09-23 20:29:45 -03:00
|
|
|
}
|
|
|
|
|
|
2021-09-16 20:42:36 -03:00
|
|
|
namespace Web::RequestIdleCallback {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-09-16 20:42:36 -03:00
|
|
|
class IdleDeadline;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-09-16 20:42:36 -03:00
|
|
|
}
|
|
|
|
|
|
2021-10-10 19:18:07 -03:00
|
|
|
namespace Web::ResizeObserver {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-10-10 19:18:07 -03:00
|
|
|
class ResizeObserver;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-10-10 19:18:07 -03:00
|
|
|
}
|
|
|
|
|
|
2025-02-26 12:51:05 -03:00
|
|
|
namespace Web::ResourceTiming {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2025-02-26 12:51:05 -03:00
|
|
|
class PerformanceResourceTiming;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2025-02-26 12:51:05 -03:00
|
|
|
}
|
|
|
|
|
|
2022-09-21 19:27:13 -03:00
|
|
|
namespace Web::Selection {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-09-21 19:27:13 -03:00
|
|
|
class Selection;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-09-21 19:27:13 -03:00
|
|
|
}
|
|
|
|
|
|
2025-08-06 04:07:40 -03:00
|
|
|
namespace Web::Serial {
|
|
|
|
|
|
|
|
|
|
class Serial;
|
|
|
|
|
class SerialPort;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2024-11-30 02:01:40 -03:00
|
|
|
namespace Web::ServiceWorker {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2026-04-01 14:47:03 -03:00
|
|
|
class Cache;
|
2026-04-01 20:32:53 -03:00
|
|
|
class CacheStorage;
|
2024-11-30 02:01:40 -03:00
|
|
|
class ServiceWorker;
|
|
|
|
|
class ServiceWorkerContainer;
|
|
|
|
|
class ServiceWorkerRegistration;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-11-30 02:01:40 -03:00
|
|
|
}
|
|
|
|
|
|
2026-01-19 11:36:58 -03:00
|
|
|
namespace Web::Speech {
|
|
|
|
|
|
|
|
|
|
class SpeechGrammar;
|
|
|
|
|
class SpeechGrammarList;
|
|
|
|
|
class SpeechRecognition;
|
|
|
|
|
class SpeechRecognitionAlternative;
|
|
|
|
|
class SpeechRecognitionEvent;
|
|
|
|
|
class SpeechRecognitionPhrase;
|
|
|
|
|
class SpeechRecognitionResult;
|
|
|
|
|
class SpeechRecognitionResultList;
|
|
|
|
|
class SpeechSynthesis;
|
|
|
|
|
class SpeechSynthesisUtterance;
|
|
|
|
|
class SpeechSynthesisVoice;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2022-09-21 19:27:13 -03:00
|
|
|
namespace Web::Streams {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-06-18 05:26:19 -03:00
|
|
|
class ByteLengthQueuingStrategy;
|
2023-06-18 04:43:56 -03:00
|
|
|
class CountQueuingStrategy;
|
2023-04-11 20:33:32 -03:00
|
|
|
class ReadableByteStreamController;
|
2023-04-17 12:04:07 -03:00
|
|
|
class ReadableStream;
|
2025-04-12 14:19:05 -03:00
|
|
|
class ReadableStreamAsyncIterator;
|
2023-04-08 16:01:49 -03:00
|
|
|
class ReadableStreamBYOBReader;
|
2023-04-10 22:37:27 -03:00
|
|
|
class ReadableStreamBYOBRequest;
|
2023-03-28 22:56:11 -03:00
|
|
|
class ReadableStreamDefaultController;
|
2023-03-28 22:30:22 -03:00
|
|
|
class ReadableStreamDefaultReader;
|
2023-03-28 21:43:34 -03:00
|
|
|
class ReadableStreamGenericReaderMixin;
|
2023-11-18 19:27:43 -03:00
|
|
|
class ReadIntoRequest;
|
2023-03-28 22:30:22 -03:00
|
|
|
class ReadRequest;
|
2023-07-06 14:37:12 -03:00
|
|
|
class TransformStream;
|
|
|
|
|
class TransformStreamDefaultController;
|
2023-04-02 19:15:53 -03:00
|
|
|
class WritableStream;
|
2023-04-01 23:53:28 -03:00
|
|
|
class WritableStreamDefaultController;
|
2023-03-30 23:27:45 -03:00
|
|
|
class WritableStreamDefaultWriter;
|
2023-04-17 12:04:07 -03:00
|
|
|
|
2023-06-10 04:48:21 -03:00
|
|
|
struct PullIntoDescriptor;
|
2026-05-01 14:01:23 -03:00
|
|
|
|
2022-09-21 19:27:13 -03:00
|
|
|
}
|
|
|
|
|
|
2024-08-13 16:54:58 -03:00
|
|
|
namespace Web::StorageAPI {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-08-13 16:56:19 -03:00
|
|
|
class NavigatorStorage;
|
2025-06-11 13:51:22 -03:00
|
|
|
class StorageBottle;
|
|
|
|
|
class StorageBucket;
|
2024-08-13 16:54:58 -03:00
|
|
|
class StorageManager;
|
2024-12-25 19:56:03 -03:00
|
|
|
class StorageShed;
|
2025-06-11 13:51:22 -03:00
|
|
|
class StorageShelf;
|
2024-12-25 19:56:03 -03:00
|
|
|
|
|
|
|
|
struct StorageEndpoint;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-08-13 16:54:58 -03:00
|
|
|
}
|
|
|
|
|
|
2020-10-02 16:57:28 -03:00
|
|
|
namespace Web::SVG {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2025-07-17 11:04:25 -03:00
|
|
|
class Path;
|
2025-02-21 09:22:15 -03:00
|
|
|
class SVGAnimatedEnumeration;
|
2026-02-10 12:03:12 -03:00
|
|
|
class SVGAnimatedInteger;
|
2022-03-21 15:33:11 -03:00
|
|
|
class SVGAnimatedLength;
|
2025-11-19 09:15:01 -03:00
|
|
|
class SVGAnimatedLengthList;
|
2025-11-05 12:13:56 -03:00
|
|
|
class SVGAnimatedNumber;
|
|
|
|
|
class SVGAnimatedNumberList;
|
2024-01-24 18:54:16 -03:00
|
|
|
class SVGAnimatedRect;
|
2025-11-05 12:13:56 -03:00
|
|
|
class SVGAnimationElement;
|
2022-02-11 13:14:58 -03:00
|
|
|
class SVGCircleElement;
|
2022-04-10 14:05:12 -03:00
|
|
|
class SVGClipPathElement;
|
2025-11-05 12:44:24 -03:00
|
|
|
class SVGComponentTransferFunctionElement;
|
2025-07-12 10:26:50 -03:00
|
|
|
class SVGDecodedImageData;
|
2022-04-11 11:59:03 -03:00
|
|
|
class SVGDefsElement;
|
2024-04-15 14:43:01 -03:00
|
|
|
class SVGDescElement;
|
2020-10-02 16:57:28 -03:00
|
|
|
class SVGElement;
|
2022-02-11 13:45:59 -03:00
|
|
|
class SVGEllipseElement;
|
2025-07-04 15:55:08 -03:00
|
|
|
class SVGFEBlendElement;
|
2025-09-21 19:47:28 -03:00
|
|
|
class SVGFEColorMatrixElement;
|
2025-11-05 06:32:56 -03:00
|
|
|
class SVGFEComponentTransferElement;
|
2025-08-06 09:27:50 -03:00
|
|
|
class SVGFECompositeElement;
|
2026-02-25 20:29:50 -03:00
|
|
|
class SVGFEDisplacementMapElement;
|
2025-07-06 16:48:55 -03:00
|
|
|
class SVGFEFloodElement;
|
2025-11-05 13:05:26 -03:00
|
|
|
class SVGFEFuncAElement;
|
|
|
|
|
class SVGFEFuncBElement;
|
|
|
|
|
class SVGFEFuncGElement;
|
|
|
|
|
class SVGFEFuncRElement;
|
2025-07-04 16:08:28 -03:00
|
|
|
class SVGFEGaussianBlurElement;
|
2025-08-06 18:52:29 -03:00
|
|
|
class SVGFEImageElement;
|
2025-11-15 09:30:15 -03:00
|
|
|
class SVGFEMorphologyElement;
|
2026-02-10 12:08:11 -03:00
|
|
|
class SVGFETurbulenceElement;
|
2025-02-21 09:22:48 -03:00
|
|
|
class SVGFilterElement;
|
2025-08-27 18:17:33 -03:00
|
|
|
class SVGFitToViewBox;
|
2022-11-10 09:49:26 -03:00
|
|
|
class SVGForeignObjectElement;
|
2020-10-02 16:57:28 -03:00
|
|
|
class SVGGeometryElement;
|
|
|
|
|
class SVGGraphicsElement;
|
2024-10-04 09:39:04 -03:00
|
|
|
class SVGImageElement;
|
2022-03-21 15:20:48 -03:00
|
|
|
class SVGLength;
|
2025-11-19 09:03:48 -03:00
|
|
|
class SVGLengthList;
|
2022-02-11 13:56:36 -03:00
|
|
|
class SVGLineElement;
|
2023-08-10 04:55:15 -03:00
|
|
|
class SVGMaskElement;
|
2024-08-16 13:27:32 -03:00
|
|
|
class SVGMetadataElement;
|
2025-11-05 08:06:56 -03:00
|
|
|
class SVGNumber;
|
2025-11-05 11:59:22 -03:00
|
|
|
class SVGNumberList;
|
2020-10-02 16:57:28 -03:00
|
|
|
class SVGPathElement;
|
2026-02-17 13:24:44 -03:00
|
|
|
class SVGPatternElement;
|
2022-02-11 14:36:05 -03:00
|
|
|
class SVGPolygonElement;
|
2022-02-11 14:28:24 -03:00
|
|
|
class SVGPolylineElement;
|
2022-02-11 12:52:42 -03:00
|
|
|
class SVGRectElement;
|
2023-09-25 09:12:21 -03:00
|
|
|
class SVGScriptElement;
|
2020-10-02 16:57:28 -03:00
|
|
|
class SVGSVGElement;
|
2023-06-08 12:46:44 -03:00
|
|
|
class SVGTitleElement;
|
2025-11-19 09:03:48 -03:00
|
|
|
class SVGTransformList;
|
2025-07-12 10:26:50 -03:00
|
|
|
class SVGViewElement;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2020-10-02 16:57:28 -03:00
|
|
|
}
|
|
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
namespace Web::UIEvents {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-07-18 16:22:44 -03:00
|
|
|
class CompositionEvent;
|
2024-07-18 15:35:14 -03:00
|
|
|
class InputEvent;
|
2023-04-17 12:04:07 -03:00
|
|
|
class KeyboardEvent;
|
|
|
|
|
class MouseEvent;
|
2024-04-07 14:51:02 -03:00
|
|
|
class PointerEvent;
|
2024-10-05 10:44:59 -03:00
|
|
|
class TextEvent;
|
2024-10-05 10:21:05 -03:00
|
|
|
class UIEvent;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-02-18 14:35:45 -03:00
|
|
|
}
|
|
|
|
|
|
2025-01-05 07:33:26 -03:00
|
|
|
namespace Web::URLPattern {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2025-01-05 07:33:26 -03:00
|
|
|
class URLPattern;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2025-01-05 07:33:26 -03:00
|
|
|
}
|
|
|
|
|
|
2024-02-11 03:48:56 -03:00
|
|
|
namespace Web::DOMURL {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-02-11 03:48:56 -03:00
|
|
|
class DOMURL;
|
2023-04-17 12:04:07 -03:00
|
|
|
class URLSearchParams;
|
|
|
|
|
class URLSearchParamsIterator;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2020-11-22 09:38:18 -03:00
|
|
|
}
|
|
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
namespace Web::UserTiming {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
class PerformanceMark;
|
2023-05-13 09:34:28 -03:00
|
|
|
class PerformanceMeasure;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2021-01-23 07:51:36 -03:00
|
|
|
}
|
|
|
|
|
|
2025-03-23 08:38:21 -03:00
|
|
|
namespace Web::ViewTransition {
|
|
|
|
|
|
|
|
|
|
class ViewTransition;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-15 14:35:10 -03:00
|
|
|
namespace Web::WebAssembly {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-12-23 18:47:25 -03:00
|
|
|
class Global;
|
2023-03-15 19:15:28 -03:00
|
|
|
class Instance;
|
2023-03-15 20:29:57 -03:00
|
|
|
class Memory;
|
2023-03-15 15:47:54 -03:00
|
|
|
class Module;
|
2023-03-15 21:16:22 -03:00
|
|
|
class Table;
|
2025-09-19 17:18:28 -03:00
|
|
|
class WebAssemblyModule;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-03-15 14:35:10 -03:00
|
|
|
}
|
|
|
|
|
|
2023-05-21 16:36:22 -03:00
|
|
|
namespace Web::WebAudio {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-05-25 20:56:11 -03:00
|
|
|
class AudioBuffer;
|
2024-07-21 09:24:25 -03:00
|
|
|
class AudioBufferSourceNode;
|
2023-05-21 16:36:22 -03:00
|
|
|
class AudioContext;
|
2024-07-27 10:38:09 -03:00
|
|
|
class AudioDestinationNode;
|
2024-10-17 16:26:01 -03:00
|
|
|
class AudioListener;
|
2024-04-27 21:46:07 -03:00
|
|
|
class AudioNode;
|
2024-04-27 21:26:30 -03:00
|
|
|
class AudioParam;
|
2024-04-27 22:17:44 -03:00
|
|
|
class AudioScheduledSourceNode;
|
2023-05-21 16:36:22 -03:00
|
|
|
class BaseAudioContext;
|
2024-07-21 15:25:14 -03:00
|
|
|
class BiquadFilterNode;
|
2025-11-03 08:10:34 -03:00
|
|
|
class ControlMessageQueue;
|
2024-05-04 19:53:34 -03:00
|
|
|
class DynamicsCompressorNode;
|
2024-05-28 00:42:07 -03:00
|
|
|
class GainNode;
|
2025-11-18 13:49:02 -03:00
|
|
|
class OfflineAudioCompletionEvent;
|
2024-04-27 21:19:19 -03:00
|
|
|
class OfflineAudioContext;
|
2024-04-27 22:29:14 -03:00
|
|
|
class OscillatorNode;
|
2024-12-13 18:40:25 -03:00
|
|
|
class PannerNode;
|
2024-04-27 21:19:19 -03:00
|
|
|
class PeriodicWave;
|
2023-06-27 14:34:51 -03:00
|
|
|
|
|
|
|
|
enum class AudioContextState;
|
|
|
|
|
|
2023-05-21 16:36:22 -03:00
|
|
|
}
|
|
|
|
|
|
2022-06-04 00:18:32 -03:00
|
|
|
namespace Web::WebGL {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2026-06-15 14:29:43 -03:00
|
|
|
class RemoteWebGLTransport;
|
|
|
|
|
class WebGLContextProxy;
|
2024-12-06 00:56:18 -03:00
|
|
|
class WebGL2RenderingContext;
|
2024-11-29 18:34:46 -03:00
|
|
|
class WebGLActiveInfo;
|
|
|
|
|
class WebGLBuffer;
|
2022-06-04 00:18:32 -03:00
|
|
|
class WebGLContextEvent;
|
2024-11-29 18:34:46 -03:00
|
|
|
class WebGLFramebuffer;
|
|
|
|
|
class WebGLObject;
|
|
|
|
|
class WebGLProgram;
|
2025-10-20 16:15:28 -03:00
|
|
|
class WebGLQuery;
|
2024-11-29 18:34:46 -03:00
|
|
|
class WebGLRenderbuffer;
|
2022-06-04 00:22:42 -03:00
|
|
|
class WebGLRenderingContext;
|
2026-03-05 15:37:33 -03:00
|
|
|
class WebGLRenderingContextBase;
|
2024-12-13 11:06:57 -03:00
|
|
|
class WebGLSampler;
|
2024-11-29 18:34:46 -03:00
|
|
|
class WebGLShader;
|
2024-12-05 12:14:44 -03:00
|
|
|
class WebGLShaderPrecisionFormat;
|
2024-12-13 11:42:03 -03:00
|
|
|
class WebGLSync;
|
2024-11-29 18:34:46 -03:00
|
|
|
class WebGLTexture;
|
2025-10-21 14:25:11 -03:00
|
|
|
class WebGLTransformFeedback;
|
2024-11-29 18:34:46 -03:00
|
|
|
class WebGLUniformLocation;
|
2024-12-06 18:18:55 -03:00
|
|
|
class WebGLVertexArrayObject;
|
2025-01-10 11:27:03 -03:00
|
|
|
class ANGLEInstancedArrays;
|
2025-04-07 12:47:26 -03:00
|
|
|
class EXTBlendMinMax;
|
2025-03-05 14:13:52 -03:00
|
|
|
class EXTColorBufferFloat;
|
2025-10-18 14:36:20 -03:00
|
|
|
class EXTRenderSnorm;
|
2025-10-18 15:01:10 -03:00
|
|
|
class EXTTextureFilterAnisotropic;
|
2025-10-18 14:44:17 -03:00
|
|
|
class EXTTextureNorm16;
|
2025-11-30 16:38:41 -03:00
|
|
|
class OESElementIndexUint;
|
2025-11-05 17:38:41 -03:00
|
|
|
class OESStandardDerivatives;
|
2025-01-10 11:27:03 -03:00
|
|
|
class OESVertexArrayObject;
|
2025-01-28 15:25:26 -03:00
|
|
|
class WebGLCompressedTextureS3tc;
|
2025-10-18 14:51:48 -03:00
|
|
|
class WebGLCompressedTextureS3tcSrgb;
|
2025-01-10 13:36:00 -03:00
|
|
|
class WebGLDrawBuffers;
|
2025-01-10 10:39:53 -03:00
|
|
|
class WebGLVertexArrayObjectOES;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2022-06-04 00:18:32 -03:00
|
|
|
}
|
|
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
namespace Web::WebIDL {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-11-23 04:07:25 -03:00
|
|
|
class ArrayBufferView;
|
|
|
|
|
class BufferSource;
|
2023-04-17 12:04:07 -03:00
|
|
|
class CallbackType;
|
|
|
|
|
class DOMException;
|
2026-02-11 03:33:58 -03:00
|
|
|
class ObservableArray;
|
2023-04-17 12:04:07 -03:00
|
|
|
|
|
|
|
|
template<typename ValueType>
|
|
|
|
|
class ExceptionOr;
|
2023-05-08 02:39:05 -03:00
|
|
|
|
|
|
|
|
using Promise = JS::PromiseCapability;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
}
|
|
|
|
|
|
2024-09-26 14:17:18 -03:00
|
|
|
namespace Web::WebDriver {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-09-26 14:17:18 -03:00
|
|
|
struct ActionObject;
|
|
|
|
|
struct InputState;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-09-26 14:17:18 -03:00
|
|
|
};
|
|
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
namespace Web::WebSockets {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
class WebSocket;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-04-17 12:04:07 -03:00
|
|
|
}
|
|
|
|
|
|
2024-09-19 15:18:00 -03:00
|
|
|
namespace Web::WebVTT {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-09-19 17:49:54 -03:00
|
|
|
class VTTCue;
|
2024-09-19 15:18:00 -03:00
|
|
|
class VTTRegion;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2024-09-19 15:18:00 -03:00
|
|
|
}
|
|
|
|
|
|
2025-11-13 17:53:47 -03:00
|
|
|
namespace Web::WebXR {
|
|
|
|
|
|
2025-11-18 17:48:38 -03:00
|
|
|
class XRLayer;
|
|
|
|
|
class XRRenderState;
|
2025-11-15 14:48:56 -03:00
|
|
|
class XRSession;
|
|
|
|
|
class XRSessionEvent;
|
2025-11-13 17:53:47 -03:00
|
|
|
class XRSystem;
|
2025-11-18 17:48:38 -03:00
|
|
|
class XRWebGLLayer;
|
2025-11-13 17:53:47 -03:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2021-01-23 07:51:36 -03:00
|
|
|
namespace Web::XHR {
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2023-02-03 17:50:05 -03:00
|
|
|
class FormData;
|
2023-03-05 13:29:11 -03:00
|
|
|
class FormDataIterator;
|
2021-01-23 14:50:22 -03:00
|
|
|
class ProgressEvent;
|
2020-04-08 16:11:51 -03:00
|
|
|
class XMLHttpRequest;
|
2021-01-23 14:52:16 -03:00
|
|
|
class XMLHttpRequestEventTarget;
|
2023-02-28 15:27:52 -03:00
|
|
|
class XMLHttpRequestUpload;
|
2024-10-17 09:45:20 -03:00
|
|
|
|
2023-06-18 11:08:15 -03:00
|
|
|
struct FormDataEntry;
|
2025-05-13 08:06:33 -03:00
|
|
|
|
2020-07-21 11:23:08 -03:00
|
|
|
}
|
2024-10-20 05:37:44 -03:00
|
|
|
|
2025-05-30 21:24:26 -03:00
|
|
|
namespace Web::TrustedTypes {
|
|
|
|
|
|
2025-07-30 19:21:13 -03:00
|
|
|
class TrustedHTML;
|
2025-07-31 11:16:46 -03:00
|
|
|
class TrustedScript;
|
2025-07-31 12:08:30 -03:00
|
|
|
class TrustedScriptURL;
|
2025-07-30 21:03:29 -03:00
|
|
|
class TrustedTypePolicy;
|
2025-05-30 21:24:26 -03:00
|
|
|
class TrustedTypePolicyFactory;
|
|
|
|
|
|
|
|
|
|
}
|
2025-09-29 16:48:38 -03:00
|
|
|
|
|
|
|
|
namespace Web::XPath {
|
|
|
|
|
|
|
|
|
|
class XPathEvaluator;
|
|
|
|
|
class XPathExpression;
|
|
|
|
|
class XPathNSResolver;
|
|
|
|
|
class XPathResult;
|
|
|
|
|
|
|
|
|
|
}
|