telemetry: Smoothness metric clean-up.

This patch removes compatibility with none-Chrome browsers and generally
cleans up metrics/smoothness.py

R=qyearsley@chromium.org,dominikg@chromium.org,tonyg@chromium.org
BUG=305347

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229602 0039d316-1c4b-4281-b951-d872f2087c98
Give type directory string for given URL from outside ObfuscatedFileUtil

This patch moves FileSystemType to type string map outside
ObfuscatedFileUtil and let it take 'type string' from outside the
ObfuscatedFileUtil (so that we can later utilize the 'type string' field
for plugin/MIME-type private filesystem).

Brief plausible plan:
- Use separate ObfuscatedFileUtil in its own directory for plugin-private
- Utilize type_string field for MIME type (this should be ok since we only store data for PluginPrivate type in this separate directory)
- Record { filesystem_id: mime-type } pair for each OpenPrivateFileSystem() in PluginPrivateFileSystemBackend
- GetTypeStringForURLCallback given in ctor can look up this table to get type_string
- (We need to unregister filesystem_id when it's no longer needed)

BUG=286240
TEST=content_unittests:ObfuscatedFileUtil*,Sandbox*

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229603 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 229602
Release prerenders in the PrerenderDispatcher on abandon/cancel.

There's no need to maintain the reference; once abandon or cancel is called,
the LinkLoader (as PrerenderClient) has already been removed from the Prerender
in Blink, so it is no longer consuming didStopPrerender and friends. Rather,
this is causing us to leak cancelled prerenders because the browser process
does not send OnPrerenderStop for canceled prerenders either, leaving nothing
to release PrerenderDispatcher's reference to the Prerender (via WebPrerender).

This introduces the possibility of an OnPrerenderStart from the browser racing
with an (asynchronous) cancel message to the browser, so handle that case.

BUG=290197

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229604 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 229604
Refactored the policy code to avoid BrowserThread.

The policy code now mostly uses TaskRunners, so that it can move into a
component without DEPS layering violations. The remaining classes that use
BrowserThread directly are meant to stay in //chrome and instantiate the policy
system.

Also cleaned up some unused includes and unused arguments.

This is a reland of https://codereview.chromium.org/26211008 after fixing
the configuration_policy=0 and clang builds.

BUG=271392
TBR=dconnelly@chromium.org

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

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