From 603d6bb0d260d0f073c7dfbc386ac19a0b34f165 Mon Sep 17 00:00:00 2001 From: Ray Greenwell Date: Thu, 5 Jul 2007 02:39:10 +0000 Subject: [PATCH] It's a security error to specify a non-null SecurityDomain to Loader when in a local sandbox. Annoying. git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@270 ed5b42cb-e716-0410-a449-f6a68f950b19 --- src/as/com/threerings/flash/MediaContainer.as | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/as/com/threerings/flash/MediaContainer.as b/src/as/com/threerings/flash/MediaContainer.as index b789455e..9c52eabc 100644 --- a/src/as/com/threerings/flash/MediaContainer.as +++ b/src/as/com/threerings/flash/MediaContainer.as @@ -49,6 +49,7 @@ import flash.text.TextFieldAutoSize; import flash.system.ApplicationDomain; import flash.system.LoaderContext; +import flash.system.Security; import flash.system.SecurityDomain; import flash.net.URLRequest; @@ -428,7 +429,7 @@ public class MediaContainer extends Sprite // load images into our domain so that we can view their pixels return new LoaderContext(true, new ApplicationDomain(ApplicationDomain.currentDomain), - SecurityDomain.currentDomain); + getSecurityDomain(url)); } else { // share nothing, trust nothing @@ -436,6 +437,22 @@ public class MediaContainer extends Sprite } } + /** + * Return the security domain to use for the specified image url. + */ + protected function getSecurityDomain (imageURL :String) :SecurityDomain + { + switch (Security.sandboxType) { + case Security.LOCAL_WITH_FILE: + case Security.LOCAL_WITH_NETWORK: + case Security.LOCAL_TRUSTED: + return null; + + default: + return SecurityDomain.currentDomain; + } + } + /** * Does the specified url represent an image? */