Fix crash in the browser when looking up a ResourceContext for an NPAPI initiated request.

This bug occurred because in certain conditions a renderer could have multiple channels open to the same plugin process. Every time a renderer creates an instance of a plugin, we reach NPChannelBase::GetChannel in the plugin process which consults a singleton to see if there's a channel to that renderer, and if not it creates it. When a plugin instance is removed, it ends up calling into NPChannelBase::RemoveRoute which, if it's the last instance to that renderer, will remove the PluginChannel from the map. The key thing is that the PluginChannel is still alive as long as there are live NPObjects using it. So if the renderer creates another plugin instance, then a new PluginChannel will be created. When the old PluginChannel is destroyed though, the entry in the browser process' map would be incorrectly deleted even though there's another PluginChannel to that renderer.

The fix is to make the map in PluginProcessHost ref counted.

BUG=302530
R=ananta@chromium.org

Review URL: https://codereview.chromium.org/25700008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226894 0039d316-1c4b-4281-b951-d872f2087c98
Add autoclick accessibility feature to ash.

BUG=272401
TEST=added unit tests

Review URL: https://codereview.chromium.org/24191002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226895 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 226894
SVN changes up to revision 226895