ladybird/Userland/Libraries/LibWeb/CMakeLists.txt
MacDue 890b4d7980 LibWeb: Replace ARIA role static FlyStrings with an enum
This replaces the FlyStrings for ARIA roles that were constructed in
a [[gnu::constructor]] with a single enum. I came across this as the
DOM inspector was crashing due to a null FlyString for an ARIA role.

After fixing that, I was confused as to why these roles were not an
enum. Looking at the spec there's a fixed list of roles and switching
from references to static strings to an enum was pretty much an
exercise in find and replace :).

No functional changes (outside of fixing the mentioned crash).
2023-01-28 22:09:18 +00:00

496 lines
14 KiB
CMake

include(libweb_generators)
set(SOURCES
Bindings/AudioConstructor.cpp
Bindings/CSSNamespace.cpp
Bindings/FetchMethod.cpp
Bindings/HostDefined.cpp
Bindings/ImageConstructor.cpp
Bindings/Intrinsics.cpp
Bindings/LegacyPlatformObject.cpp
Bindings/LocationConstructor.cpp
Bindings/MainThreadVM.cpp
Bindings/OptionConstructor.cpp
Bindings/PlatformObject.cpp
Bindings/WindowConstructor.cpp
Bindings/WindowPrototype.cpp
Crypto/Crypto.cpp
Crypto/SubtleCrypto.cpp
CSS/Angle.cpp
CSS/Clip.cpp
CSS/CSSConditionRule.cpp
CSS/CSSGroupingRule.cpp
CSS/CSSImportRule.cpp
CSS/CSSFontFaceRule.cpp
CSS/CSSMediaRule.cpp
CSS/CSSRule.cpp
CSS/CSSRuleList.cpp
CSS/CSSStyleDeclaration.cpp
CSS/CSSStyleRule.cpp
CSS/CSSStyleSheet.cpp
CSS/CSSSupportsRule.cpp
CSS/Display.cpp
CSS/FontFace.cpp
CSS/Frequency.cpp
CSS/GridTrackPlacement.cpp
CSS/GridTrackSize.cpp
CSS/Length.cpp
CSS/LengthBox.cpp
CSS/MediaList.cpp
CSS/MediaQuery.cpp
CSS/MediaQueryList.cpp
CSS/MediaQueryListEvent.cpp
CSS/Parser/Block.cpp
CSS/Parser/ComponentValue.cpp
CSS/Parser/Declaration.cpp
CSS/Parser/DeclarationOrAtRule.cpp
CSS/Parser/Function.cpp
CSS/Parser/Parser.cpp
CSS/Parser/Rule.cpp
CSS/Parser/Token.cpp
CSS/Parser/Tokenizer.cpp
CSS/Percentage.cpp
CSS/PreferredColorScheme.cpp
CSS/Ratio.cpp
CSS/Resolution.cpp
CSS/ResolvedCSSStyleDeclaration.cpp
CSS/Screen.cpp
CSS/Selector.cpp
CSS/SelectorEngine.cpp
CSS/Serialize.cpp
CSS/Size.cpp
CSS/StyleComputer.cpp
CSS/StyleProperties.cpp
CSS/StyleSheet.cpp
CSS/StyleSheetList.cpp
CSS/StyleValue.cpp
CSS/Supports.cpp
CSS/SyntaxHighlighter/SyntaxHighlighter.cpp
CSS/Time.cpp
Cookie/Cookie.cpp
Cookie/ParsedCookie.cpp
DOM/AbortController.cpp
DOM/AbortSignal.cpp
DOM/AbstractRange.cpp
DOM/AccessibilityTreeNode.cpp
DOM/Attr.cpp
DOM/Attr.idl
DOM/ARIAMixin.cpp
DOM/ARIAMixin.idl
DOM/ARIARoles.cpp
DOM/CDATASection.cpp
DOM/CharacterData.cpp
DOM/CharacterData.idl
DOM/Comment.cpp
DOM/CustomEvent.cpp
DOM/DOMEventListener.cpp
DOM/DOMImplementation.cpp
DOM/DOMTokenList.cpp
DOM/DOMTokenList.idl
DOM/Document.cpp
DOM/DocumentFragment.cpp
DOM/DocumentLoadEventDelayer.cpp
DOM/DocumentType.cpp
DOM/Element.cpp
DOM/ElementFactory.cpp
DOM/Event.cpp
DOM/EventDispatcher.cpp
DOM/EventTarget.cpp
DOM/HTMLCollection.cpp
DOM/IDLEventListener.cpp
DOM/LiveNodeList.cpp
DOM/MutationObserver.cpp
DOM/MutationRecord.cpp
DOM/MutationType.cpp
DOM/NamedNodeMap.cpp
DOM/Node.cpp
DOM/NodeFilter.cpp
DOM/NodeIterator.cpp
DOM/NodeList.cpp
DOM/NodeOperations.cpp
DOM/ParentNode.cpp
DOM/Position.cpp
DOM/ProcessingInstruction.cpp
DOM/QualifiedName.cpp
DOM/Range.cpp
DOM/ShadowRoot.cpp
DOM/StaticNodeList.cpp
DOM/StaticRange.cpp
DOM/Text.cpp
DOM/Text.idl
DOM/TreeWalker.cpp
DOMParsing/InnerHTML.cpp
DOMParsing/XMLSerializer.cpp
Dump.cpp
Encoding/TextDecoder.cpp
Encoding/TextEncoder.cpp
Fetch/Body.cpp
Fetch/BodyInit.cpp
Fetch/Enums.cpp
Fetch/Fetching/Checks.cpp
Fetch/Fetching/Fetching.cpp
Fetch/Fetching/PendingResponse.cpp
Fetch/Fetching/RefCountedFlag.cpp
Fetch/FetchMethod.cpp
Fetch/Headers.cpp
Fetch/HeadersIterator.cpp
Fetch/Infrastructure/ConnectionTimingInfo.cpp
Fetch/Infrastructure/FetchAlgorithms.cpp
Fetch/Infrastructure/FetchController.cpp
Fetch/Infrastructure/FetchParams.cpp
Fetch/Infrastructure/FetchTimingInfo.cpp
Fetch/Infrastructure/HTTP.cpp
Fetch/Infrastructure/HTTP/Bodies.cpp
Fetch/Infrastructure/HTTP/Headers.cpp
Fetch/Infrastructure/HTTP/Methods.cpp
Fetch/Infrastructure/HTTP/Requests.cpp
Fetch/Infrastructure/HTTP/Responses.cpp
Fetch/Infrastructure/HTTP/Statuses.cpp
Fetch/Infrastructure/MimeTypeBlocking.cpp
Fetch/Infrastructure/NoSniffBlocking.cpp
Fetch/Infrastructure/PortBlocking.cpp
Fetch/Infrastructure/Task.cpp
Fetch/Infrastructure/URL.cpp
Fetch/Request.cpp
Fetch/Response.cpp
FileAPI/Blob.cpp
FileAPI/File.cpp
FileAPI/FileList.cpp
FontCache.cpp
Geometry/DOMPoint.cpp
Geometry/DOMPointReadOnly.cpp
Geometry/DOMRect.cpp
Geometry/DOMRectList.cpp
Geometry/DOMRectReadOnly.cpp
HTML/AttributeNames.cpp
HTML/BrowsingContext.cpp
HTML/BrowsingContextContainer.cpp
HTML/BrowsingContextGroup.cpp
HTML/Canvas/CanvasDrawImage.cpp
HTML/Canvas/CanvasPath.cpp
HTML/Canvas/CanvasState.cpp
HTML/CanvasGradient.cpp
HTML/CanvasRenderingContext2D.cpp
HTML/CloseEvent.cpp
HTML/CrossOrigin/AbstractOperations.cpp
HTML/CrossOrigin/Reporting.cpp
HTML/DOMParser.cpp
HTML/DOMStringMap.cpp
HTML/ErrorEvent.cpp
HTML/EventHandler.cpp
HTML/EventLoop/EventLoop.cpp
HTML/EventLoop/Task.cpp
HTML/EventLoop/TaskQueue.cpp
HTML/EventNames.cpp
HTML/Focus.cpp
HTML/FormAssociatedElement.cpp
HTML/GlobalEventHandlers.cpp
HTML/History.cpp
HTML/HTMLAnchorElement.cpp
HTML/HTMLAreaElement.cpp
HTML/HTMLAudioElement.cpp
HTML/HTMLBRElement.cpp
HTML/HTMLBaseElement.cpp
HTML/HTMLBlinkElement.cpp
HTML/HTMLBodyElement.cpp
HTML/HTMLButtonElement.cpp
HTML/HTMLCanvasElement.cpp
HTML/HTMLDListElement.cpp
HTML/HTMLDataElement.cpp
HTML/HTMLDataListElement.cpp
HTML/HTMLDetailsElement.cpp
HTML/HTMLDialogElement.cpp
HTML/HTMLDirectoryElement.cpp
HTML/HTMLDivElement.cpp
HTML/HTMLElement.cpp
HTML/HTMLEmbedElement.cpp
HTML/HTMLFieldSetElement.cpp
HTML/HTMLFontElement.cpp
HTML/HTMLFormElement.cpp
HTML/HTMLFrameElement.cpp
HTML/HTMLFrameSetElement.cpp
HTML/HTMLHRElement.cpp
HTML/HTMLHeadElement.cpp
HTML/HTMLHeadingElement.cpp
HTML/HTMLHtmlElement.cpp
HTML/HTMLHyperlinkElementUtils.cpp
HTML/HTMLIFrameElement.cpp
HTML/HTMLImageElement.cpp
HTML/HTMLInputElement.cpp
HTML/HTMLLIElement.cpp
HTML/HTMLLabelElement.cpp
HTML/HTMLLegendElement.cpp
HTML/HTMLLinkElement.cpp
HTML/HTMLMapElement.cpp
HTML/HTMLMarqueeElement.cpp
HTML/HTMLMediaElement.cpp
HTML/HTMLMenuElement.cpp
HTML/HTMLMetaElement.cpp
HTML/HTMLMeterElement.cpp
HTML/HTMLModElement.cpp
HTML/HTMLOListElement.cpp
HTML/HTMLObjectElement.cpp
HTML/HTMLOptGroupElement.cpp
HTML/HTMLOptionElement.cpp
HTML/HTMLOptionsCollection.cpp
HTML/HTMLOutputElement.cpp
HTML/HTMLParagraphElement.cpp
HTML/HTMLParamElement.cpp
HTML/HTMLPictureElement.cpp
HTML/HTMLPreElement.cpp
HTML/HTMLProgressElement.cpp
HTML/HTMLQuoteElement.cpp
HTML/HTMLScriptElement.cpp
HTML/HTMLSelectElement.cpp
HTML/HTMLSlotElement.cpp
HTML/HTMLSourceElement.cpp
HTML/HTMLSpanElement.cpp
HTML/HTMLStyleElement.cpp
HTML/HTMLTableCaptionElement.cpp
HTML/HTMLTableCellElement.cpp
HTML/HTMLTableColElement.cpp
HTML/HTMLTableElement.cpp
HTML/HTMLTableRowElement.cpp
HTML/HTMLTableSectionElement.cpp
HTML/HTMLTemplateElement.cpp
HTML/HTMLTextAreaElement.cpp
HTML/HTMLTimeElement.cpp
HTML/HTMLTitleElement.cpp
HTML/HTMLTrackElement.cpp
HTML/HTMLUListElement.cpp
HTML/HTMLUnknownElement.cpp
HTML/HTMLVideoElement.cpp
HTML/ImageData.cpp
HTML/Location.cpp
HTML/MessageChannel.cpp
HTML/MessageEvent.cpp
HTML/MessagePort.cpp
HTML/Navigator.cpp
HTML/NavigatorID.cpp
HTML/PageTransitionEvent.cpp
HTML/Parser/Entities.cpp
HTML/Parser/HTMLEncodingDetection.cpp
HTML/Parser/HTMLParser.cpp
HTML/Parser/HTMLToken.cpp
HTML/Parser/HTMLTokenizer.cpp
HTML/Parser/ListOfActiveFormattingElements.cpp
HTML/Parser/StackOfOpenElements.cpp
HTML/Path2D.cpp
HTML/PromiseRejectionEvent.cpp
HTML/Scripting/ClassicScript.cpp
HTML/Scripting/Environments.cpp
HTML/Scripting/ExceptionReporter.cpp
HTML/Scripting/Fetching.cpp
HTML/Scripting/ModuleMap.cpp
HTML/Scripting/ModuleScript.cpp
HTML/Scripting/Script.cpp
HTML/Scripting/WindowEnvironmentSettingsObject.cpp
HTML/Storage.cpp
HTML/StructuredSerialize.cpp
HTML/SubmitEvent.cpp
HTML/SyntaxHighlighter/SyntaxHighlighter.cpp
HTML/TagNames.cpp
HTML/TextMetrics.cpp
HTML/Timer.cpp
HTML/Window.cpp
HTML/WindowEventHandlers.cpp
HTML/WindowProxy.cpp
HTML/Worker.cpp
HTML/WorkerDebugConsoleClient.cpp
HTML/WorkerGlobalScope.cpp
HTML/WorkerLocation.cpp
HTML/WorkerNavigator.cpp
HighResolutionTime/Performance.cpp
HighResolutionTime/TimeOrigin.cpp
Infra/Base64.cpp
Infra/ByteSequences.cpp
Infra/JSON.cpp
Infra/Strings.cpp
IntersectionObserver/IntersectionObserver.cpp
Layout/AvailableSpace.cpp
Layout/BlockContainer.cpp
Layout/BlockFormattingContext.cpp
Layout/Box.cpp
Layout/BoxModelMetrics.cpp
Layout/BreakNode.cpp
Layout/ButtonBox.cpp
Layout/CanvasBox.cpp
Layout/CheckBox.cpp
Layout/FlexFormattingContext.cpp
Layout/FormattingContext.cpp
Layout/FrameBox.cpp
Layout/GridFormattingContext.cpp
Layout/ImageBox.cpp
Layout/InitialContainingBlock.cpp
Layout/InlineFormattingContext.cpp
Layout/InlineLevelIterator.cpp
Layout/InlineNode.cpp
Layout/Label.cpp
Layout/LabelableNode.cpp
Layout/LayoutState.cpp
Layout/LineBox.cpp
Layout/LineBoxFragment.cpp
Layout/LineBuilder.cpp
Layout/ListItemBox.cpp
Layout/ListItemMarkerBox.cpp
Layout/Node.cpp
Layout/Progress.cpp
Layout/RadioButton.cpp
Layout/ReplacedBox.cpp
Layout/SVGBox.cpp
Layout/SVGFormattingContext.cpp
Layout/SVGGeometryBox.cpp
Layout/SVGGraphicsBox.cpp
Layout/SVGSVGBox.cpp
Layout/TableBox.cpp
Layout/TableCellBox.cpp
Layout/TableFormattingContext.cpp
Layout/TableRowBox.cpp
Layout/TableRowGroupBox.cpp
Layout/TableWrapper.cpp
Layout/TextNode.cpp
Layout/TreeBuilder.cpp
Loader/ContentFilter.cpp
Loader/FileRequest.cpp
Loader/FrameLoader.cpp
Loader/ImageLoader.cpp
Loader/ImageResource.cpp
Loader/LoadRequest.cpp
Loader/ProxyMappings.cpp
Loader/Resource.cpp
Loader/ResourceLoader.cpp
MimeSniff/MimeType.cpp
Namespace.cpp
NavigationTiming/PerformanceTiming.cpp
Page/EditEventHandler.cpp
Page/EventHandler.cpp
Page/Page.cpp
Painting/BackgroundPainting.cpp
Painting/BorderPainting.cpp
Painting/BorderRadiusCornerClipper.cpp
Painting/ButtonPaintable.cpp
Painting/CanvasPaintable.cpp
Painting/CheckBoxPaintable.cpp
Painting/GradientPainting.cpp
Painting/FilterPainting.cpp
Painting/ImagePaintable.cpp
Painting/InlinePaintable.cpp
Painting/LabelablePaintable.cpp
Painting/MarkerPaintable.cpp
Painting/NestedBrowsingContextPaintable.cpp
Painting/PaintContext.cpp
Painting/Paintable.cpp
Painting/PaintableBox.cpp
Painting/ProgressPaintable.cpp
Painting/RadioButtonPaintable.cpp
Painting/SVGGeometryPaintable.cpp
Painting/SVGGraphicsPaintable.cpp
Painting/SVGPaintable.cpp
Painting/SVGSVGPaintable.cpp
Painting/ShadowPainting.cpp
Painting/StackingContext.cpp
Painting/TextPaintable.cpp
Platform/EventLoopPlugin.cpp
Platform/EventLoopPluginSerenity.cpp
Platform/FontPlugin.cpp
Platform/FontPluginSerenity.cpp
Platform/ImageCodecPlugin.cpp
Platform/Timer.cpp
Platform/TimerSerenity.cpp
ReferrerPolicy/AbstractOperations.cpp
RequestIdleCallback/IdleDeadline.cpp
ResizeObserver/ResizeObserver.cpp
SecureContexts/AbstractOperations.cpp
Streams/AbstractOperations.cpp
Streams/ReadableStream.cpp
SVG/AttributeNames.cpp
SVG/AttributeParser.cpp
SVG/SVGAnimatedLength.cpp
SVG/SVGClipPathElement.cpp
SVG/SVGDefsElement.cpp
SVG/SVGElement.cpp
SVG/SVGGElement.cpp
SVG/SVGGeometryElement.cpp
SVG/SVGGraphicsElement.cpp
SVG/SVGPathElement.cpp
SVG/SVGCircleElement.cpp
SVG/SVGEllipseElement.cpp
SVG/SVGForeignObjectElement.cpp
SVG/SVGLength.cpp
SVG/SVGLineElement.cpp
SVG/SVGPolygonElement.cpp
SVG/SVGPolylineElement.cpp
SVG/SVGRectElement.cpp
SVG/SVGSVGElement.cpp
SVG/SVGTextContentElement.cpp
SVG/TagNames.cpp
SVG/ViewBox.cpp
Selection/Selection.cpp
UIEvents/EventNames.cpp
UIEvents/FocusEvent.cpp
UIEvents/KeyboardEvent.cpp
UIEvents/MouseEvent.cpp
UIEvents/UIEvent.cpp
UIEvents/WheelEvent.cpp
URL/URL.cpp
URL/URLSearchParams.cpp
URL/URLSearchParamsIterator.cpp
WebAssembly/WebAssemblyInstanceConstructor.cpp
WebAssembly/WebAssemblyInstanceObject.cpp
WebAssembly/WebAssemblyInstanceObjectPrototype.cpp
WebAssembly/WebAssemblyMemoryConstructor.cpp
WebAssembly/WebAssemblyMemoryPrototype.cpp
WebAssembly/WebAssemblyModuleConstructor.cpp
WebAssembly/WebAssemblyModuleObject.cpp
WebAssembly/WebAssemblyObject.cpp
WebAssembly/WebAssemblyTableConstructor.cpp
WebAssembly/WebAssemblyTableObject.cpp
WebAssembly/WebAssemblyTablePrototype.cpp
WebDriver/Capabilities.cpp
WebDriver/Client.cpp
WebDriver/ElementLocationStrategies.cpp
WebDriver/Error.cpp
WebDriver/ExecuteScript.cpp
WebDriver/Response.cpp
WebDriver/Screenshot.cpp
WebDriver/TimeoutsConfiguration.cpp
WebGL/WebGLContextAttributes.cpp
WebGL/WebGLContextEvent.cpp
WebGL/WebGLRenderingContext.cpp
WebGL/WebGLRenderingContextBase.cpp
WebIDL/AbstractOperations.cpp
WebIDL/CallbackType.cpp
WebIDL/DOMException.cpp
WebIDL/OverloadResolution.cpp
WebIDL/Promise.cpp
WebSockets/WebSocket.cpp
XHR/EventNames.cpp
XHR/ProgressEvent.cpp
XHR/XMLHttpRequest.cpp
XHR/XMLHttpRequestEventTarget.cpp
XML/XMLDocumentBuilder.cpp
)
generate_css_implementation()
set(GENERATED_SOURCES
CSS/DefaultStyleSheetSource.cpp
CSS/Enums.cpp
CSS/MediaFeatureID.cpp
CSS/PropertyID.cpp
CSS/QuirksModeStyleSheetSource.cpp
CSS/TransformFunctions.cpp
CSS/ValueID.cpp
)
serenity_lib(LibWeb web)
# NOTE: We link with LibSoftGPU here instead of lazy loading it via dlopen() so that we do not have to unveil the library and pledge prot_exec.
target_link_libraries(LibWeb PRIVATE LibCore LibCrypto LibJS LibMarkdown LibHTTP LibGemini LibGL LibGUI LibGfx LibIPC LibLocale LibRegex LibSoftGPU LibSyntax LibTextCodec LibUnicode LibWasm LibXML LibIDL)
link_with_locale_data(LibWeb)
generate_js_bindings(LibWeb)
# Note: If you're looking for the calls to "libweb_js_bindings()",
# they have been moved to "idl_files.cmake"