nanogui: WebKit based browser for Nano-X
Re: [nanogui] WebKit based browser for Nano-X
"Georg Potthast" ####@####.####
19 Dec 2014 19:15:25 -0000
if you start off, there is an SDL WebLauncher application included which may be simpler to start with for you than FLTK. I assume SDL is already ported to Aros. Of cause really usable is the FLTK browser.
Please consult my Readme file which should really help you. And compile it on Linux first to see how far you get with that and what you will encounter when trying to compile it on Aros.
----- Original Message -----
From: Vidar Hokstad
To: Georg Potthast
Cc: ####@####.#### ; Greg Haerr
Sent: Friday, December 19, 2014 8:06 PM
Subject: Re: [nanogui] WebKit based browser for Nano-X
On Fri, Dec 19, 2014 at 6:56 PM, Georg Potthast ####@####.#### wrote:
porting such a large library is not simple. However, it may not be that complicated as it seems at first glance. As you know there are already several ports of WebKit to Amiga based on Origyn which is based on WebKit. Also Laura managed to port it to MinGW.
Yes, I'm aware. There's been ongoing challenges with keeping those ports up to date, though (they may have been resolved; not sure, but more options is always great), which is why I got interested when you mentioned yours had quite few dependencies.
My port uses the Skia graphics library, but it could also be reconfigured to use Cairo. So Aros would need to support one of these. Then my port uses Curl for downloading the web pages. This can be reconfigured to libsoup if required.
That part would likely be quite easy (fun fact: Curl was started by an ex. Amiga developer)
I did a search on the code base and there was no "fork()" command in it which did surprise me. I guess threads are handled within Curl using the multi interface. A browser typically opens several threads to download the web page and its images etc. in parallel but you can ask Curl to do that for you internally.
That's good news - fork() is by far the trickiest to porting stuff usually, since AROS is single-address-space and doesn't really have memory protection (there are some plants, but they'd retain the single-address-space nature which doesn't work well with fork()).
WebKit, at least my port, does not need a GUI, it makes Skia or Cairo pass a "canvas" showing the web page to the browser application. Then the application can make query calls whether the cursor is on a link, whether a file download URL was selected etc.
I did not write a porting guide since I thought nobody would be interested to read it anyways. But I am willing to help if required. As long as I do not have to write code for that other project.
That's great. Thanks. I'll have a look at your FLTK version first (and have a look at Nano-X again for the first time in a decade or so perhaps), and then I'll see if I get a chance to try to compile it in my AROS environment to see what breaks... There is/was even a work in progress FLTK port to AmigaOS at one point, so it might be possible to use that.