Convert iOS PasswordManager UKMs to shared SourceId.

This matches the non-iOS behavior from:
https://chromium-review.googlesource.com/c/chromium/src/+/807347

BUG=792662

Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs
Change-Id: I5f45059c4f874911d667187d48ea3848e62060cb
Reviewed-on: https://chromium-review.googlesource.com/c/1130472
Commit-Queue: Steven Holte <[email protected]>
Reviewed-by: Vaclav Brozek <[email protected]>
Reviewed-by: Olivier Robin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#596767}
diff --git a/ios/chrome/browser/metrics/BUILD.gn b/ios/chrome/browser/metrics/BUILD.gn
index 24bbd917..1d2d9ea 100644
--- a/ios/chrome/browser/metrics/BUILD.gn
+++ b/ios/chrome/browser/metrics/BUILD.gn
@@ -2,6 +2,22 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+source_set("ukm_url_recorder") {
+  configs += [ "//build/config/compiler:enable_arc" ]
+  sources = [
+    "ukm_url_recorder.h",
+    "ukm_url_recorder.mm",
+  ]
+  public_deps = [
+    "//services/metrics/public/cpp:metrics_cpp",
+  ]
+  deps = [
+    "//base",
+    "//ios/web",
+    "//url",
+  ]
+}
+
 source_set("metrics") {
   configs += [ "//build/config/compiler:enable_arc" ]
   sources = [
@@ -20,8 +36,9 @@
     "previous_session_info.h",
     "previous_session_info.mm",
     "previous_session_info_private.h",
-    "ukm_url_recorder.h",
-    "ukm_url_recorder.mm",
+  ]
+  public_deps = [
+    ":ukm_url_recorder",
   ]
   deps = [
     "//base",