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."
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 browser was first publicly released for Microsoft Windows (XP and later versions) on September 2, 2008 in 43 languages, officially a beta version.
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.
In December 2009, Google released beta versions of Chrome for OS X and Linux. Google Chrome 5.0, announced on May 25, 2010, was the first stable release to support all three platforms.
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, Cisco announced 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.
Bookmarks and settings synchronisation
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
The first release of Google Chrome passed both the Acid1 and Acid2 tests. Beginning with version 4.0, Chrome has passed all aspects of the Acid3 test.
On the official CSS 2.1 test suite by standardization organization W3C, WebKit, the Chrome rendering engine, passes 89.75% (89.38% out of 99.59% covered) CSS 2.1 tests.
On the HTML5 test, Chrome 35 scores 507 out of 555 points, placing it first among the five most popular desktop browsers. With a score of 490 points, the Android version of Chrome 35 holds first place among the most popular seven tablet browsers and second place among the most popular seven mobile browsers.
Chrome uses a complex process-allocation model to allocate different tabs to fit into different processes to prevent what happens in one tab from affecting what happens in others. Following the principle of least privilege, each process is stripped of its rights and can compute, but cannot interact with sensitive areas (e.g. OS memory, user files) — this is similar to the "Protected Mode" used by Internet Explorer 9 and 10. 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 (user and sandbox) and the sandbox can only respond to communication requests initiated by the user. On Linux sandboxing uses the seccomp mode.
In December 2011 a report by Accuvant, funded by Google, rated the sandbox security of Google Chrome 12 and 13 as better than either Internet Explorer 9 or Mozilla Firefox 5.
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.
In January 2015, TorrentFreak reported that using Chrome when connected to the internet using a VPN can be a serious security issue due to the browser's support for WebRTC.
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 also 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.
Version 23 fixed 15 security vulnerabilities of which six were rated as high priority.
Google introduced download scanning protection in Chrome 17. Chrome tries to prevent malware with Sandboxing. The Sandbox monitors each and every webpage tab separately. When the user opens a malicious website, Chrome contains the malware in an area called a sandbox. The other tabs that the user has open are unaffected. When the user closes the bad page, the malware goes with it leaving other tabs and the computer unaffected. Chrome also automatically updates to the latest security features to maximize user protection from malware.
Chrome supports plug-ins with the Netscape Plugin Application Programming Interface (NPAPI), so that plug-ins (for example Adobe Flash Player) run as an unrestricted separate process outside the browser and cannot be sandboxed as tabs are. ActiveX is not supported. On March 30, 2010 Google announced that the latest development version of Chrome would bundle Adobe Flash with the browser, eliminating the need to download and install it separately. Flash would be 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. This does mean NPAPI plugins like Java can no longer work in Chrome.
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.
Chrome sends details about its users to Google through both optional and non-optional user tracking mechanisms.
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.
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.
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 Tabscreen 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 is being adopted in upcoming versions of 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.
By default, the main user interface includes back, forward, refresh/cancel and menu buttons. A home button is not shown by default, but can be added through the Settings page to take the user to the new tab page or a custom home page.
Tabs are the main component of Chrome's user interface and as such, have been moved to the top of the window rather than below the controls. This subtle change contrasts with many existing tabbed browsers which are based on windows and contain tabs. Tabs, with their state, can be transferred seamlessly between window containers by dragging. Each tab has its own set of controls, including the Omnibox.
The Omnibox is a URL box that combines the functions of both the address bar and search box. If a user enters the URL of a site previously searched from, Chrome allows pressing Tab to search the site again directly from the Omnibox. When a user starts typing in the Omnibox, Chrome provides suggestions for previously visited sites (based on the URL or in-page text), popular websites (not necessarily visited before — powered by Google Instant), and popular searches. Although Instant can be turned off, suggestions based on previously visited sites cannot be turned off. Chrome will also autocomplete the URLs of sites visited often. If a user types keywords into the Omnibox that don't match any previously visited websites and presses enter, Chrome will conduct the search using the default search engine.
One of Chrome's differentiating features is the New Tab Page, which can replace the browser home page and is displayed when a new tab is created. Originally, this showed thumbnails of the nine most visited web sites, along with frequent searches, recent bookmarks, and recently closed tabs; similar to Internet Explorer and Firefox with Google Toolbar, or Opera'sSpeed Dial. In Google Chrome 2.0, the New Tab Page was updated to allow users to hide thumbnails they did not want to appear.
Starting in version 3.0, the New Tab Page was revamped to display thumbnails of the eight most visited web sites. The thumbnails could be rearranged, pinned, and removed. Alternatively, a list of text links could be displayed instead of thumbnails. It also features a "Recently closed" bar that shows recently closed tabs and a "tips" section that displays hints and tricks for using the browser.Template:Multiple image
Chrome includes a bookmarks submenu that lists the user's bookmarks, provides easy access to Chrome's Bookmark Manager, and allows the user to toggle a bookmarks bar on or off.
For web developers, Chrome features an element inspector (Inspect Element), similar to the browser extension in Firebug, which allows users to look into the DOM and see what makes up the webpage.
Chrome has special URLs that load application-specific pages instead of websites or files on disk. Chrome also has a built-in ability to enable experimental features. Originally called about:labs, the address was changed to about:flags to make it less obvious to casual users.
In March 2011, Google introduced a new simplified logo to replace the previous 3D logo that had been used since the project's inception. Google designer Steve Rura explained the company reasoning for the change: "Since Chrome is all about making your web experience as easy and clutter-free as possible, we refreshed the Chrome icon to better represent these sentiments. A simpler icon embodies the Chrome spirit – to make the web quicker, lighter, and easier for all."
In September 2013, Google started making Chrome apps "For your desktop." This meant offline access, desktop shortcuts, and less dependence on Chrome- They launch in a window separate from Chrome, and look more like native applications.
Desktop shortcuts and apps
Chrome allows users to make local desktop shortcuts that open web applications in the browser. The browser, when opened in this way, contains none of the regular interface except for the title bar, so as not to "interrupt anything the user is trying to do". This allows web applications to run alongside local software (similar to Mozilla Prism and Fluid).
This feature, according to Google, will be enhanced with the Chrome Web Store, a one-stop web-based web applications directory which opened in December 2010.
Chrome Web Store
Announced on December 7, 2010, the Chrome Web Store allows users to install web applications as extensions to the browser, although most of these function simply as links to popular web pages and/or games, but some of the apps like Springpad do provide extra features like offline access. The themes and extensions have also been tightly integrated into the new store, allowing users to search the entire catalog of Chrome extras.
The Chrome Web Store was opened on February 11, 2011 with the release of Google Chrome 9.0.
On September 9, 2009, Google enabled extensions by default on Chrome's developer channel, and provided several sample extensions for testing. In December, the Google Chrome extension gallery beta began with over 300 extensions.
Along with Google Chrome 4.0, the extension gallery was officially launched on January 25, 2010, containing over 1500 extensions.
Many Chrome extensions, once installed, have access to the user's data. There are three levels of permissions that an app or extension may request.
On May 27, 2014, Google issued an update to Chrome preventing Windows users from installing extensions obtained outside the Chrome Web Store.
Starting with Google Chrome 3.0, users can install themes to alter the appearance of the browser. Many free third-party themes are provided in an online gallery, accessible through a "Get themes" button in Chrome's options.
Automatic web page translation
Starting with Google Chrome 4.1 the application added a built-in translation bar using Google Translate. Translation is currently available for 52 languages. When Chrome detects a foreign language other than the user's preferred language as set during the installation time, it asks the user whether or not to translate.
Release channels and updates
On January 8, 2009, Google introduced a new release system with three distinct channels: Stable, Beta, and Developer preview (called the "Dev" channel). Before this change there were only two channels: Beta and Developer preview. All previous Developer channel users were moved to the Beta channel. The reason given by Google is that the Developer channel builds are less stable and polished than those that Developer channel users were getting during Google Chrome's Beta period.
The Stable channel is updated with features and fixes once they have been thoroughly tested in the Beta channel, and Beta is updated (initially this was about once monthly) as stable and complete features migrate down from the Developer channel. The Developer channel is where ideas and features get tested (and sometimes fail) and can be very unstable at times.
On July 22, 2010, Google announced it would ramp up the speed at which it releases new stable versions; the release cycles were shortened from quarterly to six weeks for major Stable updates. Beta channel releases now come roughly at the same rate as Stable releases, though approximately one month in advance, while Dev channel releases appear roughly once or twice weekly, allowing time for basic release-critical testing. This faster release cycle also brought a fourth channel: the "Canary" channel, updated daily from a build produced at 09:00 UTC from the most stable of the last 40 revisions. The name refers to the practice of using canaries in coal mines, so if a change "kills" Chrome Canary, it will be blocked from migrating down to the Developer channel, at least until fixed in a subsequent Canary build. Canary is "the most bleeding-edge official version of Chrome and somewhat of a mix between Chrome dev and the Chromium snapshot builds". Canary releases run side-by-side with any other channel; it is not linked to the other Google Chrome installation and can therefore run different synchronization profiles, themes, and browser preferences. This ensures that fallback functionality remains even when some Canary update may contain release-breaking bugs. It does not natively include the option to be the default browser, although on OS X it can be set through Safari's preferences. Canary was Windows-only at first; an OS X version was released on May 3, 2011.
Chrome beta for Android was launched on January 10, 2013; like Canary, it runs side-by-side with the stable channel for Android.
All Chrome channels are automatically kept up-to-date in accordance with their respective release cycles. The details differ by platform. On Windows, it uses Google Update, and auto-update can be controlled via Group Policy. Alternatively, users may download one of two standalone installers of a version of Chrome that does not auto-update. On OS X, it uses Google Update Service, and auto-update can be controlled via the OS X "defaults" system. On Linux, it lets the system's normal package management system supply the updates. This auto-updating behaviour is a key difference from Chromium, the non-branded open source browser which forms the core of Google Chrome. Because Chromium also serves as the pre-releasedevelopment trunk for Chrome, its revisions are provided as source code and buildable snapshots are produced continuously with each new commit, requiring users to manage their own browser builds.
As of November 2014[update], stable 32-bit and 64-bit builds are available for Linux and Windows, with only 64-bit stable builds available for OS X. 64-bit Windows builds became available in the developer channel and as canary builds on June 3, 2014, in beta channel on July 30, 2014, and in stable channel on August 26, 2014. 64-bit OS X builds became available as canary builds on November 7, 2013, in beta channel on October 9, 2014, and in stable channel on November 18, 2014.
A beta version for Android 4.0 devices was launched on February 7, 2012, available for a limited number of countries from Google Play.
Notable features: synchronization with desktop Chrome to provide the same bookmarks and view the same browser tabs, page pre-rendering, hardware acceleration.
Many of the latest HTML5 features: almost all of the Web Platform’s features: GPU-accelerated canvas, including CSS 3D Transforms, CSS animations, SVG, WebSocket (including binary messages), Dedicated Workers; it has overflow scroll support, strong HTML5 video support, and new capabilities such as IndexedDB, WebWorkers, Application Cache and the File APIs, date and time pickers, parts of the Media Capture API. Also supports mobile oriented features such as Device Orientation and Geolocation.
Mobile customisations: swipe gesture tab switching, link preview allows zooming in on (multiple) links to ensure the desired one is clicked, font size boosting to ensure readability regardless of the zoom level.
Development changes: remote debugging, part of the browser layer has been implemented in Java, communicating with the rest of the Chromium and WebKit code through Java Native Bindings. The code of Chrome for Android is a fork of the Chromium project. It is a priority to upstream most new and modified code to Chromium and WebKit to resolve the fork.
The April 17, 2012 update included the availability to access in 31 additional languages and in all countries where Google Play is available. A desktop version of a website can also be requested as opposed to a mobile version. In addition, Android users can now add bookmarks to their Android home screens if they choose and decide which apps should handle links opened in Chrome.
On the June 27, 2012 Google Chrome for Android exited beta and became stable.
Chrome 18.0.1026311, released at September 26, 2012 was the first version of Chrome for Android to support Intel x86 based mobile devices.
Starting from version 25, the Chrome version for Android is aligned with the desktop version, and usually new stable releases are available at the same time between the Android and the desktop version. Google released a separate Chrome for Android beta channel on January 10, 2013, with version 25. Currently, a separate beta version of Chrome is available in the Google Play store and it can run side-by-side with the stable release.
Google Chrome is the basis of Google's Chrome OS operating system that ships on specific hardware from Google's manufacturing partners. The user interface has a minimalist design resembling the Google Chrome browser. Chrome OS is aimed at users who spend most of their computer time on the Web; the only applications on the devices are a browser incorporating a media player and a file manager.
In a review by Chitika, Chrome was noted as having 1.5% of the iOS web browser market as of July 18, 2012. In October 2013, Chrome had 3% of the iOS browser market.
Windows 8 version
In June 2012, "Windows 8 mode" was introduced to developer channel, which enables Windows 8 users to run Chrome in a full-screen, tablet-optimized interface within the Metro shell, with access to snapping, sharing, and search functionalities. In October 2013, Windows 8 mode on developer channel changed to use a desktop environment mimicking the interface of Chrome OS with a dedicated windowing system and taskbar for web apps.
Support for Google Chrome on Windows XP has been extended until April 2015.
For Chrome 35 and later the CPU must support SSE2 instructions (Intel P4 minimum). Chrome will no longer run on pre Intel P4 and early Athlon CPUs which do not have SSE2 support.Script error
In 2008, Matthew Moore in the The Daily Telegraph summarized the verdict of early reviewers: "Google Chrome is attractive, fast and has some impressive new features, but may not — yet — be a threat to its Microsoft rival."
Initially, Microsoft reportedly played down the threat from Chrome and predicted that most people would embrace Internet Explorer 8. Opera Software said that "Chrome will strengthen the Web as the biggest application platform in the world". But by February 25, 2010, BusinessWeek had reported that "For the first time in years, energy and resources are being poured into browsers, the ubiquitous programs for accessing content on the Web. Credit for this trend—a boon to consumers—goes to two parties. The first is Google, whose big plans for the Chrome browser have shaken Microsoft out of its competitive torpor and forced the software giant to pay fresh attention to its own browser, Internet Explorer. Microsoft all but ceased efforts to enhance IE after it triumphed in the last browser war, sending Netscape to its doom. Now it's back in gear." Mozilla said that Chrome's introduction into the web browser market comes as "no real surprise", that "Chrome is not aimed at competing with Firefox", and furthermore that it would not affect Google's revenue relationship with Mozilla.
Chrome overtook Firefox in November 2011 in worldwide usage. As of September 2012[update], according to StatCounter, Google Chrome had 34% worldwide usage share, making it the most widely used web browser, while Internet Explorer had 33% and Firefox had 22%.
It was reported by StatCounter, a web analytics company, that for the single day of Sunday, March 18, 2012, Chrome was the most used web browser in the world for the first time. Chrome secured 32.7% of the global web browsing on that day, while Internet Explorer followed closely behind with 32.5%.
From May 14–21, 2012, Google Chrome was for the first time responsible for more Internet traffic than Microsoft's Internet Explorer, which long had held its spot as the most used web browser in the world. According to StatCounter, 31.88% of web traffic was generated by Chrome for a sustained period of one week and 31.47% by Internet Explorer. Though Chrome had topped Internet Explorer for single day's usage in the past, this was the first time it had led for one full week.
At the 2012 Google I/O developers' conference, Google claimed that there were 310 million active users of Chrome, almost double the number in 2011, which was stated as 160 million active users.
As of June 2013, according to StatCounter, Chrome overtook Internet Explorer for the first time in the US.
As of August 2013, Chrome was used by 43% of internet users worldwide. This study was done by Statista, which also noted that in North America, only 34% of people use Chrome, the lowest in the world.
In December 2010 Google announced that to make it easier for businesses to use Chrome they would provide an official Chrome MSI package. For business use it is helpful to have full-fledged MSI packages that can be customized via transform files (.mst) - but the MSI provided with Chrome is only a very limited MSI wrapper fitted around the normal installer, and many businesses find that this arrangement does not meet their needs. The normal downloaded Chrome installer puts the browser in the user's local app data directory and provides invisible background updates, but the MSI package will allow installation at the system level, providing system administrators control over the update process — it was formerly possible only when Chrome was installed using Google Pack. Google also created group policy objects to fine tune the behavior of Chrome in the business environment, for example setting automatic updates interval, disable auto-updates, a home page and to workaround their basic Windows design flaws and bugs if it comes to roaming profiles support, etc. Until version 24 the software is known not to be ready for enterprise deployments with roaming profiles or Terminal Server/Citrix environments.
In September 2008, Google released a large portion of Chrome's source code as an open-source project called Chromium. This move enabled third-party developers to study the underlying source code and to help port the browser to the OS X and Linux operating systems. The Google-authored portion of Chromium is released under the permissive BSD license. Other portions of the source code are subject to a variety of open-source licenses. Chromium is similar to Chrome, but lacks built-in automatic updates and built-in Flash player, as well as Google branding and has a blue-colored logo instead of the multicolored Google logo. Chromium does not implement user RLZ tracking. The Google Chrome PDF viewer was previously not in Chromium, but was made open source in May 2014.
Developing for Chrome
It is possible to develop Apps, Extensions, and Themes for Chrome. They contain a manifest file that specifies basic information (such as version, name, description, privileges, etc.), and other files for UI (icons, popups, etc.). Google has an official developer's guide.
Cite error: <ref> tag with name "SecureFlashMac" defined in <references> is not used in prior text. Cite error: <ref> tag with name "google1" defined in <references> is not used in prior text. Cite error: <ref> tag with name "chromereleases17" defined in <references> is not used in prior text. Cite error: <ref> tag with name "chrome4" defined in <references> is not used in prior text.
Cite error: <ref> tag with name "Blog21Mar11" defined in <references> is not used in prior text.