Download Home : Suggested pages header selection

This CL enables user to select the suggested page section header.
Details:
- Long press enables selection mode. Tap during selection will toggle the
  selection, but doesn't expand/collapse the items.
- Selecting the header internally selects all the related items.
- If all the items are selected manually, the header gets selected automatically.
- Deselecting any item will deselect the corresponding header if previously selected.
- The badging at the top reflects the number of items currently selected excluding the headers.
- When selected, the chrome logo on the header turns into tick mark similar to rest of the items.
- In presence of search text, headers are not displayed (no grouping),
  but once the text is cleared out, the headers will be back in.
  TODO: Hide the date headers when there is an active search.

BUG=689801

Review-Url: https://codereview.chromium.org/2701253006
Cr-Commit-Position: refs/heads/master@{#456001}
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
index bdd632d..fd90721d 100644
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -331,6 +331,7 @@
   "java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemViewHolder.java",
   "java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java",
   "java/src/org/chromium/chrome/browser/download/ui/DownloadItemGroup.java",
+  "java/src/org/chromium/chrome/browser/download/ui/DownloadItemSelectionDelegate.java",
   "java/src/org/chromium/chrome/browser/download/ui/DownloadItemView.java",
   "java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java",
   "java/src/org/chromium/chrome/browser/download/ui/DownloadManagerToolbar.java",