[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: |
Sat, 20 Feb 2016 03:43:20 +0000 |
User-agent: |
Opera/9.80 (Windows NT 5.1; U; en) Presto/2.9.168 Version/11.51 |
Follow-up Comment #11, bug #47004 (project gnash):
This is text output from `js2flash-errorstring.html` on browser with current
Gnash:
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!
Gnash's debug output (verbosity 1) from the run:
98 SECURITY: Extensions disabled
98 UNIMPLEMENTED: FileAttributes tag in the SWF requests that network access
is not granted to this movie (or application?) when loaded from the
filesystem. Anyway Gnash won't care; use white/black listing in your .gnashrc
instead
99 TRACE: callee: finished initializing
2950 TRACE: callee: error_call callback invoked
2951 ERROR: Couldn't process ExternalInterface Call error_call
2961 TRACE: callee: securityerror_call callback invoked
2961 ERROR: Couldn't process ExternalInterface Call securityerror_call
2971 TRACE: callee: hello_call callback invoked
You'd see that the value returned to JavaScript is now correct, but there are
some odd "ERROR: Couldn't process ExternalInterface Call..." messages
appearing in the debug output.
This could be narrowed down to Gnash (player)'s ExternalInterface callback
handling code function `movie_root::processInvoke()` in
`libcore/movie_root.cpp` around line 1683
<http://git.savannah.gnu.org/cgit/gnash.git/tree/libcore/movie_root.cpp?id=051aa9c34b69e1a0a1d2d75e3cf1db07fcea4006#n1683>:
std::string result = callExternalCallback(invoke->name,
invoke->args);
if (result == ExternalInterface::makeString("Error")) {
return false;
} else if (result == ExternalInterface::makeString("SecurityError"))
{
return false;
}
return true;
This flags legitimate "Error" and "SecurityError" string return value from
callback as error and returned `false` from the `movie_root::processInvoke()`
function, triggering error message
<http://git.savannah.gnu.org/cgit/gnash.git/tree/libcore/movie_root.cpp?id=051aa9c34b69e1a0a1d2d75e3cf1db07fcea4006#n1558>.
This doesn't affect return value seen from JavaScript as
`movie_root::callExternalCallback()` already sent it to host container
<http://git.savannah.gnu.org/cgit/gnash.git/tree/libcore/movie_root.cpp?id=051aa9c34b69e1a0a1d2d75e3cf1db07fcea4006#n1979>.
Gnash: 0.8.11dev (git 051aa9c 15-Feb-2016) NPAPI
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386
_______________________________________________________
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, 2016/02/01
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Nutchanon Wetchasit, 2016/02/06
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Nutchanon Wetchasit, 2016/02/06
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Nutchanon Wetchasit, 2016/02/06
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Nutchanon Wetchasit, 2016/02/07
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Nutchanon Wetchasit, 2016/02/07
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Sandro Santilli, 2016/02/08
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Nutchanon Wetchasit, 2016/02/14
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Sandro Santilli, 2016/02/15
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback,
Nutchanon Wetchasit <=
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Nutchanon Wetchasit, 2016/02/19
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Nutchanon Wetchasit, 2016/02/20
- [Gnash-commit] [bug #47004] Gnash didn't pass string return value "Error" and "SecurityError" from ExternalInterface callback, Nutchanon Wetchasit, 2016/02/27