GoSuB Browser Progress, pt31
It has been two weeks because I forgot to post a new update. So here's what's happened the last two weeks and what the next plans are:
I've done some work on "dive", which is a textbased user agent written in rust with ratatui library. It took a while for me to come up with the correct design of the system, because of borrow issues mainly. It turns out that this could only be solved by a complete rewrite of the whole event handling system. I found that help was hard to find so I was a bit left on my own but ultimately we came with a system. So now we have a user-agent that is capable of creating tabs, fetch html data from site, convert it into a DOM node and print it. It looks nice though and all major features of the interface for a browser is there so the next thing to do is to actually be able to generate rendered output. For this we still need to do the rendering pipeline which we haven't touched yet.
Things are again very slow. Not a lot going on so it seems that many people have lost interest in the project unfortunately. Hopefully they will come back after we have something up and running instead of smaller components that doesn't make a complete picture.
I'm currently doing research in various fields: how can we let the parser work together with the CCSOM (and later: javascript). What and how do we return (it is the render tree, which we then pass to a renderer?)
Do we want to do process isolation now by separating things into "sessions" (isolated browsers), which can have all separate process for each tab (tabs can communicate between others within the same session, a session could be seen as an isolated container, so you can have gmail open with two different accounts if you open them in two different sessions). We are thinking about how to do IPC between the different processes and the user agent.
Hopefully, I can work a bit on either the css properties that we can attach to the dom. So for instance, when we have a dom node, we should be able to extract the CSS properties for that node. We need to make it work, then we need to make it fast, and then we need to make that nice. So I think this will be my planning for the next week/two weeks.
About jaytaph
Codemuser extraordinaire
Joined: | March 24, 2023 |
Following: | 2 |
Followers: | 2 |
Posts: | 50 |
Comments: | 3 |
Upvotes: | 4 |
Previous musings
- (1) November 2024
- (1) October 2024
- (1) September 2024
- (1) July 2024
- (2) February 2024
- (3) January 2024
- (3) December 2023
- (4) November 2023
- (5) October 2023
- (10) September 2023
- (8) August 2023
- (1) June 2023
- (1) May 2023
- (4) April 2023
- (5) March 2023