Forward.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  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 ShadowRoot;
  154. class StaticNodeList;
  155. class StaticRange;
  156. class Text;
  157. class TreeWalker;
  158. enum class QuirksMode;
  159. struct EventListenerOptions;
  160. struct AddEventListenerOptions;
  161. template<typename ValueType>
  162. class ExceptionOr;
  163. }
  164. namespace Web::DOMParsing {
  165. class XMLSerializer;
  166. }
  167. namespace Web::Encoding {
  168. class TextEncoder;
  169. }
  170. namespace Web::Fetch {
  171. class Headers;
  172. class HeadersIterator;
  173. }
  174. namespace Web::Fetch::Infrastructure {
  175. class Body;
  176. struct Header;
  177. class HeaderList;
  178. class Request;
  179. class Response;
  180. }
  181. namespace Web::FileAPI {
  182. class Blob;
  183. class File;
  184. }
  185. namespace Web::Geometry {
  186. class DOMPoint;
  187. class DOMPointReadOnly;
  188. class DOMRect;
  189. class DOMRectList;
  190. class DOMRectReadOnly;
  191. }
  192. namespace Web::HTML {
  193. class BrowsingContext;
  194. class BrowsingContextContainer;
  195. class CanvasRenderingContext2D;
  196. class ClassicScript;
  197. class CloseEvent;
  198. struct CrossOriginOpenerPolicy;
  199. struct CrossOriginOpenerPolicyEnforcementResult;
  200. class DOMParser;
  201. class DOMStringMap;
  202. struct Environment;
  203. struct EnvironmentSettingsObject;
  204. class ErrorEvent;
  205. class EventHandler;
  206. class EventLoop;
  207. class HTMLAnchorElement;
  208. class HTMLAreaElement;
  209. class HTMLAudioElement;
  210. class HTMLBaseElement;
  211. class HTMLBlinkElement;
  212. class HTMLBodyElement;
  213. class HTMLBRElement;
  214. class HTMLButtonElement;
  215. class HTMLCanvasElement;
  216. class HTMLDataElement;
  217. class HTMLDataListElement;
  218. class HTMLDetailsElement;
  219. class HTMLDialogElement;
  220. class HTMLDirectoryElement;
  221. class HTMLDivElement;
  222. class HTMLDListElement;
  223. class HTMLElement;
  224. class HTMLEmbedElement;
  225. class HTMLFieldSetElement;
  226. class HTMLFontElement;
  227. class HTMLFormElement;
  228. class HTMLFrameElement;
  229. class HTMLFrameSetElement;
  230. class HTMLHeadElement;
  231. class HTMLHeadingElement;
  232. class HTMLHRElement;
  233. class HTMLHtmlElement;
  234. class HTMLIFrameElement;
  235. class HTMLImageElement;
  236. class HTMLInputElement;
  237. class HTMLLabelElement;
  238. class HTMLLegendElement;
  239. class HTMLLIElement;
  240. class HTMLLinkElement;
  241. class HTMLMapElement;
  242. class HTMLMarqueeElement;
  243. class HTMLMediaElement;
  244. class HTMLMenuElement;
  245. class HTMLMetaElement;
  246. class HTMLMeterElement;
  247. class HTMLModElement;
  248. class HTMLObjectElement;
  249. class HTMLOListElement;
  250. class HTMLOptGroupElement;
  251. class HTMLOptionElement;
  252. class HTMLOptionsCollection;
  253. class HTMLOutputElement;
  254. class HTMLParagraphElement;
  255. class HTMLParamElement;
  256. class HTMLParser;
  257. class HTMLPictureElement;
  258. class HTMLPreElement;
  259. class HTMLProgressElement;
  260. class HTMLQuoteElement;
  261. class HTMLScriptElement;
  262. class HTMLSelectElement;
  263. class HTMLSlotElement;
  264. class HTMLSourceElement;
  265. class HTMLSpanElement;
  266. class HTMLStyleElement;
  267. class HTMLTableCaptionElement;
  268. class HTMLTableCellElement;
  269. class HTMLTableColElement;
  270. class HTMLTableElement;
  271. class HTMLTableRowElement;
  272. class HTMLTableSectionElement;
  273. class HTMLTemplateElement;
  274. class HTMLTextAreaElement;
  275. class HTMLTimeElement;
  276. class HTMLTitleElement;
  277. class HTMLTrackElement;
  278. class HTMLUListElement;
  279. class HTMLUnknownElement;
  280. class HTMLVideoElement;
  281. class ImageData;
  282. class MessageChannel;
  283. class MessageEvent;
  284. class MessagePort;
  285. struct NavigationParams;
  286. class Origin;
  287. class PageTransitionEvent;
  288. class Path2D;
  289. struct PolicyContainer;
  290. class PromiseRejectionEvent;
  291. class WorkerDebugConsoleClient;
  292. struct SandboxingFlagSet;
  293. class Storage;
  294. class SubmitEvent;
  295. class TextMetrics;
  296. class Timer;
  297. class Window;
  298. class WindowEnvironmentSettingsObject;
  299. class Worker;
  300. class WorkerEnvironmentSettingsObject;
  301. class WorkerGlobalScope;
  302. class WorkerLocation;
  303. class WorkerNavigator;
  304. }
  305. namespace Web::HighResolutionTime {
  306. class Performance;
  307. }
  308. namespace Web::IntersectionObserver {
  309. class IntersectionObserver;
  310. }
  311. namespace Web::MimeSniff {
  312. class MimeType;
  313. }
  314. namespace Web::NavigationTiming {
  315. class PerformanceTiming;
  316. }
  317. namespace Web::Painting {
  318. enum class PaintPhase;
  319. class ButtonPaintable;
  320. class CheckBoxPaintable;
  321. class LabelablePaintable;
  322. class Paintable;
  323. class PaintableBox;
  324. class PaintableWithLines;
  325. class StackingContext;
  326. class TextPaintable;
  327. struct BorderRadiusData;
  328. struct BorderRadiiData;
  329. struct LinearGradientData;
  330. }
  331. namespace Web::RequestIdleCallback {
  332. class IdleDeadline;
  333. }
  334. namespace Web::ResizeObserver {
  335. class ResizeObserver;
  336. }
  337. namespace Web::SVG {
  338. class SVGAnimatedLength;
  339. class SVGCircleElement;
  340. class SVGClipPathElement;
  341. class SVGDefsElement;
  342. class SVGElement;
  343. class SVGEllipseElement;
  344. class SVGGeometryElement;
  345. class SVGGraphicsElement;
  346. class SVGLength;
  347. class SVGLineElement;
  348. class SVGPathElement;
  349. class SVGPolygonElement;
  350. class SVGPolylineElement;
  351. class SVGRectElement;
  352. class SVGSVGElement;
  353. }
  354. namespace Web::Selection {
  355. class Selection;
  356. }
  357. namespace Web::WebSockets {
  358. class WebSocket;
  359. }
  360. namespace Web::Layout {
  361. enum class LayoutMode;
  362. class BlockContainer;
  363. class BlockFormattingContext;
  364. class Box;
  365. class ButtonBox;
  366. class CheckBox;
  367. class FlexFormattingContext;
  368. class FormattingContext;
  369. struct LayoutState;
  370. class InitialContainingBlock;
  371. class InlineFormattingContext;
  372. class Label;
  373. class LabelableNode;
  374. class LineBox;
  375. class LineBoxFragment;
  376. class ListItemBox;
  377. class ListItemMarkerBox;
  378. class Node;
  379. class NodeWithStyle;
  380. class NodeWithStyleAndBoxModelMetrics;
  381. class RadioButton;
  382. class ReplacedBox;
  383. class TextNode;
  384. }
  385. namespace Web {
  386. class EditEventHandler;
  387. class EventHandler;
  388. class FrameLoader;
  389. class LoadRequest;
  390. class Page;
  391. class PageClient;
  392. class PaintContext;
  393. class Resource;
  394. class ResourceLoader;
  395. }
  396. namespace Web::WebGL {
  397. class WebGLContextEvent;
  398. class WebGLRenderingContext;
  399. class WebGLRenderingContextBase;
  400. }
  401. namespace Web::XHR {
  402. class ProgressEvent;
  403. class XMLHttpRequest;
  404. class XMLHttpRequestEventTarget;
  405. }
  406. namespace Web::UIEvents {
  407. class MouseEvent;
  408. class KeyboardEvent;
  409. class UIEvents;
  410. }
  411. namespace Web::URL {
  412. class URL;
  413. class URLSearchParams;
  414. class URLSearchParamsIterator;
  415. }
  416. namespace Web::Bindings {
  417. class AbortControllerWrapper;
  418. class BlobWrapper;
  419. class CanvasGradientWrapper;
  420. class CanvasRenderingContext2DWrapper;
  421. class CryptoWrapper;
  422. class DOMExceptionWrapper;
  423. class DOMPointWrapper;
  424. class DOMPointReadOnlyWrapper;
  425. class DOMRectListWrapper;
  426. class DOMRectReadOnlyWrapper;
  427. class DOMRectWrapper;
  428. class FileWrapper;
  429. class HeadersWrapper;
  430. class HeadersIteratorWrapper;
  431. class HistoryWrapper;
  432. class HTMLCollectionWrapper;
  433. class HTMLOptionsCollectionWrapper;
  434. class IdleDeadlineWrapper;
  435. class ImageDataWrapper;
  436. class IntersectionObserverWrapper;
  437. class LocationObject;
  438. class MessageChannelWrapper;
  439. class MutationObserverWrapper;
  440. class MutationRecordWrapper;
  441. class NodeListWrapper;
  442. class OptionConstructor;
  443. class Path2DWrapper;
  444. class PerformanceTimingWrapper;
  445. class RangePrototype;
  446. class ResizeObserverWrapper;
  447. class ScreenWrapper;
  448. class SelectionWrapper;
  449. class StorageWrapper;
  450. class SubtleCryptoWrapper;
  451. class SVGAnimatedLengthWrapper;
  452. class SVGLengthWrapper;
  453. class TextDecoderWrapper;
  454. class TextEncoderWrapper;
  455. class TextMetricsWrapper;
  456. class URLSearchParamsIteratorWrapper;
  457. class URLSearchParamsWrapper;
  458. class URLWrapper;
  459. class WebGLRenderingContextWrapper;
  460. class WindowProxy;
  461. class WorkerLocationWrapper;
  462. class WorkerNavigatorWrapper;
  463. class Wrappable;
  464. class Wrapper;
  465. class XMLHttpRequestPrototype;
  466. class XMLSerializerWrapper;
  467. enum class CanPlayTypeResult;
  468. enum class CanvasFillRule;
  469. enum class EndingType;
  470. enum class DOMParserSupportedType;
  471. enum class ResizeObserverBoxOptions;
  472. enum class XMLHttpRequestResponseType;
  473. }