drive: Simplify DownloadHandler

CreateDirectory can work nicely even when the destination directory is already there.

BUG=None
TEST=unit_tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239755 0039d316-1c4b-4281-b951-d872f2087c98
Suppress leaks in ExternalMountPoints::RegisterFileSystem (part2)

BUG=327280
TBR=nhiroki@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239756 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 239756
Add instance-level in-memory cache for PushIfNeeded().

This speeds up PushIfNeeded() execution times on a same instance of
AndroidCommands for repetitive files. This can be achieved by mapping host file
paths to their mtime at push time as tonyg@ pointed out although this assumes
that the device doesn't modify the files.

This is needed to make PurgeUnpinnedAshmem() reasonably fast to execute in
Telemetry. This CL decreases by 40 secs the execution time of netsim.top_10
whem memory is measured for each page (and PurgeUnpinnedAshmem() is called
before each measurement).

BUG=323494,326929
R=bulach@chromium.org, craigdh@chromium.org, tonyg@chromium.org

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

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