Opera Desktop Team blog header

JavaScript on a diet

Hi!

My name is Kaja and I'm in Desktop QA doing first-line bug testing on Windows.

Here's the newest snapshot featuring numerous Core updates including:

  • Improved handling of coordinates and widths inside the layout engine (see the changelog for more details)
  • <video preload>, a simple form of bandwidth management where the author can give a hint about how much buffering is acceptable
  • Site compatibility fixes
  • Stability fixes
  • Memory fixes

We have also updated Carakan to use an improved, compact object model which increases overall performance, and reduces the engine's memory usage by up to 6-7% (in some cases even more).

The Core team will continue to improve on this, and will post a more detailed explanation on the Core Concerns blog in the future, but here's a quick summary from the Core team for now:

The Carakan engine internally uses automatic classes to keep track of object properties and their types. We've recently expanded the scope and power of these internal classes significantly to also record the layout (or shape) of the objects along with their property types. Carakan is as a result able to reduce the overhead per object, but the richer type information also enables the generation of better JITed code. The task represent the rollout of this improved, compact object model, demonstrating some of the incremental improvements made. Much more to come.


With such a big update to Core, please watch out for regressions and let us know if you see anything interesting.

Known issues
  • Opera may crash when reloading pages with Dragonfly open
  • Intermittent freezing on some sites (such as Facebook)

WARNING: This is a development snapshot: It contains the latest changes, but may also have severe known issues, including crashes, and data loss situations. In fact, it may not work at all.

Download

Changelog

General Core fixes
  • CORE-28724 Update to new IDNA specification (affects how names are converted to Unicode, and other things)
  • CORE-19293 <video preload> support
  • CORE-28530 Compact object representation in Carakan
  • CORE-38791 Scrolling fails midway in print preview for multipage documents when smooth scrolling is enabled
  • CORE-37682 Plugin memory fix
  • CORE-38808 :valid CSS pseudo-selector not applied when input type url auto-prepends http://
  • CORE-28535 querySelectorAll does not throw for an unsupported pseudo-class part of selector if there is a valid part first (jQuery)
  • CORE-38966 SVG animating fill using <animate> goes through the default color rather than starting from the current color
  • CORE-39004 eval() of JSON-like string fails if simple named property is followed by indexed one, as in "({ x: 'a', 0: 'b' })"
  • CORE-37125 Javascript evaluation of objects literal done in the wrong order
  • CORE-38887 Setting selectorText to invalid selector changes selector
  • CORE-35863 "".split(/re/) not returning an empty array
  • CORE-38923 JavaScript toLocaleDateString gives different results than other browsers
  • CORE-38743 Cache fix for html5rocks.com
  • CORE-38998 Slightly tweaked the JIT compiler's code generation when mixing bitwise operations and other arithmetics
  • CORE-33000 Spatial navigation not blocked in print preview
  • CORE-38973 Fixed a regression that caused HTMLCollection.item to return undefined instead of null for out of range indexes
  • CORE-38885 Parsing <object type="moo"> in a document where scripting is disabled will misbehave
  • CORE-38898 Flash video continues to download after tab is closed
  • CORE-38846 HTTPS connections dropping
  • CORE-37703 Feed preview stops on "loading" with installed extension with injected script
  • CORE-16017 Dragonfly: Clean up "unknown" stop reasons
  • CORE-39086 <mark> closes <p> in the parser
  • CORE-30816 Dragonfly: Need a flag to to show URL loads originating from XHR
  • CORE-15815 Dragonfly: Clean up "unknown" script origin
  • CORE-38757 Setting valueAsNumber does not work as expected
  • CORE-39142 Missing reflow when setting outline dynamically
  • CORE-39049 Changing meta viewport via JavaScript doesn't trigger re-layout
  • CORE-38832 Can't retrieve already-present console messages when starting Dragonfly
  • CORE-7754 empty title="" should override parent title
  • CORE-39239 Failed to submit form in an iframe after frameset in another iframe
  • CORE-38121 User JS errors only reported once
  • CORE-23313 .style.textShadow drops color information
  • CORE-39013 Not all alternate stylesheets are discovered/listed in UI
  • CORE-7604 Font family and whitespace fails
  • CORE-39308 Improve handling of selection in text groups
  • CORE-15517 Three-digit hex color value in html tag attribute gets ignored
  • CORE-38946 document.activeElement should point to frame or iframe if child document has focus
  • CORE-37732 !important symbol gets parsed as part of unquoted font family
  • CORE-39338 SVG slideshow performance problem
  • CORE-27257 A webfont that overloads an existing platform font can break later uses of that font-family
  • CORE-39283 SVG memory leak
  • CORE-39260 CSS <family-name> not parsed correctly
  • CORE-14410 Unquoted font-family with invalid characters not dropped

Coordinate handling
  • CORE-28833 inline-block wrap after exceeding 32767px in overflow container at books.google.com
  • CORE-36187 Floats taller than 32768px automatically cleared (affects Gmail)
  • CORE-2520 Positioning offsets => 32767px hide content
  • CORE-30734 Fixed position elements fail to respond to the mouse when scrolled too far horizontally (>10000 px)
  • CORE-38145 Block width limited to 32768px
  • CORE-31943 inline-block has maximum height of 2^15 (The Google Maps Api Reference)
  • CORE-17557 Page too wide, overflow caused by large negative text-indent and negative margin
  • CORE-35349 Float layout problem at tekniskamuseet.se due to large value not handled properly
  • CORE-30455 No content in the table at the bottom of the 'www.tvguide.com' page - very large with makes scrollbar inactive, setting scrollLeft ignored
  • CORE-4766 Setting large value on iframe's height misplaces iframe
  • CORE-14494 Large values and truncation - disappearing scrollbar horizontal
  • CORE-3472 Large values for left placement on absolutely positioned element fails
  • CORE-32481 Margin and large left placement value causes horizontal scrollbar for absolutely positioned element
  • CORE-33625 Huge margin (>1000px) at RSS preview of forum.de.selfhtml.org
  • CORE-24303 Limited page width (too wide a table, overlap)
  • CORE-14492 Large values and truncation - disappearing scrollbar vertical (img)
  • CORE-29066 IMG can't be taller than 32767px (affects Y!Mail)
  • CORE-13433 Setting DOM element.scrollLeft ignored in some cases (scrollable div with table inside)
  • CORE-4171 Inner table with large percentage width expands outer table
  • CORE-39236 Input box beside button with large text-indent value disappears on receiving focus or typing into it
  • CORE-203 TD with percentage width should override TD with large pixel width
  • CORE-19546 Content pushed down in inline-block with ~2000+ <br> children
  • CORE-19857 Marquee width overflow
  • CORE-38246 Margin miscalculation
  • CORE-15794 Huge replaced inline-block child of inline-table not redrawn after obscuring window/dialog is dismissed
  • CORE-7534 getComputedStyle retreives incorrect initial value of max-width and max-height properties
  • CORE-6066 offsetHeight value limit
  • CORE-38144 Tables width limited to ~32768px
  • DSK-340579 Margin Bottom can't exceed ~32841px

Compatibility
  • CORE-39261 Scrolling prevented on Studenttorget.no
  • CORE-37975 Combination of text-align:right/center and negative text-indent introduces scrollbar in overflow container
  • CORE-31526 Moving element with box-shadow fails to paint correctly
  • CORE-24134 Should strip whitespace from contents of SCRIPT type attribute
  • CORE-37472 Box-shadow can introduce scrollbars
  • CORE-16900 Scrollbars recieve clicks on CSS positioned elements above them
  • CORE-38109 getPropertyPriority for shorthand properties
  • CORE-38334 ScrollToRect not working properly with border
  • CORE-38559 Overflow value from body propagates to viewport when root element has overflow != visible
  • CORE-9793 font-size: small on form elements produces larger text whilst it shouldn't
  • CORE-38158 Redraw issue when adding same CSS file twice
  • CORE-38254 New Yahoo! Mail chat doesn't load (generated hidden content for DOM-inserted iframe prevents rendering updates to the DOM inside the iframe itself)
  • CORE-38357 Margin is cleared due to combination of embedded content and min-height
  • CORE-38904 Replacing one of two references to the same externam CSS file disables the other

Stability
  • CORE-24058 XPath crash at walgreens.com and other sites
  • CORE-37171 Crash when running extractContents() on range ended at offset zero into a comment
  • CORE-39045 SVG font crash
  • CORE-38382 documentedit crash
  • CORE-38927 Freeze when removing the last element from nested body with documentedit
  • CORE-38765 DOM/documentedit crash
  • CORE-38963 Crash after focusing then unfocusing VIDEO element and pressing keys
  • CORE-39156 Crash on opening link in new tab from cross-network warning
  • CORE-38915 Crash with nested <option> elements
  • CORE-39198 JS crash
  • CORE-39315 DOM crash
  • CORE-38793 Crash on going back to normal view after script removes iframe while document is in print preview
  • CORE-35414 Crash with SVG images that include CSS stylesheets via @import
  • CORE-39008 Form crash
  • CORE-38443 Opera freezes with a big 'link_queue_myopera.dat'
  • CORE-38864 Freeze at Google Maps due to value returned by window.self.innerHeight in an iframe with display:none

Opera Next and auto-updateHandful of bugs fixed!

Comments

robinkearney Thursday, July 14, 2011 10:39:54 AM

1st !

Yay... hope this fixes the "micro freezing" issues experienced with 12... nice changelog. Oooh, exciting ... yum.

Andries Fikkertacfikkert Thursday, July 14, 2011 10:41:04 AM

From happy Tuesday to happy Thursday.

marbross Thursday, July 14, 2011 10:42:21 AM

Nice changelog smile

Anton DiazAntonDiaz Thursday, July 14, 2011 10:46:44 AM

> CORE-38791 Scrolling fails midway in print preview for multipage documents when smooth scrolling is enabled

Impossible is nothing!

flm Thursday, July 14, 2011 10:47:58 AM

Old crashes (on removing "+" button in speeddial and on closing 4+ tabs in stack) are still there. :/

FransFrenzie Thursday, July 14, 2011 10:50:20 AM

Originally posted by desktopteam:

, a simple form of bandwidth management where the author can give a hint about how much buffering is acceptable


What about a user preference in the matter? (especially not preloading when the author says it should occur) Or is that relegated to UserJS/extensions?

Obese MauriceObeseMaurice Thursday, July 14, 2011 10:53:57 AM

Originally posted by flm:

Old crashes (on removing "+" button in speeddial and on closing 4+ tabs in stack) are still there. :/



As you can see, there are only CORE fixes. But yeah, that bug is still here and it's annoying.

olli Thursday, July 14, 2011 11:01:55 AM

Originally posted by maxkaspar:

still no browserjs



wfm, looked in http://www.opera.com/docs/browserjs/ ?

Anton DiazAntonDiaz Thursday, July 14, 2011 11:04:45 AM

> CORE-28833 inline-block wrap after exceeding 32767px in overflow container at books.google.com

OMG! Test passed at last!
http://antondiaz.narod2.ru/bug-32K-width.htm

KerenSkyy Thursday, July 14, 2011 11:08:23 AM

Thank you. Testing now.

Franck ARTAUDFrancky3084 Thursday, July 14, 2011 11:08:43 AM

Welcome Kaja and thanks a lot for this snapshot with an impressive changelog !

Merci smile

Lucalucaviozzi Thursday, July 14, 2011 11:09:19 AM

mhmhmhm xp 32bit it freezes continuosly... :|
Restarted, cleared, done all but same problem :|

edit: impossible to use this build for me it freezes always and always (the pages not the program). Back to the stable one.

Sparda57 Thursday, July 14, 2011 11:10:56 AM

For the moment, I got some troubles with Twitter and 01net.
Win 7 x64, anyone can confirm ?

mulB Thursday, July 14, 2011 11:14:14 AM

I still have sometimes black or white horizontal lines in pictures if Opera is in zoom mode. In my case, Opera is set to 150% by default.

Win7 64Bit

Serpher Thursday, July 14, 2011 11:17:23 AM

RAM consumption drop down by 50 MB.


Mod edit: No requests, please. Take a look at the FAQ.

helsten2 Thursday, July 14, 2011 11:29:43 AM

Originally posted by lucaviozzi:

mhmhmhm xp 32bit it freezes continuosly... :|
Restarted, cleared, done all but same problem :|

edit: impossible to use this build for me it freezes always and always (the pages not the program). Back to the stable one.



Same here. The GPU is at 100%, but nothing is rendered in the tab.
Have to kill Opera in Task Manager. Happened several times within the first 5 minutes, so I am back on the previous snapshot.

Win7-x64

EDIT:
Example: happens every time on this page (http://www.orientering.se/):
Image and video hosting by TinyPic

СергейMerser Thursday, July 14, 2011 11:34:22 AM

DSK-342478
Site http://jsfiddle.net for development and demonstration of html / css / js code ceased to function. Workspaces available.

For example: http://jsfiddle.net/azproduction/W2XgH/

http://jsfiddle.net/EDtaT/7/

Incidentally, the second example illustrates the problem with the rounding of fractional percent in Opera. Still hope for fix.

sabisan Thursday, July 14, 2011 11:40:25 AM

Changelog up

Testing...

barbara07 Thursday, July 14, 2011 11:49:42 AM

Thanks, Kaja...Carakan & Vega updates look promising.

Wa-HOOOO! wink

zogster Thursday, July 14, 2011 12:08:37 PM

For me it is fast and lightweight. I guess Wahoo will destroy everything in browsers tests bigsmile when it's finished.

MaximSailorMax Thursday, July 14, 2011 12:12:05 PM

Coordinate handling: Do you plan fix shifted cell-selection in Google Docs Spreadsheets? (the farther the cell, the greater the shift) Or this is Google's bug? Or this is unknown bug? smile

thank you.

jrichard326 Thursday, July 14, 2011 12:14:49 PM

Multiple freezes on pages has forced me back to build 1017.
Facebook crashes especially. Uses 99% CPU.

Windows XP-SP3 flash 10.3.181.34, no extensions, no widgets

MaximSailorMax Thursday, July 14, 2011 12:20:22 PM

+ when you will update memguard for Wahoo? I have few sites with Opera not responding, but can't report about it...

Ola P. Kleivenolak Thursday, July 14, 2011 12:22:35 PM

Originally posted by SailorMax:

Coordinate handling: Do you plan fix shifted cell-selection in Google Docs Spreadsheets? (the farther the cell, the greater the shift) Or this is Google's bug? Or this is unknown bug? smile

thank you.


Known, and Google's smile Not related to this fix at all.

Ad von Reekena3ano Thursday, July 14, 2011 12:25:08 PM

sad
Reading the core fixes I really had hoped that the Copy Paste bug (submitted as DSK-334971) would be solved. I was hoping for a core fix release.
At least I presume that this bug
(see http://www.vonreeken.demon.nl/test/opera11/CopyPasteOP11_10.htm )
requires a core fix. But correct me if I am wrong.

It is very annoying when copying text from text fields in, in my case, Atlassian JIRA Issue Tracker.
Many lines are prepended with a blank that needs to be deleted after pasting.

Siddhartha Thursday, July 14, 2011 12:26:54 PM

"hangs" with 100% CPU usage when I click on the "messages" button in facebook

win7x64sp1

İlker Şenilker-37 Thursday, July 14, 2011 12:29:06 PM

yeah wink

netmain Thursday, July 14, 2011 12:31:05 PM

thanks for the snapshot, great work

Originally posted by Siddhartha:

"hangs" with 100% CPU usage when I click on the "messages" button in facebook

win7x64sp1



confirmed w7 32 bits

milan velkovskimaxkaspar Thursday, July 14, 2011 12:32:08 PM

Originally posted by olli:

Originally posted by maxkaspar:

still no browserjs

wfm, looked in http://www.opera.com/docs/browserjs/ ?



there was some strange behaviour. it was set in preferences,browser javascript=1. i changed it to 2 and restarted the browser and it changed back to 0. i set it up again to 2, but this time didn't restart opera. it works now.

koimark Thursday, July 14, 2011 12:44:17 PM

Originally posted by netmain:

netmain # 14. July 2011, 14:31
thanks for the snapshot, great work

Originally posted by Siddhartha:
"hangs" with 100% CPU usage when I click on the "messages" button in facebook

win7x64sp1

confirmed w7 32 bits



Cannot confirm W7 Pro 64-bit SP1.

UPDATE: Now I was browsing some facebook pictures and Opera stopped responding. I must close process by task manager. Memory usage doesn't grow or change but program just doesn't accept any input i tried.

ouzowtfouzoWTF Thursday, July 14, 2011 12:44:42 PM

omg I love the bug fixing stuff in this changelog.

redfalcon Thursday, July 14, 2011 12:47:12 PM

netvibes.com doesn't work for me. No content is shown and I can't switch between the tabs.

aplan Thursday, July 14, 2011 12:52:12 PM

Wow!

But I have 2 problems:
1. Cannot login to http://habrahabr.ru/ via wand. It post login&pass to input field and push login-button, but nothing happen.

2. Cannot login to Facebook. After input password Opera freeze. I need to kill them at task manager.

I use w7 x64. Clean install.

barbara07 Thursday, July 14, 2011 12:54:58 PM

Wow, really fast rendering with this build on OSX.

Noticed a bad layout here still, at CP. Middle text column is too narrow.

SteveKong Thursday, July 14, 2011 12:58:11 PM

Originally posted by maxkaspar:

there was some strange behaviour. it was set in preferences,browser javascript=1. i changed it to 2 and restarted the browser and it changed back to 0.


Confirmed (MacOS X)

Bhikkhu PesalaPesala Thursday, July 14, 2011 12:59:43 PM

PeaceKeeper Result 657 points
Opera 11.50 = 3077

barbara07 Thursday, July 14, 2011 1:00:44 PM

I'm getting tiny, tiny fonts when replying in Gmail.
(OSX)

Obese MauriceObeseMaurice Thursday, July 14, 2011 1:07:57 PM

Originally posted by Pesala:

PeaceKeeper Result 657 points
Opera 11.50 = 3077



PeaceKeeper Result 18300 points
Opera 11.50 = 17400

p

Michael A. Puls IIburnout426 Thursday, July 14, 2011 1:10:14 PM

Originally posted by koimark:

UPDATE: Now I was browsing some facebook pictures and Opera stopped responding.



It did this for me too. But, after a minute or so, Opera finally became responsive again.

xeon0541 Thursday, July 14, 2011 1:12:39 PM

after cleaning cache opera 12 don't have any crash on facebook

youngjr Thursday, July 14, 2011 1:13:17 PM

Originally posted by maxkaspar:

Originally posted by olli:
Originally posted by maxkaspar:still no browserjs

wfm, looked in http://www.opera.com/docs/browserjs/ ?


there was some strange behaviour. it was set in preferences,browser javascript=1. i changed it to 2 and restarted the browser and it changed back to 0. i set it up again to 2, but this time didn't restart opera. it works now.



In my case, it was set in preferences, broswer javascript=1. I changed it to 2 and restarted the browser and it canged back to 0 when there is no broswer.js file. I copied the browser.js file, and setting is OK.

Win 7 x64

berend ytsmaytsmabeer Thursday, July 14, 2011 1:17:10 PM

Originally posted by youngjr:

Originally posted by maxkaspar:
Originally posted by olli:
Originally posted by maxkaspar:still no browserjs

wfm, looked in http://www.opera.com/docs/browserjs/ ?


there was some strange behaviour. it was set in preferences,browser javascript=1. i changed it to 2 and restarted the browser and it changed back to 0. i set it up again to 2, but this time didn't restart opera. it works now.


In my case, it was set in preferences, broswer javascript=1. I changed it to 2 and restarted the browser and it canged back to 0 when there is no broswer.js file. I copied the browser.js file, and setting is OK.

Win 7 x64


You need to set it to 1 then let Opera look for update.
Than the browser.js file will be downloaded and setting changes to 2.
No need to restart

GTSSGela2010 Thursday, July 14, 2011 1:18:03 PM

I like Kaja smile

QuHno Thursday, July 14, 2011 1:23:01 PM

I installed this over the last snapshot and the browser.js was not updated. I had to check manually to get the new one.

Intended or bug?

Haavardhaavard Thursday, July 14, 2011 1:30:53 PM

Originally posted by Sparda57:

For the moment, I got some troubles with Twitter and 01net.

Please be more specific when reporting problems. You should always report the exact nature of the problem, and any steps required to reproduce it.

minho Thursday, July 14, 2011 1:37:31 PM

I love this changelog. love
Testing! up

Gousti FruitGoustiFruit Thursday, July 14, 2011 1:37:46 PM

Argh, too bad, first site I visit is broken (I checked the usual extensions suspects, they are not the cause): netvibes.com

exzentrik Thursday, July 14, 2011 1:38:35 PM

Completely messed up headline boxes on http://www.gbase.ch/

Fr0sT Thursday, July 14, 2011 1:43:49 PM

Version 12.00 pre-alpha
Build 1020

I somehow got both "Empty page" and "Speed dial" tabs.
http://img535.imageshack.us/img535/9080/screenshot27827562.png
After that almost any tab action leads to crash.

==

Awesome and huge changelog! Thanks Kaja!

aplan Thursday, July 14, 2011 1:46:50 PM

Originally posted by xeon0541:

after cleaning cache opera 12 don't have any crash on facebook


opera freeze for me, not response. I have to kill task.

Write a comment

New comments have been disabled for this post.