The rendering tree is created by combining the DOM tree (Made from HTML parsing) and CSSOM (Made from the CSS tree parsing specific to the document).
The rendering tree contains only nodes that will be visible on the screen, i.e. if the mapping for any of the node is marked as none , then it will not be part of the render tree.
Then, the rendering tree is transferred to the layout phase and, ultimately, to the drawing phase, which displays the actual pixels on the screen, and the content is displayed to you.
To answer your question: both the tree tree and the render tree are created only by the browser, and yes, the render tree is created from the dom tree, as described above.
source share