Nutchanon Wetchasit
2015-08-28 13:09:23 UTC
URL:
<http://savannah.gnu.org/bugs/?45840>
Summary: Gnash ignores bare `var` declaration in timeline
ActionScript
Project: Gnash - The GNU Flash player
Submitted by: nachanon
Submitted on: Fri 28 Aug 2015 08:09:21 PM ICT
Category: core
Severity: 3 - Normal
Release: master
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
This is a follow-up to patch #8721 (GetVariable fix) and bug #42395
(Panopticlick issue).
From bug #42395, getvariable test does not give a correct result
<https://savannah.gnu.org/bugs/?42395#comment7> for
an unassigned variable declared on the timeline; it mistakenly reported
that the variable was not declared at all (instead of being declared with an
`undefined` value).
The cause of this issue could be narrowed down to one line of Gnash's debug
output (verbosity 2 + action error log):
124 ACTIONSCRIPT ERROR: The 'var whatever' syntax in timeline context is a
no-op.
I have created test flash file (using libming's makeswf) that tries
to assign an `undefined` property on root MovieClip from the main timeline
in various way:
* Declaring variable on the timeline
* Declaring variable on the timeline, with `undefined` value assigned
* Assigning through member operator on `this` instance
* Assigning through associative array operator on `this` instance
Then test for its existence using `Object.hasOwnProperty()`.
This is a trace output from Adobe Flash Player:
`this` has `undefined_timeline_declared` property?: true
`this` has `undefined_timeline_assigned` property?: true
`this` has `undefined_object_assigned` property?: true
`this` has `undefined_assoc_assigned` property?: true
You'd see that all method of assigning `undefined` property work as expected.
This is a trace output from current Gnash:
203 ACTIONSCRIPT ERROR: The 'var whatever' syntax in timeline context is a
no-op.
203 TRACE: `this` has `undefined_timeline_declared` property?: false
203 TRACE: `this` has `undefined_timeline_assigned` property?: true
203 TRACE: `this` has `undefined_object_assigned` property?: true
203 TRACE: `this` has `undefined_assoc_assigned` property?: true
You'd see that under Gnash, declaring `var undefined_timeline_declared`
on the timeline does not assign the property on root MovieClip,
which is incorrect.
Test Flash file, optional HTML container, source code, build script,
and full debug logs of both cases are attached (undefprop.zip).
Gnash: 0.8.11dev (git f341372 25-Aug-2015)
Adobe Flash Player: 11.2 r202 (11.2.202.491) standalone binary
System: Debian GNU/Linux 7.0 Wheezy i386
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Fri 28 Aug 2015 08:09:21 PM ICT Name: undefprop.zip Size: 4kB By:
nachanon
Undefined Properties Test Flash file, with source code, and logs
<http://savannah.gnu.org/bugs/download.php?file_id=34760>
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?45840>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
<http://savannah.gnu.org/bugs/?45840>
Summary: Gnash ignores bare `var` declaration in timeline
ActionScript
Project: Gnash - The GNU Flash player
Submitted by: nachanon
Submitted on: Fri 28 Aug 2015 08:09:21 PM ICT
Category: core
Severity: 3 - Normal
Release: master
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
This is a follow-up to patch #8721 (GetVariable fix) and bug #42395
(Panopticlick issue).
From bug #42395, getvariable test does not give a correct result
<https://savannah.gnu.org/bugs/?42395#comment7> for
an unassigned variable declared on the timeline; it mistakenly reported
that the variable was not declared at all (instead of being declared with an
`undefined` value).
The cause of this issue could be narrowed down to one line of Gnash's debug
output (verbosity 2 + action error log):
124 ACTIONSCRIPT ERROR: The 'var whatever' syntax in timeline context is a
no-op.
I have created test flash file (using libming's makeswf) that tries
to assign an `undefined` property on root MovieClip from the main timeline
in various way:
* Declaring variable on the timeline
* Declaring variable on the timeline, with `undefined` value assigned
* Assigning through member operator on `this` instance
* Assigning through associative array operator on `this` instance
Then test for its existence using `Object.hasOwnProperty()`.
This is a trace output from Adobe Flash Player:
`this` has `undefined_timeline_declared` property?: true
`this` has `undefined_timeline_assigned` property?: true
`this` has `undefined_object_assigned` property?: true
`this` has `undefined_assoc_assigned` property?: true
You'd see that all method of assigning `undefined` property work as expected.
This is a trace output from current Gnash:
203 ACTIONSCRIPT ERROR: The 'var whatever' syntax in timeline context is a
no-op.
203 TRACE: `this` has `undefined_timeline_declared` property?: false
203 TRACE: `this` has `undefined_timeline_assigned` property?: true
203 TRACE: `this` has `undefined_object_assigned` property?: true
203 TRACE: `this` has `undefined_assoc_assigned` property?: true
You'd see that under Gnash, declaring `var undefined_timeline_declared`
on the timeline does not assign the property on root MovieClip,
which is incorrect.
Test Flash file, optional HTML container, source code, build script,
and full debug logs of both cases are attached (undefprop.zip).
Gnash: 0.8.11dev (git f341372 25-Aug-2015)
Adobe Flash Player: 11.2 r202 (11.2.202.491) standalone binary
System: Debian GNU/Linux 7.0 Wheezy i386
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Fri 28 Aug 2015 08:09:21 PM ICT Name: undefprop.zip Size: 4kB By:
nachanon
Undefined Properties Test Flash file, with source code, and logs
<http://savannah.gnu.org/bugs/download.php?file_id=34760>
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?45840>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/