Andreas Kling
ef711f501e
LibWeb: Move the Page/Frame/EventHandler classes into Page/
2020-07-28 19:28:29 +02:00
Andreas Kling
c46439f240
LibWeb: Move HTML classes into the Web::HTML namespace
2020-07-28 18:55:48 +02:00
Andreas Kling
8b55d3d86e
LibWeb: Move MouseEvent into the UIEvents namespace
...
Named after the UIEvents specification that houses MouseEvent.
2020-07-28 18:55:47 +02:00
Andreas Kling
11ff9d0f17
LibWeb: Move DOM classes into the Web::DOM namespace
...
LibWeb keeps growing and the Web namespace is filling up fast.
Let's put DOM stuff into Web::DOM, just like we already started doing
with SVG stuff in Web::SVG.
2020-07-26 20:05:15 +02:00
Andreas Kling
71556e39a4
LibWeb: Switch to using AK::is and AK::downcast
2020-07-26 17:51:00 +02:00
Andreas Kling
a565121793
LibWeb: Move HTML object model stuff into LibWeb/HTML/
...
Take a hint from SVG and more all the HTML classes into HTML instead of
mixing them with the DOM classes.
2020-07-26 17:51:00 +02:00
Kevin Meyer
7b5ffe67cf
LibWeb: Check if layout node is still present after dispatch_event
...
Fixes https://github.com/SerenityOS/serenity/issues/2638
Dispatching an event can change the document. Therefore another check
for the layout_root needs to be done.
2020-07-11 11:34:59 +02:00
Kevin Meyer
821043d798
LibWeb: Remove some unnecessary casts
2020-07-11 11:34:59 +02:00
Kevin Meyer
a5b8cc2d0b
LibWeb: Add type for FrameLoader::load
...
This should enable to destinguish between IFrame, Reload and Navigation
motivated loads in order to call the appropriate hooks.
This change is motivated as loading the IFrame test page causes the
IFrame url to be added to the history and shows up as the current
browser location bar.
2020-07-08 23:45:12 +02:00
Andreas Kling
fd65a24834
LibWeb: Make the link context menu hook include the destination URL
2020-07-06 20:00:56 +02:00
Andreas Kling
02c5e22f06
LibWeb: Make the link click hooks include the destination URL
...
We have all the context needed for relative URL resolution inside the
engine, so let's not make embedders worry about this.
2020-07-06 19:41:10 +02:00
Andreas Kling
d4fe3e8009
LibWeb: Always fire the link hover hooks when moving between links
...
Some broken logic was preventing us from firing the hover hooks when
the cursor jumped directly from one link to another.
2020-07-05 17:05:23 +02:00
Andreas Kling
56d14d5701
LibWeb: Move fragment link handling to Frame
...
Activating a "#foo" fragment link will now be handled internally by
the Frame instead of involving the widget layer.
If the viewport needs to be scrolled as a result, we will simply ask
the PageClient to scroll a new rect into view.
2020-07-05 15:57:07 +02:00
Andrew Kaster
cc675cbe24
LibWeb: Add Page context menu request
...
Pages can request a context menu on right click. This is plumbed
through the PageClient.
2020-06-28 00:05:08 +02:00
Andreas Kling
116cf92156
LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize
...
This fits nicer with FloatRect,FloatPoint,FloatSize and gives a much
better visual clue about what type of metric is being used.
2020-06-10 10:59:04 +02:00
Andreas Kling
92392398a2
LibWeb: Add Page abstraction between PageView and main Frame
...
* A PageView is a view onto a Page object.
* A Page always has a main Frame (root of Frame tree.)
* Page has a PageClient. PageView is a PageClient.
The goal here is to allow building another kind of view onto
a Page while keeping the rest of LibWeb intact.
2020-06-08 21:12:20 +02:00
Andreas Kling
747b21782e
LibWeb: Open subframe links inside the subframe itself
...
We now only delegate to the Web::PageView embedded when clicking links
in the main frame. Links in subframes are handled internally.
2020-06-07 14:45:59 +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