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:
New Features
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.
CSS
When
textarea
is assignedwhite-space
property that is anything butnowrap
, 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 awhite-space: pre
assigned 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.When
list-style-image
is specified with a valid image in the presence oflist-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 oflist-style-image
with 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
!important
but 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!important
impacts 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
active
state after double clicking.Style tags in embedded SVG in HTML5 were ignored, but no longer.
Removing
border-radius
viaelement.style.removeProperty
now works.
APIs
EventSource has been updated to set
Use Credentials
tofalse
by default as per the latest update to the specification prompted by Jonas Sicking of Mozilla.postMessage
used to returnfile: //localhost
(for example) instead ofnull
that 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
loadend
event, but this has now been fixed.Event.prototype
now has constantsCAPTURING_PHASE
,AT_TARGET
,BUBBLING_PHASE
,CAPTURING_PHASE
,AT_TARGET
, andBUBBLING_PHASE
.document.lastModified
has 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.
HTML
- 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.
Others
- about:blank is not blank enough! Previously our
about:blank
page used to look like this, this has been updated to render just what the HTML5 parser would render when a blank HTML page is served.