Discussion:
[Gnash-commit] [bug #46944] Gnash does not recognize "fscommand:" URI scheme in `MovieClip.getURL()`
Nutchanon Wetchasit
2016-01-21 08:41:47 UTC
Permalink
URL:
<http://savannah.gnu.org/bugs/?46944>

Summary: Gnash does not recognize "fscommand:" URI scheme in
`MovieClip.getURL()`
Project: Gnash - The GNU Flash player
Submitted by: nachanon
Submitted on: Thu 21 Jan 2016 03:41:45 PM ICT
Category: core
Severity: 3 - Normal
Release: master
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any

_______________________________________________________

Details:

While I was testing repainting condition in bug #27981 using SWFC, I ran
into a problem with Gnash's `MovieClip.getURL()` implementation regarding
FSCommand:

It turned out that while "fscommand:" URI scheme works fine on Gnash via the
built-in `getURL()` function powered by `GETURL2` AVM1 instruction,
it is _not recognized in Gnash's `MovieClip.getURL()` method_.

On Adobe Flash Player, "fscommand:" URI issued using `MovieClip.getURL()`
*works the same as built-in `getURL()`*.

I have created test Flash files (Flash 7) using SWFTools's SWFC, libming's
makeswf, and MTASC which tries to issue "fullscreen" FSCommand with "true"
parameter using `MovieClip.getURL("fscommand:fullscreen","true")`, and
run them with `set IgnoreFSCommand false` in `~/.gnashrc` configuration.

This is an image result of `mcgeturl-fscommand.swf` under Adobe Flash Player:
Loading Image...

You'd see that Flash Player recognized the issued FSCommand, and switched to
fullscreen mode.

This is an image result of `mcgeturl-fscommand.swf` under Gnash:
Loading Image...

Gnash's console output shown:

107 SECURITY: Checking security of URL
'file:///mnt/flash/temp_file/gnash-debug.tmp/mcgeturl-fscommand/mcgeturl-fscommand/mcgeturl-fscommand.swf'
107 SECURITY: Load of file
/mnt/flash/temp_file/gnash-debug.tmp/mcgeturl-fscommand/mcgeturl-fscommand/mcgeturl-fscommand.swf
granted (under local sandbox
/mnt/flash/temp_file/gnash-debug.tmp/mcgeturl-fscommand/mcgeturl-fscommand/)
121 SECURITY: Extensions disabled
121 TRACE: This is first frame start.
121 NETWORK: getURL: HOSTFD is -1
gvfs-open: fscommand:///fullscreen: error opening location: The specified
location is not supported
137 TRACE: This is first frame end.


You'd see that Gnash did not recogize the issued FSCommand, and remains in
windowed display. From console output, you'd see that Gnash tried to open
the FSCommand URI via `xdg-open` as if it was a normal URL.

Test SWFs, source code, build script, screenshots, and logs (verbosity 2
+ action error log) are attached as `mcgeturl-fscommand.zip`.

Gnash: 0.8.11dev (git 62cfdfe 16-Jan-2016)
Flash Player: 11.2 r202 (11.2.202.491) Standalone
System: Debian GNU/Linux 7.0 Wheezy i386

Note: This is particularly important for SWF generated using SWFC, as SWFC's
ActionScript compiler seems to recognize neither the built-in `getURL()`
instruction nor the `fscommand()` macro; only way for SWFC-based script
to issue FSCommand is doing it via `MovieClip.getURL()`.




_______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Thu 21 Jan 2016 03:41:45 PM ICT Name: mcgeturl-fscommand.zip Size:
25kB By: nachanon
Test Flash files, source code, build script, screenshots, and logs
<http://savannah.gnu.org/bugs/download.php?file_id=36108>

_______________________________________________________

Reply to this item at:

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

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Nutchanon Wetchasit
2017-02-19 06:09:05 UTC
Permalink
Follow-up Comment #1, bug #46944 (project gnash):

Patch included, see patch #9264.

After applying this patch, all test SWFs in `mcgeturl-fscommand.zip` should
now display in fullscreen (provided that `ignoreFSCommand` in Gnash
configuration file is set to `false`); and there would be no
unsupported-scheme error message from the external URL handler anymore.

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


_______________________________________________________

Reply to this item at:

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

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Sandro Santilli
2017-02-22 18:37:33 UTC
Permalink
Update of bug #46944 (project gnash):

Status: None => Ready For Test
Assigned to: None => strk

_______________________________________________________

Follow-up Comment #2:

Should be fixed as of commit:144e0827072b746b2bedebe39ca8a7e0fb43a455

Please test :)

_______________________________________________________

Reply to this item at:

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

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Nutchanon Wetchasit
2017-02-23 16:48:18 UTC
Permalink
Follow-up Comment #3, bug #46944 (project gnash):

I confirm that current git version of Gnash is now displaying
`mcgeturl-fscommand-*.swf` from `mcgeturl-fscommand.zip` in fullscreen, and
not emitting any URL handler errors anymore.

*This bug could now be marked as fixed*, and I will follow XFAILED issues
about `undefined` and "<>" parameter value in separate tickets.

Test runs are summarized as follows:

* Gnash, out of the box:
** hostcmd_testrunner_v5: 16 PASSED, 2 XFAILED
** hostcmd_testrunner_v6: 16 PASSED, 2 XFAILED
** hostcmd_testrunner_v7: 16 PASSED, 2 XFAILED
** hostcmd_testrunner_v8: 16 PASSED, 2 XFAILED
** hostcmd_htmltest_v5.html: 43 PASSED, 3 XFAILED
** hostcmd_htmltest_v6.html: 43 PASSED, 3 XFAILED
** hostcmd_htmltest_v7.html: 43 PASSED, 3 XFAILED
** hostcmd_htmltest_v8.html: 43 PASSED, 3 XFAILED
* Gnash, with commit e9eb84e
<https://git.savannah.gnu.org/cgit/gnash.git/commit/?id=e9eb84e128f7f0ba4558d00cf794027bf9125a7d>
reverted:
** hostcmd_testrunner_v5: 2 PASSED, 2 XFAILED, 14 FAILED
** hostcmd_testrunner_v6: 2 PASSED, 2 XFAILED, 14 FAILED
** hostcmd_testrunner_v7: 2 PASSED, 2 XFAILED, 14 FAILED
** hostcmd_testrunner_v8: 2 PASSED, 2 XFAILED, 14 FAILED
** hostcmd_htmltest_v5.html: 2 XFAILED, 14 FAILED *
** hostcmd_htmltest_v6.html: 2 XFAILED, 14 FAILED *
** hostcmd_htmltest_v7.html: 2 XFAILED, 14 FAILED *
** hostcmd_htmltest_v8.html: 2 XFAILED, 14 FAILED *
* Flash Player:
** hostcmd_htmltest_v5.html: 43 PASSED, 5 XPASSED
** hostcmd_htmltest_v6.html: 43 PASSED, 5 XPASSED
** hostcmd_htmltest_v7.html: 43 PASSED, 5 XPASSED
** hostcmd_htmltest_v8.html: 43 PASSED, 5 XPASSED

Notes:

* These figures treat "There should be NN tests run" the same way as other
checks.
* In cases marked with asterisk (*), browser shown 16 errors about
unimplemented `fscommand` protocol; which is totally expected.

Gnash: 0.8.11dev (git 144e082 22-Feb-2017)
Adobe Flash Player: 11.2.202.491 (NPAPI binary)
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386

_______________________________________________________

Reply to this item at:

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

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Sandro Santilli
2017-02-23 21:14:13 UTC
Permalink
Update of bug #46944 (project gnash):

Status: Ready For Test => Fixed
Open/Closed: Open => Closed

_______________________________________________________

Follow-up Comment #4:

Thanks for complete test !

_______________________________________________________

Reply to this item at:

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

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Nutchanon Wetchasit
2017-02-24 14:58:04 UTC
Permalink
Follow-up Comment #5, bug #46944 (project gnash):

The mentioned problem about `undefined` FSCommand parameter
<https://savannah.gnu.org/bugs/?46944#comment3> is now reported as bug
#50393.


_______________________________________________________

Reply to this item at:

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

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
Nutchanon Wetchasit
2017-03-30 07:54:02 UTC
Permalink
Follow-up Comment #6, bug #46944 (project gnash):

The XFAILED issue about "<>" FSCommand parameter is now reported as bug
#50677.

_______________________________________________________

Reply to this item at:

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

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

Loading...