Add Digital Asset Links verification for postMessage API

Adds DigitalAssetLinks handler which queries digitalassetlinks.googleapis.com/
for verifying the relationship between an Android app and a web domain.
 This is added in a new component digital_asset_links since this API is
 a generic web API for checking Android-Web relationships. It may be
useful for iOS and ChromeOS as well. The component currently depends on
 base and net.

Then custom tabs uses this handler for verifying postMessage origin declared by
the client app when they send requestPostMessageChannel. This enabled
third party apps to use postMessage related APIs with secure and
verified origin declaration.

BUG=704975

Review-Url: https://codereview.chromium.org/2767333006
Cr-Commit-Position: refs/heads/master@{#467791}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 1920172b..924a943d 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2728,6 +2728,8 @@
       "android/contextualsearch/resolved_search_term.h",
       "android/cookies/cookies_fetcher.cc",
       "android/cookies/cookies_fetcher.h",
+      "android/customtabs/origin_verifier.cc",
+      "android/customtabs/origin_verifier.h",
       "android/data_usage/data_use_matcher.cc",
       "android/data_usage/data_use_matcher.h",
       "android/data_usage/data_use_tab_helper.cc",
@@ -2752,6 +2754,8 @@
       "android/devtools_manager_delegate_android.h",
       "android/devtools_server.cc",
       "android/devtools_server.h",
+      "android/digital_asset_links/digital_asset_links_handler.cc",
+      "android/digital_asset_links/digital_asset_links_handler.h",
       "android/document/document_web_contents_delegate.cc",
       "android/document/document_web_contents_delegate.h",
       "android/dom_distiller/distiller_ui_handle_android.cc",
@@ -4097,6 +4101,7 @@
       "../android/java/src/org/chromium/chrome/browser/contextualsearch/CtrSuppression.java",
       "../android/java/src/org/chromium/chrome/browser/cookies/CookiesFetcher.java",
       "../android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadService.java",
+      "../android/java/src/org/chromium/chrome/browser/customtabs/OriginVerifier.java",
       "../android/java/src/org/chromium/chrome/browser/customtabs/ResourcePrefetchPredictor.java",
       "../android/java/src/org/chromium/chrome/browser/database/SQLiteCursor.java",
       "../android/java/src/org/chromium/chrome/browser/datausage/DataUseTabUIManager.java",