Chromium Blog
News and developments from the open source browser project
Bringing improved support for Adobe Flash Player to Google Chrome
Tuesday, March 30, 2010
Adobe Flash Player is the most
widely used
web browser plug-in. It enables a wide range of applications and content on the Internet, from games, to video, to enterprise apps.
The traditional browser plug-in model has enabled tremendous innovation on the web, but it also presents challenges for both plug-ins and browsers. The browser plug-in interface is loosely specified, limited in capability and varies across browsers and operating systems. This can lead to incompatibilities, reduction in performance and some security headaches.
That’s why we are working with Adobe, Mozilla and the broader community to help define the
next generation browser plug-in API
. This new API aims to address the shortcomings of the current browser plug-in model. There is much to do and we’re eager to get started.
As a first step, we’ve begun collaborating with Adobe to improve the Flash Player experience in Google Chrome. Today, we’re
making available
an initial integration of Flash Player with Chrome in the developer channel. We plan to bring this functionality to all Chrome users as quickly as we can.
We believe this initiative will help our users in the following ways:
When users download Chrome, they will also receive the latest version of Adobe Flash Player. There will be no need to install Flash Player separately.
Users will automatically receive updates related to Flash Player using Google Chrome’s auto-update mechanism. This eliminates the need to manually download separate updates and
reduces the security risk
of using outdated versions.
With Adobe's help, we plan to further protect users by extending Chrome's “
sandbox
” to web pages with Flash content.
Improving the traditional browser plug-in model will make it possible for plug-ins to be just as fast, stable, and secure as the browser’s HTML and JavaScript engines. Over time this will enable HTML, Flash, and other plug-ins to be used together more seamlessly in rendering and scripting.
These improvements will encourage innovation in both the HTML and plug-in landscapes, improving the web experience for users and developers alike. To read more about this effort, you can read this
post
on the Flash Player blog.
Developers can download the Chrome developer channel version with Flash built in
here
. To enable the built-in version of Flash, run Chrome with the --enable-internal-flash command line flag.
Posted by Linus Upson, VP, Engineering
Google Chrome Developer Update - Geolocation and Incognito Extensions
Friday, March 26, 2010
What's New in Google Chrome?
The Google Chrome Dev channel has been updated to
5.0.356.2
for all platforms since our last developer post. It includes a few new goodies for developers:
Geolocation API
: Run with the
--enable-geolocation
flag.
Incognito extensions
Unpacked extensions are now remembered across browser restarts.
Favicons for extension pages
(define with a 16x16 image in your manifest.json).
setPopup()
was added to browserAction and pageAction for dynamically changing which popup to show based on the selected tab.
Please keep in mind that these features are still under development and are not 100% stable yet. In addition to the above, there are a few new experimental features baking in /trunk. You can try them out with the
--enable-experimental-extension-apis
flag:
chrome.experimental.infobars
chrome.experimental.contextMenu
Samples and Tutorials
We’ve added a few new sample extensions tutorials to get you started:
Sample
and
tutorial
to demonstrate using Google Analytics in your extensions
Extension
to display, create, and update your Google Documents
Tutorial
to demonstrate using OAuth in your extensions
Remember to follow us on Twitter:
@ChromiumDev
!
Posted by Eric Bidelman, Developer Advocate
Introducing the ANGLE Project
Thursday, March 18, 2010
We're happy to announce a new open source project called Almost Native Graphics Layer Engine, or ANGLE for short. The goal of ANGLE is to layer WebGL's subset of the OpenGL ES 2.0 API over DirectX 9.0c API calls. We're open-sourcing ANGLE under the BSD license as an early work-in-progress, but when complete, it will enable browsers like Google Chrome to run WebGL content on Windows computers without having to rely on OpenGL drivers.
Current browser implementations of WebGL need to be able to issue graphics commands to desktop OpenGL to render content. This requirement isn't a problem on computers running OS X or Linux, where OpenGL is the primary 3D API and therefore enjoys solid support. On Windows, however, most graphics-intensive apps use Microsoft Direct3D APIs instead of OpenGL, so OpenGL drivers are not always available. Unfortunately, this situation means that even if they have powerful graphics hardware, many Windows machines can't render WebGL content because they don't have the necessary OpenGL drivers installed. ANGLE will allow Windows users to run WebGL content without having to find and install new drivers for their system.
Because ANGLE aims to implement most of the OpenGL ES 2.0 API, the project may also be useful for developers who are working on applications for mobile and embedded devices. ANGLE should make it simpler to prototype these applications on Windows, and also gives developers new options for deploying production versions of their code to the desktop.
We hope that other WebGL implementors and others in the graphics community will join us to make ANGLE successful! For more info on ANGLE and to access the code repository, visit the
new project on Google Code
or join our
discussion group
.
Posted by Henry Bridge, Product Manager
Native Client and Web Portability
Wednesday, March 17, 2010
One of the most important principles of the web is portability: a web page renders and behaves the same way, regardless of the browser’s operating system or the type of hardware it’s running on. When we first released Native Client a year ago, we supported all popular operating systems (Windows, Mac OS X, and Linux) but only on machines with x86 processors. Today, we’re happy to say that you can build and run Native Client binaries for all of the most popular processor architectures: x86-32, x86-64, and ARM. Even better, our
initial benchmarks
indicate that Native Client executables perform at 97% of the speed of an unmodified executable on both ARM and x86-64 processors. These results indicate that a browser running on virtually any modern computer or cell phone could run a fast, performance-sensitive Native Client application.
However, we recognize that just running on today’s most popular architectures isn’t enough; if a new processor architecture emerges, it should be able to run all Native Client modules already released without requiring developers to recompile their code. That’s why we’re also
developing technology
that will enable developers to distribute a portable representation of Native Client programs using LLVM bitcode. Using this technology, a browser running on any type of processor could translate the portable representation into a native binary without access to the source code of the program.
If you’d like to review our instruction-set support or give us feedback about the technology, please visit our
project on Google Code
and join our
Google Group
.
Posted by Brad Chen, Native Client Team
Does Your Browser Behave?
Thursday, March 11, 2010
Last June, we
launched
the
Sputnik
JavaScript conformance test suite, a comprehensive set of more than 5000 tests. Today we're releasing a
test runner
for Sputnik, that allows you to easily run the complete test suite from within your browser.
Sputnik touches all aspects of the JavaScript language defined in the 3rd edition of the
ECMA-262 spec
. In many ways it can be seen as a continuation of and a complement to existing browser conformance testing tools, such as the
Acid3
test. While we are always focused on improving speed, Sputnik is not about testing how fast your browser executes JavaScript, but rather whether it does so correctly.
Since we released the Sputnik tests as an open source project, the most requested feature has been the ability to run the tests in a browser, and we are excited to launch that functionality today. The new test runner lets you run the tests from a single URL and quickly see the results in your browser. This makes it easier both for users to see how well their browser conforms to the JavaScript spec, as well as for browser makers to find bugs and incompatibilities.
You can also use Sputnik to
compare
browser conformance. For example, below is an experimental plot that compares five popular browsers and which we hope to update as new stable versions of the browsers are released. We created this chart by running Sputnik in each of the five browsers and then plotting each browser such that the fewer tests a browser fails the closer it is to the center and the more failing tests two browsers have in common the closer they are placed to each other. In this example, when running Sputnik on a Windows machine, we saw the following results: Opera 10.50: 78 failures, Safari 4: 159 failures, Chrome 4: 218 failures, Firefox 3.6: 259 failures and Internet Explorer 8: 463 failures.
When we first released the Sputnik test suite we noted that to be compatible with the web you sometimes had to be incompatible with the JavaScript spec. Since then a new version of the spec, ECMAScript 5, has been released. Besides introducing a number of new language features, ECMAScript 5 changes how many existing features are defined to bring them in line with how they are used on the web. We are updating the Sputnik tests to reflect those changes so that 0 failures would mean not only compatibility with the spec but also compatibility with the web.
We are excited to see the efforts on conformance testing by other browser makers. For example, where Sputnik tests the language features in ECMAScript 5 which were also present in ECMAScript 3, Microsoft's
es5conform
project tests the new language features that were added in ECMAScript 5.
Incompatibilities between browsers remain one of the biggest challenges for web developers. We hope that giving users and browser vendors an easy way to test their browser will help promote browser robustness and compatibility across the industry.
Posted by Christian Plesner Hansen, Software Engineer
Google Chrome Developer Update: 3000 Extensions, Events on 4 Continents and More
Thursday, March 4, 2010
This is the first issue of Google Chrome Update for Web Developers. In these regular updates, we'll inform you about new features enabled in Google Chrome and announce updates of Google Chrome related developer events. We will also be sharing samples and highlighting cool extensions and HTML5 apps written by the developer community.
What's New in Google Chrome?
The Google Chrome Beta channel for Mac and Linux has been updated to
5.0.307.7
and the extensions gallery now offers more than
3000
extensions for users to choose from.
For Google Chrome extensions, we've just released a couple of new
experimental APIs
, including a history API. Since these are experimental APIs, the extensions gallery won't allow you to upload extensions that use them. However, we'd like to encourage you to read the
documentation
, give it a try, and send us your
feedback
.
Last but not least, the new Google Chrome stable release has many new
HTML and JavaScript APIs
including
WebSockets
,
Notifications
, and
Web SQL Database
. We are interested to hear how you've been using these APIs. Please
share
with us the cool applications you are building.
Samples and Tutorials
We've been working on creating samples to help you implement certain functionality in your extensions. You may be interested in viewing the source code for extensions that:
Merge
all of the open tabs into a single window.
Use
OAuth
to connect to web services.
Make cross-domain
XMLHttpRequests
from a content script.
Display page actions based on the
current URL
or the current page's
content
.
Upcoming Events
We are pleased to announce that we will host a series of Google Chrome developer events over the next month in the following cities (dates in local time):
Sydney, AU - Mar 5th
Google Chrome Extensions
Hackathon
(sign up
here
)
Tokyo, Japan - Mar 11th
DevFest Japan
, Google Chrome extensions, HTML5
Austin, TX - Mar 14th - Mar 15th
South by Southwest
, advanced extensions and HTML5 101
London, UK - Mar 16th
Meetup
, HTML5 and Google Chrome extensions (sign up
here
)
Madrid, ES - Mar 18th
Google Chrome hackathon @Universidad Complutense de Madrid (sign up
here
)
We also plan to hold events in Germany and will be announcing more information about those soon, so stay tuned!
Let Us Know What You Think
This is just the first post of the many Google Chrome developer updates, let us
know
what you would like to see in future updates and follow us on Twitter at
@ChromiumDev
.
Posted by Vivian Li, Developer Advocate
Experimental Extension APIs
Monday, March 1, 2010
You might have already noticed this, but we now have some APIs that we’re referring to as
experimental
. The idea is that we can add new APIs to the platform that may not be ready for prime time. This allows you to play with these APIs and give us feedback before they’re final, which in turn helps us get them out to everybody more quickly.
Our first two experimental APIs —
chrome.experimental.history
and
chrome.experimental.processes
— are available on the dev channel. The history API lets you query and modify the user’s browsing history. When it’s finalized, we’ll also allow you to replace the history page with your own, just like you can
replace the new tab page
today. The processes API allows access to information about Google Chrome’s process model, including process IDs and the CPU usage of individual tabs. The processes API is incomplete, but you can see upcoming features in its
design doc
.
These APIs have a few major limitations. First, to use an experimental API you must add a command-line flag when you start Google Chrome (
--enable-experimental-extension-apis
). Second, you can’t upload extensions that use experimental APIs to the Google Chrome Extensions Gallery. Finally, these APIs will change in incompatible ways, so the code that you write today isn’t guaranteed to work tomorrow.
What this really means is that these APIs are only useful for you to play with. You won’t be able to share extensions that use these APIs with a lot of people. However, we’d really like you to try them out and
give us feedback
. Doing so will help us release the APIs more quickly and make sure they do everything you need. Playing with the experimental APIs is also a way for you to get experience with them before most other developers.
We expect to add more experimental APIs over time, so keep an eye out for future announcements.
Posted by Erik Kay, Software Engineer
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
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
.