CMakeLists.txt 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. set(SOURCES
  2. Bindings/AudioConstructor.cpp
  3. Bindings/CrossOriginAbstractOperations.cpp
  4. Bindings/CSSNamespace.cpp
  5. Bindings/CSSRuleWrapperFactory.cpp
  6. Bindings/CSSStyleDeclarationWrapperCustom.cpp
  7. Bindings/EventListenerWrapper.cpp
  8. Bindings/EventTargetWrapperFactory.cpp
  9. Bindings/EventWrapperFactory.cpp
  10. Bindings/IDLAbstractOperations.cpp
  11. Bindings/ImageConstructor.cpp
  12. Bindings/LocationConstructor.cpp
  13. Bindings/LocationObject.cpp
  14. Bindings/MainThreadVM.cpp
  15. Bindings/NavigatorConstructor.cpp
  16. Bindings/NavigatorObject.cpp
  17. Bindings/NodeWrapperFactory.cpp
  18. Bindings/OptionConstructor.cpp
  19. Bindings/WindowConstructor.cpp
  20. Bindings/WindowObject.cpp
  21. Bindings/WindowProxy.cpp
  22. Bindings/Wrappable.cpp
  23. Crypto/Crypto.cpp
  24. Crypto/SubtleCrypto.cpp
  25. CSS/Angle.cpp
  26. CSS/CSSConditionRule.cpp
  27. CSS/CSSGroupingRule.cpp
  28. CSS/CSSImportRule.cpp
  29. CSS/CSSFontFaceRule.cpp
  30. CSS/CSSMediaRule.cpp
  31. CSS/CSSRule.cpp
  32. CSS/CSSRuleList.cpp
  33. CSS/CSSStyleDeclaration.cpp
  34. CSS/CSSStyleRule.cpp
  35. CSS/CSSStyleSheet.cpp
  36. CSS/CSSSupportsRule.cpp
  37. CSS/DefaultStyleSheetSource.cpp
  38. CSS/Display.cpp
  39. CSS/Enums.cpp
  40. CSS/FontFace.cpp
  41. CSS/Frequency.cpp
  42. CSS/Length.cpp
  43. CSS/MediaFeatureID.cpp
  44. CSS/MediaFeatureID.h
  45. CSS/MediaList.cpp
  46. CSS/MediaQuery.cpp
  47. CSS/MediaQueryList.cpp
  48. CSS/Parser/Block.cpp
  49. CSS/Parser/ComponentValue.cpp
  50. CSS/Parser/Declaration.cpp
  51. CSS/Parser/DeclarationOrAtRule.cpp
  52. CSS/Parser/Function.cpp
  53. CSS/Parser/Parser.cpp
  54. CSS/Parser/Rule.cpp
  55. CSS/Parser/Token.cpp
  56. CSS/Parser/Tokenizer.cpp
  57. CSS/Percentage.cpp
  58. CSS/PreferredColorScheme.cpp
  59. CSS/PropertyID.cpp
  60. CSS/PropertyID.h
  61. CSS/QuirksModeStyleSheetSource.cpp
  62. CSS/Ratio.cpp
  63. CSS/Resolution.cpp
  64. CSS/ResolvedCSSStyleDeclaration.cpp
  65. CSS/Screen.cpp
  66. CSS/Selector.cpp
  67. CSS/SelectorEngine.cpp
  68. CSS/Serialize.cpp
  69. CSS/StyleComputer.cpp
  70. CSS/StyleProperties.cpp
  71. CSS/StyleSheet.cpp
  72. CSS/StyleSheetList.cpp
  73. CSS/StyleValue.cpp
  74. CSS/Supports.cpp
  75. CSS/SyntaxHighlighter/SyntaxHighlighter.cpp
  76. CSS/Time.cpp
  77. CSS/TransformFunctions.cpp
  78. CSS/ValueID.cpp
  79. CSS/ValueID.h
  80. Cookie/ParsedCookie.cpp
  81. DOM/AbortController.cpp
  82. DOM/AbortSignal.cpp
  83. DOM/Attribute.cpp
  84. DOM/Attribute.idl
  85. DOM/CharacterData.cpp
  86. DOM/CharacterData.idl
  87. DOM/Comment.cpp
  88. DOM/CustomEvent.cpp
  89. DOM/DOMEventListener.cpp
  90. DOM/DOMImplementation.cpp
  91. DOM/DOMTokenList.cpp
  92. DOM/DOMTokenList.idl
  93. DOM/Document.cpp
  94. DOM/DocumentFragment.cpp
  95. DOM/DocumentLoadEventDelayer.cpp
  96. DOM/DocumentType.cpp
  97. DOM/Element.cpp
  98. DOM/ElementFactory.cpp
  99. DOM/Event.cpp
  100. DOM/EventDispatcher.cpp
  101. DOM/EventTarget.cpp
  102. DOM/HTMLCollection.cpp
  103. DOM/LiveNodeList.cpp
  104. DOM/NamedNodeMap.cpp
  105. DOM/Node.cpp
  106. DOM/NodeIterator.cpp
  107. DOM/NodeOperations.cpp
  108. DOM/ParentNode.cpp
  109. DOM/Position.cpp
  110. DOM/ProcessingInstruction.cpp
  111. DOM/QualifiedName.cpp
  112. DOM/Range.cpp
  113. DOM/ShadowRoot.cpp
  114. DOM/StaticNodeList.cpp
  115. DOM/StaticRange.cpp
  116. DOM/Text.cpp
  117. DOM/Text.idl
  118. DOM/TreeWalker.cpp
  119. DOMParsing/InnerHTML.cpp
  120. DOMTreeModel.cpp
  121. Dump.cpp
  122. Encoding/TextDecoder.cpp
  123. Encoding/TextEncoder.cpp
  124. Fetch/AbstractOperations.cpp
  125. FontCache.cpp
  126. Geometry/DOMRectList.cpp
  127. HTML/AttributeNames.cpp
  128. HTML/BrowsingContext.cpp
  129. HTML/BrowsingContextContainer.cpp
  130. HTML/CanvasGradient.cpp
  131. HTML/CanvasRenderingContext2D.cpp
  132. HTML/CrossOrigin/Reporting.cpp
  133. HTML/DOMParser.cpp
  134. HTML/DOMStringMap.cpp
  135. HTML/EventLoop/EventLoop.cpp
  136. HTML/EventLoop/Task.cpp
  137. HTML/EventLoop/TaskQueue.cpp
  138. HTML/EventNames.cpp
  139. HTML/FormAssociatedElement.cpp
  140. HTML/GlobalEventHandlers.cpp
  141. HTML/History.cpp
  142. HTML/HTMLAnchorElement.cpp
  143. HTML/HTMLAreaElement.cpp
  144. HTML/HTMLAudioElement.cpp
  145. HTML/HTMLBRElement.cpp
  146. HTML/HTMLBaseElement.cpp
  147. HTML/HTMLBlinkElement.cpp
  148. HTML/HTMLBodyElement.cpp
  149. HTML/HTMLButtonElement.cpp
  150. HTML/HTMLCanvasElement.cpp
  151. HTML/HTMLDListElement.cpp
  152. HTML/HTMLDataElement.cpp
  153. HTML/HTMLDataListElement.cpp
  154. HTML/HTMLDetailsElement.cpp
  155. HTML/HTMLDialogElement.cpp
  156. HTML/HTMLDirectoryElement.cpp
  157. HTML/HTMLDivElement.cpp
  158. HTML/HTMLElement.cpp
  159. HTML/HTMLEmbedElement.cpp
  160. HTML/HTMLFieldSetElement.cpp
  161. HTML/HTMLFontElement.cpp
  162. HTML/HTMLFormElement.cpp
  163. HTML/HTMLFrameElement.cpp
  164. HTML/HTMLFrameSetElement.cpp
  165. HTML/HTMLHRElement.cpp
  166. HTML/HTMLHeadElement.cpp
  167. HTML/HTMLHeadingElement.cpp
  168. HTML/HTMLHtmlElement.cpp
  169. HTML/HTMLHyperlinkElementUtils.cpp
  170. HTML/HTMLIFrameElement.cpp
  171. HTML/HTMLImageElement.cpp
  172. HTML/HTMLInputElement.cpp
  173. HTML/HTMLLIElement.cpp
  174. HTML/HTMLLabelElement.cpp
  175. HTML/HTMLLegendElement.cpp
  176. HTML/HTMLLinkElement.cpp
  177. HTML/HTMLMapElement.cpp
  178. HTML/HTMLMarqueeElement.cpp
  179. HTML/HTMLMediaElement.cpp
  180. HTML/HTMLMenuElement.cpp
  181. HTML/HTMLMetaElement.cpp
  182. HTML/HTMLMeterElement.cpp
  183. HTML/HTMLModElement.cpp
  184. HTML/HTMLOListElement.cpp
  185. HTML/HTMLObjectElement.cpp
  186. HTML/HTMLOptGroupElement.cpp
  187. HTML/HTMLOptionElement.cpp
  188. HTML/HTMLOptionsCollection.cpp
  189. HTML/HTMLOutputElement.cpp
  190. HTML/HTMLParagraphElement.cpp
  191. HTML/HTMLParamElement.cpp
  192. HTML/HTMLPictureElement.cpp
  193. HTML/HTMLPreElement.cpp
  194. HTML/HTMLProgressElement.cpp
  195. HTML/HTMLQuoteElement.cpp
  196. HTML/HTMLScriptElement.cpp
  197. HTML/HTMLSelectElement.cpp
  198. HTML/HTMLSlotElement.cpp
  199. HTML/HTMLSourceElement.cpp
  200. HTML/HTMLSpanElement.cpp
  201. HTML/HTMLStyleElement.cpp
  202. HTML/HTMLTableCaptionElement.cpp
  203. HTML/HTMLTableCellElement.cpp
  204. HTML/HTMLTableColElement.cpp
  205. HTML/HTMLTableElement.cpp
  206. HTML/HTMLTableRowElement.cpp
  207. HTML/HTMLTableSectionElement.cpp
  208. HTML/HTMLTemplateElement.cpp
  209. HTML/HTMLTextAreaElement.cpp
  210. HTML/HTMLTimeElement.cpp
  211. HTML/HTMLTitleElement.cpp
  212. HTML/HTMLTrackElement.cpp
  213. HTML/HTMLUListElement.cpp
  214. HTML/HTMLUnknownElement.cpp
  215. HTML/HTMLVideoElement.cpp
  216. HTML/ImageData.cpp
  217. HTML/MessageChannel.cpp
  218. HTML/MessagePort.cpp
  219. HTML/Parser/Entities.cpp
  220. HTML/Parser/HTMLEncodingDetection.cpp
  221. HTML/Parser/HTMLParser.cpp
  222. HTML/Parser/HTMLToken.cpp
  223. HTML/Parser/HTMLTokenizer.cpp
  224. HTML/Parser/ListOfActiveFormattingElements.cpp
  225. HTML/Parser/StackOfOpenElements.cpp
  226. HTML/Scripting/ClassicScript.cpp
  227. HTML/Scripting/Environments.cpp
  228. HTML/Scripting/ExceptionReporter.cpp
  229. HTML/Scripting/Script.cpp
  230. HTML/Scripting/WindowEnvironmentSettingsObject.cpp
  231. HTML/Storage.cpp
  232. HTML/SyntaxHighlighter/SyntaxHighlighter.cpp
  233. HTML/TagNames.cpp
  234. HTML/TextMetrics.cpp
  235. HTML/Timer.cpp
  236. HTML/Window.cpp
  237. HTML/Worker.cpp
  238. HTML/WorkerDebugConsoleClient.cpp
  239. HTML/WorkerGlobalScope.cpp
  240. HTML/WorkerLocation.cpp
  241. HighResolutionTime/Performance.cpp
  242. ImageDecoding.cpp
  243. IntersectionObserver/IntersectionObserver.cpp
  244. Layout/BlockContainer.cpp
  245. Layout/BlockFormattingContext.cpp
  246. Layout/Box.cpp
  247. Layout/BoxModelMetrics.cpp
  248. Layout/BreakNode.cpp
  249. Layout/ButtonBox.cpp
  250. Layout/CanvasBox.cpp
  251. Layout/CheckBox.cpp
  252. Layout/FlexFormattingContext.cpp
  253. Layout/FormattingContext.cpp
  254. Layout/FormattingState.cpp
  255. Layout/FrameBox.cpp
  256. Layout/ImageBox.cpp
  257. Layout/InitialContainingBlock.cpp
  258. Layout/InlineFormattingContext.cpp
  259. Layout/InlineLevelIterator.cpp
  260. Layout/InlineNode.cpp
  261. Layout/Label.cpp
  262. Layout/LabelableNode.cpp
  263. Layout/LayoutPosition.cpp
  264. Layout/LineBox.cpp
  265. Layout/LineBoxFragment.cpp
  266. Layout/LineBuilder.cpp
  267. Layout/ListItemBox.cpp
  268. Layout/ListItemMarkerBox.cpp
  269. Layout/Node.cpp
  270. Layout/Progress.cpp
  271. Layout/RadioButton.cpp
  272. Layout/ReplacedBox.cpp
  273. Layout/SVGBox.cpp
  274. Layout/SVGFormattingContext.cpp
  275. Layout/SVGGeometryBox.cpp
  276. Layout/SVGGraphicsBox.cpp
  277. Layout/SVGSVGBox.cpp
  278. Layout/TableBox.cpp
  279. Layout/TableCellBox.cpp
  280. Layout/TableFormattingContext.cpp
  281. Layout/TableRowBox.cpp
  282. Layout/TableRowGroupBox.cpp
  283. Layout/TextNode.cpp
  284. Layout/TreeBuilder.cpp
  285. Loader/ContentFilter.cpp
  286. Loader/FrameLoader.cpp
  287. Loader/ImageLoader.cpp
  288. Loader/ImageResource.cpp
  289. Loader/LoadRequest.cpp
  290. Loader/ProxyMappings.cpp
  291. Loader/Resource.cpp
  292. Loader/ResourceLoader.cpp
  293. MimeSniff/MimeType.cpp
  294. Namespace.cpp
  295. NavigationTiming/PerformanceTiming.cpp
  296. OutOfProcessWebView.cpp
  297. Page/EditEventHandler.cpp
  298. Page/EventHandler.cpp
  299. Page/Page.cpp
  300. Painting/BackgroundPainting.cpp
  301. Painting/BorderPainting.cpp
  302. Painting/ButtonPaintable.cpp
  303. Painting/CanvasPaintable.cpp
  304. Painting/CheckBoxPaintable.cpp
  305. Painting/ImagePaintable.cpp
  306. Painting/InlinePaintable.cpp
  307. Painting/LabelablePaintable.cpp
  308. Painting/MarkerPaintable.cpp
  309. Painting/NestedBrowsingContextPaintable.cpp
  310. Painting/PaintContext.cpp
  311. Painting/Paintable.cpp
  312. Painting/PaintableBox.cpp
  313. Painting/ProgressPaintable.cpp
  314. Painting/RadioButtonPaintable.cpp
  315. Painting/SVGGeometryPaintable.cpp
  316. Painting/SVGGraphicsPaintable.cpp
  317. Painting/SVGPaintable.cpp
  318. Painting/SVGSVGPaintable.cpp
  319. Painting/TextPaintable.cpp
  320. Painting/ShadowPainting.cpp
  321. Painting/StackingContext.cpp
  322. RequestIdleCallback/IdleDeadline.cpp
  323. ResizeObserver/ResizeObserver.cpp
  324. SVG/AttributeNames.cpp
  325. SVG/AttributeParser.cpp
  326. SVG/SVGAnimatedLength.cpp
  327. SVG/SVGClipPathElement.cpp
  328. SVG/SVGDefsElement.cpp
  329. SVG/SVGElement.cpp
  330. SVG/SVGElement.cpp
  331. SVG/SVGGElement.cpp
  332. SVG/SVGGeometryElement.cpp
  333. SVG/SVGGraphicsElement.cpp
  334. SVG/SVGPathElement.cpp
  335. SVG/SVGCircleElement.cpp
  336. SVG/SVGEllipseElement.cpp
  337. SVG/SVGLength.cpp
  338. SVG/SVGLineElement.cpp
  339. SVG/SVGPolygonElement.cpp
  340. SVG/SVGPolylineElement.cpp
  341. SVG/SVGRectElement.cpp
  342. SVG/SVGSVGElement.cpp
  343. SVG/SVGTextContentElement.cpp
  344. SVG/TagNames.cpp
  345. SVG/ViewBox.cpp
  346. Selection/Selection.cpp
  347. StylePropertiesModel.cpp
  348. UIEvents/EventNames.cpp
  349. UIEvents/FocusEvent.cpp
  350. UIEvents/KeyboardEvent.cpp
  351. UIEvents/MouseEvent.cpp
  352. URL/URL.cpp
  353. URL/URLSearchParams.cpp
  354. URL/URLSearchParamsIterator.cpp
  355. WebAssembly/WebAssemblyInstanceConstructor.cpp
  356. WebAssembly/WebAssemblyInstanceObject.cpp
  357. WebAssembly/WebAssemblyInstanceObjectPrototype.cpp
  358. WebAssembly/WebAssemblyMemoryConstructor.cpp
  359. WebAssembly/WebAssemblyMemoryPrototype.cpp
  360. WebAssembly/WebAssemblyModuleConstructor.cpp
  361. WebAssembly/WebAssemblyModuleObject.cpp
  362. WebAssembly/WebAssemblyObject.cpp
  363. WebAssembly/WebAssemblyTableConstructor.cpp
  364. WebAssembly/WebAssemblyTableObject.cpp
  365. WebAssembly/WebAssemblyTablePrototype.cpp
  366. WebContentClient.cpp
  367. WebSockets/WebSocket.cpp
  368. XHR/EventNames.cpp
  369. XHR/XMLHttpRequest.cpp
  370. XHR/XMLHttpRequestEventTarget.cpp
  371. XML/XMLDocumentBuilder.cpp
  372. )
  373. set(GENERATED_SOURCES
  374. ../../Services/RequestServer/RequestClientEndpoint.h
  375. ../../Services/RequestServer/RequestServerEndpoint.h
  376. ../../Services/WebContent/WebContentClientEndpoint.h
  377. ../../Services/WebContent/WebContentServerEndpoint.h
  378. )
  379. serenity_lib(LibWeb web)
  380. target_link_libraries(LibWeb LibCore LibJS LibMarkdown LibGemini LibGUI LibGfx LibTextCodec LibProtocol LibImageDecoderClient LibWasm LibXML)
  381. function(libweb_js_wrapper class)
  382. cmake_parse_arguments(PARSE_ARGV 1 LIBWEB_WRAPPER "ITERABLE" "" "")
  383. get_filename_component(basename "${class}" NAME)
  384. set(BINDINGS_SOURCES
  385. "Bindings/${basename}Wrapper.h"
  386. "Bindings/${basename}Wrapper.cpp"
  387. "Bindings/${basename}Constructor.h"
  388. "Bindings/${basename}Constructor.cpp"
  389. "Bindings/${basename}Prototype.h"
  390. "Bindings/${basename}Prototype.cpp"
  391. )
  392. set(BINDINGS_TYPES
  393. header
  394. implementation
  395. constructor-header
  396. constructor-implementation
  397. prototype-header
  398. prototype-implementation
  399. )
  400. # FIXME: Instead of requiring a manual declaration of iterable wrappers, we should ask WrapperGenerator if it's iterable
  401. if(LIBWEB_WRAPPER_ITERABLE)
  402. list(APPEND BINDINGS_SOURCES
  403. "Bindings/${basename}IteratorWrapper.h"
  404. "Bindings/${basename}IteratorWrapper.cpp"
  405. "Bindings/${basename}IteratorPrototype.h"
  406. "Bindings/${basename}IteratorPrototype.cpp"
  407. )
  408. list(APPEND BINDINGS_TYPES
  409. iterator-header
  410. iterator-implementation
  411. iterator-prototype-header
  412. iterator-prototype-implementation
  413. )
  414. endif()
  415. target_sources(LibWeb PRIVATE ${BINDINGS_SOURCES})
  416. # FIXME: cmake_minimum_required(3.17) for ZIP_LISTS
  417. list(LENGTH BINDINGS_SOURCES num_bindings)
  418. math(EXPR bindings_end "${num_bindings} - 1")
  419. foreach(iter RANGE "${bindings_end}")
  420. list(GET BINDINGS_SOURCES ${iter} bindings_src)
  421. list(GET BINDINGS_TYPES ${iter} bindings_type)
  422. get_property(include_paths DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
  423. list(TRANSFORM include_paths PREPEND -i)
  424. add_custom_command(
  425. OUTPUT "${bindings_src}"
  426. COMMAND "$<TARGET_FILE:Lagom::WrapperGenerator>" "--${bindings_type}" ${include_paths} "${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl" "${CMAKE_CURRENT_SOURCE_DIR}/" > "${bindings_src}.tmp"
  427. COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${bindings_src}.tmp" "${bindings_src}"
  428. COMMAND "${CMAKE_COMMAND}" -E remove "${bindings_src}.tmp"
  429. VERBATIM
  430. DEPENDS Lagom::WrapperGenerator
  431. MAIN_DEPENDENCY ${class}.idl
  432. )
  433. endforeach()
  434. add_custom_target(generate_${basename}Wrapper.h DEPENDS Bindings/${basename}Wrapper.h)
  435. add_dependencies(all_generated generate_${basename}Wrapper.h)
  436. add_custom_target(generate_${basename}Wrapper.cpp DEPENDS Bindings/${basename}Wrapper.cpp)
  437. add_dependencies(all_generated generate_${basename}Wrapper.cpp)
  438. add_custom_target(generate_${basename}Constructor.h DEPENDS Bindings/${basename}Constructor.h)
  439. add_dependencies(all_generated generate_${basename}Constructor.h)
  440. add_custom_target(generate_${basename}Constructor.cpp DEPENDS Bindings/${basename}Constructor.cpp)
  441. add_dependencies(all_generated generate_${basename}Constructor.cpp)
  442. add_custom_target(generate_${basename}Prototype.h DEPENDS Bindings/${basename}Prototype.h)
  443. add_dependencies(all_generated generate_${basename}Prototype.h)
  444. add_custom_target(generate_${basename}Prototype.cpp DEPENDS Bindings/${basename}Prototype.cpp)
  445. add_dependencies(all_generated generate_${basename}Prototype.cpp)
  446. endfunction()
  447. libweb_js_wrapper(Crypto/Crypto)
  448. libweb_js_wrapper(Crypto/SubtleCrypto)
  449. libweb_js_wrapper(CSS/CSSFontFaceRule)
  450. libweb_js_wrapper(CSS/CSSRule)
  451. libweb_js_wrapper(CSS/CSSRuleList)
  452. libweb_js_wrapper(CSS/CSSStyleDeclaration)
  453. libweb_js_wrapper(CSS/CSSStyleRule)
  454. libweb_js_wrapper(CSS/CSSStyleSheet)
  455. libweb_js_wrapper(CSS/MediaQueryList)
  456. libweb_js_wrapper(CSS/MediaQueryListEvent)
  457. libweb_js_wrapper(CSS/Screen)
  458. libweb_js_wrapper(CSS/StyleSheet)
  459. libweb_js_wrapper(CSS/StyleSheetList)
  460. libweb_js_wrapper(DOM/AbstractRange)
  461. libweb_js_wrapper(DOM/Attribute)
  462. libweb_js_wrapper(DOM/AbortController)
  463. libweb_js_wrapper(DOM/AbortSignal)
  464. libweb_js_wrapper(DOM/CharacterData)
  465. libweb_js_wrapper(DOM/Comment)
  466. libweb_js_wrapper(DOM/CustomEvent)
  467. libweb_js_wrapper(DOM/Document)
  468. libweb_js_wrapper(DOM/DocumentFragment)
  469. libweb_js_wrapper(DOM/DocumentType)
  470. libweb_js_wrapper(DOM/DOMException)
  471. libweb_js_wrapper(DOM/DOMImplementation)
  472. libweb_js_wrapper(DOM/DOMTokenList)
  473. libweb_js_wrapper(DOM/Element)
  474. libweb_js_wrapper(DOM/Event)
  475. libweb_js_wrapper(DOM/EventTarget)
  476. libweb_js_wrapper(DOM/HTMLCollection)
  477. libweb_js_wrapper(DOM/NamedNodeMap)
  478. libweb_js_wrapper(DOM/Node)
  479. libweb_js_wrapper(DOM/NodeIterator)
  480. libweb_js_wrapper(DOM/NodeList)
  481. libweb_js_wrapper(DOM/ProcessingInstruction)
  482. libweb_js_wrapper(DOM/Range)
  483. libweb_js_wrapper(DOM/ShadowRoot)
  484. libweb_js_wrapper(DOM/StaticRange)
  485. libweb_js_wrapper(DOM/Text)
  486. libweb_js_wrapper(DOM/TreeWalker)
  487. libweb_js_wrapper(Encoding/TextDecoder)
  488. libweb_js_wrapper(Encoding/TextEncoder)
  489. libweb_js_wrapper(Geometry/DOMRect)
  490. libweb_js_wrapper(Geometry/DOMRectList)
  491. libweb_js_wrapper(Geometry/DOMRectReadOnly)
  492. libweb_js_wrapper(HTML/CanvasGradient)
  493. libweb_js_wrapper(HTML/CanvasRenderingContext2D)
  494. libweb_js_wrapper(HTML/CloseEvent)
  495. libweb_js_wrapper(HTML/DOMParser)
  496. libweb_js_wrapper(HTML/DOMStringMap)
  497. libweb_js_wrapper(HTML/ErrorEvent)
  498. libweb_js_wrapper(HTML/History)
  499. libweb_js_wrapper(HTML/HTMLAnchorElement)
  500. libweb_js_wrapper(HTML/HTMLAreaElement)
  501. libweb_js_wrapper(HTML/HTMLAudioElement)
  502. libweb_js_wrapper(HTML/HTMLBaseElement)
  503. libweb_js_wrapper(HTML/HTMLBodyElement)
  504. libweb_js_wrapper(HTML/HTMLBRElement)
  505. libweb_js_wrapper(HTML/HTMLButtonElement)
  506. libweb_js_wrapper(HTML/HTMLCanvasElement)
  507. libweb_js_wrapper(HTML/HTMLDataElement)
  508. libweb_js_wrapper(HTML/HTMLDataListElement)
  509. libweb_js_wrapper(HTML/HTMLDetailsElement)
  510. libweb_js_wrapper(HTML/HTMLDialogElement)
  511. libweb_js_wrapper(HTML/HTMLDirectoryElement)
  512. libweb_js_wrapper(HTML/HTMLDivElement)
  513. libweb_js_wrapper(HTML/HTMLDListElement)
  514. libweb_js_wrapper(HTML/HTMLElement)
  515. libweb_js_wrapper(HTML/HTMLEmbedElement)
  516. libweb_js_wrapper(HTML/HTMLFieldSetElement)
  517. libweb_js_wrapper(HTML/HTMLFontElement)
  518. libweb_js_wrapper(HTML/HTMLFormElement)
  519. libweb_js_wrapper(HTML/HTMLFrameElement)
  520. libweb_js_wrapper(HTML/HTMLFrameSetElement)
  521. libweb_js_wrapper(HTML/HTMLHeadElement)
  522. libweb_js_wrapper(HTML/HTMLHeadingElement)
  523. libweb_js_wrapper(HTML/HTMLHRElement)
  524. libweb_js_wrapper(HTML/HTMLHtmlElement)
  525. libweb_js_wrapper(HTML/HTMLIFrameElement)
  526. libweb_js_wrapper(HTML/HTMLImageElement)
  527. libweb_js_wrapper(HTML/HTMLInputElement)
  528. libweb_js_wrapper(HTML/HTMLLabelElement)
  529. libweb_js_wrapper(HTML/HTMLLegendElement)
  530. libweb_js_wrapper(HTML/HTMLLIElement)
  531. libweb_js_wrapper(HTML/HTMLLinkElement)
  532. libweb_js_wrapper(HTML/HTMLMapElement)
  533. libweb_js_wrapper(HTML/HTMLMarqueeElement)
  534. libweb_js_wrapper(HTML/HTMLMediaElement)
  535. libweb_js_wrapper(HTML/HTMLMenuElement)
  536. libweb_js_wrapper(HTML/HTMLMetaElement)
  537. libweb_js_wrapper(HTML/HTMLMeterElement)
  538. libweb_js_wrapper(HTML/HTMLModElement)
  539. libweb_js_wrapper(HTML/HTMLObjectElement)
  540. libweb_js_wrapper(HTML/HTMLOListElement)
  541. libweb_js_wrapper(HTML/HTMLOptGroupElement)
  542. libweb_js_wrapper(HTML/HTMLOptionElement)
  543. libweb_js_wrapper(HTML/HTMLOptionsCollection)
  544. libweb_js_wrapper(HTML/HTMLOutputElement)
  545. libweb_js_wrapper(HTML/HTMLParagraphElement)
  546. libweb_js_wrapper(HTML/HTMLParamElement)
  547. libweb_js_wrapper(HTML/HTMLPictureElement)
  548. libweb_js_wrapper(HTML/HTMLPreElement)
  549. libweb_js_wrapper(HTML/HTMLProgressElement)
  550. libweb_js_wrapper(HTML/HTMLQuoteElement)
  551. libweb_js_wrapper(HTML/HTMLScriptElement)
  552. libweb_js_wrapper(HTML/HTMLSelectElement)
  553. libweb_js_wrapper(HTML/HTMLSlotElement)
  554. libweb_js_wrapper(HTML/HTMLSourceElement)
  555. libweb_js_wrapper(HTML/HTMLSpanElement)
  556. libweb_js_wrapper(HTML/HTMLStyleElement)
  557. libweb_js_wrapper(HTML/HTMLTableCaptionElement)
  558. libweb_js_wrapper(HTML/HTMLTableCellElement)
  559. libweb_js_wrapper(HTML/HTMLTableColElement)
  560. libweb_js_wrapper(HTML/HTMLTableElement)
  561. libweb_js_wrapper(HTML/HTMLTableRowElement)
  562. libweb_js_wrapper(HTML/HTMLTableSectionElement)
  563. libweb_js_wrapper(HTML/HTMLTemplateElement)
  564. libweb_js_wrapper(HTML/HTMLTextAreaElement)
  565. libweb_js_wrapper(HTML/HTMLTimeElement)
  566. libweb_js_wrapper(HTML/HTMLTitleElement)
  567. libweb_js_wrapper(HTML/HTMLTrackElement)
  568. libweb_js_wrapper(HTML/HTMLUListElement)
  569. libweb_js_wrapper(HTML/HTMLUnknownElement)
  570. libweb_js_wrapper(HTML/HTMLVideoElement)
  571. libweb_js_wrapper(HTML/ImageData)
  572. libweb_js_wrapper(HTML/MessageChannel)
  573. libweb_js_wrapper(HTML/MessageEvent)
  574. libweb_js_wrapper(HTML/MessagePort)
  575. libweb_js_wrapper(HTML/PageTransitionEvent)
  576. libweb_js_wrapper(HTML/PromiseRejectionEvent)
  577. libweb_js_wrapper(HTML/Storage)
  578. libweb_js_wrapper(HTML/SubmitEvent)
  579. libweb_js_wrapper(HTML/TextMetrics)
  580. libweb_js_wrapper(HTML/Worker)
  581. libweb_js_wrapper(HTML/WorkerGlobalScope)
  582. libweb_js_wrapper(HTML/WorkerLocation)
  583. libweb_js_wrapper(HTML/WorkerNavigator)
  584. libweb_js_wrapper(HighResolutionTime/Performance)
  585. libweb_js_wrapper(IntersectionObserver/IntersectionObserver)
  586. libweb_js_wrapper(NavigationTiming/PerformanceTiming)
  587. libweb_js_wrapper(RequestIdleCallback/IdleDeadline)
  588. libweb_js_wrapper(ResizeObserver/ResizeObserver)
  589. libweb_js_wrapper(SVG/SVGAnimatedLength)
  590. libweb_js_wrapper(SVG/SVGClipPathElement)
  591. libweb_js_wrapper(SVG/SVGDefsElement)
  592. libweb_js_wrapper(SVG/SVGElement)
  593. libweb_js_wrapper(SVG/SVGGeometryElement)
  594. libweb_js_wrapper(SVG/SVGGraphicsElement)
  595. libweb_js_wrapper(SVG/SVGCircleElement)
  596. libweb_js_wrapper(SVG/SVGEllipseElement)
  597. libweb_js_wrapper(SVG/SVGLength)
  598. libweb_js_wrapper(SVG/SVGLineElement)
  599. libweb_js_wrapper(SVG/SVGPathElement)
  600. libweb_js_wrapper(SVG/SVGPolygonElement)
  601. libweb_js_wrapper(SVG/SVGPolylineElement)
  602. libweb_js_wrapper(SVG/SVGRectElement)
  603. libweb_js_wrapper(SVG/SVGSVGElement)
  604. libweb_js_wrapper(SVG/SVGTextContentElement)
  605. libweb_js_wrapper(Selection/Selection)
  606. libweb_js_wrapper(UIEvents/FocusEvent)
  607. libweb_js_wrapper(UIEvents/KeyboardEvent)
  608. libweb_js_wrapper(UIEvents/MouseEvent)
  609. libweb_js_wrapper(UIEvents/UIEvent)
  610. libweb_js_wrapper(URL/URL)
  611. libweb_js_wrapper(URL/URLSearchParams ITERABLE)
  612. libweb_js_wrapper(WebSockets/WebSocket)
  613. libweb_js_wrapper(XHR/ProgressEvent)
  614. libweb_js_wrapper(XHR/XMLHttpRequest)
  615. libweb_js_wrapper(XHR/XMLHttpRequestEventTarget)
  616. invoke_generator(
  617. "Enums"
  618. Lagom::GenerateCSSEnums
  619. "${CMAKE_CURRENT_SOURCE_DIR}/CSS/Enums.json"
  620. ""
  621. "CSS/Enums.h"
  622. "CSS/Enums.cpp"
  623. arguments -j "${CMAKE_CURRENT_SOURCE_DIR}/CSS/Enums.json"
  624. )
  625. invoke_generator(
  626. "MediaFeatureID"
  627. Lagom::GenerateCSSMediaFeatureID
  628. "${CMAKE_CURRENT_SOURCE_DIR}/CSS/MediaFeatures.json"
  629. ""
  630. "CSS/MediaFeatureID.h"
  631. "CSS/MediaFeatureID.cpp"
  632. arguments -j "${CMAKE_CURRENT_SOURCE_DIR}/CSS/MediaFeatures.json"
  633. )
  634. invoke_generator(
  635. "PropertyID"
  636. Lagom::GenerateCSSPropertyID
  637. "${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json"
  638. ""
  639. "CSS/PropertyID.h"
  640. "CSS/PropertyID.cpp"
  641. arguments -j "${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json"
  642. )
  643. invoke_generator(
  644. "TransformFunctions"
  645. Lagom::GenerateCSSTransformFunctions
  646. "${CMAKE_CURRENT_SOURCE_DIR}/CSS/TransformFunctions.json"
  647. ""
  648. "CSS/TransformFunctions.h"
  649. "CSS/TransformFunctions.cpp"
  650. arguments -j "${CMAKE_CURRENT_SOURCE_DIR}/CSS/TransformFunctions.json"
  651. )
  652. invoke_generator(
  653. "ValueID"
  654. Lagom::GenerateCSSValueID
  655. "${CMAKE_CURRENT_SOURCE_DIR}/CSS/Identifiers.json"
  656. ""
  657. "CSS/ValueID.h"
  658. "CSS/ValueID.cpp"
  659. arguments -j "${CMAKE_CURRENT_SOURCE_DIR}/CSS/Identifiers.json"
  660. )
  661. add_custom_command(
  662. OUTPUT CSS/DefaultStyleSheetSource.cpp
  663. COMMAND "${CMAKE_COMMAND}" -E make_directory CSS
  664. COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh" default_stylesheet_source "${CMAKE_CURRENT_SOURCE_DIR}/CSS/Default.css" > CSS/DefaultStyleSheetSource.cpp.tmp
  665. COMMAND "${CMAKE_COMMAND}" -E copy_if_different CSS/DefaultStyleSheetSource.cpp.tmp CSS/DefaultStyleSheetSource.cpp
  666. COMMAND "${CMAKE_COMMAND}" -E remove CSS/DefaultStyleSheetSource.cpp.tmp
  667. VERBATIM
  668. DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh"
  669. MAIN_DEPENDENCY CSS/Default.css
  670. )
  671. add_custom_target(generate_DefaultStyleSheetSource.cpp DEPENDS CSS/DefaultStyleSheetSource.cpp)
  672. add_dependencies(all_generated generate_DefaultStyleSheetSource.cpp)
  673. add_custom_command(
  674. OUTPUT CSS/QuirksModeStyleSheetSource.cpp
  675. COMMAND "${CMAKE_COMMAND}" -E make_directory CSS
  676. COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh" quirks_mode_stylesheet_source "${CMAKE_CURRENT_SOURCE_DIR}/CSS/QuirksMode.css" > CSS/QuirksModeStyleSheetSource.cpp.tmp
  677. COMMAND "${CMAKE_COMMAND}" -E copy_if_different CSS/QuirksModeStyleSheetSource.cpp.tmp CSS/QuirksModeStyleSheetSource.cpp
  678. COMMAND "${CMAKE_COMMAND}" -E remove CSS/QuirksModeStyleSheetSource.cpp.tmp
  679. VERBATIM
  680. DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh"
  681. MAIN_DEPENDENCY CSS/Default.css
  682. )
  683. add_custom_target(generate_QuirksModeStyleSheetSource.cpp DEPENDS CSS/QuirksModeStyleSheetSource.cpp)
  684. add_dependencies(all_generated generate_QuirksModeStyleSheetSource.cpp)
  685. add_subdirectory(DumpLayoutTree)