summaryrefslogtreecommitdiff
path: root/Demos/WebView
AgeCommit message (Collapse)Author
2020-08-24LibWeb: Move OutOfProcessWebView into the Web namespaceAnotherTest
2020-08-17LibWeb: Rename WebContentView => OutOfProcessWebViewAndreas Kling
2020-08-15Misc: Use automatic window positioning in more applicationsLinus Groh
This is a follow up to #2936 / d3e3b4ae56aa79d9bde12ca1f143dcf116f89a4c. Affected programs: - Applications: Browser (Download, View source, Inspect DOM tree, JS console), Terminal (Settings) - Demos: Cube, Eyes, Fire, HelloWorld, LibGfxDemo, WebView, WidgetGallery - DevTools: HackStudio, Inspector, Profiler - Games: 2048, Minesweeper, Snake, Solitaire - Userland: test-web A few have been left out where manual positioning is done on purpose, e.g. ClipboardManager (to be close to the menu bar) or VisualBuilder (to preserve alignment of the multiple application windows).
2020-07-06LibWeb: Move WebContentView from Demos/WebView into LibWebAndreas Kling
2020-07-06WebContent: Plumb link clicks to the WebContentView :^)Andreas Kling
You can now react to links being clicked via the on_link_click hook.
2020-07-05WebContent: Plumb hovered links from WebContent process over to widgetAndreas Kling
Also add a little GUI::StatusBar to the demo app so we can see the hovered link URL's live. :^)
2020-07-05WebContent: Add double buffering to the WebContentViewAndreas Kling
This removes the remaining flicker in the WebContentView widget and makes it feel pretty good to use it. :^) The increase in memory use is something we'll have to address in the future with more sophisticated solutions like tiling, etc.
2020-07-05WebContent: Plumb scroll-into-view requests from server to clientAndreas Kling
The WebContentView widget will now be able to react to scroll-into-view requests from the WebContent process.
2020-07-05WebContent: Use available size for bitmap (#2701)Kevin Meyer
After adding the scrolling feature, content available space reduced and thus the bitmap size was always larger, than the inner size. This lead to the horizontal scrollbar always beeing engaged.
2020-07-04WebContent: Plumb title changes over to the WebContentViewAndreas Kling
WebContentView now fires its on_title_change hook, like Web::PageView. We use this in the WebView test app to update the window title. :^)
2020-07-04WebContent: Give the WebContentView a proper GUI::Frame look :^)Andreas Kling
2020-07-04WebContent: Translate mouse event coordinates into content spaceAndreas Kling
The WebContentView widget now passes content space coordinates along with the various mouse events. :^)
2020-07-04WebContent: Basic scrolling support! :^)Andreas Kling
The WebContentView widget now inherits from GUI::ScrollableWidget and will pass its scroll offset over to the WebContent process as it's changing. This is not super efficient and can get a bit laggy, but it will do fine as an initial scrolling implementation. Just like the single-process Web::PageView widget, WebContentView also paints scrolled content by translating the Gfx::Painter.
2020-07-04WebContent: Put some debug spam behind an #ifdefAndreas Kling
2020-07-04WebContent: Notify client when web content selection changesAndreas Kling
The WebContentView widgets reacts to this by requesting a repaint.
2020-07-04LibGUI: Make GUI::Application a Core::ObjectAndreas Kling
Having this on the stack makes whole-program teardown iffy. Turning it into a Core::Object allows anyone who needs it to extends its lifetime.
2020-06-21WebContent: Turn it into a MultiInstance service :^)Andreas Kling
Port the WebContent service to the new MultiInstance mechanism that Sergey added. This means that every new WebContentView gets its very own segregated WebContent process.
2020-06-17WebContent: Pass mouse events through to the WebContent processAndreas Kling
Just send the incoming mouse events across to the other side and let LibWeb deal with them. :^)
2020-06-17WebContent: Allow the WebContent process to trigger repaintsAndreas Kling
After layout, we may want to repaint the page, so we now listen for the PageClient::page_did_invalidate() notification and use it to drive a client-side repaint. Note that an invalidation request from LibWeb makes a full roundtrip to the WebContent client and back since the client drives painting.
2020-06-17WebContent: Start work on browser process separation :^)Andreas Kling
The "WebContent" service provides a very restricted instance of LibWeb running as an unprivileged user account. This will be used to implement process separation in Browser, among other things. This first cut of the service only spawns a single WebContent process when someone connects to /tmp/portal/webcontent. We will soon switch this over to spawning a new process for each connection. Since this feature is very immature, we'll be bringing it up inside of Demos/WebView as a separate demo program. Eventually this will become a reusable widget that anyone can embed and easily get out-of-process web content in their GUI. This is pretty, pretty cool! :^)