Chromium Blog
News and developments from the open source browser project
Backstage at JAM with Chrome
Thursday, November 8, 2012
Earlier today
we launched
JAM with Chrome.
JAM with Chrome
is an interactive web application that enables friends in different locations to play music together in the Chrome browser on their computers.
JAM with Chrome was built with the
latest browser technologies
:
Web Audio
for high fidelity playback without resorting to lots of pre-recorded audio samples.
WebSockets
is used to deliver immediate real-time playback across all the members of the band ensuring they stay in sync and playing from the same tab sheet.
Finally,
CSS3
,
SVG
and
Canvas
provide rich visuals and an immersive experience.
To learn more about how we built this experience, check out “
How we made the Audio rock
”. This is the first of three HTML5 Rocks articles that describes how the team used Web Audio to deliver an absorbing auditory experience. Stay tuned for more developer stories by following
+Google Chrome Developers
.
Enjoy playing music with friends at
www.jamwithchrome.com
and be sure to open Chrome’s
developer tools
to see what’s going on backstage!
Posted by Paul Kinlan, Developer Advocate
A web developer’s guide to the latest Chrome Beta
Thursday, November 8, 2012
Today’s Chrome
Beta channel release
includes a slew of awesome new developer features.
Datalist support in date and time
datalist
allows you to specify a list of suggested dates and times for input elements. Of course, users still have the freedom to enter arbitrary dates and times. One use case is helping users choose when their food should be ready for pickup:
MathML
Now you can write mathematical content in
MathML
and expect it to be consistently beautiful across the web. Special kudos to
WebKit
volunteer
Dave Barton
for implementing this on his own accord.
Other new features in this release
CSS custom filters
have landed behind a
flag
. They enable sweet cinematic effects like page flipping with just CSS and HTML. You can turn them on with
chrome://flags
.
Chromium now parses the
autocomplete
attribute
according to spec
. Use it to specify which type of saved user data the browser should use to prefill input elements. Examples are
name
and
street-address
.
A few brand new features landed with a prefix:
-webkit-hyphens
gives you more control over hyphenation at line breaks, and
-webkit-clip-path
enables you to
clip DOM content
to an SVG shape.
Un-prefixed APIs
APIs un-prefixed in today’s Beta release include:
IndexedDB
, a client-side storage API offering fast access to large amounts of structured data
Intl
, which adds support for JavaScript internationalization of date format, number format, collation and non-standard segmentation, and more time zones
postMessage
, a feature enabling cross-origin communication (including
support for fast transferable objects
)
requestAnimationFrame
for silky smooth JavaScript animations
performance.now()
for reliable, high-resolution timing
Today’s Beta release supports these APIs in both their prefixed and un-prefixed forms. If you’re currently using the prefixed versions, you should switch to the un-prefixed versions after today’s Beta release reaches the Stable channel. At that point the prefixed versions will be deprecated, and future releases may not support them.
Experiments removed in this release
As the web platform evolves, support for some experiments has been removed. The
Blob
constructor
should now be used instead of the
WebKitBlobBuilder A
PI, and the
Blob.webkitSlice()
method is deprecated in favor of
Blob.slice()
.
We also gathered a lot of valuable data and feedback from our experimental support for
Web Intents
and
decided to disable
the feature in today's Beta release.
Stay in the loop
Visit
chromestatus.com
for a complete overview of Chrome’s developer features, and circle
+Google Chrome Developers
for more frequent updates.
We hope you enjoy this Beta release as much as we’ve enjoyed working on it!
Posted by Peter Beverloo, Software Engineer and Web Platform Enthusiast
Introducing TCP Listen, a new API for Chrome packaged apps
Friday, November 2, 2012
Chrome packaged apps
aim to deliver an app experience with the appearance and capabilities of native apps, but built using the growing capabilities of HTML5. These apps can access APIs for better filesystem handling, direct access to hardware devices, raw network communication and
many others
. One of the new APIs that just landed in an experimental state is
TCP Listen
, which allows an app to accept incoming TCP connections.
Since the developer preview launch
earlier this year
, Chrome packaged apps have been able to connect to remote servers using TCP or UDP, and bind to a UDP port. For example, this
Media Center application
searches for and connects to media servers in the local network. Now, through the new TCP Listen API, a Chrome packaged app can also act as a TCP server itself and accept incoming connections on specified ports.
You can use this API, for example, to create a
HTTP server
on a development environment application, to
automate a browser window
for page load testing (see image below) or even to augment the
Media Center application
with a
DLNA®/UPnP
media server and show your PicasaWeb pictures on your DLNA® enabled television.
To get started, clone this
GitHub repository
and look at the
webserver
and the
TCP server
samples. You may also want to watch the
Chrome Apps Office Hours
where we specifically talk about the TCP Listen API.
We are curious to see what clever ideas you will come up with. Have questions or comments? Subscribe to
chromium-apps
and let us know!
Posted by Renato Mangini, Developer Advocate
Smarter NPAPI installs from the Chrome Web Store
Wednesday, October 31, 2012
Chrome Web Store
developers can create and distribute apps and extensions that use
NPAPI
plug-ins. However, platforms such as ChromeOS and Windows 8 don’t support NPAPI. Today, we’re making the installation of apps and extensions that use NPAPI smarter, to help users avoid installing items that they can’t use on their particular platform.
If a user visits the Chrome Web Store on a platform that doesn’t support NPAPI, the store will filter out all items that use it from the home page and the various category pages. These apps and extensions will still show up in search results, and can be visited from direct URL links, but the Details dialog for each item will display a message that the app or the extension in question cannot be installed and the Install button will be disabled.
If you are a developer whose apps or extensions use NPAPI but can still work without it, we’ve provided a way for you to prevent your items from being filtered out. In your manifest.json file under the
requirements
section, specify the “npapi” flag like this:
"requirements": {
"plugins": {
"npapi": false
}
}
This will allow your apps and extensions to continue to be available to users on platforms that don’t support NPAPI. If your plug-in doesn’t have any explicit dependencies on the underlying OS, then you should really consider porting it to
Native Client
, which provides improved portability and security and runs just great on Windows 8 and ChromeOS.
Have any questions or comments about NPAPI? You can reach us on our
developer forum
for all of your store-related questions.
Posted by Joe Marini, Developer Advocate
Do more with Chrome Developer Tools
Tuesday, October 23, 2012
The
Chrome Developer Tools
team recently launched new features and made several UI changes to improve your development and debugging workflow.
Develop for mobile
Since
we launched
Chrome for Android, you’ve been able to use Chrome Developer Tools to debug and profile mobile web pages and web apps.
Today, we take this feature one step further by introducing device emulation support in Chrome Developer Tools. Device emulation includes, among other things, native
User Agent and dimension overriding
. This allows developers to debug mobile browsers on different devices and operating systems via the Settings Menu. So, now, you can emulate the exact device metrics of devices like the Galaxy Nexus and the iPhone to test your media query-driven design.
Chrome Developer Tools also supports single
touch event
emulation
to make it easier to
debug mobile applications
on the desktop.
Profile rendering performance
The Timeline’s Frame Mode feature now allows you to
profile Chrome’s rendering performance
, remove the jank and deliver the silky smooth performance users expect from your apps. To learn more about this topic, check out the recent
"Jank Busters"
video from Google I/O.
Preview your log items
The console now prints a user-friendly snapshot of the object properties taken at log time, whereas by expanding the object manually, you can still see its live content. This is especially useful when logging an object in a loop and observing its mutation. With this change, we resolved a
longstanding bug
many of you prioritized on
crbug.com
.
Play with experimental features
You can now try new experimental features in Chrome Developer Tools by visiting
chrome:flags
and enabling them there. Once you do that, a new tab called “Experiments” will be visible in the settings menu, allowing you to enable and use any of the following experiments:
Snippets (essentially multi-line console on steroids)
Source mapping support for
SASS
Native memory profiling
Geolocation / orientation override
FileSystem inspection
Canvas inspection
CPU activity in Timeline
CSS Regions support
Some of these experimental features are almost ready while others have just landed and need some more refining. In either case, we’d love your
feedback
before we bake these fully in Chrome Developer Tools. You can also read our recently updated
contribution guide
if you’re interested in helping us make the tools better.
To get more information on all of Chrome Developer Tools features, check out our “
Chrome Developer Tools Evolution
” talk at the I/O 2012. You can also follow
Google Chrome Developers
on Google+ or
@ChromiumDev
on Twitter for more news on changes landing in Chrome Developer Tools.
Posted by Stefano Cazzulani, Product Manager
New site ownership verification option in CWS
Friday, October 19, 2012
To publish an app in the
Chrome Web Store
, developers need to prove they own the domain that hosts their application. Until recently, the only way to do this was through
Google’s Webmaster Tools
. Today, we are simplifying the process further by allowing you use Google's site verification service to prove your association with a verified site.
Suppose you want to publish an app on the Chrome Web Store and have it associated with your company’s existing site, but you don’t have the ability to use any of the current verification methods e.g. you’re not allowed to upload a verification file to the root directory. The site verification service option in the edit page for each item listed in your Chrome Web Store
developer dashboard
allows you to request association of your app with your organization’s site:
When you choose an existing site from the drop-down menu or click “Add a new site”, the current registered owner for the site will receive a notification of your request to be associated. The owner can see who is making the request, and then approve or deny the request appropriately. That’s all there is to it! (
Note
: if this checkbox isn’t available, it may be because there’s no current owner of the site or you already have an outstanding association request).
We hope that this new feature will further streamline the process for publishing new apps on the Chrome Web Store, and allows you to focus more on developing your app and less on process. Have any questions or comments about using Google’s site verification service? You can reach us on our
developer forum
for store-related questions or head on over to the
Webmaster Help forum
.
Posted by Joe Marini, Developer Advocate
A better developer experience for Native Client
Wednesday, October 17, 2012
Native Client
(NaCl) enables you to write high-performance apps that run your C and C++ code in the browser. With the new Native Client add-in for Microsoft Visual Studio and the new Native Client debugger it just got a lot easier.
The Visual Studio add-in makes it easy to set up, build, run, and debug your app as a Pepper plug-in and as a Native Client module. If you are porting an existing application to Native Client, building as a Pepper plug-in is a convenient intermediate stage for development enabling you to gradually rewrite the app to use the Pepper APIs (
video
).
The Native Client debugger, affectionately called
nacl-gdb
, works on Windows, Mac, and Linux and is now available in the
SDK
. So whatever your development platform, you can now spend more time coding features and less time chasing bugs with
printf
.
Following the Native Client philosophy of being OS-independent and open source, nacl-gdb is based on... well...
gdb
! For those of you who are not excited by a text interface, the Visual Studio
add-in
makes interacting with the debugger easier. If you use a different development environment that can interact with gdb, you can point it to nacl-gdb and use the same commands plus some additional NaCl-specific commands.
Whether you’re an existing Native Client developer or thinking about using Native Client for your next project, now is a great time to
grab the SDK
, write an amazing app, and quickly squash any bugs you find. We look forward to questions on
Stack Overflow
and ideas and comments in the discussion
forum
.
Posted by Christian Stefansen, Product Manager
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
23
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
2024
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
.