JavaScript on a diet
By Kaja IvarsoyKajaql. Thursday, July 14, 2011 10:30:00 AM
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



1 2 3 4 5 6 Next »
robinkearney # Thursday, July 14, 2011 10:39:54 AM
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
marbross # Thursday, July 14, 2011 10:42:21 AM
Anton DiazAntonDiaz # Thursday, July 14, 2011 10:46:44 AM
Impossible is nothing!
flm # Thursday, July 14, 2011 10:47:58 AM
FransFrenzie # Thursday, July 14, 2011 10:50:20 AM
Originally posted by desktopteam:
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:
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:
wfm, looked in http://www.opera.com/docs/browserjs/ ?
Anton DiazAntonDiaz # Thursday, July 14, 2011 11:04:45 AM
OMG! Test passed at last!
http://antondiaz.narod2.ru/bug-32K-width.htm
KerenSkyy # Thursday, July 14, 2011 11:08:23 AM
Franck ARTAUDFrancky3084 # Thursday, July 14, 2011 11:08:43 AM
Merci
Lucalucaviozzi # Thursday, July 14, 2011 11:09:19 AM
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
Win 7 x64, anyone can confirm ?
mulB # Thursday, July 14, 2011 11:14:14 AM
Win7 64Bit
Serpher # Thursday, July 14, 2011 11:17:23 AM
Mod edit: No requests, please. Take a look at the FAQ.
helsten2 # Thursday, July 14, 2011 11:29:43 AM
Originally posted by lucaviozzi:
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/):
СергейMerser # Thursday, July 14, 2011 11:34:22 AM
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
Testing...
barbara07 # Thursday, July 14, 2011 11:49:42 AM
Wa-HOOOO!
zogster # Thursday, July 14, 2011 12:08:37 PM
MaximSailorMax # Thursday, July 14, 2011 12:12:05 PM
thank you.
jrichard326 # Thursday, July 14, 2011 12:14:49 PM
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
Ola P. Kleivenolak # Thursday, July 14, 2011 12:22:35 PM
Originally posted by SailorMax:
Known, and Google's
Ad von Reekena3ano # Thursday, July 14, 2011 12:25:08 PM
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
win7x64sp1
İlker Şenilker-37 # Thursday, July 14, 2011 12:29:06 PM
netmain # Thursday, July 14, 2011 12:31:05 PM
Originally posted by Siddhartha:
confirmed w7 32 bits
milan velkovskimaxkaspar # Thursday, July 14, 2011 12:32:08 PM
Originally posted by olli:
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:
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
redfalcon # Thursday, July 14, 2011 12:47:12 PM
aplan # Thursday, July 14, 2011 12:52:12 PM
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
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:
Confirmed (MacOS X)
Bhikkhu PesalaPesala # Thursday, July 14, 2011 12:59:43 PM
Opera 11.50 = 3077
barbara07 # Thursday, July 14, 2011 1:00:44 PM
(OSX)
Obese MauriceObeseMaurice # Thursday, July 14, 2011 1:07:57 PM
Originally posted by Pesala:
PeaceKeeper Result 18300 points
Opera 11.50 = 17400
Michael A. Puls IIburnout426 # Thursday, July 14, 2011 1:10:14 PM
Originally posted by koimark:
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
youngjr # Thursday, July 14, 2011 1:13:17 PM
Originally posted by maxkaspar:
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:
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
QuHno # Thursday, July 14, 2011 1:23:01 PM
Intended or bug?
Haavardhaavard # Thursday, July 14, 2011 1:30:53 PM
Originally posted by Sparda57:
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
Testing!
Gousti FruitGoustiFruit # Thursday, July 14, 2011 1:37:46 PM
exzentrik # Thursday, July 14, 2011 1:38:35 PM
Fr0sT # Thursday, July 14, 2011 1:43:49 PM
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:
opera freeze for me, not response. I have to kill task.