Google Chrome is a freeware web browser developed by Google. It used the WebKit layout engine until version 27 and, with the exception of its iOS releases, from version 28 and beyond uses the WebKit fork Blink. It was first released as a beta version for Microsoft Windows on September 2, 2008, and as a stable public release on December 11, 2008.
As of January 2015, StatCounter estimates that Google Chrome has a 51% worldwide usage share of web browsers as a desktop browser. It is also the most popular browser for smartphones. Its success has led to Google expanding the 'Chrome' brand name on various other products such as the Chromecast.
Google releases the majority of Chrome's source code as an open-source project Chromium. A notable component that is not open source is their version of the built-in Adobe Flash Player, called Pepper Flash Player
Google CEO Eric Schmidt opposed the development of an independent web browser for six years. He stated that "at the time, Google was a small company," and he did not want to go through "bruising browser wars." After co-founders Sergey Brin and Larry Page hired several Mozilla Firefox developers and built a demonstration of Chrome, Schmidt admitted that "It was so good that it essentially forced me to change my mind."
Rumours of Google building a web browser first appeared in September 2004. Online journals and U.S. newspapers stated at the time that Google was hiring former Microsoft web developers among others. It also came shortly after the final 1.0 release of Mozilla Firefox, which was surging in popularity and taking market share from Internet Explorer which was suffering from major security problems.
The release announcement was originally scheduled for September 3, 2008, and a comic by Scott McCloud was to be sent to journalists and bloggers explaining the features within the new browser. Copies intended for Europe were shipped early and German blogger Philipp Lenssen of Google Blogoscoped made a scanned copy of the 38-page comic available on his website after receiving it on September 1, 2008. Google subsequently made the comic available on Google Books and mentioned it on their official blog along with an explanation for the early release. The product was named “Chrome” because Google wanted to minimize the chrome of the browser.
On the same day, a CNET news item drew attention to a passage in the Terms of Service statement for the initial beta release, which seemed to grant to Google a license to all content transferred via the Chrome browser. This passage was inherited from the general Google terms of service. Google responded to this criticism immediately by stating that the language used was borrowed from other products, and removed this passage from the Terms of Service.
Chrome quickly gained about 1% usage share. After the initial surge, usage share dropped until it hit a low of 0.69% in October 2008. It then started rising again and by December 2008, Chrome again passed the 1% threshold.
In early January 2009, CNET reported that Google planned to release versions of Chrome for OS X and Linux in the first half of the year. The first official Chrome OS X and Linux developer previews were announced on June 4, 2009 with a blog post saying they were missing many features and were intended for early feedback rather than general use.
Chrome uses the Blink rendering engine to display web pages. Based on WebKit, Blink only uses WebKit's "WebCore" components while substituting all other components, such as its own multi-process architecture in place of WebKit's native implementation.
Chrome is internally tested with unit testing, "automated user interface testing of scripted user actions", fuzz testing, as well as WebKit's layout tests (99% of which Chrome is claimed to have passed), and against commonly accessed websites inside the Google index within 20–30 minutes.
Google created Gears for Chrome, which added features for web developers typically relating to the building of web applications, including offline support.Google phased out Gears as the same functionality became available in the HTML5 standards.
On January 11, 2011, the Chrome product manager, Mike Jazayeri, announced that Chrome would remove H.264 video codec support for its HTML5 player, citing the desire to bring Google Chrome more in line with the currently available open codecs available in the Chromium project, which Chrome is based on. Despite this, on November 6, 2012, Google released a version of Chrome on Windows which added hardware-accelerated H.264 video decoding. In October 2013, Ciscoannounced that it was open-sourcing its H.264 codecs and will cover all fees required.
On April 3, 2013, Google announced that it would fork the WebCore component of WebKit to form its own layout engine known as Blink. The aim of Blink will be to give Chrome's developers more freedom in implementing its own changes to the engine, and to allow its codebase to be trimmed of code that is unnecessary or unimplemented by Chrome.
Google Chrome features a minimalistic user interface, with its user-interface principles later being implemented into other browsers. For example, the merging of the address bar and search bar into the omnibox. Chrome also has a reputation for strong browser performance.
Bookmarks and settings synchronization
Chrome allows users to synchronize their bookmarks, history, and settings across all devices with the browser installed by sending and receiving data through a chosen Google Account, which in turn updates all signed-in instances of Chrome. This can be authenticated either through Google credentials, or a sync passphrase.
Web standards support
On the HTML5 web standards test, Chrome 41 scores 518 out of 555 points, placing it ahead of the five most popular desktop browsers. Chrome 41 on Android scores 510 out of 555 points.
Chrome periodically retrieves updates of two blacklists (one for phishing and one for malware), and warns users when they attempt to visit a site flagged as potentially harmful. This service is also made available for use by others via a free public API called "Google Safe Browsing API".
Chrome uses a process-allocation model to sandbox tabs. Using the principle of least privilege, each tab process cannot interact with critical memory functions (e.g. OS memory, user files) or other tab processes — similar to Microsoft's "Protected Mode" used by Internet Explorer 9 or greater. The Sandbox Team is said to have "taken this existing process boundary and made it into a jail." This enforces a computer security model whereby there are two levels of multilevel security (userand sandbox) and the sandbox can only respond to communication requests initiated by the user. On Linux sandboxing uses the seccomp mode.
Since 2008, Chrome has been faulted for not including a master password to prevent casual access to a user's passwords. Chrome developers have indicated that a master password does not provide real security against determined hackers and have refused to implement one. Bugs filed on this issue have been marked "WontFix". As of Feb 2014, the Windows version asks the user to enter the Windows account password before showing saved passwords.
At Pwn2Own 2012, Chrome was defeated by a French team who used zero day exploits in the version of Flash shipped with Chrome to take complete control of a fully patched 64-bit Windows 7 PC using a booby-trapped website that overcame Chrome's sandboxing.
Chrome was compromised twice at the 2012 CanSecWest Pwnium. Google's official response to the exploits was delivered by Jason Kersey, who congratulated the researchers, noting "We also believe that both submissions are works of art and deserve wider sharing and recognition." Fixes for these vulnerabilities were deployed within 10 hours of the submission.
Google introduced download scanning protection in Chrome 17.
- Chrome supports plug-ins with the Netscape Plugin Application Programming Interface (NPAPI), so that plug-ins (for example Adobe Flash Player) run as unrestricted separate processes outside the browser and cannot be sandboxed as tabs are. ActiveX is not supported. Since 2010 Adobe Flash has been integral to Chrome and does not need be installed separately. Flash is kept up to date as part of Chrome's own updates. Java applet support is available in Chrome with Java 6 update 12 and above. Support for Java under OS X was provided by a Java Update released on May 18, 2010.
- On August 12, 2009, Google introduced a replacement for NPAPI that is more portable and more secure called Pepper Plugin API (PPAPI). The default bundled PPAPI Flash Player (or Pepper-based Flash Player) was available on Chrome OS first, then replaced the NPAPI Flash Player on Linux from Chrome version 20, on Windows from version 21 (which also reduced Flash crashes by 20%), and eventually came to OS X at version 23.
- On September 23, 2013, Google announced that it will be deprecating and then removing NPAPI support. NPAPI support was removed from Linux in Chrome release 35. NPAPI plugins like Java can no longer work in Chrome (but there are workarounds for Flash by using PPAPI Flash Player on Linux including for Chromium).
- On April 14, 2015, Google released Chrome v42, disabling the NPAPI by default. This makes plugins that do not have a PPAPI plugin counterpart incompatible with Chrome, such as Java, Silverlight and Unity. However, NPAPI support can be enabled through the chrome://flags menu, until the release of version 45 in September 2015, which will have NPAPI support removed entirely.
The private browsing feature called Incognito mode prevents the browser from permanently storing any history information or cookies from the websites visited.Incognito mode is similar to the private browsing feature in other web browsers.
Some of the tracking mechanisms can be optionally enabled and disabled through the installation interface and through the browser's options dialog. Unofficial builds, such as SRWare Iron and CoolNovo (previously known as ChromePlus), seek to remove these features from the browser altogether. The RLZ feature is not included in the Chromium browser either.
In March 2010, Google devised a new method to collect installation statistics: the unique ID token included with Chrome is now only used for the first connection that Google Update makes to its server.
The optional suggestion service included in Google Chrome has been criticized because it provides the information typed into the Omnibox to the search provider before the user even hits return. This allows the search engine to provide URL suggestions, but also provides them with web usage information tied to an IP address.
The optional feature to use a web service to help resolve spelling errors has privacy implications.
|Installation||Randomly generated token included in installer. Used to measure success rate of Google Chrome once at installation.||
|RLZ identifier||Encoded string, according to Google, contains non-identifying information about where Chrome was downloaded from and its installation week, and is used to measure promotional campaigns. Google provides the source code to decode this string.||
|clientID||Unique identifier along with user preferences, logs of usage metrics and crashes.||Unknown||Yes
|Omnibox predictions||Text typed into the address bar.||While typing||Yes
|Page not found||Text typed into the address bar.||Upon receiving "Server not found" response||Yes
|Google Update(Windows)||Information about how often Chrome is used, details about the OS and Chrome version.||Periodically||Partial
|Google Software Update (OS X)|
Do Not Track
In February 2012, Google announced that Chrome would support Do Not Track by the end of 2012 and the protocol was implemented on version 23, however, Do Not Track is turned off by default in Chrome.
|This article is outdated. (March 2015)|
Like most major web browsers, Chrome uses DNS prefetching to speed up website lookups, as do other browsers like Firefox, Safari, Internet Explorer (called DNS Pre-resolution), and in Opera as a UserScript (not built-in).
Like most major web browsers, Chrome utilizes the faster SPDY protocol instead of HTTP when communicating with servers that support it, such as Google services, Facebook, Twitter, and other websites.
A multi-process architecture is implemented in Chrome where, by default, a separate process is allocated to each site instance and plugin. This procedure is termed process isolation, and it prevents tasks from interfering with each other, raising security and stability. An attacker successfully gaining access to one application gains access to no others, and failure in one instance results in a Sad Tab screen of death, similar to the well-known Sad Mac, but only one tab crashes instead of the whole application. This strategy exacts a fixed per-process cost up front, but results in less memory bloat overall as fragmentation is confined to each instance and no longer needs further memory allocations. This architecture was adopted in Safari and Firefox.
Chrome includes a process management utility called Task Manager which lets users see what sites and plugins are using the most memory, downloading the most bytes and overusing the CPU and provides the ability to terminate them.Chrome Version 23 ensures its users an improved battery life for the systems supporting Chrome's GPU accelerated video decoding.