Comments:

In LzInputTextSprite:

Max, now that LzInputTextSprite extends LzTextSprite, can Phil eliminate the copied bits?

Phil, what about the "PBR TODO Check"?

What is the point of the empty constructor?

In LzKeyboardKernel:

Is there any possibility the explicit references to LzKeyboardKernel (rather than this) were because that method was called unbound, i.e., called as a bare function, not as a method on the instance? If it is used in a callback, that is likely the case.

LzLoadQueue:48

Not sure what `this` means here, in the top-level of a class declaration. That code will run in the class initializer, but it is probably meant to be in the instance initializer (i.e., to monitor the variable on the singleton instance). In which case, you don't really need a separate method...

Same thing with line 64. You can't refer to `this` in an instance variable initializer. You'll need to move that initialization into the instance initialize method.

Line 110: See the 'N.B.' comment at the head of the method. Your `this` won't work. (It _will_ work in real Javascript2, but it won't in our implementation since we don't (yet) do bound methods.) This really should not be a method at all, since it clearly expects to be called with `this` bound to something other than an instance...

LzSoundMC: Have we tested that sounds work? There is a TODO about inheriting from movieclip...

LzSprite: The vars in ALL_CAPS should probably be class vars, but then you'd have to find and adjust all references to them...

LzTextSprite:

Same question as for LzInputTextSprite regarding copying vs. inheriting

classname is redundant, that is done by class

You made DEFAULT_SIZE static, but not PAD_TEXTWIDTH?

Line 588: LzText.DEFAULT_SIZE -> LzTextSprite.DEFAULT_SIZE: Is this a bug in the 'real' kernel that should be fixed too?

Otherwise, Approved!


On 2007-10-26, at 15:45 EDT, Philip Romanik wrote:

Change 20071026-Philip-8 by [EMAIL PROTECTED] on 2007-10-26 15:32:12 EDT
   in /cygdrive/f/laszlo/svn/src/svn/openlaszlo/trunk
   for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Convert swf kernel to lfc class system (swf9 kernel)

New Features:

Bugs Fixed:

Technical Reviewer: ptw
QA Reviewer: max
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Convert the *.as files to *.lzs files by converting each file to the lfc class system. No functionality changes have been made. No indentation changes have been
made to minimize the changes.

Note, any changes to the kernel/swf files (beyond r6975) will have to be merged to the /swf9 directory.

Some files contained singleton objects. These were converted to classes with a single instance. For example, LzScreenKernel becomes LzScreenKernelClass which is
instantiated at the end of the file,
  var LzScreenKernel = new LzScreenKernelClass;

There are some commented labeled //TODO or //PBR TODO which highlight some items I need to verify or modify. They don't seem to prevent the swf9 kernel from running.

The two most interesting files to review are LzScreenKernel.lzs and LzMouseKernel.lzs. Another interesting change is with LzTextSprite.set{Width,Height}.

I did not convert the dojo directories. I don't know if there is a flash9 version of these files. The file kernel/swf9/Library.lzs references the /swf/dojo files for now.


Tests:

Modify /kernel/Library.lzs to call
   #include "kernel/swf9/Library.lzs"
instead of
   #include "kernel/swf/Library.lzs"

Rebuild and applications continue to work. I tested with lzpix, calendar, component sampler, and tree.



Files:
M      WEB-INF/lps/lfc/kernel/swf9/LzMakeLoadSprite.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzMediaLoader.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzHTTPLoader.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzSprite.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzSoundMC.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzFunctions.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzXMLTranslator.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzXMLParser.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzScreenKernel.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzLoadQueue.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzMouseKernel.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.lzs
M      WEB-INF/lps/lfc/kernel/swf9/Library.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzRequires.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzAudio.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzFontManager.lzs
M      WEB-INF/lps/lfc/kernel/swf9/LzKeyboardKernel.lzs

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20071026-Philip-8.tar


Reply via email to