Author: max
Date: 2007-09-15 12:53:58 -0700 (Sat, 15 Sep 2007)
New Revision: 6497
Modified:
openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/ExpressInstall.as
openlaszlo/branches/wafflecone/lps/includes/source/embed-library.lzs
openlaszlo/branches/wafflecone/lps/includes/source/flash.js
openlaszlo/branches/wafflecone/lps/includes/source/lzhistory.js
Log:
Change 20070915-maxcarlson-8 by [EMAIL PROTECTED] on 2007-09-15 10:35:13 PDT
in /Users/maxcarlson/openlaszlo/wafflecone
for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone
Summary: Fix Flash player installation and upgrading behavior
New Features:
Bugs Fixed: LPP-4736 - Iframe used for history mechanism in IE is visible,
LPP-4737 - Empty graphic seen when you navigate to the OL app without Flash,
LPP-4734 - Flash installation - after flash player has installed the app
doesn't load
Technical Reviewer: pkang
QA Reviewer: promanik
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details: ExpressInstall.as - Reload on app completion, use correct scope for
other callbacks.
lzhistory.js - Set style of iframe correctly. Skip _checklocationhash() when
we're installing or upgrading the Flash player.
embed-library.lzs - Move flash.js include after embednew.js so browser
detection is available.
flash.js - Use Lz.__BrowserDetect instead of homecooked browser detection.
Reload the page when done installing a player for the first time. Fix
ExpressInstall behavior in write(). Upgrade with expressinstall if the player
version is less than the required Flash version. Always run installers in swf8
so loaded() callbacks are reliable. Use static URL rather than respecting the
current http protocol.
Tests: Uninstall the flash player in windows.
http://localhost:8080/wafflecone/test/history/history.lzx?lzr=swf8 will install
the player and run the application correctly. After uninstalling, and
installing player 7.0.19,
http://localhost:8080/wafflecone/test/history/history.lzx?lzr=swf8 upgrades
correctly via expressinstall. IE history iframes are no longer visible.
Modified:
openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/ExpressInstall.as
===================================================================
---
openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/ExpressInstall.as
2007-09-15 19:47:13 UTC (rev 6496)
+++
openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/ExpressInstall.as
2007-09-15 19:53:58 UTC (rev 6497)
@@ -66,11 +66,15 @@
}
function onInstallStatus(msg){
-
getURL("javascript:dojo.flash.install._onInstallStatus('"+msg+"')");
+ if (msg == 'Download.Complete') {
+ getURL(_root.MMredirectURL);
+ } else {
+
getURL("javascript:dojo.flash.installer._onInstallStatus('"+msg+"')");
+ }
}
}
/* X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2006 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ******************************************************/
Modified: openlaszlo/branches/wafflecone/lps/includes/source/embed-library.lzs
===================================================================
--- openlaszlo/branches/wafflecone/lps/includes/source/embed-library.lzs
2007-09-15 19:47:13 UTC (rev 6496)
+++ openlaszlo/branches/wafflecone/lps/includes/source/embed-library.lzs
2007-09-15 19:53:58 UTC (rev 6497)
@@ -5,8 +5,8 @@
lzOptions = {};
}
+#include "embednew.js"
#include "flash.js"
-#include "embednew.js"
#include "iframemanager.js"
#include "lzhistory.js"
// Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. Use is
Modified: openlaszlo/branches/wafflecone/lps/includes/source/flash.js
===================================================================
--- openlaszlo/branches/wafflecone/lps/includes/source/flash.js 2007-09-15
19:47:13 UTC (rev 6496)
+++ openlaszlo/branches/wafflecone/lps/includes/source/flash.js 2007-09-15
19:53:58 UTC (rev 6497)
@@ -1,3 +1,4 @@
+Lz.__BrowserDetect.init();
dojo = {};
dojo.flash = function(){
@@ -288,10 +289,6 @@
flash8_version: null,
ready: false,
_visible: true,
- _isopera: navigator.userAgent.indexOf("Opera") != -1,
- _issafari: navigator.appVersion.indexOf('Safari') != -1,
- // True if we're on IE. By default, Opera (version 8.5) spoofs itself as
IE.
- _isie: navigator.userAgent.indexOf("MSIE") != -1 && !this._isopera,
width: 500,
height: 400,
bgcolor: '#ffffff',
@@ -427,6 +424,11 @@
//
// dojo.event.connect(dojo.flash, "loaded", myInstance,
"myCallback");
+ // reload the page if installing for the first time
+ if (dojo.flash._isinstaller) {
+ top.location = top.location + '';
+ }
+ dojo.flash.info.installing = false;
//dojo.debug("dojo.flash.loaded");
dojo.flash.ready = true;
if(dojo.flash._loadedListeners.length > 0){
@@ -491,7 +493,7 @@
// Visual basic helper required to detect Flash Player ActiveX control
// version information on Internet Explorer
- if(dojo.flash._isie){
+ if(Lz.__BrowserDetect.isIE){
document.writeln('<script language="VBScript" type="text/vbscript">');
document.writeln('Function VBGetSwfVer(i)');
document.writeln(' on error resume next');
@@ -576,7 +578,7 @@
// loop backwards through the versions until we find the newest
version
for(var testVersion = 25; testVersion > 0; testVersion--){
- if(dojo.flash._isie){
+ if(Lz.__BrowserDetect.isIE){
versionStr = VBGetSwfVer(testVersion);
}else{
versionStr = this._JSFlashInfo(testVersion);
@@ -587,7 +589,7 @@
return;
}else if(versionStr != 0){
var versionArray;
- if(dojo.flash._isie){
+ if(Lz.__BrowserDetect.isIE){
var tempArray = versionStr.split(" ");
var tempString = tempArray[1];
versionArray = tempString.split(",");
@@ -664,7 +666,7 @@
// at this point, we don't have a flash file to detect features on,
// so we need to instead look at the browser environment we are in
- if(dojo.flash._issafari == true || dojo.flash._isopera == true){
+ if(Lz.__BrowserDetect.isSafari == true || Lz.__BrowserDetect.isOpera
== true){
this.commVersion = 8;
}else{
this.commVersion = 6;
@@ -745,10 +747,6 @@
// information. Optional value; defaults to false.
//dojo.debug("write");
- if(doExpressInstall != null){
- doExpressInstall = false;
- }
-
// determine our container div's styling
var containerStyle = '';
containerStyle+= ("width: " + this.__getCSSValue(this.width) + ';');
@@ -783,6 +781,7 @@
+ this.protocol()
+ '://www.macromedia.com/go/getflashplayer">';
}else{ // Flash 8
+ if (flashVer > dojo.flash.version) doExpressInstall = true;
swfloc = dojo.flash.flash8_version;
var swflocObjectVars = this.flashvars;
var swflocEmbedVars = this.flashvars;
@@ -798,7 +797,7 @@
+ "&MMplayerType=PlugIn";
}
- if (dojo.flash._isie) {
+ if (Lz.__BrowserDetect.isIE) {
objectHTML =
'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '
+ 'codebase="'
@@ -939,7 +938,7 @@
document.writeln('</script>');
// hook for Internet Explorer to receive FSCommands from Flash
- if(dojo.flash._isie){
+ if(Lz.__BrowserDetect.isIE){
document.writeln('<SCRIPT LANGUAGE=VBScript> ');
document.writeln('on error resume next ');
document.writeln('Sub ' + id + '_FSCommand(ByVal command, ByVal
args)');
@@ -1280,7 +1279,7 @@
// are we on the Mac? Safari needs Flash version 8 to do Flash 8
// communication, while Firefox/Mac needs Flash 8 to fix bugs it has
// with Flash 6 communication
- if(dojo.flash._issafari == true &&
!dojo.flash.info.isVersionOrAbove(8, 0, 0)){
+ if(Lz.__BrowserDetect.isSafari == true &&
!dojo.flash.info.isVersionOrAbove(8, 0, 0)){
return true;
}
@@ -1306,11 +1305,21 @@
dojo.flash.info.installing = true;
dojo.flash.installing();
+ dojo.flash.ready = false;
if(dojo.flash.info.capable == false){ // we have no Flash at all
- //alert("Completely new install");
+ dojo.flash._isinstaller = true;
// write out a simple Flash object to force the browser to prompt
// the user to install things
- var installObj = new dojo.flash.Embed(false);
+
+ // upgrade URL to flash 8...
+ var url = dojo.flash.flash8_version;
+ var i = url.indexOf('swf7')
+ if (i != -1) {
+ dojo.flash._tempurl = url;
+ url = url.substring(0, i + 3) + '8' + url.substring(i + 4,
url.length);
+ dojo.flash.flash8_version = url;
+ }
+ var installObj = new dojo.flash.Embed(true);
installObj.write(8); // write out HTML for Flash 8 version+
}else if(dojo.flash.info.isVersionOrAbove(6, 0, 65)){ // Express
Install
//dojo.debug("Express install");
@@ -1321,8 +1330,7 @@
}else{ // older Flash install than version 6r65
alert("This content requires a more recent version of the
Macromedia "
+" Flash Player.");
- window.location.href = + dojo.flash.Embed.protocol() +
- "://www.macromedia.com/go/getflashplayer";
+ window.location = "http://www.macromedia.com/go/getflashplayer";
}
},
@@ -1335,8 +1343,7 @@
}else if(msg == "Download.Cancelled"){
alert("This content requires a more recent version of the
Macromedia "
+" Flash Player.");
- window.location.href = dojo.flash.Embed.protocol() +
- "://www.macromedia.com/go/getflashplayer";
+ window.location = "http://www.macromedia.com/go/getflashplayer";
}else if (msg == "Download.Failed"){
// The end user failed to download the installer due to a network
failure
alert("There was an error downloading the Flash Player update. "
Modified: openlaszlo/branches/wafflecone/lps/includes/source/lzhistory.js
===================================================================
--- openlaszlo/branches/wafflecone/lps/includes/source/lzhistory.js
2007-09-15 19:47:13 UTC (rev 6496)
+++ openlaszlo/branches/wafflecone/lps/includes/source/lzhistory.js
2007-09-15 19:53:58 UTC (rev 6497)
@@ -32,9 +32,12 @@
} else if (Lz.__BrowserDetect.isIE) {
// use an iframe;
var i = document.createElement('iframe');
- i.setAttribute('id', 'lzHistory');
- i.setAttribute('style', 'display:none;left:-9999px');
+ Lz.__setAttr(i, 'id', 'lzHistory');
+ Lz.__setAttr(i, 'border', '0');
document.body.appendChild(i);
+ i.style.position = 'absolute';
+ i.style.display = 'none';
+ i.style.left = '-1000px';
Lz.history._iframe = document.getElementById('lzHistory');
var doc = Lz.history._iframe.contentWindow.document;
doc.open();
@@ -59,6 +62,7 @@
,/** @access private */
_checklocationhash: function() {
+ if (dojo.flash && dojo.flash.info && dojo.flash.info.installing)
return;
if (Lz.__BrowserDetect.isSafari) {
var h = this._history[this._historylength - 1];
if (h == '') h = '#0';
@@ -118,6 +122,7 @@
top.location.hash = hash;
this._parse(s + '');
}
+ return true;
}
,/** */
get: function() {
_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins