Hi Max,

I tested on Windows so Josh will have to verify the Mac browsers.

- This worked fine in dhtml and swf8. However, I could not get any web page to display in swf7 until I clicked in the window. I tried (Windows) FF1.5/FF2/IE6/IE7.

- The 'Loading..." text never goes away when the page is loaded. I don't think anything you did caused this so FYI.

- Missing copyrights in iframemanager.js

- I think there is a possible lockup in LzBrowser.as. This isn't new. When _dequeueJS() is called to process the queue, there is an assumption that __jslocked won't become true during processing. If this were to happen, _dequeueJS() will take an item off the queue, and then callJS() will put it back on the queue, and so on.


LzBrowser.callJS = function (js, callback) {
...
    if (this.__jslocked == true) {
        var o = [];
        for (var i = 0; i< arguments.length; i++) {
            o[i] = arguments[i];
        }
        this.__jscallq.push(o);
        //Debug.write('queued', this.__jscallq.length, o);
        return;
    }
...
}

LzBrowser._dequeueJS = function (a) {
    this.__jslocked = false;
    this.__jscallback = null;
    if (this.__jscallq.length > 0) {
        var a = this.__jscallq.pop();
        LzBrowser.callJS.apply(this, a);
    }
}


otherwise approved!




Change 20070430-maxcarlson-7 by [EMAIL PROTECTED] on 2007-04-30
10:49:38 PDT
     in /Users/maxcarlson/openlaszlo/legals-clean
     for http://svn.openlaszlo.org/openlaszlo/branches/legals

Summary: Add flash support to html tag

New Features:

Bugs Fixed: LPP-3735 - <html> embedding tag not working in FF2.0 / OS
X in swf

Technical Reviewer: promanik
QA Reviewer: jcrowley
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details: DojoExternalInterface.as - add callback to LzBrowser when
flash/browser subsystem is ready.

LzBrowser.as - queue callJS() calls until flash/browser subsystem is
ready.

html-response.xslt - default to wmode: transparent in flash - to
allow HTML to show through.

html.lzx - Add proxy Lz object to call browser methods from swf.
Calls now delegated to Lz.iframemanager API for both SWf and DHTML.

embed-library.lzs - Include iframemanager.js.

iframemanager.js - Browser APIs to manage iframes, called by html.lzx.

Tests: http://localhost:8080/legals-clean/lps/components/extensions/
test/html.lzx?lzr=dhtml, http://localhost:8080/legals-clean/lps/
components/extensions/test/html.lzx?lzr=swf7 and http://localhost:
8080/legals-clean/lps/components/extensions/test/html.lzx?lzr=swf8
should have relatively consistent behavior.  The DHTML version is
untouched. Tested under webkit, safari and firefox 2 os x.  All
browsers worked across swf7 and swf8 except Safari, which crashes.

Files:
M      WEB-INF/lps/lfc/kernel/swf/dojo/flash6/DojoExternalInterface.as
M      WEB-INF/lps/lfc/kernel/swf/dojo/flash8/DojoExternalInterface.as
M      WEB-INF/lps/lfc/services/platform/swf/LzBrowser.as
M      WEB-INF/lps/templates/html-response.xslt
M      lps/components/extensions/html.lzx
M      lps/includes/source/embed-library.lzs
A      lps/includes/source/iframemanager.js

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070430-
maxcarlson-7.tar


Reply via email to