Format and validate phone number by using libphonenumber

Refer details on bug and
https://docs.google.com/a/google.com/document/d/1H8U486cj5Y1gyWObWToyIp_v50LK01rA5UPBu3yqENY

BUG=689046

Review-Url: https://codereview.chromium.org/2743763003
Cr-Commit-Position: refs/heads/master@{#456897}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 32fbc92d..fc3bac2 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2945,6 +2945,8 @@
       "android/webapps/webapp_registry.h",
       "autofill/android/personal_data_manager_android.cc",
       "autofill/android/personal_data_manager_android.h",
+      "autofill/android/phone_number_util_android.cc",
+      "autofill/android/phone_number_util_android.h",
       "chrome_browser_field_trials_mobile.cc",
       "chrome_browser_field_trials_mobile.h",
       "dom_distiller/dom_distiller_service_factory_android.cc",
@@ -3077,6 +3079,7 @@
       "//third_party/android_opengl/etc1",
       "//third_party/android_tools:cpu_features",
       "//third_party/libaddressinput:util",
+      "//third_party/libphonenumber",
       "//third_party/smhasher:murmurhash2",
     ]
 
@@ -3956,6 +3959,7 @@
       "../android/java/src/org/chromium/chrome/browser/autofill/CreditCardScannerBridge.java",
       "../android/java/src/org/chromium/chrome/browser/autofill/PasswordGenerationPopupBridge.java",
       "../android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java",
+      "../android/java/src/org/chromium/chrome/browser/autofill/PhoneNumberUtil.java",
       "../android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java",
       "../android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java",
       "../android/java/src/org/chromium/chrome/browser/browsing_data/UrlFilterBridge.java",