Uploaded image for project: 'Magnolia Resources Module'
  1. Magnolia Resources Module
  2. MGNLRES-39

Chrome refuses to load FlowPlayer from resources workspace

XMLWordPrintable

      As a spin-off from MAGNOLIA-3855:
      The video player shipped with the new STK refused to play on Chrome, while it was working fine on Firefox (Safari uses its own built-in html5 player). The last set of tests revealed that if the SWF is being served from docroot instead of within resources, the player opens fine in Chrome. Here is the result and description of what I did:

      ***

      Some more tests from Jan and me yesterday also did not work. We disabled the various filters (gzip, cache, range) and added a bypass for docroot from where we referenced the file to be played. We also set up a virtual URI mapping for the flowplayer itself so we could serve it from docroot. However, this did not work yesterday. This morning I removed the mgnlUserId and mgnlUserPSWD from the mov file link - yet another thing we had tried - and it started working! So I started taking back in all the filters that we had disabled and it still worked. Once I removed the virtual URI mapping for the flowplayer, it stopped working again.

      So I conducted a few more tests:

      • If the SWF is served from docroot, the video player is loading without problem - even if the movie itself is being served through magnolia (I used a .mov for this test). All filters enabled. Bypass for docroot did not matter, tried it with or without and got the same result.
      • The above does not apply if the movie is a mp4 since Chrome will load its own player for that instead of the flowplayer.

      Here are the response headers for both cases:

      With the virtual URI mapping, working:
      ndesmarais@Natascha-Desmarais-Mac:~ $ curl -u superuser:superuser -v http://localhost:8080/magnolia-empty-webapp/resources/templating-kit/js/mediaplayer/flowplayer-3-2-7.swf
      * About to connect() to localhost port 8080 (#0)
      *   Trying 127.0.0.1... connected
      * Connected to localhost (127.0.0.1) port 8080 (#0)
      * Server auth using Basic with user 'superuser'
      > GET /magnolia-empty-webapp/resources/templating-kit/js/mediaplayer/flowplayer-3-2-7.swf HTTP/1.1
      > Authorization: Basic c3VwZXJ1c2VyOnN1cGVydXNlcg==
      > User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3
      > Host: localhost:8080
      > Accept: */*
      > 
      < HTTP/1.1 200 OK
      < Server: Apache-Coyote/1.1
      < Set-Cookie: JSESSIONID=F354211ABB905DCE128F18D53C8C94D9; Path=/magnolia-empty-webapp
      < Pragma: 
      < Cache-Control: max-age=600, public
      < Expires: Wed, 04 Jan 2012 09:14:36 GMT
      < Accept-Ranges: bytes
      < ETag: W/"120221-1323160324000"
      < Last-Modified: Tue, 06 Dec 2011 08:32:04 GMT
      < Content-Type: application/x-shockwave-flash;charset=UTF-8
      < Content-Length: 120221
      < Date: Wed, 04 Jan 2012 09:04:36 GMT
      
      Without the virtual URI mapping, not working:
      ndesmarais@Natascha-Desmarais-Mac:~ $ curl -u superuser:superuser -v http://localhost:8080/magnolia-empty-webapp/resources/templating-kit/js/mediaplayer/flowplayer-3-2-7.swf
      * About to connect() to localhost port 8080 (#0)
      *   Trying 127.0.0.1... connected
      * Connected to localhost (127.0.0.1) port 8080 (#0)
      * Server auth using Basic with user 'superuser'
      > GET /magnolia-empty-webapp/resources/templating-kit/js/mediaplayer/flowplayer-3-2-7.swf HTTP/1.1
      > Authorization: Basic c3VwZXJ1c2VyOnN1cGVydXNlcg==
      > User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3
      > Host: localhost:8080
      > Accept: */*
      > 
      < HTTP/1.1 200 OK
      < Server: Apache-Coyote/1.1
      < Set-Cookie: JSESSIONID=56ECA24619D30193F3A1866E1403DA85; Path=/magnolia-empty-webapp
      < Pragma: 
      < Cache-Control: max-age=600, public
      < Expires: Wed, 04 Jan 2012 09:19:34 GMT
      < Content-Type: application/x-shockwave-flash;charset=UTF-8
      < Transfer-Encoding: chunked
      < Date: Wed, 04 Jan 2012 09:09:34 GMT
      

      ***

      This might be caused by the fact that the Content-Length is incorrectly set to 0 for the SWF being served from the resources workspace, so the onDOMReady event for loading the SWF simply stops there for Chrome. I'm attaching the virtual URI mapping and the flowplayer so you can try to reproduce this.

        Acceptance criteria

              fgrilli Federico Grilli
              ndesmarais Natascha Desmarais
              Nucleus
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD