mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-10 13:00:29 +03:00
c61a4f35dc
This Intrinsics object hangs off of a new HostDefined struct that takes the place of EnvironmentSettingsObject as the true [[HostDefined]] slot on JS::Realm objects created by LibWeb. This gets the intrinsics off of the GlobalObject, Window, similar to the previous refactor of LibJS to move the intrinsics into the Realm's [[Intrinics]] internal slot. A side effect of this change is that we cannot fully initialize a Window object until the [[HostDefined]] slot has been installed into the realm, which happens with the creation of the WindowEnvironmentSettingsObject. As such, any Window usage that has not been funned through a WindowESO will not have any cached Web prototyped or constructors, and will not have Window APIs available to javascript code. Currently this seems limited to usage of Window in the CSS parser, but a subsequent commit will clean those up to take Realm as well. However, this commit compiles so let's cut it off here :^).
456 lines
13 KiB
CMake
456 lines
13 KiB
CMake
include(libweb_generators)
|
|
|
|
set(SOURCES
|
|
Bindings/AudioConstructor.cpp
|
|
Bindings/CSSNamespace.cpp
|
|
Bindings/HostDefined.cpp
|
|
Bindings/ImageConstructor.cpp
|
|
Bindings/Intrinsics.cpp
|
|
Bindings/LegacyPlatformObject.cpp
|
|
Bindings/LocationConstructor.cpp
|
|
Bindings/LocationObject.cpp
|
|
Bindings/MainThreadVM.cpp
|
|
Bindings/NavigatorConstructor.cpp
|
|
Bindings/NavigatorObject.cpp
|
|
Bindings/OptionConstructor.cpp
|
|
Bindings/PlatformObject.cpp
|
|
Bindings/WindowConstructor.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/ParsedCookie.cpp
|
|
DOM/AbortController.cpp
|
|
DOM/AbortSignal.cpp
|
|
DOM/AbstractRange.cpp
|
|
DOM/Attr.cpp
|
|
DOM/Attr.idl
|
|
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/Headers.cpp
|
|
Fetch/HeadersIterator.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/URL.cpp
|
|
Fetch/Request.cpp
|
|
Fetch/Response.cpp
|
|
FileAPI/Blob.cpp
|
|
FileAPI/File.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/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/MessageChannel.cpp
|
|
HTML/MessageEvent.cpp
|
|
HTML/MessagePort.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/Script.cpp
|
|
HTML/Scripting/WindowEnvironmentSettingsObject.cpp
|
|
HTML/Storage.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/CoarsenTime.cpp
|
|
HighResolutionTime/Performance.cpp
|
|
Infra/ByteSequences.cpp
|
|
Infra/JSON.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/LayoutPosition.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/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
|
|
RequestIdleCallback/IdleDeadline.cpp
|
|
ResizeObserver/ResizeObserver.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/SVGElement.cpp
|
|
SVG/SVGGElement.cpp
|
|
SVG/SVGGeometryElement.cpp
|
|
SVG/SVGGraphicsElement.cpp
|
|
SVG/SVGPathElement.cpp
|
|
SVG/SVGCircleElement.cpp
|
|
SVG/SVGEllipseElement.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
|
|
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
|
|
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 LibCore LibJS LibMarkdown LibGemini LibGL LibGUI LibGfx LibSoftGPU LibTextCodec 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"
|