Mon 05 Oct 2015 02:08:33 PM UTC, original submission:
This is a spin-off from bug #46115 (host container message delimiter issue),
and bug #37223 (JavaScript-to-Flash ExternalInterface issue).
While I was testing on Gnash's container-player communication issue,
I have found that while Gnash's implementation of `ExternalInterface.call()`
calls JavaScript function with correct (String) arguments;
return value from JavaScript, however, is passed to ActionScript as `undefined`.
I have created a minimal Flash file (Flash 8) using MTASC, to demonstrate
the issue by calling a simple JavaScript function from ActionScript side.
Following is a trace log from `flash2js.html` on browser with Adobe Flash Player:
You'd see that JavaScript is called and its String return value is passed correctly.
Following is a trace log from `flash2js.html` on browser with Gnash:
You'd see that JavaScript's return value is passed to ActionScript code as `undefined`.
Test Flash file, build scripts, debug logs, plugin-player communication logs,
and screenshots are attached as `flash2js.zip`.
Note: This problem is likely to be originated from the player itself
(not libgnashplugin), as the return value string is correctly shown up
in container-to-player communication log.
Gnash: 0.8.11dev (git f0f66ce 23-Sep-2015) NPAPI
Flash Player: 11.2.202.491 NPAPI binary
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386
|