Search code examples
javascriptflashactionscriptwebcammicrophone

Why are there 2 different flash permission dialogs for webcam / microphone access


I'm using an javascript plugin called cameratag (https://cameratag.com) to record video via the web browser. Its uses a flash based solution. When the flash application requests permission to access the webcam it presents this security dialog:

Flash permission confusing

When I go to other site that do similar webcam access I get this security dialog:

Flash permission Allow and Deny

The second dialog is preferable since it clearly lets the user choose Allow or Deny. While the first dialog is very confusing showing the users an assortment of tabs and making users click "close" on the dialog to give permissions.

My questions.

  1. What determines which of these two dialogs come up?

  2. Is there a way I can configure cameratag javascript plugin to show the simpler (#2) security dialog?

Thank you


Solution

  • The top image is of the Adobe Flash Player's privacy settings dialog and the bottom image is of its privacy pop-up dialog. The privacy settings dialog offers the user the ability to click the "remember" option so they are not asked repeatedly in the future about a particular site, while the privacy pop-up dialog just refers to the particular session for which it appeared.

    What determines which of these two dialogs come up?

    The privacy settings dialog shows up when it is explicitly called by the user, or through code.

    Security.showSettings(SecurityPanel.PRIVACY);
    

    The privacy pop-up will show up if the actionscript calls for access to something (webcam in this case), and the Adobe Flash Player determines that the user needs to make a decision whether or not to allow it for that session.

    Is there a way I can configure cameratag javascript plugin to show the simpler (#2) security dialog?

    The dialog you see is determined by the behaviors described above. Also, it would be a massive security risk if someone could write a plugin that obfuscated how the Adobe Flash Player asked for permissions.