Andreas Kling
4e35bbffdd
LibHTML: LayoutText should always use parent's style properties
...
This patch makes StyleProperties heap-allocated and ref-counted so that
a LayoutNode can be without one. The ref-counting also allows anonymous
blocks to share style with their parent block.
LayoutText never needs a StyleProperties, since text always inherits
style from its parent element. This is handled by style_properties().
2019-10-04 12:12:39 +02:00
Andreas Kling
c51366b22c
LibHTML: Prettify ColorStyleValue::to_string() a little bit
...
I don't know why I made this say "COLOR: #rrggbbaa" when it can also
just say "#rrggbbaa" :^)
2019-10-03 16:12:45 +02:00
Andreas Kling
9290117b77
LibHTML: Let's put debug output on the debugger stream
2019-10-03 10:25:34 +02:00
Andreas Kling
8f842375a2
LibHTML: Implement the <hr> element
...
This also meant I had to implement basic support for the border-styles
"inset" and "outset". If it's neither of those, we default to "solid".
2019-10-01 20:50:11 +02:00
Andreas Kling
86b7dd6d5d
LibHTML: Tweak default CSS to bring it a bit closer to HTML4
2019-10-01 20:16:42 +02:00
Andreas Kling
a5e5a3fab7
LibHTML: Implement basic support for inline style attributes
...
You can now style elements with inline styles:
<div style="color: #ff0000">This is red!</div>
Pretty neat :^)
2019-09-30 20:25:33 +02:00
Andreas Kling
8d797fc62e
LibHTML: Fix incorrect CSS object model
...
A StyleRule has a StyleDeclaration which has many StyleProperty. :^)
2019-09-30 20:06:17 +02:00
Andreas Kling
37a37accd4
LibHTML: Implement basic support for background-color
2019-09-29 18:05:37 +02:00
Andreas Kling
402c6de5c9
LibHTML: Make <div> elements display: block
2019-09-29 17:26:52 +02:00
Andreas Kling
a768724270
LibHTML: Make <a> tags blue and underline by default
...
In the future, this should only apply to "a:link", but since we don't
have pseudo-classes yet, all "a" tags will do for now.
2019-09-28 22:57:46 +02:00
Andreas Kling
8271ad40a5
LibHTML: Implement basic support for "text-decoration: underline"
2019-09-28 22:57:46 +02:00
Andreas Kling
62cbaa74f3
LibHTML: Respect the CSS "color" property for text
...
Also remove the color values from the ComputedStyle object and get them
via StyleProperties instead.
At the moment, we only handle colors that Color::from_string() parses.
2019-09-28 22:57:46 +02:00
Andreas Kling
83f643d43c
LibHTML: Make h1 and h2 tags use Pebbleton Bold by default :^)
2019-09-28 19:14:36 +02:00
Sergey Bugaev
8a2beaf52b
LibHTML: Tweak the default CSS style
2019-09-28 18:29:42 +02:00
Sergey Bugaev
6491493e26
LibHTML: Hide debugging output unless HTML_DEBUG is defined
2019-09-28 18:29:42 +02:00
Sergey Bugaev
841ae44392
LibHTML: Implement basic style inheritance
2019-09-28 18:29:42 +02:00
Sergey Bugaev
08c751d130
LibHTML: Add StyleProperties::string_or_fallback()
...
This is an utility to go with the existing length_or_fallback().
2019-09-28 18:29:42 +02:00
Sergey Bugaev
fd0aa5dd43
LibHTML: Get rid of the style tree
...
We now create a layout tree directly from the DOM tree.
This way we don't actually lose text nodes ^)
2019-09-28 18:29:42 +02:00
Andreas Kling
73fdbba59c
AK: Rename <AK/AKString.h> to <AK/String.h>
...
This was a workaround to be able to build on case-insensitive file
systems where it might get confused about <string.h> vs <String.h>.
Let's just not support building that way, so String.h can have an
objectively nicer name. :^)
2019-09-06 15:36:54 +02:00
Andreas Kling
fc43cf929d
LibHTML: Implement basic block height computation
...
..and add vertical box properties to the layout tree dumps.
2019-08-18 08:39:52 +02:00
Andreas Kling
70eca3b500
LibHTML: Finish the block width calculation
...
Also add horizontal box values to the layout tree dump.
2019-08-18 08:39:52 +02:00
Andreas Kling
e423bb4901
LibHTML: A tiny bit of work towards block layout.
2019-07-26 08:05:14 +02:00
Andreas Kling
f88c5860df
LibHTML: Fetch the box edge values needed for block width computation.
2019-07-24 07:34:07 +02:00
Andreas Kling
9526b0e13a
LibHTML: Add InheritStyleValue and InitialStyleValue.
...
These correspond to the 'inherit' and 'initial' CSS values respectively.
2019-07-08 07:15:56 +02:00
Andreas Kling
04b9dc2d30
Libraries: Create top level directory for libraries.
...
Things were getting a little crowded in the project root, so this patch
moves the Lib*/ directories into Libraries/.
2019-07-04 16:16:50 +02:00