Andreas Kling
767daf1c12
LibWeb: Unbreak <a title> tooltips in the main frame
...
The main frame doesn't have a host element, so we can't go trying to
offset things by the host element's layout rect.
2020-06-07 19:09:03 +02:00
Andreas Kling
d93bf78346
LibWeb: Fix broken paint invalidation after subframe changes
...
Now that PageView actually respects the invalidation rect provided by
the layout system, it turns out we were invalidating too little.
Unfortunately, this is not really fixable until the initial containing
block starts having the right size (same as viewport), but that will
require a bunch of work to make overflow work again. So it's a FIXME
for now, and we'll return to this.
2020-06-07 17:12:42 +02:00
Andreas Kling
3ae3729b4e
LibWeb: Let subframes propagate paint invalidations via host element
...
When a paint invalidation occurs inside a subframe, it bubbles up to
Frame::set_needs_display(). From there, we call PageView if this is
the main frame, or otherwise invalidate the subframe host element.
2020-06-07 14:56:29 +02:00
Andreas Kling
d1852b4547
LibWeb: Add per-Frame EventHandler, handle mouse events recursively
...
We now handle mouse events by recursing into subframes. This makes
links, tooltips, etc, work inside <iframe> content.
2020-06-07 14:40:38 +02:00
Andreas Kling
896db187e5
LibWeb: Move Frame.{cpp,h} into a new Frame/ directory
2020-06-07 10:14:41 +02:00
Andreas Kling
efe9d36eba
LibWeb: Always scroll PageView to top when a new document is set
2020-06-06 14:14:43 +02:00
Andreas Kling
075bd75859
LibWeb: Add a FrameLoader class and move PageView's loading logic there
...
Each Frame now has a FrameLoader which will be responsible for handling
loading inside that frame.
2020-06-06 14:14:43 +02:00
Andreas Kling
2149820260
LibWeb: Use HTML::AttributeNames::foo instead of FlyString("foo")
...
To avoid the costly instantiation of FlyStrings whenever we're looking
up attributes, use the premade HTML::AttributeNames globals. :^)
2020-06-03 21:53:00 +02:00
Andreas Kling
6ed11f1d1c
LibWeb: Move ResourceLoader into a new Loader/ directory
2020-06-01 20:42:50 +02:00
Andreas Kling
e58e315e0f
LibWeb: Make input widget (buttons, text boxes, etc) scroll with page
...
We now relayout all LayoutWidgets when the view is scrolled. This will
cause them to follow along with the rest of the page content.
2020-06-01 19:52:38 +02:00
Andreas Kling
8766e49a7c
LibWeb+Browser: Use the new HTML parser by default
...
You can still run the old parser with "br -O", but the new one is good
enough to be the default parser now. We'll fix issues as we go and
eventually remove the old one completely. :^)
2020-06-01 19:08:31 +02:00
FalseHonesty
7ca562b200
LibMarkdown: Change MD Document parse API to return a RefPtr
...
Markdown documents are now obtained via the static Document::parse
method, which returns a RefPtr<Document>, or nullptr on failure.
2020-05-30 00:32:12 +02:00
Andreas Kling
42243d2e06
LibWeb: Rename Web::HtmlView => Web::PageView
...
This widget doesn't just view HTML, it views a web page. :^)
2020-05-28 18:22:54 +02:00