Andreas Kling
9a7dc06567
LibHTML: Add Selector::specificity(), which returns a Specificity object.
2019-06-29 17:32:32 +02:00
Andreas Kling
ffcbe8f0de
LibHTML: Start building the style tree.
...
Walk the DOM and construct a parallel style tree that points back to the DOM
and has the relevant CSS property values hanging off of them.
The values are picked based on naive selector matching. There's no cascade
or specificity taken into account yet.
2019-06-28 21:25:44 +02:00
Andreas Kling
e971f5604c
LibHTML: Implement some very simple selector matching.
...
We walk the entire DOM and check all selectors against all elements. Only
id, class and tag name are checked right now. There's no ancestor stack
or compound selectors. All in good time :^)
2019-06-27 20:40:21 +02:00
Andreas Kling
2b4eea5a50
LibHTML: Start fleshing out a StyleResolver class.
...
This will be responsible for matching selectors and creating LayoutStyle
objects for the document and its elements.
2019-06-27 17:47:59 +02:00
Andreas Kling
7cc9ce8380
LibHTML: Use NonnullRefPtrVector in LibHTML.
2019-06-27 12:16:20 +02:00
Andreas Kling
7a3f59ae3f
LibHTML: Add a StyledNode class.
...
I'd like to try doing DOM -> style tree -> layout tree. I'm not exactly sure
how it's gonna work, but we'll figure it out as we go.
2019-06-27 08:37:47 +02:00
Andreas Kling
6469d7f043
LibHTML: Flesh out the code to dump a StyleSheet object graph.
2019-06-25 06:31:47 +02:00
Andreas Kling
4573eb226e
LibHTML: Implement enough of the CSS parser to parse the default stylesheet.
2019-06-22 21:48:56 +02:00
Andreas Kling
ae8eff55a7
LibHTML: Some initial works towards a simple CSS parser.
2019-06-22 09:27:39 +02:00
Andreas Kling
891e668e35
LibHTML: Add an empty CSS parser.
2019-06-21 20:55:41 +02:00
Andreas Kling
85d71024f7
LibHTML: Add a basic default UA stylesheet.
...
We can't parse this yet, but we have to start somewhere. :^)
2019-06-21 20:27:11 +02:00
Andreas Kling
02e02ca3a5
LibHTML: More work on the CSS object model.
2019-06-21 19:19:49 +02:00
Andreas Kling
d343fb2429
AK: Rename Retainable.h => RefCounted.h.
2019-06-21 18:58:45 +02:00
Andreas Kling
90b1354688
AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr.
2019-06-21 18:37:47 +02:00
Andreas Kling
77b9fa89dd
AK: Rename Retainable => RefCounted.
...
(And various related renames that go along with it.)
2019-06-21 15:30:03 +02:00
Andreas Kling
d99b1a9ea0
LibHTML: Add the outline of a CSS stylesheet object graph.
2019-06-20 23:25:25 +02:00