Forward.h 10 KB

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