What's new in Opera Development snapshots: March 26, 2012

Pssst! Yes, you. You like CSS? Interested in some HTML5? Want some hot ECMAScript? Then, my friend, you want to look at this latest Opera desktop snapshot in which our core rendering engine, Presto, gets a huge upgrade.

HTML5

  • This build introduces initial support for HTML5 Drag and Drop. With DnD, Web pages can natively drag elements, selections and microdata from one page onto another, or drag files from the operating system and drop them onto a Web page. Have a play with this simple demo. Another demo presents a list of fruit that you can drag around—have a look at the code and see how you can break this in iteresting ways, and try to figure out why the words and rows are draggable, but the fruit images aren't.

    Currently, we’ve got some bugs and limitations with this initial HTML5 Drag and Drop support, such as issues with dragging to and from external applications. Please give us your feedback and report any DnD-specific issues here.

  • Previously, Opera did not expose how much of a video was preloaded in the native controls that are associated with a video element. This has now been added. Here is a demonstration of that effect.

  • <video> will now use a new kind of cache for streaming resources and limit the bandwidth to (approximately) the bandwidth of the video while playing. This is reflected in the buffered attribute.

  • Cache invalidation for <video> was improved, so live streams should be able to recover from a network error. Previously no new data could be read after a network error.

  • HTML5 defines the default value of the size attribute of an <input> element as 20. Up until this snapshot, it’s been 0. Have a look for yourself at arguably one of the shiniest HTML5 demos of the year.

  • The submit event would fire before HTML5 form validation, allowing invalid or incomplete data to be submitted. For example, clicking Submit with an empty form should not fire alert() here.

CSS

EcmaScript

  • We now correctly support the TypedArray contructor of the form TypedArray(TypedArray array), e.g., var x = new Uint32Array(uint8Array);.

  • ES5.1 defines special handling for String.prototype.split(undefined). Previously we aligned with V8, but as the latest JS engines in Firefox and IE are now compliant we’ve fixed this to match the spec.

DOM

  • The HTML5 structured cloning algorithm has added support for re-assigning ownership of certain objects via Transferables. We’ve updated our implementation to support this now.

  • Appending a <foreignObject> element in SVG or modifying its contents via script never resulted in a reflow, therefore the changes never got painted. Fixed now!

  • Not too long ago, support for window.event, attachEvent, and detachEvent was necessary for the “Best seen in Internet Explorer” class of sites to work. Thankfully, these days are mostly behind us. As such, we’re hiding our support for these IE-isms. What this means is code like if (window.event) will return false, but existing code will work if it relies on it.

  • Another IE-ism that we’re removing is readystatechange events on the <script> element. This was causing a handful of sites to break as we supported both this and script.onload.

  • Previously, in Opera, if the properties of an element changed such that a pseudo-element was no longer generated (Psuedo-elements are generated if a pseudo-element selector matches the element), the pseudo-elements still persisted. This is now fixed.

SVG

  • Direct children of the element with enable-background=new were rendered into its BackgroundImage buffer twice. They no longer do so.

64-bit and out-of-process plug-ins

  • In December 2011 and February this year, we've released 64-bit Labs builds with out-of-process plug-ins. Running plug-ins in a separate process gives Opera a level of protection from plug-in instability, which is one of the most common sources of browser crashes and freezes. This architectural change has now graduated from Labs, and has landed in the desktop Next channel.

Encoding, Unicode, Network, and Graphics (aka Changelog Potpourri)

  • Surrogate pairs no longer work in CSS escape sequences. To understand this, let’s look at 𝌆, a supplementary, non-BMP character. In UTF-16 encoding it consists of two surrogate halves U+D834 and U+DF06. In order to work with this in JS, you’d have to write \ud834\udf06. CSS, on the other hand, doesn’t care about surrogate pairs so content: '\d834\df06' should show invalid characters, not the Unicode symbol. In this example, you shouldn’t see 𝌆 after “WAT”, but some invalid characters.

    Special thanks to Mathias for reporting this to us and writing it up in detail.

  • Did you know that there was x-mac-ukrainian? Me neither. The x-mac-cyrillic mapping is defined in the encoding specification. In the past when Unicode was not yet deployed everywhere, each OS implemented their own version of character sets. Apple defined a Ukrainian set of characters. On the Unicode site, we can find its relation to the cyrillic one.

  • Opera has implemented for a while different open formats: video and audio (OGG, WEBM), image (webp). This release adds the association between the Content-Type (HTTP) with filename extension (file system) for these formats. When you want to add some of your own, you can go to Preferences → Advanced → Download.

    • video/ogg = .ogv, .ogm
    • audio/ogg = .oga, ogg
    • video/webm = .webm
    • image/webp = .webp
  • In the first iterations of Web Forms 2, a lot of ideas of XForms were applied. Since then Web Forms 2 have been added (and modified) to HTML5. The initial Web Forms 2 specification had application/x-www-form+xml as a form encoding type to enable XForms parity. It is not part of the HTML5 specification anymore, so we dropped support for it.

  • It is better to encode your Web pages in UTF-8, and serve them as such. In HTTP, the HTTP header has priority, then the meta name contained in HTML. Some Web pages have specific encoding. It happens often on the Web that the Web page encoding is different from the one specified in the file and/or the one specified in HTTP headers. It creates issues for users who receive unreadable characters on their screens. So the browsers have to fix the encoding on the fly. We had bug reports about Web sites sending BOM different from the HTTP header. We decided to make the BOM authoritative like webkit and IE, because there are more chances for it to be exact than the HTTP headers.

  • Opera used to treat “unexpected out of order” code in a gif file as a hard error and abort decoding, while other browsers didn’t. The implementation has been changed so this is consistent. Here is a smiley blowing its nose - in older Opera versions it would not reach the nose-blowing state, but now it does.

So where do you get all these goodies? You could just hang out and wait a little while until your Opera.Next updates itself (Browser Identification will show Presto/2.10.282 in opera:about if you've got the latest).

But I bet you want to grab it while it's hot, so you can grab it from from the Desktop team's blog post.

Opera Mobile Emulator 12 updateOpera's Turkish fans opening the Web

Comments

mubaidr Monday, March 26, 2012 2:34:00 PM

cheers

Mağruf ÇolakoğluZAHEK Monday, March 26, 2012 2:49:12 PM

thanks

Kai OckendorfOckendorf Monday, March 26, 2012 3:02:16 PM

Thanks! But can I run both, 32 & 64 bit builds? For now I have 3 versions installed: Laps (64bit), Next and 11.62 RC...64bit are now Next versions too confused

W7x64 SP1

inDigazzZAnuarSh Monday, March 26, 2012 3:03:03 PM

Originally posted by Mike Taylor:

demo of text-shadow transitioning



In all four browsers (Opera latest, Chrome Dev latest, Nightly latest, IE 9) work in different ways.

Charles SchlossChas4 Monday, March 26, 2012 4:45:48 PM

up

Update to the 64bit build, removed the Labs OOPP

Martin KadlecBS-Harou Monday, March 26, 2012 5:19:39 PM

Talking about EcmaScript. Any chance for "let" support? smile

Charles SchlossChas4 Monday, March 26, 2012 7:28:56 PM

Originally posted by Ockendorf:

Next and 11.62 RC...64bit are now Next versions too


11.62 is not part of the next branch, it is stability work on 11.61

12 is the next and the OOPP/ 64 bit labs build got merged into the 12 snapshot from today

The final big update is the inclusion of out-of-process plugins for the first time in a snapshot (previous OOPP builds were Opera Labs releases)

metude Monday, March 26, 2012 7:33:14 PM

Is there any news from expanding extension API?

Michael A. Puls IIburnout426 Tuesday, March 27, 2012 1:24:00 AM

Awesome!

Muneer Hassan Abdullamha2999 Tuesday, March 27, 2012 2:53:01 PM

cool

QuHno Wednesday, March 28, 2012 8:23:41 PM

May be Chris should rework his demo or you should warn the windows users, that there is a a bug in Opera and they should not click on the rock poster link.
It totally blocks the UI on several 32bit Opera installs on W7 - the demo works but Opera doesn't react any more on anything.
If Opera was started with memguard, it crashes after some seconds...

edit:
woops, I saw this in the RSS feed text of this blog post, it is already edited out here - sorry.

Constantine Vesnac69 Thursday, March 29, 2012 6:23:07 PM

Love background-position transitioning !

@QuHno well, huge branch merges lead to numerous bugs wink but i expect in 2-3 weeks we will see stable Wahoo snapshots once again.

@BS-Harou Talking about EcmaScript. Any chance for "let" support?
recently i noticed that opera supported destructuring assignment in Opera 8, yet later removed it. Also, if you recall how fast did Opera implemented full ES5 spec - you can be pretty sure that they are waiting for this stuff to become consensus, and then implement. Because costs of implementing protypes that will get superseded by next spec (like Harmony Proxies in FF4+, or linear-gradients in old webkits ) is just unaffordable, if you compare it to gains.

Rafael Luikrafaelluik Monday, April 2, 2012 6:17:21 AM

Originally posted by miketaylr:

Please do us a favor and update your sites and tools to add the -o- prefix for CSS animations.

WTF?
Do the Web a favor and remove these prefixes right now!

QuHno Saturday, April 7, 2012 10:48:48 PM

Originally posted by Ockendorf:

But can I run both, 32 & 64 bit builds?


Yes. Just install them as USB or in different locations.


@c69: Yes, I know that there can be and sometimes are instabilities and big bugs, I hardly missed any public snapshot since they were first issued in the opera.beta newsgroup and such i would bet against that:

Originally posted by c69:

i expect in 2-3 weeks we will see stable Wahoo snapshots once again.

I believe there are still some new things that need intensive public testing.

Ismael M.ismaelmendoza Sunday, April 15, 2012 4:01:14 AM

When will you release Opera 12, still its alpha ! you've forgot opera browser!
Google chrome is stealing your ideas and you stop to create opera 12,
I don't care movil, It shall never be better few cm of movil screen than 17" screens.
google knows it and chrome is growing thanks to your ideas.forget the html5 and opera for movil and give us new function. Opera has to be the best.

Rafael Luikrafaelluik Sunday, April 15, 2012 4:07:17 AM

Originally posted by ismaelmendoza:

When will you release Opera 12, still its alpha ! you've forgot opera browser!

And you forgot about 11.60, .61 and .62.

Originally posted by ismaelmendoza:

Google chrome is stealing your ideas

I don't see any new features in Chrome copied from Opera recently.

Ismael M.ismaelmendoza Sunday, April 15, 2012 9:36:45 PM

Live the world, don't stay only in opera, try the softwares ! read the news about technology.

Rafael Luikrafaelluik Friday, April 20, 2012 2:27:22 AM

Well why don't you try to tell me what new things you're seeing in Chrome copied from Opera?

Athlonite Saturday, April 21, 2012 4:42:01 PM

Who cares about what google have or haven't pinched from Opera I'd just like to see a snapshot that doesn't cock up Live.Skydrive

11.62 = skydrive borked thinks you want to upload a folder when only uploading a single file

12.x (x86) = skydrive borked thinks you want to upload a folder when only uploading a single file

12.x (x64) = skydrive borked thinks you want to upload a folder when only uploading a single file

Rafael Luikrafaelluik Sunday, April 22, 2012 1:58:26 AM

Each with their own personal preferences... whistle

Ismael M.ismaelmendoza Monday, April 23, 2012 10:59:46 PM

Originally posted by rafaelluik:

Well why don't you try to tell me what new things you're seeing in Chrome copied from Opera?



go and try it, I don't have to tell you, if you don't try it don't answer me things you don't know

Rafael Luikrafaelluik Tuesday, April 24, 2012 8:55:48 PM

I already used Chrome and I can't see anything recently implemented at all.

Write a comment

New comments have been disabled for this post.