Chargement de contenu incorporé à partir de fichiers SWF importés dans un domaine de sécurité

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

Lorsque vous chargez un fichier SWF, vous pouvez définir le paramètre context de la méthode load() de l’objet Loader utilisé pour le chargement. Ce paramètre prend un objet LoaderContext. Si vous réglez la propriété securityDomain de cet objet LoaderContext sur Security.currentDomain, Flash Player recherche un fichier de régulation d’URL sur le serveur à partir duquel le fichier SWF est chargé. S’il en existe un qui autorise l’accès au domaine du fichier SWF à l’origine du chargement, vous pouvez charger le fichier SWF sous forme de média importé. De cette manière, le fichier à l’origine du chargement obtient l’accès aux objets de la bibliothèque du fichier SWF.

Une autre méthode permet d’autoriser l’accès d’un fichier SWF aux classes des fichiers SWF chargés à partir d’un autre sandbox de sécurité : le fichier SWF chargé doit simplement appeler la méthode Security.allowDomain() pour autoriser l’accès du domaine du fichier SWF appelant. Cet appel à la méthode Security.allowDomain() peut s’ajouter à la méthode constructeur de la classe principale du fichier SWF chargé. Ensuite, le fichier SWF à l’origine du chargement doit ajouter un écouteur d’événement pour répondre à l’événement init distribué par la propriété contentLoaderInfo de l’objet Loader. Cet événement est distribué lorsque le fichier SWF chargé a appelé la méthode Security.allowDomain() dans la méthode constructeur et que des classes du fichier SWF chargé sont disponibles pour le fichier SWF à l’origine du chargement. Le fichier SWF en cours de chargement peut extraire les classes du fichier SWF chargé en appelant Loader.contentLoaderInfo.applicationDomain.getDefinition() ou Loader.contentLoaderInfo.applicationDomain.getQualifiedDefinitionNames() (Flash Player 11.3 et les versions ultérieures et AIR 3.3 et les versions ultérieures).