gnash-commit
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]