What’s New in Opera Development Snapshots: 10 February 2011 Edition
The new Opera Next snapshot is out with a whole slew of fixes. Download it from the links in the Desktop team's blog post or wait a while for it to show up on your Opera Next updates. Here are what would be of interest to web developers:
Implementation of XHR2 is now complete (with the addition of Upload and Progress Events).
We have introduced the Do Not Track header. Karl Dubost has more details explaining why Do Not Track header was introduced and how it works.
white-spaceproperty that is anything but
nowrap, Opera (and all other browsers) continue to wrap ignoring whatever value is assigned. However, we have altered this behaviour in this snapshot to respect the style property set. For example, if you had a
white-space: preassigned to a textarea, this will make sure the textarea does not wrap text.
Given that we are the only browser respecting setting of this value on textareas, we will keep a lookout for any compatibility issues - if you find any sites break in Opera because of this, please report to us.
A strange bug existed which would somehow invert the background color on which an outline color is applied if the value is set to
currentColor(See example of outline color set to currentColor). This has now been fixed.
list-style-imageis specified with a valid image in the presence of
list-style-type: none, it should render the bullet as an image. Previously, Opera did not render the image if it was a CSS gradient, but now it does (See this example of
list-style-imagewith a gradient).
Opera calculated box and text shadows incorrectly. The spec states the box shadow must be a gaussian blur with a standard deviation equal to half the blur radius. This was not the case earlier (see CSS box shadow gaussian blur compared with the SVG gaussian blur). We have now fixed this for both box and text shadows.
Text selection was impossible when you set line-height to 0 and overflow set to hidden. This has been fixed.
Opera used to drop rules that followed a declaration that had
!importantbut lacked a closing semicolon. This caused compatibility issues on numerous sites that had incorrect style declarations (all the more reason to use a tool that outputs valid styles!).You can see how having an invalid
!importantimpacts styling of the text.
We have been working on improving performance, and while doing so, we found a double click bug, which resulted in elements remaining in
activestate after double clicking.
Style tags in embedded SVG in HTML5 were ignored, but no longer.
EventSource has been updated to set
falseby default as per the latest update to the specification prompted by Jonas Sicking of Mozilla.
postMessageused to return
file: //localhost(for example) instead of
nullthat the specification mentions. This has been updated to return null for file scheme.
Occasionally, the last progress event of the FileReaderAPI would be fired after
loadendevent, but this has now been fixed.
Event.prototypenow has constants
document.lastModifiedhas been updated to return current time if it is not known, to match the spec.
We noted that traversing DOM and running cloneNodes, and setting innerHTML en masse spikes CPU usage - most notably on this redhat bugzilla page. This is much less strenuous on the CPU than before.
- When a numeric or date input element was hidden and then cleared of value and shown, the old value was still preserved (here is an example of that). This has been fixed.