Here it is. Coming from the dark side of the Internet, I introduce you an HTML4.01 compliant parser and renderer.
The parser and mapper uses some fundation classes for a bigger project I’m working on. However, the renderer uses Juce, and there is a Juce based BrowserComponent.
I’ll try to keep this thread as updated as possible about the current development state, and bug.
I’ve attached some images:
Ok, let’s speak about the functionnalities:
 Implemented HTML 4.01 compliant parser[/]
 Implemented DOM2 interfaces and tree[/]
 Implemented CSS2.0 box rendering algorithm[/]
 Implemented a stupid HTTP client[/]
 Implemented a Cache engine[/][/list]
and what is (still) missing:
 HTML element’s attribute are currently ignored in the rendering (need to map them to CSS properties) [/]
 CSS properties parser is not finished (disabled)[/]
 CSS rule selection is not done at all (current CSS rules are default CSS stylesheet as defined in the standard)[/]
 Browser doesn’t allow clicking on hyperlinks (ok, it will be done very soon)[/]
 HTTP Client need supporting POST request, and the content-refresh properties[/][/list]
There are still lots of bug, from stupid rendering bugs (I’m investigating), to hideous one.
[size=92][For example, when you type in an address, and the webpage contains recursive table, the rendering process stop prematurely. You can force it to restart by resizing the window.]
[By default, it’s HTML transitional DTD that is selected, even if the document state differently.]
Please report any bug with URL so I can check it out.
If it’s a dynamic website, you can save the current document in the file menu.
You also have 2 error consoles, one with the HTML content, the other with HTML errors found in the current document.
If you are interested in helping me, I’d give you an account in assembla so you can commit to the repository too.