summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/Forward.h
AgeCommit message (Collapse)Author
2022-06-27LibWeb: Add CDATASectionLuke Wilde
Not used for anything currently other than exposing it on the Window object. This allows Web Components Polyfills to patch its prototype.
2022-06-23LibWeb: Pass border radii data to shadow paintingMacDue
This is not used yet, but will be needed for painting shadows on elements that have a border-radius.
2022-06-13LibWeb: Add the ability to retrieve a WebGL context from getContextLuke Wilde
2022-06-13LibWeb: Introduce the WebGL namespace and add WebGLContextEventLuke Wilde
2022-05-15LibWebView: Move OutOfProcessWebView to a new LibWebView libraryDexesTTP
Also moves WebContentClient and the references to the generated IPC descriptions, since they are all components of OutOfProcessWebView. This patch has no functional changes.
2022-05-11LibWeb: Add CSSSupportsRule wrapperSam Atkins
2022-05-11LibWeb: Add CSSMediaRule wrapperSam Atkins
2022-05-11LibWeb: Add CSSImportRule wrapperSam Atkins
2022-05-11LibWeb: Add CSSConditionRule wrapperSam Atkins
2022-05-11LibWeb: Add CSSGroupingRule wrapperSam Atkins
2022-05-11LibWeb: Add MediaList wrapperSam Atkins
Most of the pieces were already there, I'd just forgotten to actually wire them up.
2022-04-18LibWeb: Add missing [as/is]_border_radius_shorthand() methodsSam Atkins
2022-04-12LibWeb: Rename StyleRule -> RuleSam Atkins
This name is what's used in the spec, and is a little less confusing.
2022-04-12LibWeb: Move Token and Tokenizer into Parser namespaceSam Atkins
2022-04-12LibWeb: Move StyleRule to Parser namespaceSam Atkins
2022-04-12LibWeb: Move Declaration and DeclarationOrAtRule into Parser namespaceSam Atkins
2022-04-12LibWeb: Move/rename StyleBlockRule to Parser::BlockSam Atkins
2022-04-12LibWeb: Move/rename StyleFunctionRule to Parser::FunctionSam Atkins
2022-04-12LibWeb: Move ComponentValue to CSS::Parser namespaceSam Atkins
2022-04-12LibWeb: Move CSS Parser into new Web::CSS::Parser namespaceSam Atkins
The goal here is to move the parser-internal classes into this namespace so they can have more convenient names without causing collisions. The Parser itself won't collide, and would be more convenient to just remain `CSS::Parser`, but having a namespace and a class with the same name makes C++ unhappy.
2022-04-12LibWeb: Stop manually forward-declaring types in CSS Parser.hSam Atkins
2022-04-11LibWeb: Add SVGDefsElementSimon Danner
* Similarly to clipPath, this doesn't need to get rendered, so return no LayoutNode.
2022-04-10LibWeb: Sketch out a very basic SVG <clipPath> elementAndreas Kling
This element doesn't actually support anything at the moment, but it still massively speeds up painting performance on Wikipedia! :^) How? Because we no longer paint SVG <path> elements found inside <clipPath> elements. SVGClipPathElement::create_layout_node() returns nullptr which stops the layout tree builder from recursing further into the subtree, and so the <path> element never gets a layout or paint box. Mousing over Wikipedia now barely break 50% CPU usage on my machine :^)
2022-04-07LibWeb: Add CSS::UnicodeRange classSam Atkins
This corresponds to `<urange>` in CSS grammar.
2022-04-06LibWeb: Remove the InProcessWebView widgetAndreas Kling
Let's simplify our offering by only having the OutOfProcessWebView.
2022-04-04LibWeb: Add legacy Option factory functionIgor Pissolati
2022-04-02LibWeb: Add the ResizeObserverBoxOptions IDL enumIdan Horowitz
2022-03-28LibWeb: Load X(HT)ML documents and transform them into HTML DOMAli Mohammad Pur
2022-03-28LibWeb: Implement initial CSSFontFaceRule and FontFace classesSam Atkins
For now, this is the bare minimum that's needed: font-family and src.
2022-03-24LbWeb: Rename BoxShadowFoo => ShadowFooSam Atkins
The `text-shadow` property is almost identical to `box-shadow`: > Values are interpreted as for box-shadow [CSS-BACKGROUNDS-3]. > (But note that the inset keyword are not allowed.) So, let's use the same data structures and parsing code for both. :^)
2022-03-22LibWeb: Implement a CSS::Number classSam Atkins
We have the same "number and is-integer flag" structure in several places, so let's put that in a class.
2022-03-21LibWeb: Implement the SVGAnimatedLength typeTimothy Flynn
2022-03-21LibWeb: Begin implementing the SVGLength typeTimothy Flynn
There are a few unimplemented features for this type: 1. The value setter should throw a DOMException if it is invoked on an SVGLength that was declared readonly in another IDL file. 2. SVG::AttributeParser does not parse unit types when it parses lengths so all SVGLength will have an "unknown" unit for now. 3. Due to (2), methods which convert between units are unimplemented.
2022-03-20LibWeb: Add a barebones SVGTextContentElement with getNumberOfChars()Andreas Kling
2022-03-16LibWeb: Add stub implementation of HTMLOptionsCollectionSimon Wanner
This is a subtype of `DOM::HTMLCollection` that only holds `HTMLOptionElement`s. In this stub implementation only `item`, `namedItem` and `length`, inherited from HTMLCollection, are exposed. This is good enough for applications that only read the collection.
2022-03-11LibWeb: Remove a bunch of no-longer needed #includesAndreas Kling
2022-03-11LibWeb: Move hit testing to the painting treeAndreas Kling
2022-03-11LibWeb: Move mouse event and label logic from layout to painting treeAndreas Kling
Input events have nothing to do with layout, so let's not send them to layout nodes. The job of Paintable starts to become clear. It represents a paintable item that can be rendered into the viewport, which means it can also be targeted by the mouse cursor.
2022-03-11LibWeb: Split Paintable into Paintable and PaintableBoxAndreas Kling
To prepare for paintable inline content, we take the basic painting functionality and hoist it into a base class.
2022-03-11LibWeb: Rename Painting::Box => PaintableAndreas Kling
Calling this "Box" made it very confusing to look at code that used both Layout::Box and Painting::Box. Let's try calling it Paintable instead.
2022-03-11LibWeb: Make Painting::Box virtual and add Painting::BoxWithLinesAndreas Kling
BlockContainer paint boxes are the only ones that have line boxes associated, so let's not waste memory on line boxes in all the other types of boxes. This also adds Layout::Box::paint_box() and the more tightly typed Layout::BlockContainer::paint_box() to get at the paint box from the corresponding layout box.
2022-03-11LibWeb: Move StackingContext and PaintPhase into the Painting namespaceAndreas Kling
2022-03-11LibWeb: Add Painting::Box and move things from Layout::Box into itAndreas Kling
The "paintable" state in Layout::Box was actually not safe to access until after layout had been performed. As a first step towards making this harder to mess up accidentally, this patch moves painting information from Layout::Box to a new class: Painting::Box. Every layout can have a corresponding paint box, and it holds the final used metrics determined by layout. The paint box is created and populated by FormattingState::commit(). I've also added DOM::Node::paint_box() as a convenient way to access the paint box (if available) of a given DOM node. Going forward, I believe this will allow us to better separate data that belongs to layout vs painting, and also open up opportunities for naturally invalidating caches in the paint box (since it's reconstituted by every layout.)
2022-03-09LibWeb: Invalidate style after CSSStyleSheet.{insert,remove}Rule()Andreas Kling
When rules are inserted or removed via the CSSOM API, we now invalidate document style to ensure that any changes made are reflected. 1% progression on ACID3. :^)
2022-03-09LibWeb: Add support for DOM's TreeWalkerAndreas Kling
This patch adds TreeWalker (created via Document.createTreeWalker()) which allows you to traverse a filtered view of the DOM in all directions.
2022-03-09LibWeb: Add basic support for DOM's NodeIterator and NodeFilterAndreas Kling
This patch adds NodeIterator (created via Document.createNodeIterator()) which allows you to iterate through all the nodes in a subtree while filtering with a provided NodeFilter callback along the way. This first cut implements the full API, but does not yet handle nodes being removed from the document while referenced by the iterator. That will be done in a subsequent patch.
2022-03-08LibWeb: Implement the WindowProxy exotic objectLinus Groh
A couple steps requiring working relationships between browsing contexts are currently FIXME'd - see #12917.
2022-03-08LibWeb: Move Timer from DOM directory & namespace to HTMLLinus Groh
Timers are part of the HTML spec. :^) https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
2022-03-08LibWeb: Move Window from DOM directory & namespace to HTMLLinus Groh
The Window object is part of the HTML spec. :^) https://html.spec.whatwg.org/multipage/window-object.html
2022-03-04LibWeb: Add HTMLMediaElement.canPlayType()Linus Groh
For the time being, the answer is no, or rather: "" :^)