SlideShare a Scribd company logo
3
Most read
4
Most read
6
Most read
Click to add Title
Rendering Engine
e-Infochips Institute of Training Research and Academics Limited
Prepared By:-
Dharita Chokshi
Outlines
Rendering Engines
Rendering Engines and Browsers
Architecture of Browser
Architecture of Rendering Engine
Anatomy of Webkit
Architecture of Webkit
Rendering Engine Means?
Rendering means to translate or to interpret into another
language.
A rendering engine (also called layout engine or web browser
engine) is a software component that takes marked up content
(like HTML, XML, image files, etc.) and formatting information
(like CSS, XSL, etc.) and displays the formatted content on the
screen.
It essentially takes a URL and a set of window content-
area rectangle coordinates as arguments. It then retrieves the
document corresponding to the URL and paints a graphical
representation of it in the given rectangle.
Rendering Engines
and Browsers
Rendering
Engine
Leading Host
Applications/Browsers
Programming
Language
Blink Google Chrome(from version
28), Opera(from version 15.0)
C++
Gecko Mozilla Firefox C++
Webkit Apple Safari, BlackBerry,
Android and Google
Chrome(till version 27)
C++
Presto Opera(till version 14) C++
Trident Internet Explorer C++
The host application provides the menu bar, address bar, status
bar, bookmark manager, history and preferences functionality.
5
Architecture of Browser
Architecture of Browser
The User Interface
Provides the methods with which a user interacts with the
Browser Engine.
This includes the address bar, back/forward button, bookmarking
menu, etc.
Every part of the browser display except the window where you
see the requested page.
6
The Browser Engine
Marshals actions between the UI and the rendering engine
providing a high-level interface to the Rendering Engine.
The Browser Engine provides methods to initiate the loading of a
URL and other high-level browsing actions (reload, back,
forward).
The Browser Engine also provides the User interface with
various messages relating to error messages and loading
progress.
7
Architecture of Browser
The Rendering Engine
Produces the visual representation of a given URL. The
Rendering Engine interprets the HTML, XML, and JavaScript
that comprises a given URL and generates the layout that is
displayed in the User Interface.
The Networking
Provides functionality to handle retrieve URLs using the common
Internet protocols of HTTP and FTP. The Networking
components handles all aspects of Internet communication and
security, character set translations and MIME type resolution.
8
Architecture of Browser
The JavaScript Interpreter
Component executes the JavaScript code that is embedded in a
website. Results of the execution a passed to the Rendering
Engine for display. The Rendering Engine may disable various
actions based on user defined properties.
The UI Backend:
Used for drawing basic widgets like combo boxes and windows.
Underneath it uses operating system user interface methods.
The Data Storage:
Manages user data such as bookmarks, cookies and
preferences. The new HTML specification (HTML5) defines 'web
database' which is a complete (although light) database in the
browser.
9
Architecture of Browser
The rendering engine will start getting the contents of the
requested document from the networking layer. This will usually
be done in 8K chunks. After that this is the basic flow of the
rendering engine:
10
Architecture of Rendering Engine
Step 1: Parsing the HTML document and convert elements to
DOM nodes in a tree called the “content tree” – HTML Parser
Step 2: Parse the style data, both in external CSS files and in
style element together with visual instructions in HTML will be
used to create another tree, call “render tree” – CSS Parser
Step 3: After the construction of the render tree it goes
through a “layout" process. This means giving each node
the exact coordinates where it should appear on the screen
Step 4: The next stage is painting–the render tree will be
traversed and each node will be painted using the UI
backend layer - Painting.
11
Architecture of Rendering Engine
12
Anatomy of Webkit
Initialization
Pushes Webkit to do work
Handles user input.
13
Anatomy of Webkit
Application logic
Loading Painting
Parsing Event Handling
Layout JS Binding
Style Resolution
14
Anatomy of Webkit
V8 or JS core
Parses and executes
page logic
Allows DOM manipulation
WebKit main flow
15
Architecture of Webkit
16
Architecture of Webkit
17
Architecture of Webkit
18
Architecture of Webkit
19
Architecture of Webkit
Painting
In the painting stage, the render tree is traversed and the
renderer's "paint()" method is called to display content on
the screen. Painting uses the UI infrastructure component.
The stacking order of a block renderer is:
1. Background color
2. Background image
3. Border
4. Children
5. Outline
Thank you

More Related Content

What's hot (20)

PPTX
A Brief Introduction to React.js
Doug Neiner
 
PPTX
Apache Oozie
Shalish VJ
 
PPT
Asp.net basic
Neelesh Shukla
 
PDF
An introduction to React.js
Emanuele DelBono
 
PPTX
Introduction to kubernetes
Rishabh Indoria
 
PPTX
Html5 tutorial for beginners
Singsys Pte Ltd
 
PDF
CSS3 Media Queries
Russ Weakley
 
PDF
Giới thiệu docker và ứng dụng trong ci-cd
GMO-Z.com Vietnam Lab Center
 
PPTX
Web Development and Web Development technologies - Temitayo Fadojutimi
Temitayo Fadojutimi
 
PPTX
Laravel ppt
Mayank Panchal
 
PDF
Intro to vue.js
TechMagic
 
PPTX
Bootstrap 4 ppt
EPAM Systems
 
PDF
Evolution of containers to kubernetes
Krishna-Kumar
 
PPTX
Web Development In 2018
Traversy Media
 
PPTX
React js basics
Maulik Shah
 
PDF
Web Development Presentation
TurnToTech
 
PDF
How Browsers Work
myposter GmbH
 
PPTX
React-JS.pptx
AnmolPandita7
 
PDF
Docker Introduction
Jeffrey Ellin
 
PPTX
Its time to React.js
Ritesh Mehrotra
 
A Brief Introduction to React.js
Doug Neiner
 
Apache Oozie
Shalish VJ
 
Asp.net basic
Neelesh Shukla
 
An introduction to React.js
Emanuele DelBono
 
Introduction to kubernetes
Rishabh Indoria
 
Html5 tutorial for beginners
Singsys Pte Ltd
 
CSS3 Media Queries
Russ Weakley
 
Giới thiệu docker và ứng dụng trong ci-cd
GMO-Z.com Vietnam Lab Center
 
Web Development and Web Development technologies - Temitayo Fadojutimi
Temitayo Fadojutimi
 
Laravel ppt
Mayank Panchal
 
Intro to vue.js
TechMagic
 
Bootstrap 4 ppt
EPAM Systems
 
Evolution of containers to kubernetes
Krishna-Kumar
 
Web Development In 2018
Traversy Media
 
React js basics
Maulik Shah
 
Web Development Presentation
TurnToTech
 
How Browsers Work
myposter GmbH
 
React-JS.pptx
AnmolPandita7
 
Docker Introduction
Jeffrey Ellin
 
Its time to React.js
Ritesh Mehrotra
 

Similar to Rendering engine (20)

PDF
Architecture of the Web browser
Sabin Buraga
 
PPTX
Web browser architecture
Nguyen Quang
 
DOCX
How Browsers Work -By Tali Garsiel and Paul Irish
Nagamurali Reddy
 
PDF
How browsers work landscape
anandkishore
 
PPT
Web browser
Abhijeet Shah
 
PPTX
Web browser
Ashwini Kumar
 
PPTX
Web browser - How web browsers work?
Arun Kumar
 
PDF
Neoito — How modern browsers work
Neoito
 
PPT
Lecture 1 (2)
erick chuwa
 
PDF
Front end for back end developers
Wojciech Bednarski
 
DOCX
Web browser pdf
Ravi Kumar
 
PPTX
Unit 5 World_Wide_Web.pptx
DhruvPatel189174
 
PPTX
How webpage loading takes place?
Digital Marketing Tatva
 
PDF
Rendering: Or why your perfectly optimized content doesn't rank
WeLoveSEO
 
PPTX
BrowserArchitecture_ClientSide.pptx
MuhammadBilal187526
 
PDF
Html css workshop, lesson 0, how browsers work
Albino Tonnina
 
PPTX
Web Browsers.pptx
HariomMangal1
 
PDF
BrowserArchitecture_ClientSide.pdf
MuhammadBilal187526
 
PPT
Firefox vs. chrome
Prabhath Suminda
 
PPTX
From HTML to pixels on the Screen
Igor Talic
 
Architecture of the Web browser
Sabin Buraga
 
Web browser architecture
Nguyen Quang
 
How Browsers Work -By Tali Garsiel and Paul Irish
Nagamurali Reddy
 
How browsers work landscape
anandkishore
 
Web browser
Abhijeet Shah
 
Web browser
Ashwini Kumar
 
Web browser - How web browsers work?
Arun Kumar
 
Neoito — How modern browsers work
Neoito
 
Lecture 1 (2)
erick chuwa
 
Front end for back end developers
Wojciech Bednarski
 
Web browser pdf
Ravi Kumar
 
Unit 5 World_Wide_Web.pptx
DhruvPatel189174
 
How webpage loading takes place?
Digital Marketing Tatva
 
Rendering: Or why your perfectly optimized content doesn't rank
WeLoveSEO
 
BrowserArchitecture_ClientSide.pptx
MuhammadBilal187526
 
Html css workshop, lesson 0, how browsers work
Albino Tonnina
 
Web Browsers.pptx
HariomMangal1
 
BrowserArchitecture_ClientSide.pdf
MuhammadBilal187526
 
Firefox vs. chrome
Prabhath Suminda
 
From HTML to pixels on the Screen
Igor Talic
 
Ad

Recently uploaded (20)

PPTX
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PPTX
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
PPTX
UNIT DAA PPT cover all topics 2021 regulation
archu26
 
PPTX
EC3551-Transmission lines Demo class .pptx
Mahalakshmiprasannag
 
PPTX
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
PPTX
site survey architecture student B.arch.
sri02032006
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PPTX
Thermal runway and thermal stability.pptx
godow93766
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PDF
IoT - Unit 2 (Internet of Things-Concepts) - PPT.pdf
dipakraut82
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PPTX
Green Building & Energy Conservation ppt
Sagar Sarangi
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PDF
6th International Conference on Machine Learning Techniques and Data Science ...
ijistjournal
 
PDF
UNIT-4-FEEDBACK AMPLIFIERS AND OSCILLATORS (1).pdf
Sridhar191373
 
PPTX
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
PDF
Book.pdf01_Intro.ppt algorithm for preperation stu used
archu26
 
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
UNIT DAA PPT cover all topics 2021 regulation
archu26
 
EC3551-Transmission lines Demo class .pptx
Mahalakshmiprasannag
 
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
site survey architecture student B.arch.
sri02032006
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
Thermal runway and thermal stability.pptx
godow93766
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
IoT - Unit 2 (Internet of Things-Concepts) - PPT.pdf
dipakraut82
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
MRRS Strength and Durability of Concrete
CivilMythili
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
Green Building & Energy Conservation ppt
Sagar Sarangi
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
6th International Conference on Machine Learning Techniques and Data Science ...
ijistjournal
 
UNIT-4-FEEDBACK AMPLIFIERS AND OSCILLATORS (1).pdf
Sridhar191373
 
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
Book.pdf01_Intro.ppt algorithm for preperation stu used
archu26
 
Ad

Rendering engine

  • 1. Click to add Title Rendering Engine e-Infochips Institute of Training Research and Academics Limited Prepared By:- Dharita Chokshi
  • 2. Outlines Rendering Engines Rendering Engines and Browsers Architecture of Browser Architecture of Rendering Engine Anatomy of Webkit Architecture of Webkit
  • 3. Rendering Engine Means? Rendering means to translate or to interpret into another language. A rendering engine (also called layout engine or web browser engine) is a software component that takes marked up content (like HTML, XML, image files, etc.) and formatting information (like CSS, XSL, etc.) and displays the formatted content on the screen. It essentially takes a URL and a set of window content- area rectangle coordinates as arguments. It then retrieves the document corresponding to the URL and paints a graphical representation of it in the given rectangle.
  • 4. Rendering Engines and Browsers Rendering Engine Leading Host Applications/Browsers Programming Language Blink Google Chrome(from version 28), Opera(from version 15.0) C++ Gecko Mozilla Firefox C++ Webkit Apple Safari, BlackBerry, Android and Google Chrome(till version 27) C++ Presto Opera(till version 14) C++ Trident Internet Explorer C++ The host application provides the menu bar, address bar, status bar, bookmark manager, history and preferences functionality.
  • 6. Architecture of Browser The User Interface Provides the methods with which a user interacts with the Browser Engine. This includes the address bar, back/forward button, bookmarking menu, etc. Every part of the browser display except the window where you see the requested page. 6
  • 7. The Browser Engine Marshals actions between the UI and the rendering engine providing a high-level interface to the Rendering Engine. The Browser Engine provides methods to initiate the loading of a URL and other high-level browsing actions (reload, back, forward). The Browser Engine also provides the User interface with various messages relating to error messages and loading progress. 7 Architecture of Browser
  • 8. The Rendering Engine Produces the visual representation of a given URL. The Rendering Engine interprets the HTML, XML, and JavaScript that comprises a given URL and generates the layout that is displayed in the User Interface. The Networking Provides functionality to handle retrieve URLs using the common Internet protocols of HTTP and FTP. The Networking components handles all aspects of Internet communication and security, character set translations and MIME type resolution. 8 Architecture of Browser
  • 9. The JavaScript Interpreter Component executes the JavaScript code that is embedded in a website. Results of the execution a passed to the Rendering Engine for display. The Rendering Engine may disable various actions based on user defined properties. The UI Backend: Used for drawing basic widgets like combo boxes and windows. Underneath it uses operating system user interface methods. The Data Storage: Manages user data such as bookmarks, cookies and preferences. The new HTML specification (HTML5) defines 'web database' which is a complete (although light) database in the browser. 9 Architecture of Browser
  • 10. The rendering engine will start getting the contents of the requested document from the networking layer. This will usually be done in 8K chunks. After that this is the basic flow of the rendering engine: 10 Architecture of Rendering Engine
  • 11. Step 1: Parsing the HTML document and convert elements to DOM nodes in a tree called the “content tree” – HTML Parser Step 2: Parse the style data, both in external CSS files and in style element together with visual instructions in HTML will be used to create another tree, call “render tree” – CSS Parser Step 3: After the construction of the render tree it goes through a “layout" process. This means giving each node the exact coordinates where it should appear on the screen Step 4: The next stage is painting–the render tree will be traversed and each node will be painted using the UI backend layer - Painting. 11 Architecture of Rendering Engine
  • 12. 12 Anatomy of Webkit Initialization Pushes Webkit to do work Handles user input.
  • 13. 13 Anatomy of Webkit Application logic Loading Painting Parsing Event Handling Layout JS Binding Style Resolution
  • 14. 14 Anatomy of Webkit V8 or JS core Parses and executes page logic Allows DOM manipulation
  • 19. 19 Architecture of Webkit Painting In the painting stage, the render tree is traversed and the renderer's "paint()" method is called to display content on the screen. Painting uses the UI infrastructure component. The stacking order of a block renderer is: 1. Background color 2. Background image 3. Border 4. Children 5. Outline

Editor's Notes