I'm learning about how a browser works and so far I've learned that browsers have a process called the renderer.
Part of the job of this process is to parse and run a JavaScript code when it finds one.
If that's the case, then where's the JavaScript engine?
Is it another name for the render process? Or is it another process that gets invoke when the render process sees a JavaScript source code? Or is it something that I'm totally unaware of?!
Appreciated if someone could explain this matter.
Asked
Active
Viewed 148 times
0

Od Chan
- 68
- 8
-
1"*Part of the job of [the renderer] process is to parse and run a JavaScript code when it finds one.*" - nope. Where did you learn that? – Bergi Sep 19 '22 at 15:14
-
1"*Or is it another process that gets invoke when the render process sees a JavaScript source code?*" - more like that, yes. However, while all browsers have these kinds of modules, it depends on the particular browser implementation whether they run in the same process/thread or not. – Bergi Sep 19 '22 at 15:16
1 Answers
0
In a browser, the responsabilities of a rendering engine are:
- Parsing a text string (HTML) and create the DOM
- Style calculation: create computed styles and apply them to the DOM nodes
- Layout: create the Layout tree
- Paint: create paint records
- Compositing: create the Layer tree
Blink (the Chrome rendering engine) embeds V8 (the JS engine). As far as I know, every renderer process in Chrome has its own V8 instance.
This document of 2013 describes the rendering pipeline of Blink.
By their own admission:
No one understands the current Rendering system fully. One approach to fixing it may be to start documenting it.
That's why they started a project called servicification, which aimed to split the responsabilities of the browser engine into "processes". I used the quotation marks because these "processes" are not necessarily OS processes.

jackdbd
- 4,583
- 3
- 26
- 36
-
How is parsing the HTML and creating the DOM the responsibility or the rendering engine? It's the responsibility of the parser. As you can see in the documents you linked, the rendering pipeline starts with the DOM nodes and styles. – Bergi Sep 20 '22 at 17:02