/***************************************************** * * Copyright 2009 Adobe Systems Incorporated. All Rights Reserved. * ***************************************************** * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * * * The Initial Developer of the Original Code is Adobe Systems Incorporated. * Portions created by Adobe Systems Incorporated are Copyright (C) 2009 Adobe Systems * Incorporated. All Rights Reserved. * *****************************************************/ package org.osmf.elements { import __AS3__.vec.Vector; import org.osmf.elements.loaderClasses.LoaderUtils; import org.osmf.media.MediaResourceBase; import org.osmf.media.MediaType; import org.osmf.media.MediaTypeUtil; import org.osmf.media.URLResource; import org.osmf.traits.LoadTrait; import org.osmf.traits.LoaderBase; import org.osmf.utils.URL; /** * SWFLoader is a loader that is capable of loading and displaying SWF files. * *
The SWF is loaded from the URL provided by the
* resource
property of the LoadTrait that is passed
* to the SWFLoader's load()
method.
true
for URLResources with SWF extensions.
* @param resource Resource proposed to be loaded.
*/
override public function canHandleResource(resource:MediaResourceBase):Boolean
{
var rt:int = MediaTypeUtil.checkMetadataMatchWithResource(resource, MEDIA_TYPES_SUPPORTED, MIME_TYPES_SUPPORTED);
if (rt != MediaTypeUtil.METADATA_MATCH_UNKNOWN)
{
return rt == MediaTypeUtil.METADATA_MATCH_FOUND;
}
var urlResource:URLResource = resource as URLResource;
if (urlResource != null &&
urlResource.url != null)
{
var url:URL = new URL(urlResource.url);
return (url.path.search(/\.swf$/i) != -1);
}
return false;
}
/**
* @private
*
* Loads content using a flash.display.Loader object.
* Updates the LoadTrait's loadState
property to LOADING
* while loading and to READY upon completing a successful load.
Updates the LoadTrait's loadState
property to UNLOADING
* while unloading and to UNINITIALIZED upon completing a successful unload.