Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Browser engine
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Name and scope== Besides "browser [[software engine|engine]]", two other related terms are commonly used: "layout engine" and "rendering engine".<ref name=behindscene>{{cite web|url=http://taligarsiel.com/Projects/howbrowserswork1.htm|title=Behind the scenes of modern web browsers|publisher=Tali Garsiel|access-date=21 April 2018}}</ref><ref name="Gecko">{{cite web|url=https://developer.mozilla.org/docs/Mozilla/Gecko|archive-url=https://wayback.archive-it.org/all/20140604004321/https://developer.mozilla.org/en-US/docs/Mozilla/Gecko|url-status=dead|archive-date=4 June 2014|title=Gecko|publisher=Mozilla|access-date=21 April 2018}}</ref><ref name="Goanna">{{cite web |url = https://forum.palemoon.org/viewtopic.php?f=1&t=8607|title=Introducing Goanna|publisher=M.C. Straver|date=22 June 2015|access-date=21 April 2018}}</ref> In theory, [[layout (computing)|layout]] and [[wikt:rendering|rendering]] (or "painting") could be handled by different engines. In practice, however, these [[software component|components]] are tightly [[coupling (computer programming)|coupled]] and rarely encountered on their own outside of the browser engine.<ref name=behindscene/><ref name="howBlinkWorks"/> In addition to layout and rendering, a browser engine enforces the [[Content Security Policy|security policy]] between documents, handles navigation through [[hyperlink]]s and data submitted through [[form (HTML)|form]]s, and implements the [[Document Object Model|document object model]] (DOM) exposed to [[scripting language|scripts]] associated with the document.<ref name=behindscene/><ref name="howBlinkWorks">{{cite web |title=How Blink Works |url=https://docs.google.com/document/d/1aitSOucL0VHZa9Z2vbRJSyAIsAz24kX8LFByQ5xQnUg |access-date=12 March 2024}}</ref> To provide a [[JavaScript#Examples of scripted behavior|wide range]] of dynamic behavior for [[web page]]s, every major browser supports [[JavaScript]]. However, JavaScript is [[Programming language implementation|implemented]] as a separate [[JavaScript engine]], which has enabled its usage [[JavaScript#Other usage|elsewhere]]. In a browser, the two engines are coordinated via the DOM and [[Web IDL]] bindings.<ref name="howBlinkWorks"/> Browser engines are also used in non-browser [[Application software|applications]]. An [[email client]] needs one to display [[HTML email]]. Beginning in the 2010s, many apps have been created with [[Chromium (web browser)#Use in app frameworks|the frameworks]] based on [[Google]]'s [[Chromium (web browser)|Chromium]] project; each of these standalone apps functions much like a [[web application|web app]]. (Two examples are [[Spotify]] and [[Slack (software)|Slack]].)<ref>{{cite web |title=Open Source - Spotify |url=https://www.spotify.com/us/opensource/ |quote=Here are the sources to the great Chromium Embedded Framework that is used by the Spotify Desktop client. |access-date=1 December 2023}}</ref><ref>{{cite news |last1=Betts |first1=Anaïs |title=Building Hybrid Applications with Electron |newspaper=Slack Engineering |date=25 October 2016 |url=https://slack.engineering/building-hybrid-applications-with-electron/ |publisher=Slack |access-date=1 December 2023}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)