I confirmed this doesn't work in swf8 with FF 3.6.8 on Windows 7. I think this is the best we can do - and it works with swf10...

Regards,
Max Carlson
OpenLaszlo.org

On 8/3/10 5:29 PM, [email protected] wrote:
I found an in issue with FireFox/swf8. When I create the new window, the
window outline drags but the html contents stays put.


On Tue, Aug 3, 2010 at 7:53 PM, Max Carlson wrote:

Change 20100803-maxcarlson-W by maxcarl...@friendly on 2010-08-03
16:26:24 PDT
in /Users/maxcarlson/openlaszlo/trunk2
for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Add fix for SWF creating duplicate iframes when tab is torn
off in Firefox

New Features: The default wrapper HTML now shows the load progress for
Flash applications.

Bugs Fixed: LPP-9106 - Firefox - Making a tab into a new window
duplicates HTML component iframes

Technical Reviewer: promanik
QA Reviewer: dwheeler

Details: LzPreloader,SWF9Writer - Add immediate call to set the
loadpercentage to 0. Add try/catch blocks to prevent potential
warnings when running where ExternalInterface is not available, e.g.
in standalone Flash players.

lzpreloader - Add immediate call to set the loadpercentage to 0.

embed-body.xslt - Add load indicators for Flash.

html.lzx - Break iframe initialization into two parts - create, then
set the iframe's id on the instance. Use a callback in create() to
store a reference to the iframe owner. Rework __gotMouseEvent() to use
__iframecallback(), move logic to __handleMouseEvent().
embednew - Update comments in loadJSLib(). Delay calling
_sendAllKeysUp() for onfocus to ensure the app is really loaded. In
_sendPercLoad, if the percentage is less than 100 and we think we're
already loaded, set loaded to false and call lz.embed.resetloaded() to
allow iframes to be cleared. Add resetloaded() which checks to see if
there is an iframemanager loaded, and calls __reset()

iframemanagerstub - Always generate iframe ids. Move setiframeid to
iframemanager.js.

iframemanager - For __reset(), track iframes by app id. Explicitly
call __setiframeid() when the iframe is created. Use
embed.iframemanager.asyncCallback() to send mouse events in Flash. Add
__reset() which finds iframes owned by the app being reset and
destroys them.

Tests: See testcase from LPP-9106 in flash 10 and flash 8

Files:
M WEB-INF/lps/lfc/kernel/swf9/LzPreloader.as
M WEB-INF/lps/lfc/lzpreloader.as
M WEB-INF/lps/server/src/org/openlaszlo/compiler/SWF9Writer.java
M WEB-INF/lps/templates/embed-body_jp.xslt
M WEB-INF/lps/templates/embed-body.xslt
M lps/components/extensions/html.lzx
M lps/includes/source/embednew.js
M lps/includes/source/iframemanagerstub.js
M lps/includes/source/iframemanager.js

Changeset:
http://svn.openlaszlo.org/openlaszlo/patches/20100803-maxcarlson-W.tar

Reply via email to