The change appears to be working in trunk.
-Maynard
Max Carlson wrote:
Change 20100330-maxcarlson-d by maxcarl...@bank on 2010-03-30 22:26:08 PDT
in /Users/maxcarlson/openlaszlo/trunk-clean
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Fix encoding/decoding of strings with flash/browser communication
Bugs Fixed: LPP-8867 - callJS converts some character patterns incorrectly due
to limitations in flash.external.ExternalInterface.call
Technical Reviewer: ptw
QA Reviewer: mdemmon
Details: kernel/swf/DojoExternalInterface - Update call() to look for string
arguments, encode strings to survive the transfer, and bounce all calls through
lz.embed.__unescapestring(). Return result immediately.
kernel/swf*/LzBrowserKernel - Return results from DojoExternalInterface.call
immediately. Note that this works unless calls are queued at startup.
kernel/swf9/DojoExternalInterface - Escape string arguments so they survive
ExternalInterface. Flash 10 appears to have fixed some encoding issues.
Return results immediately.
embednew - Add lz.embed.__unescapestring(), which decodes the strings, calls
the original method and encodes its return value if necessary.
Tests: See updated testcase for trunk at LPP-8867
Files:
M WEB-INF/lps/lfc/kernel/swf/dojo/flash8/DojoExternalInterface.as
M WEB-INF/lps/lfc/kernel/swf/LzBrowserKernel.lzs
M WEB-INF/lps/lfc/kernel/swf9/DojoExternalInterface.as
M WEB-INF/lps/lfc/kernel/swf9/LzBrowserKernel.lzs
M lps/includes/source/embednew.js
Changeset:
http://svn.openlaszlo.org/openlaszlo/patches/20100330-maxcarlson-d.tar