Planet Chromium

October 23, 2014

Google Chrome Releases

Beta Channel Update for Chrome OS

The Beta channel has been updated to 39.0.2171.38 (Platform version: 6310.23.0) for all Chrome OS devices except Asus Chromebox, Dell Chromebox and Samsung Chromebox. This build contains a number of bug fixes, security updates and feature enhancements. Here is a list of Chromium changes.
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 horizontal bars in the upper right corner of the browser).

Josafat Garcia
Google Chrome

by Josafat (noreply@blogger.com) at October 23, 2014 08:13 PM

Stable Channel Update for Chrome OS

The Stable channel has been updated to 38.0.2125.110 (Platform version: 6158.70.0) for all Chrome OS devices except Asus, Dell, and Samsung Chromeboxes. This build contains number of bug fixes and security updates. Systems will be receiving updates over the next several days. Here is a list of Chromium changes.

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 horizontal bars in the upper right corner of the browser).

Dharani Govindan
Google Chrome

by Dharani (noreply@blogger.com) at October 23, 2014 07:27 AM

October 22, 2014

Google Chrome Releases

Chrome Beta for Android Update

Chrome Beta for Android has been updated to 39.0.2171.37 and will be available in Google Play over the next few hours. This release fixes various stability and performance bugs.  A partial list of changes in this build is available in the Git log. 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 October 22, 2014 05:16 PM

Dev Channel Update for Chrome OS

The Dev channel has been updated to 40.0.2194.3 (Platform version: 6388.0.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 horizontal bars in the upper right corner of the browser).

Daniel Xie
Google Chrome

by Daniel xie (noreply@blogger.com) at October 22, 2014 01:05 PM

Beta Channel Update

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

A full 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.

Alex Mineer
Google Chrome

by Alex Mineer (noreply@blogger.com) at October 22, 2014 12:02 PM

October 21, 2014

Google Chrome Releases

Dev Channel Update

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

A full 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.

Karen Grünberg
Google Chrome

by Karen (noreply@blogger.com) at October 21, 2014 11:40 AM

October 17, 2014

Igalia Chromium

Enrique Ocaña: Hacking on Chromium for Android from Eclipse (part 3)

In the previous posts we learnt how to code and debug Chromium for Android C++ code from Eclipse. In this post I’m going to explain how to open the ChromeShell Java code, so that you will be able to hack on it like you would in a normal Android app project. Remember, you will need to install the ADT plugin in Eclipse  and the full featured adb which comes with the standalone SDK from the official pageDon’t try to reuse the android sdk in “third_party/android_tools/sdk”.

Creating the Java project in Eclipse

Follow these instructions to create the Java project for ChromeShell (for instance):

  • File, New, Project…, Android, Android project from existing code
  • Choose “src/chrome/android/shell/java” as project root, because there’s where the AndroidManifest.xml is. Don’t copy anything to the workspace.
  • The project will have a lot of unmet package dependencies. You have to manually import some jars:
    • Right click on the project, Properties, Java build path, Libraries, Add external Jars…
    • Then browse to “src/out/Debug/lib.java” (assuming a debug build) and import these jars (use CTRL+click for multiple selection in the file chooser):
      • base_java.jar, chrome_java.jar, content_java.jar, dom_distiller_core_java.jar, guava_javalib.jar,
      • jsr_305_javalib.jar, net_java.jar, printing_java.jar, sync_java.jar, ui_java.jar, web_contents_delegate_android.jar
    • If you keep having problems, go to “lib.java”, run this script and find in which jar is the class you’re missing:
for i in *.jar; do echo "--- $i ---------------------"; unzip -l $i; done | most
  • The generated resources directory “gen” produced by Eclipse is going to lack a lot of stuff.
    • It’s better to make it point to the “right” gen directory used by the native build scripts.
    • Delete the “gen” directory in “src/chrome/android/shell/java” and make a symbolic link:
ln -s ../../../../out/Debug/chrome_shell_apk/gen .
    • If you ever “clean project” by mistake, delete the chrome_shell_apk/gen directory and regenerate it using the standard ninja build command
  • The same for the “res” directory. From “src/chrome/android/shell/java”, do this (and ignore the errors):
cp -sr $PWD/../res ./
cp -sr $PWD/../../java/res ./
  • I haven’t been able to solve the problem of integrating all the string definitions. A lot of string related errors will appear in files under “res”. By the moment, just ignore those errors.
  • Remember to use a fresh standalone sdk. Install support for Android 4.4.2. Also, you will probably need to modify the project properties to match the same 4.4.2 version you have support for.

And that’s all. Now you can use all the Java code indexing features of Eclipse. By the moment, you still need to build and install to the device using the command line recipe, though:

 ninja -C out/Debug chrome_shell_apk
 build/android/adb_install_apk.py --apk ChromeShell.apk --debug

Debugging Java code

To debug the Java side of the app running in the device, follow the same approach that you would if you had a normal Java Android app:

  • Launch the ChromeShell app manually from the device.
  • In Eclipse, use the DDMS perspective to locate the org.chromium.chrome.shell process. Select it in the Devices panel and connect the debugger using the “light green bug” icon (not to be mistaken with the normal debug icon available from the other perspectives).
  • Change to the Debug perspective and set breakpoints as usual.

Enjoy!

chromium_android_eclipse_java

by eocanha at October 17, 2014 06:00 AM

October 16, 2014

Google Chrome Releases

Stable Channel Update for Chrome OS

The Stable channel has been updated to 38.0.2125.108 (Platform version: 6158.64.0) for all Chrome OS devices except Asus and Samsung Chromeboxes. This build contains an update to Adobe flash along with number of bug fixes and security updates. Systems will be receiving updates over the next several days. Here is a list of Chromium changes.

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 horizontal bars in the upper right corner of the browser).

Dharani Govindan
Google Chrome

by Dharani (noreply@blogger.com) at October 16, 2014 08:41 PM

Beta Channel Update for Chrome OS

The Beta channel has been updated to 39.0.2171.25 (Platform version: 6310.14.0) for all Chrome OS devices except Lenovo Chromebook N20 and 11e, Acer Chromebook 11,  Asus Chromebook C200 and  C300, Toshiba Chromebook 2 and Google Pixel. This build contains a number of bug fixes, security updates and feature enhancements. Systems will be receiving updates over the next several days. Here is a list of Chromium changes.

Some highlights of these changes are:
  • Enable Chromecast support for media files stored on Google Drive
  • Update Network Error page design
  • Display apps installed in Google Drive in the Chrome OS Launcher

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 horizontal bars in the upper right corner of the browser).

Ben Henry
Google Chrome

by Josafat (noreply@blogger.com) at October 16, 2014 08:25 PM

Dev Channel Update for Chrome OS

The Dev channel has been updated to 40.0.2188.1 (Platform version: 6366.0.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 horizontal bars in the upper right corner of the browser).

Daniel Xie
Google Chrome

by Daniel xie (noreply@blogger.com) at October 16, 2014 05:08 PM

October 15, 2014

Google Chrome Blog

Translate web pages more easily with the new Google Translate Chrome Extension

[Cross-posted on the Google Translate blog]

When you're browsing the web, you might come across a page where some of the text is in a different language. With the new update to the Google Translate Chrome extension, you can translate just that piece of text, without worrying about the rest of the page.

Simply highlight the text that you want to translate, and then click the Translate icon that appears. You can also right click and choose "Google Translate". If you click the icon in the upper right of your browser window, with no text highlighted, you can translate the entire web page.
You can download and try the Translate extension from the Chrome Web Store; if you already have the extension installed, it will be updated automatically.

The Translate team is working hard to connect people by breaking language barriers across computers, mobile devices and Internet browsers. Our users make more than 1 billion translations a day, and we hope that our recent update will make their translation tasks a little easier!

Posted by Chao Tian, Software Engineer

by Google Chrome Blog (noreply@blogger.com) at October 15, 2014 04:34 PM

Google Chrome Releases

Beta Channel Update

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

A full 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.

Alex Mineer
Google Chrome

by Alex Mineer (noreply@blogger.com) at October 15, 2014 10:26 AM

Chromium Blog

Noto on ChromeOS: No More “Tofu”

Every so often when reading a page written in a different language—especially Chinese, Korean, or Japanese (CJK) pages—you might see little boxes where letters should be, something that we call “tofu”. What's happened is that some of the characters are not supported by your computer. In July Google released Noto Sans CJK, the newest font in a family designed to cover 200+ languages in a harmonious way. As of Chrome OS 38, Noto is now the default sans serif and UI font for CJK languages.


Noto supports major living languages such as English, Russian, Greek, Arabic, and Hebrew, as well as widely supported languages such as Cherokee and Sinhala, and even ancient languages like Egyptian hieroglyphics and Imperial Aramaic. The ultimate goal is for Noto to support every character for every language in the world—which will make tofu a thing of the past.

Noto has many advanced features:
  • Pan-CJK: Simplified and Traditional Chinese, Japanese, and Korean, all in a single font.
  • Seven weights: Thin, Light, DemiLight, Regular, Medium, Bold, Black. ChromeOS has default support for Regular and Bold, with more coming soon.
  • Free and open source: Freely available for everyone under the Apache License, v2.0.
  • Comprehensive character coverage: Covers all the CJK Ideographs in the Unicode Basic Multilingual Plane and a few hundred Ideographs in Unicode Plane 2. Also covered are over twelve thousand Korean Hangul characters with full support for Old Hangul. The total number of glyphs in each font instance is exactly 65,536, the maximum number of glyphs allowed by the OpenType font specification. 
  • Region-appropriate glyph forms: CJK-shared ideographic characters follow region writing conventions to look appropriate to Chinese, Japanese, and Korean users. 
  • Harmony: Noto Sans CJK and all other members of the Noto family are visually compatible with Noto Sans for English, so that text mixing English with another language looks harmonious.


In ChromeOS, Noto is now the default “sans serif” font. Developers that want to use Noto on platforms other than ChromeOS can load them as web fonts from Google Fonts: Early Access.

Although Noto's Latin, Greek, and Cryllic (LGC) characters are designed to harmonize with the CJK characters, developers might still want to use more familiar fonts for the LGC text. To support that, Noto is available in different subsets including Japanese, Korean, Simplified Chinese, Traditional Chinese, and all of CJK. Developers can then use CSS's font fallback mechanism to specify a LGC font ahead of a Noto Sans subset.

For example, if you're targeting devices that don't have Noto installed, want to use Arial for LGC characters, and want to use Noto for Japanese characters, you can include the following in your stylesheet:
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css); 
 body {
font-family: Arial, 'Noto Sans Japanese', sans-serif;
}
Shipping Noto by default on ChromeOS is one step towards making “tofu” a thing of the past. You can learn more at the Noto homepage.

Jungshik Shin, Font Harmony Master

by Google Chrome Blog (noreply@blogger.com) at October 15, 2014 08:50 AM

October 14, 2014

Google Chrome Releases

Chrome Beta for Android Update

The Chrome Team is excited to announce the beta release of Chrome 39 for Android. Chrome 39.0.2171.25 will be available in Google Play over the next few hours. This release contains lots of bug fixes and performance improvements. A partial list of changes in this build are available in the Git log. 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.

Jason Kersey
Google Chrome

by Jason Kersey (noreply@blogger.com) at October 14, 2014 05:30 PM

Dev Channel Update

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

A full 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.

Karen Grünberg
Google Chrome

by Karen (noreply@blogger.com) at October 14, 2014 03:46 PM

Stable Channel Update

The stable channel has been updated to 38.0.2125.104 for Windows, Mac and Linux.

This release contains an update for Adobe Flash as well as a number of other fixes. A full 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.


Matthew Yuan
Google Chrome

by matthewyuan@chromium.org (noreply@blogger.com) at October 14, 2014 01:52 PM

Dev Channel Update for Chrome OS

The Dev channel has been updated to 39.0.2171.25 (Platform version: 6310.14.0) for all Chrome OS devices except Lenovo N20 and ThinkPad 11e Chromebooks, the Acer Chromebook 11, Asus Chromebooks C300 and C200, the HP Chromebook 14 WP2, the Toshiba Chromebook 2 and the Samsung Chromebook 2 11 - XE500C12 . 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 horizontal bars in the upper right corner of the browser).

Ben Henry
Google Chrome

by Ben Henry (noreply@blogger.com) at October 14, 2014 10:46 AM

Igalia Chromium

Enrique Ocaña: Hacking on Chromium for Android from Eclipse (part 2)

In the previous post, I showed all the references to get the Chromium for Android source code, setup Eclipse and build the ChromeShell app. Today I’m going to explain how to debug that app running in the device.

Debugging from command line

This is the first step that we must ensure to have working before trying to debug directly from Eclipse. The steps are explained in the debugging-on-android howto, but I’m showing them here for reference.

Perform the “build Chrome shell” steps but using debug parameters:

 ninja -C out/Debug chrome_shell_apk
 build/android/adb_install_apk.py --apk ChromeShell.apk --debug

To avoid the need of having a rooted Android device, setup ChromeShell as the app to be debugged going to Android Settings, Debugging in your device. Now, to launch a gdb debugging session from a console:

 cd ~/ANDROID/src
 . build/android/envsetup.sh
 ./build/android/adb_gdb_chrome_shell --start

You will see that the adb_gdb script called by adb_gdb_chrome_shell pulls some libraries from your device to /tmp. If everything goes fine, gdb shouldn’t have any problem finding all the symbols of the source code. If not, please check your setup again before trying to debug in Eclipse.

Debugging from Eclipse

Ok, this is going to be hacky. Hold on your hat!

Eclipse can’t use adb_gdb_chrome_shell and adb_gdb “as is”, because they don’t allow gdb command line parameters. We must create some wrappers in $HOME/ANDROID, our working dir. This means “/home/enrique/ANDROID/” for me. The wrappers are:

Wrapper 1: adb_gdb

This is a copy of  ~/ANDROID/src/build/android/adb_gdb with some modifications. It calculates the same as the original, but doesn’t launch gdb. Instead, it creates two symbolic links in ~/ANDROID:

  • gdb is a link to the arm-linux-androideabi-gdb command used internally.
  • gdb.init is a link to the temporary gdb config file created internally.

These two files will make the life simpler for Eclipse. After that, the script prints the actual gdb command that it would have executed (but has not), and reads a line waiting for ENTER. After the user presses ENTER, it just kills everything. Here are the modifications that you have to do to the original adb_gdb you’ve copied. Note that my $HOME (~) is “/home/enrique”:

 # In the begining:
 CHROMIUM_SRC=/home/enrique/ANDROID/src
 ...
 # At the end:
 log "Launching gdb client: $GDB $GDB_ARGS -x $COMMANDS"

 rm /home/enrique/ANDROID/gdb
 ln -s "$GDB" /home/enrique/ANDROID/gdb
 rm /home/enrique/ANDROID/gdb.init
 ln -s "$COMMANDS" /home/enrique/ANDROID/gdb.init
 echo
 echo "---------------------------"
 echo "$GDB $GDB_ARGS -x $COMMANDS"
 read

 exit 0
 $GDB $GDB_ARGS -x $COMMANDS &&
 rm -f "$GDBSERVER_PIDFILE"

Wrapper 2: adb_gdb_chrome_shell

It’s a copy of ~/ANDROID/src/build/android/adb_gdb_chrome_shell with a simple modification in PROGDIR:

 PROGDIR=/home/enrique/ANDROID

Wrapper 3: gdbwrapper.sh

Loads envsetup, returns the gdb version for Eclipse if asked, and invokes adb_gdb_chrome_shell. This is the script to be run in the console before starting the debug session in Eclipse. It will invoke the other scripts and wait for ENTER.

 #!/bin/bash
 cd /home/enrique/ANDROID/src
 . build/android/envsetup.sh
 if [ "X$1" = "X--version" ]
 then
  exec /home/enrique/ANDROID/src/third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gdb --version
  exit 0
 fi
 exec ../adb_gdb_chrome_shell --start --debug
 #exec ./build/android/adb_gdb_chrome_shell --start --debug

Setting up Eclipse to connect to the wrapper

Now, the Eclipse part. From the “Run, Debug configurations” screen, create a new “C/C++ Application” configuration with these features:

  • Name: ChromiumAndroid 1 (name it as you wish)
  • Main:
    • C/C++ Application: /home/enrique/ANDROID/src/out/Debug/chrome_shell_apk/libs/armeabi-v7a/libchromeshell.so
    • IMPORTANT: From time to time, libchromeshell.so gets corrupted and is truncated to zero size. You must regenerate it by doing:

rm -rf /home/enrique/ANDROID/src/out/Debug/chrome_shell_apk
ninja -C out/Debug chrome_shell_apk

    • Project: ChromiumAndroid (the name of your project)
    • Build config: Use active
    • Uncheck “Select config using C/C++ Application”
    • Disable auto build
    • Connect process IO to a terminal
  • IMPORTANT: Change “Using GDB (DSF) Create Process Launcher” and use “Legacy Create Process Launcher” instead. This will enable “gdb/mi” and allow us to set the timeouts to connect to gdb.
  • Arguments: No changes
  • Environment: No changes
  • Debugger:
    • Debugger: gdb/mi
    • Uncheck “Stop on startup at”
    • Main:
      • GDB debugger: /home/enrique/ANDROID/gdb (IMPORTANT!)
      • GDB command file: /home/enrique/ANDROID/gdb.init (IMPORANT!)
      • GDB command set: Standard (Linux)
      • Protocol: mi2
      • Uncheck: “Verbose console”
      • Check: “Use full file path to set breakpoints”
    • Shared libs:
      • Check: Load shared lib symbols automatically
  • Source: Use the default values without modification (absolute file path, program relative file path, ChromiumAndroid (your project name)).
  • Refresh: Uncheck “Refresh resources upon completion”
  • Common: No changes.

When you have everything: apply (to save), close and reopen.

Running a debug session

Now, run gdbwrapper.sh in an independent console. When it pauses and starts waiting for ENTER, change to Eclipse, press the Debug button and wait for Eclipse to attach to the debugger. The execution will briefly pause in an ioctl() call and then continue.

To test that the debugging session is really working, set a breakpoint in content/browser/renderer_host/render_message_filter.cc, at content::RenderMessageFilter::OnMessageReceived and continue the execution. It should break there. Now, from the Debug perspective, you should be able to see the stacktrace and access to the local variables.

Welcome to the wonderful world of Android native code debugging from Eclipse! It’s a bit slow, though.

This completes the C++ side of this series of posts. In the next post, I will explain how to open the Java code of ChromeShellActivity, so that you will be able to hack on it like you would in a normal Android app project.

chromium_android_eclipse

by eocanha at October 14, 2014 06:00 AM

October 11, 2014

Igalia Chromium

Enrique Ocaña: Hacking on Chromium for Android from Eclipse (part 1)

In the Chromium Developers website has some excellent resources on how to setup an environment to build Chromium for Linux desktop and for Android. There’s also a detailed guide on how to setup Eclipse as your development environment, enabling you to take advantage of code indexing and enjoy features such as type hierarchy, call hierarchy, macro expansion, references and a lot of tools much better than the poor man’s trick of grepping the code.

Unfortunately, there are some integration aspects not covered by those guides, so joining all the dots is not a smooth task. In this series of posts, I’m going to explain the missing parts to setup a working environment to code and debug Chromium for Android from Eclipse, both C++ and Java code. All the steps and commands from this series of posts have been tested in an Ubuntu Saucy chroot. See my previous post on how to setup a chroot if you want to know how to do this.

Get the source code

See the get-the-code guide. Don’t try to reconvert a normal Desktop build into an Android build. It just doesn’t work. The detailed steps to get the code from scratch and prepare the dependencies are the following:

 cd ANDROID # Or the directory you want
 fetch --nohooks android --nosvn=True
 cd src
 git checkout master
 build/install-build-deps.sh
 build/install-build-deps-android.sh
 gclient sync --nohooks

Configure and generate the project (see AndroidBuildInstructions), from src:

 # Make sure that ANDROID/.gclient has this line:
 # target_os = [u'android']
 # And ANDROID/chromium.gyp_env has this line:
 # { 'GYP_DEFINES': 'OS=android', }
 gclient runhooks

Build Chrome shell, from src:

 # This builds
 ninja -C out/Release chrome_shell_apk
 # This installs in the device
 # Remember the usual stuff to use a new device with adb:
 # http://developer.android.com/tools/device.html 
 # http://developer.android.com/tools/help/adb.html#Enabling
 # Ensure that you can adb shell into the device
 build/android/adb_install_apk.py --apk ChromeShell.apk --release

If you ever need to update the source code, follow this recipe and use Release or Debug at your convenience:

 git pull origin master
 gclient sync
 # ninja -C out/Release chrome_shell_apk
 ninja -C out/Debug chrome_shell_apk
 # build/android/adb_install_apk.py --apk ChromeShell.apk --release
 build/android/adb_install_apk.py --apk ChromeShell.apk --debug

As a curiosity, it’s worth to mention that adb is installed on third_party/android_tools/sdk/platform-tools/adb.

Configure Eclipse

To configure Eclipse, follow the instructions in LinuxEclipseDev. They work nice with Eclipse Kepler.

In order to open and debug the Java code properly, it’s also interesting to install the ADT plugin in Eclipse too. Don’t try to reuse the Android SDK in “third_party/android_tools/sdk”. It seems to lack some things. Download a fresh standalone SDK from the official page instead and tell the ADT plugin to use it.

In the next post, I will explain how to debug C++ code running in the device, both from the command line and from Eclipse.

chromium_android_eclipse_cpp

by eocanha at October 11, 2014 12:46 AM

October 09, 2014

Google Chrome Releases

Dev Channel Update for Chrome OS

The Dev channel has been updated to 39.0.2171.14 (Platform version: 6310.9.0) for all Chrome OS devices except Lenovo N20 and ThinkPad 11e Chromebooks, the Acer Chromebook 11, Asus Chromebooks C300 and C200, the HP Chromebook 14 WP2, the Toshiba Chromebook 2 and the Samsung Chromebook 2 11 - XE500C12 . 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 horizontal bars in the upper right corner of the browser).

Ben Henry
Google Chrome

by Ben Henry (noreply@blogger.com) at October 09, 2014 07:42 PM

Beta Channel Update

The Chrome team is excited to announce the promotion of Chrome 39 to the beta channel with 39.0.2171.19 for Linux.

A full 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.

Alex Mineer
Google Chrome

by Alex Mineer (noreply@blogger.com) at October 09, 2014 03:16 PM

Dev Channel Update

Note: We've now updated Mac only to 40.0.2182.4 which has a fix for bug 421919

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

A full 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.

Karen Grünberg
Google Chrome

by Karen (noreply@blogger.com) at October 09, 2014 02:56 PM

Beta Channel Update

The Chrome team is excited to announce the promotion of Chrome 39 to the beta channel with 39.0.2171.13 for Windows and Mac.

This release contains many stability and developer improvements including: 
  • 64-bit support for Mac
  • A number of new apps/extension APIs 
  • Lots of under the hood changes for stability and performance 
A full 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.

Alex Mineer
Google Chrome

by Alex Mineer (noreply@blogger.com) at October 09, 2014 12:10 PM

Chromium Blog

Chrome 39 Beta: JS Generators, Animation Playback Control, and the WebApp Manifest

Today’s Chrome Beta channel release includes new tools to make web application development simpler and more powerful. Unless otherwise noted, changes described below apply to Chrome for Android, Windows, Mac, Linux, and Chrome OS.

JavaScript Generators

Writing asynchronous code in JavaScript can be less than straightforward. It often involves several nested functions and non-linear program execution, making it hard to develop, maintain and debug. This is such a common pain point for developers that they've given it a name: callback soup.

Starting today, Chrome Beta supports ES6 Generators. They allow developers to create iterators that pause their execution after yielding a value, and resume again when later invoked. This greatly simplifies the process of developing asynchronous code and reduces dependence on callback functions.

For additional information about Generators, read more about them or see them in action.

Web Animation Playback Control

Web Animations is a powerful new API that unifies all of the animation APIs on the web. We shipped basic support in May with Chrome 36. In this release we've added playback control, with methods such as play(), pause(),  and reverse(), and the ability to jump to a specific point in an animation's timeline. With our initial support, developers could create animations but not precisely control their playback. This next iteration enables animations that can react in real time to user input - as well as a variety of other creative uses.

Web Application Manifest

Previously when developers wanted to allow their web applications to be added to the home screen from Chrome for Android, they had to use a variety of <meta> and <link> tags to trigger this behavior and deliver relevant resources such as icons. Having this embedded in every page was not only repetitive, but was a waste of bandwidth and put extra bits on the critical path.

Starting in Chrome 39, Manifests provide a way to wrap metadata about a web application into a single file, reducing duplication. Developers seeking to enable "add to homescreen" can define a title, landing page, default orientation, and different icons depending on size and screen density. You can see how it works today, but stay tuned for more properties to be added in later releases.

Other updates in this release
  • The Beacon API enables developers to queue asynchronous network requests that will be sent, regardless of whether the user navigates to a new page
  • Scroll offsets (scrollTop, scrollLeft) now return high-precision fractional values in preparation for high-DPI support
  • XMLHttpRequest progress event properties position and totalSize are now deprecated in favor of the loaded and total properties
As always, visit chromestatus.com/features for a complete overview of Chrome’s developer features, and circle +Google Chrome Developers for more frequent updates.

Posted by Mounir Lamouri, the Manifestation of a Software Engineer

by Google Chrome Blog (noreply@blogger.com) at October 09, 2014 11:00 AM

Google Chrome Releases

Stable Channel Update for Chrome OS

The Stable channel has been updated to 38.0.2125.101 (Platform version: 6158.49.0, 6158.56.0) for all Chrome OS devices except Chromeboxes. This build contains a number of bug fixes, security updates and feature enhancements. Systems will be receiving updates over the next several days. Here is a list of Chromium changes.

Some highlights of these changes are:
  • MTP support in the Files app - you can now plug in your Android phone and get files from it
  • We’ve added a set of features to enhance touch screen accessibility

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.

Below, we highlight fixes that were either contributed by external researchers or particularly interesting. Please see the Chromium security page page for more information.
  • [$27633.70][416449] Critical CVE-2014-3188: A special thanks to Jüri Aedla for a combination of V8 and IPC bugs that can lead to remote code execution outside of the sandbox.
  • [417329] Low CVE-2014-[6271, 7169, 7186, 7187]: Code execution via bash environment variables.

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 horizontal bars in the upper right corner of the browser).

Dharani Govindan
Google Chrome

by Dharani (noreply@blogger.com) at October 09, 2014 10:37 AM

Google Chrome Blog

A simpler, faster way to use Hangouts on your desktop

When you’re chatting with your friends and family, you want your conversations easily accessible, not buried in browser windows. Today, we’re introducing the Hangouts Chrome App for Chrome OS and Windows -- a simpler, faster way to use Hangouts on your computer alongside whatever else you’re doing.

The new app brings the best of Hangouts to your desktop, plus some improvements we think you’ll love:
Keep the conversation going, without taking over your desktop. The app has a streamlined design that keeps your chats accessible without getting in the way of everything else. Your contact list and all your chats are condensed into one easy to toggle window. Also, you’ll get integrated notifications that alert you to new messages, so you can quickly find the conversation you’re looking for.

More app, less Chrome. It works outside of your browser so your chats are always available, not tucked away inside a window. You’ll get all your messages as long as you have the app running, and your chats will sync across Hangouts on all your devices.

Voice calling from your desktop. The app now has all the video and voice features you’re used to in Hangouts. We recently announced you can make phone calls to any number in the world (via Hangouts dialer) and now you can do this right from your desktop.  If you use Google Voice, the app includes complete Google Voice support, so you can make and receive calls, and get your voicemails and SMS messages directly in Hangouts.

Download the Hangouts Chrome App today and get started with a new experience tailor-made for your desktop.  If you’re already using the Hangouts Chrome extension on your ChromeOS or Windows computer, you’ll also see a promo to try the new app over the next few weeks. To learn more, visit the Hangouts Help Center.

Posted by David Levin, Software Engineer, and the very model of a modern Hangout Handler

by Google Chrome Blog (noreply@blogger.com) at October 09, 2014 09:00 AM

October 08, 2014

Google Chrome Releases

Chrome for Android Update

The Chrome Team is excited to announce the release of Chrome 38 for Android. Chrome 38.0.2125.102 will be available in Google Play over the next few days. This release contains a number of new features including:
  • Support for Battery Status and Screen orientation APIs
  • Additional Material Design updates
  • Lots of bug fixes and performance improvements!
This release also contains the following security fix:
  • [$1500][406593] Medium CVE-2014-3201: Content spoofing with scrollbar. Credit to Keita Haga.
A partial list of changes in this build are available in the Git log. 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.

Jason Kersey
Google Chrome

by Jason Kersey (noreply@blogger.com) at October 08, 2014 12:52 PM

Google Chrome Blog

Turn your TV screen into a beautiful backdrop

You’ve told us you love the photography that shows up on your TV when you’re taking a break from casting videos with Chromecast. But many of you have also told us you want to add your own photos on the screen. Now, you can.

With a new backdrop option, you can customize your TV screen with:
  • Your favorite photo albums from Google+
  • Amazing artwork from galleries and museums around the world via the Google Cultural Institute
  • News and lifestyle images from The New York Times, The Guardian, Saveur and more (U.S. only)
  • Satellite imagery of some of the hardest-to-reach places on Earth from Google Maps
  • and even more beautiful photos from the Google+ community
To customize your Chromecast, open the Chromecast app on your phone or tablet and select “Backdrop” from the left menu. Then, choose the topics for types of imagery you want to show up on the TV.


If a picture sparks your curiosity, you can learn more about it by opening the Chromecast app, selecting “Backdrop” from the left menu and tapping on the card to find out more. Or, simply open the Google app on your Android or iOS device, tap on the microphone icon and ask “What’s on my Chromecast?”

This update is rolling out starting today. Just make sure your Chromecast app is up to date on your Android phone or tablet, iPhone, or iPad. To learn more on how to set it up, visit chromecast.com/backdrop.
Posted by Raunaq Shah, Chromecast Product Manager and Master Caster

by Google Chrome Blog (noreply@blogger.com) at October 08, 2014 10:00 AM

Google Chrome Releases

Stable Channel Update

The Chrome team is delighted to announce the promotion of Chrome 38 to the stable channel for Windows, Mac and Linux. Chrome 38.0.2125.101 contains a number of fixes and improvements, including:

- A number of new apps/extension APIs
- Lots of under the hood changes for stability and performance

A full list of changes is available in the log.

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 159 security fixes, including 113 relatively minor fixes found using MemorySanitizer. Below, we highlight fixes that were either contributed by external researchers or particularly interesting. Please see the Chromium security page for more information.

[$27633.70][416449] Critical CVE-2014-3188: A special thanks to Jüri Aedla for a combination of V8 and IPC bugs that can lead to remote code execution outside of the sandbox.
[$3000][398384] High CVE-2014-3189: Out-of-bounds read in PDFium. Credit to cloudfuzzer.
[$3000][400476] High CVE-2014-3190: Use-after-free in Events. Credit to cloudfuzzer, Chen Zhang (demi6od) of NSFOCUS Security Team.
[$3000][402407] High CVE-2014-3191: Use-after-free in Rendering. Credit to cloudfuzzer.
[$2000][403276] High CVE-2014-3192: Use-after-free in DOM. Credit to cloudfuzzer.
[$1500][399655] High CVE-2014-3193: Type confusion in Session Management. Credit to miaubiz.
[$1500][401115] High CVE-2014-3194: Use-after-free in Web Workers. Credit to Collin Payne.
[$4500][403409] Medium CVE-2014-3195: Information Leak in V8. Credit to Jüri Aedla.
[$3000][338538] Medium CVE-2014-3196: Permissions bypass in Windows Sandbox. Credit to James Forshaw.
[$1500][396544] Medium CVE-2014-3197: Information Leak in XSS Auditor. Credit to Takeshi Terada.
[$1500][415307] Medium CVE-2014-3198: Out-of-bounds read in PDFium. Credit to Atte Kettunen of OUSPG.
[$500][395411] Low CVE-2014-3199: Release Assert in V8 bindings. Credit to Collin Payne.

We would also like to thank Atte Kettunen of OUSPG and Collin Payne for working with us during the development cycle to prevent security bugs from ever reaching the stable channel. $23,000 in additional rewards were issued.

As usual, our ongoing internal security work responsible for a wide range of fixes:
[420899] CVE-2014-3200: Various fixes from internal audits, fuzzing and other initiatives (Chrome 38).
Multiple vulnerabilities in V8 fixed at the tip of the 3.28 branch (currently 3.28.71.15).

    Some of the above bugs were also detected using AddressSanitizer.

    Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug.


    Matthew Yuan
    Google Chrome

    by matthewyuan@chromium.org (noreply@blogger.com) at October 08, 2014 08:35 AM

    October 07, 2014

    Google Chrome Releases

    Dev Channel Update

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

    A full 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.

    Alex Mineer
    Google Chrome

    by Alex Mineer (noreply@blogger.com) at October 07, 2014 03:18 PM

    Chrome for iOS Update

    The Chrome team is excited to announce Chrome 38 for iPhone and iPad. Chrome 38.0.2125.59 contains a number of improvements including:
    • Better support for iPhone 6 and 6+.
    • Download and open files in Google Drive.
    • Stability improvements and bug fixes.
    This release also contains one notable security fix:
    • [413831] Low CVE-2014-3187: Issue with facetime and facetime-audio URL schemes. Credit to Matias Brutti.
    The update will be rolling out in the App Store over the next few hours. Known issues are available on the Chrome support site. If you find a new issue, please let us know by filing a bug.

    Jason Kersey
    Google Chrome

    by Jason Kersey (noreply@blogger.com) at October 07, 2014 12:43 PM

    Dev Channel Update for Chrome OS

    The Dev channel has been updated to 39.0.2171.11 (Platform version: 6310.7.0) for all Chrome OS devices except Lenovo N20 and ThinkPad 11e Chromebooks, the Acer Chromebook 11, Asus Chromebooks C300 and C200, the HP Chromebook 14 WP2, the Toshiba Chromebook 2 and the Samsung Chromebook 2 11 - XE500C12 . 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 horizontal bars in the upper right corner of the browser).

    Ben Henry
    Google Chrome

    by Ben Henry (noreply@blogger.com) at October 07, 2014 11:47 AM

    October 06, 2014

    Google Chrome Releases

    Chrome Beta for Android Update

    Chrome Beta for Android has been updated to 38.0.2125.101 and will be available in Google Play over the next few hours. This release fixes various stability and performance bugs. A partial list of changes in this build is available in the Git revision log. 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.

    Jason Kersey
    Google Chrome

    by Jason Kersey (noreply@blogger.com) at October 06, 2014 04:36 PM