[dirmd] Use metadata mixins

Use the new "mixins" feature in dirmd.
Derive mixins from file:// links in OWNERS files.

This CL is machine-generated, in two parts.

Part 1: use mixins.

1. Save current metadata to JSON files, in ORIGINAL and REDUCED forms.
   dirmd read -form original > ~/tmp/dirmd/original.json
   dirmd read -form reduced  > ~/tmp/dirmd/reduced.json
2. Run mixins.py.
   Source code: https://gist.github.com/nodirg/b59d3df338a72a8944f957c5b3a15e22

The script finds related directories, connected by file:// links
in OWNERS files. For those directories that have the same base
name, e.g.
  components/autofill
  chrome/android/java/src/org/chromium/chrome/browser/autofill
if importing the "parent" to the "child" reduces metadata, or adds
missing metadata, extract the common metadata to COMMON_METADATA
and import it in both directories.

Part2: deduplicate metadata.
Apply same instructions as in
https://chromium-review.googlesource.com/c/chromium/src/+/2795985/16

Bug: 1179786
Change-Id: I2e6378004ce433e02f1c9360b09eb72354083bf6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2897943
Reviewed-by: John Abd-El-Malek <[email protected]>
Reviewed-by: Fred Mello <[email protected]>
Owners-Override: John Abd-El-Malek <[email protected]>
Commit-Queue: Nodir Turakulov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#925648}
diff --git a/components/accuracy_tips/COMMON_METADATA b/components/accuracy_tips/COMMON_METADATA
new file mode 100644
index 0000000..db7a5c4a
--- /dev/null
+++ b/components/accuracy_tips/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Privacy"
+}
diff --git a/components/accuracy_tips/DIR_METADATA b/components/accuracy_tips/DIR_METADATA
index db7a5c4a..1ed35b0 100644
--- a/components/accuracy_tips/DIR_METADATA
+++ b/components/accuracy_tips/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Privacy"
-}
+mixins: "//components/accuracy_tips/COMMON_METADATA"
diff --git a/components/arc/COMMON_METADATA b/components/arc/COMMON_METADATA
new file mode 100644
index 0000000..e568bf01
--- /dev/null
+++ b/components/arc/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Platform>Apps>ARC"
+}
diff --git a/components/arc/DIR_METADATA b/components/arc/DIR_METADATA
index e568bf01..54a0fa6 100644
--- a/components/arc/DIR_METADATA
+++ b/components/arc/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Platform>Apps>ARC"
-}
+mixins: "//components/arc/COMMON_METADATA"
diff --git a/components/arc/media_session/DIR_METADATA b/components/arc/media_session/DIR_METADATA
index 49ac631..da1d684 100644
--- a/components/arc/media_session/DIR_METADATA
+++ b/components/arc/media_session/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>Media>Session"
-}
+mixins: "//services/media_session/COMMON_METADATA"
diff --git a/components/arc/vector_icons/DIR_METADATA b/components/arc/vector_icons/DIR_METADATA
new file mode 100644
index 0000000..54e77e3
--- /dev/null
+++ b/components/arc/vector_icons/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//components/vector_icons/COMMON_METADATA"
diff --git a/components/autofill/COMMON_METADATA b/components/autofill/COMMON_METADATA
new file mode 100644
index 0000000..3994ddc
--- /dev/null
+++ b/components/autofill/COMMON_METADATA
@@ -0,0 +1,4 @@
+monorail {
+  component: "UI>Browser>Autofill"
+}
+team_email: "[email protected]"
diff --git a/components/autofill/DIR_METADATA b/components/autofill/DIR_METADATA
index 3994ddc..bc280336 100644
--- a/components/autofill/DIR_METADATA
+++ b/components/autofill/DIR_METADATA
@@ -1,4 +1 @@
-monorail {
-  component: "UI>Browser>Autofill"
-}
-team_email: "[email protected]"
+mixins: "//components/autofill/COMMON_METADATA"
diff --git a/components/autofill_assistant/COMMON_METADATA b/components/autofill_assistant/COMMON_METADATA
new file mode 100644
index 0000000..2c84cedc
--- /dev/null
+++ b/components/autofill_assistant/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>Autofill>Assistant"
+}
diff --git a/components/autofill_assistant/DIR_METADATA b/components/autofill_assistant/DIR_METADATA
index 2c84cedc..a5aa36b6 100644
--- a/components/autofill_assistant/DIR_METADATA
+++ b/components/autofill_assistant/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Autofill>Assistant"
-}
+mixins: "//components/autofill_assistant/COMMON_METADATA"
diff --git a/components/background_fetch/DIR_METADATA b/components/background_fetch/DIR_METADATA
index 774edd1..7a535e15 100644
--- a/components/background_fetch/DIR_METADATA
+++ b/components/background_fetch/DIR_METADATA
@@ -1,4 +1 @@
-monorail: {
-  component: "Blink>BackgroundFetch"
-}
-team_email: "[email protected]"
+mixins: "//content/browser/background_fetch/COMMON_METADATA"
diff --git a/components/background_sync/COMMON_METADATA b/components/background_sync/COMMON_METADATA
new file mode 100644
index 0000000..0cc412a5
--- /dev/null
+++ b/components/background_sync/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Blink>BackgroundSync"
+}
+
+team_email: "[email protected]"
diff --git a/components/background_sync/DIR_METADATA b/components/background_sync/DIR_METADATA
index 0cc412a5..5a35032 100644
--- a/components/background_sync/DIR_METADATA
+++ b/components/background_sync/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Blink>BackgroundSync"
-}
+mixins: "//components/background_sync/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/background_task_scheduler/COMMON_METADATA b/components/background_task_scheduler/COMMON_METADATA
new file mode 100644
index 0000000..dc57d9b
--- /dev/null
+++ b/components/background_task_scheduler/COMMON_METADATA
@@ -0,0 +1,7 @@
+monorail {
+  component: "Internals>BackgroundTaskScheduler"
+}
+
+team_email: "[email protected]"
+
+os: ANDROID
diff --git a/components/background_task_scheduler/DIR_METADATA b/components/background_task_scheduler/DIR_METADATA
index dc57d9b..1072541 100644
--- a/components/background_task_scheduler/DIR_METADATA
+++ b/components/background_task_scheduler/DIR_METADATA
@@ -1,7 +1,2 @@
-monorail {
-  component: "Internals>BackgroundTaskScheduler"
-}
+mixins: "//components/background_task_scheduler/COMMON_METADATA"
 
-team_email: "[email protected]"
-
-os: ANDROID
diff --git a/components/blocked_content/COMMON_METADATA b/components/blocked_content/COMMON_METADATA
new file mode 100644
index 0000000..7353851
--- /dev/null
+++ b/components/blocked_content/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>PopupBlocker"
+}
diff --git a/components/blocked_content/DIR_METADATA b/components/blocked_content/DIR_METADATA
index 7353851..42e50743 100644
--- a/components/blocked_content/DIR_METADATA
+++ b/components/blocked_content/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>PopupBlocker"
-}
+mixins: "//components/blocked_content/COMMON_METADATA"
diff --git a/components/browser_ui/http_auth/android/DIR_METADATA b/components/browser_ui/http_auth/android/DIR_METADATA
new file mode 100644
index 0000000..c69388e
--- /dev/null
+++ b/components/browser_ui/http_auth/android/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//chrome/android/COMMON_METADATA"
diff --git a/components/browser_ui/settings/DIR_METADATA b/components/browser_ui/settings/DIR_METADATA
new file mode 100644
index 0000000..971e38c
--- /dev/null
+++ b/components/browser_ui/settings/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//chrome/android/java/src/org/chromium/chrome/browser/settings/COMMON_METADATA"
diff --git a/components/browser_ui/site_settings/COMMON_METADATA b/components/browser_ui/site_settings/COMMON_METADATA
new file mode 100644
index 0000000..4752c120
--- /dev/null
+++ b/components/browser_ui/site_settings/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>Mobile>Settings"
+}
diff --git a/components/browser_ui/site_settings/DIR_METADATA b/components/browser_ui/site_settings/DIR_METADATA
index 4752c120..ea846f1 100644
--- a/components/browser_ui/site_settings/DIR_METADATA
+++ b/components/browser_ui/site_settings/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Mobile>Settings"
-}
+mixins: "//components/browser_ui/site_settings/COMMON_METADATA"
diff --git a/components/browser_ui/util/android/DIR_METADATA b/components/browser_ui/util/android/DIR_METADATA
new file mode 100644
index 0000000..c69388e
--- /dev/null
+++ b/components/browser_ui/util/android/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//chrome/android/COMMON_METADATA"
diff --git a/components/browser_ui/widget/android/DIR_METADATA b/components/browser_ui/widget/android/DIR_METADATA
new file mode 100644
index 0000000..c69388e
--- /dev/null
+++ b/components/browser_ui/widget/android/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//chrome/android/COMMON_METADATA"
diff --git a/components/browsing_data/DIR_METADATA b/components/browsing_data/DIR_METADATA
index db7a5c4a..ce654ba 100644
--- a/components/browsing_data/DIR_METADATA
+++ b/components/browsing_data/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Privacy"
-}
+mixins: "//content/browser/browsing_data/COMMON_METADATA"
diff --git a/components/cast_certificate/COMMON_METADATA b/components/cast_certificate/COMMON_METADATA
new file mode 100644
index 0000000..b339e61
--- /dev/null
+++ b/components/cast_certificate/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Chromecast"
+}
diff --git a/components/cast_certificate/DIR_METADATA b/components/cast_certificate/DIR_METADATA
index b339e61..25e6a775 100644
--- a/components/cast_certificate/DIR_METADATA
+++ b/components/cast_certificate/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Chromecast"
-}
+mixins: "//components/cast_certificate/COMMON_METADATA"
diff --git a/components/chrome_cleaner/DIR_METADATA b/components/chrome_cleaner/DIR_METADATA
index c5f6b73..2213f1c1 100644
--- a/components/chrome_cleaner/DIR_METADATA
+++ b/components/chrome_cleaner/DIR_METADATA
@@ -1,5 +1,3 @@
-monorail {
-  component: "Services>Safebrowsing>ChromeCleanup"
-}
+mixins: "//chrome/chrome_cleaner/COMMON_METADATA"
 
 team_email: "[email protected]"
diff --git a/components/client_hints/COMMON_METADATA b/components/client_hints/COMMON_METADATA
new file mode 100644
index 0000000..8529bd6b
--- /dev/null
+++ b/components/client_hints/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Blink>Loader"
+}
diff --git a/components/client_hints/DIR_METADATA b/components/client_hints/DIR_METADATA
index 8529bd6b..7c929fe 100644
--- a/components/client_hints/DIR_METADATA
+++ b/components/client_hints/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Blink>Loader"
-}
+mixins: "//components/client_hints/COMMON_METADATA"
diff --git a/components/component_updater/COMMON_METADATA b/components/component_updater/COMMON_METADATA
new file mode 100644
index 0000000..f29e6cf
--- /dev/null
+++ b/components/component_updater/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Internals>Installer>Components"
+}
+
+team_email: "[email protected]"
diff --git a/components/component_updater/DIR_METADATA b/components/component_updater/DIR_METADATA
index f29e6cf..887b7f5 100644
--- a/components/component_updater/DIR_METADATA
+++ b/components/component_updater/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Internals>Installer>Components"
-}
+mixins: "//components/component_updater/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/consent_auditor/COMMON_METADATA b/components/consent_auditor/COMMON_METADATA
new file mode 100644
index 0000000..db7a5c4a
--- /dev/null
+++ b/components/consent_auditor/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Privacy"
+}
diff --git a/components/consent_auditor/DIR_METADATA b/components/consent_auditor/DIR_METADATA
index db7a5c4a..c75f2f8 100644
--- a/components/consent_auditor/DIR_METADATA
+++ b/components/consent_auditor/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Privacy"
-}
+mixins: "//components/consent_auditor/COMMON_METADATA"
diff --git a/components/content_capture/COMMON_METADATA b/components/content_capture/COMMON_METADATA
new file mode 100644
index 0000000..2c9d7f4
--- /dev/null
+++ b/components/content_capture/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Internals>ContentCapture"
+}
diff --git a/components/content_capture/DIR_METADATA b/components/content_capture/DIR_METADATA
index 2c9d7f4..91c786d 100644
--- a/components/content_capture/DIR_METADATA
+++ b/components/content_capture/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>ContentCapture"
-}
+mixins: "//components/content_capture/COMMON_METADATA"
diff --git a/components/content_creation/COMMON_METADATA b/components/content_creation/COMMON_METADATA
new file mode 100644
index 0000000..41d1f6aa
--- /dev/null
+++ b/components/content_creation/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "UI>Browser>Creation"
+}
+
+team_email: "[email protected]"
diff --git a/components/content_creation/DIR_METADATA b/components/content_creation/DIR_METADATA
index 41d1f6aa..302b1262 100644
--- a/components/content_creation/DIR_METADATA
+++ b/components/content_creation/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "UI>Browser>Creation"
-}
+mixins: "//components/content_creation/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/content_settings/COMMON_METADATA b/components/content_settings/COMMON_METADATA
new file mode 100644
index 0000000..9578a5d9
--- /dev/null
+++ b/components/content_settings/COMMON_METADATA
@@ -0,0 +1,4 @@
+monorail {
+  component: "Internals>Permissions>Model"
+}
+team_email: "[email protected]"
diff --git a/components/content_settings/DIR_METADATA b/components/content_settings/DIR_METADATA
index 9578a5d9..7884b06a 100644
--- a/components/content_settings/DIR_METADATA
+++ b/components/content_settings/DIR_METADATA
@@ -1,4 +1 @@
-monorail {
-  component: "Internals>Permissions>Model"
-}
-team_email: "[email protected]"
+mixins: "//components/content_settings/COMMON_METADATA"
diff --git a/components/continuous_search/COMMON_METADATA b/components/continuous_search/COMMON_METADATA
new file mode 100644
index 0000000..83a4438
--- /dev/null
+++ b/components/continuous_search/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail:  {
+  component:  "UI>Browser>ContinuousSearch"
+}
+team_email: "[email protected]"
+os: ANDROID
diff --git a/components/continuous_search/DIR_METADATA b/components/continuous_search/DIR_METADATA
index 83a4438..78deea4 100644
--- a/components/continuous_search/DIR_METADATA
+++ b/components/continuous_search/DIR_METADATA
@@ -1,5 +1 @@
-monorail:  {
-  component:  "UI>Browser>ContinuousSearch"
-}
-team_email: "[email protected]"
-os: ANDROID
+mixins: "//components/continuous_search/COMMON_METADATA"
diff --git a/components/data_reduction_proxy/COMMON_METADATA b/components/data_reduction_proxy/COMMON_METADATA
new file mode 100644
index 0000000..e548f97
--- /dev/null
+++ b/components/data_reduction_proxy/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Internals>Network>DataProxy"
+}
diff --git a/components/data_reduction_proxy/DIR_METADATA b/components/data_reduction_proxy/DIR_METADATA
index e548f97..eb96fa3 100644
--- a/components/data_reduction_proxy/DIR_METADATA
+++ b/components/data_reduction_proxy/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>Network>DataProxy"
-}
+mixins: "//components/data_reduction_proxy/COMMON_METADATA"
diff --git a/components/dbus/DIR_METADATA b/components/dbus/DIR_METADATA
index 06e78af..a03a065 100644
--- a/components/dbus/DIR_METADATA
+++ b/components/dbus/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "OS>Systems"
-}
+mixins: "//dbus/COMMON_METADATA"
diff --git a/components/dom_distiller/COMMON_METADATA b/components/dom_distiller/COMMON_METADATA
new file mode 100644
index 0000000..e745659
--- /dev/null
+++ b/components/dom_distiller/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "UI>Browser>ReaderMode"
+}
+
+team_email: "[email protected]"
diff --git a/components/dom_distiller/DIR_METADATA b/components/dom_distiller/DIR_METADATA
index e745659..7215023 100644
--- a/components/dom_distiller/DIR_METADATA
+++ b/components/dom_distiller/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "UI>Browser>ReaderMode"
-}
+mixins: "//components/dom_distiller/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/domain_reliability/COMMON_METADATA b/components/domain_reliability/COMMON_METADATA
new file mode 100644
index 0000000..cb1a69b4
--- /dev/null
+++ b/components/domain_reliability/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Internals>Network>ReportingAndNEL"
+}
+
+team_email: "[email protected]"
diff --git a/components/domain_reliability/DIR_METADATA b/components/domain_reliability/DIR_METADATA
index cb1a69b4..9147ca6 100644
--- a/components/domain_reliability/DIR_METADATA
+++ b/components/domain_reliability/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Internals>Network>ReportingAndNEL"
-}
+mixins: "//components/domain_reliability/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/download/COMMON_METADATA b/components/download/COMMON_METADATA
new file mode 100644
index 0000000..6bf7cbf
--- /dev/null
+++ b/components/download/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>Downloads"
+}
diff --git a/components/download/DIR_METADATA b/components/download/DIR_METADATA
index 6bf7cbf..8b1c141 100644
--- a/components/download/DIR_METADATA
+++ b/components/download/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Downloads"
-}
+mixins: "//components/download/COMMON_METADATA"
diff --git a/components/drive/COMMON_METADATA b/components/drive/COMMON_METADATA
new file mode 100644
index 0000000..5b8d7cd
--- /dev/null
+++ b/components/drive/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Platform>Apps>FileManager"
+}
diff --git a/components/drive/DIR_METADATA b/components/drive/DIR_METADATA
index 5b8d7cd..780966e 100644
--- a/components/drive/DIR_METADATA
+++ b/components/drive/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Platform>Apps>FileManager"
-}
+mixins: "//components/drive/COMMON_METADATA"
diff --git a/components/embedder_support/android/metrics/DIR_METADATA b/components/embedder_support/android/metrics/DIR_METADATA
index fbc09c2..1c83dc52 100644
--- a/components/embedder_support/android/metrics/DIR_METADATA
+++ b/components/embedder_support/android/metrics/DIR_METADATA
@@ -1,4 +1,2 @@
-monorail {
-  component: "Internals>Metrics"
-}
+mixins: "//base/metrics/COMMON_METADATA"
 team_email: "[email protected]"
diff --git a/components/embedder_support/origin_trials/DIR_METADATA b/components/embedder_support/origin_trials/DIR_METADATA
index 0032fd00..14641a38 100644
--- a/components/embedder_support/origin_trials/DIR_METADATA
+++ b/components/embedder_support/origin_trials/DIR_METADATA
@@ -1,4 +1 @@
-monorail {
-  component: "Internals>OriginTrials"
-}
-team_email: "[email protected]"
+mixins: "//third_party/blink/common/origin_trials/COMMON_METADATA"
diff --git a/components/feature_engagement/COMMON_METADATA b/components/feature_engagement/COMMON_METADATA
new file mode 100644
index 0000000..454508f
--- /dev/null
+++ b/components/feature_engagement/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Internals>FeatureEngagement"
+}
diff --git a/components/feature_engagement/DIR_METADATA b/components/feature_engagement/DIR_METADATA
index 454508f..02a82b3 100644
--- a/components/feature_engagement/DIR_METADATA
+++ b/components/feature_engagement/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>FeatureEngagement"
-}
+mixins: "//components/feature_engagement/COMMON_METADATA"
diff --git a/components/federated_learning/COMMON_METADATA b/components/federated_learning/COMMON_METADATA
new file mode 100644
index 0000000..0e6c0305
--- /dev/null
+++ b/components/federated_learning/COMMON_METADATA
@@ -0,0 +1 @@
+team_email: "[email protected]"
diff --git a/components/federated_learning/DIR_METADATA b/components/federated_learning/DIR_METADATA
index 0e6c0305..ea6a8e2 100644
--- a/components/federated_learning/DIR_METADATA
+++ b/components/federated_learning/DIR_METADATA
@@ -1 +1 @@
-team_email: "[email protected]"
+mixins: "//components/federated_learning/COMMON_METADATA"
diff --git a/components/feed/COMMON_METADATA b/components/feed/COMMON_METADATA
new file mode 100644
index 0000000..2ecd29e
--- /dev/null
+++ b/components/feed/COMMON_METADATA
@@ -0,0 +1,4 @@
+monorail {
+  component: "UI>Browser>ContentSuggestions>Feed"
+}
+team_email: "[email protected]"
diff --git a/components/feed/DIR_METADATA b/components/feed/DIR_METADATA
index 2ecd29e..aa7a67e 100644
--- a/components/feed/DIR_METADATA
+++ b/components/feed/DIR_METADATA
@@ -1,4 +1 @@
-monorail {
-  component: "UI>Browser>ContentSuggestions>Feed"
-}
-team_email: "[email protected]"
+mixins: "//components/feed/COMMON_METADATA"
diff --git a/components/feedback/COMMON_METADATA b/components/feedback/COMMON_METADATA
new file mode 100644
index 0000000..1b00e25cb7
--- /dev/null
+++ b/components/feedback/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Platform>Apps>Feedback"
+}
diff --git a/components/feedback/DIR_METADATA b/components/feedback/DIR_METADATA
index 1b00e25cb7..25e9f5bf 100644
--- a/components/feedback/DIR_METADATA
+++ b/components/feedback/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Platform>Apps>Feedback"
-}
+mixins: "//components/feedback/COMMON_METADATA"
diff --git a/components/find_in_page/android/DIR_METADATA b/components/find_in_page/android/DIR_METADATA
new file mode 100644
index 0000000..c69388e
--- /dev/null
+++ b/components/find_in_page/android/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//chrome/android/COMMON_METADATA"
diff --git a/components/guest_os/DIR_METADATA b/components/guest_os/DIR_METADATA
index f461eb4..06e627f 100644
--- a/components/guest_os/DIR_METADATA
+++ b/components/guest_os/DIR_METADATA
@@ -1,3 +1 @@
-monorail: {
-  component: "UI>Shell>Containers"
-}
+mixins: "//chrome/browser/ash/guest_os/COMMON_METADATA"
diff --git a/components/guest_view/COMMON_METADATA b/components/guest_view/COMMON_METADATA
new file mode 100644
index 0000000..22d44120c
--- /dev/null
+++ b/components/guest_view/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Platform>Apps>BrowserTag"
+}
diff --git a/components/guest_view/DIR_METADATA b/components/guest_view/DIR_METADATA
index 22d44120c..38cda2d 100644
--- a/components/guest_view/DIR_METADATA
+++ b/components/guest_view/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Platform>Apps>BrowserTag"
-}
+mixins: "//components/guest_view/COMMON_METADATA"
diff --git a/components/heavy_ad_intervention/COMMON_METADATA b/components/heavy_ad_intervention/COMMON_METADATA
new file mode 100644
index 0000000..352eefc
--- /dev/null
+++ b/components/heavy_ad_intervention/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>AdFilter"
+}
diff --git a/components/heavy_ad_intervention/DIR_METADATA b/components/heavy_ad_intervention/DIR_METADATA
index 352eefc..cc2c627ce 100644
--- a/components/heavy_ad_intervention/DIR_METADATA
+++ b/components/heavy_ad_intervention/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>AdFilter"
-}
+mixins: "//components/heavy_ad_intervention/COMMON_METADATA"
diff --git a/components/history/core/browser/sync/DIR_METADATA b/components/history/core/browser/sync/DIR_METADATA
index 1a6d7ee6..4a58e65 100644
--- a/components/history/core/browser/sync/DIR_METADATA
+++ b/components/history/core/browser/sync/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Services>Sync"
-}
+mixins: "//components/sync/COMMON_METADATA"
diff --git a/components/history_clusters/COMMON_METADATA b/components/history_clusters/COMMON_METADATA
new file mode 100644
index 0000000..88f25f6
--- /dev/null
+++ b/components/history_clusters/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>Memories"
+}
diff --git a/components/history_clusters/DIR_METADATA b/components/history_clusters/DIR_METADATA
index 88f25f6..694e2bf 100644
--- a/components/history_clusters/DIR_METADATA
+++ b/components/history_clusters/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Memories"
-}
+mixins: "//components/history_clusters/COMMON_METADATA"
diff --git a/components/image_fetcher/COMMON_METADATA b/components/image_fetcher/COMMON_METADATA
new file mode 100644
index 0000000..a645b47
--- /dev/null
+++ b/components/image_fetcher/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Internals>Images"
+}
diff --git a/components/image_fetcher/DIR_METADATA b/components/image_fetcher/DIR_METADATA
index a645b47..eacf064 100644
--- a/components/image_fetcher/DIR_METADATA
+++ b/components/image_fetcher/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>Images"
-}
+mixins: "//components/image_fetcher/COMMON_METADATA"
diff --git a/components/invalidation/COMMON_METADATA b/components/invalidation/COMMON_METADATA
new file mode 100644
index 0000000..5b2200d
--- /dev/null
+++ b/components/invalidation/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Services>Invalidation"
+}
+
+team_email: "[email protected]"
diff --git a/components/invalidation/DIR_METADATA b/components/invalidation/DIR_METADATA
index 5b2200d..cbe04ab 100644
--- a/components/invalidation/DIR_METADATA
+++ b/components/invalidation/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Services>Invalidation"
-}
+mixins: "//components/invalidation/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/language/COMMON_METADATA b/components/language/COMMON_METADATA
new file mode 100644
index 0000000..45f3f52
--- /dev/null
+++ b/components/language/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "UI>Browser>Language"
+}
+
+team_email: "[email protected]"
diff --git a/components/language/DIR_METADATA b/components/language/DIR_METADATA
index 45f3f52..be22615c 100644
--- a/components/language/DIR_METADATA
+++ b/components/language/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "UI>Browser>Language"
-}
+mixins: "//components/language/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/messages/COMMON_METADATA b/components/messages/COMMON_METADATA
new file mode 100644
index 0000000..c00659e
--- /dev/null
+++ b/components/messages/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "UI>Browser>Mobile>Messages"
+}
+
+team_email: "[email protected]"
diff --git a/components/messages/DIR_METADATA b/components/messages/DIR_METADATA
index c00659e..4a3e06f 100644
--- a/components/messages/DIR_METADATA
+++ b/components/messages/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "UI>Browser>Mobile>Messages"
-}
+mixins: "//components/messages/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/metrics/DIR_METADATA b/components/metrics/DIR_METADATA
index 4cea270..f9ef9a7d 100644
--- a/components/metrics/DIR_METADATA
+++ b/components/metrics/DIR_METADATA
@@ -1,5 +1,3 @@
-monorail {
-  component: "Internals>Metrics"
-}
+mixins: "//base/metrics/COMMON_METADATA"
 
 team_email: "[email protected]"
diff --git a/components/ntp_tiles/COMMON_METADATA b/components/ntp_tiles/COMMON_METADATA
new file mode 100644
index 0000000..ac4deaa
--- /dev/null
+++ b/components/ntp_tiles/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>ContentSuggestions>History"
+}
diff --git a/components/ntp_tiles/DIR_METADATA b/components/ntp_tiles/DIR_METADATA
index ac4deaa..390105a 100644
--- a/components/ntp_tiles/DIR_METADATA
+++ b/components/ntp_tiles/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>ContentSuggestions>History"
-}
+mixins: "//components/ntp_tiles/COMMON_METADATA"
diff --git a/components/offline_items_collection/COMMON_METADATA b/components/offline_items_collection/COMMON_METADATA
new file mode 100644
index 0000000..30fe702ce
--- /dev/null
+++ b/components/offline_items_collection/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "UI>Browser>Downloads"
+}
+
+team_email: "[email protected]"
diff --git a/components/offline_items_collection/DIR_METADATA b/components/offline_items_collection/DIR_METADATA
index 30fe702ce..8a35d1f 100644
--- a/components/offline_items_collection/DIR_METADATA
+++ b/components/offline_items_collection/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "UI>Browser>Downloads"
-}
+mixins: "//components/offline_items_collection/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/offline_pages/COMMON_METADATA b/components/offline_pages/COMMON_METADATA
new file mode 100644
index 0000000..a629a88
--- /dev/null
+++ b/components/offline_pages/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "UI>Browser>Offline"
+}
+
+team_email: "[email protected]"
diff --git a/components/offline_pages/DIR_METADATA b/components/offline_pages/DIR_METADATA
index a629a88..e0f99fe 100644
--- a/components/offline_pages/DIR_METADATA
+++ b/components/offline_pages/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "UI>Browser>Offline"
-}
+mixins: "//components/offline_pages/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/omnibox/COMMON_METADATA b/components/omnibox/COMMON_METADATA
new file mode 100644
index 0000000..07a4669
--- /dev/null
+++ b/components/omnibox/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>Omnibox"
+}
diff --git a/components/omnibox/DIR_METADATA b/components/omnibox/DIR_METADATA
index 07a4669..7a9dec1 100644
--- a/components/omnibox/DIR_METADATA
+++ b/components/omnibox/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Omnibox"
-}
+mixins: "//components/omnibox/COMMON_METADATA"
diff --git a/components/omnibox/browser/vector_icons/DIR_METADATA b/components/omnibox/browser/vector_icons/DIR_METADATA
new file mode 100644
index 0000000..54e77e3
--- /dev/null
+++ b/components/omnibox/browser/vector_icons/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//components/vector_icons/COMMON_METADATA"
diff --git a/components/optimization_guide/COMMON_METADATA b/components/optimization_guide/COMMON_METADATA
new file mode 100644
index 0000000..f21921424
--- /dev/null
+++ b/components/optimization_guide/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Internals>OptimizationGuide"
+}
diff --git a/components/optimization_guide/DIR_METADATA b/components/optimization_guide/DIR_METADATA
index f21921424..0a043d53 100644
--- a/components/optimization_guide/DIR_METADATA
+++ b/components/optimization_guide/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>OptimizationGuide"
-}
+mixins: "//components/optimization_guide/COMMON_METADATA"
diff --git a/components/page_info/DIR_METADATA b/components/page_info/DIR_METADATA
index 54e4b99..3e117a4 100644
--- a/components/page_info/DIR_METADATA
+++ b/components/page_info/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "UI>Browser>Bubbles>PageInfo"
-}
+mixins: "//chrome/browser/ui/page_info/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/paint_preview/COMMON_METADATA b/components/paint_preview/COMMON_METADATA
new file mode 100644
index 0000000..2782d66
--- /dev/null
+++ b/components/paint_preview/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Internals>FreezeDriedTabs"
+}
diff --git a/components/paint_preview/DIR_METADATA b/components/paint_preview/DIR_METADATA
index 2782d66..1148592 100644
--- a/components/paint_preview/DIR_METADATA
+++ b/components/paint_preview/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>FreezeDriedTabs"
-}
+mixins: "//components/paint_preview/COMMON_METADATA"
diff --git a/components/password_manager/COMMON_METADATA b/components/password_manager/COMMON_METADATA
new file mode 100644
index 0000000..14f1f46
--- /dev/null
+++ b/components/password_manager/COMMON_METADATA
@@ -0,0 +1,4 @@
+monorail {
+  component: "UI>Browser>Passwords"
+}
+team_email: "[email protected]"
diff --git a/components/password_manager/DIR_METADATA b/components/password_manager/DIR_METADATA
index 14f1f46..5b9fb11 100644
--- a/components/password_manager/DIR_METADATA
+++ b/components/password_manager/DIR_METADATA
@@ -1,4 +1 @@
-monorail {
-  component: "UI>Browser>Passwords"
-}
-team_email: "[email protected]"
+mixins: "//components/password_manager/COMMON_METADATA"
diff --git a/components/password_manager/core/browser/sync/DIR_METADATA b/components/password_manager/core/browser/sync/DIR_METADATA
new file mode 100644
index 0000000..4a58e65
--- /dev/null
+++ b/components/password_manager/core/browser/sync/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//components/sync/COMMON_METADATA"
diff --git a/components/payments/COMMON_METADATA b/components/payments/COMMON_METADATA
new file mode 100644
index 0000000..53ab283
--- /dev/null
+++ b/components/payments/COMMON_METADATA
@@ -0,0 +1,4 @@
+monorail {
+  component: "Blink>Payments"
+}
+team_email: "[email protected]"
diff --git a/components/payments/DIR_METADATA b/components/payments/DIR_METADATA
index 53ab283..9dddbb4 100644
--- a/components/payments/DIR_METADATA
+++ b/components/payments/DIR_METADATA
@@ -1,4 +1 @@
-monorail {
-  component: "Blink>Payments"
-}
-team_email: "[email protected]"
+mixins: "//components/payments/COMMON_METADATA"
diff --git a/components/pdf/DIR_METADATA b/components/pdf/DIR_METADATA
index 507a6ca..0563e2c 100644
--- a/components/pdf/DIR_METADATA
+++ b/components/pdf/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>Plugins>PDF"
-}
+mixins: "//pdf/COMMON_METADATA"
diff --git a/components/performance_manager/COMMON_METADATA b/components/performance_manager/COMMON_METADATA
new file mode 100644
index 0000000..f2dfe46
--- /dev/null
+++ b/components/performance_manager/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Internals>PerformanceManager"
+}
+
+team_email: "[email protected]"
diff --git a/components/performance_manager/DIR_METADATA b/components/performance_manager/DIR_METADATA
index f2dfe46..d1bfea0b 100644
--- a/components/performance_manager/DIR_METADATA
+++ b/components/performance_manager/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Internals>PerformanceManager"
-}
+mixins: "//components/performance_manager/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/policy/COMMON_METADATA b/components/policy/COMMON_METADATA
new file mode 100644
index 0000000..04f1804
--- /dev/null
+++ b/components/policy/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Enterprise"
+}
+
+team_email: "[email protected]"
diff --git a/components/policy/DIR_METADATA b/components/policy/DIR_METADATA
index 04f1804..b9feba2 100644
--- a/components/policy/DIR_METADATA
+++ b/components/policy/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Enterprise"
-}
+mixins: "//components/policy/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/printing/DIR_METADATA b/components/printing/DIR_METADATA
index c6bf1f0..2413ed4 100644
--- a/components/printing/DIR_METADATA
+++ b/components/printing/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>Printing"
-}
+mixins: "//printing/COMMON_METADATA"
diff --git a/components/query_tiles/COMMON_METADATA b/components/query_tiles/COMMON_METADATA
new file mode 100644
index 0000000..1a778a1
--- /dev/null
+++ b/components/query_tiles/COMMON_METADATA
@@ -0,0 +1,7 @@
+monorail {
+  component: "Upboarding>QueryTiles"
+}
+
+team_email: "[email protected]"
+
+os: ANDROID
diff --git a/components/query_tiles/DIR_METADATA b/components/query_tiles/DIR_METADATA
index 1a778a1..0f762fc6 100644
--- a/components/query_tiles/DIR_METADATA
+++ b/components/query_tiles/DIR_METADATA
@@ -1,7 +1,2 @@
-monorail {
-  component: "Upboarding>QueryTiles"
-}
+mixins: "//components/query_tiles/COMMON_METADATA"
 
-team_email: "[email protected]"
-
-os: ANDROID
diff --git a/components/search/COMMON_METADATA b/components/search/COMMON_METADATA
new file mode 100644
index 0000000..1ee6aef
--- /dev/null
+++ b/components/search/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "UI>Browser>NewTabPage"
+}
+
+team_email: "[email protected]"
diff --git a/components/search/DIR_METADATA b/components/search/DIR_METADATA
index 1ee6aef..18b53146 100644
--- a/components/search/DIR_METADATA
+++ b/components/search/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "UI>Browser>NewTabPage"
-}
+mixins: "//components/search/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/search_engines/COMMON_METADATA b/components/search_engines/COMMON_METADATA
new file mode 100644
index 0000000..4bbdcae
--- /dev/null
+++ b/components/search_engines/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>Search"
+}
diff --git a/components/search_engines/DIR_METADATA b/components/search_engines/DIR_METADATA
index 4bbdcae..1249d12 100644
--- a/components/search_engines/DIR_METADATA
+++ b/components/search_engines/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Search"
-}
+mixins: "//components/search_engines/COMMON_METADATA"
diff --git a/components/search_engines/android/DIR_METADATA b/components/search_engines/android/DIR_METADATA
new file mode 100644
index 0000000..c69388e
--- /dev/null
+++ b/components/search_engines/android/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//chrome/android/COMMON_METADATA"
diff --git a/components/search_provider_logos/COMMON_METADATA b/components/search_provider_logos/COMMON_METADATA
new file mode 100644
index 0000000..77ca58f
--- /dev/null
+++ b/components/search_provider_logos/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>NewTabPage"
+}
diff --git a/components/search_provider_logos/DIR_METADATA b/components/search_provider_logos/DIR_METADATA
index 77ca58f..1f479675 100644
--- a/components/search_provider_logos/DIR_METADATA
+++ b/components/search_provider_logos/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>NewTabPage"
-}
+mixins: "//components/search_provider_logos/COMMON_METADATA"
diff --git a/components/segmentation_platform/COMMON_METADATA b/components/segmentation_platform/COMMON_METADATA
new file mode 100644
index 0000000..e90fa6294
--- /dev/null
+++ b/components/segmentation_platform/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Internals>SegmentationPlatform"
+}
+
+team_email: "[email protected]"
diff --git a/components/segmentation_platform/DIR_METADATA b/components/segmentation_platform/DIR_METADATA
index e90fa6294..837ac09 100644
--- a/components/segmentation_platform/DIR_METADATA
+++ b/components/segmentation_platform/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Internals>SegmentationPlatform"
-}
+mixins: "//components/segmentation_platform/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/send_tab_to_self/COMMON_METADATA b/components/send_tab_to_self/COMMON_METADATA
new file mode 100644
index 0000000..167ca6e
--- /dev/null
+++ b/components/send_tab_to_self/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>Sharing"
+}
diff --git a/components/send_tab_to_self/DIR_METADATA b/components/send_tab_to_self/DIR_METADATA
index 167ca6e..024779e 100644
--- a/components/send_tab_to_self/DIR_METADATA
+++ b/components/send_tab_to_self/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Sharing"
-}
+mixins: "//components/send_tab_to_self/COMMON_METADATA"
diff --git a/components/services/DIR_METADATA b/components/services/DIR_METADATA
index 07ff2e9..e1ce67e 100644
--- a/components/services/DIR_METADATA
+++ b/components/services/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>Services"
-}
+mixins: "//services/COMMON_METADATA"
diff --git a/components/services/app_service/COMMON_METADATA b/components/services/app_service/COMMON_METADATA
new file mode 100644
index 0000000..21dfabe8
--- /dev/null
+++ b/components/services/app_service/COMMON_METADATA
@@ -0,0 +1,4 @@
+monorail: {
+  component: "Platform>Apps>Foundation>AppService"
+}
+team_email: "[email protected]"
diff --git a/components/services/app_service/DIR_METADATA b/components/services/app_service/DIR_METADATA
index 21dfabe8..c0404074 100644
--- a/components/services/app_service/DIR_METADATA
+++ b/components/services/app_service/DIR_METADATA
@@ -1,4 +1 @@
-monorail: {
-  component: "Platform>Apps>Foundation>AppService"
-}
-team_email: "[email protected]"
+mixins: "//components/services/app_service/COMMON_METADATA"
diff --git a/components/services/storage/dom_storage/DIR_METADATA b/components/services/storage/dom_storage/DIR_METADATA
index 69f4bfe..9f9b3e4 100644
--- a/components/services/storage/dom_storage/DIR_METADATA
+++ b/components/services/storage/dom_storage/DIR_METADATA
@@ -1,4 +1,2 @@
-monorail {
-  component: "Blink>Storage>DOMStorage"
-}
+mixins: "//content/browser/dom_storage/COMMON_METADATA"
 
diff --git a/components/services/storage/indexed_db/DIR_METADATA b/components/services/storage/indexed_db/DIR_METADATA
index 0d8be5e..7a835e3 100644
--- a/components/services/storage/indexed_db/DIR_METADATA
+++ b/components/services/storage/indexed_db/DIR_METADATA
@@ -1,4 +1,2 @@
-monorail {
-  component: "Blink>Storage>IndexedDB"
-}
+mixins: "//content/browser/indexed_db/COMMON_METADATA"
 
diff --git a/components/services/storage/service_worker/DIR_METADATA b/components/services/storage/service_worker/DIR_METADATA
new file mode 100644
index 0000000..e253a13
--- /dev/null
+++ b/components/services/storage/service_worker/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//content/browser/service_worker/COMMON_METADATA"
diff --git a/components/signin/COMMON_METADATA b/components/signin/COMMON_METADATA
new file mode 100644
index 0000000..4735e25f
--- /dev/null
+++ b/components/signin/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Services>SignIn"
+}
+
+team_email: "[email protected]"
diff --git a/components/signin/DIR_METADATA b/components/signin/DIR_METADATA
index 4735e25f..4162bb3 100644
--- a/components/signin/DIR_METADATA
+++ b/components/signin/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Services>SignIn"
-}
+mixins: "//components/signin/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/subresource_filter/COMMON_METADATA b/components/subresource_filter/COMMON_METADATA
new file mode 100644
index 0000000..352eefc
--- /dev/null
+++ b/components/subresource_filter/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>AdFilter"
+}
diff --git a/components/subresource_filter/DIR_METADATA b/components/subresource_filter/DIR_METADATA
index 352eefc..2ada13c 100644
--- a/components/subresource_filter/DIR_METADATA
+++ b/components/subresource_filter/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>AdFilter"
-}
+mixins: "//components/subresource_filter/COMMON_METADATA"
diff --git a/components/sync/COMMON_METADATA b/components/sync/COMMON_METADATA
new file mode 100644
index 0000000..1a6d7ee6
--- /dev/null
+++ b/components/sync/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Services>Sync"
+}
diff --git a/components/sync/DIR_METADATA b/components/sync/DIR_METADATA
index 1a6d7ee6..4a58e65 100644
--- a/components/sync/DIR_METADATA
+++ b/components/sync/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Services>Sync"
-}
+mixins: "//components/sync/COMMON_METADATA"
diff --git a/components/test/data/autofill/DIR_METADATA b/components/test/data/autofill/DIR_METADATA
index b597ffd..bc280336 100644
--- a/components/test/data/autofill/DIR_METADATA
+++ b/components/test/data/autofill/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Autofill"
-}
+mixins: "//components/autofill/COMMON_METADATA"
diff --git a/components/test/data/cast_certificate/DIR_METADATA b/components/test/data/cast_certificate/DIR_METADATA
new file mode 100644
index 0000000..25e6a775
--- /dev/null
+++ b/components/test/data/cast_certificate/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//components/cast_certificate/COMMON_METADATA"
diff --git a/components/test/data/data_reduction_proxy/DIR_METADATA b/components/test/data/data_reduction_proxy/DIR_METADATA
new file mode 100644
index 0000000..eb96fa3
--- /dev/null
+++ b/components/test/data/data_reduction_proxy/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//components/data_reduction_proxy/COMMON_METADATA"
diff --git a/components/test/data/dom_distiller/DIR_METADATA b/components/test/data/dom_distiller/DIR_METADATA
new file mode 100644
index 0000000..ca7bc37
--- /dev/null
+++ b/components/test/data/dom_distiller/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//components/dom_distiller/COMMON_METADATA"
diff --git a/components/test/data/password_manager/DIR_METADATA b/components/test/data/password_manager/DIR_METADATA
index 43d76b8..5b9fb11 100644
--- a/components/test/data/password_manager/DIR_METADATA
+++ b/components/test/data/password_manager/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Passwords"
-}
+mixins: "//components/password_manager/COMMON_METADATA"
diff --git a/components/test/data/performance_manager/DIR_METADATA b/components/test/data/performance_manager/DIR_METADATA
index e190e20..e9e0173 100644
--- a/components/test/data/performance_manager/DIR_METADATA
+++ b/components/test/data/performance_manager/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Internals>PerformanceManager"
-}
+mixins: "//components/performance_manager/COMMON_METADATA"
diff --git a/components/test/data/update_client/DIR_METADATA b/components/test/data/update_client/DIR_METADATA
index f29e6cf..960396cb 100644
--- a/components/test/data/update_client/DIR_METADATA
+++ b/components/test/data/update_client/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Internals>Installer>Components"
-}
+mixins: "//components/update_client/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/test/data/webcrypto/DIR_METADATA b/components/test/data/webcrypto/DIR_METADATA
new file mode 100644
index 0000000..624c9db
--- /dev/null
+++ b/components/test/data/webcrypto/DIR_METADATA
@@ -0,0 +1 @@
+mixins: "//components/webcrypto/COMMON_METADATA"
diff --git a/components/translate/COMMON_METADATA b/components/translate/COMMON_METADATA
new file mode 100644
index 0000000..f750899
--- /dev/null
+++ b/components/translate/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Browser>Language>Translate"
+}
diff --git a/components/translate/DIR_METADATA b/components/translate/DIR_METADATA
index f750899..58ea368c 100644
--- a/components/translate/DIR_METADATA
+++ b/components/translate/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Browser>Language>Translate"
-}
+mixins: "//components/translate/COMMON_METADATA"
diff --git a/components/unified_consent/COMMON_METADATA b/components/unified_consent/COMMON_METADATA
new file mode 100644
index 0000000..4735e25f
--- /dev/null
+++ b/components/unified_consent/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Services>SignIn"
+}
+
+team_email: "[email protected]"
diff --git a/components/unified_consent/DIR_METADATA b/components/unified_consent/DIR_METADATA
index 4735e25f..1e976573 100644
--- a/components/unified_consent/DIR_METADATA
+++ b/components/unified_consent/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Services>SignIn"
-}
+mixins: "//components/unified_consent/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/update_client/COMMON_METADATA b/components/update_client/COMMON_METADATA
new file mode 100644
index 0000000..f29e6cf
--- /dev/null
+++ b/components/update_client/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Internals>Installer>Components"
+}
+
+team_email: "[email protected]"
diff --git a/components/update_client/DIR_METADATA b/components/update_client/DIR_METADATA
index f29e6cf..960396cb 100644
--- a/components/update_client/DIR_METADATA
+++ b/components/update_client/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Internals>Installer>Components"
-}
+mixins: "//components/update_client/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/vector_icons/COMMON_METADATA b/components/vector_icons/COMMON_METADATA
new file mode 100644
index 0000000..ba32dd7
--- /dev/null
+++ b/components/vector_icons/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "UI>Assets>Images"
+}
diff --git a/components/vector_icons/DIR_METADATA b/components/vector_icons/DIR_METADATA
index ba32dd7..54e77e3 100644
--- a/components/vector_icons/DIR_METADATA
+++ b/components/vector_icons/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "UI>Assets>Images"
-}
+mixins: "//components/vector_icons/COMMON_METADATA"
diff --git a/components/viz/COMMON_METADATA b/components/viz/COMMON_METADATA
new file mode 100644
index 0000000..f7e4412
--- /dev/null
+++ b/components/viz/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Internals>Compositing"
+}
+
+team_email: "[email protected]"
diff --git a/components/viz/DIR_METADATA b/components/viz/DIR_METADATA
index f7e4412..b3ba172 100644
--- a/components/viz/DIR_METADATA
+++ b/components/viz/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Internals>Compositing"
-}
+mixins: "//components/viz/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/webapk/COMMON_METADATA b/components/webapk/COMMON_METADATA
new file mode 100644
index 0000000..1a508bb4
--- /dev/null
+++ b/components/webapk/COMMON_METADATA
@@ -0,0 +1,5 @@
+monorail {
+  component: "Mobile>WebAPKs"
+}
+
+team_email: "[email protected]"
diff --git a/components/webapk/DIR_METADATA b/components/webapk/DIR_METADATA
index 1a508bb4..58862a8 100644
--- a/components/webapk/DIR_METADATA
+++ b/components/webapk/DIR_METADATA
@@ -1,5 +1,2 @@
-monorail {
-  component: "Mobile>WebAPKs"
-}
+mixins: "//components/webapk/COMMON_METADATA"
 
-team_email: "[email protected]"
diff --git a/components/webapps/COMMON_METADATA b/components/webapps/COMMON_METADATA
new file mode 100644
index 0000000..11597323
--- /dev/null
+++ b/components/webapps/COMMON_METADATA
@@ -0,0 +1,4 @@
+monorail {
+  component: "UI>Browser>WebAppInstalls"
+}
+team_email: "[email protected]"
diff --git a/components/webapps/DIR_METADATA b/components/webapps/DIR_METADATA
index 11597323..49c72b4 100644
--- a/components/webapps/DIR_METADATA
+++ b/components/webapps/DIR_METADATA
@@ -1,4 +1 @@
-monorail {
-  component: "UI>Browser>WebAppInstalls"
-}
-team_email: "[email protected]"
+mixins: "//components/webapps/COMMON_METADATA"
diff --git a/components/webcrypto/COMMON_METADATA b/components/webcrypto/COMMON_METADATA
new file mode 100644
index 0000000..86d9592
--- /dev/null
+++ b/components/webcrypto/COMMON_METADATA
@@ -0,0 +1,3 @@
+monorail {
+  component: "Blink>WebCrypto"
+}
diff --git a/components/webcrypto/DIR_METADATA b/components/webcrypto/DIR_METADATA
index 86d9592..624c9db 100644
--- a/components/webcrypto/DIR_METADATA
+++ b/components/webcrypto/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Blink>WebCrypto"
-}
+mixins: "//components/webcrypto/COMMON_METADATA"
diff --git a/components/webrtc/DIR_METADATA b/components/webrtc/DIR_METADATA
index 66cc019..58da5fd 100644
--- a/components/webrtc/DIR_METADATA
+++ b/components/webrtc/DIR_METADATA
@@ -1,3 +1 @@
-monorail {
-  component: "Blink>WebRTC"
-}
+mixins: "//third_party/blink/public/platform/modules/webrtc/COMMON_METADATA"