patchGnash - The GNU Flash player - Patches: patch #9264, Patch to implement player...


You are not allowed to post comments on this tracker with your current authentication level.

patch #9264: Patch to implement player FSCommand call via `MovieClip.getURL()`

Submitted by:  Nutchanon Wetchasit <nachanon>
Submitted on:  Sun 19 Feb 2017 06:03:00 AM UTC  
Category:  ActionScript Priority:  5 - Normal
Status:  Done Privacy:  Public
Assigned to:  Sandro Santilli <strk> Open/Closed:  Closed

Wed 22 Feb 2017 06:36:04 PM UTC, comment #3: 

Second patch pushed with commit:0b6fb32a7e0fdedc76dd5a6d9bbf752b7cca8c45

Thank you !

Sandro Santilli <strk>
Project MemberIn charge of this item.
Wed 22 Feb 2017 05:54:58 PM UTC, comment #2: 

Patch 2 of 2.
See the attached `0002_movieclip-geturl-add-fscommand-tests.patch`.

This patch adds following tests to Gnash testsuite:

  • MakeSWF-based test SWF, issuing non-predefined FSCommand from timeline ActionScript via `MovieClip.getURL()`, with various kind of command name and parameters.
  • Automatic shell-based container emulation tests (with external termination) for checking SWF's FSCommand execution.
  • Semi-automatic JavaScript-based tests in HTML container for checking SWF's FSCommand execution in real browser environment and proprietary player.

These checks (both shell-based and JavaScript-based ones) run on SWF version 5 to 8, since `MovieClip.getURL()` is available on Flash 5 onward.


  • The test contain XFAILED cases on...
    • `undefined` FSCommand parameter passing: Flash passes "", but Gnash passes "undefined".
    • "<>" string FSCommand parameter passing: Flash correctly passes "<>", but libgnashplugin won't even call the function (fault of Gnash-libgnashplugin protocol).
  • I used non-predefined (i.e. external) FSCommand, as it is easier to check the FSCommand call and parameter from container's side; in contrast to predefined/internal ones, which likely require a full-blown movierunner-based test to verify result.
  • I created a new test instead of integrating these checks into the existing `extcomm` test, to avoid giving a false impression that the associated HTML test runner is able to run ExternalInterface checks.
  • For the record: the `fscommand()` directive is available since Flash 3.

Gnash: 0.8.11dev (patched against git e9eb84e 19-Feb-2017)
Flash Player: (NPAPI binary)
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386

(file #39811)

Nutchanon Wetchasit <nachanon>
Sun 19 Feb 2017 04:29:07 PM UTC, comment #1: 

Pushed with commit e9eb84e128f7f0ba4558d00cf794027bf9125a7d

Sandro Santilli <strk>
Project MemberIn charge of this item.
Sun 19 Feb 2017 06:03:00 AM UTC, original submission:  

Patch 1 of 2.
See the attached `0001_movieclip-geturl-add-fscommand-scheme.patch`.

Current Gnash handles `FSCommand:` URL scheme in its GETURL instruction implementation, but does not do the same in `MovieClip.getURL()` function. This results in ignored container command and weird errors from external protocol handler when running SWF which tries to issue FSCommand from `MovieClip.getURL()`.

This patch adds a special case inside `MovieClip.getURL()` for handling URL which starts with `FSCommand:` in the same way as current implementation in GETURL instruction; fixing bug #46944.

Automated tests will follow.

Gnash: 0.8.11dev (patched against git e90fc76 31-Jan-2017)
System: Debian GNU/Linux 7.0 Wheezy i386

Nutchanon Wetchasit <nachanon>


Attached Files
file #39811:  0002_movieclip-geturl-add-fscommand-tests.patch added by nachanon (31KiB - text/x-diff - Patch for adding tests on FSCommand URL scheme in `MovieClip.getURL()`)
file #39786:  0001_movieclip-geturl-add-fscommand-scheme.patch added by nachanon (1KiB - text/x-diff - Patch for implementing FSCommand URL scheme in `MovieClip.getURL()`)


Depends on the following items: None found

Items that depend on this one: None found


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

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-02-22 strk StatusReady For Test => Done
        Open/ClosedOpen => Closed
    2017-02-22 nachanon Attached File- => Added 0002_movieclip-geturl-add-fscommand-tests.patch, #39811
    2017-02-19 strk StatusNone => Ready For Test
        Assigned toNone => strk
    2017-02-19 nachanon Attached File- => Added 0001_movieclip-geturl-add-fscommand-scheme.patch, #39786

    Back to the top

    Powered by Savane 3.7