bugGnash - The GNU Flash player - Bugs: bug #47354, `Function.call(null)` and...

 
 

bug #47354: `Function.call(null)` and `Function.call(undefined)` provided an incorrect `this` instance

Submitter:  Nutchanon Wetchasit <nachanon>
Submitted:  Mon 07 Mar 2016 12:21:34 PM UTC
   
 
Category:  ActionScript Severity:  3 - Normal
Release:  master Status:  Fixed
Privacy:  Public Assigned to:  strk
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 13 Apr 2016 10:17:53 AM UTC, comment #5: 

On current git version of Gnash, all test SWFs in `fncall-nothis-rev2.zip` and
`fnapply-nothis-rev2.zip` are giving `PASSED` result.

I have also tested reverting http://git.savannah.gnu.org/cgit/gnash.git/commit/?id=a794319ac28c02365eddffd571a37c3ec4fb1eea the fix], and found that 14 test failures are
appearing as expected:

FAIL: astests-v6-Runner: isThisGlobal.apply() [./Function.as:136]
FAIL: astests-v6-Runner: isThisGlobal.apply(undefined) [./Function.as:137]
FAIL: astests-v6-Runner: isThisGlobal.apply(null) [./Function.as:138]
FAIL: astests-v6-Runner: expected: "apply_no_this" obtained:  [./Function.as:140]
FAIL: astests-v6-Runner: expected: "apply_undefined_this" obtained:  [./Function.as:142]
FAIL: astests-v6-Runner: expected: "apply_null_this" obtained:  [./Function.as:144]
FAIL: astests-v6-Runner: delete _global.instanceCheck [./Function.as:145]
FAIL: astests-v6-Runner: ret === _global [./Function.as:188]
FAIL: astests-v6-Runner: ret === _global [./Function.as:195]
FAIL: astests-v6-Runner: ret === _global [./Function.as:202]
FAIL: astests-v6-Runner: expected: "call_no_this" obtained:  [./Function.as:209]
FAIL: astests-v6-Runner: expected: "call_undefined_this" obtained:  [./Function.as:211]
FAIL: astests-v6-Runner: expected: "call_null_this" obtained:  [./Function.as:213]
FAIL: astests-v6-Runner: delete _global.instanceCheck [./Function.as:214]
FAIL: astests-v7-Runner: isThisGlobal.apply() [./Function.as:136]
FAIL: astests-v7-Runner: isThisGlobal.apply(undefined) [./Function.as:137]
FAIL: astests-v7-Runner: isThisGlobal.apply(null) [./Function.as:138]
FAIL: astests-v7-Runner: expected: "apply_no_this" obtained: undefined [./Function.as:140]
FAIL: astests-v7-Runner: expected: "apply_undefined_this" obtained: undefined [./Function.as:142]
FAIL: astests-v7-Runner: expected: "apply_null_this" obtained: undefined [./Function.as:144]
FAIL: astests-v7-Runner: delete _global.instanceCheck [./Function.as:145]
FAIL: astests-v7-Runner: ret === _global [./Function.as:188]
FAIL: astests-v7-Runner: ret === _global [./Function.as:195]
FAIL: astests-v7-Runner: ret === _global [./Function.as:202]
FAIL: astests-v7-Runner: expected: "call_no_this" obtained: undefined [./Function.as:209]
FAIL: astests-v7-Runner: expected: "call_undefined_this" obtained: undefined [./Function.as:211]
FAIL: astests-v7-Runner: expected: "call_null_this" obtained: undefined [./Function.as:213]
FAIL: astests-v7-Runner: delete _global.instanceCheck [./Function.as:214]
FAIL: astests-v8-Runner: isThisGlobal.apply() [./Function.as:136]
FAIL: astests-v8-Runner: isThisGlobal.apply(undefined) [./Function.as:137]
FAIL: astests-v8-Runner: isThisGlobal.apply(null) [./Function.as:138]
FAIL: astests-v8-Runner: expected: "apply_no_this" obtained: undefined [./Function.as:140]
FAIL: astests-v8-Runner: expected: "apply_undefined_this" obtained: undefined [./Function.as:142]
FAIL: astests-v8-Runner: expected: "apply_null_this" obtained: undefined [./Function.as:144]
FAIL: astests-v8-Runner: delete _global.instanceCheck [./Function.as:145]
FAIL: astests-v8-Runner: ret === _global [./Function.as:188]
FAIL: astests-v8-Runner: ret === _global [./Function.as:195]
FAIL: astests-v8-Runner: ret === _global [./Function.as:202]
FAIL: astests-v8-Runner: expected: "call_no_this" obtained: undefined [./Function.as:209]
FAIL: astests-v8-Runner: expected: "call_undefined_this" obtained: undefined [./Function.as:211]
FAIL: astests-v8-Runner: expected: "call_null_this" obtained: undefined [./Function.as:213]
FAIL: astests-v8-Runner: delete _global.instanceCheck [./Function.as:214]


This bug could now be marked as fixed.

Gnash: 0.8.11dev (git 484ca4c 29-Mar-2016)
System: Debian GNU/Linux 7.0 Wheezy i386

Nutchanon Wetchasit <nachanon>
Tue 08 Mar 2016 03:20:40 PM UTC, comment #4: 

Patch included, see patch #8935.

This is debug output (verbosity 1) of `fncall-nothis-rev2-v7.swf` with patched Gnash:

115 SECURITY: Checking security of URL 'file:///mnt/gnashdev/fncall-nothis/fncall-nothis-rev2/fncall-nothis-rev2-v7.swf'
115 SECURITY: Load of file /mnt/gnashdev/fncall-nothis/fncall-nothis-rev2/fncall-nothis-rev2-v7.swf granted (under local sandbox /mnt/gnashdev/fncall-nothis/fncall-nothis-rev2/)
151 SECURITY: Extensions disabled
151 TRACE: PASSED: _global object should be an object type
151 TRACE: PASSED: _global object should be equal to undefined value
152 TRACE: PASSED: _global object should be equal to null value
152 TRACE: PASSED: Appending _global object to empty string should give "undefined" string
152 TRACE: PASSED: _global object should not be strictly equal to undefined value
152 TRACE: PASSED: _global object should not be strictly equal to null value
152 TRACE: PASSED: this pointer inside fn_nothis should be an object type
152 TRACE: PASSED: this pointer inside fn_nothis should be equal to undefined value
152 TRACE: PASSED: this pointer inside fn_nothis should be equal to null value
152 TRACE: PASSED: Appending this pointer inside fn_nothis to empty string should give "undefined" string
152 TRACE: PASSED: this pointer inside fn_nothis should not be strictly equal to undefined value
152 TRACE: PASSED: this pointer inside fn_nothis should not be strictly equal to null value
152 TRACE: PASSED: this pointer inside fn_nothis should be strictly equal to _global object
153 TRACE: PASSED: this pointer inside fn_nullthis should be an object type
153 TRACE: PASSED: this pointer inside fn_nullthis should be equal to undefined value
153 TRACE: PASSED: this pointer inside fn_nullthis should be equal to null value
153 TRACE: PASSED: Appending this pointer inside fn_nullthis to empty string should give "undefined" string
153 TRACE: PASSED: this pointer inside fn_nullthis should not be strictly equal to undefined value
153 TRACE: PASSED: this pointer inside fn_nullthis should not be strictly equal to null value
153 TRACE: PASSED: this pointer inside fn_nullthis should be strictly equal to _global object
153 TRACE: PASSED: this pointer inside fn_undefinedthis should be an object type
153 TRACE: PASSED: this pointer inside fn_undefinedthis should be equal to undefined value
153 TRACE: PASSED: this pointer inside fn_undefinedthis should be equal to null value
153 TRACE: PASSED: Appending this pointer inside fn_undefinedthis to empty string should give "undefined" string
153 TRACE: PASSED: this pointer inside fn_undefinedthis should not be strictly equal to undefined value
153 TRACE: PASSED: this pointer inside fn_undefinedthis should not be strictly equal to null value
154 TRACE: PASSED: this pointer inside fn_undefinedthis should be strictly equal to _global object
154 TRACE: PASSED: _global.nothis_value should be set to the correct value
154 TRACE: PASSED: _global.nullthis_value should be set to the correct value
154 TRACE: PASSED: _global.undefinedthis_value should be set to the correct value
154 TRACE: PASSED: There should be 30 tests run


This is debug output (verbosity 1) of `fnapply-nothis-rev2-v7.swf` with patched Gnash:

116 SECURITY: Checking security of URL 'file:///mnt/gnashdev/fncall-nothis/fnapply-nothis-rev2/fnapply-nothis-rev2-v7.swf'
116 SECURITY: Load of file /mnt/gnashdev/fncall-nothis/fnapply-nothis-rev2/fnapply-nothis-rev2-v7.swf granted (under local sandbox /mnt/gnashdev/fncall-nothis/fnapply-nothis-rev2/)
160 SECURITY: Extensions disabled
161 TRACE: PASSED: _global object should be an object type
161 TRACE: PASSED: _global object should be equal to undefined value
161 TRACE: PASSED: _global object should be equal to null value
162 TRACE: PASSED: Appending _global object to empty string should give "undefined" string
162 TRACE: PASSED: _global object should not be strictly equal to undefined value
162 TRACE: PASSED: _global object should not be strictly equal to null value
162 ACTIONSCRIPT ERROR: Function.apply() called with no args
162 TRACE: PASSED: this pointer inside fn_nothis should be an object type
163 TRACE: PASSED: this pointer inside fn_nothis should be equal to undefined value
163 TRACE: PASSED: this pointer inside fn_nothis should be equal to null value
163 TRACE: PASSED: Appending this pointer inside fn_nothis to empty string should give "undefined" string
163 TRACE: PASSED: this pointer inside fn_nothis should not be strictly equal to undefined value
163 TRACE: PASSED: this pointer inside fn_nothis should not be strictly equal to null value
163 TRACE: PASSED: this pointer inside fn_nothis should be strictly equal to _global object
164 TRACE: PASSED: this pointer inside fn_nullthis should be an object type
164 TRACE: PASSED: this pointer inside fn_nullthis should be equal to undefined value
164 TRACE: PASSED: this pointer inside fn_nullthis should be equal to null value
164 TRACE: PASSED: Appending this pointer inside fn_nullthis to empty string should give "undefined" string
164 TRACE: PASSED: this pointer inside fn_nullthis should not be strictly equal to undefined value
165 TRACE: PASSED: this pointer inside fn_nullthis should not be strictly equal to null value
165 TRACE: PASSED: this pointer inside fn_nullthis should be strictly equal to _global object
165 TRACE: PASSED: this pointer inside fn_undefinedthis should be an object type
165 TRACE: PASSED: this pointer inside fn_undefinedthis should be equal to undefined value
165 TRACE: PASSED: this pointer inside fn_undefinedthis should be equal to null value
165 TRACE: PASSED: Appending this pointer inside fn_undefinedthis to empty string should give "undefined" string
166 TRACE: PASSED: this pointer inside fn_undefinedthis should not be strictly equal to undefined value
166 TRACE: PASSED: this pointer inside fn_undefinedthis should not be strictly equal to null value
166 TRACE: PASSED: this pointer inside fn_undefinedthis should be strictly equal to _global object
166 TRACE: PASSED: _global.nothis_value should be set to the correct value
166 TRACE: PASSED: _global.nullthis_value should be set to the correct value
167 TRACE: PASSED: _global.undefinedthis_value should be set to the correct value
167 TRACE: PASSED: There should be 30 tests run


You'd see that tests are now giving all-PASSED result. (Other version of test
SWFs in both test case are also giving all PASSED result too)

Gnash: 0.8.11dev (patched against git 8b33692 7-Mar-2016)
System: Debian GNU/Linux 7.0 Wheezy i386

Nutchanon Wetchasit <nachanon>
Tue 08 Mar 2016 03:12:06 PM UTC, comment #3: 

I have written an updated version of `fncall-nothis.zip` and
`fnapply-nothis.zip` which include the case where SWF tries to call
`Function.call()` and `Function.apply()` with no argument;
attached as `fncall-nothis-rev2.zip` and `fnapply-nothis-rev2.zip`.


(file #36568, file #36569)

Nutchanon Wetchasit <nachanon>
Tue 08 Mar 2016 12:47:05 PM UTC, comment #2: 

This issue could be narrowed down directly to how `Function.call()` and
`Function.apply()` are currently implemented in Gnash.

`Function.apply()` at `libcore/asobj/Function_as.cpp` around line 107:

        if (!fn.nargs) {
        IF_VERBOSE_ASCODING_ERRORS(
            log_aserror(_("Function.apply() called with no args"));
        );
        new_fn_call.this_ptr = new as_object(getGlobal(fn));
        }
        else {
                // Get the object to use as 'this' reference
                as_object* obj = toObject(fn.arg(0), getVM(fn));

        if (!obj) obj = new as_object(getGlobal(fn));

        new_fn_call.this_ptr = obj;


`Function.call()` at `libcore/asobj/Function_as.cpp` around line 159:

    if (!fn.nargs || fn.arg(0).is_undefined() || fn.arg(0).is_null()) {
        tp = new as_object(getGlobal(fn));
    }


In both methods, `this` inside the called function would be set to an empty object
if `thisObject` argument was not specified, or specified as `null` or `undefined`.

Gnash: 0.8.11dev (git 8b33692 7-Mar-2016)
System: Debian GNU/Linux 7.0 Wheezy i386

Nutchanon Wetchasit <nachanon>
Mon 07 Mar 2016 02:16:36 PM UTC, comment #1: 

Gnash's implementation of `Function.apply()` is also affected by the
same problem. I have made a variant of `fncall-nothis.zip` test which uses
`Function.apply()` instead of `Function.call()`; attached as `fnapply-nothis.zip`.

This is a trace output of `fnapply-nothis-v7.swf` under Flash Player:

PASSED: _global object should be an object type
Warning: valueOf is not a function
PASSED: _global object should be equal to undefined value
Warning: valueOf is not a function
PASSED: _global object should be equal to null value
Warning: valueOf is not a function
PASSED: Appending _global object to empty string should give "undefined" string
PASSED: _global object should not be strictly equal to undefined value
PASSED: _global object should not be strictly equal to null value
PASSED: this pointer inside fn_nullthis should be an object type
Warning: valueOf is not a function
PASSED: this pointer inside fn_nullthis should be equal to undefined value
Warning: valueOf is not a function
PASSED: this pointer inside fn_nullthis should be equal to null value
Warning: valueOf is not a function
PASSED: Appending this pointer inside fn_nullthis to empty string should give "undefined" string
PASSED: this pointer inside fn_nullthis should not be strictly equal to undefined value
PASSED: this pointer inside fn_nullthis should not be strictly equal to null value
PASSED: this pointer inside fn_nullthis should be strictly equal to _global object
PASSED: this pointer inside fn_undefinedthis should be an object type
Warning: valueOf is not a function
PASSED: this pointer inside fn_undefinedthis should be equal to undefined value
Warning: valueOf is not a function
PASSED: this pointer inside fn_undefinedthis should be equal to null value
Warning: valueOf is not a function
PASSED: Appending this pointer inside fn_undefinedthis to empty string should give "undefined" string
PASSED: this pointer inside fn_undefinedthis should not be strictly equal to undefined value
PASSED: this pointer inside fn_undefinedthis should not be strictly equal to null value
PASSED: this pointer inside fn_undefinedthis should be strictly equal to _global object
PASSED: _global.nullthis_value should be set to the correct value
PASSED: _global.undefinedthis_value should be set to the correct value
PASSED: There should be 22 tests run


You'd see that all tests were passed.

This is a debug output (verbosity 1) of `fnapply-nothis-v7.swf` under Gnash:

102 SECURITY: Checking security of URL 'file:///mnt/gnashdev/fncall-nothis/fnapply-nothis/fnapply-nothis-v7.swf'
102 SECURITY: Load of file /mnt/gnashdev/fncall-nothis/fnapply-nothis/fnapply-nothis-v7.swf granted (under local sandbox /mnt/gnashdev/fncall-nothis/fnapply-nothis/)
131 SECURITY: Extensions disabled
132 TRACE: PASSED: _global object should be an object type
132 TRACE: PASSED: _global object should be equal to undefined value
132 TRACE: PASSED: _global object should be equal to null value
132 TRACE: PASSED: Appending _global object to empty string should give "undefined" string
132 TRACE: PASSED: _global object should not be strictly equal to undefined value
132 TRACE: PASSED: _global object should not be strictly equal to null value
133 TRACE: PASSED: this pointer inside fn_nullthis should be an object type
133 TRACE: PASSED: this pointer inside fn_nullthis should be equal to undefined value
133 TRACE: PASSED: this pointer inside fn_nullthis should be equal to null value
133 TRACE: PASSED: Appending this pointer inside fn_nullthis to empty string should give "undefined" string
133 TRACE: PASSED: this pointer inside fn_nullthis should not be strictly equal to undefined value
133 TRACE: PASSED: this pointer inside fn_nullthis should not be strictly equal to null value
133 TRACE: FAILED: this pointer inside fn_nullthis should be strictly equal to _global object
133 TRACE: PASSED: this pointer inside fn_undefinedthis should be an object type
133 TRACE: PASSED: this pointer inside fn_undefinedthis should be equal to undefined value
133 TRACE: PASSED: this pointer inside fn_undefinedthis should be equal to null value
133 TRACE: PASSED: Appending this pointer inside fn_undefinedthis to empty string should give "undefined" string
133 TRACE: PASSED: this pointer inside fn_undefinedthis should not be strictly equal to undefined value
133 TRACE: PASSED: this pointer inside fn_undefinedthis should not be strictly equal to null value
133 TRACE: FAILED: this pointer inside fn_undefinedthis should be strictly equal to _global object
134 ACTIONSCRIPT ERROR: Reference to undefined member [string:nullthis_value] of object [object(gnash::Global_as):0xb8af5290]
134 TRACE: FAILED: _global.nullthis_value should be set to the correct value ("undefined" != "fn_nullthis")
134 ACTIONSCRIPT ERROR: Reference to undefined member [string:undefinedthis_value] of object [object(gnash::Global_as):0xb8af5290]
134 TRACE: FAILED: _global.undefinedthis_value should be set to the correct value ("undefined" != "fn_undefinedthis")
134 TRACE: PASSED: There should be 22 tests run


You'd see that tests were failed in the same way as `Function.call()`.

Gnash: 0.8.11dev (git 8b33692 7-Mar-2016)
Flash Player: 11.2 r202 (11.2.202.491) Standalone
System: Debian GNU/Linux 7.0 Wheezy i386


(file #36566)

Nutchanon Wetchasit <nachanon>
Mon 07 Mar 2016 12:21:34 PM UTC, original submission:  

This is a spin-off from bug #37223 (ExternalInterface issue).

While I was testing on Gnash's ExternalInterface callback behavior when SWF
registered a callback with accompanied `this` object set to `null`
or `undefined`, I found that `this` object inside the callback is supposed
to be the same as one inside function called with `Function.call(null)` or
`Function.call(undefined)`.

On Flash Player, `this` object is actually the ActionScript's `_global` object.
On Gnash, a plain object with no prototype was returned instead, which is incorrect.

I have made test SWF files (using libming's makeswf) which checks following
properties of `this` inside a function called via `Function.call(null)`
and `Function.call(undefined)`:

  • `typeof(this)` should return "object".
  • `this` should be equal to `null` and `undefined`.
  • `this` should not be strictly equal to `null` and `undefined`.
  • When appending `this` to an empty string, it must give "undefined" (Flash 7+) or empty string (Flash 6).
  • `this` should be strictly equal to `_global`.
  • Properties set to `this` must be retrievable later via `_global` object, outside the function.


(The test is similar to `js2flash-nothis-v2.zip` provided in bug #37223)

This is a trace output of `fncall-nothis-v7.swf` under Flash Player:

PASSED: _global object should be an object type
Warning: valueOf is not a function
PASSED: _global object should be equal to undefined value
Warning: valueOf is not a function
PASSED: _global object should be equal to null value
Warning: valueOf is not a function
PASSED: Appending _global object to empty string should give "undefined" string
PASSED: _global object should not be strictly equal to undefined value
PASSED: _global object should not be strictly equal to null value
PASSED: this pointer inside fn_nullthis should be an object type
Warning: valueOf is not a function
PASSED: this pointer inside fn_nullthis should be equal to undefined value
Warning: valueOf is not a function
PASSED: this pointer inside fn_nullthis should be equal to null value
Warning: valueOf is not a function
PASSED: Appending this pointer inside fn_nullthis to empty string should give "undefined" string
PASSED: this pointer inside fn_nullthis should not be strictly equal to undefined value
PASSED: this pointer inside fn_nullthis should not be strictly equal to null value
PASSED: this pointer inside fn_nullthis should be strictly equal to _global object
PASSED: this pointer inside fn_undefinedthis should be an object type
Warning: valueOf is not a function
PASSED: this pointer inside fn_undefinedthis should be equal to undefined value
Warning: valueOf is not a function
PASSED: this pointer inside fn_undefinedthis should be equal to null value
Warning: valueOf is not a function
PASSED: Appending this pointer inside fn_undefinedthis to empty string should give "undefined" string
PASSED: this pointer inside fn_undefinedthis should not be strictly equal to undefined value
PASSED: this pointer inside fn_undefinedthis should not be strictly equal to null value
PASSED: this pointer inside fn_undefinedthis should be strictly equal to _global object
PASSED: _global.nullthis_value should be set to the correct value
PASSED: _global.undefinedthis_value should be set to the correct value
PASSED: There should be 22 tests run


You'd see that all tests were passed.

This is a debug output (verbosity 1) of `fncall-nothis-v7.swf` under Gnash:

105 SECURITY: Checking security of URL 'file:///mnt/gnashdev/fncall-nothis/fncall-nothis/fncall-nothis-v7.swf'
105 SECURITY: Load of file /mnt/gnashdev/fncall-nothis/fncall-nothis/fncall-nothis-v7.swf granted (under local sandbox /mnt/gnashdev/fncall-nothis/fncall-nothis/)
136 SECURITY: Extensions disabled
138 TRACE: PASSED: _global object should be an object type
138 TRACE: PASSED: _global object should be equal to undefined value
138 TRACE: PASSED: _global object should be equal to null value
138 TRACE: PASSED: Appending _global object to empty string should give "undefined" string
138 TRACE: PASSED: _global object should not be strictly equal to undefined value
138 TRACE: PASSED: _global object should not be strictly equal to null value
138 TRACE: PASSED: this pointer inside fn_nullthis should be an object type
138 TRACE: PASSED: this pointer inside fn_nullthis should be equal to undefined value
139 TRACE: PASSED: this pointer inside fn_nullthis should be equal to null value
139 TRACE: PASSED: Appending this pointer inside fn_nullthis to empty string should give "undefined" string
139 TRACE: PASSED: this pointer inside fn_nullthis should not be strictly equal to undefined value
139 TRACE: PASSED: this pointer inside fn_nullthis should not be strictly equal to null value
139 TRACE: FAILED: this pointer inside fn_nullthis should be strictly equal to _global object
139 TRACE: PASSED: this pointer inside fn_undefinedthis should be an object type
139 TRACE: PASSED: this pointer inside fn_undefinedthis should be equal to undefined value
139 TRACE: PASSED: this pointer inside fn_undefinedthis should be equal to null value
139 TRACE: PASSED: Appending this pointer inside fn_undefinedthis to empty string should give "undefined" string
139 TRACE: PASSED: this pointer inside fn_undefinedthis should not be strictly equal to undefined value
139 TRACE: PASSED: this pointer inside fn_undefinedthis should not be strictly equal to null value
140 TRACE: FAILED: this pointer inside fn_undefinedthis should be strictly equal to _global object
140 ACTIONSCRIPT ERROR: Reference to undefined member [string:nullthis_value] of object [object(gnash::Global_as):0xb8a24278]
140 TRACE: FAILED: _global.nullthis_value should be set to the correct value ("undefined" != "fn_nullthis")
140 ACTIONSCRIPT ERROR: Reference to undefined member [string:undefinedthis_value] of object [object(gnash::Global_as):0xb8a24278]
140 TRACE: FAILED: _global.undefinedthis_value should be set to the correct value ("undefined" != "fn_undefinedthis")
140 TRACE: PASSED: There should be 22 tests run


You'd see that tests of properties highlighted above in bold were failed.

Test SWF files (Flash 6-8), full debug logs, and source code are attached
as `fncall-nothis.zip`.

Gnash: 0.8.11dev (git 8b33692 7-Mar-2016)
Flash Player: 11.2 r202 (11.2.202.491) Standalone
System: Debian GNU/Linux 7.0 Wheezy i386

P.S. Gnash's testsute doesn't seem to have automated test on this issue.

Nutchanon Wetchasit <nachanon>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #36568:  fncall-nothis-rev2.zip added by nachanon (12KiB - application/zip - `Function.call()`/`Function.apply()` test SWF files (with no-parameter case), source code, and debug logs)
file #36569:  fnapply-nothis-rev2.zip added by nachanon (12KiB - application/zip - `Function.call()`/`Function.apply()` test SWF files (with no-parameter case), source code, and debug logs)
file #36566:  fnapply-nothis.zip added by nachanon (11KiB - application/zip - `Function.apply()` test SWF files, source code, and debug logs)
file #36565:  fncall-nothis.zip added by nachanon (11KiB - application/zip - `Function.call()` test SWF files, source code, and debug logs)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by strk (Updated the item)
  • -email is unavailable- added by nachanon (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-04-27 strk StatusNone Fixed
        Assigned toNone strk
        Open/ClosedOpen Closed
    2016-03-08 nachanon Attached File- Added fncall-nothis-rev2.zip, #36568
        Attached File- Added fnapply-nothis-rev2.zip, #36569
    2016-03-07 nachanon Attached File- Added fnapply-nothis.zip, #36566
    2016-03-07 nachanon Attached File- Added fncall-nothis.zip, #36565

    Back to the top

    Powered by Savane 3.13-3230.
    Corresponding source code