A browser extension is a software module for customizing a web browser. Browsers typically allow users to install a variety of extensions, including user interface modifications, cookie management, ad blocking, and the custom scripting and styling of web pages. [1]
Browser plug-ins are a different type of module and no longer supported by the major browsers. [2] [3] One difference is that extensions are distributed as source code, while plug-ins are executables (i.e. object code). [2] The most popular browser, Google Chrome, [4] has over 100,000 extensions available [5] but stopped supporting plug-ins in 2020. [6]
Internet Explorer was the first major browser to support extensions, with the release of version 4 in 1997. [7] Firefox has supported extensions since its launch in 2004. Opera and Chrome began supporting extensions in 2009, [8] and Safari did so the following year. Microsoft Edge added extension support in 2016. [9]
In 2015, a community group formed under the W3C to create a single standard application programming interface (API) for browser extensions. [10] While this particular work did not reach fruition, [11] every major browser now has the same or very similar API due to the popularity of Google Chrome. [4]
Chrome was the first browser with an extension API based solely on HTML, CSS, and JavaScript. Beta testing for this capability began in 2009, [12] [13] and the following year Google opened the Chrome Web Store. As of June 2012, there were 750 million total installations of extensions and other content hosted on the store. [14] In the same year, Chrome overtook Internet Explorer as the world's most popular browser, [15] and its usage share reached 60% in 2018. [16]
Because of Chrome's success, Microsoft created a very similar extension API for its Edge browser, with the goal of making it easy for Chrome extension developers to port their work to Edge. [17] But after three years Edge still had a disappointingly small market share, so Microsoft rebuilt it as a Chromium-based browser. [18] [19] (Chromium is Google's open-source project that serves as the functional core of Chrome and many other browsers.) Now that Edge has the same API as Chrome, extensions can be installed directly from the Chrome Web Store. [20]
In 2015, Mozilla announced that the long-standing XUL and XPCOM extension capabilities of Firefox would be replaced with a less-permissive API very similar to Chrome's. [21] This change was enacted in 2017. [22] [23] Firefox extensions are now largely compatible with their Chrome counterparts. [24]
Apple was the last major exception to this trend, but support for extensions conforming to the Chrome API was added to Safari for macOS in 2020. [25] Extensions were later enabled in the iOS version for the first time. [26]
In 2021, these browser vendors formed a new W3C community group, called WebExtensions, to "specify a model, permissions, and a common core of APIs". [27] However, Google joined this during its overhaul of Chrome's extension API, known as Manifest V3, which greatly reduces the capability of ad blockers and privacy-related extensions. [28] [29] [30] Thus the WebExtensions group is viewed by some extension developers as nothing more than Google imposing its Manifest V3 design. [31] [32] [33]
Browser extensions typically have access to sensitive data, such as browsing history, and they have the ability to alter some browser settings, add user interface items, or replace website content. [34] [35] As a result, there have been instances of malware, so users need to be cautious about what extensions they install. [36] [37] [38] [39]
There have also been cases of applications installing browser extensions without the user's knowledge, making it hard for the user to uninstall the unwanted extension. [40]
Some Google Chrome extension developers have sold their extensions to third-parties who then incorporated adware. [41] [42] In 2014, Google removed two such extensions from the Chrome Web Store after many users complained about unwanted pop-up ads. [43] The following year, Google acknowledged that about five percent of visits to its own websites had been altered by extensions with adware. [44] [45] [46]
XUL, which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner similar to web pages.
Mozilla Firefox, or simply Firefox, is a free and open source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and anticipated web standards. Firefox is available for Windows 10 and later versions of Windows, macOS, and Linux. Its unofficial ports are available for various Unix and Unix-like operating systems, including FreeBSD, OpenBSD, NetBSD, and other platforms. It is also available for Android and iOS. However, as with all other iOS web browsers, the iOS version uses the WebKit layout engine instead of Gecko due to platform requirements. An optimized version is also available on the Amazon Fire TV as one of the two main browsers available with Amazon's Silk Browser.
A browser war is a competition for dominance in the usage share of web browsers. The "first browser war" (1995–2001) consisted of Internet Explorer and Netscape Navigator, and the "second browser war" (2004-2017) between Internet Explorer, Firefox, and Google Chrome.
This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.
Netscape Plugin Application Programming Interface (NPAPI) is a deprecated application programming interface (API) for web browser plugins, initially developed for Netscape Navigator 2.0 in 1995 and subsequently adopted by other browsers.
Add-on is the Mozilla term for software modules that can be added to the Firefox web browser and related applications. Mozilla hosts them on its official add-on website.
Web development tools allow web developers to test, modify and debug their websites. They are different from website builders and integrated development environments (IDEs) in that they do not assist in the direct creation of a webpage, rather they are tools used for testing the user interface of a website or web application.
Google Chrome is a web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, iOS, and also for Android, where it is the default browser. The browser is also the main component of ChromeOS, where it serves as the platform for web applications.
WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.
HTML video is a subject of the HTML specification as the standard way of playing video via the web. Introduced in HTML5, it is designed to partially replace the object element and the previous de facto standard of using the proprietary Adobe Flash plugin, though early adoption was hampered by lack of agreement as to which video coding formats and audio coding formats should be supported in web browsers. As of 2020, HTML video is the only widely supported video playback technology in modern browsers, with the Flash plugin being phased out.
Chrome Web Store is Google's online store for its Chrome web browser. As of 2022, Chrome Web Store hosts about 123,000 extensions and 29,000 themes.
Content Security Policy (CSP) is a computer security standard introduced to prevent cross-site scripting (XSS), clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context. It is a Candidate Recommendation of the W3C working group on Web Application Security, widely supported by modern web browsers. CSP provides a standard method for website owners to declare approved origins of content that browsers should be allowed to load on that website—covered types are JavaScript, CSS, HTML frames, web workers, fonts, images, embeddable objects such as Java applets, ActiveX, audio and video files, and other HTML5 features.
HTML audio is a subject of the HTML specification, incorporating audio input, playback, and synthesis, as well as speech to text, all in the browser.
Browser security is the application of Internet security to web browsers in order to protect networked data and computer systems from breaches of privacy or malware. Security exploits of browsers often use JavaScript, sometimes with cross-site scripting (XSS) with a secondary payload using Adobe Flash. Security exploits can also take advantage of vulnerabilities that are commonly exploited in all browsers.
Microsoft Edge is a proprietary cross-platform web browser created by Microsoft. Released in 2015 along with both Windows 10 and Xbox One, it was initially built with Microsoft's own proprietary browser engine, EdgeHTML, and their Chakra JavaScript engine. Later on, it was ported to Android and iOS as a fork of Google's Chromium open-source project. In late 2018, Microsoft announced it would completely rebuild Edge as a Chromium-based browser with Blink and V8 engines, which allowed the browser to be ported to macOS. The new Edge was publicly released in January 2020, and on Xbox platforms in 2021. Microsoft has since terminated security support for the original browser. Edge is also available on older Windows versions until early 2023, as well as Linux.
Vivaldi is a freeware, cross-platform web browser with a built-in email client developed by Vivaldi Technologies, a company founded by Tatsuki Tomita and Jon Stephenson von Tetzchner, who was the co-founder and CEO of Opera Software. Vivaldi was initially released on 27 January 2015.
uBlock Origin is a free and open-source browser extension for content filtering, including ad blocking. The extension is available for Chrome, Chromium, Edge, Firefox, Brave, Opera, Pale Moon, as well as versions of Safari before 13. uBlock Origin has received praise from technology websites and is reported to be much less memory-intensive than other extensions with similar functionality. uBlock Origin's stated purpose is to give users the means to enforce their own (content-filtering) choices.
WebXR Device API is a Web application programming interface (API) that describes support for accessing augmented reality and virtual reality devices, such as the HTC Vive, Oculus Rift, Oculus Quest, Google Cardboard, HoloLens, Apple Vision Pro, Magic Leap or Open Source Virtual Reality (OSVR), in a web browser. The WebXR Device API and related APIs are standards defined by W3C groups, the Immersive Web Community Group and Immersive Web Working Group. While the Community Group works on the proposals in the incubation period, the Working Group defines the final web specifications to be implemented by the browsers.
A progressive web application (PWA), or progressive web app, is a type of web app that can be installed on a device as a standalone application. PWAs are installed using the offline cache of the device's web browser.
Nobody outside of Google really has any meaningful sway, since Chrome currently owns nearly all of the market share; Google sets the rules, other people nitpick minor details, and everyone pretends that everyone had a meaningful say.
Google has shown no interest whatsoever in deviating from their original plans. So, it's quite clear what's happening here. MV3 is a business decision, not an engineering decision.