Forward.h 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498
  1. /*
  2. * Copyright (c) 2020-2022, Andreas Kling <kling@serenityos.org>
  3. * Copyright (c) 2021, the SerenityOS developers.
  4. *
  5. * SPDX-License-Identifier: BSD-2-Clause
  6. */
  7. #pragma once
  8. namespace Web {
  9. class XMLDocumentBuilder;
  10. }
  11. namespace Web::Cookie {
  12. struct Cookie;
  13. struct ParsedCookie;
  14. enum class Source;
  15. }
  16. namespace Web::Crypto {
  17. class Crypto;
  18. class SubtleCrypto;
  19. }
  20. namespace Web::CSS {
  21. class AbstractImageStyleValue;
  22. class Angle;
  23. class AnglePercentage;
  24. class AngleStyleValue;
  25. class BackgroundRepeatStyleValue;
  26. class BackgroundSizeStyleValue;
  27. class BackgroundStyleValue;
  28. class BorderRadiusStyleValue;
  29. class BorderRadiusShorthandStyleValue;
  30. class BorderStyleValue;
  31. class Clip;
  32. class CalculatedStyleValue;
  33. class ColorStyleValue;
  34. class ContentStyleValue;
  35. class CSSConditionRule;
  36. class CSSGroupingRule;
  37. class CSSImportRule;
  38. class CSSFontFaceRule;
  39. class CSSMediaRule;
  40. class CSSRule;
  41. class CSSRuleList;
  42. class CSSStyleDeclaration;
  43. class CSSStyleRule;
  44. class CSSStyleSheet;
  45. class CSSSupportsRule;
  46. class Display;
  47. class ElementInlineCSSStyleDeclaration;
  48. class FlexFlowStyleValue;
  49. class FlexStyleValue;
  50. class FontFace;
  51. class FontStyleValue;
  52. class Frequency;
  53. class FrequencyPercentage;
  54. class FrequencyStyleValue;
  55. class GridTrackPlacement;
  56. class GridTrackPlacementShorthandStyleValue;
  57. class GridTrackPlacementStyleValue;
  58. class GridTrackSize;
  59. class GridTrackSizeStyleValue;
  60. class IdentifierStyleValue;
  61. class ImageStyleValue;
  62. class InheritStyleValue;
  63. class InitialStyleValue;
  64. class Length;
  65. class LengthPercentage;
  66. class LengthStyleValue;
  67. class LinearGradientStyleValue;
  68. class ListStyleStyleValue;
  69. class MediaFeatureValue;
  70. class MediaList;
  71. class MediaQuery;
  72. class MediaQueryList;
  73. class MediaQueryListEvent;
  74. class Number;
  75. class NumericStyleValue;
  76. class OverflowStyleValue;
  77. class Percentage;
  78. class PercentageStyleValue;
  79. class PositionStyleValue;
  80. class PropertyOwningCSSStyleDeclaration;
  81. class RectStyleValue;
  82. class Resolution;
  83. class ResolutionStyleValue;
  84. class Screen;
  85. class Selector;
  86. class ShadowStyleValue;
  87. class StringStyleValue;
  88. class StyleComputer;
  89. class StyleProperties;
  90. class StyleSheet;
  91. class StyleSheetList;
  92. class StyleValue;
  93. class StyleValueList;
  94. class Supports;
  95. class TextDecorationStyleValue;
  96. class Time;
  97. class TimePercentage;
  98. class TimeStyleValue;
  99. class TransformationStyleValue;
  100. class UnicodeRange;
  101. class UnresolvedStyleValue;
  102. class UnsetStyleValue;
  103. enum class MediaFeatureID;
  104. enum class PropertyID;
  105. enum class ValueID;
  106. }
  107. namespace Web::CSS::Parser {
  108. class Block;
  109. class ComponentValue;
  110. class Declaration;
  111. class DeclarationOrAtRule;
  112. class Function;
  113. class Parser;
  114. class Rule;
  115. class Token;
  116. class Tokenizer;
  117. }
  118. namespace Web::DOM {
  119. class AbstractRange;
  120. class AbortController;
  121. class AbortSignal;
  122. class Attribute;
  123. class CDATASection;
  124. class CharacterData;
  125. class Comment;
  126. class CustomEvent;
  127. class Document;
  128. class DocumentFragment;
  129. class DocumentLoadEventDelayer;
  130. class DocumentType;
  131. class DOMEventListener;
  132. class DOMException;
  133. class DOMImplementation;
  134. class DOMTokenList;
  135. class Element;
  136. class Event;
  137. class EventHandler;
  138. class EventTarget;
  139. class HTMLCollection;
  140. class IDLEventListener;
  141. class LiveNodeList;
  142. class MutationObserver;
  143. class MutationRecord;
  144. class NamedNodeMap;
  145. class Node;
  146. class NodeFilter;
  147. class NodeIterator;
  148. class NodeList;
  149. class ParentNode;
  150. class Position;
  151. class ProcessingInstruction;
  152. class Range;
  153. class RegisteredObserver;
  154. class ShadowRoot;
  155. class StaticNodeList;
  156. class StaticRange;
  157. class Text;
  158. class TreeWalker;
  159. enum class QuirksMode;
  160. struct EventListenerOptions;
  161. struct AddEventListenerOptions;
  162. template<typename ValueType>
  163. class ExceptionOr;
  164. }
  165. namespace Web::DOMParsing {
  166. class XMLSerializer;
  167. }
  168. namespace Web::Encoding {
  169. class TextEncoder;
  170. }
  171. namespace Web::Fetch {
  172. class Headers;
  173. class HeadersIterator;
  174. }
  175. namespace Web::Fetch::Infrastructure {
  176. class Body;
  177. struct Header;
  178. class HeaderList;
  179. class Request;
  180. class Response;
  181. }
  182. namespace Web::FileAPI {
  183. class Blob;
  184. class File;
  185. }
  186. namespace Web::Geometry {
  187. class DOMPoint;
  188. class DOMPointReadOnly;
  189. class DOMRect;
  190. class DOMRectList;
  191. class DOMRectReadOnly;
  192. }
  193. namespace Web::HTML {
  194. class BrowsingContext;
  195. class BrowsingContextContainer;
  196. class CanvasRenderingContext2D;
  197. class ClassicScript;
  198. class CloseEvent;
  199. struct CrossOriginOpenerPolicy;
  200. struct CrossOriginOpenerPolicyEnforcementResult;
  201. class DOMParser;
  202. class DOMStringMap;
  203. struct Environment;
  204. struct EnvironmentSettingsObject;
  205. class ErrorEvent;
  206. class EventHandler;
  207. class EventLoop;
  208. class HTMLAnchorElement;
  209. class HTMLAreaElement;
  210. class HTMLAudioElement;
  211. class HTMLBaseElement;
  212. class HTMLBlinkElement;
  213. class HTMLBodyElement;
  214. class HTMLBRElement;
  215. class HTMLButtonElement;
  216. class HTMLCanvasElement;
  217. class HTMLDataElement;
  218. class HTMLDataListElement;
  219. class HTMLDetailsElement;
  220. class HTMLDialogElement;
  221. class HTMLDirectoryElement;
  222. class HTMLDivElement;
  223. class HTMLDListElement;
  224. class HTMLElement;
  225. class HTMLEmbedElement;
  226. class HTMLFieldSetElement;
  227. class HTMLFontElement;
  228. class HTMLFormElement;
  229. class HTMLFrameElement;
  230. class HTMLFrameSetElement;
  231. class HTMLHeadElement;
  232. class HTMLHeadingElement;
  233. class HTMLHRElement;
  234. class HTMLHtmlElement;
  235. class HTMLIFrameElement;
  236. class HTMLImageElement;
  237. class HTMLInputElement;
  238. class HTMLLabelElement;
  239. class HTMLLegendElement;
  240. class HTMLLIElement;
  241. class HTMLLinkElement;
  242. class HTMLMapElement;
  243. class HTMLMarqueeElement;
  244. class HTMLMediaElement;
  245. class HTMLMenuElement;
  246. class HTMLMetaElement;
  247. class HTMLMeterElement;
  248. class HTMLModElement;
  249. class HTMLObjectElement;
  250. class HTMLOListElement;
  251. class HTMLOptGroupElement;
  252. class HTMLOptionElement;
  253. class HTMLOptionsCollection;
  254. class HTMLOutputElement;
  255. class HTMLParagraphElement;
  256. class HTMLParamElement;
  257. class HTMLParser;
  258. class HTMLPictureElement;
  259. class HTMLPreElement;
  260. class HTMLProgressElement;
  261. class HTMLQuoteElement;
  262. class HTMLScriptElement;
  263. class HTMLSelectElement;
  264. class HTMLSlotElement;
  265. class HTMLSourceElement;
  266. class HTMLSpanElement;
  267. class HTMLStyleElement;
  268. class HTMLTableCaptionElement;
  269. class HTMLTableCellElement;
  270. class HTMLTableColElement;
  271. class HTMLTableElement;
  272. class HTMLTableRowElement;
  273. class HTMLTableSectionElement;
  274. class HTMLTemplateElement;
  275. class HTMLTextAreaElement;
  276. class HTMLTimeElement;
  277. class HTMLTitleElement;
  278. class HTMLTrackElement;
  279. class HTMLUListElement;
  280. class HTMLUnknownElement;
  281. class HTMLVideoElement;
  282. class ImageData;
  283. class MessageChannel;
  284. class MessageEvent;
  285. class MessagePort;
  286. struct NavigationParams;
  287. class Origin;
  288. class PageTransitionEvent;
  289. class Path2D;
  290. struct PolicyContainer;
  291. class PromiseRejectionEvent;
  292. class WorkerDebugConsoleClient;
  293. struct SandboxingFlagSet;
  294. class Storage;
  295. class SubmitEvent;
  296. class TextMetrics;
  297. class Timer;
  298. class Window;
  299. class WindowEnvironmentSettingsObject;
  300. class Worker;
  301. class WorkerEnvironmentSettingsObject;
  302. class WorkerGlobalScope;
  303. class WorkerLocation;
  304. class WorkerNavigator;
  305. }
  306. namespace Web::HighResolutionTime {
  307. class Performance;
  308. }
  309. namespace Web::IntersectionObserver {
  310. class IntersectionObserver;
  311. }
  312. namespace Web::MimeSniff {
  313. class MimeType;
  314. }
  315. namespace Web::NavigationTiming {
  316. class PerformanceTiming;
  317. }
  318. namespace Web::Painting {
  319. enum class PaintPhase;
  320. class ButtonPaintable;
  321. class CheckBoxPaintable;
  322. class LabelablePaintable;
  323. class Paintable;
  324. class PaintableBox;
  325. class PaintableWithLines;
  326. class StackingContext;
  327. class TextPaintable;
  328. struct BorderRadiusData;
  329. struct BorderRadiiData;
  330. struct LinearGradientData;
  331. }
  332. namespace Web::RequestIdleCallback {
  333. class IdleDeadline;
  334. }
  335. namespace Web::ResizeObserver {
  336. class ResizeObserver;
  337. }
  338. namespace Web::SVG {
  339. class SVGAnimatedLength;
  340. class SVGCircleElement;
  341. class SVGClipPathElement;
  342. class SVGDefsElement;
  343. class SVGElement;
  344. class SVGEllipseElement;
  345. class SVGGeometryElement;
  346. class SVGGraphicsElement;
  347. class SVGLength;
  348. class SVGLineElement;
  349. class SVGPathElement;
  350. class SVGPolygonElement;
  351. class SVGPolylineElement;
  352. class SVGRectElement;
  353. class SVGSVGElement;
  354. }
  355. namespace Web::Selection {
  356. class Selection;
  357. }
  358. namespace Web::WebSockets {
  359. class WebSocket;
  360. }
  361. namespace Web::Layout {
  362. enum class LayoutMode;
  363. class BlockContainer;
  364. class BlockFormattingContext;
  365. class Box;
  366. class ButtonBox;
  367. class CheckBox;
  368. class FlexFormattingContext;
  369. class FormattingContext;
  370. struct LayoutState;
  371. class InitialContainingBlock;
  372. class InlineFormattingContext;
  373. class Label;
  374. class LabelableNode;
  375. class LineBox;
  376. class LineBoxFragment;
  377. class ListItemBox;
  378. class ListItemMarkerBox;
  379. class Node;
  380. class NodeWithStyle;
  381. class NodeWithStyleAndBoxModelMetrics;
  382. class RadioButton;
  383. class ReplacedBox;
  384. class TextNode;
  385. }
  386. namespace Web {
  387. class EditEventHandler;
  388. class EventHandler;
  389. class FrameLoader;
  390. class LoadRequest;
  391. class Page;
  392. class PageClient;
  393. class PaintContext;
  394. class Resource;
  395. class ResourceLoader;
  396. }
  397. namespace Web::WebGL {
  398. class WebGLContextEvent;
  399. class WebGLRenderingContext;
  400. class WebGLRenderingContextBase;
  401. }
  402. namespace Web::XHR {
  403. class ProgressEvent;
  404. class XMLHttpRequest;
  405. class XMLHttpRequestEventTarget;
  406. }
  407. namespace Web::UIEvents {
  408. class MouseEvent;
  409. class KeyboardEvent;
  410. class UIEvents;
  411. }
  412. namespace Web::URL {
  413. class URL;
  414. class URLSearchParams;
  415. class URLSearchParamsIterator;
  416. }
  417. namespace Web::Bindings {
  418. class AbortControllerWrapper;
  419. class BlobWrapper;
  420. class CanvasGradientWrapper;
  421. class CanvasRenderingContext2DWrapper;
  422. class CryptoWrapper;
  423. class DOMExceptionWrapper;
  424. class DOMPointWrapper;
  425. class DOMPointReadOnlyWrapper;
  426. class DOMRectListWrapper;
  427. class DOMRectReadOnlyWrapper;
  428. class DOMRectWrapper;
  429. class FileWrapper;
  430. class HeadersWrapper;
  431. class HeadersIteratorWrapper;
  432. class IdleDeadlineWrapper;
  433. class ImageDataWrapper;
  434. class IntersectionObserverWrapper;
  435. class LocationObject;
  436. class OptionConstructor;
  437. class Path2DWrapper;
  438. class RangePrototype;
  439. class ResizeObserverWrapper;
  440. class SelectionWrapper;
  441. class StorageWrapper;
  442. class SubtleCryptoWrapper;
  443. class SVGAnimatedLengthWrapper;
  444. class SVGLengthWrapper;
  445. class TextDecoderWrapper;
  446. class TextEncoderWrapper;
  447. class TextMetricsWrapper;
  448. class URLSearchParamsIteratorWrapper;
  449. class URLSearchParamsWrapper;
  450. class URLWrapper;
  451. class WebGLRenderingContextWrapper;
  452. class WindowProxy;
  453. class WorkerLocationWrapper;
  454. class WorkerNavigatorWrapper;
  455. class Wrappable;
  456. class Wrapper;
  457. class XMLHttpRequestPrototype;
  458. class XMLSerializerWrapper;
  459. enum class CanPlayTypeResult;
  460. enum class CanvasFillRule;
  461. enum class EndingType;
  462. enum class DOMParserSupportedType;
  463. enum class ResizeObserverBoxOptions;
  464. enum class XMLHttpRequestResponseType;
  465. }