Hi. I was
wondering if somebody can confirm for me whether or not I've
stumbled upon a Flash Player 9 bug. The source code is simply the
source code from Ted Patrick's Flex Builder 101 Breeze demo located at
http://www.adobe.com/devnet/flex/articles/flextv_flexbuilder101.html.
I've also pasted it below for cut-and-paste purposes. Essentially, the
bug problem statement is that the Firefox plugin's default security
context seems to differ from the IE plugin's default context. When I
try to do a "View Source" on the published SWF, Firefox pops up the
"#2148" local file access error that many have seen while IE happily
displays the resulting source code SWF.
Here's the source code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
backgroundGradientColors="[#ffffff, #ffffff]"
viewSourceURL="srcview/index.html">
<mx:Button
label="Say Hello"
height="60"
width="168"
horizontalCenter="0"
verticalCenter="0"
click="Alert.show('Hello Flex World!')" />
<mx:Script>
<![CDATA[
import mx.controls.Alert;
]]>
</mx:Script>
</mx:Application>
As you can see, it's very plain stuff. If I right-click and do a
subsquent View Source in Firefox, this AS error pops up and no source
code is displayed:
SecurityError: Error #2148: SWF file
file:///D:/flex_projects/MyFirstFlex/bin/MyFirstFlex.swf
cannot access
local resource srcview/index.html. Only local-with-filesystem and
trusted local SWF files may access local resources.
at global/flash.net::navigateToURL()
at mx.core::Application/::menuItemSelectHandler()
Internet Explorer displays everything just fine.
But the plot thickens... I know about the -use-network=false switch to
add to the compiler settings so that local access is granted, so I
added that and re-published the project. Upon clicking the View Source
option, this time the source code is displayed in the right frame, but
I get this AS error popup when the SWF in the left frame tries to load
the source tree:
[RPC Fault faultString="Error #2148: SWF file
file:///D:/flex_projects/MyFirstFlex/bin/srcview/SourceTree.swf
cannot
access local resource SourceIndex.xml. Only local-with-filesystem and
trusted local SWF files may access local resources."
faultCode="InvokeFailed" faultDetail="null"]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::invoke()
at mx.rpc.http.mxml::HTTPService/http://www.adobe.com/2006/flex/mx/internal::invoke()
at mx.rpc.http::HTTPService/send()
at mx.rpc.http.mxml::HTTPService/send()
at SourceTree/::startApplication()
at SourceTree/___Application1_creationComplete()
at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/set initialized()
at mx.managers::LayoutManager/::doPhasedInstantiation()
And, again, IE is fine and displays both pages in the frameset without
issue. My next thought was to verify the version of the Flash Player
that I'm running and they're both properly at 9,0,16, so that
eliminates that possibility.
Any ideas as to why there is an apparent difference in the default
security context between the two players? Is this, in fact, a bug or
known issue?
Regards,
Dave.