| screenshot =
| caption =
| developer = The [[Chromium (web browser)|Chromium]] Project and contributors
| released = {{start date and age|df=yes|2013|4|3}}<ref name="blink_announcement">{{cite web |last=Barth |first=Adam |url=https://srcblog.chromium.org/viewvc2013/chrome04/releases/28blink-rendering-engine-for-chromium.0.1463.0/DEPS?view=loghtml |title=[chrome]Blink: LogA ofrendering /releases/28.0.1463.0/DEPSengine for the Chromium project |website=Srcblog.chromium.org |date=3 April 2013 |access-date=2016-12 March 2024 |archive-31date=11 May 2019 |archive-url=https://web.archive.org/web/20190511104842/https://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html |url-status=live }}</ref>
| latest release version =
| latest release date =
}}
'''Blink''' is a [[browser engine]] developed as part of the [[Free and open-source software|free and open-source]] [[Chromium (web browser)|Chromium]] project. Blink is by far the most-used browser engine, due to the [[Web browser#Browser market|market share]] dominance of [[Google Chrome]] and the fact that [[Chromium (web browser)#Browsers based on Chromium|many other]] browsers are based on the Chromium [[source code|code]].
'''Blink''' is a [[browser engine]] developed as part of the [[Chromium (web browser)|Chromium]] project. It was created by [[Google]] for its [[Google Chrome|Chrome]] browser by [[Fork (software development)|forking]] [[Apple Inc.|Apple]]'s [[WebKit]] engine.<ref name="blink_announcement">{{cite web |last=Barth |first=Adam |url=https://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html |title=Chromium Blog: Blink: A rendering engine for the Chromium project |publisher=Blog.chromium.org |date=3 April 2013 |access-date=14 June 2013 |url-status=live |archive-url=https://web.archive.org/web/20130404034320/http://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html |archive-date=4 April 2013 |df=mdy-all}}</ref> Google needed to make changes to the engine code to support its novel multi-[[Process (computing)|process]] browser architecture,<ref name="blink_announcement"/><ref name="blink_ars">{{cite web |first=Peter |last=Bright |title=Google going its own way, forking WebKit rendering engine |url=https://arstechnica.com/information-technology/2013/04/google-going-its-own-way-forking-webkit-rendering-engine/ |website=[[Ars Technica]] |publisher=[[Conde Nast]] |date=3 April 2013 |access-date=9 March 2017}}</ref> and the divergence from Apple's version led Google to officially fork its version as Blink in 2013.<ref name="blink_announcement"/><ref name="blink_ars"/> ▼
▲'''Blink'''To iscreate a [[browser engine]] developed as part of the [[Chromium (web browser)|Chromium]] project. It was created byChrome, [[Google]] forchose itsto [[Google Chrome|Chrome]] browser by [[Fork (software development)|forking]]use [[Apple Inc.|Apple]]'s [[WebKit]] engine.<ref name="blink_announcement">{{cite web |last= BarthFisher |first= AdamDarin |url=https://blog.chromium.org/ 20132008/ 0409/ blinkchrome- rendering3s- engine-for-chromiumwebkit.html |title= ChromiumChrome Blog:<3s Blink: A rendering engine for the Chromium projectWebKit | publisherwebsite= Blogblog.chromium.org |date= 35 AprilSeptember 20132008 |access-date= 1412 JuneMarch 20132024 | urlarchive- statusdate= live12 March 2024 |archive-url=https://web.archive.org/web/ 2013040403432020240312120850/ httphttps://blog.chromium.org/ 20132008/ 0409/ blinkchrome- rendering3s- engine-for-chromiumwebkit.html | archiveurl- datestatus= 4live April 2013 |df=mdy-all}}</ref> However, Google needed to make substantial changes to the engineWebKit code to support its novel multi-[[Process (computing)|process]] browser architecture ,.<ref name="blink_announcement"/><ref name="blink_ars">{{cite web |first=Peter |last=Bright |title=Google going its own way, forking WebKit rendering engine |url=https://arstechnica.com/information-technology/2013/04/google-going-its-own-way-forking-webkit-rendering-engine/ |website=[[Ars Technica]] |publisher=[[Conde Nast]] |date=3 April 2013 |access-date=9 March 2017 |archive-date=21 December 2020 |archive-url=https://web.archive.org/web/20201221222631/https://arstechnica.com/information-technology/2013/04/google-going-its-own-way-forking-webkit-rendering-engine/ |url-status=live }}</ref> andOver the course of several years, the divergence from Apple's version ledincreased, so Google decided to officially [[Fork (software development)|fork ]] its version as Blink in 2013.<ref name="blink_announcement"/><ref name="blink_ars"/>
As part of the Chromium project, other contributions to Blink have come from Apple, [[Meta Platforms|Meta]], [[Microsoft]], [[Opera (company)|Opera Software]], [[Vivaldi Technologies]], [[Adobe Inc.|Adobe]], [[Intel]], [[IBM]], [[Samsung]], and [[Huawei]].<ref>{{cite web |last1=Kingsley-Hughes |first1=Adrian |title=The real reason why Google forked WebKit |url=https://www.zdnet.com/article/the-real-reason-why-google-forked-webkit/ |website=ZDNET |publisher=Red Ventures |access-date=4 August 2023}}</ref><ref>{{cite web |title=AUTHORS - chromium/src.git - Git at Google |url=https://chromium.googlesource.com/chromium/src.git/+/refs/heads/master/AUTHORS |publisher=googlesource.org}}</ref><ref>{{cite web |title=Google, Opera Fork WebKit. Samsung Joins Firefox to Push Servo |publisher=infoq.com |url=https://www.infoq.com/news/2013/04/Google-Blink-Mozilla-Servo | date=April 2013 }}</ref><ref>{{cite web |title=Huawei Browser vs Google Chrome |url=https://www.xda-developers.com/huawei-browser-vs-google-chrome/ |website=XDA Developers |publisher=XDA Staff |access-date=18 February 2024}}</ref>
Blink's namingname was influenced by a combination of two major factors: the connotationsimplication of speed, and a reference to the non-standard presentational [[blink element|blink HTML element]],<ref name="techcrunch13">{{cite news |last=Lardinois |first=Frederic |date=2013-04-03 |title=Google Forks WebKit And Launches Blink, A New Rendering Engine That Will Soon Power Chrome And Chrome OS |publisher=[[TechCrunch]] |url=https://techcrunch.com/2013/04/03/google-forks-webkit-and-launches-blink-its-own-rendering-engine-that-will-soon-power-chrome-and-chromeos/ |access-date=2013-11-25 |archive-date=25 November 2013 |archive-url=https://web.archive.org/web/20131125154909/http://techcrunch.com/2013/04/03/google-forks-webkit-and-launches-blink-its-own-rendering-engine-that-will-soon-power-chrome-and-chromeos/ |url-status=live }}</ref><ref name="cnet13">{{cite news |last=Shankland |first=Stephen |date=2013-04-03 |title=Google parts ways with Apple over WebKit, launches Blink |publisher=[[CNet]] |url=https://www.cnet.com/news/google-parts-ways-with-apple-over-webkit-launches-blink/ |access-date=2013-11-25}}</ref> which was introducednever by [[Netscape Navigator]] andactually supported by [[Presto (browser engine)|Presto]]- and [[Gecko (software)|Gecko]]-based browsers until August 2013Blink.<ref name="pcpro13">{{cite news |last=Kobie |first=Nicole |date=2013-08-07 |title=Firefox 23 finally kills "blink" tag |publisher=[[PC Pro]] |url=https://www.pcpro.co.uk/news/383512/firefox-23-finally-kills-blink-tag |url-status=dead |access-date=2013-11-25 |archive-url=https://web.archive.org/web/20131202221923/http://www.pcpro.co.uk/news/383512/firefox-23-finally-kills-blink-tag |archive-date=2 December 2013}}</ref> Blink has, contrary to its name, never functionally supported the element.▼
== Naming ==
▲Blink's naming was influenced by a combination of two major factors: the connotations of speed, and a reference to the non-standard presentational [[blink element|blink HTML element]],<ref name="techcrunch13">{{cite news |last=Lardinois |first=Frederic |date=2013-04-03 |title=Google Forks WebKit And Launches Blink, A New Rendering Engine That Will Soon Power Chrome And Chrome OS |publisher=[[TechCrunch]] |url=https://techcrunch.com/2013/04/03/google-forks-webkit-and-launches-blink-its-own-rendering-engine-that-will-soon-power-chrome-and-chromeos/ |access-date=2013-11-25}}</ref><ref name="cnet13">{{cite news |last=Shankland |first=Stephen |date=2013-04-03 |title=Google parts ways with Apple over WebKit, launches Blink |publisher=[[CNet]] |url=https://www.cnet.com/news/google-parts-ways-with-apple-over-webkit-launches-blink/ |access-date=2013-11-25}}</ref> which was introduced by [[Netscape Navigator]] and supported by [[Presto (browser engine)|Presto]]- and [[Gecko (software)|Gecko]]-based browsers until August 2013.<ref name="pcpro13">{{cite news |last=Kobie |first=Nicole |date=2013-08-07 |title=Firefox 23 finally kills "blink" tag |publisher=[[PC Pro]] |url=https://www.pcpro.co.uk/news/383512/firefox-23-finally-kills-blink-tag |url-status=dead |access-date=2013-11-25 |archive-url=https://web.archive.org/web/20131202221923/http://www.pcpro.co.uk/news/383512/firefox-23-finally-kills-blink-tag |archive-date=2 December 2013}}</ref> Blink has, contrary to its name, never functionally supported the element.
By commit count, Google was the largest contributor to the WebKit project from late 2009 until the fork in 2013.<ref>{{cite web |last=Siracusa |first=John |title=Hypercritical: Code Hard or Go Home |publisher=Hypercritical.co |date=2013-04-12 |url=http://hypercritical.co/2013/04/12/code-hard-or-go-home |access-date=2013-06-15 |archive-date=1 May 2013 |archive-url=https://web.archive.org/web/20130501003500/http://hypercritical.co/2013/04/12/code-hard-or-go-home |url-status=live }}</ref> One of the first changes of the new fork was to deprecate [[CSS]] vendor prefixes, including WebKit's; experimental Blink functionality is instead enabled on an opt-in basis.<ref>{{cite web |title=Blink Developer FAQ |website=The Chromium Projects |url=https://www.chromium.org/blink/developer-faq#TOC-Will-we-see-a--chrome--vendor-prefix-now- |access-date=22 October 2014}}</ref>
{{Anchor|Engine}}
== HistorySee also ==
Blink is a [[fork (software development)|fork]] of the WebCore component of [[WebKit]],<ref>{{cite web |title=Which webkit revision is Blink forking from? |publisher=blink-dev mailing list |url=https://groups.google.com/a/chromium.org/d/msg/blink-dev/J41PSKuMan0/gD5xcqicqP8J |access-date=18 April 2013}}</ref> which was originally a fork of the [[KHTML]] and [[KJS (software)|KJS]] libraries from [[KDE]].<ref name="macport">{{cite web|url=https://lists.kde.org/?m=104197092318639 |title='(fwd) Greetings from the Safari team at Apple Computer' – MARC |publisher=Lists.kde.org |date=7 January 2003 |access-date=2 May 2017}}</ref><ref>{{cite web |url=https://webkit.org/ |title=The WebKit Open Source Project |access-date=7 April 2012}}</ref>
It is used in [[Google Chrome|Chrome]] starting at version 28,<ref name="quirks">{{cite web |title=Blink | date=April 2013 |publisher=QuirksBlog |url=https://www.quirksmode.org/blog/archives/2013/04/blink.html |access-date=4 April 2013}}</ref><ref name="blink_ars"/> [[Microsoft Edge]] starting at version 79,<ref>{{Cite web |title=Download the new Microsoft Edge based on Chromium |url=https://support.microsoft.com/en-us/help/4501095/download-the-new-microsoft-edge-based-on-chromium/|website=support.microsoft.com|access-date=2020-01-27}}</ref> [[Opera (web browser)|Opera]] (15+),<ref name="quirks" /> [[Vivaldi (web browser)|Vivaldi]], [[Brave (web browser)|Brave]], [[Amazon Silk]] and other [[Chromium (web browser)#Browsers based on Chromium|Chromium-based]] browsers and [[#Frameworks|frameworks]].{{Citation needed|date=December 2021}}
Much of WebCore's code was used for features that Google Chrome implemented differently such as [[Sandbox (computer security)|sandboxing]] and the multi-process model. These parts were altered for the Blink fork, and although slightly bulkier, it allowed greater flexibility for adding new features. The fork also deprecates CSS [[vendor prefix]]es; existing prefixes will be phased out and new experimental functionality will instead be enabled on an opt-in basis.<ref>{{cite web |title=Blink Developer FAQ |website=The Chromium Projects |url=https://www.chromium.org/blink/developer-faq#TOC-Will-we-see-a--chrome--vendor-prefix-now- |access-date=22 October 2014}}</ref> Aside from these planned changes, Blink initially remained relatively similar to WebCore.<ref name="blink_ars"/>
By commit count, Google was the largest contributor to the WebKit code base from late 2009 until 2013,<ref>{{cite web |last=Siracusa |first=John |title=Hypercritical: Code Hard or Go Home |publisher=Hypercritical.co |date=2013-04-12 |url=http://hypercritical.co/2013/04/12/code-hard-or-go-home |access-date=2013-06-15}}</ref> when its modified version was officially forked as Blink.<ref name="blink_announcement"/><ref name="blink_ars"/>
== Internals ==
Blink engine has the following components:<ref>{{Cite web|title=How Blink works|url=https://docs.google.com/document/d/1aitSOucL0VHZa9Z2vbRJSyAIsAz24kX8LFByQ5xQnUg/edit?usp=embed_facebook|access-date=2021-05-06|website=Google Docs|language=en}}</ref>
* [[Document Object Model|DOM]], [[HTML DOM]] and [[CSS]] rendering engines
* [[Web IDL]] implementation
* [[Skia Graphics Engine|Skia]] Graphics engine — makes calls to an underlying Graphics Library (like [[OpenGL]], [[Vulkan]], [[DirectX]] etc) which depends on the platform
* [[V8 (JavaScript engine)|V8]] JavaScript engine ▼
=== Public API ===
Blink exposes a public API that allows browsers such as Chromium to interact with Blink while remaining insulated from internal changes to the browser engine.<ref>{{Cite web |title=Blink Public API |url=https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/blink/public/README.md |access-date=2022-08-15 |website=chromium.googlesource.com}}</ref>
==Frameworks==
Several [[application framework]]s utilize Chromium's Blink as the engine within custom [[Application software|apps]]:
* In currently supported versions of the [[Android operating system]] (since [[Android 4.4|version 4.4]]), the WebView component is based on Blink instead of WebKit.<ref>{{cite web |url=https://developer.chrome.com/multidevice/webview/overview |title=WebView for Android |date=28 February 2014 |access-date=2017-04-22 |archive-date=28 February 2014 |archive-url=https://web.archive.org/web/20140228182347/https://developer.chrome.com/multidevice/webview/overview |url-status=dead }}</ref>
* [[Chromium Embedded Framework]] is widely used in software by [[Adobe Systems]]. Also used in [[OpenHarmony]] Browser nweb software engine stack alongside [[HarmonyOS]] [[ArkWeb]],<ref>{{cite web |url=https://www.adobe.com/devnet/creativesuite/articles/introducing-html5-extensions.html|title=Introducing HTML5 extensions |author=Hallgrimur Bjornsson |date=9 August 2023 |publisher=Adobe Systems}}</ref><ref>{{cite web |url=https://blogs.adobe.com/edge/ |title=Adobe Edge Animate Team Blog |publisher=Adobe Systems |access-date=24 September 2018 |archive-date=29 October 2011 |archive-url=https://web.archive.org/web/20111029160558/https://blogs.adobe.com/edge/ |url-status=dead}}</ref><ref>{{cite web |url=https://helpx.adobe.com/dreamweaver/using/cef-integration.html |title=CEF integration in Dreamweaver |website=Helpx.adobe.com |access-date=2016-12-31}}</ref> [[streaming media]] services such as [[Spotify]],<ref>{{cite web|url=https://www.spotify.com/us/opensource/ |title=Open Source |website=Spotify.com |access-date=2016-12-31}}</ref> [[video game]] services such as [[Battle.net]] and [[Steam (service)|Steam]],<ref>{{cite web |url=https://developer.valvesoftware.com/wiki/Chromium_Embedded_Framework |title=Chromium Embedded Framework - Valve Developer Community |website=Developer.valvesoftware.com |access-date=2016-12-31}}</ref> etc.<ref name="10x10">{{cite web |url=https://10x10room.com/2014/04/24/developer-diary-creating-a-desktop-client-for-conclave/ |title=Developer diary: Creating a desktop client for Conclave - 10×10 Room |website=10x10room.com |date=2014-04-24 |archive-url=https://web.archive.org/web/20170118030037/http://10x10room.com/2014/04/24/developer-diary-creating-a-desktop-client-for-conclave/ |archive-date=2017-01-18}}</ref><ref>{{cite web |title=What is "ArkWeb" for HarmonyOS NEXT? |url=https://livinginharmony.substack.com/p/what-is-arkweb-for-harmonyos-next |website=Substack |publisher=LivingInHarmony Blog |access-date=18 February 2024}}</ref>
* NW.js (previously known as Node-Webkit) is the original [[Node.js]] based framework and is being developed by [[Intel]].
* [[Electron (software framework)|Electron]] is a [[Node.js]] based framework developed by [[GitHub]].
* In the [[Qt (software)|Qt 5 framework]], the Qt WebEngine module supersedes the previous [[QtWebKit]] module.<ref name="10x10"/><ref>{{cite web|url=https://doc.qt.io/qt-5/qtwebengine-overview.html|title=Qt WebEngine Overview|publisher=Qt Project|access-date=2016-12-31}}</ref> In 2013, Qt WebEngine replaced the Apple-developed [[WebKit]] [[Browser engine|engine]] with Blink because of its cross-platform features (like [[WebRTC]], [[WebGL]], [[WebSocket]]s, [[system call]]s, etc.) that work out of the box.<ref name=":02">{{Cite web |title=Introducing the Qt WebEngine|url=https://www.qt.io/blog/2013/09/12/introducing-the-qt-webengine|access-date=2021-05-06 |website=www.qt.io|language=en}}</ref><ref>{{Cite web |title=Qt Switching From WebKit To Chromium Engine - Phoronix |url=https://www.phoronix.com/scan.php?page=news_item&px=MTQ2MDY |access-date=2021-05-06 |website=www.phoronix.com}}</ref> Qt developers found it easier to maintain and test it.<ref name=":02" />
* Microsoft Edge WebView2 is a framework that allows developers of Windows apps to implement a desktop app using web technologies, replacing the older WebView [[EdgeHTML]] based or WebBrowser [[MSHTML]] based controls.
* [[DotNetBrowser]] is a proprietary .NET Chromium-based library that can be used to use Chromium capabilities in a wide range of .NET applications, including desktop and server solutions.<ref>{{cite web |title=DotNetBrowser |url=https://www.teamdev.com/dotnetbrowser |access-date=12 May 2021}}</ref>{{Better source needed|date=May 2021}}
== Platforms ==
Chromium Blink is implemented on seven platforms: [[Windows]], [[macOS]], [[Linux]], [[ChromeOS]], [[Fuchsia (operating system)|Fuchsia]], [[Android (operating system)|Android]], and Android WebView.
Blink is also unofficially supported on [[FreeBSD]]<ref>{{cite web |url=https://www.freshports.org/www/chromium |title=FreshPorts www/chromium |website=freshports.org |date=2010-10-13 |access-date=2021-10-03}}</ref> and [[OpenBSD]].<ref>{{cite web |date=2023-12-11 |title=OpenBSD Ports Readme: port www/chromium |url=https://openports.pl/path/www/chromium |archive-url= |archive-date= |access-date= |website=openports.pl}}</ref>
iOS versions of Chromium continue to use the WebKit WebCore renderer.<ref>{{cite web|author=EMIL PROTALINSKI |url=https://thenextweb.com/google/2013/04/04/googles-blink-qa-new-rendering-engine-will-replace-webkit-on-all-platforms-in-10-weeks-with-chrome-28 |title=Google's Blink Q&A: New rendering engine will replace WebKit on all platforms in 10 weeks with Chrome 28 |website=thenextweb.com |date=2013-04-04 |access-date=2018-07-10}}</ref>
==See also==
{{Portal|Free and open-source software}}
* [[Comparison of browser engines]]
▲* [[V8 (JavaScript engine)|V8]] , the Chromium JavaScript engine
==References==
{{Web browser engines}}
{{Web browsers}}
{{Google LLC}}
{{OperaBrowser}}
[[Category:2013 software]]
[[Category:Free software programmed in C++]]
[[Category:Google Chrome]]
[[Category:Mobile software]]
[[Category:Software based on WebKit]]
[[Category:Software forks]]
[[Category:Software using the BSD license]]
[[Category:Software using the LGPL license]]
|