gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [bug #32411] ExternalInterface XML parser fails with nest


From: Nutchanon Wetchasit
Subject: [Gnash-commit] [bug #32411] ExternalInterface XML parser fails with nested tags
Date: Wed, 06 Jan 2016 17:24:28 +0000
User-agent: Mozilla/5.0 (X11; Linux i686; rv:25.5) Gecko/20150606 Firefox/31.9 PaleMoon/25.5.0

Follow-up Comment #12, bug #32411 (project gnash):

This is a follow up from bug #37223 comment 4
<https://savannah.gnu.org/bugs/?37223#comment4>.

I have created dummy SWF files to minimally demonstrate the need for this
functionality. One of SWF file receives an Object argument from JavaScript,
another one tries to pass Object return value to JavaScript.

The Object passed is just a simple Object created from `new Object()`
statement (from both language), then assigned a member named `a` with string
value "Hello", and assigned a member named `b` with string value "World".

*Object-Typed Function Argument Case*

This is an image result from `js2flash-objarg.html` under browser with Flash
Player:
http://i.imgur.com/cfDCgOi.png

Flash Player's trace output from the run:

Warning: Reference to undeclared variable, 'JS2FlashObjectArg'
callee: starting
callee: adding ExternalInterface callback
callee: finished initializing
callee: entering ExternalInterface callback
callee: ExternalInterface callback succeeded, expected object with member
[a=Hello, b=World] got object with [a=Hello, b=World]
callee: ExternalInterface callback finished


You'll see that Flash Player passed an ExternalInterface callback's Object
argument and its members correctly.

This is an image result from `js2flash-objarg.html` under browser with Gnash:
http://i.imgur.com/rNCDxOu.png

Gnash's console output shows:

76 SECURITY: Extensions disabled
76 ACTIONSCRIPT ERROR: reference to non-existent variable 'JS2FlashObjectArg'
76 TRACE: callee: starting
77 TRACE: callee: adding ExternalInterface callback
77 TRACE: callee: finished initializing
2939 TRACE: callee: entering ExternalInterface callback
2939 ACTIONSCRIPT ERROR: getMember called against a value that does not cast
to an as_object: [undefined]
2939 ACTIONSCRIPT ERROR: getMember called against a value that does not cast
to an as_object: [undefined]
2939 TRACE: callee: ExternalInterface called incorrectly, expected object with
member [a=Hello, b=World] got undefined with [a=undefined, b=undefined]
2939 TRACE: callee: ExternalInterface callback finished


Apart from hairline stroke issue (bug #45731), you'll see from console output
that Gnash passed an Object-typed ExternalInterface callback argument *as
`undefined`*.

According to Gnash's container-player communication log, the problem started
from libgnashplugin sending an empty `<object>` tag to player, which is
incorrect since this object is supposed to have two member.

Gnash: 0.8.11dev (git 15d61a8 26-Dec-2015) NPAPI
Flash Player: 11.2.202.491 NPAPI binary
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?32411>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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