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: ActionScriptPriority: 5 - Normal
Status: DonePrivacy: 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.

Notes:

  • 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: 11.0.202.491 (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
  • -unavailable- added by strk (Posted a comment)
  • -unavailable- added by nachanon (Submitted the item)
  •  

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

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 22 Feb 2017 06:36:04 PM UTCstrkStatusReady For Test=>Done
      Open/ClosedOpen=>Closed
    Wed 22 Feb 2017 05:54:58 PM UTCnachanonAttached File-=>Added 0002_movieclip-geturl-add-fscommand-tests.patch, #39811
    Sun 19 Feb 2017 04:29:07 PM UTCstrkStatusNone=>Ready For Test
      Assigned toNone=>strk
    Sun 19 Feb 2017 06:03:00 AM UTCnachanonAttached File-=>Added 0001_movieclip-geturl-add-fscommand-scheme.patch, #39786

    Back to the top


    Powered by Savane 3.1-cleanup1