Chromium Blog
News and developments from the open source browser project
Ready to cast: Chromecast now open to developers with the Google Cast SDK
Monday, February 3, 2014
[Cross posted from the
Google Developers Blog
]
By John Affaki, Engineering Manager
Updated Feb. 14 to say that the Google Cast SDK for Android is now available.
Back in
July
we announced the developer preview of the Google Cast Software Development Kit (SDK), the underlying Chromecast technology that enables multi-screen experiences across mobile devices (phones, tablet, laptops) and large-screen displays. Starting today, the
Google Cast SDK
is available for developing and publishing Google Cast-ready apps.
The Google Cast SDK is simple to integrate because there’s no need to write a new app. Just incorporate the SDK into your existing mobile and web apps to bring your content to the TV. You are in control of how and when you develop and publish your cast-ready apps through the
Google Cast developer console
. The SDK is available on Android and iOS as well as on Chrome through the Google Cast browser extension.
Receiver app support
You have many options for displaying content on Chromecast. For simple media applications, you can use the default media player that can play back HTML5 media content. You can also customize it with your own branding and style using CSS.
For non-media applications, or for more flexibility and design options, you can build your own custom receiver application using standard web technologies. With a custom receiver you can build virtually any application while including support for many streaming protocols, including
MPEG-DASH
,
HLS
, and
Microsoft Smooth Streaming
, all of which are available in the
Media Player Library
.
Sample apps
To make it easier for you to provide an optimized
user experience
on the TV screen, we have created
sample apps
for Android, iOS and Chrome. For Android, you’ll find a
Cast Companion library
to make your integration of Google Cast even easier.
Availability
All Chromecast devices have already been updated to the latest software with support for the Google Cast SDK. The
Google Cast extension for Chrome
supporting the latest SDK will start rolling out today. The Google Cast SDK for Android is now available on Android devices worldwide as part of the
Google Play services 4.2 update
. The Google Cast SDK for iOS is available starting today. You can find the details for each platform in our
documentation
.
Head over to the
Google Cast Developers
site to get started with the Google Cast SDK. We look forward to your
feedback
and seeing what you develop with the SDK.
Happy casting!
John Affaki manages the client software and services teams for Google Cast. He never grew out of childhood and spends his free time playing video games and reading comic books, but is glad to have some real kids now.
Run Chrome Apps on mobile using Apache Cordova
Tuesday, January 28, 2014
In September we introduced a
new breed of Chrome Apps
that work offline by default and act like native applications on the host operating system. These Chrome Apps are currently available on all desktop platforms. Today we're expanding their reach to mobile platforms with an early developer preview of a toolchain based on
Apache Cordova
, an open-source mobile development framework for building native mobile apps using HTML, CSS and JavaScript.
The toolchain wraps your Chrome App with a native application shell and enables you to distribute your app via Google Play and the Apple App Store. We provide a simple
developer workflow
for packaging a Chrome App natively for mobile platforms. You can run your Chrome App on a device or emulator using the command-line or an IDE. Alternatively, you can use the
Chrome Apps Developer Tool
to run your app on an Android device without the need to install an IDE or the mobile platform’s SDK.
We’ve made many of the core
Chrome APIs
available to Chrome Apps running natively on mobile, including:
identity
- sign-in users using OAuth2 without prompting for passwords
payments
- sell virtual goods within your mobile app
pushMessaging
- push messages to your app from your server
sockets
- send and receive data over the network using TCP and UDP
notifications
(currently Android only) - send rich notifications from your mobile app
storage
- store and retrieve key-value data locally
syncFileSystem
- store and retrieve files backed by Google Drive
alarms
- run tasks periodically
In addition to the above Chrome APIs, you have access to a
wide range of APIs
supported in the Cordova platform.
For web developers, this toolchain provides a simple workflow for extending the reach of Chrome Apps to users on mobile platforms. The toolchain is in developer preview mode, and we expect to continually improve it based on your feedback. To get started, take a look at our
dev workflow
and
sample apps
. As always, we welcome your feedback on
Stack Overflow
, our
G+ Developers page
, or our
developer forum
.
Andrew Grieve, Software Engineer and WebView Wrangler
Show off your security skills: announcing Pwnium 4 targeting Chrome OS
Thursday, January 23, 2014
Security is a
core tenet
of Chromium, which is why we hold
regular competitions
to learn from security researchers. Contests like Pwnium help us make Chromium even more secure. This year Pwnium 4 will once again set sights on Chrome OS, and will be hosted in March at the
CanSecWest
security conference in Vancouver.
With a total of $2.71828 million USD in the pot (
mathematical constant
e
for the geeks at heart), we’ll issue Pwnium rewards for eligible Chrome OS exploits at the following levels:
$110,000 USD: browser or system-level compromise in guest mode or as a logged-in user, delivered via a web page.
$150,000 USD: compromise with device persistence: guest to guest with interim reboot, delivered via a web page.
New this year, we will also consider significant bonuses for demonstrating a particularly impressive or surprising exploit. Potential examples include defeating
kASLR
, exploiting memory corruption in the 64-bit browser process or exploiting the kernel directly from a renderer process.
Past Pwnium competitions have focused on Intel-based Chrome OS devices, but this year researchers can choose between an ARM-based Chromebook, the
HP Chromebook 11
(WiFi), or the
Acer C720 Chromebook
(2GB WiFi) that is based on the Intel Haswell microarchitecture. The attack must be demonstrated against one of these devices running the then-current stable version of Chrome OS.
Any software included with the default installation may be used as part of the attack. For those without access to a physical device, the
Chromium OS developer’s guide
offers assistance on getting up and running inside a virtual machine, but note that a virtual environment might differ from the physical devices where the attack must be demonstrated.
To make sure everyone has enough time to demonstrate their exploit, we will require participants to register in advance for a timeslot. To register, e-mail
pwnium4@chromium.org
.
Registration will close at 5:00 p.m. PST Monday, March 10th, 2014
. Only exploits demonstrated on time in this specifically-arranged window will be eligible for a reward.
The
official rules
contain more details, but standard Pwnium rules apply: the deliverable is the full exploit, with explanations for all individual bugs used (which must be unknown); and exploits should be served from a password-authenticated and HTTPS-supported Google App Engine URL.
See you in Vancouver!
Signed by Jorge Lucángeli Obes, Security Engineer and Master of Ceremonies
Chrome 33 Beta: Custom Elements, Web Speech, and more
Thursday, January 16, 2014
Today’s Chrome
Beta
channel release kicks off the new year with a slew of new features for developers ranging from Custom Elements, to web speech synthesis and improved WebFont downloading. Unless otherwise noted, changes apply to desktop versions of Chrome and Chrome for Android.
Custom Elements
With
Custom Elements
, web developers can define new types of HTML elements to use in their web applications. The spec is one of several new API primitives landing under the
Web Components
umbrella. It brings abstraction and modularity to the web platform by allowing developers to:
Define new HTML/DOM elements
Create elements that extend from other elements
Logically bundle together custom functionality into a single tag
Extend the API of existing DOM elements
Custom Elements allows developers to architect their apps in much cleaner ways. For example, here's what the markup for
a demo chat app written with Custom Elements
looks like:
Web Speech API - Synthesis
The
Web Speech API
enables web developers to add
speech recognition
and synthesis to their web pages. We added the recognition part
last year
, and today’s release is the first to include
speech synthesis
. For example, your dictations could be
synthesized
to play back in a different language.
NPAPI deprecation update
As described in the original NPAPI deprecation
announcement
, Chrome has begun blocking webpage-instantiated NPAPI plug-ins by default on the Stable channel. Mac and Windows NPAPI support will be completely phased out by the end of the year, and on Linux Chromium will
no longer support NPAPI plug-ins
starting as early as April.
Other web platform changes in this release
The
requestAutocomplete API
for easy web payments is now available on Mac.
The
Page Visibility API
has been
unprefixed
.
WebFont downloading has
been optimized
so that fonts (at the median) are available before Blink layout is done, meaning that the net latency impact of using a webfont is usually zero.
The Blink CSS Animations and Transitions implementations are now powered by the new
Web Animations model
. This change should not affect developers or sites;
let us know
if it does.
Chrome now supports the latest version of the
Web Notification API
. We'll be deprecating support for the
legacy API
down the road, so please update your websites if they're using it.
Google Chrome Frame has been retired. Please read our June 2013 Chromium
blog post
for additional details and background.
Visit
chromestatus.com
for a complete overview of Chrome’s developer features.
Chrome Dev Summit recap
In late November we also held the
Chrome Dev Summit
, a two-day, single-track conference with over 300 web developers and Chrome engineers. The talks—which were recorded and livestreamed—covered a range of topics including
Polymer
,
new media APIs in Chrome for Android
,
Mobile DevTools
, and a
ton
of
performance
tips
. Check out the
full list
of recorded talks, including the
keynote
and
Q&A panel
.
Circle
+Google Chrome Developers
for more updates!
Posted by
<software-engineer title="Element Customizer">Dominic Cooney</software-engineer>
Udacity Mobile Web Development Course Now Live
Monday, January 6, 2014
As a web developer, you know that your users are moving to mobile platforms in droves. Beginning today, you can learn how to apply your web development skills to build great mobile web apps with
Mobile Web Development (CS256)
—a new Udacity MOOC training course.
In each of the course’s 12 lessons, you can watch short videos teaching you the latest mobile web development techniques, and follow a series of quizzes and interactive code challenges that will test your knowledge. Specifically, you will learn how to build web experiences that adapt to different screen sizes, how to program touch interaction, and how to configure web experiences to work great even when network conditions are suboptimal. You’ll also learn to investigate performance in mobile applications using Chrome DevTools, with a strong emphasis on mobile networking.
On Tuesday, January 7th at 9:30 a.m. PST, we are hosting an
introductory Google Developers Live session
with special guest and Udacity CEO, Sebastian Thrun. In this session we will tell you all about the content of the course and answer your questions live. You can add this event to your calendar and
vote for your questions
.
We’ll also be running a study group for the first several weeks of the course. The study group will be livestreamed (and recorded) from the Google Developer Live studio and course instructors Sean, Chris, and Peter will be there to answer any questions you might have and help you out with the course material.
We hope you’ll
try out the new course
and start building awesome mobile web experiences!
Posted by Chris Wilson, Developer Advocate and Multi-device Prestidigitator, and Peter Lubbers, Program Manager and MOOC Manufacturer.
Keeping Chrome Extensions Simple
Thursday, December 19, 2013
Today we're announcing an update to the
Chrome Web Store policy
: extensions in the Chrome Web Store must have a single purpose that is narrow and easy-to-understand. While this has always been the intent of the Chrome extension system, not all extensions have lived up to this ideal. These multi-purpose extensions can crowd your browser UI and slow down your web browsing - sometimes significantly. We're making this policy change to fix these problems and give users more control over their browsing experience.
A simple and speedy browsing experience has been part of the
core principles
of Chrome since
the beginning
. Simplicity was important to us because browsers had become overly complex, with bulky user interfaces (commonly referred to in the industry as "chrome"). That detracted from the content of the page, which was the whole point of the browser. The name "Chrome" came from this principle as we wanted the browser to be about "content, not chrome."
One significant contributor to the excess of browser chrome at the time were extensions like the then-ubiquitous toolbar. When users installed more than one of these toolbars, the results could be overwhelming.
To keep with our principle of simplicity, we decided to take a different approach. Chrome extensions would be simple and single-purpose in nature, and each would only be allowed
a single visible UI "surface"
in Chrome, a single browser action or page action button. Toolbars wouldn't be supported by design, and users would have more control over which features they added to their browser.
Unfortunately, in some cases, we couldn't enforce these design goals technically. With content scripts, extension developers have full control over the page, so they can put up as much UI as they want, even going as far as to create toolbars in the page. Others used content scripts to create extensions with more subtle features bundled together that were harder to attribute to specific extensions. In many cases, the Chrome Web Store helped by showing poor reviews when users had noticed bad behavior from a particular extension, but in other cases the connection wasn't clear.
Even worse, when extensions were sideloaded locally on their computer (perhaps bundled as part of another piece of software they installed) the user wouldn't have the benefit of the information in the Chrome Web Store at all, so they might not realize they were agreeing to install an extension with unwanted functionality or poor reviews.
It is for these reasons that we've updated the Chrome Web Store policy to enforce our original single-purpose design goal for extensions. We realize that this will require significant changes for some existing extensions. Some may need to be split into multiple separate extensions. Developers may need to switch to a different approach to monetization, which we've recently made easier by adding
payment options to extensions
. Since these changes may take some time to implement, we're not going to start enforcing the policy for existing extensions in the Web Store until June 2014. For new extensions, the policy will go into effect immediately.
If you have any questions, please find us in our
G+ community
, on
Stack Overflow
, or our
mailing list
.
Update May 16, 2014:
This will begin being enforced for previously grandfathered extensions (those which were in the Web Store prior to Dec 19, 2013) on July 15, 2014.
Posted by Erik Kay, Engineering Director
Ecma forms TC52 for Dart Standardization
Thursday, December 12, 2013
This week
Ecma
created a new technical committee named
TC52
to publish a standard specification of the
Dart
language. We’re excited about this milestone in the evolution of Dart and the web.
Dart is ready for standardization. As of last month’s
1.0 SDK release
, Dart is now officially stable and mature enough for production use. We’ll be collaborating with the broader web community via TC52 to responsibly evolve the language going forward.
The new standardization process is an important step towards a future where Dart runs natively in web browsers. Dart apps can be fast when compiled to JavaScript, but an embedded Dart VM enables
even better performance
.
We're thrilled to have a dedicated technical committee working on Dart. We also feel confident that Ecma—the home of standards such as JavaScript, Eiffel, and C#—is the right place to help guide the evolution of the Dart language. If you’d like to get involved, please
join the committee
.
Posted by Anders Sandholm, Product Manager and Standard Guy
Labels
$200K
1
10th birthday
4
abusive ads
1
abusive notifications
2
accessibility
3
ad blockers
1
ad blocking
2
advanced capabilities
1
android
2
anti abuse
1
anti-deception
1
background periodic sync
1
badging
1
benchmarks
1
beta
83
better ads standards
1
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
35
chrome 81
1
chrome 83
2
chrome 84
2
chrome ads
1
chrome apps
5
Chrome dev
1
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 extensions
3
Chrome Frame
1
Chrome lite
1
Chrome on Android
2
chrome on ios
1
Chrome on Mac
1
Chrome OS
1
chrome privacy
4
chrome releases
1
chrome security
10
chrome web store
32
chromedevtools
1
chromeframe
3
chromeos
4
chromeos.dev
1
chromium
9
cloud print
1
coalition
1
coalition for better ads
1
contact picker
1
content indexing
1
cookies
1
core web vitals
2
csrf
1
css
1
cumulative layout shift
1
custom tabs
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
2
developer dashboard
1
Developer Program Policy
2
developer website
1
devtools
13
digital event
1
discoverability
1
DNS-over-HTTPS
4
DoH
4
emoji
1
emscriptem
1
enterprise
1
extensions
27
Fast badging
1
faster web
1
features
1
feedback
2
field data
1
first input delay
1
Follow
1
fonts
1
form controls
1
frameworks
1
fugu
2
fund
1
funding
1
gdd
1
google earth
1
google event
1
google io 2019
1
google web developer
1
googlechrome
12
harmful ads
1
html5
11
HTTP/3
1
HTTPS
4
iframes
1
images
1
incognito
1
insecure forms
1
intent to explain
1
ios
1
ios Chrome
1
issue tracker
3
jank
1
javascript
5
lab data
1
labelling
1
largest contentful paint
1
launch
1
lazy-loading
1
lighthouse
2
linux
2
Lite Mode
2
Lite pages
1
loading interventions
1
loading optimizations
1
lock icon
1
long-tail
1
mac
1
manifest v3
2
metrics
2
microsoft edge
1
mixed forms
1
mobile
2
na
1
native client
8
native file system
1
New Features
5
notifications
1
octane
1
open web
4
origin trials
2
pagespeed insights
1
pagespeedinsights
1
passwords
1
payment handler
1
payment request
1
payments
2
performance
20
performance tools
1
permission UI
1
permissions
1
play store
1
portals
3
prefetching
1
privacy
2
privacy sandbox
4
private prefetch proxy
1
profile guided optimization
1
progressive web apps
2
Project Strobe
1
protection
1
pwa
1
QUIC
1
quieter permissions
1
releases
3
removals
1
rlz
1
root program
1
safe browsing
2
Secure DNS
2
security
36
site isolation
1
slow loading
1
sms receiver
1
spam policy
1
spdy
2
spectre
1
speed
4
ssl
2
store listing
1
strobe
2
subscription pages
1
suspicious site reporter extension
1
TCP
1
the fast and the curious
28
TLS
1
tools
1
tracing
1
transparency
1
trusted web activities
1
twa
2
user agent string
1
user data policy
1
v8
6
video
2
wasm
1
web
1
web apps
1
web assembly
2
web developers
1
web intents
1
web packaging
1
web payments
1
web platform
1
web request api
1
web vitals
1
web.dev
1
web.dev live
1
webapi
1
webassembly
1
webaudio
3
webgl
7
webkit
5
WebM
1
webmaster
1
webp
5
webrtc
6
websockets
5
webtiming
1
writable-files
1
yerba beuna center for the arts
1
Archive
2026
Mar
2025
Oct
Jul
Jun
May
Jan
2024
Dec
Aug
Jun
May
Apr
Mar
Feb
2023
Nov
Oct
Sep
Aug
Jun
May
Apr
Feb
2022
Dec
Sep
Aug
Jun
May
Apr
Mar
Feb
Jan
2021
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2020
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2019
Dec
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
.