Ensure terminated apps can be uninstalled from the app launcher and NTP

Problem:
After an app has crashed, the uninstall context menu item in the app
launcher and NTP are enabled, but do nothing when invoked.

Diagnosis:
When an app crashes, ExtensionService moves the Extension object into
its list of terminated extensions. The launcher and NTP used
ExtensionService::GetExtensionById() to retrieve the Extension, which
returned null as it excludes terminated extensions.

Fix:
Call ExtensionService::GetInstalledExtension(), which includes
terminated extensions.

BUG=302420
TEST=See bug for steps to reproduce issue. Test all OSes.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229626 0039d316-1c4b-4281-b951-d872f2087c98
IndexedDB: Ensure that closed connections are not used

Once a database connection object is closed it doesn't
need to hold a database reference. This can be used to
detect the case where a request arrives from a renderer
after a connection is forcibly closed by the back end,
and drop the request.

In most cases the request would be associated with a
transaction that would have been aborted/removed from
the database's list and hence the request would just
be dropped. The CreateTransaction() and Close() requests
aren't, so they need this check. In the other cases 
this will just exit earlier and let the database object
be released.

BUG=308699

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229627 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 229627
[Hotword] Adding the HotwordService to manager per profile prefs and state.

BUG=289023

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

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