diff --git a/tools/android/build_speed/benchmark.py b/tools/android/build_speed/benchmark.py
index 8b6b85b..c75af77c 100755
--- a/tools/android/build_speed/benchmark.py
+++ b/tools/android/build_speed/benchmark.py
@@ -40,7 +40,7 @@
 
 USE_PYTHON_3 = f'{__file__} will only run under python3.'
 
-_SRC_ROOT = pathlib.Path(__file__).parents[3].resolve()
+_SRC_ROOT = pathlib.Path(__file__).resolve().parents[3]
 sys.path.append(str(_SRC_ROOT / 'build' / 'android'))
 from pylib import constants
 import devil_chromium
@@ -114,70 +114,102 @@
 
 
 _BENCHMARKS = [
-    Benchmark('chrome_java_nosig', {
-        'kind': 'incremental_build_and_install',
-        'from_string': 'sInstance = instance;',
-        'to_string': 'sInstance = instance;String test = "Test";',
-        # pylint: disable=line-too-long
-        'change_file': 'chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java',
-    }),
-    Benchmark('chrome_java_sig', {
-        'kind': 'incremental_build_and_install',
-        'from_string': 'AppHooksImpl sInstance;',
-        'to_string': 'AppHooksImpl sInstance;public void NewInterfaceMethod(){}',
-        # pylint: disable=line-too-long
-        'change_file': 'chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java',
-    }),
-    Benchmark('chrome_java_res', {
-        'kind': 'incremental_build_and_install',
-        'from_string': '14181C',
-        'to_string': '14181D',
-        'change_file': 'chrome/android/java/res/values/colors.xml',
-    }),
-    Benchmark('module_java_public_sig', {
-        'kind': 'incremental_build_and_install',
-        'from_string': 'INVALID_WINDOW_INDEX = -1',
-        'to_string': 'INVALID_WINDOW_INDEX = -2',
-        # pylint: disable=line-too-long
-        'change_file': 'chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java',
-    }),
-    Benchmark('module_java_internal_nosig', {
-        'kind': 'incremental_build_and_install',
-        'from_string': '"TabModelSelector',
-        'to_string': '"DifferentUniqueString',
-        # pylint: disable=line-too-long
-        'change_file': 'chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java',
-    }),
-    Benchmark('base_java_nosig', {
-        'kind': 'incremental_build_and_install',
-        'from_string': '"SysUtil',
-        'to_string': '"SysUtil1',
-        'change_file': 'base/android/java/src/org/chromium/base/SysUtils.java',
-    }),
-    Benchmark('base_java_sig', {
-        'kind': 'incremental_build_and_install',
-        'from_string': 'SysUtils";',
-        'to_string': 'SysUtils";public void NewInterfaceMethod(){}',
-        'change_file': 'base/android/java/src/org/chromium/base/SysUtils.java',
-    }),
-    Benchmark('turbine_headers', {
-        'kind': 'incremental_build',
-        'from_string': '# found in the LICENSE file.',
-        'to_string': '#temporary_edit_for_benchmark.py',
-        'change_file': 'build/android/gyp/turbine.py',
-    }),
-    Benchmark('compile_java', {
-        'kind': 'incremental_build',
-        'from_string': '# found in the LICENSE file.',
-        'to_string': '#temporary_edit_for_benchmark.py',
-        'change_file': 'build/android/gyp/compile_java.py',
-    }),
-    Benchmark('write_build_config', {
-        'kind': 'incremental_build',
-        'from_string': '# found in the LICENSE file.',
-        'to_string': '#temporary_edit_for_benchmark.py',
-        'change_file': 'build/android/gyp/write_build_config.py',
-    }),
+    Benchmark(
+        'chrome_java_nosig',
+        {
+            'kind':
+            'incremental_build_and_install',
+            'from_string':
+            'sInstance = instance;',
+            'to_string':
+            'sInstance = instance;String test = "Test";',
+            # pylint: disable=line-too-long
+            'change_file':
+            'chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java',
+        }),
+    Benchmark(
+        'chrome_java_sig',
+        {
+            'kind':
+            'incremental_build_and_install',
+            'from_string':
+            'AppHooksImpl sInstance;',
+            'to_string':
+            'AppHooksImpl sInstance;public void NewInterfaceMethod(){}',
+            # pylint: disable=line-too-long
+            'change_file':
+            'chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java',
+        }),
+    Benchmark(
+        'chrome_java_res', {
+            'kind': 'incremental_build_and_install',
+            'from_string': '14181C',
+            'to_string': '14181D',
+            'change_file': 'chrome/android/java/res/values/colors.xml',
+        }),
+    Benchmark(
+        'module_java_public_sig',
+        {
+            'kind':
+            'incremental_build_and_install',
+            'from_string':
+            'INVALID_WINDOW_INDEX = -1',
+            'to_string':
+            'INVALID_WINDOW_INDEX = -2',
+            # pylint: disable=line-too-long
+            'change_file':
+            'chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java',
+        }),
+    Benchmark(
+        'module_java_internal_nosig',
+        {
+            'kind':
+            'incremental_build_and_install',
+            'from_string':
+            '"TabModelSelector',
+            'to_string':
+            '"DifferentUniqueString',
+            # pylint: disable=line-too-long
+            'change_file':
+            'chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java',
+        }),
+    Benchmark(
+        'base_java_nosig', {
+            'kind': 'incremental_build_and_install',
+            'from_string': '"SysUtil',
+            'to_string': '"SysUtil1',
+            'change_file':
+            'base/android/java/src/org/chromium/base/SysUtils.java',
+        }),
+    Benchmark(
+        'base_java_sig', {
+            'kind': 'incremental_build_and_install',
+            'from_string': 'SysUtils";',
+            'to_string': 'SysUtils";public void NewInterfaceMethod(){}',
+            'change_file':
+            'base/android/java/src/org/chromium/base/SysUtils.java',
+        }),
+    Benchmark(
+        'turbine_headers', {
+            'kind': 'incremental_build',
+            'from_string': '# found in the LICENSE file.',
+            'to_string': '#temporary_edit_for_benchmark.py',
+            'change_file': 'build/android/gyp/turbine.py',
+        }),
+    Benchmark(
+        'compile_java', {
+            'kind': 'incremental_build',
+            'from_string': '# found in the LICENSE file.',
+            'to_string': '#temporary_edit_for_benchmark.py',
+            'change_file': 'build/android/gyp/compile_java.py',
+        }),
+    Benchmark(
+        'write_build_config', {
+            'kind': 'incremental_build',
+            'from_string': '# found in the LICENSE file.',
+            'to_string': '#temporary_edit_for_benchmark.py',
+            'change_file': 'build/android/gyp/write_build_config.py',
+        }),
 ]
 
 
diff --git a/tools/android/dependency_analysis/serialization.py b/tools/android/dependency_analysis/serialization.py
index 444a077..74caf8e 100644
--- a/tools/android/dependency_analysis/serialization.py
+++ b/tools/android/dependency_analysis/serialization.py
@@ -15,8 +15,9 @@
 import package_dependency
 import target_dependency
 
-_TOOLS_ANDROID_PATH = pathlib.Path(__file__).parents[1].resolve()
-sys.path.append(str(_TOOLS_ANDROID_PATH))
+_TOOLS_ANDROID_PATH = pathlib.Path(__file__).resolve().parents[1]
+if str(_TOOLS_ANDROID_PATH) not in sys.path:
+    sys.path.append(str(_TOOLS_ANDROID_PATH))
 from python_utils import git_metadata_utils
 
 
diff --git a/tools/android/modularization/convenience/lookup_dep.py b/tools/android/modularization/convenience/lookup_dep.py
index a2af0e3..c4bfb01 100755
--- a/tools/android/modularization/convenience/lookup_dep.py
+++ b/tools/android/modularization/convenience/lookup_dep.py
@@ -27,7 +27,7 @@
 import zipfile
 from typing import Dict, List, Set
 
-_SRC_DIR = pathlib.Path(__file__).parents[4].resolve()
+_SRC_DIR = pathlib.Path(__file__).resolve().parents[4]
 
 sys.path.append(str(_SRC_DIR / 'build' / 'android'))
 from pylib import constants
diff --git a/tools/android/modularization/gn/json_gn_editor.py b/tools/android/modularization/gn/json_gn_editor.py
index c634be2f..256d317 100644
--- a/tools/android/modularization/gn/json_gn_editor.py
+++ b/tools/android/modularization/gn/json_gn_editor.py
@@ -20,7 +20,7 @@
 
 from typing import Iterator, List, Optional, Tuple
 
-_TOOLS_ANDROID_PATH = pathlib.Path(__file__).parents[2].resolve()
+_TOOLS_ANDROID_PATH = pathlib.Path(__file__).resolve().parents[2]
 if str(_TOOLS_ANDROID_PATH) not in sys.path:
     sys.path.append(str(_TOOLS_ANDROID_PATH))
 from python_utils import git_metadata_utils, subprocess_utils
@@ -117,6 +117,7 @@
 
 class BuildFile:
     """Represents the contents of a BUILD.gn file."""
+
     def __init__(self,
                  build_gn_path: str,
                  root_gn_path: str,
@@ -223,6 +224,7 @@
         return name
 
     def _find_all_list_assignments(self):
+
         def match_list_assignments(node):
             r"""Matches and returns the list being assigned.
 
diff --git a/tools/android/modularization/gn/utils.py b/tools/android/modularization/gn/utils.py
index 4aef545..28d9178 100644
--- a/tools/android/modularization/gn/utils.py
+++ b/tools/android/modularization/gn/utils.py
@@ -8,7 +8,7 @@
 import pathlib
 import sys
 
-_TOOLS_ANDROID_PATH = pathlib.Path(__file__).parents[2].resolve()
+_TOOLS_ANDROID_PATH = pathlib.Path(__file__).resolve().parents[2]
 if str(_TOOLS_ANDROID_PATH) not in sys.path:
     sys.path.append(str(_TOOLS_ANDROID_PATH))
 from python_utils import subprocess_utils
diff --git a/tools/android/python_utils/README.md b/tools/android/python_utils/README.md
index d8a4fc0..e30d654 100644
--- a/tools/android/python_utils/README.md
+++ b/tools/android/python_utils/README.md
@@ -9,7 +9,7 @@
 
 1. Add `chromium_git/src/tools/android` to your Python module search path, e.g.:
     ```
-    _TOOLS_ANDROID_PATH = pathlib.Path(__file__).parents[2].resolve()
+    _TOOLS_ANDROID_PATH = pathlib.Path(__file__).resolve().parents[2]
 
     if str(_TOOLS_ANDROID_PATH) not in sys.path:
         sys.path.append(str(_TOOLS_ANDROID_PATH))
diff --git a/tools/android/python_utils/git_metadata_utils.py b/tools/android/python_utils/git_metadata_utils.py
index 424afde..02fecf6 100644
--- a/tools/android/python_utils/git_metadata_utils.py
+++ b/tools/android/python_utils/git_metadata_utils.py
@@ -10,7 +10,7 @@
 import sys
 from typing import Optional, Union
 
-_PYTHON_UTILS_PATH = pathlib.Path(__file__).parents[0].resolve()
+_PYTHON_UTILS_PATH = pathlib.Path(__file__).resolve().parents[0]
 if str(_PYTHON_UTILS_PATH) not in sys.path:
     sys.path.append(str(_PYTHON_UTILS_PATH))
 import subprocess_utils
@@ -28,7 +28,7 @@
         The absolute path to the 'src' root directory of the Chromium Git
         checkout containing this file.
     """
-    _CHROMIUM_SRC_ROOT = pathlib.Path(__file__).parents[3].resolve(strict=True)
+    _CHROMIUM_SRC_ROOT = pathlib.Path(__file__).resolve(strict=True).parents[3]
     if _CHROMIUM_SRC_ROOT.name != 'src':
         raise AssertionError(
             f'_CHROMIUM_SRC_ROOT "{_CHROMIUM_SRC_ROOT}" should end in "src".')
diff --git a/tools/android/python_utils/subprocess_utils.py b/tools/android/python_utils/subprocess_utils.py
index a8f22c7..0a4aa3f4 100644
--- a/tools/android/python_utils/subprocess_utils.py
+++ b/tools/android/python_utils/subprocess_utils.py
@@ -12,7 +12,7 @@
 
 from typing import Optional, Sequence, Union
 
-_PYTHON_UTILS_PATH = pathlib.Path(__file__).parents[0].resolve()
+_PYTHON_UTILS_PATH = pathlib.Path(__file__).resolve().parents[0]
 if str(_PYTHON_UTILS_PATH) not in sys.path:
     sys.path.append(str(_PYTHON_UTILS_PATH))
 import git_metadata_utils
diff --git a/tools/android/test_health/java_test_utils.py b/tools/android/test_health/java_test_utils.py
index 7efaba85..422479bf 100644
--- a/tools/android/test_health/java_test_utils.py
+++ b/tools/android/test_health/java_test_utils.py
@@ -10,7 +10,7 @@
 import sys
 from typing import List, Optional
 
-_TOOLS_ANDROID_PATH = pathlib.Path(__file__).parents[1].resolve(strict=True)
+_TOOLS_ANDROID_PATH = pathlib.Path(__file__).resolve(strict=True).parents[1]
 if str(_TOOLS_ANDROID_PATH) not in sys.path:
     sys.path.append(str(_TOOLS_ANDROID_PATH))
 from python_utils import git_metadata_utils
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
index 730dcb35..75019bd 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -35,8 +35,8 @@
 # https://chromium.googlesource.com/chromium/src/+/main/docs/updating_clang.md
 # Reverting problematic clang rolls is safe, though.
 # This is the output of `git describe` and is usable as a commit-ish.
-CLANG_REVISION = 'llvmorg-16-init-13328-g110fe4f4'
-CLANG_SUB_REVISION = 1
+CLANG_REVISION = 'llvmorg-16-init-12251-g87d0ff91'
+CLANG_SUB_REVISION = 2
 
 PACKAGE_VERSION = '%s-%s' % (CLANG_REVISION, CLANG_SUB_REVISION)
 RELEASE_VERSION = '16'
diff --git a/tools/mb/PRESUBMIT.py b/tools/mb/PRESUBMIT.py
index a90f860..1110bb0 100644
--- a/tools/mb/PRESUBMIT.py
+++ b/tools/mb/PRESUBMIT.py
@@ -44,28 +44,27 @@
 
 
 def _CommonChecks(input_api, output_api):
-  results = []
+  tests = []
 
   # Run Pylint over the files in the directory.
-  pylint_checks = input_api.canned_checks.GetPylint(
-      input_api,
-      output_api,
-      version='2.7',
-      # pylint complains about Checkfreeze not being defined, its probably
-      # finding a different PRESUBMIT.py. Note that this warning only appears if
-      # the number of Pylint jobs is greater than one.
-      files_to_skip=['PRESUBMIT_test.py'],
-      # Disabling this warning because this pattern - involving ToSrcRelPath -
-      # seems intrinsic to how mb_unittest.py is implemented.
-      disabled_warnings=[
-          'attribute-defined-outside-init',
-      ],
-  )
-  results.extend(input_api.RunTests(pylint_checks))
+  tests.extend(
+      input_api.canned_checks.GetPylint(
+          input_api,
+          output_api,
+          version='2.7',
+          # pylint complains about Checkfreeze not being defined, its probably
+          # finding a different PRESUBMIT.py. Note that this warning only
+          # appears if the number of Pylint jobs is greater than one.
+          files_to_skip=['PRESUBMIT_test.py'],
+          # Disabling this warning because this pattern involving ToSrcRelPath
+          # seems intrinsic to how mb_unittest.py is implemented.
+          disabled_warnings=[
+              'attribute-defined-outside-init',
+          ]))
 
   # Run the MB unittests.
-  results.extend(
-      input_api.canned_checks.RunUnitTestsInDirectory(input_api,
+  tests.extend(
+      input_api.canned_checks.GetUnitTestsInDirectory(input_api,
                                                       output_api,
                                                       '.',
                                                       [r'^.+_unittest\.py$'],
@@ -76,11 +75,14 @@
   # Validate the format of the mb_config.pyl file.
   cmd = [input_api.python3_executable, 'mb.py', 'validate']
   kwargs = {'cwd': input_api.PresubmitLocalPath()}
-  results.extend(input_api.RunTests([
+  tests.append(
       input_api.Command(name='mb_validate',
-                        cmd=cmd, kwargs=kwargs,
-                        message=output_api.PresubmitError)]))
+                        cmd=cmd,
+                        kwargs=kwargs,
+                        message=output_api.PresubmitError))
 
+  results = []
+  results.extend(input_api.RunTests(tests))
   results.extend(CheckFreeze(input_api, output_api))
   results.extend(CheckTests(input_api, output_api))
 
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
index 72a05e2..567cc8d 100644
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -143,7 +143,9 @@
     },
 
     'chromium.cft': {
+      'linux-rel-cft': 'gpu_tests_release_bot_minimal_symbols_chrome_for_testing_no_nacl_reclient',
       'mac-rel-cft': 'gpu_tests_release_bot_minimal_symbols_chrome_for_testing_no_nacl_reclient',
+      'win-rel-cft': 'gpu_tests_release_bot_minimal_symbols_chrome_for_testing_no_nacl_reclient',
     },
 
     'chromium.chromiumos': {
@@ -1004,8 +1006,8 @@
       'android-deterministic-rel': 'android_without_codecs_release_trybot',
       'android-fieldtrial-rel': 'android_release_trybot_minimal_symbols_x86_fastbuild_disable_proguard_chrome_google',
       'android-inverse-fieldtrials-pie-x86-fyi-rel': 'android_release_trybot_x86_fastbuild_webview_google_invert_fieldtrials',
-      'android-nougat-x86-rel': 'android_release_trybot_x86_fastbuild_webview_monochrome_reclient',
-      'android-nougat-x86-rel-inverse-fyi': 'android_release_trybot_x86_fastbuild_webview_monochrome',
+      'android-nougat-x86-rel': 'android_release_trybot_x86_fastbuild_webview_monochrome_coverage_reclient',
+      'android-nougat-x86-rel-inverse-fyi': 'android_release_trybot_x86_fastbuild_webview_monochrome_coverage',
       'android-oreo-arm64-dbg': 'android_debug_trybot_arm64_reclient',
       'android-perfetto-rel': 'perfetto_release_trybot_android',
       # TODO(crbug/1182468) Remove android coverage bots after coverage is
@@ -1057,7 +1059,9 @@
     },
 
     'tryserver.chromium.cft': {
+      'linux-rel-cft': 'gpu_tests_release_trybot_no_symbols_use_dummy_lastchange_code_coverage_do_typecheck_chrome_for_testing',
       'mac-rel-cft': 'gpu_tests_release_trybot_no_symbols_mac_code_coverage_chrome_for_testing',
+      'win-rel-cft': 'gpu_tests_release_trybot_resource_allowlisting_code_coverage_chrome_for_testing',
     },
 
     'tryserver.chromium.chromiumos': {
@@ -1176,7 +1180,6 @@
       'linux-mbi-mode-per-site-instance-rel': 'gpu_tests_release_trybot_mbi_mode_per_site_instance',
       'linux-perfetto-rel': 'perfetto_release_trybot_reclient',
       'linux-rel': 'gpu_tests_release_trybot_no_symbols_use_dummy_lastchange_code_coverage_do_typecheck_reclient',
-      'linux-rel-cft': 'gpu_tests_release_trybot_no_symbols_use_dummy_lastchange_code_coverage_do_typecheck_chrome_for_testing_reclient',
       'linux-rel-inverse-fyi': 'gpu_tests_release_trybot_no_symbols_use_dummy_lastchange_code_coverage_do_typecheck',
       'linux-rel-ml': 'gpu_tests_release_trybot_no_symbols_use_dummy_lastchange_do_typecheck_reclient',
       'linux-rel-warmed': 'gpu_tests_release_trybot_no_symbols_use_dummy_lastchange_code_coverage',
@@ -1353,7 +1356,6 @@
       'win-libfuzzer-asan-rel': 'libfuzzer_windows_asan_release_trybot_reclient',
       'win-perfetto-rel': 'perfetto_release_trybot',
       'win-rel': 'gpu_tests_release_trybot_resource_allowlisting_code_coverage',
-      'win-rel-cft': 'gpu_tests_release_trybot_resource_allowlisting_code_coverage_chrome_for_testing',
       'win10-wpt-content-shell-fyi-rel': 'release_trybot',
       'win10_chromium_inverse_fieldtrials_x64_fyi_rel_ng': 'gpu_tests_release_trybot_resource_allowlisting_invert_fieldtrials',
       'win10_chromium_x64_dbg_ng': 'gpu_tests_debug_bot_reclient',
@@ -1744,6 +1746,18 @@
       'android_fastbuild', 'webview_monochrome', 'webview_shell',
     ],
 
+    'android_release_trybot_x86_fastbuild_webview_monochrome_coverage': [
+      'android', 'release_trybot', 'strip_debug_info', 'x86',
+      'android_fastbuild', 'use_java_coverage', 'partial_code_coverage_instrumentation',
+      'webview_monochrome', 'webview_shell',
+    ],
+
+    'android_release_trybot_x86_fastbuild_webview_monochrome_coverage_reclient': [
+      'android', 'release_trybot_reclient', 'strip_debug_info', 'x86',
+      'android_fastbuild', 'use_java_coverage', 'partial_code_coverage_instrumentation',
+      'webview_monochrome', 'webview_shell',
+    ],
+
     'android_release_trybot_x86_fastbuild_webview_monochrome_reclient': [
       'android', 'release_trybot_reclient', 'strip_debug_info', 'x86',
       'android_fastbuild', 'webview_monochrome', 'webview_shell',
@@ -2801,8 +2815,8 @@
       'use_clang_coverage', 'partial_code_coverage_instrumentation', 'devtools_do_typecheck',
     ],
 
-    'gpu_tests_release_trybot_no_symbols_use_dummy_lastchange_code_coverage_do_typecheck_chrome_for_testing_reclient': [
-      'gpu_tests', 'release_trybot_reclient', 'no_symbols', 'use_dummy_lastchange',
+    'gpu_tests_release_trybot_no_symbols_use_dummy_lastchange_code_coverage_do_typecheck_chrome_for_testing': [
+      'gpu_tests', 'release_trybot', 'no_symbols', 'use_dummy_lastchange',
       'use_clang_coverage', 'devtools_do_typecheck', 'chrome_for_testing',
     ],
 
diff --git a/tools/mb/mb_config_expectations/chromium.cft.json b/tools/mb/mb_config_expectations/chromium.cft.json
index a3c61b6..3c72719 100644
--- a/tools/mb/mb_config_expectations/chromium.cft.json
+++ b/tools/mb/mb_config_expectations/chromium.cft.json
@@ -1,4 +1,17 @@
 {
+  "linux-rel-cft": {
+    "gn_args": {
+      "dcheck_always_on": false,
+      "enable_nacl": false,
+      "ffmpeg_branding": "Chrome",
+      "is_chrome_for_testing_branded": true,
+      "is_component_build": false,
+      "is_debug": false,
+      "proprietary_codecs": true,
+      "symbol_level": 1,
+      "use_remoteexec": true
+    }
+  },
   "mac-rel-cft": {
     "gn_args": {
       "dcheck_always_on": false,
@@ -11,5 +24,18 @@
       "symbol_level": 1,
       "use_remoteexec": true
     }
+  },
+  "win-rel-cft": {
+    "gn_args": {
+      "dcheck_always_on": false,
+      "enable_nacl": false,
+      "ffmpeg_branding": "Chrome",
+      "is_chrome_for_testing_branded": true,
+      "is_component_build": false,
+      "is_debug": false,
+      "proprietary_codecs": true,
+      "symbol_level": 1,
+      "use_remoteexec": true
+    }
   }
 }
\ No newline at end of file
diff --git a/tools/mb/mb_config_expectations/tryserver.chromium.android.json b/tools/mb/mb_config_expectations/tryserver.chromium.android.json
index cb7a8a6..b108fec 100644
--- a/tools/mb/mb_config_expectations/tryserver.chromium.android.json
+++ b/tools/mb/mb_config_expectations/tryserver.chromium.android.json
@@ -623,6 +623,7 @@
   "android-nougat-x86-rel": {
     "gn_args": {
       "android_static_analysis": "off",
+      "coverage_instrumentation_input_file": "//.code-coverage/files_to_instrument.txt",
       "dcheck_always_on": true,
       "debuggable_apks": false,
       "ffmpeg_branding": "Chrome",
@@ -635,12 +636,14 @@
       "system_webview_shell_package_name": "org.chromium.my_webview_shell",
       "target_cpu": "x86",
       "target_os": "android",
+      "use_jacoco_coverage": true,
       "use_remoteexec": true
     }
   },
   "android-nougat-x86-rel-inverse-fyi": {
     "gn_args": {
       "android_static_analysis": "off",
+      "coverage_instrumentation_input_file": "//.code-coverage/files_to_instrument.txt",
       "dcheck_always_on": true,
       "debuggable_apks": false,
       "ffmpeg_branding": "Chrome",
@@ -653,7 +656,8 @@
       "system_webview_shell_package_name": "org.chromium.my_webview_shell",
       "target_cpu": "x86",
       "target_os": "android",
-      "use_goma": true
+      "use_goma": true,
+      "use_jacoco_coverage": true
     }
   },
   "android-oreo-arm64-dbg": {
diff --git a/tools/mb/mb_config_expectations/tryserver.chromium.cft.json b/tools/mb/mb_config_expectations/tryserver.chromium.cft.json
index e53c41e..e200dfc3 100644
--- a/tools/mb/mb_config_expectations/tryserver.chromium.cft.json
+++ b/tools/mb/mb_config_expectations/tryserver.chromium.cft.json
@@ -1,4 +1,19 @@
 {
+  "linux-rel-cft": {
+    "gn_args": {
+      "dcheck_always_on": true,
+      "devtools_skip_typecheck": false,
+      "ffmpeg_branding": "Chrome",
+      "is_chrome_for_testing_branded": true,
+      "is_component_build": false,
+      "is_debug": false,
+      "proprietary_codecs": true,
+      "symbol_level": 0,
+      "use_clang_coverage": true,
+      "use_dummy_lastchange": true,
+      "use_goma": true
+    }
+  },
   "mac-rel-cft": {
     "gn_args": {
       "dcheck_always_on": true,
@@ -11,5 +26,19 @@
       "use_clang_coverage": true,
       "use_goma": true
     }
+  },
+  "win-rel-cft": {
+    "gn_args": {
+      "dcheck_always_on": true,
+      "enable_resource_allowlist_generation": false,
+      "ffmpeg_branding": "Chrome",
+      "is_chrome_for_testing_branded": true,
+      "is_component_build": false,
+      "is_debug": false,
+      "proprietary_codecs": true,
+      "symbol_level": 0,
+      "use_clang_coverage": true,
+      "use_goma": true
+    }
   }
 }
\ No newline at end of file
diff --git a/tools/mb/mb_config_expectations/tryserver.chromium.linux.json b/tools/mb/mb_config_expectations/tryserver.chromium.linux.json
index a0110db..227a067 100644
--- a/tools/mb/mb_config_expectations/tryserver.chromium.linux.json
+++ b/tools/mb/mb_config_expectations/tryserver.chromium.linux.json
@@ -401,21 +401,6 @@
       "use_remoteexec": true
     }
   },
-  "linux-rel-cft": {
-    "gn_args": {
-      "dcheck_always_on": true,
-      "devtools_skip_typecheck": false,
-      "ffmpeg_branding": "Chrome",
-      "is_chrome_for_testing_branded": true,
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "symbol_level": 0,
-      "use_clang_coverage": true,
-      "use_dummy_lastchange": true,
-      "use_remoteexec": true
-    }
-  },
   "linux-rel-inverse-fyi": {
     "gn_args": {
       "coverage_instrumentation_input_file": "//.code-coverage/files_to_instrument.txt",
diff --git a/tools/mb/mb_config_expectations/tryserver.chromium.win.json b/tools/mb/mb_config_expectations/tryserver.chromium.win.json
index 3270718..e9821e3b 100644
--- a/tools/mb/mb_config_expectations/tryserver.chromium.win.json
+++ b/tools/mb/mb_config_expectations/tryserver.chromium.win.json
@@ -188,20 +188,6 @@
       "use_goma": true
     }
   },
-  "win-rel-cft": {
-    "gn_args": {
-      "dcheck_always_on": true,
-      "enable_resource_allowlist_generation": false,
-      "ffmpeg_branding": "Chrome",
-      "is_chrome_for_testing_branded": true,
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "symbol_level": 0,
-      "use_clang_coverage": true,
-      "use_goma": true
-    }
-  },
   "win10-wpt-content-shell-fyi-rel": {
     "gn_args": {
       "dcheck_always_on": true,
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 5068564..3927eb3 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -19276,14 +19276,6 @@
   <int value="1" label="Context error"/>
 </enum>
 
-<enum name="ConversionDestinationLimitResult">
-  <int value="0" label="Allowed by pending, allowed by unexpired"/>
-  <int value="1" label="Allowed by pending, dropped by unexpired"/>
-  <int value="2" label="Dropped by pending, allowed by unexpired"/>
-  <int value="3" label="Dropped by pending, dropped by unexpired"/>
-  <int value="4" label="Error"/>
-</enum>
-
 <enum name="ConversionNavigationDataHostStatus">
   <int value="0" label="Registered"/>
   <int value="1" label="Not found"/>
@@ -36670,6 +36662,18 @@
       label="Associate Account Dismissed By Timeout After Learn More Pressed"/>
 </enum>
 
+<enum name="FastPairRetroactiveSuccessFunnelEvent">
+  <int value="0" label="Device detected"/>
+  <int value="1" label="Initialization started"/>
+  <int value="2" label="Writing account key"/>
+  <int value="3" label="Timed out writing account key"/>
+  <int value="4" label="Account key written to device"/>
+  <int value="5" label="BLE address rotated"/>
+  <int value="6" label="Notification displayed"/>
+  <int value="7" label="Save requested by user"/>
+  <int value="8" label="Save to Footprints complete"/>
+</enum>
+
 <enum name="FastPairSavedDevicesUiEvent">
   <int value="0" label="Settings - saved device list subpage shown"/>
   <int value="1" label="Settings - user has devices saved to their account"/>
@@ -59323,6 +59327,7 @@
   <int value="-790900615" label="NtpShoppingTasksModule:disabled"/>
   <int value="-790544721"
       label="OverrideUnsupportedPageLanguageForHrefTranslate:disabled"/>
+  <int value="-790292839" label="LauncherKeywordExtractionScoring:enabled"/>
   <int value="-790036192" label="overscroll-start-threshold"/>
   <int value="-787969387" label="HTTPSServerPreviewsUsingURLLoader:enabled"/>
   <int value="-787885873" label="BorealisForceBetaClient:disabled"/>
@@ -62490,6 +62495,7 @@
   <int value="1090377940" label="enable-quic-https"/>
   <int value="1090442943" label="SemanticColorDebugOverride:enabled"/>
   <int value="1091157601" label="SearchNavigationPrefetch:enabled"/>
+  <int value="1091520021" label="LauncherKeywordExtractionScoring:disabled"/>
   <int value="1091624595" label="BluetoothAdvertisementMonitoring:enabled"/>
   <int value="1091631619" label="disable-accelerated-video-encode"/>
   <int value="1092296990" label="EnableMultiMonitorsInCrd:disabled"/>
@@ -75739,6 +75745,7 @@
   <int value="406" label="DLC (Deprecated)"/>
   <int value="407" label="Power"/>
   <int value="408" label="Audio"/>
+  <int value="409" label="Per-device Keyboard"/>
   <int value="500" label="Change Picture"/>
   <int value="501" label="Ambient Mode"/>
   <int value="502" label="Ambient Mode Photos (Deprecated)"/>
@@ -92799,6 +92806,8 @@
   <int value="39" label="Post device restore sign-in promo"/>
   <int value="40" label="Post device restore background sign-in"/>
   <int value="41" label="NTP Signed-out icon"/>
+  <int value="42" label="Sign-in promo on NTP feed card menu section."/>
+  <int value="43" label="Sign-in promo on NTP feed bottom section."/>
 </enum>
 
 <enum name="SigninAccountReconcilorState">
diff --git a/tools/metrics/histograms/metadata/android/histograms.xml b/tools/metrics/histograms/metadata/android/histograms.xml
index ff38e39..118a8f1 100644
--- a/tools/metrics/histograms/metadata/android/histograms.xml
+++ b/tools/metrics/histograms/metadata/android/histograms.xml
@@ -2666,7 +2666,7 @@
 </histogram>
 
 <histogram name="Android.Omnibox.SuggestionView.SessionViewsCreated"
-    units="views created" expires_after="2023-07-01">
+    units="count" expires_after="2023-07-01">
   <owner>ender@google.com</owner>
   <owner>rongtan@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/apps/histograms.xml b/tools/metrics/histograms/metadata/apps/histograms.xml
index efea449..4b9b2a05 100644
--- a/tools/metrics/histograms/metadata/apps/histograms.xml
+++ b/tools/metrics/histograms/metadata/apps/histograms.xml
@@ -1279,7 +1279,7 @@
 </histogram>
 
 <histogram name="Apps.AppListAppLaunchedV2{AppListState}"
-    enum="AppListLaunchedFrom" expires_after="2022-12-19">
+    enum="AppListLaunchedFrom" expires_after="2023-12-19">
   <owner>tbarzic@chromium.org</owner>
   <owner>mmourgos@chromium.org</owner>
   <owner>newcomer@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/blink/histograms.xml b/tools/metrics/histograms/metadata/blink/histograms.xml
index dba5c02..8881810 100644
--- a/tools/metrics/histograms/metadata/blink/histograms.xml
+++ b/tools/metrics/histograms/metadata/blink/histograms.xml
@@ -1206,7 +1206,7 @@
 </histogram>
 
 <histogram name="Blink.Fetch.ReducedUserAgent" enum="Boolean"
-    expires_after="M111">
+    expires_after="2023-04-30">
   <owner>miketaylr@chromium.org</owner>
   <owner>victortan@chromium.org</owner>
   <owner>potassium-katabolism@google.com</owner>
@@ -1855,37 +1855,6 @@
   </summary>
 </histogram>
 
-<histogram name="Blink.Layout.NGRatio.Blocks" units="%"
-    expires_after="2023-04-16">
-  <owner>tkent@chromium.org</owner>
-  <owner>layout-dev@chromium.org</owner>
-  <summary>
-    Records LayoutNG ratio for the number of blocks.
-
-    This records a percentage of LayoutNG-based blocks relative to all blocks.
-    This is recorded once per page on unloading the page. A value takes into
-    account of all frames in a single page.
-
-    See https://bit.ly/ng-ratio for more details.
-  </summary>
-</histogram>
-
-<histogram name="Blink.Layout.NGRatio.Calls" units="%"
-    expires_after="2023-04-16">
-  <owner>tkent@chromium.org</owner>
-  <owner>layout-dev@chromium.org</owner>
-  <summary>
-    Records LayoutNG ratio for the number of UpdateLayout calls.
-
-    This records a percentage of UpdateLayout() calls for LayoutNG-based objects
-    relative to all UpdateLayout() calls. This is recorded once per page on
-    unloading the page. A value takes into account of all frames in a single
-    page.
-
-    See https://bit.ly/ng-ratio for more details.
-  </summary>
-</histogram>
-
 <histogram name="Blink.Layout.UpdateLayerPositionsAfterLayout"
     units="microseconds" expires_after="2023-05-07">
   <owner>pdr@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/chromeos/histograms.xml b/tools/metrics/histograms/metadata/chromeos/histograms.xml
index 5b18899..8f892671 100644
--- a/tools/metrics/histograms/metadata/chromeos/histograms.xml
+++ b/tools/metrics/histograms/metadata/chromeos/histograms.xml
@@ -1400,6 +1400,17 @@
   </summary>
 </histogram>
 
+<histogram name="ChromeOS.LanguagePacks.InstallBasePack.FeatureId"
+    enum="LanguagePackFeatureIds" expires_after="2023-06-04">
+  <owner>claudiomagni@chromium.org</owner>
+  <owner>mlcui@google.com</owner>
+  <owner>dvallet@chromium.org</owner>
+  <summary>
+    Records which feature requested a BasePack from Language Packs Manager;
+    specifically an entry is recorded each time InstallBasePack is called.
+  </summary>
+</histogram>
+
 <histogram name="ChromeOS.LanguagePacks.InstallComplete.Success"
     enum="BooleanSuccess" expires_after="2023-06-04">
   <owner>claudiomagni@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/fastpair/histograms.xml b/tools/metrics/histograms/metadata/fastpair/histograms.xml
index 0f1a75d6..15ab7a0f 100644
--- a/tools/metrics/histograms/metadata/fastpair/histograms.xml
+++ b/tools/metrics/histograms/metadata/fastpair/histograms.xml
@@ -48,6 +48,20 @@
   </summary>
 </histogram>
 
+<histogram name="FastPair.RetroactivePairing"
+    enum="FastPairRetroactiveSuccessFunnelEvent" expires_after="2023-06-01">
+  <owner>jackshira@chromium.org</owner>
+  <owner>julietlevesque@google.com</owner>
+  <owner>chromeos-cross-device-eng@google.com</owner>
+  <summary>
+    Records each successful step in the Retroactive Pairing flow. Emitted on:
+    device detected, GATT initialization started, writing account key, timed out
+    writing account key, account key successfully written to the device, BLE
+    address rotated, notification displayed to user, save requested by user
+    (notification clicked), and account key saved to Footprints.
+  </summary>
+</histogram>
+
 <histogram name="FastPair.SubsequentPairing"
     enum="FastPairSubsequentSuccessFunnelEvent" expires_after="2023-06-01">
   <owner>jackshira@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/file/histograms.xml b/tools/metrics/histograms/metadata/file/histograms.xml
index 07268d53..2e3f721 100644
--- a/tools/metrics/histograms/metadata/file/histograms.xml
+++ b/tools/metrics/histograms/metadata/file/histograms.xml
@@ -570,7 +570,7 @@
 </histogram>
 
 <histogram name="FileBrowser.Notification.UserAction"
-    enum="FileManagerNotificationUserAction" expires_after="2022-12-25">
+    enum="FileManagerNotificationUserAction" expires_after="2023-12-25">
   <owner>simmonsjosh@google.com</owner>
   <owner>src/ui/file_manager/OWNERS</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/fingerprint/histograms.xml b/tools/metrics/histograms/metadata/fingerprint/histograms.xml
index b33970b..298316a 100644
--- a/tools/metrics/histograms/metadata/fingerprint/histograms.xml
+++ b/tools/metrics/histograms/metadata/fingerprint/histograms.xml
@@ -102,6 +102,46 @@
   </summary>
 </histogram>
 
+<histogram name="Fingerprint.SensorError.BadHwid" enum="BooleanSuccess"
+    expires_after="2023-12-12">
+  <owner>fsammoura@google.com</owner>
+  <owner>chromeos-fingerprint@google.com</owner>
+  <summary>
+    Counts the number of times a bad Hardware ID is reported. This metric is
+    reported in biod during the sensor initialization phase.
+  </summary>
+</histogram>
+
+<histogram name="Fingerprint.SensorError.InitializationFailure"
+    enum="BooleanSuccess" expires_after="2023-12-12">
+  <owner>fsammoura@google.com</owner>
+  <owner>chromeos-fingerprint@google.com</owner>
+  <summary>
+    Counts the number of times an initialization failure is reported. This
+    metric is reported in biod during the sensor initialization phase.
+  </summary>
+</histogram>
+
+<histogram name="Fingerprint.SensorError.NoIrq" enum="BooleanSuccess"
+    expires_after="2023-12-12">
+  <owner>fsammoura@google.com</owner>
+  <owner>chromeos-fingerprint@google.com</owner>
+  <summary>
+    Counts the number of times no-IRQ hardware failure is reported. This metric
+    is reported in biod during the sensor initialization phase.
+  </summary>
+</histogram>
+
+<histogram name="Fingerprint.SensorError.SpiCommunication"
+    enum="BooleanSuccess" expires_after="2023-12-12">
+  <owner>fsammoura@google.com</owner>
+  <owner>chromeos-fingerprint@google.com</owner>
+  <summary>
+    Counts the number of times an error in SPI communication is reported. This
+    metric is reported in biod during the sensor initialization phase.
+  </summary>
+</histogram>
+
 <histogram name="Fingerprint.SetContext.Success" enum="BooleanSuccess"
     expires_after="2023-06-04">
   <owner>hesling@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/input/histograms.xml b/tools/metrics/histograms/metadata/input/histograms.xml
index abec0ab..5549eeb 100644
--- a/tools/metrics/histograms/metadata/input/histograms.xml
+++ b/tools/metrics/histograms/metadata/input/histograms.xml
@@ -89,6 +89,19 @@
   </summary>
 </histogram>
 
+<histogram
+    name="InputMethod.Assistive.AutocorrectV2.Actions.PK.EnabledByDefault"
+    enum="IMEAutocorrectActions" expires_after="2023-03-19">
+  <owner>zacpartridge@google.com</owner>
+  <owner>essential-inputs-team@google.com</owner>
+  <summary>
+    The histogram records assistive autocorrect actions such as showing,
+    reverting, rejecting and accepting an autocorrect suggestion. The actions
+    are recorded after they are performed on Physical Keyboard inputs if
+    autocorrect was enabled by default.
+  </summary>
+</histogram>
+
 <histogram name="InputMethod.Assistive.AutocorrectV2.Actions.VK"
     enum="IMEAutocorrectActions" expires_after="2023-06-04">
   <owner>mehrab@google.com</owner>
@@ -161,6 +174,25 @@
   </summary>
 </histogram>
 
+<histogram
+    name="InputMethod.Assistive.AutocorrectV2.Internal.PkState.EnabledByDefault"
+    enum="IMEAutocorrectActions" expires_after="2023-03-19">
+  <owner>zacpartridge@google.com</owner>
+  <owner>essential-inputs-team@google.com</owner>
+  <summary>
+    The histogram records different internal states that autocorrect encounters
+    while physical keyboard is used. These states include errors such as bad
+    arguments, null input context, problems preventing from showing or hiding
+    undo window. Also, events such as accepting suggestion, rejecting
+    suggestion, showing/hiding/highlighting undo window, underlining suggestions
+    and handling autocorrect suggestions, focusing on a text field, bluring a
+    text field and having a suggestion in a text field. It recoreds the states
+    everytime that HandleAutocorrect, OnBlur, OnFocus, and
+    OnSurroundingTextChanged events are triggered while physical keyboard is
+    visible if autocorrect was enabled by default.
+  </summary>
+</histogram>
+
 <histogram name="InputMethod.Assistive.AutocorrectV2.Internal.VkState"
     enum="IMEAutocorrectInternalStates" expires_after="2023-05-01">
   <owner>mehrab@google.com</owner>
@@ -190,6 +222,18 @@
   </summary>
 </histogram>
 
+<histogram
+    name="InputMethod.Assistive.AutocorrectV2.Latency.Accept.EnabledByDefault"
+    units="ms" expires_after="2023-03-26">
+  <owner>zacpartridge@google.com</owner>
+  <owner>essential-inputs-team@google.com</owner>
+  <summary>
+    Tracks duration between providing an autocorrect suggestion to its
+    acceptance. It is recorded every time that an autocorrect suggestion is
+    implicitly accepted if autocorrect was enabled by default.
+  </summary>
+</histogram>
+
 <histogram name="InputMethod.Assistive.AutocorrectV2.Latency.ExitField"
     units="ms" expires_after="2023-05-01">
   <owner>mehrab@google.com</owner>
@@ -201,6 +245,18 @@
   </summary>
 </histogram>
 
+<histogram
+    name="InputMethod.Assistive.AutocorrectV2.Latency.ExitField.EnabledByDefault"
+    units="ms" expires_after="2023-05-01">
+  <owner>zacpartridge@google.com</owner>
+  <owner>essential-inputs-team@google.com</owner>
+  <summary>
+    Tracks time between providing an autocorrect suggestion to exiting the text
+    field. It is recorded every time that a user leaves a text field while
+    having a pending autocorrect if autocorrect was enabled by default.
+  </summary>
+</histogram>
+
 <histogram name="InputMethod.Assistive.AutocorrectV2.Latency.PkPending"
     units="ms" expires_after="2023-05-01">
   <owner>mehrab@google.com</owner>
@@ -225,6 +281,19 @@
   </summary>
 </histogram>
 
+<histogram
+    name="InputMethod.Assistive.AutocorrectV2.Latency.Reject.EnabledByDefault"
+    units="ms" expires_after="2023-05-01">
+  <owner>mehrab@google.com</owner>
+  <owner>essential-inputs-team@google.com</owner>
+  <summary>
+    Tracks time between providing an autocorrect suggestion to its implicit
+    rejection or undone. It is recorded every time that an autocorrect
+    suggestion is implicitly rejected or undone if autocorrect was enabled by
+    default.
+  </summary>
+</histogram>
+
 <histogram name="InputMethod.Assistive.AutocorrectV2.Latency.VkPending"
     units="ms" expires_after="2023-05-01">
   <owner>mehrab@google.com</owner>
@@ -271,6 +340,21 @@
   </summary>
 </histogram>
 
+<histogram
+    name="InputMethod.Assistive.AutocorrectV2.Quality.PkAccepted.EnabledByDefault"
+    enum="IMEAutocorrectQualityBreakdown" expires_after="2023-05-01">
+  <owner>mehrab@google.com</owner>
+  <owner>essential-inputs-team@google.com</owner>
+  <summary>
+    The histogram records charactersitics of original text and suggested text
+    for an accepted autocorrect suggestion on Virtual Keyboard. These
+    measurements highlight the changes applied by autocorrect on the original
+    text such as changing accent, lower casing, capitalizing or mutating
+    characters. It records everytime that an autocorrect suggestion is accepted
+    by user interactions if autocorrect was enabled by default.
+  </summary>
+</histogram>
+
 <histogram name="InputMethod.Assistive.AutocorrectV2.Quality.PkRejected"
     enum="IMEAutocorrectQualityBreakdown" expires_after="2023-05-01">
   <owner>mehrab@google.com</owner>
@@ -285,6 +369,21 @@
   </summary>
 </histogram>
 
+<histogram
+    name="InputMethod.Assistive.AutocorrectV2.Quality.PkRejected.EnabledByDefault"
+    enum="IMEAutocorrectQualityBreakdown" expires_after="2023-05-01">
+  <owner>mehrab@google.com</owner>
+  <owner>essential-inputs-team@google.com</owner>
+  <summary>
+    The histogram records charactersitics of original text and suggested text
+    for a rejected autocorrect suggestion on Virtual Keyboard. These
+    measurements highlight the changes applied by autocorrect on the original
+    text such as changing accent, lower casing, capitalizing or mutating
+    characters. It records everytime that an autocorrect suggestion is rejected
+    or undone by user interactions if autocorrect was enabled by default.
+  </summary>
+</histogram>
+
 <histogram name="InputMethod.Assistive.AutocorrectV2.Quality.VkAccepted"
     enum="IMEAutocorrectQualityBreakdown" expires_after="2023-05-01">
   <owner>mehrab@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/installer/histograms.xml b/tools/metrics/histograms/metadata/installer/histograms.xml
index e354eed..39e980d 100644
--- a/tools/metrics/histograms/metadata/installer/histograms.xml
+++ b/tools/metrics/histograms/metadata/installer/histograms.xml
@@ -132,9 +132,12 @@
   <summary>
     Success or Failure of special handling for BiosType: {BiosType}.
 
-    This is reported at the very end of postinstall, only on ChromeOS, and only
-    when USE=postinst_metrics. There's also an increased risk of losing metrics
-    recorded in postinstall, see:
+    This doesn't indicate overall success or failure of postinstall on these
+    systems.
+
+    This is reported after making changes to the EFI System Partition, only on
+    ChromeOS, and only when USE=postinst_metrics. There's also an increased risk
+    of losing metrics recorded in postinstall, see:
     https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/installer/docs/postinst_metrics.md
   </summary>
   <token key="BiosType">
diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml
index a6839f35..c0aa509 100644
--- a/tools/metrics/histograms/metadata/others/histograms.xml
+++ b/tools/metrics/histograms/metadata/others/histograms.xml
@@ -254,6 +254,17 @@
   </summary>
 </histogram>
 
+<histogram name="AccessCodeCast.Session.RouteDuration" units="ms"
+    expires_after="2023-06-12">
+  <owner>bzielinski@google.com</owner>
+  <owner>cros-edu-eng@google.com</owner>
+  <summary>
+    The amount of time in milliseconds that a route to an access code device
+    lasts. Recorded at the end of a local access code route; not recorded for
+    non-local routes. Logged only on desktop platforms.
+  </summary>
+</histogram>
+
 <histogram name="AccessCodeCast.Ui.AccessCodeInputTime" units="ms"
     expires_after="2023-05-14">
   <owner>bzielinski@google.com</owner>
@@ -4088,19 +4099,6 @@
   </summary>
 </histogram>
 
-<histogram name="Conversions.UniqueDestinationLimitForUnexpiredSourcesResult"
-    enum="ConversionDestinationLimitResult" expires_after="M117">
-  <owner>linnan@chromium.org</owner>
-  <owner>johnidel@chromium.org</owner>
-  <owner>measurement-api-dev+metrics@google.com</owner>
-  <summary>
-    Records the result of checking whether an attribution source is allowed by
-    the unique destination limit covered by unexpired sources, compared with the
-    result covered by pending sources. Recorded once for each source
-    registration if there is capacity to store sources.
-  </summary>
-</histogram>
-
 <histogram name="Conversions.ValuesPerFilter" units="values"
     expires_after="M117">
   <owner>linnan@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/tab/histograms.xml b/tools/metrics/histograms/metadata/tab/histograms.xml
index 5a01550..c69d0ec 100644
--- a/tools/metrics/histograms/metadata/tab/histograms.xml
+++ b/tools/metrics/histograms/metadata/tab/histograms.xml
@@ -468,6 +468,10 @@
 
 <histogram name="Tab.Preview.TimeToNotifyObserversAfterCaptureReceived"
     units="microseconds" expires_after="2022-11-27">
+  <obsolete>
+    Removed 12/2022. Not actively used because reported values are 0 most of the
+    time. It would be more useful to report number of discards per day.
+  </obsolete>
   <owner>dfried@chromium.org</owner>
   <owner>collinbaker@chromium.org</owner>
   <summary>
@@ -482,6 +486,10 @@
 
 <histogram name="Tab.Preview.TimeToStoreAfterFrameReceived"
     units="microseconds" expires_after="2022-11-27">
+  <obsolete>
+    Removed 12/2022. Not actively used because reported values are 0 most of the
+    time. It would be more useful to report number of discards per day.
+  </obsolete>
   <owner>dfried@chromium.org</owner>
   <owner>collinbaker@chromium.org</owner>
   <summary>
@@ -505,6 +513,10 @@
 
 <histogram name="Tab.Preview.VideoCaptureDuration" units="ms"
     expires_after="2022-11-27">
+  <obsolete>
+    Removed 12/2022. Not actively used because reported values are 0 most of the
+    time. It would be more useful to report number of discards per day.
+  </obsolete>
   <owner>dfried@chromium.org</owner>
   <owner>collinbaker@chromium.org</owner>
   <summary>
diff --git a/tools/typescript/definitions/management.d.ts b/tools/typescript/definitions/management.d.ts
index e04025c..fd9c90a 100644
--- a/tools/typescript/definitions/management.d.ts
+++ b/tools/typescript/definitions/management.d.ts
@@ -39,8 +39,9 @@
     }
 
     export function get(id: string): Promise<ExtensionInfo>;
-    export function uninstall(id: string, options?: UninstallOptions):
-        Promise<void>;
-    export function setEnabled(id: string, enabled: boolean): Promise<void>;
+    export function uninstall(
+        id: string, options?: UninstallOptions, callback?: () => void): void;
+    export function setEnabled(
+        id: string, enabled: boolean, callback?: () => void): void;
   }
 }