Chromium Blog
News and developments from the open source browser project
Chrome 39 Beta: JS Generators, Animation Playback Control, and the WebApp Manifest
Thursday, October 9, 2014
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
Labels
$200K
1
10th birthday
4
abusive ads
1
accessibility
1
ad blockers
1
ad blocking
2
advanced capabilities
1
android
1
anti abuse
1
anti-deception
1
background periodic sync
1
badging
1
benchmarks
1
beta
20
billing
1
birthday
4
blink
2
browser
2
browser interoperability
1
bundles
1
capabilities
6
capable web
1
cds
1
cds18
2
cds2018
1
chrome
24
chrome ads
1
chrome apps
3
chrome dev summit
1
chrome dev summit 2018
1
chrome dev summit 2019
1
chrome developer
1
Chrome Developer Center
1
chrome developer summit
1
chrome devtools
1
Chrome extension
1
Chrome Frame
1
Chrome lite
1
Chrome on Android
1
chrome privacy
2
chrome security
3
chrome web store
29
chromedevtools
1
chromeframe
3
chromeos
3
chromium
4
cloud print
1
coalition
1
coalition for better ads
1
contact picker
1
content indexing
1
cookies
1
csrf
1
css
1
dart
8
dashboard
1
Data Saver
3
Data saver desktop extension
1
day 2
1
deceptive installation
1
declarative net request api
1
design
1
Developer Program Policy
1
devtools
13
discoverability
1
DNS-over-HTTPS
2
DoH
2
emscriptem
1
enterprise
1
extensions
27
faster web
1
features
1
feedback
2
field data
1
frameworks
1
fugu
2
fund
1
funding
1
gdd
1
google earth
1
google io 2019
1
google web developer
1
googlechrome
12
harmful ads
1
html5
11
iframes
1
images
1
incognito
1
intent to explain
1
ios
1
javascript
5
lab data
1
lazy-loading
1
lighthouse
2
linux
2
Lite Mode
2
Lite pages
1
loading interventions
1
loading optimizations
1
mac
1
manifest v3
1
mobile
2
na
1
native client
8
native file system
1
New Features
5
octane
1
open web
3
origin trials
2
pagespeed insights
1
pagespeedinsights
1
payments
1
performance
3
performance tools
1
play store
1
portals
3
privacy
1
progressive web apps
2
Project Strobe
1
protection
1
pwa
1
releases
3
removals
1
rlz
1
safe browsing
1
security
33
site isolation
1
slow loading
1
sms receiver
1
spdy
2
spectre
1
speed
1
ssl
2
store listing
1
strobe
1
subscription pages
1
suspicious site reporter extension
1
tools
1
transparency
1
trusted web activities
1
twa
2
user data policy
1
v8
6
wasm
1
web
1
web apps
1
web assembly
1
web intents
1
web packaging
1
web request api
1
web.dev
1
webapi
1
webassembly
1
webaudio
3
webgl
7
webkit
5
webmaster
1
webp
5
webrtc
5
websockets
5
webtiming
1
writable-files
1
yerba beuna center for the arts
1
Archive
2019
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2018
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2017
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2016
Dec
Nov
Oct
Sep
Aug
Jun
May
Apr
Mar
Feb
Jan
2015
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2014
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2013
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2012
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2011
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2010
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Dec
Nov
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Dec
Nov
Oct
Sep
Feed
Follow @ChromiumDev
Give us feedback in our
Product Forums
.