Monday, November 20, 2006

Flash Player 9 for Linux Beta 2

We have just refreshed the beta of Adobe Flash Player 9 for Linux, the current version is now 9.0.21.78. This version fixes several critical issues, especially some of the sound problems should be a thing of the past. So we encourage you to update.

Here is a partial list of bugs which were fixed (GNU/Linux specific, general bugs are mentioned in the labs release notes):

188992 - ALSA 2-second stopper problem
189976 - Leaking X11 connections
183202 - Flash crashes with X COMPOSITE
187715 - Asian characters are not displaying as expceted
187409 - Artifacts when initially playing + video stream freeze when selecting second video clip
189437 - Device text rendering performance is less than optimal
187850 - OS freeze right clicking flash movie after clicking another active link
184706 - browser crashes when trying to run use getters or setters from a different scope
188398 - in all the System.codePage 'FileReference', when user attempts to browse, a CRASH is generated
184549 - Mandriva 2006. Installing libflashplayer.so crashes browser
181584 - GUI not rendering correctly. Green out edges on inner frames.
189254 - wipe effect doesn't look right on components if they have no descenders
187885 - Some part of the image is shown out of panel
188349 - Clipping and Masking is not working correctly for Flex Containers when you scroll Text
187689 - Text can become garbled when window redraws.
188709 - Browser hangs
187490 - Crash accessing flash game
188805 - ALT key does not function in Linux player. (Ubuntu, others?)
188089 - RichTextEditor's formatting are not preserved during cut/copy/paste only in linux player
188997 - Selection copy won't paste into Flash.
186982 - activate, deactivate, mouseLeave events don't get fired when clicking inside/outside the player instance
187170 - caps lock and num lock are detected when flash player instance, or even the browser, does not have focus
187741 - change event not triggered when entering text in text field

If you are using flashsupport.c you should update it since I have removed the ICU dependency. I am currently revising this internally since I have received some great feedback on it. You should see these changes in the next version. Hopefully I'll also be able to finally check this into our public SVN repository at that time, since it really belongs there, not on a random web server, without a correct installation script or working versioning system.

Another update: Please note that this version does NOT work with Opera (nor did 9.0.21.55 btw). We know about it and are working with Opera to resolve it. Some sites might work, but most will eventually display a gray or pink rectangle, meaning that the Flash Player did crash. We know it is a problem with the way X11 is used (if you switch X11 to use synchronous mode it should work).

Also, we do NOT support GTK1 browsers and probably never will. That means any FireFox version older than 1.5 will probably not work and older Mozilla/SeaMonkey versions will also fail. The final version will have a safety check for this and the Flash Player will not try to run at all in this case. Right now you will most likely crash.

Labels:

Monday, November 06, 2006

SpiderMonkey's relative Tamarin joins the family


Today Adobe announced that the ECMAScript 4 compatible virtual machine in the Adobe Flash Player has been contributed to the Mozilla project under the name Tamarin. It is the single largest contribution to the Mozilla foundation since its inception and consist of about 135.000 lines of source code. The engine is fully open source using the standard Mozilla license, with the Mozilla foundation retaining full ownership.

What does this mean?

  • I anticipate that Tamarin will become the reference implementation for ECMAScript 4 VMs. Most of you have probably not realized yet, but ActionScript 3 IS an ECMAScript 4 compatible VM (or at least the closest one as one of my coworkers wants me to point out). Yes, it is the implementation of a standard and not something Adobe has made up. Yes, I know ECMAScript 4 was and still is preliminary, but the changes which will be adopted before it goes official will probably be extremely minor (depending on which further additions get approved though).

  • Adobe does NOT open source the Flash Player by doing this. Just the Verifier, JIT, core frameworks and the garbage collection engine are now open source. Also important to note: The java based compiler which converts ECMAScript 4 to the byte code understood by Tamarin is not included in this agreement. Instead the focus will be an ECMAScript 4 based compiler, which will be required for eval() to work anyway since we don't want to pollute Mozilla with too much Java code. Adobe Flash Player 9 does not support eval() to keep the binary size of the Flash Player to a minimum. Our focus on the Java compiler was required to support Flex Builder 2.

  • The plan is that Mozilla and the Adobe Flash Player will share the exact same code base now and in the future. There is no plan to fork the virtual machine at any point. Changes which go into the Mozilla source tree will be directly adopted by Adobe and vice versa.

  • Mozilla might adopt the conservative garbage collector even for SpiderMonkey. Again, what most people do not realize is that we made the switch from a simple reference counting system to a more advanced mechanism for ActionScript 1&2 while maintaining backwards compatibility. This was an incredible challenge. In case of the Adobe Flash Player this resulted in about half the memory requirements in many situations. This would be a huge boon for AJAX based applications, in addition to resolving circular reference issues if they still exist in SpiderMoney.

  • If you study the source code you'll realize that a 64bit port is NOT a recompile away. We are actively working on the 64bit port, the source code right now is still 32bit until the changes required are stabilized.

Labels: