Planet Chromium

August 24, 2016

Google Chrome Releases

Beta Channel Update for Desktop

The beta channel has been updated to 53.0.2785.80 for Windows, Mac, and Linux.


A partial list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Krishna Govind
Google Chrome

by Krishna Govind (noreply@blogger.com) at August 24, 2016 01:33 PM

August 23, 2016

Google Chrome Releases

Dev Channel Update for Desktop

The dev channel has been updated to 54.0.2837.0 for Windows, Mac, and Linux.



A partial list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Richard Bustamante
Google Chrome

by Richard Bustamante (noreply@blogger.com) at August 23, 2016 04:47 PM

V8 JavaScript Engine

Firing up the Ignition Interpreter

V8 and other modern JavaScript engines get their speed via just-in-time (JIT) compilation of script to native machine code immediately prior to execution. Code is initially compiled by a baseline compiler, which can generate non-optimized machine code quickly. The compiled code is analyzed during runtime and optionally re-compiled dynamically with a more advanced optimizing compiler for peak performance. In V8, this script execution pipeline has a variety of special cases and conditions which require complex machinery to switch between the baseline compiler and two optimizing compilers, Crankshaft and TurboFan.

One of the issues with this approach (in addition to architectural complexity) is that the JITed machine code can consume a significant amount of memory, even if the code is only executed once. In order to mitigate this overhead, the V8 team has built a new JavaScript interpreter, called Ignition, which can replace V8’s baseline compiler, executing code with less memory overhead and paving the way for a simpler script execution pipeline.

With Ignition, V8 compiles JavaScript functions to a concise bytecode, which is between 50% to 25% the size of the equivalent baseline machine code. This bytecode is then executed by a high-performance interpreter which yields execution speeds on real-world websites close to those of code generated by V8’s existing baseline compiler.

In Chrome 53, Ignition will be enabled for Android devices which have limited RAM (512 MB or less), where memory savings are most needed. Results from early experiments in the field show that Ignition reduces the memory of each Chrome tab by around 5%.

V8’s compilation pipeline with Ignition enabled.

Details


In building Ignition’s bytecode interpreter, the team considered a number of potential implementation approaches. A traditional interpreter, written in C++ would not be able to interact efficiently with the rest of V8’s generated code. An alternative would have been to hand-code the interpreter in assembly code, however given V8 supports nine architecture ports, this would have entailed substantial engineering overhead.

Instead, we opted for an approach which leveraged the strength of TurboFan, our new optimizing compiler, which is already tuned for optimal interaction with the V8 runtime and other generated code. The Ignition interpreter uses TurboFan’s low-level, architecture-independent macro-assembly instructions to generate bytecode handlers for each opcode. TurboFan compiles these instructions to the target architecture, performing low-level instruction selection and machine register allocation in the process. This results in highly optimized interpreter code which can execute the bytecode instructions and interact with the rest of the V8 virtual machine in a low-overhead manner, with a minimal amount of new machinery added to the codebase.

Ignition is a register machine, with each bytecode specifying its inputs and outputs as explicit register operands, as opposed to a stack machine where each bytecode would consume inputs and push outputs on an implicit stack. A special accumulator register is an implicit input and output register for many bytecodes. This reduces the size of bytecodes by avoiding the need to specify specific register operands. Since many JavaScript expressions involve chains of operations which are evaluated from left to right, the temporary results of these operations can often remain in the accumulator throughout the expression’s evaluation, minimizing the need for operations which load and store to explicit registers.

As the bytecode is generated, it passes through a series of inline-optimization stages. These stages perform simple analysis on the bytecode stream, replacing common patterns with faster sequences, remove some redundant operations, and minimize the number of unnecessary register loads and transfers. Together, the optimizations further reduce the size of the bytecode and improve performance.

For further details on the implementation of Ignition, see our BlinkOn talk:


Future


Our focus for Ignition up until now has been to reduce V8’s memory overhead. However, adding Ignition to our script execution pipeline opens up a number of future possibilities. The Ignition pipeline has been designed to enable us to make smarter decisions about when to execute and optimize code to speed up loading web pages and reduce jank and to make the interchange between V8’s various components more efficient.

Stay tuned for future developments in Ignition and V8.

by Ross McIlroy, V8 Ignition Jump Starter

by Seth Thompson (noreply@blogger.com) at August 23, 2016 01:46 PM

August 19, 2016

Google Chrome Releases

Dev Channel Update for Desktop



The dev channel has been updated to 54.0.2832.2 for Windows and Linux. Due to bugs found during release testing, Mac will not be updated this week.



A partial list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Richard Bustamante
Google Chrome

by Richard Bustamante (noreply@blogger.com) at August 19, 2016 04:12 PM

Chromium Blog

From Chrome Apps to the Web

We have always believed in making the open, interoperable web as strong as possible. For a while there were certain experiences the web couldn’t provide, such as working offline, sending notifications, and connecting to hardware. We launched Chrome apps three years ago to bridge this gap.



Since then, we’ve worked with the web standards community to enable an increasing number of these use cases on the web. Developers can use powerful new APIs such as service worker and web push to build robust Progressive Web Apps that work across multiple browsers. More capabilities will continue to become available on the web.



As we continue our efforts to simplify Chrome, we believe it’s time to begin the evolution away from the Chrome apps platform. There are two types of Chrome apps: packaged apps and hosted apps. Today, approximately 1% of users on Windows, Mac and Linux actively use Chrome packaged apps, and most hosted apps are already implemented as regular web apps. We will be removing support for packaged and hosted apps from Chrome on Windows, Mac, and Linux over the next two years.



All types of Chrome apps will remain supported and maintained on Chrome OS for the foreseeable future. Additional enhancements to the Chrome apps platform will apply only to Chrome OS devices, including kiosks. Developers can continue to build Chrome apps (or Android apps) for Chrome OS.



Starting in late 2016, newly-published Chrome apps will only be available to users on Chrome OS. Existing Chrome apps will remain accessible on all platforms, and developers can continue to update them.



In the second half of 2017, the Chrome Web Store will no longer show Chrome apps on Windows, Mac, and Linux, but will continue to surface extensions and themes. In early 2018, users on these platforms will no longer be able to load Chrome apps.



On Windows, Mac, and Linux, we encourage developers to migrate their Chrome apps to the web. Developers who can’t fully move their apps to the web can help us prioritize new APIs to fill the gaps left by Chrome apps. In the short term, they can also consider using a Chrome extension or platforms such as Electron or NW.js.



As the capabilities of the web continue to grow, we're excited to see what developers build next. Alongside other browser vendors, we remain committed to investment in the web and enabling users and developers to benefit from its openness and reach.


Posted by Rahul Roy-Chowdhury, VP Product Management

by Chrome Blog (noreply@blogger.com) at August 19, 2016 01:05 PM

August 18, 2016

Google Chrome Releases

Dev Channel Update for Chrome OS

The Dev channel has been updated to 54.0.2830.0 (Platform version: 8714.0.0/8714.1.0) for all Chrome OS devices. This build contains a number of bug fixes, security updates and feature enhancements. A list of changes can be found here.

If you find new issues, please let us know by visiting our forum or filing a bug. Interested in switching channels? Find out how. You can submit feedback using ‘Report an issue...’ in the Chrome menu (3 vertical dots in the upper right corner of the browser).

Josafat Garcia
Google Chrome

by Josafat (noreply@blogger.com) at August 18, 2016 09:50 PM

Beta Channel Update for Chrome OS

The Beta channel 53.0.2785.70 (Platform version: 8530.62.0) has been released for Chrome OS devices. This build contains a number of bug fixes, security updates and feature enhancements. A list of changes can be found here.

If you find new issues, please let us know by visiting our forum or filing a bug. Interested in switching channels? Find out how. You can submit feedback using ‘Report an issue...’ in the Help section of the Chrome menu (3 vertical dots in the upper right corner of the browser).

Ketaki Deshpande
Google Chrome

by Ketaki Deshpande (noreply@blogger.com) at August 18, 2016 08:40 PM

August 17, 2016

Google Chrome Releases

Beta Channel Update for Desktop

The beta channel has been updated to 53.0.2785.70 for Windows, Mac, and Linux.


A partial list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Krishna Govind
Google Chrome

by Krishna Govind (noreply@blogger.com) at August 17, 2016 02:43 PM

August 15, 2016

Google Chrome Releases

Dev Channel Update for Chrome OS

The Dev channel has been updated to 54.0.2824.5 (Platform version: 8688.3.0/8688.4.0) for Asus Chromebook Flip, Acer Chromebook R11 and Google Pixel (2015). This build contains a number of bug fixes, security updates and feature enhancements. A list of changes can be found here.

If you find new issues, please let us know by visiting our forum or filing a bug. Interested in switching channels? Find out how. You can submit feedback using ‘Report an issue...’ in the Chrome menu (3 vertical dots in the upper right corner of the browser).

Josafat Garcia
Google Chrome

by Josafat (noreply@blogger.com) at August 15, 2016 01:47 PM

August 11, 2016

Google Chrome Releases

Dev Channel Update for Chrome OS

The Dev channel has been updated to 54.0.2824.0 (Platform version: 8688.0.0/8688.2.0) for all Chrome OS devices except Asus Chromebook Flip, Acer Chromebook R11 and Google Pixel (2015). This build contains a number of bug fixes, security updates and feature enhancements. A list of changes can be found here.

If you find new issues, please let us know by visiting our forum or filing a bug. Interested in switching channels? Find out how. You can submit feedback using ‘Report an issue...’ in the Chrome menu (3 vertical dots in the upper right corner of the browser).

Josafat Garcia
Google Chrome

by Josafat (noreply@blogger.com) at August 11, 2016 05:59 PM

August 10, 2016

Google Chrome Releases

Beta Channel Update for Chrome OS

The Beta channel 53.0.2785.55 (Platform version: 8530.49.0) has been released for Chrome OS devices. This build contains a number of bug fixes, security updates and feature enhancements. A list of changes can be found here.

If you find new issues, please let us know by visiting our forum or filing a bug. Interested in switching channels? Find out how. You can submit feedback using ‘Report an issue...’ in the Help section of the Chrome menu (3 vertical dots in the upper right corner of the browser).

Ketaki Deshpande
Google Chrome

by Ketaki Deshpande (noreply@blogger.com) at August 10, 2016 10:16 PM

Beta Channel Update for Desktop

The beta channel has been updated to 53.0.2785.57 for Windows, Mac and Linux.


A partial list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Krishna Govind
Google Chrome

by Krishna Govind (noreply@blogger.com) at August 10, 2016 05:05 PM

August 09, 2016

Google Chrome Releases

Dev Channel Update for Desktop

The dev channel has been updated to 54.0.2824.0/54.0.2824.2 for Windows and 54.0.2824.0 for Linux, and Mac.



A partial list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Richard Bustamante
Google Chrome

by Richard Bustamante (noreply@blogger.com) at August 09, 2016 08:44 PM

Google Chrome Blog

Flash and Chrome

Adobe Flash Player played a pivotal role in the adoption of video, gaming and animation on the Web. Today, sites typically use technologies like HTML5, giving you improved security, reduced power consumption and faster page load times. Going forward, Chrome will de-emphasize Flash in favor of HTML5. Here’s what that means for you.

Today, more than 90% of Flash on the web loads behind the scenes to support things like page analytics. This kind of Flash slows you down, and starting this September, Chrome 53 will begin to block it. HTML5 is much lighter and faster, and publishers are switching over to speed up page loading and save you more battery life. You’ll see an improvement in responsiveness and efficiency for many sites.

This is similar to a change we made last September, when some Flash content became click-to-play with Chrome 42. This had an immediate, positive impact for our users by improving page load times and saving battery power.

In December, Chrome 55 will make HTML5 the default experience, except for sites which only support Flash. For those, you’ll be prompted to enable Flash when you first visit the site. Aside from that, the only change you’ll notice is a safer and more power-efficient browsing experience.

Flash helped make the Web a rich, dynamic experience, and shaped the modern set of web standards. We continue to work closely with Adobe to ensure that your web experience is as fast and secure as possible and to help the Web transition to HTML5.

Posted by Anthony LaForge, curator of Flash in Chrome.

by Chrome Blog (noreply@blogger.com) at August 09, 2016 12:14 PM

August 08, 2016

Chromium Blog

Chrome 53 Beta: Shadow DOM, PaymentRequest, and Android autoplay

Unless otherwise noted, changes described below apply to the newest Chrome Beta channel release for Android, Chrome OS, Linux, Mac, and Windows.

Shadow DOM V1

HTML, CSS, and JavaScript are powerful development languages, but they can be difficult to maintain in large code bases. Sites that embed third-party content also need to ensure that included styles do not affect other parts of their app. Chrome 53 supports Shadow DOM V1, which allows an element to encapsulate its style and child DOM away from the main document. This improves the maintainability of large or composed sites. Shadow DOM V1 has some significant changes from the V0 version, and is broadly agreed-upon by major browser vendors. Chrome will support both versions of the API until enough developers have moved to V1. The behavior of a shadow root is determined by which API call it was created with.

PaymentRequest API


Completing payments on the web can be a cumbersome process for users, leading to lower conversions on sites. While autofill has made it easier to enter information, efficient data entry on mobile is still a challenge. PaymentRequest allows for fast, seamless, and secure payments on the web using a credit card or Android Pay. It also lets users provide a billing address, shipping details, and payer information without typing. PaymentRequest is available on Chrome for Android, with support for more platforms coming soon.



Chrome for Android autoplays muted video

Video is a great way for sites to reach their users, but it can be jarring when it plays unexpectedly. This is especially true on mobile, where the user may be in an environment where audio is unwanted. Chrome on Android now allows muted videos to begin playing without user interaction. If the video was marked as muted and has the autoplay attribute, Chrome will start playing the video when it becomes visible to the user. Developers can also use script to play muted videos without user interaction. Muted videos that begin playing sound before a user action will automatically be paused.

Other features in this release

Deprecations and interoperability improvements



Posted by Hayato Ito, Shadow DOM Chaffeur

by Chrome Blog (noreply@blogger.com) at August 08, 2016 01:33 PM

August 05, 2016

Google Chrome Releases

Admin Console Update

The Admin console has been updated. Admins now have the option to block users on Chrome devices from ending processes through the Chrome Task Manager.

Known issues are available here. Chrome for Work and Education customers can view detailed release notes in Google for Work Connect. Admins can report an issue by contacting support

Lawrence Lui
Google Chrome

by Lawrence L (noreply@blogger.com) at August 05, 2016 03:28 PM

Dev Channel Update for Chrome OS

The Dev channel has been updated to 54.0.2817.0 (Platform version: 8673.0.0) for all Chrome OS devices except Asus Chromebook Flip, Acer Chromebook R11 and Google Pixel (2015). This build contains a number of bug fixes, security updates and feature enhancements. A list of changes can be found here.

If you find new issues, please let us know by visiting our forum or filing a bug. Interested in switching channels? Find out how. You can submit feedback using ‘Report an issue...’ in the Chrome menu (3 vertical dots in the upper right corner of the browser).

Josafat Garcia
Google Chrome

by Josafat (noreply@blogger.com) at August 05, 2016 01:19 PM

Chrome for Android Update

Chrome for Android has been updated to version 52.0.2743.98; the update will be available in Google Play over the next few days.  This release fixes two crash issues discovered in the previous version.  If you find a new issue, please let us know by filing a bug. More information about Chrome for Android is available on the Chrome site.

Alex Mineer
Google Chrome

by Alex Mineer (noreply@blogger.com) at August 05, 2016 11:51 AM

August 04, 2016

Google Chrome Releases

Beta Channel Update for Chrome OS

The Beta channel 53.0.2785.47(Platform version: 8530.43.0) has been released for Chrome OS devices. This build contains a number of bug fixes, security updates and feature enhancements. A list of changes can be found here.

If you find new issues, please let us know by visiting our forum or filing a bug. Interested in switching channels? Find out how. You can submit feedback using ‘Report an issue...’ in the Help section of the Chrome menu (3 vertical dots in the upper right corner of the browser).

Ketaki Deshpande
Google Chrome

by Ketaki Deshpande (noreply@blogger.com) at August 04, 2016 08:57 PM

Beta Channel Update for Desktop

The dev channel has been updated to 53.0.2785.46 for Windows, Linux, and Mac.

A partial list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Di Mu
Google Chrome

by Di Mu (noreply@blogger.com) at August 04, 2016 01:19 PM

Stable Channel Update for Desktop

The stable channel has been updated to 52.0.2743.116 for Windows, Mac, and Linux. This will roll out over the coming days/weeks.

Security Fixes and Rewards


Note: Access to bug details and links may be kept restricted until a majority of users are updated with a fix. We will also retain restrictions if the bug exists in a third party library that other projects similarly depend on, but haven’t yet fixed.


This update includes 10 security fixes. Below, we highlight fixes that were contributed by external researchers. Please see the Chromium security page for more information.


[$4000][629542] High CVE-2016-5141 Address bar spoofing. Credit to anonymous
[$4000][626948] High CVE-2016-5142 Use-after-free in Blink. Credit to anonymous
[$3000][625541] High CVE-2016-5139 Heap overflow in pdfium. Credit to GiWan Go of Stealien
[$3500][619405] High CVE-2016-5140 Heap overflow in pdfium. Credit to Ke Liu of Tencent's Xuanwu LAB
[$4000][623406] Medium CVE-2016-5145 Same origin bypass for images in Blink. Credit to anonymous
[$1000][619414] Medium CVE-2016-5143 Parameter sanitization failure in DevTools. Credit to Gregory Panakkal
[$1000][618333] Medium CVE-2016-5144 Parameter sanitization failure in DevTools. Credit to Gregory Panakkal


We would also like to thank all security researchers that worked with us during the development cycle to prevent security bugs from ever reaching the stable channel.


As usual, our ongoing internal security work was responsible for a wide range of fixes:
  • [633486] CVE-2016-5146: Various fixes from internal audits, fuzzing and other initiatives.

Many of our security bugs are detected using AddressSanitizer, MemorySanitizer, Control Flow Integrity or LibFuzzer.


A list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Krishna Govind
Google Chrome

by Krishna Govind (noreply@blogger.com) at August 04, 2016 11:16 AM