What’s new in Chromium 57 and Opera 44
Opera 44 (based on Chromium 57) for Mac, Windows, Linux is out! To find out what’s new for users, see our Desktop blog. Here’s what it means for web developers.
CSS Grid
CSS Grid is now available. CSS Grid supports a two-dimensional grid-based layout system, optimized for responsive user interface design. Elements within the grid can be specified to span multiple columns or rows. Elements positioned in a CSS grid can also be named, making layout code easier to understand. There are lots of excellent resources available to learn more:
- Learn CSS Grid — an awesome compilation of resources by Jen Simmons.
- Can I use CSS Grid Layout
- CSS Grid Layout on MDN.
- CSS Grid – Table layout is back. Be there and be square. by Surma.
- CSS Grid Layout: A New Layout Module for the Web by Manuel Rego.
WebAssembly
The WebAssembly API has been enabled by default, allowing developers to run near-native code in the browser without a plugin. WebAssembly is essentially a better replacement for asm.js. We believe it has the potential to bring browser games to the next level.
- Demo
- A cartoon intro to WebAssembly by Lin Clark.
- WebAssembly on MDN.
Credential Management
Opera 44 also adds support for the Credential Management API. This gives users a simpler sign-in process across devices and provides websites with more control over the usage of credentials. The website can use password-based sign-ins via this API. Once logged in, users will be automatically signed back into a site, even if their session has expired.
Other CSS features
- The
caret-color
property enables developers to specify the color of the text input cursor. text-decoration-skip: ink
can be used to make underlines skip descenders, the portion of letters that extend below the text’s baseline.- New
text-decoration
properties are now available, allowing developers to specify visual effects such as line color and style.
Audio/video
- The new
AudioContext.getOutputTimestamp()
method enables developers to synchronizeDOMHighResTimeStamp
andAudioContext.currentTime
values. AudioBufferSourceNode
,OscillatorNode
, andConstantSourceNode
now inherit fromAudioScheduledSourceNode
, consolidating functionality.- The new
cancelAndHoldAtTime
function cancels futureAudioParam
events with times greater than or equal tocancelTime
, allowing developers to preserve the value of the scheduled time in a direct way. - Developers can now construct WebAudio-specific events such as
OfflineAudioCompletionEvent
andAudioProcessingEvent
.
Other JS and DOM features
- The Fetch API
Response
class now supports the .redirected attribute to help web developers avoid untrustworthy responses and reduce the risk of open redirectors. - The new
padStart
andpadEnd
formatting tools enable text padding, facilitating tasks like aligning console output or printing numbers with a fixed number of digits. - To preserve consistency with other
on<event>
attributes,ongotpointercapture
andonlostpointercapture
are now part of theGlobalEventHandlers
mixin.
Improved interoperability
fieldset.elements
now returns anHTMLCollection
instead of anHTMLFormControlsCollection
to better align with spec.- The
usemap
attribute now requires case-sensitive matching. - Custom message events and events created by
client.postMessage(message, transfer)
in a service worker will now useMessageEvent
instead ofServiceWorkerMessageEvent
.
Deprecated and removed features
- Support for the
<keygen>
element has been removed, causing it to no longer display any controls nor submit form element data, to align with other browsers. - Locally-trusted SHA-1 certificates will now result in a certificate error page.
- The
<cursor>
element has been removed, but cursor icons can still be set via thecursor
CSS property. - A legacy caller has been removed from
HTMLEmbedElement
andHTMLObjectElement
, so the interfaces will now throw exceptions rather than having their instances called as functions. - All
webkit
-prefixed IndexedDB global aliases have been removed, after their deprecation in M38 (Opera 25). - Support for
webkitClearResourceTimings()
,webkitSetResourceTimingBufferSize()
, andonwebkitresourcetimingbufferfull
has been removed from thePerformance
interface, in favor ofclearResourceTimings()
,setResourceTimingBufferSize()
, andonresourcetimingbufferfull
. - The
-internal-media-controls-text-track-list*
and related pseudo-elements are deprecated and will be removed in M59 (Opera 46). Use custom controls for custom text track selection. - Support for the obsolete API
webkitCancelRequestAnimationFrame
has been removed in favor ofcancelAnimationFrame
. - The
webkit
prefix has been removed fromAudioContext
andOfflineAudioContext
.
What’s next?
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.