[Laszlo-checkins] r3812 - in openlaszlo/branches/legals: WEB-INF/lps/lfc/kernel/dhtml lps/includes lps/includes/source test/lfc/legals/testjscomm

max@openlaszlo.org max at openlaszlo.org
Tue Feb 13 19:33:44 PST 2007


Author: max
Date: 2007-02-13 19:33:42 -0800 (Tue, 13 Feb 2007)
New Revision: 3812

Added:
   openlaszlo/branches/legals/lps/includes/h2.html
Modified:
   openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
   openlaszlo/branches/legals/lps/includes/source/embednew.js
   openlaszlo/branches/legals/test/lfc/legals/testjscomm/copy-of-hello.lzx
   openlaszlo/branches/legals/test/lfc/legals/testjscomm/test6.html
   openlaszlo/branches/legals/test/lfc/legals/testjscomm/test8.html
Log:
Change 20070213-maxcarlson-P by maxcarlson at max-carlsons-computer.local on 2007-02-13 13:23:01 PST
    in /Users/maxcarlson/openlaszlo/legals

Summary: Shared browser detection, Safari detection based off webkit build id, Lz.setCanvasAttribute() calls are queued until the flash communication system is ready

New Features:

Bugs Fixed: LPP-3193 - Lz.setCanvasAttribute() calls should be queued until the flash communication system is ready, LPP-3312 - Key Safari browser detection off webkit build id, LPP-3311 - Unify browser sniffing code

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

Documentation:

Release Notes:

Details: test6.html - add lzOptions.ServerRoot so history knows where to load from

copy-of-hello.lzx - Add listener for canvas.historyinit attribute - currently set by the history system when it starts

test8.html - add lzOptions.ServerRoot so history knows where to load from

LzSprite.js - Move __BrowserDetect out of quirks.  Make sure window.Lz exists before running browser tests for quirks so lzunit passes.

embednew.js - Add basic embed for history checking code.  Moved __BrowserDetect from LzSprite.js to here so it can be shared.  Update __isSupportedBrowser() to use __BrowserDetect.  Update __BrowserDetect.dataBrowser.versionSearch entry to grab Webkit build ID for Safari family.  Implement queueing for setCanvasAttribute().  Warn for calls made to getCanvasAttribute() before flash comm is ready.  Add _lzHistEmbed() to write history iframe into page.

h2.html - Add initial version of history loader html, currently calling Lz.setCanvasAttribute('historyinit', 'true') to test queueing.

Tests: test/lfc/legals/testjscomm/test6.html and test/lfc/legals/testjscomm/test8.html shows green 'true' to verify canvas attribute queueing is working, no regressions under Safari or Webkit.  Note that webapp root must be 'legals' - i'll address this in a followup.

Files:
M      test/lfc/legals/testjscomm/test6.html
M      test/lfc/legals/testjscomm/copy-of-hello.lzx
M      test/lfc/legals/testjscomm/test8.html
M      WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
M      lps/includes/source/embednew.js
A      lps/includes/h2.html

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070213-maxcarlson-P.tar

Modified: openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
===================================================================
--- openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js	2007-02-14 03:31:16 UTC (rev 3811)
+++ openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js	2007-02-14 03:33:42 UTC (rev 3812)
@@ -159,102 +159,7 @@
 LzSprite.prototype.scalecanvastopercentage = true;
 
 LzSprite.prototype.quirks = {
-    // from http://www.quirksmode.org/js/detect.html
-    __BrowserDetect: {
-        init: function () {
-            this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
-            this.version = this.searchVersion(navigator.userAgent)
-                || this.searchVersion(navigator.appVersion)
-                || "an unknown version";
-            this.OS = this.searchString(this.dataOS) || "an unknown OS";
-        },
-        searchString: function (data) {
-            for (var i=0;i<data.length;i++)    {
-                var dataString = data[i].string;
-                var dataProp = data[i].prop;
-                this.versionSearchString = data[i].versionSearch || data[i].identity;
-                if (dataString) {
-                    if (dataString.indexOf(data[i].subString) != -1)
-                        return data[i].identity;
-                }
-                else if (dataProp)
-                    return data[i].identity;
-            }
-        },
-        searchVersion: function (dataString) {
-            var index = dataString.indexOf(this.versionSearchString);
-            if (index == -1) return;
-            return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
-        },
-        dataBrowser: [
-            {
-                string: navigator.vendor,
-                subString: "Apple",
-                identity: "Safari"
-            },
-            {
-                prop: window.opera,
-                identity: "Opera"
-            },
-            {
-                string: navigator.vendor,
-                subString: "iCab",
-                identity: "iCab"
-            },
-            {
-                string: navigator.vendor,
-                subString: "KDE",
-                identity: "Konqueror"
-            },
-            {
-                string: navigator.userAgent,
-                subString: "Firefox",
-                identity: "Firefox"
-            },
-            {    // for newer Netscapes (6+)
-                string: navigator.userAgent,
-                subString: "Netscape",
-                identity: "Netscape"
-            },
-            {
-                string: navigator.userAgent,
-                subString: "MSIE",
-                identity: "Explorer",
-                versionSearch: "MSIE"
-            },
-            {
-                string: navigator.userAgent,
-                subString: "Gecko",
-                identity: "Mozilla",
-                versionSearch: "rv"
-            },
-            {     // for older Netscapes (4-)
-                string: navigator.userAgent,
-                subString: "Mozilla",
-                identity: "Netscape",
-                versionSearch: "Mozilla"
-            }
-        ],
-        dataOS : [
-            {
-                string: navigator.platform,
-                subString: "Win",
-                identity: "Windows"
-            },
-            {
-                string: navigator.platform,
-                subString: "Mac",
-                identity: "Mac"
-            },
-            {
-                string: navigator.platform,
-                subString: "Linux",
-                identity: "Linux"
-            }
-        ]
-
-    }
-    ,fix_clickable: true
+    fix_clickable: true
     ,fix_ie_background_height: false
     ,fix_ie_clickable: false
     ,ie_alpha_image_loader: false
@@ -271,58 +176,54 @@
     ,alt_key_sends_control: false
 }
 
-LzSprite.prototype.quirks.__BrowserDetect.init();
+if (window['Lz']) {
+    Lz.__BrowserDetect.init();
 
-// Divs intercept clicks if physically placed on top of an element
-// that's not a parent. See LPP-2680.
-// off for now
-//LzSprite.prototype.quirks['fix_clickable'] = true;
-if (LzSprite.prototype.quirks.__BrowserDetect.browser == 'Explorer') {
-    if ($debug) {
-        if (LzSprite.prototype.quirks.__BrowserDetect.version < 5.5) {
-            Debug.error('Unsupported runtime: IE 5.5 or greater is required, IE', LzSprite.prototype.quirks.__BrowserDetect.version, 'detected');
-        }
-    }
+    // Divs intercept clicks if physically placed on top of an element
+    // that's not a parent. See LPP-2680.
+    // off for now
+    //LzSprite.prototype.quirks['fix_clickable'] = true;
+    if (Lz.__BrowserDetect.browser == 'Explorer') {
+        // Provide IE PNG/opacity support
+        LzSprite.prototype.quirks['ie_alpha_image_loader'] = true;
 
-    // Provide IE PNG/opacity support
-    LzSprite.prototype.quirks['ie_alpha_image_loader'] = true;
+        // IE DOM leak prevention
+        LzSprite.prototype.quirks['ie_leak_prevention'] = true;
 
-    // IE DOM leak prevention
-    LzSprite.prototype.quirks['ie_leak_prevention'] = true;
+        // Use images to force click tree to work in IE
+        LzSprite.prototype.quirks['fix_ie_clickable'] = true;
 
-    // Use images to force click tree to work in IE
-    LzSprite.prototype.quirks['fix_ie_clickable'] = true;
+        // workaround for IE refusing to respect divs with small heights when
+        // no image is attached
+        LzSprite.prototype.quirks['fix_ie_background_height'] = true;
 
-    // workaround for IE refusing to respect divs with small heights when
-    // no image is attached
-    LzSprite.prototype.quirks['fix_ie_background_height'] = true;
+        // workaround for IE not supporting &apos; in innerHTML
+        LzSprite.prototype.quirks['inner_html_no_entity_apos'] = true;
+    }
 
-    // workaround for IE not supporting &apos; in innerHTML
-    LzSprite.prototype.quirks['inner_html_no_entity_apos'] = true;
-}
+    if (Lz.__BrowserDetect.browser == 'Safari') {
+        // Fix bug in where if any parent of an image is hidden the size is 0
+        // TODO: Tucker claims this is fixed in the latest version of webkit
+        LzSprite.prototype.quirks['invisible_parent_image_sizing_fix'] = true;
 
-if (LzSprite.prototype.quirks.__BrowserDetect.browser == 'Safari') {
-    // Fix bug in where if any parent of an image is hidden the size is 0
-    // TODO: Tucker claims this is fixed in the latest version of webkit
-    LzSprite.prototype.quirks['invisible_parent_image_sizing_fix'] = true;
+        // Safari has major performance problems with opacity
+        //LzSprite.prototype.quirks['disable_opacity'] = true;
 
-    // Safari has major performance problems with opacity
-    //LzSprite.prototype.quirks['disable_opacity'] = true;
+        // Remap alt/option key also sends control since control-click shows context menu (see LPP-2584 - Lzpix: problem with multi-selecting images in Safari 2.0.4, dhtml)
+        LzSprite.prototype.quirks['alt_key_sends_control'] = true;
+    }
 
-    // Remap alt/option key also sends control since control-click shows context menu (see LPP-2584 - Lzpix: problem with multi-selecting images in Safari 2.0.4, dhtml)
-    LzSprite.prototype.quirks['alt_key_sends_control'] = true;
-}
+    if (Lz.__BrowserDetect.browser == 'Opera') {
+        // Fix bug in where if any parent of an image is hidden the size is 0
+        LzSprite.prototype.quirks['invisible_parent_image_sizing_fix'] = true;
+    }
 
-if (LzSprite.prototype.quirks.__BrowserDetect.browser == 'Opera') {
-    // Fix bug in where if any parent of an image is hidden the size is 0
-    LzSprite.prototype.quirks['invisible_parent_image_sizing_fix'] = true;
+    if (Lz.__BrowserDetect.browser == 'Firefox' && Lz.__BrowserDetect.version < 2) {
+        // see http://groups.google.ca/group/netscape.public.mozilla.dom/browse_thread/thread/821271ca11a1bdbf/46c87b49c026246f?lnk=st&q=+focus+nsIAutoCompletePopup+selectedIndex&rnum=1
+        LzSprite.prototype.quirks['firefox_autocomplete_bug'] = true;
+    }
 }
 
-if (LzSprite.prototype.quirks.__BrowserDetect.browser == 'Firefox' && LzSprite.prototype.quirks.__BrowserDetect.version < 2) {
-    // see http://groups.google.ca/group/netscape.public.mozilla.dom/browse_thread/thread/821271ca11a1bdbf/46c87b49c026246f?lnk=st&q=+focus+nsIAutoCompletePopup+selectedIndex&rnum=1
-    LzSprite.prototype.quirks['firefox_autocomplete_bug'] = true;
-}
-
 if (LzSprite.prototype.quirks['css_hide_canvas_during_init']) {
     LzSprite.prototype.__defaultStyles.lzcanvasdiv.display = 'none';
     LzSprite.prototype.__defaultStyles.lzcanvasclickdiv.display = 'none';

Added: openlaszlo/branches/legals/lps/includes/h2.html


Property changes on: openlaszlo/branches/legals/lps/includes/h2.html
___________________________________________________________________
Name: svn:mime-type
   + text/html
Name: svn:eol-style
   + native

Modified: openlaszlo/branches/legals/lps/includes/source/embednew.js
===================================================================
--- openlaszlo/branches/legals/lps/includes/source/embednew.js	2007-02-14 03:31:16 UTC (rev 3811)
+++ openlaszlo/branches/legals/lps/includes/source/embednew.js	2007-02-14 03:33:42 UTC (rev 3812)
@@ -84,6 +84,7 @@
 
         //alert('url ' + url + ', ' + flashvars);
 
+        this._lzHistEmbed();
         dojo.flash.setSwf({flash6: url, flash8: url, bgcolor: bgcolor, width: width, height: height, id: id, flashvars: flashvars}, minimumVersion);
     }
 
@@ -214,53 +215,26 @@
       if (this.hasOwnProperty('supportedBrowser')) {
         return this.supportedBrowser;
       }
+      Lz.__BrowserDetect.init();
       // currently only used for IE spoofing NS8
-      var isNetscape = navigator.userAgent.indexOf('Netscape') >= 0;
-      var isSafari = navigator.userAgent.indexOf('Safari') >= 0;
-      var isOpera = navigator.userAgent.indexOf('Opera') >= 0;
-      var isFirefox = navigator.userAgent.indexOf( "Firefox" ) >= 0;
+      var isNetscape = Lz.__BrowserDetect.browser == 'Netscape';
+      var isSafari = Lz.__BrowserDetect.browser == 'Safari';
+      var isOpera = Lz.__BrowserDetect.browser == 'Opera';
+      var isFirefox = Lz.__BrowserDetect.browser == 'Firefox';
       // true if we're on ie and not being spoofed
-      var isIE = navigator.userAgent.indexOf("MSIE") >= 0;
-      isIE &= ! (isNetscape || isSafari || isOpera || isFirefox);
+      var isIE = Lz.__BrowserDetect.browser == 'Explorer' && 
+                 (! (isNetscape || isSafari || isOpera || isFirefox) );
 
-      // Find firefox version, as float
-      var FirefoxVersion = 0.0;
-      var marray = navigator.userAgent.match("Firefox/(\\d+\\.\\d+)");
-      if (marray) {
-        FirefoxVersion = new Number(marray[1]);
-      }
+      var isSupported = (isFirefox && Lz.__BrowserDetect.version >= 1.5) ||
+                        (isIE && Lz.__BrowserDetect.version >= 6.0) ||
+                        (isSafari && Lz.__BrowserDetect.version >= 418.9);
 
-      // Find safari version, as float
-      var SafariVersion = 0.0;
-      var marray = navigator.userAgent.match("Safari/(\\d+\\.\\d+)");
-      if (marray) {
-        SafariVersion = new Number(marray[1]);
-      }
-
-      // NOTE: [2006-11-15 ptw] I assume this is written in a totally
-      // different style because JScript doesn't implement
-      // String.match.  If not, this should be simplified as above.
-      var MSIEVersion = 0.0;
-      if (isIE) {
-        if (navigator.appName == 'Microsoft Internet Explorer')
-        {
-          var ua = navigator.userAgent;
-          var re  = new RegExp("MSIE ([0-9]{1,}[\\.0-9]{0,})");
-          if (re.exec(ua) != null)
-            MSIEVersion = parseFloat( RegExp.$1 );
-        }
-      }
-
-      var isSupported = (isFirefox && FirefoxVersion >= 1.5) ||
-                        (isIE && MSIEVersion >= 6.0) ||
-                        (isSafari && SafariVersion >= 419.3);
-
       if (isSupported) {
         this.supportedBrowser = true;
       } else if (dontAsk) {
         this.supportedBrowser = false;
       } else {
-        this.supportedBrowser = confirm("The OpenLaszlo DHTML runtime is not fully supported on this browser.  Click OK to try it anyway.");
+        this.supportedBrowser = confirm("The OpenLaszlo DHTML runtime is not fully supported on this browser.  Click OK to try it anyway.  [ Detected browser " + Lz.__BrowserDetect.browser + ' version ' + Lz.__BrowserDetect.version + ']');
       }
 
       return this.supportedBrowser;
@@ -275,10 +249,31 @@
      */
     ,setCanvasAttribute: function (name, value) {
         // TODO: implement history
-        if (dojo.flash.comm) {
+        if (dojo.flash.ready) {
             dojo.flash.comm.setCanvasAttribute(name, value);
+        } else {
+            if (this._setCanvasAttributeQ == null) {
+                this._setCanvasAttributeQ = [[name,value]];
+            } else {
+                this._setCanvasAttributeQ.push([name, value]);
+            }
+            dojo.flash.addLoadedListener(Lz._loaded);
         }
     }
+    ,_loaded: function () {
+        if (dojo.flash.info.commVersion == 8) {
+            // wait a bit longer for Flash to init
+            setTimeout('Lz._setCanvasAttributeDequeue()', 100);
+        } else {
+            Lz._setCanvasAttributeDequeue();
+        }
+    }
+    ,_setCanvasAttributeDequeue: function () {
+        while (Lz._setCanvasAttributeQ.length > 0) {
+            var a = Lz._setCanvasAttributeQ.pop();
+            Lz.setCanvasAttribute(a[0], a[1]);
+        }
+    }
 
     /**
      * Reads an attribute from the canvas of an embedded SWF application and 
@@ -287,11 +282,109 @@
      * @param name:String name of the property to read
      */
     ,getCanvasAttribute: function (name) {
-        if (dojo.flash.comm) {
+        if (dojo.flash.ready) {
             return dojo.flash.comm.getCanvasAttribute(name);
+        } else {
+            alert('dojo.flash is not ready: getCanvasAttribute' + name);
         }
     }
 
+    // from http://www.quirksmode.org/js/detect.html
+    ,__BrowserDetect: {
+        init: function () {
+            this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
+            this.version = this.searchVersion(navigator.userAgent)
+                || this.searchVersion(navigator.appVersion)
+                || "an unknown version";
+            this.OS = this.searchString(this.dataOS) || "an unknown OS";
+        },
+        searchString: function (data) {
+            for (var i=0;i<data.length;i++)    {
+                var dataString = data[i].string;
+                var dataProp = data[i].prop;
+                this.versionSearchString = data[i].versionSearch || data[i].identity;
+                if (dataString) {
+                    if (dataString.indexOf(data[i].subString) != -1)
+                        return data[i].identity;
+                }
+                else if (dataProp)
+                    return data[i].identity;
+            }
+        },
+        searchVersion: function (dataString) {
+            var index = dataString.indexOf(this.versionSearchString);
+            if (index == -1) return;
+            return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
+        },
+        dataBrowser: [
+            {
+                string: navigator.userAgent,
+                subString: "Apple",
+                identity: "Safari",
+                versionSearch: "WebKit"
+            },
+            {
+                prop: window.opera,
+                identity: "Opera"
+            },
+            {
+                string: navigator.vendor,
+                subString: "iCab",
+                identity: "iCab"
+            },
+            {
+                string: navigator.vendor,
+                subString: "KDE",
+                identity: "Konqueror"
+            },
+            {
+                string: navigator.userAgent,
+                subString: "Firefox",
+                identity: "Firefox"
+            },
+            {    // for newer Netscapes (6+)
+                string: navigator.userAgent,
+                subString: "Netscape",
+                identity: "Netscape"
+            },
+            {
+                string: navigator.userAgent,
+                subString: "MSIE",
+                identity: "Explorer",
+                versionSearch: "MSIE"
+            },
+            {
+                string: navigator.userAgent,
+                subString: "Gecko",
+                identity: "Mozilla",
+                versionSearch: "rv"
+            },
+            {     // for older Netscapes (4-)
+                string: navigator.userAgent,
+                subString: "Mozilla",
+                identity: "Netscape",
+                versionSearch: "Mozilla"
+            }
+        ],
+        dataOS : [
+            {
+                string: navigator.platform,
+                subString: "Win",
+                identity: "Windows"
+            },
+            {
+                string: navigator.platform,
+                subString: "Mac",
+                identity: "Mac"
+            },
+            {
+                string: navigator.platform,
+                subString: "Linux",
+                identity: "Linux"
+            }
+        ]
+    }
+
     /**
      * Calls javascript method in an embedded SWF application 
      * returns its value
@@ -304,15 +397,14 @@
         }
     }
 
-    /*
-    ,lzHistEmbed: function (wr) {
-        top.webapproot = wr;
-        //alert(top.webapproot + ', ' + window.webapproot);
-        document.write("<div style='position:absolute;left:0px;top:0px;'><iframe src='"+top.webapproot+"/lps/includes/h.html' name='_lzhist' frameborder='0' scrolling='no' width='22' height='0'></iframe></div>");
-        document.write('<div id="_lzevent" style="position:absolute;top:0px;left:0px;"></div>');
+    ,_lzHistEmbed: function () {
+        if (this._histembedded == true || lzOptions == null || lzOptions.ServerRoot == null) return;
+        this._histembedded = true;
+        document.write("<div style='position:absolute;left:0px;top:0px;'><iframe src='"+lzOptions.ServerRoot+"/lps/includes/h2.html?historyinit=true' name='_lzhist' frameborder='0' scrolling='no' width='22' height='0'></iframe></div>");
     }
 
 
+    /*
     // string name
     // string value
     // bool add history event   

Modified: openlaszlo/branches/legals/test/lfc/legals/testjscomm/copy-of-hello.lzx
===================================================================
--- openlaszlo/branches/legals/test/lfc/legals/testjscomm/copy-of-hello.lzx	2007-02-14 03:31:16 UTC (rev 3811)
+++ openlaszlo/branches/legals/test/lfc/legals/testjscomm/copy-of-hello.lzx	2007-02-14 03:33:42 UTC (rev 3812)
@@ -10,6 +10,7 @@
     <attribute name="mytext" value="Hello!" type="text"/>
     <attribute name="foo" value="" type="text"/>
     <attribute name="farb" value="" type="text"/>
+    <attribute name="historyinit" value="" type="text"/>
     <button onclick="">Get browser useragent
         <handler name="onclick">
             LzBrowser.callJS('getUserAgent', function (ua) { canvas.setAttribute('mytext', ua) })
@@ -25,16 +26,30 @@
     <text y="60" text="${parent.foo}" width="100"/>
     <text y="60" x="110" text="${parent.farb}" width="100"/>
     <text y="100" name="stat" multiline="true" width="1000"/>
+    <text y="120" oninit="this.setText('Flash player version: ' + LzBrowser.getVersion())" width="1000"/>
 
     <view name="aview" y="80" bgcolor="red" width="20" height="30">
         <method name="testMethod" args="str, bool1, bool2, num1, num2, prop1, prop2">
         <![CDATA[
-            if (str == 'foo' && bool1 ==true && bool2 == false && num1 == 1 && num2 == 0, prop1 == 20, prop2 == 30) {
+            if (str == 'foo' && bool1 ==true && bool2 == false && num1 == 1 && num2 == 0 && prop1 == 20 && prop2 == 30) {
                 this.setBGColor(0x00ff00);
             } 
         ]]>
         </method>
     </view>
+    <text x="30" y="80" bgcolor="red" width="20" height="30">
+        <method event="oninit">
+            this.checkHistory(canvas.historyinit);
+        </method>
+        <method name="checkHistory" event="onhistoryinit" reference="canvas" args="h">
+        <![CDATA[
+            this.setText(h);
+            if (h == 'true') {
+                this.setBGColor(0x00ff00);
+            } 
+        ]]>
+        </method>
+    </text>
 </canvas>
 <!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
 * Copyright 2001-2007 Laszlo Systems, Inc.  All Rights Reserved.              *

Modified: openlaszlo/branches/legals/test/lfc/legals/testjscomm/test6.html
===================================================================
--- openlaszlo/branches/legals/test/lfc/legals/testjscomm/test6.html	2007-02-14 03:31:16 UTC (rev 3811)
+++ openlaszlo/branches/legals/test/lfc/legals/testjscomm/test6.html	2007-02-14 03:33:42 UTC (rev 3812)
@@ -35,6 +35,7 @@
               }
             })(null, 700);
           }
+        lzOptions = { ServerRoot: '/legals' };
         </script><script type="text/javascript" src="/legals/lps/includes/embed-compressed.js"></script><style type="text/css">
         	html, body
         	{
@@ -57,9 +58,9 @@
         	img { border: 0 none; }
         </style></head>
    <body><script type="text/javascript">
-              Lz.swfEmbed({url: 'copy-of-hello.lzx?lzt=swf', bgcolor: '#ffffff', width: '100%', height: '100', id: 'lzapp', accessible: 'false'});
+              Lz.swfEmbed({url: 'copy-of-hello.lzx?lzt=swf', bgcolor: '#ffffff', width: '100%', height: '200', id: 'lzapp', accessible: 'false'});
               function getUserAgent() {
-                return navigator.userAgent;
+                return navigator.userAgent + ', flash comm: ' + dojo.flash.info.commVersion;
               }  
               function getFoo() {
                 return 'foo';

Modified: openlaszlo/branches/legals/test/lfc/legals/testjscomm/test8.html
===================================================================
--- openlaszlo/branches/legals/test/lfc/legals/testjscomm/test8.html	2007-02-14 03:31:16 UTC (rev 3811)
+++ openlaszlo/branches/legals/test/lfc/legals/testjscomm/test8.html	2007-02-14 03:33:42 UTC (rev 3812)
@@ -35,7 +35,7 @@
               }
             })(null, 700);
           }
-        lzOptions = { forceFlashComm: 8 };
+        lzOptions = { ServerRoot: '/legals', forceFlashComm: 8 };
         </script><script type="text/javascript" src="/legals/lps/includes/embed-compressed.js"></script><style type="text/css">
         	html, body
         	{
@@ -58,9 +58,9 @@
         	img { border: 0 none; }
         </style></head>
    <body><script type="text/javascript">
-              Lz.swfEmbed({url: 'copy-of-hello.lzx?lzt=swf', bgcolor: '#ffffff', width: '100%', height: '100', id: 'lzapp', accessible: 'false'});
+              Lz.swfEmbed({url: 'copy-of-hello.lzx?lzt=swf', bgcolor: '#ffffff', width: '100%', height: '200', id: 'lzapp', accessible: 'false'});
               function getUserAgent() {
-                return navigator.userAgent;
+                return navigator.userAgent + ', flash comm: ' + dojo.flash.info.commVersion;
               }  
               function getFoo() {
                 return 'foo';



More information about the Laszlo-checkins mailing list