That’s right kiddies, I just got bit by the new security restrictions in Flash Player 10. Â A developer I’m working with claimed his new image save feature worked. Â I tried it, and it didn’t. Â This morning, another developer sings praise in an email chain, and I’m like huh? Â I try again, and get the:
Error #2176: Certain actions, such as those that display a pop-up window, may only be invoked upon user interaction, for example by a mouse click or button press.
The converted image received from the server would trigger a FileReference.download. Â Adobe did make announcementsÂ with commentary,Â but the unique nature of the change, and the fact that Flash Player 10 didn’t have wide adoption when these announcements came out (still doesn’t) made them pass through one ear and out the other. Â They weren’t relevant at the time because Flash Player 9 works, and you move on with life. Â Not to mention the fact this is an event driven security change, which makes it not so black and white.
Fixing this in our Flex app isn’t a big deal, it’s just that some of our team is on FP9, including their development boxes. Â The con is, we weren’t planning on developing for Flash Player 10, but now we have to. Â The pro is, we can now leverage FP10 features such as saving images locally vs. using a server to do it.
Naturally I’m wracking my brain this morning trying to remember all the applications I’ve written that utilized FileReference.upload and download. Â I’m pretty sure all wereÂ initiatedÂ by a mouse click. Â I just feel bad for all the poor bastards who utilized ExternalInterface to do it on past client websites and are now screwed.