Google Chrome Frame
Alex Russell <slightlyoff@google.com>
JSConf – April 18, 2010
Google Chrome Frame is an Open Source plugin for Internet Explorer
that lets developers and users choose to have pages
rendered by Google Chrome (WebKit, V8, etc.). Existing sites
work as they always have.
“Why not just install Chrome?”
Don't Panic
It won't break the intranet
And it might just make you stunningly productive
GCF renders pages only when:
- Users have GCF installed
- Developers easily opt in per page
- No "blanket" rendering
Meta tag method:
<meta http-equiv="X-UA-Compatible" content="chrome=1">
HTTP header:
X-UA-Compatible: chrome=1
What If GCF Isn't Installed?
- Graceful fallback by design
- MSHTML renders when GCF isn't available
- Other browsers render page as usual
User-Agent is extended to allow server-side detection
CFInstall.js simplifies prompt/install
- No restart required
- Offer GCF along with other browsers
- User begins navigation
- Request is issued by IE
- UA string agumented with
chromeframe/5.0.xxx
- Response is sniffed by GCF
- If page opts in, switch
- Else, page continue on to MSHTML
- Same networking (including SSL)
- Same cache behavior
- Same cookies
- Respects In-Private mode
New Features Faster
Auto-Update to the rescue
The Feature Backlog: HTML
<input type="range">
<input autofocus>
<input placeholder="...">
- Many new form controls coming soon
- New semantic tags (header, section, etc.)
- Microdata
- ARIA role and state attributes
The Feature Backlog: HTML (contd.)
<canvas>
<audio>
<video>
data: URIs
- SVG for images
- CSS 3 selectors!
- Gradients
- Rounded corners
- Reflections
- Box shadows
- Text shadows
- Transitions
The Feature Backlog: CSS (contd.)
- Transformations
- Animations
- Independent background opacity
@font-face
- Pointer events
- HBox/VBox layout
- Text clipping
The Feature Backlog: CSS (contd.)
- Multi-background
background-size, background-origin, background-clip
- HSLA color model
The Feature Backlog: JS & DOM
- One way to listen for events
querySelectorAll
document.HTMLDivElement, etc.
- Array generics, some ES5 features
- JITing JS engines
- Web Workers
- Local Storage
The Feature Backlog: JS & DOM (contd.)
- Web Sockets
- AppCache
- Notifications
- Drag and Drop
- Geolocation
- WebGL
Where Do We Go From Here?
Current Status, Next Steps
- Currently in Developer Channel
- Beta soon
- Focus on host-browser fidelity and performance
- We want your feedback and need your help
Thank You
http://google.com/chromeframe
http://code.google.com/chrome/chromeframe