About Google Chrome Blog

Posts by Google Chrome Blog:

Blink: A rendering engine for the Chromium project

WebKit is a lightweight yet powerful rendering engine that emerged out of KHTML in 2001. Its flexibility, performance and thoughtful design made it the obvious choice for Chromium's rendering engine back when we started. Thanks to the hard work by all in the community, WebKit has thrived and kept pace with the web platform’s growing capabilities since then.

However, Chromium uses a different multi-process architecture than other WebKit-based browsers, and supporting multiple architectures over the years has led to increasing complexity for both the WebKit and Chromium projects. This has slowed down the collective pace of innovation - so today, we are introducing Blink, a new open source rendering engine based on WebKit.

This was not an easy decision. We know that the introduction of a new rendering engine can have significant implications for the web. Nevertheless, we believe that having multiple rendering engines—similar to having multiple browsers—will spur innovation and over time improve the health of the entire open web ecosystem.

In the short term, Blink will bring little change for web developers. The bulk of the initial work will focus on internal architectural improvements and a simplification of the codebase. For example, we anticipate that we’ll be able to remove 7 build systems and delete more than 7,000 files—comprising more than 4.5 million lines—right off the bat. Over the long term a healthier codebase leads to more stability and fewer bugs.

Throughout this transition, we’ll collaborate closely with other browser vendors to move the web forward and preserve the compatibility that made it a successful ecosystem. In that spirit, we’ve set strong guidelines for new features that emphasize standards, interoperability, conformance testing and transparency.

To learn more about Blink visit our project page.

Posted by Adam Barth, Software Engineer

Faster web pages thanks to better compression

Today, we released the Zopfli Compression Algorithm, a C library that compresses existing web content 3–8% more densely.

Zopfli is compatible with the normal decompression mechanisms already present in web browsers and  uses a much slower but more exhaustive compression algorithm than, for example, the zlib library. This can result in smaller data sizes and faster web pages.

To learn more about Zopfli, visit our site.

Posted by Lode Vandevenne, Software Engineer

Chrome 26 Beta: Template Element & Unprefixed CSS Transitions

Today’s Chrome Beta channel release includes a slew of awesome new features to help you make your web apps more powerful and beautiful. Unless otherwise noted, all updates apply to Chrome for Windows, Mac, Linux and Android.

<template> Element

The <template> element is part of Web Components, a set of cutting edge standards that will make it possible to build reusable widgets for the web. The element allows you to store HTML fragments that you intend to use for any reason at any time during the lifetime of your page, but that aren’t ready or shouldn’t be used during page load. Here’s an illustrative code snippet from the HTML5 Rocks article:


Unprefixed CSS Transitions & calc()

CSS Transitions allow CSS property changes to occur smoothly rather than abruptly, as in this demo. The calc() function allows you to use basic mathematical expressions anywhere a length or number is required by a CSS property. Here’s some example code:


Both the prefixed and unprefixed versions of these features will work in today’s Beta, but you should switch to the unprefixed versions after Chrome 26 reaches the Stable channel as we are ending official support for the prefixed versions.

activeTab Extensions API

Chrome extensions let you add custom functionality to desktop versions of the browser. Starting in Chrome 26, the activeTab API allows your extension to interact with the currently active tab when the user invokes your extension - for example by clicking its browser action or hitting a keyboard shortcut. Since the activeTab API requires a user action to activate, it does not cause an install-time permissions warning.

Other new web platform features

The web platform evolves rapidly. In this release, we’ve added the following:
  • HTML <main> element can be used to represent the main content of the <body> of a document or application.
  • CSS pseudo elements (like ::before and ::after) can now be animated and transitioned.
  • Encrypted Media Extensions allow you to play protected audio and video content on the web. See them in action in this WebM demo, and note that they’re not yet available on Android.
  • Enable the Experimental JavaScript flag in chrome://flags to try Object.observe(). It lets you add a listener to any JavaScript object that gets called whenever that object or its properties change, as in this simple demo.
Features removed

MathML has been disabled in order to resolve security and stability issues. In Chrome for Android, we’ve removed support for the datetime <input> type because the spec is still under development. Please use the datetime-local type instead.

Stay in the loop

Visit chromestatus.com for a complete overview of Chrome’s developer features, and circle +Google Chrome Developers for more frequent updates. Get coding!

Posted by Rafael Weinstein, Software Engineer and <template> Templar

A safer playground for your Linux and Chrome OS renderers

Sandboxing is a layer of security that Chrome places between attackers and their computer, aiming to isolate an attacker who has successfully exploited a vulnerability. When contained in a sandbox jail, an attacker will typically look for porous or fragile bits in the walls to throw rocks at. That is, he’ll try to gain additional privileges by taking advantage of other vulnerabilities. Our job is to make the virtual walls of the sandbox as strong and impenetrable as possible.

One juicy target for attackers is the operating system’s kernel: a large and complex code base. The latest stable version of Chrome introduces a new layer of sandboxing of Chrome renderers for the 64-bit versions of Chrome OS and Linux, based on a new kernel feature called seccomp-bpf. With seccomp-bpf we’ll install a small filter in the kernel that will quickly reject many of the rocks thrown by an attacker. A simple example: if we know that Chrome renderers don’t need a system call such as vmsplice, or a facility such as “inotify”, we can just deny them completely. We use a broker process model to keep the list of allowed system calls small.

Installing this filter in the kernel improves the security of our users. But it is just the beginning: using this new facility, we’ll continue to make the sandbox safer.

This new sandbox layer is automatically baked into the latest version of Chrome OS. On Linux, you can check by going to chrome://sandbox and look for “Seccomp-BPF sandbox Yes”. If this is not available, ask your Linux distribution to include and enable seccomp-bpf in its kernel, as Ubuntu has done since version 12.04.


As always, you can report bugs and issues here, by clicking on “New issue”.

Posted by Julien Tinnes, Software Engineer

World, meet your browser

When Chrome first launched back in 2008, we realized that a lot of people didn’t know what a web browser was, much less which version they were using. They also didn’t know that you could choose to use a different browser. To help people learn about the importance of browser choice, we introduced whatbrowser.org, a simple site that answers the question, “What browser am I using, and why does it matter?”


Since we first introduced whatbrowser.org three years ago, the web has changed immensely. The explosion of the mobile web means more and more people are browsing with phones and tablets. In addition, with advances in HTML5 and the Open Web Platform, the web has become much more powerful, enabling rich new experiences. Over the years, browsers have improved to protect you against new security threats, which means it’s as important as ever to be on the latest version of a modern browser.


To reflect the changing browser landscape, we’ve completely revamped whatbrowser.org. The site has been fully rebuilt in HTML5, localized in 43 languages, and now works on mobile, too. The site also highlights why it’s so important to use a modern browser and keep it up to date: doing so saves you time, keeps you safer, and lets you do more online. The browser you choose is up to you; hopefully whatbrowser.org can help.

Posted by Jeff Chang, Product Manager and Browser Chooser

mod_pagespeed is now out of beta

If you are as obsessed with the speed of your web pages as we are, then you may have heard of mod_pagespeed, an Apache module that automatically optimizes your web pages for performance. Since we introduced mod_pagespeed in 2010, we’ve been focused on improving its functionality, to help developers increase the performance of their web pages. Today, after 18 releases, mod_pagespeed is now officially out of beta.



More than 120,000 sites are already using mod_pagespeed to take advantage of the latest performance optimization techniques. To learn more about mod_pagespeed and how to incorporate it in your site, watch our recent Google Developers Live session or visit the mod_pagespeed developer documentation site.

Posted by Ilya Grigorik, Developer Advocate

Pwnium 2: results and wrap-up

As part of our ongoing effort to reward exceptional vulnerability research in the security community, we hosted the Pwnium 2 competition at Hack in the Box 2012 in Kuala Lumpur yesterday.

We’re happy to confirm that we received a valid exploit from returning pwner, Pinkie Pie. This pwn relies on a WebKit Scalable Vector Graphics (SVG) compromise to exploit the renderer process and a second bug in the IPC layer to escape the Chrome sandbox. Since this exploit depends entirely on bugs within Chrome to achieve code execution, it qualifies for our highest award level as a “full Chrome exploit,” a $60,000 prize and free Chromebook.

One of Chrome’s most effective security defenses is our fast response time and ability to update users with critical patches, quickly. These bugs were no exception. We started analyzing the exploit as soon as it was submitted, and in fewer than 10 hours after Pwnium 2 concluded we were updating users with a freshly patched version of Chrome.

We’d like to thank Pinkie Pie for his hard work in assembling another great Pwnium submission. We’ll post an in-depth look at the bugs used and subsequent mitigations once other platforms have been patched.

Posted by Chris Evans, Software Engineer

Celebrating 4 years: from a better web, to your web

When we launched Chrome four years ago, most people accessed the web through a personal computer. Our goal was to help build a better web--a web that is faster, simpler and more secure.

Fast forward to today, and many people have more than one device--a smartphone, a tablet, a computer at work, a computer at home. The beauty of the web is that it’s the one platform that can deliver a consistent experience on any device with a browser. We've been working to build a more seamless Chrome experience that lets you to take your Chrome stuff with you on all your devices.

The web isn’t the same for everyone--we all have our own individual bookmarks, tabs, history, passwords and more that reflect what we do online and what we care about. Chrome now enables you to access your web, everywhere. Whether you’re on a Windows, Mac, or Linux computer, a Chromebook, or an Android or iOS smartphone or tablet, you can have the same consistent experience no matter where you go, just by signing in to Chrome.


As you use Chrome on more devices, we remain focused on providing you with the most secure web experience possible. Building on four years of security work, recent improvements such as more robust plug-in sandboxing and Safe Browsing for downloads ensure that your browsing is more secure than ever before.

To track Chrome’s journey from a better web to your web, we created a Chrome Time Machine (of sorts) that lets you travel through key moments in Chrome’s history over the past four years. You may even uncover a special birthday gift from the Chrome team, if you find the hidden clue and type in the secret code...


Thank you all for being a part of Chrome, and for bringing your own personal touch to the web. On our fourth birthday, we’re looking forward to many more amazing years of helping you do more online. Happy browsing!

Posted by Sundar Pichai, SVP, Chrome & Apps

Lossless and Transparency Modes in WebP

Cross-posted on the Google Developers Blog

At Google, we are constantly looking at ways to make web pages load faster. One way to do this is by making web images smaller. This is especially important for mobile devices where smaller images save both bandwidth and battery life. Earlier this month, we released version 0.2 of the WebP library that adds support for lossless and transparency modes to compress images. This version provides CPU and memory performance comparable to or better than PNG, yet results in 26% smaller files.

WebP’s improved compression comes from advanced techniques such as dedicated entropy codes for different color channels, exploiting 2D locality of backward reference distances and a color cache of recently used colors. This complements basic techniques such as dictionary coding, Huffman coding and color indexing transform. We think that we've only scratched the surface in improving compression. Our newly added support for alpha transparency with lossy images promises additional gains in this space, helping make WebP an efficient replacement for PNG.

The new WebP modes are supported natively in the latest Beta version of Chrome. The bit stream specification for these new WebP modes has been finalized and the container specification has been updated. We thank the community for their valuable feedback and for helping us evolve WebP as a new image compression format for the web. We encourage you to try these new compression methods on your favorite set of images, check out the code, and continue to provide feedback.

Posted by Jyrki Alakuijala - Software Engineer

Better mouse control for games in the latest Chrome Beta

For you game lovers out there, you’ll be happy to hear that today’s Beta release includes the Pointer Lock JavaScript API (a.k.a. mouse lock). This means 3D web apps and games like first-person shooters can remove your cursor from the screen and get access to raw mouse movement data, so you can pan the screen’s view to your heart’s content. You can play with this nifty WebGL Quake 3 map viewer to see it in action. Have fun!

Posted by Vincent Scheib, Software Engineer and Mouse Locksmith