Software:Blink (browser engine)

From HandWiki
Short description: Free and open-source browser engine of the Chromium project
Blink
Developer(s)The Chromium Project and contributors
Initial release3 April 2013; 10 years ago (2013-04-03)[1]
Written inC++
TypeBrowser engine
LicenseBSD and LGPLv2.1
Websitewww.chromium.org/blink/

Blink is a browser engine developed as part of the Chromium project with contributions from Apple, Google, Meta, Microsoft, Opera Software, Vivaldi Technologies, Adobe, Intel, IBM, Samsung, and others.[2][3][4] It was first announced in April 2013.[5]

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 HTML element,[6][7] which was introduced by Netscape Navigator and supported by Presto- and Gecko-based browsers until August 2013.[8] Blink has, contrary to its name, never functionally supported the element.

History

Blink is a fork of the WebCore component of WebKit,[9] which was originally a fork of the KHTML and KJS libraries from KDE.[10][11] It's used in Chrome starting at version 28,[12][13] Microsoft Edge starting at version 79,[14] Opera (15+),[12] Vivaldi, Brave, Amazon Silk and other Chromium-based browsers and frameworks.[citation needed]

Much of WebCore's code was used for features that Google Chrome implemented differently such as 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 prefixes; existing prefixes will be phased out and new experimental functionality will instead be enabled on an opt-in basis.[15] Aside from these planned changes, Blink initially remained relatively similar to WebCore.[13]

By commit count, Google was the largest contributor to the WebKit code base from late 2009 until 2013 when they started work on their fork, Blink.[16]

Internals

Blink engine has the following components:[17]

  • DOM, HTML DOM and CSS rendering engines
  • Web IDL implementation
  • Skia Graphics engine — makes calls to an underlying Graphics Library (like OpenGL, Vulkan, DirectX etc) which depends on the platform
  • 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.[18]

Frameworks

Several projects exist to turn Chromium's Blink into a reusable software framework for other developers:

Platforms

Chromium Blink is implemented on seven platforms: Windows, macOS, Linux, ChromeOS, Fuchsia, Android, and Android WebView.

Blink is also unofficially supported on FreeBSD[30] and OpenBSD.[31]

iOS versions of Chromium continue to use the WebKit WebCore renderer.[32]

See also

References

  1. "[chrome] Log of /releases/28.0.1463.0/DEPS". https://src.chromium.org/viewvc/chrome/releases/28.0.1463.0/DEPS?view=log. 
  2. Kingsley-Hughes, Adrian. "The real reason why Google forked WebKit". Red Ventures. https://www.zdnet.com/article/the-real-reason-why-google-forked-webkit/. 
  3. "AUTHORS - chromium/src.git - Git at Google". googlesource.org. https://chromium.googlesource.com/chromium/src.git/+/refs/heads/master/AUTHORS. 
  4. "Google, Opera Fork WebKit. Samsung Joins Firefox to Push Servo". infoq.com. April 2013. https://www.infoq.com/news/2013/04/Google-Blink-Mozilla-Servo. 
  5. "Blink: A rendering engine for the Chromium project". The Chromium Blog. https://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html. 
  6. Lardinois, Frederic (2013-04-03). "Google Forks WebKit And Launches Blink, A New Rendering Engine That Will Soon Power Chrome And Chrome OS". TechCrunch. https://techcrunch.com/2013/04/03/google-forks-webkit-and-launches-blink-its-own-rendering-engine-that-will-soon-power-chrome-and-chromeos/. 
  7. Shankland, Stephen (2013-04-03). "Google parts ways with Apple over WebKit, launches Blink". CNet. https://www.cnet.com/news/google-parts-ways-with-apple-over-webkit-launches-blink/. 
  8. Kobie, Nicole (2013-08-07). "Firefox 23 finally kills "blink" tag". PC Pro. https://www.pcpro.co.uk/news/383512/firefox-23-finally-kills-blink-tag. 
  9. "Which webkit revision is Blink forking from?". blink-dev mailing list. https://groups.google.com/a/chromium.org/d/msg/blink-dev/J41PSKuMan0/gD5xcqicqP8J. 
  10. "'(fwd) Greetings from the Safari team at Apple Computer' – MARC". Lists.kde.org. 7 January 2003. https://lists.kde.org/?m=104197092318639. 
  11. "The WebKit Open Source Project". https://webkit.org/. 
  12. 12.0 12.1 "Blink". QuirksBlog. April 2013. https://www.quirksmode.org/blog/archives/2013/04/blink.html. 
  13. "Download the new Microsoft Edge based on Chromium". https://support.microsoft.com/en-us/help/4501095/download-the-new-microsoft-edge-based-on-chromium/. 
  14. "Blink Developer FAQ". https://www.chromium.org/blink/developer-faq#TOC-Will-we-see-a--chrome--vendor-prefix-now-. 
  15. Siracusa, John (2013-04-12). "Hypercritical: Code Hard or Go Home". Hypercritical.co. http://hypercritical.co/2013/04/12/code-hard-or-go-home. 
  16. "How Blink works" (in en). https://docs.google.com/document/d/1aitSOucL0VHZa9Z2vbRJSyAIsAz24kX8LFByQ5xQnUg/edit?usp=embed_facebook. 
  17. "Blink Public API". https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/blink/public/README.md. 
  18. "WebView for Android". 28 February 2014. https://developer.chrome.com/multidevice/webview/overview. 
  19. Hallgrimur Bjornsson (9 August 2023). "Introducing HTML5 extensions". Adobe Systems. https://www.adobe.com/devnet/creativesuite/articles/introducing-html5-extensions.html. 
  20. "Adobe Edge Animate Team Blog". Adobe Systems. https://blogs.adobe.com/edge/. 
  21. "CEF integration in Dreamweaver". https://helpx.adobe.com/dreamweaver/using/cef-integration.html. 
  22. "Open Source". https://www.spotify.com/us/opensource/. 
  23. "Chromium Embedded Framework - Valve Developer Community". https://developer.valvesoftware.com/wiki/Chromium_Embedded_Framework. 
  24. 25.0 25.1 "Developer diary: Creating a desktop client for Conclave - 10×10 Room". 2014-04-24. https://10x10room.com/2014/04/24/developer-diary-creating-a-desktop-client-for-conclave/. 
  25. "Qt WebEngine Overview". Qt Project. https://doc.qt.io/qt-5/qtwebengine-overview.html. 
  26. 27.0 27.1 "Introducing the Qt WebEngine" (in en). https://www.qt.io/blog/2013/09/12/introducing-the-qt-webengine. 
  27. "Qt Switching From WebKit To Chromium Engine - Phoronix". https://www.phoronix.com/scan.php?page=news_item&px=MTQ2MDY. 
  28. "DotNetBrowser". https://www.teamdev.com/dotnetbrowser. 
  29. "FreshPorts www/chromium". 2010-10-13. https://www.freshports.org/www/chromium. 
  30. "OpenBSD Ports Readme: port www/chromium". 2023-12-11. https://openports.pl/path/www/chromium. 
  31. EMIL PROTALINSKI (2013-04-04). "Google's Blink Q&A: New rendering engine will replace WebKit on all platforms in 10 weeks with Chrome 28". 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. 

External links