Search code examples
apache-flexpdfflashflex4.6flexpaper

FlexPaper - Cannot load remote SWF files into AIR application


I'm trying to load a SWF into a simple app for test purposes. The SWF has been compiled using swftools-0.9.1 using the following command:

/usr/bin/pdf2swf 10993.PDF -o 10993.SWF -f -T 9

The SWF loads fine in a browser.

Using the following Flex code together with Flex SDK 4.6:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       xmlns:flexpaper="com.devaldi.controls.flexpaper.*"
                       creationComplete="onCreationComplete()">
    <fx:Script>
        <![CDATA[
            import flash.utils.setTimeout;

            private function onCreationComplete():void
            {
                swf.SwfFile = 'http://my/domain/10993.SWF';
            }
        ]]>
    </fx:Script>
    <flexpaper:FlexPaperViewer width="100%" height="100%" id="swf"/>
</s:WindowedApplication>

The crossdomain.xml file is:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*"/>
</cross-domain-policy>

The end result is:

SecurityError: Error #3207: Application-sandbox content cannot access this feature.

Any idea why this is happening?


Solution

  • I could not load an external SWF in AIR due to the security restrictions. According to Adobe there is no workaround for this other than to load the external SWF through an external HTML page using the HTML component.