Allow url download without DownloadManagerImpl

This CL allows InProgressDownloadManager to download a URL without
DownloadManagerImpl. This allows download to happen with service manager
only mode. Once full browser is launched later, InProgressDownloadManager
will inform DownloadManagerImpl about these completed downloads, and
will assign download ID to them.
It also adds a variable into DownloadUrlParameters to specify whether
safe browsing is needed. If safe browsing is required, such download
request will fail. Otherwise, it will be carried out.

Bug: 927083
Change-Id: I118a66d79e8307dcedb4ee9d76ce7b5cbe50a5d1
Reviewed-on: https://chromium-review.googlesource.com/c/1460119
Commit-Queue: Min Qin <qinmin@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Xing Liu <xingliu@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631507}
14 files changed