Opera 22 released

June 3rd, 2014

Opera 22 (based on Chromium 35) for Mac and Windows and for Android is out! Here’s what that means for web developers.

CSS background blending modes

Support for the background-blend-mode CSS property is now enabled by default. This feature allows you to control how background images and background colors blend. Check out a demo, or see Getting to know CSS Blend Modes for more information.

CSS Font Loading

The CSS Font Loading specification defines a promise-based JavaScript API to programmatically download web fonts. This makes it possible for web developers to take a different action based on whether or not the font was successfully loaded, or just to get notified when the font has completed loading. Here’s a simple example:

var face = new FontFace('My Cool Font', 'url(', {
  'weight': 'bold'
face.load().then(function() {
  console.log('My Cool Font was successfully loaded!');
}).catch(function() {
  console.log('Something went wrong while trying to load My Cool Font.');

Unprefixed Shadow DOM

Opera previously supported the webkitShadowRoot property as well as the webkitCreateShadowRoot method for DOM elements. We now support the standardized and unprefixed names for them, i.e. shadowRoot and createShadowRoot, as well as the newly added getDestinationInsertionPoints method. To learn more about Shadow DOM, read this updated tutorial.

Unprefixed Web Audio API

Opera previously supported the global webkitAudioContext and webkitOfflineAudioContext methods. These have now been renamed to their official, unprefixed names: AudioContext and OfflineAudioContext.

More control over mousewheel-based scroll events

As of this release, web developers can now control or even cancel “zoom” events invoked by pressing Ctrl while scrolling the mousewheel. Sites that want to do something more appropriate for the user than trigger the browser’s native zoom, can now do so.

If you’re interested in experimenting with features that are in the pipeline for future versions of Opera, we recommend following our Opera Developer stream.