[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error
From: |
Nutchanon Wetchasit |
Subject: |
[Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback |
Date: |
Fri, 29 Jan 2016 08:05:27 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:25.5) Gecko/20150606 Firefox/31.9 PaleMoon/25.5.0 |
URL:
<http://savannah.gnu.org/bugs/?47004>
Summary: Gnash didn't pass string return value "Error" and
"SecurityError" from ExternalInterface callback
Project: Gnash - The GNU Flash player
Submitted by: nachanon
Submitted on: Fri 29 Jan 2016 03:05:26 PM ICT
Category: plugin
Severity: 3 - Normal
Release: master
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
This is a spin-off from bug #37223 (ExternalInterface registration issue),
and bug #32411 (ExternalInterface Object data issue).
There is a weird problem in libgnashplugin's ExternalInterface callback
return value handling. I found that if a string "Error", or "SecurityError"
is returned from Flash-side callback, JavaScript would get `null` value
instead of the returned string. Other string values are passed correctly.
I have created simple SWF file (Flash 8) using libming's makeswf, which
registers a callback named `error_call` and `securityerror_call` and
`hello_call` which return string "Error", "SecurityError", and "Hello!"
to demonstrate this problem.
Text output from running `js2flash-errorstring.html` under browser with Flash
Player:
Flash's error_call() returned type string, value: Error
Flash's securityerror_call() returned type string, value: SecurityError
Flash's hello_call() returned type string, value: Hello!
You'd see that string "Error", "SecurityError", and "Hello!" are passed back
to JavaScript correctly.
Text output from running `js2flash-errorstring.html` under browser Gnash:
Flash's error_call() returned type object, value: null
Flash's securityerror_call() returned type object, value: null
Flash's hello_call() returned type string, value: Hello!
You'd see that "Error", and "SecurityError" string are passed back to
JavaScript as `null`, which is incorrect.
According to container-player communication dump, each "<string>" value
are correctly sent from Gnash's player side. So this is most likely to be
libgnashplugin's fault.
SWF file, source code, build script, HTML container, screenshots, text output
debug logs, and container-player communication dumps are attached as
`js2flash-errorstring.html`.
Gnash: 0.8.11dev (git 62cfdfe 16-Jan-2016) NPAPI
Flash Player: 11.2 r202 (11.2.202.491) NPAPI binary
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Fri 29 Jan 2016 03:05:26 PM ICT Name: js2flash-errorstring.zip Size:
9kB By: nachanon
Test Flash file, HTML container, source code, screenshots and logs
<http://savannah.gnu.org/bugs/download.php?file_id=36194>
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?47004>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback,
Nutchanon Wetchasit <=