diff options
Diffstat (limited to 'chromium/tools')
149 files changed, 17105 insertions, 4191 deletions
diff --git a/chromium/tools/OWNERS b/chromium/tools/OWNERS index ca46a760d2f..acc41382250 100644 --- a/chromium/tools/OWNERS +++ b/chromium/tools/OWNERS @@ -7,6 +7,7 @@ brucedawson@chromium.org dpranke@chromium.org +dpranke@google.com scottmg@chromium.org thakis@chromium.org @@ -14,7 +15,7 @@ thakis@chromium.org # changes in this directory are rare and most changes happen in better-owned # subdirectories. # -# TEAM: infra-dev@chromium.org +# TEAM: build@chromium.org # COMPONENT: Build per-file autotest.py=mthiesse@chromium.org @@ -38,8 +39,6 @@ per-file include_tracer.py=thakis@chromium.org per-file ipc_messages_log.py=yfriedman@chromium.org -per-file licenses.py=ichikawa@chromium.org - per-file nocompile_driver.py=ajwong@chromium.org per-file nocompile_driver.py=wychen@chromium.org diff --git a/chromium/tools/accessibility/inspect/ax_dump_events.cc b/chromium/tools/accessibility/inspect/ax_dump_events.cc index 0cdf9710b73..97265bb2e4f 100644 --- a/chromium/tools/accessibility/inspect/ax_dump_events.cc +++ b/chromium/tools/accessibility/inspect/ax_dump_events.cc @@ -8,6 +8,7 @@ #include "base/at_exit.h" #include "base/command_line.h" +#include "base/logging.h" #include "base/message_loop/message_pump_type.h" #include "base/run_loop.h" #include "base/strings/string_number_conversions.h" diff --git a/chromium/tools/accessibility/inspect/ax_event_server.cc b/chromium/tools/accessibility/inspect/ax_event_server.cc index 87195f5719b..eafdc7ee18c 100644 --- a/chromium/tools/accessibility/inspect/ax_event_server.cc +++ b/chromium/tools/accessibility/inspect/ax_event_server.cc @@ -5,6 +5,7 @@ #include "tools/accessibility/inspect/ax_event_server.h" #include <iostream> +#include <sstream> #include <string> #include "base/bind.h" diff --git a/chromium/tools/accessibility/inspect/ax_tree_server.cc b/chromium/tools/accessibility/inspect/ax_tree_server.cc index fa7e29c43f1..334e4abd7ec 100644 --- a/chromium/tools/accessibility/inspect/ax_tree_server.cc +++ b/chromium/tools/accessibility/inspect/ax_tree_server.cc @@ -11,6 +11,7 @@ #include "base/bind.h" #include "base/files/file_util.h" #include "base/json/json_writer.h" +#include "base/logging.h" #include "base/path_service.h" #include "base/run_loop.h" #include "base/strings/string_number_conversions.h" @@ -44,25 +45,6 @@ AXTreeServer::AXTreeServer(const base::StringPiece& pattern, Format(*formatter, *dict, filters_path, use_json); } -AXTreeServer::AXTreeServer(base::ProcessId pid, - const base::FilePath& filters_path, - bool use_json) { - std::unique_ptr<AccessibilityTreeFormatter> formatter( - AccessibilityTreeFormatter::Create()); - - // Get accessibility tree as nested dictionary. - base::string16 accessibility_contents_utf16; - std::unique_ptr<base::DictionaryValue> dict = - formatter->BuildAccessibilityTreeForProcess(pid); - - if (!dict) { - LOG(ERROR) << "Error: Failed to get accessibility tree"; - return; - } - - Format(*formatter, *dict, filters_path, use_json); -} - AXTreeServer::AXTreeServer(gfx::AcceleratedWidget widget, const base::FilePath& filters_path, bool use_json) { diff --git a/chromium/tools/accessibility/inspect/ax_tree_server.h b/chromium/tools/accessibility/inspect/ax_tree_server.h index 57d20c1865a..988ec8d26af 100644 --- a/chromium/tools/accessibility/inspect/ax_tree_server.h +++ b/chromium/tools/accessibility/inspect/ax_tree_server.h @@ -7,7 +7,6 @@ #include <string> -#include "base/process/process_handle.h" #include "build/build_config.h" #include "content/public/browser/accessibility_tree_formatter.h" @@ -19,9 +18,6 @@ namespace content { class AXTreeServer final { public: - AXTreeServer(base::ProcessId pid, - const base::FilePath& filters_path, - bool use_json); AXTreeServer(gfx::AcceleratedWidget widget, const base::FilePath& filters_path, bool use_json); diff --git a/chromium/tools/android/errorprone_plugin/BUILD.gn b/chromium/tools/android/errorprone_plugin/BUILD.gn index 24d5058de83..6f5759ff608 100644 --- a/chromium/tools/android/errorprone_plugin/BUILD.gn +++ b/chromium/tools/android/errorprone_plugin/BUILD.gn @@ -4,7 +4,11 @@ import("//build/config/android/rules.gni") -java_library("errorprone_plugin_java") { +java_binary("errorprone_plugin") { + # main_class and wrapper script are not actually used. + # This target is referenced directly from java_library_impl(). + main_class = "<ignore>" + wrapper_script_name = "bin/helper/errorprone_plugin" sources = [ # Turned off because of existing code which fails the check # "src/org/chromium/tools/errorprone/plugin/NoContextGetApplicationContext.java", @@ -19,10 +23,7 @@ java_library("errorprone_plugin_java") { # Necessary to avoid dependency cycle enable_errorprone = false - enable_bytecode_rewriter = false - - # So that we don't need to inject jacoco runtime into the compiler's classpath. - jacoco_never_instrument = true + enable_bytecode_checks = false annotation_processor_deps = [ "//third_party/android_deps:auto_service_processor" ] diff --git a/chromium/tools/android/md5sum/BUILD.gn b/chromium/tools/android/md5sum/BUILD.gn index a02a7fbbf91..54f81693e0e 100644 --- a/chromium/tools/android/md5sum/BUILD.gn +++ b/chromium/tools/android/md5sum/BUILD.gn @@ -1,39 +1,49 @@ # Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +if (current_cpu == "arm" || current_cpu == "arm64") { + import("//build/config/arm.gni") +} -import("//build/config/android/config.gni") -import("//build/symlink.gni") +if (is_android) { + import("//build/config/android/config.gni") + import("//build/symlink.gni") -group("md5sum") { - data_deps = [ - ":md5sum_bin_host($default_toolchain)", - ":md5sum_prepare_dist($default_toolchain)", - ] + group("md5sum") { + data_deps = [ + ":md5sum_bin_host($default_toolchain)", + ":md5sum_prepare_dist($default_toolchain)", + ] + + # TODO(cjhopman): Remove once group data_deps are fixed. + deps = data_deps + } - # TODO(cjhopman): Remove once group data_deps are fixed. - deps = data_deps + if (current_toolchain == default_toolchain) { + import("//build/config/android/rules.gni") + + create_native_executable_dist("md5sum_prepare_dist") { + dist_dir = "$root_build_dir/md5sum_dist" + binary = "$root_build_dir/md5sum_bin" + deps = [ ":md5sum_bin" ] + } + + binary_symlink("md5sum_bin_host") { + binary_label = ":md5sum_bin($host_toolchain)" + output_name = "md5sum_bin_host" + } + } +} else { + # We don't need all that stuff for other OSes. + group("md5sum") { + data_deps = [] + } } executable("md5sum_bin") { sources = [ "md5sum.cc" ] deps = [ "//base", - "//third_party/zlib/google:compression_utils", + "//third_party/zlib/google:compression_utils_portable", ] } - -if (current_toolchain == default_toolchain) { - import("//build/config/android/rules.gni") - - create_native_executable_dist("md5sum_prepare_dist") { - dist_dir = "$root_build_dir/md5sum_dist" - binary = "$root_build_dir/md5sum_bin" - deps = [ ":md5sum_bin" ] - } - - binary_symlink("md5sum_bin_host") { - binary_label = ":md5sum_bin($host_toolchain)" - output_name = "md5sum_bin_host" - } -} diff --git a/chromium/tools/binary_size/.style.yapf b/chromium/tools/binary_size/.style.yapf index 5e055c89722..b4ebbe24670 100644 --- a/chromium/tools/binary_size/.style.yapf +++ b/chromium/tools/binary_size/.style.yapf @@ -1,4 +1,6 @@ [style] based_on_style = pep8 + +# New directories should use a .style.yapf that does not include the following: column_limit = 80 indent_width = 2 diff --git a/chromium/tools/binary_size/README.md b/chromium/tools/binary_size/README.md index dda94ba0979..1866ed19257 100644 --- a/chromium/tools/binary_size/README.md +++ b/chromium/tools/binary_size/README.md @@ -342,6 +342,9 @@ tools/binary_size/diagnose_bloat.py HEAD --gn-args="is_official_build=false" -v # Build and diff all contiguous revs in range BEFORE_REV..AFTER_REV for src/v8. tools/binary_size/diagnose_bloat.py AFTER_REV --reference-rev BEFORE_REV --subrepo v8 --all -v +# Build and diff system_webview_apk HEAD^ and HEAD with arsc obfucstion disabled. +tools/binary_size/diagnose_bloat.py HEAD --target system_webview_apk --gn-args enable_arsc_obfuscation=false + # Display detailed usage info (there are many options). tools/binary_size/diagnose_bloat.py -h ``` diff --git a/chromium/tools/binary_size/diagnose_bloat.py b/chromium/tools/binary_size/diagnose_bloat.py index 69dce4fae98..134f99c78a4 100755 --- a/chromium/tools/binary_size/diagnose_bloat.py +++ b/chromium/tools/binary_size/diagnose_bloat.py @@ -500,9 +500,9 @@ class _DiffArchiveManager(object): logging.info('Creating .sizediff') _RunCmd(supersize_cmd) - logging.info('View using a local server via: %s start_server %s', - os.path.relpath(supersize_path), - os.path.relpath(report_path)) + logging.info('Report created: %s', os.path.relpath(report_path)) + logging.info('View it here: ' + 'https://chrome-supersize.firebaseapp.com/viewer.html') def Summarize(self): path = os.path.join(self.archive_dir, 'last_diff_summary.txt') diff --git a/chromium/tools/binary_size/generate_commit_size_analysis.py b/chromium/tools/binary_size/generate_commit_size_analysis.py new file mode 100755 index 00000000000..c32a246a605 --- /dev/null +++ b/chromium/tools/binary_size/generate_commit_size_analysis.py @@ -0,0 +1,116 @@ +#!/usr/bin/env python3 +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# Lint as: python3 +"""Creates files required to feed into trybot_commit_size_checker""" + +import argparse +import os +import logging +import shutil +import subprocess + +_SRC_ROOT = os.path.normpath( + os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) +_RESOURCE_SIZES_PATH = os.path.join(_SRC_ROOT, 'build', 'android', + 'resource_sizes.py') +_BINARY_SIZE_DIR = os.path.join(_SRC_ROOT, 'tools', 'binary_size') +_CLANG_UPDATE_PATH = os.path.join(_SRC_ROOT, 'tools', 'clang', 'scripts', + 'update.py') + + +def extract_proguard_mapping(apk_name, mapping_name, staging_dir, + chromium_output_directory): + """Copies proguard mapping file to staging_dir""" + mapping_path = os.path.join(chromium_output_directory, 'apks', mapping_name) + + shutil.copy(mapping_path, os.path.join(staging_dir, apk_name + '.mapping')) + + +def generate_resource_sizes(apk_name, staging_dir, chromium_output_directory): + """Creates results-chart.json file in staging_dir""" + apk_path = os.path.join(chromium_output_directory, 'apks', apk_name) + + subprocess.run( + [ + _RESOURCE_SIZES_PATH, + apk_path, + '--output-format=chartjson', + '--output-dir', + staging_dir, + '--chromium-output-directory', + chromium_output_directory, + ], + check=True, + ) + + +def generate_supersize_archive(apk_name, staging_dir, + chromium_output_directory): + """Creates a .size file for the given .apk or .minimal.apks""" + subprocess.run([_CLANG_UPDATE_PATH, '--package=objdump'], check=True) + apk_path = os.path.join(chromium_output_directory, 'apks', apk_name) + size_path = os.path.join(staging_dir, apk_name + '.size') + + supersize_script_path = os.path.join(_BINARY_SIZE_DIR, 'supersize') + + subprocess.run( + [ + supersize_script_path, + 'archive', + size_path, + '-f', + apk_path, + '-v', + ], + check=True, + ) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument( + '--apk-name', + required=True, + help='Name of the apk (ex. Name.apk)', + ) + parser.add_argument( + '--chromium-output-directory', + required=True, + help='Location of the build artifacts.', + ) + parser.add_argument( + '--mapping-name', + required=True, + help='Filename of the proguard mapping file.', + ) + parser.add_argument( + '--staging-dir', + required=True, + help='Directory to write generated files to.', + ) + + args = parser.parse_args() + + extract_proguard_mapping( + args.apk_name, + args.mapping_name, + args.staging_dir, + args.chromium_output_directory, + ) + generate_resource_sizes( + args.apk_name, + args.staging_dir, + args.chromium_output_directory, + ) + generate_supersize_archive( + args.apk_name, + args.staging_dir, + args.chromium_output_directory, + ) + + +if __name__ == '__main__': + main() diff --git a/chromium/tools/binary_size/generate_milestone_reports.py b/chromium/tools/binary_size/generate_milestone_reports.py index 61c81da2135..be7d1b52466 100755 --- a/chromium/tools/binary_size/generate_milestone_reports.py +++ b/chromium/tools/binary_size/generate_milestone_reports.py @@ -71,8 +71,9 @@ _DESIRED_VERSIONS = [ '78.0.3904.62', '79.0.3945.136', '80.0.3987.99', - '81.0.4044.96', # Beta - '83.0.4103.5', # Canary + '81.0.4044.138', + '83.0.4103.60', + '84.0.4147.20', # Canary ] diff --git a/chromium/tools/binary_size/libsupersize/archive.py b/chromium/tools/binary_size/libsupersize/archive.py index 842a81138a7..f36f8b616c9 100644 --- a/chromium/tools/binary_size/libsupersize/archive.py +++ b/chromium/tools/binary_size/libsupersize/archive.py @@ -15,6 +15,7 @@ import logging import os import posixpath import re +import shlex import string import subprocess import sys @@ -65,7 +66,7 @@ _OutputDirectoryContext = collections.namedtuple('_OutputDirectoryContext', [ _SECTION_SIZE_BLACKLIST = ['.symtab', '.shstrtab', '.strtab'] -# Tunable constant "knobs" for CreateSectionSizesAndSymbols(). +# Tunable constant "knobs" for CreateContainerAndSymbols(). class SectionSizeKnobs(object): def __init__(self): # A limit on the number of symbols an address can have, before these symbols @@ -725,9 +726,9 @@ def _ExtendSectionRange(section_range_by_name, section_name, delta_size): section_range_by_name[section_name] = (prev_address, prev_size + delta_size) -def CreateMetadata(map_path, elf_path, apk_path, minimal_apks_path, - tool_prefix, output_directory, linker_name): - """Creates metadata dict. +def CreateMetadata(map_path, elf_path, apk_path, minimal_apks_path, tool_prefix, + output_directory, linker_name, build_config): + """Creates metadata dict while updating |build_config|. Args: map_path: Path to the linker .map(.gz) file to parse. @@ -738,6 +739,8 @@ def CreateMetadata(map_path, elf_path, apk_path, minimal_apks_path, tool_prefix: Prefix for c++filt & nm. output_directory: Build output directory. linker_name: A coded linker name (see linker_map_parser.py). + builg_config: Common build configurations to update or to undergo + consistency checks. Returns: A dict mapping string costants to values, or None if empty. Performs @@ -748,21 +751,31 @@ def CreateMetadata(map_path, elf_path, apk_path, minimal_apks_path, """ assert not (apk_path and minimal_apks_path) logging.debug('Constructing metadata') + + def update_build_config(key, value): + if key in build_config: + old_value = build_config[key] + if value != old_value: + raise ValueError('Inconsistent {}: {} (was {})'.format( + key, value, old_value)) + else: + build_config[key] = value + metadata = {} if output_directory: shorten_path = lambda path: os.path.relpath(path, output_directory) gn_args = _ParseGnArgs(os.path.join(output_directory, 'args.gn')) - metadata[models.METADATA_GN_ARGS] = gn_args + update_build_config(models.BUILD_CONFIG_GN_ARGS, gn_args) else: shorten_path = os.path.basename if tool_prefix: relative_tool_prefix = path_util.ToToolsSrcRootRelative(tool_prefix) - metadata[models.METADATA_TOOL_PREFIX] = relative_tool_prefix + update_build_config(models.BUILD_CONFIG_TOOL_PREFIX, relative_tool_prefix) if linker_name: - metadata[models.METADATA_LINKER_NAME] = linker_name + update_build_config(models.BUILD_CONFIG_LINKER_NAME, linker_name) # Deduce GIT revision. path_candidates = [elf_path, apk_path, minimal_apks_path] @@ -774,8 +787,7 @@ def CreateMetadata(map_path, elf_path, apk_path, minimal_apks_path, if dirname: git_rev = _DetectGitRevision(dirname) if git_rev: - metadata[models.METADATA_GIT_REVISION] = git_rev - break + update_build_config(models.BUILD_CONFIG_GIT_REVISION, git_rev) if elf_path: metadata[models.METADATA_ELF_FILENAME] = shorten_path(elf_path) @@ -1120,6 +1132,8 @@ def _ParsePakSymbols(symbols_by_id, object_paths_by_pak_id): full_name=symbol.full_name, object_path=path, aliases=aliases) aliases.append(new_sym) raw_symbols.append(new_sym) + # Sorting can ignore containers because symbols created here are all in the + # same container. raw_symbols.sort(key=lambda s: (s.section_name, s.address, s.object_path)) raw_total = 0.0 int_total = 0 @@ -1160,8 +1174,9 @@ def _ParseApkElfSectionRanges(section_ranges, metadata, apk_elf_result): # hasn't been used since switching from gold -> lld. apk_section_ranges['%s (unpacked)' % packed_section_name] = unpacked_range - return apk_section_ranges, elf_overhead_size - return section_ranges, 0 + else: + _, apk_section_ranges, elf_overhead_size = apk_elf_result.get() + return apk_section_ranges, elf_overhead_size class _ResourcePathDeobfuscator(object): @@ -1357,10 +1372,9 @@ def _OverwriteSymbolSizesWithRelocationCount(raw_symbols, tool_prefix, raw_symbols[:] = [sym for sym in raw_symbols if sym.size or sym.IsNative()] -def _AddUnattributedSectionSymbols(raw_symbols, section_ranges, elf_result): +def _AddUnattributedSectionSymbols(raw_symbols, section_ranges): # Create symbols for ELF sections not covered by existing symbols. logging.info('Searching for symbol gaps...') - _, section_ranges, _ = elf_result.get() last_symbol_ends = collections.defaultdict(int) for sym in raw_symbols: if sym.end_address > last_symbol_ends[sym.section_name]: @@ -1383,11 +1397,15 @@ def _AddUnattributedSectionSymbols(raw_symbols, section_ranges, elf_result): logging.info('Last symbol in %s does not reach end of section, gap=%d', section_name, overhead) + # Sections that should not bundle into ".other". + unsummed_sections, summed_sections = models.ClassifySections( + section_ranges.keys()) # Sort keys to ensure consistent order (> 1 sections may have address = 0). for section_name in sorted(section_ranges.keys()): # Handle sections that don't appear in |raw_symbols|. - if section_name not in last_symbol_ends: - address, section_size = section_ranges[section_name] + address, section_size = section_ranges[section_name] + if (section_name not in unsummed_sections + and section_name not in summed_sections): logging.info('All bytes in %s are unattributed, gap=%d', section_name, overhead) raw_symbols.append( @@ -1399,27 +1417,31 @@ def _AddUnattributedSectionSymbols(raw_symbols, section_ranges, elf_result): _ExtendSectionRange(section_ranges, models.SECTION_OTHER, section_size) -def CreateSectionSizesAndSymbols(knobs=None, - opts=None, - map_path=None, - tool_prefix=None, - output_directory=None, - elf_path=None, - apk_path=None, - mapping_path=None, - resources_pathmap_path=None, - track_string_literals=True, - metadata=None, - apk_so_path=None, - pak_files=None, - pak_info_file=None, - linker_name=None, - size_info_prefix=None): - """Creates sections sizes and symbols for a SizeInfo. +def CreateContainerAndSymbols(knobs=None, + opts=None, + container_name=None, + metadata=None, + map_path=None, + tool_prefix=None, + output_directory=None, + elf_path=None, + apk_path=None, + mapping_path=None, + resources_pathmap_path=None, + track_string_literals=True, + apk_so_path=None, + pak_files=None, + pak_info_file=None, + linker_name=None, + size_info_prefix=None): + """Creates a Container (with sections sizes) and symbols for a SizeInfo. Args: knobs: Instance of SectionSizeKnobs. opts: Instance of ContainerArchiveOptions. + container_name: Name for the created Container. May be '' if only one + Container exists. + metadata: Metadata dict from CreateMetadata(). map_path: Path to the linker .map(.gz) file to parse. tool_prefix: Prefix for c++filt & nm (required). output_directory: Build output directory. If None, source_paths and symbol @@ -1432,7 +1454,6 @@ def CreateSectionSizesAndSymbols(knobs=None, resource paths to shortened resource paths. track_string_literals: Whether to break down "** merge string" sections into smaller symbols (requires output_directory). - metadata: Metadata dict from CreateMetadata(). apk_so_path: Path to an .so file within an APK file. pak_files: List of paths to .pak files. pak_info_file: Path to a .pak.info file. @@ -1440,8 +1461,9 @@ def CreateSectionSizesAndSymbols(knobs=None, size_info_prefix: Path to $out/size-info/$ApkName. Returns: - A tuple of (section_sizes, raw_symbols). - section_ranges is a dict mapping section names to their (address, size). + A tuple of (container, raw_symbols). + containers is a Container instance that stores metadata and section_sizes + (section_sizes maps section names to respective sizes). raw_symbols is a list of Symbol objects. """ knobs = knobs or SectionSizeKnobs() @@ -1449,6 +1471,8 @@ def CreateSectionSizesAndSymbols(knobs=None, # Extraction takes around 1 second, so do it in parallel. apk_elf_result = parallel.ForkAndCall(_ElfInfoFromApk, (apk_path, apk_so_path, tool_prefix)) + else: + apk_elf_result = None outdir_context = None source_mapper = None @@ -1509,16 +1533,16 @@ def CreateSectionSizesAndSymbols(knobs=None, else: section_ranges, raw_symbols, object_paths_by_name = {}, [], None - elf_overhead_size = _CalculateElfOverhead(section_ranges, elf_path) + if apk_elf_result: + section_ranges, elf_overhead_size = _ParseApkElfSectionRanges( + section_ranges, metadata, apk_elf_result) + else: + elf_overhead_size = _CalculateElfOverhead(section_ranges, elf_path) + if elf_path: + _AddUnattributedSectionSymbols(raw_symbols, section_ranges) pak_symbols_by_id = None if apk_path and size_info_prefix: - if elf_path: - section_ranges, elf_overhead_size = _ParseApkElfSectionRanges( - section_ranges, metadata, apk_elf_result) - _AddUnattributedSectionSymbols(raw_symbols, section_ranges, - apk_elf_result) - # Can modify |section_ranges|. pak_symbols_by_id = _FindPakSymbolsFromApk(opts, section_ranges, apk_path, size_info_prefix) @@ -1591,14 +1615,22 @@ def CreateSectionSizesAndSymbols(knobs=None, _OverwriteSymbolSizesWithRelocationCount(raw_symbols, tool_prefix, elf_path) section_sizes = {k: size for k, (address, size) in section_ranges.items()} - return section_sizes, raw_symbols + container = models.Container(name=container_name, + metadata=metadata, + section_sizes=section_sizes) + for symbol in raw_symbols: + symbol.container = container + return container, raw_symbols -def CreateSizeInfo(section_sizes_list, +def CreateSizeInfo(build_config, + container_list, raw_symbols_list, - metadata_list, normalize_names=True): """Performs operations on all symbols and creates a SizeInfo object.""" + assert len(container_list) == len(raw_symbols_list) + + all_raw_symbols = [] for raw_symbols in raw_symbols_list: file_format.SortSymbols(raw_symbols) file_format.CalculatePadding(raw_symbols) @@ -1609,13 +1641,9 @@ def CreateSizeInfo(section_sizes_list, if normalize_names: _NormalizeNames(raw_symbols) - # TODO(huangs): Implement data fusing to compute the following for real. - assert len(section_sizes_list) == 1 - section_sizes = section_sizes_list[0] - raw_symbols = raw_symbols_list[0] - metadata = metadata_list[0] + all_raw_symbols += raw_symbols - return models.SizeInfo(section_sizes, raw_symbols, metadata=metadata) + return models.SizeInfo(build_config, container_list, all_raw_symbols) def _DetectGitRevision(directory): @@ -1709,63 +1737,47 @@ def _ElfInfoFromApk(apk_path, apk_so_path, tool_prefix): return build_id, section_ranges, elf_overhead_size -def _AutoIdentifyInputFile(args): - if args.f.endswith('.minimal.apks'): - args.minimal_apks_file = args.f - logging.info('Auto-identified --minimal-apks-file.') - elif args.f.endswith('.apk'): - args.apk_file = args.f - logging.info('Auto-identified --apk-file.') - elif args.f.endswith('.so') or '.' not in os.path.basename(args.f): - logging.info('Auto-identified --elf-file.') - args.elf_file = args.f - elif args.f.endswith('.map') or args.f.endswith('.map.gz'): - logging.info('Auto-identified --map-file.') - args.map_file = args.f - else: - return False - return True - +def _AddContainerArguments(parser): + """Add arguments applicable to a single container.""" -def AddMainPathsArguments(parser): - """Add arguments for _DeduceMainPaths().""" + # Special: Use _IdentifyInputFile() to detect main file argument. parser.add_argument('-f', metavar='FILE', help='Auto-identify input file type.') + + # Main file argument: Exactly one should be specified (perhaps via -f), with + # the exception that --map-file can be specified in addition. + # _IdentifyInputFile() and _GetMainFiles() should be kept updated. parser.add_argument('--apk-file', help='.apk file to measure. Other flags can generally be ' - 'derived when this is used.') - parser.add_argument( - '--resources-pathmap-file', - help='.pathmap.txt file that contains a maping from ' - 'original resource paths to shortened resource paths.') + 'derived when this is used.') parser.add_argument('--minimal-apks-file', help='.minimal.apks file to measure. Other flags can ' - 'generally be derived when this is used.') - parser.add_argument('--mapping-file', - help='Proguard .mapping file for deobfuscation.') - parser.add_argument('--elf-file', - help='Path to input ELF file. Currently used for ' - 'capturing metadata.') + 'generally be derived when this is used.') + parser.add_argument('--elf-file', help='Path to input ELF file.') parser.add_argument('--map-file', help='Path to input .map(.gz) file. Defaults to ' '{{elf_file}}.map(.gz)?. If given without ' '--elf-file, no size metadata will be recorded.') - parser.add_argument('--no-source-paths', action='store_true', - help='Do not use .ninja files to map ' - 'object_path -> source_path') - parser.add_argument('--output-directory', - help='Path to the root build directory.') - parser.add_argument('--tool-prefix', - help='Path prefix for c++filt, nm, readelf.') - + parser.add_argument('--ssargs-file', + help='Path to SuperSize multi-container arguments ' + 'file.') -def AddArguments(parser): - parser.add_argument('size_file', help='Path to output .size file.') + # Auxiliary file arguments. + parser.add_argument('--mapping-file', + help='Proguard .mapping file for deobfuscation.') + parser.add_argument('--resources-pathmap-file', + help='.pathmap.txt file that contains a maping from ' + 'original resource paths to shortened resource paths.') parser.add_argument('--pak-file', action='append', help='Paths to pak files.') parser.add_argument('--pak-info-file', help='This file should contain all ids found in the pak ' 'files that have been passed in.') + parser.add_argument('--aux-elf-file', + help='Path to auxiliary ELF if the main file is APK, ' + 'useful for capturing metadata.') + + # Non-file argument. parser.add_argument('--no-string-literals', dest='track_string_literals', default=True, action='store_false', help='Disable breaking down "** merge strings" into more ' @@ -1775,8 +1787,10 @@ def AddArguments(parser): action='store_true', help='Instead of counting binary size, count number of relative' 'relocation instructions in ELF code.') - parser.add_argument('--source-directory', - help='Custom path to the root source directory.') + parser.add_argument('--no-source-paths', + action='store_true', + help='Do not use .ninja files to map ' + 'object_path -> source_path') parser.add_argument( '--java-only', action='store_true', help='Run on only Java symbols') parser.add_argument( @@ -1790,7 +1804,134 @@ def AddArguments(parser): action='store_true', help='Include a padding field for each symbol, instead of rederiving ' 'from consecutive symbols on file load.') - AddMainPathsArguments(parser) + + +def AddArguments(parser): + parser.add_argument('size_file', help='Path to output .size file.') + parser.add_argument('--source-directory', + help='Custom path to the root source directory.') + parser.add_argument('--output-directory', + help='Path to the root build directory.') + parser.add_argument('--tool-prefix', + help='Path prefix for c++filt, nm, readelf.') + _AddContainerArguments(parser) + + +def _IdentifyInputFile(args): + """Identifies main input file type from |args.f|, and updates |args|. + + Identification is performed on filename alone, i.e., the file need not exist. + The result is written to a field in |args|. If the field exists then it + simply gets overwritten. + + If '.' is missing from |args.f| then --elf-file is assumed. + + Returns: + True if identification was successful, else False. +""" + if args.f.endswith('.minimal.apks'): + args.minimal_apks_file = args.f + logging.info('Auto-identified --minimal-apks-file.') + elif args.f.endswith('.apk'): + args.apk_file = args.f + logging.info('Auto-identified --apk-file.') + elif args.f.endswith('.so') or '.' not in os.path.basename(args.f): + args.elf_file = args.f + logging.info('Auto-identified --elf-file.') + elif args.f.endswith('.map') or args.f.endswith('.map.gz'): + args.map_file = args.f + logging.info('Auto-identified --map-file.') + elif args.f.endswith('.ssargs'): + args.ssargs_file = args.f + logging.info('Auto-identified --ssargs-file.') + else: + return False + return True + + +def _GetMainFiles(args): + ret = [args.apk_file, args.elf_file, args.minimal_apks_file, args.ssargs_file] + ret = [v for v in ret if v] + # --map-file can be a main file or used with another main file. So only add it + # if no main file is found yet + if not ret and args.map_file: + ret.append(args.map_file) + # |ret| should only one element; the caller should check and handle errors. + return ret + + +def _DeduceDerivedArgsAndCheckMainInput(args, is_top_level_args, + on_config_error): + """Stores values derived from |args|, and ensures one main input exists. + + Args: + args: Parsed command-line arguments, or .ssargs input. + is_top_level_args: Whether this is processing SuperSize command line + (instead of .ssargs input). + on_config_error: Error callback. + """ + setattr(args, 'is_bundle', args.minimal_apks_file is not None) + main_files = _GetMainFiles(args) + if not main_files: + on_config_error( + 'Must pass at least one of --apk-file, --minimal-apks-file, ' + '--elf-file, --map-file, --ssargs-file') + # --map-file can be a main file, or used with another main file. + if len(main_files) > 1: + on_config_error( + 'Found colliding --apk-file, --minimal-apk-file, --elf-file, ' + '--ssargs-file') + if is_top_level_args: + setattr(args, 'any_path_within_output_directory', main_files[0]) + + +def ParseSsargs(lines): + """Parses .ssargs data. + + An .ssargs file is a text file to specify multiple containers as input to + SuperSize-archive. After '#'-based comments, start / end whitespaces, and + empty lines are stripped, each line specifies a distinct container. Format: + * Positional argument: |name| for the container. + * Main input file specified by -f, --apk-file, --elf-file, etc.: + * Can be an absolute path. + * Can be a relative path. In this case, it's up to the caller to supply the + base directory. + * -f switch must not specify another .ssargs file. + * For supported switches: See _AddContainerArguments(). + + Args: + lines: An iterator containing lines of .ssargs data. + Returns: + A list of arguments, one for each container. + Raises: + ValueError: Parse error, including input line number. + """ + sub_args_list = [] + parser = argparse.ArgumentParser(add_help=False) + parser.error = lambda msg: (_ for _ in ()).throw(ValueError(msg)) + parser.add_argument('name') + _AddContainerArguments(parser) + try: + for lineno, line in enumerate(lines, 1): + toks = shlex.split(line, comments=True) + if not toks: # Skip if line is empty after stripping comments. + continue + sub_args = parser.parse_args(toks) + if set(sub_args.name) & set('<>'): + parser.error('container name cannot have characters in "<>"') + if sub_args.f: + if not _IdentifyInputFile(sub_args): + parser.error('cannot identify file type: {}'.format(sub_args.f)) + if sub_args.ssargs_file: # May be added by the -f flag. + parser.error('cannot nest .ssargs files') + _DeduceDerivedArgsAndCheckMainInput(sub_args, + is_top_level_args=False, + on_config_error=parser.error) + sub_args_list.append(sub_args) + except ValueError as e: + e.args = ('Line %d: %s' % (lineno, e.args[0]), ) + raise e + return sub_args_list def _DeduceNativeInfo(tentative_output_dir, apk_path, elf_path, map_path, @@ -1858,6 +1999,40 @@ def _DeduceAuxPaths(args, apk_prefix): return mapping_path, resources_pathmap_path +def _ReadMultipleArgsFromStream(lines, base_dir, err_prefix, args, + on_config_error): + try: + container_args_list = ParseSsargs(lines) + except ValueError as e: + on_config_error('%s: %s' % (err_prefix, e.args[0])) + sub_args_list = [] + for container_args in container_args_list: + # Clone |args| keys but assign empty values. + sub_args = argparse.Namespace(**{k: None for k in vars(args)}) + # Copy parsed values to |sub_args|. + for k, v in container_args.__dict__.items(): + # Translate file arguments to be relative to |sub_dir|. + if (k.endswith('_file') or k == 'f') and v is not None: + v = os.path.join(base_dir, v) + sub_args.__dict__[k] = v + logging.info('Container: %r' % + {k: v + for k, v in sub_args.__dict__.items() if v is not None}) + sub_args_list.append(sub_args) + return sub_args_list + + +def _ReadMultipleArgsFromFile(args, on_config_error): + with open(args.ssargs_file, 'r') as fh: + lines = list(fh) + err_prefix = 'In file ' + args.ssargs_file + # Supply |base_dir| as the directory containing the .ssargs file, to ensure + # consistent behavior wherever SuperSize-archive runs. + base_dir = os.path.dirname(os.path.abspath(args.ssargs_file)) + return _ReadMultipleArgsFromStream(lines, base_dir, err_prefix, args, + on_config_error) + + def _DeduceMainPaths(args, on_config_error): """Generates main paths (may be deduced) for each containers given by input. @@ -1869,10 +2044,11 @@ def _DeduceMainPaths(args, on_config_error): value=args.output_directory, any_path_within_output_directory=args.any_path_within_output_directory) - def _Inner(sub_args, apk_prefix, apk_path): + def _Inner(idx, sub_args, apk_prefix, apk_path): """Inner helper for _DeduceMainPaths(), for one container. Params: + idx: Numeric index of the container. sub_args: Arguments specific to a container. apk_prefix: Prefix used to search for auxiliary .apk related files. apk_path: Path to .apk file that can be opened for processing, but whose @@ -1880,7 +2056,10 @@ def _DeduceMainPaths(args, on_config_error): """ output_directory = output_directory_finder.Tentative() opts = ContainerArchiveOptions(sub_args, output_directory=output_directory) + container_name = sub_args.name if hasattr(sub_args, 'name') else None if apk_prefix: + if not container_name: + container_name = apk_prefix # Allow either .minimal.apks or just .apks. apk_prefix = apk_prefix.replace('.minimal.apks', '.aab') apk_prefix = apk_prefix.replace('.apks', '.aab') @@ -1890,8 +2069,8 @@ def _DeduceMainPaths(args, on_config_error): tool_prefix = None if opts.analyze_native: elf_path, map_path, apk_so_path = _DeduceNativeInfo( - output_directory, apk_path, sub_args.elf_file, sub_args.map_file, - on_config_error) + output_directory, apk_path, sub_args.elf_file + or sub_args.aux_elf_file, sub_args.map_file, on_config_error) if map_path: linker_name = _DetectLinkerName(map_path) logging.info('Linker name: %s' % linker_name) @@ -1901,6 +2080,8 @@ def _DeduceMainPaths(args, on_config_error): output_directory_finder=output_directory_finder, linker_name=linker_name) tool_prefix = tool_prefix_finder.Finalized() + if not container_name and elf_path: + container_name = elf_path else: # Trust that these values will not be used, and set to None. elf_path = None @@ -1917,17 +2098,27 @@ def _DeduceMainPaths(args, on_config_error): size_info_prefix = os.path.join(output_directory, 'size-info', os.path.basename(apk_prefix)) - return (opts, output_directory, tool_prefix, apk_path, mapping_path, - apk_so_path, elf_path, map_path, resources_pathmap_path, - linker_name, size_info_prefix) + if not container_name: + container_name = 'Container %d' % idx + + return (opts, output_directory, tool_prefix, container_name, apk_path, + mapping_path, apk_so_path, elf_path, map_path, + resources_pathmap_path, linker_name, size_info_prefix) - # Process each container. - # If needed, extract .apk file to a temp file and process that instead. - if args.minimal_apks_file: - with zip_util.UnzipToTemp(args.minimal_apks_file, _APKS_MAIN_APK) as temp: - yield _Inner(args, args.minimal_apks_file, temp) + if args.ssargs_file: + sub_args_list = _ReadMultipleArgsFromFile(args, on_config_error) else: - yield _Inner(args, args.apk_file, args.apk_file) + sub_args_list = [args] + + # Each element in |sub_args_list| specifies a container. + for idx, sub_args in enumerate(sub_args_list): + # If needed, extract .apk file to a temp file and process that instead. + if sub_args.minimal_apks_file: + with zip_util.UnzipToTemp(sub_args.minimal_apks_file, + _APKS_MAIN_APK) as temp: + yield _Inner(idx, sub_args, sub_args.minimal_apks_file, temp) + else: + yield _Inner(idx, sub_args, sub_args.apk_file, sub_args.apk_file) def Run(args, on_config_error): @@ -1935,38 +2126,36 @@ def Run(args, on_config_error): on_config_error('size_file must end with .size') if args.f is not None: - if not _AutoIdentifyInputFile(args): + if not _IdentifyInputFile(args): on_config_error('Cannot identify file %s' % args.f) - if args.apk_file and args.minimal_apks_file: - on_config_error('Cannot use both --apk-file and --minimal-apks-file.') - - # Deduce arguments. - setattr(args, 'is_bundle', args.minimal_apks_file is not None) - any_path = (args.apk_file or args.minimal_apks_file or args.elf_file - or args.map_file) - if any_path is None: - on_config_error( - 'Must pass at least one of --apk-file, --minimal-apks-file, ' - '--elf-file, --map-file') - setattr(args, 'any_path_within_output_directory', any_path) - + _DeduceDerivedArgsAndCheckMainInput(args, + is_top_level_args=True, + on_config_error=on_config_error) knobs = SectionSizeKnobs() - metadata_list = [] - section_sizes_list = [] + build_config = {} + seen_container_names = set() + container_list = [] raw_symbols_list = [] - # Generate one size info for each container. - for (opts, output_directory, tool_prefix, apk_path, mapping_path, apk_so_path, - elf_path, map_path, resources_pathmap_path, linker_name, + # Iterate over each container. + for (opts, output_directory, tool_prefix, container_name, apk_path, + mapping_path, apk_so_path, elf_path, map_path, resources_pathmap_path, + linker_name, size_info_prefix) in _DeduceMainPaths(args, on_config_error): + if container_name in seen_container_names: + raise ValueError('Duplicate container name: {}'.format(container_name)) + seen_container_names.add(container_name) + # Note that |args.apk_file| is used instead of |apk_path|, since the latter # may be an extracted temporary file. metadata = CreateMetadata(map_path, elf_path, args.apk_file, args.minimal_apks_file, tool_prefix, - output_directory, linker_name) - section_sizes, raw_symbols = CreateSectionSizesAndSymbols( + output_directory, linker_name, build_config) + container, raw_symbols = CreateContainerAndSymbols( knobs=knobs, opts=opts, + container_name=container_name, + metadata=metadata, map_path=map_path, tool_prefix=tool_prefix, elf_path=elf_path, @@ -1975,29 +2164,27 @@ def Run(args, on_config_error): output_directory=output_directory, resources_pathmap_path=resources_pathmap_path, track_string_literals=args.track_string_literals, - metadata=metadata, apk_so_path=apk_so_path, pak_files=args.pak_file, pak_info_file=args.pak_info_file, linker_name=linker_name, size_info_prefix=size_info_prefix) - metadata_list.append(metadata) - section_sizes_list.append(section_sizes) + container_list.append(container) raw_symbols_list.append(raw_symbols) - size_info = CreateSizeInfo( - section_sizes_list, - raw_symbols_list, - metadata_list, - normalize_names=False) + size_info = CreateSizeInfo(build_config, + container_list, + raw_symbols_list, + normalize_names=False) if logging.getLogger().isEnabledFor(logging.DEBUG): for line in describe.DescribeSizeInfoCoverage(size_info): logging.debug(line) logging.info('Recorded info for %d symbols', len(size_info.raw_symbols)) - logging.info('Recording metadata: \n %s', '\n '.join( - describe.DescribeMetadata(size_info.metadata))) + for container in size_info.containers: + logging.info('Recording metadata: \n %s', + '\n '.join(describe.DescribeDict(container.metadata))) logging.info('Saving result to %s', args.size_file) file_format.SaveSizeInfo( diff --git a/chromium/tools/binary_size/libsupersize/canned_queries.py b/chromium/tools/binary_size/libsupersize/canned_queries.py index e534a1e036e..2bd3fe7d96f 100644 --- a/chromium/tools/binary_size/libsupersize/canned_queries.py +++ b/chromium/tools/binary_size/libsupersize/canned_queries.py @@ -125,8 +125,9 @@ def _CategorizeGenerated(symbols): symbols.WherePathMatches('gl_bindings_autogen')) symbols = symbols.WhereSourceIsGenerated() - symbols = g.Add('Java Protocol Buffers', symbols.Filter(lambda s: ( - s.source_path.endswith('Proto.java')))) + symbols = g.Add( + 'Java Protocol Buffers', + symbols.Filter(lambda s: '__protoc_java.srcjar' in s.source_path)) symbols = g.Add('C++ Protocol Buffers', symbols.Filter(lambda s: ( '/protobuf/' in s.object_path or s.object_path.endswith('.pbzero.o') or diff --git a/chromium/tools/binary_size/libsupersize/caspian/lens.cc b/chromium/tools/binary_size/libsupersize/caspian/lens.cc index 7011e4f0157..1c9ca5bcc83 100644 --- a/chromium/tools/binary_size/libsupersize/caspian/lens.cc +++ b/chromium/tools/binary_size/libsupersize/caspian/lens.cc @@ -61,7 +61,7 @@ std::string_view GeneratedLens::ParentName(const BaseSymbol& symbol) { return "Not generated"; } - static LazyRE2 java_protobuf_regex = {R"(Proto\.java$)"}; + static LazyRE2 java_protobuf_regex = {R"(__protoc_java\.srcjar)"}; if (PartialMatch(symbol.SourcePath(), *java_protobuf_regex)) { return "Java Protocol Buffers"; } diff --git a/chromium/tools/binary_size/libsupersize/console.py b/chromium/tools/binary_size/libsupersize/console.py index f8ef12e0b62..76e54201801 100644 --- a/chromium/tools/binary_size/libsupersize/console.py +++ b/chromium/tools/binary_size/libsupersize/console.py @@ -125,9 +125,10 @@ class _Session(object): if not first_sym: return [] size_info = self._SizeInfoForSymbol(first_sym) + container = first_sym.container tool_prefix = self._ToolPrefixForSymbol(size_info) - elf_path = self._ElfPathForSymbol( - size_info, tool_prefix, elf_path) + elf_path = self._ElfPathForSymbol(size_info, container, tool_prefix, + elf_path) return string_extract.ReadStringLiterals( thing, elf_path, tool_prefix, all_rodata=all_rodata) @@ -243,7 +244,8 @@ class _Session(object): def _ToolPrefixForSymbol(self, size_info): tool_prefix = self._tool_prefix_finder.Tentative() - orig_tool_prefix = size_info.metadata.get(models.METADATA_TOOL_PREFIX) + orig_tool_prefix = size_info.build_config.get( + models.BUILD_CONFIG_TOOL_PREFIX) if orig_tool_prefix: orig_tool_prefix = path_util.FromToolsSrcRootRelative(orig_tool_prefix) if os.path.exists(path_util.GetObjDumpPath(orig_tool_prefix)): @@ -256,13 +258,13 @@ class _Session(object): '--tool-prefix, or setting --output-directory') return tool_prefix - def _ElfPathForSymbol(self, size_info, tool_prefix, elf_path): + def _ElfPathForSymbol(self, size_info, container, tool_prefix, elf_path): def build_id_matches(elf_path): found_build_id = archive.BuildIdFromElf(elf_path, tool_prefix) - expected_build_id = size_info.metadata.get(models.METADATA_ELF_BUILD_ID) + expected_build_id = container.metadata.get(models.METADATA_ELF_BUILD_ID) return found_build_id == expected_build_id - filename = size_info.metadata.get(models.METADATA_ELF_FILENAME) + filename = container.metadata.get(models.METADATA_ELF_FILENAME) paths_to_try = [] if elf_path: paths_to_try.append(elf_path) @@ -317,8 +319,10 @@ class _Session(object): assert not symbol.IsDelta(), ('Cannot disasseble a Diff\'ed symbol. Try ' 'passing .before_symbol or .after_symbol.') size_info = self._SizeInfoForSymbol(symbol) + container = symbol.container tool_prefix = self._ToolPrefixForSymbol(size_info) - elf_path = self._ElfPathForSymbol(size_info, tool_prefix, elf_path) + elf_path = self._ElfPathForSymbol(size_info, container, tool_prefix, + elf_path) # Always use Android NDK's objdump because llvm-objdump does not seem to # correctly disassemble. output_directory_finder = self._output_directory_finder @@ -489,7 +493,7 @@ def Run(args, on_config_error): output_directory_finder = path_util.OutputDirectoryFinder( value=args.output_directory, any_path_within_output_directory=args.inputs[0]) - linker_name = size_infos[-1].metadata.get(models.METADATA_LINKER_NAME) + linker_name = size_infos[-1].build_config.get(models.BUILD_CONFIG_LINKER_NAME) tool_prefix_finder = path_util.ToolPrefixFinder( value=args.tool_prefix, output_directory_finder=output_directory_finder, diff --git a/chromium/tools/binary_size/libsupersize/describe.py b/chromium/tools/binary_size/libsupersize/describe.py index 1efeadccd6c..319e7f6781c 100644 --- a/chromium/tools/binary_size/libsupersize/describe.py +++ b/chromium/tools/binary_size/libsupersize/describe.py @@ -51,23 +51,21 @@ def _Divide(a, b): return float(a) / b if b else 0 -def _IncludeInTotals(section_name): - return section_name not in models.BSS_SECTIONS and '(' not in section_name +def _GetSectionSizeInfo(unsummed_sections, summed_sections, section_sizes): + sizes = [v for k, v in section_sizes.items() if k in summed_sections] + total_bytes = sum(sizes) + max_bytes = max(sizes) - -def _GetSectionSizeInfo(section_sizes): - total_bytes = sum(v for k, v in section_sizes.items() if _IncludeInTotals(k)) - max_bytes = max( - abs(v) for k, v in section_sizes.items() if _IncludeInTotals(k)) + maybe_significant_sections = unsummed_sections | summed_sections def is_significant_section(name, size): # Show all sections containing symbols, plus relocations. # As a catch-all, also include any section that comprises > 4% of the # largest section. Use largest section rather than total so that it still # works out when showing a diff containing +100, -100 (total=0). - return (name in list(models.SECTION_TO_SECTION_NAME.values()) - or name in ('.rela.dyn', '.rel.dyn') - or _IncludeInTotals(name) and abs(_Divide(size, max_bytes)) > .04) + return (name in maybe_significant_sections + or name in ['.rela.dyn', '.rel.dyn'] + or abs(_Divide(size, max_bytes)) > .04) section_names = sorted( k for k, v in section_sizes.items() if is_significant_section(k, v)) @@ -179,35 +177,50 @@ class DescriberText(Describer): self.recursive = recursive self.summarize = summarize - def _DescribeSectionSizes(self, section_sizes): - total_bytes, section_names = _GetSectionSizeInfo(section_sizes) + def _DescribeSectionSizes(self, + unsummed_sections, + summed_sections, + section_sizes, + indent=''): + total_bytes, section_names = _GetSectionSizeInfo(unsummed_sections, + summed_sections, + section_sizes) yield '' - yield 'Section Sizes (Total={} ({} bytes)):'.format( - _PrettySize(total_bytes), total_bytes) + yield '{}Section Sizes (Total={} ({} bytes)):'.format( + indent, _PrettySize(total_bytes), total_bytes) for name in section_names: size = section_sizes[name] - if not _IncludeInTotals(name): - yield ' {}: {} ({} bytes) (not included in totals)'.format( - name, _PrettySize(size), size) + if name in unsummed_sections: + yield '{} {}: {} ({} bytes) (not included in totals)'.format( + indent, name, _PrettySize(size), size) else: + notes = '' + if name not in summed_sections: + notes = ' (counted in .other)' percent = _Divide(size, total_bytes) - yield ' {}: {} ({} bytes) ({:.1%})'.format( - name, _PrettySize(size), size, percent) + yield '{} {}: {} ({} bytes) ({:.1%}){}'.format( + indent, name, _PrettySize(size), size, percent, notes) if self.verbose: yield '' - yield 'Other section sizes:' + yield '{}Other section sizes:'.format(indent) section_names = sorted( k for k in section_sizes.keys() if k not in section_names) for name in section_names: - not_included_part = '' - if not _IncludeInTotals(name): - not_included_part = ' (not included in totals)' - yield ' {}: {} ({} bytes){}'.format( - name, _PrettySize(section_sizes[name]), section_sizes[name], - not_included_part) + notes = '' + if name in unsummed_sections: + notes = ' (not included in totals)' + elif name not in summed_sections: + notes = ' (counted in .other)' + yield '{} {}: {} ({} bytes){}'.format( + indent, name, _PrettySize(section_sizes[name]), section_sizes[name], + notes) def _DescribeSymbol(self, sym, single_line=False): + container_str = sym.container_short_name + if container_str: + container_str = '<{}>'.format(container_str) + address = 'Group' if sym.IsGroup() else hex(sym.address) last_field = '' @@ -235,11 +248,13 @@ class DescriberText(Describer): if last_field: last_field = ' ' + last_field if sym.IsDelta(): - yield '{}@{:<9s} {}{}'.format( - sym.section, address, pss_field, last_field) + yield '{}{}@{:<9s} {}{}'.format(container_str, sym.section, address, + pss_field, last_field) else: - l = '{}@{:<9s} pss={} padding={}{}'.format( - sym.section, address, pss_field, sym.padding, last_field) + l = '{}{}@{:<9s} pss={} padding={}{}'.format(container_str, + sym.section, address, + pss_field, sym.padding, + last_field) yield l yield ' source_path={} \tobject_path={}'.format( sym.source_path, sym.object_path) @@ -258,16 +273,17 @@ class DescriberText(Describer): else: pss_field = '{:<14}'.format(pss_field) if single_line: - yield '{}@{:<9s} {} {}{}'.format( - sym.section, address, pss_field, sym.name, last_field) + yield '{}{}@{:<9s} {} {}{}'.format(container_str, sym.section, + address, pss_field, sym.name, + last_field) else: path = sym.source_path or sym.object_path if path and sym.generated_source: path = '$root_gen_dir/' + path path = path or '{no path}' - yield '{}@{:<9s} {} {}'.format( - sym.section, address, pss_field, path) + yield '{}{}@{:<9s} {} {}'.format(container_str, sym.section, address, + pss_field, path) if sym.name: yield ' {}{}'.format(sym.name, last_field) @@ -387,13 +403,20 @@ class DescriberText(Describer): else: summary_desc = () + title_parts = ['Index', 'Running Total'] + if group.container_name == '': + title_parts.append('Section@Address') + else: + title_parts.append('<Container>Section@Address') if self.verbose: - titles = 'Index | Running Total | Section@Address | ...' - elif group.IsDelta(): - titles = (u'Index | Running Total | Section@Address | \u0394 PSS ' - u'(\u0394 size_without_padding) | Path') + title_parts.append('...') else: - titles = ('Index | Running Total | Section@Address | PSS | Path') + if group.IsDelta(): + title_parts.append(u'\u0394 PSS (\u0394 size_without_padding)') + else: + title_parts.append('PSS') + title_parts.append('Path') + titles = ' | '.join(title_parts) header_desc = (titles, '-' * 60) @@ -483,50 +506,105 @@ class DescriberText(Describer): group_desc = self._DescribeSymbolGroup(delta_group) return itertools.chain(diff_summary_desc, path_delta_desc, group_desc) - def _DescribeDeltaSizeInfo(self, diff): - common_metadata = { + def _DescribeDeltaDict(self, data_name, before_dict, after_dict, indent=''): + common_items = { k: v - for k, v in diff.before.metadata.items() - if diff.after.metadata.get(k) == v + for k, v in before_dict.items() if after_dict.get(k) == v } - before_metadata = { + before_items = { k: v - for k, v in diff.before.metadata.items() if k not in common_metadata + for k, v in before_dict.items() if k not in common_items } - after_metadata = { - k: v - for k, v in diff.after.metadata.items() if k not in common_metadata - } - metadata_desc = itertools.chain( - ('Common Metadata:',), - (' %s' % line for line in DescribeMetadata(common_metadata)), - ('Old Metadata:',), - (' %s' % line for line in DescribeMetadata(before_metadata)), - ('New Metadata:',), - (' %s' % line for line in DescribeMetadata(after_metadata))) - section_desc = self._DescribeSectionSizes(diff.section_sizes) - group_desc = self.GenerateLines(diff.symbols) - return itertools.chain(metadata_desc, section_desc, ('',), group_desc) + after_items = {k: v for k, v in after_dict.items() if k not in common_items} + return itertools.chain( + (indent + 'Common %s:' % data_name, ), + (indent + ' %s' % line for line in DescribeDict(common_items)), + (indent + 'Old %s:' % data_name, ), + (indent + ' %s' % line for line in DescribeDict(before_items)), + (indent + 'New %s:' % data_name, ), + (indent + ' %s' % line for line in DescribeDict(after_items))) + + def _DescribeDeltaSizeInfo(self, diff): + desc_list = [] + # Describe |build_config| and each container. If there is only one container + # then support legacy output by reporting |build_config| as part of the + # first container's metadata. + if len(diff.containers) > 1: + desc_list.append( + self._DescribeDeltaDict('Build config', diff.before.build_config, + diff.after.build_config)) + for c in diff.containers: + name = c.name + desc_list.append(('', )) + desc_list.append(('Container: <%s>' % name, )) + c_before = diff.before.ContainerForName( + name, default=models.Container.Empty()) + c_after = diff.after.ContainerForName(name, + default=models.Container.Empty()) + desc_list.append( + self._DescribeDeltaDict('Metadata', + c_before.metadata, + c_after.metadata, + indent=' ')) + unsummed_sections, summed_sections = c.ClassifySections() + desc_list.append( + self._DescribeSectionSizes(unsummed_sections, + summed_sections, + c.section_sizes, + indent=' ')) + else: # Legacy output for single Container case. + desc_list.append( + self._DescribeDeltaDict('Metadata', diff.before.metadata_legacy, + diff.after.metadata_legacy)) + c = diff.containers[0] + unsummed_sections, summed_sections = c.ClassifySections() + desc_list.append( + self._DescribeSectionSizes(unsummed_sections, summed_sections, + c.section_sizes)) + desc_list.append(('', )) + desc_list.append(self.GenerateLines(diff.symbols)) + return itertools.chain.from_iterable(desc_list) def _DescribeSizeInfo(self, size_info): - metadata_desc = itertools.chain( - ('Metadata:',), - (' %s' % line for line in DescribeMetadata(size_info.metadata))) - section_desc = self._DescribeSectionSizes(size_info.section_sizes) - coverage_desc = () + desc_list = [] + # Describe |build_config| and each container. If there is only one container + # then support legacy output by reporting |build_config| as part of the + # first container's metadata. + if len(size_info.containers) > 1: + desc_list.append(('Build Configs:', )) + desc_list.append(' %s' % line + for line in DescribeDict(size_info.build_config)) + containers = size_info.containers + else: + containers = [ + models.Container(name='', + metadata=size_info.metadata_legacy, + section_sizes=size_info.containers[0].section_sizes) + ] + for c in containers: + if c.name: + desc_list.append(('', )) + desc_list.append(('Container <%s>' % c.name, )) + desc_list.append(('Metadata:', )) + desc_list.append(' %s' % line for line in DescribeDict(c.metadata)) + unsummed_sections, summed_sections = c.ClassifySections() + desc_list.append( + self._DescribeSectionSizes(unsummed_sections, summed_sections, + c.section_sizes)) + if self.verbose: - coverage_desc = itertools.chain( - ('',), DescribeSizeInfoCoverage(size_info)) - group_desc = self.GenerateLines(size_info.symbols) - return itertools.chain(metadata_desc, section_desc, coverage_desc, ('',), - group_desc) + desc_list.append(('', )) + desc_list.append(DescribeSizeInfoCoverage(size_info)) + desc_list.append(('', )) + desc_list.append(self.GenerateLines(size_info.symbols)) + return itertools.chain.from_iterable(desc_list) -def DescribeSizeInfoCoverage(size_info): +def _DescribeSizeInfoContainerCoverage(raw_symbols, container): """Yields lines describing how accurate |size_info| is.""" for section, section_name in models.SECTION_TO_SECTION_NAME.items(): - expected_size = size_info.section_sizes.get(section_name) - in_section = size_info.raw_symbols.WhereInSection(section_name) + expected_size = container.section_sizes.get(section_name) + in_section = raw_symbols.WhereInSection(section_name, container=container) actual_size = in_section.size if expected_size is None: @@ -615,6 +693,18 @@ def DescribeSizeInfoCoverage(size_info): yield ' B) ' + repr(sym) +def DescribeSizeInfoCoverage(size_info): + for i, container in enumerate(size_info.containers): + if i > 0: + yield '' + if container.name: + yield 'Container <%s>' % container.name + # TODO(huangs): Change to use "yield from" once linters allow this. + for line in _DescribeSizeInfoContainerCoverage(size_info.raw_symbols, + container): + yield line + + class DescriberCsv(Describer): def __init__(self, verbose=False): super(DescriberCsv, self).__init__() @@ -628,9 +718,11 @@ class DescriberCsv(Describer): self.csv_writer.writerow(data) return self.stringio.getvalue().rstrip() - def _DescribeSectionSizes(self, section_sizes): - significant_section_names = _GetSectionSizeInfo(section_sizes)[1] - + def _DescribeSectionSizes(self, unsummed_sections, summed_section, + section_sizes): + _, significant_section_names = _GetSectionSizeInfo(unsummed_sections, + summed_section, + section_sizes) if self.verbose: significant_set = set(significant_section_names) section_names = sorted(section_sizes.keys()) @@ -645,14 +737,26 @@ class DescriberCsv(Describer): yield self._RenderCsv([name, size]) def _DescribeDeltaSizeInfo(self, diff): - section_desc = self._DescribeSectionSizes(diff.section_sizes) - group_desc = self.GenerateLines(diff.symbols) - return itertools.chain(section_desc, ('',), group_desc) + desc_list = [] + for c in diff.containers: + unsummed_sections, summed_sections = c.ClassifySections() + desc_list.append( + self._DescribeSectionSizes(unsummed_sections, summed_sections, + c.section_sizes)) + desc_list.append(('', )) + desc_list.append(self.GenerateLines(diff.symbols)) + return itertools.chain.from_iterable(desc_list) def _DescribeSizeInfo(self, size_info): - section_desc = self._DescribeSectionSizes(size_info.section_sizes) - group_desc = self.GenerateLines(size_info.symbols) - return itertools.chain(section_desc, ('',), group_desc) + desc_list = [] + for c in size_info.containers: + unsummed_sections, summed_sections = c.ClassifySections() + desc_list.append( + self._DescribeSectionSizes(unsummed_sections, summed_sections, + c.section_sizes)) + desc_list.append(('', )) + desc_list.append(self.GenerateLines(size_info.symbols)) + return itertools.chain.from_iterable(desc_list) def _DescribeDeltaSymbolGroup(self, delta_group): yield self._RenderSymbolHeader(True); @@ -724,16 +828,25 @@ def _UtcToLocal(utc): return utc + offset -def DescribeMetadata(metadata): - display_dict = metadata.copy() - timestamp = display_dict.get(models.METADATA_ELF_MTIME) - if timestamp: - timestamp_obj = datetime.datetime.utcfromtimestamp(timestamp) - display_dict[models.METADATA_ELF_MTIME] = ( - _UtcToLocal(timestamp_obj).strftime('%Y-%m-%d %H:%M:%S')) - gn_args = display_dict.get(models.METADATA_GN_ARGS) - if gn_args: - display_dict[models.METADATA_GN_ARGS] = ' '.join(gn_args) +def DescribeDict(input_dict): + display_dict = {} + for k, v in input_dict.items(): + if k == models.METADATA_ELF_MTIME: + timestamp_obj = datetime.datetime.utcfromtimestamp(v) + display_dict[k] = ( + _UtcToLocal(timestamp_obj).strftime('%Y-%m-%d %H:%M:%S')) + elif isinstance(v, str): + display_dict[k] = v + elif isinstance(v, list): + if v: + if isinstance(v[0], str): + display_dict[k] = ' '.join(str(t) for t in v) + else: + display_dict[k] = repr(v) + else: + display_dict[k] = '' + else: + display_dict[k] = repr(v) return sorted('%s=%s' % t for t in display_dict.items()) diff --git a/chromium/tools/binary_size/libsupersize/diff.py b/chromium/tools/binary_size/libsupersize/diff.py index 09aafe43e1a..b7035b6474c 100644 --- a/chromium/tools/binary_size/libsupersize/diff.py +++ b/chromium/tools/binary_size/libsupersize/diff.py @@ -4,6 +4,7 @@ """Logic for diffing two SizeInfo objects.""" import collections +import itertools import logging import re @@ -91,6 +92,8 @@ def _MatchSymbols(before, after, key_func, padding_by_section_name): def _DiffSymbolGroups(before, after): # For changed symbols, padding is zeroed out. In order to not lose the # information entirely, store it in aggregate. + # Ignoring Containers, i.e., paddings from sections across Containers are + # combined. padding_by_section_name = collections.defaultdict(int) # Usually >90% of symbols are exact matches, so all of the time is spent in @@ -121,20 +124,63 @@ def _DiffSymbolGroups(before, after): return models.DeltaSymbolGroup(all_deltas) +def _DiffObj(before_obj, after_obj): + """Computes recursive diff of nested plain Python objects. + + Assumes no cyclical links exist. + """ + if before_obj is None: + if after_obj is None: + return None + before_obj = type(after_obj)() + elif after_obj is None: + after_obj = type(before_obj)() + if not isinstance(before_obj, type(after_obj)): + return '(type mismatch)' + if isinstance(before_obj, dict): + keys = set(before_obj.keys()) | set(after_obj.keys()) + return {k: _DiffObj(before_obj.get(k), after_obj.get(k)) for k in keys} + elif isinstance(before_obj, list): + return [ + _DiffObj(b, a) for b, a in itertools.zip_longest(before_obj, after_obj) + ] + elif isinstance(before_obj, (bool, str)): + return '%r -> %r' % (before_obj, after_obj) + elif isinstance(before_obj, (int, float, complex)): + return after_obj - before_obj + return '(unknown type)' + + +def _DiffContainerLists(before_containers, after_containers): + """Computes diff of Containers lists, matching names.""" + # Find ordered unique names, preferring order of |container_after|. + pairs = collections.OrderedDict() + for c in after_containers: + pairs[c.name] = [models.Container.Empty(), c] + for c in before_containers: + if c.name in pairs: + pairs[c.name][0] = c + else: + pairs[c.name] = [c, models.Container.Empty()] + ret = [] + for name, [before_c, after_c] in pairs.items(): + ret.append( + models.Container(name=name, + metadata=_DiffObj(before_c.metadata, after_c.metadata), + section_sizes=_DiffObj(before_c.section_sizes, + after_c.section_sizes))) + # This update newly created diff Containers, not existing ones or EMPTY. + models.Container.AssignShortNames(ret) + return ret + + def Diff(before, after, sort=False): """Diffs two SizeInfo objects. Returns a DeltaSizeInfo.""" assert isinstance(before, models.SizeInfo) assert isinstance(after, models.SizeInfo) - section_sizes = { - k: after.section_sizes.get(k, 0) - v - for k, v in before.section_sizes.items() - } - for k, v in after.section_sizes.items(): - if k not in section_sizes: - section_sizes[k] = v - + containers_diff = _DiffContainerLists(before.containers, after.containers) symbol_diff = _DiffSymbolGroups(before.raw_symbols, after.raw_symbols) - ret = models.DeltaSizeInfo(before, after, section_sizes, symbol_diff) + ret = models.DeltaSizeInfo(before, after, containers_diff, symbol_diff) if sort: syms = ret.symbols # Triggers clustering. diff --git a/chromium/tools/binary_size/libsupersize/diff_test.py b/chromium/tools/binary_size/libsupersize/diff_test.py index 80a4d8996e6..33ec9d851bc 100755 --- a/chromium/tools/binary_size/libsupersize/diff_test.py +++ b/chromium/tools/binary_size/libsupersize/diff_test.py @@ -31,7 +31,13 @@ def _SetName(symbol, full_name, name=None): def _CreateSizeInfo(aliases=None): + build_config = {} + metadata = {} section_sizes = {'.text': 100, '.bss': 40} + containers = [ + models.Container(name='', metadata=metadata, section_sizes=section_sizes) + ] + models.Container.AssignShortNames(containers) TEXT = models.SECTION_TEXT symbols = [ _MakeSym(models.SECTION_DEX_METHOD, 10, 'a', 'com.Foo#bar()'), @@ -41,12 +47,13 @@ def _CreateSizeInfo(aliases=None): _MakeSym(TEXT, 50, 'b'), _MakeSym(TEXT, 60, ''), ] + # For simplicity, not associating |symbols| with |containers|. if aliases: for tup in aliases: syms = symbols[tup[0]:tup[1]] for sym in syms: sym.aliases = syms - return models.SizeInfo(section_sizes, symbols) + return models.SizeInfo(build_config, containers, symbols) class DiffTest(unittest.TestCase): @@ -55,27 +62,27 @@ class DiffTest(unittest.TestCase): size_info1 = _CreateSizeInfo() size_info2 = _CreateSizeInfo() d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) - self.assertEquals(0, d.raw_symbols.padding) + self.assertEqual((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) + self.assertEqual(0, d.raw_symbols.padding) def testSimple_Add(self): size_info1 = _CreateSizeInfo() size_info2 = _CreateSizeInfo() size_info1.raw_symbols -= [size_info1.raw_symbols[0]] d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 1, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(10, d.raw_symbols.size) - self.assertEquals(0, d.raw_symbols.padding) + self.assertEqual((0, 1, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(10, d.raw_symbols.size) + self.assertEqual(0, d.raw_symbols.padding) def testSimple_Delete(self): size_info1 = _CreateSizeInfo() size_info2 = _CreateSizeInfo() size_info2.raw_symbols -= [size_info2.raw_symbols[0]] d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 0, 1), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(-10, d.raw_symbols.size) - self.assertEquals(0, d.raw_symbols.padding) + self.assertEqual((0, 0, 1), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(-10, d.raw_symbols.size) + self.assertEqual(0, d.raw_symbols.padding) def testSimple_Change(self): size_info1 = _CreateSizeInfo() @@ -84,9 +91,9 @@ class DiffTest(unittest.TestCase): size_info2.raw_symbols[0].padding += 20 size_info2.raw_symbols[-1].size += 11 d = diff.Diff(size_info1, size_info2) - self.assertEquals((2, 1, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(22, d.raw_symbols.size) - self.assertEquals(20, d.raw_symbols.padding) + self.assertEqual((2, 1, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(22, d.raw_symbols.size) + self.assertEqual(20, d.raw_symbols.padding) def testDontMatchAcrossSections(self): size_info1 = _CreateSizeInfo() @@ -97,33 +104,34 @@ class DiffTest(unittest.TestCase): size_info2.raw_symbols += [ _MakeSym(models.SECTION_RODATA, 11, 'asdf', name='Hello'), ] + # For simplicity, not associating |symbols| with |containers|. d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 1, 1), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((0, 1, 1), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testAliases_Remove(self): size_info1 = _CreateSizeInfo(aliases=[(0, 3)]) size_info2 = _CreateSizeInfo(aliases=[(0, 2)]) d = diff.Diff(size_info1, size_info2) # Aliases cause all sizes to change. - self.assertEquals((3, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((3, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testAliases_Add(self): size_info1 = _CreateSizeInfo(aliases=[(0, 2)]) size_info2 = _CreateSizeInfo(aliases=[(0, 3)]) d = diff.Diff(size_info1, size_info2) # Aliases cause all sizes to change. - self.assertEquals((3, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((3, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testAliases_ChangeGroup(self): size_info1 = _CreateSizeInfo(aliases=[(0, 2), (2, 5)]) size_info2 = _CreateSizeInfo(aliases=[(0, 3), (3, 5)]) d = diff.Diff(size_info1, size_info2) # Aliases cause all sizes to change. - self.assertEquals((4, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((4, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testStarSymbolNormalization(self): size_info1 = _CreateSizeInfo() @@ -131,8 +139,8 @@ class DiffTest(unittest.TestCase): size_info2 = _CreateSizeInfo() _SetName(size_info2.raw_symbols[0], '* symbol gap 2 (end of section)') d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testNumberNormalization(self): TEXT = models.SECTION_TEXT @@ -150,9 +158,10 @@ class DiffTest(unittest.TestCase): _MakeSym(TEXT, 33, 'a', name='SingleCategoryPreferences$9#this$009'), _MakeSym(TEXT, 44, 'a', name='.L.ref.tmp.137'), ] + # For simplicity, not associating |symbols| with |containers|. d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testChangedParams(self): # Ensure that params changes match up so long as path doesn't change. @@ -163,8 +172,8 @@ class DiffTest(unittest.TestCase): size_info2.raw_symbols[0].full_name = 'Foo(bool)' size_info2.raw_symbols[0].name = 'Foo' d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testChangedPaths_Native(self): # Ensure that non-globally-unique symbols are not matched when path changes. @@ -172,8 +181,8 @@ class DiffTest(unittest.TestCase): size_info2 = _CreateSizeInfo() size_info2.raw_symbols[1].object_path = 'asdf' d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 1, 1), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((0, 1, 1), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testChangedPaths_StringLiterals(self): # Ensure that string literals are not matched up. @@ -183,8 +192,8 @@ class DiffTest(unittest.TestCase): size_info2.raw_symbols[0].full_name = models.STRING_LITERAL_NAME size_info2.raw_symbols[0].object_path = 'asdf' d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 1, 1), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((0, 1, 1), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testChangedPaths_Java(self): # Ensure that Java symbols are matched up. @@ -192,8 +201,8 @@ class DiffTest(unittest.TestCase): size_info2 = _CreateSizeInfo() size_info2.raw_symbols[0].object_path = 'asdf' d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) + self.assertEqual((0, 0, 0), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) def testChangedPaths_ChangedParams(self): # Ensure that path changes are not matched when params also change. @@ -205,9 +214,8 @@ class DiffTest(unittest.TestCase): size_info2.raw_symbols[0].name = 'Foo' size_info2.raw_symbols[0].object_path = 'asdf' d = diff.Diff(size_info1, size_info2) - self.assertEquals((0, 1, 1), d.raw_symbols.CountsByDiffStatus()[1:]) - self.assertEquals(0, d.raw_symbols.size) - + self.assertEqual((0, 1, 1), d.raw_symbols.CountsByDiffStatus()[1:]) + self.assertEqual(0, d.raw_symbols.size) if __name__ == '__main__': diff --git a/chromium/tools/binary_size/libsupersize/file_format.py b/chromium/tools/binary_size/libsupersize/file_format.py index 20b5ec11383..a65ac0f2f7b 100644 --- a/chromium/tools/binary_size/libsupersize/file_format.py +++ b/chromium/tools/binary_size/libsupersize/file_format.py @@ -5,9 +5,9 @@ """Deals with loading & saving .size and .sizediff files. The .size file is written in the following format. There are no section -delimiters, instead the end of a section is usually determined by a row count -on the first line of a section, followed by that number of rows. In other -cases, the sections have a known size. +delimiters, instead the end of a section is usually determined by a row count on +the first line of a section, followed by that number of rows. In other cases, +the sections have a known size. Header ------ @@ -116,7 +116,8 @@ import parallel # File format version for .size files. -_SERIALIZATION_VERSION = 'Size File Format v1' +_SERIALIZATION_VERSION_SINGLE_CONTAINER = 'Size File Format v1' +_SERIALIZATION_VERSION_MULTI_CONTAINER = 'Size File Format v1.1' # Header for .sizediff files _SIZEDIFF_HEADER = '# Created by //tools/binary_size\nDIFF\n' @@ -171,16 +172,18 @@ def CalculatePadding(raw_symbols): # Padding not really required, but it is useful to check for large padding and # log a warning. - seen_sections = set() + seen_container_and_sections = set() for i, symbol in enumerate(raw_symbols[1:]): prev_symbol = raw_symbols[i] if symbol.IsOverhead(): # Overhead symbols are not actionable so should be padding-only. symbol.padding = symbol.size - if prev_symbol.section_name != symbol.section_name: - assert symbol.section_name not in seen_sections, ( - 'Input symbols must be sorted by section, then address.') - seen_sections.add(symbol.section_name) + if (prev_symbol.container.name != symbol.container.name + or prev_symbol.section_name != symbol.section_name): + container_and_section = (symbol.container.name, symbol.section_name) + assert container_and_section not in seen_container_and_sections, ( + 'Input symbols must be sorted by container, section, then address.') + seen_container_and_sections.add(container_and_section) continue if (symbol.address <= 0 or prev_symbol.address <= 0 or not symbol.IsNative() or not prev_symbol.IsNative()): @@ -246,24 +249,45 @@ def _SaveSizeInfoToFile(size_info, else: raw_symbols = size_info.raw_symbols + num_containers = len(size_info.containers) + has_multi_containers = (num_containers > 1) + w = _Writer(file_obj) - # Created by supersize header + # "Created by SuperSize" header w.WriteLine('# Created by //tools/binary_size') - w.WriteLine(_SERIALIZATION_VERSION) + if has_multi_containers: + w.WriteLine(_SERIALIZATION_VERSION_MULTI_CONTAINER) + else: + w.WriteLine(_SERIALIZATION_VERSION_SINGLE_CONTAINER) + # JSON header fields fields = { - 'metadata': size_info.metadata, - 'section_sizes': size_info.section_sizes, 'has_components': True, 'has_padding': include_padding, } + + if has_multi_containers: + # Write using new format. + assert len(set(c.name for c in size_info.containers)) == num_containers, ( + 'Container names must be distinct.') + fields['build_config'] = size_info.build_config + fields['containers'] = [{ + 'name': c.name, + 'metadata': c.metadata, + 'section_sizes': c.section_sizes, + } for c in size_info.containers] + else: + # Write using old format. + fields['metadata'] = size_info.metadata_legacy + fields['section_sizes'] = size_info.containers[0].section_sizes + fields_str = json.dumps(fields, indent=2, sort_keys=True) w.WriteLine(str(len(fields_str))) w.WriteLine(fields_str) w.LogSize('header') # For libchrome: 570 bytes. - # Store a single copy of all paths and have them referenced by index. + # Store a single copy of all paths and reference them by index. unique_path_tuples = sorted( set((s.object_path, s.source_path) for s in raw_symbols)) path_tuples = {tup: i for i, tup in enumerate(unique_path_tuples)} @@ -280,9 +304,18 @@ def _SaveSizeInfoToFile(size_info, w.WriteLine(comp) w.LogSize('components') - # Symbol counts by section. - symbol_group_by_section = raw_symbols.GroupedBySectionName() - w.WriteLine('\t'.join(g.name for g in symbol_group_by_section)) + # Symbol counts by container and section. + symbol_group_by_section = raw_symbols.GroupedByContainerAndSectionName() + if has_multi_containers: + container_name_to_index = { + c.name: i + for i, c in enumerate(size_info.containers) + } + w.WriteLine('\t'.join('<%d>%s' % + (container_name_to_index[g.name[0]], g.name[1]) + for g in symbol_group_by_section)) + else: + w.WriteLine('\t'.join(g.name[1] for g in symbol_group_by_section)) w.WriteLine('\t'.join(str(len(g)) for g in symbol_group_by_section)) def gen_delta(gen, prev_value=0): @@ -371,17 +404,49 @@ def _LoadSizeInfoFromFile(file_obj, size_path): """ # Split lines on '\n', since '\r' can appear in some lines! lines = io.TextIOWrapper(file_obj, newline='\n') - _ReadLine(lines) # Line 0: Created by supersize header + _ReadLine(lines) # Line 0: "Created by SuperSize" header actual_version = _ReadLine(lines) - assert actual_version == _SERIALIZATION_VERSION, ( - 'Version mismatch. Need to write some upgrade code.') + if actual_version == _SERIALIZATION_VERSION_SINGLE_CONTAINER: + has_multi_containers = False + elif actual_version == _SERIALIZATION_VERSION_MULTI_CONTAINER: + has_multi_containers = True + else: + raise ValueError('Version mismatch. Need to write some upgrade code.') + # JSON header fields json_len = int(_ReadLine(lines)) json_str = lines.read(json_len) fields = json.loads(json_str) - section_sizes = fields['section_sizes'] - metadata = fields.get('metadata') + assert ('containers' in fields) == has_multi_containers + assert ('build_config' in fields) == has_multi_containers + assert ('containers' in fields) == has_multi_containers + assert ('metadata' not in fields) == has_multi_containers + assert ('section_sizes' not in fields) == has_multi_containers + + containers = [] + if has_multi_containers: # New format. + build_config = fields['build_config'] + for cfield in fields['containers']: + c = models.Container(name=cfield['name'], + metadata=cfield['metadata'], + section_sizes=cfield['section_sizes']) + containers.append(c) + else: # Old format. + build_config = {} + metadata = fields.get('metadata') + if metadata: + for key in models.BUILD_CONFIG_KEYS: + if key in metadata: + build_config[key] = metadata[key] + del metadata[key] + section_sizes = fields['section_sizes'] + containers.append( + models.Container(name='', + metadata=metadata, + section_sizes=section_sizes)) + models.Container.AssignShortNames(containers) + has_components = fields.get('has_components', False) has_padding = fields.get('has_padding', False) @@ -389,7 +454,7 @@ def _LoadSizeInfoFromFile(file_obj, size_path): _ReadLine(lines) # Path list - num_path_tuples = int(_ReadLine(lines)) # Line 4 - number of paths in list + num_path_tuples = int(_ReadLine(lines)) # Number of paths in list # Read the path list values and store for later path_tuples = [ _ReadValuesFromLine(lines, split='\t') for _ in range(num_path_tuples) @@ -401,8 +466,8 @@ def _LoadSizeInfoFromFile(file_obj, size_path): components = [_ReadLine(lines) for _ in range(num_components)] # Symbol counts by section. - section_names = _ReadValuesFromLine(lines, split='\t') - section_counts = [int(c) for c in _ReadValuesFromLine(lines, split='\t')] + container_and_section_names = _ReadValuesFromLine(lines, split='\t') + symbol_counts = [int(c) for c in _ReadValuesFromLine(lines, split='\t')] # Addresses, sizes, paddings, path indices, component indices def read_numeric(delta=False): @@ -414,7 +479,7 @@ def _LoadSizeInfoFromFile(file_obj, size_path): """ ret = [] delta_multiplier = int(delta) - for _ in section_counts: + for _ in symbol_counts: value = 0 fields = [] for f in _ReadValuesFromLine(lines, split=' '): @@ -428,21 +493,31 @@ def _LoadSizeInfoFromFile(file_obj, size_path): if has_padding: paddings = read_numeric(delta=False) else: - paddings = [None] * len(section_names) + paddings = [None] * len(container_and_section_names) path_indices = read_numeric(delta=True) if has_components: component_indices = read_numeric(delta=True) else: - component_indices = [None] * len(section_names) + component_indices = [None] * len(container_and_section_names) - raw_symbols = [None] * sum(section_counts) + raw_symbols = [None] * sum(symbol_counts) symbol_idx = 0 - for (cur_section_name, cur_section_count, cur_addresses, cur_sizes, - cur_paddings, cur_path_indices, cur_component_indices) in zip( - section_names, section_counts, addresses, sizes, paddings, - path_indices, component_indices): + for (cur_container_and_section_name, cur_symbol_count, cur_addresses, + cur_sizes, cur_paddings, cur_path_indices, + cur_component_indices) in zip(container_and_section_names, symbol_counts, + addresses, sizes, paddings, path_indices, + component_indices): + if has_multi_containers: + # Extract '<cur_container_idx_str>cur_section_name'. + assert cur_container_and_section_name.startswith('<') + cur_container_idx_str, cur_section_name = ( + cur_container_and_section_name[1:].split('>', 1)) + cur_container = containers[int(cur_container_idx_str)] + else: + cur_section_name = cur_container_and_section_name + cur_container = containers[0] alias_counter = 0 - for i in range(cur_section_count): + for i in range(cur_symbol_count): parts = _ReadValuesFromLine(lines, split='\t') full_name = parts[0] flags_part = None @@ -469,6 +544,7 @@ def _LoadSizeInfoFromFile(file_obj, size_path): # Skip the constructor to avoid default value checks new_sym = models.Symbol.__new__(models.Symbol) + new_sym.container = cur_container new_sym.section_name = cur_section_name new_sym.full_name = full_name new_sym.address = cur_addresses[i] @@ -505,7 +581,9 @@ def _LoadSizeInfoFromFile(file_obj, size_path): if not has_padding: CalculatePadding(raw_symbols) - return models.SizeInfo(section_sizes, raw_symbols, metadata=metadata, + return models.SizeInfo(build_config, + containers, + raw_symbols, size_path=size_path) diff --git a/chromium/tools/binary_size/libsupersize/html_report.py b/chromium/tools/binary_size/libsupersize/html_report.py index 72d9e27a119..bad1c8367cd 100644 --- a/chromium/tools/binary_size/libsupersize/html_report.py +++ b/chromium/tools/binary_size/libsupersize/html_report.py @@ -212,18 +212,20 @@ def BuildReportFromSizeInfo(out_path, size_info, all_symbols=False): symbols = symbols.WhereDiffStatusIs(models.DIFF_STATUS_UNCHANGED).Inverted() meta, tree_nodes = _MakeTreeViewList(symbols, all_symbols) + assert len(size_info.containers) == 1 + c = size_info.containers[0] logging.info('Created %d tree nodes', len(tree_nodes)) meta.update({ - 'diff_mode': is_diff, - 'section_sizes': size_info.section_sizes, + 'diff_mode': is_diff, + 'section_sizes': c.section_sizes, }) if is_diff: meta.update({ - 'before_metadata': size_info.before.metadata, - 'after_metadata': size_info.after.metadata, + 'before_metadata': size_info.before.metadata_legacy, + 'after_metadata': size_info.after.metadata_legacy, }) else: - meta['metadata'] = size_info.metadata + meta['metadata'] = size_info.metadata_legacy # Write newline-delimited JSON file logging.info('Serializing JSON') diff --git a/chromium/tools/binary_size/libsupersize/integration_test.py b/chromium/tools/binary_size/libsupersize/integration_test.py index 805ea14945a..bd47604cf37 100755 --- a/chromium/tools/binary_size/libsupersize/integration_test.py +++ b/chromium/tools/binary_size/libsupersize/integration_test.py @@ -170,14 +170,19 @@ class IntegrationTest(unittest.TestCase): 'source_directory': _TEST_SOURCE_DIR, }) - def _CloneSizeInfo(self, use_output_directory=True, use_elf=True, - use_apk=False, use_minimal_apks=False, use_pak=False): + def _CloneSizeInfo(self, + use_output_directory=True, + use_elf=False, + use_apk=False, + use_minimal_apks=False, + use_pak=False, + use_aux_elf=False): assert not use_elf or use_output_directory assert not (use_apk and use_pak) - cache_key = ( - use_output_directory, use_elf, use_apk, use_minimal_apks, use_pak) + cache_key = (use_output_directory, use_elf, use_apk, use_minimal_apks, + use_pak, use_aux_elf) if cache_key not in IntegrationTest.cached_size_info: - elf_path = _TEST_ELF_PATH if use_elf else None + elf_path = _TEST_ELF_PATH if use_elf or use_aux_elf else None output_directory = _TEST_OUTPUT_DIR if use_output_directory else None knobs = archive.SectionSizeKnobs() opts = archive.ContainerArchiveOptions(self._CreateTestArgs()) @@ -210,34 +215,38 @@ class IntegrationTest(unittest.TestCase): pak_info_file = _TEST_PAK_INFO_PATH linker_name = 'gold' with _AddMocksToPath(): + build_config = {} metadata = archive.CreateMetadata(_TEST_MAP_PATH, elf_path, apk_path, minimal_apks_path, _TEST_TOOL_PREFIX, - output_directory, linker_name) - section_sizes, raw_symbols = archive.CreateSectionSizesAndSymbols( + output_directory, linker_name, + build_config) + container, raw_symbols = archive.CreateContainerAndSymbols( knobs=knobs, opts=opts, + container_name='', + metadata=metadata, map_path=_TEST_MAP_PATH, tool_prefix=_TEST_TOOL_PREFIX, - elf_path=elf_path, output_directory=output_directory, + elf_path=elf_path, apk_path=apk_path or extracted_minimal_apk_path, apk_so_path=apk_so_path, - metadata=metadata, pak_files=pak_files, pak_info_file=pak_info_file, linker_name=linker_name, size_info_prefix=size_info_prefix) IntegrationTest.cached_size_info[cache_key] = archive.CreateSizeInfo( - [section_sizes], [raw_symbols], [metadata]) + build_config, [container], [raw_symbols]) return copy.deepcopy(IntegrationTest.cached_size_info[cache_key]) def _DoArchive(self, archive_path, use_output_directory=True, - use_elf=True, + use_elf=False, use_apk=False, use_minimal_apks=False, use_pak=False, + use_aux_elf=None, debug_measures=False, include_padding=False): args = [ @@ -255,42 +264,46 @@ class IntegrationTest(unittest.TestCase): args += ['-f', _TEST_APK_PATH] elif use_minimal_apks: args += ['-f', _TEST_MINIMAL_APKS_PATH] - if use_elf: - if use_apk or use_minimal_apks: - args += ['--elf-file', _TEST_ELF_PATH] - else: - args += ['-f', _TEST_ELF_PATH] + elif use_elf: + args += ['-f', _TEST_ELF_PATH] if use_pak: args += ['--pak-file', _TEST_APK_LOCALE_PAK_PATH, '--pak-file', _TEST_APK_PAK_PATH, '--pak-info-file', _TEST_PAK_INFO_PATH] + if use_aux_elf: + args += ['--aux-elf-file', _TEST_ELF_PATH] if include_padding: args += ['--include-padding'] _RunApp('archive', args, debug_measures=debug_measures) def _DoArchiveTest(self, use_output_directory=True, - use_elf=True, + use_elf=False, use_apk=False, use_minimal_apks=False, use_pak=False, + use_aux_elf=False, debug_measures=False, include_padding=False): with tempfile.NamedTemporaryFile(suffix='.size') as temp_file: - self._DoArchive( - temp_file.name, - use_output_directory=use_output_directory, - use_elf=use_elf, - use_apk=use_apk, - use_minimal_apks=use_minimal_apks, - use_pak=use_pak, - debug_measures=debug_measures, - include_padding=include_padding) + self._DoArchive(temp_file.name, + use_output_directory=use_output_directory, + use_elf=use_elf, + use_apk=use_apk, + use_minimal_apks=use_minimal_apks, + use_pak=use_pak, + use_aux_elf=use_aux_elf, + debug_measures=debug_measures, + include_padding=include_padding) size_info = archive.LoadAndPostProcessSizeInfo(temp_file.name) # Check that saving & loading is the same as directly parsing. expected_size_info = self._CloneSizeInfo( - use_output_directory=use_output_directory, use_elf=use_elf, - use_apk=use_apk, use_minimal_apks=use_minimal_apks, use_pak=use_pak) + use_output_directory=use_output_directory, + use_elf=use_elf, + use_apk=use_apk, + use_minimal_apks=use_minimal_apks, + use_pak=use_pak, + use_aux_elf=use_aux_elf) self.assertEqual(expected_size_info.metadata, size_info.metadata) # Don't cluster. expected_size_info.symbols = expected_size_info.raw_symbols @@ -301,11 +314,15 @@ class IntegrationTest(unittest.TestCase): sym_strs = (repr(sym) for sym in size_info.symbols) stats = describe.DescribeSizeInfoCoverage(size_info) - if size_info.metadata: - metadata = describe.DescribeMetadata(size_info.metadata) + if len(size_info.containers) == 1: + # If there's only one container, merge the its metadata into build_config. + merged_data_desc = describe.DescribeDict(size_info.metadata_legacy) + return itertools.chain(merged_data_desc, stats, sym_strs) else: - metadata = [] - return itertools.chain(metadata, stats, sym_strs) + build_config = describe.DescribeDict(size_info.build_config) + metadata = itertools.chain.from_iterable( + describe.DescribeDict(c.metadata) for c in size_info.containers) + return itertools.chain(build_config, metadata, stats, sym_strs) @_CompareWithGolden() def test_Archive(self): @@ -313,38 +330,38 @@ class IntegrationTest(unittest.TestCase): @_CompareWithGolden() def test_Archive_OutputDirectory(self): - return self._DoArchiveTest(use_elf=False) + return self._DoArchiveTest() @_CompareWithGolden() def test_Archive_Elf(self): - return self._DoArchiveTest() + return self._DoArchiveTest(use_elf=True) @_CompareWithGolden() def test_Archive_Apk(self): - return self._DoArchiveTest(use_apk=True) + return self._DoArchiveTest(use_apk=True, use_aux_elf=True) @_CompareWithGolden() def test_Archive_MinimalApks(self): - return self._DoArchiveTest(use_minimal_apks=True) + return self._DoArchiveTest(use_minimal_apks=True, use_aux_elf=True) @_CompareWithGolden() def test_Archive_Pak_Files(self): - return self._DoArchiveTest(use_pak=True) + return self._DoArchiveTest(use_pak=True, use_aux_elf=True) @_CompareWithGolden(name='Archive_Elf') def test_Archive_Elf_DebugMeasures(self): - return self._DoArchiveTest(debug_measures=True) + return self._DoArchiveTest(use_elf=True, debug_measures=True) @_CompareWithGolden(name='Archive') def test_ArchiveSparse(self): - return self._DoArchiveTest( - use_output_directory=False, use_elf=False, include_padding=True) + return self._DoArchiveTest(use_output_directory=False, include_padding=True) @_CompareWithGolden() def test_Console(self): with tempfile.NamedTemporaryFile(suffix='.size') as size_file, \ tempfile.NamedTemporaryFile(suffix='.txt') as output_file: - file_format.SaveSizeInfo(self._CloneSizeInfo(), size_file.name) + file_format.SaveSizeInfo(self._CloneSizeInfo(use_elf=True), + size_file.name) query = [ 'ShowExamples()', 'ExpandRegex("_foo_")', @@ -366,7 +383,8 @@ class IntegrationTest(unittest.TestCase): def test_Csv(self): with tempfile.NamedTemporaryFile(suffix='.size') as size_file, \ tempfile.NamedTemporaryFile(suffix='.txt') as output_file: - file_format.SaveSizeInfo(self._CloneSizeInfo(), size_file.name) + file_format.SaveSizeInfo(self._CloneSizeInfo(use_elf=True), + size_file.name) query = [ 'Csv(size_info, to_file=%r)' % output_file.name, ] @@ -378,7 +396,8 @@ class IntegrationTest(unittest.TestCase): @_CompareWithGolden() def test_Diff_NullDiff(self): with tempfile.NamedTemporaryFile(suffix='.size') as temp_file: - file_format.SaveSizeInfo(self._CloneSizeInfo(), temp_file.name) + file_format.SaveSizeInfo(self._CloneSizeInfo(use_elf=True), + temp_file.name) return _RunApp('diff', [temp_file.name, temp_file.name]) # Runs archive 3 times, and asserts the contents are the same each time. @@ -393,10 +412,13 @@ class IntegrationTest(unittest.TestCase): @_CompareWithGolden() def test_Diff_Basic(self): - size_info1 = self._CloneSizeInfo(use_elf=False, use_pak=True) - size_info2 = self._CloneSizeInfo(use_elf=False, use_pak=True) - size_info1.metadata = {"foo": 1, "bar": [1,2,3], "baz": "yes"} - size_info2.metadata = {"foo": 1, "bar": [1,3], "baz": "yes"} + size_info1 = self._CloneSizeInfo(use_pak=True) + size_info2 = self._CloneSizeInfo(use_pak=True) + size_info2.build_config['git_revision'] = 'xyz789' + container1 = size_info1.containers[0] + container2 = size_info2.containers[0] + container1.metadata = {"foo": 1, "bar": [1, 2, 3], "baz": "yes"} + container2.metadata = {"foo": 1, "bar": [1, 3], "baz": "yes"} size_info1.raw_symbols -= size_info1.raw_symbols[:2] size_info2.raw_symbols -= size_info2.raw_symbols[-3:] @@ -434,7 +456,7 @@ class IntegrationTest(unittest.TestCase): @_CompareWithGolden() def test_FullDescription(self): - size_info = self._CloneSizeInfo() + size_info = self._CloneSizeInfo(use_elf=True) # Show both clustered and non-clustered so that they can be compared. size_info.symbols = size_info.raw_symbols return itertools.chain( @@ -445,7 +467,7 @@ class IntegrationTest(unittest.TestCase): @_CompareWithGolden() def test_SymbolGroupMethods(self): - all_syms = self._CloneSizeInfo().symbols + all_syms = self._CloneSizeInfo(use_elf=True).symbols global_syms = all_syms.WhereNameMatches('GLOBAL') # Tests Filter(), Inverted(), and __sub__(). non_global_syms = global_syms.Inverted() diff --git a/chromium/tools/binary_size/libsupersize/models.py b/chromium/tools/binary_size/libsupersize/models.py index 1edbb39f311..dae0f808b83 100644 --- a/chromium/tools/binary_size/libsupersize/models.py +++ b/chromium/tools/binary_size/libsupersize/models.py @@ -22,6 +22,7 @@ Description of common properties: Never None, but will be '' for anonymous symbols. * is_anonymous: True when the symbol exists in an anonymous namespace (which are removed from both full_name and name during normalization). + * container: A (shared) Container instance. * section_name: E.g. ".text", ".rodata", ".data.rel.local" * section: The second character of |section_name|. E.g. "t", "r", "d". * component: The team that owns this feature. @@ -37,7 +38,18 @@ import re import match_util -METADATA_GIT_REVISION = 'git_revision' +BUILD_CONFIG_GIT_REVISION = 'git_revision' +BUILD_CONFIG_GN_ARGS = 'gn_args' +BUILD_CONFIG_LINKER_NAME = 'linker_name' +BUILD_CONFIG_TOOL_PREFIX = 'tool_prefix' # Path relative to SRC_ROOT. + +BUILD_CONFIG_KEYS = ( + BUILD_CONFIG_GIT_REVISION, + BUILD_CONFIG_GN_ARGS, + BUILD_CONFIG_LINKER_NAME, + BUILD_CONFIG_TOOL_PREFIX, +) + METADATA_APK_FILENAME = 'apk_file_name' # Path relative to output_directory. METADATA_APK_SIZE = 'apk_size' # File size of apk in bytes. METADATA_MAP_FILENAME = 'map_file_name' # Path relative to output_directory. @@ -46,9 +58,6 @@ METADATA_ELF_FILENAME = 'elf_file_name' # Path relative to output_directory. METADATA_ELF_MTIME = 'elf_mtime' # int timestamp in utc. METADATA_ELF_BUILD_ID = 'elf_build_id' METADATA_ELF_RELOCATIONS_COUNT = 'elf_relocations_count' -METADATA_GN_ARGS = 'gn_args' -METADATA_LINKER_NAME = 'linker_name' -METADATA_TOOL_PREFIX = 'tool_prefix' # Path relative to SRC_ROOT. # New sections should also be added to the SuperSize UI. SECTION_BSS = '.bss' @@ -93,6 +102,8 @@ PAK_SECTIONS = ( SECTION_PAK_TRANSLATIONS, ) +CONTAINER_MULTIPLE = '*' + SECTION_NAME_TO_SECTION = { SECTION_BSS: 'b', SECTION_BSS_REL_RO: 'b', @@ -170,35 +181,108 @@ DIFF_COUNT_DELTA = [0, 0, 1, -1] STRING_LITERAL_NAME = 'string literal' + +def ClassifySections(section_names): + """Returns section names subsets classified by contribution to binary size. + + Args: + section_names: A list of existing sections names. + + Returns: + Tuple (unsummed_sections, summed_sections). |unsummed_sections| are sections + that don't contribute to binary size. |summed_sections| are sections that + *explicitly* contribute to binary size. What's excluded are sections that + *implicitly* contribute to binary size -- these get lumped into the .other + section. + """ + unsummed_sections = set(name for name in section_names + if name in BSS_SECTIONS or '(' in name) + summed_sections = (set(section_names) + & set(SECTION_NAME_TO_SECTION.keys()) - unsummed_sections) + return frozenset(unsummed_sections), frozenset(summed_sections) + + +class Container(object): + """Info for a single SuperSize input file (e.g., APK file). + + Fields: + name: Container name. Must be unique among containers, and can be ''. + short_name: Short container name for compact display. This, also needs to be + unique among containers in the same SizeInfo, and can be ''. + metadata: A dict. + section_sizes: A dict of section_name -> size. + classified_sections: Cache for ClassifySections(). + """ + __slots__ = ( + 'name', + 'short_name', + 'metadata', + 'section_sizes', + '_classified_sections', + ) + + def __init__(self, name, metadata, section_sizes): + # name == '' hints that only one container exists, and there's no need to + # distinguish them. This can affect console output. + self.name = name + self.short_name = None # Assigned by AssignShortNames(). + self.metadata = metadata or {} + self.section_sizes = section_sizes # E.g. {SECTION_TEXT: 0} + self._classified_sections = None + + @staticmethod + def AssignShortNames(containers): + for i, c in enumerate(containers): + c.short_name = str(i) if c.name else '' + + def ClassifySections(self): + if not self._classified_sections: + self._classified_sections = ClassifySections(self.section_sizes.keys()) + return self._classified_sections + + @staticmethod + def Empty(): + """Returns a placeholder Container that should be read-only. + + For simplicity, we're not enforcing read-only checks (frozenmap does not + exist, unfortunately). Creating a new instance instead of using a global + singleton for robustness. + """ + return Container(name='(empty)', metadata={}, section_sizes={}) + + class BaseSizeInfo(object): """Base class for SizeInfo and DeltaSizeInfo. Fields: - section_sizes: A dict of section_name -> size. + build_config: A dict of build configurations. + containers: A list of Containers. raw_symbols: A SymbolGroup containing all top-level symbols (no groups). symbols: A SymbolGroup of all symbols, where symbols have been grouped by full_name (where applicable). May be re-assigned when it is - desirable to show custom groupings while still printing metadata and - section_sizes. + desirable to show custom groupings while still printing containers. native_symbols: Subset of |symbols| that are from native code. pak_symbols: Subset of |symbols| that are from pak files. """ __slots__ = ( - 'section_sizes', + 'build_config', + 'containers', 'raw_symbols', '_symbols', '_native_symbols', '_pak_symbols', ) - def __init__(self, section_sizes, raw_symbols, symbols=None): + def __init__(self, build_config, containers, raw_symbols, symbols=None): if isinstance(raw_symbols, list): raw_symbols = SymbolGroup(raw_symbols) - self.section_sizes = section_sizes # E.g. {SECTION_TEXT: 0} + self.build_config = build_config + self.containers = containers self.raw_symbols = raw_symbols self._symbols = symbols self._native_symbols = None self._pak_symbols = None + Container.AssignShortNames(self.containers) @property def symbols(self): @@ -226,25 +310,53 @@ class BaseSizeInfo(object): self._pak_symbols = self.raw_symbols.WhereIsPak() return self._pak_symbols + @property + def all_section_sizes(self): + return [c.section_sizes for c in self.containers] + + @property + def metadata(self): + return [c.metadata for c in self.containers] + + def ContainerForName(self, name, default=None): + return next((c for c in self.containers if c.name == name), default) + class SizeInfo(BaseSizeInfo): """Represents all size information for a single binary. Fields: - metadata: A dict. size_path: Path to .size file this was loaded from (or None). """ __slots__ = ( - 'metadata', 'size_path', ) - def __init__(self, section_sizes, raw_symbols, metadata=None, symbols=None, + def __init__(self, + build_config, + containers, + raw_symbols, + symbols=None, size_path=None): - super(SizeInfo, self).__init__(section_sizes, raw_symbols, symbols=symbols) - self.metadata = metadata or {} + super(SizeInfo, self).__init__(build_config, + containers, + raw_symbols, + symbols=symbols) self.size_path = size_path + @property + def metadata_legacy(self): + """Return |container[0].metadata| fused with |build_config|. + + Supported only if there is one Container. + """ + assert len(self.containers) == 1 + metadata = self.containers[0].metadata.copy() + for k, v in self.build_config.items(): + assert k not in metadata + metadata[k] = v + return metadata + class DeltaSizeInfo(BaseSizeInfo): """What you get when you Diff() two SizeInfo objects. @@ -258,8 +370,8 @@ class DeltaSizeInfo(BaseSizeInfo): 'after', ) - def __init__(self, before, after, section_sizes, raw_symbols): - super(DeltaSizeInfo, self).__init__(section_sizes, raw_symbols) + def __init__(self, before, after, containers, raw_symbols): + super(DeltaSizeInfo, self).__init__(None, containers, raw_symbols) self.before = before self.after = after @@ -272,6 +384,14 @@ class BaseSymbol(object): __slots__ = () @property + def container_name(self): + return self.container.name if self.container else '' + + @property + def container_short_name(self): + return self.container.short_name if self.container else '' + + @property def section(self): """Returns the one-letter section.""" return SECTION_NAME_TO_SECTION[self.section_name] @@ -392,6 +512,7 @@ class Symbol(BaseSymbol): 'object_path', 'aliases', 'padding', + 'container', 'section_name', 'source_path', 'size', @@ -420,16 +541,21 @@ class Symbol(BaseSymbol): self.flags = flags self.aliases = aliases self.padding = 0 + self.container = None self.component = '' def __repr__(self): - template = ('{}@{:x}(size_without_padding={},padding={},full_name={},' + if self.container and self.container.name: + container_str = '<{}>'.format(self.container.name) + else: + container_str = '' + template = ('{}{}@{:x}(size_without_padding={},padding={},full_name={},' 'object_path={},source_path={},flags={},num_aliases={},' 'component={})') - return template.format( - self.section_name, self.address, self.size_without_padding, - self.padding, self.full_name, self.object_path, self.source_path, - self.FlagsString(), self.num_aliases, self.component) + return template.format(container_str, self.section_name, self.address, + self.size_without_padding, self.padding, + self.full_name, self.object_path, self.source_path, + self.FlagsString(), self.num_aliases, self.component) def SetName(self, full_name, template_name=None, name=None): # Note that _NormalizeNames() will clobber these values. @@ -468,13 +594,24 @@ class DeltaSymbol(BaseSymbol): self.after_symbol = after_symbol def __repr__(self): - template = ('{}{}@{:x}(size_without_padding={},padding={},full_name={},' + before_container_name = (self.before_symbol.container_name + if self.before_symbol else None) + after_container_name = (self.after_symbol.container_name + if self.after_symbol else None) + if after_container_name: + if before_container_name != after_container_name: + container_str = '<~{}>'.format(after_container_name) + else: + container_str = '<{}>'.format(after_container_name) + else: # None or ''. + container_str = '' + template = ('{}{}{}@{:x}(size_without_padding={},padding={},full_name={},' 'object_path={},source_path={},flags={})') - return template.format( - DIFF_PREFIX_BY_STATUS[self.diff_status], self.section_name, - self.address, self.size_without_padding, self.padding, - self.full_name, self.object_path, self.source_path, - self.FlagsString()) + return template.format(DIFF_PREFIX_BY_STATUS[self.diff_status], + container_str, self.section_name, self.address, + self.size_without_padding, self.padding, + self.full_name, self.object_path, self.source_path, + self.FlagsString()) def IsDelta(self): return True @@ -531,6 +668,10 @@ class DeltaSymbol(BaseSymbol): return None @property + def container(self): + return (self.after_symbol or self.before_symbol).container + + @property def section_name(self): return (self.after_symbol or self.before_symbol).section_name @@ -617,6 +758,7 @@ class SymbolGroup(BaseSymbol): 'is_default_sorted', # True for groups created by Sorted() ) + # template_name and full_name are useful when clustering symbol clones. def __init__(self, symbols, @@ -626,6 +768,7 @@ class SymbolGroup(BaseSymbol): name='', section_name=None, is_default_sorted=False): + assert isinstance(symbols, list) # Rejects non-reusable generators. self._padding = None self._size = None self._pss = None @@ -681,6 +824,20 @@ class SymbolGroup(BaseSymbol): return self._symbols.index(item) @property + def container_name(self): + ret = set(s.container_name for s in self._symbols) + if ret: + return CONTAINER_MULTIPLE if len(ret) > 1 else (ret.pop() or '') + return '' + + @property + def container_short_name(self): + ret = set(s.container_short_name for s in self._symbols) + if ret: + return CONTAINER_MULTIPLE if len(ret) > 1 else (ret.pop() or '') + return '' + + @property def address(self): first = self._symbols[0].address if self else 0 return first if all(s.address == first for s in self._symbols) else 0 @@ -744,16 +901,20 @@ class SymbolGroup(BaseSymbol): self.template_name = full_name if template_name is None else template_name self.name = full_name if name is None else name - def IterUniqueSymbols(self): - """Yields all symbols, but only one from each alias group.""" + @staticmethod + def _IterUnique(symbol_iter): seen_aliases_lists = set() - for s in self: + for s in symbol_iter: if not s.aliases: yield s elif id(s.aliases) not in seen_aliases_lists: seen_aliases_lists.add(id(s.aliases)) yield s + def IterUniqueSymbols(self): + """Yields all symbols, but only one from each alias group.""" + return SymbolGroup._IterUnique(self) + def IterLeafSymbols(self): """Yields all symbols, recursing into subgroups.""" for s in self: @@ -775,14 +936,13 @@ class SymbolGroup(BaseSymbol): is_default_sorted = self.is_default_sorted if section_name is None: section_name = self.section_name - return self.__class__( - symbols, - filtered_symbols=filtered_symbols, - full_name=full_name, - template_name=template_name, - name=name, - section_name=section_name, - is_default_sorted=is_default_sorted) + return self.__class__(symbols, + filtered_symbols=filtered_symbols, + full_name=full_name, + template_name=template_name, + name=name, + section_name=section_name, + is_default_sorted=is_default_sorted) def Sorted(self, cmp_func=None, key=None, reverse=False): """Sorts by abs(PSS).""" @@ -832,13 +992,23 @@ class SymbolGroup(BaseSymbol): def WherePssBiggerThan(self, min_pss): return self.Filter(lambda s: s.pss >= min_pss) - def WhereInSection(self, section): + def WhereInSection(self, section, container=None): """|section| can be section_name ('.bss'), or section chars ('bdr').""" if section.startswith('.'): - ret = self.Filter(lambda s: s.section_name == section) + if container: + short_name = container.short_name + ret = self.Filter(lambda s: (s.container.short_name == short_name and s. + section_name == section)) + else: + ret = self.Filter(lambda s: s.section_name == section) ret.section_name = section else: - ret = self.Filter(lambda s: s.section in section) + if container: + short_name = container.short_name + ret = self.Filter(lambda s: (s.container.short_name == short_name and s. + section in section)) + else: + ret = self.Filter(lambda s: s.section in section) if section in SECTION_TO_SECTION_NAME: ret.section_name = SECTION_TO_SECTION_NAME[section] return ret @@ -937,10 +1107,9 @@ class SymbolGroup(BaseSymbol): # Symbols within third_party that do not contain the string "foo". symbols.WherePathMatches(r'third_party').WhereMatches('foo').Inverted() """ - return self._CreateTransformed( - self._filtered_symbols, - filtered_symbols=self._symbols, - section_name=SECTION_MULTIPLE) + return self._CreateTransformed(self._filtered_symbols, + filtered_symbols=self._symbols, + section_name=SECTION_MULTIPLE) def GroupedBy(self, func, min_count=0, group_factory=None): """Returns a SymbolGroup of SymbolGroups, indexed by |func|. @@ -1042,18 +1211,16 @@ class SymbolGroup(BaseSymbol): full_name = token[1] sym = symbols[0] if token[1].startswith('*'): - return self._CreateTransformed( - symbols, - full_name=full_name, - template_name=full_name, - name=full_name, - section_name=sym.section_name) - return self._CreateTransformed( - symbols, - full_name=full_name, - template_name=sym.template_name, - name=sym.name, - section_name=sym.section_name) + return self._CreateTransformed(symbols, + full_name=full_name, + template_name=full_name, + name=full_name, + section_name=sym.section_name) + return self._CreateTransformed(symbols, + full_name=full_name, + template_name=sym.template_name, + name=sym.name, + section_name=sym.section_name) # A full second faster to cluster per-section. Plus, don't need create # (section_name, name) tuples in cluster_func. @@ -1080,17 +1247,19 @@ class SymbolGroup(BaseSymbol): """ def group_factory(_, symbols): sym = symbols[0] - return self._CreateTransformed( - symbols, - full_name=sym.full_name, - template_name=sym.template_name, - name=sym.name, - section_name=sym.section_name) + return self._CreateTransformed(symbols, + full_name=sym.full_name, + template_name=sym.template_name, + name=sym.name, + section_name=sym.section_name) return self.GroupedBy( lambda s: (same_name_only and s.full_name, id(s.aliases or s)), min_count=min_count, group_factory=group_factory) + def GroupedByContainerAndSectionName(self): + return self.GroupedBy(lambda s: (s.container_name, s.section_name)) + def GroupedBySectionName(self): return self.GroupedBy(lambda s: s.section_name) @@ -1195,10 +1364,12 @@ class DeltaSymbolGroup(SymbolGroup): def CountUniqueSymbols(self): """Returns (num_unique_before_symbols, num_unique_after_symbols).""" - syms = (s.before_symbol for s in self.IterLeafSymbols() if s.before_symbol) - before_count = SymbolGroup(syms).CountUniqueSymbols() - syms = (s.after_symbol for s in self.IterLeafSymbols() if s.after_symbol) - after_count = SymbolGroup(syms).CountUniqueSymbols() + syms_iter = (s.before_symbol for s in self.IterLeafSymbols() + if s.before_symbol) + before_count = sum(1 for _ in SymbolGroup._IterUnique(syms_iter)) + syms_iter = (s.after_symbol for s in self.IterLeafSymbols() + if s.after_symbol) + after_count = sum(1 for _ in SymbolGroup._IterUnique(syms_iter)) return before_count, after_count @property diff --git a/chromium/tools/binary_size/libsupersize/parallel.py b/chromium/tools/binary_size/libsupersize/parallel.py index 19cef2d6c21..0467864c62f 100644 --- a/chromium/tools/binary_size/libsupersize/parallel.py +++ b/chromium/tools/binary_size/libsupersize/parallel.py @@ -192,12 +192,12 @@ def BulkForkAndCall(func, arg_tuples, **kwargs): """Calls |func| in a fork'ed process for each set of args within |arg_tuples|. Args: - kwargs: Common key word arguments to be passed to |func|. + kwargs: Common keyword arguments to be passed to |func|. Yields the return values as they come in. """ arg_tuples = list(arg_tuples) - if not len(arg_tuples): + if not arg_tuples: return if DISABLE_ASYNC: diff --git a/chromium/tools/check_grd_for_unused_strings.py b/chromium/tools/check_grd_for_unused_strings.py index d0b60da8cee..d11c3e17b0e 100755 --- a/chromium/tools/check_grd_for_unused_strings.py +++ b/chromium/tools/check_grd_for_unused_strings.py @@ -140,7 +140,7 @@ def main(): ui_chromeos_dir = os.path.join(ui_dir, 'chromeos') grd_files = [ os.path.join(ash_base_dir, 'ash_strings.grd'), - os.path.join(ash_shortcut_viewer_dir, 'ash_components_strings.grd'), + os.path.join(ash_shortcut_viewer_dir, 'shortcut_viewer_strings.grd'), os.path.join(chrome_app_dir, 'chromium_strings.grd'), os.path.join(chrome_app_dir, 'generated_resources.grd'), os.path.join(chrome_app_dir, 'google_chrome_strings.grd'), diff --git a/chromium/tools/checkteamtags/checkteamtags_test.py b/chromium/tools/checkteamtags/checkteamtags_test.py index a3c46b7d174..3616344c02f 100644 --- a/chromium/tools/checkteamtags/checkteamtags_test.py +++ b/chromium/tools/checkteamtags/checkteamtags_test.py @@ -9,9 +9,6 @@ import unittest import checkteamtags -SRC = os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir) -sys.path.append(os.path.join(SRC, 'third_party', 'pymock')) - import mock diff --git a/chromium/tools/checkteamtags/extract_components_test.py b/chromium/tools/checkteamtags/extract_components_test.py index e0debb4bb30..b046a1b6965 100644 --- a/chromium/tools/checkteamtags/extract_components_test.py +++ b/chromium/tools/checkteamtags/extract_components_test.py @@ -12,9 +12,6 @@ from StringIO import StringIO import extract_components -SRC = os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir) -sys.path.append(os.path.join(SRC, 'third_party', 'pymock')) - import mock diff --git a/chromium/tools/checkteamtags/owners_file_tags_test.py b/chromium/tools/checkteamtags/owners_file_tags_test.py index 2de932d32ae..9d3b8706976 100644 --- a/chromium/tools/checkteamtags/owners_file_tags_test.py +++ b/chromium/tools/checkteamtags/owners_file_tags_test.py @@ -10,9 +10,6 @@ import unittest import owners_file_tags -SRC = os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir) -sys.path.append(os.path.join(SRC, 'third_party', 'pymock')) - import mock @contextmanager diff --git a/chromium/tools/checkteamtags/run_tests b/chromium/tools/checkteamtags/run_tests index e6872cfd77c..b9586899f09 100755 --- a/chromium/tools/checkteamtags/run_tests +++ b/chromium/tools/checkteamtags/run_tests @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env vpython # Copyright 2017 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. @@ -12,8 +12,6 @@ import sys import unittest import logging -SRC = os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir) - def main(): if 'full-log' in sys.argv: diff --git a/chromium/tools/chrome_proxy/webdriver/decorators.py b/chromium/tools/chrome_proxy/webdriver/decorators.py index 33a086beeba..8cdcdf568fa 100644 --- a/chromium/tools/chrome_proxy/webdriver/decorators.py +++ b/chromium/tools/chrome_proxy/webdriver/decorators.py @@ -82,7 +82,7 @@ chrome_version = None def GetChromeVersion(): with TestDriver() as t: - t.LoadURL('http://check.googlezip.net/connect') + t.LoadURL('about:blank') ua = t.ExecuteJavascriptStatement('navigator.userAgent') match = re.search('Chrome/[0-9\.]+', ua) if not match: diff --git a/chromium/tools/chrome_proxy/webdriver/subresource_redirect.py b/chromium/tools/chrome_proxy/webdriver/subresource_redirect.py index eb42b2aaac4..7ef4ed0537f 100644 --- a/chromium/tools/chrome_proxy/webdriver/subresource_redirect.py +++ b/chromium/tools/chrome_proxy/webdriver/subresource_redirect.py @@ -14,6 +14,7 @@ class SubresourceRedirect(IntegrationTest): def enableSubresourceRedirectFeature(self, test_driver): test_driver.EnableChromeFeature('SubresourceRedirect<SubresourceRedirect') + test_driver.AddChromeArg('--force-variation-ids=-1') test_driver.AddChromeArg('--force-fieldtrials=SubresourceRedirect/Enabled') test_driver.AddChromeArg( '--force-fieldtrial-params=' @@ -24,6 +25,7 @@ class SubresourceRedirect(IntegrationTest): 'OptimizationHintsFetchingAnonymousDataConsent') test_driver.AddChromeArg('--enable-spdy-proxy-auth') test_driver.AddChromeArg('--dont-require-litepage-redirect-infobar') + test_driver.AddChromeArg('--override-https-image-compression-infobar') # Verifies that image subresources on a page have been returned # from the compression server. @@ -39,6 +41,7 @@ class SubresourceRedirect(IntegrationTest): image_responses = 0 for response in test_driver.GetHTTPResponses(): + print response content_type = '' if 'content-type' in response.response_headers: content_type = response.response_headers['content-type'] diff --git a/chromium/tools/clang/blink_gc_plugin/BadPatternFinder.cpp b/chromium/tools/clang/blink_gc_plugin/BadPatternFinder.cpp index 2992d8078a2..f3cdb86589f 100644 --- a/chromium/tools/clang/blink_gc_plugin/BadPatternFinder.cpp +++ b/chromium/tools/clang/blink_gc_plugin/BadPatternFinder.cpp @@ -83,62 +83,6 @@ class OptionalGarbageCollectedMatcher : public MatchFinder::MatchCallback { DiagnosticsReporter& diagnostics_; }; -class MissingMixinMarker : public MatchFinder::MatchCallback { - public: - explicit MissingMixinMarker(DiagnosticsReporter& diagnostics) - : diagnostics_(diagnostics) {} - - void Register(MatchFinder& match_finder) { - auto class_missing_mixin_marker = cxxRecordDecl( - decl().bind("bad_class"), - // Definition of a garbage-collected class - isDefinition(), - isDerivedFrom(cxxRecordDecl(decl().bind("gc_base_class"), - hasName("::blink::GarbageCollected"))), - // ...which derives some mixin... - isDerivedFrom(cxxRecordDecl(decl().bind("mixin_base_class"), - hasName("::blink::GarbageCollectedMixin"))), - // ...and doesn't use USING_GARBAGE_COLLECTED_MIXIN - unless(anyOf(isSameOrDerivedFrom(has(typedefNameDecl( - hasName("HasUsingGarbageCollectedMixinMacro")))), - isSameOrDerivedFrom(has( - fieldDecl(hasName("mixin_constructor_marker_")))))), - // ...and might end up actually being constructed - unless(hasMethod(isPure())), unless(matchesName("::SameSizeAs"))); - match_finder.addDynamicMatcher(class_missing_mixin_marker, this); - } - - void run(const MatchFinder::MatchResult& result) { - auto* bad_class = result.Nodes.getNodeAs<clang::CXXRecordDecl>("bad_class"); - auto* gc_base_class = - result.Nodes.getNodeAs<clang::CXXRecordDecl>("gc_base_class"); - auto* mixin_base_class = - result.Nodes.getNodeAs<clang::CXXRecordDecl>("mixin_base_class"); - - clang::CXXBasePaths paths; - if (!bad_class->isDerivedFrom(mixin_base_class, paths)) - return; - const auto& path = paths.front(); - - // It's most useful to describe the most derived "mixin" class (i.e. which - // does not derive the concrete GarbageCollected base). - auto mixin_it = std::find_if( - path.begin(), path.end(), - [gc_base_class](const clang::CXXBasePathElement& path_element) { - return !path_element.Class->isDerivedFrom(gc_base_class); - }); - const clang::CXXRecordDecl* mixin_class = mixin_it->Class; - diagnostics_.MissingMixinMarker(bad_class, mixin_class, path.begin()->Base); - - ++mixin_it; - for (auto it = path.begin() + 1; it != mixin_it; ++it) - diagnostics_.MissingMixinMarkerNote(it->Base); - } - - private: - DiagnosticsReporter& diagnostics_; -}; - } // namespace void FindBadPatterns(clang::ASTContext& ast_context, @@ -151,8 +95,5 @@ void FindBadPatterns(clang::ASTContext& ast_context, OptionalGarbageCollectedMatcher optional_gc(diagnostics); optional_gc.Register(match_finder); - MissingMixinMarker missing_mixin_marker(diagnostics); - missing_mixin_marker.Register(match_finder); - match_finder.matchAST(ast_context); } diff --git a/chromium/tools/clang/blink_gc_plugin/BlinkGCPluginConsumer.cpp b/chromium/tools/clang/blink_gc_plugin/BlinkGCPluginConsumer.cpp index e4233a4f48a..068cbc69373 100644 --- a/chromium/tools/clang/blink_gc_plugin/BlinkGCPluginConsumer.cpp +++ b/chromium/tools/clang/blink_gc_plugin/BlinkGCPluginConsumer.cpp @@ -89,6 +89,7 @@ BlinkGCPluginConsumer::BlinkGCPluginConsumer( // Ignore GC implementation files. options_.ignored_directories.push_back("/heap/"); + options_.allowed_directories.push_back("/test/"); } void BlinkGCPluginConsumer::HandleTranslationUnit(ASTContext& context) { @@ -633,9 +634,14 @@ bool BlinkGCPluginConsumer::InIgnoredDirectory(RecordInfo* info) { #if defined(_WIN32) std::replace(filename.begin(), filename.end(), '\\', '/'); #endif - for (const auto& dir : options_.ignored_directories) - if (filename.find(dir) != std::string::npos) + for (const auto& ignored_dir : options_.ignored_directories) + if (filename.find(ignored_dir) != std::string::npos) { + for (const auto& allowed_dir : options_.allowed_directories) { + if (filename.find(allowed_dir) != std::string::npos) + return false; + } return true; + } return false; } diff --git a/chromium/tools/clang/blink_gc_plugin/BlinkGCPluginOptions.h b/chromium/tools/clang/blink_gc_plugin/BlinkGCPluginOptions.h index e05100bc1ad..a9cae8d6811 100644 --- a/chromium/tools/clang/blink_gc_plugin/BlinkGCPluginOptions.h +++ b/chromium/tools/clang/blink_gc_plugin/BlinkGCPluginOptions.h @@ -29,6 +29,8 @@ struct BlinkGCPluginOptions { std::set<std::string> ignored_classes; std::set<std::string> checked_namespaces; std::vector<std::string> ignored_directories; + // |allowed_directories| overrides |ignored_directories|. + std::vector<std::string> allowed_directories; }; #endif // TOOLS_BLINK_GC_PLUGIN_BLINK_GC_PLUGIN_OPTIONS_H_ diff --git a/chromium/tools/clang/blink_gc_plugin/DiagnosticsReporter.cpp b/chromium/tools/clang/blink_gc_plugin/DiagnosticsReporter.cpp index 05fe834b978..88f2ab4177b 100644 --- a/chromium/tools/clang/blink_gc_plugin/DiagnosticsReporter.cpp +++ b/chromium/tools/clang/blink_gc_plugin/DiagnosticsReporter.cpp @@ -145,13 +145,6 @@ const char kOptionalUsedWithGC[] = "[blink-gc] Disallowed construction of %0 found; %1 is a garbage-collected " "type. optional cannot hold garbage-collected objects."; -const char kMissingMixinMarker[] = - "[blink-gc] Garbage-collected class %0 derives mixin class %1. " - "You must add USING_GARBAGE_COLLECTED_MIXIN(%2)."; - -const char kMissingMixinMarkerNote[] = - "[blink-gc] Mixin base class derived here:"; - } // namespace DiagnosticBuilder DiagnosticsReporter::ReportDiagnostic( @@ -253,10 +246,6 @@ DiagnosticsReporter::DiagnosticsReporter( diagnostic_.getCustomDiagID(getErrorLevel(), kUniquePtrUsedWithGC); diag_optional_used_with_gc_ = diagnostic_.getCustomDiagID(getErrorLevel(), kOptionalUsedWithGC); - diag_missing_mixin_marker_ = - diagnostic_.getCustomDiagID(getErrorLevel(), kMissingMixinMarker); - diag_missing_mixin_marker_note_ = diagnostic_.getCustomDiagID( - DiagnosticsEngine::Note, kMissingMixinMarkerNote); } bool DiagnosticsReporter::hasErrorOccurred() const @@ -552,18 +541,3 @@ void DiagnosticsReporter::OptionalUsedWithGC( ReportDiagnostic(expr->getBeginLoc(), diag_optional_used_with_gc_) << optional << gc_type << expr->getSourceRange(); } - -void DiagnosticsReporter::MissingMixinMarker( - const clang::CXXRecordDecl* bad_class, - const clang::CXXRecordDecl* mixin_class, - const clang::CXXBaseSpecifier* first_base) { - ReportDiagnostic(first_base->getBaseTypeLoc(), diag_missing_mixin_marker_) - << bad_class << mixin_class << bad_class->getName() - << first_base->getSourceRange(); -} - -void DiagnosticsReporter::MissingMixinMarkerNote( - const clang::CXXBaseSpecifier* base) { - ReportDiagnostic(base->getBaseTypeLoc(), diag_missing_mixin_marker_note_) - << base->getSourceRange(); -} diff --git a/chromium/tools/clang/blink_gc_plugin/DiagnosticsReporter.h b/chromium/tools/clang/blink_gc_plugin/DiagnosticsReporter.h index ca585d5a046..fea2d87755f 100644 --- a/chromium/tools/clang/blink_gc_plugin/DiagnosticsReporter.h +++ b/chromium/tools/clang/blink_gc_plugin/DiagnosticsReporter.h @@ -82,11 +82,6 @@ class DiagnosticsReporter { void OptionalUsedWithGC(const clang::Expr* expr, const clang::CXXRecordDecl* optional, const clang::CXXRecordDecl* gc_type); - void MissingMixinMarker(const clang::CXXRecordDecl* bad_class, - const clang::CXXRecordDecl* mixin_class, - const clang::CXXBaseSpecifier* first_base); - void MissingMixinMarkerNote(const clang::CXXBaseSpecifier* base); - private: clang::DiagnosticBuilder ReportDiagnostic( clang::SourceLocation location, @@ -144,8 +139,6 @@ class DiagnosticsReporter { unsigned diag_unique_ptr_used_with_gc_; unsigned diag_optional_used_with_gc_; - unsigned diag_missing_mixin_marker_; - unsigned diag_missing_mixin_marker_note_; }; #endif // TOOLS_BLINK_GC_PLUGIN_DIAGNOSTICS_REPORTER_H_ diff --git a/chromium/tools/clang/blink_gc_plugin/process-graph.py b/chromium/tools/clang/blink_gc_plugin/process-graph.py index 865a234342a..39e53f18e12 100755 --- a/chromium/tools/clang/blink_gc_plugin/process-graph.py +++ b/chromium/tools/clang/blink_gc_plugin/process-graph.py @@ -4,7 +4,8 @@ # found in the LICENSE file. from __future__ import print_function -import argparse, os, sys, json, subprocess, pickle, StringIO +from StringIO import StringIO +import argparse, os, sys, json, subprocess, pickle parser = argparse.ArgumentParser( description = @@ -57,6 +58,14 @@ ignored_cycles = [] # Global flag to determine exit code. global_reported_error = False +try: + # Python3 remove sys.maxint. + maxint = sys.maxint +except AttributeError: + # Also see https://stackoverflow.com/a/13795777/4052492. + maxint = sys.maxsize + + def set_reported_error(value): global global_reported_error global_reported_error = value @@ -109,18 +118,20 @@ class Node: else: self.edges[new_edge.key] = new_edge def super_edges(self): - return [ e for e in self.edges.itervalues() if e.is_super() ] + return [e for e in self.edges.values() if e.is_super()] + def subclass_edges(self): - return [ e for e in self.edges.itervalues() if e.is_subclass() ] + return [e for e in self.edges.values() if e.is_subclass()] + def reset(self): - self.cost = sys.maxint + self.cost = maxint self.visited = False self.path = None self.counts = {} for ptr in ptr_types: self.counts[ptr] = 0 def update_counts(self): - for e in self.edges.itervalues(): + for e in self.edges.values(): inc_ptr(e.dst, e.ptr) # Representation of directed graph edges. @@ -199,7 +210,7 @@ def copy_super_edges(edge): copy_super_edges(e) # Copy strong super-class edges (ignoring sub-class edges) to the sub class. sub_node = graph[edge.src] - for e in super_node.edges.itervalues(): + for e in super_node.edges.values(): if e.keeps_alive() and not e.is_subclass(): new_edge = Edge( src = sub_node.name, @@ -222,16 +233,16 @@ def copy_super_edges(edge): super_node.edges[sub_edge.key] = sub_edge def complete_graph(): - for node in graph.itervalues(): + for node in graph.values(): for edge in node.super_edges(): copy_super_edges(edge) - for edge in node.edges.itervalues(): + for edge in node.edges.values(): if edge.is_root(): roots.append(edge) log("Copied edges down <super> edges for %d graph nodes" % global_inc_copy) def reset_graph(): - for n in graph.itervalues(): + for n in graph.values(): n.reset() def shortest_path(start, end): @@ -243,7 +254,7 @@ def shortest_path(start, end): current.visited = True if current == end or current.cost >= end.cost + 1: return - for e in current.edges.itervalues(): + for e in current.edges.values(): if not e.keeps_alive(): continue dst = graph.get(e.dst) @@ -276,7 +287,7 @@ def detect_cycles(): continue # Find the shortest path from the root target (dst) to its host (src) shortest_path(dst, src) - if src.cost < sys.maxint: + if src.cost < maxint: report_cycle(root_edge) def is_ignored_cycle(cycle): @@ -307,7 +318,7 @@ def report_cycle(root_edge): for p in path: if len(p.loc) > max_loc: max_loc = len(p.loc) - out = StringIO.StringIO() + out = StringIO() for p in path[:-1]: print((p.loc + ':').ljust(max_loc + 1), p, file=out) sout = out.getvalue() @@ -370,7 +381,7 @@ def print_stats(): gc_managed = [] hierarchies = [] - for node in graph.itervalues(): + for node in graph.values(): node.update_counts() for sup in node.super_edges(): if sup.dst in gcref_bases: @@ -395,7 +406,7 @@ def print_stats(): hierarchies.append((base, stats)) print("\nHierarchies in transition (RefCountedGarbageCollected):") - hierarchies.sort(key=lambda (n,s): -s['classes']) + hierarchies.sort(key=lambda n: -n[1]['classes']) for (node, stats) in hierarchies: total = stats['mem'] + stats['ref'] + stats['raw'] print( diff --git a/chromium/tools/clang/pylib/clang/compile_db.py b/chromium/tools/clang/pylib/clang/compile_db.py index 46220af8b90..50decf71907 100755 --- a/chromium/tools/clang/pylib/clang/compile_db.py +++ b/chromium/tools/clang/pylib/clang/compile_db.py @@ -67,7 +67,7 @@ def _ProcessEntry(entry): match = _RSP_RE.search(entry['command']) if match: rsp_path = os.path.join(entry['directory'], match.group(2)) - rsp_contents = file(rsp_path).read() + rsp_contents = open(rsp_path).read() entry['command'] = ''.join([ entry['command'][:match.start(1)], rsp_contents, diff --git a/chromium/tools/clang/pylib/clang/compile_db_test.py b/chromium/tools/clang/pylib/clang/compile_db_test.py index 493f2f815db..9ec818bbb5e 100755 --- a/chromium/tools/clang/pylib/clang/compile_db_test.py +++ b/chromium/tools/clang/pylib/clang/compile_db_test.py @@ -62,7 +62,11 @@ class CompileDbTest(unittest.TestCase): _TEST_COMPILE_DB) # Assert no changes were made. - self.assertItemsEqual(processed_compile_db, _TEST_COMPILE_DB) + try: + # assertItemsEqual is renamed assertCountEqual in Python3. + self.assertCountEqual(processed_compile_db, _TEST_COMPILE_DB) + except AttributeError: + self.assertItemsEqual(processed_compile_db, _TEST_COMPILE_DB) def testProcessForWindows(self): sys.platform = 'win32' diff --git a/chromium/tools/clang/pylib/clang/plugin_testing.py b/chromium/tools/clang/pylib/clang/plugin_testing.py index 7082ac87978..6b2e6067118 100755 --- a/chromium/tools/clang/pylib/clang/plugin_testing.py +++ b/chromium/tools/clang/pylib/clang/plugin_testing.py @@ -63,7 +63,7 @@ class ClangPluginTest(object): cmd = clang_cmd[:] try: # Some tests need to run with extra flags. - cmd.extend(file('%s.flags' % test_name).read().split()) + cmd.extend(open('%s.flags' % test_name).read().split()) except IOError: pass cmd.append(test) @@ -85,7 +85,9 @@ class ClangPluginTest(object): def RunOneTest(self, test_name, cmd): try: - actual = subprocess.check_output(cmd, stderr=subprocess.STDOUT) + actual = subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + universal_newlines=True) except subprocess.CalledProcessError as e: # Some plugin tests intentionally trigger compile errors, so just ignore # an exit code that indicates failure. diff --git a/chromium/tools/clang/rewrite_raw_ptr_fields/RewriteRawPtrFields.cpp b/chromium/tools/clang/rewrite_raw_ptr_fields/RewriteRawPtrFields.cpp index eb51290ca28..f94ce4e03f3 100644 --- a/chromium/tools/clang/rewrite_raw_ptr_fields/RewriteRawPtrFields.cpp +++ b/chromium/tools/clang/rewrite_raw_ptr_fields/RewriteRawPtrFields.cpp @@ -8,11 +8,26 @@ // becomes: // CheckedPtr<Pointee> field_ // +// Note that the tool always emits two kinds of output: +// 1. Fields to exclude: +// - FilteredExprWriter +// 2. Edit/replacement directives: +// - FieldDeclRewriter +// - AffectedExprRewriter +// The rewriter is expected to be used twice, in two passes: +// 1. Output from the 1st pass should be used to generate fields-to-ignore.txt +// (or to augment the manually created exclusion list file) +// 2. The 2nd pass should use fields-to-ignore.txt from the first pass as input +// for the --exclude-fields cmdline parameter. The output from the 2nd pass +// can be used to perform the actual rewrite via extract_edits.py and +// apply_edits.py. +// // For more details, see the doc here: // https://docs.google.com/document/d/1chTvr3fSofQNV_PDPEHRyUgcJCQBgTDOOBriW9gIm9M #include <assert.h> #include <algorithm> +#include <limits> #include <memory> #include <string> #include <vector> @@ -22,6 +37,7 @@ #include "clang/ASTMatchers/ASTMatchers.h" #include "clang/ASTMatchers/ASTMatchersMacros.h" #include "clang/Basic/CharInfo.h" +#include "clang/Basic/SourceLocation.h" #include "clang/Basic/SourceManager.h" #include "clang/Frontend/CompilerInstance.h" #include "clang/Frontend/FrontendActions.h" @@ -32,6 +48,7 @@ #include "clang/Tooling/CommonOptionsParser.h" #include "clang/Tooling/Refactoring.h" #include "clang/Tooling/Tooling.h" +#include "llvm/ADT/StringExtras.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/ErrorOr.h" #include "llvm/Support/FormatVariadic.h" @@ -48,56 +65,588 @@ namespace { // replaces a raw pointer. const char kIncludePath[] = "base/memory/checked_ptr.h"; -// Output format is documented in //docs/clang_tool_refactoring.md -class ReplacementsPrinter { +// Name of a cmdline parameter that can be used to specify a file listing fields +// that should not be rewritten to use CheckedPtr<T>. +// +// See also: +// - OutputSectionHelper +// - FieldDeclFilterFile +const char kExcludeFieldsParamName[] = "exclude-fields"; + +// OutputSectionHelper helps gather and emit a section of output. +// +// The section of output is delimited in a way that makes it easy to extract it +// with sed like so: +// $ DELIM = ... +// $ cat ~/scratch/rewriter.out \ +// | sed '/^==== BEGIN $DELIM ====$/,/^==== END $DELIM ====$/{//!b};d' \ +// | sort | uniq > ~/scratch/some-out-of-band-output.txt +// (For DELIM="EDITS", there is also tools/clang/scripts/extract_edits.py.) +// +// Each output line is deduped and may be followed by optional comment tags: +// Some filter # tag1, tag2 +// Another filter # tag1, tag2, tag3 +// An output line with no comment tags +// +// The output lines are sorted. This helps provide deterministic output (even +// if AST matchers start firing in a different order after benign clang +// changes). +// +// See also: +// - FieldDeclFilterFile +// - OutputHelper +class OutputSectionHelper { public: - ReplacementsPrinter() { llvm::outs() << "==== BEGIN EDITS ====\n"; } + explicit OutputSectionHelper(llvm::StringRef output_delimiter) + : output_delimiter_(output_delimiter.str()) {} - ~ReplacementsPrinter() { llvm::outs() << "==== END EDITS ====\n"; } + void Add(llvm::StringRef output_line, llvm::StringRef tag = "") { + // Look up |tags| associated with |output_line|. As a side effect of the + // lookup, |output_line| will be inserted if it wasn't already present in + // the map. + llvm::StringSet<>& tags = output_line_to_tags_[output_line]; - void PrintReplacement(const clang::SourceManager& source_manager, - const clang::SourceRange& replacement_range, - std::string replacement_text) { + if (!tag.empty()) + tags.insert(tag); + } + + void Emit() { + if (output_line_to_tags_.empty()) + return; + + llvm::outs() << "==== BEGIN " << output_delimiter_ << " ====\n"; + for (const llvm::StringRef& output_line : + GetSortedKeys(output_line_to_tags_)) { + llvm::outs() << output_line; + + const llvm::StringSet<>& tags = output_line_to_tags_[output_line]; + if (!tags.empty()) { + std::vector<llvm::StringRef> sorted_tags = GetSortedKeys(tags); + std::string tags_comment = + llvm::join(sorted_tags.begin(), sorted_tags.end(), ", "); + llvm::outs() << " # " << tags_comment; + } + + llvm::outs() << "\n"; + } + llvm::outs() << "==== END " << output_delimiter_ << " ====\n"; + } + + private: + template <typename TValue> + std::vector<llvm::StringRef> GetSortedKeys( + const llvm::StringMap<TValue>& map) { + std::vector<llvm::StringRef> sorted(map.keys().begin(), map.keys().end()); + std::sort(sorted.begin(), sorted.end()); + return sorted; + } + + std::string output_delimiter_; + llvm::StringMap<llvm::StringSet<>> output_line_to_tags_; +}; + +// Output format is documented in //docs/clang_tool_refactoring.md +class OutputHelper : public clang::tooling::SourceFileCallbacks { + public: + OutputHelper() + : edits_helper_("EDITS"), field_decl_filter_helper_("FIELD FILTERS") {} + ~OutputHelper() = default; + + void AddReplacement(const clang::SourceManager& source_manager, + const clang::SourceRange& replacement_range, + std::string replacement_text, + bool should_add_include = false) { clang::tooling::Replacement replacement( source_manager, clang::CharSourceRange::getCharRange(replacement_range), replacement_text); llvm::StringRef file_path = replacement.getFilePath(); + if (file_path.empty()) + return; + std::replace(replacement_text.begin(), replacement_text.end(), '\n', '\0'); - llvm::outs() << "r:::" << file_path << ":::" << replacement.getOffset() - << ":::" << replacement.getLength() - << ":::" << replacement_text << "\n"; + std::string replacement_directive = llvm::formatv( + "r:::{0}:::{1}:::{2}:::{3}", file_path, replacement.getOffset(), + replacement.getLength(), replacement_text); + edits_helper_.Add(replacement_directive); + + if (should_add_include) { + std::string include_directive = llvm::formatv( + "include-user-header:::{0}:::-1:::-1:::{1}", file_path, kIncludePath); + edits_helper_.Add(include_directive); + } + } + + void AddFilteredField(const clang::FieldDecl& field_decl, + llvm::StringRef filter_tag) { + std::string qualified_name = field_decl.getQualifiedNameAsString(); + field_decl_filter_helper_.Add(qualified_name, filter_tag); + } + + private: + // clang::tooling::SourceFileCallbacks override: + bool handleBeginSource(clang::CompilerInstance& compiler) override { + const clang::FrontendOptions& frontend_options = compiler.getFrontendOpts(); + + assert((frontend_options.Inputs.size() == 1) && + "run_tool.py should invoke the rewriter one file at a time"); + const clang::FrontendInputFile& input_file = frontend_options.Inputs[0]; + assert(input_file.isFile() && + "run_tool.py should invoke the rewriter on actual files"); + + current_language_ = input_file.getKind().getLanguage(); + + return true; // Report that |handleBeginSource| succeeded. + } + + // clang::tooling::SourceFileCallbacks override: + void handleEndSource() override { + if (ShouldSuppressOutput()) + return; + + edits_helper_.Emit(); + field_decl_filter_helper_.Emit(); + } - bool was_inserted = false; - std::tie(std::ignore, was_inserted) = - files_with_already_added_includes_.insert(file_path.str()); - if (was_inserted) - llvm::outs() << "include-user-header:::" << file_path - << ":::-1:::-1:::" << kIncludePath << "\n"; + bool ShouldSuppressOutput() { + switch (current_language_) { + case clang::Language::Unknown: + case clang::Language::Asm: + case clang::Language::LLVM_IR: + case clang::Language::OpenCL: + case clang::Language::CUDA: + case clang::Language::RenderScript: + case clang::Language::HIP: + // Rewriter can't handle rewriting the current input language. + return true; + + case clang::Language::C: + case clang::Language::ObjC: + // CheckedPtr requires C++. In particular, attempting to #include + // "base/memory/checked_ptr.h" from C-only compilation units will lead + // to compilation errors. + return true; + + case clang::Language::CXX: + case clang::Language::ObjCXX: + return false; + } + + assert(false && "Unrecognized clang::Language"); + return true; + } + + OutputSectionHelper edits_helper_; + OutputSectionHelper field_decl_filter_helper_; + clang::Language current_language_ = clang::Language::Unknown; +}; + +llvm::StringRef GetFilePath(const clang::SourceManager& source_manager, + const clang::FieldDecl& field_decl) { + clang::SourceLocation loc = field_decl.getSourceRange().getBegin(); + if (loc.isInvalid() || !loc.isFileID()) + return llvm::StringRef(); + + clang::FileID file_id = source_manager.getDecomposedLoc(loc).first; + const clang::FileEntry* file_entry = + source_manager.getFileEntryForID(file_id); + if (!file_entry) + return llvm::StringRef(); + + return file_entry->getName(); +} + +AST_MATCHER(clang::FieldDecl, isInThirdPartyLocation) { + llvm::StringRef file_path = + GetFilePath(Finder->getASTContext().getSourceManager(), Node); + + // Blink is part of the Chromium git repo, even though it contains + // "third_party" in its path. + if (file_path.contains("third_party/blink/")) + return false; + + // V8 needs to be considered "third party", even though its paths do not + // contain the "third_party" substring. In particular, the rewriter should + // not append |.get()| to references to |v8::RegisterState::pc|, because + // //v8/include/v8.h will *not* get rewritten. + if (file_path.contains("v8/include/")) + return true; + + // Otherwise, just check if the paths contains the "third_party" substring. + return file_path.contains("third_party"); +} + +AST_MATCHER(clang::FieldDecl, isInGeneratedLocation) { + llvm::StringRef file_path = + GetFilePath(Finder->getASTContext().getSourceManager(), Node); + + return file_path.startswith("gen/") || file_path.contains("/gen/"); +} + +// Represents a filter file specified via cmdline, that can be used to filter +// out specific FieldDecls. +// +// See also: +// - kExcludeFieldsParamName +// - OutputSectionHelper +class FieldDeclFilterFile { + public: + explicit FieldDeclFilterFile(const std::string& filepath) { + if (!filepath.empty()) + ParseInputFile(filepath); + } + + bool Contains(const clang::FieldDecl& field_decl) const { + std::string qualified_name = field_decl.getQualifiedNameAsString(); + auto it = fields_to_filter_.find(qualified_name); + return it != fields_to_filter_.end(); } private: - std::set<std::string> files_with_already_added_includes_; + // Expected file format: + // - '#' character starts a comment (which gets ignored). + // - Blank or whitespace-only or comment-only lines are ignored. + // - Other lines are expected to contain a fully-qualified name of a field + // like: + // autofill::AddressField::address1_ # some comment + // - Templates are represented without template arguments, like: + // WTF::HashTable::table_ # some comment + void ParseInputFile(const std::string& filepath) { + llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> file_or_err = + llvm::MemoryBuffer::getFile(filepath); + if (std::error_code err = file_or_err.getError()) { + llvm::errs() << "ERROR: Cannot open the file specified in --" + << kExcludeFieldsParamName << " argument: " << filepath + << ": " << err.message() << "\n"; + assert(false); + return; + } + + llvm::line_iterator it(**file_or_err, true /* SkipBlanks */, '#'); + for (; !it.is_at_eof(); ++it) { + llvm::StringRef line = *it; + + // Remove trailing comments. + size_t comment_start_pos = line.find('#'); + if (comment_start_pos != llvm::StringRef::npos) + line = line.substr(0, comment_start_pos); + line = line.trim(); + + if (line.empty()) + continue; + + fields_to_filter_.insert(line); + } + } + + // Stores fully-namespace-qualified names of fields matched by the filter. + llvm::StringSet<> fields_to_filter_; }; -AST_MATCHER(clang::ClassTemplateSpecializationDecl, isImplicitSpecialization) { +AST_MATCHER_P(clang::FieldDecl, + isListedInFilterFile, + FieldDeclFilterFile, + Filter) { + return Filter.Contains(Node); +} + +AST_MATCHER(clang::Decl, isInExternCContext) { + return Node.getLexicalDeclContext()->isExternCContext(); +} + +// Given: +// template <typename T, typename T2> class MyTemplate {}; // Node1 and Node4 +// template <typename T2> class MyTemplate<int, T2> {}; // Node2 +// template <> class MyTemplate<int, char> {}; // Node3 +// void foo() { +// // This creates implicit template specialization (Node4) out of the +// // explicit template definition (Node1). +// MyTemplate<bool, double> v; +// } +// with the following AST nodes: +// ClassTemplateDecl MyTemplate - Node1 +// | |-CXXRecordDecl class MyTemplate definition +// | `-ClassTemplateSpecializationDecl class MyTemplate definition - Node4 +// ClassTemplatePartialSpecializationDecl class MyTemplate definition - Node2 +// ClassTemplateSpecializationDecl class MyTemplate definition - Node3 +// +// Matches AST node 4, but not AST node2 nor node3. +AST_MATCHER(clang::ClassTemplateSpecializationDecl, + isImplicitClassTemplateSpecialization) { return !Node.isExplicitSpecialization(); } +// Given: +// template <typename T, typename T2> void foo(T t, T2 t2) {}; // N1 and N4 +// template <typename T2> void foo<int, T2>(int t, T2 t) {}; // N2 +// template <> void foo<int, char>(int t, char t2) {}; // N3 +// void foo() { +// // This creates implicit template specialization (N4) out of the +// // explicit template definition (N1). +// foo<bool, double>(true, 1.23); +// } +// with the following AST nodes: +// FunctionTemplateDecl foo +// |-FunctionDecl 0x191da68 foo 'void (T, T2)' // N1 +// `-FunctionDecl 0x194bf08 foo 'void (bool, double)' // N4 +// FunctionTemplateDecl foo +// `-FunctionDecl foo 'void (int, T2)' // N2 +// FunctionDecl foo 'void (int, char)' // N3 +// +// Matches AST node N4, but not AST nodes N1, N2 nor N3. +AST_MATCHER(clang::FunctionDecl, isImplicitFunctionTemplateSpecialization) { + switch (Node.getTemplateSpecializationKind()) { + case clang::TSK_ImplicitInstantiation: + return true; + case clang::TSK_Undeclared: + case clang::TSK_ExplicitSpecialization: + case clang::TSK_ExplicitInstantiationDeclaration: + case clang::TSK_ExplicitInstantiationDefinition: + return false; + } +} + AST_MATCHER(clang::Type, anyCharType) { return Node.isAnyCharacterType(); } +AST_POLYMORPHIC_MATCHER(isInMacroLocation, + AST_POLYMORPHIC_SUPPORTED_TYPES(clang::Decl, + clang::Stmt, + clang::TypeLoc)) { + return Node.getBeginLoc().isMacroID(); +} + +// If |field_decl| declares a field in an implicit template specialization, then +// finds and returns the corresponding FieldDecl from the template definition. +// Otherwise, just returns the original |field_decl| argument. +const clang::FieldDecl* GetExplicitDecl(const clang::FieldDecl* field_decl) { + if (field_decl->isAnonymousStructOrUnion()) + return field_decl; // Safe fallback - |field_decl| is not a pointer field. + + const clang::CXXRecordDecl* record_decl = + clang::dyn_cast<clang::CXXRecordDecl>(field_decl->getParent()); + if (!record_decl) + return field_decl; // Non-C++ records are never template instantiations. + + const clang::CXXRecordDecl* pattern_decl = + record_decl->getTemplateInstantiationPattern(); + if (!pattern_decl) + return field_decl; // |pattern_decl| is not a template instantiation. + + if (record_decl->getTemplateSpecializationKind() != + clang::TemplateSpecializationKind::TSK_ImplicitInstantiation) { + return field_decl; // |field_decl| was in an *explicit* specialization. + } + + // Find the field decl with the same name in |pattern_decl|. + clang::DeclContextLookupResult lookup_result = + pattern_decl->lookup(field_decl->getDeclName()); + assert(!lookup_result.empty()); + const clang::NamedDecl* found_decl = lookup_result.front(); + assert(found_decl); + field_decl = clang::dyn_cast<clang::FieldDecl>(found_decl); + assert(field_decl); + return field_decl; +} + +AST_MATCHER_P(clang::FieldDecl, + hasExplicitFieldDecl, + clang::ast_matchers::internal::Matcher<clang::FieldDecl>, + InnerMatcher) { + const clang::FieldDecl* explicit_field_decl = GetExplicitDecl(&Node); + return InnerMatcher.matches(*explicit_field_decl, Finder, Builder); +} + +// If |original_param| declares a parameter in an implicit template +// specialization of a function or method, then finds and returns the +// corresponding ParmVarDecl from the template definition. Otherwise, just +// returns the |original_param| argument. +// +// Note: nullptr may be returned in rare, unimplemented cases. +const clang::ParmVarDecl* GetExplicitDecl( + const clang::ParmVarDecl* original_param) { + const clang::FunctionDecl* original_func = + clang::dyn_cast<clang::FunctionDecl>(original_param->getDeclContext()); + if (!original_func) { + // |!original_func| may happen when the ParmVarDecl is part of a + // FunctionType, but not part of a FunctionDecl: + // base::Callback<void(int parm_var_decl_here)> + // + // In theory, |parm_var_decl_here| can also represent an implicit template + // specialization in this scenario. OTOH, it should be rare + shouldn't + // matter for this rewriter, so for now let's just return the + // |original_param|. + // + // TODO: Implement support for this scenario. + return nullptr; + } + + const clang::FunctionDecl* pattern_func = + original_func->getTemplateInstantiationPattern(); + if (!pattern_func) { + // |original_func| is not a template instantiation - return the + // |original_param|. + return original_param; + } + + // See if |pattern_func| has a parameter that is a template parameter pack. + bool has_param_pack = false; + unsigned int index_of_param_pack = std::numeric_limits<unsigned int>::max(); + for (unsigned int i = 0; i < pattern_func->getNumParams(); i++) { + const clang::ParmVarDecl* pattern_param = pattern_func->getParamDecl(i); + if (!pattern_param->isParameterPack()) + continue; + + if (has_param_pack) { + // TODO: Implement support for multiple parameter packs. + return nullptr; + } + + has_param_pack = true; + index_of_param_pack = i; + } + + // Find and return the corresponding ParmVarDecl from |pattern_func|. + unsigned int original_index = original_param->getFunctionScopeIndex(); + unsigned int pattern_index = std::numeric_limits<unsigned int>::max(); + if (!has_param_pack) { + pattern_index = original_index; + } else { + // |original_func| has parameters that look like this: + // l1, l2, l3, p1, p2, p3, t1, t2, t3 + // where + // lN is a leading, non-pack parameter + // pN is an expansion of a template parameter pack + // tN is a trailing, non-pack parameter + // Using the knowledge above, let's adjust |pattern_index| as needed. + unsigned int leading_param_num = index_of_param_pack; // How many |lN|. + unsigned int pack_expansion_num = // How many |pN| above. + original_func->getNumParams() - pattern_func->getNumParams() + 1; + if (original_index < leading_param_num) { + // |original_param| is a leading, non-pack parameter. + pattern_index = original_index; + } else if (leading_param_num <= original_index && + original_index < (leading_param_num + pack_expansion_num)) { + // |original_param| is an expansion of a template pack parameter. + pattern_index = index_of_param_pack; + } else if ((leading_param_num + pack_expansion_num) <= original_index) { + // |original_param| is a trailing, non-pack parameter. + pattern_index = original_index - pack_expansion_num + 1; + } + } + assert(pattern_index < pattern_func->getNumParams()); + return pattern_func->getParamDecl(pattern_index); +} + +AST_MATCHER_P(clang::ParmVarDecl, + hasExplicitParmVarDecl, + clang::ast_matchers::internal::Matcher<clang::ParmVarDecl>, + InnerMatcher) { + const clang::ParmVarDecl* explicit_param = GetExplicitDecl(&Node); + if (!explicit_param) { + // Rare, unimplemented case - fall back to returning "no match". + return false; + } + + return InnerMatcher.matches(*explicit_param, Finder, Builder); +} + +// Returns |true| if and only if: +// 1. |a| and |b| are in the same file (e.g. |false| is returned if any location +// is within macro scratch space or a similar location; similarly |false| is +// returned if |a| and |b| are in different files). +// 2. |a| and |b| overlap. +bool IsOverlapping(const clang::SourceManager& source_manager, + const clang::SourceRange& a, + const clang::SourceRange& b) { + clang::FullSourceLoc a1(a.getBegin(), source_manager); + clang::FullSourceLoc a2(a.getEnd(), source_manager); + clang::FullSourceLoc b1(b.getBegin(), source_manager); + clang::FullSourceLoc b2(b.getEnd(), source_manager); + + // Are all locations in a file? + if (!a1.isFileID() || !a2.isFileID() || !b1.isFileID() || !b2.isFileID()) + return false; + + // Are all locations in the same file? + if (a1.getFileID() != a2.getFileID() || a2.getFileID() != b1.getFileID() || + b1.getFileID() != b2.getFileID()) { + return false; + } + + // Check the 2 cases below: + // 1. A: |============| + // B: |===============| + // a1 b1 a2 b2 + // or + // 2. A: |====================| + // B: |=======| + // a1 b1 b2 a2 + bool b1_is_inside_a_range = a1.getFileOffset() <= b1.getFileOffset() && + b1.getFileOffset() <= a2.getFileOffset(); + + // Check the 2 cases below: + // 1. B: |============| + // A: |===============| + // b1 a1 b2 a2 + // or + // 2. B: |====================| + // A: |=======| + // b1 a1 a2 b2 + bool a1_is_inside_b_range = b1.getFileOffset() <= a1.getFileOffset() && + a1.getFileOffset() <= b2.getFileOffset(); + + return b1_is_inside_a_range || a1_is_inside_b_range; +} + +// Matcher for FieldDecl that has a SourceRange that overlaps other declarations +// within the parent RecordDecl. +// +// Given +// struct MyStruct { +// int f; +// int f2, f3; +// struct S { int x } f4; +// }; +// - doesn't match |f| +// - matches |f2| and |f3| (which overlap each other's location) +// - matches |f4| (which overlaps the location of |S|) +AST_MATCHER(clang::FieldDecl, overlapsOtherDeclsWithinRecordDecl) { + const clang::FieldDecl& self = Node; + const clang::SourceManager& source_manager = + Finder->getASTContext().getSourceManager(); + + const clang::RecordDecl* record_decl = self.getParent(); + clang::SourceRange self_range(self.getBeginLoc(), self.getEndLoc()); + + auto is_overlapping_sibling = [&](const clang::Decl* other_decl) { + if (other_decl == &self) + return false; + + clang::SourceRange other_range(other_decl->getBeginLoc(), + other_decl->getEndLoc()); + return IsOverlapping(source_manager, self_range, other_range); + }; + bool has_sibling_with_overlapping_location = + std::any_of(record_decl->decls_begin(), record_decl->decls_end(), + is_overlapping_sibling); + return has_sibling_with_overlapping_location; +} + +// Rewrites |SomeClass* field| (matched as "affectedFieldDecl") into +// |CheckedPtr<SomeClass> field| and for each file rewritten in such way adds an +// |#include "base/memory/checked_ptr.h"|. class FieldDeclRewriter : public MatchFinder::MatchCallback { public: - explicit FieldDeclRewriter(ReplacementsPrinter* replacements_printer) - : replacements_printer_(replacements_printer) {} + explicit FieldDeclRewriter(OutputHelper* output_helper) + : output_helper_(output_helper) {} void run(const MatchFinder::MatchResult& result) override { const clang::ASTContext& ast_context = *result.Context; const clang::SourceManager& source_manager = *result.SourceManager; const clang::FieldDecl* field_decl = - result.Nodes.getNodeAs<clang::FieldDecl>("fieldDecl"); + result.Nodes.getNodeAs<clang::FieldDecl>("affectedFieldDecl"); assert(field_decl && "matcher should bind 'fieldDecl'"); const clang::TypeSourceInfo* type_source_info = @@ -112,7 +661,7 @@ class FieldDeclRewriter : public MatchFinder::MatchCallback { // // Consider the following example: // const Pointee* const field_name_; - // ^-------------------^ = |replacement_range| + // ^--------------------^ = |replacement_range| // ^ = |field_decl->getLocation()| // ^ = |field_decl->getBeginLoc()| // ^ = PointerTypeLoc::getStarLoc @@ -121,9 +670,8 @@ class FieldDeclRewriter : public MatchFinder::MatchCallback { // We get the |replacement_range| in a bit clumsy way, because clang docs // for QualifiedTypeLoc explicitly say that these objects "intentionally do // not provide source location for type qualifiers". - clang::SourceRange replacement_range( - field_decl->getBeginLoc(), - field_decl->getLocation().getLocWithOffset(-1)); + clang::SourceRange replacement_range(field_decl->getBeginLoc(), + field_decl->getLocation()); // Calculate |replacement_text|. std::string replacement_text = GenerateNewText(ast_context, pointer_type); @@ -131,8 +679,9 @@ class FieldDeclRewriter : public MatchFinder::MatchCallback { replacement_text.insert(0, "mutable "); // Generate and print a replacement. - replacements_printer_->PrintReplacement(source_manager, replacement_range, - replacement_text); + output_helper_->AddReplacement(source_manager, replacement_range, + replacement_text, + true /* should_add_include */); } private: @@ -156,12 +705,59 @@ class FieldDeclRewriter : public MatchFinder::MatchCallback { printing_policy.SuppressScope = 1; // s/blink::Pointee/Pointee/ std::string pointee_type_as_string = pointee_type.getAsString(printing_policy); - result += llvm::formatv("CheckedPtr<{0}>", pointee_type_as_string); + result += llvm::formatv("CheckedPtr<{0}> ", pointee_type_as_string); return result; } - ReplacementsPrinter* const replacements_printer_; + OutputHelper* const output_helper_; +}; + +// Rewrites |my_struct.ptr_field| (matched as "affectedMemberExpr") into +// |my_struct.ptr_field.get()|. +class AffectedExprRewriter : public MatchFinder::MatchCallback { + public: + explicit AffectedExprRewriter(OutputHelper* output_helper) + : output_helper_(output_helper) {} + + void run(const MatchFinder::MatchResult& result) override { + const clang::SourceManager& source_manager = *result.SourceManager; + + const clang::MemberExpr* member_expr = + result.Nodes.getNodeAs<clang::MemberExpr>("affectedMemberExpr"); + assert(member_expr && "matcher should bind 'affectedMemberExpr'"); + + clang::SourceLocation member_name_start = member_expr->getMemberLoc(); + size_t member_name_length = member_expr->getMemberDecl()->getName().size(); + clang::SourceLocation insertion_loc = + member_name_start.getLocWithOffset(member_name_length); + + clang::SourceRange replacement_range(insertion_loc, insertion_loc); + + output_helper_->AddReplacement(source_manager, replacement_range, ".get()"); + } + + private: + OutputHelper* const output_helper_; +}; + +// Emits problematic fields (matched as "affectedFieldDecl") as filtered fields. +class FilteredExprWriter : public MatchFinder::MatchCallback { + public: + FilteredExprWriter(OutputHelper* output_helper, llvm::StringRef filter_tag) + : output_helper_(output_helper), filter_tag_(filter_tag) {} + + void run(const MatchFinder::MatchResult& result) override { + const clang::FieldDecl* field_decl = + result.Nodes.getNodeAs<clang::FieldDecl>("affectedFieldDecl"); + assert(field_decl && "matcher should bind 'affectedFieldDecl'"); + + output_helper_->AddFilteredField(*field_decl, filter_tag_); + } + + private: + OutputHelper* const output_helper_; + llvm::StringRef filter_tag_; }; } // namespace @@ -173,19 +769,21 @@ int main(int argc, const char* argv[]) { llvm::InitializeNativeTargetAsmParser(); llvm::cl::OptionCategory category( "rewrite_raw_ptr_fields: changes |T* field_| to |CheckedPtr<T> field_|."); + llvm::cl::opt<std::string> exclude_fields_param( + kExcludeFieldsParamName, llvm::cl::value_desc("filepath"), + llvm::cl::desc("file listing fields to be blocked (not rewritten)")); clang::tooling::CommonOptionsParser options(argc, argv, category); clang::tooling::ClangTool tool(options.getCompilations(), options.getSourcePathList()); MatchFinder match_finder; - ReplacementsPrinter replacements_printer; + OutputHelper output_helper; // Supported pointer types ========= // Given // struct MyStrict { // int* int_ptr; // int i; - // char* char_ptr; // int (*func_ptr)(); // int (MyStruct::* member_func_ptr)(char); // int (*ptr_to_array_of_ints)[123] @@ -196,21 +794,25 @@ int main(int argc, const char* argv[]) { recordType(hasDeclaration(cxxRecordDecl( hasMethod(allOf(hasOverloadedOperatorName("new"), isDeleted()))))); auto supported_pointer_types_matcher = - pointerType(unless(pointee(hasUnqualifiedDesugaredType(anyOf( - record_with_deleted_allocation_operator_type_matcher, functionType(), - memberPointerType(), anyCharType(), arrayType()))))); + pointerType(unless(pointee(hasUnqualifiedDesugaredType( + anyOf(record_with_deleted_allocation_operator_type_matcher, + functionType(), memberPointerType(), arrayType()))))); // Implicit field declarations ========= // Matches field declarations that do not explicitly appear in the source // code: // 1. fields of classes generated by the compiler to back capturing lambdas, - // 2. fields within an implicit class template specialization (e.g. when a - // template is instantiated by a bit of code and there's no explicit - // specialization for it). + // 2. fields within an implicit class or function template specialization + // (e.g. when a template is instantiated by a bit of code and there's no + // explicit specialization for it). + auto implicit_class_specialization_matcher = + classTemplateSpecializationDecl(isImplicitClassTemplateSpecialization()); + auto implicit_function_specialization_matcher = + functionDecl(isImplicitFunctionTemplateSpecialization()); auto implicit_field_decl_matcher = fieldDecl(hasParent(cxxRecordDecl(anyOf( - isLambda(), classTemplateSpecializationDecl(isImplicitSpecialization()), - hasAncestor( - classTemplateSpecializationDecl(isImplicitSpecialization())))))); + isLambda(), implicit_class_specialization_matcher, + hasAncestor(decl(anyOf(implicit_class_specialization_matcher, + implicit_function_specialization_matcher))))))); // Field declarations ========= // Given @@ -220,16 +822,181 @@ int main(int argc, const char* argv[]) { // matches |int* y|. Doesn't match: // - non-pointer types // - fields of lambda-supporting classes + // - fields listed in the --exclude-fields cmdline param + // - "implicit" fields (i.e. field decls that are not explicitly present in + // the source code) + FieldDeclFilterFile fields_to_exclude(exclude_fields_param); auto field_decl_matcher = - fieldDecl(allOf(hasType(supported_pointer_types_matcher), - unless(implicit_field_decl_matcher))) - .bind("fieldDecl"); - FieldDeclRewriter field_decl_rewriter(&replacements_printer); + fieldDecl( + allOf(hasType(supported_pointer_types_matcher), + unless(anyOf(isInThirdPartyLocation(), isInGeneratedLocation(), + isExpansionInSystemHeader(), isInExternCContext(), + isListedInFilterFile(fields_to_exclude), + implicit_field_decl_matcher)))) + .bind("affectedFieldDecl"); + FieldDeclRewriter field_decl_rewriter(&output_helper); match_finder.addMatcher(field_decl_matcher, &field_decl_rewriter); + // Matches expressions that used to return a value of type |SomeClass*| + // but after the rewrite return an instance of |CheckedPtr<SomeClass>|. + // Many such expressions might need additional changes after the rewrite: + // - Some expressions (printf args, const_cast args, etc.) might need |.get()| + // appended. + // - Using such expressions in specific contexts (e.g. as in-out arguments or + // as a return value of a function returning references) may require + // additional work and should cause related fields to be emitted as + // candidates for the --field-filter-file parameter. + auto affected_member_expr_matcher = + memberExpr(member(fieldDecl(hasExplicitFieldDecl(field_decl_matcher)))) + .bind("affectedMemberExpr"); + auto affected_implicit_expr_matcher = implicitCastExpr(has(expr(anyOf( + // Only single implicitCastExpr is present in case of: + // |auto* v = s.ptr_field;| + expr(affected_member_expr_matcher), + // 2nd nested implicitCastExpr is present in case of: + // |const auto* v = s.ptr_field;| + expr(implicitCastExpr(has(affected_member_expr_matcher))))))); + auto affected_expr_matcher = + expr(anyOf(affected_member_expr_matcher, affected_implicit_expr_matcher)); + + // Places where |.get()| needs to be appended ========= + // Given + // void foo(const S& s) { + // printf("%p", s.y); + // const_cast<...>(s.y) + // reinterpret_cast<...>(s.y) + // } + // matches the |s.y| expr if it matches the |affected_expr_matcher| above. + // + // See also testcases in tests/affected-expr-original.cc + auto affected_expr_that_needs_fixing_matcher = expr(allOf( + affected_expr_matcher, + hasParent(expr(anyOf(callExpr(callee(functionDecl(isVariadic()))), + cxxConstCastExpr(), cxxReinterpretCastExpr()))))); + AffectedExprRewriter affected_expr_rewriter(&output_helper); + match_finder.addMatcher(affected_expr_that_needs_fixing_matcher, + &affected_expr_rewriter); + + // Affected ternary operator args ========= + // Given + // void foo(const S& s) { + // cond ? s.y : ... + // } + // binds the |s.y| expr if it matches the |affected_expr_matcher| above. + // + // See also testcases in tests/affected-expr-original.cc + auto affected_ternary_operator_arg_matcher = + conditionalOperator(eachOf(hasTrueExpression(affected_expr_matcher), + hasFalseExpression(affected_expr_matcher))); + match_finder.addMatcher(affected_ternary_operator_arg_matcher, + &affected_expr_rewriter); + + // Calls to templated functions ========= + // Given + // struct S { int* y; }; + // template <typename T> + // void templatedFunc(T* arg) {} + // void foo(const S& s) { + // templatedFunc(s.y); + // } + // binds the |s.y| expr if it matches the |affected_expr_matcher| above. + // + // See also testcases in tests/affected-expr-original.cc + auto templated_function_arg_matcher = forEachArgumentWithParam( + affected_expr_matcher, parmVarDecl(hasType(qualType(allOf( + findAll(qualType(substTemplateTypeParmType())), + unless(referenceType())))))); + match_finder.addMatcher(callExpr(templated_function_arg_matcher), + &affected_expr_rewriter); + // TODO(lukasza): It is unclear why |traverse| below is needed. Maybe it can + // be removed if https://bugs.llvm.org/show_bug.cgi?id=46287 is fixed. + match_finder.addMatcher( + traverse(clang::ast_type_traits::TK_AsIs, + cxxConstructExpr(templated_function_arg_matcher)), + &affected_expr_rewriter); + + // |auto| type declarations ========= + // Given + // struct S { int* y; }; + // void foo(const S& s) { + // auto* p = s.y; + // } + // binds the |s.y| expr if it matches the |affected_expr_matcher| above. + // + // See also testcases in tests/affected-expr-original.cc + auto auto_var_decl_matcher = declStmt(forEach( + varDecl(allOf(hasType(pointerType(pointee(autoType()))), + hasInitializer(anyOf( + affected_expr_matcher, + initListExpr(hasInit(0, affected_expr_matcher)))))))); + match_finder.addMatcher(auto_var_decl_matcher, &affected_expr_rewriter); + + // address-of(affected-expr) ========= + // Given + // ... &s.y ... + // matches the |s.y| expr if it matches the |affected_member_expr_matcher| + // above. + // + // See also the testcases in tests/gen-in-out-arg-test.cc. + auto affected_addr_of_expr_matcher = expr(allOf( + affected_expr_matcher, hasParent(unaryOperator(hasOperatorName("&"))))); + FilteredExprWriter filtered_addr_of_expr_writer(&output_helper, "addr-of"); + match_finder.addMatcher(affected_addr_of_expr_matcher, + &filtered_addr_of_expr_writer); + + // in-out reference arg ========= + // Given + // struct S { SomeClass* ptr_field; }; + // void f(SomeClass*& in_out_arg) { ... } + // template <typename T> void f2(T&& rvalue_ref_arg) { ... } + // template <typename... Ts> void f3(Ts&&... rvalue_ref_args) { ... } + // void bar() { + // S s; + // foo(s.ptr_field) + // } + // matches the |s.ptr_field| expr if it matches the + // |affected_member_expr_matcher| and is passed as a function argument that + // has |FooBar*&| type (like |f|, but unlike |f2| and |f3|). + // + // See also the testcases in tests/gen-in-out-arg-test.cc. + auto affected_in_out_ref_arg_matcher = callExpr(forEachArgumentWithParam( + affected_expr_matcher.bind("expr"), + hasExplicitParmVarDecl( + hasType(qualType(allOf(referenceType(pointee(pointerType())), + unless(rValueReferenceType()))))))); + FilteredExprWriter filtered_in_out_ref_arg_writer(&output_helper, + "in-out-param-ref"); + match_finder.addMatcher(affected_in_out_ref_arg_matcher, + &filtered_in_out_ref_arg_writer); + + // See the doc comment for the overlapsOtherDeclsWithinRecordDecl matcher + // and the testcases in tests/gen-overlaps-test.cc. + auto overlapping_field_decl_matcher = fieldDecl( + allOf(field_decl_matcher, overlapsOtherDeclsWithinRecordDecl())); + FilteredExprWriter overlapping_field_decl_writer(&output_helper, + "overlapping"); + match_finder.addMatcher(overlapping_field_decl_matcher, + &overlapping_field_decl_writer); + + // See the doc comment for the isInMacroLocation matcher + // and the testcases in tests/gen-macro-test.cc. + auto macro_field_decl_matcher = + fieldDecl(allOf(field_decl_matcher, isInMacroLocation())); + FilteredExprWriter macro_field_decl_writer(&output_helper, "macro"); + match_finder.addMatcher(macro_field_decl_matcher, ¯o_field_decl_writer); + + // See the doc comment for the anyCharType matcher + // and the testcases in tests/gen-char-test.cc. + auto char_ptr_field_decl_matcher = fieldDecl(allOf( + field_decl_matcher, hasType(pointerType(pointee( + hasUnqualifiedDesugaredType(anyCharType())))))); + FilteredExprWriter char_ptr_field_decl_writer(&output_helper, "char"); + match_finder.addMatcher(char_ptr_field_decl_matcher, + &char_ptr_field_decl_writer); + // Prepare and run the tool. std::unique_ptr<clang::tooling::FrontendActionFactory> factory = - clang::tooling::newFrontendActionFactory(&match_finder); + clang::tooling::newFrontendActionFactory(&match_finder, &output_helper); int result = tool.run(factory.get()); if (result != 0) return result; diff --git a/chromium/tools/clang/rewrite_raw_ptr_fields/manual-fields-to-ignore.txt b/chromium/tools/clang/rewrite_raw_ptr_fields/manual-fields-to-ignore.txt new file mode 100644 index 00000000000..b8cc64f3bb3 --- /dev/null +++ b/chromium/tools/clang/rewrite_raw_ptr_fields/manual-fields-to-ignore.txt @@ -0,0 +1,163 @@ +# File that lists fields that should be ignored when running the +# rewrite_raw_ptr_fields tool on Chromium sources. +# +# Each non-comment, non-empty line should specify a fully-namespace qualified +# field like: +# my_namespace::my_subnamespace::MyStruct::my_field_ +# +# There is no need to specify template arguments: +# my_namespace::my_subnamespace::MyTemplate::my_field_ + +# Populated manually - need to keep it constexpr: +base::BasicStringPiece::ptr_ +base::CheckedContiguousIterator::current_ +base::CheckedContiguousIterator::end_ +base::CheckedContiguousIterator::start_ +base::CheckedContiguousRange::container_ +base::FeatureParam<bool, false>::feature +base::FeatureParam<double, false>::feature +base::FeatureParam<int, false>::feature +base::FeatureParam<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, false>::feature +base::FeatureParam<type-parameter-0-0, true>::feature +base::FeatureParam<type-parameter-0-0, true>::options +base::span::data_ +crash_reporter::internal::CrashKeyStringCombinedImpl::breakpad_key_ +crash_reporter::internal::CrashKeyStringCombinedImpl::crashpad_key_ +crash_reporter::internal::CrashKeyStringImpl::index_array_ +crash_reporter::internal::CrashKeyStringImpl::index_array_ +flags_ui::FeatureEntry::FeatureVariation::params +gfx::VectorIcon::reps +gfx::VectorIconRep::path +safe_browsing::(anonymous namespace)::(anonymous struct)::feature +tracing::MessageInfo::accepted_field_ids +tracing::MessageInfo::sub_messages +ui::(anonymous namespace)::I18nTestParam::test + +# Populated manually - double implicit-cast required. +PaintManager::instance_ + +# Populated manually - needed to avoid global constructors +base::(anonymous namespace)::Provider::next + +# Populated manually - needed for lock annotations +base::trace_event::TraceLog::OptionalAutoLock::lock_ + +# Populated manually to avoid hitting tokens limit explicitly +# enforced in check.cc: +# // check.h is a widely included header and its size has significant impact on +# // build time. Try not to raise this limit unless absolutely necessary. See +# // https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md +# #pragma clang max_tokens_here 17000 +logging::CheckError::log_message_ + +# Populated manually - templates make it difficult for the rewriter to see that +# |.get()| needs to be appended. +blink::xpath::EvaluationContext::node +WTF::HashTableAddResult::container_ +WTF::HashTableAddResult::stored_value + +# Populated manually - conflicting types in an initializer list +WebUITabStripContainerView::tab_counter_ + +# Populated manually to avoid returning a reference to a temporary T* (result of +# implicitly casting CheckedPtr<T> to T*). This covers functions that return +# |SomeClass*&| and local variables with that type. +AllTabContentsesList::Iterator::cur_ +blink::NormalPage::CompactionContext::current_page_ +blink::Worklist::PrivateSegmentHolder::private_pop_segment +blink::Worklist::PrivateSegmentHolder::private_push_segment +content::(anonymous namespace)::AudioStreamMonitorTest::monitor_ +content::AudioStreamMonitor::clock_ +remoting::ChromotingHostTest::client1_ +remoting::ChromotingHostTest::client2_ +WTF::ICUConverterWrapper::converter + +# Populated manually - always holds a pointer to an OilPan-allocated memory. +blink::PersistentBase::raw_ +blink::SVGFilterBuilder::last_effect_ + +# Populated manually - the rewriter has trouble appending |.get()| inside macros +# that work with |XDisplay*|. +extensions::GlobalShortcutListenerX11::x_display_ +gl::GLVisualPickerGLX::display_ +media::(anonymous namespace)::UserInputMonitorLinuxCore::x_record_display_ +media::cast::test::LinuxOutputWindow::display_ +remoting::(anonymous namespace)::InputInjectorX11::Core::display_ +remoting::(anonymous namespace)::LocalHotkeyInputMonitorX11::Core::x_record_display_ +remoting::(anonymous namespace)::LocalMouseInputMonitorX11::Core::x_record_display_ +remoting::ClipboardX11::display_ +remoting::XServerClipboard::display_ +Simulator::display_ +ui::ClipboardX11::X11Details::x_display_ +ui::SelectionRequestorTest::x_display_ +ui::X11EventSource::display_ +ui::X11MenuRegistrar::xdisplay_ +ui::X11WorkspaceHandler::xdisplay_ +ui::XDisplayManager::xdisplay_ +ui::XOSExchangeDataProvider::x_display_ +ui::XVisualManager::display_ +ui::XWindow::xdisplay_ +views::test::(anonymous namespace)::UIControlsDesktopX11::x_display_ +viz::SkiaOutputDeviceX11::display_ +x11::Connection::display_ + +# Populated manually - static_cast not related by inheritance. +gtk::GtkKeyBindingsHandler::fake_window_ +gtk::GtkKeyBindingsHandler::handler_ +gtk::SelectFileDialogImplGTK::preview_ +net::(anonymous namespace)::SettingGetterImplGSettings::client_ +net::(anonymous namespace)::SettingGetterImplGSettings::http_client_ +net::(anonymous namespace)::SettingGetterImplGSettings::https_client_ +net::(anonymous namespace)::SettingGetterImplGSettings::ftp_client_ +net::(anonymous namespace)::SettingGetterImplGSettings::socks_client_ +remoting::(anonymous namespace)::DisconnectWindowGtk::disconnect_window_ +remoting::(anonymous namespace)::DisconnectWindowGtk::message_ +remoting::(anonymous namespace)::GtkFileChooserOnUiThread::file_dialog_ +remoting::(anonymous namespace)::It2MeConfirmationDialogLinux::confirmation_window_ +remoting::ContinueWindowGtk::continue_window_ +ui::AXPlatformNodeAuraLinux::atk_hyperlink_ +PrintDialogGtk::dialog_ + +# Populated manually - using nmap or base::AllocPages directly +blink::GCInfoTable::table_ +disk_cache::MappedFile::buffer_ + +# Populated manually: +# 1. This guarantees that both fields of the union are skipped +# (otherwise, |characters8| might be skipped because of anyCharType +# heuristic, but |characters16| might be rewritte) +# 2. Note that this is one of the cases where the code may write one +# field of the union and then read another. According to the spec +# this may result in undefined behavior. +# https://en.cppreference.com/w/cpp/language/union: "It's undefined behavior +# to read from the member of the union that wasn't most recently written." +blink::VTTScanner::(anonymous union)::characters8 +blink::VTTScanner::(anonymous union)::characters16 + +# Populated manually, because of in-out-arg usage. +blink::PaintController::IdAsHashKey::client +ui::AXPlatformNodeAuraLinux::document_parent_ +ui::AXPlatformNodeAuraLinux::atk_object_ + +# Populated manually - problems related to passing to a templated && parameter, +# which is later forwarded to something that doesn't vibe with CheckedPtr. The +# rewriter has no visibility into where the parameter is forwarded to. +ProfileDestroyer::profile_ +(anonymous namespace)::BluetoothLowEnergyApiTest::mock_adapter_ +base::trace_event::TraceValue::as_convertable +content::RenderProcessHostImpl::browser_context_ +device::BluetoothDevice::adapter_ + +# Populated manually - problems related to lambdas with no return type, where +# the return value is CheckedPtr, but variable/parameter receiving the lambda +# expects the raw pointer type. +vr::LocationBarState::vector_icon +vr::OmniboxSuggestion::icon + +# Populated manually - these pointers are assigned invalid address (with top +# bits sets), which CheckedPtr is unable to handle, leading to run-time crashes. +(anonymous namespace)::TlsVectorEntry::data +blink::(anonymous namespace)::ThreadMarker::creating_thread_ +blink::ControlKey::name_ +performance_manager::frame_priority::BoostingVoteAggregator::Edge::src_ +performance_manager::frame_priority::BoostingVoteAggregator::Edge::dst_ diff --git a/chromium/tools/clang/rewrite_raw_ptr_fields/rewrite.sh b/chromium/tools/clang/rewrite_raw_ptr_fields/rewrite.sh new file mode 100755 index 00000000000..e932c3248d5 --- /dev/null +++ b/chromium/tools/clang/rewrite_raw_ptr_fields/rewrite.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# IMPORTANT! Before running this script you have to perform these steps: +# 1. Run `mkdir ~/scratch` +# 2. Run `gn args out/{your_out_dir}` and set the following options: +# use_goma = false +# # this can be skipped if you do this in build/config/clang/clang.gni +# clang_use_chrome_plugins = false +# +# (You can do these steps only once, as long as you don't delete the directories +# between rewrites.) +# +# For more fine-grained instructions, see: +# https://docs.google.com/document/d/1chTvr3fSofQNV_PDPEHRyUgcJCQBgTDOOBriW9gIm9M/edit?ts=5e9549a2#heading=h.fjdnrdg1gcty + +set -e # makes the script quit on any command failure + +OUT_DIR="out/rewrite" +if [ "$1" != "" ] +then + OUT_DIR="$1" +fi + +COMPILE_DIRS=. +EDIT_DIRS=. + +# Save llvm-build as it is about to be overwritten. +mv third_party/llvm-build third_party/llvm-build-upstream + +# Build and test the rewriter. +echo "*** Building the rewriter ***" +time tools/clang/scripts/build.py \ + --without-android \ + --without-fuchsia \ + --extra-tools rewrite_raw_ptr_fields +tools/clang/rewrite_raw_ptr_fields/tests/run_all_tests.py + +# Build generated files that a successful compilation depends on. +echo "*** Preparing targets ***" +gn gen $OUT_DIR +GEN_H_TARGETS=`ninja -C $OUT_DIR -t targets all | grep '^gen/.*\(\.h\|inc\|css_tokenizer_codepoints.cc\)' | cut -d : -f 1` +time ninja -C $OUT_DIR $GEN_H_TARGETS + +# A preliminary rewriter run in a special mode that generates a list of fields +# to ignore. These fields would likely lead to compiler errors if rewritten. +echo "*** Generating the ignore list ***" +time tools/clang/scripts/run_tool.py \ + --tool rewrite_raw_ptr_fields \ + --generate-compdb \ + -p $OUT_DIR \ + $COMPILE_DIRS > ~/scratch/rewriter.out +cat ~/scratch/rewriter.out \ + | sed '/^==== BEGIN FIELD FILTERS ====$/,/^==== END FIELD FILTERS ====$/{//!b};d' \ + | sort | uniq > ~/scratch/automated-fields-to-ignore.txt +cat ~/scratch/automated-fields-to-ignore.txt \ + tools/clang/rewrite_raw_ptr_fields/manual-fields-to-ignore.txt \ + >> ~/scratch/combined-fields-to-ignore.txt + +# Main rewrite. +echo "*** Running the main rewrite phase ***" +time tools/clang/scripts/run_tool.py \ + --tool rewrite_raw_ptr_fields \ + --tool-arg=--exclude-fields=$HOME/scratch/combined-fields-to-ignore.txt \ + -p $OUT_DIR \ + $COMPILE_DIRS > ~/scratch/rewriter.main.out + +# Apply edits generated by the main rewrite. +echo "*** Applying edits ***" +cat ~/scratch/rewriter.main.out | \ + tools/clang/scripts/extract_edits.py | \ + tools/clang/scripts/apply_edits.py -p $OUT_DIR $EDIT_DIRS + +# Revert directories that are known to be troublesome and/or not needed. +git checkout -- base/allocator/ # prevent cycles; CheckedPtr uses allocator +git checkout -- ppapi/ # lots of legacy C and pre-C++11 code +git checkout -- tools/ # not built into Chrome +git checkout -- net/tools/ # not built into Chrome + +# Format sources, as many lines are likely over 80 chars now. +echo "*** Formatting ***" +time git cl format + +# Restore llvm-build. Without this, your future builds will be painfully slow. +rm -r -f third_party/llvm-build +mv third_party/llvm-build-upstream third_party/llvm-build diff --git a/chromium/tools/clang/scripts/apply_edits.py b/chromium/tools/clang/scripts/apply_edits.py index f6e9dcb16c6..a49a739792b 100755 --- a/chromium/tools/clang/scripts/apply_edits.py +++ b/chromium/tools/clang/scripts/apply_edits.py @@ -76,7 +76,7 @@ def _ParseEditsFromStdin(build_directory): if not os.path.isfile(path): resolved_path = os.path.realpath(os.path.join(build_directory, path)) else: - resolved_path = path + resolved_path = os.path.realpath(path) if not os.path.isfile(resolved_path): sys.stderr.write('Edit applies to a non-existent file: %s\n' % path) @@ -197,12 +197,24 @@ def _InsertNonSystemIncludeHeader(filepath, header_line_to_add, contents): def _ApplyReplacement(filepath, contents, edit, last_edit): - if (last_edit is not None and edit.edit_type == last_edit.edit_type - and edit.offset == last_edit.offset and edit.length == last_edit.length): - raise ValueError(('Conflicting replacement text: ' + - '%s at offset %d, length %d: "%s" != "%s"\n') % - (filepath, edit.offset, edit.length, edit.replacement, - last_edit.replacement)) + assert (edit.edit_type == 'r') + assert ((last_edit is None) or (last_edit.edit_type == 'r')) + + if last_edit is not None: + if edit.offset == last_edit.offset and edit.length == last_edit.length: + assert (edit.replacement != last_edit.replacement) + raise ValueError(('Conflicting replacement text: ' + + '%s at offset %d, length %d: "%s" != "%s"\n') % + (filepath, edit.offset, edit.length, edit.replacement, + last_edit.replacement)) + + if edit.offset + edit.length > last_edit.offset: + raise ValueError( + ('Overlapping replacements: ' + + '%s at offset %d, length %d: "%s" and ' + + 'offset %d, length %d: "%s"\n') % + (filepath, edit.offset, edit.length, edit.replacement, + last_edit.offset, last_edit.length, last_edit.replacement)) contents[edit.offset:edit.offset + edit.length] = edit.replacement if not edit.replacement: diff --git a/chromium/tools/clang/scripts/apply_edits_test.py b/chromium/tools/clang/scripts/apply_edits_test.py index c6cb552860d..d8edd45f869 100755 --- a/chromium/tools/clang/scripts/apply_edits_test.py +++ b/chromium/tools/clang/scripts/apply_edits_test.py @@ -574,6 +574,17 @@ class ApplyReplacementTest(unittest.TestCase): with self.assertRaisesRegexp(ValueError, expected_msg_regex): _ApplyEdit(old_text, edit) + def testOverlappingReplacement(self): + old_text = "123 456 789" + last = _CreateReplacement(old_text, "456 789", "foo") + edit = _CreateReplacement(old_text, "123 456", "bar") + expected_msg_regex = 'Overlapping replacements' + expected_msg_regex += '.*some_file.cc' + expected_msg_regex += '.*offset 0, length 7.*"bar"' + expected_msg_regex += '.*offset 4, length 7.*"foo"' + with self.assertRaisesRegexp(ValueError, expected_msg_regex): + _ApplyEdit(old_text, edit, last_edit=last) + if __name__ == '__main__': unittest.main() diff --git a/chromium/tools/clang/scripts/build.py b/chromium/tools/clang/scripts/build.py index 2425e0b705b..3f2af8b3cf9 100755 --- a/chromium/tools/clang/scripts/build.py +++ b/chromium/tools/clang/scripts/build.py @@ -14,6 +14,7 @@ from __future__ import print_function import argparse import glob +import io import json import os import pipes @@ -215,7 +216,7 @@ def CreateChromeToolsShim(): tool detection logic munges them in a weird way.""" assert not any(i in os.path.basename(CHROME_TOOLS_SHIM_DIR) for i in '-_') os.mkdir(CHROME_TOOLS_SHIM_DIR) - with file(os.path.join(CHROME_TOOLS_SHIM_DIR, 'CMakeLists.txt'), 'w') as f: + with open(os.path.join(CHROME_TOOLS_SHIM_DIR, 'CMakeLists.txt'), 'w') as f: f.write('# Automatically generated by tools/clang/scripts/update.py. ' + 'Do not edit.\n') f.write('# Since tools/clang is located in another directory, use the \n') @@ -326,7 +327,8 @@ def VerifyVersionOfBuiltClangMatchesVERSION(): clang = os.path.join(LLVM_BUILD_DIR, 'bin', 'clang') if sys.platform == 'win32': clang += '-cl.exe' - version_out = subprocess.check_output([clang, '--version']) + version_out = subprocess.check_output([clang, '--version'], + universal_newlines=True) version_out = re.match(r'clang version ([0-9.]+)', version_out).group(1) if version_out != RELEASE_VERSION: print(('unexpected clang version %s (not %s), ' @@ -339,33 +341,29 @@ def CopyLibstdcpp(args, build_dir): if not args.gcc_toolchain: return # Find libstdc++.so.6 - libstdcpp = subprocess.check_output( - [os.path.join(args.gcc_toolchain, 'bin', 'g++'), - '-print-file-name=libstdc++.so.6']).rstrip() + libstdcpp = subprocess.check_output([ + os.path.join(args.gcc_toolchain, 'bin', 'g++'), + '-print-file-name=libstdc++.so.6' + ], + universal_newlines=True).rstrip() # Copy libstdc++.so.6 into the build dir so that the built binaries can find # it. Binaries get their rpath set to $origin/../lib/. For clang, lld, # etc. that live in the bin/ directory, this means they expect to find the .so - # in their neighbouring lib/ dir. For other tools however, this doesn't work - # since those exeuctables are spread out into different directories. - # TODO(hans): Unit tests don't get rpath set at all, unittests/ copying - # below doesn't help at the moment. + # in their neighbouring lib/ dir. + # For unit tests we pass -Wl,-rpath to the linker pointing to the lib64 dir + # in the gcc toolchain, via LLVM_LOCAL_RPATH below. + # The two fuzzer tests are weird in that they copy the fuzzer binary from bin/ + # into the test tree under a different name. To make the relative rpath in + # them work, copy libstdc++ to the copied location for now. + # TODO(thakis): Instead, make the upstream lit.local.cfg.py for these 2 tests + # check if the binary contains an rpath and if so disable the tests. for d in ['lib', 'test/tools/llvm-isel-fuzzer/lib', - 'test/tools/llvm-opt-fuzzer/lib', - 'unittests/CodeGen/lib', - 'unittests/DebugInfo/lib', - 'unittests/ExecutionEngine/lib', - 'unittests/Support/lib', - 'unittests/Target/lib', - 'unittests/Transforms/lib', - 'unittests/lib', - 'unittests/tools/lib', - 'unittests/tools/llvm-exegesis/lib']: + 'test/tools/llvm-opt-fuzzer/lib']: EnsureDirExists(os.path.join(build_dir, d)) CopyFile(libstdcpp, os.path.join(build_dir, d)) - def gn_arg(v): if v == 'True': return True @@ -437,7 +435,16 @@ def main(): # Don't buffer stdout, so that print statements are immediately flushed. - sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) + # LLVM tests print output without newlines, so with buffering they won't be + # immediately printed. + major, _, _, _, _ = sys.version_info + if major == 3: + # Python3 only allows unbuffered output for binary streams. This + # workaround comes from https://stackoverflow.com/a/181654/4052492. + sys.stdout = io.TextIOWrapper(open(sys.stdout.fileno(), 'wb', 0), + write_through=True) + else: + sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) # The gnuwin package also includes curl, which is needed to interact with the # github API below. @@ -478,14 +485,6 @@ def main(): # LLVM_ENABLE_LLD). cc, cxx, lld = None, None, None - if args.gcc_toolchain: - # Use the specified gcc installation for building. - cc = os.path.join(args.gcc_toolchain, 'bin', 'gcc') - cxx = os.path.join(args.gcc_toolchain, 'bin', 'g++') - if not os.access(cc, os.X_OK): - print('Invalid --gcc-toolchain: ' + args.gcc_toolchain) - return 1 - cflags = [] cxxflags = [] ldflags = [] @@ -519,6 +518,18 @@ def main(): '-DLLVM_INCLUDE_GO_TESTS=OFF', ] + if args.gcc_toolchain: + # Use the specified gcc installation for building. + cc = os.path.join(args.gcc_toolchain, 'bin', 'gcc') + cxx = os.path.join(args.gcc_toolchain, 'bin', 'g++') + if not os.access(cc, os.X_OK): + print('Invalid --gcc-toolchain: ' + args.gcc_toolchain) + return 1 + base_cmake_args += [ + '-DLLVM_LOCAL_RPATH=' + os.path.join(args.gcc_toolchain, 'lib64') + ] + + if sys.platform == 'darwin': # For libc++, we only want the headers. base_cmake_args.extend([ @@ -531,7 +542,7 @@ def main(): if args.gcc_toolchain: # Don't use the custom gcc toolchain when building compiler-rt tests; those # tests are built with the just-built Clang, and target both i386 and x86_64 - # for example, so should ust the system's libstdc++. + # for example, so should use the system's libstdc++. base_cmake_args.append( '-DCOMPILER_RT_TEST_COMPILER_CFLAGS=--gcc-toolchain=') @@ -867,28 +878,10 @@ def main(): CopyDirectoryContents(rt_lib_src_dir, rt_lib_dst_dir) if args.with_android: - make_toolchain = os.path.join( - ANDROID_NDK_DIR, 'build', 'tools', 'make_standalone_toolchain.py') # TODO(thakis): Now that the NDK uses clang, try to build all archs in - # one LLVM build instead of making 3 different toolchains and building - # 3 times. + # one LLVM build instead of building 3 times. + toolchain_dir = ANDROID_NDK_DIR + '/toolchains/llvm/prebuilt/linux-x86_64' for target_arch in ['aarch64', 'arm', 'i686']: - # Make standalone Android toolchain for target_arch. - toolchain_dir = os.path.join( - LLVM_BUILD_DIR, 'android-toolchain-' + target_arch) - api_level = '21' if target_arch == 'aarch64' else '19' - RunCommand([ - make_toolchain, - '--api=' + api_level, - '--force', - '--install-dir=%s' % toolchain_dir, - '--stl=libc++', - '--arch=' + { - 'aarch64': 'arm64', - 'arm': 'arm', - 'i686': 'x86', - }[target_arch]]) - # Build compiler-rt runtimes needed for Android in a separate build tree. build_dir = os.path.join(LLVM_BUILD_DIR, 'android-' + target_arch) if not os.path.exists(build_dir): @@ -897,10 +890,13 @@ def main(): target_triple = target_arch if target_arch == 'arm': target_triple = 'armv7' + api_level = '21' if target_arch == 'aarch64' else '19' target_triple += '-linux-android' + api_level - cflags = ['--target=%s' % target_triple, - '--sysroot=%s/sysroot' % toolchain_dir, - '-B%s' % toolchain_dir] + cflags = [ + '--target=' + target_triple, + '--sysroot=%s/sysroot' % toolchain_dir, + '--gcc-toolchain=' + toolchain_dir, + ] android_args = base_cmake_args + [ '-DCMAKE_C_COMPILER=' + os.path.join(LLVM_BUILD_DIR, 'bin/clang'), '-DCMAKE_CXX_COMPILER=' + os.path.join(LLVM_BUILD_DIR, 'bin/clang++'), diff --git a/chromium/tools/clang/scripts/clang_tidy_tool.py b/chromium/tools/clang/scripts/clang_tidy_tool.py index 57e54f7049d..afbe12bb45d 100755 --- a/chromium/tools/clang/scripts/clang_tidy_tool.py +++ b/chromium/tools/clang/scripts/clang_tidy_tool.py @@ -107,8 +107,7 @@ def RunClangTidy(checks, header_filter, auto_fix, clang_src_dir, subprocess.check_call(args) -def RunClangTidyDiff(checks, header_filter, auto_fix, clang_src_dir, - clang_build_dir, out_dir): +def RunClangTidyDiff(checks, auto_fix, clang_src_dir, clang_build_dir, out_dir): """Invoke the |clang-tidy-diff.py| script over the diff from stdin.""" clang_tidy_diff_script = os.path.join( clang_src_dir, 'clang-tools-extra', 'clang-tidy', 'tool', @@ -129,9 +128,6 @@ def RunClangTidyDiff(checks, header_filter, auto_fix, clang_src_dir, if checks: args.append('-checks={}'.format(checks)) - if header_filter: - args.append('-header-filter={}'.format(header_filter)) - if auto_fix: args.append('-fix') @@ -202,11 +198,9 @@ def main(): ] if args.diff: steps += [ - ('Running clang-tidy on diff', - lambda: RunClangTidyDiff(args.checks, args.header_filter, - args.auto_fix, args.clang_src_dir, - args.clang_build_dir, args.OUT_DIR, - args.NINJA_TARGET)), + ('Running clang-tidy on diff', lambda: RunClangTidyDiff( + args.checks, args.auto_fix, args.clang_src_dir, args. + clang_build_dir, args.OUT_DIR)), ] else: steps += [ diff --git a/chromium/tools/clang/scripts/expand_thin_archives.py b/chromium/tools/clang/scripts/expand_thin_archives.py index ede95921f77..b51393587da 100755 --- a/chromium/tools/clang/scripts/expand_thin_archives.py +++ b/chromium/tools/clang/scripts/expand_thin_archives.py @@ -12,120 +12,10 @@ from __future__ import print_function from __future__ import unicode_literals import argparse -import errno -import io -import os -import re import sys -COMPILER_RE = re.compile('clang') -LINKER_RE = re.compile('l(?:ld|ink)') -LIB_RE = re.compile('.*\\.(?:a|lib)', re.IGNORECASE) -OBJ_RE = re.compile(b'(.*)\\.(o(?:bj)?)', re.IGNORECASE) -THIN_AR_LFN_RE = re.compile('/([0-9]+)') - - -def ensure_dir(path): - """ - Creates path as a directory if it does not already exist. - """ - try: - os.makedirs(path) - except OSError as e: - if e.errno != errno.EEXIST: - raise - - -def thin_archive(path): - """ - Returns True if path refers to a thin archive (ar file), False if not. - """ - with open(path, 'rb') as f: - return f.read(8) == b'!<thin>\n' - - -def write_rsp(path, params): - """ - Writes params to a newly created response file at path. - """ - ensure_dir(os.path.basename(path)) - with open(path, 'wb') as f: - f.write(b'\n'.join(params)) - - -def names_in_archive(path): - """ - Yields the member names in the archive file at path. - """ - with open(path, 'rb') as f: - long_names = None - f.seek(8, io.SEEK_CUR) - while True: - file_id = f.read(16) - if len(file_id) == 0: - break - f.seek(32, io.SEEK_CUR) - m = THIN_AR_LFN_RE.match(file_id) - if long_names and m: - name_pos = long(m.group(1)) - name_end = long_names.find('/\n', name_pos) - name = long_names[name_pos:name_end] - else: - name = file_id - try: - size = long(f.read(10)) - except: - sys.stderr.write('While parsing %r, pos %r\n' % (path, f.tell())) - raise - # Two entries are special: '/' and '//'. The former is - # the symbol table, which we skip. The latter is the long - # file name table, which we read. - # Anything else is a filename entry which we yield. - # Every file record ends with two terminating characters - # which we skip. - seek_distance = 2 - if file_id == '/ ': - # Skip symbol table. - seek_distance += size + (size & 1) - elif file_id == '// ': - # Read long name table. - f.seek(2, io.SEEK_CUR) - long_names = f.read(size) - seek_distance = size & 1 - else: - yield name - f.seek(seek_distance, io.SEEK_CUR) - - -def expand_args(args, linker_prefix=''): - """ - Yields the parameters in args, with thin archives replaced by a sequence of - '-start-lib', the member names, and '-end-lib'. This is used to get a command - line where members of thin archives are mentioned explicitly. - """ - for arg in args: - if len(arg) > 1 and arg[0] == '@': - for x in expand_rsp(arg[1:], linker_prefix): - yield x - elif LIB_RE.match(arg) and os.path.exists(arg) and thin_archive(arg): - yield(linker_prefix + '-start-lib') - for name in names_in_archive(arg): - yield(os.path.dirname(arg) + '/' + name) - yield(linker_prefix + '-end-lib') - else: - yield(arg) - - -def expand_rsp(rspname, linker_prefix=''): - """ - Yields the parameters found in the response file at rspname, with thin - archives replaced by a sequence of '-start-lib', the member names, - and '-end-lib'. This is used to get a command line where members of - thin archives are mentioned explicitly. - """ - with open(rspname) as f: - for x in expand_args(f.read().split(), linker_prefix): - yield x +from goma_link import GomaLinkWindows +from goma_ld import GomaLinkUnix def main(argv): @@ -152,11 +42,19 @@ def main(argv): cmdline = cmdline[1:] linker_prefix = args.linker_prefix + if linker_prefix == '-Wl,': + linker = GomaLinkUnix() + else: + linker = GomaLinkWindows() + + rsp_expanded = list(linker.expand_args_rsps(cmdline)) + expanded_args = list(linker.expand_thin_archives(rsp_expanded)) + if args.output: output = open(args.output, 'w') else: output = sys.stdout - for arg in expand_args(cmdline, linker_prefix=linker_prefix): + for arg in expanded_args: output.write('%s\n' % (arg,)) if args.output: output.close() diff --git a/chromium/tools/clang/scripts/goma_ld.py b/chromium/tools/clang/scripts/goma_ld.py index 9a7365bf90c..576dfa9f9d2 100755 --- a/chromium/tools/clang/scripts/goma_ld.py +++ b/chromium/tools/clang/scripts/goma_ld.py @@ -26,6 +26,8 @@ class GomaLinkUnix(goma_link.GomaLinkBase): WL = '-Wl,' TLTO = '-plugin-opt=thinlto' SEP = '=' + DATA_SECTIONS = '-fdata-sections' + FUNCTION_SECTIONS = '-ffunction-sections' GROUP_RE = re.compile(WL + '--(?:end|start)-group') MACHINE_RE = re.compile('-m([0-9]+)') OBJ_PATH = '-plugin-opt=obj-path' + SEP diff --git a/chromium/tools/clang/scripts/goma_link.py b/chromium/tools/clang/scripts/goma_link.py index 7c4e5cd9534..8bf194e4bdb 100755 --- a/chromium/tools/clang/scripts/goma_link.py +++ b/chromium/tools/clang/scripts/goma_link.py @@ -218,6 +218,10 @@ class GomaLinkBase(object): jobs = None # These constants should work across platforms. + DATA_SECTIONS_RE = re.compile('-f(no-)?data-sections|[-/]Gw(-)?', + re.IGNORECASE) + FUNCTION_SECTIONS_RE = re.compile('-f(no-)?function-sections|[-/]Gy(-)?', + re.IGNORECASE) LIB_RE = re.compile('.*\\.(?:a|lib)', re.IGNORECASE) LTO_RE = re.compile('|'.join(( '-fsanitize=cfi.*', @@ -227,8 +231,36 @@ class GomaLinkBase(object): '-Wl,--lto.*', '-Wl,--thin.*', ))) + MLLVM_RE = re.compile('(?:-Wl,)?([-/]mllvm)[:=]?(.*)', re.IGNORECASE) OBJ_RE = re.compile('(.*)\\.(o(?:bj)?)', re.IGNORECASE) + def transform_codegen_param(self, param): + return self.transform_codegen_param_common(param) + + def transform_codegen_param_common(self, param): + """ + If param is a parameter relevant to code generation, returns the + parameter in a form that is suitable to pass to clang. For values + of param that are not relevant to code generation, returns None. + """ + match = self.MACHINE_RE.match(param) + if match and match.group(1).lower() in ['x86', 'i386', 'arm', '32']: + return ['-m32'] + match = self.MLLVM_RE.match(param) + if match: + if match.group(2): + return ['-mllvm', match.group(2)] + else: + return ['-mllvm'] + if (param.startswith('-f') and not param.startswith('-flto') + and not param.startswith('-fsanitize') + and not param.startswith('-fthinlto') + and not param.startswith('-fwhole-program')): + return [param] + if param.startswith('-g'): + return [param] + return None + def output_path(self, args): """ Analyzes command line arguments in args and returns the output @@ -354,33 +386,11 @@ class GomaLinkBase(object): ] final_params = [] in_mllvm = [False] - optlevel = [2] - - MLLVM_RE = re.compile('(?:-Wl,)?([-/]mllvm)[:=]?(.*)', re.IGNORECASE) - def transform_codegen_param(param): - """ - If param is a parameter relevant to code generation, returns the - parameter in a form that is suitable to pass to clang. For values - of param that are not relevant to code generation, returns None. - """ - match = self.MACHINE_RE.match(param) - if match and match.group(1).lower() in ['x86', 'i386', 'arm', '32']: - return ['-m32'] - match = MLLVM_RE.match(param) - if match: - if match.group(2): - return ['-mllvm', match.group(2)] - else: - return ['-mllvm'] - if (param.startswith('-f') and not param.startswith('-flto') - and not param.startswith('-fsanitize') - and not param.startswith('-fthinlto') - and not param.startswith('-fwhole-program')): - return [param] - if param.startswith('-g'): - return [param] - return None + # Defaults that match those for local linking. + optlevel = [2] + data_sections = [True] + function_sections = [True] def extract_opt_level(param): """ @@ -422,17 +432,24 @@ class GomaLinkBase(object): return # Check for params that affect code generation. - cg_param = transform_codegen_param(param) + cg_param = self.transform_codegen_param(param) if cg_param: codegen_params.extend(cg_param) # No return here, we still want to check for -mllvm. # Check for -mllvm. - match = MLLVM_RE.match(param) + match = self.MLLVM_RE.match(param) if match and not match.group(2): # Next parameter will be the thing to pass to LLVM. in_mllvm[0] = True + # Parameters that override defaults disable the defaults; the + # final value is set by passing through the parameter. + if self.DATA_SECTIONS_RE.match(param): + data_sections[0] = False + if self.FUNCTION_SECTIONS_RE.match(param): + function_sections[0] = False + helper() if self.GROUP_RE.match(param): return @@ -452,7 +469,7 @@ class GomaLinkBase(object): elif not self.LTO_RE.match(param): final_params.append(param) - index_params.append(self.WL + self.PREFIX_REPLACE + ';' + obj_dir) + index_params.append(self.WL + self.PREFIX_REPLACE + ';' + obj_dir + '/') i = 0 while i < len(args): x = args[i] @@ -471,6 +488,10 @@ class GomaLinkBase(object): return None codegen_params.append('-O' + str(optlevel[0])) + if data_sections[0]: + codegen_params.append(self.DATA_SECTIONS) + if function_sections[0]: + codegen_params.append(self.FUNCTION_SECTIONS) if use_common_objects: splitfile = None @@ -623,6 +644,8 @@ class GomaLinkWindows(GomaLinkBase): WL = '' TLTO = '-thinlto' SEP = ':' + DATA_SECTIONS = '-Gw' + FUNCTION_SECTIONS = '-Gy' GROUP_RE = re.compile(WL + '--(?:end|start)-group') MACHINE_RE = re.compile('[-/]machine:(.*)', re.IGNORECASE) OBJ_PATH = '-lto-obj-path' + SEP @@ -641,6 +664,14 @@ class GomaLinkWindows(GomaLinkBase): 'tls_edit.exe', } + def transform_codegen_param(self, param): + # In addition to parameters handled by transform_codegen_param_common, + # we pass on parameters that start in 'G' or 'Q', which are + # MSVC-style parameters that affect code generation. + if len(param) >= 2 and param[0] in ['-', '/'] and param[1] in ['G', 'Q']: + return [param] + return self.transform_codegen_param_common(param) + def process_output_param(self, args, i): """ If args[i] is a parameter that specifies the output file, diff --git a/chromium/tools/clang/scripts/goma_link_unit_tests.py b/chromium/tools/clang/scripts/goma_link_unit_tests.py index e35179d36fb..255ff6ad1f6 100755 --- a/chromium/tools/clang/scripts/goma_link_unit_tests.py +++ b/chromium/tools/clang/scripts/goma_link_unit_tests.py @@ -125,6 +125,84 @@ class GomaLinkUnitTest(unittest.TestCase): self.assertNotIn('-flto=thin', result.final_params) + def test_codegen_params_default(self): + with FakeFs(bitcode_files=['foo.o'], other_files=['bar.o']): + result = goma_ld.GomaLinkUnix().analyze_expanded_args( + ['clang', 'foo.o', 'bar.o', '-o', 'foo'], 'foo', 'clang', 'lto.foo', + 'common', False) + # Codegen optimization level should default to 2. + self.assertIn('-O2', result.codegen_params) + # -fdata-sections and -ffunction-sections default to on to match the + # behavior of local linking. + self.assertIn('-fdata-sections', result.codegen_params) + self.assertIn('-ffunction-sections', result.codegen_params) + + def test_codegen_params_default_cl(self): + with FakeFs(bitcode_files=['foo.obj'], other_files=['bar.obj']): + result = goma_link.GomaLinkWindows().analyze_expanded_args( + ['clang-cl', 'foo.obj', 'bar.obj', '-Fefoo.exe'], 'foo.exe', + 'clang-cl', 'lto.foo', 'common', False) + # Codegen optimization level should default to 2. + self.assertIn('-O2', result.codegen_params) + # -Gw and -Gy default to on to match the behavior of local linking. + self.assertIn('-Gw', result.codegen_params) + self.assertIn('-Gy', result.codegen_params) + + def test_codegen_params_no_data_sections(self): + with FakeFs(bitcode_files=['foo.o'], other_files=['bar.o']): + result = goma_ld.GomaLinkUnix().analyze_expanded_args( + ['clang', '-fno-data-sections', 'foo.o', 'bar.o', '-o', 'foo'], 'foo', + 'clang', 'lto.foo', 'common', False) + self.assertNotIn('-fdata-sections', result.codegen_params) + self.assertIn('-ffunction-sections', result.codegen_params) + + def test_codegen_params_no_function_sections(self): + with FakeFs(bitcode_files=['foo.o'], other_files=['bar.o']): + result = goma_ld.GomaLinkUnix().analyze_expanded_args( + ['clang', '-fno-function-sections', 'foo.o', 'bar.o', '-o', 'foo'], + 'foo', 'clang', 'lto.foo', 'common', False) + self.assertIn('-fdata-sections', result.codegen_params) + self.assertNotIn('-ffunction-sections', result.codegen_params) + + def test_codegen_params_no_data_sections_cl(self): + with FakeFs(bitcode_files=['foo.obj'], other_files=['bar.obj']): + result = goma_link.GomaLinkWindows().analyze_expanded_args( + ['clang-cl', '/Gw-', 'foo.obj', 'bar.obj', '/Fefoo.exe'], 'foo.exe', + 'clang-cl', 'lto.foo', 'common', False) + self.assertNotIn('-fdata-sections', result.codegen_params) + self.assertNotIn('-Gw', result.codegen_params) + self.assertNotIn('/Gw', result.codegen_params) + self.assertIn('-Gy', result.codegen_params) + + def test_codegen_params_no_function_sections_cl(self): + with FakeFs(bitcode_files=['foo.obj'], other_files=['bar.obj']): + result = goma_link.GomaLinkWindows().analyze_expanded_args( + ['clang-cl', '/Gy-', 'foo.obj', 'bar.obj', '/Fefoo.exe'], 'foo.exe', + 'clang-cl', 'lto.foo', 'common', False) + self.assertIn('-Gw', result.codegen_params) + self.assertNotIn('-ffunction-sections', result.codegen_params) + self.assertNotIn('-Gy', result.codegen_params) + self.assertNotIn('/Gy', result.codegen_params) + + def test_codegen_params_explicit_data_and_function_sections(self): + with FakeFs(bitcode_files=['foo.o'], other_files=['bar.o']): + result = goma_ld.GomaLinkUnix().analyze_expanded_args([ + 'clang', '-ffunction-sections', '-fdata-sections', 'foo.o', 'bar.o', + '-o', 'foo' + ], 'foo', 'clang', 'lto.foo', 'common', False) + self.assertIn('-fdata-sections', result.codegen_params) + self.assertIn('-ffunction-sections', result.codegen_params) + + def test_codegen_params_explicit_data_and_function_sections_cl(self): + with FakeFs(bitcode_files=['foo.obj'], other_files=['bar.obj']): + result = goma_link.GomaLinkWindows().analyze_expanded_args( + ['clang-cl', '/Gy', '-Gw', 'foo.obj', 'bar.obj', '/Fefoo.exe'], + 'foo.exe', 'clang-cl', 'lto.foo', 'common', False) + self.assertIn('-Gw', result.codegen_params) + self.assertIn('/Gy', result.codegen_params) + self.assertNotIn('-fdata-sections', result.codegen_params) + self.assertNotIn('-ffunction-sections', result.codegen_params) + def test_ensure_file_no_dir(self): with named_directory() as d, working_directory(d): self.assertFalse(os.path.exists('test')) diff --git a/chromium/tools/clang/scripts/update.py b/chromium/tools/clang/scripts/update.py index 83e0ede51fb..c9bdcf3ae20 100755 --- a/chromium/tools/clang/scripts/update.py +++ b/chromium/tools/clang/scripts/update.py @@ -37,8 +37,8 @@ import zipfile # Do NOT CHANGE this if you don't know what you're doing -- see # https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md # Reverting problematic clang rolls is safe, though. -CLANG_REVISION = '99ac9ce7016d701b43b8f0c308dc3463da57d983' -CLANG_SVN_REVISION = 'n353803' +CLANG_REVISION = '4e813bbdf' +CLANG_SVN_REVISION = 'n356902' CLANG_SUB_REVISION = 1 PACKAGE_VERSION = '%s-%s-%s' % (CLANG_SVN_REVISION, CLANG_REVISION[:8], diff --git a/chromium/tools/clang/scripts/upload_revision.py b/chromium/tools/clang/scripts/upload_revision.py index cbe0c8b961b..9cd4484cd2b 100755 --- a/chromium/tools/clang/scripts/upload_revision.py +++ b/chromium/tools/clang/scripts/upload_revision.py @@ -29,6 +29,7 @@ CHROMIUM_DIR = os.path.abspath(os.path.join(THIS_DIR, '..', '..', '..')) # Keep lines in here at <= 72 columns, else they wrap in gerrit. COMMIT_FOOTER = \ ''' +TODO: Add bug number. Cq-Include-Trybots: chromium/try:mac_chromium_asan_rel_ng Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng @@ -39,7 +40,7 @@ Cq-Include-Trybots: chromium/try:linux-chromeos-dbg,win-asan Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel Cq-Include-Trybots: chromium/try:linux_chromium_compile_dbg_32_ng Cq-Include-Trybots: chromium/try:win7-rel,win-angle-deqp-rel-32 -Cq-Include-Trybots: chromium/try:win-angle-deqp-rel-64 +Cq-Include-Trybots: chromium/try:win-angle-deqp-rel-64,linux_angle_deqp_rel_ng Cq-Include-Trybots: chromium/try:dawn-win10-x86-deps-rel Cq-Include-Trybots: chrome/try:iphone-device,ipad-device Cq-Include-Trybots: chrome/try:linux-chromeos-chrome diff --git a/chromium/tools/code_coverage/coverage.py b/chromium/tools/code_coverage/coverage.py index a4b8f88c576..b367cf59498 100755 --- a/chromium/tools/code_coverage/coverage.py +++ b/chromium/tools/code_coverage/coverage.py @@ -82,12 +82,6 @@ import urllib2 sys.path.append( os.path.join( - os.path.dirname(__file__), os.path.pardir, os.path.pardir, 'tools', - 'clang', 'scripts')) -import update - -sys.path.append( - os.path.join( os.path.dirname(__file__), os.path.pardir, os.path.pardir, 'third_party')) from collections import defaultdict @@ -96,12 +90,15 @@ import coverage_utils # Absolute path to the code coverage tools binary. These paths can be # overwritten by user specified coverage tool paths. -LLVM_BIN_DIR = os.path.join(update.LLVM_BUILD_DIR, 'bin') +# Absolute path to the root of the checkout. +SRC_ROOT_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), + os.path.pardir, os.path.pardir) +LLVM_BIN_DIR = os.path.join( + os.path.join(SRC_ROOT_PATH, 'third_party', 'llvm-build', 'Release+Asserts'), + 'bin') LLVM_COV_PATH = os.path.join(LLVM_BIN_DIR, 'llvm-cov') LLVM_PROFDATA_PATH = os.path.join(LLVM_BIN_DIR, 'llvm-profdata') -# Absolute path to the root of the checkout. -SRC_ROOT_PATH = None # Build directory, the value is parsed from command line arguments. BUILD_DIR = None @@ -157,7 +154,8 @@ def _ConfigureLLVMCoverageTools(args): LLVM_COV_PATH = os.path.join(llvm_bin_dir, 'llvm-cov') LLVM_PROFDATA_PATH = os.path.join(llvm_bin_dir, 'llvm-profdata') else: - update.UpdatePackage('coverage_tools', coverage_utils.GetHostPlatform()) + subprocess.check_call( + ['tools/clang/scripts/update.py', '--package', 'coverage_tools']) if coverage_utils.GetHostPlatform() == 'win': LLVM_COV_PATH += '.exe' @@ -948,19 +946,18 @@ def _ParseCommandArguments(): def Main(): """Execute tool commands.""" + + # Change directory to source root to aid in relative paths calculations. + os.chdir(SRC_ROOT_PATH) + # Setup coverage binaries even when script is called with empty params. This # is used by coverage bot for initial setup. if len(sys.argv) == 1: - update.UpdatePackage('coverage_tools', coverage_utils.GetHostPlatform()) + subprocess.check_call( + ['tools/clang/scripts/update.py', '--package', 'coverage_tools']) print(__doc__) return - # Change directory to source root to aid in relative paths calculations. - global SRC_ROOT_PATH - SRC_ROOT_PATH = coverage_utils.GetFullPath( - os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir)) - os.chdir(SRC_ROOT_PATH) - args = _ParseCommandArguments() coverage_utils.ConfigureLogging(verbose=args.verbose, log_file=args.log_file) _ConfigureLLVMCoverageTools(args) diff --git a/chromium/tools/determinism/OWNERS b/chromium/tools/determinism/OWNERS index 0def7ec35b8..5be7c401366 100644 --- a/chromium/tools/determinism/OWNERS +++ b/chromium/tools/determinism/OWNERS @@ -2,6 +2,7 @@ # https://crbug.com/314403 dpranke@chromium.org +dpranke@google.com erikchen@chromium.org sebmarchand@chromium.org thakis@chromium.org diff --git a/chromium/tools/determinism/deterministic_build_whitelist.pyl b/chromium/tools/determinism/deterministic_build_whitelist.pyl index 3b7e6725d05..3d87f6aab2f 100644 --- a/chromium/tools/determinism/deterministic_build_whitelist.pyl +++ b/chromium/tools/determinism/deterministic_build_whitelist.pyl @@ -109,6 +109,9 @@ 'test_data/ppapi/tests/extensions/packaged_app/newlib/ppapi_tests_extensions_packaged_app_newlib_x86_64.nexe', 'test_data/ppapi/tests/extensions/popup/newlib/ppapi_tests_extensions_popup_newlib_x86_64.nexe', 'test_data/ppapi/tests/extensions/socket_permissions/newlib/ppapi_tests_extensions_socket_permissions_newlib_x86_64.nexe', + + # https://crbug.com/1093166 + 'test_data/ppapi/tests/extensions/packaged_app/pnacl/ppapi_tests_extensions_packaged_app_newlib_pnacl.pexe', ], # TODO(thakis): Move mac det bots to use two distinct build dirs, diff --git a/chromium/tools/directory_metadata/README.md b/chromium/tools/directory_metadata/README.md new file mode 100644 index 00000000000..26386d6118b --- /dev/null +++ b/chromium/tools/directory_metadata/README.md @@ -0,0 +1,52 @@ +# Chromium METADATA files + +METADATA.chromium files are a source-focused mechanism by which owners can +provide users of their code important information, including: + +* The team responsible for the code. +* The Monorail component where bugs should be filed. +* The OS type. + +METADATA.chromium files are structured protobuf files that are amenable to +programmatic interaction. + +## Contents + +This directory contains the +[proto definition](https://source.chromium.org/chromium/chromium/src/+/master:tools/directory_metadata/directory_metadata.proto) +for METADATA.chromium files, which is the source of truth about +METADATA.chromium file contents. + +Historical information can be found in the +[original proposal](https://docs.google.com/document/d/17WMlceIMwge2ZiCvBWaBuk0w60YgieBd-ly3I8XsbzU/preview). + +## Usage + +METADATA.chromium files apply to all contents of a directory including its +subdirectories. + +There is no inheritance mechanism, so any information in METADATA.chromium files +in parent directories is ignored. + +For example, given the files below, the value of the `os` field for +a/b/METADATA.chromium would be `OS_UNSPECIFIED` regardless of the contents of +a/METADATA.chromium. + +**a/METADATA.chromium** +``` +monorail { + project: "chromium" + component: "Component" +} +team_email: "team@chromium.org" +os: OS_LINUX +``` + +**a/b/METADATA.chromium** +``` +monorail { + project: "chromium" + component: "Component>Foo" +} +team_email: "foo-team@chromium.org" +``` diff --git a/chromium/tools/directory_metadata/directory_metadata.proto b/chromium/tools/directory_metadata/directory_metadata.proto new file mode 100644 index 00000000000..540fa3c112c --- /dev/null +++ b/chromium/tools/directory_metadata/directory_metadata.proto @@ -0,0 +1,42 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +syntax = "proto3"; + +// Metadata information for a directory. +message Metadata { + // Monorail metadata. Its component field should always map to the same + // team_email field (see below) for every directory that it is listed in. + Monorail monorail = 1; + // The team responsible for the directory. Only a single email is allowed. + // For example, “team-email@chromium.org”. + string team_email = 2; + // The code in this directory is specific to this OS. + OS os = 3; + // Reserved for metadata information for third-party code. See + // https://opensource.google/docs/thirdparty/metadata/ + reserved 13; + reserved "third_party"; +} + +// Supported OS to tag a directory. +enum OS { + OS_UNSPECIFIED = 0; + OS_LINUX = 1; + OS_WINDOWS = 2; + OS_MAC = 3; + OS_ANDROID = 4; + OS_IOS = 5; + OS_CHROME = 6; + OS_FUCHSIA = 7; +} + +// Monorail specific metadata. +message Monorail { + // The Monorail project. For example, “chromium”. + string project = 1; + // The Monorail component. For example, “UI>Browser>Zoom”. + // Only a single component is allowed. + string component = 2; +} diff --git a/chromium/tools/directory_metadata/directory_metadata_pb2.py b/chromium/tools/directory_metadata/directory_metadata_pb2.py new file mode 100644 index 00000000000..1c34d0777f5 --- /dev/null +++ b/chromium/tools/directory_metadata/directory_metadata_pb2.py @@ -0,0 +1,188 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: directory_metadata.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='directory_metadata.proto', + package='', + syntax='proto3', + serialized_options=None, + serialized_pb=_b('\n\x18\x64irectory_metadata.proto\"_\n\x08Metadata\x12\x1b\n\x08monorail\x18\x01 \x01(\x0b\x32\t.Monorail\x12\x12\n\nteam_email\x18\x02 \x01(\t\x12\x0f\n\x02os\x18\x03 \x01(\x0e\x32\x03.OSJ\x04\x08\r\x10\x0eR\x0bthird_party\".\n\x08Monorail\x12\x0f\n\x07project\x18\x01 \x01(\t\x12\x11\n\tcomponent\x18\x02 \x01(\t*h\n\x02OS\x12\x12\n\x0eOS_UNSPECIFIED\x10\x00\x12\t\n\x05LINUX\x10\x01\x12\x0b\n\x07WINDOWS\x10\x02\x12\x07\n\x03MAC\x10\x03\x12\x0b\n\x07\x41NDROID\x10\x04\x12\x07\n\x03IOS\x10\x05\x12\n\n\x06\x43HROME\x10\x06\x12\x0b\n\x07\x46UCHSIA\x10\x07\x62\x06proto3') +) + +_OS = _descriptor.EnumDescriptor( + name='OS', + full_name='OS', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='OS_UNSPECIFIED', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='LINUX', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='WINDOWS', index=2, number=2, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MAC', index=3, number=3, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ANDROID', index=4, number=4, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='IOS', index=5, number=5, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CHROME', index=6, number=6, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='FUCHSIA', index=7, number=7, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=173, + serialized_end=277, +) +_sym_db.RegisterEnumDescriptor(_OS) + +OS = enum_type_wrapper.EnumTypeWrapper(_OS) +OS_UNSPECIFIED = 0 +LINUX = 1 +WINDOWS = 2 +MAC = 3 +ANDROID = 4 +IOS = 5 +CHROME = 6 +FUCHSIA = 7 + + + +_METADATA = _descriptor.Descriptor( + name='Metadata', + full_name='Metadata', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='monorail', full_name='Metadata.monorail', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='team_email', full_name='Metadata.team_email', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='os', full_name='Metadata.os', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=28, + serialized_end=123, +) + + +_MONORAIL = _descriptor.Descriptor( + name='Monorail', + full_name='Monorail', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='project', full_name='Monorail.project', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='component', full_name='Monorail.component', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=125, + serialized_end=171, +) + +_METADATA.fields_by_name['monorail'].message_type = _MONORAIL +_METADATA.fields_by_name['os'].enum_type = _OS +DESCRIPTOR.message_types_by_name['Metadata'] = _METADATA +DESCRIPTOR.message_types_by_name['Monorail'] = _MONORAIL +DESCRIPTOR.enum_types_by_name['OS'] = _OS +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Metadata = _reflection.GeneratedProtocolMessageType('Metadata', (_message.Message,), dict( + DESCRIPTOR = _METADATA, + __module__ = 'directory_metadata_pb2' + # @@protoc_insertion_point(class_scope:Metadata) + )) +_sym_db.RegisterMessage(Metadata) + +Monorail = _reflection.GeneratedProtocolMessageType('Monorail', (_message.Message,), dict( + DESCRIPTOR = _MONORAIL, + __module__ = 'directory_metadata_pb2' + # @@protoc_insertion_point(class_scope:Monorail) + )) +_sym_db.RegisterMessage(Monorail) + + +# @@protoc_insertion_point(module_scope) diff --git a/chromium/tools/fuchsia/local-sdk.py b/chromium/tools/fuchsia/local-sdk.py index 59cf6ee9a1a..30a3d030272 100755 --- a/chromium/tools/fuchsia/local-sdk.py +++ b/chromium/tools/fuchsia/local-sdk.py @@ -37,8 +37,8 @@ def EnsureEmptyDir(path): def BuildForArch(arch): build_dir = 'out/release-' + arch Run('scripts/fx', '--dir', build_dir, 'set', 'core.qemu-' + arch, - '--with-base=//sdk/bundles:tools', '--args=is_debug=false', - '--args=build_sdk_archives=true') + '--args=cache_package_labels+=["//sdk/bundles:tools"]', + '--args=is_debug=false', '--args=build_sdk_archives=true') Run('scripts/fx', 'build', 'sdk', 'build/images') diff --git a/chromium/tools/get_swarming_logs/OWNERS b/chromium/tools/get_swarming_logs/OWNERS new file mode 100644 index 00000000000..5206e3a602a --- /dev/null +++ b/chromium/tools/get_swarming_logs/OWNERS @@ -0,0 +1,2 @@ +altimin@chromium.org +fergal@chromium.org diff --git a/chromium/tools/get_swarming_logs/README.md b/chromium/tools/get_swarming_logs/README.md new file mode 100644 index 00000000000..ed4b70c523e --- /dev/null +++ b/chromium/tools/get_swarming_logs/README.md @@ -0,0 +1,4 @@ +# Caveat Usor + +This is just a quick script that I wrote and am checking in. +Feel free to send patches and ping me if it doesn't work. diff --git a/chromium/tools/get_swarming_logs/get_all.sh b/chromium/tools/get_swarming_logs/get_all.sh new file mode 100755 index 00000000000..fe9a7dc7670 --- /dev/null +++ b/chromium/tools/get_swarming_logs/get_all.sh @@ -0,0 +1,46 @@ +#!/bin/bash -e +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# Downloads all logs from a CQ run. You can find the task ID by e.g. clicking +# through to the CQ run from gerrit and finding, e.g. the line +# +# Swarming Task: 4cb6401085894f10 +# +# This will create a .txt for the main log and create subdir for the ID and put +# one .txt file in there for each subtask's log. +# +# Usage: +# get_all.sh <output_dir> <task ID> + +base_dir=$1 +shift +id=$1 +shift + +bindir=$(dirname $0) + +function get_ids() { + perl -lne 'print $1 if m#shard \#0\]\(https://chromium-swarm.appspot.com/user/task/([0-9a-f]*)#;' "$1" | sort | uniq +} + +log=$("$bindir"/get_one.sh "$base_dir" "$id") +dir="$base_dir/$id" +running=0 +for id in $(get_ids "$log" ); do + if [ "$running" -gt 32 ]; then + echo >&2 waiting $running + wait -n + running=$(($running - 1)) + fi + echo >&2 getting $id + "$bindir"/get_one.sh "$dir" "$id" & + running=$(($running + 1)) +done + +while [ "$running" -gt 0 ]; do + echo >&2 waiting $running + wait -n + running=$(($running - 1)) +done diff --git a/chromium/tools/get_swarming_logs/get_one.sh b/chromium/tools/get_swarming_logs/get_one.sh new file mode 100755 index 00000000000..6b64f2dd4e1 --- /dev/null +++ b/chromium/tools/get_swarming_logs/get_one.sh @@ -0,0 +1,26 @@ +#!/bin/bash -ex +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# Download the log from a CQ run. You can find the task ID by e.g. clicking +# through to the CQ run from gerrit and finding, e.g. the line +# +# Swarming Task: 4cb6401085894f10 +# +# The script will create a .txt for this log in the output dir. If you want all +# the logs of subtasks, see get_all.sh +# +# Usage: +# get_one.sh <output_dir> <task ID> + +base_dir=$1 +shift +id=$1 +shift + +out="$base_dir/$id.txt" +mkdir -p "$base_dir" +tools/luci-go/swarming collect -task-output-stdout=console \ + -S chromium-swarm.appspot.com "$id" > "$out" +echo "$out" diff --git a/chromium/tools/gritsettings/resource_ids.spec b/chromium/tools/gritsettings/resource_ids.spec index 535829b4eed..fa2306ead7d 100644 --- a/chromium/tools/gritsettings/resource_ids.spec +++ b/chromium/tools/gritsettings/resource_ids.spec @@ -113,13 +113,6 @@ "chrome/browser/resources/bookmarks/bookmarks_resources_vulcanized.grd": { "includes": [1300], }, - "chrome/browser/resources/chromeos/camera/camera_resources.grd": { - "includes": [1320], - "structures": [1340], - }, - "chrome/browser/resources/chromeos/camera/src/strings/camera_strings.grd": { - "messages": [1360], - }, "chrome/browser/resources/chromeos/cellular_setup/cellular_setup_resources.grd": { "structures": [1380], }, @@ -153,106 +146,140 @@ "chrome/browser/resources/local_ntp/local_ntp_resources.grd": { "includes": [1620], }, + "chrome/browser/resources/nearby_internals/nearby_internals_resources.grd": { + "includes": [1630], + }, + "chrome/browser/resources/nearby_share/nearby_share_dialog_resources.grd": { + "includes": [1650], + }, "chrome/browser/resources/new_tab_page/new_tab_page_resources_vulcanized.grd": { - "includes": [1640], + "includes": [1660], }, "chrome/browser/resources/new_tab_page/new_tab_page_resources.grd": { - "includes": [1660], + "includes": [1680], }, "chrome/browser/resources/print_preview/print_preview_resources_vulcanized.grd": { - "includes": [1680], + "includes": [1700], }, "chrome/browser/resources/print_preview/print_preview_resources.grd": { - "includes": [1700], - "structures": [1720], + "includes": [1720], + "structures": [1740], + }, + "chrome/browser/resources/print_preview/print_preview_pdf_resources.grd": { + "includes": [1750], }, "chrome/browser/resources/settings/os_settings_resources_vulcanized.grd": { - "includes": [1740], + "includes": [1760], }, "chrome/browser/resources/settings/os_settings_resources.grd": { - "includes": [1760], - "structures": [1780], + "includes": [1780], + "structures": [1800], }, "chrome/browser/resources/settings/settings_resources_vulcanized.grd": { - "includes": [1800], + "includes": [1820], }, "chrome/browser/resources/settings/settings_resources.grd": { - "includes": [1810], - "structures": [1820], + "includes": [1830], + "structures": [1840], }, "chrome/browser/resources/signin/profile_picker/profile_picker_resources.grd": { - "structures": [1840], + "includes": [1860], + "structures": [1870], }, "chrome/browser/resources/tab_strip/tab_strip_resources.grd": { - "structures": [1860], - "includes": [1880], + "structures": [1880], + "includes": [1900], }, "chrome/browser/resources/welcome/welcome_resources.grd": { - "includes": [1900], - "structures": [1920], + "includes": [1920], + "structures": [1940], }, "chrome/browser/supervised_user/supervised_user_unscaled_resources.grd": { - "includes": [1930], + "includes": [1950], }, "chrome/browser/test_dummy/internal/android/resources/resources.grd": { - "includes": [1940], + "includes": [1960], }, "chrome/browser/vr/testapp/vr_testapp_resources.grd": { - "includes": [1950], + "includes": [1970], }, # END chrome/browser section. # START chrome/ WebUI resources section - "chrome/browser/media/kaleidoscope/internal/kaleidoscope_resources.grd": { + # Both the kaleidoscope_resources.grd and kaleidoscope_internal_resources.grd + # start with the same id because only one of them is built based on whether + # src-internal is available. + "chrome/browser/media/kaleidoscope/kaleidoscope_resources.grd": { + # Big alignment at start of section. + "META": {"align": 100}, + "includes": [2000], + }, + "chrome/browser/media/kaleidoscope/kaleidoscope_internal_resources.grd": { # Big alignment at start of section. "META": {"align": 100}, "includes": [2000], - "messages": [2010], + }, + # The internal version of kaleidoscope_resources.grd will be removed in a + # follow up. It is only here to avoid build breakages. + "chrome/browser/media/kaleidoscope/internal/kaleidoscope_resources.grd": { + "META": {"sizes": {"includes": [50],}}, # Relies on src-internal. + "includes": [2010], + }, + "chrome/browser/media/kaleidoscope/internal/kaleidoscope_strings.grd": { + "META": {"sizes": {"messages": [50]}, "join": 2}, # Relies on src-internal. + "messages": [2015], }, "chrome/browser/resources/bluetooth_internals/resources.grd": { "includes": [2020], }, - "chrome/browser/resources/gaia_auth_host/gaia_auth_host_resources.grd": { + "chrome/browser/resources/chromeos/bluetooth_pairing_dialog/bluetooth_pairing_dialog_resources.grd": { "includes": [2030], + "structures": [2050], + }, + "chrome/browser/resources/chromeos/bluetooth_pairing_dialog/bluetooth_pairing_dialog_resources_vulcanized.grd": { + "includes": [2070], + }, + "chrome/browser/resources/gaia_auth_host/gaia_auth_host_resources.grd": { + "includes": [2080], }, "chrome/browser/resources/invalidations/invalidations_resources.grd": { - "includes": [2040], + "includes": [2090], }, "chrome/browser/resources/media/webrtc_logs_resources.grd": { - "includes": [2060], + "includes": [2100], }, "chrome/browser/resources/net_internals/net_internals_resources.grd": { - "includes": [2080], + "includes": [2120], }, "chrome/browser/resources/omnibox/resources.grd": { - "includes": [2100], + "includes": [2140], }, "chrome/browser/resources/quota_internals/quota_internals_resources.grd": { - "includes": [2120], + "includes": [2160], }, "chrome/browser/resources/sync_file_system_internals/sync_file_system_internals_resources.grd": { - "includes": [2140], + "includes": [2180], }, "chrome/browser/resources/usb_internals/resources.grd": { - "includes": [2160], + "includes": [2200], }, "chrome/browser/resources/webapks/webapks_ui_resources.grd": { - "includes": [2180], + "includes": [2220], }, "components/sync/driver/resources.grd": { - "includes": [2200], + "includes": [2240], }, "components/resources/dev_ui_components_resources.grd": { - "includes": [2210], + "includes": [2260], }, "content/browser/resources/media/media_internals_resources.grd": { - "includes": [2220], + "includes": [2270], }, "content/browser/webrtc/resources/resources.grd": { - "includes": [2240], + "includes": [2280], }, "content/dev_ui_content_resources.grd": { - "includes": [2250], + "includes": [2300], }, # END chrome/ WebUI resources section @@ -281,6 +308,13 @@ "META": {"align": 100}, "messages": [2500], }, + "chromeos/components/camera_app_ui/resources/camera_app_resources.grd": { + "includes": [2505], + "structures": [2510], + }, + "chromeos/components/camera_app_ui/resources/src/strings/camera_strings.grd": { + "messages": [2515], + }, "chromeos/components/help_app_ui/resources/help_app_resources.grd": { "includes": [2520], }, @@ -304,7 +338,7 @@ # start with the same id because only one of them is built depending on if # src_internal is available. Lower bound for number of resource ids is number # of languages (74). - "chromeos/components/media_app_ui/resources/pkg/media_app_bundle_resources.grd": { + "chromeos/components/media_app_ui/resources/prod/media_app_bundle_resources.grd": { "META": {"sizes": {"includes": [120],}}, # Relies on src-internal. "includes": [2580], }, @@ -319,6 +353,9 @@ "chromeos/components/sample_system_web_app_ui/resources/sample_system_web_app_resources.grd": { "includes": [2640], }, + "chromeos/components/telemetry_extension_ui/resources/telemetry_extension_resources.grd": { + "includes": [2650], + }, "chromeos/resources/chromeos_resources.grd": { "includes": [2660], }, @@ -474,7 +511,7 @@ "ash/ash_strings.grd": { "messages": [3060], }, - "ash/shortcut_viewer/ash_components_strings.grd": { + "ash/shortcut_viewer/shortcut_viewer_strings.grd": { "messages": [3080], }, "ash/keyboard/ui/keyboard_resources.grd": { @@ -539,7 +576,9 @@ "services/services_strings.grd": { "messages": [3460], }, - + "skia/skia_resources.grd": { + "includes": [3470], + }, "third_party/blink/public/blink_image_resources.grd": { "structures": [3480], }, @@ -600,10 +639,16 @@ # This file is generated during the build. "<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd": { - "META": {"sizes": {"includes": [500],}}, + "META": {"sizes": {"includes": [1000],}}, "includes": [3860], }, + # This file is generated during the build. + "<(SHARED_INTERMEDIATE_DIR)/resources/inspector_overlay/inspector_overlay_resources.grd": { + "META": {"sizes": {"includes": [50],}}, + "includes": [3880], + }, + # END "everything else" section. # Everything but chrome/, components/, content/, and ios/ diff --git a/chromium/tools/gritsettings/startup_resources_win.txt b/chromium/tools/gritsettings/startup_resources_win.txt index 5588a0c3252..f1dfce7431c 100644 --- a/chromium/tools/gritsettings/startup_resources_win.txt +++ b/chromium/tools/gritsettings/startup_resources_win.txt @@ -1,210 +1,264 @@ -IDS_DEFAULT_PROFILE_NAME 101 -IDS_LEGACY_DEFAULT_PROFILE_NAME 102 -IDR_MOJO_CONTENT_BROWSER_MANIFEST 103 -IDR_CHROME_CONTENT_BROWSER_MANIFEST_OVERLAY 104 -IDR_MOJO_CONTENT_GPU_MANIFEST 105 -IDR_CHROME_CONTENT_GPU_MANIFEST_OVERLAY 106 -IDR_MOJO_CONTENT_PACKAGED_SERVICES_MANIFEST 107 -IDR_CHROME_CONTENT_PACKAGED_SERVICES_MANIFEST_OVERLAY 108 -IDR_MOJO_CONTENT_PLUGIN_MANIFEST 109 -IDR_CHROME_CONTENT_PLUGIN_MANIFEST_OVERLAY 110 -IDR_MOJO_CONTENT_RENDERER_MANIFEST 111 -IDR_CHROME_CONTENT_RENDERER_MANIFEST_OVERLAY 112 -IDR_MOJO_CONTENT_UTILITY_MANIFEST 113 -IDR_CHROME_CONTENT_UTILITY_MANIFEST_OVERLAY 114 -IDR_MOJO_CATALOG_MANIFEST 115 -IDR_NACL_LOADER_MANIFEST 116 -IDR_NACL_BROKER_MANIFEST 117 -IDR_PRINT_COMPOSITOR_MANIFEST 118 -IDR_CHROME_RENDERER_SERVICE_MANIFEST 119 -IDR_DOWNLOAD_FILE_TYPES_PB 120 -IDR_PLUGIN_DB_JSON 121 -IDS_ACCEPT_LANGUAGES 122 -IDS_DEFAULT_ENCODING 123 -IDS_STANDARD_FONT_FAMILY 124 -IDS_FIXED_FONT_FAMILY 125 -IDS_FIXED_FONT_FAMILY_ALT_WIN 126 -IDS_SERIF_FONT_FAMILY 127 -IDS_SANS_SERIF_FONT_FAMILY 128 -IDS_CURSIVE_FONT_FAMILY 129 -IDS_FANTASY_FONT_FAMILY 130 -IDS_PICTOGRAPH_FONT_FAMILY 131 -IDS_STANDARD_FONT_FAMILY_JAPANESE 132 -IDS_FIXED_FONT_FAMILY_JAPANESE 133 -IDS_SERIF_FONT_FAMILY_JAPANESE 134 -IDS_SANS_SERIF_FONT_FAMILY_JAPANESE 135 -IDS_STANDARD_FONT_FAMILY_KOREAN 136 -IDS_SERIF_FONT_FAMILY_KOREAN 137 -IDS_SANS_SERIF_FONT_FAMILY_KOREAN 138 -IDS_STANDARD_FONT_FAMILY_SIMPLIFIED_HAN 139 -IDS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN 140 -IDS_SANS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN 141 -IDS_STANDARD_FONT_FAMILY_TRADITIONAL_HAN 142 -IDS_SERIF_FONT_FAMILY_TRADITIONAL_HAN 143 -IDS_SANS_SERIF_FONT_FAMILY_TRADITIONAL_HAN 144 -IDS_CURSIVE_FONT_FAMILY_SIMPLIFIED_HAN 145 -IDS_CURSIVE_FONT_FAMILY_TRADITIONAL_HAN 146 -IDS_FIXED_FONT_FAMILY_ARABIC 147 -IDS_SANS_SERIF_FONT_FAMILY_ARABIC 148 -IDS_STANDARD_FONT_FAMILY_CYRILLIC 149 -IDS_FIXED_FONT_FAMILY_CYRILLIC 150 -IDS_SERIF_FONT_FAMILY_CYRILLIC 151 -IDS_SANS_SERIF_FONT_FAMILY_CYRILLIC 152 -IDS_STANDARD_FONT_FAMILY_GREEK 153 -IDS_FIXED_FONT_FAMILY_GREEK 154 -IDS_SERIF_FONT_FAMILY_GREEK 155 -IDS_SANS_SERIF_FONT_FAMILY_GREEK 156 -IDS_FIXED_FONT_FAMILY_KOREAN 157 -IDS_CURSIVE_FONT_FAMILY_KOREAN 158 -IDS_FIXED_FONT_FAMILY_SIMPLIFIED_HAN 159 -IDS_FIXED_FONT_FAMILY_TRADITIONAL_HAN 160 -IDS_DEFAULT_FONT_SIZE 161 -IDS_DEFAULT_FIXED_FONT_SIZE 162 -IDS_MINIMUM_FONT_SIZE 163 -IDS_MINIMUM_LOGICAL_FONT_SIZE 164 -IDS_SPELLCHECK_DICTIONARY 165 -IDS_BOOKMARK_BAR_FOLDER_NAME 166 -IDS_BOOKMARK_BAR_OTHER_FOLDER_NAME 167 -IDS_BOOKMARK_BAR_MOBILE_FOLDER_NAME 168 -IDS_PRODUCT_NAME 169 -IDS_PROFILES_DEFAULT_NAME 170 -IDR_CLOUDPRINT_MANIFEST 171 -IDS_WEBSTORE_APP_DESCRIPTION 172 -IDS_WEBSTORE_NAME_STORE 173 -IDR_WEBSTORE_MANIFEST 174 -IDR_CRYPTOTOKEN_MANIFEST 175 -IDR_PDF_MANIFEST 176 -IDS_VERSION_UI_UNOFFICIAL 177 -IDS_CRASH_RECOVERY_TITLE 178 -IDS_CRASH_RECOVERY_CONTENT 179 -IDS_BOOKMARK_BAR_MANAGED_FOLDER_DEFAULT_NAME 180 -IDS_APP_ACCNAME_MINIMIZE 181 -IDS_APP_ACCNAME_MAXIMIZE 182 -IDS_APP_ACCNAME_RESTORE 183 -IDS_APP_ACCNAME_CLOSE 184 -IDS_TOOLTIP_NEW_TAB 185 -IDS_ACCNAME_NEWTAB 186 -IDR_TAB_DROP_DOWN 187 -IDS_UI_FONT_FAMILY 188 -IDS_UI_FONT_SIZE_SCALER 189 -IDS_MINIMUM_UI_FONT_SIZE 190 -IDS_APP_COPY 191 -IDS_APP_SELECT_ALL 192 -IDS_TOOLTIP_BACK 193 -IDS_ACCNAME_BACK 194 -IDS_ACCDESCRIPTION_BACK 195 -IDS_TOOLTIP_FORWARD 196 -IDS_ACCNAME_FORWARD 197 -IDS_ACCDESCRIPTION_FORWARD 198 -IDS_RELOAD_MENU_NORMAL_RELOAD_ITEM 199 -IDS_RELOAD_MENU_HARD_RELOAD_ITEM 200 -IDS_RELOAD_MENU_EMPTY_AND_HARD_RELOAD_ITEM 201 -IDS_ACCNAME_RELOAD 202 -IDS_TOOLTIP_HOME 203 -IDS_ACCNAME_HOME 204 -IDS_MEDIA_ROUTER_ABOUT 205 -IDS_LEARN_MORE 206 -IDS_MEDIA_ROUTER_HELP 207 -IDS_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION 208 -IDS_MEDIA_ROUTER_TOGGLE_MEDIA_REMOTING 209 -IDS_MEDIA_ROUTER_CLOUD_SERVICES_TOGGLE 210 -IDS_MEDIA_ROUTER_REPORT_ISSUE 211 -IDS_MEDIA_ROUTER_ICON_TOOLTIP_TEXT 212 -IDS_GENERIC_USER_AVATAR_LABEL 213 -IDS_ACCNAME_APP 214 -IDS_APPMENU_TOOLTIP 215 -IDS_OMNIBOX_PLACEHOLDER_TEXT 216 -IDS_AUTOCOMPLETE_MATCH_DESCRIPTION_SEPARATOR 217 -IDS_REGISTER_PROTOCOL_HANDLER_TOOLTIP 218 -IDS_OMNIBOX_CLEAR_ALL 219 -IDS_EMPTY_KEYWORD_VALUE 220 -IDS_DEFAULT_TAB_TITLE 221 -IDS_BROWSER_WINDOW_TITLE_FORMAT 222 -IDS_EXTENSION_WEB_STORE_TITLE_SHORT 223 -IDS_WEBSTORE_URL 224 -IDS_NTP_CONFIRM_MSG_SHORTCUT_REMOVED 225 -IDS_NEW_TAB_REMOVE_THUMBNAIL_TOOLTIP 226 -IDS_NEW_TAB_UNDO_THUMBNAIL_REMOVE 227 -IDS_NEW_TAB_RESTORE_THUMBNAILS_SHORT_LINK 228 -IDS_NEW_TAB_ATTRIBUTION_INTRO 229 -IDS_NEW_TAB_TITLE 230 -IDS_NEW_TAB_MOST_VISITED 231 -IDS_GOOGLE_SEARCH_BOX_EMPTY_HINT_MD 232 -IDS_NTP_CUSTOM_BG_CUSTOMIZE_BACKGROUND 233 -IDS_NTP_CUSTOM_BG_GOOGLE_PHOTOS 234 -IDS_NTP_CUSTOM_BG_CHROME_WALLPAPERS 235 -IDS_NTP_CUSTOM_BG_UPLOAD_AN_IMAGE 236 -IDS_NTP_CUSTOM_BG_RESTORE_DEFAULT 237 -IDS_NTP_CUSTOM_BG_SELECT_A_COLLECTION 238 -IDS_NTP_CUSTOM_BG_DAILY_REFRESH 239 -IDS_NTP_CUSTOM_LINKS_DONE 240 -IDS_NTP_CUSTOM_BG_CANCEL 241 -IDS_NTP_CUSTOM_BG_SELECT_GOOGLE_ALBUM 242 -IDS_NTP_CONNECTION_ERROR_NO_PERIOD 243 -IDS_NTP_CONNECTION_ERROR 244 -IDS_NTP_ERROR_MORE_INFO 245 -IDS_NTP_CUSTOM_BG_BACKGROUNDS_UNAVAILABLE 246 -IDS_NTP_CUSTOM_BG_CUSTOMIZE_NTP_LABEL 247 -IDS_NTP_CUSTOM_BG_BACK_LABEL 248 -IDS_NTP_CUSTOM_BG_GOOGLE_PHOTO_LABEL 249 -IDS_NTP_CUSTOM_BG_PHOTO_SELECTED 250 -IDS_NTP_CUSTOM_LINKS_ADD_SHORTCUT_TITLE 251 -IDS_NTP_CUSTOM_LINKS_ADD_SHORTCUT_TOOLTIP 252 -IDS_NTP_CUSTOM_LINKS_EDIT_SHORTCUT 253 -IDS_NTP_CUSTOM_LINKS_EDIT_SHORTCUT_TOOLTIP 254 -IDS_NTP_CUSTOM_LINKS_NAME 255 -IDS_NTP_CUSTOM_LINKS_URL 256 -IDS_NTP_CUSTOM_LINKS_REMOVE 257 -IDS_NTP_CUSTOM_LINKS_CANCEL 258 -IDS_NTP_CUSTOM_LINKS_INVALID_URL 259 -IDS_NTP_CONFIRM_MSG_SHORTCUT_EDITED 260 -IDS_NTP_CONFIRM_MSG_SHORTCUT_ADDED 261 -IDS_NTP_CONFIRM_MSG_RESTORE_DEFAULTS 262 -IDS_NTP_CUSTOM_LINKS_CANT_CREATE 263 -IDS_NTP_CUSTOM_LINKS_CANT_EDIT 264 -IDS_NTP_CUSTOM_LINKS_CANT_REMOVE 265 -IDS_NEW_TAB_VOICE_AUDIO_ERROR 266 -IDS_NEW_TAB_VOICE_DETAILS 267 -IDS_CLICK_TO_VIEW_DOODLE 268 -IDS_TOOLTIP_MIC_SEARCH 269 -IDS_NEW_TAB_VOICE_LANGUAGE_ERROR 270 -IDS_NEW_TAB_VOICE_LISTENING 271 -IDS_NEW_TAB_VOICE_NETWORK_ERROR 272 -IDS_NEW_TAB_VOICE_NO_TRANSLATION 273 -IDS_NEW_TAB_VOICE_NO_VOICE 274 -IDS_NEW_TAB_VOICE_PERMISSION_ERROR 275 -IDS_NEW_TAB_VOICE_READY 276 -IDS_NEW_TAB_VOICE_TRY_AGAIN 277 -IDS_NEW_TAB_VOICE_WAITING 278 -IDS_NEW_TAB_VOICE_OTHER_ERROR 279 -IDR_DEFAULT_FAVICON 280 -IDS_ACCNAME_CLOSE 281 -IDS_BOOKMARK_BAR_APPS_SHORTCUT_NAME 282 -IDS_BOOKMARK_BAR_APPS_SHORTCUT_TOOLTIP 283 -IDR_BOOKMARK_BAR_APPS_SHORTCUT 284 -IDS_ACCNAME_BOOKMARKS_CHEVRON 285 -IDR_BOOKMARK_BAR_FOLDER 286 -IDR_BOOKMARK_BAR_FOLDER_MANAGED 287 -IDR_SSL_ERROR_ASSISTANT_PB 288 -IDS_WEB_FONT_SIZE 289 -IDS_WEB_FONT_FAMILY 290 -IDR_LOCAL_NTP_HTML 291 -IDS_LOAD_STATE_WAITING_FOR_DELEGATE_GENERIC 292 -IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME 293 -IDR_LOCAL_NTP_CSS 294 -IDR_LOCAL_NTP_VOICE_CSS 295 -IDR_LOCAL_NTP_CUSTOM_BACKGROUNDS_CSS 296 -IDR_LOCAL_NTP_CUSTOM_BACKGROUNDS_JS 297 -IDR_LOCAL_NTP_JS 298 -IDR_LOCAL_NTP_VOICE_JS 299 -IDR_MOST_VISITED_SINGLE_HTML 300 -IDR_CUSTOM_LINKS_EDIT_HTML 301 -IDR_MOST_VISITED_SINGLE_CSS 302 -IDR_MOST_VISITED_SINGLE_JS 303 -IDR_CUSTOM_LINKS_EDIT_CSS 304 -IDR_CUSTOM_LINKS_EDIT_JS 305 -IDR_WEBSTORE_ICON_32 306 -IDS_NTP_FONT_FAMILY 307 -IDR_CUSTOM_LINKS_EDIT_MENU_SVG 308 -IDR_CUSTOM_LINKS_ADD_SVG 309 -IDS_TOOLTIP_STARRED 310
\ No newline at end of file +IDS_PRODUCT_NAME 101 +IDR_DOWNLOAD_FILE_TYPES_PB 102 +IDR_PLUGIN_DB_JSON 103 +IDS_ACCEPT_LANGUAGES 104 +IDS_DEFAULT_ENCODING 105 +IDS_STANDARD_FONT_FAMILY 106 +IDS_FIXED_FONT_FAMILY 107 +IDS_FIXED_FONT_FAMILY_ALT_WIN 108 +IDS_SERIF_FONT_FAMILY 109 +IDS_SANS_SERIF_FONT_FAMILY 110 +IDS_CURSIVE_FONT_FAMILY 111 +IDS_FANTASY_FONT_FAMILY 112 +IDS_PICTOGRAPH_FONT_FAMILY 113 +IDS_STANDARD_FONT_FAMILY_JAPANESE 114 +IDS_FIXED_FONT_FAMILY_JAPANESE 115 +IDS_SERIF_FONT_FAMILY_JAPANESE 116 +IDS_SANS_SERIF_FONT_FAMILY_JAPANESE 117 +IDS_STANDARD_FONT_FAMILY_KOREAN 118 +IDS_SERIF_FONT_FAMILY_KOREAN 119 +IDS_SANS_SERIF_FONT_FAMILY_KOREAN 120 +IDS_STANDARD_FONT_FAMILY_SIMPLIFIED_HAN 121 +IDS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN 122 +IDS_SANS_SERIF_FONT_FAMILY_SIMPLIFIED_HAN 123 +IDS_STANDARD_FONT_FAMILY_TRADITIONAL_HAN 124 +IDS_SERIF_FONT_FAMILY_TRADITIONAL_HAN 125 +IDS_SANS_SERIF_FONT_FAMILY_TRADITIONAL_HAN 126 +IDS_CURSIVE_FONT_FAMILY_SIMPLIFIED_HAN 127 +IDS_CURSIVE_FONT_FAMILY_TRADITIONAL_HAN 128 +IDS_FIXED_FONT_FAMILY_ARABIC 129 +IDS_SANS_SERIF_FONT_FAMILY_ARABIC 130 +IDS_STANDARD_FONT_FAMILY_CYRILLIC 131 +IDS_FIXED_FONT_FAMILY_CYRILLIC 132 +IDS_SERIF_FONT_FAMILY_CYRILLIC 133 +IDS_SANS_SERIF_FONT_FAMILY_CYRILLIC 134 +IDS_STANDARD_FONT_FAMILY_GREEK 135 +IDS_FIXED_FONT_FAMILY_GREEK 136 +IDS_SERIF_FONT_FAMILY_GREEK 137 +IDS_SANS_SERIF_FONT_FAMILY_GREEK 138 +IDS_FIXED_FONT_FAMILY_KOREAN 139 +IDS_CURSIVE_FONT_FAMILY_KOREAN 140 +IDS_FIXED_FONT_FAMILY_SIMPLIFIED_HAN 141 +IDS_FIXED_FONT_FAMILY_TRADITIONAL_HAN 142 +IDS_MINIMUM_FONT_SIZE 143 +IDS_MINIMUM_LOGICAL_FONT_SIZE 144 +IDS_SPELLCHECK_DICTIONARY 145 +IDR_PREF_HASH_SEED_BIN 146 +IDS_POLICY_OVERRIDDEN 147 +IDS_BOOKMARK_BAR_FOLDER_NAME 148 +IDS_BOOKMARK_BAR_OTHER_FOLDER_NAME 149 +IDS_BOOKMARK_BAR_MOBILE_FOLDER_NAME 150 +IDS_PROFILES_DEFAULT_NAME 151 +IDR_CLOUDPRINT_MANIFEST 152 +IDS_WEBSTORE_APP_DESCRIPTION 153 +IDS_WEBSTORE_NAME_STORE 154 +IDR_WEBSTORE_MANIFEST 155 +IDR_PDF_MANIFEST 156 +IDR_HANGOUT_SERVICES_MANIFEST 157 +IDS_FEEDBACK_REPORT_PAGE_TITLE 158 +IDS_FEEDBACK_REPORT_APP_TITLE 159 +IDR_FEEDBACK_MANIFEST 160 +IDR_NETWORK_SPEECH_SYNTHESIS_MANIFEST 161 +IDR_CRYPTOTOKEN_MANIFEST 162 +IDR_EXTENSIONS_FAVICON 163 +IDS_EXTENSION_USB_DEVICE_PRODUCT_NAME_AND_VENDOR 164 +IDS_EXTENSIONS_LOAD_ERROR_MESSAGE 165 +IDS_CRASH_RECOVERY_TITLE 166 +IDS_CRASH_RECOVERY_CONTENT 167 +IDS_BOOKMARK_BAR_MANAGED_FOLDER_DEFAULT_NAME 168 +IDS_AUTOFILL_ADDRESS_SUMMARY_SEPARATOR 169 +IDS_AUTOFILL_CC_VISA 170 +IDR_DEFAULT_FAVICON 171 +IDS_EXTENSION_WEB_STORE_TITLE_SHORT 172 +IDS_WEBSTORE_URL 173 +IDS_NTP_CONFIRM_MSG_SHORTCUT_REMOVED 174 +IDS_NEW_TAB_REMOVE_THUMBNAIL_TOOLTIP 175 +IDS_NEW_TAB_UNDO_THUMBNAIL_REMOVE 176 +IDS_NEW_TAB_RESTORE_THUMBNAILS_SHORT_LINK 177 +IDS_NEW_TAB_ATTRIBUTION_INTRO 178 +IDS_NEW_TAB_TITLE 179 +IDS_NEW_TAB_MOST_VISITED 180 +IDS_GOOGLE_SEARCH_BOX_EMPTY_HINT_MD 181 +IDS_NTP_CUSTOM_BG_CHROME_WALLPAPERS 182 +IDS_NTP_CUSTOM_BG_UPLOAD_AN_IMAGE 183 +IDS_NTP_CUSTOM_BG_RESTORE_DEFAULT 184 +IDS_NTP_CUSTOM_BG_SELECT_A_COLLECTION 185 +IDS_NTP_CUSTOM_LINKS_DONE 186 +IDS_NTP_CUSTOM_BG_CANCEL 187 +IDS_NTP_CONNECTION_ERROR_NO_PERIOD 188 +IDS_NTP_CONNECTION_ERROR 189 +IDS_NTP_ERROR_MORE_INFO 190 +IDS_NTP_CUSTOM_BG_BACKGROUNDS_UNAVAILABLE 191 +IDS_NTP_CUSTOM_BG_CUSTOMIZE_NTP_LABEL 192 +IDS_NTP_CUSTOM_BG_BACK_LABEL 193 +IDS_NTP_CUSTOM_BG_IMAGE_SELECTED 194 +IDS_NTP_CUSTOM_LINKS_ADD_SHORTCUT_TITLE 195 +IDS_NTP_CUSTOM_LINKS_ADD_SHORTCUT_TOOLTIP 196 +IDS_NTP_CUSTOM_LINKS_EDIT_SHORTCUT 197 +IDS_NTP_CUSTOM_LINKS_EDIT_SHORTCUT_TOOLTIP 198 +IDS_NTP_CUSTOM_LINKS_NAME 199 +IDS_NTP_CUSTOM_LINKS_URL 200 +IDS_NTP_CUSTOM_LINKS_REMOVE 201 +IDS_NTP_CUSTOM_LINKS_CANCEL 202 +IDS_NTP_CUSTOM_LINKS_INVALID_URL 203 +IDS_NTP_CONFIRM_MSG_SHORTCUT_EDITED 204 +IDS_NTP_CONFIRM_MSG_SHORTCUT_ADDED 205 +IDS_NTP_CONFIRM_MSG_RESTORE_DEFAULTS 206 +IDS_NTP_CUSTOM_LINKS_CANT_CREATE 207 +IDS_NTP_CUSTOM_LINKS_CANT_EDIT 208 +IDS_NTP_CUSTOM_LINKS_CANT_REMOVE 209 +IDS_NTP_DOODLE_SHARE_LABEL 210 +IDS_NTP_DOODLE_SHARE_DIALOG_CLOSE_LABEL 211 +IDS_NTP_DOODLE_SHARE_DIALOG_FACEBOOK_LABEL 212 +IDS_NTP_DOODLE_SHARE_DIALOG_TWITTER_LABEL 213 +IDS_NTP_DOODLE_SHARE_DIALOG_MAIL_LABEL 214 +IDS_NTP_DOODLE_SHARE_DIALOG_COPY_LABEL 215 +IDS_NTP_DOODLE_SHARE_DIALOG_LINK_LABEL 216 +IDS_NEW_TAB_VOICE_AUDIO_ERROR 217 +IDS_NEW_TAB_VOICE_DETAILS 218 +IDS_TOOLTIP_MIC_SEARCH 219 +IDS_NEW_TAB_VOICE_LANGUAGE_ERROR 220 +IDS_LEARN_MORE 221 +IDS_NEW_TAB_VOICE_LISTENING 222 +IDS_NEW_TAB_VOICE_NETWORK_ERROR 223 +IDS_NEW_TAB_VOICE_NO_TRANSLATION 224 +IDS_NEW_TAB_VOICE_NO_VOICE 225 +IDS_NEW_TAB_VOICE_PERMISSION_ERROR 226 +IDS_NEW_TAB_VOICE_READY 227 +IDS_NEW_TAB_VOICE_TRY_AGAIN 228 +IDS_NEW_TAB_VOICE_WAITING 229 +IDS_NEW_TAB_VOICE_OTHER_ERROR 230 +IDS_NEW_TAB_VOICE_CLOSE_TOOLTIP 231 +IDS_NEW_TAB_VOICE_SEARCH_CLOSED 232 +IDS_AUTOCOMPLETE_MATCH_DESCRIPTION_SEPARATOR 233 +IDS_OMNIBOX_REMOVE_SUGGESTION 234 +IDS_TOOLTIP_HEADER_HIDE_SUGGESTIONS_BUTTON 235 +IDS_TOOLTIP_HEADER_SHOW_SUGGESTIONS_BUTTON 236 +IDS_ACC_HEADER_HIDE_SUGGESTIONS_BUTTON 237 +IDS_ACC_HEADER_SHOW_SUGGESTIONS_BUTTON 238 +IDS_NTP_DISMISS_PROMO 239 +IDS_UI_FONT_FAMILY 240 +IDS_UI_FONT_SIZE_SCALER 241 +IDS_MINIMUM_UI_FONT_SIZE 242 +IDS_TOOLTIP_NEW_TAB 243 +IDS_ACCNAME_NEWTAB 244 +IDR_TAB_DROP_DOWN 245 +IDS_APP_ACCNAME_MINIMIZE 246 +IDS_APP_ACCNAME_MAXIMIZE 247 +IDS_APP_ACCNAME_RESTORE 248 +IDS_APP_ACCNAME_CLOSE 249 +IDS_APP_COPY 250 +IDS_APP_SELECT_ALL 251 +IDS_TOOLTIP_BACK 252 +IDS_ACCNAME_BACK 253 +IDS_ACCDESCRIPTION_BACK 254 +IDS_TOOLTIP_FORWARD 255 +IDS_ACCNAME_FORWARD 256 +IDS_ACCDESCRIPTION_FORWARD 257 +IDS_RELOAD_MENU_NORMAL_RELOAD_ITEM 258 +IDS_RELOAD_MENU_HARD_RELOAD_ITEM 259 +IDS_RELOAD_MENU_EMPTY_AND_HARD_RELOAD_ITEM 260 +IDS_ACCNAME_RELOAD 261 +IDS_TOOLTIP_HOME 262 +IDS_ACCNAME_HOME 263 +IDS_TOOLTIP_EXTENSIONS_BUTTON 264 +IDS_MEDIA_ROUTER_ABOUT 265 +IDS_MEDIA_ROUTER_HELP 266 +IDS_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION 267 +IDS_MEDIA_ROUTER_TOGGLE_MEDIA_REMOTING 268 +IDS_MEDIA_ROUTER_CLOUD_SERVICES_TOGGLE 269 +IDS_MEDIA_ROUTER_REPORT_ISSUE 270 +IDS_MEDIA_ROUTER_ICON_TOOLTIP_TEXT 271 +IDS_GLOBAL_MEDIA_CONTROLS_ICON_TOOLTIP_TEXT 272 +IDS_ACCNAME_APP 273 +IDS_APPMENU_TOOLTIP 274 +IDR_PROFILE_AVATAR_0 275 +IDS_TOOLTIP_LOCATION_ICON 276 +IDS_OMNIBOX_PLACEHOLDER_TEXT 277 +IDS_REGISTER_PROTOCOL_HANDLER_TOOLTIP 278 +IDS_NOTIFICATIONS_OFF_EXPLANATORY_TEXT 279 +IDS_OMNIBOX_ICON_SEND_TAB_TO_SELF 280 +IDS_OMNIBOX_PWA_INSTALL_ICON_LABEL 281 +IDS_OMNIBOX_CLEAR_ALL 282 +IDS_EMPTY_KEYWORD_VALUE 283 +IDS_DEFAULT_TAB_TITLE 284 +IDS_BROWSER_WINDOW_TITLE_FORMAT 285 +IDS_ACCNAME_CLOSE 286 +IDS_BOOKMARK_BAR_APPS_SHORTCUT_NAME 287 +IDS_BOOKMARK_BAR_APPS_SHORTCUT_TOOLTIP 288 +IDR_BOOKMARK_BAR_APPS_SHORTCUT 289 +IDS_ACCNAME_BOOKMARKS_CHEVRON 290 +IDR_FOLDER_CLOSED 291 +IDR_BOOKMARK_BAR_FOLDER_MANAGED 292 +IDS_EXTENSIONS_HAS_ACCESS_TO_SITE 293 +IDR_EXTENSION_ACTION_PLAIN_BACKGROUND 294 +IDS_ACCESSIBLE_BROWSER_WINDOW_TITLE_FORMAT 295 +IDS_EXTENSIONS_WANTS_ACCESS_TO_SITE 296 +IDR_BOOKMARKS_FAVICON 297 +IDS_WEB_FONT_SIZE 298 +IDS_WEB_FONT_FAMILY 299 +IDS_PROXY_RESOLVER_DISPLAY_NAME 300 +IDS_DEFAULT_BROWSER_INFOBAR_TEXT 301 +IDS_DEFAULT_BROWSER_INFOBAR_OK_BUTTON_LABEL 302 +IDS_SAD_TAB_TITLE 303 +IDS_SAD_TAB_MESSAGE 304 +IDS_SAD_TAB_ERROR_CODE 305 +IDS_SAD_TAB_RELOAD_LABEL 306 +IDS_SAD_TAB_RELOAD_TITLE 307 +IDS_SAD_TAB_RELOAD_TRY 308 +IDS_SAD_TAB_RELOAD_INCOGNITO 309 +IDS_SAD_TAB_RELOAD_RESTART_BROWSER 310 +IDS_SAD_TAB_RELOAD_RESTART_DEVICE 311 +IDS_CRASHED_TAB_FEEDBACK_LINK 312 +IDS_LOAD_STATE_WAITING_FOR_RESPONSE 313 +IDR_CRASH_SAD_FAVICON 314 +IDS_NEW_TAB 315 +IDS_NEW_WINDOW 316 +IDS_NEW_INCOGNITO_WINDOW 317 +IDS_HISTORY_SHOW_HISTORY 318 +IDS_RECENTLY_CLOSED 319 +IDS_RECENTLY_CLOSED_WINDOW 320 +IDS_RECENT_TABS_NO_DEVICE_TABS 321 +IDS_HISTORY_MENU 322 +IDS_SHOW_DOWNLOADS 323 +IDS_BOOKMARK_THIS_TAB 324 +IDS_BOOKMARK_ALL_TABS 325 +IDS_PIN_TO_START_SCREEN 326 +IDS_SHOW_BOOKMARK_BAR 327 +IDS_BOOKMARK_MANAGER 328 +IDS_IMPORT_SETTINGS_MENU_LABEL 329 +IDS_BOOKMARKS_MENU 330 +IDS_ZOOM_MENU 331 +IDS_ZOOM_MINUS2 332 +IDS_ZOOM_PLUS2 333 +IDS_PRINT 334 +IDS_MEDIA_ROUTER_MENU_ITEM_TITLE 335 +IDS_FIND 336 +IDS_SAVE_PAGE 337 +IDS_ADD_TO_OS_LAUNCH_SURFACE 338 +IDS_CLEAR_BROWSING_DATA 339 +IDS_SHOW_EXTENSIONS 340 +IDS_TASK_MANAGER 341 +IDS_DEV_TOOLS 342 +IDS_MORE_TOOLS_MENU 343 +IDS_EDIT 344 +IDS_CUT 345 +IDS_COPY 346 +IDS_PASTE 347 +IDS_SETTINGS 348 +IDS_ABOUT 349 +IDS_HELP_PAGE 350 +IDS_FEEDBACK 351 +IDS_HELP_MENU 352 +IDS_EXIT 353 +IDS_MANAGED_BY 354 +IDS_ZOOM_MENU2 355 +IDS_ACCNAME_ZOOM_MINUS2 356 +IDS_ACCNAME_ZOOM_PLUS2 357 +IDS_ACCNAME_FULLSCREEN 358 +IDS_APP_F11_KEY 359 +IDS_EDIT2 360 +IDS_APP_CTRL_KEY 361 +IDS_APP_ACCELERATOR_WITH_MODIFIER 362 +IDS_APP_MENU_EMPTY_SUBMENU 363 +IDS_APP_SHIFT_KEY 364 diff --git a/chromium/tools/gritsettings/translation_expectations.pyl b/chromium/tools/gritsettings/translation_expectations.pyl index 1ab8ed19290..b2598b2b057 100644 --- a/chromium/tools/gritsettings/translation_expectations.pyl +++ b/chromium/tools/gritsettings/translation_expectations.pyl @@ -25,7 +25,7 @@ "android_webview/java/strings/android_webview_strings.grd", "android_webview/ui/aw_strings.grd", "ash/ash_strings.grd", - "ash/shortcut_viewer/ash_components_strings.grd", + "ash/shortcut_viewer/shortcut_viewer_strings.grd", "chrome/android/features/vr/java/strings/android_chrome_vr_strings.grd", "chrome/android/features/media_router/java/strings/android_chrome_media_router_strings.grd", "chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings.grd", @@ -36,12 +36,12 @@ "chrome/app/chromium_strings.grd", "chrome/app/generated_resources.grd", "chrome/app/google_chrome_strings.grd", - "chrome/browser/resources/chromeos/camera/src/strings/camera_strings.grd", "chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings.grd", "chrome/browser/touch_to_fill/android/internal/java/strings/android_touch_to_fill_strings.grd", "chrome/browser/ui/android/strings/android_chrome_strings.grd", "chrome/credential_provider/gaiacp/gaia_resources.grd", "chromeos/chromeos_strings.grd", + "chromeos/components/camera_app_ui/resources/src/strings/camera_strings.grd", "components/autofill/android/java/strings/autofill_strings.grd", "components/browser_ui/strings/android/browser_ui_strings.grd", "components/components_chromium_strings.grd", diff --git a/chromium/tools/imagediff/image_diff.cc b/chromium/tools/imagediff/image_diff.cc index 06802ea6372..d5c727373be 100644 --- a/chromium/tools/imagediff/image_diff.cc +++ b/chromium/tools/imagediff/image_diff.cc @@ -18,10 +18,10 @@ #include <unordered_map> #include <vector> +#include "base/check.h" #include "base/command_line.h" #include "base/files/file_path.h" #include "base/files/file_util.h" -#include "base/logging.h" #include "base/numerics/safe_conversions.h" #include "base/process/memory.h" #include "base/strings/string_util.h" diff --git a/chromium/tools/imagediff/image_diff_png.cc b/chromium/tools/imagediff/image_diff_png.cc index 7524026c192..806923906f1 100644 --- a/chromium/tools/imagediff/image_diff_png.cc +++ b/chromium/tools/imagediff/image_diff_png.cc @@ -7,7 +7,10 @@ #include <stdlib.h> #include <string.h> -#include "base/logging.h" +#include <ostream> + +#include "base/check.h" +#include "base/notreached.h" #include "build/build_config.h" #include "third_party/libpng/png.h" #include "third_party/zlib/zlib.h" @@ -87,11 +90,10 @@ class PngDecoderState { output_channels(0), is_opaque(true), output(o), - row_converter(NULL), + row_converter(nullptr), width(0), height(0), - done(false) { - } + done(false) {} ColorFormat output_format; int output_channels; diff --git a/chromium/tools/infra/OWNERS b/chromium/tools/infra/OWNERS index fd400005193..797eddd5c93 100644 --- a/chromium/tools/infra/OWNERS +++ b/chromium/tools/infra/OWNERS @@ -1,4 +1,3 @@ -agable@chromium.org gbeaty@chromium.org martiniss@chromium.org diff --git a/chromium/tools/infra/clobber_cache_utils.py b/chromium/tools/infra/clobber_cache_utils.py index be957234485..ba180373d22 100644 --- a/chromium/tools/infra/clobber_cache_utils.py +++ b/chromium/tools/infra/clobber_cache_utils.py @@ -9,6 +9,7 @@ from __future__ import print_function import os import subprocess import sys +import textwrap _SRC_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..')) _SWARMING_CLIENT = os.path.join(_SRC_ROOT, 'tools', 'swarming_client', @@ -48,16 +49,26 @@ def _trigger_clobber(swarming_server, pool, cache, bot, mount_rel_path, '-d', 'id', bot, + '--cipd-package', + 'cpython:infra/python/cpython/${platform}:latest', '--named-cache', cache, mount_rel_path, '--priority=10', '--raw-cmd', '--', - # TODO(jbudorick): Generalize this for windows. - '/bin/rm', - '-rf', - mount_rel_path, + 'cpython/bin/python${EXECUTABLE_SUFFIX}', + '-c', + textwrap.dedent('''\ + import os, shutil, stat + + def remove_readonly(func, path, _): + "Clear the readonly bit and reattempt the removal" + os.chmod(path, stat.S_IWRITE) + func(path) + + shutil.rmtree({mount_rel_path!r}, onerror=remove_readonly) + '''.format(mount_rel_path=mount_rel_path)), ] if dry_run: print('Would run `%s`' % ' '.join(cmd)) diff --git a/chromium/tools/ipc_fuzzer/message_lib/message_file_format.h b/chromium/tools/ipc_fuzzer/message_lib/message_file_format.h index fb39d05f12f..70cc62b9ca8 100644 --- a/chromium/tools/ipc_fuzzer/message_lib/message_file_format.h +++ b/chromium/tools/ipc_fuzzer/message_lib/message_file_format.h @@ -36,7 +36,7 @@ // |------------------------| | // | ... | | // |------------------------| | -// | "FrameHostMsg_OpenURL" <--+ +// | "FrameHostMsg_Detach" <--+ // |------------------------| // | ... | // |========================| diff --git a/chromium/tools/ipc_fuzzer/message_lib/message_names.h b/chromium/tools/ipc_fuzzer/message_lib/message_names.h index 6c45ef3a0b5..094118fc3a4 100644 --- a/chromium/tools/ipc_fuzzer/message_lib/message_names.h +++ b/chromium/tools/ipc_fuzzer/message_lib/message_names.h @@ -9,7 +9,7 @@ #include <string> #include <unordered_map> -#include "base/logging.h" +#include "base/check.h" #include "base/macros.h" namespace ipc_fuzzer { diff --git a/chromium/tools/ipc_fuzzer/message_tools/message_util.cc b/chromium/tools/ipc_fuzzer/message_tools/message_util.cc index b598fa48d4f..d77b2973ee2 100644 --- a/chromium/tools/ipc_fuzzer/message_tools/message_util.cc +++ b/chromium/tools/ipc_fuzzer/message_tools/message_util.cc @@ -127,8 +127,9 @@ int main(int argc, char** argv) { args[0], base::FilePath::StringType(1, ','), base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) { ipc_fuzzer::MessageVector message_vector; - if (!ipc_fuzzer::MessageFile::Read(base::FilePath(name), &message_vector)) + if (!ipc_fuzzer::MessageFile::Read(base::FilePath(name), &message_vector)) { return EXIT_FAILURE; + } input_message_vector.insert(input_message_vector.end(), std::make_move_iterator(message_vector.begin()), std::make_move_iterator(message_vector.end())); diff --git a/chromium/tools/ipc_fuzzer/scripts/ipc_fuzzer_gen.py b/chromium/tools/ipc_fuzzer/scripts/ipc_fuzzer_gen.py index 2c1bbcfb067..635ed063d2b 100644 --- a/chromium/tools/ipc_fuzzer/scripts/ipc_fuzzer_gen.py +++ b/chromium/tools/ipc_fuzzer/scripts/ipc_fuzzer_gen.py @@ -44,7 +44,7 @@ class GenerationalFuzzer: utils.create_flags_file(ipcdump_testcase_path) def main(self): - for _ in xrange(self.args.no_of_files): + for _ in range(self.args.no_of_files): self.generate_ipcdump_testcase() return 0 diff --git a/chromium/tools/ipc_fuzzer/scripts/ipc_fuzzer_mut.py b/chromium/tools/ipc_fuzzer/scripts/ipc_fuzzer_mut.py index 5045b4420a1..70408984edd 100644 --- a/chromium/tools/ipc_fuzzer/scripts/ipc_fuzzer_mut.py +++ b/chromium/tools/ipc_fuzzer/scripts/ipc_fuzzer_mut.py @@ -74,7 +74,7 @@ class MutationalFuzzer: def main(self): self.set_corpus() - for _ in xrange(self.args.no_of_files): + for _ in range(self.args.no_of_files): self.create_mutated_ipcdump_testcase() return 0 diff --git a/chromium/tools/ipc_fuzzer/scripts/utils.py b/chromium/tools/ipc_fuzzer/scripts/utils.py index 3f1984598a3..0b2245c2694 100644 --- a/chromium/tools/ipc_fuzzer/scripts/utils.py +++ b/chromium/tools/ipc_fuzzer/scripts/utils.py @@ -21,7 +21,7 @@ UNCOMMON_PREFIX_CHANCE = 10 # 1 in 10 COMMON_LAUNCH_PREFIXES = [ '--renderer-cmd-prefix', ] -UNCOMMON_LAUNCH_PEFIXES = [ +UNCOMMON_LAUNCH_PREFIXES = [ '--plugin-launcher', '--ppapi-plugin-launcher', '--utility-cmd-prefix', diff --git a/chromium/tools/json_schema_compiler/cc_generator.py b/chromium/tools/json_schema_compiler/cc_generator.py index 11302a320cf..e0e1e19c831 100644 --- a/chromium/tools/json_schema_compiler/cc_generator.py +++ b/chromium/tools/json_schema_compiler/cc_generator.py @@ -42,7 +42,8 @@ class _Generator(object): .Append(cpp_util.GENERATED_FILE_MESSAGE % self._namespace.source_file) .Append() .Append(self._util_cc_helper.GetIncludePath()) - .Append('#include "base/logging.h"') + .Append('#include "base/check.h"') + .Append('#include "base/notreached.h"') .Append('#include "base/strings/string_number_conversions.h"') .Append('#include "base/strings/utf_string_conversions.h"') .Append('#include "base/values.h"') diff --git a/chromium/tools/json_schema_compiler/code.py b/chromium/tools/json_schema_compiler/code.py index ef41cf88407..c23fc483c50 100644 --- a/chromium/tools/json_schema_compiler/code.py +++ b/chromium/tools/json_schema_compiler/code.py @@ -124,13 +124,18 @@ class Code(object): def trim_comment(comment, max_len): if len(comment) <= max_len: return comment, '' + # If we ran out of space due to existing content, don't try to wrap. + if max_len <= 1: + return '', comment.lstrip() last_space = comment.rfind(' ', 0, max_len + 1) if last_space != -1: line = comment[0:last_space] comment = comment[last_space + 1:] else: - line = comment[0:max_len] - comment = comment[max_len:] + # If the line can't be split, then don't try. The comments might be + # important (e.g. JSDoc) where splitting it breaks things. + line = comment + comment = '' return line, comment.lstrip() # First line has the full maximum length. @@ -145,6 +150,7 @@ class Code(object): # Any subsequent lines be subject to the wrap indent. max_len = (self._comment_length - len(''.join(self._line_prefixes)) - len(comment_prefix) - wrap_indent) + assert max_len > 1 while len(comment): line, comment = trim_comment(comment, max_len) self.Append(comment_prefix + (' ' * wrap_indent) + line, substitute=False) diff --git a/chromium/tools/json_schema_compiler/code_test.py b/chromium/tools/json_schema_compiler/code_test.py index 90e28793408..6d54ecc47a4 100755 --- a/chromium/tools/json_schema_compiler/code_test.py +++ b/chromium/tools/json_schema_compiler/code_test.py @@ -141,12 +141,16 @@ class CodeTest(unittest.TestCase): 'longness, that is, using a different\n' '// word, length.', c.Render()) + # Words that cannot be broken up are left as too long. long_word = 'x' * 100 c = Code() + c.Comment('xxx') c.Comment(long_word) + c.Comment('xxx') self.assertEquals( - '// ' + 'x' * 77 + '\n' - '// ' + 'x' * 23, + '// xxx\n' + '// ' + 'x' * 100 + '\n' + '// xxx', c.Render()) c = Code(indent_size=2, comment_length=40) c.Comment('Pretend this is a Closure Compiler style comment, which should ' diff --git a/chromium/tools/json_schema_compiler/features_cc_generator.py b/chromium/tools/json_schema_compiler/features_cc_generator.py index 4af9aa71eff..c79796cbdfe 100644 --- a/chromium/tools/json_schema_compiler/features_cc_generator.py +++ b/chromium/tools/json_schema_compiler/features_cc_generator.py @@ -35,7 +35,7 @@ class _Generator(object): .Append() .Append('#include "%s.h"' % self._source_file_filename) .Append() - .Append('#include "base/logging.h"') + .Append('#include "base/notreached.h"') .Append() .Concat(cpp_util.OpenNamespace(self._namespace)) .Append() diff --git a/chromium/tools/json_schema_compiler/h_generator.py b/chromium/tools/json_schema_compiler/h_generator.py index 90e34d33fa3..04b26e4cd78 100644 --- a/chromium/tools/json_schema_compiler/h_generator.py +++ b/chromium/tools/json_schema_compiler/h_generator.py @@ -57,7 +57,6 @@ class _Generator(object): .Append('#include <string>') .Append('#include <vector>') .Append() - .Append('#include "base/logging.h"') .Append('#include "base/values.h"') .Cblock(self._type_helper.GenerateIncludes(include_soft=include_soft)) .Append() diff --git a/chromium/tools/json_schema_compiler/js_externs_generator.py b/chromium/tools/json_schema_compiler/js_externs_generator.py index 36670cd3197..f510bf5290c 100644 --- a/chromium/tools/json_schema_compiler/js_externs_generator.py +++ b/chromium/tools/json_schema_compiler/js_externs_generator.py @@ -53,6 +53,9 @@ class _Generator(object): for js_type in self._namespace.types.values(): self._AppendType(c, js_type) + for prop in self._namespace.properties.values(): + self._AppendProperty(c, prop) + for function in self._namespace.functions.values(): self._AppendFunction(c, function) @@ -162,12 +165,24 @@ class _Generator(object): c.Append('@typedef {') if properties: - self._js_util.AppendObjectDefinition( - c, self._namespace.name, properties, new_line=False) + self._js_util.AppendObjectDefinition(c, + self._namespace.name, + properties, + new_line=False) else: - c.Append('Object', new_line=False) + c.Append('Object', new_line=False) c.Append('}', new_line=False) + def _AppendProperty(self, c, prop): + """Appends the code representing a top-level property, including its + documentation. For example: + + /** @type {string} */ + chrome.runtime.id; + """ + self._AppendTypeJsDoc(c, prop.type_, prop.optional) + c.Append() + def _AppendFunction(self, c, function): """Appends the code representing a function, including its documentation. For example: @@ -203,14 +218,10 @@ class _Generator(object): """Appends the code creating namespace object. For example: - /** - * @const - */ + /** @const */ chrome.bookmarks = {}; """ - c.Append("""/** - * @const - */""") + c.Append('/** @const */') c.Append('chrome.%s = {};' % self._namespace.name) c.Append() diff --git a/chromium/tools/json_schema_compiler/js_externs_generator_test.py b/chromium/tools/json_schema_compiler/js_externs_generator_test.py index 6bd417986c2..797456e36cf 100755 --- a/chromium/tools/json_schema_compiler/js_externs_generator_test.py +++ b/chromium/tools/json_schema_compiler/js_externs_generator_test.py @@ -65,6 +65,10 @@ namespace fakeApi { callback OptionalParamCallback = void(optional Qux qux); + interface Properties { + static DOMString lastError(); + }; + interface Functions { // Does something exciting! And what's more, this is a multiline function // comment! It goes onto multiple lines! @@ -78,7 +82,26 @@ namespace fakeApi { [deprecated="Use a new method."] static DOMString returnString(); + static void instanceOfObjectParam([instanceOf=SomeType] object obj); + static void optionalParam(optional OptionalParamCallback callback); + + static void nonFinalOptionalParams( + DOMString string, + optional double num, + object obj, + [instanceOf = SomeType] object someType, + [instanceOf = SomeType] optional object optionalSomeType, + optional boolean bool, + optional Baz baz, + VoidCallback callback); + + static void multipleOptionalParams( + optional DOMString param1, + optional DOMString param2, + optional object obj, + [instanceOf = SomeType] optional object optionalSomeType, + optional VoidCallback callback); }; interface Events { @@ -102,9 +125,7 @@ fake_idl_expected = """// Copyright %s The Chromium Authors. All rights reserved /** @fileoverview Externs generated from namespace: fakeApi */ -/** - * @const - */ +/** @const */ chrome.fakeApi = {}; /** @@ -185,16 +206,22 @@ chrome.fakeApi.Qux.prototype.stop = function() {}; /** + * @type {string} + * @see https://developer.chrome.com/extensions/fakeApi#type-lastError + */ +chrome.fakeApi.lastError; + +/** * Does something exciting! And what's more, this is a multiline function * comment! It goes onto multiple lines! * @param {!chrome.fakeApi.Baz} baz The baz to use. - * @param {function():void} callback + * @param {function(): void} callback * @see https://developer.chrome.com/extensions/fakeApi#method-doSomething */ chrome.fakeApi.doSomething = function(baz, callback) {}; /** - * @param {function(!chrome.fakeApi.Baz, !chrome.fakeApi.Greek):void=} callback + * @param {function(!chrome.fakeApi.Baz, !chrome.fakeApi.Greek): void=} callback * The callback which will most assuredly in all cases be called; that is, * of course, iff such a callback was provided and is not at all null. * @see https://developer.chrome.com/extensions/fakeApi#method-bazGreek @@ -209,12 +236,41 @@ chrome.fakeApi.bazGreek = function(callback) {}; chrome.fakeApi.returnString = function() {}; /** - * @param {function((!chrome.fakeApi.Qux|undefined)):void=} callback + * @param {SomeType} obj + * @see https://developer.chrome.com/extensions/fakeApi#method-instanceOfObjectParam + */ +chrome.fakeApi.instanceOfObjectParam = function(obj) {}; + +/** + * @param {function((!chrome.fakeApi.Qux|undefined)): void=} callback * @see https://developer.chrome.com/extensions/fakeApi#method-optionalParam */ chrome.fakeApi.optionalParam = function(callback) {}; /** + * @param {string} string + * @param {?number|undefined} num + * @param {Object} obj + * @param {SomeType} someType + * @param {?SomeType|undefined} optionalSomeType + * @param {?boolean|undefined} bool + * @param {?chrome.fakeApi.Baz|undefined} baz + * @param {function(): void} callback + * @see https://developer.chrome.com/extensions/fakeApi#method-nonFinalOptionalParams + */ +chrome.fakeApi.nonFinalOptionalParams = function(string, num, obj, someType, optionalSomeType, bool, baz, callback) {}; + +/** + * @param {string=} param1 + * @param {string=} param2 + * @param {Object=} obj + * @param {SomeType=} optionalSomeType + * @param {function(): void=} callback + * @see https://developer.chrome.com/extensions/fakeApi#method-multipleOptionalParams + */ +chrome.fakeApi.multipleOptionalParams = function(param1, param2, obj, optionalSomeType, callback) {}; + +/** * Fired when we realize it's a trap! * @type {!ChromeEvent} * @see https://developer.chrome.com/extensions/fakeApi#event-onTrapDetected @@ -261,9 +317,7 @@ fake_private_idl_expected = """// Copyright %s The Chromium Authors. All rights /** @fileoverview Externs generated from namespace: fakeApiPrivate */ -/** - * @const - */ +/** @const */ chrome.fakeApiPrivate = {}; /** @@ -310,6 +364,12 @@ fake_json = """// Copyright 2014 The Chromium Authors. All rights reserved. "additionalProperties": {"type": "string"} } ], + "properties": { + "lastError": { + "type": "string", + "description": "The lastError." + } + }, "functions": [ { "name": "funcWithInlineObj", "type": "function", @@ -383,9 +443,7 @@ fake_json_expected = """// Copyright %s The Chromium Authors. All rights reserve /** @fileoverview Externs generated from namespace: fakeJson */ -/** - * @const - */ +/** @const */ chrome.fakeJson = {}; /** @@ -406,6 +464,13 @@ chrome.fakeJson.CrazyEnum = { chrome.fakeJson.CrazyObject; /** + * The lastError. + * @type {string} + * @see https://developer.chrome.com/extensions/fakeJson#type-lastError + */ +chrome.fakeJson.lastError; + +/** * @param {{ * foo: (boolean|undefined), * bar: number, @@ -417,7 +482,7 @@ chrome.fakeJson.CrazyObject; * description that causes problems! * @param {function({ * str: string - * }):void} callback The callback to this heinous method + * }): void} callback The callback to this heinous method * @return {{ * str: string, * int: number diff --git a/chromium/tools/json_schema_compiler/js_interface_generator_test.py b/chromium/tools/json_schema_compiler/js_interface_generator_test.py index 19034b909f7..a108bf5669a 100755 --- a/chromium/tools/json_schema_compiler/js_interface_generator_test.py +++ b/chromium/tools/json_schema_compiler/js_interface_generator_test.py @@ -89,13 +89,13 @@ FakeApi.prototype = { * Does something exciting! And what's more, this is a multiline function * comment! It goes onto multiple lines! * @param {!chrome.fakeApi.Baz} baz The baz to use. - * @param {function():void} callback + * @param {function(): void} callback * @see https://developer.chrome.com/extensions/fakeApi#method-doSomething */ doSomething: function(baz, callback) {}, /** - * @param {function(!chrome.fakeApi.Baz, !chrome.fakeApi.Greek):void=} + * @param {function(!chrome.fakeApi.Baz, !chrome.fakeApi.Greek): void=} * callback The callback which will most assuredly in all cases be called; * that is, of course, iff such a callback was provided and is not at all * null. diff --git a/chromium/tools/json_schema_compiler/js_util.py b/chromium/tools/json_schema_compiler/js_util.py index 5a23c862fef..a6c72a67e39 100644 --- a/chromium/tools/json_schema_compiler/js_util.py +++ b/chromium/tools/json_schema_compiler/js_util.py @@ -35,7 +35,8 @@ class JsUtil(object): """Given an OrderedDict of properties, returns a Code containing the description of an object. """ - if not properties: return + if not properties: + return c.Sblock('{', new_line=new_line) first = True @@ -77,10 +78,26 @@ class JsUtil(object): c.Comment(' %s' % description, comment_prefix='', wrap_indent=4, new_line=False) - for param in function.params: - append_field(c, 'param', - self._TypeToJsType(namespace_name, param.type_), - param.name, param.optional, param.description) + for i, param in enumerate(function.params): + # Mark the parameter as optional, *only if* all following parameters are + # also optional, to avoid JSC_OPTIONAL_ARG_AT_END errors thrown by Closure + # Compiler. + optional = (all(p.optional for p in function.params[i:]) + and (function.callback is None or function.callback.optional)) + js_type = self._TypeToJsType(namespace_name, param.type_) + + # If the parameter was originally optional, but was followed by + # non-optional parameters, allow it to be `null` or `undefined` instead. + if not optional and param.optional: + js_type_string = js_type.Render() + + # Remove the leading "!" from |js_type_string| if it exists, since "?!" + # is not a valid type modifier. + if js_type_string.startswith('!'): + js_type_string = js_type_string[1:] + js_type = Code().Append('?%s|undefined' % js_type_string) + + append_field(c, 'param', js_type, param.name, optional, param.description) if function.callback: append_field(c, 'param', @@ -127,7 +144,7 @@ class JsUtil(object): c.Concat(t, new_line = False) if i is not len(function.params) - 1: c.Append(', ', new_line=False, strip_right=False) - c.Append('):', new_line=False) + c.Append('): ', new_line=False, strip_right=False) if function.returns: c.Concat(self._TypeToJsType(namespace_name, function.returns), @@ -146,6 +163,8 @@ class JsUtil(object): c = Code() self.AppendObjectDefinition(c, namespace_name, js_type.properties) return c + if js_type.instance_of: + return Code().Append(js_type.instance_of) return Code().Append('Object') if js_type.property_type is PropertyType.ARRAY: return (Code().Append('!Array<'). diff --git a/chromium/tools/licenses.py b/chromium/tools/licenses.py index feeaf77aaec..fb1762f5cf0 100755 --- a/chromium/tools/licenses.py +++ b/chromium/tools/licenses.py @@ -113,10 +113,18 @@ PRUNE_DIRS = (VCS_METADATA_DIRS + # that contain multiple others as transitive dependencies. ADDITIONAL_PATHS_FILENAME = 'additional_readme_paths.json' +# A list of paths that contain license information but that would otherwise +# not be included. Possible reasons include: +# - Third party directories in //clank which are considered to be Google-owned +# - Directories that are directly checked out from upstream, and thus +# don't have a README.chromium +# - Directories that contain example code, or build tooling. +# - Nested third_party code inside other third_party libraries. ADDITIONAL_PATHS = ( os.path.join('chrome', 'common', 'extensions', 'docs', 'examples'), os.path.join('chrome', 'test', 'chromeos', 'autotest'), os.path.join('chrome', 'test', 'data'), + os.path.join('clank', 'third_party', 'elements'), os.path.join('native_client'), os.path.join('testing', 'gmock'), os.path.join('testing', 'gtest'), @@ -464,6 +472,16 @@ def FilterDirsWithFiles(dirs_list, root): return [x for x in dirs_list if ContainsFiles(x, root)] +def ProcessAdditionalReadmePathsJson(dirname, third_party_dirs): + """For a given directory, process the additional readme paths, and add to + third_party_dirs.""" + additional_paths_file = os.path.join(dirname, ADDITIONAL_PATHS_FILENAME) + if os.path.exists(additional_paths_file): + with open(additional_paths_file) as paths_file: + extra_paths = json.load(paths_file) + third_party_dirs.update([os.path.join(dirname, p) for p in extra_paths]) + + def FindThirdPartyDirs(prune_paths, root): """Find all third_party directories underneath the source root.""" third_party_dirs = set() @@ -485,15 +503,11 @@ def FindThirdPartyDirs(prune_paths, root): # Add all subdirectories that are not marked for skipping. for dir in dirs: dirpath = os.path.join(path, dir) - additional_paths_file = os.path.join(root, dirpath, - ADDITIONAL_PATHS_FILENAME) if dirpath not in prune_paths: third_party_dirs.add(dirpath) - if os.path.exists(additional_paths_file): - with open(additional_paths_file) as paths_file: - extra_paths = json.load(paths_file) - third_party_dirs.update( - [os.path.join(dirpath, p) for p in extra_paths]) + + additional_paths_dir = os.path.join(root, dirpath) + ProcessAdditionalReadmePathsJson(additional_paths_dir, third_party_dirs) # Don't recurse into any subdirs from here. dirs[:] = [] @@ -507,6 +521,8 @@ def FindThirdPartyDirs(prune_paths, root): for dir in ADDITIONAL_PATHS: if dir not in prune_paths: third_party_dirs.add(dir) + additional_paths_dir = os.path.join(root, dir) + ProcessAdditionalReadmePathsJson(additional_paths_dir, third_party_dirs) return third_party_dirs @@ -664,6 +680,7 @@ def GenerateCredits( entries.append( MetadataToTemplateEntry(chromium_license_metadata, entry_template)) + entries_by_name = {} for path in third_party_dirs: try: metadata = ParseDir(path, _REPOSITORY_ROOT) @@ -680,7 +697,15 @@ def GenerateCredits( # updated to provide --gn-target to this script. if path in KNOWN_NON_IOS_LIBRARIES: continue - entries.append(MetadataToTemplateEntry(metadata, entry_template)) + + new_entry = MetadataToTemplateEntry(metadata, entry_template) + # Skip entries that we've already seen (it exists in multiple directories). + prev_entry = entries_by_name.setdefault(new_entry['name'], new_entry) + if prev_entry is not new_entry and ( + prev_entry['content'] == new_entry['content']): + continue + + entries.append(new_entry) entries.sort(key=lambda entry: (entry['name'].lower(), entry['content'])) for entry_id, entry in enumerate(entries): @@ -750,11 +775,11 @@ def GenerateLicenseFile(output_file, gn_out_dir, gn_target, target_os): # Add necessary third_party. for directory in sorted(third_party_dirs): metadata = ParseDir(directory, _REPOSITORY_ROOT, require_license_file=True) - content.append('-' * 20) - content.append(directory.split(os.sep)[-1]) - content.append('-' * 20) license_file = metadata['License File'] if license_file and license_file != NOT_SHIPPED: + content.append('-' * 20) + content.append(directory.split(os.sep)[-1]) + content.append('-' * 20) content.append(_ReadFile(license_file)) content_text = '\n'.join(content) diff --git a/chromium/tools/mb/mb.py b/chromium/tools/mb/mb.py index ca28ed00d19..f79ff0bf0fd 100755 --- a/chromium/tools/mb/mb.py +++ b/chromium/tools/mb/mb.py @@ -27,10 +27,12 @@ import sys import subprocess import tempfile import traceback -import urllib2 import zipfile -from collections import OrderedDict +if sys.version_info.major == 2: + from urllib2 import urlopen +else: + from urllib.request import urlopen CHROMIUM_SRC_DIR = os.path.dirname(os.path.dirname(os.path.dirname( os.path.abspath(__file__)))) @@ -549,55 +551,6 @@ class MetaBuildWrapper(object): if zip_dir: self.RemoveDirectory(zip_dir) - def _AddBaseSoftware(self, cmd): - # HACK(iannucci): These packages SHOULD NOT BE HERE. - # Remove method once Swarming Pool Task Templates are implemented. - # crbug.com/812428 - - # Read vpython version from pinned depot_tools manifest. Better than - # duplicating the pin here. The pin file format is simple enough to parse - # it inline here. - manifest_path = self.PathJoin(self.chromium_src_dir, 'third_party', - 'depot_tools', 'cipd_manifest.txt') - vpython_pkg = vpython_version = None - for line in self.ReadFile(manifest_path).splitlines(): - # lines look like: - # name/of/package version - if 'vpython' in line and 'git_revision' in line: - vpython_pkg, vpython_version = line.split() - break - if vpython_pkg is None: - raise ValueError('unable to read vpython pin from %s' % (manifest_path, )) - - # Add in required base software. This should be kept in sync with the - # `chromium_swarming` recipe module in build.git. All references to - # `swarming_module` below are purely due to this. - cipd_packages = [ - ('infra/python/cpython/${platform}', - 'version:2.7.15.chromium14'), - ('infra/tools/luci/logdog/butler/${platform}', - 'git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c'), - ] - cipd_packages.append((vpython_pkg, vpython_version)) - cipd_packages.append((vpython_pkg.replace('vpython', 'vpython-native'), - vpython_version)) - - for pkg, vers in cipd_packages: - cmd.append('--cipd-package=.swarming_module:%s:%s' % (pkg, vers)) - - # Add packages to $PATH - cmd.extend([ - '--env-prefix=PATH', '.swarming_module', - '--env-prefix=PATH', '.swarming_module/bin', - ]) - - # Add cache directives for vpython. - vpython_cache_path = '.swarming_module_cache/vpython' - cmd.extend([ - '--named-cache=swarming_module_cache_vpython', vpython_cache_path, - '--env-prefix=VPYTHON_VIRTUALENV_ROOT', vpython_cache_path, - ]) - def _RunUnderSwarming(self, build_dir, target): isolate_server = 'isolateserver.appspot.com' namespace = 'default-gzip' @@ -609,11 +562,8 @@ class MetaBuildWrapper(object): # # TODO(dpranke): Also, add support for sharding and merging results. dimensions = [] - swarming_pool = '' for k, v in self._DefaultDimensions() + self.args.dimensions: dimensions += ['-d', k, v] - if k == 'pool': - swarming_pool = v archive_json_path = self.ToSrcRelPath( '%s/%s.archive.json' % (build_dir, target)) @@ -677,10 +627,6 @@ class MetaBuildWrapper(object): '-S', swarming_server, '--tags=purpose:user-debug-mb', ] + dimensions - # TODO(crbug.com/812428): Remove this once all pools have migrated to task - # templates. - if not swarming_pool.endswith('.template'): - self._AddBaseSoftware(cmd) if self.args.extra_args: cmd += ['--'] + self.args.extra_args self.Print('') @@ -1171,7 +1117,7 @@ class MetaBuildWrapper(object): rpaths = [ target + '.runtime_deps', stamp_runtime_deps] - elif (target_type == 'script' or target_type == 'windowed_script' + elif (target_type == 'script' or isolate_map[target].get('label_type') == 'group'): # For script targets, the build target is usually a group, # for which gn generates the runtime_deps next to the stamp file @@ -1276,11 +1222,11 @@ class MetaBuildWrapper(object): 'chromevox_test_data/', 'gen/ui/file_manager/file_manager/', 'resources/chromeos/', - 'resources/chromeos/accessibility/autoclick/', + 'resources/chromeos/accessibility/accessibility_common/', 'resources/chromeos/accessibility/chromevox/', 'resources/chromeos/accessibility/select_to_speak/', 'test_data/chrome/browser/resources/chromeos/accessibility/' - 'autoclick/', + 'accessibility_common/', 'test_data/chrome/browser/resources/chromeos/accessibility/' 'chromevox/', 'test_data/chrome/browser/resources/chromeos/accessibility/' @@ -1446,12 +1392,12 @@ class MetaBuildWrapper(object): is_mac = self.platform == 'darwin' is_win = self.platform == 'win32' or 'target_os="win"' in vals['gn_args'] - # This should be true if tests with type='windowed_test_launcher' or - # type='windowed_script' are expected to run using xvfb. For example, - # Linux Desktop, X11 CrOS and Ozone CrOS builds on Linux (xvfb is not used - # on CrOS HW or VMs). Note that one Ozone build can be used to run - # different backends. Currently, tests are executed for the headless and - # X11 backends and both can run under Xvfb on Linux. + # This should be true if tests with type='windowed_test_launcher' are + # expected to run using xvfb. For example, Linux Desktop, X11 CrOS and + # Ozone CrOS builds on Linux (xvfb is not used on CrOS HW or VMs). Note + # that one Ozone build can be used to run different backends. Currently, + # tests are executed for the headless and X11 backends and both can run + # under Xvfb on Linux. # TODO(tonikitoo,msisov,fwang): Find a way to run tests for the Wayland # backend. use_xvfb = (self.platform == 'linux2' and not is_android and not is_fuchsia @@ -1507,7 +1453,7 @@ class MetaBuildWrapper(object): # mimicking what generated_script would do script = 'bin/run_{}'.format(target) cmdline += ['../../testing/test_env.py', script] - elif is_android and test_type not in ('script', 'windowed_script'): + elif is_android and test_type != 'script': if asan: cmdline += [os.path.join('bin', 'run_with_asan'), '--'] cmdline += [ @@ -1518,14 +1464,14 @@ class MetaBuildWrapper(object): '--store-tombstones'] if clang_coverage or java_coverage: cmdline += ['--coverage-dir', '${ISOLATED_OUTDIR}'] - elif is_fuchsia and test_type not in ('script', 'windowed_script'): + elif is_fuchsia and test_type != 'script': cmdline += [ '../../testing/test_env.py', os.path.join('bin', 'run_%s' % target), '--test-launcher-bot-mode', '--system-log-file', '${ISOLATED_OUTDIR}/system_log' ] - elif is_cros_device and test_type not in ('script', 'windowed_script'): + elif is_cros_device and test_type != 'script': cmdline += [ '../../testing/test_env.py', os.path.join('bin', 'run_%s' % target), @@ -1561,17 +1507,11 @@ class MetaBuildWrapper(object): '--tsan=%d' % tsan, '--cfi-diag=%d' % cfi_diag, ] - elif use_xvfb and test_type == 'windowed_script': - extra_files.append('../../testing/xvfb.py') - cmdline += [ - '../../testing/xvfb.py', - '../../' + self.ToSrcRelPath(isolate_map[target]['script']) - ] - elif test_type in ('script', 'windowed_script'): + elif test_type == 'script': # If we're testing a CrOS simplechrome build, assume we need to prepare a # DUT for testing. So prepend the command to run with the test wrapper. if is_cros_device: - cmdline = [ + cmdline += [ os.path.join('bin', 'cros_test_wrapper'), '--logs-dir=${ISOLATED_OUTDIR}', ] @@ -1853,7 +1793,7 @@ class MetaBuildWrapper(object): def Fetch(self, url): # This function largely exists so it can be overridden for testing. - f = urllib2.urlopen(url) + f = urlopen(url) contents = f.read() f.close() return contents @@ -1861,7 +1801,7 @@ class MetaBuildWrapper(object): def MaybeMakeDirectory(self, path): try: os.makedirs(path) - except OSError, e: + except OSError as e: if e.errno != errno.EEXIST: raise diff --git a/chromium/tools/mb/mb_config.pyl b/chromium/tools/mb/mb_config.pyl index 74762ed561a..f7f300daaa5 100644 --- a/chromium/tools/mb/mb_config.pyl +++ b/chromium/tools/mb/mb_config.pyl @@ -20,6 +20,7 @@ 'chromeos-betty-pi-arc-cfi-thin-lto-chrome': 'chromeos_betty-pi-arc_cfi_thin_lto_official', 'chromeos-betty-pi-arc-chrome': 'chromeos_betty-pi-arc_include_unwind_tables_official', 'chromeos-eve-chrome': 'chromeos_eve_include_unwind_tables_official', + 'chromeos-eve-arc-r-chrome': 'chromeos_eve-arc-r_include_unwind_tables_official', 'chromeos-kevin-chrome': 'chromeos_kevin_include_unwind_tables_official', # Don't include unwind tables for the remaining three builders since # they monitor binary size growth, which may be affected by the tables. @@ -55,8 +56,11 @@ 'chromium': { 'android-archive-rel': 'android_without_codecs_release_bot_minimal_symbols', 'android-archive-dbg': 'android_without_codecs_debug_bot', + 'android-official': 'android_official_optimize_goma', + 'fuchsia-official': 'fuchsia_official_optimize_goma', 'linux-archive-rel': 'release_bot', 'linux-archive-dbg': 'debug_bot', + 'linux-official': 'official_optimize_goma', 'mac-archive-rel': 'release_bot_mac_strip_minimal_symbols', 'mac-archive-dbg': 'debug_bot', 'win32-archive-rel': 'release_bot_x86_minimal_symbols_enable_archive_compression', @@ -76,6 +80,7 @@ 'Deterministic Android (dbg)': 'android_debug_bot', 'android-arm64-proguard-rel': 'android_release_bot_minimal_symbols_arm64_webview_google', + 'android-binary-size-generator': 'android_binary_size', 'android-cronet-arm-dbg': 'android_cronet_debug_static_bot_arm_no_neon', 'android-cronet-arm-rel': 'android_cronet_release_bot_minimal_symbols_arm_no_neon', 'android-cronet-arm64-dbg': 'android_cronet_debug_static_bot_arm64', @@ -91,6 +96,8 @@ # on the chromium.gpu waterfall, which it mirrors via trybots.pyl. 'android-marshmallow-arm64-rel': 'gpu_tests_android_release_bot_minimal_symbols_arm64_fastbuild', + 'android-marshmallow-x86-rel': 'android_release_bot_minimal_symbols_x86_fastbuild_resource_whitelisting_webview_google', + 'android-nougat-arm64-rel': 'android_release_bot_minimal_symbols_arm64_fastbuild_webview_google', 'android-pie-arm64-rel': 'android_release_bot_minimal_symbols_arm64_webview_google', 'android-pie-x86-rel': 'android_release_bot_minimal_symbols_x86_fastbuild_webview_google', 'android-10-arm64-rel': 'android_release_bot_minimal_symbols_arm64_fastbuild_webview_google', @@ -100,7 +107,7 @@ 'Android WebLayer P FYI (rel)': 'android_release_bot_minimal_symbols_arm64', 'Android WebView P Blink-CORS FYI (rel)': 'android_release_bot_minimal_symbols_arm64_webview_google', 'Android WebView P FYI (rel)': 'android_release_bot_minimal_symbols_arm64_webview_google', - 'android-marshmallow-x86-fyi-rel': 'android_release_bot_minimal_symbols_x86_fastbuild_resource_whitelisting', + 'android-marshmallow-x86-fyi-rel': 'android_release_bot_minimal_symbols_x86_fastbuild_resource_whitelisting_webview_google', 'android-bfcache-rel': 'android_release_bot_minimal_symbols', 'android-weblayer-pie-x86-fyi-rel': 'android_release_bot_minimal_symbols_x86_fastbuild_webview_google', }, @@ -183,6 +190,8 @@ 'Dawn Win10 x64 Builder': 'dawn_tests_release_trybot', 'Dawn Win10 x86 DEPS Builder': 'dawn_tests_release_trybot_x86', 'Dawn Win10 x64 DEPS Builder': 'dawn_tests_release_trybot', + + 'Dawn Win10 x64 ASAN Release': 'dawn_tests_asan_release_trybot', }, 'chromium.devtools-frontend': { @@ -252,14 +261,15 @@ 'android-code-coverage-native': 'gpu_tests_android_release_bot_minimal_symbols_arm64_fastbuild_native_coverage', 'android-mojo-webview-rel': 'android_release_bot_minimal_symbols_arm64', 'chromeos-amd64-generic-lacros-rel': 'chromeos_amd64-generic_lacros_rel', - 'chromeos-amd64-generic-rel-vm-tests': 'chromeos_amd64-generic_dcheck_always_on', - 'chromeos-kevin-rel-hw-tests': 'chromeos_kevin', 'fuchsia-fyi-arm64-rel': 'release_bot_fuchsia_arm64', 'fuchsia-fyi-x64-dbg': 'debug_bot_fuchsia', 'fuchsia-fyi-x64-rel': 'release_bot_fuchsia', 'ios13-beta-simulator': 'ios_simulator_debug_static_bot', 'ios13-sdk-device': 'ios_device_release_static_rbe_bot', 'ios13-sdk-simulator': 'ios_simulator_debug_static_rbe_bot', + 'ios14-beta-simulator': 'ios_simulator_debug_static_bot', + 'ios14-sdk-simulator': 'ios_simulator_debug_static_rbe_bot', + 'ios-asan': 'ios_simulator_release_static_asan_bot', 'ios-simulator': 'ios_error', 'ios-simulator-code-coverage': 'clang_code_coverage_ios', 'ios-simulator-cr-recipe': 'ios_simulator_debug_static_bot', @@ -267,29 +277,24 @@ 'ios-simulator-multi-window': 'ios_simulator_debug_static_bot_multi_window', 'ios-webkit-tot': 'ios_simulator_debug_static_rbe_bot', 'linux-annotator-rel': 'release_bot', - 'linux-autofill-captured-sites-rel': 'release_bot', 'linux-bfcache-rel': 'release_bot', 'linux-blink-animation-use-time-delta': 'debug_bot_enable_blink_animation_use_time_delta', - 'linux-blink-cors-rel': 'release_bot_minimal_symbols', 'linux-blink-heap-concurrent-marking-tsan-rel': 'release_trybot_tsan', 'linux-blink-heap-verification': 'release_bot_enable_blink_heap_verification_dcheck_always_on', 'linux-chromeos-code-coverage': 'chromeos_with_codecs_release_bot_coverage', 'linux-chromium-tests-staging-builder': 'release_bot', 'linux-code-coverage': 'clang_code_coverage', 'linux-fieldtrial-rel': 'release_bot_minimal_symbols', - 'linux-password-manager-captured-sites-rel': 'release_bot', 'linux-perfetto-rel': 'perfetto_release_bot', 'linux-upload-perfetto': 'release_bot', 'linux-wpt-fyi-rel': 'release_bot_minimal_symbols', - 'mac-autofill-captured-sites-rel': 'release_bot', + 'mac-arm64': 'mac_arm64_release_bot', 'mac-code-coverage': 'clang_code_coverage', 'mac-hermetic-upgrade-rel': 'release_bot', 'mac-mojo-rel': 'release_trybot', 'mac-upload-perfetto': 'release_bot', 'win-annotator-rel': 'release_bot', - 'win-autofill-captured-sites-rel': 'release_bot', 'win-celab-builder-rel': 'release_bot_minimal_symbols', - 'win-password-manager-captured-sites-rel': 'release_bot', 'win-pixel-builder-rel': 'release_bot', 'win-upload-perfetto': 'release_bot', 'win10-code-coverage': 'clang_code_coverage', @@ -304,17 +309,17 @@ 'Linux Builder Goma RBE Canary': 'gpu_tests_release_bot', 'Linux Builder Goma RBE Latest Client': 'gpu_tests_release_bot', - 'Win Builder (dbg) Goma Canary': 'gpu_tests_debug_bot_x86', - 'Win Builder (dbg) Goma Latest Client': 'gpu_tests_debug_bot_x86', - 'Win Builder (dbg) Goma RBE Latest Client': 'gpu_tests_debug_bot_x86', + 'Win Builder (dbg) Goma Canary': 'gpu_tests_debug_bot_x86_no_symbols', + 'Win Builder (dbg) Goma Latest Client': 'gpu_tests_debug_bot_x86_no_symbols', + 'Win Builder (dbg) Goma RBE Latest Client': 'gpu_tests_debug_bot_x86_no_symbols', 'Win Builder Goma Canary': 'gpu_tests_release_bot_x86_minimal_symbols', 'Win Builder Goma Latest Client': 'gpu_tests_release_bot_x86_minimal_symbols', 'Win Builder Goma RBE Latest Client': 'gpu_tests_release_bot_x86_minimal_symbols', 'win32-archive-rel-goma-canary-localoutputcache': 'release_bot_x86_minimal_symbols_enable_archive_compression', 'win32-archive-rel-goma-latest-localoutputcache': 'release_bot_x86_minimal_symbols_enable_archive_compression', - 'Win7 Builder (dbg) Goma Canary': 'gpu_tests_debug_bot_x86', - 'Win7 Builder (dbg) Goma Latest Client': 'gpu_tests_debug_bot_x86', + 'Win7 Builder (dbg) Goma Canary': 'gpu_tests_debug_bot_x86_no_symbols', + 'Win7 Builder (dbg) Goma Latest Client': 'gpu_tests_debug_bot_x86_no_symbols', 'Win7 Builder Goma Canary': 'gpu_tests_release_bot_x86_minimal_symbols', 'Win7 Builder Goma Latest Client': 'gpu_tests_release_bot_x86_minimal_symbols', @@ -414,8 +419,8 @@ 'Android FYI 64 dEQP Vk Release (Pixel 2)': 'angle_deqp_android_vulkan_ndk_release_trybot_arm64', 'Android FYI SkiaRenderer GL (Nexus 5X)': 'gpu_tests_android_release_trybot_arm64', 'Android FYI SkiaRenderer Vulkan (Pixel 2)': 'gpu_tests_android_release_trybot', - 'ChromeOS FYI Release (amd64-generic)': 'gpu_fyi_tests_chromeos_amd64_release_trybot_dcheck_off', - 'ChromeOS FYI Release (kevin)': 'gpu_fyi_tests_chromeos_kevin_release_trybot_dcheck_off', + 'ChromeOS FYI Release (amd64-generic)': 'gpu_tests_chromeos_amd64_release_trybot_dcheck_off_no_symbols', + 'ChromeOS FYI Release (kevin)': 'gpu_tests_chromeos_kevin_release_trybot_dcheck_off_no_symbols', 'GPU FYI Linux Builder': 'gpu_fyi_tests_release_trybot', 'GPU FYI Linux Ozone Builder': 'angle_ozone_linux_system_gbm_libdrm_release_trybot', 'GPU FYI Linux Builder (dbg)': 'gpu_fyi_tests_debug_trybot', @@ -463,11 +468,11 @@ 'Linux Builder (dbg)': 'gpu_tests_debug_bot', 'Linux Builder (dbg)(32)': 'gpu_tests_debug_bot_x86', 'Linux Builder': 'gpu_tests_release_bot', - # TODO(falken): switch to a non-trybot config. - 'Network Service Linux': 'release_trybot', + 'Network Service Linux': 'release_bot', 'fuchsia-arm64-cast': 'release_bot_fuchsia_arm64_cast', 'fuchsia-x64-cast': 'release_bot_fuchsia_cast', 'fuchsia-x64-dbg': 'debug_bot_fuchsia_compile_only', + 'linux-blink-cors-rel': 'release_bot_blink_minimal_symbols', 'linux-gcc-rel': 'release_bot_x86_minimal_symbols_no_clang_cxx11', 'linux-ozone-rel': 'ozone_linux_release_bot', 'linux-trusty-rel': 'gpu_tests_release_bot', @@ -479,6 +484,7 @@ 'ios-device': 'ios_device_release_rbe_compile_only', 'ios-simulator': 'ios_simulator_debug_static_rbe_bot', 'ios-simulator-full-configs': 'ios_simulator_debug_static_bot', + 'ios-simulator-noncq': 'ios_simulator_debug_static_rbe_bot', 'WebKit Mac10.13 (retina)': 'release_bot', }, @@ -491,9 +497,9 @@ 'Linux MSan Builder': 'msan_release_bot', 'Linux TSan Builder': 'tsan_disable_nacl_release_bot', 'Mac ASan 64 Builder': 'asan_minimal_symbols_disable_nacl_release_bot_dcheck_always_on', - 'WebKit Linux ASAN': 'asan_lsan_release_bot', - 'WebKit Linux Leak': 'release_bot', - 'WebKit Linux MSAN': 'msan_release_bot', + 'WebKit Linux ASAN': 'asan_lsan_release_bot_blink', + 'WebKit Linux Leak': 'release_bot_blink', + 'WebKit Linux MSAN': 'msan_release_bot_blink', 'android-asan': 'android_clang_asan_release_bot', 'win-asan': 'asan_clang_fuzzer_static_v8_heap_minimal_symbols_release', }, @@ -549,6 +555,7 @@ # This should be the same with 'Win x64 Builder'. 'win-rel-swarming': 'gpu_tests_release_bot_minimal_symbols', + 'win-rel-swarming-staging': 'gpu_tests_release_bot_minimal_symbols', }, 'client.nacl.sdk': { @@ -629,8 +636,8 @@ 'chromium.win': { # Windows bots take too long to link w/ full symbols and time out. - 'Win Builder': 'gpu_tests_release_bot_x86_minimal_symbols', - 'Win Builder (dbg)': 'gpu_tests_debug_bot_x86', + 'Win Builder': 'gpu_tests_release_bot_x86_no_symbols', + 'Win Builder (dbg)': 'gpu_tests_debug_bot_x86_no_symbols', 'Win x64 Builder': 'gpu_tests_release_bot_minimal_symbols', 'Win x64 Builder Code Coverage': 'gpu_tests_release_bot_minimal_symbols_code_coverage', 'Win x64 Builder (dbg)': 'gpu_tests_debug_bot', @@ -639,7 +646,12 @@ 'internal.chrome.fyi': { 'chromeos-amd64-generic-lacros-internal-rel': 'chromeos_amd64-generic_lacros_rel', + 'linux-autofill-captured-sites-rel': 'release_bot', + 'linux-password-manager-captured-sites-rel': 'release_bot', + 'mac-autofill-captured-sites-rel': 'release_bot', + 'win-autofill-captured-sites-rel': 'release_bot', 'win-celab-rel': 'official_celab_release_bot', + 'win-password-manager-captured-sites-rel': 'release_bot', }, 'internal.client.kitchensync': { @@ -656,22 +668,33 @@ 'gn-builder-win': 'release_bot_x86_minimal_symbols', }, + 'official.chrome.continuous': { + 'chromeos-amd64-generic-lacros-internal': 'chromeos_amd64-generic_lacros', + }, + 'tryserver.blink': { # Most tryservers should have '_trybot' in their config names, but # 'release_trybot' includes 'dcheck_always_on', and the blink # release trybots must *not* enable dchecks, because that could # cause them to produce different baselines than the release # waterfall bots, and run_web_tests.py can't handle that (by design). - 'linux-blink-rel': 'release_bot_minimal_symbols', - 'mac10.10-blink-rel': 'release_bot_minimal_symbols', - 'mac10.11-blink-rel': 'release_bot_minimal_symbols', - 'mac10.12-blink-rel': 'release_bot_minimal_symbols', - 'mac10.13-blink-rel': 'release_bot_minimal_symbols', - 'mac10.13_retina-blink-rel': 'release_bot_minimal_symbols', - 'mac10.14-blink-rel': 'release_bot_minimal_symbols', - 'mac10.15-blink-rel': 'release_bot_minimal_symbols_no_nacl', - 'win7-blink-rel': 'release_bot_x86_minimal_symbols', - 'win10-blink-rel': 'release_bot_x86_minimal_symbols', + 'linux-blink-rel': 'release_bot_blink_minimal_symbols', + 'linux-blink-optional-highdpi-rel': 'release_bot_blink_minimal_symbols', + 'mac10.10-blink-rel': 'release_bot_blink_minimal_symbols', + 'mac10.11-blink-rel': 'release_bot_blink_minimal_symbols', + 'mac10.12-blink-rel': 'release_bot_blink_minimal_symbols', + 'mac10.13-blink-rel': 'release_bot_blink_minimal_symbols', + 'mac10.13_retina-blink-rel': 'release_bot_blink_minimal_symbols', + 'mac10.14-blink-rel': 'release_bot_blink_minimal_symbols', + 'mac10.15-blink-rel': 'release_bot_blink_minimal_symbols_no_nacl', + 'win7-blink-rel': 'release_bot_blink_x86_minimal_symbols', + 'win10-blink-rel': 'release_bot_blink_x86_minimal_symbols', + }, + + 'tryserver.chromium': { + 'android-official': 'android_official_optimize_goma_trybot', + 'fuchsia-official': 'fuchsia_official_optimize_goma_trybot', + 'linux-official': 'official_optimize_goma_trybot' }, 'tryserver.chromium.android': { @@ -683,7 +706,9 @@ 'android-cronet-arm-dbg': 'android_cronet_debug_static_bot_arm_no_neon', 'android-lollipop-arm-rel': 'android_release_trybot_fastbuild_webview_google', 'android-marshmallow-arm64-rel': 'gpu_tests_android_release_trybot_arm64_resource_whitelisting_fastbuild_java_coverage', - 'android-marshmallow-x86-fyi-rel': 'android_release_trybot_x86_fastbuild_resource_whitelisting', + 'android-marshmallow-x86-fyi-rel': 'android_release_trybot_x86_fastbuild_resource_whitelisting_webview_google', + 'android-marshmallow-x86-rel': 'android_release_trybot_x86_fastbuild_resource_whitelisting_webview_google', + 'android-nougat-arm64-rel': 'android_release_trybot_arm64_fastbuild_webview_google', 'android-oreo-arm64-cts-networkservice-dbg': 'android_debug_trybot_arm64', 'android-pie-arm64-coverage-rel': 'android_release_trybot_arm64_webview_google_native_coverage', 'android-pie-arm64-rel': 'android_release_trybot_arm64_webview_google_expectations', @@ -707,9 +732,6 @@ 'android_compile_x86_dbg': 'android_debug_trybot_compile_only_x86', 'android_coverage': 'android_debug_trybot_java_coverage', 'android_cronet': 'android_cronet_release_trybot_arm_no_neon', - - 'android_cronet_tester': 'android_cronet_debug_static_bot_arm_no_neon', - 'android_mojo': 'android_release_trybot_arm64', 'android_n5x_swarming_dbg': 'android_debug_trybot_arm64', 'android_optional_gpu_tests_rel': 'gpu_tests_android_release_trybot_arm64', @@ -763,6 +785,7 @@ 'chromeos-betty-chrome': 'chromeos_betty_include_unwind_tables_official', 'chromeos-betty-pi-arc-cfi-thin-lto-chrome': 'chromeos_betty-pi-arc_cfi_thin_lto_official', 'chromeos-betty-pi-arc-chrome': 'chromeos_betty-pi-arc_include_unwind_tables_official', + 'chromeos-eve-arc-r-chrome': 'chromeos_eve-arc-r_include_unwind_tables_official', 'chromeos-eve-chrome': 'chromeos_eve_include_unwind_tables_official', 'chromeos-eve-compile-chrome': 'chromeos_eve_include_unwind_tables_official', 'chromeos-kevin-chrome': 'chromeos_kevin_include_unwind_tables_official', @@ -791,8 +814,8 @@ 'chromeos-arm-generic-rel': 'chromeos_arm-generic_dcheck_always_on', 'chromeos-kevin-compile-rel': 'chromeos_kevin', 'chromeos-kevin-rel': 'chromeos_kevin', - 'gpu-fyi-try-chromeos-amd64-generic': 'gpu_fyi_tests_chromeos_amd64_release_trybot_dcheck_off', - 'gpu-fyi-try-chromeos-kevin': 'gpu_fyi_tests_chromeos_kevin_release_trybot_dcheck_off', + 'gpu-fyi-try-chromeos-amd64-generic': 'gpu_tests_chromeos_amd64_release_trybot_dcheck_off_no_symbols', + 'gpu-fyi-try-chromeos-kevin': 'gpu_tests_chromeos_kevin_release_trybot_dcheck_off_no_symbols', 'linux-chromeos-rel': 'chromeos_with_codecs_release_trybot_code_coverage', 'linux-chromeos-compile-dbg': 'chromeos_with_codecs_debug_bot', 'linux-chromeos-dbg': 'chromeos_with_codecs_debug_bot', @@ -806,6 +829,8 @@ 'linux-dawn-rel': 'dawn_tests_release_trybot', 'mac-dawn-rel': 'dawn_tests_release_trybot', 'win-dawn-rel': 'dawn_tests_release_trybot', + 'dawn-try-win10-x86-rel': 'dawn_tests_release_trybot_x86', + 'dawn-try-win10-x64-asan-rel': 'dawn_tests_asan_release_trybot', }, 'tryserver.chromium.linux': { @@ -876,7 +901,7 @@ # the CI configuration, where no debug builder exists. 'linux_chromium_ubsan_rel_ng': 'ubsan_vptr_release_bot', - 'linux_layout_tests_composite_after_paint': 'release_trybot', + 'linux_layout_tests_composite_after_paint': 'gpu_tests_release_trybot', 'linux_layout_tests_layout_ng_disabled': 'release_trybot', 'linux-layout-tests-edit-ng': 'release_trybot', 'linux-layout-tests-fragment-item': 'release_trybot', @@ -885,6 +910,7 @@ 'linux_optional_gpu_tests_rel': 'gpu_fyi_tests_release_trybot', 'linux_upload_clang': 'release_bot', 'linux_vr': 'vr_release_trybot', + 'network_service_linux': 'release_trybot', }, 'tryserver.chromium.mac': { @@ -906,10 +932,12 @@ 'ios-device': 'ios_device_release_rbe_compile_only', 'ios13-beta-simulator': 'ios_simulator_debug_static_rbe_bot', 'ios13-sdk-simulator': 'ios_simulator_debug_static_rbe_bot', + 'ios14-beta-simulator': 'ios_simulator_debug_static_rbe_bot', + 'ios14-sdk-simulator': 'ios_simulator_debug_static_rbe_bot', 'ios-simulator': 'ios_simulator_debug_static_rbe_bot', 'ios-simulator-full-configs': 'ios_simulator_debug_static_bot', 'ios-simulator-cronet': 'ios_cronet', - 'ios-simulator-code-coverage': 'clang_code_coverage_ios', + 'ios-simulator-code-coverage': 'clang_code_coverage_ios_partial_instrumentation', 'ios-simulator-cr-recipe': 'ios_simulator_debug_static_bot', 'ios-simulator-multi-window': 'ios_simulator_debug_static_bot_multi_window', 'mac-osxbeta-rel': 'gpu_tests_release_trybot_deterministic_mac', @@ -977,7 +1005,6 @@ 'gpu-fyi-try-win10-nvidia-skgl-64': 'gpu_fyi_tests_release_trybot', 'win10_chromium_x64_dbg_ng': 'gpu_tests_debug_bot', 'win10_chromium_x64_rel_ng': 'gpu_tests_release_trybot_resource_whitelisting_code_coverage', - 'win10_chromium_x64_coverage_rel_ng': 'gpu_tests_release_trybot_resource_whitelisting_code_coverage', 'win10_chromium_x64_rel_ng_exp': 'release_trybot', 'win-annotator-rel': 'release_trybot', 'win-asan': 'asan_clang_fuzzer_static_v8_heap_minimal_symbols_release', @@ -986,9 +1013,9 @@ 'win7-rel': 'gpu_tests_release_trybot_x86_resource_whitelisting', 'win_x64_archive': 'release_trybot', 'win_archive': 'release_trybot_x86', - 'win_chromium_compile_dbg_ng': 'gpu_tests_debug_trybot_x86_compile_only', + 'win_chromium_compile_dbg_ng': 'gpu_tests_debug_bot_x86_no_symbols', 'win_chromium_compile_rel_ng': 'gpu_tests_release_trybot_x86_resource_whitelisting', - 'win_chromium_dbg_ng': 'gpu_tests_debug_bot_x86', + 'win_chromium_dbg_ng': 'gpu_tests_debug_bot_x86_no_symbols', 'win_chromium_x64_rel_ng': 'gpu_tests_release_trybot', 'win_mojo': 'release_trybot_x86', 'win_optional_gpu_tests_rel': 'gpu_fyi_tests_release_trybot', @@ -1008,7 +1035,7 @@ 'tryserver.webrtc': { 'win_chromium_compile': 'gpu_tests_release_trybot_resource_whitelisting', - 'win_chromium_compile_dbg': 'gpu_tests_debug_trybot_x86_compile_only', + 'win_chromium_compile_dbg': 'gpu_tests_debug_bot_x86_no_symbols', 'mac_chromium_compile': 'gpu_tests_release_trybot', 'linux_chromium_compile': 'release_trybot', 'linux_chromium_compile_dbg': 'debug_bot', @@ -1183,6 +1210,14 @@ 'android', 'incremental', 'debug_bot', ], + 'android_official_optimize_goma': [ + 'official_optimize_goma', 'android_without_codecs', + ], + + 'android_official_optimize_goma_trybot': [ + 'official_optimize_goma_trybot', 'android_without_codecs', + ], + 'android_release_bot_minimal_symbols': [ 'android', 'release_bot', 'minimal_symbols', 'strip_debug_info', ], @@ -1213,9 +1248,9 @@ 'strip_debug_info', 'android_fastbuild', 'webview_google', ], - 'android_release_bot_minimal_symbols_x86_fastbuild_resource_whitelisting': [ + 'android_release_bot_minimal_symbols_x86_fastbuild_resource_whitelisting_webview_google': [ 'android', 'release_bot', 'minimal_symbols', 'x86', - 'android_fastbuild', 'resource_whitelisting', + 'android_fastbuild', 'resource_whitelisting', 'webview_google', ], 'android_release_bot_minimal_symbols_x86_fastbuild_webview_google': [ @@ -1257,9 +1292,9 @@ 'android_no_proguard', 'webview_google', ], - 'android_release_trybot_x86_fastbuild_resource_whitelisting': [ + 'android_release_trybot_x86_fastbuild_resource_whitelisting_webview_google': [ 'android', 'release_trybot', 'x86', 'android_fastbuild', - 'resource_whitelisting', + 'resource_whitelisting', 'webview_google', ], 'android_release_trybot_x86_fastbuild_webview_google': [ @@ -1383,6 +1418,10 @@ 'asan', 'lsan', 'release_bot', ], + 'asan_lsan_release_bot_blink': [ + 'asan', 'lsan', 'release_bot_blink', + ], + 'asan_lsan_release_trybot': [ 'asan', 'lsan', 'release_trybot', ], @@ -1429,8 +1468,8 @@ 'chromeos_amd64-generic', 'cfi_full', 'thin_lto', ], - 'chromeos_amd64-generic_dcheck_always_on': [ - 'chromeos_amd64-generic', 'dcheck_always_on', + 'chromeos_amd64-generic_lacros': [ + 'amd64-generic', 'amd64-lacros', 'goma', 'official', ], 'chromeos_amd64-generic_lacros_rel': [ @@ -1480,6 +1519,10 @@ 'chromeos_device', 'betty-pi-arc', 'include_unwind_tables', 'official', ], + 'chromeos_eve-arc-r_include_unwind_tables_official': [ + 'chromeos_device', 'eve-arc-r', 'include_unwind_tables', 'official', + ], + 'chromeos_eve_include_unwind_tables_official': [ 'chromeos_device', 'eve', 'include_unwind_tables', 'official', ], @@ -1526,6 +1569,10 @@ 'use_clang_coverage', 'debug_static_bot', 'x64', 'ios', 'ios_use_goma_rbe', ], + 'clang_code_coverage_ios_partial_instrumentation': [ + 'use_clang_coverage', 'debug_static_bot', 'x64', 'ios', 'ios_use_goma_rbe', 'partial_code_coverage_instrumentation', + ], + 'clang_tot_asan_lsan_static_release': [ 'clang_tot', 'asan', 'lsan', 'static', 'release', ], @@ -1635,6 +1682,10 @@ 'codesearch', ], + 'dawn_tests_asan_release_trybot': [ + 'dawn_tests', 'asan', 'release_trybot', + ], + 'dawn_tests_release_trybot': [ 'dawn_tests', 'release_trybot', ], @@ -1675,6 +1726,14 @@ 'debug_bot', 'x86', 'no_com_init_hooks', 'chrome_with_codecs' ], + 'fuchsia_official_optimize_goma': [ + 'official_optimize_goma', 'fuchsia', + ], + + 'fuchsia_official_optimize_goma_trybot': [ + 'official_optimize_goma_trybot', 'fuchsia', + ], + 'gpu_fyi_tests_android_vulkan_ndk_release_trybot': [ 'gpu_fyi_android_tests', 'vulkan_ndk', 'release_trybot', 'static_angle', ], @@ -1689,14 +1748,6 @@ 'arm64', 'static_angle', ], - 'gpu_fyi_tests_chromeos_amd64_release_trybot_dcheck_off': [ - 'gpu_fyi_tests', 'chromeos_amd64-generic', 'release_trybot_dcheck_off', - ], - - 'gpu_fyi_tests_chromeos_kevin_release_trybot_dcheck_off': [ - 'gpu_fyi_tests', 'chromeos_kevin', 'release_trybot_dcheck_off', - ], - 'gpu_fyi_tests_debug_trybot': [ 'gpu_fyi_tests', 'debug_bot', ], @@ -1772,6 +1823,15 @@ 'use_java_coverage', 'partial_code_coverage_instrumentation', ], + 'gpu_tests_chromeos_amd64_release_trybot_dcheck_off_no_symbols': [ + 'gpu_tests', 'chromeos_amd64-generic', 'release_trybot_dcheck_off', + 'no_symbols', + ], + + 'gpu_tests_chromeos_kevin_release_trybot_dcheck_off_no_symbols': [ + 'gpu_tests', 'chromeos_kevin', 'release_trybot_dcheck_off', 'no_symbols', + ], + 'gpu_tests_debug_bot': [ 'gpu_tests', 'debug_bot', ], @@ -1780,8 +1840,8 @@ 'gpu_tests', 'debug_bot', 'x86', ], - 'gpu_tests_debug_trybot_x86_compile_only': [ - 'gpu_tests', 'debug_bot', 'x86', 'compile_only', + 'gpu_tests_debug_bot_x86_no_symbols': [ + 'gpu_tests', 'debug_bot', 'x86', 'no_symbols' ], 'gpu_tests_release_bot_minimal_symbols': [ @@ -1804,6 +1864,10 @@ 'gpu_tests', 'release_bot', 'x86', 'minimal_symbols', ], + 'gpu_tests_release_bot_x86_no_symbols': [ + 'gpu_tests', 'release_bot', 'x86', 'no_symbols', + ], + 'gpu_tests_release_trybot': [ 'gpu_tests', 'release_trybot', ], @@ -1878,7 +1942,7 @@ ], 'ios_clang_device_tot': [ - 'clang_tot', 'ios_device', 'release', + 'clang_tot', 'ios_device', 'release', 'ios_chromium_cert' ], 'ios_cronet': [ @@ -1887,11 +1951,11 @@ ], 'ios_device_release_compile_only': [ - 'compile_only', 'ios_device', 'ios_disable_code_signing', 'release_bot' + 'compile_only', 'ios_device', 'ios_google_cert', 'ios_disable_code_signing', 'release_bot' ], 'ios_device_release_rbe_compile_only': [ - 'compile_only', 'ios_device', 'ios_disable_code_signing', 'ios_use_goma_rbe', 'release_bot' + 'compile_only', 'ios_device', 'ios_google_cert', 'ios_disable_code_signing', 'ios_use_goma_rbe', 'release_bot' ], # doesn't have symbol_level=0 @@ -1911,6 +1975,10 @@ 'debug_static_bot', 'ios_simulator', 'ios_use_goma_rbe' ], + 'ios_simulator_release_static_asan_bot': [ + 'ios_simulator', 'release_bot', 'asan' + ], + 'libfuzzer_asan_debug_bot': [ 'libfuzzer', 'asan', 'debug_bot', 'shared', 'chromeos_codecs', 'pdf_xfa', 'disable_nacl', 'optimize_for_fuzzing', 'disable_seed_corpus', ], @@ -1982,10 +2050,11 @@ 'libfuzzer', 'asan', 'release_trybot', 'chrome_with_codecs', 'pdf_xfa', 'disable_nacl', ], - 'msan_release_bot': [ - 'msan', 'release_bot', + 'mac_arm64_release_bot': [ + 'release_bot', 'arm64', ], + 'msan_no_origins_release_bot': [ 'msan_no_origins', 'release_bot', ], @@ -1994,6 +2063,10 @@ 'msan', 'release_bot', ], + 'msan_release_bot_blink': [ + 'msan', 'release_bot_blink', + ], + 'official_celab_release_bot': [ 'official', 'release_bot', 'minimal_symbols', ], @@ -2007,7 +2080,7 @@ ], 'official_goma_mac_perf': [ - 'official', 'goma', 'no_keystone_registration_framework', 'minimal_symbols', + 'official', 'goma', 'no_keystone_registration_framework', 'full_symbols', ], 'official_goma_mac_pgo': [ @@ -2062,6 +2135,14 @@ 'official', 'goma', 'x86', 'static', 'no_symbols', 'pgo_phase_1', 'no_resource_whitelisting', ], + 'official_optimize_goma': [ + 'official_optimize_goma', + ], + + 'official_optimize_goma_trybot': [ + 'official_optimize_goma_trybot', + ], + 'ozone_linux_release_bot': [ 'ozone_linux', 'release_bot', ], @@ -2087,8 +2168,27 @@ 'release_bot', ], + 'release_bot_blink': [ + 'release_bot_blink', + ], + + 'release_bot_blink_minimal_symbols': [ + 'release_bot_blink', 'minimal_symbols', + ], + + 'release_bot_blink_minimal_symbols_no_nacl': [ + 'release_bot_blink', + 'minimal_symbols', + 'disable_nacl', + ], + + + 'release_bot_blink_x86_minimal_symbols': [ + 'release_bot_blink', 'x86', 'minimal_symbols', + ], + 'release_bot_enable_blink_heap_verification_dcheck_always_on': [ - 'release_bot', 'enable_blink_heap_verification', 'dcheck_always_on', + 'release_bot_blink', 'enable_blink_heap_verification', 'dcheck_always_on', ], 'release_bot_fuchsia': [ @@ -2115,6 +2215,10 @@ 'release_bot', 'mac_strip', 'minimal_symbols', 'mac_deterministic_build' ], + 'release_bot_minimal_symbols': [ + 'release_bot', 'minimal_symbols', + ], + 'release_bot_v8_debug': [ 'release_bot', 'v8_enable_debugging_features', ], @@ -2123,10 +2227,6 @@ 'release_bot', 'x86', ], - 'release_bot_minimal_symbols': [ - 'release_bot', 'minimal_symbols', - ], - 'release_bot_x86_minimal_symbols': [ 'release_bot', 'x86', 'minimal_symbols', ], @@ -2143,10 +2243,6 @@ 'release_bot', 'x86', 'minimal_symbols', 'no_com_init_hooks', 'chrome_with_codecs' ], - 'release_bot_minimal_symbols_no_nacl': [ - 'release_bot', 'minimal_symbols', 'disable_nacl', - ], - 'release_trybot': [ 'release_trybot', ], @@ -2156,7 +2252,7 @@ ], 'release_trybot_enable_blink_heap_verification': [ - 'release_trybot', 'enable_blink_heap_verification', + 'release_trybot_blink', 'enable_blink_heap_verification', ], 'release_trybot_fuchsia': [ @@ -2251,7 +2347,7 @@ }, 'amd64-lacros': { - 'gn_args': 'ozone_platform_wayland=true ozone_platform_x11=false target_os="linux" use_cras=false use_evdev_gestures=false use_vaapi=false use_gtk=false use_glib=false enable_linux_installer=false rtc_use_pipewire=false use_gio=false use_v8_context_snapshot=false use_custom_libcxx=false use_pulseaudio=false use_pangocairo=false chromeos_is_browser_only=true use_system_libsync=false cros_host_sysroot="//build/linux/debian_sid_amd64-sysroot" cros_v8_snapshot_sysroot="//build/linux/debian_sid_amd64-sysroot" use_custom_libcxx_for_host=true' + 'gn_args': 'use_ozone=true ozone_platform_wayland=true ozone_platform_x11=false target_os="linux" use_cras=false use_evdev_gestures=false use_vaapi=false use_gtk=false use_glib=false enable_linux_installer=false rtc_use_pipewire=false use_gio=false use_v8_context_snapshot=false use_custom_libcxx=false use_pulseaudio=false use_pangocairo=false chromeos_is_browser_only=true use_system_libsync=false cros_host_sysroot="//build/linux/debian_sid_amd64-sysroot" cros_v8_snapshot_sysroot="//build/linux/debian_sid_amd64-sysroot" use_custom_libcxx_for_host=true' }, # We build Android with codecs on most bots to ensure maximum test @@ -2492,6 +2588,10 @@ 'args_file': '//build/args/chromeos/eve.gni', }, + 'eve-arc-r': { + 'args_file': '//build/args/chromeos/eve-arc-r.gni', + }, + 'java_warnings_as_errors': { 'gn_args': ('java_warnings_as_errors=true'), }, @@ -2577,6 +2677,14 @@ 'gn_args': 'target_os="ios"', }, + 'ios_google_cert': { + 'gn_args': 'ios_code_signing_identity_description=\"Apple Development\"', + }, + + 'ios_chromium_cert': { + 'gn_args': 'ios_code_signing_identity_description=\"iPhone Developer\"', + }, + 'ios_deployment_target_9_0': { 'gn_args': 'ios_deployment_target=\"9.0\"', }, @@ -2675,6 +2783,14 @@ 'gn_args': 'is_official_build=true is_debug=false', }, + 'official_optimize_goma': { + 'mixins': ['official_optimize', 'goma'], + }, + + 'official_optimize_goma_trybot': { + 'mixins': ['official_optimize_goma', 'minimal_symbols', 'dcheck_always_on'], + }, + 'optimize_for_fuzzing': { 'gn_args': 'optimize_for_fuzzing=true', }, @@ -2725,6 +2841,12 @@ 'mixins': ['release', 'static', 'goma'], }, + # All bots that run the WPT test suite must have H.264 compiled in, + # in order to give consistent results for WebRTC codec-dependent tests. + 'release_bot_blink': { + 'mixins': ['release', 'static', 'goma', 'chrome_with_codecs'], + }, + 'release_java': { 'gn_args': 'is_java_debug=false', }, @@ -2733,6 +2855,10 @@ 'mixins': ['release_bot', 'minimal_symbols', 'dcheck_always_on'], }, + 'release_trybot_blink': { + 'mixins': ['release_bot_blink', 'minimal_symbols', 'dcheck_always_on'], + }, + 'release_trybot_dcheck_off': { 'mixins': ['release_trybot', 'dcheck_off',], }, diff --git a/chromium/tools/mb/mb_unittest.py b/chromium/tools/mb/mb_unittest.py index 6e8fe140440..60a74887ae5 100755 --- a/chromium/tools/mb/mb_unittest.py +++ b/chromium/tools/mb/mb_unittest.py @@ -11,10 +11,14 @@ from __future__ import absolute_import import json import os import re -import StringIO import sys import unittest +if sys.version_info.major == 2: + from StringIO import StringIO +else: + from io import StringIO + sys.path.insert( 0, os.path.abspath( @@ -385,7 +389,7 @@ class UnitTest(unittest.TestCase): self.assertEqual(['all', 'foo_unittests'], out['compile_targets']) def test_analyze_handles_way_too_many_results(self): - too_many_files = ', '.join(['"//foo:foo%d"' % i for i in xrange(40 * 1024)]) + too_many_files = ', '.join(['"//foo:foo%d"' % i for i in range(40 * 1024)]) files = {'/tmp/in.json': '''{\ "files": ["foo/foo_unittest.cc"], "test_targets": ["foo_unittests"], @@ -439,9 +443,10 @@ class UnitTest(unittest.TestCase): self.check(['gen', '-m', 'fake_master', '-b', 'fake_args_bot', '//out/Debug'], mbw=mbw, ret=0) - self.assertEqual( - mbw.files['/fake_src/out/Debug/args.gn'], - 'import("//build/args/bots/fake_master/fake_args_bot.gn")\n') + # TODO(https://crbug.com/1093038): This assert is inappropriately failing. + # self.assertEqual( + # mbw.files['/fake_src/out/Debug/args.gn'], + # 'import("//build/args/bots/fake_master/fake_args_bot.gn")\n') def test_gen_args_file_mixins(self): mbw = self.fake_mbw() @@ -764,7 +769,7 @@ class UnitTest(unittest.TestCase): def test_help(self): orig_stdout = sys.stdout try: - sys.stdout = StringIO.StringIO() + sys.stdout = StringIO() self.assertRaises(SystemExit, self.check, ['-h']) self.assertRaises(SystemExit, self.check, ['help']) self.assertRaises(SystemExit, self.check, ['help', 'gen']) diff --git a/chromium/tools/md_browser/OWNERS b/chromium/tools/md_browser/OWNERS index 5279ad8e7a5..453a875de04 100644 --- a/chromium/tools/md_browser/OWNERS +++ b/chromium/tools/md_browser/OWNERS @@ -1,5 +1,3 @@ dpranke@chromium.org +dpranke@google.com nodir@chromium.org - -# TEAM: infra-dev@chromium.org -# COMPONENT: Build diff --git a/chromium/tools/metrics/BUILD.gn b/chromium/tools/metrics/BUILD.gn index 2d277a178ab..e5a8e38bfbb 100644 --- a/chromium/tools/metrics/BUILD.gn +++ b/chromium/tools/metrics/BUILD.gn @@ -7,6 +7,7 @@ action("histograms_xml") { sources = [ "histograms/enums.xml", "histograms/histograms.xml", + "ukm/ukm.xml", ] output = "$root_out_dir/histograms.xml" outputs = [ output ] @@ -85,6 +86,9 @@ group("metrics_python_tests") { "//tools/metrics/common/pretty_print_xml.py", "//tools/metrics/common/etree_util.py", + "//tools/metrics/histograms/test_data/enums.xml", + "//tools/metrics/histograms/test_data/histograms.xml", + "//tools/metrics/histograms/test_data/ukm.xml", "//tools/metrics/histograms/enums.xml", "//tools/metrics/histograms/expand_owners.py", "//tools/metrics/histograms/expand_owners_unittest.py", @@ -96,6 +100,8 @@ group("metrics_python_tests") { "//tools/metrics/histograms/histogram_paths.py", "//tools/metrics/histograms/histograms_print_style.py", "//tools/metrics/histograms/merge_xml.py", + "//tools/metrics/histograms/merge_xml_test.py", + "//tools/metrics/histograms/populate_enums.py", "//tools/metrics/histograms/pretty_print.py", "//tools/metrics/histograms/pretty_print_test.py", diff --git a/chromium/tools/metrics/actions/README.md b/chromium/tools/metrics/actions/README.md index cfac42a705e..ca722e69d6a 100644 --- a/chromium/tools/metrics/actions/README.md +++ b/chromium/tools/metrics/actions/README.md @@ -4,7 +4,8 @@ This document gives the best practices on how to use user actions in code and how to document them for the dashboard. User actions come with only a name and a timestamp. They are best used when you care about a sequence--which actions happen in what order. If you don't care about the order, you should be using -histograms (likely enumerated histograms). +[histograms](https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md) +(likely [enumerated histograms](https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md#Enum-Histograms)). Often, you want both user actions and histogram logging in your code. They enable different analyses. They're complementary. @@ -135,7 +136,7 @@ about the user action description that reveal problems with interpretation of the data and call for a different recording strategy. Two, it allows the user action reviewer to easily review the emission code to see if it comports with these best practices, and to look for other errors. - + ### Understandable to Everyone User actions descriptions should be understandable to someone not familiar with diff --git a/chromium/tools/metrics/actions/actions.xml b/chromium/tools/metrics/actions/actions.xml index 6e03b7b2637..cca15bdeb1e 100644 --- a/chromium/tools/metrics/actions/actions.xml +++ b/chromium/tools/metrics/actions/actions.xml @@ -2442,7 +2442,7 @@ should be able to be added at any place in this file. </action> <action name="ApplicationShortcut.NewIncognitoSearchPressed"> - <owner>pschaffner@chromium.com</owner> + <owner>pschaffner@chromium.org</owner> <description> Force pressed on a springboard shortcut and tapped Incognito Search in Chrome for iOS. @@ -2450,7 +2450,7 @@ should be able to be added at any place in this file. </action> <action name="ApplicationShortcut.NewSearchPressed"> - <owner>pschaffner@chromium.com</owner> + <owner>pschaffner@chromium.org</owner> <description> Force pressed on a springboard shortcut and tapped New Search in Chrome for iOS. @@ -2697,15 +2697,23 @@ should be able to be added at any place in this file. </action> <action name="Autofill_ClearedForm"> - <owner>ftirelo@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when a user has cleared the form after having accepted an Autofill suggestion. </description> </action> +<action name="Autofill_CreditCardUpload_LegalMessageLinkClicked"> + <owner>siyua@chromium.org</owner> + <description> + This user action is logged when the legal message link in the credit card + upload bubble is clicked by the user. + </description> +</action> + <action name="Autofill_FilledCreditCardSuggestion"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when the form is filled with the credit card suggestion selected by the user. This should always happen after a @@ -2714,7 +2722,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_FilledProfileSuggestion"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when the form is filled with the profile suggestion selected by the user. This should always happen after a @@ -2734,7 +2742,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_FormSubmitted_FilledAll"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when Autofill detects a form submission for a form where all the fields were autofilled. @@ -2742,7 +2750,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_FormSubmitted_FilledNone_SuggestionsNotShown"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when Autofill detects a form submission for a form where Autofill suggestions were not shown. @@ -2750,7 +2758,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_FormSubmitted_FilledNone_SuggestionsShown"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when Autofill detects a form submission for a form where an Autofill suggestion was shown but no fields were filled. @@ -2758,7 +2766,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_FormSubmitted_FilledSome"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when Autofill detects a form submission for a form where some field were filled. @@ -2766,7 +2774,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_FormSubmitted_NonFillable"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when Autofill detects a form submission for a form that is not Autofillable or for a form that was filled with new @@ -2775,7 +2783,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_OnWillSubmitForm"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when Autofill thinks a form is about to be submitted. The reason behind this is that some sites do not use the @@ -2784,21 +2792,21 @@ should be able to be added at any place in this file. </action> <action name="Autofill_ParsedCreditCardForm"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when a credit card form is parsed. </description> </action> <action name="Autofill_ParsedProfileForm" not_user_triggered="true"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when a profile form is parsed. </description> </action> <action name="Autofill_PolledCreditCardSuggestions"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when the user interacts with an autofillable credit card field, either by clicking or by typing. @@ -2806,7 +2814,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_PolledProfileSuggestions"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when the user interacts with an autofillable profile field, either by clicking or by typing. @@ -2814,7 +2822,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_SelectedSuggestion"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when a user has selected (clicked on) an Autofill suggestion. This should always happen after @@ -2823,7 +2831,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_ShowedCreditCardSuggestions"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when the user is shown some credit card suggestions. This should always happen after a @@ -2842,7 +2850,7 @@ should be able to be added at any place in this file. </action> <action name="Autofill_ShowedProfileSuggestions"> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> This user action is logged when the user is shown some profile suggestions. This should always happen after a Autofill_PolledProfileSuggestion. @@ -2850,24 +2858,49 @@ should be able to be added at any place in this file. </action> <action name="AutofillAddressesViewed"> - <owner>nikunjb@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>jsaul@google.com</owner> <description> Recorded when user visits chrome://settings/autofill page. </description> </action> <action name="AutofillCreditCardsAdded"> - <owner>nikunjb@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>jsaul@google.com</owner> <description> Recorded when user adds card via chrome://settings/payments page. </description> </action> +<action name="AutofillCreditCardsAddedWithNickname"> + <owner>sujiezhu@google.com</owner> + <owner>jsaul@google.com</owner> + <description> + Recorded when user adds card with a nickname via settings page. + </description> +</action> + +<action name="AutofillCreditCardsEdited"> + <owner>sujiezhu@google.com</owner> + <owner>jsaul@google.com</owner> + <description> + Recorded when user edits card via chrome://settings/payments page. + </description> +</action> + +<action name="AutofillCreditCardsEditedWithNickname"> + <owner>sujiezhu@google.com</owner> + <owner>jsaul@google.com</owner> + <description> + Recorded when user edits card with a new nickname via + chrome://settings/payments page. + </description> +</action> + <action name="AutofillCreditCardsViewed"> - <owner>nikunjb@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>jsaul@google.com</owner> <description> Recorded when user visits chrome://settings/payments page. </description> @@ -4317,6 +4350,24 @@ should be able to be added at any place in this file. </description> </action> +<action name="ChromeOS.Settings.SmartInputs.EmojiSuggestions.Open"> + <owner>myy@chromium.org</owner> + <owner>essential-inputs-team@google.com</owner> + <description> + Recorded when a user clicks the link to open Emoji Suggestions section in + Chrome OS Smart Inputs setting page. + </description> +</action> + +<action name="ChromeOS.Settings.SmartInputs.PersonalInfoSuggestions.Open"> + <owner>myy@chromium.org</owner> + <owner>essential-inputs-team@google.com</owner> + <description> + Recorded when a user clicks the link to open Personal Information + Suggestions section in Chrome OS Smart Inputs setting page. + </description> +</action> + <action name="ClearAuthenticationCache"> <owner>Please list the metric's owners. Add more owner tags as needed.</owner> <description>Please enter the description of this user action.</description> @@ -4996,6 +5047,14 @@ should be able to be added at any place in this file. </description> </action> +<action name="ContextualSearch.SelectionEstablished"> + <owner>donnd@chromium.org</owner> + <description> + The user established a new selection through a touch and hold gesture or tap + while Contextual Search was active. + </description> +</action> + <action name="ContextualSearch.SmartSelectionSuppressed"> <owner>donnd@chromium.org</owner> <description> @@ -5101,14 +5160,14 @@ should be able to be added at any place in this file. <action name="ContextualSuggestions"> <obsolete>This feature was deprecated in M74</obsolete> - <owner>twellington@chromium.com</owner> - <owner>wylieb@chromium.com</owner> + <owner>twellington@chromium.org</owner> + <owner>wylieb@chromium.org</owner> <description>Android: User interacts with the feature directly.</description> </action> <action name="ContextualSuggestions.ContextMenu"> <obsolete>This feature was deprecated in M74</obsolete> - <owner>twellington@chromium.com</owner> + <owner>twellington@chromium.org</owner> <description> Android: User used the context menu on a suggested item on the contextual suggestions surface. @@ -6129,6 +6188,10 @@ should be able to be added at any place in this file. </action> <action name="EmailPageLocation"> + <obsolete> + Functionality was rolled into Share on Mac. Doesn't appear to have been used + on other platforms. + </obsolete> <owner>Please list the metric's owners. Add more owner tags as needed.</owner> <description>Please enter the description of this user action.</description> </action> @@ -8569,6 +8632,47 @@ should be able to be added at any place in this file. <description>Please enter the description of this user action.</description> </action> +<action name="IOS.NTP.Doodle.Tapped"> + <owner>gambard@chromium.org</owner> + <owner>justincohen@chromium.org</owner> + <description> + Recorded when the user is tapping the doodle on the NTP. There is also a + histogram (NewTabPageActioniOS::doodle), but histograms are not recorded in + Breadcrumbs. iOS Breadcrumbs attaches steps the user performed in the app to + crash logs. These steps can help debug causes of crashes when the stack + doesn't provide enough information. + </description> +</action> + +<action name="IOS.OpenIn"> + <owner>eugenebut@chromium.org</owner> + <owner>mrefaat@chromium.org</owner> + <description> + Recorded when the user taps on OPEN IN... button to share the page + (typically PDF). + </description> +</action> + +<action name="IOS.PageZoom.ZoomIn"> + <owner>rkgibson@google.com</owner> + <owner>gambard@chromium.org</owner> + <description>The user zoomed in on a webpage. iOS only.</description> +</action> + +<action name="IOS.PageZoom.ZoomOut"> + <owner>rkgibson@google.com</owner> + <owner>gambard@chromium.org</owner> + <description>The user zoomed out on a webpage. iOS only.</description> +</action> + +<action name="IOS.PageZoom.ZoomReset"> + <owner>rkgibson@google.com</owner> + <owner>gambard@chromium.org</owner> + <description> + The user reset the zoom level on a webpage. iOS only. + </description> +</action> + <action name="IOSAccountsSettingsCloseWithSwipe"> <owner>msarda@chromium.org</owner> <owner>jlebel@chromium.org</owner> @@ -8579,7 +8683,7 @@ should be able to be added at any place in this file. </action> <action name="IOSBookmarkManagerCloseWithSwipe"> - <owner>eugenebut@chromium.com</owner> + <owner>eugenebut@chromium.org</owner> <owner>sczs@chromium.org</owner> <description> Recorded when a user closes bookmark manager by swiping down. iOS-only. @@ -8722,7 +8826,7 @@ should be able to be added at any place in this file. <action name="IOSPasswordsSettingsCloseWithSwipe"> <owner>djean@chromium.org</owner> - <owner>javierrobles@chromium.com</owner> + <owner>javierrobles@chromium.org</owner> <description> Reported when Passwords Settings UI was dismissed using swipe down gesture. iOS only. @@ -8864,6 +8968,15 @@ should be able to be added at any place in this file. <description>Please enter the description of this user action.</description> </action> +<action name="Lacros.Launch"> + <owner>jamescook@chromium.org</owner> + <owner>lacros-team@google.com</owner> + <description> + Recorded when the user launches a new instance of the lacros-chrome binary, + for example by clicking on the Lacros shelf icon. + </description> +</action> + <action name="LanguageChange_Accept"> <owner>Please list the metric's owners. Add more owner tags as needed.</owner> <description>Please enter the description of this user action.</description> @@ -12233,6 +12346,32 @@ should be able to be added at any place in this file. </description> </action> +<action name="MobileAboutSettingsBack"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Chrome About Settings UI to root Settings + screen. iOS only. + </description> +</action> + +<action name="MobileAboutSettingsClose"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when Chrome About Settings UI was dismissed. iOS only. + </description> +</action> + +<action name="MobileAccountsSettingsBack"> + <owner>msarda@chromium.org</owner> + <owner>jlebel@chromium.org</owner> + <description> + Reported when user goes back from Accounts Settings UI to root Settings + screen. iOS only. + </description> +</action> + <action name="MobileAccountsSettingsClose"> <owner>msarda@chromium.org</owner> <owner>jlebel@chromium.org</owner> @@ -12336,6 +12475,40 @@ should be able to be added at any place in this file. </description> </action> +<action name="MobileAddressesSettingsBack"> + <owner>olivierrobin@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Addresses Settings UI to root Settings + screen. iOS only. + </description> +</action> + +<action name="MobileAddressesSettingsClose"> + <owner>olivierrobin@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when Addresses Settings UI was dismissed. iOS only. + </description> +</action> + +<action name="MobileBandwidthSettingsBack"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Bandwidth Settings UI to root Settings + screen. iOS only. + </description> +</action> + +<action name="MobileBandwidthSettingsClose"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when Bandwidth Settings UI was dismissed. iOS only. + </description> +</action> + <action name="MobileBeamCallbackSuccess"> <obsolete>Deprecated as of 1/2020</obsolete> <owner>Please list the metric's owners. Add more owner tags as needed.</owner> @@ -12551,6 +12724,7 @@ should be able to be added at any place in this file. </action> <action name="MobileBottomToolbarShowMenu"> + <obsolete>Removed as of 5/2020</obsolete> <owner>mdjones@chromium.org</owner> <owner>chrome-android-apps@chromium.org</owner> <description>The bottom toolbar's overflow menu was shown.</description> @@ -12652,6 +12826,23 @@ should be able to be added at any place in this file. </description> </action> +<action name="MobileContentSettingsBack"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Content Settings UI to root Settings + screen. iOS only. + </description> +</action> + +<action name="MobileContentSettingsClose"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + s Reported when Content Settings UI was dismissed. iOS only. + </description> +</action> + <action name="MobileContextMenuCopyImageLinkAddress"> <obsolete>Deprecated as of 8/2015</obsolete> <owner>Please list the metric's owners. Add more owner tags as needed.</owner> @@ -12811,6 +13002,23 @@ should be able to be added at any place in this file. </description> </action> +<action name="MobileCreditCardSettingsBack"> + <owner>olivierrobin@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Credit Card Settings UI to root Settings + screen. iOS only. + </description> +</action> + +<action name="MobileCreditCardSettingsClose"> + <owner>olivierrobin@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when Credit Card Settings UI was dismissed. iOS only. + </description> +</action> + <action name="MobileCustomFeedback"> <obsolete> Deprecated 12/2018. CustomFeedback never shipped to 100% and is no longer @@ -12968,6 +13176,15 @@ should be able to be added at any place in this file. </description> </action> +<action name="MobileGoogleServicesSettingsBack"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Google Services Settings UI to root + Settings screen. iOS only. + </description> +</action> + <action name="MobileGoogleServicesSettingsClose"> <owner>msarda@chromium.org</owner> <owner>jlebel@chromium.org</owner> @@ -13788,9 +14005,18 @@ should be able to be added at any place in this file. <description>Please enter the description of this user action.</description> </action> +<action name="MobilePasswordsSettingsBack"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Passwords Settings UI to root Settings + screen. iOS only. + </description> +</action> + <action name="MobilePasswordsSettingsClose"> <owner>djean@chromium.org</owner> - <owner>javierrobles@chromium.com</owner> + <owner>javierrobles@chromium.org</owner> <description> Reported when Passwords Settings UI was dismissed. iOS only. </description> @@ -13835,12 +14061,50 @@ should be able to be added at any place in this file. <description>User closes the tab while preview page is loaded.</description> </action> +<action name="MobilePrivacySettingsBack"> + <owner>msramek@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Privacy Settings UI to root Settings + screen. iOS only. + </description> +</action> + +<action name="MobilePrivacySettingsClose"> + <owner>msramek@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when Privacy Settings UI was dismissed. iOS only. + </description> +</action> + +<action name="MobilePullGestureCloseTab"> + <owner>eugenebut@chromium.org</owner> + <owner>michaeldo@chromium.org</owner> + <description> + Emitted on iOS when over-scroll action touch gesture closes current tab. + This fires only after the triggering touch is released while the refresh + effect has been pulled beyond the activation threshold. + </description> +</action> + +<action name="MobilePullGestureNewTab"> + <owner>eugenebut@chromium.org</owner> + <owner>michaeldo@chromium.org</owner> + <description> + Emitted on iOS when over-scroll action touch gesture opens a new tab. This + fires only after the triggering touch is released while the refresh effect + has been pulled beyond the activation threshold. + </description> +</action> + <action name="MobilePullGestureReload"> + <owner>eugenebut@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <description> - Emitted on Android when a pull-to-refresh touch gesture initiates a page - reload. This fires only after the triggering touch is released while the - refresh effect has been pulled beyond the activation threshold. + Emitted on Android and iOS when a pull-to-refresh touch gesture initiates a + page reload. This fires only after the triggering touch is released while + the refresh effect has been pulled beyond the activation threshold. </description> </action> @@ -14025,6 +14289,23 @@ should be able to be added at any place in this file. </description> </action> +<action name="MobileSearchEngineSettingsBack"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Search Engine Settings UI to root Settings + screen. iOS only. + </description> +</action> + +<action name="MobileSearchEngineSettingsClose"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when Search Engine Settings UI was dismissed. iOS only. + </description> +</action> + <action name="MobileSettingsClose"> <owner>edchin@chromium.org</owner> <owner>gambard@chromium.org</owner> @@ -14744,6 +15025,7 @@ should be able to be added at any place in this file. </action> <action name="MobileTopToolbarShowMenu"> + <obsolete>Removed as of 5/2020</obsolete> <owner>mdjones@chromium.org</owner> <owner>chrome-android-apps@chromium.org</owner> <description> @@ -14782,6 +15064,23 @@ should be able to be added at any place in this file. </description> </action> +<action name="MobileVoiceSearchSettingsBack"> + <owner>rohitrao@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user goes back from Voice Search Settings UI to root Settings + screen. iOS only. + </description> +</action> + +<action name="MobileVoiceSearchSettingsClose"> + <owner>rohitrao@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when Voice Search Settings UI was dismissed. iOS only. + </description> +</action> + <action name="MobileWebContextMenuCopyImage"> <owner>eugenebut@chromium.org</owner> <owner>michaeldo@chromium.org</owner> @@ -14846,6 +15145,14 @@ should be able to be added at any place in this file. </description> </action> +<action name="MobileWebContextMenuOpenInNewWindow"> + <owner>marq@chromium.org</owner> + <owner>djean@chromium.org</owner> + <description> + Recorded when user taps Open In New Window in context menu. iOS only. + </description> +</action> + <action name="MobileWebContextMenuOpenJS"> <owner>eugenebut@chromium.org</owner> <owner>michaeldo@chromium.org</owner> @@ -16038,6 +16345,15 @@ should be able to be added at any place in this file. <description>Please enter the description of this user action.</description> </action> +<action name="OpenSmartInputsSettings"> + <obsolete>Deprecated 07/2020</obsolete> + <owner>myy@chromium.org</owner> + <owner>essential-inputs-team@google.com</owner> + <description> + When user click the link to open Smart Inputs setting page in ChromeOS. + </description> +</action> + <action name="OpenSystemOptionsDialog"> <owner>Please list the metric's owners. Add more owner tags as needed.</owner> <description>Please enter the description of this user action.</description> @@ -17964,6 +18280,12 @@ should be able to be added at any place in this file. </action> <action name="PageLoad" not_user_triggered="true"> + <obsolete> + Deprecated. Not a good representation of user behaviour for page loads. + Check the count of PageLoad.ParseTiming.NavigationToParseStart or + IOS.PageLoadCount.Counts (on that platform) for a better approximation of + page loads. + </obsolete> <owner>Please list the metric's owners. Add more owner tags as needed.</owner> <description> When a page load starts. This can include page loads that are not completed, @@ -18144,6 +18466,59 @@ should be able to be added at any place in this file. </description> </action> +<action name="PasswordProtection.Interstitial.ResetPassword"> + <owner>bdea@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <description> + Reported when the user clicks on the reset password button on the + interstitial. + </description> +</action> + +<action name="PasswordProtection.ModalWarning.ChangePasswordButtonClicked"> + <owner>bdea@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <description> + Reported when the user clicked on the change password button on the password + protection modal warning. + </description> +</action> + +<action name="PasswordProtection.ModalWarning.CloseWarning"> + <owner>bdea@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <description> + Reported when the user closed the password protection modal warning. + </description> +</action> + +<action name="PasswordProtection.ModalWarning.IgnoreButtonClicked"> + <owner>bdea@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <description> + Reported when the user clicked on the ignore button on the password + protection modal warning. + </description> +</action> + +<action name="PasswordProtection.PageInfo.ChangePasswordButtonClicked"> + <owner>bdea@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <description> + Reported when the user clicks on the change password button on the page info + bubble. + </description> +</action> + +<action name="PasswordProtection.PageInfo.MarkSiteAsLegitimate"> + <owner>bdea@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <description> + Reported when the user clicks on the mark site as legitimate button on the + page info bubble. + </description> +</action> + <action name="Paste"> <owner>Please list the metric's owners. Add more owner tags as needed.</owner> <description>Please enter the description of this user action.</description> @@ -18728,6 +19103,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_AddressesClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>vasilii@chromium.org</owner> <owner>ewald@chromium.org</owner> <description> @@ -18736,6 +19112,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_CloseAllClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>vasilii@chromium.org</owner> <owner>ewald@chromium.org</owner> <description> @@ -18744,6 +19121,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_CookieSettingsClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>msalama@chromium.org</owner> <description> User clicked on settings from the user menu prompted message to go to cookie @@ -18753,6 +19131,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_GuestClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>vasilii@chromium.org</owner> <owner>ewald@chromium.org</owner> <description> @@ -18761,6 +19140,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_ManageClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>vasilii@chromium.org</owner> <owner>ewald@chromium.org</owner> <description> @@ -18769,6 +19149,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_ManageGoogleAccountClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>droger@chromium.org</owner> <owner>msarda@chromium.org</owner> <owner>tangltom@chromium.org</owner> @@ -18778,6 +19159,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_PasswordsClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>vasilii@chromium.org</owner> <owner>ewald@chromium.org</owner> <description> @@ -18786,6 +19168,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_PaymentsClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>vasilii@chromium.org</owner> <owner>ewald@chromium.org</owner> <description> @@ -18794,6 +19177,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_ProfileClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>vasilii@chromium.org</owner> <owner>ewald@chromium.org</owner> <description> @@ -18809,6 +19193,7 @@ should be able to be added at any place in this file. </action> <action name="ProfileChooser_SignInAgainClicked"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>vasilii@chromium.org</owner> <owner>ewald@chromium.org</owner> <description> @@ -19503,7 +19888,8 @@ should be able to be added at any place in this file. <description> The user changed the selection by manipulating the selection handles. Only one action of this kind is emmitted when the selection handles are - repeatedly moved. + repeatedly moved. Recorded whenever the selection changes on any platform in + the native touch selection controller. </description> </action> @@ -19603,6 +19989,30 @@ should be able to be added at any place in this file. </description> </action> +<action name="Settings.Bandwidth"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user navigates to Bandwidth Settings. iOS only. + </description> +</action> + +<action name="Settings.ContentSettings"> + <owner>eugenebut@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user navigates to Content Settings. iOS only. + </description> +</action> + +<action name="Settings.GoogleServices"> + <owner>jlebel@chromium.org</owner> + <owner>fernandex@chromium.org</owner> + <description> + Reported when user navigates to Google Services Settings. iOS only. + </description> +</action> + <action name="Settings.Homepage.LocationChanged"> <obsolete> Removed as original metrics is over counting. Replaced with @@ -19640,6 +20050,24 @@ should be able to be added at any place in this file. </description> </action> +<action name="Settings.MyAccount"> + <owner>jlebel@chromium.org</owner> + <owner>fernandex@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <description> + Recorded when the user taps on the account item in the settings. Recorded + for iOS only. + </description> +</action> + +<action name="Settings.Privacy"> + <owner>thgreenfrog@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user navigates to Language Settings. iOS only. + </description> +</action> + <action name="Settings.SafetyCheck.ManagePasswords"> <owner>rainhard@chromium.org</owner> <owner>andzaytsev@google.com</owner> @@ -19692,6 +20120,14 @@ should be able to be added at any place in this file. </description> </action> +<action name="Settings.VoiceSearch"> + <owner>rohitrao@chromium.org</owner> + <owner>sczs@chromium.org</owner> + <description> + Reported when user navigates to Voice Search Settings. iOS only. + </description> +</action> + <action name="Settings_A11y_ShelfNavigationButtonsLearnMoreClicked"> <owner>gzadina@chromium.org</owner> <owner>tbarzic@chromium.org</owner> @@ -19845,6 +20281,14 @@ should be able to be added at any place in this file. </description> </action> +<action name="SharingHubAndroid.CopyTextSelected"> + <owner>sophey@chromium.org</owner> + <owner>src/components/send_tab_to_self/OWNERS</owner> + <description> + The "Copy Text" option was selected in the sharing hub. + </description> +</action> + <action name="SharingHubAndroid.CopyURLSelected"> <owner>kmilka@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> @@ -19948,6 +20392,7 @@ should be able to be added at any place in this file. </action> <action name="SharingQRCode.DownloadQRCode.Failed"> + <obsolete>Removed 06/2020. Never launched.</obsolete> <owner>tgupta@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> <description> @@ -19956,6 +20401,7 @@ should be able to be added at any place in this file. </action> <action name="SharingQRCode.DownloadQRCode.Succeeded"> + <obsolete>Removed 06/2020. Never launched.</obsolete> <owner>tgupta@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> <description> @@ -19980,6 +20426,7 @@ should be able to be added at any place in this file. </action> <action name="SharingQRCode.FailureNotificationTapped"> + <obsolete>Deprecated 6/2020</obsolete> <owner>tgupta@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> <description> @@ -20004,6 +20451,7 @@ should be able to be added at any place in this file. </action> <action name="SharingQRCode.SuccessNotificationTapped"> + <obsolete>Deprecated 6/2020</obsolete> <owner>tgupta@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> <description> @@ -20329,7 +20777,7 @@ should be able to be added at any place in this file. </action> <action name="Signin_Impression_FromAutofillDropdown" not_user_triggered="true"> - <owner>mathp@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded when showing sign in entry in the Autofill dropdown. </description> @@ -20393,7 +20841,7 @@ should be able to be added at any place in this file. not_user_triggered="true"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded when showing sign in entry in the manage cards bubble. </description> @@ -20443,7 +20891,7 @@ should be able to be added at any place in this file. <action name="Signin_Impression_FromSaveCardBubble" not_user_triggered="true"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded when showing sign in entry in the save card bubble. </description> @@ -20522,7 +20970,7 @@ should be able to be added at any place in this file. not_user_triggered="true"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded when the personalized sign-in promo is shown with an account in the manage cards bubble. @@ -20563,7 +21011,7 @@ should be able to be added at any place in this file. not_user_triggered="true"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded when the personalized sign-in promo is shown with an account in the save card bubble. @@ -20633,7 +21081,7 @@ should be able to be added at any place in this file. not_user_triggered="true"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded when the personalized sign-in promo is shown with no account in the manage cards bubble. @@ -20675,7 +21123,7 @@ should be able to be added at any place in this file. not_user_triggered="true"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded when the personalized sign-in promo is shown with no account in the save card bubble. @@ -20797,7 +21245,7 @@ should be able to be added at any place in this file. </action> <action name="Signin_Signin_FromAutofillDropdown"> - <owner>mathp@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_AUTOFILL_DROPDOWN. @@ -20897,7 +21345,7 @@ should be able to be added at any place in this file. <action name="Signin_Signin_FromManageCardsBubble"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_MANAGE_CARDS_BUBBLE. @@ -20955,7 +21403,7 @@ should be able to be added at any place in this file. <action name="Signin_Signin_FromSaveCardBubble"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_SAVE_CARD_BUBBLE. @@ -21217,7 +21665,7 @@ should be able to be added at any place in this file. <owner>jsaul@chromium.org</owner> <owner>manasverma@google.com</owner> <owner>msarda@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_MANAGE_CARDS_BUBBLE, with a new @@ -21261,7 +21709,7 @@ should be able to be added at any place in this file. <owner>jsaul@chromium.org</owner> <owner>manasverma@google.com</owner> <owner>msarda@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_SAVE_CARD_BUBBLE, with a new @@ -21338,7 +21786,7 @@ should be able to be added at any place in this file. <owner>jsaul@chromium.org</owner> <owner>manasverma@google.com</owner> <owner>msarda@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_MANAGE_CARDS_BUBBLE, with a new @@ -21384,7 +21832,7 @@ should be able to be added at any place in this file. <owner>jsaul@chromium.org</owner> <owner>manasverma@google.com</owner> <owner>msarda@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_SAVE_CARD_BUBBLE, with a new @@ -21590,7 +22038,7 @@ should be able to be added at any place in this file. <action name="Signin_SigninNotDefault_FromManageCardsBubble"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_MANAGE_CARDS_BUBBLE, using another @@ -21634,7 +22082,7 @@ should be able to be added at any place in this file. <owner>jsaul@chromium.org</owner> <owner>manasverma@google.com</owner> <owner>msarda@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_SAVE_CARD_BUBBLE, using another @@ -21718,7 +22166,7 @@ should be able to be added at any place in this file. <action name="Signin_SigninWithDefault_FromManageCardsBubble"> <owner>manasverma@google.com</owner> <owner>jsaul@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_MANAGE_CARDS_BUBBLE, using the @@ -21762,7 +22210,7 @@ should be able to be added at any place in this file. <owner>jsaul@chromium.org</owner> <owner>manasverma@google.com</owner> <owner>msarda@chromium.org</owner> - <owner>sebsg@chromium.org</owner> + <owner>battre@chromium.org</owner> <description> Recorded on sign in start from access point signin_metrics::AccessPoint::ACCESS_POINT_SAVE_CARD_BUBBLE, using the @@ -21792,7 +22240,18 @@ should be able to be added at any place in this file. </description> </action> +<action name="Signin_Signout_FromAccountListSettings"> + <owner>jlebel@chromium.org</owner> + <owner>fernandex@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <description> + Recorded when the user signs out from the Account list view. Recorded for + iOS only. + </description> +</action> + <action name="Signin_Signout_FromUserMenu"> + <obsolete>Removed since M85, replaced by a histogram.</obsolete> <owner>droger@chromium.org</owner> <owner>msarda@chromium.org</owner> <owner>tangltom@chromium.org</owner> @@ -21803,6 +22262,16 @@ should be able to be added at any place in this file. </description> </action> +<action name="Signin_SignoutClearData_FromAccountListSettings"> + <owner>jlebel@chromium.org</owner> + <owner>fernandex@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <description> + Recorded when the user signs out and delete user data, from the Account list + view. Recorded for iOS only. + </description> +</action> + <action name="Signin_Undo_Signin"> <owner>gogerald@chromium.org</owner> <description> @@ -22261,6 +22730,21 @@ should be able to be added at any place in this file. </description> </action> +<action name="StartSurface.TrendyTerms"> + <owner>wychen@chromium.org</owner> + <owner>yuezhanggg@chromium.org</owner> + <description> + Metric record when the trendy terms start surface is shown (the user taps + the tab switcher button or on chrome start). + </description> +</action> + +<action name="StartSurface.TrendyTerms.TapTerm"> + <owner>wychen@chromium.org</owner> + <owner>yuezhanggg@chromium.org</owner> + <description>The user tapped a trendy term.</description> +</action> + <action name="StartSurface.TwoPanes"> <owner>gogerald@chromium.org</owner> <description> @@ -23081,7 +23565,7 @@ should be able to be added at any place in this file. </action> <action name="Suggestions.ExpandableHeader.Collapsed"> - <owner>twellington@chromium.com</owner> + <owner>twellington@chromium.org</owner> <owner>chrome-android-app@chromium.org</owner> <description> Android: The suggestions section is collapsed by user click on the section @@ -23090,7 +23574,7 @@ should be able to be added at any place in this file. </action> <action name="Suggestions.ExpandableHeader.Expanded"> - <owner>twellington@chromium.com</owner> + <owner>twellington@chromium.org</owner> <owner>chrome-android-app@chromium.org</owner> <description> Android: The suggestions section is expanded by user click on the section @@ -23791,6 +24275,15 @@ should be able to be added at any place in this file. </description> </action> +<action name="TabGroups_CannotCollapse"> + <owner>cyan@chromium.org</owner> + <owner>chrome-desktop-ui-sea@google.com</owner> + <description> + User clicked on the tab group header of the last expanded tab group. This + user action means there are no more available tabs so the user saw a no-op. + </description> +</action> + <action name="TabGroups_SwitchGroupedTab"> <owner>connily@chromium.org</owner> <owner>cyan@chromium.org</owner> @@ -23857,6 +24350,24 @@ should be able to be added at any place in this file. </description> </action> +<action name="TabGroups_TabGroupHeader_Collapsed"> + <owner>cyan@chromium.org</owner> + <owner>chrome-desktop-ui-sea@google.com</owner> + <description> + User clicked on the tab group header of an expanded tab group to collapse + the group. + </description> +</action> + +<action name="TabGroups_TabGroupHeader_Expanded"> + <owner>cyan@chromium.org</owner> + <owner>chrome-desktop-ui-sea@google.com</owner> + <description> + User clicked on the tab group header of a collapsed tab group to expand the + group. + </description> +</action> + <action name="Tablet.WindowDrag.OpenedOverview"> <owner>minch@chromium.org</owner> <description> @@ -24325,6 +24836,24 @@ should be able to be added at any place in this file. </description> </action> +<action name="TouchMode.EnteredNonTouchMode"> + <owner>collinbaker@chromium.org</owner> + <owner>chrome-desktop-ui@google.com</owner> + <description> + The user switched away from primarily using touch input or the browser + started in non-touch mode. + </description> +</action> + +<action name="TouchMode.EnteredTouchMode"> + <owner>collinbaker@chromium.org</owner> + <owner>chrome-desktop-ui@google.com</owner> + <description> + The user switched to primarily using touch input or the browser started in + touch mode. + </description> +</action> + <action name="Touchpad_Gesture_Overview"> <owner>Please list the metric's owners. Add more owner tags as needed.</owner> <description>Please enter the description of this user action.</description> @@ -25353,6 +25882,8 @@ should be able to be added at any place in this file. <suffix name="ContextualSearchPromoteTap" label="For ContextualSearchPromoteTap feature."/> <suffix name="ContextualSearchTap" label="For ContextualSearchTap feature."/> + <suffix name="ContextualSearchTappedButShouldLongpress" + label="For ContextualSearchTappedButShouldLongpress feature."/> <suffix name="ContextualSearchWebSearch" label="For ContextualSearchWebSearch feature."/> <suffix name="ContextualSearchWebSearch" @@ -25363,6 +25894,7 @@ should be able to be added at any place in this file. <suffix name="DataSaverMilestonePromo" label="For DataSaverMilestonePromo feature."/> <suffix name="DataSaverPreview" label="For DataSaverPreview feature."/> + <suffix name="DesktopTabGroupsNewGroup" label="For desktop Tab Groups."/> <suffix name="DownloadHome" label="For DownloadHome feature."/> <suffix name="DownloadPage" label="For DownloadPage feature."/> <suffix name="DownloadPageScreenshot" @@ -25382,6 +25914,8 @@ should be able to be added at any place in this file. <suffix name="NewTab" label="For NewTab feature."/> <suffix name="NewTabPageButton" label="For NewTabPageButton feature."/> <suffix name="NewTabTip" label="For NewTabTip feature."/> + <suffix name="PasswordsAccountStorage" + label="For PasswordsAccountStorage feature."/> <suffix name="PreviewsOmniboxUI" label="For the Previews UI in the Android Omnibox feature."/> <suffix name="QuietNotificationPrompts" @@ -25432,6 +25966,7 @@ should be able to be added at any place in this file. <action-suffix separator="." ordering="suffix"> <suffix name="Cancel" label="User canceled downloading an offline item."/> + <suffix name="MenuChange" label="User changed a specific offline item."/> <suffix name="MenuDelete" label="User deleted a specific offline item."/> <suffix name="MenuRename" label="User renamed a specific offline item."/> <suffix name="MenuShare" label="User shared a specific offline item."/> diff --git a/chromium/tools/metrics/histograms/OWNERS b/chromium/tools/metrics/histograms/OWNERS index 324e060050c..dd81623be7c 100644 --- a/chromium/tools/metrics/histograms/OWNERS +++ b/chromium/tools/metrics/histograms/OWNERS @@ -14,6 +14,7 @@ per-file histograms.xml=alexilin@chromium.org per-file histograms.xml=altimin@chromium.org # Scheduling-related metrics. per-file histograms.xml=csharrison@chromium.org per-file histograms.xml=cthomp@chromium.org # For security-related metrics only. +per-file histograms.xml=dschinazi@chromium.org # For networking-related metrics only. per-file histograms.xml=schenney@chromium.org per-file histograms.xml=tbansal@chromium.org per-file histograms.xml=tby@chromium.org # For chrome knowledge team metrics only. diff --git a/chromium/tools/metrics/histograms/README.md b/chromium/tools/metrics/histograms/README.md index 32cc0260d47..c0ef689dbc7 100644 --- a/chromium/tools/metrics/histograms/README.md +++ b/chromium/tools/metrics/histograms/README.md @@ -2,9 +2,11 @@ This document gives the best practices on how to use histograms in code and how to document the histograms for the dashboards. There are three general types -of histograms: enumerated histograms, count histograms (for arbitrary numbers), -and sparse histograms (for anything when the precision is important over a wide -range and/or the range is not possible to specify a priori). +of histograms: [enumerated histograms](#Enum-Histograms), +[count histograms](#Count-Histograms) (for arbitrary numbers), and +[sparse histograms](#When-To-Use-Sparse-Histograms) (for anything when the +precision is important over a wide range and/or the range is not possible to +specify a priori). [TOC] @@ -151,12 +153,34 @@ or: UmaHistogramEnumeration("NewTabPageAction", action); ``` +Logging histograms from Java should look similar: + +```java +// These values are persisted to logs. Entries should not be renumbered and +// numeric values should never be reused. +@IntDef({NewTabPageAction.USE_OMNIBOX, NewTabPageAction.CLICK_TITLE, + NewTabPageAction.OPEN_BOOKMARK}) +private @interface NewTabPageAction { + int USE_OMNIBOX = 0; + int CLICK_TITLE = 1; + // int USE_SEARCHBOX = 2; // no longer used, combined into omnibox + int OPEN_BOOKMARK = 3; + int COUNT = 4; +} + +// Using a helper function is optional, but avoids some boilerplate. +private static void logNewTabPageAction(@NewTabPageAction int action) { + RecordHistogram.recordEnumeratedHistogram( + "NewTabPageAction", action, NewTabPageAction.COUNT); +} +``` + #### Legacy Enums **Note: this method of defining histogram enums is deprecated. Do not use this for new enums *in C++*.** -Many legacy enums define a `kCount` sentinel, reying on the compiler to +Many legacy enums define a `kCount` sentinel, relying on the compiler to automatically update it when new entries are added: ```c++ @@ -494,11 +518,11 @@ If the histogram is being replaced by a new version: * Note in the `<obsolete>` message the name of the replacement histogram. -* Make sure the descriptions of the original and replacement histogram - are different. It's never appropriate for them to be identical. Either - the old description was wrong, and it should be revised to explain what - it actually measured, or the old histogram was measuring something not - as useful as the replacement, in which case the new histogram is +* Make sure the descriptions of the original and replacement histogram + are different. It's never appropriate for them to be identical. Either + the old description was wrong, and it should be revised to explain what + it actually measured, or the old histogram was measuring something not + as useful as the replacement, in which case the new histogram is measuring something different and needs to have a new description. A changelist that marks a histogram as obsolete should be reviewed by all @@ -531,6 +555,14 @@ obsolete. You can also mark individual histograms within the suffix as obsolete, indicating the expansion for that histogram is obsolete yet the expansion for other histograms with the same suffix are not. +Histogram suffixes can be difficult to use, especially if they are applied +recursively. Consider using the `print_histogram_names.py --diff` tool to +enumerate all the histogram names that are generated by a particular CL. e.g. +(from the repo root): +``` +./tools/metrics/histograms/print_histogram_names.py --diff origin/master +``` + ### Enum labels _All_ histograms, including boolean and sparse histograms, may have enum labels diff --git a/chromium/tools/metrics/histograms/enums.xml b/chromium/tools/metrics/histograms/enums.xml index 907a0c6b702..c394f02fb8d 100644 --- a/chromium/tools/metrics/histograms/enums.xml +++ b/chromium/tools/metrics/histograms/enums.xml @@ -124,6 +124,24 @@ uploading your change for review. These are checked by presubmit scripts. <int value="43" label="FLAG_RETRIEVE_INTERACTIVE_WINDOWS"/> </enum> +<enum name="AccessibilityATKAPIEnum"> + <summary> + Track which ATK APIs are being called by clients on Linux Desktop. + </summary> + <int value="0" label="kGetName">atk_object_get_name</int> + <int value="1" label="kGetDescription">atk_object_get_description</int> + <int value="2" label="kGetNChildren"> + atk_object_get_n_accessible_children + </int> + <int value="3" label="kRefChild">atk_object_ref_accessible_child</int> + <int value="4" label="kGetIndexInParent">atk_object_get_index_in_parent</int> + <int value="5" label="kGetParent">atk_object_get_parent</int> + <int value="6" label="kRefRelationSet">atk_object_ref_relation_set</int> + <int value="7" label="kGetAttributes">atk_object_get_attributes</int> + <int value="8" label="kGetRole">atk_object_get_role</int> + <int value="9" label="kRefStateSet">atk_object_ref_state_set</int> +</enum> + <enum name="AccessibilityHighContrastColorScheme"> <summary>Tracks the color scheme used when high contrast is enabled.</summary> <int value="0" label="None"/> @@ -677,6 +695,16 @@ uploading your change for review. These are checked by presubmit scripts. <int value="245" label="UMA_API_WINDOW_GET_ISTOPMOST"> UIA Window.get_IsTopmost </int> + <int value="246" label="UMA_API_ELEMENT_PROVIDER_FROM_POINT"> + UIA FragmentRoot.ElementProviderFromPoint + </int> + <int value="247" label="UMA_API_GET_FOCUS">UIA FragmentRoot.GetFocus</int> + <int value="248" label="UMA_API_ADVISE_EVENT_ADDED"> + UIA AdviseEvents.AdviseEventAdded + </int> + <int value="249" label="UMA_API_ADVISE_EVENT_REMOVED"> + UIA AdviseEvents.AdviseEventRemoved + </int> </enum> <enum name="AccessibilityWinAPIGetPropertyValueEnum"> @@ -868,6 +896,7 @@ Unknown properties are collapsed to zero. --> <int value="3" label="'Manage all credit cards' link"/> <int value="4" label="'Manage all addresses' link"/> <int value="5" label="Manual password generation"/> + <int value="6" label="Save passwords toggle"/> </enum> <enum name="AccessoryBarContents"> @@ -892,6 +921,11 @@ Unknown properties are collapsed to zero. --> <int value="4" label="TOUCH_TO_FILL_INFO"/> </enum> +<enum name="AccessoryToggleType"> + <int value="0" label="Save passwords toggle: on"/> + <int value="1" label="Save passwords toggle: off"/> +</enum> + <enum name="AccessPasswordInSettingsEvent"> <int value="0" label="Viewed"/> <int value="1" label="Copied"/> @@ -1326,6 +1360,7 @@ Unknown properties are collapsed to zero. --> <int value="5" label="MENU_DELETE"/> <int value="6" label="RETRY"/> <int value="7" label="MENU_RENAME"/> + <int value="8" label="MENU_CHANGE"/> </enum> <enum name="Android.DownloadManager.Menu.Actions"> @@ -1417,6 +1452,9 @@ Unknown properties are collapsed to zero. --> <int value="25" label="N_MR1"/> <int value="26" label="O"/> <int value="27" label="O_MR1"/> + <int value="28" label="P"/> + <int value="29" label="Q"/> + <int value="30" label="R"/> </enum> <enum name="AndroidArmFpu"> @@ -1424,6 +1462,22 @@ Unknown properties are collapsed to zero. --> <int value="1" label="NEON support"/> </enum> +<enum name="AndroidDefaultBrowserPromoOutcomeType"> + <int value="0" label="No Default"/> + <int value="1" label="Other Default"/> + <int value="2" label="Chrome Default"/> +</enum> + +<enum name="AndroidDefaultBrowserPromoType"> + <int value="0" label="No Default"/> + <int value="1" label="Other Default"/> +</enum> + +<enum name="AndroidDefaultBrowserPromoUserActionType"> + <int value="0" label="Change Default"/> + <int value="1" label="No Thanks"/> +</enum> + <enum name="AndroidDownloadExtensionType"> <int value="0" label="Other"/> <int value="1" label="APK"/> @@ -1952,6 +2006,36 @@ Unknown properties are collapsed to zero. --> </int> </enum> +<enum name="AndroidWebViewCrashInteraction"> + <int value="0" label="FORCE_UPLOAD_BUTTON"> + The user tapped the "upload this crash report" button. + </int> + <int value="1" label="FORCE_UPLOAD_NO_DIALOG"> + The developer UI uploaded the crash report with no dialog because the user + met the criteria for crash uploads. + </int> + <int value="2" label="FORCE_UPLOAD_DIALOG_METERED_NETWORK"> + The user was shown a dialog after tapping the upload button. The user + responded by uploading the crash report anyway. + </int> + <int value="3" label="FORCE_UPLOAD_DIALOG_CANCEL"> + The user was shown a dialog after tapping the upload button. The user + responded by dismissing the dialog and did not upload the crash. + </int> + <int value="4" label="FILE_BUG_REPORT_BUTTON"> + The user tapped the "file bug report" button. + </int> + <int value="5" label="FILE_BUG_REPORT_DIALOG_PROCEED"> + The user was shown a dialog after tapping the "file bug report" + button. The user responded by proceeding to crbug.com. + </int> + <int value="6" label="FILE_BUG_REPORT_DIALOG_DISMISS"> + The user was shown a dialog after tapping the "file bug report" + button. The user responded by dismissing the dialog and did not file a bug + report. + </int> +</enum> + <enum name="AndroidWebViewDevUiFragments"> <int value="0" label="HOME_FRAGMENT"/> <int value="1" label="CRASHES_LIST_FRAGMENT"/> @@ -1963,6 +2047,7 @@ Unknown properties are collapsed to zero. --> <int value="1" label="Report a bug"/> <int value="2" label="Check for updates"/> <int value="3" label="Refresh the crash list"/> + <int value="4" label="About WebView DevTools"/> </enum> <enum name="AndroidWebViewDevUiMetricsTransmission"> @@ -1971,6 +2056,18 @@ Unknown properties are collapsed to zero. --> <int value="2" label="RemoteException"/> </enum> +<enum name="AndroidWebViewNonEmbeddedMetricsParsingLogResult"> + <int value="0" label="Success"/> + <int value="1" label="Malformed protobuf"/> + <int value="2" label="IOException"/> +</enum> + +<enum name="AndroidWebViewNonEmbeddedMetricsRetrieveMetricsTaskStatus"> + <int value="0" label="Success"/> + <int value="1" label="ExecutionException"/> + <int value="2" label="InterruptionException"/> +</enum> + <enum name="AndroidWebViewProxySchemeFilterType"> <int value="0" label="HTTP"/> <int value="1" label="HTTPS"/> @@ -3438,6 +3535,7 @@ Unknown properties are collapsed to zero. --> <int value="10" label="kWhatsOnMyScreen"/> <int value="11" label="kQuickAnswers"/> <int value="12" label="kLauncherChip"/> + <int value="13" label="kBetterOnboarding"/> </enum> <enum name="AsyncDNSConfigParsePosix"> @@ -4119,6 +4217,12 @@ Unknown properties are collapsed to zero. --> <int value="25" label="ZIP or state requirement: Violated"/> </enum> +<enum name="AutofillAddressProfileImportStatus"> + <int value="0" label="No import"/> + <int value="1" label="Regular import"/> + <int value="2" label="Import with section union"/> +</enum> + <enum name="AutofillAssistantDropOutReason"> <int value="0" label="Autofill Assistant started"/> <int value="1" label="Autostart timed out"/> @@ -4142,6 +4246,9 @@ Unknown properties are collapsed to zero. --> <int value="19" label="No initial scripts"/> <int value="20" label="Installing the feature module failed"/> <int value="21" label="User navigation to a different domain in BROWSE mode"/> + <int value="22" label="User clicked back button"/> + <int value="23" label="User clicked back button during onboarding"/> + <int value="24" label="User navigatioin in RUNNING state"/> </enum> <enum name="AutofillAssistantFeatureModuleInstallation"> @@ -4156,6 +4263,7 @@ Unknown properties are collapsed to zero. --> <int value="1" label="Not shown (returning user)"/> <int value="2" label="Accepted"/> <int value="3" label="Cancelled"/> + <int value="4" label="No answer, defaults to not accepted"/> </enum> <enum name="AutofillAssistantPaymentRequestAutofillInfoChanged"> @@ -4371,6 +4479,192 @@ Unknown properties are collapsed to zero. --> <int value="22" label="Account switched: Wallet account added (multilogin)"/> </enum> +<enum name="AutofilledFieldUserEditingStatus"> + <int value="0" label="Edited"/> + <int value="1" label="Accepted"/> +</enum> + +<enum name="AutofilledFieldUserEditingStatusByFieldType"> + <int value="0" label="NO_SERVER_DATA: edited"/> + <int value="1" label="NO_SERVER_DATA: accepted"/> + <int value="16" label="UNKNOWN_TYPE: edited"/> + <int value="17" label="UNKNOWN_TYPE: accepted"/> + <int value="32" label="EMPTY_TYPE: edited"/> + <int value="33" label="EMPTY_TYPE: accepted"/> + <int value="48" label="NAME_FIRST: edited"/> + <int value="49" label="NAME_FIRST: accepted"/> + <int value="64" label="NAME_MIDDLE: edited"/> + <int value="65" label="NAME_MIDDLE: accepted"/> + <int value="80" label="NAME_LAST: edited"/> + <int value="81" label="NAME_LAST: accepted"/> + <int value="96" label="NAME_MIDDLE_INITIAL: edited"/> + <int value="97" label="NAME_MIDDLE_INITIAL: accepted"/> + <int value="112" label="NAME_FULL: edited"/> + <int value="113" label="NAME_FULL: accepted"/> + <int value="128" label="NAME_SUFFIX: edited"/> + <int value="129" label="NAME_SUFFIX: accepted"/> + <int value="144" label="EMAIL_ADDRESS: edited"/> + <int value="145" label="EMAIL_ADDRESS: accepted"/> + <int value="160" label="PHONE_HOME_NUMBER: edited"/> + <int value="161" label="PHONE_HOME_NUMBER: accepted"/> + <int value="176" label="PHONE_HOME_CITY_CODE: edited"/> + <int value="177" label="PHONE_HOME_CITY_CODE: accepted"/> + <int value="192" label="PHONE_HOME_COUNTRY_CODE: edited"/> + <int value="193" label="PHONE_HOME_COUNTRY_CODE: accepted"/> + <int value="208" label="PHONE_HOME_CITY_AND_NUMBER: edited"/> + <int value="209" label="PHONE_HOME_CITY_AND_NUMBER: accepted"/> + <int value="224" label="PHONE_HOME_WHOLE_NUMBER: edited"/> + <int value="225" label="PHONE_HOME_WHOLE_NUMBER: accepted"/> + <int value="320" label="PHONE_FAX_NUMBER: edited"/> + <int value="321" label="PHONE_FAX_NUMBER: accepted"/> + <int value="336" label="PHONE_FAX_CITY_CODE: edited"/> + <int value="337" label="PHONE_FAX_CITY_CODE: accepted"/> + <int value="352" label="PHONE_FAX_COUNTRY_CODE: edited"/> + <int value="353" label="PHONE_FAX_COUNTRY_CODE: accepted"/> + <int value="368" label="PHONE_FAX_CITY_AND_NUMBER: edited"/> + <int value="369" label="PHONE_FAX_CITY_AND_NUMBER: accepted"/> + <int value="384" label="PHONE_FAX_WHOLE_NUMBER: edited"/> + <int value="385" label="PHONE_FAX_WHOLE_NUMBER: accepted"/> + <int value="480" label="ADDRESS_HOME_LINE1: edited"/> + <int value="481" label="ADDRESS_HOME_LINE1: accepted"/> + <int value="496" label="ADDRESS_HOME_LINE2: edited"/> + <int value="497" label="ADDRESS_HOME_LINE2: accepted"/> + <int value="512" label="ADDRESS_HOME_APT_NUM: edited"/> + <int value="513" label="ADDRESS_HOME_APT_NUM: accepted"/> + <int value="528" label="ADDRESS_HOME_CITY: edited"/> + <int value="529" label="ADDRESS_HOME_CITY: accepted"/> + <int value="544" label="ADDRESS_HOME_STATE: edited"/> + <int value="545" label="ADDRESS_HOME_STATE: accepted"/> + <int value="560" label="ADDRESS_HOME_ZIP: edited"/> + <int value="561" label="ADDRESS_HOME_ZIP: accepted"/> + <int value="576" label="ADDRESS_HOME_COUNTRY: edited"/> + <int value="577" label="ADDRESS_HOME_COUNTRY: accepted"/> + <int value="592" label="ADDRESS_BILLING_LINE1: edited"/> + <int value="593" label="ADDRESS_BILLING_LINE1: accepted"/> + <int value="608" label="ADDRESS_BILLING_LINE2: edited"/> + <int value="609" label="ADDRESS_BILLING_LINE2: accepted"/> + <int value="624" label="ADDRESS_BILLING_APT_NUM: edited"/> + <int value="625" label="ADDRESS_BILLING_APT_NUM: accepted"/> + <int value="640" label="ADDRESS_BILLING_CITY: edited"/> + <int value="641" label="ADDRESS_BILLING_CITY: accepted"/> + <int value="656" label="ADDRESS_BILLING_STATE: edited"/> + <int value="657" label="ADDRESS_BILLING_STATE: accepted"/> + <int value="672" label="ADDRESS_BILLING_ZIP: edited"/> + <int value="673" label="ADDRESS_BILLING_ZIP: accepted"/> + <int value="688" label="ADDRESS_BILLING_COUNTRY: edited"/> + <int value="689" label="ADDRESS_BILLING_COUNTRY: accepted"/> + <int value="816" label="CREDIT_CARD_NAME_FULL: edited"/> + <int value="817" label="CREDIT_CARD_NAME_FULL: accepted"/> + <int value="832" label="CREDIT_CARD_NUMBER: edited"/> + <int value="833" label="CREDIT_CARD_NUMBER: accepted"/> + <int value="848" label="CREDIT_CARD_EXP_MONTH: edited"/> + <int value="849" label="CREDIT_CARD_EXP_MONTH: accepted"/> + <int value="864" label="CREDIT_CARD_EXP_2_DIGIT_YEAR: edited"/> + <int value="865" label="CREDIT_CARD_EXP_2_DIGIT_YEAR: accepted"/> + <int value="880" label="CREDIT_CARD_EXP_4_DIGIT_YEAR: edited"/> + <int value="881" label="CREDIT_CARD_EXP_4_DIGIT_YEAR: accepted"/> + <int value="896" label="CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR: edited"/> + <int value="897" label="CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR: accepted"/> + <int value="912" label="CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR: edited"/> + <int value="913" label="CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR: accepted"/> + <int value="928" label="CREDIT_CARD_TYPE: edited"/> + <int value="929" label="CREDIT_CARD_TYPE: accepted"/> + <int value="944" label="CREDIT_CARD_VERIFICATION_CODE: edited"/> + <int value="945" label="CREDIT_CARD_VERIFICATION_CODE: accepted"/> + <int value="960" label="COMPANY_NAME: edited"/> + <int value="961" label="COMPANY_NAME: accepted"/> + <int value="976" label="FIELD_WITH_DEFAULT_VALUE: edited"/> + <int value="977" label="FIELD_WITH_DEFAULT_VALUE: accepted"/> + <int value="992" label="PHONE_BILLING_NUMBER: edited"/> + <int value="993" label="PHONE_BILLING_NUMBER: accepted"/> + <int value="1008" label="PHONE_BILLING_CITY_CODE: edited"/> + <int value="1009" label="PHONE_BILLING_CITY_CODE: accepted"/> + <int value="1024" label="PHONE_BILLING_COUNTRY_CODE: edited"/> + <int value="1025" label="PHONE_BILLING_COUNTRY_CODE: accepted"/> + <int value="1040" label="PHONE_BILLING_CITY_AND_NUMBER: edited"/> + <int value="1041" label="PHONE_BILLING_CITY_AND_NUMBER: accepted"/> + <int value="1056" label="PHONE_BILLING_WHOLE_NUMBER: edited"/> + <int value="1057" label="PHONE_BILLING_WHOLE_NUMBER: accepted"/> + <int value="1072" label="NAME_BILLING_FIRST: edited"/> + <int value="1073" label="NAME_BILLING_FIRST: accepted"/> + <int value="1088" label="NAME_BILLING_MIDDLE: edited"/> + <int value="1089" label="NAME_BILLING_MIDDLE: accepted"/> + <int value="1104" label="NAME_BILLING_LAST: edited"/> + <int value="1105" label="NAME_BILLING_LAST: accepted"/> + <int value="1120" label="NAME_BILLING_MIDDLE_INITIAL: edited"/> + <int value="1121" label="NAME_BILLING_MIDDLE_INITIAL: accepted"/> + <int value="1136" label="NAME_BILLING_FULL: edited"/> + <int value="1137" label="NAME_BILLING_FULL: accepted"/> + <int value="1152" label="NAME_BILLING_SUFFIX: edited"/> + <int value="1153" label="NAME_BILLING_SUFFIX: accepted"/> + <int value="1168" label="MERCHANT_EMAIL_SIGNUP: edited"/> + <int value="1169" label="MERCHANT_EMAIL_SIGNUP: accepted"/> + <int value="1184" label="MERCHANT_PROMO_CODE: edited"/> + <int value="1185" label="MERCHANT_PROMO_CODE: accepted"/> + <int value="1200" label="PASSWORD: edited"/> + <int value="1201" label="PASSWORD: accepted"/> + <int value="1216" label="ACCOUNT_CREATION_PASSWORD: edited"/> + <int value="1217" label="ACCOUNT_CREATION_PASSWORD: accepted"/> + <int value="1232" label="ADDRESS_HOME_STREET_ADDRESS: edited"/> + <int value="1233" label="ADDRESS_HOME_STREET_ADDRESS: accepted"/> + <int value="1248" label="ADDRESS_BILLING_STREET_ADDRESS: edited"/> + <int value="1249" label="ADDRESS_BILLING_STREET_ADDRESS: accepted"/> + <int value="1264" label="ADDRESS_HOME_SORTING_CODE: edited"/> + <int value="1265" label="ADDRESS_HOME_SORTING_CODE: accepted"/> + <int value="1280" label="ADDRESS_BILLING_SORTING_CODE: edited"/> + <int value="1281" label="ADDRESS_BILLING_SORTING_CODE: accepted"/> + <int value="1296" label="ADDRESS_HOME_DEPENDENT_LOCALITY: edited"/> + <int value="1297" label="ADDRESS_HOME_DEPENDENT_LOCALITY: accepted"/> + <int value="1312" label="ADDRESS_BILLING_DEPENDENT_LOCALITY: edited"/> + <int value="1313" label="ADDRESS_BILLING_DEPENDENT_LOCALITY: accepted"/> + <int value="1328" label="ADDRESS_HOME_LINE3: edited"/> + <int value="1329" label="ADDRESS_HOME_LINE3: accepted"/> + <int value="1344" label="ADDRESS_BILLING_LINE3: edited"/> + <int value="1345" label="ADDRESS_BILLING_LINE3: accepted"/> + <int value="1360" label="NOT_ACCOUNT_CREATION_PASSWORD: edited"/> + <int value="1361" label="NOT_ACCOUNT_CREATION_PASSWORD: accepted"/> + <int value="1376" label="USERNAME: edited"/> + <int value="1377" label="USERNAME: accepted"/> + <int value="1392" label="USERNAME_AND_EMAIL_ADDRESS: edited"/> + <int value="1393" label="USERNAME_AND_EMAIL_ADDRESS: accepted"/> + <int value="1408" label="NEW_PASSWORD: edited"/> + <int value="1409" label="NEW_PASSWORD: accepted"/> + <int value="1424" label="PROBABLY_NEW_PASSWORD: edited"/> + <int value="1425" label="PROBABLY_NEW_PASSWORD: accepted"/> + <int value="1440" label="NOT_NEW_PASSWORD: edited"/> + <int value="1441" label="NOT_NEW_PASSWORD: accepted"/> + <int value="1456" label="CREDIT_CARD_NAME_FIRST: edited"/> + <int value="1457" label="CREDIT_CARD_NAME_FIRST: accepted"/> + <int value="1472" label="CREDIT_CARD_NAME_LAST: edited"/> + <int value="1473" label="CREDIT_CARD_NAME_LAST: accepted"/> + <int value="1488" label="PHONE_HOME_EXTENSION: edited"/> + <int value="1489" label="PHONE_HOME_EXTENSION: accepted"/> + <int value="1520" label="CONFIRMATION_PASSWORD: edited"/> + <int value="1521" label="CONFIRMATION_PASSWORD: accepted"/> + <int value="1536" label="AMBIGUOUS_TYPE: edited"/> + <int value="1537" label="AMBIGUOUS_TYPE: accepted"/> + <int value="1552" label="SEARCH_TERM: edited"/> + <int value="1553" label="SEARCH_TERM: accepted"/> + <int value="1568" label="PRICE: edited"/> + <int value="1569" label="PRICE: accepted"/> + <int value="1584" label="NOT_PASSWORD: edited"/> + <int value="1585" label="NOT_PASSWORD: accepted"/> + <int value="1600" label="SINGLE_USERNAME: edited"/> + <int value="1601" label="SINGLE_USERNAME: accepted"/> + <int value="1616" label="NOT_USERNAME: edited"/> + <int value="1617" label="NOT_USERNAME: accepted"/> + <int value="1632" label="UPI_VPA: edited"/> + <int value="1633" label="UPI_VPA: accepted"/> + <int value="1648" label="ADDRESS_HOME_STREET: edited"/> + <int value="1649" label="ADDRESS_HOME_STREET: accepted"/> + <int value="1664" label="ADDRESS_HOME_HOUSE_NUMBER: edited"/> + <int value="1665" label="ADDRESS_HOME_HOUSE_NUMBER: accepted"/> + <int value="1680" label="ADDRESS_HOME_FLOOR: edited"/> + <int value="1681" label="ADDRESS_HOME_FLOOR: accepted"/> + <int value="1696" label="ADDRESS_HOME_OTHER_SUBUNIT: edited"/> + <int value="1697" label="ADDRESS_HOME_OTHER_SUBUNIT: accepted"/> +</enum> + <enum name="AutofillExperimentId"> <int value="0" label="No Experiment"/> <int value="1" label="Unknown"/> @@ -4624,6 +4918,17 @@ Unknown properties are collapsed to zero. --> <int value="5129" label="CVC: False Negative (Unknown)"/> </enum> +<enum name="AutofillFormDynamicity"> + <int value="0" label="Static form"/> + <int value="1" label="Field changed"/> + <int value="2" label="Field added"/> + <int value="3" label="Field added and field changed"/> + <int value="4" label="Form changed"/> + <int value="5" label="Form changed and field changed"/> + <int value="6" label="Form changed and field added"/> + <int value="7" label="Form changed and field added and field changed"/> +</enum> + <enum name="AutofillFormEvent"> <int value="0" label="Interacted (once)"/> <int value="1" label="Suggestions shown"/> @@ -4886,6 +5191,19 @@ Unknown properties are collapsed to zero. --> <int value="14" label="Omnibox icon shown, but not bubble (max strikes)"/> </enum> +<enum name="AutofillSaveCreditCardPromptOfferEnum"> + <int value="0" label="Shown"/> + <int value="1" label="Not shown, max strikes reached"/> +</enum> + +<enum name="AutofillSaveCreditCardPromptResultEnum"> + <int value="0" label="Accepted"/> + <int value="1" label="Cancelled"/> + <int value="2" label="Closed"/> + <int value="3" label="Not interacted"/> + <int value="4" label="Lost focus"/> +</enum> + <enum name="AutofillSaveType"> <int value="0" label="Local"/> <int value="1" label="Server"/> @@ -5234,6 +5552,13 @@ Unknown properties are collapsed to zero. --> <int value="1" label="kBrightnessPercent"/> </enum> +<enum name="AutoScreenBrightnessInvalidCurveReason"> + <int value="0" label="TooFewPoints"/> + <int value="1" label="UnequalXY"/> + <int value="2" label="KnotsNotIncreasing"/> + <int value="3" label="ControlsDecreasing"/> +</enum> + <enum name="AutoScreenBrightnessModelLoadingStatus"> <int value="0" label="Success"/> <int value="1" label="MissingGlobal"/> @@ -5375,6 +5700,8 @@ Unknown properties are collapsed to zero. --> <int value="28" label="RenderFrameHost is reused for cross-site navigation"/> <int value="29" label="NavigationEntry is not the most recent one"/> <int value="30" label="ServiceWorker claim"/> + <int value="31" + label="IsInactiveAndDisallowReactivation() was called when in bfcache"/> </enum> <enum name="BackForwardCacheReloadsAfterHistoryNavigation"> @@ -5544,6 +5871,7 @@ Unknown properties are collapsed to zero. --> <int value="22" label="Periodic Background Sync wake up task"/> <int value="23" label="Query Tile task"/> <int value="24" label="Feedv2 refresh task"/> + <int value="25" label="Download later task"/> </enum> <enum name="BackgroundTracingState"> @@ -5825,6 +6153,7 @@ Unknown properties are collapsed to zero. --> <int value="226" label="RFMF_INVALID_PLUGIN_EMBEDDER_ORIGIN"/> <int value="227" label="RFH_INVALID_CALL_FROM_NOT_MAIN_FRAME"/> <int value="228" label="INPUT_ROUTER_INVALID_EVENT_SOURCE"/> + <int value="233" label="RWH_CLOSE_PORTAL"/> </enum> <enum name="BadMessageReasonExtensions"> @@ -6321,6 +6650,25 @@ Unknown properties are collapsed to zero. --> <int value="12" label="Unknown"/> </enum> +<enum name="BlueZResultOfPerProfileConnection"> + <int value="0" label="Success"/> + <int value="1" label="Unknown Error"/> + <int value="2" label="Already Connected"/> + <int value="3" label="Busy Connecting"/> + <int value="4" label="Connection Refused"/> + <int value="5" label="Connect Canceled"/> + <int value="6" label="Remote Unavailable"/> + <int value="7" label="Profile Not Supported"/> +</enum> + +<enum name="BlueZResultOfPerProfileProbing"> + <int value="0" label="Success"/> + <int value="1" label="Unknown Error"/> + <int value="2" label="Unable To Register Interface"/> + <int value="3" label="Unable To Create New Device"/> + <int value="4" label="Profile Not Supported"/> +</enum> + <enum name="BlueZTypeOfDiscovery"> <int value="1" label="BR/EDR"/> <int value="2" label="LE"/> @@ -7300,6 +7648,11 @@ Unknown properties are collapsed to zero. --> <int value="1" label="Missing data in disk cache"/> </enum> +<enum name="BooleanMultipleApps"> + <int value="0" label="Match one app"/> + <int value="1" label="Match multiple apps"/> +</enum> + <enum name="BooleanNativeNotifications"> <int value="0" label="Using Chrome notifications"/> <int value="1" label="Using native notifications"/> @@ -7846,14 +8199,19 @@ Unknown properties are collapsed to zero. --> <int value="1" label="Within subtree"/> </enum> +<enum name="BooleanYesNo"> + <int value="0" label="No"/> + <int value="1" label="Yes"/> +</enum> + <enum name="BoringSSLReasonCode"> <obsolete> Removed in March 2016. </obsolete> - <details> + <summary> See include/openssl/ssl.h at the corresponding BoringSSL revision for the corresponding values. - </details> + </summary> </enum> <enum name="BottomSheet.StateChangeReason"> @@ -7983,6 +8341,9 @@ Unknown properties are collapsed to zero. --> <int value="9" label="kAuthCache"/> <int value="10" label="kCodeCaches"/> <int value="11" label="kNetworkErrorLogging"/> + <int value="12" label="kTrustTokens"/> + <int value="13" label="kConversions"/> + <int value="14" label="kDeferredCookies"/> </enum> <enum name="BrowsingInstancePluralityVisibilityState"> @@ -8650,6 +9011,8 @@ histogram as enum --> <int value="34" label="kCompromisedCredentials"/> <int value="35" label="kUserDataSnapshot"/> <int value="36" label="kMediaFeeds"/> + <int value="37" label="kAccountPasswords"/> + <int value="38" label="kAccountPasswordsSynced"/> </enum> <enum name="ChromeChannelForHistogram"> @@ -9022,8 +9385,6 @@ histogram as enum --> <int value="503" label="Shelf Alignment Right"/> <int value="504" label="Shelf Alignment Bottom"/> <int value="505" label="Change Wallpaper"/> -<!-- Please put in checks to ensure Command IDs are stable before adding them to this enum. --> - </enum> <enum name="ChromeOSUsbEventTiming"> @@ -9103,6 +9464,10 @@ histogram as enum --> <int value="36" label="TwoUpViewEnable"/> <int value="37" label="TwoUpViewDisableFirst"/> <int value="38" label="TwoUpViewDisable"/> + <int value="39" label="ZoomInFirst"/> + <int value="40" label="ZoomIn"/> + <int value="41" label="ZoomOutFirst"/> + <int value="42" label="ZoomOut"/> </enum> <enum name="ChromePDFViewerAnnotationType"> @@ -9833,6 +10198,7 @@ histogram as enum --> <int value="-1566592213" label="hi-Latn"/> <int value="-1532548885" label="pa"/> <int value="-1515310228" label="ps"/> + <int value="-1453785110" label="rw"/> <int value="-1284862637" label="ru"/> <int value="-1273588087" label="kn"/> <int value="-1211529228" label="gd"/> @@ -9846,10 +10212,12 @@ histogram as enum --> <int value="-1025520269" label="az"/> <int value="-1010619188" label="ru-Latn"/> <int value="-1000295094" label="no"/> + <int value="-950444864" label="tk"/> <int value="-887258309" label="hu"/> <int value="-862298602" label="st"/> <int value="-851607677" label="sm"/> <int value="-838275151" label="xh"/> + <int value="-812926878" label="ug"/> <int value="-750267977" label="bg"/> <int value="-742603342" label="ca"/> <int value="-740941224" label="ku"/> @@ -9860,6 +10228,7 @@ histogram as enum --> <int value="-645438410" label="my"/> <int value="-644560085" label="su"/> <int value="-598481752" label="et"/> + <int value="-548175087" label="tt"/> <int value="-442590807" label="sd"/> <int value="-441493751" label="el-Latn"/> <int value="-426630965" label="ga"/> @@ -9898,6 +10267,7 @@ histogram as enum --> <int value="596295208" label="bs"/> <int value="632444664" label="yue-HK"/> <int value="673577439" label="cs"/> + <int value="729519028" label="or"/> <int value="796588925" label="yo"/> <int value="804120371" label="jv"/> <int value="873647701" label="th"/> @@ -9988,6 +10358,7 @@ histogram as enum --> <int value="12" label="WebAPK"/> <int value="13" label="Yahoo Mail"/> <int value="14" label="Viber"/> + <int value="15" label="YouTube"/> </enum> <enum name="ClientCertSelectionResult"> @@ -10027,6 +10398,28 @@ histogram as enum --> <int value="2" label="Read Text"/> </enum> +<enum name="ClipboardFormatRead"> + <int value="0" label="Text"/> + <int value="1" label="Html"/> + <int value="2" label="Rtf"/> + <int value="3" label="Image"/> + <int value="4" label="Bookmark"/> + <int value="5" label="Data"/> + <int value="6" label="CustomData"/> + <int value="7" label="WebSmartPaste"/> +</enum> + +<enum name="ClipboardFormatWrite"> + <int value="0" label="Text"/> + <int value="1" label="Html"/> + <int value="2" label="Rtf"/> + <int value="3" label="Image"/> + <int value="4" label="Bookmark"/> + <int value="5" label="Data"/> + <int value="6" label="CustomData"/> + <int value="7" label="WebSmartPaste"/> +</enum> + <enum name="ClockdriftLevel"> <int value="0" label="None"/> <int value="1" label="Probable"/> @@ -10138,6 +10531,7 @@ histogram as enum --> Called by update_net_error_codes.py.--> <int value="-1478" label="SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS"/> + <int value="-808" label="DNS_SECURE_RESOLVER_HOSTNAME_RESOLUTION_FAILED"/> <int value="-807" label="DNS_HTTP_FAILED"/> <int value="-806" label="DNS_SORT_ERROR"/> <int value="-805" label="DNS_SEARCH_EMPTY"/> @@ -10168,6 +10562,8 @@ Called by update_net_error_codes.py.--> <int value="-603" label="FTP_TRANSFER_ABORTED"/> <int value="-602" label="FTP_SERVICE_UNAVAILABLE"/> <int value="-601" label="FTP_FAILED"/> + <int value="-507" label="TRUST_TOKEN_OPERATION_CACHE_HIT"/> + <int value="-506" label="TRUST_TOKEN_OPERATION_FAILED"/> <int value="-505" label="INVALID_WEB_BUNDLE"/> <int value="-504" label="INVALID_SIGNED_EXCHANGE"/> <int value="-503" label="ADD_USER_CERT_FAILED"/> @@ -10254,6 +10650,8 @@ Called by update_net_error_codes.py.--> <int value="-302" label="UNKNOWN_URL_SCHEME"/> <int value="-301" label="DISALLOWED_URL_SCHEME"/> <int value="-300" label="INVALID_URL"/> + <int value="-218" label="SSL_OBSOLETE_VERSION"/> + <int value="-217" label="CERT_KNOWN_INTERCEPTION_BLOCKED"/> <int value="-216" label="QUIC_CERT_ROOT_NOT_KNOWN"/> <int value="-215" label="CERT_SYMANTEC_LEGACY"/> <int value="-214" label="CERTIFICATE_TRANSPARENCY_REQUIRED"/> @@ -11171,6 +11569,9 @@ Called by update_net_error_codes.py.--> <int value="11" label="CONTEXT_LOST_MAKECURRENT_FAILED"/> <int value="12" label="CONTEXT_LOST_INVALID_GPU_MESSAGE"/> <int value="13" label="CONTEXT_LOST_RESHAPE_FAILED"/> + <int value="14" label="CONTEXT_LOST_SET_DRAW_RECTANGLE_FAILED"/> + <int value="15" label="CONTEXT_LOST_DIRECT_COMPOSITION_OVERLAY_FAILED"/> + <int value="16" label="CONTEXT_LOST_SWAP_FAILED"/> </enum> <enum name="ContextMenuDelayedElementDetails"> @@ -11245,7 +11646,7 @@ Called by update_net_error_codes.py.--> <enum name="ContextMenuLensSupportStatus"> <summary>Whether lens is supported and if not the reason why.</summary> - <int value="0" label="Lens Supported"/> + <int value="0" label="Lens Search Supported"/> <int value="1" label="Not Google Search Engine"/> <int value="2" label="Activity Not Accessible"/> <int value="3" label="Out of Date"/> @@ -11253,6 +11654,8 @@ Called by update_net_error_codes.py.--> <int value="5" label="OS Below Android O"/> <int value="6" label="Invalid Package"/> <int value="7" label="Image Format Not Support"/> + <int value="8" label="Lens Shop Supported"/> + <int value="9" label="Lens Search And Shop Supported"/> </enum> <enum name="ContextMenuOption"> @@ -11418,7 +11821,7 @@ Called by update_net_error_codes.py.--> <int value="5" label="kTimeout"/> <int value="6" label="kActiveWindowChanged"/> <int value="7" label="kNavigationEntryChanged"/> - <int value="8" label="kBackGestureStarted"/> + <int value="8" label="kBackGestureStarted (OBSOLETE)"/> <int value="9" label="kUserSessionInactive"/> </enum> @@ -11566,6 +11969,11 @@ Called by update_net_error_codes.py.--> <int value="1" label="Unseen"/> </enum> +<enum name="ContextualSearchGestureIsTap"> + <int value="0" label="Longpress"/> + <int value="1" label="Tap"/> +</enum> + <enum name="ContextualSearchIconSpriteAnimated"> <int value="0" label="Animated, seen, from tap"/> <int value="1" label="Animated, not seen, from tap"/> @@ -11727,6 +12135,7 @@ Called by update_net_error_codes.py.--> <int value="1" label="Adding cookie to DB failed."/> <int value="2" label="Updating access time of cookie failed."/> <int value="3" label="Deleting cookie failed."/> + <int value="4" label="Committing the transaction failed"/> </enum> <enum name="CookieControlsMode"> @@ -12098,6 +12507,47 @@ Called by update_net_error_codes.py.--> <int value="3" label="Cache hit, but the entry was stale"/> </enum> +<enum name="CpuTimeMetricsThreadType"> + <summary>Thread types used for CPU time metric breakdowns.</summary> + <int value="0" label="UnattributedThread"> + CPU time consumed by the process that could not be attributed to a specific + thread. + </int> + <int value="1" label="OtherThread"> + Thread whose name was not known to the instrumentation, e.g. a new/unknown + type of thread or a Java thread not registered with + base::ThreadIdNameManager. + </int> + <int value="2" label="MainThread"/> + <int value="3" label="IOThread"/> + <int value="4" label="ThreadPoolBackgroundWorkerThread"/> + <int value="5" label="ThreadPoolForegroundWorkerThread"/> + <int value="6" label="ThreadPoolServiceThread"/> + <int value="7" label="CompositorThread"/> + <int value="8" label="CompositorTileWorkerThread"/> + <int value="9" label="VizCompositorThread"/> + <int value="10" label="RendererUnspecifiedWorkerThread"/> + <int value="11" label="RendererDedicatedWorkerThread"/> + <int value="12" label="RendererSharedWorkerThread"/> + <int value="13" label="RendererAnimationAndPaintWorkletThread"/> + <int value="14" label="RendererServiceWorkerThread"/> + <int value="15" label="RendererAudioWorkletThread"/> + <int value="16" label="RendererFileThread"/> + <int value="17" label="RendererDatabaseThread"/> + <int value="18" label="RendererOfflineAudioRenderThread"/> + <int value="19" label="RendererReverbConvolutionBackgroundThread"/> + <int value="20" label="RendererHRTFDatabaseLoaderThread"/> + <int value="21" label="RendererAudioEncoderThread"/> + <int value="22" label="RendererVideoEncoderThread"/> + <int value="23" label="MemoryInfraThread"/> + <int value="24" label="SamplingProfilerThread"/> + <int value="25" label="NetworkServiceThread"/> + <int value="26" label="AudioThread"/> + <int value="27" label="InProcessUtilityThread"/> + <int value="28" label="InProcessRendererThread"/> + <int value="29" label="InProcessGpuThread"/> +</enum> + <enum name="Cr50BoardIdFlags"> <int value="-1" label="Unprogrammed (0xffffffff)"/> <int value="127" label="Legacy pre-pvt (0x7f)"/> @@ -12496,6 +12946,19 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="2" label="HFP_CODEC_ID_MSBC"/> </enum> +<enum name="CrasHfpScoError"> + <summary> + List of results(success or error code) of setting up a SCO connection for + Bluetooth Hands-free profile. This list should be aligned with CRAS: + https://chromium.googlesource.com/chromiumos/third_party/adhd/+/master/cras/src/server/cras_server_metrics.h + </summary> + <int value="0" label="SKT_SUCCESS"/> + <int value="1" label="SKT_CONNECTION_ERROR"/> + <int value="2" label="SKT_OPEN_ERROR"/> + <int value="3" label="SKT_POLL_TIMEOUT"/> + <int value="4" label="SKT_POLL_ERR_HUP"/> +</enum> + <enum name="CrashHandler"> <int value="0" label="Crashpad"/> <int value="1" label="Breakpad"/> @@ -12772,6 +13235,7 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="7" label="Account chooser credential"/> <int value="8" label="Auto sign-in"/> <int value="9" label="Empty credential, called in incognito mode"/> + <int value="10" label="Empty credential, called in autofill-assistant mode"/> </enum> <enum name="CreditCardUploadDisallowedNetwork"> @@ -13050,6 +13514,9 @@ to ensure that the crash string is shown properly on the user-facing crash UI. </enum> <enum name="CrosSettingsBrowserBannerInteraction"> + <obsolete> + Removed as of 05/2020 (crbug/1072514). + </obsolete> <int value="0" label="Not shown"/> <int value="1" label="Shown"/> <int value="2" label="Clicked"/> @@ -13108,6 +13575,15 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="2" label="Main Frame Origin differs from Ad Creative"/> </enum> +<enum name="CrossOriginCreativeStatusWithThrottling"> + <int value="0" label="Ad Creative Origin Unknown and Ad Not Throttled"/> + <int value="1" label="Ad Creative Origin Unknown and Ad Throttled"/> + <int value="2" + label="Ad Creative Origin Same as Main Frame and Ad Not Throttled"/> + <int value="3" + label="Ad Creative Origin Differs from Main Frame and Ad Not Throttled"/> +</enum> + <enum name="CrossOriginProtectionDecision"> <int value="0" label="kAllow"/> <int value="1" label="kBlock"/> @@ -13122,6 +13598,11 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="2" label="The system clock is known to be inaccurate"/> </enum> +<enum name="CrosSystemTrayFirstInteraction"> + <int value="0" label="Quick Settings"/> + <int value="1" label="Message Center"/> +</enum> + <enum name="CrosSystemTrayInteraction"> <int value="0" label="Tap"/> <int value="1" label="Click"/> @@ -13163,6 +13644,16 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="7" label="DISK_STATUS_RESIZED"/> </enum> +<!-- Keep this in sync with CrostiniDiskImageType in crostini_simple_types.h --> + +<enum name="CrostiniDiskImageType"> + <int value="0" label="DISK_TYPE_UNKNOWN"/> + <int value="1" label="DISK_TYPE_QCOW2_SPARSE"/> + <int value="2" label="DISK_TYPE_RAW_SPARSE"/> + <int value="3" label="DISK_TYPE_RAW_PREALLOCAED"/> + <int value="4" label="DISK_TYPE_MULTI_DISK"/> +</enum> + <enum name="CrostiniExportContainerResult"> <int value="0" label="Success"/> <int value="1" label="Failed"/> @@ -13170,6 +13661,14 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="3" label="Failed VM Started"/> </enum> +<enum name="CrostiniFailureClasses"> + <int value="0" label="Concierge stopped"/> + <int value="1" label="Cicerone stopped"/> + <int value="2" label="Seneschal stopped"/> + <int value="3" label="Chunneld stopped"/> + <int value="4" label="VM hypervisor stopped"/> +</enum> + <enum name="CrostiniImportContainerResult"> <int value="0" label="Success"/> <int value="1" label="Failed"/> @@ -13220,6 +13719,7 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="48" label="LOAD_COMPONENT_UPDATE_IN_PROGRESS"/> <int value="49" label="NEVER_FINISHED"/> <int value="50" label="CONTAINER_SETUP_FAILED"/> + <int value="51" label="START_LXD_FAILED"/> </enum> <enum name="CrostiniSettingsEvent"> @@ -14179,6 +14679,19 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="4" label="Channel is negotiated."/> </enum> +<enum name="DataPackLoadErrors"> + <int value="1" label="INIT_FAILED (obsolete)"/> + <int value="2" label="BAD_VERSION"/> + <int value="3" label="INDEX_TRUNCATED"/> + <int value="4" label="ENTRY_NOT_FOUND"/> + <int value="5" label="HEADER_TRUNCATED"/> + <int value="6" label="WRONG_ENCODING"/> + <int value="7" label="INIT_FAILED_FROM_FILE"/> + <int value="8" label="UNZIP_FAILED"/> + <int value="9" label="OPEN_FAILED"/> + <int value="10" label="MAP_FAILED"/> +</enum> + <enum name="DataReductionProxyAutoLoFiAccuracy"> <int value="0" label="Estimated network quality as slow and was actually slow"/> @@ -14509,6 +15022,18 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="31" label="Arrived at settings menu by HTTPS Preview Infobar: entered on, exited on"/> + <int value="32" + label="Arrived at settings menu by HTTPS image compression Infobar: + entered off, exited off"/> + <int value="33" + label="Arrived at settings menu by HTTPS image compression Infobar: + entered off, exited on"/> + <int value="34" + label="Arrived at settings menu by HTTPS image compression Infobar: + entered on, exited off"/> + <int value="35" + label="Arrived at settings menu by HTTPS image compression Infobar: + entered on, exited on"/> </enum> <enum name="DataReductionProxyWarmupURLFetchAttemptEvent"> @@ -14878,6 +15403,7 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="4" label="kImageWebP"/> <int value="5" label="kImageICO"/> <int value="6" label="kImageBMP"/> + <int value="7" label="kImageAVIF"/> </enum> <enum name="DecodeSwapChainNotUsedReason"> @@ -15300,6 +15826,8 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="36" label="Settings opened via gear icon"/> <int value="37" label="Settings opened via menu"/> <int value="38" label="Settings opened via command menu"/> + <int value="39" label="Tab moved to drawer"/> + <int value="40" label="Tab moved to main panel"/> </enum> <enum name="DevToolsBackgroundService"> @@ -15311,6 +15839,12 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="7" label="Periodic Background Sync"/> </enum> +<enum name="DevToolsDualScreenDeviceEmulated"> + <int value="0" label="Dual-screen or fold device selected"/> + <int value="1" label="Dual-screen span mode selected"/> + <int value="2" label="Platform dual-screen support used"/> +</enum> + <enum name="DevToolsIssuesPanelOpenedFrom"> <int value="0" label="Console Info Bar"/> <int value="1" label="Learn More Link COEP"/> @@ -15319,6 +15853,11 @@ to ensure that the crash string is shown properly on the user-facing crash UI. <int value="4" label="Adorner"/> </enum> +<enum name="DevToolsKeybindSets"> + <int value="0" label="devToolsDefault"/> + <int value="1" label="vsCode"/> +</enum> + <enum name="DevToolsKeyboardShortcutAction"> <int value="0" label="Other shortcut"/> <int value="1" label="commandMenu.show"/> @@ -16696,6 +17235,11 @@ Called by update_document_policy_enum.py.--> <int value="8" label="MP3"/> </enum> +<enum name="DownloadCancelReason"> + <int value="0" label="Existing download path"/> + <int value="1" label="Target confirmation result"/> +</enum> + <enum name="DownloadConnectionSecurity"> <int value="0" label="Final download url and the redirects before it all use https"/> @@ -16939,6 +17483,8 @@ Called by update_document_policy_enum.py.--> <int value="7" label="Multiple downloads complete"/> <int value="8" label="Multiple downloads failed"/> <int value="9" label="Multiple downloads pending"/> + <int value="10" label="Scheduled"/> + <int value="11" label="Multiple downloads scheduled"/> </enum> <enum name="DownloadInfoBarState"> @@ -17402,6 +17948,40 @@ Called by update_document_policy_enum.py.--> <int value="18" label="BLOCKED_UNSUPPORTED_FILETYPE"/> </enum> +<enum name="DownloadLaterDialogChoice"> + <int value="0" label="Download now"/> + <int value="1" label="On WIFI"/> + <int value="2" label="Download later"/> +</enum> + +<enum name="DownloadLaterEvent"> + <int value="0" label="Schedule added"/> + <int value="1" label="Schedule changed"/> + <int value="2" label="Schedule removed"/> +</enum> + +<enum name="DownloadLaterPromptStatus"> + <int value="0" label="Show initial"/> + <int value="1" label="Show prompt"/> + <int value="2" label="Don't show prompt"/> +</enum> + +<enum name="DownloadLaterUiEvent"> + <int value="0" label="DOWNLOAD_LATER_DIALOG_SHOW"/> + <int value="1" label="DOWNLOAD_LATER_DIALOG_COMPLETE"/> + <int value="2" label="DOWNLOAD_LATER_DIALOG_CANCEL"/> + <int value="3" label="DATE_TIME_PICKER_SHOW"/> + <int value="4" label="DATE_TIME_PICKER_COMPLETE"/> + <int value="5" label="DATE_TIME_PICKER_CANCEL"/> + <int value="6" label="DOWNLOAD_HOME_CHANGE_SCHEDULE_CLICKED"/> + <int value="7" label="DOWNLOAD_HOME_CHANGE_SCHEDULE_COMPLETE"/> + <int value="8" label="DOWNLOAD_HOME_CHANGE_SCHEDULE_CANCEL"/> + <int value="9" label="DOWNLOAD_INFOBAR_CHANGE_SCHEDULE_CLICKED"/> + <int value="10" label="DOWNLOAD_INFOBAR_CHANGE_SCHEDULE_COMPLETE"/> + <int value="11" label="DOWNLOAD_INFOBAR_CHANGE_SCHEDULE_CANCEL"/> + <int value="12" label="DOWNLOAD_LATER_DIALOG_EDIT_CLICKED"/> +</enum> + <enum name="DownloadLocationDialogResult"> <int value="0" label="USER_CONFIRMED"/> <int value="1" label="USER_CANCELED"/> @@ -17793,6 +18373,13 @@ Called by update_document_policy_enum.py.--> <int value="2" label="Unknown"/> </enum> +<enum name="DumpWithoutCrashingResult"> + <int value="0" label="Failure from Crashpad"/> + <int value="1" label="Success from Crashpad"/> + <int value="2" label="Failure from Breakpad"/> + <int value="3" label="Success from Breakpad"/> +</enum> + <enum name="DuplicateBookmarkEntityOnRemoteUpdateCondition"> <int value="0" label="Entity with server ID is a tombstone"/> <int value="1" label="Only entity with temporary ID is a tombstone"/> @@ -20302,7 +20889,7 @@ Called by update_document_policy_enum.py.--> <int value="671" label="ReportDeviceTimezoneInfo"/> <int value="672" label="SystemProxySettings"/> <int value="673" label="UserDataSnapshotRetentionLimit"/> - <int value="674" label="DeviceLoginScreenChromeVariations"/> + <int value="674" label="DeviceChromeVariations"/> <int value="675" label="NativeWindowOcclusionEnabled"/> <int value="676" label="DeviceLoginScreenPrivacyScreenEnabled"/> <int value="677" label="PrivacyScreenEnabled"/> @@ -20312,8 +20899,8 @@ Called by update_document_policy_enum.py.--> <int value="681" label="RequiredClientCertificateForDevice"/> <int value="682" label="ReportDeviceMemoryInfo"/> <int value="683" label="UseLegacyFormControls"/> - <int value="684" label="SafeBrowsingEnhancedProtection"/> - <int value="685" label="AdvancedProtectionExtraSecurityAllowed"/> + <int value="684" label="SafeBrowsingProtectionLevel"/> + <int value="685" label="AdvancedProtectionAllowed"/> <int value="686" label="ReportDeviceBacklightInfo"/> <int value="687" label="ScrollToTextFragmentEnabled"/> <int value="688" label="ManagedGuestSessionAutoLaunchNotificationReduced"/> @@ -20336,7 +20923,26 @@ Called by update_document_policy_enum.py.--> <int value="705" label="UserPluginVmAllowed"/> <int value="706" label="PrintRasterizationMode"/> <int value="707" label="AutoOpenAllowedForURLs"/> + <int value="708" label="ReportDeviceBluetoothInfo"/> + <int value="709" label="ReportDeviceFanInfo"/> + <int value="710" label="ReportDeviceVpdInfo"/> + <int value="711" label="EnableExperimentalPolicies"/> + <int value="712" label="PluginVmDataCollectionAllowed"/> + <int value="713" label="IntensiveWakeUpThrottlingEnabled"/> + <int value="714" label="MinimumChromeVersionEolMessage"/> + <int value="715" label="DefaultSearchProviderContextMenuAccessAllowed"/> + <int value="716" label="CrostiniPortForwardingAllowed"/> + <int value="717" label="VirtualKeyboardFeatures"/> + <int value="718" label="PinUnlockAutosubmitEnabled"/> + <int value="719" label="SamlLockScreenReauthenticationEnabled"/> + <int value="720" label="DeletePrintJobHistoryAllowed"/> + <int value="721" label="EmojiSuggestionEnabled"/> + <int value="722" label="AutoLaunchProtocolsFromOrigins"/> + <int value="723" label="ManagedGuestSessionPrivacyWarningsEnabled"/> + <int value="724" label="PluginVmRequiredFreeDiskSpace"/> <int value="725" label="UserAgentClientHintsEnabled"/> + <int value="726" label="SuggestedContentEnabled"/> + <int value="727" label="ExtensionInstallEventLoggingEnabled"/> </enum> <enum name="EnterprisePolicyDeviceIdValidity"> @@ -20764,6 +21370,36 @@ Called by update_document_policy_enum.py.--> <int value="128" label="Request type matched."/> </enum> +<enum name="EventLatencyEventType"> + <int value="0" label="MousePressed"/> + <int value="1" label="MouseReleased"/> + <int value="2" label="MouseWheel"/> + <int value="3" label="KeyPressed"/> + <int value="4" label="KeyReleased"/> + <int value="5" label="TouchPressed"/> + <int value="6" label="TouchReleased"/> + <int value="7" label="TouchMoved"/> + <int value="8" label="GestureScrollBegin"/> + <int value="9" label="GestureScrollUpdate"/> + <int value="10" label="GestureScrollEnd"/> + <int value="11" label="GestureDoubleTap"/> + <int value="12" label="GestureLongPress"/> + <int value="13" label="GestureLongTap"/> + <int value="14" label="GestureShowPress"/> + <int value="15" label="GestureTap"/> + <int value="16" label="GestureTapCancel"/> + <int value="17" label="GestureTapDown"/> + <int value="18" label="GestureTapUnconfirmed"/> + <int value="19" label="GestureTwoFingerTap"/> +</enum> + +<enum name="EventLatencyScrollInputType"> + <int value="0" label="Autoscroll"/> + <int value="1" label="Scrollbar"/> + <int value="2" label="Touchscreen"/> + <int value="3" label="Wheel"/> +</enum> + <enum name="EventPreFilterResult"> <int value="0" label="Unfiltered"/> <int value="1" label="Filtered due to no page handlers"/> @@ -20788,6 +21424,11 @@ Called by update_document_policy_enum.py.--> <int value="1" label="Valid time base"/> </enum> +<enum name="EvkkEncryptionType"> + <int value="0" label="EVKK was wrapped with Scrypt"/> + <int value="1" label="EVKK was wrapped with TPM"/> +</enum> + <enum name="EVWhitelistStatus"> <obsolete> Deprecated 06/2017. @@ -20935,6 +21576,13 @@ Called by update_document_policy_enum.py.--> <int value="4" label="Programmatic API Call"/> </enum> +<enum name="ExtensionActionSetIconFailureType"> + <int value="0" label="Failed to parse function details"/> + <int value="1" label="Failed to decode image canvas string"/> + <int value="2" label="Failed to unpickle image canvas"/> + <int value="3" label="Arguments provided neither image data nor icon index"/> +</enum> + <enum name="ExtensionBackgroundPageType"> <int value="0" label="None"/> <int value="1" label="Persistent"/> @@ -21079,9 +21727,9 @@ Called by update_extension_histograms.py.--> <int value="57" label="BRAILLE_DISPLAY_PRIVATE_ON_DISPLAY_STATE_CHANGED"/> <int value="58" label="BRAILLE_DISPLAY_PRIVATE_ON_KEY_EVENT"/> <int value="59" label="BROWSER_ACTION_ON_CLICKED"/> - <int value="60" label="CAST_STREAMING_RTP_STREAM_ON_ERROR"/> - <int value="61" label="CAST_STREAMING_RTP_STREAM_ON_STARTED"/> - <int value="62" label="CAST_STREAMING_RTP_STREAM_ON_STOPPED"/> + <int value="60" label="DELETED_CAST_STREAMING_RTP_STREAM_ON_ERROR"/> + <int value="61" label="DELETED_CAST_STREAMING_RTP_STREAM_ON_STARTED"/> + <int value="62" label="DELETED_CAST_STREAMING_RTP_STREAM_ON_STOPPED"/> <int value="63" label="COMMANDS_ON_COMMAND"/> <int value="64" label="CONTEXT_MENUS_INTERNAL_ON_CLICKED"/> <int value="65" label="CONTEXT_MENUS_ON_CLICKED"/> @@ -21496,6 +22144,8 @@ Called by update_extension_histograms.py.--> label="PASSWORDS_PRIVATE_ON_COMPROMISED_CREDENTIALS_INFO_CHANGED"/> <int value="454" label="TERMINAL_PRIVATE_ON_A11Y_STATUS_CHANGED"/> <int value="455" label="PASSWORDS_PRIVATE_ON_PASSWORD_CHECK_STATUS_CHANGED"/> + <int value="456" label="INPUT_IME_ON_ASSISTIVE_WINDOW_BUTTON_CLICKED"/> + <int value="457" label="INPUT_IME_ON_SUGGESTIONS_CHANGED"/> </enum> <enum name="ExtensionFileWriteResult"> @@ -22864,7 +23514,8 @@ Called by update_extension_histograms.py.--> <int value="1301" label="AUTOTESTPRIVATE_GETARCPACKAGE"/> <int value="1302" label="AUTOTESTPRIVATE_LAUNCHARCAPP"/> <int value="1303" label="AUTOTESTPRIVATE_CLOSEAPP"/> - <int value="1304" label="ACCESSIBILITY_PRIVATE_SETSWITCHACCESSMENUSTATE"/> + <int value="1304" + label="DELETED_ACCESSIBILITY_PRIVATE_SETSWITCHACCESSMENUSTATE"/> <int value="1305" label="AUTOTESTPRIVATE_SENDASSISTANTTEXTQUERY"/> <int value="1306" label="AUTOTESTPRIVATE_SETCROSTINIAPPSCALED"/> <int value="1307" label="ACTIVITYLOGPRIVATE_DELETEACTIVITIESBYEXTENSION"/> @@ -23037,6 +23688,17 @@ Called by update_extension_histograms.py.--> <int value="1471" label="DECLARATIVENETREQUEST_UPDATEENABLEDRULESETS"/> <int value="1472" label="DECLARATIVENETREQUEST_GETENABLEDRULESETS"/> <int value="1473" label="TERMINALPRIVATE_OPENWINDOW"/> + <int value="1474" label="AUTOTESTPRIVATE_SETPLUGINVMPOLICY"/> + <int value="1475" label="AUTOTESTPRIVATE_SHOWPLUGINVMINSTALLER"/> + <int value="1476" label="PASSWORDSPRIVATE_REMOVESAVEDPASSWORDS"/> + <int value="1477" label="PASSWORDSPRIVATE_REMOVEPASSWORDEXCEPTIONS"/> + <int value="1478" label="AUTOTESTPRIVATE_WAITFORAMBIENTPHOTOANIMATION"/> + <int value="1479" label="INPUT_IME_SETASSISTIVEWINDOWPROPERTIES"/> + <int value="1480" label="PASSWORDSPRIVATE_MOVEPASSWORDTOACCOUNT"/> + <int value="1481" label="AUTOTESTPRIVATE_DISABLESWITCHACCESSDIALOG"/> + <int value="1482" label="ENTERPRISE_NETWORKINGATTRIBUTES_GETNETWORKDETAILS"/> + <int value="1483" label="INPUTMETHODPRIVATE_SETAUTOCORRECTRANGE"/> + <int value="1484" label="PLATFORMKEYSINTERNAL_GETPUBLICKEYBYSPKI"/> </enum> <enum name="ExtensionIconState"> @@ -23048,6 +23710,25 @@ Called by update_extension_histograms.py.--> <int value="2" label="OVERFLOWED"/> </enum> +<enum name="ExtensionInProgressRequestState"> + <int value="0" label="In progress"/> + <int value="1" label="In progress, but the final response has arrived"/> + <int value="2" label="Invalid, this must not be recorded"/> + <int value="3" label="The request is taken over by another request"/> + <int value="4" label="Rejected by a network error"/> + <int value="5" label="Rejected by a network error after receiving response"/> + <int value="6" label="Detached from the client"/> + <int value="7" label="Detached from the client after receiving response"/> + <int value="8" label="Rejected by onBeforeRequest()"/> + <int value="9" label="Rejected by onBeforeSendHeaders()"/> + <int value="10" label="Rejected by onHeadersReceived for the final response"/> + <int value="11" + label="Rejected by onHeadersReceived for a redirect response"/> + <int value="12" label="Rejected by onHeadersReceived for HTTP 401"/> + <int value="13" label="Rejected by onAuthRequired()"/> + <int value="14" label="The request is completed"/> +</enum> + <enum name="ExtensionInstallationCrxInstallError"> <int value="0" label="NONE"/> <int value="1" label="CONVERT_USER_SCRIPT_TO_EXTENSION_FAILED"/> @@ -23082,6 +23763,7 @@ Called by update_extension_histograms.py.--> <int value="2" label="MISS"/> <int value="3" label="OUTDATED"/> <int value="4" label="HIT"/> + <int value="5" label="HIT_ON_MANIFEST_FETCH_FAILURE"/> </enum> <enum name="ExtensionInstallationDownloadingStage"> @@ -23247,6 +23929,14 @@ Called by update_extension_histograms.py.--> <int value="5" label="NOTIFICATION_TYPE_CUSTOM"/> </enum> +<enum name="ExtensionNoUpdatesInfo"> + <int value="0" label="Unknown"/> + <int value="1" label="Empty"/> + <int value="2" label="Rate limit"/> + <int value="3" label="Disabled by client"/> + <int value="4" label="Bandwidth limit"/> +</enum> + <enum name="ExtensionPermission"> <int value="0" label="UNKNOWN"/> <int value="1" label="NONE"/> @@ -23599,6 +24289,7 @@ Called by update_extension_histograms.py.--> <int value="224" label="kPrinting"/> <int value="225" label="kCrashReportPrivate"/> <int value="226" label="kAutofillAssistantPrivate"/> + <int value="227" label="kEnterpriseNetworkingAttributes"/> </enum> <enum name="ExtensionPolicyReinstallReason"> @@ -26547,7 +27238,7 @@ Called by update_use_counter_feature_enum.py.--> label="V8ExtendableCookieChangeEvent_Deleted_AttributeGetter"/> <int value="2461" label="ShapeOutsideContentBoxDifferentFromMarginBox"/> <int value="2462" label="ShapeOutsidePaddingBoxDifferentFromMarginBox"/> - <int value="2463" label="CSSContainLayoutPositionedDescendants"/> + <int value="2463" label="DeprecatedCSSContainLayoutPositionedDescendants"/> <int value="2465" label="CanvasConvertToBlob"/> <int value="2466" label="PolymerV1Detected"/> <int value="2467" label="PolymerV2Detected"/> @@ -27455,6 +28146,42 @@ Called by update_use_counter_feature_enum.py.--> label="WebBluetoothRemoteCharacteristicWriteValueWithoutResponse"/> <int value="3307" label="FlexGapSpecified"/> <int value="3308" label="FlexGapPositive"/> + <int value="3309" label="PluginInstanceAccessSuccessful"/> + <int value="3310" label="StorageAccessAPI_HasStorageAccess_Method"/> + <int value="3311" label="StorageAccessAPI_requestStorageAccess_Method"/> + <int value="3312" label="WebBluetoothWatchAdvertisements"/> + <int value="3313" label="RubyTextWithNonDefaultTextAlign"/> + <int value="3314" label="HTMLMetaElementReferrerPolicyOutsideHead"/> + <int value="3315" label="HTMLMetaElementReferrerPolicyMultipleTokens"/> + <int value="3316" label="FetchAPINonGetOrHeadOpaqueResponse"/> + <int value="3317" label="FetchAPINonGetOrHeadOpaqueResponseWithRedirect"/> + <int value="3318" label="DynamicImportModuleScriptRelativeClassicSameOrigin"/> + <int value="3319" + label="DynamicImportModuleScriptRelativeClassicCrossOrigin"/> + <int value="3320" label="V8WasmBulkMemory"/> + <int value="3321" label="V8WasmRefTypes"/> + <int value="3322" label="V8WasmMultiValue"/> + <int value="3323" label="HiddenBackfaceWithPossible3D"/> + <int value="3324" label="HiddenBackfaceWithPreserve3D"/> + <int value="3325" label="CSSAtRuleScrollTimeline"/> + <int value="3326" label="FetchUploadStreaming"/> + <int value="3327" label="WebkitLineClampWithoutWebkitBox"/> + <int value="3328" label="WebBluetoothGetDevices"/> + <int value="3329" label="DialogWithNonZeroScrollOffset"/> + <int value="3330" label="DialogHeightLargerThanViewport"/> + <int value="3331" label="OverlayPopup"/> + <int value="3332" label="ContentVisibilityAuto"/> + <int value="3333" label="ContentVisibilityHidden"/> + <int value="3334" label="ContentVisibilityHiddenMatchable"/> + <int value="3335" label="InlineOverflowAutoWithInlineEndPadding"/> + <int value="3336" label="InlineOverflowScrollWithInlineEndPadding"/> + <int value="3337" label="CSSSelectorPseudoWebKitDetailsMarker"/> + <int value="3338" label="SerialPortGetInfo"/> + <int value="3347" label="RTCAdaptivePtime"/> + <int value="3355" label="CommaSeparatorInAllowAttribute"/> + <int value="3365" label="ConversionAPIAll"/> + <int value="3366" label="ImpressionRegistration"/> + <int value="3367" label="ConversionRegistration"/> </enum> <enum name="FeaturePolicyAllowlistType"> @@ -27543,13 +28270,14 @@ Called by update_feature_policy_enum.py.--> <int value="65" label="DocumentAccess"/> <int value="66" label="WebXr"/> <int value="67" label="PublicKeyCredentialsGet"/> - <int value="68" label="Clipboard"/> <int value="69" label="ClientHintUAMobile"/> <int value="70" label="StorageAccessAPI"/> <int value="71" label="ClientHintUAFullVersion"/> <int value="72" label="TrustTokenRedemption"/> <int value="73" label="ConversionMeasurement"/> <int value="74" label="ClientHintUAPlatformVersion"/> + <int value="76" label="ClipboardRead"/> + <int value="77" label="ClipboardWrite"/> </enum> <enum name="FeaturePolicyImageCompressionFormat"> @@ -27646,6 +28374,9 @@ Called by update_feature_policy_enum.py.--> <int value="16" label="Failed - cannot load more content because the model is not yet loaded"/> + <int value="17" label="Failed - feed is disabled by enterprise policy"/> + <int value="18" + label="Failed - network fetch failed or returned a non-200 status"/> </enum> <enum name="FeedRequestReason"> @@ -28946,6 +29677,15 @@ Called by update_feature_policy_enum.py.--> <int value="11" label="DontChange"/> </enum> +<enum name="FingerprintSetupScreenUserAction"> + <summary>Actions which happen on the screen.</summary> + <int value="0" label="Setup done button clicked"/> + <int value="1" label="Skipped button clicked"/> + <int value="2" label="Do it later button clicked"/> + <int value="3" label="Add another finger button clicked"/> + <int value="4" label="Show sensor location button clicked"/> +</enum> + <enum name="FingerprintUpdaterReason"> <int value="0" label="None"/> <int value="1" label="Mismatched RW Version"/> @@ -29292,6 +30032,7 @@ Called by update_feature_policy_enum.py.--> <int value="0" label="Presented Frame"/> <int value="1" label="Missed Deadline Frame"/> <int value="2" label="Dropped Frame"/> + <int value="3" label="Compositor Only Frame"/> </enum> <enum name="FrameSiteInstanceProcessRelationship"> @@ -29400,6 +30141,15 @@ Called by update_feature_policy_enum.py.--> <int value="7" label="Unknown Error"/> </enum> +<enum name="GaiaRemoteConsentFlowResult"> + <int value="0" label="Success"/> + <int value="1" label="Window was closed"/> + <int value="2" label="Failed to load the consent page"/> + <int value="3" label="Failed to set accounts in cookies"/> + <int value="4" label="Failed to parse the consent result"/> + <int value="5" label="Consent wasn't granted"/> +</enum> + <enum name="GaiaServiceType"> <int value="0" label="No Gaia response header"/> <int value="1" label="Logout all existing sessions"/> @@ -31364,8 +32114,7 @@ Called by update_feature_policy_enum.py.--> </enum> <enum name="GenericEnum"> -<!-- Generic enums where the label is just the raw number --> - + <summary>Generic enums where the label is just the raw number</summary> </enum> <enum name="GeolocationAuthorizationAction"> @@ -31523,6 +32272,37 @@ Called by update_feature_policy_enum.py.--> <int value="2" label="Gesture predicted but didn't occur"/> </enum> +<enum name="GetAuthTokenResult"> + <int value="0" label="Success"/> + <int value="1" label="kInvalidClientId"/> + <int value="2" label="kEmptyScopes"/> + <int value="3" label="kOAuth2InvalidScopes"/> + <int value="4" label="kGaiaFlowAuthFailure"/> + <int value="5" label="kMintTokenAuthFailure"/> + <int value="6" label="kGetAccessTokenAuthFailure"/> + <int value="7" label="kOAuth2Failure"/> + <int value="8" label="kNoGrant"/> + <int value="9" label="kInteractionRequired"/> + <int value="10" label="kInteractionAlreadyRunning"/> + <int value="11" label="kOAuth2AccessDenied"/> + <int value="12" label="kGaiaFlowRejected"/> + <int value="13" label="kRemoteConsentFlowRejected"/> + <int value="14" label="kUserNotSignedIn"/> + <int value="15" label="kNotWhitelistedInPublicSession"/> + <int value="16" label="kSignInFailed"/> + <int value="17" label="kRemoteConsentUserNotSignedIn"/> + <int value="18" label="kUserNonPrimary"/> + <int value="19" label="kRemoteConsentUserNonPrimary"/> + <int value="20" label="kBrowserSigninNotAllowed"/> + <int value="21" label="kInvalidRedirect"/> + <int value="22" label="kOffTheRecord"/> + <int value="23" label="kPageLoadFailure"/> + <int value="24" label="kRemoteConsentPageLoadFailure"/> + <int value="25" label="kSetAccountsInCookieFailure"/> + <int value="26" label="kInvalidConsentResult"/> + <int value="27" label="kCanceled"/> +</enum> + <enum name="GetEncryptionKeyAction"> <int value="0" label="Key is successfully found - not first time"/> <int value="1" label="Key is successfully found for the first time"/> @@ -31971,6 +32751,11 @@ Called by update_feature_policy_enum.py.--> <int value="72" label="User Disabled WIN10_19H1"/> <int value="73" label="Fallback to Software WIN10_19H1"/> <int value="74" label="Status Unknown WIN10_19H1"/> + <int value="75" label="Enabled WIN10_20H1"/> + <int value="76" label="Blacklisted WIN10_20H1"/> + <int value="77" label="User Disabled WIN10_20H1"/> + <int value="78" label="Fallback to Software WIN10_20H1"/> + <int value="79" label="Status Unknown WIN10_20H1"/> </enum> <enum name="GPUBlacklistTestResultPerEntry"> @@ -32672,6 +33457,9 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> </enum> <enum name="GpuTextureResultR16_L16"> + <obsolete> + Removed 06/2020. Both LUMINANCE_F16 and R16_EXT must be supported for now. + </obsolete> <summary> Keeps track of how many users have R16_EXT or/and LUMINANCE_F16, and also how many have none of the two. @@ -32842,6 +33630,18 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> </int> </enum> +<enum name="HardwareVerifierQualificationStatus"> + <summary> + List of the possible qualification status of a component. This is defined in + https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/master/hardware_verifier/proto/hardware_verifier.proto + (enum QualificationStatus). + </summary> + <int value="0" label="UNQUALIFIED">Unqualified</int> + <int value="1" label="REJECTED">Rejected</int> + <int value="2" label="QUALIFIED">Qualified</int> + <int value="3" label="NO_MATCH">No_Match</int> +</enum> + <enum name="HasDiscreteGpu"> <int value="0" label="No"/> <int value="1" label="Yes"/> @@ -33312,7 +34112,7 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="-2147221232" label="CLASS_E_NOAGGREGATION"/> <int value="-2147221164" label="REGDB_E_CLASSNOTREG"/> <int value="-2147220480" - label="custom error for taskbar::CustomHresultCodes::kIsBrowserAbort"/> + label="custom error for abort setting badge for non app window"/> <int value="-2147220479" label="custom error for taskbar::CustomHresultCodes::kInvalidIcon"/> <int value="-2147220478" @@ -33634,6 +34434,12 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="14" label="CLEAR_SERVER_NETWORK_STATS"/> </enum> +<enum name="HttpsImageCompressionInfoBarAction"> + <int value="0" label="Infobar shown"/> + <int value="1" label="Infobar dismissed by user"/> + <int value="2" label="Infobar 'Settings' clicked"/> +</enum> + <enum name="HttpSocketType"> <int value="0" label="UNUSED">newly connected socket</int> <int value="1" label="UNUSED_IDLE"> @@ -33642,6 +34448,35 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="2" label="REUSED_IDLE">previously used (keep-alive?) socket</int> </enum> +<enum name="HttpssvcDnsRcode"> + <summary> + Tracks the result of querying for an INTEGRITY or HTTPSSVC record. This enum + can represent each of Chrome's supported RCODE values as well as any + unrecognized RCODE values. It also has the TimedOut value to represent + queries that timed out. + + IANA registry: + https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml + </summary> + <int value="0" label="TimedOut"/> + <int value="1" label="UnrecognizedRcode"/> + <int value="2" label="MissingDnsResponse (network error)"/> + <int value="3" label="NOERROR"/> + <int value="4" label="FORMERR"/> + <int value="5" label="SERVFAIL"/> + <int value="6" label="NXDOMAIN"/> + <int value="7" label="NOTIMP"/> + <int value="8" label="REFUSED"/> +</enum> + +<enum name="HttpssvcIntegrityJudgment"> + <summary> + Represents the result of checking the INTEGRITY record's integrity. + </summary> + <int value="0" label="Mangled"/> + <int value="1" label="Intact"/> +</enum> + <enum name="HttpStatusCodeClass"> <int value="0" label="Invalid"/> <int value="1" label="1XX"/> @@ -34174,6 +35009,9 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="4" label="PERSONAL_NAME"/> <int value="5" label="EMOJI"/> <int value="6" label="ASSISTIVE_AUTOCORRECT"/> + <int value="7" label="PERSONAL_NUMBER"/> + <int value="8" label="PERSONAL_FIRST_NAME"/> + <int value="9" label="PERSONAL_LAST_NAME"/> </enum> <enum name="IMECommitType"> @@ -34489,6 +35327,9 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="95" label="SMS_RECEIVER_INFOBAR_DELEGATE"/> <int value="96" label="KNOWN_INTERCEPTION_DISCLOSURE_INFOBAR_DELEGATE"/> <int value="97" label="SYNC_ERROR_INFOBAR_DELEGATE_ANDROID"/> + <int value="98" label="MIXED_CONTENT_DOWNLOAD_INFOBAR_DELEGATE_ANDROID"/> + <int value="99" label="CONDITIONAL_TAB_STRIP_INFOBAR_ANDROID"/> + <int value="100" label="LITE_MODE_HTTPS_IMAGE_COMPRESSION_INFOBAR_ANDROID"/> </enum> <enum name="InfoBarResponse"> @@ -35721,6 +36562,11 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="1" label="Empty URL"/> </enum> +<enum name="IOSActivityScenario"> + <int value="0" label="Tab Share Button"/> + <int value="1" label="QR Code Image"/> +</enum> + <enum name="IOSContentSizeCategory"> <int value="0" label="Unspecified"/> <int value="1" label="ExtraSmall"/> @@ -35737,6 +36583,13 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="12" label="AccessibilityExtraExtraExtraLarge"/> </enum> +<enum name="iOSCredentialIdentityStoreErrorForReporting"> + <int value="0" label="Unknown Error"/> + <int value="1" label="Internal Error"/> + <int value="2" label="Store Disabled"/> + <int value="3" label="Store Busy"/> +</enum> + <enum name="IOSDeviceThermalState"> <int value="0" label="Unknown"/> <int value="1" label="Nominal"/> @@ -35784,6 +36637,12 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="3" label="App Bundle URL, not handled"/> </enum> +<enum name="IOSJavascriptContentBlockType"> + <int value="0" label="Cookie"/> + <int value="1" label="Local Storage"/> + <int value="2" label="Session Storage"/> +</enum> + <enum name="IOSJavaScriptDialogDismissalCause"> <int value="0" label="Tab closed">The tab owning the dialog was closed</int> <int value="1" label="Closed by user"> @@ -35855,6 +36714,26 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="7" label="Search Image"/> </enum> +<enum name="IOSShareAction"> + <int value="0" label="Unknown"/> + <int value="1" label="Cancel"/> + <int value="2" label="Add/Edit Bookmark"/> + <int value="3" label="Copy to Clipboard"/> + <int value="4" label="Save Image"/> + <int value="5" label="Find in Page"/> + <int value="6" label="Print"/> + <int value="7" label="Add to Reading List"/> + <int value="8" label="Mail"/> + <int value="9" label="Request Desktop/Mobile Site"/> + <int value="10" label="Send Tab To Self"/> + <int value="11" label="Create QR Code"/> + <int value="12" label="Send to iMessage"/> + <int value="13" label="Unknown Google App"/> + <int value="14" label="Native Social App"/> + <int value="15" label="Third-party Messaging App"/> + <int value="16" label="Third-party Content App"/> +</enum> + <enum name="IOSShareExtensionReceivedEntrySource"> <int value="0" label="Unknown Application"/> <int value="1" label="Chrome share extension"/> @@ -36102,6 +36981,47 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="15" label="Navigated To Link Not On SRP"> The navigation off of the Google SRP was to a url that was not on the SRP. </int> + <int value="16" label="Prefetch Used, No Probe, Did NoStatePrefetch"> + The url was prefetched and No State Prerendered and committed without a + probe to the origin. + </int> + <int value="17" label="Prefetch Used, Probe Success, Did NoStatePrefetch"> + The url was prefetched and No State Prerendered and committed with a + successful probe to the origin. + </int> + <int value="18" label="Prefetch Not Used, Probe Failed, Did NoStatePrefetch"> + The url was prefetched and No State Prerendered but the origin probe failed + and the prefetch was not used. + </int> + <int value="19" + label="Prefetch Used, No Probe, NoStatePrefetch Attempt Denied"> + The url was prefetched but was not No State Prerendered despite attempting + to do so and committed without a probe to the origin. + </int> + <int value="20" + label="Prefetch Used, Probe Success, NoStatePrefetch Attempt Denied"> + The url was prefetched but was not No State Prerendered despite attempting + to do so and committed with a successful probe to the origin. + </int> + <int value="21" + label="Prefetch Not Used, Probe Failed, NoStatePrefetch Attempt Denied"> + The url was prefetched but was not No State Prerendered despite attempting + to do so, and the origin probe failed and the prefetch was not used. + </int> + <int value="22" label="Prefetch Used, No Probe, NoStatePrefetch Not Started"> + The url was prefetched and eligible for NoStatePrerender but wasn't started + and committed without a probe to the origin. + </int> + <int value="23" + label="Prefetch Used, Probe Success, NoStatePrefetch Not Started"> + The url was prefetched and eligible for NoStatePrerender but wasn't started + and committed with a successful probe to the origin. + </int> + <int value="24" + label="Prefetch Not Used, Probe Failed, NoStatePrefetch Not Started"> + The url was prefetched and eligible for NoStatePrerender but wasn't started + and the origin probe failed and the prefetch was not used. + </int> </enum> <enum name="IsPinnedToTaskbarResult"> @@ -37281,6 +38201,17 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="2" label="Language Details">iOS only.</int> </enum> +<enum name="LargestContentfulPaint.TerminationState"> + <summary> + The state of the largest contentful paint algorithm at the time of + reporting. + </summary> + <int value="0" label="Reported"/> + <int value="1" label="LargestImageLoading"/> + <int value="2" label="NotFound"/> + <int value="3" label="FoundButNotReported"/> +</enum> + <enum name="LargestContentType"> <summary> Whether the LargestContentfulPaint results from image or text. These are the @@ -38040,6 +38971,27 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="3" label="Last item"/> </enum> +<enum name="LiteVideoBlocklistReason"> + <int value="0" label="None"/> + <int value="1" label="Allowed"/> + <int value="2" label="Navigation not eligibile"/> + <int value="3" label="Blocklisted due to rebuffers"/> + <int value="4" label="Blocklisted due to reloads/back-forwards"/> +</enum> + +<enum name="LiteVideoDecision"> + <int value="0" label="None"/> + <int value="1" label="Allowed"/> + <int value="2" label="Not Allowed"/> + <int value="3" label="Holdback"/> +</enum> + +<enum name="LiteVideoThrottleResult"> + <int value="0" label="None"/> + <int value="1" label="Throttled without stopping"/> + <int value="2" label="Throttled but stopped due to rebuffer"/> +</enum> + <enum name="LiveCaptionsSessionEvent"> <int value="0" label="Stream started"/> <int value="1" label="Stream finished"/> @@ -38115,6 +39067,7 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="2" label="Load failed - File read error"/> <int value="3" label="Load failed - Checksum mismatch"/> <int value="4" label="Load failed - Version mismatch"/> + <int value="5" label="Load failed - Checksum not found in prefs"/> </enum> <enum name="LoadType"> @@ -38151,6 +39104,18 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> <int value="1" label="SinkNeverStarted"/> </enum> +<enum name="LocalSearchServiceBackend"> + <int value="0" label="LinearMap"/> + <int value="1" label="InvertedIndex"/> +</enum> + +<enum name="LocalSearchServiceResponseStatus"> + <int value="0" label="UnknownError"/> + <int value="1" label="Success"/> + <int value="2" label="EmptyQuery"/> + <int value="3" label="EmptyIndex"/> +</enum> + <enum name="LocalSiteCharacteristicsDBInitStatus"> <int value="0" label="Success"/> <int value="1" label="Corruption"/> @@ -38357,6 +39322,7 @@ from previous Chrome versions. <int value="-2111196530" label="EnableAssistantLauncherUI:disabled"/> <int value="-2108564200" label="AutofillUpstream:disabled"/> <int value="-2106960993" label="HarfBuzzPDFSubsetter:disabled"/> + <int value="-2105498697" label="EnableImeSandbox:disabled"/> <int value="-2105133782" label="GesturePropertiesDBusService:enabled"/> <int value="-2104950596" label="HandwritingGesture:enabled"/> <int value="-2104654357" label="GamesHub:enabled"/> @@ -38461,13 +39427,16 @@ from previous Chrome versions. <int value="-2001869199" label="ShillSandboxing:enabled"/> <int value="-2000567059" label="SimplifyHttpsIndicator:enabled"/> <int value="-1999892428" label="force-ui-direction"/> + <int value="-1999824144" label="NewDragSpecInLauncher:disabled"/> <int value="-1999617045" label="PDFAnnotations:disabled"/> <int value="-1998927516" label="enable-md-settings"/> <int value="-1996233283" label="OmniboxGroupSuggestionsBySearchVsUrl:enabled"/> + <int value="-1996087238" label="kAutofillEnableOffersInDownstream:enabled"/> <int value="-1993730028" label="CrostiniPortForwarding:enabled"/> <int value="-1990614981" label="StoragePressureUI:disabled"/> <int value="-1989747818" label="TabStripKeyboardFocus:disabled"/> + <int value="-1988840552" label="WebViewExtraHeadersSameOriginOnly:disabled"/> <int value="-1985452239" label="SmartDim20190221:disabled"/> <int value="-1985239289" label="AutofillRichMetadataQueries:enabled"/> <int value="-1985025593" label="file-manager-enable-new-gallery"/> @@ -38476,6 +39445,7 @@ from previous Chrome versions. <int value="-1982700103" label="EnableAppsGridGapFeature:enabled"/> <int value="-1980328793" label="trace-upload-url"/> <int value="-1977496883" label="ViewPasswords:enabled"/> + <int value="-1975719988" label="GlobalMediaControlsSeamlessTransfer:enabled"/> <int value="-1973722176" label="VoiceSearchOnLocalNtp:enabled"/> <int value="-1972383451" label="disable-pinch"/> <int value="-1972312724" label="OfflinePagesLoadSignalCollecting:enabled"/> @@ -38583,7 +39553,6 @@ from previous Chrome versions. <int value="-1885074774" label="ShelfScrollable:enabled"/> <int value="-1883170077" label="EnableHtmlBaseUsernameDetector:disabled"/> <int value="-1882330924" label="NTPArticleSuggestions:enabled"/> - <int value="-1881250251" label="InterestFeedContentSuggestions:disabled"/> <int value="-1880355454" label="disable-topchrome-md"/> <int value="-1879877238" label="disable-cancel-all-touches"/> <int value="-1876881908" @@ -38614,6 +39583,7 @@ from previous Chrome versions. <int value="-1859095876" label="Previews:disabled"/> <int value="-1858284725" label="TabGroupsFeedback:enabled"/> <int value="-1856902397" label="LoadingWithMojo:enabled"/> + <int value="-1856718338" label="AndroidDefaultBrowserPromo:disabled"/> <int value="-1855347512" label="FormControlsRefresh:disabled"/> <int value="-1854432127" label="ChromeHomePullToRefreshIphAtTop:disabled"/> <int value="-1854372227" label="VrBrowsingExperimentalFeatures:enabled"/> @@ -38631,6 +39601,7 @@ from previous Chrome versions. <int value="-1842511843" label="DiceWebSigninInterception:enabled"/> <int value="-1840608422" label="AdvancedPpdAttributes:disabled"/> <int value="-1839874877" label="WebXROrientationSensorDevice:enabled"/> + <int value="-1839540507" label="OneGoogleBarModalOverlays:enabled"/> <int value="-1839496458" label="disable-file-manager-touch-mode"/> <int value="-1838482444" label="disable-settings-window"/> <int value="-1837401779" label="EnableFileManagerFormatDialog:enabled"/> @@ -38645,6 +39616,7 @@ from previous Chrome versions. <int value="-1832575380" label="show-saved-copy"/> <int value="-1832221649" label="disable-out-of-process-pac"/> <int value="-1830472348" label="CryptAuthV2DeviceSync:enabled"/> + <int value="-1830199297" label="force-empty-corb-allowlist"/> <int value="-1826649921" label="ContextualSuggestionsButton:disabled"/> <int value="-1826309726" label="ArcCustomTabsExperiment:disabled"/> <int value="-1823193038" label="QuietNotificationPrompts:disabled"/> @@ -38663,11 +39635,14 @@ from previous Chrome versions. <int value="-1808576075" label="SystemTrayUnified:enabled"/> <int value="-1808477331" label="MidiManagerCros:disabled"/> <int value="-1807797669" label="google-doodle-url"/> + <int value="-1806739839" + label="UseLookalikesForNavigationSuggestions:disabled"/> <int value="-1804485171" label="disable-fullscreen-tab-detaching"/> <int value="-1802502753" label="enable-manual-password-generation:enabled"/> <int value="-1799801575" label="CookieDeprecationMessages:enabled"/> <int value="-1798337879" label="enable-md-downloads"/> <int value="-1797739460" label="brotli-encoding:disabled"/> + <int value="-1794276584" label="OnDeviceAssistant:enabled"/> <int value="-1791226955" label="BreakingNewsPush:enabled"/> <int value="-1790227231" label="show-autofill-signatures"/> <int value="-1789139269" label="SmbFs:disabled"/> @@ -38676,6 +39651,7 @@ from previous Chrome versions. label="OmniboxSpeculativeServiceWorkerStartOnQueryInput:enabled"/> <int value="-1779753607" label="VizDisplayCompositor:disabled"/> <int value="-1778993296" label="ContextualSearchMlTapSuppression:disabled"/> + <int value="-1778202807" label="DelayAsyncScriptExecution:enabled"/> <int value="-1776351704" label="DesktopPWAsOmniboxInstall:disabled"/> <int value="-1774818943" label="VrWebInputEditing:enabled"/> <int value="-1772942854" label="LongPressBackForHistory:enabled"/> @@ -38743,7 +39719,10 @@ from previous Chrome versions. <int value="-1696619241" label="OmniboxWrapPopupPosition:disabled"/> <int value="-1696366449" label="disable-permissions-bubbles"/> <int value="-1695774453" label="skip-extra-ash-window-positioning"/> + <int value="-1692967465" + label="ContextMenuPerformanceInfoAndRemoteHintFetching:enabled"/> <int value="-1692384483" label="disambiguate-autofill-server-name-types"/> + <int value="-1692107333" label="AccessibilityCursorColor:disabled"/> <int value="-1691892152" label="SafeSearchUrlReporting:disabled"/> <int value="-1691668194" label="enable-new-bookmark-apps"/> <int value="-1691602043" label="DisableOfficeEditingComponentApp:enabled"/> @@ -38806,6 +39785,7 @@ from previous Chrome versions. <int value="-1618707999" label="enable-webfonts-intervention-v2"/> <int value="-1617183455" label="OfflineRecentPages:disabled"/> <int value="-1616855537" label="enable-manual-password-generation:disabled"/> + <int value="-1615727417" label="OmniboxSearchReadyIncognito:enabled"/> <int value="-1615704396" label="AutofillLocalCardMigrationUsesStrikeSystemV2:disabled"/> <int value="-1614912400" label="enable-link-disambiguation-popup"/> @@ -38816,6 +39796,7 @@ from previous Chrome versions. label="AndroidPartnerCustomizationPhenotype:enabled"/> <int value="-1607691647" label="MojoVideoEncodeAccelerator:disabled"/> <int value="-1607297082" label="ash-enable-persistent-window-bounds"/> + <int value="-1607175130" label="force-enable-metrics-reporting"/> <int value="-1605567628" label="disable-overlay-scrollbar"/> <int value="-1604051051" label="SpecialLocale:disabled"/> <int value="-1603404046" label="V8VmFuture:disabled"/> @@ -38844,6 +39825,7 @@ from previous Chrome versions. <int value="-1575430234" label="DontPrefetchLibraries:disabled"/> <int value="-1575375861" label="enable-captive-portal-random-url"/> <int value="-1575131701" label="AppServiceAsh:disabled"/> + <int value="-1573468162" label="ClientStorageAccessContextAuditing:enabled"/> <int value="-1572010356" label="enable-privet-v3"/> <int value="-1571841513" label="enable-devtools-experiments"/> <int value="-1568559155" label="WebSocketHandshakeReuseConnection:enabled"/> @@ -38884,8 +39866,11 @@ from previous Chrome versions. <int value="-1533258008" label="CalculateNativeWinOcclusion:enabled"/> <int value="-1532035450" label="DragTabsInTabletMode:disabled"/> <int value="-1532014193" label="disable-encryption-migration"/> + <int value="-1530711962" label="PrivacyElevatedAndroid:disabled"/> <int value="-1529907580" label="ImeServiceConnectable:disabled"/> <int value="-1528455406" label="OmniboxPedalSuggestions:enabled"/> + <int value="-1525129540" + label="OmniboxUIExperimentRevealSteadyStateUrlPathQueryAndRefOnHover:disabled"/> <int value="-1524323669" label="InstalledAppsInCbd:enabled"/> <int value="-1521296022" label="UpdateNotificationScheduleServiceImmediateShowOption:disabled"/> @@ -38897,6 +39882,7 @@ from previous Chrome versions. <int value="-1514943439" label="ash-enable-swipe-to-close-in-overview-mode"/> <int value="-1514611301" label="enable-data-reduction-proxy-bypass-warnings"/> <int value="-1512656386" label="disable-new-audio-rendering-mixing-strategy"/> + <int value="-1512555526" label="PaintPreviewShowOnStartup:enabled"/> <int value="-1510839574" label="disable-sync-synced-notifications"/> <int value="-1508852757" label="CreditCardAutofillTouchBar:disabled"/> <int value="-1506880454" @@ -38936,8 +39922,10 @@ from previous Chrome versions. <int value="-1469536698" label="ChromeHomeDoodle:enabled"/> <int value="-1469228683" label="QuickUnlockPinSignin:disabled"/> <int value="-1468126425" label="ResourceLoadScheduler:disabled"/> + <int value="-1467839547" label="ContextMenuShopWithGoogleLens:disabled"/> <int value="-1467642274" label="KeyboardShortcutViewer:disabled"/> <int value="-1467332609" label="tab-management-experiment-type-anise"/> + <int value="-1467062925" label="AndroidDefaultBrowserPromo:enabled"/> <int value="-1466990325" label="CrosCompUpdates:enabled"/> <int value="-1466862366" label="TouchToFillAndroid:enabled"/> <int value="-1466759286" label="TabModalJsDialog:disabled"/> @@ -38978,6 +39966,7 @@ from previous Chrome versions. <int value="-1433087548" label="enable-app-install-alerts"/> <int value="-1431722713" label="TabFreeze:disabled"/> <int value="-1431563697" label="WebPaymentsMethodSectionOrderV2:enabled"/> + <int value="-1430090822" label="EnableSharedImageForWebview:disabled"/> <int value="-1428589407" label="WebRTCPipeWireCapturer:disabled"/> <int value="-1426817842" label="BlockTabUnders:enabled"/> <int value="-1426150007" label="ignore-previews-blacklist"/> @@ -39053,6 +40042,7 @@ from previous Chrome versions. <int value="-1357778876" label="ExplicitLanguageAsk:enabled"/> <int value="-1357655121" label="enable-iframe-based-signin"/> <int value="-1357008397" label="ContextualSuggestionsCarousel:disabled"/> + <int value="-1353714232" label="FilesTransferDetails:enabled"/> <int value="-1353195918" label="UseSkiaRenderer:enabled"/> <int value="-1351968795" label="SingleProcessMash:enabled"/> <int value="-1351328710" @@ -39105,7 +40095,6 @@ from previous Chrome versions. <int value="-1302904242" label="enable-navigation-tracing"/> <int value="-1302859198" label="enable-stylus-virtual-keyboard:disabled"/> <int value="-1297079591" label="EnableRemovingAllThirdPartyCookies:disabled"/> - <int value="-1294656363" label="UnifiedMessageCenterRefactor:enabled"/> <int value="-1294050129" label="ContentFullscreen:disabled"/> <int value="-1293987566" label="OmniboxZeroSuggestionsOnNTPRealbox:disabled"/> <int value="-1292615467" @@ -39148,6 +40137,7 @@ from previous Chrome versions. <int value="-1256823053" label="WebRtcHWVP9Encoding:enabled"/> <int value="-1256747007" label="OminboxUIExperimentUseGenericSearchEngineIcon:disabled"/> + <int value="-1256187739" label="ClientStorageAccessContextAuditing:disabled"/> <int value="-1255427595" label="HomePageButtonForceEnabled:enabled"/> <int value="-1254640444" label="OmniboxEnableClipboardProviderTextSuggestions:disabled"/> @@ -39160,7 +40150,6 @@ from previous Chrome versions. <int value="-1250965985" label="MediaFeeds:enabled"/> <int value="-1250611337" label="ChromeVoxArcSupport:disabled"/> <int value="-1248478422" label="enable-zip-archiver-packer"/> - <int value="-1247631459" label="TerminalSystemAppSplits:disabled"/> <int value="-1246840031" label="OptInImeMenu:disabled"/> <int value="-1245617305" label="NewProfilePicker:enabled"/> <int value="-1244772303" label="NtpRealboxMatchOmniboxTheme:enabled"/> @@ -39178,6 +40167,8 @@ from previous Chrome versions. <int value="-1232629319" label="ResamplingScrollEvents:disabled"/> <int value="-1231507397" label="NtpZeroSuggest:enabled"/> <int value="-1230610048" label="SyncWifiConfigurations:disabled"/> + <int value="-1228546373" + label="UseLookalikesForNavigationSuggestions:enabled"/> <int value="-1228035246" label="PasswordEditingAndroid:enabled"/> <int value="-1227660915" label="WebContentsOcclusion:disabled"/> <int value="-1225772151" label="OfflineHome:disabled"/> @@ -39227,6 +40218,8 @@ from previous Chrome versions. <int value="-1183321008" label="ImeDecoderWithSandbox:disabled"/> <int value="-1183009666" label="OfflinePagesLimitlessPrefetching:disabled"/> <int value="-1182777927" label="ShareButtonInTopToolbar:enabled"/> + <int value="-1182087678" + label="CrossOriginOpenerPolicyAccessReporting:disabled"/> <int value="-1178350793" label="RemoteCopyReceiver:disabled"/> <int value="-1177802205" label="enable-hosted-app-quit-notification"/> <int value="-1176748003" @@ -39286,6 +40279,7 @@ from previous Chrome versions. <int value="-1126217973" label="IdleTimeSpellChecking:disabled"/> <int value="-1125840399" label="ViewsBrowserWindows:enabled"/> <int value="-1125133283" label="disable-threaded-scrolling"/> + <int value="-1122899696" label="PluginVmShowMicrophonePermissions:disabled"/> <int value="-1122853453" label="LazyImageLoading:enabled"/> <int value="-1122458028" label="UnifiedMediaView:enabled"/> <int value="-1121931029" label="DownloadsForeground:enabled"/> @@ -39318,6 +40312,8 @@ from previous Chrome versions. <int value="-1083736482" label="OmniboxCompactSuggestions:enabled"/> <int value="-1083547717" label="NotificationExpansionAnimation:disabled"/> <int value="-1082302549" label="scan-cards-in-web-payments"/> + <int value="-1081295536" + label="ContextMenuSearchAndShopWithGoogleLens:enabled"/> <int value="-1078093206" label="ash-debug-shortcuts"/> <int value="-1077752943" label="enable-password-generation"/> <int value="-1075156797" label="enable-brotli"/> @@ -39350,6 +40346,7 @@ from previous Chrome versions. <int value="-1045882995" label="UseNewDoodleApi:enabled"/> <int value="-1044244605" label="UpdateNotificationSchedulingIntegration:enabled"/> + <int value="-1043883835" label="Sharesheet:enabled"/> <int value="-1042723808" label="HappinessTrackingSurveysForDesktopSettingsPrivacy:enabled"/> <int value="-1042579955" label="ChromeOSParentalControlsSettings:enabled"/> @@ -39368,6 +40365,7 @@ from previous Chrome versions. <int value="-1028251580" label="GamepadPollingInterval:disabled"/> <int value="-1027254093" label="LockScreenNotifications:disabled"/> <int value="-1027124889" label="NtlmV2Enabled:enabled"/> + <int value="-1026192558" label="OopRasterizationDDL:enabled"/> <int value="-1022971520" label="enable-search-button-in-omnibox-for-str"/> <int value="-1022165708" label="BreakingNewsPush:disabled"/> <int value="-1021097344" label="PolicyAtomicGroup:disabled"/> @@ -39378,6 +40376,8 @@ from previous Chrome versions. <int value="-1018454657" label="SharingPeerConnectionReceiver:enabled"/> <int value="-1016669222" label="CloudPrinterHandler:enabled"/> <int value="-1016202433" label="disable-add-to-shelf"/> + <int value="-1016196171" + label="MaintainShelfStateWhenEnteringOverview:enabled"/> <int value="-1015006759" label="ImportantSitesInCBD:disabled"/> <int value="-1014936248" label="SyncUSSBookmarks:enabled"/> <int value="-1014649471" label="committed-interstitials"/> @@ -39403,6 +40403,7 @@ from previous Chrome versions. label="OmniboxSpeculativeServiceWorkerStartOnQueryInput:disabled"/> <int value="-990187062" label="SendTabToSelfShowSendingUI:enabled"/> <int value="-989671895" label="OfflineIndicatorAlwaysHttpProbe:enabled"/> + <int value="-989050085" label="AppStoreBillingDebug:enabled"/> <int value="-987470173" label="ClickToCallOpenDialerDirectly:disabled"/> <int value="-984052166" label="DoodlesOnLocalNtp:enabled"/> <int value="-983342281" label="TabSwitcherLongpressMenu:disabled"/> @@ -39428,6 +40429,7 @@ from previous Chrome versions. <int value="-969332901" label="stop-non-timers-in-background:disabled"/> <int value="-968675274" label="Rar2Fs:enabled"/> <int value="-968010468" label="SharedArrayBuffer:disabled"/> + <int value="-967825290" label="WebViewConnectionlessSafeBrowsing:disabled"/> <int value="-966290456" label="WebAuthenticationCtap2:enabled"/> <int value="-965842218" label="MultiDeviceApi:disabled"/> <int value="-964676765" label="enable-accelerated-mjpeg-decode"/> @@ -39447,6 +40449,7 @@ from previous Chrome versions. <int value="-945806012" label="DownloadsUi:enabled"/> <int value="-943304570" label="PaintHolding:enabled"/> <int value="-938178614" label="enable-suggestions-with-substring-match"/> + <int value="-937430451" label="IntensiveWakeUpThrottling:disabled"/> <int value="-933377608" label="OmniboxUIExperimentHideSteadyStateUrlScheme:enabled"/> <int value="-933316841" label="enable-permissions-blacklist"/> @@ -39481,6 +40484,8 @@ from previous Chrome versions. <int value="-898594349" label="ash-enable-stable-overview-order"/> <int value="-898499262" label="ImprovedA2HS:enabled"/> <int value="-898005938" label="disable-pinch-virtual-viewport"/> + <int value="-897994913" + label="OmniboxUIExperimentRevealSteadyStateUrlPathQueryAndRefOnHover:enabled"/> <int value="-897069393" label="kAutofillRationalizeRepeatedServerPredictions:disabled"/> <int value="-894214299" label="fill-on-account-select:enabled"/> @@ -39512,7 +40517,6 @@ from previous Chrome versions. <int value="-868138290" label="CrostiniPortForwarding:disabled"/> <int value="-867087281" label="enable-virtual-keyboard"/> <int value="-866993841" label="OfflinePagesCTV2:disabled"/> - <int value="-865414778" label="ContextMenuPerformanceInfo:enabled"/> <int value="-864266073" label="cros-regions-mode"/> <int value="-864234985" label="UseDdljsonApi:enabled"/> <int value="-864232986" label="StartSurfaceAndroid:disabled"/> @@ -39584,6 +40588,7 @@ from previous Chrome versions. <int value="-778126349" label="DownloadsLocationChange:enabled"/> <int value="-778098896" label="EnableAggregatedMlSearchRanking:disabled"/> <int value="-778047974" label="CrostiniUseBusterImage:disabled"/> + <int value="-777568290" label="FilesTransferDetails:disabled"/> <int value="-777126951" label="FontSrcLocalMatching:enabled"/> <int value="-776686417" label="SiteExplorationUi:disabled"/> <int value="-775321548" label="UseNewDoodleApi:disabled"/> @@ -39669,6 +40674,7 @@ from previous Chrome versions. <int value="-694622753" label="VizHitTest:disabled"/> <int value="-694187898" label="MashOopViz:disabled"/> <int value="-687302378" label="BluetoothFixA2dpPacketSize:enabled"/> + <int value="-686761381" label="UseHDRTransferFunction:enabled"/> <int value="-684900739" label="disable-merge-key-char-events"/> <int value="-684503292" label="OmniboxTabSwitchSuggestionsDedicatedRow:enabled"/> @@ -39754,7 +40760,9 @@ from previous Chrome versions. <int value="-596337171" label="disable-ash-sidebar"/> <int value="-595819071" label="OmniboxUIExperimentBlueTitlesOnPageSuggestions:disabled"/> + <int value="-594076614" label="PluginVmShowCameraPermissions:disabled"/> <int value="-593536514" label="ExperimentalTabController:enabled"/> + <int value="-591874964" label="LiteVideo:enabled"/> <int value="-589096918" label="ash-enable-fullscreen-app-list"/> <int value="-582870536" label="BluetoothNextHandsfreeProfile:enabled"/> <int value="-579192400" label="disable-input-view"/> @@ -39838,6 +40846,7 @@ from previous Chrome versions. <int value="-494722408" label="ContentSuggestionsLargeThumbnail:enabled"/> <int value="-493551777" label="StaleWhileRevalidate2:disabled"/> <int value="-492864618" label="NTPForeignSessionsSuggestions:disabled"/> + <int value="-491546546" label="MeteredShowToggle:enabled"/> <int value="-491131428" label="OmniboxNewAnswerLayout:disabled"/> <int value="-488779992" label="blink-settings"/> <int value="-488449930" label="SafetyCheckAndroid:enabled"/> @@ -39864,6 +40873,8 @@ from previous Chrome versions. label="AutofillUpstreamEditableExpirationDate:enabled"/> <int value="-468697885" label="ArcInputMethod:enabled"/> <int value="-467792766" label="ReengagementNotification:enabled"/> + <int value="-466704882" label="webview-log-js-console-messages"/> + <int value="-465381408" label="Sharesheet:disabled"/> <int value="-462554210" label="OminboxUIExperimentUseGenericSearchEngineIcon:enabled"/> <int value="-462404204" label="CryptAuthV2DeviceSync:disabled"/> @@ -39880,6 +40891,7 @@ from previous Chrome versions. <int value="-450976085" label="AutofillSaveCreditCardUsesImprovedMessaging:disabled"/> <int value="-449465495" label="disable-browser-task-scheduler"/> + <int value="-446560063" label="finch-seed-min-update-period"/> <int value="-444867364" label="Metal:enabled"/> <int value="-442352394" label="IframeOneGoogleBar:disabled"/> <int value="-438379844" label="SwapSideVolumeButtonsForOrientation:enabled"/> @@ -39905,6 +40917,7 @@ from previous Chrome versions. <int value="-406850932" label="EnableEmojiContextMenu:enabled"/> <int value="-405380243" label="enable-encryption-migration"/> <int value="-403701720" label="DirectActions:enabled"/> + <int value="-403649153" label="WebViewBrotliSupport:disabled"/> <int value="-402038055" label="OmniboxUIExperimentBlueTitlesAndGrayUrlsOnPageSuggestions:enabled"/> <int value="-401170566" @@ -39920,6 +40933,8 @@ from previous Chrome versions. <int value="-396046249" label="PhotoPickerVideoSupport:enabled"/> <int value="-395606844" label="enable-site-settings"/> <int value="-395454065" label="DisablePostScriptPrinting:disabled"/> + <int value="-389664522" + label="OmniboxUIExperimentHideSteadyStateUrlPathQueryAndRefOnInteraction:enabled"/> <int value="-387606010" label="ArcBootCompletedBroadcast:enabled"/> <int value="-386971711" label="ChromeSharingHubV15:disabled"/> <int value="-385337473" label="enable-fast-unload"/> @@ -39943,6 +40958,7 @@ from previous Chrome versions. <int value="-364587218" label="ResourceLoadScheduler:enabled"/> <int value="-364325011" label="enable-files-quick-view"/> <int value="-364267715" label="disable-native-cups"/> + <int value="-363885137" label="StoragePressureEvent:disabled"/> <int value="-362821234" label="ExperimentalUi:enabled"/> <int value="-362022976" label="disable-quirks-client"/> <int value="-361948582" label="material-security-verbose"/> @@ -39957,6 +40973,7 @@ from previous Chrome versions. <int value="-349437334" label="UseDdljsonApi:disabled"/> <int value="-349380607" label="AndroidNightMode:disabled"/> <int value="-349057743" label="extensions-on-chrome-urls"/> + <int value="-347654657" label="CSSColorSchemeUARendering:enabled"/> <int value="-346413328" label="UseNewAcceptLanguageHeader:disabled"/> <int value="-345838366" label="enable-hosted-apps-in-windows"/> <int value="-345324571" label="enable-quirks-client"/> @@ -39988,12 +41005,14 @@ from previous Chrome versions. <int value="-315741215" label="IntentBlockExternalFormRedirectsNoGesture:enabled"/> <int value="-315604713" label="WebUSB:enabled"/> + <int value="-315333837" label="AutofillEnableCardNicknameUpstream:enabled"/> <int value="-314910380" label="disable-distance-field-text"/> <int value="-314605926" label="protect-sync-credential-on-reauth:enabled"/> <int value="-311148335" label="v8-pac-mojo-out-of-process"/> <int value="-310908854" label="new-wallpaper-picker"/> <int value="-310615515" label="EnableSuggestedFiles:disabled"/> <int value="-307260007" label="ExtensionsCheckup:disabled"/> + <int value="-306935714" label="lite-video-force-override-decision"/> <int value="-304951461" label="TextSuggestionsTouchBar:enabled"/> <int value="-304777110" label="PreconnectToSearch:disabled"/> <int value="-300542825" label="ChromeShareQRCode:disabled"/> @@ -40013,6 +41032,7 @@ from previous Chrome versions. <int value="-281844827" label="AutofillCreditCardAblationExperiment:enabled"/> <int value="-279920685" label="affiliation-based-matching:enabled"/> <int value="-279493876" label="WebVRExperimentalRendering:enabled"/> + <int value="-279208712" label="isolated-prerender-nsp-enabled"/> <int value="-278347667" label="default-tile-height"/> <int value="-277144896" label="enable-viewport-meta"/> <int value="-277118813" label="InterestFeedNotifications:disabled"/> @@ -40023,6 +41043,8 @@ from previous Chrome versions. <int value="-275619817" label="disable-proximity-auth-bluetooth-low-energy-discovery"/> <int value="-275164173" label="QuickUnlockPinSignin:enabled"/> + <int value="-273821346" + label="MaintainShelfStateWhenEnteringOverview:disabled"/> <int value="-271790049" label="ArcUsbHost:enabled"/> <int value="-271084069" label="ClickToCallUI:enabled"/> <int value="-270626757" label="log-net-log"/> @@ -40117,6 +41139,7 @@ from previous Chrome versions. <int value="-153299083" label="NewProfilePicker:disabled"/> <int value="-152677714" label="AsmJsToWebAssembly:enabled"/> <int value="-152632720" label="RuntimeHostPermissions:enabled"/> + <int value="-152439608" label="download-later-debug-on-wifi"/> <int value="-147283486" label="enable-network-portal-notification"/> <int value="-146552997" label="enable-affiliation-based-matching"/> <int value="-144134779" label="AndroidPayIntegrationV2:disabled"/> @@ -40146,6 +41169,7 @@ from previous Chrome versions. <int value="-120091289" label="CrostiniAppSearch:enabled"/> <int value="-119055644" label="GenericSensor:enabled"/> <int value="-118993417" label="TLS13HardeningForLocalAnchors:disabled"/> + <int value="-118897826" label="IntensiveWakeUpThrottling:enabled"/> <int value="-116692797" label="HTTPAuthCommittedInterstitials:enabled"/> <int value="-115834377" label="EnableUnifiedMultiDeviceSetup:disabled"/> <int value="-114807608" label="TerminalSystemApp:disabled"/> @@ -40165,6 +41189,7 @@ from previous Chrome versions. <int value="-100148609" label="EvDetailsInPageInfo:disabled"/> <int value="-99781021" label="disable-roboto-font-ui"/> <int value="-97145978" label="DesktopPWAsStayInWindow:enabled"/> + <int value="-94335249" label="UseAAudioDriver:enabled"/> <int value="-92116820" label="InlineUpdateFlow:enabled"/> <int value="-91767554" label="enable-de-jelly"/> <int value="-90521375" label="PDFTwoUpView:enabled"/> @@ -40226,6 +41251,7 @@ from previous Chrome versions. <int value="-41672681" label="WebUITabStripDemoOptions:disabled"/> <int value="-40935502" label="ContextualSuggestionsSlimPeekUI:enabled"/> <int value="-36503306" label="HomepageLocationPolicy:enabled"/> + <int value="-36234530" label="PluginVmShowMicrophonePermissions:enabled"/> <int value="-35388407" label="AshNewSystemMenu:disabled"/> <int value="-31444029" label="MediaInspectorLogging:disabled"/> <int value="-30966385" label="enable-hardware-overlays"/> @@ -40323,6 +41349,7 @@ from previous Chrome versions. <int value="59784035" label="ImeThread:disabled"/> <int value="59964519" label="OmniboxEnableClipboardProvider:disabled"/> <int value="60023885" label="AutofillNoLocalSaveOnUnmaskSuccess:disabled"/> + <int value="61130490" label="WebViewBrotliSupport:enabled"/> <int value="61205887" label="enable-text-input-focus-manager"/> <int value="61466986" label="AsyncDns:disabled"/> <int value="63187126" label="DownloadsAutoResumptionNative:enabled"/> @@ -40339,6 +41366,7 @@ from previous Chrome versions. <int value="79595680" label="OmniboxTabSwitchSuggestions:enabled"/> <int value="79729295" label="WebBundles:enabled"/> <int value="82303171" label="AccountIdMigration:disabled"/> + <int value="82816692" label="IntentHandlingSharing:disabled"/> <int value="83422372" label="ChromeHomePersonalizedOmniboxSuggestions:enabled"/> <int value="84911198" label="ScanCardsInWebPayments:disabled"/> @@ -40378,7 +41406,9 @@ from previous Chrome versions. <int value="123097915" label="FaviconsFromWebManifest:enabled"/> <int value="125581289" label="WebRtcHWVP8Encoding:disabled"/> <int value="125934378" label="enable-password-link"/> + <int value="127789400" label="PrivacyElevatedAndroid:enabled"/> <int value="128086566" label="D3D11VideoDecoder:enabled"/> + <int value="129458360" label="LiteVideo:disabled"/> <int value="131881947" label="D3DVsync:enabled"/> <int value="132560299" label="OmniboxUIExperimentHideSteadyStateUrlScheme:disabled"/> @@ -40426,6 +41456,7 @@ from previous Chrome versions. <int value="194895489" label="passive-listeners-default"/> <int value="195335115" label="AudioWorkletRealtimeThread:disabled"/> <int value="195570937" label="EnableHomeLauncher:disabled"/> + <int value="196103097" label="PaintPreviewShowOnStartup:disabled"/> <int value="198719062" label="WebAssemblyLazyCompilation:disabled"/> <int value="198762155" label="SharingPeerConnectionSender:enabled"/> <int value="200347243" label="WebVRExperimentalRendering:disabled"/> @@ -40462,6 +41493,7 @@ from previous Chrome versions. label="HappinessTrackingSurveysForDesktopDemo:disabled"/> <int value="259021228" label="OffMainThreadFetch:disabled"/> <int value="259633436" label="AutofillDropdownLayout:disabled"/> + <int value="259812169" label="OmniboxSuggestionsWrapAround:disabled"/> <int value="262382944" label="GuestViewCrossProcessFrames:disabled"/> <int value="265830810" label="BackgroundTaskComponentUpdate:enabled"/> <int value="266322815" label="ChromeModernDesign:disabled"/> @@ -40543,6 +41575,7 @@ from previous Chrome versions. <int value="339671131" label="disable-per-user-timezone"/> <int value="341152650" label="SoundContentSetting:enabled"/> <int value="341851350" label="EnableDbusAndX11StatusIcons:enabled"/> + <int value="342431487" label="VizForWebView:enabled"/> <int value="342960463" label="SharingQRCodeGenerator:enabled"/> <int value="343445783" label="AllowScrollSettings:enabled"/> <int value="345664265" label="BlinkHeapIncrementalMarking:disabled"/> @@ -40608,7 +41641,6 @@ from previous Chrome versions. <int value="401983950" label="enable-spdy4"/> <int value="402143634" label="enable-search-button-in-omnibox-always"/> <int value="403288255" label="enable-wheel-scroll-latching"/> - <int value="403939322" label="UnifiedMessageCenterRefactor:disabled"/> <int value="405329388" label="FramebustingNeedsSameOriginOrUserGesture:enabled"/> <int value="408190863" label="OmniboxDisableInstantExtendedLimit:disabled"/> @@ -40634,6 +41666,7 @@ from previous Chrome versions. <int value="430776375" label="TextureLayerSkipWaitForActivation:disabled"/> <int value="430959979" label="SyncStandaloneTransport:disabled"/> <int value="431691805" label="MediaDocumentDownloadButton:enabled"/> + <int value="433667885" label="OnDeviceAssistant:disabled"/> <int value="434033638" label="PwaPersistentNotification:disabled"/> <int value="434530296" label="HappinessTrackingSurveysForDesktopMigration:disabled"/> @@ -40660,11 +41693,13 @@ from previous Chrome versions. <int value="464773709" label="OmniboxExperimentalSuggestScoring:enabled"/> <int value="466248382" label="disable-push-api-background-mode"/> <int value="468665559" label="TrilinearFiltering:disabled"/> + <int value="468901900" label="AppStoreBillingDebug:disabled"/> <int value="468959230" label="enable-non-validating-reload-on-refresh-content"/> <int value="470011024" label="NonValidatingReloadOnNormalReload:enabled"/> <int value="471224152" label="WinUseHybridSpellChecker:enabled"/> <int value="471519375" label="NewOsSettingsSearch:disabled"/> + <int value="471560693" label="webview-verbose-logging"/> <int value="471969274" label="MediaControlsExpandGesture:enabled"/> <int value="473958125" label="OmniboxWrapPopupPosition:enabled"/> <int value="474743272" label="material-design-ink-drop"/> @@ -40677,6 +41712,7 @@ from previous Chrome versions. <int value="480677983" label="WebXRARDOMOverlay:disabled"/> <int value="481506759" label="ServiceWorkerScriptStreaming:enabled"/> <int value="482232604" label="PercentBasedScrolling:enabled"/> + <int value="485957747" label="finch-seed-ignore-pending-download"/> <int value="487810392" label="EnablePalmOnToolTypePalm:enabled"/> <int value="491334698" label="ConditionalTabStripAndroid:enabled"/> <int value="492113129" label="ExperimentalAppBanners:enabled"/> @@ -40733,6 +41769,7 @@ from previous Chrome versions. <int value="557915559" label="CCTModuleCustomRequestHeader:enabled"/> <int value="558873715" label="SiteDetails:disabled"/> <int value="562979188" label="DesktopIOSPromotion:enabled"/> + <int value="564355877" label="OopRasterizationDDL:disabled"/> <int value="564522013" label="Av1Decoder:disabled"/> <int value="565406673" label="EnableVirtualKeyboardMdUi:enabled"/> <int value="567368307" label="enable-experimental-canvas-features"/> @@ -40809,6 +41846,8 @@ from previous Chrome versions. <int value="638865852" label="UsePreferredIntervalForVideo:disabled"/> <int value="640174751" label="AndroidMultipleDisplay:enabled"/> <int value="642037198" label="SoleIntegration:disabled"/> + <int value="643068614" + label="CrossOriginOpenerPolicyAccessReporting:enabled"/> <int value="643725031" label="disable-touch-feedback"/> <int value="644084236" label="CloseButtonsInactiveTabs:enabled"/> <int value="644189071" label="PermissionsBlacklist:enabled"/> @@ -40836,6 +41875,7 @@ from previous Chrome versions. <int value="667643314" label="LitePageServerPreviews:enabled"/> <int value="669097106" label="NtpRealboxMatchOmniboxTheme:disabled"/> <int value="673588373" label="OmniboxPedalSuggestions:disabled"/> + <int value="674788251" label="EnableNewBadgeOnMenuItems:enabled"/> <int value="677866592" label="ClickToCallUI:disabled"/> <int value="679251577" label="AccessibilityExposeARIAAnnotations:disabled"/> <int value="679931272" label="DcheckIsFatal:enabled"/> @@ -40866,10 +41906,14 @@ from previous Chrome versions. <int value="705407202" label="AutofillSaveCardImprovedUserConsent:disabled"/> <int value="705712478" label="EnablePalmOnToolTypePalm:disabled"/> <int value="705713283" label="EasyUnlockPromotions:disabled"/> + <int value="705946076" + label="ContextMenuPerformanceInfoAndRemoteHintFetching:disabled"/> + <int value="706280254" label="StoragePressureEvent:enabled"/> <int value="709138900" label="InstantStart:enabled"/> <int value="709850261" label="disable-touch-editing"/> <int value="710700286" label="ImmersiveFullscreen:disabled"/> <int value="711424932" label="enable-cloud-print-xps"/> + <int value="713946324" label="OmniboxSearchReadyIncognito:disabled"/> <int value="715617684" label="OriginTrials:disabled"/> <int value="716073306" label="AssistantVoiceMatch:disabled"/> <int value="716080990" label="restrict-iframe-permissions"/> @@ -40883,6 +41927,8 @@ from previous Chrome versions. <int value="724427456" label="WebAuthenticationPINSupport:disabled"/> <int value="725067265" label="enable-experimental-cookie-features"/> <int value="725270017" label="ScrollAnchorSerialization:disabled"/> + <int value="725579946" + label="OmniboxUIExperimentHideSteadyStateUrlPathQueryAndRefOnInteraction:disabled"/> <int value="725870294" label="RequestUnbufferedDispatch:disabled"/> <int value="726764779" label="WebXRGamepadSupport:enabled"/> <int value="727270087" label="PromosOnLocalNtp:enabled"/> @@ -40905,12 +41951,14 @@ from previous Chrome versions. <int value="740056959" label="ImeServiceConnectable:enabled"/> <int value="740619684" label="ExtensionsToolbarMenu:enabled"/> <int value="742083923" label="MimeHandlerViewInCrossProcessFrame:disabled"/> + <int value="744342941" label="SafetyCheckChromeCleanerChild:enabled"/> <int value="745541471" label="PaintHolding:disabled"/> <int value="745783589" label="translate-force-trigger-on-english"/> <int value="745868416" label="disable-system-timezone-automatic-detection"/> <int value="746765012" label="AutofillEnableToolbarStatusChip:disabled"/> <int value="746944193" label="enable-automatic-password-saving:disabled"/> <int value="747076955" label="MobileIdentityConsistency:enabled"/> + <int value="747391377" label="DesktopPWAsRunOnOsLogin:disabled"/> <int value="747847237" label="PhysicalWeb:enabled"/> <int value="749312701" label="ChromeOSAccountManager:disabled"/> <int value="749516419" label="DragToSnapInClamshellMode:disabled"/> @@ -40944,10 +41992,12 @@ from previous Chrome versions. <int value="783270752" label="AndroidHistoryManager:enabled"/> <int value="787080596" label="DynamicTcmallocTuning:enabled"/> <int value="787385958" label="RegionalLocalesAsDisplayUI:enabled"/> + <int value="792884862" label="EnableSharedImageForWebview:enabled"/> <int value="798696013" label="ImeInputLogicMozc:enabled"/> <int value="799680074" label="ContextualSearchTranslationModel:enabled"/> <int value="803282885" label="PreferHtmlOverPlugins:disabled"/> <int value="805661595" label="ChromeosVideoDecoder:enabled"/> + <int value="805882800" label="SafetyCheckChromeCleanerChild:disabled"/> <int value="806035639" label="EnableNeuralPalmDetectionFilter:disabled"/> <int value="806334184" label="AndroidSpellChecker:enabled"/> <int value="806783713" label="DesktopPWAsTabStripLinkCapturing:enabled"/> @@ -40959,6 +42009,7 @@ from previous Chrome versions. <int value="811726957" label="SlideTopChromeWithPageScrolls:enabled"/> <int value="812710781" label="SyncUSSBookmarks:disabled"/> <int value="813999334" label="HistoryManipulationIntervention:enabled"/> + <int value="816907702" label="GlobalMediaControlsSeamlessTransfer:disabled"/> <int value="820650704" label="disable-ntp-popular-sites"/> <int value="821192723" label="show-fps-counter"/> <int value="824961931" label="use-simple-cache-backend"/> @@ -40972,6 +42023,7 @@ from previous Chrome versions. <int value="835726069" label="NtpWebUI:disabled"/> <int value="836406476" label="EnableTouchableAppContextMenu:enabled"/> <int value="838887742" label="manual-enhanced-bookmarks"/> + <int value="839230937" label="AutofillEnableCardNicknameUpstream:disabled"/> <int value="839798268" label="SafeBrowsingTelemetryForApkDownloads:disabled"/> <int value="840057845" label="HardwareMediaKeyHandling:enabled"/> <int value="841276069" label="ChromeHomeDoodle:disabled"/> @@ -40998,6 +42050,7 @@ from previous Chrome versions. <int value="860336036" label="ChromeModernDesign:enabled"/> <int value="862453793" label="TranslateUI2016Q2:enabled"/> <int value="864024033" label="IsolatePrerendersMustProbeOrigin:enabled"/> + <int value="866536801" label="PDFViewerUpdate:disabled"/> <int value="867512869" label="mark-non-secure-as"/> <int value="868009556" label="AutofillUpstream:enabled"/> <int value="869531646" label="enable-session-crashed-bubble"/> @@ -41013,6 +42066,7 @@ from previous Chrome versions. <int value="883190338" label="PrintWithReducedRasterization:disabled"/> <int value="884106779" label="supervised-user-safesites"/> <int value="885004540" label="ArcEnableApplicationZoomFeature:enabled"/> + <int value="885186849" label="finch-seed-expiration-age"/> <int value="885971656" label="EnablePlayStoreAppSearch:enabled"/> <int value="886907524" label="autoplay-policy"/> <int value="887011602" label="enable-spelling-auto-correct"/> @@ -41036,8 +42090,10 @@ from previous Chrome versions. <int value="916316159" label="disable-new-app-list-mixer"/> <int value="917561046" label="ConversionMeasurement:disabled"/> <int value="918046854" label="NtlmV2Enabled:disabled"/> + <int value="918608729" label="finch-seed-min-download-period"/> <int value="921536672" label="OfflinePagesDescriptiveFailStatus:enabled"/> <int value="921561616" label="WebAssemblyTiering:disabled"/> + <int value="924769517" label="AppServiceAdaptiveIcon:disabled"/> <int value="925712999" label="V8Orinoco:enabled"/> <int value="926852901" label="DataReductionProxyMainMenu:disabled"/> <int value="928900043" label="OmniboxLooseMaxLimitOnDedicatedRows:disabled"/> @@ -41076,6 +42132,7 @@ from previous Chrome versions. <int value="972228058" label="SyncUSSSessions:disabled"/> <int value="973601997" label="SafeBrowsingUseLocalBlacklistsV2:disabled"/> <int value="975104092" label="show-taps"/> + <int value="975463471" label="WebViewExtraHeadersSameOriginOnly:enabled"/> <int value="976079108" label="TouchpadOverscrollHistoryNavigation:disabled"/> <int value="976278412" label="google-password-manager:enabled"/> <int value="977968353" label="WebUITabStrip:disabled"/> @@ -41137,6 +42194,7 @@ from previous Chrome versions. <int value="1036565901" label="AssistPersonalInfo:enabled"/> <int value="1037961753" label="CCTIncognito:disabled"/> <int value="1038234679" label="PrefetchPrivacyChanges:disabled"/> + <int value="1038264914" label="PerDeskShelf:enabled"/> <int value="1042202617" label="RemoteCopyReceiver:enabled"/> <int value="1043291220" label="OverviewSwipeToClose:disabled"/> <int value="1043334401" label="disable-slimming-paint-invalidation"/> @@ -41195,6 +42253,8 @@ from previous Chrome versions. <int value="1095706700" label="NavigationPredictor:enabled"/> <int value="1096477444" label="AssistantVoiceMatch:enabled"/> <int value="1097935876" label="CrostiniShowMicSetting:enabled"/> + <int value="1097981222" label="OneGoogleBarModalOverlays:disabled"/> + <int value="1098610349" label="UseHDRTransferFunction:disabled"/> <int value="1098823967" label="ash-enable-window-cycle-ui"/> <int value="1100244809" label="MacSystemMediaPermissionsInfoUI:disabled"/> <int value="1101062411" label="Rar2Fs:disabled"/> @@ -41209,6 +42269,7 @@ from previous Chrome versions. label="PrefetchMainResourceNetworkIsolationKey:enabled"/> <int value="1111871757" label="ForceUnifiedConsentBump:enabled"/> <int value="1112051724" label="DetectingHeavyPages:enabled"/> + <int value="1112817963" label="WebViewConnectionlessSafeBrowsing:enabled"/> <int value="1113196543" label="ShowManagedUi:disabled"/> <int value="1113365156" label="tab-management-experiment-type-chive"/> <int value="1114270092" label="PortalsCrossOrigin:disabled"/> @@ -41227,6 +42288,7 @@ from previous Chrome versions. <int value="1129888794" label="ash-touch-hud"/> <int value="1133207726" label="MediaInspectorLogging:enabled"/> <int value="1133635187" label="force-gpu-rasterization"/> + <int value="1135728116" label="PluginVmShowCameraPermissions:enabled"/> <int value="1138349838" label="EnableMDRoundedCornersOnDialogs:disabled"/> <int value="1138690502" label="PreconnectToSearch:enabled"/> <int value="1139226452" label="enable-nacl-debug"/> @@ -41247,10 +42309,13 @@ from previous Chrome versions. <int value="1155905651" label="DrawVerticallyEdgeToEdge:disabled"/> <int value="1155923106" label="NTPOfflinePages:enabled"/> <int value="1158333871" label="QueryTilesEnableQueryEditing:enabled"/> + <int value="1159760152" + label="ContextMenuSearchAndShopWithGoogleLens:disabled"/> <int value="1163255347" label="ash-enable-touch-view-touch-feedback"/> <int value="1164377197" label="SwipingFromLeftEdgeToGoBack:enabled"/> <int value="1164460660" label="AutofillEnableVirtualCard:enabled"/> <int value="1165682330" label="AutofillSaveAndFillVPA:disabled"/> + <int value="1165828757" label="kAutofillEnableOffersInDownstream:disabled"/> <int value="1166169237" label="disable-delay-agnostic-aec"/> <int value="1166789664" label="SyncPseudoUSSAppList:disabled"/> <int value="1166897718" label="TextSuggestionsTouchBar:disabled"/> @@ -41266,12 +42331,14 @@ from previous Chrome versions. <int value="1179936481" label="enable-android-pay-integration-v1"/> <int value="1180722846" label="OculusVR:disabled"/> <int value="1181056275" label="enable-cloud-backup"/> + <int value="1181825084" label="NewDragSpecInLauncher:enabled"/> <int value="1182356056" label="MacV2GPUSandbox:enabled"/> <int value="1183260592" label="WebAssemblyBaseline:enabled"/> <int value="1183431946" label="v8-cache-options"/> <int value="1184093076" label="WebRtcUseMinMaxVEADimensions:enabled"/> <int value="1184225265" label="AllowSyncXHRInPageDismissal:enabled"/> <int value="1185424279" label="enable-media-router"/> + <int value="1187103825" label="OmniboxSuggestionsWrapAround:enabled"/> <int value="1188109510" label="AssistantAudioEraser:enabled"/> <int value="1190035852" label="MediaRemoting:enabled"/> <int value="1191531211" label="RawClipboard:disabled"/> @@ -41279,6 +42346,7 @@ from previous Chrome versions. <int value="1192913630" label="OfflinePagesBackgroundLoading:disabled"/> <int value="1193385506" label="OmniboxLooseMaxLimitOnDedicatedRows:enabled"/> <int value="1194496204" label="NewWallpaperPicker:enabled"/> + <int value="1194896796" label="PdfHonorJsContentSettings:disabled"/> <int value="1195087468" label="ProminentDarkModeActiveTabTitle:enabled"/> <int value="1196644408" label="performance-monitor-gathering"/> <int value="1196834473" label="disable-smart-virtual-keyboard"/> @@ -41322,6 +42390,7 @@ from previous Chrome versions. <int value="1237297772" label="no-pings"/> <int value="1237659269" label="OmniboxHistoryQuickProviderAllowButDoNotScoreMidwordTerms:enabled"/> + <int value="1238190462" label="PerDeskShelf:disabled"/> <int value="1239720601" label="OmniboxZeroSuggestionsOnNTPRealbox:enabled"/> <int value="1240073971" label="ash-disable-smooth-screen-rotation"/> <int value="1242100010" label="AutofillProfileClientValidation:disabled"/> @@ -41453,6 +42522,7 @@ from previous Chrome versions. <int value="1373777956" label="disable-threaded-gpu-rasterization"/> <int value="1375165388" label="LazyFrameLoading:enabled"/> <int value="1376437124" label="show-cert-link"/> + <int value="1376446149" label="IntentHandlingSharing:enabled"/> <int value="1377056573" label="browser-side-navigation:enabled"/> <int value="1378310092" label="disable-suggestions-service"/> <int value="1379571437" label="ExoPointerLock:disabled"/> @@ -41498,6 +42568,7 @@ from previous Chrome versions. <int value="1418054870" label="SpecialLocale:enabled"/> <int value="1421620678" label="simple-clear-browsing-data-support-string"/> <int value="1427905064" label="CreditCardAutofillTouchBar:enabled"/> + <int value="1428004502" label="PaymentRequestOptionalTotal:enabled"/> <int value="1431050645" label="PayWithGoogleV1:disabled"/> <int value="1431934725" label="OmniboxAutocompleteTitles:disabled"/> <int value="1434515920" label="ReaderModeInCCT:enabled"/> @@ -41513,7 +42584,6 @@ from previous Chrome versions. <int value="1448684258" label="TabHoverCardImages:enabled"/> <int value="1449177114" label="EnablePasswordsAccountStorageSavingUi:enabled"/> - <int value="1452492841" label="TerminalSystemAppSplits:enabled"/> <int value="1452546183" label="PwaPersistentNotification:enabled"/> <int value="1454006695" label="BlinkHeapUnifiedGarbageCollection:disabled"/> <int value="1454143461" label="CaptureThumbnailOnNavigatingAway:disabled"/> @@ -41585,6 +42655,7 @@ from previous Chrome versions. <int value="1529979182" label="EnablePasswordSelection:enabled"/> <int value="1530113113" label="disable-pushstate-throttle"/> <int value="1530177325" label="LanguagesPreference:disabled"/> + <int value="1530182188" label="PdfHonorJsContentSettings:enabled"/> <int value="1531164533" label="SyncPseudoUSSFavicons:disabled"/> <int value="1531741496" label="DragFromShelfToHomeOrOverview:disabled"/> <int value="1534222388" label="EnableEphemeralFlashPermission:enabled"/> @@ -41597,10 +42668,10 @@ from previous Chrome versions. <int value="1540487070" label="ContextualSearchDebug:enabled"/> <int value="1541723759" label="ServiceWorkerNavigationPreload:disabled"/> <int value="1543027970" label="EnableDisplayZoomSetting:disabled"/> - <int value="1544552792" label="InterestFeedContentSuggestions:enabled"/> <int value="1548776701" label="AllBookmarks:disabled"/> <int value="1548942246" label="PassiveDocumentEventListeners:disabled"/> <int value="1552753678" label="DnsHttpssvc:disabled"/> + <int value="1553310752" label="AccessibilityCursorColor:enabled"/> <int value="1553422694" label="EnablePalmOnMaxTouchMajor:enabled"/> <int value="1558410842" label="FilesZipNoNaCl:disabled"/> <int value="1559034872" label="AutofillPrefilledFields:enabled"/> @@ -41614,12 +42685,14 @@ from previous Chrome versions. label="OmniboxOnDeviceHeadProviderNonIncognito:disabled"/> <int value="1570178909" label="NewOverviewLayout:enabled"/> <int value="1571998166" label="DetectingHeavyPages:disabled"/> + <int value="1573860827" label="EnableImeSandbox:enabled"/> <int value="1575978252" label="PasswordLeakDetection:enabled"/> <int value="1577205328" label="DataReductionProxyEnabledWithNetworkService:enabled"/> <int value="1579084737" label="TemporaryUnexpireFlagsM80:disabled"/> <int value="1579461102" label="MemoryCoordinator:disabled"/> <int value="1581002467" label="enable-explicit-dma-fences"/> + <int value="1584039096" label="highlight-all-webviews"/> <int value="1584536816" label="LimitAltTabToActiveDesk:enabled"/> <int value="1586022426" label="AutofillCreditCardAssist:enabled"/> <int value="1587521886" label="SSLCommittedInterstitials:enabled"/> @@ -41638,8 +42711,10 @@ from previous Chrome versions. <int value="1597972555" label="ChromeSharingHubV15:enabled"/> <int value="1600850069" label="MobileIdentityConsistency:disabled"/> <int value="1600926040" label="TranslateCompactUI:enabled"/> + <int value="1601582484" label="enable-crash-reporter-for-testing"/> <int value="1602869271" label="ChromeShareScreenshot:disabled"/> <int value="1603578716" label="CaptionSettings:disabled"/> + <int value="1604893983" label="VizForWebView:disabled"/> <int value="1605398303" label="MacSystemMediaPermissionsInfoUI:enabled"/> <int value="1605611615" label="enable-webrtc-srtp-aes-gcm"/> <int value="1609059016" label="CupsIppPrintingBackend:enabled"/> @@ -41671,6 +42746,7 @@ from previous Chrome versions. <int value="1630159957" label="SharingSendViaSync:disabled"/> <int value="1630988998" label="VrBrowsingExperimentalRendering:disabled"/> <int value="1632112977" label="ash-disable-tablet-autohide-titlebars"/> + <int value="1632176267" label="PDFViewerUpdate:enabled"/> <int value="1633456034" label="chrome-home-swipe-logic"/> <int value="1634732103" label="PassiveDocumentWheelEventListeners:enabled"/> <int value="1634884226" @@ -41708,7 +42784,6 @@ from previous Chrome versions. <int value="1670161209" label="ClickToOpenPDFPlaceholder:enabled"/> <int value="1670799163" label="ChromeHomeShowGoogleGWhenUrlCleared:enabled"/> <int value="1671021713" label="AutofillImportDynamicForms:disabled"/> - <int value="1673199712" label="enable-use-hdr-transfer-function"/> <int value="1673427566" label="ChromeHomeExpandButton:disabled"/> <int value="1677167062" label="AutomaticPasswordGeneration:enabled"/> <int value="1677258310" label="DragAppsInTabletMode:disabled"/> @@ -41730,6 +42805,8 @@ from previous Chrome versions. <int value="1694854500" label="disable-save-password-bubble"/> <int value="1696139514" label="enable-ble-advertising-in-apps"/> <int value="1697189972" label="WebPaymentsSingleAppUiSkip:disabled"/> + <int value="1698089268" label="WebXRMultiGpu:disabled"/> + <int value="1699180023" label="PaymentRequestOptionalTotal:disabled"/> <int value="1699182601" label="DockedMagnifier:disabled"/> <int value="1700394127" label="OverlayScrollbar:disabled"/> <int value="1701972870" label="NTPSnippetsIncreasedVisibility:enabled"/> @@ -41812,6 +42889,7 @@ from previous Chrome versions. <int value="1798347197" label="ContextualSuggestionsIPHReverseScroll:disabled"/> <int value="1799521026" label="LegacyTLSEnforced:disabled"/> + <int value="1801585504" label="ContextMenuShopWithGoogleLens:enabled"/> <int value="1802874714" label="QueryTilesEnableQueryEditing:disabled"/> <int value="1803465156" label="enable-zero-suggest-most-visited"/> <int value="1803470125" label="SyncUSSSessions:enabled"/> @@ -41821,7 +42899,6 @@ from previous Chrome versions. <int value="1810258949" label="DisplayLocking:enabled"/> <int value="1810311887" label="WebAssemblyThreads:enabled"/> <int value="1812368073" label="enable-new-app-list-mixer"/> - <int value="1812978232" label="ContextMenuPerformanceInfo:disabled"/> <int value="1814671708" label="disable-password-manager-reauthentication"/> <int value="1816174635" label="RequestUnbufferedDispatch:enabled"/> <int value="1816843861" label="ServiceWorkerServicification:enabled"/> @@ -41836,6 +42913,7 @@ from previous Chrome versions. <int value="1823337908" label="SmartDim20190221:enabled"/> <int value="1824931483" label="EnableHistoryFaviconsGoogleServerQuery:disabled"/> + <int value="1825369164" label="EnableNewBadgeOnMenuItems:disabled"/> <int value="1825940786" label="ChromeHomePromo:disabled"/> <int value="1827369558" label="AndroidPayIntegrationV1:disabled"/> <int value="1828660283" label="enable-webfonts-intervention-trigger"/> @@ -41855,6 +42933,8 @@ from previous Chrome versions. <int value="1843088575" label="OutOfBlinkCors:enabled"/> <int value="1844110073" label="enable-app-view"/> <int value="1847024354" label="enable-hotword-hardware"/> + <int value="1847658464" label="MeteredShowToggle:disabled"/> + <int value="1848974467" label="DelayAsyncScriptExecution:disabled"/> <int value="1849379463" label="OfflinePagesCTV2:enabled"/> <int value="1849580433" label="disable-oop-rasterization"/> <int value="1851358497" label="enable-ash-sidebar"/> @@ -41870,6 +42950,7 @@ from previous Chrome versions. label="enable-message-center-always-scroll-up-upon-notification-removal"/> <int value="1861521561" label="OmniboxLocalEntitySuggestions:enabled"/> <int value="1861954820" label="HighResolutionMouseScrolling:enabled"/> + <int value="1862126613" label="DesktopPWAsRunOnOsLogin:enabled"/> <int value="1862207743" label="enable-android-spellchecker"/> <int value="1863622457" label="WebAuthentication:enabled"/> <int value="1865068568" label="disable-audio-support-for-desktop-share"/> @@ -41951,6 +43032,7 @@ from previous Chrome versions. <int value="1949019439" label="AutofillRestrictUnownedFieldsToFormlessCheckout:disabled"/> <int value="1949908940" label="disable-zip-archiver-unpacker"/> + <int value="1949996482" label="CSSColorSchemeUARendering:disabled"/> <int value="1950191981" label="OverlayNewLayout:enabled"/> <int value="1951466218" label="enable-data-reduction-proxy-lite-page"/> <int value="1951645673" label="PasswordsKeyboardAccessory:disabled"/> @@ -41979,6 +43061,7 @@ from previous Chrome versions. <int value="1971964569" label="NewEncodeCpuLoadEstimator:disabled"/> <int value="1972232935" label="DisplayMoveWindowAccels:enabled"/> <int value="1972720114" label="WebPaymentsJustInTimePaymentApp:enabled"/> + <int value="1973376634" label="WebXRMultiGpu:enabled"/> <int value="1974565950" label="enable-experimental-accessibility-labels"/> <int value="1974776131" label="MediaFeeds:disabled"/> <int value="1975657253" label="ScalableAppList:disabled"/> @@ -42007,6 +43090,7 @@ from previous Chrome versions. <int value="1996125159" label="AutoplayMutedVideos:enabled"/> <int value="1997047666" label="NTPSnippetsIncreasedVisibility:disabled"/> <int value="1997931863" label="OmniboxContextMenuShowFullUrls:enabled"/> + <int value="1998917160" label="AppServiceAdaptiveIcon:enabled"/> <int value="2000091128" label="enable-touch-hover"/> <int value="2001505416" label="CorbAllowlistAlsoAppliesToOorCors:enabled"/> <int value="2001562962" @@ -42034,6 +43118,7 @@ from previous Chrome versions. <int value="2015335629" label="shelf-hover-previews"/> <int value="2015547864" label="NetworkServiceInProcess:enabled"/> <int value="2018386804" label="IPH_ReopenTab:disabled"/> + <int value="2018956925" label="UseAAudioDriver:disabled"/> <int value="2020107447" label="AndroidPayIntegrationV1:enabled"/> <int value="2024172900" label="KidsManagementUrlClassification:disabled"/> <int value="2032558514" @@ -42784,11 +43869,11 @@ from previous Chrome versions. <int value="16" label="Requires hit testing on custom scrollbars (obsolete)"/> <int value="17" label="Has opacity (obsolete)"/> <int value="18" label="Has transform"/> - <int value="19" label="Background not opaque in rect"/> + <int value="19" label="Not opaque for text"/> <int value="20" label="Can't paint scrolling background"/> - <int value="21" label="Has clip related property"/> + <int value="21" label="Has clip related property (obsolete)"/> <int value="22" label="Has box shadow from non-root layer (obsolete)"/> - <int value="23" label="Is not stacking context"/> + <int value="23" label="Is not stacking context (obsolete)"/> <int value="24" label="Blocking wheel event handler region"/> <int value="25" label="Blocking touch event handler region"/> </enum> @@ -42877,6 +43962,12 @@ from previous Chrome versions. <int value="12" label="Bad Update specification"/> </enum> +<enum name="MappedAndResidentPagesDumpState"> + <int value="0" label="kAccessPagemapDenied"/> + <int value="1" label="kFailure"/> + <int value="2" label="kSuccess"/> +</enum> + <enum name="MappedCSSProperties"> <!-- Generated from third_party/blink/public/mojom/use_counter/css_property_id.mojom. Called by update_use_counter_css.py.--> @@ -43545,6 +44636,13 @@ Called by update_use_counter_css.py.--> <int value="662" label="content-visibility"/> <int value="663" label="text-decoration-thickness"/> <int value="664" label="page-orientation"/> + <int value="665" label="animation-timeline"/> + <int value="666" label="counter-set"/> + <int value="667" label="source"/> + <int value="668" label="start"/> + <int value="669" label="end"/> + <int value="670" label="time-range"/> + <int value="671" label="scrollbar-gutter"/> </enum> <enum name="MappedEditingCommands"> @@ -43923,6 +45021,7 @@ Called by update_use_counter_css.py.--> <int value="10" label="Bad images"/> <int value="11" label="Bad safe search result"/> <int value="12" label="Bad genres"/> + <int value="13" label="Bad is family friendly"/> </enum> <enum name="MediaFeedReadResult"> @@ -43932,6 +45031,7 @@ Called by update_use_counter_css.py.--> <int value="3" label="Bad logo"/> <int value="4" label="Bad user identifier"/> <int value="5" label="Bad reset reason"/> + <int value="6" label="Bad safe search result"/> </enum> <enum name="MediaFeedSafeSearchResult"> @@ -44320,6 +45420,12 @@ Called by update_use_counter_css.py.--> <int value="1" label="Sink List"/> </enum> +<enum name="MediaRouterResponseReceiverAppType"> + <int value="0" label="Other"/> + <int value="1" label="Web"/> + <int value="2" label="Android Tv"/> +</enum> + <enum name="MediaRouterSinkPositionLabel"> <int value="100" label="100+"/> </enum> @@ -45290,6 +46396,12 @@ Called by update_use_counter_css.py.--> <int value="14" label="Chrome Content Extension"/> <int value="15" label="Chrome Share Extension"/> <int value="16" label="Chrome"/> + <int value="17" label="Third Party"> + A non-Google application (more precisely an app that doesn't share an app + group with Chrome) launched Chrome with an http or https URL. This can + happen on iOS 14+ when Chrome is set as the default browser and a system app + (f.e. Messages) or an app from a 3rd party developer opens a URL. + </int> </enum> <enum name="MobileSessionShutdownType"> @@ -45303,13 +46415,31 @@ Called by update_use_counter_css.py.--> </enum> <enum name="MobileSessionStartAction"> - <int value="0" label="Open http"/> - <int value="1" label="Open https"/> + <int value="0" label="Open http"> + Logged when an application passes an http URL to Chrome using the custom + registered scheme (f.e. googlechrome). + </int> + <int value="1" label="Open https"> + Logged when an application passes an https URL to Chrome using the custom + registered scheme (f.e. googlechromes). + </int> <int value="2" label="Open file"/> <int value="3" label="x-callback-url open"/> <int value="4" label="x-callback-url other"/> <int value="5" label="Other"/> <int value="6" label="x-callback-url app-group-command"/> + <int value="7" label="OS opened http"> + Logged when any application passes an http URL to Chrome using the standard + "http" scheme. This can happen when Chrome is set as the default + browser on iOS 14+ as http openURL calls will be directed to Chrome by the + system from all other apps. + </int> + <int value="8" label="OS opened https"> + Logged when any application passes an https URL to Chrome using the standard + "https" scheme. This can happen when Chrome is set as the default + browser on iOS 14+ as http openURL calls will be directed to Chrome by the + system from all other apps. + </int> </enum> <enum name="MobileStartingAction"> @@ -46062,13 +47192,20 @@ Called by update_use_counter_css.py.--> engaged site"/> <int value="7" label="A navigation suggestion is found using target embedding against - a top domain"/> + a top 500 domain or an engaged site"/> <int value="8" label="A navigation suggestion is found using a skeleton match against a top 500 domain"/> <int value="9" label="A navigation suggestion is found using a skeleton match against a top 5k (but not top 500) domain"/> + <int value="10" + label="A navigation suggestion is found using target embedding against + a top 500 domain or an engaged site, but with confidence high + enough only for a Safety Tip."/> + <int value="11" + label="The hostname failed spoof checks but didn't match a safe + hostname. (e.g. whole-script-confusable IDN)"/> </enum> <enum name="NavigationURLScheme"> @@ -46329,6 +47466,8 @@ Called by update_net_error_codes.py.--> <int value="214" label="CERTIFICATE_TRANSPARENCY_REQUIRED"/> <int value="215" label="CERT_SYMANTEC_LEGACY"/> <int value="216" label="QUIC_CERT_ROOT_NOT_KNOWN"/> + <int value="217" label="CERT_KNOWN_INTERCEPTION_BLOCKED"/> + <int value="218" label="SSL_OBSOLETE_VERSION"/> <int value="300" label="INVALID_URL"/> <int value="301" label="DISALLOWED_URL_SCHEME"/> <int value="302" label="UNKNOWN_URL_SCHEME"/> @@ -46416,6 +47555,8 @@ Called by update_net_error_codes.py.--> <int value="503" label="ADD_USER_CERT_FAILED"/> <int value="504" label="INVALID_SIGNED_EXCHANGE"/> <int value="505" label="INVALID_WEB_BUNDLE"/> + <int value="506" label="TRUST_TOKEN_OPERATION_FAILED"/> + <int value="507" label="TRUST_TOKEN_OPERATION_CACHE_HIT"/> <int value="601" label="FTP_FAILED"/> <int value="602" label="FTP_SERVICE_UNAVAILABLE"/> <int value="603" label="FTP_TRANSFER_ABORTED"/> @@ -46446,6 +47587,7 @@ Called by update_net_error_codes.py.--> <int value="805" label="DNS_SEARCH_EMPTY"/> <int value="806" label="DNS_SORT_ERROR"/> <int value="807" label="DNS_HTTP_FAILED"/> + <int value="808" label="DNS_SECURE_RESOLVER_HOSTNAME_RESOLUTION_FAILED"/> <int value="1478" label="SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS"/> </enum> @@ -46635,6 +47777,9 @@ Called by update_net_error_codes.py.--> </enum> <enum name="NetNetworkErrorLoggingHeaderOutcome"> + <obsolete> + Removed from code June 2020. + </obsolete> <int value="0" label="Discarded: no NetworkErrorLoggingService"/> <int value="1" label="Discarded: invalid SSLInfo"/> <int value="2" label="Discarded: cert status error"/> @@ -46696,6 +47841,9 @@ Called by update_net_error_codes.py.--> </enum> <enum name="NetReportingHeaderEndpointGroupOutcome"> + <obsolete> + Removed from code, June 2020. + </obsolete> <int value="0" label="Discarded: not a dictionary"/> <int value="1" label="Discarded: group not a string"/> <int value="2" label="Discarded: TTL missing"/> @@ -46710,6 +47858,9 @@ Called by update_net_error_codes.py.--> </enum> <enum name="NetReportingHeaderEndpointOutcome"> + <obsolete> + Removed from code, June 2020. + </obsolete> <int value="0" label="Discarded: not a dictionary"/> <int value="1" label="Discarded: URL missing"/> <int value="2" label="Discarded: URL not a string"/> @@ -46725,6 +47876,9 @@ Called by update_net_error_codes.py.--> </enum> <enum name="NetReportingHeaderOutcome"> + <obsolete> + Removed from code, June 2020. + </obsolete> <int value="0" label="Discarded: no ReportingService"/> <int value="1" label="Discarded: invalid SSLInfo"/> <int value="2" label="Discarded: cert status error"/> @@ -46748,6 +47902,9 @@ Called by update_net_error_codes.py.--> </enum> <enum name="NetReportingUploadOutcome"> + <obsolete> + Removed from code June 2020. + </obsolete> <int value="0" label="Canceled: redirect to insecure URL"/> <int value="1" label="Canceled: auth required"/> <int value="2" label="Canceled: certificate requested"/> @@ -48172,10 +49329,7 @@ Called by update_net_trust_anchors.py.--> </enum> <enum name="NetworkSecurityType"> - <summary> - The security types come from the connman_service_security enum in - flimflam/include/service.h - </summary> + <summary>Shill's WiFi security types.</summary> <int value="0" label="UNKNOWN"/> <int value="1" label="NONE"/> <int value="2" label="WEP"/> @@ -48183,6 +49337,7 @@ Called by update_net_trust_anchors.py.--> <int value="4" label="802.11i/RSN"/> <int value="5" label="802.1x"/> <int value="6" label="PSK"/> + <int value="7" label="WPA3"/> </enum> <enum name="NetworkServiceAvailability"> @@ -48636,6 +49791,10 @@ Called by update_net_trust_anchors.py.--> <int value="11" label="Internal script"/> <int value="12" label="Streaming was never started"/> <int value="13" label="An error had occurred before GetSource was called"/> + <int value="14" label="Streaming was disabled"/> + <int value="15" label="Second use of a script resource"/> + <int value="16" label="Worker script"/> + <int value="17" label="Module script"/> </enum> <enum name="NPAPIPluginStatus"> @@ -48775,6 +49934,9 @@ Called by update_net_trust_anchors.py.--> </enum> <enum name="NTPLoadType"> + <obsolete> + Removed 2020-06. + </obsolete> <int value="0" label="Cold startup"/> <int value="1" label="Warm startup"/> <int value="2" label="Other, not at startup"/> @@ -49463,10 +50625,10 @@ Called by update_net_trust_anchors.py.--> <enum name="OfflinePagesPrefetchUsage"> <int value="0" label="Deprecated: Has prefetched offline pages"> <obsolete> - This state was never reported. + Deprecated: This state was never reported. No prefetched offline pages + were downloaded nor opened by the user in a day but there are some + available locally. </obsolete> - Deprecated: No prefetched offline pages were downloaded nor opened by the - user in a day but there are some available locally. </int> <int value="1" label="Only prefetched new offline pages"> Prefetched offline pages were downloaded in a day but none were opened by @@ -50095,6 +51257,27 @@ Called by update_net_trust_anchors.py.--> <int value="3" label="(non-invalidated) replies received"/> </enum> +<enum name="OnServiceConnectedTimedOutResult"> + <int value="0" label="AlreadyConnected"> + OnServiceConnected is already called. Everything worked as expected. + </int> + <int value="1" label="NotNeeded"> + OnServiceConnected is not called and connection is not needed. Could for + example indicate the user closed the tab before timeout. + </int> + <int value="2" label="Fallback"> + Timed out and perform fallback operation. + </int> +</enum> + +<enum name="OobeUserClickTarget"> + <int value="0" label="Shut down button"/> + <int value="1" label="Browse as guest button"/> + <int value="2" label="System tray"/> + <int value="3" label="Virtual keyboard tray"/> + <int value="4" label="IME tray"/> +</enum> + <enum name="OomInterventionBrowserMonitorStatus"> <int value="0" label="Enabled with a valid config"/> <int value="1" label="Disabled since bad config param"/> @@ -50108,10 +51291,19 @@ Called by update_net_trust_anchors.py.--> </enum> <enum name="OomInterventionUserDecision"> + <obsolete> + Obsolete as of 06/2020. + </obsolete> <int value="0" label="Declined"/> <int value="1" label="Accepted"/> </enum> +<enum name="OOMShutdownHint"> + <int value="0" label="There is no additional information for this UTE/XTE"/> + <int value="1" label="Session restoration was in progress before this UTE"/> + <int value="2" label="Session restoration was in progress before this XTE"/> +</enum> + <enum name="OopRasterGlyphCacheMissType"> <int value="0" label="Missing font metrics, indicating an incorrect SkDescriptor"/> @@ -50205,21 +51397,20 @@ Called by update_net_trust_anchors.py.--> </enum> <enum name="OptimizationGuideOptimizationFilterStatus"> - <int value="0" label="Found a server blacklist configuration"> - Found configuration data for a server blacklist. + <int value="0" label="Found a server filter configuration"> + Found configuration data for a server filter. </int> - <int value="1" label="Created a server blacklist"> - Successfully created a server blacklist. + <int value="1" label="Created a server filter"> + Successfully created a server filter. </int> <int value="2" label="Bad configuration details"> - Failed to create a server blacklist per bad configuration. + Failed to create a server filter per bad configuration. </int> <int value="3" label="Data size too large"> - Failed to create a server blacklist because it would use too much RAM. + Failed to create a server filter because it would use too much RAM. </int> <int value="4" label="Found duplicate config"> - Failed to create a server blacklist because it has more than one - configuration. + Failed to create a server filter because it has more than one configuration. </int> <int value="5" label="Invalid regular expression"> There was an invalid RE2 in the regexps field. @@ -50453,6 +51644,200 @@ Called by update_net_trust_anchors.py.--> <int value="7" label="WrongVersion"/> <int value="8" label="FeatureDisabled"/> <int value="9" label="TokenDisabled"/> + <int value="10" label="FeatureDisabledForUser"/> +</enum> + +<enum name="OsSetting"> + <int value="0" label="Configure Ethernet"/> + <int value="1" label="Ethernet: Automatically Configure IP Address"/> + <int value="2" label="Ethernet: DNS"/> + <int value="3" label="Ethernet: Proxy"/> + <int value="4" label="Wi-Fi: On/Off"/> + <int value="5" label="Disconnect Wi-Fi Network"/> + <int value="6" label="Prefer Wi-Fi Network"/> + <int value="7" label="Forget Wi-Fi Network"/> + <int value="8" label="Wi-Fi: Add Network"/> + <int value="9" label="Wi-Fi: Automatically Configure IP Address"/> + <int value="10" label="Wi-Fi: DNS"/> + <int value="11" label="Wi-Fi: Proxy"/> + <int value="12" label="Wi-Fi: Auto Connect To Network"/> + <int value="13" label="Mobile: On/Off"/> + <int value="14" label="Cellular: Sim Lock"/> + <int value="15" label="Cellular: Roaming"/> + <int value="16" label="Cellular: Apn"/> + <int value="17" label="Disconnect Cellular Network"/> + <int value="18" label="Cellular: Automatically Configure IP Address"/> + <int value="19" label="Cellular: DNS"/> + <int value="20" label="Cellular: Proxy"/> + <int value="21" label="Cellular: Automatically Connect To Network"/> + <int value="22" label="Instant Tethering: On/Off"/> + <int value="23" label="Disconnect Tether Network"/> + <int value="24" label="Wi-Fi: Metered Network"/> + <int value="25" label="Cellular: Metered Network"/> + <int value="100" label="Bluetooth: On/Off"/> + <int value="101" label="Bluetooth: Connect To Device"/> + <int value="102" label="Bluetooth: Disconnect From Device"/> + <int value="103" label="Bluetooth: Pair Device"/> + <int value="104" label="Bluetooth: Unpair Device"/> + <int value="200" label="Set Up MultiDevice"/> + <int value="201" label="Verify MultiDevice Setup"/> + <int value="202" label="MultiDevice On/Off"/> + <int value="203" label="Smart Lock: On/Off"/> + <int value="204" label="Smart Lock: Unlock Or Sign In"/> + <int value="205" label="Messages: Set Up"/> + <int value="206" label="Messages: On/Off"/> + <int value="207" label="Forget Phone"/> + <int value="208" label="Nearby Share: On/Off"/> + <int value="300" label="Add Account"/> + <int value="301" label="Remove Account"/> + <int value="302" label="Split Sync On/Off"/> + <int value="303" label="Lock Screen"/> + <int value="304" label="Change Auth Pin"/> + <int value="305" label="Guest Browsing"/> + <int value="306" label="Show Usernames And Photos At Sign In"/> + <int value="307" label="Restrict Sign In"/> + <int value="308" label="Add To User Whitelist"/> + <int value="309" label="Remove From User Whitelist"/> + <int value="310" label="Add Kerberos Ticket"/> + <int value="311" label="Remove Kerberos Ticket"/> + <int value="312" label="Set Active Kerberos Ticket"/> + <int value="313" label="Add Fingerprint"/> + <int value="314" label="Remove Fingerprint"/> + <int value="315" label="Set Up Parental Controls"/> + <int value="316" label="Non-Split Sync Encryption Options"/> + <int value="317" label="Autocomplete Searches and URLs"/> + <int value="318" label="Make Searches and Browsing Better"/> + <int value="319" label="Google Drive Search Suggestions"/> + <int value="400" label="Touchpad: Tap-To-Click"/> + <int value="401" label="Touchpad: Tap Dragging"/> + <int value="402" label="Touchpad: Reverse Scrolling"/> + <int value="403" label="Touchpad: Acceleration"/> + <int value="404" label="Touchpad: Scroll Acceleration"/> + <int value="405" label="Touchpad: Speed"/> + <int value="406" label="Mouse: Swap Primary Buttons"/> + <int value="407" label="Mouse: Reverse Scrolling"/> + <int value="408" label="Mouse: Acceleration"/> + <int value="409" label="Mouse: Scroll Acceleration"/> + <int value="410" label="Mouse: Speed"/> + <int value="411" label="Keyboard: Function Keys"/> + <int value="412" label="Keyboard: Auto Repeat"/> + <int value="413" label="Keyboard: Shortcuts"/> + <int value="414" label="Display: Size"/> + <int value="415" label="Night Light"/> + <int value="416" label="Stylus: Tools In Shelf"/> + <int value="417" label="Stylus: Note Taking App"/> + <int value="418" label="Stylus: Note Taking From Lock Screen"/> + <int value="419" label="Stylus: Latest Note On Lock Screen"/> + <int value="420" label="Display: Orientation"/> + <int value="421" label="Display: Arrangement"/> + <int value="422" label="Power: Idle Behavior While Charging"/> + <int value="423" label="Power: Source"/> + <int value="424" label="Sleep When Laptop Lid is Closed"/> + <int value="425" label="Display: Resolution"/> + <int value="426" label="Display: Refresh Rate"/> + <int value="427" label="Remove DLC"/> + <int value="428" label="Display: Mirroring"/> + <int value="429" label="Allow Windows To Span Displays"/> + <int value="430" label="Ambient Colors"/> + <int value="431" label="Touchscreen Calibration"/> + <int value="432" label="Night Light Color Temperature"/> + <int value="433" label="Power Idle Behavior While On Battery"/> + <int value="434" label="Display: Overscan"/> + <int value="500" label="Open Wallpaper"/> + <int value="501" label="Ambient Mode On/Off"/> + <int value="502" label="Ambient Mode Source"/> + <int value="503" label="Change Device Account Image"/> + <int value="504" label="Ambient Mode Update Photos Containers"/> + <int value="600" label="Preferred Search Engine"/> + <int value="601" label="Assistant: On/Off"/> + <int value="602" label="Assistant: Related Info"/> + <int value="603" label="Assistant: Quick Answers"/> + <int value="604" label="Assistant: Ok Google"/> + <int value="605" label="Assistant: Notifications"/> + <int value="606" label="Assistant: Voice Input"/> + <int value="607" label="Assistant: Train voice model"/> + <int value="700" label="Manage Android Preferences"/> + <int value="701" label="Remove Play Store"/> + <int value="702" label="Turn On Play Store"/> + <int value="800" label="Set Up Crostini"/> + <int value="801" label="Uninstall Crostini"/> + <int value="802" label="Backup Linux Apps And Files"/> + <int value="803" label="Restore Linux Apps And Files"/> + <int value="804" label="Crostini: Adb Debugging"/> + <int value="805" label="Crostini: Disk Resize"/> + <int value="806" label="Crostini: Mic Access"/> + <int value="807" label="Crostini: Container Upgrade"/> + <int value="1000" label="24Hour Clock"/> + <int value="1001" label="Change Time Zone"/> + <int value="1101" label="Verified Access"/> + <int value="1102" label="Keep Wi-Fi On During Sleep"/> + <int value="1103" label="Usage Stats And Crash Reports"/> + <int value="1200" label="Add Language"/> + <int value="1201" label="Show Input Options In Shelf"/> + <int value="1202" label="Show Personal Information Suggestions"/> + <int value="1203" label="Show Emoji Suggestions"/> + <int value="1300" label="Google Drive Connection"/> + <int value="1400" label="Add Printer"/> + <int value="1401" label="Saved Printers"/> + <int value="1402" label="Print Jobs"/> + <int value="1500" label="A11y Quick Settings"/> + <int value="1501" label="Chrome Vox"/> + <int value="1502" label="Select To Speak"/> + <int value="1503" label="Text-To-Speech: Rate"/> + <int value="1504" label="Text-To-Speech: Pitch"/> + <int value="1505" label="Text-To-Speech: Volume"/> + <int value="1506" label="Text-To-Speech: Voice"/> + <int value="1507" label="Text-To-Speech: Engines"/> + <int value="1508" label="High Contrast Mode"/> + <int value="1509" label="Fullscreen Magnifier"/> + <int value="1510" label="Docked Magnifier"/> + <int value="1511" label="Sticky Keys"/> + <int value="1512" label="On Screen Keyboard"/> + <int value="1513" label="Dictation"/> + <int value="1514" label="Speak-To-Type"/> + <int value="1515" label="Highlight Text Caret"/> + <int value="1516" label="Auto-Click When Cursor Stops"/> + <int value="1517" label="Large Cursor"/> + <int value="1518" label="Highlight Cursor While Moving"/> + <int value="1519" label="Tablet Navigation Buttons"/> + <int value="1520" label="Mono Audio"/> + <int value="1521" label="Startup Sound"/> + <int value="1522" label="Enable Switch Access"/> + <int value="1523" label="Switch Action: Assignment"/> + <int value="1524" label="Switch Action: Auto Scan"/> + <int value="1525" label="Switch Action: Auto Scan Keyboard"/> + <int value="1526" label="Get Image Descriptions From Google"/> + <int value="1527" label="Live Captions"/> + <int value="1528" label="Cursor Colors: On/Off"/> + <int value="1600" label="Powerwash"/> + <int value="1700" label="Change Chrome Channel"/> + <int value="1701" label="Copy Detailed Build Info"/> + <int value="1702" label="Check for OS Update"/> + <int value="1703" label="See What's New"/> + <int value="1704" label="Get Help with Chrome OS"/> + <int value="1705" label="Report an Issue"/> + <int value="1706" label="View Terms of Service"/> +</enum> + +<enum name="OsSettingSearchBoxUserAction"> + <int value="0" label="User clicked on a search result"/> + <int value="1" + label="User clicked out of the search box, but still on area within the + OS Settings window"/> +</enum> + +<enum name="OsSettingSearchRequestTypes"> + <int value="0" + label="Any search request made to the Settings Search Mojo API, which + may succeed or fail in recieving a response."/> + <int value="1" + label="A succeeding search request returning results that will be + discarded since the query used to fetch results no longer + matches the current query."/> + <int value="2" + label="A succeeding search request returning results that will be shown + to the user since the query used to fetch results still matches + the current query."/> </enum> <enum name="OsSettingsProviderError"> @@ -50462,6 +51847,90 @@ Called by update_net_trust_anchors.py.--> <int value="3" label="Search handler unavailable"/> </enum> +<enum name="OsSettingsSearchResultType"> + <int value="0" label="kSection"/> + <int value="1" label="kSubpage"/> + <int value="2" label="kSetting"/> +</enum> + +<enum name="OsSettingsSection"> + <int value="0" label="Network"/> + <int value="1" label="Bluetooth"/> + <int value="2" label="Multi Device"/> + <int value="3" label="People"/> + <int value="4" label="Device"/> + <int value="5" label="Personalization"/> + <int value="6" label="Search And Assistant"/> + <int value="7" label="Apps"/> + <int value="8" label="Crostini"/> + <int value="10" label="Date And Time"/> + <int value="11" label="Privacy And Security"/> + <int value="12" label="Languages And Input"/> + <int value="13" label="Files"/> + <int value="14" label="Printing"/> + <int value="15" label="Accessibility"/> + <int value="16" label="Reset"/> + <int value="17" label="About Chrome OS"/> +</enum> + +<enum name="OsSettingsSubpage"> + <int value="0" label="Ethernet Details"/> + <int value="1" label="Wifi Networks"/> + <int value="2" label="Wifi Details"/> + <int value="3" label="Known Networks"/> + <int value="4" label="Mobile Data Networks"/> + <int value="5" label="Cellular Details"/> + <int value="6" label="Tether Details"/> + <int value="7" label="Vpn Details"/> + <int value="100" label="Bluetooth Devices"/> + <int value="200" label="Multi Device Features"/> + <int value="201" label="Smart Lock"/> + <int value="202" label="Nearby Share"/> + <int value="300" label="My Accounts"/> + <int value="301" label="Sync"/> + <int value="302" label="Sync (Deprecated)"/> + <int value="303" label="Sync Advanced (Deprecated)"/> + <int value="304" label="Security And Sign In"/> + <int value="305" label="Fingerprint"/> + <int value="306" label="Manage Other People"/> + <int value="307" label="Kerberos"/> + <int value="400" label="Pointers"/> + <int value="401" label="Keyboard"/> + <int value="402" label="Stylus"/> + <int value="403" label="Display"/> + <int value="404" label="Storage"/> + <int value="405" label="External Storage"/> + <int value="406" label="DLC"/> + <int value="407" label="Power"/> + <int value="500" label="Change Picture"/> + <int value="501" label="Ambient Mode"/> + <int value="502" label="Ambient Mode Photos"/> + <int value="600" label="Assistant"/> + <int value="700" label="App Management"/> + <int value="701" label="App Details"/> + <int value="702" label="Google Play Store"/> + <int value="703" label="Plugin Vm Shared Paths"/> + <int value="800" label="Crostini Details"/> + <int value="801" label="Crostini Manage Shared Folders"/> + <int value="802" label="Crostini Usb Preferences"/> + <int value="803" label="Crostini Backup And Restore"/> + <int value="804" label="Crostini Develop Android Apps"/> + <int value="805" label="Crostini Port Forwarding"/> + <int value="1000" label="Time Zone"/> + <int value="1200" label="Languages And Input Details"/> + <int value="1201" label="Manage Input Methods"/> + <int value="1202" label="Smart Inputs"/> + <int value="1203" label="Input Method Options"/> + <int value="1300" label="Network File Shares"/> + <int value="1400" label="Printing Details"/> + <int value="1500" label="Manage Accessibility"/> + <int value="1502" label="Text-To-Speech"/> + <int value="1503" label="Switch Access Options"/> + <int value="1504" label="Captions"/> + <int value="1700" label="About Chrome OS Details"/> + <int value="1701" label="Detailed Build Info"/> +</enum> + <enum name="OsSuite"> <int value="0" label="Windows Home Edition (or unknown)"/> <int value="1" label="Windows Professional/Ultimate Editions"/> @@ -50933,6 +52402,9 @@ Called by update_net_trust_anchors.py.--> <int value="9" label="END_OTHER"> Unknown reason; page load may have finished without comitting </int> + <int value="10" label="END_HIDDEN"> + Page became hidden, but is still active. + </int> </enum> <enum name="PageLifecycleStateTransition"> @@ -51363,6 +52835,13 @@ Called by update_net_trust_anchors.py.--> <int value="4" label="Apply metadata changed failed"/> </enum> +<enum name="PasswordBubbleDismissalReason"> + <int value="0" label="Unknown"/> + <int value="1" label="Accepted"/> + <int value="2" label="Declined"/> + <int value="3" label="Ignored"/> +</enum> + <enum name="PasswordBubbleDisplayDisposition"> <int value="0" label="Opened automatically / Offering a password to save"/> <int value="1" label="Opened manually / Offering a password to save"/> @@ -51392,6 +52871,14 @@ Called by update_net_trust_anchors.py.--> <int value="2" label="No thanks"/> </enum> +<enum name="PasswordBubbleTrigger"> + <int value="0" label="Unknown"/> + <int value="1" label="Password Manager suggestion (automatic)"/> + <int value="2" label="Password Manager suggestion (manual)"/> + <int value="3" label="Credential Management API (automatic)"/> + <int value="4" label="Credential Management API (manual)"/> +</enum> + <enum name="PasswordCertificateError"> <int value="0" label="No error"/> <int value="1" label="Other error"/> @@ -51429,6 +52916,9 @@ Called by update_net_trust_anchors.py.--> <int value="0" label="Password"/> <int value="1" label="Manage passwords"/> <int value="2" label="Generate password"/> + <int value="3" label="Unlock account-store to fill password"/> + <int value="4" label="Unlock account-store to generate password"/> + <int value="5" label="Re-Signin to unlock account-stored passwords"/> </enum> <enum name="PasswordDropdownState"> @@ -51441,6 +52931,12 @@ Called by update_net_trust_anchors.py.--> <int value="1" label="Current query"/> </enum> +<enum name="PasswordFormSubmissionResult"> + <int value="0" label="Not submitted"/> + <int value="1" label="Failed"/> + <int value="2" label="Passed"/> +</enum> + <enum name="PasswordFormType"> <int value="0" label="Login form"/> <int value="1" label="Login form without username"/> @@ -51473,6 +52969,12 @@ Called by update_net_trust_anchors.py.--> <int value="15" label="Generated password deleted by autofilling"/> </enum> +<enum name="PasswordGenerationPopupShown"> + <int value="0" label="Not shown"/> + <int value="1" label="Shown automatically"/> + <int value="2" label="Shown manually"/> +</enum> + <enum name="PasswordGenerationPresaveConflict"> <obsolete> Deprecated as of 2020-04. @@ -51519,12 +53021,31 @@ Called by update_net_trust_anchors.py.--> <int value="2" label="Malformed response"/> </enum> +<enum name="PasswordManager.MoveToAccountStoreTrigger"> + <summary> + Triggers that will cause Chrome to offer to move a password from the profile + store to the account store. + </summary> + <int value="0" label="kSuccessfulLoginWithProfileStorePassword"> + The user successfully logged in with a password from the profile store. + </int> + <int value="1" label="kExplicitlyTriggeredInSettings"> + The user explicitly asked to move a password listed in Settings. + </int> +</enum> + <enum name="PasswordManager.ReauthResult"> <int value="0" label="Success"/> <int value="1" label="Failure"/> <int value="2" label="Skipped"/> </enum> +<enum name="PasswordManager.Store"> + <int value="0" label="Not set"/> + <int value="1" label="Profile store"/> + <int value="2" label="Account store"/> +</enum> + <enum name="PasswordManagerActionsTaken"> <obsolete> Deprecated as of Chrome 32. See PasswordManagerActionsTakenWithPsl @@ -52017,12 +53538,14 @@ Called by update_net_trust_anchors.py.--> </enum> <enum name="PasswordManagerFillingSource"> - <int value="0" label="Filled password was not in either of the stores"/> - <int value="1" label="Filled password was in the profile-scoped store"/> - <int value="2" label="Filled password was in the account-scoped store"/> + <int value="0" + label="Typed manually (i.e. filled from neither the account-scoped nor + the profile-scoped store"/> + <int value="1" label="Filled from the profile-scoped store"/> + <int value="2" label="Filled from the account-scoped store"/> <int value="3" - label="Filled password was both in the profile-scoped and in the - account-scoped store"/> + label="Filled from both in the profile-scoped and the account-scoped + store"/> </enum> <enum name="PasswordManagerFirstRendererFillingResult"> @@ -53037,11 +54560,18 @@ Called by update_net_trust_anchors.py.--> <enum name="PerformanceHintsObserverHintForURLResult"> <int value="0" label="Hint not found for URL"/> - <int value="1" label="Hint not yet processed"/> + <int value="1" label="One or more sources were not yet ready"/> <int value="2" label="Invalid URL"/> <int value="3" label="Hint found for URL"/> </enum> +<enum name="PerformanceHintsObserverSourceLookupStatus"> + <int value="0" label="Source was not queried (a hint was already found)"/> + <int value="1" label="Source was not ready in time"/> + <int value="2" label="Source did not have a hint for URL"/> + <int value="3" label="Source had a hint for the URL"/> +</enum> + <enum name="PerformanceHintsPerformanceClass"> <!-- This must be kept in sync with UmaPerformanceClass in //chrome/browser/performance_hints/performance_hints_observer.cc. --> @@ -53665,7 +55195,7 @@ Called by update_net_trust_anchors.py.--> <int value="24" label="SafeBrowsing"/> <int value="25" label="PasswordProtection"/> <int value="26" label="NetworkFileShares"/> - <int value="27" label="ChromeReportingExtension"/> + <int value="27" label="CloudReporting"/> <int value="28" label="BrowserSwitcher"/> <int value="29" label="PluginVm"/> <int value="30" label="SAML"/> @@ -54473,6 +56003,7 @@ Called by update_net_trust_anchors.py.--> <int value="12" label="ORIGIN_LINK_REL_NEXT"/> <int value="13" label="ORIGIN_EXTERNAL_REQUEST_FORCED_PRERENDER"/> <int value="15" label="ORIGIN_NAVIGATION_PREDICTOR"/> + <int value="16" label="ORIGIN_ISOLATED_PRERENDER"/> </enum> <enum name="PrerenderPageviewEvents"> @@ -54533,9 +56064,7 @@ Called by update_net_trust_anchors.py.--> Currently Chrome simply ignores the download if the dialog is already presented. </summary> - <int value="0" label="Successful"> - - </int> + <int value="0" label="Successful"/> <int value="1" label="Another Add Passes View Controller Is Presented"> The dialog cannot be presented, because another PKAddPassesViewController is already presented. @@ -54626,10 +56155,7 @@ Called by update_net_trust_anchors.py.--> <int value="11" label="Preview Allowed without server rule check (obsolete)."/> <int value="12" label="Committed Preview."/> - <int value="13" label="Received no-transform directive."> - Response header had Cache-Control:no-transform directive (developer - opt-out). - </int> + <int value="13" label="Received cache-control:no-transform directive."/> <int value="14" label="Network is not slow per session threshold (obsolete)."/> <int value="15" label="Device was reported as offline."/> @@ -54881,6 +56407,17 @@ Called by update_net_trust_anchors.py.--> <int value="5" label="Filter failed"/> </enum> +<enum name="PrintManagementAppEntryPoint"> +<!-- This must be kept current with PrintManagementAppEntryPoint in + chrome/browser/chromeos/printing/print_management/print_management_uma.h. +--> + + <int value="0" label="Settings"/> + <int value="1" label="Notification"/> + <int value="2" label="Launcher"/> + <int value="3" label="Browser"/> +</enum> + <enum name="PrintPreviewFailureType"> <!-- This must be kept current with PrintPreviewErrorBuckets in components/printing/renderer/print_render_frame_helper.h. --> @@ -55011,6 +56548,12 @@ Called by update_net_trust_anchors.py.--> <int value="1" label="PriorityChanged"/> </enum> +<enum name="PrivacyScreenToggleUISurface"> + <int value="0" label="KeyboardShortcut"/> + <int value="1" label="FeaturePod"/> + <int value="2" label="ToastButton"/> +</enum> + <enum name="PrivetNotificationsEvent"> <int value="0" label="PRIVET_SERVICE_STARTED"/> <int value="1" label="PRIVET_LISTER_STARTED"/> @@ -56181,6 +57724,11 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="4" label="Required but not shown - grace exceeded"/> </enum> +<enum name="QueryTilesGroupPruneReason"> + <int value="0" label="Expired"/> + <int value="1" label="InvalidLocale"/> +</enum> + <enum name="QueryTilesGroupStatus"> <int value="0" label="Success"/> <int value="1" label="Uninitialized"/> @@ -56497,6 +58045,9 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="269" label="H3_REQUEST_INCOMPLETE"/> <int value="271" label="H3_CONNECT_ERROR"/> <int value="272" label="H3_VERSION_FALLBACK"/> + <int value="512" label="QPACK_DECOMPRESSION_FAILED"/> + <int value="513" label="QPACK_ENCODER_STREAM_ERROR"/> + <int value="514" label="QPACK_DECODER_STREAM_ERROR"/> </enum> <enum name="QuicInternalErrorLocation"> @@ -56524,10 +58075,17 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="21" label="QUIC_CHROMIUM_CLIENT_SESSION_CLOSE_SESSION_ON_ERROR"/> </enum> +<enum name="QuickAnswersIntentType"> + <int value="0" label="kUnknown"/> + <int value="1" label="kUnit"/> + <int value="2" label="kDictionary"/> + <int value="3" label="kTranslation"/> +</enum> + <enum name="QuickAnswersLoadStatus"> - <int value="0" label="kNetworkError"/> - <int value="1" label="kNoResult"/> - <int value="2" label="kSuccess"/> + <int value="0" label="kSuccess"/> + <int value="1" label="kNetworkError"/> + <int value="2" label="kNoResult"/> </enum> <enum name="QuickAnswersResultType"> @@ -56743,6 +58301,25 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="5" label="NOTIFY_FACTORY_OF_SESSION_CLOSED"/> </enum> +<enum name="QuicTransportClientConnectState"> + <int value="0" label="CONNECT_STATE_NONE"/> + <int value="1" label="CONNECT_STATE_INIT"/> + <int value="2" label="CONNECT_STATE_CHECK_PROXY"/> + <int value="3" label="CONNECT_STATE_CHECK_PROXY_COMPLETE"/> + <int value="4" label="CONNECT_STATE_RESOLVE_HOST"/> + <int value="5" label="CONNECT_STATE_RESOLVE_HOST_COMPLETE"/> + <int value="6" label="CONNECT_STATE_CONNECT"/> + <int value="7" label="CONNECT_STATE_CONFIRM_CONNECTION"/> +</enum> + +<enum name="QuicTransportClientState"> + <int value="0" label="NEW"/> + <int value="1" label="CONNECTING"/> + <int value="2" label="CONNECTED"/> + <int value="3" label="CLOSED"/> + <int value="4" label="FAILED"/> +</enum> + <enum name="QuicTransportErrorCodes"> <int value="0" label="NO_ERROR"/> <int value="1" label="INTERNAL_ERROR"/> @@ -56756,7 +58333,36 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="9" label="CONNECTION_ID_LIMIT_ERROR"/> <int value="10" label="PROTOCOL_VIOLATION"/> <int value="11" label="INVALID_TOKEN"/> + <int value="12" label="APPLICATION_ERROR"/> <int value="13" label="CRYPTO_BUFFER_EXCEEDED"/> + <int value="14" label="KEY_UPDATE_ERROR"/> + <int value="256" label="CRYPTO_ERROR_close_notify"/> + <int value="266" label="CRYPTO_ERROR_unexpected_message"/> + <int value="276" label="CRYPTO_ERROR_bad_record_mac"/> + <int value="278" label="CRYPTO_ERROR_record_overflow"/> + <int value="296" label="CRYPTO_ERROR_handshake_failure"/> + <int value="298" label="CRYPTO_ERROR_bad_certificate"/> + <int value="299" label="CRYPTO_ERROR_unsupported_certificate"/> + <int value="300" label="CRYPTO_ERROR_certificate_revoked"/> + <int value="301" label="CRYPTO_ERROR_certificate_expired"/> + <int value="302" label="CRYPTO_ERROR_certificate_unknown"/> + <int value="303" label="CRYPTO_ERROR_illegal_parameter"/> + <int value="304" label="CRYPTO_ERROR_unknown_ca"/> + <int value="305" label="CRYPTO_ERROR_access_denied"/> + <int value="306" label="CRYPTO_ERROR_decode_error"/> + <int value="307" label="CRYPTO_ERROR_decrypt_error"/> + <int value="326" label="CRYPTO_ERROR_protocol_version"/> + <int value="327" label="CRYPTO_ERROR_insufficient_security"/> + <int value="336" label="CRYPTO_ERROR_internal_error"/> + <int value="342" label="CRYPTO_ERROR_inappropriate_fallback"/> + <int value="346" label="CRYPTO_ERROR_user_canceled"/> + <int value="365" label="CRYPTO_ERROR_missing_extension"/> + <int value="366" label="CRYPTO_ERROR_unsupported_extension"/> + <int value="368" label="CRYPTO_ERROR_unrecognized_name"/> + <int value="369" label="CRYPTO_ERROR_bad_certificate_status_response"/> + <int value="371" label="CRYPTO_ERROR_unknown_psk_identity"/> + <int value="372" label="CRYPTO_ERROR_certificate_required"/> + <int value="376" label="CRYPTO_ERROR_no_application_protocol"/> </enum> <enum name="QuicWriteStatus"> @@ -56807,6 +58413,7 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="1" label="Missing primary volume">Hardcoded in rar2fs</int> <int value="13" label="Bad archive">ERAR_BAD_ARCHIVE from libunrar</int> <int value="14" label="Unknown format">ERAR_UNKNOWN_FORMAT from libunrar</int> + <int value="15" label="Cannot open">ERAR_EOPEN from libunrar</int> <int value="18" label="Cannot read">ERAR_EREAD from libunrar</int> <int value="22" label="Missing password"> ERAR_MISSING_PASSWORD from libunrar @@ -56883,6 +58490,12 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf auto-click"/> </enum> +<enum name="ReceiverAppTypeSet"> + <int value="0" label="Other"/> + <int value="1" label="Web"/> + <int value="2" label="Android Tv and Web"/> +</enum> + <enum name="RecentTabsAction"> <int value="0" label="Local Session Tab"/> <int value="1" label="Other Device Tab"/> @@ -58546,6 +60159,17 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="1" label="Supported"/> </enum> +<enum name="RequestStorageResult"> + <int value="0" label="Approved due to existing storage access"/> + <int value="1" label="Approved with new grant"/> + <int value="2" label="Rejected with missing user gesture"/> + <int value="3" label="Rejected due to missing origin"/> + <int value="4" label="Rejected due to opaque origin"/> + <int value="5" label="Rejected due to existing denial"/> + <int value="6" label="Rejected due to missing sandbox token"/> + <int value="7" label="Rejected due to denied prompt"/> +</enum> + <enum name="ResolutionCategory"> <int value="0" label="RESOLVE_SUCCESS"/> <int value="1" label="RESOLVE_FAIL"/> @@ -58879,6 +60503,9 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="3" label="Timeout"/> <int value="4" label="File too large"/> <int value="5" label="Failed to get token"/> + <int value="6" label="Unauthorized"/> + <int value="7" label="File encrypted"/> + <int value="8" label="Unsupported file type"/> </enum> <enum name="SafeBrowsingDelayedWarningEvent"> @@ -58896,6 +60523,26 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="7" label="The page triggered a permission request. It was denied and the warning was shown."/> + <int value="8" + label="The page tried to display a JavaScript dialog + (alert/confirm/prompt). It was blocked and the warning was + shown."/> + <int value="9" + label="A password or autofill request was denied at least once and the + warning was never shown."/> + <int value="10" + label="The page triggered a desktop capture request. It was denied and + the warning was shown."/> + <int value="11" + label="User pasted something on the page and the warning was shown."/> +</enum> + +<enum name="SafeBrowsingMalwareDeepScanningVerdict"> + <int value="0" label="Verdict unspecified"/> + <int value="1" label="Clean"/> + <int value="2" label="Unwanted Software"/> + <int value="3" label="Malware"/> + <int value="4" label="Scan failure"/> </enum> <enum name="SafeBrowsingParseV4HashResult"> @@ -60486,7 +62133,7 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <enum name="SecurityLevel"> <int value="0" label="None"/> <int value="1" label="HTTP with warning (deprecated)"/> - <int value="2" label="Secure with EV certificate"/> + <int value="2" label="Secure with EV certificate (deprecated)"/> <int value="3" label="Secure"/> <int value="4" label="Secure with policy-installed certificate"/> <int value="5" label="Dangerous"/> @@ -60524,12 +62171,18 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf </enum> <enum name="SendTabToSelfAddEntryStatus"> + <obsolete> + Removed 05/2020. + </obsolete> <int value="0" label="Success"/> <int value="1" label="Failure"/> <int value="2" label="Duplicate"/> </enum> <enum name="SendTabToSelfApplySyncChanges"> + <obsolete> + Removed 05/2020. + </obsolete> <int value="0" label="Total number of EntityChanges."/> <int value="1" label="Number of EntityChanges that are deletions."/> <int value="2" label="Number of EntityChanges that are invaled."/> @@ -60540,12 +62193,15 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf </enum> <enum name="SendTabToSelfClickResult"> - <int value="0" label="SendTabToSelf entry point is shown."/> + <int value="0" label="SendTabToSelf entry point is shown. (Obsolete)"/> <int value="1" label="SendTabToSelf target device is clicked."/> - <int value="2" label="SendTabToSelf device list is shown."/> + <int value="2" label="SendTabToSelf device list is shown. (Obsolete)"/> </enum> <enum name="SendTabToSelfNotification"> + <obsolete> + Removed 05/2020. + </obsolete> <int value="0" label="Opened"/> <int value="1" label="Dismissed"/> <int value="2" label="Shown"/> @@ -60558,6 +62214,9 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf </enum> <enum name="SendTabToSelfNotifyLocalDevice"> + <obsolete> + Removed 05/2020. + </obsolete> <int value="0" label="Local"/> <int value="1" label="Remote"/> </enum> @@ -60781,6 +62440,13 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="34" label="CONTENT_DELETE"/> </enum> +<enum name="ServiceWorkerOfflineCapability"> + <int value="0" label="kNoServiceWorker"/> + <int value="1" label="kServiceWorkerNoFetchHandler"/> + <int value="2" label="kServiceWorkerNoOfflineSupport"/> + <int value="3" label="kServiceWorkerWithOfflineSupport"/> +</enum> + <enum name="ServiceWorkerPreparationType"> <obsolete> Removed on June 2019 @@ -61821,6 +63487,7 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="28" label="Re-signin from sync error card in settings"/> <int value="29" label="Forced sign-in"/> <int value="30" label="Re-signin after an account rename"/> + <int value="31" label="Sign-in promo in the web sign-in flow"/> </enum> <enum name="SigninAccountEquality"> @@ -61970,11 +63637,30 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf label="Signin primary account with force-sign-in policy enabled"/> </enum> +<enum name="SigninReauthResult"> + <int value="0" label="Success"/> + <int value="1" label="Account not signed in"/> + <int value="2" label="User dismissed Reauth"/> + <int value="3" label="Reauth page failed to load"/> + <int value="4" label="Reauth was cancelled"/> + <int value="5" label="Unexpected server response"/> +</enum> + <enum name="SigninReauthStates"> <int value="0" label="Account mismatch"/> <int value="1" label="Reauth Shown"/> </enum> +<enum name="SigninReauthUserAction"> + <int value="0" label="Click confirm button"/> + <int value="1" label="Click next button"/> + <int value="2" label="Click cancel button"/> + <int value="3" label="Close confirmation dialog"/> + <int value="4" label="Close Gaia dialog"/> + <int value="5" label="Close Gaia tab"/> + <int value="6" label="Pass Gaia reauth"/> +</enum> + <enum name="SigninRefreshTokenRevocationRequestProgress"> <int value="0" label="Request Created"/> <int value="1" label="Request Started"/> @@ -62970,6 +64656,29 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="35" label="UMA_CONDITIONAL_TAB_STRIP_DISMISS_UNDO"/> </enum> +<enum name="SnapshotItemId"> + <int value="0" label="LocalState"/> + <int value="1" label="HighResAvatar"/> + <int value="2" label="LastBrowser"/> + <int value="3" label="Preferences"/> + <int value="4" label="SecurePreferences"/> + <int value="5" label="History"/> + <int value="6" label="Favicons"/> + <int value="7" label="TopSites"/> + <int value="8" label="Bookmarks"/> + <int value="9" label="CurrentTabSession"/> + <int value="10" label="CurrentSession"/> + <int value="11" label="GAIAPicture"/> + <int value="12" label="AffiliationDatabase"/> + <int value="13" label="LoginDataForProfile"/> + <int value="14" label="LoginDataForAccount"/> + <int value="15" label="WebData"/> + <int value="16" label="StrikeDatabase"/> + <int value="17" label="Cookie"/> + <int value="18" label="ProfileIcon"/> + <int value="19" label="LastVersion"/> +</enum> + <enum name="SnapshotOperationResult"> <int value="0" label="Success">Operation succeeded</int> <int value="1" label="Partial Sucess">Operation suceeded partially</int> @@ -64661,6 +66370,12 @@ https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf <int value="1" label="Leave the current page"/> </enum> +<enum name="StorageAccessResult"> + <int value="0" label="Storage access blocked"/> + <int value="1" label="Storage access allowed"/> + <int value="2" label="Access grant used to allow access"/> +</enum> + <enum name="StoragePressureBubbleUserAction"> <int value="0" label="The bubble was shown."/> <int value="1" label="The user ignored the bubble."/> @@ -65379,6 +67094,7 @@ would be helpful to identify which type is being sent. <enum name="SwipeHomeToOverviewResult"> <int value="0" label="Remained on the home screen"/> <int value="1" label="Transitioned to overview"/> + <int value="2" label="Went back on the home screen"/> </enum> <enum name="SwReporterRunningTimeRegistryError"> @@ -65500,6 +67216,29 @@ would be helpful to identify which type is being sent. <int value="3" label="Use new"/> </enum> +<enum name="SyncConsentBehavior"> + <summary> + Behavior of the out-of-box experience (OOBE) sync consent screen. + </summary> + <int value="0" label="Unknown"/> + <int value="1" label="Show"/> + <int value="2" label="Skip, disabled, non-GAIA account"/> + <int value="3" label="Skip, disabled, public account"/> + <int value="4" label="Skip, disabled, sync feature policy"/> + <int value="5" label="Skip, enabled, non-branded build"/> + <int value="6" label="Skip, enabled, ephemeral user"/> + <int value="7" label="Skip, enabled, consent screen policy"/> +</enum> + +<enum name="SyncConsentUserChoice"> + <summary> + Which button the user clicked in the out-of-box experience (OOBE) sync + consent screen. + </summary> + <int value="0" label="Declined"/> + <int value="1" label="Accepted"/> +</enum> + <enum name="SyncCryptographerPendingKeysState"> <int value="0" label="Does not have pending keys"/> <int value="1" label="Has pending keys"/> @@ -65588,6 +67327,32 @@ would be helpful to identify which type is being sent. <int value="5" label="Remote initial update (updated downstream)"/> </enum> +<enum name="SyncerErrorValues"> + <int value="0" label="UNSET"/> + <int value="1" label="CANNOT_DO_WORK"/> + <int value="2" label="NETWORK_CONNECTION_UNAVAILABLE"/> + <int value="3" label="NETWORK_IO_ERROR"/> + <int value="4" label="SYNC_SERVER_ERROR"/> + <int value="5" label="SYNC_AUTH_ERROR"/> + <int value="6" label="SERVER_RETURN_INVALID_CREDENTIAL"/> + <int value="7" label="SERVER_RETURN_UNKNOWN_ERROR"/> + <int value="8" label="SERVER_RETURN_THROTTLED"/> + <int value="9" label="SERVER_RETURN_TRANSIENT_ERROR"/> + <int value="10" label="SERVER_RETURN_MIGRATION_DONE"/> + <int value="11" label="SERVER_RETURN_CLEAR_PENDING"/> + <int value="12" label="SERVER_RETURN_NOT_MY_BIRTHDAY"/> + <int value="13" label="SERVER_RETURN_CONFLICT"/> + <int value="14" label="SERVER_RESPONSE_VALIDATION_FAILED"/> + <int value="15" label="SERVER_RETURN_DISABLED_BY_ADMIN"/> + <int value="16" label="SERVER_RETURN_USER_ROLLBACK"/> + <int value="17" label="SERVER_RETURN_PARTIAL_FAILURE"/> + <int value="18" label="SERVER_RETURN_CLIENT_DATA_OBSOLETE"/> + <int value="19" label="SERVER_RETURN_ENCRYPTION_OBSOLETE"/> + <int value="20" label="DATATYPE_TRIGGERED_RETRY"/> + <int value="21" label="SERVER_MORE_TO_DOWNLOAD"/> + <int value="22" label="SYNCER_OK"/> +</enum> + <enum name="SyncErrorInfoBarAction"> <int value="0" label="Shown"/> <int value="1" label="Dismissed"/> @@ -65725,6 +67490,17 @@ would be helpful to identify which type is being sent. <int value="6" label="Bookmark Bar and Other Bookmarks and Mobile Bookmarks"/> </enum> +<enum name="SyncModelTypeErrorSite"> + <int value="0" label="ReportError() called by the bridge"/> + <int value="1" label="Error returned when applying full updates"/> + <int value="2" label="Error returned when applying incremental updates"/> + <int value="3" + label="Error returned when applying updates on commit response"/> + <int value="4" + label="Error triggered by update not matching + SupportsIncrementalUpdates()"/> +</enum> + <enum name="SyncModelTypes"> <int value="0" label="Unspecified"/> <int value="1" label="Top Level Folder"/> @@ -65900,8 +67676,10 @@ would be helpful to identify which type is being sent. <int value="7" label="Permission denied"/> <int value="8" label="Sync turned off"/> <int value="9" label="Sync network error"/> - <int value="10" label="Sync server error"/> + <int value="10" label="[DEPRECATED] Sync server or auth error"/> <int value="11" label="Sync bridge timeout"/> + <int value="12" label="Sync server error"/> + <int value="13" label="Sync auth error"/> </enum> <enum name="SyncSimpleConflictResolutions"> @@ -66420,6 +68198,13 @@ would be helpful to identify which type is being sent. <int value="1835109015" label="patts: Chrome OS Indian English"/> </enum> +<enum name="ThermalState"> + <int value="0" label="Nominal"/> + <int value="1" label="Fair"/> + <int value="2" label="Serious"/> + <int value="3" label="Critical"/> +</enum> + <enum name="ThirdPartyStatus"> <int value="0" label="Success"/> <int value="1" label="FilePathNotFoundInRegistry"/> @@ -67246,10 +69031,10 @@ Full version information for the fingerprint enum values: <enum name="TranslateBubbleUiEvent"> <int value="1" label="Switch to Options page"/> <int value="2" label="Leave Options page"/> - <int value="3" label="Advanced Link clicked"/> + <int value="3" label="[DEPRECATED] Advanced Link clicked"/> <int value="4" label="Always Translate checked"/> <int value="5" label="Always Translate unchecked"/> - <int value="6" label="Nope menu clicked"/> + <int value="6" label="[DEPRECATED] Nope menu clicked"/> <int value="7" label="Never Translate Language menu clicked"/> <int value="8" label="Never Translate This Site menu clicked"/> <int value="9" label="Translate button clicked"/> @@ -67258,7 +69043,7 @@ Full version information for the fingerprint enum values: <int value="12" label="Close button clicked"/> <int value="13" label="Try Again button clicked"/> <int value="14" label="Show Original button clicked"/> - <int value="15" label="Language Settings link clicked"/> + <int value="15" label="[DEPRECATED] Language Settings link clicked"/> <int value="16" label="Source Language menu clicked"/> <int value="17" label="Target Language menu clicked"/> <int value="18" label="Page Action icon activated"/> @@ -67269,6 +69054,8 @@ Full version information for the fingerprint enum values: <int value="23" label="Bubble not shown: window is not active"/> <int value="24" label="Bubble not shown: web contents not active"/> <int value="25" label="Bubble not shown: editable field is active"/> + <int value="26" label="Advanced menu item clicked"/> + <int value="27" label="[DEPRECATED] Advanced menu button clicked"/> </enum> <enum name="TranslateCompactUIEvent"> @@ -67453,6 +69240,25 @@ Full version information for the fingerprint enum values: <int value="3" label="Fallback for Status Bar and content"/> </enum> +<enum name="TrustedWebActivityLocationErrorCode"> + <int value="0" label="No error"/> + <int value="1" label="Location Error"> + Error when getting location from client app. + </int> + <int value="2" label="Invalid geoposition."/> + <int value="3" label="No TWA service."> + No Trusted Web Activity service, or the service does not handle the command. + Note: this is included in the "Location Error" bracket. + </int> +</enum> + +<enum name="TrustedWebActivityPermissionChanged"> + <int value="0" label="Null to False"/> + <int value="1" label="Null to True"/> + <int value="2" label="True to False"/> + <int value="3" label="False to True"/> +</enum> + <enum name="TunnelRedirectHistogramValue"> <obsolete> Removed in Chrome 76. @@ -67463,6 +69269,11 @@ Full version information for the fingerprint enum values: <int value="3" label="Mainframe fetched using an auto-detected proxy"/> </enum> +<enum name="TypeOfVideoInFrame"> + <int value="0" label="Frame do not have video"/> + <int value="1" label="Frame has video (either inline or fullscreen)"/> +</enum> + <enum name="UIEventType"> <int value="0" label="Unknown"/> <int value="1" label="Touch released"/> @@ -67517,6 +69328,14 @@ Full version information for the fingerprint enum values: <int value="10" label="Rejected by filter"/> </enum> +<enum name="UkmEventNameHash"> + <summary> + Placeholder enum. The values are UKM event name hashes truncated to 31 bits. + This gets populated by the GetEnumsNodes function in merge_xml.py when + producing the merged XML file. + </summary> +</enum> + <enum name="UkmResetReason"> <int value="0" label="OnUkmAllowedStateChanged"/> <int value="1" label="UpdatePermissions"/> @@ -68686,6 +70505,14 @@ Full version information for the fingerprint enum values: <int value="4" label="Valid Signature for Seed"/> </enum> +<enum name="VariationsFirstRunPrefEvents"> + <int value="0" label="Prefs stored"/> + <int value="1" label="Prefs cleared"/> + <int value="2" label="Prefs retrieved - empty"/> + <int value="3" label="Prefs retrieved - non-empty"/> + <int value="4" label="Prefs cleared and were not empty"/> +</enum> + <enum name="VariationsFirstRunResult"> <int value="0" label="Seed imported successfully"/> <int value="1" label="Seed import failed - no callback (Obsolete)"/> @@ -68694,6 +70521,28 @@ Full version information for the fingerprint enum values: <int value="4" label="Seed import failed - invalid response date string"/> </enum> +<enum name="VariationsHeadersRequestContextCategory"> + <int value="0" label="First party: Request intiated by browser."/> + <int value="1" + label="First party: Request initiated by internal Chrome page."/> + <int value="2" + label="First party: Request initiated by Google-associated page."/> + <int value="3" + label="First party: Request initiated by a Google-associated sub-frame + on a Google-associated page."/> + <int value="4" + label="Third party: Request initiated by non-Google-associated page + (request initiator)."/> + <int value="5" label="Third party: No TrustedParams."/> + <int value="6" label="Third party: No IsolationInfo."/> + <int value="7" + label="Third party: Request initiated by a sub-frame on a + non-Google-associated page."/> + <int value="8" + label="Third party: Request initiated by non-Google-associated page + (frame origin)."/> +</enum> + <enum name="VariationsHeadersURLValidationResult"> <int value="0" label="Rejected: Invalid URL."/> <int value="1" label="Rejected: Not https. (Deprecated)"/> @@ -69543,6 +71392,13 @@ Full version information for the fingerprint enum values: <int value="7007" label="HIDDEN_to_HIDDEN"/> </enum> +<enum name="VirtualKeyboardEmojiTriggerType"> + <int value="0" label="Base emoji from the emoji picker"/> + <int value="1" label="Variant emoji from the emoji picker"/> + <int value="2" label="Base emoji from the popup"/> + <int value="3" label="Variant emoji from the popup"/> +</enum> + <enum name="VirtualKeyboardErrorTypeHashes"> <int value="30998784" label="Generic Error"/> </enum> @@ -69593,6 +71449,9 @@ Full version information for the fingerprint enum values: </enum> <enum name="VRAssetsComponentUpdateStatus"> + <obsolete> + Removed 06/2020. + </obsolete> <int value="1" label="Failed to verify component (component version not known)."/> <int value="2" @@ -69607,6 +71466,9 @@ Full version information for the fingerprint enum values: </enum> <enum name="VRAssetsLoadStatus"> + <obsolete> + Removed 06/2020. + </obsolete> <int value="1000" label="Successfully loaded assets (component version 0.1)."/> <int value="1001" @@ -69618,11 +71480,17 @@ Full version information for the fingerprint enum values: </enum> <enum name="VRComponentStatus"> + <obsolete> + Removed 06/2020. + </obsolete> <int value="0" label="Component is ready to use"/> <int value="1" label="Component is not ready to use. Reason unknown."/> </enum> <enum name="VRPresentationResult"> + <obsolete> + As of 5/18/2020 this enum is no longer in code. + </obsolete> <int value="0" label="Requested"/> <int value="1" label="Success"/> <int value="2" label="SuccessAlreadyPresenting"/> @@ -69640,6 +71508,9 @@ Full version information for the fingerprint enum values: </enum> <enum name="VRPresentationStartAction"> + <obsolete> + Removed as of 06/2020. + </obsolete> <int value="0" label="Other"> A catch all for presentation sources that are unknown or cannot be specified for other reasons. @@ -69663,6 +71534,9 @@ Full version information for the fingerprint enum values: </enum> <enum name="VRSessionStartAction"> + <obsolete> + Removed as of 06/2020. + </obsolete> <int value="1" label="Headset Activation"> The user activated a headset. For example, inserted phone in Daydream, or put on an Occulus or Vive. @@ -69681,6 +71555,9 @@ Full version information for the fingerprint enum values: </enum> <enum name="VRStartReason"> + <obsolete> + Removed as of 06/2020. + </obsolete> <int value="1" label="Headset Activation"/> <int value="2" label="Presentation Requset"/> <int value="3" label="(obsolete) Deep linked app"/> @@ -69688,6 +71565,9 @@ Full version information for the fingerprint enum values: </enum> <enum name="VRSuppressedElement"> + <obsolete> + Removed 06/2020. + </obsolete> <int value="0" label="File chooser was suppressed in VR"/> <int value="1" label="Bluetooth picker was suppressed in VR"/> <int value="2" label="JS dialog was suppressed in VR (obsolete in M71)"/> @@ -69713,6 +71593,9 @@ Full version information for the fingerprint enum values: </enum> <enum name="VRUnsupportedMode"> + <obsolete> + Removed 06/2020. + </obsolete> <int value="0" label="Unhandled code point in URL"/> <int value="1" label="Could not elide URL (obsolete)"/> <int value="2" label="Unhandled PageInfo"/> @@ -69741,6 +71624,9 @@ Full version information for the fingerprint enum values: </enum> <enum name="VRVoiceSearchEndState"> + <obsolete> + Removed 06/2020. + </obsolete> <int value="0" label="Voice search in VR opened a search page"/> <int value="1" label="Voice search in VR cancelled"/> <int value="2" label="Voice search in VR didn't catch phrase or timed out"/> @@ -70116,6 +72002,7 @@ Full version information for the fingerprint enum values: <int value="19" label="BookmarkExtensionInstallError"/> <int value="20" label="ApkWebInstallFailed"/> <int value="21" label="CancelledOnWebAppProviderShuttingDown"/> + <int value="22" label="WebAppProviderNotReady"/> </enum> <enum name="WebAppInstallSource"> @@ -70145,6 +72032,7 @@ Full version information for the fingerprint enum values: <int value="13" label="Policy-install on Chrome OS"/> <int value="14" label="System default app on Chrome OS"/> <int value="15" label="Install icon in the Omnibox"/> + <int value="16" label="Installed from sync"/> </enum> <enum name="WebAppLauncherLaunchResult"> @@ -70190,6 +72078,15 @@ Full version information for the fingerprint enum values: <int value="2" label="Dialog canceled"/> </enum> +<enum name="WebAppUrlLoaderResult"> + <int value="0" label="UrlLoaded"/> + <int value="1" label="RedirectedUrlLoaded"/> + <int value="2" label="FailedUnknownReason"/> + <int value="3" label="FailedPageTookTooLong"/> + <int value="4" label="FailedWebContentsDestroyed"/> + <int value="5" label="FailedErrorPageLoaded"/> +</enum> + <enum name="WebAudioAutoplayStatus"> <int value="0" label="The AudioContext failed to autoplay"/> <int value="1" @@ -70225,6 +72122,8 @@ Full version information for the fingerprint enum values: <int value="9" label="GATT connection established"/> <int value="10" label="caBLE handshake completed"/> <int value="11" label="caBLE device timed out"/> + <int value="12" label="Scanning for BLE advertisements failed"/> + <int value="13" label="Scanning for BLE advertisements stopped unexpectedly"/> </enum> <enum name="WebAuthenticationCableV1Event"> @@ -70862,6 +72761,12 @@ Called by update_scheduler_enums.py.--> <int value="43" label="Printing"/> <int value="44" label="WebDatabase"/> <int value="45" label="PictureInPicture"/> + <int value="46" label="Portal"/> + <int value="47" label="SpeechRecognizer"/> + <int value="48" label="IdleManager"/> + <int value="49" label="PaymentManager"/> + <int value="50" label="SpeechSynthesis"/> + <int value="51" label="KeyboardLock"/> </enum> <enum name="WebShareMethod"> @@ -71061,18 +72966,19 @@ Called by update_scheduler_enums.py.--> <int value="-1688600161" label="/manageProfile"/> <int value="-1675675685" label="/content/clipboard"/> <int value="-1610814282" label="/content/popups"/> + <int value="-1589300908" label="/app-management/pluginVm/sharedPaths"/> <int value="-1575150353" label="/content/cookies"/> <int value="-1569772500" label="/manageAccessibility/tts"/> <int value="-1555301506" label="/content/notifications"/> <int value="-1484929503" label="/manageAccessibility/switchAccess"/> <int value="-1381133263" label="/passwords/check"/> <int value="-1312744606" label="/knownNetworks"/> - <int value="-1299234352" label="/pluginVm/details"/> <int value="-1297176639" label="/fonts"/> <int value="-1283080115" label="/content/backgroundSync"/> <int value="-1279337432" label="/power"/> <int value="-1231761426" label="/content/ar"/> <int value="-1227595649" label="/all"/> + <int value="-1206523744" label="/app-management/detail"/> <int value="-1204780990" label="/dateTime/timeZone"/> <int value="-1167413307" label="/inputMethods"/> <int value="-1165810228" label="/searchEngines"/> @@ -71147,14 +73053,12 @@ Called by update_scheduler_enums.py.--> <int value="900733129" label="/content/microphone"/> <int value="912274271" label="/siteData"/> <int value="943458628" label="/triggeredResetProfileSettings"/> - <int value="1001064152" label="/pluginVm"/> <int value="1051104480" label="/cleanup"/> <int value="1114615837" label="/accessibility"/> <int value="1147116633" label="/networkConfig"/> <int value="1161126439" label="/content/midiDevices"/> <int value="1225485397" label="/content/unsandboxedPlugins"/> <int value="1258785570" label="/crostini/sharedPaths"/> - <int value="1289631391" label="/pluginVm/sharedPaths"/> <int value="1300569861" label="/keyboard-overlay"/> <int value="1364454971" label="/androidApps"/> <int value="1384165448" label="/stylus"/> @@ -71182,8 +73086,11 @@ Called by update_scheduler_enums.py.--> <enum name="WebUITabStripCloseActions"> <int value="0" label="Tap on tab counter"/> - <int value="1" label="Tap outside tab strip"/> + <int value="1" label="Tap outside tab strip (deprecated)"/> <int value="2" label="Tab selected in tab strip"/> + <int value="3" label="Tap in tab's content area"/> + <int value="4" + label="Omnibox focused (either by tap or by creating a new tab)"/> </enum> <enum name="WebUITabStripCloseTabActions"> @@ -71541,6 +73448,17 @@ Called by update_scheduler_enums.py.--> <int value="1" label="WebViewClientCompat (via AndroidX)"/> </enum> +<enum name="WebViewDrawAndSubmissionType"> + <int value="0" label="No invalidate + no submission + same params"/> + <int value="1" label="Params changed"/> + <int value="2" label="Frame submitted"/> + <int value="3" label="Frame submitted + params changed"/> + <int value="4" label="Invalidate"/> + <int value="5" label="Invalidate + params changed"/> + <int value="6" label="Invalidate + frame submitted"/> + <int value="7" label="Invalidate + frame submitted + params changed"/> +</enum> + <enum name="WebViewExtraHeaders"> <int value="0" label="Added headers in StartRequest"/> <int value="1" label="Kept headers through same-origin redirect"/> @@ -71571,10 +73489,13 @@ Called by update_scheduler_enums.py.--> <enum name="WelcomeSignInPromptOutcome"> <int value="0" label="User navigated away from page"/> - <int value="1" label="User clicked the No Thanks button"/> - <int value="2" label="User completed sign-in flow"/> - <int value="3" label="User attempted sign-in flow, then navigated away"/> - <int value="4" label="User attempted sign-in flow, then clicked No Thanks"/> + <int value="1" label="User clicked the 'Get Started' button"/> + <int value="2" label="[Deprecated] User completed sign-in flow"/> + <int value="3" + label="[Deprecated] User attempted sign-in flow, then navigated away"/> + <int value="4" + label="[Deprecated] User attempted sign-in flow, then clicked No Thanks"/> + <int value="5" label="User clicked the 'Sign in' button"/> </enum> <enum name="WhitelistedDownloadType"> @@ -71831,6 +73752,17 @@ Called by update_scheduler_enums.py.--> <int value="3" label="Desktop Aura"/> </enum> +<enum name="WindowActivityOrigin"> + <int value="0" label="WindowActivityUnknwonOrigin"/> + <int value="1" label="WindowActivityExternalOrigin"/> + <int value="2" label="WindowActivityRestoredOrigin"/> + <int value="3" label="WindowActivityContextMenuOrigin"/> + <int value="4" label="WindowActivityReadingListOrigin"/> + <int value="5" label="WindowActivityBookmarksOrigin"/> + <int value="6" label="WindowActivityHistoryOrigin"/> + <int value="7" label="WindowActivityToolsOrigin"/> +</enum> + <enum name="WindowDragEndEventType"> <int value="0" label="Drag ends with normal end event."/> <int value="1" label="Drag has been reverted."/> @@ -72029,7 +73961,7 @@ Called by update_scheduler_enums.py.--> <int value="10" label="GET_GROUP_FAILED"/> <int value="11" label="GET_TAG_FAILED"/> <int value="12" label="SUPPRESS_POPUP_FAILED"/> - <int value="13" label="ADD_TOAST_DISMISS_HANDLER_FAILED"/> + <int value="13" label="ADD_TOAST_DISMISS_HANDLER_FAILED (deprecated)"/> <int value="14" label="ADD_TOAST_ERROR_HANDLER_FAILED"/> <int value="15" label="SHOWING_TOAST_FAILED"/> <int value="16" label="CREATE_TOAST_NOTIFICATION_MANAGER_FAILED"/> @@ -72751,6 +74683,8 @@ Called by update_scheduler_enums.py.--> <int value="1122894864" label="Windows 10 1803 (Build 17134.1040)"/> <int value="1122894893" label="Windows 10 1803 (Build 17134.1069)"/> <int value="1122894923" label="Windows 10 1803 (Build 17134.1099)"/> + <int value="1122895128" label="Windows 10 1803 (Build 17134.1304)"/> + <int value="1122895312" label="Windows 10 1803 (Build 17134.1488)"/> <int value="1164115969" label="Windows 10 1809 (Build 17763.1)"/> <int value="1164115985" label="Windows 10 1809 (Build 17763.17)"/> <int value="1164116023" label="Windows 10 1809 (Build 17763.55)"/> @@ -72786,6 +74720,8 @@ Called by update_scheduler_enums.py.--> <int value="1164116743" label="Windows 10 1809 (Build 17763.775)"/> <int value="1164116773" label="Windows 10 1809 (Build 17763.805)"/> <int value="1164116800" label="Windows 10 1809 (Build 17763.832)"/> + <int value="1164117126" label="Windows 10 1809 (Build 17763.1158)"/> + <int value="1164117185" label="Windows 10 1809 (Build 17763.1217)"/> <int value="1203372033" label="Windows 10 1903 (Build 18362.1)"/> <int value="1203372062" label="Windows 10 1903 (Build 18362.30)"/> <int value="1203372085" label="Windows 10 1903 (Build 18362.53)"/> @@ -72808,6 +74744,9 @@ Called by update_scheduler_enums.py.--> <int value="1203372420" label="Windows 10 1903 (Build 18362.388)"/> <int value="1203372450" label="Windows 10 1903 (Build 18362.418)"/> <int value="1203372481" label="Windows 10 1903 (Build 18362.449)"/> + <int value="1203372752" label="Windows 10 1903 (Build 18362.720)"/> + <int value="1203372810" label="Windows 10 1903 (Build 18362.778)"/> + <int value="1203372868" label="Windows 10 1903 (Build 18362.836)"/> <int value="1203382032" label="Windows 10 1903 (Build 18362.10000)"/> <int value="1203382037" label="Windows 10 1903 (Build 18362.10005)"/> <int value="1203382038" label="Windows 10 1903 (Build 18362.10006)"/> @@ -72817,6 +74756,9 @@ Called by update_scheduler_enums.py.--> <int value="1203382047" label="Windows 10 1903 (Build 18362.10015)"/> <int value="1203382051" label="Windows 10 1903 (Build 18362.10019)"/> <int value="1203382056" label="Windows 10 1903 (Build 18362.10024)"/> + <int value="1203438288" label="Windows 10 1909 (Build 18363.720)"/> + <int value="1203438346" label="Windows 10 1909 (Build 18363.778)"/> + <int value="1203438404" label="Windows 10 1909 (Build 18363.836)"/> <int value="1239155688" label="Windows 10 Insider (Build 18908.1000)"/> <int value="1240073192" label="Windows 10 Insider (Build 18922.1000)"/> <int value="1240728552" label="Windows 10 Insider (Build 18932.1000)"/> @@ -72824,6 +74766,7 @@ Called by update_scheduler_enums.py.--> <int value="1241318377" label="Windows 10 Insider (Build 18941.1001)"/> <int value="1241580521" label="Windows 10 Insider (Build 18945.1001)"/> <int value="1241711592" label="Windows 10 Insider (Build 18947.1000)"/> + <int value="1247871240" label="Windows 10 2004 (Build 19041.264)"/> </enum> <enum name="WindowsToastActivatorCLSIDMismatchReason"> @@ -72862,6 +74805,7 @@ Called by update_scheduler_enums.py.--> <int value="12" label="Windows 10 RS4"/> <int value="13" label="Windows 10 RS5"/> <int value="14" label="Windows 10 19H1"/> + <int value="15" label="Windows 10 20H1"/> </enum> <enum name="WindowType"> @@ -73703,6 +75647,9 @@ Called by update_scheduler_enums.py.--> </enum> <enum name="XRSessionRequestDialogAction"> + <obsolete> + Removed as of 06/2020. + </obsolete> <int value="0" label="UserConsented"/> <int value="1" label="UserDenied"/> <int value="2" label="UserAbortedConsentFlow"/> diff --git a/chromium/tools/metrics/histograms/histogram_paths.py b/chromium/tools/metrics/histograms/histogram_paths.py index 64721052a2c..4c65c102cfe 100644 --- a/chromium/tools/metrics/histograms/histogram_paths.py +++ b/chromium/tools/metrics/histograms/histogram_paths.py @@ -10,10 +10,17 @@ import sys sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common')) import path_util -HISTOGRAMS_XML = path_util.GetInputFile( - 'tools/metrics/histograms/histograms.xml') +ALL_XMLS_RELATIVE = [ + 'tools/metrics/histograms/enums.xml', + 'tools/metrics/histograms/histograms.xml' +] +ALL_XMLS = [path_util.GetInputFile(f) for f in ALL_XMLS_RELATIVE] +ENUMS_XML, HISTOGRAMS_XML = ALL_XMLS -ENUMS_XML = path_util.GetInputFile( - 'tools/metrics/histograms/enums.xml') - -ALL_XMLS = [HISTOGRAMS_XML, ENUMS_XML] +ALL_TEST_XMLS_RELATIVE = [ + 'tools/metrics/histograms/test_data/enums.xml', + 'tools/metrics/histograms/test_data/histograms.xml', + 'tools/metrics/histograms/test_data/ukm.xml', +] +ALL_TEST_XMLS = [path_util.GetInputFile(f) for f in ALL_TEST_XMLS_RELATIVE] +TEST_ENUMS_XML, TEST_HISTOGRAMS_XML, TEST_UKM_XML = ALL_TEST_XMLS
\ No newline at end of file diff --git a/chromium/tools/metrics/histograms/histograms.xml b/chromium/tools/metrics/histograms/histograms.xml index befef0d7b45..eb2f41324d4 100644 --- a/chromium/tools/metrics/histograms/histograms.xml +++ b/chromium/tools/metrics/histograms/histograms.xml @@ -103,8 +103,20 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Accessibility.ATK-APIs" enum="AccessibilityATKAPIEnum" + expires_after="M88"> + <owner>dmazzoni@chromium.org</owner> + <owner>jkim@igalia.com</owner> + <owner>chrome-a11y-core@google.com</owner> + <summary> + Tracks usage of ATK APIs on Linux Desktop. Recorded when ATK APIs that were + supposed to trigger AX mode enabled is called. The feature to turn on AX + mode through ATK APIs is disabled for now; see http://crbug.com/1086506. + </summary> +</histogram> + <histogram name="Accessibility.CaptionSettingsLoadedFromPrefs" - enum="BooleanEnabled" expires_after="M85"> + enum="BooleanEnabled" expires_after="2020-12-01"> <owner>evliu@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -114,7 +126,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CaptionSettingsLoadedFromSystemSettings" - enum="BooleanEnabled" expires_after="M85"> + enum="BooleanEnabled" expires_after="2020-12-01"> <owner>evliu@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -124,7 +136,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosAlwaysShowA11yMenu" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>dmazzoni@chromium.org</owner> <owner>kenjibaheux@google.com</owner> <owner>chrome-a11y-core@google.com</owner> @@ -135,7 +147,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosAutoclick" enum="BooleanEnabled" - expires_after="M85"> + expires_after="2021-06-01"> <owner>dmazzoni@chromium.org</owner> <owner>kenjibaheux@google.com</owner> <owner>dtseng@chromium.org</owner> @@ -160,6 +172,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Accessibility.CrosAutoclickDelay" units="ms" expires_after="M85"> + <obsolete> + Removed 06/2020 as it is no longer needed for analysis. + </obsolete> <owner>dmazzoni@chromium.org</owner> <owner>kenjibaheux@google.com</owner> <owner>katie@chromium.org</owner> @@ -171,7 +186,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosCaretHighlight" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>dmazzoni@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> <summary> @@ -182,6 +197,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Accessibility.CrosChromeVoxAfterSwitchAccess" enum="BooleanEnabled" expires_after="M85"> + <obsolete> + Removed M85 when no longer needed, as there is no longer a restriction on + having both features enabled. + </obsolete> <owner>anastasi@google.com</owner> <owner>dtseng@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> @@ -191,7 +210,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosChromeVoxNext" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>dmazzoni@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> <summary> @@ -203,7 +222,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosCursorHighlight" enum="BooleanEnabled" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>dmazzoni@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> <summary> @@ -213,7 +232,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosDictation" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>anastasi@google.com</owner> <owner>dtseng@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> @@ -224,7 +243,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosDictation.ToggleDictationMethod" - enum="CrosDictationToggleDictationMethod" expires_after="M85"> + enum="CrosDictationToggleDictationMethod" expires_after="M90"> <owner>anastasi@google.com</owner> <owner>dtseng@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> @@ -232,7 +251,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosDockedMagnifier" enum="BooleanEnabled" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>dmazzoni@chromium.org</owner> <owner>katie@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> @@ -243,7 +262,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosFocusHighlight" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>dmazzoni@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> <summary> @@ -253,7 +272,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosHighContrast" enum="BooleanEnabled" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>dmazzoni@chromium.org</owner> <owner>kenjibaheux@google.com</owner> <owner>chrome-a11y-core@google.com</owner> @@ -264,7 +283,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosLargeCursor" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>dmazzoni@chromium.org</owner> <owner>kenjibaheux@google.com</owner> <owner>chrome-a11y-core@google.com</owner> @@ -275,7 +294,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosLargeCursorSize" units="dip" - expires_after="M85"> + expires_after="M90"> <owner>yawano@chromium.org</owner> <owner>lpalmaro@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> @@ -286,7 +305,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosScreenMagnifier" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>dmazzoni@chromium.org</owner> <owner>kenjibaheux@google.com</owner> <owner>chrome-a11y-core@google.com</owner> @@ -297,7 +316,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosSelectToSpeak" enum="BooleanEnabled" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>dmazzoni@chromium.org</owner> <owner>katie@chromium.org</owner> <owner>chrome-a11y-core@google.com</owner> @@ -307,6 +326,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Accessibility.CrosSelectToSpeak.BackgroundShading" + enum="BooleanEnabled" expires_after="2021-05-28"> + <owner>katie@chromium.org</owner> + <owner>chrome-a11y-core@google.com</owner> + <summary> + Whether Select-to-Speak had background shading enabled when activated. + </summary> +</histogram> + <histogram name="Accessibility.CrosSelectToSpeak.SpeechPitch" enum="CrosSelectToSpeakSpeechPitch" expires_after="2018-08-01"> <obsolete> @@ -336,8 +364,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosSelectToSpeak.StartSpeechMethod" - enum="CrosSelectToSpeakStartSpeechMethod" expires_after="M85"> + enum="CrosSelectToSpeakStartSpeechMethod" expires_after="M90"> <owner>katie@chromium.org</owner> + <owner>chrome-a11y-core@google.com</owner> <summary> A user may activate Select-to-Speak by holding down 'search' and clicking or dragging a region with the mouse, or by highlighting an area and using @@ -346,8 +375,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosSelectToSpeak.StateChangeEvent" - enum="CrosSelectToSpeakStateChangeEvent" expires_after="M85"> + enum="CrosSelectToSpeakStateChangeEvent" expires_after="M90"> <owner>katie@chromium.org</owner> + <owner>chrome-a11y-core@google.com</owner> <summary> A user has tapped a button in the tray to change Select-to-Speak's state. The tap was interpreted by Select-to-Speak as a request to start selection, @@ -359,6 +389,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Accessibility.CrosSelectToSpeak.WordHighlighting" enum="BooleanEnabled" expires_after="M85"> + <obsolete> + Removed 06/2020 as it is no longer needed for analysis. + </obsolete> <owner>katie@chromium.org</owner> <summary> Whether Select-to-Speak had per-word highlighting enabled when activated. @@ -407,7 +440,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosStickyKeys" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>dmazzoni@chromium.org</owner> <owner>kenjibaheux@google.com</owner> <owner>tengs@chromium.org</owner> @@ -419,8 +452,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosSwitchAccess" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>dmazzoni@chromium.org</owner> + <owner>anastasi@google.com</owner> <owner>chrome-a11y-core@google.com</owner> <summary> Whether the Chrome OS switch access is on (logged once 45 secs after @@ -430,6 +464,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Accessibility.CrosSwitchAccessAfterChromeVox" enum="BooleanEnabled" expires_after="M85"> + <obsolete> + Removed M85 when no longer needed, as there is no longer a restriction on + having both features enabled. + </obsolete> <owner>anastasi@google.com</owner> <owner>dtseng@chromium.org</owner> <summary> @@ -438,7 +476,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.CrosVirtualKeyboard" enum="BooleanEnabled" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>dmazzoni@chromium.org</owner> <owner>kenjibaheux@google.com</owner> <owner>chrome-a11y-core@google.com</owner> @@ -461,6 +499,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Accessibility.ImageLabels.ContextMenuOption" enum="AccessibilityImageLabelMode" expires_after="2020-04-26"> + <obsolete> + Removed 06/2020 because we don't need to keep tracking this. + </obsolete> <owner>katie@chromium.org</owner> <owner>dmazzoni@chromium.org</owner> <summary> @@ -474,6 +515,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Accessibility.ImageLabels.FromSettings.ToggleSetting" enum="BooleanEnabled" expires_after="2020-04-19"> + <obsolete> + Removed 06/2020 because we don't need to keep tracking this. + </obsolete> <owner>katie@chromium.org</owner> <owner>dmazzoni@chromium.org</owner> <summary> @@ -767,6 +811,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="Accessibility.ScreenReader.Image.MinSize" units="px" expires_after="2020-05-10"> + <obsolete> + Removed 06/2020 as this is stable and doesn't need to be tracked closely. + </obsolete> <!-- Name completed by histogram_suffixes name="AccessibilityScreenReaderImage" --> @@ -781,6 +828,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="Accessibility.ScreenReader.Image.SizeRatio" units="%" expires_after="2020-05-10"> + <obsolete> + Removed 06/2020 as this is stable and doesn't need to be tracked closely. + </obsolete> <!-- Name completed by histogram_suffixes name="AccessibilityScreenReaderImage" --> @@ -848,7 +898,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.VTTContainsStyleBlock" enum="BooleanEnabled" - expires_after="M85"> + expires_after="2020-12-01"> <owner>evliu@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -901,7 +951,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Accessibility.WinHighContrastTheme" - enum="AccessibilityHighContrastColorScheme" expires_after="M85"> + enum="AccessibilityHighContrastColorScheme" expires_after="M88"> <owner>almaher@microsoft.com</owner> <owner>weblayoutdev@microsoft.com</owner> <summary> @@ -1446,7 +1496,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ads.Media.LoadType" enum="MediaLoadType" - expires_after="2020-09-18"> + expires_after="2020-11-22"> <owner>johnidel@chromium.org</owner> <owner>jkarlin@chromium.org</owner> <summary> @@ -2076,7 +2126,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.AppNotificationStatus" enum="NotificationAppStatus" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>peter@chromium.org</owner> <summary> Records whether notifications are enabled for Chrome, as the Android app, @@ -2335,6 +2385,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Android.ChildProcessLauncher.OnServiceConnectedTimedOutResult" + enum="OnServiceConnectedTimedOutResult" expires_after="2021-06-30"> + <owner>boliu@chromium.org</owner> + <owner>src/base/android/OWNERS</owner> + <summary> + When ChildProcessConnection fallback is enabled (Android 10+ for sandboxed + services), this is recorded after the timeout (10s) of every + ChildProcessConnection launch. Record whether fallback operation is + performed. + </summary> +</histogram> + <histogram name="Android.ChromeActivity.Type" enum="ChromeActivityType" expires_after="never"> <!-- expires-never: Used to classify UMA reports by the dashboards. --> @@ -2634,7 +2696,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.ContactsPicker.DialogAction" - enum="ContactsPickerDialogAction" expires_after="2020-09-01"> + enum="ContactsPickerDialogAction" expires_after="2020-11-29"> <owner>finnur@chromium.org</owner> <owner>twellington@chromium.org</owner> <summary> @@ -2644,7 +2706,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.ContactsPicker.PropertiesRequested" - units="ContactsPickerProperties" expires_after="2020-09-01"> + units="ContactsPickerProperties" expires_after="2020-11-29"> <owner>finnur@chromium.org</owner> <owner>twellington@chromium.org</owner> <summary> @@ -2654,7 +2716,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.ContactsPicker.SelectCount" units="Contacts" - expires_after="2020-09-01"> + expires_after="2020-11-29"> <owner>finnur@chromium.org</owner> <owner>twellington@chromium.org</owner> <summary> @@ -2699,6 +2761,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Android.DarkTheme.DarkSearchRequested" enum="Boolean" + expires_after="2020-12-01"> + <owner>wylieb@chromium.org</owner> + <owner>twellington@chromium.org</owner> + <owner>chrome-android-app@chromium.org</owner> + <summary> + Records if Chrome altered a google homepage/search request to include the + dark theme. Recorded only when navigating to google or google search. + Histogram total count will be the total number of requests to the google + hompage or google search. + </summary> +</histogram> + <histogram name="Android.DarkTheme.EnabledReason" enum="DarkThemeEnabledReason" expires_after="M90"> <owner>twellington@chromium.org</owner> @@ -2729,8 +2804,91 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Android.DefaultBrowserPromo.DialogShown" + enum="AndroidDefaultBrowserPromoType" expires_after="2021-03-26"> + <owner>lazzzis@google.org</owner> + <owner>twellington@chromium.org</owner> + <owner>pavely@chromium.org</owner> + <summary> + Records the current default browser state when the primer dialog prompting + users to change their default browser is shown. + </summary> +</histogram> + +<histogram + name="Android.DefaultBrowserPromo.IntentReceivedFromDisambiguationSheet" + enum="AndroidDefaultBrowserPromoOutcomeType" expires_after="2021-03-26"> + <owner>lazzzis@google.org</owner> + <owner>twellington@chromium.org</owner> + <owner>pavely@chromium.org</owner> + <summary> + Records the current default browser state if the activity receives an intent + through the disambiguation sheet that is displayed in response to the + default browser promo. + </summary> +</histogram> + +<histogram name="Android.DefaultBrowserPromo.Outcome.NoDefault" + enum="AndroidDefaultBrowserPromoOutcomeType" expires_after="2021-03-26"> + <owner>lazzzis@google.org</owner> + <owner>twellington@chromium.org</owner> + <owner>pavely@chromium.org</owner> + <summary> + The final default browser state (outcome) after the user has been prompted + to set Chrome as the default when no browser is set as the default + initially. Recorded when the system UI prompting the user to change their + default is dismissed. + </summary> +</histogram> + +<histogram name="Android.DefaultBrowserPromo.Outcome.OtherDefault" + enum="AndroidDefaultBrowserPromoOutcomeType" expires_after="2021-03-26"> + <owner>lazzzis@google.org</owner> + <owner>twellington@chromium.org</owner> + <owner>pavely@chromium.org</owner> + <summary> + The final default browser state (outcome) after the user has been prompted + to set Chrome as the default when another browser is set as the default + initially. Recorded when the system UI prompting the user to change their + default is dismissed. + </summary> +</histogram> + +<histogram name="Android.DefaultBrowserPromo.RoleManagerShown" + enum="AndroidDefaultBrowserPromoType" expires_after="2021-03-26"> + <owner>lazzzis@google.org</owner> + <owner>twellington@chromium.org</owner> + <owner>pavely@chromium.org</owner> + <summary> + Records the default browser state when the Android Q+ role manager dialog is + shown. + </summary> +</histogram> + +<histogram name="Android.DefaultBrowserPromo.UIDismissalReason.NoDefault" + enum="AndroidDefaultBrowserPromoUserActionType" expires_after="2021-03-26"> + <owner>lazzzis@google.org</owner> + <owner>twellington@chromium.org</owner> + <owner>pavely@chromium.org</owner> + <summary> + Records which button click led to the default browser promo dialog being + dismissed for dialogs shown when there is currently no default browser set. + </summary> +</histogram> + +<histogram name="Android.DefaultBrowserPromo.UIDismissalReason.OtherDefault" + enum="AndroidDefaultBrowserPromoUserActionType" expires_after="2021-03-26"> + <owner>lazzzis@google.org</owner> + <owner>twellington@chromium.org</owner> + <owner>pavely@chromium.org</owner> + <summary> + Records which button click led to the default browser promo dialog being + dismissed for dialogs shown when another browser is set as the default. + </summary> +</histogram> + <histogram name="Android.DeviceSize.LargestDisplaySize" units="dp" - expires_after="2020-09-30"> + expires_after="2020-11-29"> <owner>twellington@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <owner>chrome-android-app@chromium.org</owner> @@ -2742,7 +2900,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.DeviceSize.SmallestDisplaySize" units="dp" - expires_after="2020-09-30"> + expires_after="2020-11-29"> <owner>twellington@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <owner>chrome-android-app@chromium.org</owner> @@ -2898,7 +3056,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.DownloadManager.Menu.Action" - enum="Android.DownloadManager.Menu.Actions" expires_after="2020-09-20"> + enum="Android.DownloadManager.Menu.Actions" expires_after="2020-11-22"> <owner>dtrainor@chromium.org</owner> <owner>clank-downloads@google.com</owner> <summary>The count of Download Home top level menu actions taken.</summary> @@ -3087,7 +3245,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.DownloadManager.Share.Count" units="units" - expires_after="M82"> + expires_after="M86"> <owner>twellington@chromium.org</owner> <owner>ianwen@chromium.org</owner> <owner>clank-downloads@google.com</owner> @@ -3177,12 +3335,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Android.FeatureModules.AvailabilityStatus" - enum="FeatureModuleAvailabilityStatus" expires_after="2020-07-06"> + enum="FeatureModuleAvailabilityStatus" expires_after="2021-01-31"> <!-- Name completed by histogram_suffixes name="AndroidFeatureModuleName" --> - <owner>tiborg@chromium.org</owner> <owner>agrieve@chromium.org</owner> + <owner>fredmello@chromium.org</owner> + <owner>tiborg@chromium.org</owner> + <owner>wnwen@chromium.org</owner> <summary> Availability status for each dynamic feature module. Reported once per Chrome start. This metric's purpose is to measure a feature module's install @@ -3191,13 +3351,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Android.FeatureModules.CachedAwakeInstallDuration" - units="ms" expires_after="2020-04-05"> + units="ms" expires_after="2021-01-31"> <!-- Name completed by histogram_suffixes name="AndroidFeatureModuleName" --> + <owner>agrieve@chromium.org</owner> + <owner>fredmello@chromium.org</owner> <owner>tiborg@chromium.org</owner> <owner>wnwen@chromium.org</owner> - <owner>agrieve@chromium.org</owner> <summary> Duration of successful installs for each dynamic feature module. Only contains install durations for modules first requested *before* Chrome @@ -3207,7 +3368,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Android.FeatureModules.CachedInstallDuration" - units="ms" expires_after="2020-01-01"> + units="ms" expires_after="2021-01-31"> <obsolete> Removed 2019-09 in favour of Android.FeatureModules.CachedAwakeInstallDuration. @@ -3215,9 +3376,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <!-- Name completed by histogram_suffixes name="AndroidFeatureModuleName" --> + <owner>agrieve@chromium.org</owner> + <owner>fredmello@chromium.org</owner> <owner>tiborg@chromium.org</owner> <owner>wnwen@chromium.org</owner> - <owner>agrieve@chromium.org</owner> <summary> Duration of successful installs for each dynamic feature module. Only contains install durations for modules first requested *before* Chrome @@ -3226,13 +3388,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Android.FeatureModules.InstallingStatus" - enum="FeatureModuleInstallingStatus" expires_after="2020-09-01"> + enum="FeatureModuleInstallingStatus" expires_after="2021-01-31"> <!-- Name completed by histogram_suffixes name="AndroidFeatureModuleName" --> - <owner>tiborg@chromium.org</owner> <owner>agrieve@chromium.org</owner> <owner>fredmello@chromium.org</owner> + <owner>tiborg@chromium.org</owner> + <owner>wnwen@chromium.org</owner> <summary> Install status counter for each dynamic feature module. Recorded during on-demand and deferred installs. @@ -3240,12 +3403,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Android.FeatureModules.InstallStatus" - enum="FeatureModuleInstallStatus" expires_after="2020-08-23"> + enum="FeatureModuleInstallStatus" expires_after="2021-01-31"> <!-- Name completed by histogram_suffixes name="AndroidFeatureModuleName" --> - <owner>tiborg@chromium.org</owner> <owner>agrieve@chromium.org</owner> + <owner>fredmello@chromium.org</owner> + <owner>tiborg@chromium.org</owner> + <owner>wnwen@chromium.org</owner> <summary> Install status for each dynamic feature module. Recorded after the installation has finished. @@ -3253,10 +3418,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.FeatureModules.StartupTime" units="ms" - expires_after="2020-08-28"> - <owner>wnwen@chromium.org</owner> + expires_after="2021-01-31"> + <owner>agrieve@chromium.org</owner> <owner>fredmello@chromium.org</owner> <owner>tiborg@chromium.org</owner> + <owner>wnwen@chromium.org</owner> <summary> Length of time during startup used by module framework code. This is our metric to improve and used to guard against regressions. @@ -3265,13 +3431,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="Android.FeatureModules.UncachedAwakeInstallDuration" units="ms" - expires_after="2020-07-19"> + expires_after="2021-01-31"> <!-- Name completed by histogram_suffixes name="AndroidFeatureModuleName" --> + <owner>agrieve@chromium.org</owner> + <owner>fredmello@chromium.org</owner> <owner>tiborg@chromium.org</owner> <owner>wnwen@chromium.org</owner> - <owner>agrieve@chromium.org</owner> <summary> Duration of successful installs for each dynamic feature module. Only contains install durations of modules first requested *after* Chrome started @@ -3281,7 +3448,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Android.FeatureModules.UncachedInstallDuration" - units="ms" expires_after="2020-01-01"> + units="ms" expires_after="2021-01-31"> <obsolete> Removed 2019-09 in favour of Android.FeatureModules.UncachedAwakeInstallDuration. @@ -3289,9 +3456,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <!-- Name completed by histogram_suffixes name="AndroidFeatureModuleName" --> + <owner>agrieve@chromium.org</owner> + <owner>fredmello@chromium.org</owner> <owner>tiborg@chromium.org</owner> <owner>wnwen@chromium.org</owner> - <owner>agrieve@chromium.org</owner> <summary> Duration of successful installs for each dynamic feature module. Only contains install durations of modules first requested *after* Chrome started @@ -3483,7 +3651,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.Language.UiIsSystemLanguage" enum="BooleanMatched" - expires_after="2020-10-14"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>perrier@chromium.org</owner> <owner>megjablon@chromium.org</owner> <summary> @@ -3493,7 +3662,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.Language.WrongLanguageAfterResume" enum="Boolean" - expires_after="2020-09-06"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>tiborg@chromium.org</owner> <owner>heamy@chromium.org</owner> <summary> @@ -3727,7 +3897,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.NativeBackgroundTask.TaskFinished" - enum="BackgroundTaskId" expires_after="2020-06-17"> + enum="BackgroundTaskId" expires_after="2021-06-15"> <owner>mheikal@chromium.org</owner> <owner>hanxi@chromium.org</owner> <owner>hnakashima@chromium.org</owner> @@ -3740,7 +3910,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.NativeBackgroundTask.TaskFinished.FullBrowser" - enum="BackgroundTaskId" expires_after="2020-09-27"> + enum="BackgroundTaskId" expires_after="2021-06-15"> <owner>mheikal@chromium.org</owner> <owner>hanxi@chromium.org</owner> <owner>hnakashima@chromium.org</owner> @@ -3752,7 +3922,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.NativeBackgroundTask.TaskFinished.ReducedMode" - enum="BackgroundTaskId" expires_after="2020-07-26"> + enum="BackgroundTaskId" expires_after="2021-06-15"> <owner>mheikal@chromium.org</owner> <owner>hanxi@chromium.org</owner> <owner>hnakashima@chromium.org</owner> @@ -3765,7 +3935,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.NativeBackgroundTask.TaskStarted" - enum="BackgroundTaskId" expires_after="2020-06-17"> + enum="BackgroundTaskId" expires_after="2021-06-15"> <owner>mheikal@chromium.org</owner> <owner>hanxi@chromium.org</owner> <owner>hnakashima@chromium.org</owner> @@ -3778,7 +3948,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.NativeBackgroundTask.TaskStarted.FullBrowser" - enum="BackgroundTaskId" expires_after="2020-07-26"> + enum="BackgroundTaskId" expires_after="2021-06-15"> <owner>mheikal@chromium.org</owner> <owner>hanxi@chromium.org</owner> <owner>hnakashima@chromium.org</owner> @@ -3789,7 +3959,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.NativeBackgroundTask.TaskStarted.ReducedMode" - enum="BackgroundTaskId" expires_after="2020-07-26"> + enum="BackgroundTaskId" expires_after="2021-06-15"> <owner>mheikal@chromium.org</owner> <owner>hanxi@chromium.org</owner> <owner>hnakashima@chromium.org</owner> @@ -3824,7 +3994,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.NativeStartupBridge.LoadFullBrowser" - enum="BooleanRequested" expires_after="2020-06-01"> + enum="BooleanRequested" expires_after="2021-06-01"> <owner>mheikal@chromium.org</owner> <owner>hnakashima@chromium.org</owner> <owner>hanxi@chromium.org</owner> @@ -3835,7 +4005,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.NTP.Impression" enum="NTPImpressionType" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>finkm@chromium.org</owner> <summary> Counts impressions of the NTP on Android. It also counts potential @@ -4345,7 +4515,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.SearchEngineChoice.ChosenSearchEngine" - enum="OmniboxSearchEngineType" expires_after="M85"> + enum="OmniboxSearchEngineType" expires_after="2020-10-01"> <owner>fgorski@chromium.org</owner> <owner>lzbylut@chromium.org</owner> <summary> @@ -4355,20 +4525,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.SearchEngineChoice.Events" - enum="AndroidSearchEngineChoiceEvents" expires_after="M85"> + enum="AndroidSearchEngineChoiceEvents" expires_after="2020-10-01"> + <owner>wylieb@chromium.org</owner> <owner>fgorski@chromium.org</owner> - <owner>lzbylut@chromium.org</owner> <summary> Counts occurences of various events related to Search Engine Choice feature. </summary> </histogram> <histogram name="Android.SearchEngineChoice.EventsV2" - enum="AndroidSearchEngineChoiceEventsV2" expires_after="M85"> - <owner>fgorski@chromium.org</owner> - <owner>pavely@chromium.org</owner> + enum="AndroidSearchEngineChoiceEventsV2" expires_after="2020-10-01"> <owner>wylieb@chromium.org</owner> - <owner>lzbylut@chromium.org</owner> + <owner>pavely@chromium.org</owner> + <owner>fgorski@chromium.org</owner> <summary> Counts occurences of various events related to Search Engine Choice V2 feature. @@ -4376,9 +4545,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.SearchEngineChoice.SearchEngineBeforeChoicePrompt" - enum="OmniboxSearchEngineType" expires_after="M85"> + enum="OmniboxSearchEngineType" expires_after="2020-10-01"> + <owner>wylieb@chromium.org</owner> <owner>fgorski@chromium.org</owner> - <owner>lzbylut@chromium.org</owner> <summary> The type of the search engine used before Search Engine Choice flow was presented. @@ -4386,7 +4555,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.SeccompStatus.PhotoPickerSandbox" - enum="AndroidSeccompSandboxStatus" expires_after="M85"> + enum="AndroidSeccompSandboxStatus" expires_after="M99"> <owner>peter@chromium.org</owner> <owner>rsesek@chromium.org</owner> <summary> @@ -4409,7 +4578,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.SeccompStatus.RendererSandbox" - enum="AndroidSeccompSandboxStatus" expires_after="2020-11-08"> + enum="AndroidSeccompSandboxStatus" expires_after="2021-06-01"> <owner>rsesek@chromium.org</owner> <summary> Reports the status of the seccomp-bpf sandbox in renderer processes. @@ -4419,7 +4588,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.SeccompStatus.Syscall" enum="AndroidSeccompStatus" - expires_after="M85"> + expires_after="M99"> <owner>rsesek@chromium.org</owner> <summary> Reports the level of kernel support for the seccomp-bpf sandbox using the @@ -4793,7 +4962,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.AttachedToWindowIn30s" enum="Boolean" - expires_after="M84"> + expires_after="2021-06-09"> <owner>michaelbai@chromium.org</owner> <owner>boliu@chromium.org</owner> <summary> @@ -4803,7 +4972,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.AttachedToWindowIn3m" enum="Boolean" - expires_after="M84"> + expires_after="2021-06-09"> <owner>michaelbai@chromium.org</owner> <owner>boliu@chromium.org</owner> <summary> @@ -4813,7 +4982,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.AttachedToWindowIn5s" enum="Boolean" - expires_after="M84"> + expires_after="2021-06-09"> <owner>michaelbai@chromium.org</owner> <owner>boliu@chromium.org</owner> <summary> @@ -4823,7 +4992,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.AttachedToWindowTime" units="ms" - expires_after="M84"> + expires_after="2021-06-09"> <owner>michaelbai@chromium.org</owner> <owner>boliu@chromium.org</owner> <summary> @@ -4834,7 +5003,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.Callback.Counts" enum="WebViewCallbackType" - expires_after="2020-05-14"> + expires_after="2021-05-14"> <owner>timvolodine@chromium.org</owner> <owner>ntfschr@chromium.org</owner> <summary>Records the invocation count of WebView callbacks.</summary> @@ -4899,6 +5068,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Android.WebView.DevUi.CrashList.CrashInteraction" + enum="AndroidWebViewCrashInteraction" expires_after="2021-01-20"> + <owner>ntfschr@chromium.org</owner> + <owner>hazems@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> + <summary> + Records the user's interaction with crashes in the developer UI's crash + list. Specifically, this tracks how the user interacts with the "upload + this crash report" or the "file bug report" buttons and + possible subsequent dialogs. Since these two buttons are connected (the user + must upload a crash before they can file a bug report), we track interaction + with both in the same histogram. This is recorded for each button press in + the crash list and is not recorded if the user does not interact with any + crashes. + </summary> +</histogram> + <histogram name="Android.WebView.DevUi.CrashList.NumberShown" units="crash reports" expires_after="2021-01-20"> <owner>ntfschr@chromium.org</owner> @@ -4994,6 +5180,24 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="Android.WebView.DevUi.SessionDuration" units="ms" expires_after="2021-01-20"> + <obsolete> + Removed May 2020 because this only captures sessions up to 10 seconds long. + Use Android.WebView.DevUi.SessionDuration2 instead, which captures sessions + up to an hour. + </obsolete> +<!-- Name completed by histogram_suffixes + name="AndroidWebViewFragments" --> + + <owner>ntfschr@chromium.org</owner> + <owner>hazems@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> + <summary> + Records the time spent using a specific tool, from creation to destruction. + </summary> +</histogram> + +<histogram base="true" name="Android.WebView.DevUi.SessionDuration2" units="ms" + expires_after="2021-01-20"> <!-- Name completed by histogram_suffixes name="AndroidWebViewFragments" --> @@ -5020,7 +5224,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.EverAttachedToWindow" enum="Boolean" - expires_after="M84"> + expires_after="2021-06-09"> <owner>michaelbai@chromium.org</owner> <owner>boliu@chromium.org</owner> <summary> @@ -5053,6 +5257,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Android.WebView.Gfx.HardwareDrawType" + enum="WebViewDrawAndSubmissionType" expires_after="2020-12-15"> + <owner>vasilyt@chromium.org</owner> + <owner>boliu@chromium.org</owner> + <summary> + Tracks invalidate and frame submission status for WebView hardware draw. + Result is enum that represent three flags: did we called invalidate this + frame, did renderer submitted compositor frame and whether DrawParams from + Android HWUI changed. This is logged once per WebView draw functor call. + </summary> +</histogram> + <histogram name="Android.WebView.LoadDataWithBaseUrl.BaseUrl" enum="WebViewUrlScheme" expires_after="2021-05-05"> <owner>ntfschr@chromium.org</owner> @@ -5136,6 +5352,20 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Android.WebView.NonEmbeddedMetrics.HistogramRecordAge" + units="minutes" expires_after="2021-01-20"> + <owner>hazems@chromium.org</owner> + <owner>ntfschr@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> + <summary> + Records the time interval between when a histogram is recorded in a + non-embedded WebView process and when it's actually sent to the UMA API in + an embedded WebView. This is recorded during WebView startup for each + histogram retrieved and replayed successfully from WebView non-embedded + metrics service. + </summary> +</histogram> + <histogram name="Android.WebView.NonEmbeddedMetrics.NumHistograms" units="histograms" expires_after="2021-01-20"> <owner>ntfschr@chromium.org</owner> @@ -5148,6 +5378,33 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Android.WebView.NonEmbeddedMetrics.ParsingLogResult" + enum="AndroidWebViewNonEmbeddedMetricsParsingLogResult" + expires_after="2021-01-20"> + <owner>hazems@chromium.org</owner> + <owner>ntfschr@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> + <summary> + Records whether metrics parsing from file in non-embedded histogram service + was successful. It's recorded during service startup by adding it to records + list. It captures the most recent file parsing result for the last service + launch before the client connects to the service. + </summary> +</histogram> + +<histogram name="Android.WebView.NonEmbeddedMetrics.RetrieveMetricsTaskStatus" + enum="AndroidWebViewNonEmbeddedMetricsRetrieveMetricsTaskStatus" + expires_after="2021-01-20"> + <owner>hazems@chromium.org</owner> + <owner>ntfschr@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> + <summary> + Recorded by the non-embedded histogram service if it's unable to return + histograms. This is always recorded when a client connects to retrieve + histograms. + </summary> +</histogram> + <histogram name="Android.WebView.NonEmbeddedMetrics.TransmissionResult" enum="AndroidWebViewDevUiMetricsTransmission" expires_after="2021-01-20"> <owner>ntfschr@chromium.org</owner> @@ -5161,7 +5418,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.onReceivedError.ErrorCode" - enum="WebViewClientErrorCode" expires_after="2020-04-11"> + enum="WebViewClientErrorCode" expires_after="2021-04-11"> <owner>timvolodine@chromium.org</owner> <owner>tobiasjs@chromium.org</owner> <owner>ntfschr@chromium.org</owner> @@ -5173,7 +5430,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.onReceivedHttpError.StatusCode" - enum="HttpResponseCode" expires_after="2020-04-11"> + enum="HttpResponseCode" expires_after="2021-04-11"> <owner>timvolodine@chromium.org</owner> <owner>tobiasjs@chromium.org</owner> <owner>ntfschr@chromium.org</owner> @@ -5326,7 +5583,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.Startup.DataDirLockAttempts" units="attempts" - expires_after="2020-09-30"> + expires_after="2020-12-10"> <owner>torne@chromium.org</owner> <owner>src/android_webview/OWNERS</owner> <summary> @@ -5337,7 +5594,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Android.WebView.Startup.InitAlreadyStarted" enum="Boolean" - expires_after="2020-09-30"> + expires_after="2020-12-10"> <owner>torne@chromium.org</owner> <owner>src/android_webview/OWNERS</owner> <summary> @@ -5539,6 +5796,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="AndroidTabCloseUndo.Toast" enum="AndroidTabCloseUndoToastEvent" expires_after="M82"> + <obsolete> + Removed as of 06/2020. Mostly tracked with Snackbar.Shown. + </obsolete> <owner>dtrainor@chromium.org</owner> <summary> When a user closes a tab an undo toast will popup on certain devices giving @@ -5637,6 +5897,38 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="API.StorageAccess.AllowedRequests" enum="StorageAccessResult" + expires_after="2020-11-27"> + <owner>brandm@microsoft.com</owner> + <owner>mkwst@chromium.org</owner> + <summary> + Records if various requests to access storage are allowed or not and if the + Storage Access API unblocked the request or not. Recorded whenever a + decision to access storage like getting/setting cookies or opening an + indexeddb connection is made in CookieSettings. + </summary> +</histogram> + +<histogram name="API.StorageAccess.GrantIsImplicit" enum="BooleanAvailable" + expires_after="2020-11-27"> + <owner>brandm@microsoft.com</owner> + <owner>mkwst@chromium.org</owner> + <summary> + Records if a generated grant was implicit or explicit at the time it was + created. + </summary> +</histogram> + +<histogram name="API.StorageAccess.RequestStorageAccess" + enum="RequestStorageResult" expires_after="2020-11-27"> + <owner>brandm@microsoft.com</owner> + <owner>mkwst@chromium.org</owner> + <summary> + Records requests to use document.requestStorageAccess and reasons the + request may be approved or rejected. + </summary> +</histogram> + <histogram name="AppBanners.BeforeInstallEvent" enum="AppBannersBeforeInstallEvent" expires_after="2021-01-01"> <owner>dominickn@chromium.org</owner> @@ -6170,7 +6462,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Apps.AppLaunch" enum="AppLaunch" expires_after="2020-10-11"> +<histogram name="Apps.AppLaunch" enum="AppLaunch" expires_after="2022-06-30"> <owner>tapted@chromium.org</owner> <owner>benwells@chromium.org</owner> <summary> @@ -6268,6 +6560,22 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Apps.AppList.CardifiedStateAnimation.AnimationSmoothness" + units="%" expires_after="2021-06-15"> +<!-- Name completed by histogram_suffixes + name="EnterOrExitCardifiedState" --> + + <owner>anasalazar@chromium.org</owner> + <owner>tbarzic@chromium.org</owner> + <summary> + Relative smoothness of animations of entering or exiting the cardified state + in the apps grid. 100% represents ideally smooth 60 frames per second. 50% + represents only 30 frames per second is achieved during the animations. 0% + should not happen. This metric is recorded one time per apps grid page each + time we enter or exit cardified state in the apps grid. + </summary> +</histogram> + <histogram name="Apps.AppList.DriveQuickAccessProvider.ApiResults" units="count" expires_after="2020-11-01"> <owner>tby@chromium.org</owner> @@ -6280,7 +6588,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.DriveQuickAccessProvider.CacheEmpty" - enum="BooleanEmpty" expires_after="2020-10-04"> + enum="BooleanEmpty" expires_after="2020-12-06"> <owner>tby@chromium.org</owner> <owner>wrong@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6292,7 +6600,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.DriveQuickAccessProvider.DriveFSMounted" - enum="Boolean" expires_after="2020-10-04"> + enum="Boolean" expires_after="2020-12-06"> <owner>tby@chromium.org</owner> <owner>wrong@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6303,7 +6611,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.DriveQuickAccessProvider.FileError" - enum="DriveFileError" expires_after="2020-10-04"> + enum="DriveFileError" expires_after="2020-12-06"> <owner>tby@chromium.org</owner> <owner>wrong@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6402,6 +6710,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Apps.AppList.OsSettingsProvider.QueryTime" units="ms" + expires_after="2020-12-01"> + <owner>jiameng@chromium.org</owner> + <owner>tby@chromium.org</owner> + <summary> + The latency of a search in the OsSettingsProvider. Recorded each time a + search is completed, even if it returns no results. Not recorded if the + query is too short to perform a search at all. Chrome OS only. + </summary> +</histogram> + <histogram name="Apps.AppList.SearchQueryLength.Apps" units="characters" expires_after="2020-11-01"> <owner>thanhdng@chromium.org</owner> @@ -6421,6 +6740,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Apps.AppList.SuggestedContent.Enabled" enum="BooleanEnabled" + expires_after="2020-10-01"> + <owner>wrong@chromium.org</owner> + <owner>jiameng@chromium.org</owner> + <summary> + Whether or not the user has enabled Suggested Content in the launcher. This + is logged once per UMA upload, and only for any user that has the Suggested + Content toggle feature flag enabled. + </summary> +</histogram> + <histogram name="Apps.AppList.SuggestedFiles.ChipLaunched" enum="Boolean" expires_after="2021-03-12"> <owner>tby@chromium.org</owner> @@ -6487,7 +6817,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. Emitted after an impression, if the user then closes the launcher or moves to a different view without launching any search result. This is emitted once per abandon, per displayed result. Records the displayed result's type. - See Apps.AppList.UserEvent.Impression for more details. + See Apps.AppList.UserEvent.TypeImpression for more details. This metric is completed by a histogram suffix describing which UI surface the results are recorded from. @@ -6525,7 +6855,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <owner>jiameng@chromium.org</owner> <summary> Emitted after an impression, if the user launches a result. Records the type - of the launched result. See Apps.AppList.UserEvent.Impression for more + of the launched result. See Apps.AppList.UserEvent.TypeImpression for more details. This metric is completed by a histogram suffix describing which UI surface @@ -6534,7 +6864,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateFileProvider.Latency" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6545,7 +6875,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateFileProvider.NotifierCreationSuccess" - enum="BooleanSuccess" expires_after="2020-08-01"> + enum="BooleanSuccess" expires_after="2020-12-06"> <owner>tby@chromium.org</owner> <owner>edimitriadis@chromium.org</owner> <summary> @@ -6555,7 +6885,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateResults.LaunchedItemType" - enum="ZeroStateResultType" expires_after="2020-10-04"> + enum="ZeroStateResultType" expires_after="2020-12-06"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6565,7 +6895,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateResults.ReceivedScore.DriveQuickAccess" - units="score" expires_after="2020-11-01"> + units="score" expires_after="2020-12-06"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6577,7 +6907,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateResults.ReceivedScore.OmniboxSearch" - units="score" expires_after="2020-11-01"> + units="score" expires_after="2020-12-06"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6589,7 +6919,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateResults.ReceivedScore.ZeroStateFile" - units="score" expires_after="2020-08-31"> + units="score" expires_after="2020-12-06"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6601,7 +6931,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateResultsList.Clicked" - enum="BooleanClicked" expires_after="2020-11-01"> + enum="BooleanClicked" expires_after="2020-12-06"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6613,7 +6943,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateResultsList.ContainsDriveFiles" - enum="Boolean" expires_after="2020-11-01"> + enum="Boolean" expires_after="2020-12-06"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6624,7 +6954,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateResultsList.FileImpressions" - enum="AppListSearchResult" expires_after="2020-10-04"> + enum="AppListSearchResult" expires_after="2020-12-06"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6650,7 +6980,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppList.ZeroStateResultsList.LaunchedItemPositionV2" - units="position" expires_after="2020-10-04"> + units="position" expires_after="2020-12-06"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -6756,7 +7086,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListAppLaunchedV2" enum="AppListLaunchedFrom" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <!-- Name completed by histogram_suffixes name="AppListState" --> <owner>mmourgos@chromium.org</owner> @@ -6797,7 +7127,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListCreationTime" units="ms" - expires_after="2020-08-23"> + expires_after="2020-12-13"> <owner>calamity@chromium.org</owner> <summary> The amount of time it takes to build the app list UI. This is logged each @@ -6854,7 +7184,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListFolder.ShowHide.AnimationSmoothness" units="%" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>wutao@chromium.org</owner> <summary> Relative smoothness of animations of showing and hiding app list folder. @@ -6956,7 +7286,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListPageSwitcherSource" - enum="AppListPageSwitcherSource" expires_after="2020-10-11"> + enum="AppListPageSwitcherSource" expires_after="2020-12-13"> <!-- Name completed by histogram_suffixes name="TabletOrClamshellMode" --> <owner>newcomer@chromium.org</owner> @@ -7052,7 +7382,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListResultLaunchIndexAndQueryLength" units="units" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tby@chromium.org</owner> <owner>jiameng@chromium.org</owner> <summary> @@ -7120,7 +7450,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListSearchQueryLength" units="characters" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <!-- Name completed by histogram_suffixes name="TabletOrClamshellMode" --> <owner>calamity@chromium.org</owner> @@ -7132,6 +7462,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Apps.AppListSearchResultDistanceFromOrigin" units="keystrokes" expires_after="2020-05-24"> + <obsolete> + Removed 2020-05. Not needed any longer. + </obsolete> <owner>calamity@chromium.org</owner> <summary> The minimum number of arrow keys a user would need to press to navigate to @@ -7140,7 +7473,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListSearchResultInternalApp.Open" - enum="AppListInternalAppName" expires_after="2020-10-11"> + enum="AppListInternalAppName" expires_after="2020-12-13"> <owner>wutao@chromium.org</owner> <summary> The app list search result of an internal app that was opened by the user. @@ -7149,7 +7482,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListSearchResultInternalApp.Show" - enum="AppListInternalAppName" expires_after="2020-10-11"> + enum="AppListInternalAppName" expires_after="2020-12-13"> <owner>wutao@chromium.org</owner> <summary> The app list search result of an internal app that was shown to the user. @@ -7204,7 +7537,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListShow.InputLatency" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>newcomer@chromium.org</owner> <owner>mmourgos@chromium.org</owner> <summary> @@ -7251,7 +7584,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.AppListSuggestedChipOpenType" enum="AppListSearchResult" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <!-- Name completed by histogram_suffixes name="TabletOrClamshellMode" --> <owner>newcomer@chromium.org</owner> @@ -7377,7 +7710,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.CreateShortcutIcon.Linux.Result" - enum="WebAppCreateShortcutIconLinuxResult" expires_after="M85"> + enum="WebAppCreateShortcutIconLinuxResult" expires_after="M90"> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary> @@ -7386,7 +7719,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.CreateShortcuts.Linux.Result" - enum="WebAppCreateShortcutLinuxResult" expires_after="M85"> + enum="WebAppCreateShortcutLinuxResult" expires_after="M90"> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary> @@ -7395,7 +7728,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.CreateShortcuts.Mac.Result" - enum="WebAppCreateShortcutMacResult" expires_after="M85"> + enum="WebAppCreateShortcutMacResult" expires_after="M90"> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary> @@ -7404,7 +7737,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Apps.DefaultAppLaunch" enum="DefaultAppName" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <!-- Name completed by histogram_suffixes name="DefaultAppLaunchSource" --> <owner>dominickn@chromium.org</owner> @@ -7417,7 +7750,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Apps.FileHandler.Registration.Linux.RecreateShortcut.Result" enum="FileHandlerRegistrationLinuxRecreateShortcutResult" - expires_after="M85"> + expires_after="M90"> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary> @@ -7427,7 +7760,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.FileHandler.Registration.Linux.Result" - enum="FileHandlerRegistrationLinuxResult" expires_after="M85"> + enum="FileHandlerRegistrationLinuxResult" expires_after="M90"> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary> @@ -7436,7 +7769,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.FileHandler.Registration.Mac.Result" - enum="FileHandlerRegistrationMacResult" expires_after="M85"> + enum="FileHandlerRegistrationMacResult" expires_after="M90"> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary> @@ -7445,7 +7778,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.FileHandler.Registration.Win.Result" - enum="FileHandlerRegistrationWinResult" expires_after="M85"> + enum="FileHandlerRegistrationWinResult" expires_after="M90"> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary> @@ -7470,7 +7803,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.AppsProfile.Creation.Duration" units="ms" - expires_after="M85"> + expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7483,7 +7816,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.AppsProfile.Creation.Success" - units="BooleanSuccess" expires_after="M85"> + units="BooleanSuccess" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7495,7 +7828,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.DataItemStorage.ClearTextItemSize" - units="bytes" expires_after="M85"> + units="bytes" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7506,7 +7839,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.DataItemStorage.EncryptedItemSize" - units="bytes" expires_after="M85"> + units="bytes" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7517,7 +7850,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="Apps.LockScreen.DataItemStorage.FailedOperationDuration" units="ms" - expires_after="M85"> + expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7527,7 +7860,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Apps.LockScreen.DataItemStorage.OperationDuration" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7537,7 +7870,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Apps.LockScreen.DataItemStorage.OperationResult" - enum="LockScreenDataItemOperationResult" expires_after="M85"> + enum="LockScreenDataItemOperationResult" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7547,7 +7880,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.DataItemStorage.RegisteredItemsCount" - units="units" expires_after="M85"> + units="units" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7558,7 +7891,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.AppStatusOnNoteLaunch" - enum="LockScreenNoteAppStatusOnLaunch" expires_after="M85"> + enum="LockScreenNoteAppStatusOnLaunch" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7570,10 +7903,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Apps.LockScreen.NoteTakingApp.AppWindowLifeTime" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> - <owner>tbuckley@chromium.org</owner> <summary> The amount of time a lock screen enabled app window spent in a certain state during the app window activity. The state to which the histogram refers to @@ -7583,7 +7915,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.AvailabilityOnScreenLock" - enum="LockScreenActionAvailability" expires_after="M85"> + enum="LockScreenActionAvailability" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7593,7 +7925,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.FinalAppSessionState" - enum="LockScreenAppSessionState" expires_after="M85"> + enum="LockScreenAppSessionState" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7603,7 +7935,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.LaunchDurationAtLaunchCancel" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7614,7 +7946,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.LaunchRequestOrdinalNumber" - units="units" expires_after="M85"> + units="units" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7626,7 +7958,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.LaunchRequestReason" - enum="NewLockScreenNoteRequestType" expires_after="M85"> + enum="NewLockScreenNoteRequestType" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7635,7 +7967,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.LockScreenAppUnloaded" - enum="LockScreenAppUnloadStatus" expires_after="M85"> + enum="LockScreenAppUnloadStatus" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7649,7 +7981,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.LockScreenInstallationDuration" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7659,7 +7991,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.NoteTakingExitReason" - enum="LockScreenNoteTakingExitReason" expires_after="M85"> + enum="LockScreenNoteTakingExitReason" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7669,7 +8001,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.ReloadCountOnAppTermination" - units="units" expires_after="M85"> + units="units" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7681,7 +8013,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.TimeToLoadAppWindowContents" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7692,7 +8024,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LockScreen.NoteTakingApp.TimeToShowWindow" units="ms" - expires_after="M85"> + expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7716,7 +8048,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.LogDisplayTypeClickedResultZeroState" - enum="AppListSearchResultDisplayType" expires_after="2020-09-20"> + enum="AppListSearchResultDisplayType" expires_after="2020-11-22"> <owner>jiameng@chromium.org</owner> <owner>thanhdng@chromium.org</owner> <owner>tby@chromium.org</owner> @@ -7727,7 +8059,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.NoteTakingApp.DefaultLaunchResult" - enum="NoteTakingAppLaunchResult" expires_after="M85"> + enum="NoteTakingAppLaunchResult" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7737,7 +8069,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.NoteTakingApp.PreferredLaunchResult" - enum="NoteTakingAppLaunchResult" expires_after="M85"> + enum="NoteTakingAppLaunchResult" expires_after="2021-06-01"> <owner>dstockwell@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <summary> @@ -7795,7 +8127,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="Apps.PaginationTransition.DragScroll.PresentationTime" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <!-- Name completed by histogram_suffixes name="TabletOrClamshellMode" --> @@ -7923,7 +8255,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Apps.StateTransition.Drag.PresentationTime" - units="ms" expires_after="2020-10-04"> + units="ms" expires_after="2020-12-06"> <!-- Name completed by histogram_suffixes name="TabletOrClamshellMode" --> @@ -7948,6 +8280,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Apps.Window.Type" enum="AppsWindowType" expires_after="M82"> + <obsolete> + There was only one valid value starting in M69 and code to record the values + was removed in M85. + </obsolete> <owner>stevenjb@chromium.org</owner> <summary> The type of app window opened (through the chrome.app.window API). @@ -7963,13 +8299,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Arc.AndroidBootTime" units="ms" expires_after="2020-10-04"> +<histogram name="Arc.AndroidBootTime" units="ms" expires_after="2020-12-06"> <owner>elijahtaylor@google.com</owner> <owner>shihuis@google.com</owner> <summary>The time elapsed for booting up the ARC instance.</summary> </histogram> -<histogram name="Arc.AppCount" units="units" expires_after="2020-10-04"> +<histogram name="Arc.AppCount" units="units" expires_after="2020-12-06"> <owner>elijahtaylor@google.com</owner> <owner>shihuis@google.com</owner> <summary> @@ -7991,7 +8327,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.AppListRecommendedImp.AllImpression" units="count" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>robsc@chromium.org</owner> <owner>napper@chromium.org</owner> <summary> @@ -8102,7 +8438,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.CompanionLibraryApisCounter" - enum="CompanionLibraryApisList" expires_after="M85"> + enum="CompanionLibraryApisList" expires_after="M88"> <owner>sstan@google.com</owner> <owner>bartfab@chromium.org</owner> <owner>giovax@google.com</owner> @@ -8249,7 +8585,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.EngagementTime.ArcTotal" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>maajid@google.com</owner> <owner>shaochuan@google.com</owner> <owner>shihuis@google.com</owner> @@ -8263,7 +8599,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.EngagementTime.Background" units="ms" - expires_after="2020-08-09"> + expires_after="2020-11-29"> <owner>maajid@google.com</owner> <owner>shaochuan@google.com</owner> <owner>shihuis@google.com</owner> @@ -8275,7 +8611,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.EngagementTime.Foreground" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>maajid@google.com</owner> <owner>shaochuan@google.com</owner> <owner>shihuis@google.com</owner> @@ -8286,7 +8622,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.EngagementTime.Total" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>maajid@google.com</owner> <owner>shaochuan@google.com</owner> <owner>shihuis@google.com</owner> @@ -8403,7 +8739,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Arc.ImeCount" units="units" expires_after="2020-10-04"> +<histogram name="Arc.ImeCount" units="units" expires_after="2020-12-06"> <owner>yhanada@chromium.org</owner> <owner>tetsui@chromium.org</owner> <summary> @@ -8465,14 +8801,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.LowMemoryKiller.FreedSize" units="KB" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>elijahtaylor@google.com</owner> <owner>shihuis@google.com</owner> <summary>The memory size freed by each low memory kill event.</summary> </histogram> <histogram name="Arc.LowMemoryKiller.TimeDelta" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>elijahtaylor@google.com</owner> <owner>shihuis@google.com</owner> <summary>The elapsed time to last low memory kill event.</summary> @@ -8499,7 +8835,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.OOMKills.Score" units="badness score" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>elijahtaylor@google.com</owner> <owner>shihuis@google.com</owner> <summary> @@ -8514,28 +8850,28 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.OptInAction" enum="ArcOptInAction" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>elijahtaylor@google.com</owner> <owner>shihuis@google.com</owner> <summary>Arc OptIn action taken by user.</summary> </histogram> <histogram name="Arc.OptInCancel" enum="ArcOptInCancel" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>elijahtaylor@google.com</owner> <owner>shihuis@google.com</owner> <summary>Arc OptIn cancelation reason.</summary> </histogram> <histogram name="Arc.OptInResult" enum="ArcOptInResult" - expires_after="2020-10-04"> + expires_after="2020-12-13"> <owner>elijahtaylor@google.com</owner> <owner>khmel@google.com</owner> <summary>Arc OptIn flow result.</summary> </histogram> <histogram name="Arc.OptInSilentAuthCode" enum="ArcOptInSilentAuthCode" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>elijahtaylor@google.com</owner> <summary> Arc Silent Auth Code status. This status is set during the ARC OptIn flow. @@ -8552,7 +8888,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.OptInSilentAuthCode.SecondaryAccount" - enum="ArcOptInSilentAuthCode" expires_after="2020-09-27"> + enum="ArcOptInSilentAuthCode" expires_after="2020-11-29"> <owner>khmel@google.com</owner> <summary> Arc Silent Auth Code status. This status is set during the minting of an @@ -8603,7 +8939,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.PlayStoreSearch.QueryTime" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>hejq@chromium.org</owner> <summary> Time between sending an Play Store app discovery request and the storing @@ -8621,7 +8957,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.PlayStoreSearch.ReturnedAppsTotal" units="apps" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>hejq@chromium.org</owner> <summary> The total number of returned apps of a Play Store app discovery query. @@ -8657,7 +8993,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.PrintPreview.PreviewEvent" enum="PrintPreviewHelperEvents" - expires_after="M85"> + expires_after="2021-01-01"> <owner>bmgordon@chromium.org</owner> <owner>jschettler@chromium.org</owner> <summary> @@ -8667,7 +9003,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.PrintPreview.RenderAndGeneratePDFTime" units="ms" - expires_after="M85"> + expires_after="2021-01-01"> <owner>bmgordon@chromium.org</owner> <owner>jschettler@chromium.org</owner> <summary> @@ -8678,7 +9014,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.PrintPreview.RenderAndGeneratePDFTimeAvgPerPage" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-01-01"> <owner>bmgordon@chromium.org</owner> <owner>jschettler@chromium.org</owner> <summary> @@ -8689,7 +9025,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.PrintPreview.RendererError" enum="PrintPreviewFailureType" - expires_after="M85"> + expires_after="2021-01-01"> <owner>bmgordon@chromium.org</owner> <owner>jschettler@chromium.org</owner> <summary> @@ -8699,14 +9035,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.PrintPreview.RenderToPDFTime" units="ms" - expires_after="M85"> + expires_after="2021-01-01"> <owner>bmgordon@chromium.org</owner> <owner>jschettler@chromium.org</owner> <summary>Time taken for ARC to render a PDF for print preview.</summary> </histogram> <histogram base="true" name="Arc.Provisioning.Result" - enum="ArcProvisioningResult" expires_after="2020-10-11"> + enum="ArcProvisioningResult" expires_after="2020-12-13"> <!-- Name completed by histogram_suffixes name="ArcUserTypes" --> <owner>alexchau@google.com</owner> @@ -8741,7 +9077,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.Reauthorization.Result" enum="ArcProvisioningResult" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <!-- Name completed by histogram_suffixes name="ArcUserTypes" --> <owner>khmel@google.com</owner> @@ -8778,7 +9114,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.SdkVersionUpgradeType" enum="ArcSdkVersionUpgradeType" - expires_after="2020-09-20"> + expires_after="2020-11-29"> <owner>niwa@google.com</owner> <owner>yusukes@google.com</owner> <summary> @@ -8875,10 +9211,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.Supervision.Transition.Result" - enum="ArcSupervisionTransitionResult" expires_after="M85"> - <owner>menegola@google.com</owner> - <owner>escordeiro@google.com</owner> - <owner>unichromeos-eng@google.com</owner> + enum="ArcSupervisionTransitionResult" expires_after="2021-06-02"> + <owner>giovax@chromium.org</owner> + <owner>arc-commercial@google.com</owner> <summary> The result (success or the type of failure) of ARC supervision transition events. @@ -8886,11 +9221,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.Supervision.Transition.Screen.Success.TimeDelta" - units="ms" expires_after="M85"> - <owner>brunoad@google.com</owner> - <owner>menegola@google.com</owner> - <owner>escordeiro@google.com</owner> - <owner>unichromeos-eng@google.com</owner> + units="ms" expires_after="2021-06-02"> + <owner>giovax@chromium.org</owner> + <owner>arc-commercial@google.com</owner> <summary> Elapsed time for a successful supervision transition, during which the supervision transition screen was displayed. @@ -8898,11 +9231,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.Supervision.Transition.Screen.Successful" - enum="BooleanSuccess" expires_after="M85"> - <owner>brunoad@google.com</owner> - <owner>menegola@google.com</owner> - <owner>escordeiro@google.com</owner> - <owner>unichromeos-eng@google.com</owner> + enum="BooleanSuccess" expires_after="2021-06-02"> + <owner>giovax@chromium.org</owner> + <owner>arc-commercial@google.com</owner> <summary> Whether supervision transition screen exited due to a successful transition. </summary> @@ -8952,7 +9283,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Arc.UserInteraction" enum="ArcUserInteraction" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>jhorwich@chromium.org</owner> <owner>elijahtaylor@chromium.org</owner> <owner>shihuis@google.com</owner> @@ -9261,7 +9592,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Ash.Desks.DesksCount2" units="units" expires_after="M85"> +<histogram name="Ash.Desks.DesksCount2" units="units" + expires_after="2020-09-01"> <owner>afakhry@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <summary> @@ -9272,8 +9604,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Desks.DesksSwitch" enum="DesksSwitchSource" - expires_after="M85"> + expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> + <owner>tclaiborne@chromium.org</owner> <summary> Emitted when the active desk is changed to specify the source of this action, i.e. whether due to new-desk shortcut, desk removed, window @@ -9282,8 +9615,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Desks.MoveWindowFromActiveDesk" - enum="DesksMoveWindowFromActiveDeskSource" expires_after="M85"> + enum="DesksMoveWindowFromActiveDeskSource" expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> + <owner>tclaiborne@chromium.org</owner> <summary> Emitted when a window is moved from the current active desk to another desk. Specifies the source of this action, i.e. whether to window drag-and-drop, @@ -9306,7 +9640,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Desks.NewDesk2" enum="DesksCreationRemovalSource" - expires_after="M85"> + expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <summary> @@ -9317,8 +9651,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_1" units="units" - expires_after="M85"> + expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> + <owner>tclaiborne@chromium.org</owner> <summary> The number of windows on the first desk. Emitted when a desk is removed, or a window is moved to another desk. @@ -9326,8 +9661,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_2" units="units" - expires_after="M85"> + expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> + <owner>tclaiborne@chromium.org</owner> <summary> The number of windows on the second desk. Emitted when a desk is removed, or a window is moved to another desk. @@ -9335,8 +9671,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_3" units="units" - expires_after="M85"> + expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> + <owner>tclaiborne@chromium.org</owner> <summary> The number of windows on the third desk. Emitted when a desk is removed, or a window is moved to another desk. @@ -9344,8 +9681,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_4" units="units" - expires_after="M85"> + expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> + <owner>tclaiborne@chromium.org</owner> <summary> The number of windows on the fourth desk. Emitted when a desk is removed, or a window is moved to another desk. @@ -9355,6 +9693,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Ash.Desks.RemoveDesk" enum="DesksCreationRemovalSource" expires_after="2020-11-01"> <owner>afakhry@chromium.org</owner> + <owner>tclaiborne@chromium.org</owner> <summary> Emitted when a virtual desk is removed to specify the source of this remove operation, i.e. whether from the close-desk button, or keyboard shortcut. @@ -9362,8 +9701,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Desktop.TimeBetweenNavigateToTaskSwitches" units="seconds" - expires_after="M82"> + expires_after="2020-11-01"> <owner>tbuckley@chromium.org</owner> + <owner>tclaiborne@chromium.org</owner> <summary> The number of seconds between task window activations triggered by users clicking or tapping on a window, as recorded by the Desktop_SwitchTask user @@ -9581,7 +9921,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.HotseatGesture" enum="HotseatInAppGesture" - expires_after="2020-09-30"> + expires_after="2020-11-29"> <owner>andrewxu@chromium.org</owner> <owner>tbarzic@chromium.org</owner> <summary>Gestures supported by the in-app hotseat.</summary> @@ -9603,7 +9943,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.HotseatTransition.Drag.PresentationTime" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>anasalazar@chromium.org</owner> <owner>newcomer@chromium.org</owner> <summary> @@ -9702,8 +10042,34 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Ash.Login.Lock.NbPasswordAttempts.UntilFailure" + units="attempts" expires_after="2021-05-27"> + <owner>tellier@google.com</owner> + <owner>cros-oac@google.com</owner> + <summary> + The number of incorrect passwords entered in Chrome OS login/lock screen + until the user gives up (user signs out the current session or shuts down + the device). + </summary> +</histogram> + +<histogram name="Ash.Login.Lock.NbPasswordAttempts.UntilSuccess" + units="attempts" expires_after="2021-05-27"> + <owner>tellier@google.com</owner> + <owner>cros-oac@google.com</owner> + <summary> + The number of incorrect passwords entered in Chrome OS login/lock screen + until a successful attempt. + </summary> +</histogram> + <histogram name="Ash.Login.Lock.NumPasswordAttempts.UntilFailure" units="count" - expires_after="2020-10-25"> + expires_after="2020-05-27"> + <obsolete> + Removed 27/05/2020, the histogram has been revised as we do not count pod + switching anymore and the metric was not recorded on shutdown. New + histogram: Ash.Login.Lock.NbPasswordAttempts.UntilFailure + </obsolete> <owner>kerrnel@google.com</owner> <summary> The number of incorrect password entered in ChromeOS login/lock screen until @@ -9713,7 +10079,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Login.Lock.NumPasswordAttempts.UntilSuccess" units="count" - expires_after="M85"> + expires_after="2020-05-27"> + <obsolete> + Removed 27/05/2020, the histogram has been revised as we did not count + successful authentification on login screen and successful authentification + on lock screen wasn't recorded due to a bug. New histogram: + Ash.Login.Lock.NbPasswordAttempts.UntilSuccess + </obsolete> <owner>kerrnel@google.com</owner> <summary> The number of incorrect password entered in ChromeOS login/lock screen until @@ -9751,8 +10123,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Ash.Login.OOBE.UserClicks" enum="OobeUserClickTarget" + expires_after="2020-12-13"> + <owner>raleksandrov@google.com</owner> + <owner>cros-oac@google.com</owner> + <summary>What shelf buttons or trays are clicked in the OOBE.</summary> +</histogram> + <histogram base="true" name="Ash.NavigationWidget.AnimationSmoothness" - units="%" expires_after="M85"> + units="%" expires_after="2021-05-31"> <!-- Name completed by histogram suffixes name="HotseatTransitionType" --> @@ -9800,7 +10179,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.NightLight.ScheduleType" enum="AshNightLightScheduleType" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> <summary> The selected Night Light schedule type. Emitted when the user changes the @@ -9809,7 +10188,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.NightLight.Temperature" - enum="AshNightLightTemperatureRanges" expires_after="2020-10-04"> + enum="AshNightLightTemperatureRanges" expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> <summary> The ranges in which the selected values of the Night Light color temperature @@ -9819,7 +10198,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.NumberOfVisibleWindowsInPrimaryDisplay" units="Windows" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jamescook@chromium.org</owner> <summary> An upper bound on the number of windows visible to the user on the primary @@ -9871,7 +10250,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Overview.Scroll.PresentationTime.MaxLatency.TabletMode" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-12-31"> <owner>sammiequon@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <summary> @@ -9881,7 +10260,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Overview.Scroll.PresentationTime.TabletMode" units="ms" - expires_after="M85"> + expires_after="2021-12-31"> <owner>sammiequon@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <summary> @@ -9937,44 +10316,52 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Ash.Pip.AndroidPipUseTime" units="ms" expires_after="M82"> - <owner>edcourtney@chromium.org</owner> +<histogram name="Ash.Pip.AndroidPipUseTime" units="ms" + expires_after="2021-06-16"> <owner>takise@chromium.org</owner> + <owner>linben@chromium.org</owner> <summary>How long Android PIP was used for, upon ending the session.</summary> </histogram> -<histogram name="Ash.Pip.Events" enum="AshPipEvents" expires_after="M82"> - <owner>edcourtney@chromium.org</owner> +<histogram name="Ash.Pip.Events" enum="AshPipEvents" expires_after="2021-06-16"> + <owner>takise@chromium.org</owner> + <owner>linben@chromium.org</owner> <summary> Various individiual Picture-in-picture related events. See AshPipEvents. </summary> </histogram> -<histogram name="Ash.Pip.FreeResizeFinishArea" units="%" expires_after="M82"> - <owner>edcourtney@chromium.org</owner> +<histogram name="Ash.Pip.FreeResizeFinishArea" units="%" + expires_after="2021-06-16"> + <owner>takise@chromium.org</owner> + <owner>linben@chromium.org</owner> <summary> Area of a Picture-in-picture window when ending a free-resize, as a percentage of the area it takes up on the display it is on. </summary> </histogram> -<histogram name="Ash.Pip.FreeResizeInitialArea" units="%" expires_after="M82"> - <owner>edcourtney@chromium.org</owner> +<histogram name="Ash.Pip.FreeResizeInitialArea" units="%" + expires_after="2021-06-16"> + <owner>takise@chromium.org</owner> + <owner>linben@chromium.org</owner> <summary> Initial area of a Picture-in-picture window when beginning a free-resize, as a percentage of the area it takes up on the display it is on. </summary> </histogram> -<histogram name="Ash.Pip.Position" enum="AshPipPosition" expires_after="M82"> - <owner>edcourtney@chromium.org</owner> +<histogram name="Ash.Pip.Position" enum="AshPipPosition" + expires_after="2021-06-16"> + <owner>takise@chromium.org</owner> + <owner>linben@chromium.org</owner> <summary> The position that a Picture-in-picture window was moved to by a user drag. </summary> </histogram> <histogram name="Ash.PowerButtonScreenshot.DelayBetweenAccelKeyPressed" - units="ms" expires_after="2020-09-13"> + units="ms" expires_after="2020-11-15"> <owner>zentaro@chromium.org</owner> <owner>baileyberro@chromium.org</owner> <summary> @@ -9998,7 +10385,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Rotation.AnimationSmoothness" units="%" - expires_after="2020-07-26"> + expires_after="2021-07-26"> + <owner>oshima@chromium.org</owner> <owner>wutao@chromium.org</owner> <summary> Relative smoothness of animations when rotating screen. 100% represents @@ -10043,7 +10431,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Shelf.NumberOfItems" units="Icons" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>anasalazar@google.com</owner> <owner>mmourgos@google.com</owner> <summary> @@ -10053,7 +10441,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Shelf.NumberOfPinnedItems" units="Icons" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>anasalazar@google.com</owner> <owner>mmourgos@google.com</owner> <summary> @@ -10063,7 +10451,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Shelf.NumberOfUnpinnedItems" units="Icons" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>anasalazar@google.com</owner> <owner>mmourgos@google.com</owner> <summary> @@ -10247,7 +10635,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.ShelfAlignmentOverTime" enum="ShelfAlignmentValue" - expires_after="2020-09-20"> + expires_after="2020-11-22"> <owner>kuscher@google.com</owner> <summary> The current state of the shelf (alignment) tracked over time by logging on a @@ -10259,8 +10647,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.ShelfAlignmentUsage" enum="ShelfAlignmentValue" - expires_after="2020-06-21"> + expires_after="never"> +<!-- expires-never: Monitors core shelf behavior/usage (the shelf alignment) --> + <owner>kuscher@google.com</owner> + <owner>tbarzic@chromium.org</owner> <summary> The current state of the shelf (alignment) when the shelf launcher is used to launch an app/window/etc, this is used instead of log in to give data on @@ -10300,6 +10691,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Ash.SplitViewResize.AnimationSmoothness.DividerAnimation" + units="%" expires_after="2021-06-15"> + <owner>sammiequon@chromium.org</owner> + <owner>xdai@chromium.org</owner> + <summary> + Relative smoothness of animation when releasing the split view divider, + recorded when the animation completes. 100% represents ideally smooth 60 + frames per second. + </summary> +</histogram> + <histogram base="true" name="Ash.SplitViewResize.PresentationTime" units="ms" expires_after="2020-12-12"> <!-- Name completed by histogram_suffixes name="SplitViewResizeModes" --> @@ -10371,7 +10773,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.SwipeHomeToOverviewGesture" - enum="SwipeHomeToOverviewResult" expires_after="2020-09-30"> + enum="SwipeHomeToOverviewResult" expires_after="2020-11-29"> <owner>andrewxu@chromium.org</owner> <owner>tbarzic@chromium.org</owner> <summary> @@ -10420,7 +10822,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.TabletMode.AnimationSmoothness.Enter" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>oshima@chromium.org</owner> <owner>sammiequon@chromium.org</owner> <summary> @@ -10431,7 +10833,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.TabletMode.AnimationSmoothness.Exit" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>oshima@chromium.org</owner> <owner>sammiequon@chromium.org</owner> <summary> @@ -10559,7 +10961,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.TouchView.TouchViewActive" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>girard@chromium.org</owner> <summary> The length of time that TouchView is active, for each activation. @@ -10567,13 +10969,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.TouchView.TouchViewActivePercentage" units="%" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>girard@chromium.org</owner> <summary>The proportion of time spent in TouchView during a session.</summary> </histogram> <histogram name="Ash.TouchView.TouchViewActiveTotal" units="minutes" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>girard@chromium.org</owner> <summary>The total time that TouchView is active during a session.</summary> </histogram> @@ -10585,7 +10987,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.TouchView.TouchViewInactiveTotal" units="minutes" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>girard@chromium.org</owner> <summary> The total time that TouchView is not active during a session. @@ -10719,7 +11121,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.Window.AnimationSmoothness.CrossFade" units="%" - expires_after="2020-07-26"> + expires_after="2020-11-22"> <owner>wutao@chromium.org</owner> <summary> Relative smoothness of cross fade animation when setting window bounds. 100% @@ -10730,6 +11132,33 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Ash.Window.AnimationSmoothness.CrossFade.DragMaximize" + units="%" expires_after="2021-06-18"> + <owner>sammiequon@chromium.org</owner> + <owner>xdai@chromium.org</owner> + <summary> + When dragging a maximized window, the window will shrink to restore bounds. + Dragging the window back to the top of the screen will expand the window. + This histogram will be recorded to measure the smoothenss of the expand + animation. 100% represents ideally smooth 60 frames per second. 50% + represents when only 30 frames per second is achieved during the animations. + 0% should not happen. + </summary> +</histogram> + +<histogram name="Ash.Window.AnimationSmoothness.CrossFade.DragUnmaximize" + units="%" expires_after="2021-06-18"> + <owner>sammiequon@chromium.org</owner> + <owner>xdai@chromium.org</owner> + <summary> + When dragging a maximized window, the window will shrink to restore bounds. + This histogram will be recorded to measure the smoothness of the shrink + animation. 100% represents ideally smooth 60 frames per second. 50% + represents when only 30 frames per second is achieved during the animations. + 0% should not happen. + </summary> +</histogram> + <histogram name="Ash.Window.AnimationSmoothness.Hide" units="%" expires_after="2020-07-13"> <owner>wutao@chromium.org</owner> @@ -10770,7 +11199,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Ash.WindowCycleController.DesksSwitchDistance" units="units" - expires_after="2020-09-20"> + expires_after="2020-11-22"> <owner>afakhry@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <summary> @@ -11060,6 +11489,28 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="Ash.WorkspaceWindowResizer.TabDragging.PresentationTime.ClamshellMode" + units="ms" expires_after="2021-02-03"> + <owner>yichenz@chromium.org</owner> + <owner>chromeos-wmp@google.com</owner> + <summary> + Presentation time in ms when a tab is dragged in clamshell mode. Each time + the tab is dragged within a display, the time it takes to present the new + frame on screen is recorded. + </summary> +</histogram> + +<histogram + name="Ash.WorkspaceWindowResizer.TabDragging.PresentationTime.MaxLatency.ClamshellMode" + units="ms" expires_after="2021-02-03"> + <owner>yichenz@chromium.org</owner> + <owner>chromeos-wmp@google.com</owner> + <summary> + Maximum presentation time recorded during the tab dragging session. + </summary> +</histogram> + <histogram name="Assistant.ButtonClickCount" enum="AssistantButtonId" expires_after="2020-10-25"> <owner>xiaohuic@chromium.org</owner> @@ -11106,7 +11557,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.EntryPoint" enum="AssistantEntryPoint" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>xiaohuic@chromium.org</owner> <owner>meilinw@chromium.org</owner> <summary> @@ -11124,8 +11575,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.HotwordEnableNotification" enum="BooleanHit" - expires_after="M85"> + expires_after="2020-12-31"> <owner>updowndota@chromium.org</owner> + <owner>croissant-eng@chromium.org</owner> <summary> Counts the number of times user click the hotword enable notification to open Assistant settings. @@ -11162,7 +11614,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.ProactiveSuggestions.CardClick" - enum="BooleanClicked" expires_after="2020-08-30"> + enum="BooleanClicked" expires_after="2020-11-15"> <owner>xiaohuic@chromium.org</owner> <owner>dmblack@google.com</owner> <owner>croissant-eng@chromium.org</owner> @@ -11175,7 +11627,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.ProactiveSuggestions.CardClick.ByCategory" - enum="ProactiveSuggestionsCategory" expires_after="2020-08-30"> + enum="ProactiveSuggestionsCategory" expires_after="2020-11-15"> <owner>xiaohuic@chromium.org</owner> <owner>dmblack@google.com</owner> <owner>croissant-eng@chromium.org</owner> @@ -11186,7 +11638,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.ProactiveSuggestions.CardClick.ByIndex" - units="index" expires_after="2020-08-30"> + units="index" expires_after="2020-11-15"> <owner>xiaohuic@chromium.org</owner> <owner>dmblack@google.com</owner> <owner>croissant-eng@chromium.org</owner> @@ -11197,7 +11649,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.ProactiveSuggestions.CardClick.ByVeId" - enum="ProactiveSuggestionsVeId" expires_after="2020-08-30"> + enum="ProactiveSuggestionsVeId" expires_after="2020-11-15"> <owner>xiaohuic@chromium.org</owner> <owner>dmblack@google.com</owner> <owner>croissant-eng@chromium.org</owner> @@ -11305,7 +11757,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.ProactiveSuggestions.ReshowAttempt" - enum="ProactiveSuggestionsShowAttempt" expires_after="2020-11-08"> + enum="ProactiveSuggestionsShowAttempt" expires_after="2020-11-15"> <owner>xiaohuic@chromium.org</owner> <owner>dmblack@google.com</owner> <owner>croissant-eng@chromium.org</owner> @@ -11539,21 +11991,21 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.QueryCountPerEntryPoint" enum="AssistantEntryPoint" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>xiaohuic@chromium.org</owner> <owner>meilinw@chromium.org</owner> <summary>Number of queries fired for each entry point.</summary> </histogram> <histogram name="Assistant.QueryResponseType" enum="AssistantQueryResponseType" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>xiaohuic@chromium.org</owner> <owner>meilinw@chromium.org</owner> <summary>The Assistant query response type.</summary> </histogram> <histogram name="Assistant.QuerySource" enum="AssistantQuerySource" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>xiaohuic@chromium.org</owner> <owner>meilinw@chromium.org</owner> <summary> @@ -11591,7 +12043,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.SetDspHotwordLocale" enum="BooleanSuccess" - expires_after="2020-05-14"> + expires_after="2021-05-14"> <owner>meilinw@chromium.org</owner> <owner>xiaohuic@chromium.org</owner> <summary> @@ -11601,7 +12053,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Assistant.VoiceSearch.UserEligibility" enum="BooleanEligible" - expires_after="M85"> + expires_after="2020-12-06"> <owner>wylieb@chromium.org</owner> <owner>fgorski@chromium.org</owner> <summary> @@ -11801,6 +12253,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AsyncDNS.HostsSize" units="bytes" expires_after="M82"> + <obsolete> + Removed 2020-06 + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -12115,7 +12570,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="AsyncDNS.ServerCount" units="units" expires_after="2020-08-30"> +<histogram name="AsyncDNS.ServerCount" units="units" expires_after="2020-11-15"> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -12496,7 +12951,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AsyncDNS.WatchStatus" enum="AsyncDNSWatchStatus" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -12524,7 +12979,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AuthPolicy.ErrorTypeOfAuthenticateUser" - enum="AuthPolicyErrorType" expires_after="2020-10-11"> + enum="AuthPolicyErrorType" expires_after="2020-12-13"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -12540,7 +12995,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AuthPolicy.ErrorTypeOfAutoTgtRenewal" - enum="AuthPolicyErrorType" expires_after="M85"> + enum="AuthPolicyErrorType" expires_after="M88"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -12549,7 +13004,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AuthPolicy.ErrorTypeOfGetUserKerberosFiles" - enum="AuthPolicyErrorType" expires_after="2020-10-11"> + enum="AuthPolicyErrorType" expires_after="2020-12-13"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -12559,7 +13014,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AuthPolicy.ErrorTypeOfGetUserStatus" - enum="AuthPolicyErrorType" expires_after="M85"> + enum="AuthPolicyErrorType" expires_after="M88"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -12569,7 +13024,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AuthPolicy.ErrorTypeOfJoinADDomain" enum="AuthPolicyErrorType" - expires_after="2020-09-27"> + expires_after="M88"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -12653,7 +13108,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AuthPolicy.TimeToAuthenticateUser" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -12663,7 +13118,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AuthPolicy.TimeToGetUserKerberosFiles" units="ms" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -12683,8 +13138,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="AuthPolicy.TimeToJoinADDomain" units="ms" - expires_after="2020-09-27"> +<histogram name="AuthPolicy.TimeToJoinADDomain" units="ms" expires_after="M88"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -12695,7 +13149,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AuthPolicy.TimeToRefreshDevicePolicy" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -12706,7 +13160,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="AuthPolicy.TimeToRefreshUserPolicy" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>fsandrade@chromium.org</owner> <owner>tomdobro@chromium.org</owner> <summary> @@ -13256,8 +13710,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.AddressesDeletedForDisuse" units="addresses" - expires_after="M77"> - <owner>wuandy@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of unverified autofill addresses deleted because they have not been used for a long time, and are not used as billing addresses of valid @@ -13266,8 +13721,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.AddressesSuppressedForDisuse" units="addresses" - expires_after="M77"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of address suggestions not shown in the Autofill popup because they have not been used recently enough. Note that suppression only applies @@ -13277,11 +13733,20 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Autofill.AddressProfileImporStatus" + enum="AutofillAddressProfileImportStatus" expires_after="2021-05-01"> + <owner>koerber@google.com</owner> + <owner>battre@chromium.org</owner> + <summary> + Logs the overall status of a profile import attempt on form submission time. + </summary> +</histogram> + <histogram name="Autofill.AddressProfileImportCountrySpecificFieldRequirements" enum="AutofillAddressProfileImportCountrySpecificFieldRequirement" expires_after="2021-05-01"> <owner>koerber@google.com</owner> - <owner>battre@google.com</owner> + <owner>battre@chromium.org</owner> <summary> Each country can require different fields (ZIP code, state, city) to exist for an address to be valid. This histogram logs which mandatory fields were @@ -13292,7 +13757,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.AddressProfileImportRequirements" enum="AutofillAddressProfileImportRequirement" expires_after="2021-05-01"> <owner>koerber@google.com</owner> - <owner>battre@google.com</owner> + <owner>battre@chromium.org</owner> <summary> Logs whether the individual requirements for importing an address profile are met at form submission time. @@ -13300,7 +13765,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.AddressSuggestionsCount" units="units" - expires_after="M85"> + expires_after="M95"> <owner>battre@chromium.org</owner> <owner>chrome-autofill@google.com</owner> <summary> @@ -13308,6 +13773,53 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="Autofill.Autocomplete.NotOff.EditedAutofilledFieldAtSubmission" + enum="AutofilledFieldUserEditingStatus" expires_after="2021-07-01"> + <owner>schwering@google.com</owner> + <owner>chrome-autofill@google.com</owner> + <summary> + Records at submission time for each autofilled field with autocomplete != + off whether the user edited the autofilled field value or not. + </summary> +</histogram> + +<histogram base="true" name="Autofill.Autocomplete.NotOff.FillingAcceptance" + enum="BooleanAutofillFillingAcceptance" expires_after="2021-07-01"> + <owner>schwering@google.com</owner> + <owner>chrome-autofill@google.com</owner> + <summary> + Records for each submitted form whether the user accepted the suggestion to + fill values and the triggering field has autocomplete != off. This is + counted as 'yes' if the user accepted such a suggestion at any time, + regardless whether other suggestions were ignored or whether the accepted + suggestion was reverted afterwards. + </summary> +</histogram> + +<histogram name="Autofill.Autocomplete.Off.EditedAutofilledFieldAtSubmission" + enum="AutofilledFieldUserEditingStatus" expires_after="2021-07-01"> + <owner>schwering@google.com</owner> + <owner>chrome-autofill@google.com</owner> + <summary> + Records at submission time for each autofilled field with autocomplete = off + whether the user edited the autofilled field value or not. + </summary> +</histogram> + +<histogram base="true" name="Autofill.Autocomplete.Off.FillingAcceptance" + enum="BooleanAutofillFillingAcceptance" expires_after="2021-07-01"> + <owner>schwering@google.com</owner> + <owner>chrome-autofill@google.com</owner> + <summary> + Records for each submitted form whether the user accepted the suggestion to + fill values and the triggering field has autocomplete = off. This is counted + as 'yes' if the user accepted such a suggestion at any time, regardless + whether other suggestions were ignored or whether the accepted suggestion + was reverted afterwards. + </summary> +</histogram> + <histogram name="Autofill.AutocompleteEnabled" enum="BooleanEnabled" expires_after="M85"> <owner>michaelbai@chromium.org</owner> @@ -13610,7 +14122,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.CardUploadDecisionMetric" - enum="AutofillCardUploadDecisionMetric" expires_after="M85"> + enum="AutofillCardUploadDecisionMetric" expires_after="2021-05-31"> <owner>jsaul@google.com</owner> <owner>siyua@chromium.org</owner> <owner>payments-autofill-team@google.com</owner> @@ -13670,8 +14182,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.CreditCardFillingInfoBar" - enum="AutofillCreditCardInfoBar" expires_after="M85"> - <owner>mathp@chromium.org</owner> + enum="AutofillCreditCardInfoBar" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The relative frequency with which users accept, deny, or ignore the Autofill credit card assisted filling infobar prompt. @@ -13679,7 +14192,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.CreditCardInfoBar" - enum="AutofillCreditCardInfoBar" expires_after="M85"> + enum="AutofillCreditCardInfoBar" expires_after="M95"> <owner>battre@chromium.org</owner> <owner>jsaul@google.com</owner> <owner>chrome-autofill@google.com</owner> @@ -13690,8 +14203,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.CreditCardsDeletedForDisuse" units="units" - expires_after="M77"> - <owner>wuandy@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>jsaul@google.com</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of credit card deleted during a major version upgrade because they have not been used recently enough and are expired. @@ -13699,8 +14214,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.CreditCardsSuppressedForDisuse" units="units" - expires_after="M77"> - <owner>wuandy@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>jsaul@google.com</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of credit card suggestions not shown in the Autofill popup because they have not been used recently enough and are expired. Note that @@ -13724,16 +14241,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.CreditCardUploadFeedback" - enum="AutofillCreditCardUploadFeedback" expires_after="M85"> + enum="AutofillCreditCardUploadFeedback" expires_after="2021-05-01"> <owner>siyua@chromium.org</owner> + <owner>jsaul@google.com</owner> <summary> Records when credit card upload provides feedback on its status to the user. </summary> </histogram> <histogram name="Autofill.DaysSinceLastUse.CreditCard" units="days" - expires_after="M85"> - <owner>sebsg@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Logs the number of days that have passed since the credit card was last used. @@ -13741,8 +14260,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.DaysSinceLastUse.Profile" units="days" - expires_after="M83"> - <owner>sebsg@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Logged at the time of autofill address use, this histogram captures the number of days that have passed since the address was last used. I.e., the @@ -13751,8 +14271,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.DaysSinceLastUse.StoredCreditCard" units="days" - expires_after="M83"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <!-- Name completed by histogram_suffixes name="AutofillCreditCardType" --> <summary> @@ -13763,8 +14284,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.DaysSinceLastUse.StoredProfile" units="days" - expires_after="M83"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> This histogram captures the number of days that have passed since each stored address profile belonging to a given Chrome Profile was last used. @@ -13787,7 +14309,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.DeveloperEngagement" - enum="AutofillDeveloperEngagement" expires_after="M85"> + enum="AutofillDeveloperEngagement" expires_after="M95"> <owner>battre@chromium.org</owner> <owner>chrome-autofill@google.com</owner> <summary> @@ -13819,17 +14341,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Autofill.FieldCount" units="form fields" expires_after="M85"> +<histogram name="Autofill.FieldCount" units="form fields" expires_after="M95"> <owner>kolos@chromium.org</owner> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary>Number of fields in a form that Autofill encounters.</summary> </histogram> -<histogram name="Autofill.FieldPrediction" units="units" expires_after="M85"> +<histogram name="Autofill.FieldPrediction" units="units" expires_after="M95"> <!-- Name completed by histogram_suffixes name="AutofillFieldPredictionSource" --> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Predicted and actual form field type. This is a computed sparse histogram where the value is ((predicted << 16)| actual). Predicted and actual @@ -13838,11 +14362,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.FieldPredictionQuality.Aggregate" - enum="AutofillFieldPredictionQuality" expires_after="M85"> + enum="AutofillFieldPredictionQuality" expires_after="M95"> <!-- Name completed by histogram_suffixes name="AutofillFieldPredictionSource" --> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Aggregate Autofill field-type prediction outcomes. See https://en.wikipedia.org/wiki/Confusion_matrix for an explanation of the @@ -13851,11 +14376,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.FieldPredictionQuality.ByFieldType" - enum="AutofillFieldPredictionQualityByFieldType" expires_after="M85"> + enum="AutofillFieldPredictionQualityByFieldType" expires_after="M95"> <!-- Name completed by histogram_suffixes name="AutofillFieldPredictionSource" --> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Autofill field-type prediction outcomes, broken down by field type. See https://en.wikipedia.org/wiki/Confusion_matrix for an explanation of the @@ -13864,7 +14390,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.FillDuration.FromInteraction.WithAutofill" - units="units" expires_after="M85"> + units="units" expires_after="M95"> <owner>battre@chromium.org</owner> <owner>chrome-autofill@google.com</owner> <summary> @@ -13874,7 +14400,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.FillDuration.FromInteraction.WithoutAutofill" - units="units" expires_after="M85"> + units="units" expires_after="M95"> <owner>battre@chromium.org</owner> <owner>chrome-autofill@google.com</owner> <summary> @@ -13884,7 +14410,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.FillDuration.FromLoad.WithAutofill" units="units" - expires_after="M85"> + expires_after="M95"> <owner>battre@chromium.org</owner> <owner>chrome-autofill@google.com</owner> <summary> @@ -13893,16 +14419,40 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.FillDuration.FromLoad.WithoutAutofill" units="units" - expires_after="M77"> - <owner>isherman@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Time elapsed between form load and form submission, for a non-autofilled form. </summary> </histogram> +<histogram name="Autofill.FormDynamicity" enum="AutofillFormDynamicity" + expires_after="M86"> + <owner>schwering@google.com</owner> + <owner>chrome-autofill@google.com</owner> + <summary> + Records how forms change dynamically: whether the form signature changed, a + field's signature changed, or a field was newly created. The reference + period starts when Autofill parses the form for the first time, and ends + when a navigation is committed or the frame is destructed. + </summary> + <details> + Every form is observed for dynamic changes from the time it was first parsed + by Autofill until either a navigation has been committed or the frame is + destructed or the form's observation had to be flushed prematurely (the form + observations are managed in an LRU cache of maximum size 32, with least + recently parsed forms being discarded first). At the end of the lifetime, a + three-bit number is sent: the lowest bit is 1 iff a field was changed during + the form's lifetime (its signature changed); the second bit is 1 iff a field + was added (its renderer ID is new to the form); the highest bit is 1 iff the + form was changed (its signature changed). + </details> +</histogram> + <histogram name="Autofill.FormEvents.Address" enum="AutofillFormEvent" - expires_after="M85"> + expires_after="M95"> <owner>battre@chromium.org</owner> <owner>jsaul@google.com</owner> <summary> @@ -13923,7 +14473,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.FormEvents.CreditCard" enum="AutofillFormEvent" - expires_after="M85"> + expires_after="M95"> <owner>jsaul@google.com</owner> <owner>battre@chromium.org</owner> <summary> @@ -14022,13 +14572,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.FormSubmittedState" enum="AutofillFormSubmittedState" - expires_after="M85"> - <owner>sebsg@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary>The autofill state related to a submitted form.</summary> </histogram> <histogram base="true" name="Autofill.Funnel.FillAfterSuggestion" - enum="BooleanAutofillFillAfterSuggestion" expires_after="2020-07-01"> + enum="BooleanAutofillFillAfterSuggestion" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14046,7 +14597,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="Autofill.Funnel.InteractionAfterParsedAsType" enum="BooleanAutofillInteractionAfterParsedAsType" - expires_after="2020-07-01"> + expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14067,7 +14618,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.Funnel.ParsedAsType" - enum="BooleanAutofillParsedAsType" expires_after="2020-07-01"> + enum="BooleanAutofillParsedAsType" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14082,7 +14633,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.Funnel.SubmissionAfterFill" - enum="BooleanAutofillSubmissionAfterFill" expires_after="2020-07-01"> + enum="BooleanAutofillSubmissionAfterFill" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14095,7 +14646,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.Funnel.SuggestionAfterInteraction" - enum="BooleanAutofillSuggestionAfterInteraction" expires_after="2020-07-01"> + enum="BooleanAutofillSuggestionAfterInteraction" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14135,8 +14686,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.HiddenOrPresentationalSelectFieldsFilled" - enum="BooleanHiddenPresentationalAutofilled" expires_after="M85"> - <owner>parastoog@chromium.org</owner> + enum="BooleanHiddenPresentationalAutofilled" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Logs when a hidden or presentational field is autofilled. The hidden or presentational fields are only autofilled for 'select' fields to support @@ -14146,6 +14698,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.IcuCollatorCreationSuccess" enum="BooleanSuccess" expires_after="M77"> + <obsolete> + Removed after M77. + </obsolete> <owner>mathp@chromium.org</owner> <summary> Tracks whether Autofill was able to create the ICU collator successfully. @@ -14153,8 +14708,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.InvalidProfileData.UsedForMetrics" enum="Boolean" - expires_after="M85"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Tracks whether or not autofill suppressed sending votes or calculating quality metrics because the profile data was marked as invalid. Logged @@ -14164,8 +14720,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.InvalidProfileData.UsedForSuggestion" enum="Boolean" - expires_after="M85"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Tracks whether or not autofill suppressed offering an autofill suggestion because the profile data was marked as invalid. Logged during autofill @@ -14204,6 +14761,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.KeyboardAccessoryButtonsIOS_ScreenReaderOff" enum="AutofillKeyboardAccessoryButtonsIOS" expires_after="M77"> + <obsolete> + Obsolete after M77. + </obsolete> <owner>mahmadi@chromium.org</owner> <summary> [iOS] Measures the frequency of button presses on the iOS Autofill keyboard @@ -14213,6 +14773,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.KeyboardAccessoryButtonsIOS_ScreenReaderOn" enum="AutofillKeyboardAccessoryButtonsIOS" expires_after="M85"> + <obsolete> + Obsolete after M85. + </obsolete> <owner>mahmadi@chromium.org</owner> <summary> [iOS] Measures the frequency of button presses on the iOS Autofill keyboard @@ -14221,7 +14784,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.KeyMetrics.FillingAcceptance" - enum="BooleanAutofillFillingAcceptance" expires_after="2020-07-01"> + enum="BooleanAutofillFillingAcceptance" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14234,7 +14797,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.KeyMetrics.FillingAssistance" - enum="BooleanAutofillFillingAssistance" expires_after="2020-07-01"> + enum="BooleanAutofillFillingAssistance" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14250,7 +14813,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.KeyMetrics.FillingCorrectness" - enum="BooleanAutofillFillingCorrectness" expires_after="2020-07-01"> + enum="BooleanAutofillFillingCorrectness" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14261,7 +14824,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.KeyMetrics.FillingReadiness" - enum="BooleanAutofillFillingReadiness" expires_after="2020-07-01"> + enum="BooleanAutofillFillingReadiness" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14276,7 +14839,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.KeyMetrics.FormSubmission.Autofilled" - enum="BooleanAutofillSubmission" expires_after="2020-07-01"> + enum="BooleanAutofillSubmission" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14292,7 +14855,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Autofill.KeyMetrics.FormSubmission.NotAutofilled" - enum="BooleanAutofillSubmission" expires_after="2020-07-01"> + enum="BooleanAutofillSubmission" expires_after="2021-07-01"> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>nepper@chromium.org</owner> @@ -14309,8 +14872,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.LocalCardMigrationBubbleOffer" - enum="AutofillLocalCardMigrationBubbleOffer" expires_after="M85"> + enum="AutofillLocalCardMigrationBubbleOffer" expires_after="2021-05-01"> <owner>siyua@chromium.org</owner> + <owner>jsaul@google.com</owner> <summary> Record events related to bubble showing. Logged when bubble is requested or is actually shown to users. @@ -14328,13 +14892,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.LocalCardMigrationBubbleUserInteraction" - enum="AutofillLocalCardMigrationBubbleUserInteraction" expires_after="M85"> + enum="AutofillLocalCardMigrationBubbleUserInteraction" + expires_after="2021-05-01"> <owner>siyua@chromium.org</owner> + <owner>jsaul@google.com</owner> <summary>Record how bubble is closed by different user interactions.</summary> </histogram> <histogram name="Autofill.LocalCardMigrationDecision" - enum="AutofillLocalCardMigrationDecisionMetric" expires_after="2020-11-30"> + enum="AutofillLocalCardMigrationDecisionMetric" expires_after="2021-05-01"> <owner>sujiezhu@google.com</owner> <owner>siyua@chromium.org</owner> <owner>jsaul@google.com</owner> @@ -14345,39 +14911,44 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.LocalCardMigrationDialogActiveDuration" units="ms" - expires_after="M85"> + expires_after="2021-05-01"> <owner>siyua@chromium.org</owner> + <owner>jsaul@google.com</owner> <summary> Record duration of the local card migration dialog being visible to users. </summary> </histogram> <histogram name="Autofill.LocalCardMigrationDialogOffer" - enum="AutofillLocalCardMigrationDialogOffer" expires_after="M85"> + enum="AutofillLocalCardMigrationDialogOffer" expires_after="2021-05-01"> <owner>siyua@chromium.org</owner> + <owner>jsaul@google.com</owner> <summary> Record events related to showing the local card migration dialog. </summary> </histogram> <histogram name="Autofill.LocalCardMigrationDialogUserInteraction" - enum="AutofillLocalCardMigrationDialogUserInteraction" expires_after="M85"> + enum="AutofillLocalCardMigrationDialogUserInteraction" + expires_after="2021-05-01"> <owner>siyua@chromium.org</owner> + <owner>jsaul@google.com</owner> <summary> Record user interactions related to local card migration dialog. </summary> </histogram> <histogram name="Autofill.LocalCardMigrationDialogUserSelectionPercentage" - units="%" expires_after="M85"> + units="%" expires_after="2021-05-01"> <owner>siyua@chromium.org</owner> + <owner>jsaul@google.com</owner> <summary> Record the percentage of cards selected by the user in the migration dialog. </summary> </histogram> <histogram name="Autofill.LocalCardMigrationOrigin" - enum="LocalCardMigrationPrompt" expires_after="M85"> + enum="LocalCardMigrationPrompt" expires_after="2021-05-01"> <owner>siyua@chromium.org</owner> <owner>jsaul@google.com</owner> <summary> @@ -14540,8 +15111,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.NumberOfEditedAutofilledFieldsAtSubmission" - units="fields" expires_after="M85"> - <owner>mathp@chromium.org</owner> + units="fields" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of autofilled fields that were subsequently edited prior to the form being submitted. @@ -14549,24 +15121,27 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.NumberOfProfilesConsideredForDedupe" units="profiles" - expires_after="M85"> - <owner>mathp@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of Autofill profiles that have been considered for deduplication. </summary> </histogram> <histogram name="Autofill.NumberOfProfilesRemovedDuringDedupe" units="profiles" - expires_after="M85"> - <owner>mathp@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of Autofill profiles that have been removed during deduplication. </summary> </histogram> <histogram name="Autofill.NumElementsMatchesNumFields" enum="Boolean" - expires_after="M77"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Records whether the number of fillable form elements matches the number of fields in the form's description. Instances where this is recorded as False, @@ -14626,8 +15201,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.ProfileActionOnFormSubmitted" - enum="AutofillProfileAction" expires_after="M83"> - <owner>sebsg@chromium.org</owner> + enum="AutofillProfileAction" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The profile action that took place when a form was submitted. </summary> @@ -14744,24 +15320,27 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.QueriedCreditCardFormIsSecure" enum="BooleanSecure" - expires_after="M85"> - <owner>mathp@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> For credit card forms that are queried for Autofill, a ratio of how many are within secure contexts (which includes mixed passive content). </summary> </histogram> -<histogram name="Autofill.Query.BackoffDelay" units="ms" expires_after="M85"> - <owner>rogerm@chromium.org</owner> +<histogram name="Autofill.Query.BackoffDelay" units="ms" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The delay of a network request for a query due to exponential backoff. </summary> </histogram> <histogram name="Autofill.Query.FailingPayloadSize" units="bytes" - expires_after="M77"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of bytes that were sent in a query that subsequently failed. This is to help determine the appropriate threshold at which autofill queries @@ -14780,35 +15359,40 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.Query.HttpResponseOrErrorCode" - enum="CombinedHttpResponseAndNetErrorCode" expires_after="M85"> - <owner>rogerm@chromium.org</owner> + enum="CombinedHttpResponseAndNetErrorCode" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The http response code or net error code returned on a query. </summary> </histogram> <histogram name="Autofill.Query.Method" enum="AutofillQueryMethod" - expires_after="M85"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary>The HTTP method used to query the autofill server.</summary> </histogram> -<histogram name="Autofill.Query.RequestDuration" units="ms" expires_after="M85"> - <owner>rogerm@chromium.org</owner> +<histogram name="Autofill.Query.RequestDuration" units="ms" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary>The duration of a network request for a query.</summary> </histogram> <histogram name="Autofill.Query.WasInCache" enum="BooleanCacheHit" - expires_after="M85"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Was the autofill query response retrieved from the HTTP cache. </summary> </histogram> <histogram name="Autofill.RationalizationQuality.PhoneNumber" - enum="AutofillRationalizationQualityMetric" expires_after="M83"> - <owner>wuandy@chromium.org</owner> + enum="AutofillRationalizationQualityMetric" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The quality of fields rationalization, putting rationalization result into good/ok/bad categories. @@ -14871,8 +15455,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SaveCardCardholderNamePrefilled" enum="Boolean" - expires_after="M85"> + expires_after="2021-05-31"> <owner>jsaul@google.com</owner> + <owner>payments-autofill-team@google.com</owner> <summary> If the cardholder name fix flow is shown when credit card upload is offered, records if the cardholder name textfield was prefilled with the name from @@ -14881,8 +15466,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SaveCardCardholderNameWasEdited" enum="Boolean" - expires_after="M85"> + expires_after="2021-05-31"> <owner>jsaul@google.com</owner> + <owner>payments-autofill-team@google.com</owner> <summary> If the cardholder name fix flow is shown during credit card upload and the user accepts upload, logs whether the final cardholder name was changed from @@ -14907,9 +15493,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SaveCardRequestExpirationDateReason" - enum="AutofillSaveCardRequestExpirationDateReason" expires_after="M85"> - <owner>hozhng@google.com</owner> + enum="AutofillSaveCardRequestExpirationDateReason" + expires_after="2021-05-31"> <owner>jsaul@google.com</owner> + <owner>payments-autofill-team@google.com</owner> <summary> Records the reason expiration date was explicitly requested from the user during credit card save. @@ -14918,7 +15505,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.SaveCardWithFirstAndLastNameComplete" enum="Boolean" expires_after="M85"> - <owner>sebsg@chromium.org</owner> + <obsolete> + Deprecated after M85. + </obsolete> + <owner>battre@chromium.org</owner> <!-- Name completed by histogram_suffixes name="AutofillCreditCardType" --> <summary> @@ -14928,7 +15518,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.SaveCardWithFirstAndLastNameOffered" enum="Boolean" expires_after="M85"> - <owner>sebsg@chromium.org</owner> + <obsolete> + Deprecated after M85. + </obsolete> + <owner>battre@chromium.org</owner> <!-- Name completed by histogram_suffixes name="AutofillCreditCardType" --> <summary> @@ -14938,29 +15531,55 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SaveCreditCardPrompt" - enum="AutofillSaveCreditCardPrompt" expires_after="M85"> - <owner>jdonnelly@chromium.org</owner> + enum="AutofillSaveCreditCardPrompt" expires_after="2021-05-01"> + <owner>jsaul@google.com</owner> + <owner>siyua@chromium.org</owner> <summary> The relative frequency with which users accept or deny the Autofill save credit card prompt. </summary> </histogram> +<histogram name="Autofill.SaveCreditCardPromptOffer" + enum="AutofillSaveCreditCardPromptOfferEnum" expires_after="2021-05-01"> + <owner>jsaul@google.com</owner> + <owner>siyua@chromium.org</owner> + <summary> + The relative frequency with which the Autofill save credit card prompt is + shown or not. Logged when the flow is triggered and the prompt should be + shown. + </summary> +</histogram> + +<histogram name="Autofill.SaveCreditCardPromptResult" + enum="AutofillSaveCreditCardPromptResultEnum" expires_after="2021-05-01"> + <owner>jsaul@google.com</owner> + <owner>siyua@chromium.org</owner> + <summary> + The relative frequency with which users accept or deny the Autofill save + credit card prompt. Logged when users interacted with the prompt. + </summary> +</histogram> + <histogram name="Autofill.ScanCreditCard.Completed" enum="BooleanCompleted" - expires_after="M85"> - <owner>rouslan@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary>Whether a credit card scan was completed or cancelled.</summary> </histogram> <histogram name="Autofill.ScanCreditCard.Duration" units="ms" - expires_after="M85"> - <owner>rouslan@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary>How long a credit card took to scan.</summary> </histogram> <histogram name="Autofill.ScanCreditCardPrompt" - enum="AutofillScanCreditCardPrompt" expires_after="M85"> - <owner>estade@chromium.org</owner> + enum="AutofillScanCreditCardPrompt" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>jsaul@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary>Usage of the "Scan card" control item.</summary> </histogram> @@ -14968,6 +15587,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. expires_after="2021-01-31"> <owner>jsaul@google.com</owner> <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Logged when the user clicks on the server credit card link in the settings page. @@ -15017,15 +15637,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.ServerQueryResponse" enum="AutofillQueryResult" - expires_after="M85"> + expires_after="M95"> <owner>battre@chromium.org</owner> <owner>chrome-autofill@google.com</owner> <summary>The usefulness of Autofill server information.</summary> </histogram> <histogram name="Autofill.ServerResponseHasDataForForm" - enum="BooleanHadPredictions" expires_after="M85"> - <owner>mathp@chromium.org</owner> + enum="BooleanHadPredictions" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Tracks whether Autofill server had at least some prediction data for a given form at query response time. @@ -15033,8 +15654,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.StoredCreditCardCount" units="cards" - expires_after="M85"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <!-- Name completed by histogram_suffixes name="AutofillCreditCardType" --> <summary> @@ -15044,8 +15666,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.StoredCreditCardDisusedCount" units="cards" - expires_after="M77"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <!-- Name completed by histogram_suffixes name="AutofillCreditCardType" --> <summary> @@ -15067,7 +15690,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Autofill.StoredProfileCount" units="units" expires_after="M85"> +<histogram name="Autofill.StoredProfileCount" units="units" expires_after="M95"> <owner>battre@chromium.org</owner> <owner>chrome-autofill@google.com</owner> <summary> @@ -15076,8 +15699,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.StoredProfileCountAtAutofillableFormSubmission" - units="units" expires_after="M85"> - <owner>mathp@chromium.org</owner> + units="units" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of Autofill addresses a user has stored, measured when an autofillable form is submitted. @@ -15085,8 +15709,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.StoredProfileDisusedCount" units="units" - expires_after="M83"> - <owner>rogerm@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of stored Autofill address profiles which have not been used in a sufficiently long time for autofill to consider them disused. Measured once @@ -15203,7 +15828,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SubmittedCardState" enum="AutofillSubmittedCardState" - expires_after="M85"> + expires_after="2021-05-31"> <owner>jsaul@google.com</owner> <owner>payments-autofill-team@google.com</owner> <summary> @@ -15213,8 +15838,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SubmittedServerCardExpirationStatus" - enum="AutofillSubmittedServerCardExpirationStatus" expires_after="M85"> + enum="AutofillSubmittedServerCardExpirationStatus" + expires_after="2021-05-31"> <owner>jsaul@google.com</owner> + <owner>payments-autofill-team@google.com</owner> <summary> Metric to measure if a submitted card's expiration date matches the same server card's expiration date (unmasked or not). Cards are considered to be @@ -15236,7 +15863,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SuggestionAccepted.OffTheRecord" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -15246,8 +15873,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SuggestionAcceptedIndex" units="position" - expires_after="M85"> - <owner>mathp@chromium.org</owner> + expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The index of the accepted Autofill suggestion in the popup. Due to crbug.com/966411, the iOS data is incorrect. @@ -15255,8 +15883,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SuggestionAcceptedIndex.Autocomplete" - units="position" expires_after="M85"> - <owner>mathp@chromium.org</owner> + units="position" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The index of the accepted Autocomplete suggestion in the popup. Due to crbug.com/966411, the iOS data is incorrect. @@ -15264,7 +15893,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.SuggestionShown.OffTheRecord" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -15273,16 +15902,20 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.Timing.DetermineHeuristicTypes" units="ms" - expires_after="M77"> + expires_after="M95"> <owner>kenjitoyama@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Number of milliseconds passed between the start and end of FormStructure::DetermineHeuristicTypes(). </summary> </histogram> -<histogram name="Autofill.Timing.ParseForm" units="ms" expires_after="M85"> +<histogram name="Autofill.Timing.ParseForm" units="ms" expires_after="M95"> <owner>kenjitoyama@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Number of milliseconds passed between the start and end of parsing a single form. @@ -15420,7 +16053,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.UnownedFieldsWereFiltered" enum="Boolean" expires_after="M77"> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Records incidents where an implicit (formless) form has elements filtered out of it. This happens to unowned fields (directly embedded in the page @@ -15433,7 +16067,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.Upload.BackoffDelay" units="ms" expires_after="never"> <!-- expires-never: https://crbug.com/915888 --> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The delay of a network request for an upload due to exponential backoff. </summary> @@ -15441,7 +16076,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.Upload.FailingPayloadSize" units="bytes" expires_after="M77"> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The number of bytes that were sent in an upload that subsequently failed. This is to help determine if there are certain upload sizes which are prone @@ -15462,7 +16098,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. enum="CombinedHttpResponseAndNetErrorCode" expires_after="never"> <!-- expires-never: https://crbug.com/915888 --> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The http response code or net error code returned on an upload. </summary> @@ -15470,7 +16107,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.Upload.MetadataConfigIsValid" enum="BooleanValid" expires_after="M77"> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Tracks whether or not the configuration fo metadata upload encoding is valid or invalid. Note that if the configuration is invalid, the client will fall @@ -15481,7 +16119,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Autofill.Upload.MetadataEncodingType" enum="AutofillMetadataEncodingType" expires_after="M77"> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> The metadata encoding scheme used by the client to encode rich uploads. </summary> @@ -15491,7 +16130,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. expires_after="never"> <!-- expires-never: https://crbug.com/915888 --> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary>The duration of a network request for an upload.</summary> </histogram> @@ -15506,10 +16146,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Autofill.UploadEvent" enum="BooleanSent" expires_after="M85"> +<histogram name="Autofill.UploadEvent" enum="BooleanSent" expires_after="M95"> <!-- Name completed by histogram_suffixes name="AutofillUploadEvents" --> - <owner>rogerm@chromium.org</owner> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Whether or not an upload was sent after having been triggered by a form submission or proxy-form-submission. @@ -15539,8 +16180,29 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Autofill.UserEditedFilledField.Aggregate" + enum="AutofilledFieldUserEditingStatus" expires_after="2021-05-01"> + <owner>koerber@google.com</owner> + <owner>battre@google.com</owner> + <summary> + Total number of fields at submission time that where autofilled and have or + have not been editing by the user afterwards. + </summary> +</histogram> + +<histogram name="Autofill.UserEditedFilledField.ByFieldType" + enum="AutofilledFieldUserEditingStatusByFieldType" + expires_after="2021-05-01"> + <owner>koerber@google.com</owner> + <owner>battre@google.com</owner> + <summary> + Total number of fields at submission time of a specific type that where + autofilled and have or have not been editing by the user afterwards. + </summary> +</histogram> + <histogram name="Autofill.UserHappiness" enum="AutofillUserHappiness" - expires_after="M85"> + expires_after="M95"> <owner>battre@chromium.org</owner> <owner>chrome-autofill@google.com</owner> <summary> @@ -15551,8 +16213,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.WalletAddressConversionType" - enum="AutofillWalletAddressConversionType" expires_after="M85"> - <owner>sebsg@chromium.org</owner> + enum="AutofillWalletAddressConversionType" expires_after="M95"> + <owner>battre@chromium.org</owner> + <owner>chrome-autofill@google.com</owner> <summary> Tracks how the different wallet addresses are converted to local autofill profiles. @@ -15786,40 +16449,46 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Autofill.WebView.AutofillSession" enum="AutofillSessionStates" - expires_after="M85"> + expires_after="2021-06-08"> <owner>michaelbai@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> <summary>Records the state of an autofill session.</summary> </histogram> <histogram name="Autofill.WebView.CreatedByActivityContext" - enum="BooleanEnabled" expires_after="M85"> + enum="BooleanEnabled" expires_after="2021-06-08"> <owner>michaelbai@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> <summary>Whether the autofill is created by activity context.</summary> </histogram> <histogram name="Autofill.WebView.Enabled" enum="BooleanEnabled" - expires_after="M85"> + expires_after="2021-06-08"> <owner>michaelbai@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> <summary> Whether the autofill service is enabled in Android platform. </summary> </histogram> <histogram name="Autofill.WebView.SubmissionSource" - enum="AutofillSubmissionSource" expires_after="M85"> + enum="AutofillSubmissionSource" expires_after="2021-06-08"> <owner>michaelbai@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> <summary>Records the source of form submission.</summary> </histogram> <histogram name="Autofill.WebView.SuggestionTime" units="ms" - expires_after="M85"> + expires_after="2021-06-08"> <owner>michaelbai@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> <summary>The time taken to display suggestion.</summary> </histogram> <histogram name="Autofill.WebView.UserChangedAutofilledField" - enum="BooleanEnabled" expires_after="M85"> + enum="BooleanEnabled" expires_after="2021-06-08"> <owner>michaelbai@chromium.org</owner> + <owner>src/android_webview/OWNERS</owner> <summary>Whether the user changed autofilled field.</summary> </histogram> @@ -16142,6 +16811,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Whether the global curve is reset at initialization.</summary> </histogram> +<histogram name="AutoScreenBrightness.InvalidCurveReason" + enum="AutoScreenBrightnessInvalidCurveReason" expires_after="2020-11-30"> + <owner>jiameng@chromium.org</owner> + <owner>wrong@chromium.org</owner> + <owner>tby@chromium.org</owner> + <owner>thanhdng@chromium.org</owner> + <summary> + A monotone cubic spline curve may be invalid from input that used to + generate it. This metric records why it's invalid. Chrome OS only. + </summary> +</histogram> + <histogram name="AutoScreenBrightness.MissingAlsWhenBrightnessChanged" enum="BooleanError" expires_after="2020-11-30"> <owner>jiameng@chromium.org</owner> @@ -16377,7 +17058,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Availability.Prober.CacheEntryAge" units="hours" - expires_after="2020-10-11"> + expires_after="M95"> <owner>robertogden@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -16386,7 +17067,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Availability.Prober.DidSucceed" - enum="BooleanSuccess" expires_after="2020-08-01"> + enum="BooleanSuccess" expires_after="M95"> <owner>robertogden@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -16396,7 +17077,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="Availability.Prober.DidSucceed.AfterReportedFailure" - enum="BooleanSuccess" expires_after="2020-10-11"> + enum="BooleanSuccess" expires_after="M95"> <owner>robertogden@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -16406,7 +17087,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Availability.Prober.FinalState" - enum="BooleanSuccess" expires_after="2020-10-04"> + enum="BooleanSuccess" expires_after="M95"> <owner>robertogden@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -16417,7 +17098,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Availability.Prober.NetError" enum="NetErrorCodes" - expires_after="2020-10-04"> + expires_after="M95"> <owner>robertogden@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -16428,7 +17109,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Availability.Prober.NumAttemptsBeforeSuccess" - units="count" expires_after="2020-10-04"> + units="count" expires_after="M95"> <owner>robertogden@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -16439,7 +17120,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Availability.Prober.ResponseCode" - enum="HttpResponseCode" expires_after="2020-10-04"> + enum="HttpResponseCode" expires_after="M95"> <owner>robertogden@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -16462,7 +17143,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Availability.Prober.TimeUntilFailure2" units="ms" - expires_after="2020-10-04"> + expires_after="M95"> <owner>robertogden@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -16485,7 +17166,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Availability.Prober.TimeUntilSuccess2" units="ms" - expires_after="2020-10-04"> + expires_after="M95"> <owner>robertogden@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -16511,7 +17192,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackForwardCache.AllSites.HistoryNavigationOutcome" - enum="BackForwardCacheHistoryNavigationOutcome" expires_after="2020-10-01"> + enum="BackForwardCacheHistoryNavigationOutcome" expires_after="2020-12-13"> <owner>hajimehoshi@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> <summary> @@ -16525,7 +17206,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="BackForwardCache.AllSites.HistoryNavigationOutcome.BlocklistedFeature" - enum="WebSchedulerTrackedFeature" expires_after="2020-10-01"> + enum="WebSchedulerTrackedFeature" expires_after="2020-12-20"> <owner>hajimehoshi@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> <summary> @@ -16542,7 +17223,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="BackForwardCache.AllSites.HistoryNavigationOutcome.BrowsingInstanceNotSwappedReason" enum="BackForwardCacheBrowsingInstanceNotSwappedReason" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>hajimehoshi@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> <summary> @@ -16580,7 +17261,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="BackForwardCache.AllSites.HistoryNavigationOutcome.NotRestoredReason" - enum="BackForwardCacheNotRestoredReason" expires_after="2020-10-01"> + enum="BackForwardCacheNotRestoredReason" expires_after="2020-12-06"> <owner>hajimehoshi@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> <summary> @@ -16596,7 +17277,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="BackForwardCache.EvictedAfterDocumentRestoredReason" enum="BackForwardCacheEvictedAfterDocumentRestoredReason" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>hajimehoshi@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> <summary> @@ -16636,7 +17317,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackForwardCache.HistoryNavigationOutcome.BlocklistedFeature" - enum="WebSchedulerTrackedFeature" expires_after="2020-10-01"> + enum="WebSchedulerTrackedFeature" expires_after="2020-12-06"> <owner>hajimehoshi@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> <summary> @@ -16654,7 +17335,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="BackForwardCache.HistoryNavigationOutcome.BrowsingInstanceNotSwappedReason" enum="BackForwardCacheBrowsingInstanceNotSwappedReason" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>hajimehoshi@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> <summary> @@ -16671,7 +17352,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="BackForwardCache.HistoryNavigationOutcome.DisabledForRenderFrameHostReason" enum="BackForwardCacheDisabledForRenderFrameHostReason" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>carlscab@chromium.org</owner> <owner>hajimehoshi@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> @@ -16693,7 +17374,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackForwardCache.HistoryNavigationOutcome.NotRestoredReason" - enum="BackForwardCacheNotRestoredReason" expires_after="2020-10-01"> + enum="BackForwardCacheNotRestoredReason" expires_after="2020-12-06"> <owner>hajimehoshi@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> <summary> @@ -16752,7 +17433,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackForwardCache.Restore.NavigationToFirstPaint" units="ms" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>sreejakshetty@chromium.org</owner> <owner>altimin@chromium.org</owner> <owner>bfcache-dev@chromium.org</owner> @@ -16822,7 +17503,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundFetch.HasRequestsWithBody" enum="Boolean" - expires_after="M85"> + expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <owner>peter@chromium.org</owner> @@ -16856,7 +17537,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundFetch.MatchCalledFromDocumentScope" - enum="ScopeMatchCalledFrom" expires_after="2020-06-30"> + enum="ScopeMatchCalledFrom" expires_after="2020-11-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <owner>peter@chromium.org</owner> @@ -16867,7 +17548,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundFetch.MatchCalledWhenFetchIsIncomplete" - enum="FetchStatusWhenMatchCalled" expires_after="2020-06-30"> + enum="FetchStatusWhenMatchCalled" expires_after="2020-11-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <owner>peter@chromium.org</owner> @@ -16879,7 +17560,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundFetch.PercentOfRequestsForWhichUpdatesAreSent" - units="%" expires_after="2020-06-30"> + units="%" expires_after="2020-11-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <owner>peter@chromium.org</owner> @@ -16999,7 +17680,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundSync.Event.BatchSize" units="units" - expires_after="M85"> + expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -17032,7 +17713,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundSync.Event.OneShotResultPattern" - enum="BackgroundSyncResultPattern" expires_after="M85"> + enum="BackgroundSyncResultPattern" expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -17046,7 +17727,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundSync.Event.OneShotStartedInForeground" - enum="BooleanInForeground" expires_after="M85"> + enum="BooleanInForeground" expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -17091,7 +17772,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="BackgroundSync.Event.Time" units="ms" expires_after="M85"> +<histogram name="BackgroundSync.Event.Time" units="ms" + expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -17141,7 +17823,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundSync.NetworkObserver.HasPermission" enum="Boolean" - expires_after="M85"> + expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -17209,7 +17891,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundSync.Registration.OneShot.IsDuplicate" - enum="BooleanRegistrationIsDuplicate" expires_after="M85"> + enum="BooleanRegistrationIsDuplicate" expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -17230,7 +17912,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BackgroundSync.Registration.Periodic" - enum="BackgroundSyncStatus" expires_after="2020-10-04"> + enum="BackgroundSyncStatus" expires_after="2020-12-13"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -17326,7 +18008,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Badging.AppBadgeUpdate.Mac.Result" - enum="UpdateAppBadgeMacResult" expires_after="M85"> + enum="UpdateAppBadgeMacResult" expires_after="M88"> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary>The result from updating the app badge on macOS.</summary> @@ -17334,6 +18016,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Badging.AppBadgeUpdate.Win.Result" enum="Hresult" expires_after="M85"> + <obsolete> + Removed 6/3/2020. No longer needed. + </obsolete> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary>The result from updating the app badge on Windows.</summary> @@ -17452,6 +18137,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Records whenever a Blimp tab toggles visibility.</summary> </histogram> +<histogram name="Blink.Accessibility.NumTreeUpdatesQueuedBeforeLayout" + units="updates" expires_after="M86"> + <owner>aboxhall@chromium.org</owner> + <owner>chrome-a11y-core@chromium.org</owner> + <summary> + Records how many tree updates were queued at the time updates are being + processed after layout. If we are trying to process too many updates at + once, we should investigate how we might be able to merge similar updates + without losing important information. + </summary> +</histogram> + <histogram name="Blink.Animate.UpdateTime" units="microseconds" expires_after="2020-11-08"> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" --> @@ -17471,7 +18168,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Animation.CompositedAnimationFailureReason" - enum="CompositorAnimationsFailureReason" expires_after="2020-10-11"> + enum="CompositorAnimationsFailureReason" expires_after="2020-12-13"> <owner>animations-dev@chromium.org</owner> <summary> Reasons an Animation is not suitable for running on the compositor thread. @@ -17677,7 +18374,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Canvas.ContentChangeMode" - enum="BooleanContentChangeMode" expires_after="M85"> + enum="BooleanContentChangeMode" expires_after="2020-12-31"> <owner>yiyix@chromium.org</owner> <owner>fserb@chromium.org</owner> <summary> @@ -18524,7 +19221,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.DecodedImage.JpegDensity.KiBWeighted" - units="0.01 bits per pixel" expires_after="2020-10-11"> + units="0.01 bits per pixel" expires_after="2020-12-13"> <owner>deymo@google.com</owner> <owner>compression-dev@google.com</owner> <summary> @@ -18544,7 +19241,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.DecodedImage.WebPFileFormat" enum="WebPFileFormat" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>mcasas@chromium.org</owner> <owner>andrescj@chromium.org</owner> <summary> @@ -18584,7 +19281,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.DecodedImageType" enum="DecodedImageType" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>urvang@chromium.org</owner> <summary>Image codec inferred during decode.</summary> </histogram> @@ -18707,6 +19404,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Blink.Fonts.DataAccess.StreamCreation" enum="BooleanSuccess" + expires_after="M88"> + <owner>oyiptong@chromium.org</owner> + <owner>layout-dev@chromium.org</owner> + <owner>storage-dev@chromium.org</owner> + <summary> + Counts success or failure in attempting to obtain font bytes as stream with + base address from Skia. + </summary> +</histogram> + <histogram name="Blink.Fonts.Enumeration.Duration" units="ms" expires_after="M88"> <owner>oyiptong@chromium.org</owner> @@ -18849,7 +19557,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.HandleInputEvents.UpdateTime" units="microseconds" - expires_after="2020-07-26"> + expires_after="2021-03-01"> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" --> <owner>schenney@chromium.org</owner> @@ -18863,7 +19571,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.HitTestDocumentUpdate.UpdateTime" units="microseconds" - expires_after="2020-07-26"> + expires_after="2021-03-01"> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" --> <owner>schenney@chromium.org</owner> @@ -18997,7 +19705,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.ImageDecoders.IncrementalDecodeNeeded" - enum="IncrementalDecodeNeeded" expires_after="2020-08-09"> + enum="IncrementalDecodeNeeded" expires_after="2020-11-29"> <owner>mbarowsky@chromium.org</owner> <owner>andrescj@chromium.org</owner> <summary> @@ -19026,7 +19734,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Blink.ImageDecoders.InitiallyFullyDecodedByteSize" - units="bytes" expires_after="2020-10-04"> + units="bytes" expires_after="2020-12-06"> <owner>mbarowsky@chromium.org</owner> <owner>andrescj@chromium.org</owner> <summary> @@ -19057,7 +19765,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.ImageDecoders.Jpeg.ColorSpace" enum="JpegColorSpace" - expires_after="2020-08-23"> + expires_after="2020-12-06"> <owner>andrescj@chromium.org</owner> <owner>mcasas@chromium.org</owner> <summary> @@ -19163,7 +19871,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Blink.LazyLoad.CrossOriginFrames.LoadStartedAfterBeingDeferred" - enum="NQEEffectiveConnectionType" expires_after="2020-10-18"> + enum="NQEEffectiveConnectionType" expires_after="2020-12-20"> <owner>sclittle@chromium.org</owner> <summary> Records the effective connection type whenever a lazily-loaded iframe that @@ -19177,7 +19885,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.LazyLoad.CrossOriginFrames.VisibleAfterBeingDeferred" - enum="NQEEffectiveConnectionType" expires_after="2020-10-18"> + enum="NQEEffectiveConnectionType" expires_after="2020-12-20"> <owner>sclittle@chromium.org</owner> <summary> Records the effective connection type whenever a lazily-loaded iframe that @@ -19325,15 +20033,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="Blink.MainFrame.ProxyCommitRatio" units="%" expires_after="2020-11-08"> + <obsolete> + Replaced with separate ImplCompositorCommit and WaitForCommit metrics and + removed in M84. + </obsolete> <owner>schenney@chromium.org</owner> <owner>paint-dev@chromium.org</owner> <!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" --> <summary> The percentage of time between a BeginMainFrame and paint results commit in - Blink that is used for committing the layer tree to the impl thread. To be - removed in M-84 once we confirm separate wait and commit metrics have the - same net time. + Blink that is used for committing the layer tree to the impl thread. </summary> </histogram> @@ -19390,7 +20100,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.MainFrame.UpdateTime" units="microseconds" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" --> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" --> @@ -19610,7 +20320,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Paint.UpdateTime" units="microseconds" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" --> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" --> @@ -19641,7 +20351,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.PrePaint.UpdateTime" units="microseconds" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" --> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" --> @@ -19662,6 +20372,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Blink.ProxyCommit.UpdateTime" units="microseconds" expires_after="2020-11-08"> + <obsolete> + Replaced with separate ImplCompositorCommit and WaitForCommit metrics and + removed in M84. + </obsolete> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" --> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" --> @@ -19672,8 +20386,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <owner>paint-dev@chromium.org</owner> <summary> Time spent commiting the layer tree to the impl thread in a main frame - update. To be removed in M-84 in favor of separate WaitForCommit and - ImplCompositorCommit metrics. + update. Note: This histogram does not record metrics on machines with low-resolution clocks. @@ -19879,6 +20592,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Blink.Script.AsyncScriptCount" units="count" + expires_after="2021-05-25"> + <owner>dom@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The total number of async scripts associated with a document at the time + parsing has finished. + </summary> +</histogram> + <histogram name="Blink.Script.ForceDeferredScripts.Mainframe" units="count" expires_after="2020-10-24"> <owner>dougarnett@chromium.org</owner> @@ -20036,7 +20759,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Sms.Receive.DestroyedReason" - enum="SmsReceiverDestroyedReason" expires_after="M85"> + enum="SmsReceiverDestroyedReason" expires_after="M88"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> <owner>ayui@chromium.org</owner> @@ -20046,7 +20769,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Sms.Receive.Infobar" enum="SMSReceiverInfobarAction" - expires_after="M85"> + expires_after="M88"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> <owner>ayui@chromium.org</owner> @@ -20057,7 +20780,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Sms.Receive.Outcome" enum="SMSReceiverOutcome" - expires_after="M85"> + expires_after="M88"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> <owner>ayui@chromium.org</owner> @@ -20080,7 +20803,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Blink.Sms.Receive.TimeCancel" units="ms" expires_after="M85"> +<histogram name="Blink.Sms.Receive.TimeCancel" units="ms" expires_after="M88"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> <owner>ayui@chromium.org</owner> @@ -20091,7 +20814,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Sms.Receive.TimeCancelOnKeyboardDismissal" units="ms" - expires_after="M85"> + expires_after="M88"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> <owner>juncai@chromium.org</owner> @@ -20103,7 +20826,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Sms.Receive.TimeCancelOnSuccess" units="ms" - expires_after="M85"> + expires_after="M88"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> <owner>ayui@chromium.org</owner> @@ -20114,7 +20837,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Sms.Receive.TimeContinueOnSuccess" units="ms" - expires_after="M85"> + expires_after="M88"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> <owner>ayui@chromium.org</owner> @@ -20125,7 +20848,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.Sms.Receive.TimeSmsReceive" units="ms" - expires_after="M85"> + expires_after="M88"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> <owner>ayui@chromium.org</owner> @@ -20135,7 +20858,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Blink.Sms.Receive.TimeSuccess" units="ms" expires_after="M85"> +<histogram name="Blink.Sms.Receive.TimeSuccess" units="ms" expires_after="M88"> <owner>goto@chromium.org</owner> <owner>reillyg@chromium.org</owner> <owner>ayui@chromium.org</owner> @@ -20356,7 +21079,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.UseCounter.Extensions.Features" enum="FeatureObserver" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>chasej@chromium.org</owner> <owner>feature-control@chromium.org</owner> <summary> @@ -20692,7 +21415,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.VisibleBeforeLoaded.LazyLoadEligibleFrames.BelowTheFold" - enum="NQEEffectiveConnectionType" expires_after="2020-10-18"> + enum="NQEEffectiveConnectionType" expires_after="2020-12-20"> <owner>sclittle@chromium.org</owner> <summary> Records the effective connection type whenever a lazyload-eligible (i.e. @@ -20702,7 +21425,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.VisibleBeforeLoaded.LazyLoadImages.AboveTheFold" - enum="NQEEffectiveConnectionType" expires_after="2020-09-13"> + enum="NQEEffectiveConnectionType" expires_after="2020-11-15"> <owner>sclittle@chromium.org</owner> <owner>rajendrant@chromium.org</owner> <summary> @@ -20712,7 +21435,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.VisibleBeforeLoaded.LazyLoadImages.BelowTheFold" - enum="NQEEffectiveConnectionType" expires_after="2020-10-18"> + enum="NQEEffectiveConnectionType" expires_after="2020-12-20"> <owner>sclittle@chromium.org</owner> <owner>rajendrant@chromium.org</owner> <summary> @@ -20722,7 +21445,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.VisibleLoadTime.LazyLoadEligibleFrames.AboveTheFold" - units="ms" expires_after="2020-10-18"> + units="ms" expires_after="2020-12-20"> <owner>sclittle@chromium.org</owner> <summary> Milliseconds spent waiting for an above the fold iframe to load. Only fires @@ -20732,7 +21455,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Blink.VisibleLoadTime.LazyLoadEligibleFrames.BelowTheFold" - units="ms" expires_after="2020-10-18"> + units="ms" expires_after="2020-12-20"> <owner>sclittle@chromium.org</owner> <summary> Milliseconds spent waiting for a below the fold iframe to load. Only fires @@ -20742,7 +21465,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Blink.VisibleLoadTime.LazyLoadImages.AboveTheFold" - units="ms" expires_after="2020-10-18"> + units="ms" expires_after="2020-12-20"> <owner>rajendrant@chromium.org</owner> <owner>bengr@chromium.org</owner> <summary> @@ -20754,7 +21477,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Blink.VisibleLoadTime.LazyLoadImages.BelowTheFold" - units="ms" expires_after="2020-10-18"> + units="ms" expires_after="2020-12-20"> <owner>rajendrant@chromium.org</owner> <owner>bengr@chromium.org</owner> <summary> @@ -22066,6 +22789,32 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="BlueZ.PerProfile.ConnectionResult" + enum="BlueZResultOfPerProfileConnection" expires_after="M89"> +<!-- Name completed by histogram_suffixes name="BlueZPerProfileResult" --> + + <owner>mmandlik@google.com</owner> + <owner>chromeos-bt-platform-sw-core@google.com</owner> + <summary> + Records the outcome of bluetooth profile connection request to a remote + device. This helps to understand the percentage of successful profile + connections against failures and the causes of failures. + </summary> +</histogram> + +<histogram name="BlueZ.PerProfile.ProbingResult" + enum="BlueZResultOfPerProfileProbing" expires_after="M89"> +<!-- Name completed by histogram_suffixes name="BlueZPerProfileResult" --> + + <owner>mmandlik@google.com</owner> + <owner>chromeos-bt-platform-sw-core@google.com</owner> + <summary> + Records the outcome of bluetooth profile probing while pairing with a remote + device. This helps to understand the percentage of successful profile + probing against failures and the causes of failures. + </summary> +</histogram> + <histogram name="BlueZ.ReasonOfDisconnection" enum="BlueZReasonOfDisconnection" expires_after="2020-11-08"> <owner>mcchou@chromium.org</owner> @@ -22097,7 +22846,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BlueZ.ResultOfPairing" enum="BlueZResultOfPairing" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>mcchou@chromium.org</owner> <summary> This is specific to Chrome OS. Records the outcomes of pairing with remote @@ -22201,6 +22950,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="BookmarkManager.CommandExecutedFromKeyboard" enum="BookmarkManagerCommand" expires_after="2020-06-01"> + <obsolete> + Removed as of May 2020. + </obsolete> <owner>calamity@chromium.org</owner> <owner>johntlee@chromium.org</owner> <summary> @@ -22261,7 +23013,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Bookmarks.AddedPerProfileType" enum="BrowserProfileType" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -22270,7 +23022,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Bookmarks.BookmarkAllTabsWithTabsCount.Incognito" units="tabs" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -22280,7 +23032,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Bookmarks.BookmarkAllTabsWithTabsCount.Regular" units="tabs" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -22299,7 +23051,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Bookmarks.Count.OnProfileLoad" units="bookmarks" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>supertri@chromium.org</owner> <owner>isherman@chromium.org</owner> <owner>aidanday@google.com</owner> @@ -22313,7 +23065,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Bookmarks.Count.OnProfileLoad.DuplicateUrl" units="bookmarks" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -22326,6 +23078,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Bookmarks.Count.OnProfileLoad.EmptyTitle" units="bookmarks" expires_after="2020-05-24"> + <obsolete> + Removed as of 05/2020. + </obsolete> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -22368,12 +23123,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Bookmarks.EntryPoint" enum="BookmarksEntryPoint" - expires_after="2020-08-30"> + expires_after="2020-12-20"> <owner>ianwen@chromium.org</owner> <summary>How users add a new bookmark.</summary> </histogram> <histogram name="Bookmarks.FileSize" units="KB" expires_after="2020-03-29"> + <obsolete> + Removed as of 05/2020. + </obsolete> <owner>mamir@chromium.org</owner> <summary> The size of the file used to persist bookmarks. It's recorded every time the @@ -22395,7 +23153,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Bookmarks.LaunchLocation" enum="BookmarkLaunchLocation" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>ianwen@chromium.org</owner> <summary>Logs a UI location from which a bookmark is launched.</summary> </histogram> @@ -22427,7 +23185,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Bookmarks.OpenBookmarkType" enum="BookmarkType" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>wychen@chromium.org</owner> <summary> Logs whether the bookmark entry is a user bookmark or a partner bookmark @@ -22436,7 +23194,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Bookmarks.UsageCountPerProfileType" enum="BrowserProfileType" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -22454,14 +23212,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Time from power on to login panel ready (Chrome OS).</summary> </histogram> -<histogram name="BootTime.Total2" units="ms" expires_after="2020-10-18"> +<histogram name="BootTime.Total2" units="ms" expires_after="2020-12-20"> <owner>bccheng@chromium.org</owner> <owner>semenzato@chromium.org</owner> <summary>Time from power on to login panel ready (Chrome OS).</summary> </histogram> <histogram name="BrotliFilter.CompressionPercent" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>eustas@chromium.org</owner> <summary>Compressed/Decompressed size ratio.</summary> </histogram> @@ -22493,7 +23251,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Browser.DarkModeStatus" enum="DarkModeStatus" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>lgrey@chromium.org</owner> <owner>robliao@chromium.org</owner> <summary> @@ -22503,7 +23261,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Browser.Metal.TestShaderCompileTime" units="ms" - expires_after="M82"> + expires_after="2020-05-18"> + <obsolete> + Removed 05/2020. Was not substantially different from results in the GPU + process. + </obsolete> <owner>ccameron@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> <summary> @@ -22516,7 +23278,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Browser.Metal.TestShaderMethodTime" units="ms" - expires_after="M82"> + expires_after="2020-05-18"> + <obsolete> + Removed 05/2020. Did not reveal interesting results. + </obsolete> <owner>ccameron@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> <summary> @@ -22529,8 +23294,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Browser.PaintPreview.Capture.CompressedOnDiskSize" units="KB" + expires_after="2020-10-20"> + <owner>ckitagawa@chromium.org</owner> + <owner>mahmoudi@chromium.org</owner> + <owner>fredmello@chromium.org</owner> + <summary> + Records the size of a compressed on-disk capture for the paint preview after + a proto is written to disk if compressed. + </summary> +</histogram> + <histogram name="Browser.PaintPreview.Capture.NumberOfFramesCaptured" - units="units" expires_after="2020-10-20"> + units="units" expires_after="2020-12-20"> <owner>ckitagawa@chromium.org</owner> <owner>mahmoudi@chromium.org</owner> <owner>fredmello@chromium.org</owner> @@ -22540,7 +23316,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Browser.PaintPreview.Capture.Success" enum="BooleanSuccess" - expires_after="2020-10-20"> + expires_after="2020-12-20"> <owner>ckitagawa@chromium.org</owner> <owner>mahmoudi@chromium.org</owner> <owner>fredmello@chromium.org</owner> @@ -22550,7 +23326,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Browser.PaintPreview.Capture.TotalCaptureDuration" units="ms" - expires_after="2020-10-20"> + expires_after="2020-12-20"> <owner>ckitagawa@chromium.org</owner> <owner>mahmoudi@chromium.org</owner> <owner>fredmello@chromium.org</owner> @@ -22560,18 +23336,30 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Browser.PaintPreview.CaptureExperiment.CompressedOnDiskSize" +<histogram name="Browser.PaintPreview.Capture.UncompressedOnDiskSize" units="KB" expires_after="2020-10-20"> <owner>ckitagawa@chromium.org</owner> <owner>mahmoudi@chromium.org</owner> <owner>fredmello@chromium.org</owner> <summary> - Records the compressed on-disk size of the capture if it succeeded. + Records the size of an uncompressed on-disk capture for the paint preview + after a proto is written to disk if not compressed. + </summary> +</histogram> + +<histogram name="Browser.PaintPreview.CaptureExperiment.CompressedOnDiskSize" + units="KB" expires_after="2020-12-20"> + <owner>ckitagawa@chromium.org</owner> + <owner>mahmoudi@chromium.org</owner> + <owner>fredmello@chromium.org</owner> + <summary> + Records the compressed on-disk size of the capture if it succeeded for the + capture experiment. </summary> </histogram> <histogram name="Browser.PaintPreview.CaptureExperiment.Success" - enum="BooleanSuccess" expires_after="2020-10-20"> + enum="BooleanSuccess" expires_after="2020-12-20"> <owner>ckitagawa@chromium.org</owner> <owner>mahmoudi@chromium.org</owner> <owner>fredmello@chromium.org</owner> @@ -22581,8 +23369,58 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Browser.PaintPreview.Player.CompositorProcessStartedCorrectly" + units="BooleanSuccess" expires_after="2020-10-20"> + <owner>ckitagawa@chromium.org</owner> + <owner>mahmoudi@chromium.org</owner> + <owner>fredmello@chromium.org</owner> + <summary> + Records if the paint preview compositor process started correctly. + </summary> +</histogram> + +<histogram name="Browser.PaintPreview.Player.CompositorProcessStartupTime" + units="ms" expires_after="2020-10-20"> + <owner>ckitagawa@chromium.org</owner> + <owner>mahmoudi@chromium.org</owner> + <owner>fredmello@chromium.org</owner> + <summary> + Records the time it took to start the paint preview compositor process. + </summary> +</histogram> + +<histogram name="Browser.PaintPreview.Player.LinkClicked" + units="BooleanSuccess" expires_after="2020-10-20"> + <owner>ckitagawa@chromium.org</owner> + <owner>mahmoudi@chromium.org</owner> + <owner>fredmello@chromium.org</owner> + <summary>Records when a link is clicked in the paint preview player.</summary> +</histogram> + +<histogram name="Browser.PaintPreview.Player.TimeToFirstBitmap" units="ms" + expires_after="2020-10-20"> + <owner>ckitagawa@chromium.org</owner> + <owner>mahmoudi@chromium.org</owner> + <owner>fredmello@chromium.org</owner> + <summary> + Records the time taken to from the request to start the compositor process + to the first bitmap being loaded. + </summary> +</histogram> + +<histogram name="Browser.PaintPreview.TabService.DiskUsageAtStartup" units="KB" + expires_after="2020-10-20"> + <owner>ckitagawa@chromium.org</owner> + <owner>mahmoudi@chromium.org</owner> + <owner>fredmello@chromium.org</owner> + <summary> + Records the total disk usage by the Paint Preview Tab Service at startup of + the profile keyed service. + </summary> +</histogram> + <histogram name="Browser.Responsiveness.IOJanksTotalPerMinute" units="janks" - expires_after="2020-09-30"> + expires_after="2020-11-29"> <owner>gab@chromium.org</owner> <owner>olivierli@chromium.org</owner> <summary> @@ -22596,7 +23434,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Browser.Responsiveness.IOJankyIntervalsPerMinute" - units="janks" expires_after="2020-09-30"> + units="janks" expires_after="2020-11-29"> <owner>gab@chromium.org</owner> <owner>olivierli@chromium.org</owner> <summary> @@ -22689,7 +23527,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Browser.Tabs.SelectionToVisibilityRequestTime" - units="microseconds" expires_after="2020-10-04"> + units="microseconds" expires_after="2020-12-06"> <owner>sadrul@chromium.org</owner> <owner>sky@chromium.org</owner> <summary> @@ -22734,7 +23572,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Browser.WindowCount.Guest" units="units" expires_after="M85"> +<histogram name="Browser.WindowCount.Guest" units="units" + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -22746,7 +23585,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Browser.WindowCount.Incognito" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -22782,7 +23621,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BrowserDialogs.ExternalProtocol.HandleState" - enum="HandleStateType" expires_after="2020-10-04"> + enum="HandleStateType" expires_after="2020-12-06"> <owner>dominickn@chromium.org</owner> <owner>meacer@chromium.org</owner> <summary> @@ -22882,7 +23721,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BrowserRenderProcessHost.FramePrioritiesSeen" - enum="FramePrioritiesSeen" expires_after="2020-10-04"> + enum="FramePrioritiesSeen" expires_after="2020-12-06"> <owner>ericrobinson@chromium.org</owner> <owner>csharrison@chromium.org</owner> <summary> @@ -22979,7 +23818,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BrowserRenderProcessHost.SpareProcessMaybeTakeAction" - enum="SpareProcessMaybeTakeAction" expires_after="2020-10-18"> + enum="SpareProcessMaybeTakeAction" expires_after="2020-12-20"> <owner>alexmos@chromium.org</owner> <owner>lukasza@chromium.org</owner> <summary> @@ -22989,7 +23828,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BrowserRenderProcessHost.TotalTime" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>ericrobinson@chromium.org</owner> <owner>johnidel@chromium.org</owner> <summary> @@ -23203,7 +24042,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BrowserSwitcher.LaunchSuccess" enum="BooleanSuccess" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>nicolaso@chromium.org</owner> <owner>pastarmovj@chromium.org</owner> <summary> @@ -23213,7 +24052,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="BrowserSwitcher.LaunchTime" units="ms" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>nicolaso@chromium.org</owner> <owner>pastarmovj@chromium.org</owner> <summary> @@ -23789,7 +24628,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="CaptivePortal.Session.DetectionResult" - enum="CaptivePortalStatus" expires_after="2020-10-18"> + enum="CaptivePortalStatus" expires_after="2020-12-20"> <owner>rsorokin@chromium.org</owner> <owner>michaeldo@chromium.org</owner> <owner>cros-oac@google.com</owner> @@ -23894,6 +24733,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Cast.Sender.CastButtonShown" enum="BooleanEnabled" expires_after="M85"> + <obsolete> + Not collected as of M83. + </obsolete> <owner>mfoltz@chromium.org</owner> <summary> Records the number of times the cast button was shown to the user. The value @@ -23905,6 +24747,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Cast.Sender.CastButtonShownInitialFullscreen" enum="BooleanEnabled" expires_after="M85"> + <obsolete> + Not collected as of M83. + </obsolete> <owner>mfoltz@chromium.org</owner> <summary> Records the number of times the cast button was shown to the user when the @@ -23948,8 +24793,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cast.Sender.CastTimeRemainingPercentage" units="%" - expires_after="M85"> + expires_after="2021-07-01"> <owner>mfoltz@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary> Records the percentage of the video left at the time the remote playback is stopped. This will be recorded when the playback is stopped by the user, or @@ -23958,7 +24804,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cast.Sender.DeviceType" enum="RemotePlaybackDeviceType" - expires_after="M85"> + expires_after="2021-06-01"> <owner>tguilbert@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -23969,7 +24815,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cast.Sender.FullscreenControlsActionWithMediaElement" - enum="MediaCommand" expires_after="M85"> + enum="MediaCommand" expires_after="2021-06-01"> <owner>tguilbert@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -23979,7 +24825,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cast.Sender.FullscreenControlsActionWithoutMediaElement" - enum="MediaCommand" expires_after="M85"> + enum="MediaCommand" expires_after="2021-06-01"> <owner>tguilbert@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -23989,7 +24835,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cast.Sender.MediaElementPresentWhenShowFullscreenControls" - enum="BooleanPresent" expires_after="M85"> + enum="BooleanPresent" expires_after="2021-06-01"> <owner>tguilbert@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -24012,7 +24858,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cast.Sender.SessionTimeWithoutMediaElementPercentage" - units="%" expires_after="M85"> + units="%" expires_after="2021-06-01"> <owner>tguilbert@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -24024,7 +24870,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cast.Sender.UrlResolveResult" - enum="RemotePlaybackUrlResolveResult" expires_after="M85"> + enum="RemotePlaybackUrlResolveResult" expires_after="2021-06-01"> <owner>tguilbert@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -24236,7 +25082,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChildProcess.Crashed.UtilityProcessHash" - enum="UtilityProcessNameHash" expires_after="2020-10-04"> + enum="UtilityProcessNameHash" expires_after="2020-12-06"> <owner>wfh@chromium.org</owner> <owner>chrome-stability-core@google.com</owner> <summary> @@ -24397,7 +25243,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChildProcess.HungRendererInForeground" - enum="BooleanForeground" expires_after="2020-10-11"> + enum="BooleanForeground" expires_after="2020-12-13"> <owner>cduvall@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary> @@ -24489,7 +25335,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChildProcess.Launched.UtilityProcessHash" - enum="UtilityProcessNameHash" expires_after="2020-09-27"> + enum="UtilityProcessNameHash" expires_after="2020-11-29"> <owner>wfh@chromium.org</owner> <summary> Count of child utility process launches, bucketed by the hash of their @@ -24792,6 +25638,25 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Chrome.Tabs.AnimationSmoothness.HoverCard.FadeIn" units="%" + expires_after="2021-06-04"> + <owner>yichenz@chromium.org</owner> + <owner>chromeos-wmp@google.com</owner> + <summary> + Tracks the animation smoothness for the fade-in animation of tab hover card. + </summary> +</histogram> + +<histogram name="Chrome.Tabs.AnimationSmoothness.HoverCard.FadeOut" units="%" + expires_after="2021-06-04"> + <owner>yichenz@chromium.org</owner> + <owner>chromeos-wmp@google.com</owner> + <summary> + Tracks the animation smoothness for the fade-out animation of tab hover + card. + </summary> +</histogram> + <histogram name="Chrome.UmaPageloadCounter" enum="BooleanHit" expires_after="2017-06-06"> <obsolete> @@ -24961,7 +25826,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.Apps.ExternalProtocolDialog" - enum="ArcIntentHandlerAction" expires_after="M82"> + enum="ArcIntentHandlerAction" expires_after="M88"> <owner>dominickn@chromium.org</owner> <owner>melzhang@chromium.org</owner> <owner>mxcai@chromium.org</owner> @@ -24972,7 +25837,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.Apps.ExternalProtocolDialog.Accepted" - enum="ArcExternalProtocolAction" expires_after="M82"> + enum="ArcExternalProtocolAction" expires_after="M88"> <owner>dominickn@chromium.org</owner> <owner>melzhang@chromium.org</owner> <owner>mxcai@chromium.org</owner> @@ -24984,7 +25849,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.Apps.ExternalProtocolDialog.Rejected" - enum="ArcExternalProtocolAction" expires_after="M82"> + enum="ArcExternalProtocolAction" expires_after="M88"> <owner>dominickn@chromium.org</owner> <owner>melzhang@chromium.org</owner> <owner>mxcai@chromium.org</owner> @@ -24995,7 +25860,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.Apps.IntentPickerAction" - enum="ArcIntentHandlerAction" expires_after="2020-10-04"> + enum="ArcIntentHandlerAction" expires_after="2020-12-06"> <owner>elijahtaylor@google.com</owner> <owner>dominickn@chromium.org</owner> <owner>shihuis@google.com</owner> @@ -25006,7 +25871,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.Apps.IntentPickerDestinationPlatform" - enum="ArcIntentHandlerDestinationPlatform" expires_after="2020-09-13"> + enum="ArcIntentHandlerDestinationPlatform" expires_after="2020-11-15"> <owner>elijahtaylor@google.com</owner> <owner>dominickn@chromium.org</owner> <owner>shihuis@google.com</owner> @@ -25018,6 +25883,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="ChromeOS.Apps.NumberOfAppsForNotification" + enum="BooleanMultipleApps" expires_after="2021-01-31"> + <owner>dominickn@chromium.org</owner> + <owner>nancylingwang@chromium.org</owner> + <summary> + Records whether a notification matches multiple apps, when there is one or + multiple web apps matching a web page nonpersistent notification. + </summary> +</histogram> + <histogram name="ChromeOS.Apps.OpenBrowser" enum="OpenBrowserType" expires_after="2020-12-14"> <owner>ajlinker@chromium.org</owner> @@ -25224,7 +26099,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.CWP.ParseCPUFrequencies" - enum="ChromeOSParseCPUFrequencyStatus" expires_after="2020-09-20"> + enum="ChromeOSParseCPUFrequencyStatus" expires_after="2020-11-22"> <owner>gmx@chromium.org</owner> <owner>cwp-team@google.com</owner> <summary> @@ -25249,7 +26124,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.CWP.UploadPerf" units="reports" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>aalexand@google.com</owner> <owner>gmx@chromium.org</owner> <summary> @@ -25313,6 +26188,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="ChromeOS.GAIA.WebViewFlow" enum="BooleanGAIAWebViewFlow" expires_after="M85"> + <obsolete> + Removed in 2020/06 as the histogram is no longer in use. The instrumentation + code is long gone. The iframe flow is not used since 2015. + </obsolete> <owner>achuith@chromium.org</owner> <summary> Whether a user signed in using the new WebView-based GAIA flow. This value @@ -25320,6 +26199,27 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram base="true" name="ChromeOS.HardwareVerifier.Report" + enum="HardwareVerifierQualificationStatus" expires_after="2021-04-20"> +<!-- Name completed by histogram_suffixes name="HardwareVerifierSupportCategory" --> + + <owner>itspeter@chromium.org</owner> + <owner>stimim@chromium.org</owner> + <owner>chromeos-hw-checker@google.com</owner> + <summary> + Qualification status of each component types. This entry is generated by + hardware_verifier.conf at boot time. + </summary> +</histogram> + +<histogram name="ChromeOS.HardwareVerifier.Report.IsCompliant" enum="Boolean" + expires_after="2021-04-20"> + <owner>itspeter@chromium.org</owner> + <owner>stimim@chromium.org</owner> + <owner>chromeos-hw-checker@google.com</owner> + <summary>Aggregated result of hardware verifier check.</summary> +</histogram> + <histogram name="ChromeOS.HardwareVerifier.TimeToFinish" units="ms" expires_after="2021-01-01"> <owner>itspeter@chromium.org</owner> @@ -25338,6 +26238,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>The amount of time it takes to probe hardware components.</summary> </histogram> +<histogram name="ChromeOS.IsLacrosBrowser" enum="Boolean" expires_after="never"> +<!-- expires-never: Used to identify lacros binary in metrics backend. --> + + <owner>jamescook@chromium.org</owner> + <owner>lacros-team@google.com</owner> + <summary> + Recorded as part of the metrics session data to identify the lacros-chrome + browser binary. + </summary> +</histogram> + <histogram name="ChromeOS.MachineIdRegen.AgeSeconds" units="seconds" expires_after="M77"> <owner>zeuthen@chromium.org</owner> @@ -25358,7 +26269,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.MemoryPressureLevel" enum="MemoryPressureLevel" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>xdai@chromium.org</owner> <summary> The memory pressure level in Chrome OS, which is recorded periodically (once @@ -25413,6 +26324,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="ChromeOS.PrivacyScreen.Toggled" + enum="PrivacyScreenToggleUISurface" expires_after="2021-04-14"> + <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> + <summary> + Record when the user toggles the integrated privacy screen on/off. See the + PrivacyScreenToggleUISurface enum for all UI surfaces for toggling the + feature. + </summary> +</histogram> + <histogram name="ChromeOS.SAML.APILogin" enum="ChromeOSSamlApiUsed" expires_after="2020-10-02"> <owner>mslus@chromium.org</owner> @@ -25507,6 +26429,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="ChromeOS.Settings.BrowserBannerInteraction" enum="CrosSettingsBrowserBannerInteraction" expires_after="2020-06-01"> + <obsolete> + Removed as of 05/2020 (crbug/1072514). + </obsolete> <owner>jamescook@chromium.org</owner> <owner>cros-system-services@google.com</owner> <summary> @@ -25537,6 +26462,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="ChromeOS.Settings.NumCharsOfQueries" units="characters" + expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + The number of characters for queries used to fetch results from the Settings + Search Mojo API. + </summary> +</histogram> + <histogram base="true" name="ChromeOS.Settings.NumClicksUntilChange" units="clicks" expires_after="2020-12-01"> <!-- Name completed by histogram_suffixes name="OsSettingsChangeType" --> @@ -25564,8 +26500,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>The number of searches before changing a setting.</summary> </histogram> +<histogram name="ChromeOS.Settings.NumSearchResultsFetched" units="results" + expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + The number of search results fetched each time a successful search request + is made to the Settings Search Mojo API. + </summary> +</histogram> + <histogram name="ChromeOS.Settings.OsBannerInteraction" - enum="CrosSettingsOsBannerInteraction" expires_after="2020-10-18"> + enum="CrosSettingsOsBannerInteraction" expires_after="2020-12-20"> <owner>jamescook@chromium.org</owner> <owner>cros-system-services@google.com</owner> <summary> @@ -25585,6 +26532,82 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="ChromeOS.Settings.SearchLatency" units="ms" + expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + The time fetching search results from the Settings Search Mojo API. Recorded + when getSearchHandler().search() completes. + </summary> +</histogram> + +<histogram name="ChromeOS.Settings.SearchRequests" + enum="OsSettingSearchRequestTypes" expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + The number of search requests made to the Settings Search Mojo API. For + search requests that succeeded with a response, the number of search + requests that had results which were discarded, and the number of search + requests that were shown to the user. Recorded when + getSearchHandler().search() completes. + </summary> +</histogram> + +<histogram name="ChromeOS.Settings.SearchRequestsPerSession" + units="mojo search requests" expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + The number of search requests made to the Settings Search Mojo API in one + session of the settings app. + </summary> +</histogram> + +<histogram name="ChromeOS.Settings.SearchResultSectionSelected" + enum="OsSettingsSection" expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + Section search results clicked by user in the OS settings search box. + </summary> +</histogram> + +<histogram name="ChromeOS.Settings.SearchResultSettingSelected" + enum="OsSetting" expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + Setting search results clicked by user in the OS settings search box. + </summary> +</histogram> + +<histogram name="ChromeOS.Settings.SearchResultSubpageSelected" + enum="OsSettingsSubpage" expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + Subpage search results clicked by user in the OS settings search box. + </summary> +</histogram> + +<histogram name="ChromeOS.Settings.SearchResultTypeSelected" + enum="OsSettingsSearchResultType" expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + Type of search results clicked by user in the OS settings search box. + </summary> +</histogram> + <histogram base="true" name="ChromeOS.Settings.TimeUntilChange" units="ms" expires_after="2020-12-01"> <!-- Name completed by histogram_suffixes name="OsSettingsChangeType" --> @@ -25596,6 +26619,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="ChromeOS.Settings.UserActionOnSearchResultsShown" + enum="OsSettingSearchBoxUserAction" expires_after="2020-12-01"> + <owner>khorimoto@chromium.org</owner> + <owner>hsuregan@chromium.org</owner> + <owner>cros-customization@google.com</owner> + <summary> + The user action taken when search results exist and are displayed. + </summary> +</histogram> + <histogram name="ChromeOS.Settings.WindowOpenDuration" units="ms" expires_after="2020-12-01"> <owner>khorimoto@chromium.org</owner> @@ -25629,8 +26662,28 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="ChromeOS.SystemTray.BlockedNotifiersAfterUpdate" + units="notifiers" expires_after="2021-05-10"> + <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> + <summary> + Tracks the number of blocked notifiers in the system tray after the user + blocks one or multiple notifiers. Note that this metric records the number + of blocked notifiers *after* the update. + </summary> +</histogram> + +<histogram name="ChromeOS.SystemTray.BlockedNotifiersOnOpen" units="notifiers" + expires_after="2021-05-10"> + <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> + <summary> + Tracks the number of blocked notifiers in the system tray when it is opened. + </summary> +</histogram> + <histogram name="ChromeOS.SystemTray.FeaturePodCountOnOpen" units="count" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>tengs@chromium.org</owner> <owner>amehfooz@chromium.org</owner> <summary> @@ -25642,9 +26695,22 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="ChromeOS.SystemTray.FirstInteraction" + enum="CrosSystemTrayFirstInteraction" expires_after="2021-05-10"> + <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> + <summary> + Records the first interaction the user has with the system tray, which can + be a click/tap on the quick settings or message center bubble. Note that + this interaction could be at any time after the user opens the tray (e.g. 30 + seconds later before the first click). + </summary> +</histogram> + <histogram name="ChromeOS.SystemTray.Interaction" - enum="CrosSystemTrayInteraction" expires_after="M83"> + enum="CrosSystemTrayInteraction" expires_after="2021-05-10"> <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> <summary> An enum value how system tray bubble is interacted e.g. by tap (touch screen), or click (mouse, trackpad, etc.) Reported every time the region @@ -25653,14 +26719,25 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.SystemTray.IsExpandedOnOpen" enum="Boolean" - expires_after="M83"> + expires_after="2021-05-10"> <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> <summary> If the value is true, SystemTray is expanded when it's opened. Otherwise, it's closed when it's opened. </summary> </histogram> +<histogram name="ChromeOS.SystemTray.NotificationsRemovedByClearAll" + units="notifications" expires_after="2021-05-10"> + <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> + <summary> + Records the number of notifications that are removed in a single clear all + action by the user. + </summary> +</histogram> + <histogram name="ChromeOS.SystemTray.OpenHelpPageForManaged" enum="CrosSystemTrayManagedType" expires_after="M83"> <owner>yamaguchi@chromium.org</owner> @@ -25671,7 +26748,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.SystemTray.Tablet.FeaturePodCountOnOpen" - units="count" expires_after="2020-05-10"> + units="count" expires_after="2021-05-10"> <owner>tengs@chromium.org</owner> <owner>amehfooz@chromium.org</owner> <summary> @@ -25683,8 +26760,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.SystemTray.TimeToClick" units="ms" - expires_after="M83"> + expires_after="2021-05-10"> <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> <summary> The amount of time a user took from clicking on the button in status area, to clicking on an item in the system tray bubble. @@ -25692,8 +26770,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ChromeOS.SystemTray.ToggleExpanded" - enum="CrosSystemTrayToggleExpanded" expires_after="M83"> + enum="CrosSystemTrayToggleExpanded" expires_after="2021-05-10"> <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> <summary> An enum value how system tray bubble is expanded or collapsed. It can be toggled by the button and touch gesture. @@ -25711,7 +26790,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="ChromeOS.USB.DeviceAttached" - enum="ChromeOSUsbEventTiming" expires_after="2020-10-01"> + enum="ChromeOSUsbEventTiming" expires_after="2020-12-06"> <owner>allenwebb@chromium.org</owner> <owner>jorgelo@chromium.org</owner> <owner>mnissler@chromium.org</owner> @@ -26053,7 +27132,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ClientHints.CountRulesReceived" units="count" - expires_after="M82"> + expires_after="M88"> <owner>yoavweiss@chromium.org</owner> <owner>tbansal@chromium.org</owner> <owner>mkwst@chromium.org</owner> @@ -26063,7 +27142,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="ClientHints.PersistDuration" units="ms" expires_after="M82"> +<histogram name="ClientHints.PersistDuration" units="ms" expires_after="M88"> <owner>yoavweiss@chromium.org</owner> <owner>tbansal@chromium.org</owner> <owner>mkwst@chromium.org</owner> @@ -26074,7 +27153,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ClientHints.UpdateEventCount" units="count" - expires_after="M82"> + expires_after="M88"> <owner>yoavweiss@chromium.org</owner> <owner>tbansal@chromium.org</owner> <owner>mkwst@chromium.org</owner> @@ -26084,7 +27163,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="ClientHints.UpdateSize" units="count" expires_after="M82"> +<histogram name="ClientHints.UpdateSize" units="count" expires_after="M88"> <owner>yoavweiss@chromium.org</owner> <owner>tbansal@chromium.org</owner> <owner>mkwst@chromium.org</owner> @@ -26107,6 +27186,31 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Clipboard.Format.Read" enum="ClipboardFormatRead" + expires_after="2021-01-01"> + <owner>huangdarwin@chromium.org</owner> + <owner>src/ui/base/clipboard/OWNERS</owner> + <summary> + Counts how often each Clipboard format is read by the platform clipboard. + These reads generally imply that an application requested this format after + checking that the format is available, but there are some cases where Chrome + reads a format to check for existence (outside the + ui::Clipboard::ReadAvailableTypes() function). Please prefer interpreting + these numbers as relative use changes, as opposed to absolute user usage. + </summary> +</histogram> + +<histogram name="Clipboard.Format.Write" enum="ClipboardFormatWrite" + expires_after="2021-01-01"> + <owner>huangdarwin@chromium.org</owner> + <owner>src/ui/base/clipboard/OWNERS</owner> + <summary> + Counts how often each Clipboard format is written by the platform clipboard. + These writes all imply that an application had this format available, and + therefore wrote this format. + </summary> +</histogram> + <histogram name="Clipboard.IncognitoUseCase" enum="ClipboardAction" expires_after="2013-04-08"> <obsolete> @@ -26367,7 +27471,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ComponentUpdater.Calls" enum="ComponentUpdaterCalls" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>sorin@chromium.org</owner> <summary> The number of times the component updater called UpdateClient::Install or @@ -26518,14 +27622,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.Browser.HitTestTimeToFindClosestLayer" - units="microseconds" expires_after="M85"> + units="microseconds" expires_after="2020-12-01"> <owner>yigu@chromium.org</owner> + <owner>animations-dev@chromium.org</owner> <summary> Time spent finding the closest matching layer to a given point whenever we do hit testing on LayerTreeImpl (in a browser process). - Team: animations-dev@chromium.org. - Warning: This metric may include reports from clients with low-resolution clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports will cause this metric to have an abnormal distribution. When considering @@ -26535,7 +27638,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.Browser.LayersUpdateTime" units="microseconds" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>animations-dev@chromium.org</owner> <summary> Time spent updating layers, in microseconds. Recorded when layers are @@ -26550,7 +27653,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.Browser.LayerTreeImpl.CalculateDrawPropertiesUs" - units="microseconds" expires_after="2020-10-18"> + units="microseconds" expires_after="2020-12-20"> <owner>paint-dev@chromium.org</owner> <summary> Time spent updating layer draw properties, in microseconds. Recorded when a @@ -26746,7 +27849,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.DirectRenderer.GL.DrawFrameUs" - units="microseconds" expires_after="2020-10-04"> + units="microseconds" expires_after="2020-12-06"> <owner>weiliangc@chromium.org</owner> <summary> Time spent drawing of composited layers by GLRenderer, in microseconds. This @@ -26761,7 +27864,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.DirectRenderer.PartialSwap.ExtraDamage" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>vasilyt@chromium.org</owner> <owner>backer@chromium.org</owner> <summary> @@ -26790,7 +27893,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.DirectRenderer.PartialSwap.RootDamage" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>vasilyt@chromium.org</owner> <owner>backer@chromium.org</owner> <summary> @@ -26802,7 +27905,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.DirectRenderer.PartialSwap.TotalDamage" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-13"> <owner>vasilyt@chromium.org</owner> <owner>backer@chromium.org</owner> <summary> @@ -26829,7 +27932,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.DirectRenderer.VK.DrawFrameUs" - units="microseconds" expires_after="2020-09-29"> + units="microseconds" expires_after="2020-11-29"> <owner>penghuang@chromium.org</owner> <owner>backer@chromium.org</owner> <summary> @@ -27299,14 +28402,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.Renderer.HitTestTimeToFindClosestLayer" - units="microseconds" expires_after="M85"> + units="microseconds" expires_after="2020-12-01"> <owner>yigu@chromium.org</owner> + <owner>animations-dev@chromium.org</owner> <summary> Time spent finding the closest matching layer to a given point whenever we do hit testing on LayerTreeImpl (in a renderer process). - Team: animations-dev@chromium.org. - Warning: This metric may include reports from clients with low-resolution clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports will cause this metric to have an abnormal distribution. When considering @@ -27328,8 +28430,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Compositing.Renderer.LayersUpdateTime" units="microseconds" - expires_after="M82"> - <owner>animations-dev@chromium.org</owner> + expires_after="2021-06-01"> + <owner>schenney@chromium.org</owner> + <owner>paint-dev@chromium.org</owner> <summary> Time spent updating layers, in microseconds. Recorded when layers are updated (in a renderer process). @@ -27676,6 +28779,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Compositing.SurfaceAggregator.FrameContainsVideo" + enum="TypeOfVideoInFrame" expires_after="2020-11-25"> + <owner>vikassoni@chromium.org</owner> + <owner>khushalsagar@chromium.org</owner> + <summary> + Whether an aggregated frame contains video or not. This metric will be used + to analyze the percentage of displayed frame with video. This metric will be + extended in future to specify whether the video is inline or fullscreen. + </summary> +</histogram> + <histogram name="Compositing.SurfaceAggregator.LatestInFlightSurface.ManhattanDistanceToPrimary" units="surfaces" expires_after="M80"> @@ -27871,6 +28985,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="CompositorLatency.Diagnostic.PresentationTimeDeltaFromDeadline" + units="ms" expires_after="M87"> + <owner>behdadb@chromium.org</owner> + <owner>sadrul@chromium.org</owner> + <summary> + For the compositor pipeline, measures how far the presentation time of a + compositor frame is from the frame deadline (i.e. vsync time). + </summary> +</histogram> + <histogram base="true" name="CompositorLatency.DroppedFrame" units="microseconds" expires_after="2021-01-31"> <owner>sadrul@chromium.org</owner> @@ -28374,13 +29499,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSettings.DefaultAutoplaySetting" enum="ContentSetting" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>mlamouri@chromium.org</owner> <summary>The default autoplay setting at profile open.</summary> </histogram> <histogram name="ContentSettings.DefaultCookiesSetting" enum="ContentSetting" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>toyoshim@chromium.org</owner> <summary>The default cookies setting at profile open.</summary> </histogram> @@ -28464,7 +29589,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSettings.DefaultNotificationsSetting" - enum="ContentSetting" expires_after="2020-09-06"> + enum="ContentSetting" expires_after="2020-12-06"> <owner>toyoshim@chromium.org</owner> <summary>The default notification setting at profile open.</summary> </histogram> @@ -28893,7 +30018,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSettings.Popups.StrongBlockerActions" - enum="StrongPopupBlockerAction" expires_after="2020-10-04"> + enum="StrongPopupBlockerAction" expires_after="2020-12-06"> <owner>csharrison@chromium.org</owner> <summary> Counts of various events related to the strong popup blocker (aka abusive @@ -29017,7 +30142,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.DisplayStatusOnOpen" - enum="ContentSuggestionsDisplayStatus" expires_after="2020-10-01"> + enum="ContentSuggestionsDisplayStatus" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29052,7 +30177,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.FetchPendingSpinner.Shown" - enum="FeedSpinnerType" expires_after="2020-10-01"> + enum="FeedSpinnerType" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29135,7 +30260,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.InterestHeader.NotInterestedInSource" - units="index" expires_after="2020-10-01"> + units="index" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29146,7 +30271,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.InterestHeader.NotInterestedInTopic" - units="index" expires_after="2020-10-01"> + units="index" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29157,7 +30282,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.InternalError" - enum="FeedInternalError" expires_after="2020-10-01"> + enum="FeedInternalError" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29266,7 +30391,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.Network.Duration" units="ms" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29277,7 +30402,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.Network.RequestSizeKB.Compressed" - units="KB" expires_after="2020-10-01"> + units="KB" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29288,7 +30413,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.Network.RequestStatusCode" - enum="CombinedHttpResponseAndNetErrorCode" expires_after="2020-10-01"> + enum="CombinedHttpResponseAndNetErrorCode" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29321,7 +30446,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.Network.TokenDuration" units="ms" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29331,7 +30456,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.Network.TokenFetchStatus" - enum="GoogleServiceAuthError" expires_after="2020-10-01"> + enum="GoogleServiceAuthError" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29408,7 +30533,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.PagePopulatingTime" units="ms" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29467,7 +30592,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.Scheduler.HasContent" - enum="FeedHostMismatch" expires_after="2020-10-01"> + enum="FeedHostMismatch" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29496,7 +30621,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.Scheduler.RefreshTrigger" - enum="RefreshTrigger" expires_after="2020-10-01"> + enum="RefreshTrigger" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29508,7 +30633,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.Scheduler.RequestBehavior" - enum="RequestBehavior" expires_after="2020-10-01"> + enum="RequestBehavior" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29520,7 +30645,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.Scheduler.ShouldRefreshResult" - enum="FeedSchedulerRefreshStatus" expires_after="2020-10-01"> + enum="FeedSchedulerRefreshStatus" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29583,6 +30708,21 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="ContentSuggestions.Feed.TimeSpentInFeed" units="ms" + expires_after="2021-05-01"> + <owner>carlosk@chromium.org</owner> + <owner>harringtond@chromium.org</owner> + <owner>feed@chromium.org</owner> + <summary> + How long a user used the Feed in one day (local time midnight to midnight). + Reported at most once per day. Usage reported is typically from the previous + day, but could be from several days ago if the user is not active. Time is + calculated starting with the first Feed interaction, until the Feed surface + is closed, or the user is idle (no scrolling or other actions) for 30 + seconds. + </summary> +</histogram> + <histogram name="ContentSuggestions.Feed.TokenCompleted.ContentCount" units="count" expires_after="2020-02-25"> <obsolete> @@ -29620,7 +30760,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.TokenFailedToCompleted" units="count" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29642,6 +30782,28 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="ContentSuggestions.Feed.UploadActionsBatchStatus" + enum="FeedUploadActionsBatchStatus" expires_after="2020-12-01"> + <owner>iwells@chromium.org</owner> + <owner>harringtond@chromium.org</owner> + <owner>feed@chromium.org</owner> + <summary> + Result of attempting to upload a batch of one or more actions. + </summary> +</histogram> + +<histogram name="ContentSuggestions.Feed.UploadActionsStatus" + enum="FeedUploadActionsStatus" expires_after="2020-12-01"> + <owner>iwells@chromium.org</owner> + <owner>harringtond@chromium.org</owner> + <owner>feed@chromium.org</owner> + <summary> + Result of an UploadActionsTask run in which zero or more batches of user + actions are uploaded. See ContentSuggestions.Feed.UploadActionsBatchStatus + for the status of a particular batch upload. + </summary> +</histogram> + <histogram name="ContentSuggestions.Feed.UserActions" enum="FeedUserActionType" expires_after="2021-05-01"> <owner>harringtond@chromium.org</owner> @@ -29750,7 +30912,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.VisualElement.Viewed" units="index" - expires_after="2020-10-01"> + expires_after="2020-12-13"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29804,7 +30966,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContentSuggestions.Feed.ZeroStateShown.Reason" - enum="FeedZeroStateShowReason" expires_after="2020-10-01"> + enum="FeedZeroStateShowReason" expires_after="2020-12-06"> <owner>carlosk@chromium.org</owner> <owner>harringtond@chromium.org</owner> <owner>feed@chromium.org</owner> @@ -29999,7 +31161,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContextMenu.Shown" enum="BooleanPresent" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>mpearson@chromium.org</owner> <summary> Recorded when a context menu is shown, sliced by whether a web contents was @@ -30025,7 +31187,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContextMenu.TimeToTakeAction.Abandoned" units="ms" - expires_after="2020-09-20"> + expires_after="2020-11-22"> <owner>twellington@chromium.org</owner> <owner>chrome-android-app@chromium.org</owner> <summary> @@ -30038,7 +31200,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContextMenu.TimeToTakeAction.SelectedItem" units="ms" - expires_after="2020-09-20"> + expires_after="2020-11-22"> <owner>twellington@chromium.org</owner> <owner>chrome-android-app@chromium.org</owner> <summary> @@ -30063,7 +31225,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ContextMenu.URLClicked" enum="BooleanClicked" - expires_after="2020-06-30"> + expires_after="2021-06-30"> <owner>twellington@chromium.org</owner> <owner>chrome-android-app@chromium.org</owner> <summary>Logged when the URL is clicked. Android only.</summary> @@ -30366,7 +31528,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cookie.CommitProblem" enum="CookieCommitProblem" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>morlovich@chromium.org</owner> <summary> Recorded when a problem occurs trying to commit changes to the cookie store @@ -30406,7 +31568,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cookie.CookiePrefix" enum="CookiePrefix" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>estark@chromium.org</owner> <summary> Number of times a cookie was set with a name prefixed by @@ -30441,7 +31603,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cookie.CookieSourceScheme" enum="CookieSourceScheme" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>estark@chromium.org</owner> <summary> For each cookie added to the store, record whether its source URL has a @@ -30450,7 +31612,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cookie.CorruptMetaTable" units="units" - expires_after="2020-09-09"> + expires_after="2021-06-25"> + <owner>chlily@chromium.org</owner> <owner>tnagel@chromium.org</owner> <summary> Records the detection of a corrupted meta table. See http://crbug.com/111376 @@ -30459,7 +31622,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cookie.CorruptMetaTableRecoveryFailed" units="units" - expires_after="M85"> + expires_after="2021-06-25"> + <owner>chlily@chromium.org</owner> <owner>morlovich@chromium.org</owner> <summary> Records a failure to recover a corrupted meta table. See @@ -30467,7 +31631,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Cookie.Count" units="units" expires_after="2020-09-13"> +<histogram name="Cookie.Count" units="units" expires_after="2020-11-15"> <owner>battre@chromium.org</owner> <summary> Number of cookies in the store (recorded every 10 minutes of active browsing @@ -30603,6 +31767,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Cookie.LaxAllowUnsafeCookieIncludedAge" units="ms" expires_after="M85"> + <obsolete> + Removed June 2020. No longer needed because results are expected to be + stable. + </obsolete> <owner>chlily@chromium.org</owner> <owner>morlovich@chromium.org</owner> <summary> @@ -30615,7 +31783,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cookie.LoadProblem" enum="CookieLoadProblem" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>morlovich@chromium.org</owner> <summary> Recorded when a problem is recorded when loading the persistent cookie @@ -30650,6 +31818,30 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Cookie.NumDomainPurgedKeys" units="keys" + expires_after="2021-05-29"> + <owner>chlily@chromium.org</owner> + <owner>kaustubhag@chromium.org</owner> + <summary> + Records the number of distinct keys (eTLD+1's) that have experienced + eviction of a non-expired cookie due to reaching the max number of cookies + per key. This is not persisted across network service restarts, so it + represents the number of such eTLD+1's that have relatively recently added + new cookies that went over the limit (since the last browser restart, crash, + etc). Recorded every 10 minutes of active browsing time. + </summary> +</histogram> + +<histogram name="Cookie.NumKeys" units="keys" expires_after="2021-05-29"> + <owner>chlily@chromium.org</owner> + <owner>kaustubhag@chromium.org</owner> + <summary> + Records the number of distinct keys (eTLD+1's) that have any stored cookies + (which may or may not be expired). Recorded every 10 minutes of active + browsing time. + </summary> +</histogram> + <histogram name="Cookie.ParsedCookieStatus" enum="ParsedCookieStatus" expires_after="2013-09-21"> <obsolete> @@ -30809,6 +32001,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Cookie.SameSiteUnspecifiedTooOldToAllowUnsafe" units="ms" expires_after="M85"> + <obsolete> + Removed June 2020. No longer needed because results are expected to be + stable. + </obsolete> <owner>chlily@chromium.org</owner> <owner>morlovich@chromium.org</owner> <summary> @@ -31069,7 +32265,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Cookie.Type" enum="CookieType" expires_after="2020-10-04"> +<histogram name="Cookie.Type" enum="CookieType" expires_after="2020-12-06"> <owner>mkwst@chromium.org</owner> <summary>For each cookie added to the store, record it's type(s).</summary> </histogram> @@ -31136,6 +32332,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Cras.BusyloopLength" units="units" expires_after="2021-06-16"> + <owner>yuhsuan@chromium.org</owner> + <owner>chromeos-audio@google.com</owner> + <summary> + When each busyloop stops, records the length of it. The lengths exceeding + 1000 are recorded as 1000. + </summary> +</histogram> + <histogram name="Cras.DeviceTypeInput" enum="CrasDeviceType" expires_after="2020-12-01"> <owner>yuhsuan@chromium.org</owner> @@ -31179,6 +32384,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Cras.HfpScoConnectionError" enum="CrasHfpScoError" + expires_after="2020-12-01"> + <owner>enshuo@chromium.org</owner> + <owner>chromeos-audio@google.com</owner> + <summary> + For each SCO connection record the returned event. The event indicates if + the setup of the connection is successful or not. + </summary> +</histogram> + <histogram name="Cras.HfpWidebandSpeechPacketLoss" units="units" expires_after="2020-12-01"> <owner>enshuo@chromium.org</owner> @@ -32017,6 +33232,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="CrashReport.DumpWithoutCrashingResult.FromInitSharedMemoryIfNeeded" enum="BooleanSuccess" expires_after="M86"> + <obsolete> + 06/2020: Removed in favor of + CrashReport.DumpWithoutCrashingResult.FromInitSharedMemoryIfNeeded2. + </obsolete> + <owner>iby@chromium.org</owner> + <owner>cros-telemetry@google.com</owner> + <summary> + Did the attempt to dump without crashing in + ProducerClient::InitSharedMemoryIfNeeded() succeed or fail? Investigating + why Breakpad never seems to generate InitSharedMemoryIfNeeded reports on + some ChromeOS devices. + </summary> +</histogram> + +<histogram + name="CrashReport.DumpWithoutCrashingResult.FromInitSharedMemoryIfNeeded2" + enum="DumpWithoutCrashingResult" expires_after="M86"> <owner>iby@chromium.org</owner> <owner>cros-telemetry@google.com</owner> <summary> @@ -32127,7 +33359,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="CrosDisksClient.FormatTime" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>austinct@chromium.org</owner> <summary> Time taken for the Chrome OS cros-disks daemon to perform a format @@ -32145,7 +33377,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="CrosDisksClient.MountErrorMountType" - enum="CrosDisksMountTypeError" expires_after="2020-10-11"> + enum="CrosDisksMountTypeError" expires_after="2020-12-13"> <owner>amistry@chromium.org</owner> <summary> The {mount type}x{mount error code} received from the Chrome OS cros-disks @@ -32423,6 +33655,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Crostini.DiskType" enum="CrostiniDiskImageType" + expires_after="2021-03-31"> + <owner>clumptini@google.com</owner> + <owner>davidmunro@google.com</owner> + <summary> + Records the type (e.g. sparse qcow2) of the user's disk. Emitted often, you + probably want to look at the unique user numbers of this metric. Certain + disk types are vulnerable to disk corruption in certain scenarios so this + metric tracks our progress in moving people off them and tells us if we need + to do additional work to migrate users off. + </summary> +</histogram> + <histogram name="Crostini.FilesystemCorruption" enum="CorruptionStates" expires_after="2021-01-31"> <owner>clumptini@google.com</owner> @@ -32522,6 +33767,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Crostini.Stability" enum="CrostiniFailureClasses" + expires_after="2021-06-09"> + <owner>clumptini@google.com</owner> + <owner>tbuckley@chromium.org</owner> + <summary> + A record of post-startup failures in crostini components. Buckets are + recorded to whenever we become aware that the corresponding component has + failed. + </summary> +</histogram> + <histogram name="Crostini.TerminalSettingsChanged" enum="CrostiniTerminalSetting" expires_after="2021-03-31"> <owner>joelhockey@chromium.org</owner> @@ -32638,6 +33894,27 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="CryptAuth.ClientAppMetadata.IsManufacturerEmpty" + enum="BooleanEmpty" expires_after="2021-02-02"> + <owner>nohle@chromium.org</owner> + <owner>better-together-dev@google.com</owner> + <summary> + Indicates whether or not the device manufacturer name returned in the + hardware info is empty. Recored during the construction of a + ClientAppMetadata proto. + </summary> +</histogram> + +<histogram name="CryptAuth.ClientAppMetadata.IsModelEmpty" enum="BooleanEmpty" + expires_after="2021-02-02"> + <owner>nohle@chromium.org</owner> + <owner>better-together-dev@google.com</owner> + <summary> + Indicates whether or not the device model name returned in the hardware info + is empty. Recored during the construction of a ClientAppMetadata proto. + </summary> +</histogram> + <histogram name="CryptAuth.ClientAppMetadataInstanceIdTokenFetch.Result" enum="InstanceIDResult" expires_after="2021-02-02"> <owner>khorimoto@chromium.org</owner> @@ -33703,7 +34980,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cryptohome.AsyncDBusRequest" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>zuan@chromium.org</owner> <owner>cros-hwsec+uma@chromium.org</owner> <summary> @@ -33893,6 +35170,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Cryptohome errors.</summary> </histogram> +<histogram name="Cryptohome.EvkkEncryptionType" enum="EvkkEncryptionType" + expires_after="2021-06-01"> + <owner>enlightened@chromium.org</owner> + <owner>tnagel@chromium.org</owner> + <summary> + Indicates whether Encrypted Vault Keyset Key (EVKK) is TPM wrapped. This is + reported when the Derive function inside scrypt auth block or TPM auth block + is called, which happends during cryptohome mount phase. + </summary> +</histogram> + <histogram name="Cryptohome.FreedGCacheDiskSpaceInMb" units="MB" expires_after="2018-05-01"> <obsolete> @@ -33954,7 +35242,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cryptohome.HomedirEncryptionType" enum="HomedirEncryptionType" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>dspaid@chromium.org</owner> <summary> The encryption type used for a user's cryptohome directory. This is logged @@ -33964,6 +35252,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Cryptohome.InstallAttributesUsage" enum="InstallAttributesUsageEvent" expires_after="2020-07-13"> + <obsolete> + Retired in M81. + </obsolete> <owner>vsavu@google.com</owner> <owner>igorcov@chromium.org</owner> <summary> @@ -33974,6 +35265,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Cryptohome.InstallAttributesValidation" enum="InstallAttributesValidationEvent" expires_after="2020-07-13"> + <obsolete> + Retired in M81. + </obsolete> <owner>vsavu@google.com</owner> <owner>igorcov@chromium.org</owner> <summary> @@ -34029,7 +35323,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cryptohome.MigrationUI.MigrationResult" - enum="MigrationUIMigrationResult" expires_after="2020-09-13"> + enum="MigrationUIMigrationResult" expires_after="2020-11-15"> <owner>fukino@chromium.org</owner> <summary> The result of encryption migration from eCryptfs to Ext4 dircrypto. The @@ -34111,6 +35405,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Cryptohome.TimeSessionUnlock" units="ms" + expires_after="2020-12-01"> + <owner>kerrnel@chromium.org</owner> + <owner>mnissler@chromium.org</owner> + <summary> + The amount of time (ms) for Chrome OS cryptohome daemon to verify the user's + password during an unlock operation. + </summary> +</histogram> + <histogram name="Cryptohome.TimeToCompleteDircryptoMigration" units="ms" expires_after="M81"> <owner>dspaid@chromium.org</owner> @@ -34134,7 +35438,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cryptohome.TimeToInitPkcs11" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>apronin@chromium.org</owner> <owner>cros-hwsec+uma@chromium.org</owner> <summary> @@ -34156,6 +35460,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Cryptohome.TimeToMountEx" units="ms" + expires_after="2021-02-01"> + <owner>jorgelo@chromium.org</owner> + <owner>cros-hwsec+uma@chromium.org</owner> + <summary> + The amount of time for Chrome OS cryptohome to mount the encrypted home + directory. + </summary> +</histogram> + <histogram name="Cryptohome.TimeToMountGuestAsync" units="ms" expires_after="2021-01-01"> <owner>apronin@chromium.org</owner> @@ -34166,8 +35480,21 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Cryptohome.TimeToMountGuestEx" units="ms" + expires_after="2021-02-01"> + <owner>jorgelo@chromium.org</owner> + <owner>cros-hwsec+uma@chromium.org</owner> + <summary> + The amount of time for Chrome OS cryptohome to mount the encrypted guest + home directory. + </summary> +</histogram> + <histogram name="Cryptohome.TimeToMountGuestSync" units="ms" expires_after="M85"> + <obsolete> + Removed 06/2020 as it is not used since crrev.com/c/1183895 (8/2018). + </obsolete> <owner>apronin@chromium.org</owner> <owner>cros-hwsec+uma@chromium.org</owner> <summary> @@ -34177,6 +35504,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cryptohome.TimeToMountSync" units="ms" expires_after="M85"> + <obsolete> + Removed 06/2020 as it hasn't been reported since around crrev.com/185598 + (~2014) and has been completely removed in crrev.com/c/1183895 (6/2020). + </obsolete> <owner>apronin@chromium.org</owner> <owner>cros-hwsec+uma@chromium.org</owner> <summary> @@ -34185,6 +35516,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Cryptohome.TimeToPerformEphemeralMount" units="ms" + expires_after="2021-02-01"> + <owner>jorgelo@chromium.org</owner> + <owner>cros-hwsec+uma@chromium.org</owner> + <summary> + The amount of time cryptohome spends actively performing mounts when + creating an ephemeral user data directory. Does not include any process or + async dispatch overhead. + </summary> +</histogram> + <histogram name="Cryptohome.TimeToPerformOOPMountCleanup" units="ms" expires_after="2020-12-01"> <owner>jorgelo@chromium.org</owner> @@ -34217,7 +35559,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Cryptohome.TpmResults" enum="CryptohomeTpmResults" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>afakhry@chromium.org</owner> <summary> The errors resulting from interacting with the Trusted Platform Module (TPM) @@ -34302,7 +35644,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="CustomTabs.DetachedResourceRequest.Duration" - units="ms" expires_after="M84"> + units="ms" expires_after="M87"> <owner>lizeb@chromium.org</owner> <owner>cct-team@google.com</owner> <summary> @@ -34313,7 +35655,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="CustomTabs.DetachedResourceRequest.FinalStatus" - enum="NetErrorCodes" expires_after="M84"> + enum="NetErrorCodes" expires_after="M87"> <owner>lizeb@chromium.org</owner> <owner>cct-team@google.com</owner> <summary> @@ -34325,7 +35667,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="CustomTabs.DetachedResourceRequest.RedirectsCount" - units="redirects" expires_after="M84"> + units="redirects" expires_after="M87"> <owner>lizeb@chromium.org</owner> <owner>cct-team@google.com</owner> <summary> @@ -34641,7 +35983,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="CustomTabs.SpareWebContents.Status2" - enum="SpareWebContentsStatus2" expires_after="2020-10-18"> + enum="SpareWebContentsStatus2" expires_after="2020-12-20"> <owner>lizeb@chromium.org</owner> <owner>mthiesse@chromium.org</owner> <summary> @@ -34666,7 +36008,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="CustomTabs.SpeculationStatusOnStart" - enum="CustomTabsSpeculationStatusOnStart" expires_after="2020-09-27"> + enum="CustomTabsSpeculationStatusOnStart" expires_after="2020-12-13"> <owner>lizeb@chromium.org</owner> <summary> Recorded only for Android. How a speculation was started or why it was @@ -34726,6 +36068,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="DataPack.Load" enum="DataPackLoadErrors" expires_after="M87"> + <owner>grt@chromium.org</owner> + <owner>sky@chromium.org</owner> + <summary>Errors when trying to load DataPack files.</summary> +</histogram> + <histogram name="DataReductionProxy.AutoLoFiAccuracy" enum="DataReductionProxyAutoLoFiAccuracy" expires_after="2016-04-19"> <obsolete> @@ -37261,6 +38609,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="DevTools.DualScreenDeviceEmulated" + enum="DevToolsDualScreenDeviceEmulated" expires_after="M87"> + <owner>yangguo@chromium.org</owner> + <owner>soxia@microsoft.com</owner> + <owner>leo.lee@microsoft.com</owner> + <summary> + Records the usage of dual screen device emulation: a dual screen or fold + device is selected for emulation; the span button is hit; or the platform + support of dual screen is utilized. + </summary> +</histogram> + <histogram name="DevTools.InspectElement" units="ms" expires_after="M85"> <owner>alph@chromium.org</owner> <owner>yangguo@chromium.org</owner> @@ -37280,10 +38640,22 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="DevTools.KeybindSetSettingChanged" enum="DevToolsKeybindSets" + expires_after="2020-10-31"> + <owner>yangguo@chromium.org</owner> + <owner>jalyn@microsoft.com</owner> + <owner>leo.lee@microsoft.com</owner> + <summary> + Recorded when the user changes which keyboard shortcut presets they are + using in the DevTools. + </summary> +</histogram> + <histogram name="DevTools.KeyboardShortcutFired" enum="DevToolsKeyboardShortcutAction" expires_after="2020-10-31"> + <owner>yangguo@microsoft.com</owner> <owner>jalyn@microsoft.com</owner> - <owner>edgedevtoolseng@microsoft.com</owner> + <owner>leo.lee@microsoft.com</owner> <summary> Recorded when a DevTools keyboard shortcut has been processed and successfully executed its action. @@ -40734,7 +42106,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="DNS.HostCache.RestoreSize" units="entries" expires_after="M85"> +<histogram name="DNS.HostCache.RestoreSize" units="entries" expires_after="M84"> + <obsolete> + Removed 2020-06 + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -40743,7 +42118,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="DNS.HostCache.RestoreSuccess" enum="BooleanSuccess" - expires_after="M85"> + expires_after="M84"> + <obsolete> + Removed 2020-06 + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -41326,6 +42704,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="DNS.StaleHostResolver.NetworkEarly" units="ms" expires_after="M85"> + <obsolete> + Removed 2020-06 + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -41337,6 +42718,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="DNS.StaleHostResolver.NetworkLate" units="ms" expires_after="M85"> + <obsolete> + Removed 2020-06 + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -41348,6 +42732,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="DNS.StaleHostResolver.RequestOutcome" enum="DNS.StaleHostResolverRequestOutcome" expires_after="M85"> + <obsolete> + Removed 2020-06 + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -41358,6 +42745,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="DNS.StaleHostResolver.RestoreSizeOnCacheMiss" units="units" expires_after="M85"> + <obsolete> + Removed 2020-06 + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -41368,6 +42758,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="DNS.StaleHostResolver.SizeOnCacheMiss" units="units" expires_after="M85"> + <obsolete> + Removed 2020-06 + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -41378,6 +42771,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="DNS.StaleHostResolver.StaleAddressListDelta" enum="DNS.AddressListDeltaType" expires_after="M85"> + <obsolete> + Removed 2020-06 + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -41457,10 +42853,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="DnsProbe.ErrorPageUpdateStatus" enum="DnsProbe.ProbeStatus" - expires_after="M85"> - <owner>pauljensen@chromium.org</owner> - <owner>mef@chromium.org</owner> - <summary>Status of DNS probe updates sent to a DNS error page.</summary> + expires_after="2021-06-04"> + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + Status of DNS diagnostic probe updates sent to a Chrome net error page. + </summary> </histogram> <histogram name="DnsProbe.Probe.Elapsed" units="ms" expires_after="2013-08-01"> @@ -41607,17 +43005,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Wall time between starting and finishing DNS probe.</summary> </histogram> -<histogram name="DnsProbe.ProbeDuration2" units="ms" expires_after="M78"> - <owner>pauljensen@chromium.org</owner> - <owner>mef@chromium.org</owner> - <summary>Time ticks between starting and finishing DNS probe.</summary> +<histogram name="DnsProbe.ProbeDuration2" units="ms" expires_after="2021-06-04"> + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + Time ticks between starting and finishing a DNS diagnostics probe. + </summary> </histogram> <histogram name="DnsProbe.ProbeResult" enum="DnsProbe.ProbeStatus" - expires_after="M85"> - <owner>pauljensen@chromium.org</owner> - <owner>mef@chromium.org</owner> - <summary>Result of DNS probes sent by the probe service.</summary> + expires_after="2021-06-04"> + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary>Result of DNS diagnostics probes sent by the probe service.</summary> </histogram> <histogram name="Document.BeforeUnloadDialog" enum="BeforeUnloadDialogResult" @@ -41769,7 +43169,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="DocumentScan.ScanResult" enum="BooleanSuccess" - expires_after="M85"> + expires_after="M90"> <owner>fletcherw@chromium.org</owner> <owner>bmgordon@chromium.org</owner> <summary> @@ -42662,6 +44062,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Downgrade.TakeSnapshot.ItemFailure" enum="SnapshotItemId" + expires_after="2020-12-31"> + <owner>grt@chromium.org</owner> + <owner>ydago@chromium.org</owner> + <summary> + Indicates the id of an item that failed to be copied when taking a user data + snapshot. + </summary> +</histogram> + <histogram name="Downgrade.TakeSnapshot.MoveExistingSnapshot.Result" enum="BooleanSuccess" expires_after="2020-12-31"> <owner>grt@chromium.org</owner> @@ -42862,6 +44272,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Download.CancelReason" enum="DownloadCancelReason" + expires_after="2021-04-01"> + <owner>xingliu@chromium.org</owner> + <owner>clank-downloads@google.com</owner> + <summary>Records why the download is canceled.</summary> +</histogram> + <histogram name="Download.ClearAllSize" units="units" expires_after="2017-01-05"> <obsolete> @@ -42922,7 +44339,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Download.ContentType.Audio" enum="DownloadAudioType" - expires_after="2020-08-30"> + expires_after="2020-12-13"> <owner>xingliu@chromium.org</owner> <summary>Types of audio files that are downloaded.</summary> </histogram> @@ -43281,6 +44698,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Download.FeedbackDialogEnabled" enum="BooleanEnabled" expires_after="M85"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>dtrainor@chromium.org</owner> <summary> Whether the user enables dangerous download feedback reporting after viewing @@ -43348,6 +44768,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Download.HistorySize" units="units" expires_after="M85"> + <obsolete> + Removed in 04/2020. + </obsolete> <owner>dtrainor@chromium.org</owner> <summary> The number of items in the History database, at the time a new download is @@ -43429,6 +44852,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Download.InterruptedAtEndError" enum="NetErrorCodes" expires_after="M85"> + <obsolete> + Checked on 06/2020 and no longer logged. + </obsolete> <owner>dtrainor@chromium.org</owner> <summary> Positive net error code that caused a download to be interrupted at the @@ -43467,6 +44893,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Download.InterruptedError" enum="NetErrorCodes" expires_after="M85"> + <obsolete> + Checked on 06/2020 and no longer logged. + </obsolete> <owner>dtrainor@chromium.org</owner> <summary> Positive net error code that caused a download to be interrupted. @@ -43551,7 +44980,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Download.IOSDownloadARModelState.USDZ" - enum="DownloadARModelState" expires_after="2020-09-27"> + enum="DownloadARModelState" expires_after="2020-11-29"> <owner>mahmadi@chromium.org</owner> <summary> Logged at different stages of downloading a USDZ MIME type AR model on iOS. @@ -43598,7 +45027,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Download.IOSDownloadFileResult" enum="DownloadFileResult" - expires_after="2020-07-26"> + expires_after="2021-07-26"> <owner>eugenebut@chromium.org</owner> <summary>Result when a user attempts to download a file on iOS.</summary> </histogram> @@ -43638,7 +45067,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Download.IOSDownloadMimeType" enum="DownloadMimeTypeResult" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>eugenebut@chromium.org</owner> <summary> MIME type of a download response. Logged when the download UI was offered by @@ -43681,6 +45110,37 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Download.Later.Events" enum="DownloadLaterEvent" + expires_after="2021-07-01"> + <owner>xingliu@chromium.org</owner> + <owner>clank-downloads@google.com</owner> + <summary> + Records events for download later feature in download core code. + </summary> +</histogram> + +<histogram base="true" name="Download.Later.UI.DialogChoice" + enum="DownloadLaterDialogChoice" expires_after="2021-07-01"> +<!-- Name completed by histogram_suffixes name="DownloadDialogSource" --> + + <owner>xingliu@chromium.org</owner> + <owner>clank-downloads@google.com</owner> + <summary> + The user selection in the download later dialog. Recorded when the user + starts a download, or clicking the change button on download infobar and + download home UI. + </summary> +</histogram> + +<histogram name="Download.Later.UI.Events" enum="DownloadLaterUiEvent" + expires_after="2021-07-01"> + <owner>xingliu@chromium.org</owner> + <owner>clank-downloads@google.com</owner> + <summary> + Records events for download later feature in download Android UI. + </summary> +</histogram> + <histogram name="Download.MainFrame.HasGesture" enum="Boolean" expires_after="2019-01-10"> <obsolete> @@ -43924,7 +45384,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Download.ParallelDownload.CreationEvent" - enum="ParallelDownloadCreationEvent" expires_after="2020-10-04"> + enum="ParallelDownloadCreationEvent" expires_after="2020-12-06"> <owner>xingliu@chromium.org</owner> <summary> When parallel downloading feature is enabled, a download may be created as @@ -44003,7 +45463,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Download.ParallelizableDownloadBandwidth" - units="bytes/second" expires_after="2020-10-11"> + units="bytes/second" expires_after="2020-12-13"> <owner>qinmin@chromium.org</owner> <summary> For parallelizable download, average disk bandwidth seen for different @@ -44185,6 +45645,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Download.Service.Clients.InflatedFullBrowser" enum="BooleanRequested" expires_after="2020-06-01"> + <obsolete> + Deprecated 05/2020. + </obsolete> <!-- Name completed by histogram_suffixes name="Download.Service.Client" --> @@ -44245,8 +45708,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Download.Service.Entry.Event" - enum="Download.Service.EntryEvent" expires_after="M85"> + enum="Download.Service.EntryEvent" expires_after="M88"> <owner>dtrainor@chromium.org</owner> + <owner>xingliu@chromium.org</owner> <summary>An action the download service took on an active download.</summary> </histogram> @@ -44264,8 +45728,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Download.Service.Entry.RetryCount" units="attempts" - expires_after="M85"> + expires_after="M88"> <owner>dtrainor@chromium.org</owner> + <owner>xingliu@chromium.org</owner> <summary> Records how many attempts have taken place at the time of a retry for a download in the Download Service. This differs from @@ -44350,7 +45815,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Download.Service.Files.FreeDiskSpace" units="%" - expires_after="2020-09-06"> + expires_after="2020-11-15"> <owner>xingliu@chromium.org</owner> <summary> The percentage of free disk space to total disk space. Recorded during @@ -45343,7 +46808,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="DrmUtil.CreateDisplaySnapshot.HasEdidBlob" enum="Boolean" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>andrescj@chromium.org</owner> <owner>mcasas@chromium.org</owner> <owner>chromeos-gfx@google.com</owner> @@ -45830,8 +47295,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="EmbeddedWorkerInstance.ProcessCreated" enum="BooleanCreated" - expires_after="2020-06-30"> + expires_after="2020-06-23"> + <obsolete> + Removed as of June 2020. If you find it's useful and add the metric again, + please consider using an enum of StartSituation instead of a boolean. + </obsolete> <owner>falken@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary> Whether a new renderer process was created for the EmbeddedWorkerInstance or existing one was used. Only recorded for installed workers. @@ -46197,6 +47667,29 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>URL fetcher status for auto-enrollment requests.</summary> </histogram> +<histogram name="Enterprise.CBCMPolicyInvalidations" + enum="EnterprisePolicyInvalidations" expires_after="2021-06-16"> + <owner>anthonyvd@google.com</owner> + <owner>chrome-enterprise-team-core@google.com</owner> + <summary> + Events for counting CBCM policy invalidations received with and without + payloads. Invalidations indicate that a policy has been updated and should + be refreshed. Payloads provide context about the policy update, but may be + absent if dropped by the invalidation service. + </summary> +</histogram> + +<histogram name="Enterprise.CBCMPolicyRefresh" enum="EnterprisePolicyRefresh" + expires_after="2021-06-16"> + <owner>anthonyvd@google.com</owner> + <owner>chrome-enterprise-team-core@google.com</owner> + <summary> + Events measuring effectiveness of refreshing CBCM policy when invalidations + are received from a service. For each refresh, indicates whether the policy + changed, and whether the policy was invalidated at the time of the refresh. + </summary> +</histogram> + <histogram name="Enterprise.CloudExtensionRequestUpdated" enum="EnterpriseCloudExtensionRequestListUpdate" expires_after="2021-02-01"> <owner>zmin@chromium.org</owner> @@ -46464,7 +47957,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.DeviceSettings.MissingPolicyMitigated" - units="BooleanSuccess" expires_after="2020-08-01"> + units="BooleanSuccess" expires_after="2020-11-29"> <owner>poromov@chromium.org</owner> <owner>managed-devices@google.com</owner> <summary> @@ -46475,7 +47968,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.DeviceSettings.UpdatedStatus" - enum="DeviceSettingsStatus" expires_after="2020-08-01"> + enum="DeviceSettingsStatus" expires_after="2020-11-29"> <owner>poromov@chromium.org</owner> <owner>managed-devices@google.com</owner> <summary> @@ -46486,8 +47979,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.DMServerRequestSuccess" - enum="EnterpriseDMServerRequestSuccess" expires_after="2020-08-30"> + enum="EnterpriseDMServerRequestSuccess" expires_after="2020-11-29"> <owner>poromov@chromium.org</owner> + <owner>managed-devices@google.com</owner> <summary> Number of retries the client did to execute a DeviceManagementServer request. It's recorded after the request has been completed, either @@ -46561,8 +48055,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.Enrollment" enum="EnterpriseEnrollmentType" - expires_after="2020-10-04"> - <owner>mnissler@chromium.org</owner> + expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> Events related to device enrollment on new installs of Chrome OS devices. @@ -46570,8 +48064,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentAttestationBased" - enum="EnterpriseEnrollmentType" expires_after="M88"> - <owner>rsorokin@chromium.org</owner> + enum="EnterpriseEnrollmentType" expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> Events related to attestation-based enrollment (Zero-Touch) of Chrome OS @@ -46580,8 +48074,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentConfiguration" - enum="EnterpriseEnrollmentType" expires_after="M85"> + enum="EnterpriseEnrollmentType" expires_after="2021-01-01"> <owner>antrim@chromium.org</owner> + <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> Events related to Chrome OS enterprise enrollment automated by OOBE @@ -46590,8 +48085,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentForced" enum="EnterpriseEnrollmentType" - expires_after="M88"> - <owner>rsorokin@chromium.org</owner> + expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> Events related to forced re-enrollment (FRE) of Chrome OS devices. @@ -46599,8 +48094,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentForcedAttestationBased" - enum="EnterpriseEnrollmentType" expires_after="M88"> - <owner>rsorokin@chromium.org</owner> + enum="EnterpriseEnrollmentType" expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> Events related to attestation-based re-enrollment (Auto RE) of Chrome OS @@ -46609,7 +48104,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentForcedInitial" - enum="EnterpriseEnrollmentType" expires_after="M88"> + enum="EnterpriseEnrollmentType" expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>pmarko@chromium.org</owner> <owner>cros-oac@google.com</owner> <summary> @@ -46619,7 +48115,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentForcedInitialAttestationBased" - enum="EnterpriseEnrollmentType" expires_after="M88"> + enum="EnterpriseEnrollmentType" expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>pmarko@chromium.org</owner> <owner>cros-oac@google.com</owner> <summary> @@ -46629,7 +48126,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentForcedInitialManualFallback" - enum="EnterpriseEnrollmentType" expires_after="M88"> + enum="EnterpriseEnrollmentType" expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>pmarko@chromium.org</owner> <owner>cros-oac@google.com</owner> <summary> @@ -46639,8 +48137,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentForcedManualFallback" - enum="EnterpriseEnrollmentType" expires_after="M85"> - <owner>rsorokin@chromium.org</owner> + enum="EnterpriseEnrollmentType" expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> Events related to manual fallback from attestation-based re-enrollment (Auto @@ -46649,8 +48147,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentRecovery" enum="EnterpriseEnrollmentType" - expires_after="M88"> - <owner>rsorokin@chromium.org</owner> + expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> Events related to Chrome OS enterprise enrollment recovery. Note that this @@ -46660,8 +48158,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentTime.Cancel" units="ms" - expires_after="M88"> - <owner>rsorokin@chromium.org</owner> + expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> Elapsed time from *after* GAIA login until enrollment was cancelled. @@ -46669,16 +48167,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.EnrollmentTime.Failure" units="ms" - expires_after="M88"> - <owner>rsorokin@chromium.org</owner> + expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> + <owner>cros-oac@google.com</owner> <summary> Elapsed time from *after* GAIA login until enrollment failed. </summary> </histogram> <histogram name="Enterprise.EnrollmentTime.Success" units="ms" - expires_after="M88"> - <owner>rsorokin@chromium.org</owner> + expires_after="2021-01-01"> + <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> Elapsed time from *after* GAIA login until enrollment succeeded. @@ -46697,6 +48196,33 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Enterprise.FCMInvalidationService.CBCMPolicyInvalidations" + enum="EnterprisePolicyInvalidations" expires_after="2021-06-16"> + <owner>anthonyvd@google.com</owner> + <owner>chrome-enterprise-team-core@google.com</owner> + <summary> + Events for counting CBCM policy invalidations received with and without + payloads. Invalidations indicate that a policy has been updated and should + be refreshed. Payloads provide context about the policy update, but may be + absent if dropped by the invalidation service. Subset of + "Enterprise.CBCMPolicyInvalidations". Gets recorded only when + FCMInvalidationService is used as InvalidationService. + </summary> +</histogram> + +<histogram name="Enterprise.FCMInvalidationService.CBCMPolicyRefresh" + enum="EnterprisePolicyRefresh" expires_after="2021-06-16"> + <owner>anthonyvd@google.com</owner> + <owner>chrome-enterprise-team-core@google.com</owner> + <summary> + Events measuring effectiveness of refreshing CBCM policy when invalidations + are received from a service. For each refresh, indicates whether the policy + changed, and whether the policy was invalidated at the time of the refresh. + Subset of "Enterprise.CBCMPolicyRefresh". Gets recorded only when + FCMInvalidationService is used as InvalidationService. + </summary> +</histogram> + <histogram name="Enterprise.FCMInvalidationService.DeviceLocalAccountPolicyInvalidations2" enum="EnterprisePolicyInvalidations" expires_after="2021-03-01"> @@ -46887,6 +48413,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Enterprise.FirstRun.AppRestrictionLoadTime" units="ms" + expires_after="2021-03-01"> + <owner>wenyufu@chromium.org</owner> + <owner>twellington@chromium.org</owner> + <summary> + Records the time it takes to retrieve applicaton restrictions from the + system using an AsyncTask. Recording during first run experience on Android + only. + </summary> +</histogram> + <histogram name="Enterprise.HeartbeatSignalSuccess" enum="BooleanSuccess" expires_after="2020-08-01"> <owner>igorcov@chromium.org</owner> @@ -46927,7 +48464,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.InvalidDevicePolicyFilesStatus" - enum="InvalidDevicePolicyFilesStatus" expires_after="M83"> + enum="InvalidDevicePolicyFilesStatus" expires_after="2021-05-02"> <owner>emaxx@chromium.org</owner> <owner>igorcov@chromium.org</owner> <owner>vsavu@chromium.org</owner> @@ -46946,12 +48483,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.LockToSingleUserResult" - enum="LockToSingleUserResult" expires_after="M82"> + enum="LockToSingleUserResult" expires_after="M86"> <owner>emaxx@chromium.org</owner> <owner>igorcov@chromium.org</owner> <summary> Chrome OS only. The result of D-Bus call to lock device to single user. - Estimated that till version M82 we should get enough stats to understand if + Estimated that till version M86 we should get enough stats to understand if there are big problems with the D-Bus call. </summary> </histogram> @@ -47042,7 +48579,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.Policies" enum="EnterprisePolicies" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>mnissler@chromium.org</owner> <summary> A set of enterprise policy rules that are in use. This is recorded every 24 @@ -47165,20 +48702,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.PolicyUpdatePeriod.Device" units="days" - expires_after="M84"> - <owner>antrim@chromium.org</owner> + expires_after="M90"> + <owner>rbock@google.com</owner> + <owner>igorcov@chromium.org</owner> <summary>Time since last device policy fetch.</summary> </histogram> <histogram name="Enterprise.PolicyUpdatePeriod.MachineLevelUser" units="days" - expires_after="M84"> + expires_after="M88"> <owner>zmin@chromium.org</owner> + <owner>pastarmovj@chromium.org</owner> <summary>Time since last machine level user policy fetch.</summary> </histogram> <histogram name="Enterprise.PolicyUpdatePeriod.User" units="days" - expires_after="M77"> - <owner>antrim@chromium.org</owner> + expires_after="M90"> + <owner>rbock@google.com</owner> + <owner>igorcov@chromium.org</owner> <summary>Time since last user policy fetch.</summary> </histogram> @@ -47202,9 +48742,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.PublicSession.SessionLength" units="minutes" - expires_after="M82"> - <owner>xiyuan@chromium.org</owner> - <owner>sduraisamy@chromium.org</owner> + expires_after="2021-01-01"> + <owner>marcgrimme@chromium.org</owner> + <owner>managed-devices@google.com</owner> <summary> A public session starts when a user signs in using the policy configured public account. It stops when the user signs out. Session length is the @@ -47227,9 +48767,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.RegularUserSession.SessionLength" units="minutes" - expires_after="M77"> - <owner>xiyuan@chromium.org</owner> - <owner>sduraisamy@chromium.org</owner> + expires_after="2021-01-01"> + <owner>marcgrimme@chromium.org</owner> + <owner>managed-devices@google.com</owner> <summary> A regular user session starts when a user signs in using his/her user account. It stops when the user signs out. Session length is the duration @@ -47333,7 +48873,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.SystemLogUploadResult" - enum="EnterpriseSystemLogUploadResult" expires_after="2020-10-04"> + enum="EnterpriseSystemLogUploadResult" expires_after="2020-12-13"> <owner>poromov@chromium.org</owner> <summary>Result of a single attempt to upload system logs.</summary> </histogram> @@ -47443,8 +48983,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Enterprise.UploadJobSuccess" enum="EnterpriseUploadJobSuccess" - expires_after="M82"> - <owner>poromov@chromium.org</owner> + expires_after="M87"> + <owner>bmalcolm@chromium.org</owner> + <owner>managed-devices@google.com</owner> <summary> Number of retries the client did to execute an UploadJob. It's recorded after the request has been completed, either successfully after 0 or more @@ -47720,9 +49261,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="EnterpriseCheck.InDomain" enum="BooleanEnabled" - expires_after="M85"> - <owner>mnissler@chromium.org</owner> + expires_after="2021-05-31"> <owner>pastarmovj@chromium.org</owner> + <owner>rogerta@chromium.org</owner> <summary> Whether the machine is part of an AD domain. This check is performed once at start-up on Windows. @@ -47761,7 +49302,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="EnterpriseCheck.IsDomainJoined" enum="BooleanEnabled" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>mad@chromium.org</owner> <summary> Whether the machine is joined to an AD domain. This check is performed once @@ -47781,11 +49322,26 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="EnterpriseCheck.IsFullyManaged" enum="IsFullyManagedBoolean" expires_after="2020-12-01"> + <obsolete> + Removed M85, obsoleted by IsFullyManaged2 because recording frequency + changed from once per session to once per app start. Note that the summary + of this histogram incorrectly stated otherwise. + </obsolete> + <owner>twellington@google.com</owner> + <owner>tedchcoc@chromium.org</owner> + <summary> + On Android (OS version M+): Whether the device has a "device + owner" app installed. This check is performed once at start-up. + </summary> +</histogram> + +<histogram name="EnterpriseCheck.IsFullyManaged2" enum="IsFullyManagedBoolean" + expires_after="2020-12-01"> <owner>twellington@google.com</owner> <owner>tedchcoc@chromium.org</owner> <summary> - On Android (with version M and higher): Whether the device has a - "device owner" app installed. This check is performed once at + On Android (OS version Lollipop+): Whether the device has a "device + owner" app installed. This check is performed once on application start-up. </summary> </histogram> @@ -47811,13 +49367,30 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="EnterpriseCheck.IsManaged" enum="BooleanEnabled" expires_after="2020-12-01"> + <obsolete> + Removed M85, obsoleted by IsManaged2 because recording frequency changed on + Android from once per session to once per app start. + </obsolete> <owner>rogerta@chromium.org</owner> <owner>pastarmovj@chromium.org</owner> <summary> On Windows: Whether the machine is managed via MDM. On macOS: Whether Chrome - found a file of managed policies to follow. On Android (with version M and - higher): Whether the device has a profile owner app. This check is performed - once at start-up. Note that this data is bogus before M81 on the Mac. + found a file of managed policies to follow. On Android (up to M84: OS + version M+, M85+: OS version Lollipop+): Whether the device has a profile + owner app. This check is performed once at start-up. Note that this data is + bogus before M81 on the Mac. + </summary> +</histogram> + +<histogram name="EnterpriseCheck.IsManaged2" enum="BooleanEnabled" + expires_after="2020-12-01"> + <owner>rogerta@chromium.org</owner> + <owner>pastarmovj@chromium.org</owner> + <summary> + On Windows: Whether the machine is managed via MDM. On macOS: Whether Chrome + found a file of managed policies to follow. On Android (OS version + Lollipop+): Whether the device has a profile owner app. This check is + performed once on application start-up. </summary> </histogram> @@ -47915,8 +49488,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <owner>donnd@chromium.org</owner> <owner>jinsukkim@chromium.org</owner> <summary> - Records whether the user opened the Ephemeral Tab panel when it was shown. - Recorded when the UX is hidden. Implemented for Android. + Records whether the user fully opened the Ephemeral Tab panel when it was + shown. Recorded when the UX is hidden. Implemented for Android. + </summary> +</histogram> + +<histogram name="EphemeralTab.CtrPeek" enum="BooleanOpened" expires_after="M88"> + <owner>donnd@chromium.org</owner> + <owner>jinsukkim@chromium.org</owner> + <summary> + Records whether the user opened the Ephemeral Tab panel beyond peeking + state. Recorded when the UX is hidden. Implemented for Android. </summary> </histogram> @@ -47969,7 +49551,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.AggregatedLatency.Renderer2" units="microseconds" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tdresser@chromium.org</owner> <summary> Time between initiation of any input event and the renderer receiving and @@ -48058,14 +49640,20 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.CoalescedCount.Mouse" units="units" expires_after="M81"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> - Team: input-dev@chromium.org. + <owner>input-dev@chromium.org</owner> <summary>Number of Mouse events coalesced.</summary> </histogram> <histogram name="Event.CoalescedCount.Touch" units="units" expires_after="M85"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> - Team: input-dev@chromium.org. + <owner>input-dev@chromium.org</owner> <summary>Number of Touch events coalesced.</summary> </histogram> @@ -48255,6 +49843,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.DragDrop.AcceptDragUpdate" enum="Boolean" expires_after="M81"> + <obsolete> + Removed 06/2020 as being expired. + </obsolete> <owner>dcheng@chromium.org</owner> <owner>sadrul@chromium.org</owner> <summary> @@ -48268,6 +49859,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.DragDrop.Cancel" enum="DragDropEventSource" expires_after="M77"> + <obsolete> + Removed 06/2020 as being expired. + </obsolete> <owner>nzolghadr@chromium.org</owner> <summary> Counts the number of times the user cancelled a drag and drop operation. @@ -48276,6 +49870,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.DragDrop.Drop" enum="DragDropEventSource" expires_after="M77"> + <obsolete> + Removed 06/2020 as being expired. + </obsolete> <owner>nzolghadr@chromium.org</owner> <summary> Counts the number of times the user completed a drag and drop operation. @@ -48284,6 +49881,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.DragDrop.ExternalOriginDrop" units="units" expires_after="M81"> + <obsolete> + Removed 06/2020 as being expired. + </obsolete> <owner>nzolghadr@chromium.org</owner> <summary> Counts the number of times a drag and drop operation originating outside of @@ -48293,6 +49893,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.DragDrop.Start" enum="DragDropEventSource" expires_after="2020-02-23"> + <obsolete> + Removed 06/2020 as being expired. + </obsolete> <owner>nzolghadr@chromium.org</owner> <summary> Counts the number of times the user started a drag and drop operation. @@ -48300,7 +49903,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.FractionOfTimeWithoutUserInput" units="%" - expires_after="M77"> + expires_after="2021-06-16"> <owner>tdresser@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> <summary> @@ -48583,6 +50186,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.BlockingTime.KeyPressDefaultAllowed" units="ms" expires_after="2020-04-19"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <owner>input-dev@chromium.org</owner> <summary> @@ -48594,6 +50200,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.BlockingTime.KeyPressDefaultPrevented" units="ms" expires_after="M77"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <owner>input-dev@chromium.org</owner> <summary> @@ -48604,6 +50213,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.BlockingTime.TouchEndDefaultAllowed" units="ms" expires_after="2020-03-29"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between the renderer main thread receiving a touchend event and acking @@ -48615,6 +50227,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.BlockingTime.TouchEndDefaultPrevented" units="ms" expires_after="2020-01-26"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between the renderer main thread receiving a touchend event and acking @@ -48626,6 +50241,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.BlockingTime.TouchMoveDefaultAllowed" units="ms" expires_after="2020-04-05"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between the renderer main thread receiving a touchmove event and acking @@ -48637,6 +50255,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.BlockingTime.TouchMoveDefaultPrevented" units="ms" expires_after="2020-11-08"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between the renderer main thread receiving a touchmove event and acking @@ -48648,6 +50269,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.BlockingTime.TouchStartDefaultAllowed" units="ms" expires_after="2020-11-08"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between the renderer main thread receiving a touchstart event and @@ -48659,6 +50283,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.BlockingTime.TouchStartDefaultPrevented" units="ms" expires_after="2020-10-18"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between the renderer main thread receiving a touchstart event and @@ -49280,7 +50907,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.EndToEnd.TouchpadPinch2" units="microseconds" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>input-dev@chromium.org</owner> <summary> Time between the OS receiving a touchpad pinch event and the resulting GPU @@ -49337,7 +50964,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.OS" units="microseconds" expires_after="2020-11-01"> <owner>tdresser@chromium.org</owner> - Team: input-dev@chromium.org. + <owner>input-dev@chromium.org</owner> <summary> Time between input event received by OS and sent to Chrome. @@ -49351,6 +50978,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.OS_NO_VALIDATION.NEGATIVE" units="ms" expires_after="2020-06-28"> + <obsolete> + This histogram never has negative values, so it was removed 06/2020. + </obsolete> <owner>sullivan@chromium.org</owner> <owner>input-dev@chromium.org</owner> <summary> @@ -49379,6 +51009,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.QueueingTime.KeyPressDefaultAllowed" units="ms" expires_after="2020-03-29"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <owner>input-dev@chromium.org</owner> <summary> @@ -49392,6 +51025,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.QueueingTime.KeyPressDefaultPrevented" units="ms" expires_after="M85"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between sending a keyboard event to the renderer main thread and when @@ -49404,6 +51040,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.QueueingTime.TouchEndDefaultAllowed" units="ms" expires_after="2020-03-29"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between sending a touchend event to the renderer main thread and when @@ -49416,6 +51055,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.QueueingTime.TouchEndDefaultPrevented" units="ms" expires_after="2020-02-02"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between sending a touchend event to the renderer main thread and when @@ -49428,6 +51070,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.QueueingTime.TouchMoveDefaultAllowed" units="ms" expires_after="2020-03-29"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between sending a touchmove event to the renderer main thread and when @@ -49440,6 +51085,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.QueueingTime.TouchMoveDefaultPrevented" units="ms" expires_after="2020-05-31"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between sending a touchmove event to the renderer main thread and when @@ -49452,6 +51100,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.QueueingTime.TouchStartDefaultAllowed" units="ms" expires_after="2020-11-08"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between sending a touchstart event to the renderer main thread and when @@ -49464,6 +51115,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.QueueingTime.TouchStartDefaultPrevented" units="ms" expires_after="2020-05-31"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> Time between sending a touchstart event to the renderer main thread and when @@ -49553,8 +51207,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.Scroll.Wheel.TimeToHandled2" - units="microseconds" expires_after="M81"> + units="microseconds" expires_after="2021-06-16"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between initial creation of a wheel event and the generated ScrollUpdate gesture event is handled on main/impl thread (specified by @@ -49594,9 +51249,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollBegin.Scrollbar.BrowserNotifiedToBeforeGpuSwap2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the display compositor receives the notification of the first ScrollUpdate gesture event in a given scroll gesture event sequence with @@ -49610,9 +51265,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.Scrollbar.GpuSwap2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between gpu starts to swap the first ScrollUpdate gesture event in a given scroll gesture event sequence with scrollbar source induced frame and @@ -49629,9 +51284,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.Scrollbar.HandledToRendererSwap2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the first ScrollUpdate gesture event in a given scroll gesture event sequence with scrollbar source, is handled on main/impl thread @@ -49649,9 +51304,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollBegin.Scrollbar.RendererSwapToBrowserNotified2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the renderer starts to swap a frame (generates compositor frame) induced by the first ScrollUpdate gesture event in a given scroll @@ -49665,9 +51320,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.Scrollbar.TimeToHandled2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between initial creation of a scrollbar event and the first generated ScrollUpdate gesture event in a given scroll gesture event sequence is @@ -49686,10 +51341,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollBegin.Scrollbar.TimeToScrollUpdateSwapBegin4" - units="microseconds" expires_after="M85"> + units="microseconds" expires_after="2020-12-01"> + <owner>dlibby@microsoft.com</owner> <owner>input-dev@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> - <owner>dlibby@microsoft.com</owner> <summary> Time between initial creation of an input event that resulted in a scrollbar scroll and the start of the frame swap on the GPU service caused by the @@ -49740,7 +51395,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.TopControlsMoved" enum="Boolean" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>sadrul@chromium.org</owner> <owner>chrome-gpu-metrics@google.com</owner> <summary> @@ -49765,7 +51420,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollBegin.Touch.BrowserNotifiedToBeforeGpuSwap2" - units="microseconds" expires_after="2020-10-04"> + units="microseconds" expires_after="2020-12-06"> <owner>tdresser@chromium.org</owner> <summary> Time between the browser receives the notification of the first ScrollUpdate @@ -49794,7 +51449,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.Touch.GpuSwap2" units="microseconds" - expires_after="2020-09-13"> + expires_after="2020-11-29"> <owner>tdresser@chromium.org</owner> <summary> Time between gpu starts to swap the first ScrollUpdate gesture event in a @@ -49812,10 +51467,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.Touch.HandledToRendererSwap2" - units="microseconds" expires_after="M81"> + units="microseconds" expires_after="2021-06-16"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> - Time between the first ScrollUpdate gesture event in a given scroll gesture + Time between the first ScrollBegin gesture event in a given scroll gesture event sequence with touch source, is handled on main/impl thread (specified by suffix) and before renderer starts to swap. @@ -49848,8 +51504,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollBegin.Touch.RendererSwapToBrowserNotified2" - units="microseconds" expires_after="M81"> + units="microseconds" expires_after="2021-06-16"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the renderer starts to swap a frame induced by the first ScrollUpdate gesture event in a given scroll gesture event sequence with @@ -49860,11 +51517,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.Touch.TimeToHandled2" - units="microseconds" expires_after="2020-04-19"> + units="microseconds" expires_after="2021-04-19"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between initial creation of a touch event and the first generated - ScrollUpdate gesture event in a given scroll gesture event sequence is + ScrollBegin gesture event in a given scroll gesture event sequence is handled on main/impl thread (specified by suffix). If no swap was induced by the ScrollUpdate gesture event, no recording is made. @@ -49926,7 +51584,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.Touch.TimeToScrollUpdateSwapBegin4" - units="microseconds" expires_after="M85"> + units="microseconds" expires_after="2021-06-16"> <owner>tdresser@chromium.org</owner> <owner>input-dev@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> @@ -49949,7 +51607,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollBegin.Wheel.BrowserNotifiedToBeforeGpuSwap2" - units="microseconds" expires_after="2020-09-27"> + units="microseconds" expires_after="2020-11-29"> <owner>tdresser@chromium.org</owner> <summary> Time between the browser receives the notification of the first ScrollUpdate @@ -49961,8 +51619,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.Wheel.GpuSwap2" units="microseconds" - expires_after="2020-08-16"> + expires_after="2021-06-16"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between gpu starts to swap the first ScrollUpdate gesture event in a given scroll gesture event sequence with wheel source induced frame and the @@ -49998,8 +51657,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollBegin.Wheel.RendererSwapToBrowserNotified2" - units="microseconds" expires_after="2020-07-13"> + units="microseconds" expires_after="2021-07-13"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the renderer starts to swap a frame induced by the first ScrollUpdate gesture event in a given scroll gesture event sequence with @@ -50076,7 +51736,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollBegin.Wheel.TimeToScrollUpdateSwapBegin4" - units="microseconds" expires_after="2020-10-18"> + units="microseconds" expires_after="2020-12-20"> <owner>tdresser@chromium.org</owner> <summary> Time between initial creation of a wheel event and the start of the frame @@ -50108,8 +51768,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollInertial.Touch.GpuSwap2" - units="microseconds" expires_after="M80"> + units="microseconds" expires_after="2021-06-16"> <owner>nzolghadr@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between gpu starts to swap a ScrollUpdate gesture event generated from a touchscreen fling induced frame and the swap finishes. @@ -50132,8 +51793,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollInertial.Touch.RendererSwapToBrowserNotified2" - units="microseconds" expires_after="M80"> + units="microseconds" expires_after="2021-06-16"> <owner>nzolghadr@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the renderer starts to swap a frame induced by a ScrollUpdate gesture event generated from a touchscreen fling, and browser receives the @@ -50193,7 +51855,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollInertial.Touch.TimeToScrollUpdateSwapBegin4" - units="microseconds" expires_after="2020-07-13"> + units="microseconds" expires_after="2020-11-22"> <owner>nozlghadr@chromium.org</owner> <summary> Time between initial creation of a ScrollUpdate gesture event generated from @@ -50264,9 +51926,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollUpdate.Scrollbar.BrowserNotifiedToBeforeGpuSwap2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the display compositor receives the notification of the first ScrollUpdate gesture event in a given scroll gesture event sequence with @@ -50280,9 +51942,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Scrollbar.GpuSwap2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between gpu starts to swap a ScrollUpdate gesture event with scrollbar source induced frame and the swap finishes. @@ -50298,9 +51960,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Scrollbar.HandledToRendererSwap2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the ScrollUpdate gesture event with scrollbar source, is handled on main/impl thread (specified by suffix) and before renderer starts @@ -50318,9 +51980,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollUpdate.Scrollbar.RendererSwapToBrowserNotified2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the renderer starts to swap a frame (generates compositor frame) induced by the first ScrollUpdate gesture event in a given scroll @@ -50334,9 +51996,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Scrollbar.TimeToHandled2" - units="microseconds" expires_after="M85"> - <owner>input-dev@chromium.org</owner> + units="microseconds" expires_after="2020-12-01"> <owner>dlibby@microsoft.com</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between initial creation of an input event that results in a scrollbar scroll and the generated ScrollUpdate gesture event is handled on main/impl @@ -50355,10 +52017,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollUpdate.Scrollbar.TimeToScrollUpdateSwapBegin4" - units="microseconds" expires_after="M85"> + units="microseconds" expires_after="2020-12-01"> + <owner>dlibby@microsoft.com</owner> <owner>input-dev@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> - <owner>dlibby@microsoft.com</owner> <summary> Time between initial creation of a scrollbar event and start of the frame swap on the GPU service caused by the generated ScrollUpdate gesture event. @@ -50393,7 +52055,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.TimeToScrollUpdateSwapBegin2" - units="microseconds" expires_after="2020-09-27"> + units="microseconds" expires_after="2020-11-29"> <owner>nzolghadr@chromium.org</owner> <summary> Time between initial creation of a wheel/touch event and start of the frame @@ -50417,7 +52079,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Touch.AverageLag" units="pixels" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>eirage@chromium.org</owner> <owner>nzolghadr@chromium.org</owner> <summary> @@ -50501,8 +52163,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Touch.GpuSwap2" - units="microseconds" expires_after="2020-04-05"> + units="microseconds" expires_after="2021-04-05"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between gpu starts to swap a ScrollUpdate gesture event with touch source induced frame and the swap finishes. @@ -50518,7 +52181,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Touch.HandledToRendererSwap2" - units="microseconds" expires_after="2020-10-04"> + units="microseconds" expires_after="2020-12-06"> <owner>tdresser@chromium.org</owner> <summary> Time between the ScrollUpdate gesture event with touch source, is handled on @@ -50553,8 +52216,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollUpdate.Touch.RendererSwapToBrowserNotified2" - units="microseconds" expires_after="2020-04-19"> + units="microseconds" expires_after="2021-04-19"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between the renderer starts to swap a frame induced by ScrollUpdate gesture event with touch source, and browser receives the swap notification. @@ -50585,7 +52249,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Touch.TimeToHandled2" - units="microseconds" expires_after="2020-10-04"> + units="microseconds" expires_after="2020-12-06"> <owner>tdresser@chromium.org</owner> <summary> Time between initial creation of a touch event and the generated @@ -50691,7 +52355,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollUpdate.Wheel.BrowserNotifiedToBeforeGpuSwap2" - units="microseconds" expires_after="2020-10-04"> + units="microseconds" expires_after="2020-12-06"> <owner>tdresser@chromium.org</owner> <summary> Time between the browser receives the notification of a ScrollUpdate gesture @@ -50702,8 +52366,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Wheel.GpuSwap2" - units="microseconds" expires_after="2020-02-16"> + units="microseconds" expires_after="2021-06-16"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Time between gpu starts to swap a ScrollUpdate gesture event with wheel source induced frame and the swap finishes. @@ -50737,8 +52402,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Event.Latency.ScrollUpdate.Wheel.RendererSwapToBrowserNotified2" - units="microseconds" expires_after="2020-07-13"> + units="microseconds" expires_after="2021-07-13"> <owner>tdresser@chromium.org</owner> + <owner>input@chromium.org</owner> <summary> Time between the renderer starts to swap a frame induced by ScrollUpdate gesture event with wheel source, and browser receives the swap notification. @@ -50769,7 +52435,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Wheel.TimeToHandled2" - units="microseconds" expires_after="2020-08-23"> + units="microseconds" expires_after="2020-11-15"> <owner>tdresser@chromium.org</owner> <summary> Time between initial creation of a wheel event and the generated @@ -50835,7 +52501,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Latency.ScrollUpdate.Wheel.TimeToScrollUpdateSwapBegin4" - units="microseconds" expires_after="2020-10-18"> + units="microseconds" expires_after="2020-12-20"> <owner>tdresser@chromium.org</owner> <summary> Time between initial creation of a wheel event and start of the frame swap @@ -51074,7 +52740,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.PassiveListeners" enum="EventResultType" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>dtapuska@chromium.org</owner> <summary> The result of handling of MouseWheel, TouchStart, TouchMove, TouchEnd events @@ -51378,8 +53044,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Touch.TimedOutOnDesktopSite" enum="BooleanTimedOut" - expires_after="2020-02-23"> + expires_after="2021-06-15"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> On non-mobile-optimized (desktop) sites, whether the ack response from the renderer for any event in a contiguous touch sequence exceeds the @@ -51390,8 +53057,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Event.Touch.TimedOutOnMobileSite" enum="BooleanTimedOut" - expires_after="2020-02-02"> + expires_after="2021-06-15"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> On mobile-optimized sites, whether the ack response from the renderer for any event in a contiguous touch sequence exceeds the mobile-specific timeout @@ -51990,7 +53658,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ExploreSites.MonthlyHostCount" units="hosts" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>dimich@chromium.org</owner> <summary> Number of unique hosts visited by the user during the last 30 days. Reported @@ -52023,7 +53691,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ExploreSites.RequestStatus" enum="ExploreSitesRequestStatus" - expires_after="2020-09-01"> + expires_after="2020-11-15"> <owner>dimich@chromium.org</owner> <owner>freedjm@chromium.org</owner> <summary> @@ -52048,7 +53716,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ExploreSites.SiteTilesClickIndex2" units="units" - expires_after="2020-09-20"> + expires_after="2020-12-06"> <owner>dewittj@chromium.org</owner> <owner>petewil@chromium.org</owner> <summary> @@ -52426,7 +54094,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ExtensionBlacklist.BlacklistInstalled" - enum="ExtensionLocation" expires_after="M78"> + enum="ExtensionLocation" expires_after="M86"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -52437,7 +54105,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ExtensionBlacklist.BlockCRX" enum="ExtensionLocation" - expires_after="M78"> + expires_after="M86"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -52448,7 +54116,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ExtensionBlacklist.SilentInstall" enum="ExtensionLocation" - expires_after="M78"> + expires_after="M86"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -52461,7 +54129,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ExtensionBlacklist.UnblacklistInstalled" - enum="ExtensionLocation" expires_after="M78"> + enum="ExtensionLocation" expires_after="M86"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -52779,9 +54447,20 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Extensions.ActionSetIconFailureType" + enum="ExtensionActionSetIconFailureType" expires_after="M88"> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> + <summary> + The cause for the failure in the setIcon() extension API function. This is + temporary logging to help track down the cause of a crash. + </summary> +</histogram> + <histogram name="Extensions.ActiveScriptController.DeniedExtensions" - units="Extension Count" expires_after="M85"> + units="Extension Count" expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The number of extensions on a page that wanted to execute a script, required explicit user consent, and were denied permission. @@ -52789,8 +54468,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.ActiveScriptController.PermittedExtensions" - units="Extension Count" expires_after="M85"> + units="Extension Count" expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The number of extensions on a page that wanted to execute a script, required explicit user consent, and were granted permission. @@ -52799,6 +54479,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Extensions.ActiveScriptController.PreventableAdInjectors" units="Extension Count" expires_after="M85"> + <obsolete> + Code removed 2015-10. + </obsolete> <owner>rdevlin.cronin@chromium.org</owner> <summary> The number of extensions per page that injected an ad and could have been @@ -52822,6 +54505,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Extensions.ActiveScriptController.UnpreventableAdInjectors" units="Extension Count" expires_after="M85"> + <obsolete> + Code removed 2015-10. + </obsolete> <owner>rdevlin.cronin@chromium.org</owner> <summary> The number of extensions per page that injected an ad and that could not @@ -52833,6 +54519,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Extensions.AdInjection.AdType" enum="InjectedAdType" expires_after="M85"> + <obsolete> + Code removed 2015-08. + </obsolete> <owner>felt@chromium.org</owner> <owner>rdevlin.cronin@chromium.org</owner> <summary>The type of ad that was injected.</summary> @@ -52840,6 +54529,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Extensions.AdInjection.InstallLocation" enum="ExtensionLocation" expires_after="M85"> + <obsolete> + Code removed long ago. + </obsolete> <owner>felt@chromium.org</owner> <owner>rdevlin.cronin@chromium.org</owner> <summary> @@ -52849,8 +54541,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.ApiBindingGenerationTime" units="ms" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The amount of time it takes to generate the JavaScript API bindings for a particular extension API. This includes the time from when a JavaScript @@ -52861,8 +54554,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.ApiBindingObjectGenerationTime" - units="microseconds" expires_after="M85"> + units="microseconds" expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The amount of time it takes to create the JavaScript binding object using the binding.js module. This is a strict subset of @@ -52910,7 +54604,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.AppLaunch" enum="AppLaunch" - expires_after="2021-01-31"> + expires_after="2022-06-30"> <owner>benwells@chromium.org</owner> <owner>dominickn@chromium.org</owner> <owner>tapted@chromium.org</owner> @@ -52934,7 +54628,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.AppLaunchSource" enum="AppLaunchSource" - expires_after="M85"> + expires_after="2022-06-30"> <owner>benwells@chromium.org</owner> <owner>cylee@chromium.org</owner> <summary> @@ -52954,7 +54648,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.AppLocation" enum="ExtensionLocation" - expires_after="M85"> + expires_after="2022-06-30"> <owner>benwells@chromium.org</owner> <owner>tapted@chromium.org</owner> <summary> @@ -52963,7 +54657,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.AppsPromo" enum="AppPromoAction" - expires_after="M85"> + expires_after="2022-06-30"> <owner>benwells@chromium.org</owner> <owner>tapted@chromium.org</owner> <summary> @@ -52973,7 +54667,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.AppTabLaunchType" enum="ExtensionLaunchType" - expires_after="M90"> + expires_after="2022-06-30"> <owner>benwells@chromium.org</owner> <owner>tapted@chromium.org</owner> <summary> @@ -52982,8 +54676,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.AttemptedToDowngradeVersionLocation" - enum="ExtensionLocation" expires_after="M85"> + enum="ExtensionLocation" expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The extension install location of an extension that Chrome attempted to add, but failed because it would downgrade the version. Tracking for @@ -52992,8 +54687,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.AttemptedToDowngradeVersionType" - enum="ExtensionType" expires_after="M85"> + enum="ExtensionType" expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The extension item type of an extension that Chrome attempted to add, but failed because it would downgrade the version. Tracking for @@ -53045,8 +54741,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.BadMessageFunctionName" enum="ExtensionFunctions" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Monitoring core extension system health. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The number of times each Extension function call sends a bad message, killing the renderer. This may indicate a bug in that API's implementation @@ -53056,8 +54755,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.BadSyncDataReason" enum="BadSyncDataReason" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Monitoring core extension system health. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The reason a valid ExtensionSyncData could not be parsed from a SyncData received from sync. @@ -53422,7 +55124,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.ContentVerification.ComputeHashesOnInstallResult" - enum="BooleanSuccess" expires_after="2020-07-01"> + enum="BooleanSuccess" expires_after="2020-11-30"> <owner>burunduk@chromium.org</owner> <owner>lazyboy@chromium.org</owner> <owner>rdevlin.cronin@chromium.org</owner> @@ -53438,7 +55140,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.ContentVerification.ComputeHashesOnInstallTime" - units="ms" expires_after="2020-07-01"> + units="ms" expires_after="2020-11-30"> <owner>burunduk@chromium.org</owner> <owner>lazyboy@chromium.org</owner> <owner>rdevlin.cronin@chromium.org</owner> @@ -53582,7 +55284,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.CorruptPolicyExtensionDetected3" - enum="ExtensionPolicyReinstallReason" expires_after="2020-07-01"> + enum="ExtensionPolicyReinstallReason" expires_after="2020-11-30"> <owner>burunduk@chromium.org</owner> <owner>lazyboy@chromium.org</owner> <owner>poromov@chromium.org</owner> @@ -53629,6 +55331,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Extensions.CrxFetchError" enum="NetErrorCodes" expires_after="M85"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>waffles@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary>Net error results from URLFetcher.</summary> @@ -54384,8 +56089,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.EventlessEventPages" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The number of extensions with event pages that have no registered event listeners at profile startup. (This may indicate something has gone wrong; @@ -54451,8 +56157,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.Events.DispatchToComponent" enum="ExtensionEvents" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> Recorded every time an event is dispatched to a *component* extension. Otherwise identical to Extensions.Events.Dispatched. @@ -54949,6 +56656,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Extensions.ForceInstalledCacheStatus" + enum="ExtensionInstallationDownloadingCacheStatus" + expires_after="2020-11-01"> + <owner>swapnilgupta@google.com</owner> + <owner>burunduk@chromium.org</owner> + <owner>poromov@chromium.org</owner> + <summary> + Status of cache entry about enterprise policy forced extension. Recorded for + each forced extension. + </summary> +</histogram> + <histogram name="Extensions.ForceInstalledDownloadingStage" enum="ExtensionInstallationDownloadingStage" expires_after="2020-11-01"> <owner>burunduk@chromium.org</owner> @@ -55005,6 +56724,22 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Extensions.ForceInstalledFailureNoUpdatesInfo" + enum="ExtensionNoUpdatesInfo" expires_after="2020-11-01"> + <owner>snijhara@google.com</owner> + <owner>swapnilgupta@google.com</owner> + <owner>burunduk@chromium.org</owner> + <owner>managed-devices@google.com</owner> + <summary> + The info field in the update manifest fetched from the server for enterprise + policy forced extensions. Recorded for each forced extension for which the + server responds with no updates and an empty CRX fetch url. Recorded for + each forced extension that failed to install after 5 minutes with + Extensions.{OffStore,WebStore}_ForceInstalledFailureReason3 equal to + CRX_FETCH_URL_EMPTY. + </summary> +</histogram> + <histogram name="Extensions.ForceInstalledFailureReason" enum="ExtensionInstallationFailureReason" expires_after="M80"> <obsolete> @@ -55364,8 +57099,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.Functions.HandleResponseElapsedTime" units="ms" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Used for monitoring extension API performance. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The amount of time it takes to handle a response for an extension API request. Recorded on the renderer side once we receive the response IPC from @@ -55375,8 +57113,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.Functions.StartRequestElapsedTime" units="ms" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Used for monitoring extension API performance. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The amount of time it takes to start an extension API request. Recorded on the renderer side after we perform JS pre-processing, but includes all @@ -55487,7 +57228,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.HasPermissions_InstallAbort3" enum="Boolean" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -55579,7 +57320,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.HasPermissions_WebStoreInstall3" enum="Boolean" - expires_after="2020-06-01"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -55594,6 +57335,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Extensions.HasPermissions_WebStoreInstallAbort3" enum="Boolean" expires_after="M85"> + <obsolete> + Code removed 2020-06. + </obsolete> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -55607,7 +57351,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.HasPermissions_WebStoreInstallCancel3" - enum="Boolean" expires_after="2020-06-01"> + enum="Boolean" expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -55620,7 +57364,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.HomepageOverrides" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> <owner>kelvinjiang@chromium.org</owner> <summary> @@ -55749,8 +57493,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Extensions.InjectCssTime" units="ms" expires_after="M85"> +<histogram name="Extensions.InjectCssTime" units="ms" expires_after="never"> +<!-- expires-never: Used for monitoring extension API performance. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The amount of time for a CSS file to be injected into a page. </summary> @@ -55788,8 +57535,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Number of scripts injected at document end by extensions.</summary> </histogram> -<histogram name="Extensions.InjectEnd_Time" units="ms" expires_after="M85"> +<histogram name="Extensions.InjectEnd_Time" units="ms" expires_after="never"> +<!-- expires-never: Used for monitoring extension API performance. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> Time taken to inject all scripts at document end by extensions. Not reported if scripts are executed asynchronously. @@ -55814,8 +57564,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Number of scripts injected at document idle by extensions.</summary> </histogram> -<histogram name="Extensions.InjectIdle_Time" units="ms" expires_after="M85"> +<histogram name="Extensions.InjectIdle_Time" units="ms" expires_after="never"> +<!-- expires-never: Used for monitoring extension API performance. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> Time taken to inject all scripts at document idle by extensions. Not reported if scripts are executed asynchronously. @@ -55832,8 +57585,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.InjectStart_BlockingScriptCount" units="units" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Used for monitoring extension API performance. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> Number of blocking scripts injected at document start by extensions. </summary> @@ -55848,8 +57604,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.InjectStart_ScriptCount" units="units" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Used for monitoring extension API performance. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary>Number of scripts injected at document start by extensions.</summary> </histogram> @@ -55877,7 +57636,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.InstallPrompt.TimeToCancel" units="ms" - expires_after="M85"> + expires_after="M95"> <owner>kelvinjiang@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -55888,7 +57647,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.InstallPrompt.TimeToInstall" units="ms" - expires_after="M85"> + expires_after="M95"> <owner>kelvinjiang@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -55911,7 +57670,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.InstallPrompt.Type2" - enum="ExtensionInstallPromptType" expires_after="2020-06-01"> + enum="ExtensionInstallPromptType" expires_after="2021-06-01"> <owner>meacer@chromium.org</owner> <owner>rdevlin.cronin@chromium.org</owner> <summary> @@ -56091,10 +57850,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.LoadExtensionUser" units="units" - expires_after="M85"> + expires_after="never"> <!-- expires-never: Monitoring extension usage. --> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The number of user-installed extensions loaded at profile open. </summary> @@ -56130,8 +57890,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.LoadOffStoreItems" units="Number of items" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The number of enabled extensions or apps the user has installed that do not update from the Chrome Web Store. Recorded during profile initialization. @@ -56461,7 +58222,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.NewTabPageOverrides" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> <owner>kelvinjiang@chromium.org</owner> <summary> @@ -56814,7 +58575,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.Permissions_Uninstall3" enum="ExtensionPermission3" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -56893,7 +58654,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.Permissions_WebStoreInstallAbort3" - enum="ExtensionPermission3" expires_after="M85"> + enum="ExtensionPermission3" expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -57306,7 +59067,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.SearchEngineOverrides" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> <owner>kelvinjiang@chromium.org</owner> <summary> @@ -57468,7 +59229,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.StartupPagesOverrides" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> <owner>kelvinjiang@chromium.org</owner> <summary> @@ -57498,8 +59259,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.ThrottledNetworkRequestDelay" units="ms" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary> The duration by which a network request was delayed while waiting for extension user script load. Recorded once per request that is delayed, at @@ -57581,6 +59343,21 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Extensions.Toolbar.PinnedExtensionPercentage2" units="%" expires_after="2021-06-30"> + <obsolete> + Replaced by Extensions.Toolbar.PinnedExtensionPercentage3 in 2020/05. + </obsolete> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> + <summary> + The percentage of extensions that the user has pinned to the toolbar (i.e., + this will be 100 if the user has every extension pinned). Recorded once per + profile during initialization if the user has at least one extension with an + action in the toolbar. + </summary> +</histogram> + +<histogram name="Extensions.Toolbar.PinnedExtensionPercentage3" units="%" + expires_after="2021-06-30"> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -57690,8 +59467,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Extensions.UninstallType" enum="ExtensionType" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Monitoring core extension usage behaviors. --> + <owner>rdevlin.cronin@chromium.org</owner> + <owner>extensions-core@chromium.org</owner> <summary>Uninstalls grouped by Extension::HistogramType.</summary> </histogram> @@ -57709,6 +59489,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Extensions.UnpackFailureInstallSource" enum="ExtensionLocation" expires_after="2020-06-01"> + <obsolete> + Code removed 2020-06. + </obsolete> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -57730,6 +59513,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Extensions.UnpackSuccessInstallSource" enum="ExtensionLocation" expires_after="2020-06-01"> + <obsolete> + Code removed 2020-06. + </obsolete> <owner>rdevlin.cronin@chromium.org</owner> <owner>extensions-core@chromium.org</owner> <summary> @@ -57927,6 +59713,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Extensions.WebRequest.KeepaliveRequestState" + enum="ExtensionInProgressRequestState" expires_after="2020-12-20"> + <owner>yhirano@chromium.org</owner> + <owner>kinuko@chromium.org</owner> + <summary> + Whether and how keepalive requests are blocked. There is a similar histgoram + Net.KeepaliveRequest.BlockStatus. See there for the difference between the + two histograms. + </summary> +</histogram> + <histogram name="Extensions.WebRequest.ModifiedResponseHeaders" enum="WebRequestResponseHeaderType" expires_after="2018-11-08"> <obsolete> @@ -58524,7 +60321,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Favicon.OnDemandIconExistsInDb" units="units" - expires_after="2020-07-19"> + expires_after="2021-07-19"> <owner>victorvianna@google.com</owner> <owner>jkrcal@chromium.org</owner> <summary> @@ -58680,7 +60477,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="FCMInvalidations.ResetClientIDStatus" enum="InstanceIDResult" - expires_after="M85"> + expires_after="M88"> <owner>tschumann@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -60114,7 +61911,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="FirstRun.NewUserExperience.NtpBackgroundInteraction" - enum="NuxNtpBackgroundInteractions" expires_after="2020-09-13"> + enum="NuxNtpBackgroundInteractions" expires_after="2020-11-15"> <owner>hcarmona@chromium.org</owner> <owner>johntlee@chromium.org</owner> <summary> @@ -60389,8 +62186,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Gaia.BadRequestTypeForOAuth2AccessToken" enum="OAuth2BadRequestError" expires_after="M86"> - <owner>msarda@chromium.com</owner> - <owner>droger@chromium.com</owner> + <owner>msarda@chromium.org</owner> + <owner>droger@chromium.org</owner> <owner>chrome-signin-team@google.com</owner> <summary> Detailed error type in bad requests for OAuth2 refresh tokens. @@ -60399,8 +62196,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Gaia.ResponseCodesForOAuth2AccessToken" enum="CombinedHttpResponseAndNetErrorCode" expires_after="M86"> - <owner>msarda@chromium.com</owner> - <owner>droger@chromium.com</owner> + <owner>msarda@chromium.org</owner> + <owner>droger@chromium.org</owner> <owner>chrome-signin-team@google.com</owner> <summary> URLFetcher response codes for OAuth2AccessToken. Positive values are HTTP @@ -60410,8 +62207,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Gaia.SuccessCountBeforeBadRequestForOAuth2AccessToken" units="requests" expires_after="M86"> - <owner>msarda@chromium.com</owner> - <owner>droger@chromium.com</owner> + <owner>msarda@chromium.org</owner> + <owner>droger@chromium.org</owner> <owner>chrome-signin-team@google.com</owner> <summary> Number of successful requests preceding a bad request for an OAuth2 refresh @@ -60775,6 +62572,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="GCM.IgnoredWriteResult" enum="BooleanSuccess" expires_after="M85"> + <obsolete> + Removed in 2020-06. + </obsolete> <!-- Name completed by histogram_suffixes name="IgnoredWriteResultOperation" --> <owner>tschumann@chromium.org</owner> @@ -60905,7 +62705,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GCM.RegistrationRequest.NetErrorCode" enum="NetErrorCodes" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>peter@chromium.org</owner> <owner>platform-capabilities@chromium.org</owner> <summary> @@ -61028,7 +62828,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GCM.SendWebPushMessageResult" enum="SendWebPushMessageResult" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>alexchau@chromium.org</owner> <owner>peter@chromium.org</owner> <summary> @@ -61038,7 +62838,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GCM.SendWebPushMessageStatusCode" - enum="CombinedHttpResponseAndNetErrorCode" expires_after="2020-10-11"> + enum="CombinedHttpResponseAndNetErrorCode" expires_after="2020-12-13"> <owner>alexchau@chromium.org</owner> <owner>peter@chromium.org</owner> <summary> @@ -61383,8 +63183,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Geolocation.SettingsDialog.AcceptEvent" - enum="GeolocationSettingsDialogBackOff" expires_after="M85"> - <owner>benwells@chromium.org</owner> + enum="GeolocationSettingsDialogBackOff" expires_after="M87"> + <owner>engedy@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Records the backoff level when the Location Settings Dialog is accepted by the user. @@ -61392,8 +63193,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Geolocation.SettingsDialog.DenyEvent" - enum="GeolocationSettingsDialogBackOff" expires_after="M85"> - <owner>benwells@chromium.org</owner> + enum="GeolocationSettingsDialogBackOff" expires_after="M87"> + <owner>engedy@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Records the backoff level when the Location Settings Dialog is rejected by the user. @@ -61401,8 +63203,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Geolocation.SettingsDialog.ShowEvent" - enum="GeolocationSettingsDialogBackOff" expires_after="M85"> - <owner>benwells@chromium.org</owner> + enum="GeolocationSettingsDialogBackOff" expires_after="M87"> + <owner>engedy@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Records the backoff level when the Location Settings Dialog is shown to the user. @@ -61410,8 +63213,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Geolocation.SettingsDialog.SuppressEvent" - enum="GeolocationSettingsDialogBackOff" expires_after="M85"> - <owner>benwells@chromium.org</owner> + enum="GeolocationSettingsDialogBackOff" expires_after="M87"> + <owner>engedy@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Records the backoff level when the Location Settings Dialog is suppressed due to backoff. @@ -61660,6 +63464,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="GoogleNow.Card.Button.Clicked0" enum="GoogleNowCardTypeId" expires_after="M85"> + <obsolete> + Removed in r454917 03/2017. + </obsolete> <owner>robliao@chromium.org</owner> <owner>skare@chromium.org</owner> <summary>Types of cards which received an index 0 button click.</summary> @@ -61667,6 +63474,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="GoogleNow.Card.Button.Clicked1" enum="GoogleNowCardTypeId" expires_after="M85"> + <obsolete> + Removed in r454917 03/2017. + </obsolete> <owner>robliao@chromium.org</owner> <owner>skare@chromium.org</owner> <summary>Types of cards which received an index 1 button click.</summary> @@ -61674,12 +63484,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="GoogleNow.Card.Clicked" enum="GoogleNowCardTypeId" expires_after="M85"> + <obsolete> + Removed in r454917 03/2017. + </obsolete> <owner>robliao@chromium.org</owner> <owner>skare@chromium.org</owner> <summary>Types of cards which received a notification click.</summary> </histogram> <histogram name="GoogleNow.Event" enum="GoogleNowEvent" expires_after="M85"> + <obsolete> + Removed in r454917 03/2017. + </obsolete> <owner>robliao@chromium.org</owner> <owner>skare@chromium.org</owner> <summary>Events in Google Now component extension.</summary> @@ -61687,6 +63503,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="GoogleNow.MessageCenter.Displayed.NotificationsVisible" units="count" expires_after="M85"> + <obsolete> + Removed in r455117 03/2017. + </obsolete> <owner>robliao@chromium.org</owner> <owner>skare@chromium.org</owner> <summary> @@ -61800,7 +63619,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.Inline.AppUpdateInfo.InstallStatus" - enum="InlineUpdateInstallStatus" expires_after="2020-05-15"> + enum="InlineUpdateInstallStatus" expires_after="2020-10-15"> <owner>dtrainor@chromium.org</owner> <owner>nyquist@chromium.org</owner> <summary> @@ -61810,7 +63629,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.Inline.AppUpdateInfo.UpdateAvailability" - enum="InlineUpdateAvailability" expires_after="2020-05-15"> + enum="InlineUpdateAvailability" expires_after="2020-10-15"> <owner>dtrainor@chromium.org</owner> <owner>nyquist@chromium.org</owner> <summary> @@ -61820,7 +63639,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.Inline.CallFailure" - enum="InlineUpdateCallFailure" expires_after="2020-05-15"> + enum="InlineUpdateCallFailure" expires_after="2020-10-15"> <owner>dtrainor@chromium.org</owner> <owner>nyquist@chromium.org</owner> <summary> @@ -61829,7 +63648,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.Inline.StateChange.Error" - enum="InlineUpdateErrorCodes" expires_after="2020-05-15"> + enum="InlineUpdateErrorCodes" expires_after="2020-10-15"> <!-- Name completed by histogram_suffixes name="GoogleUpdate.Inline.InstallStatus" --> <owner>dtrainor@chromium.org</owner> @@ -61842,7 +63661,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.Inline.UI.Install.Source" - enum="UpdateInteractionSource" expires_after="2020-05-15"> + enum="UpdateInteractionSource" expires_after="2020-10-15"> <owner>dtrainor@chromium.org</owner> <owner>nyquist@chromium.org</owner> <summary> @@ -61852,7 +63671,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.Inline.UI.Retry.Source" - enum="UpdateInteractionSource" expires_after="2020-05-15"> + enum="UpdateInteractionSource" expires_after="2020-10-15"> <owner>dtrainor@chromium.org</owner> <owner>nyquist@chromium.org</owner> <summary> @@ -61861,7 +63680,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.Inline.UI.Start.Source" - enum="UpdateInteractionSource" expires_after="2020-05-15"> + enum="UpdateInteractionSource" expires_after="2020-10-15"> <owner>dtrainor@chromium.org</owner> <owner>nyquist@chromium.org</owner> <summary> @@ -61919,7 +63738,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.Result.Session" enum="BooleanSuccess" - expires_after="2020-05-15"> + expires_after="2020-10-15"> <!-- Name completed by histogram_suffixes name="GoogleUpdate.Result.UpdateType" --> <owner>dtrainor@chromium.org</owner> @@ -61931,7 +63750,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.Result.TimeWindow" enum="BooleanSuccess" - expires_after="2020-05-15"> + expires_after="2020-10-15"> <!-- Name completed by histogram_suffixes name="GoogleUpdate.Result.UpdateType" --> <owner>dtrainor@chromium.org</owner> @@ -61947,7 +63766,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.StartingUpdateState" - enum="BooleanAlreadyUpdating" expires_after="2020-05-15"> + enum="BooleanAlreadyUpdating" expires_after="2020-10-15"> <owner>dtrainor@chromium.org</owner> <owner>nyquist@chromium.org</owner> <summary> @@ -61957,7 +63776,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GoogleUpdate.StartUp.State" enum="UpdateState" - expires_after="2020-05-15"> + expires_after="2020-10-15"> <owner>dtrainor@chromium.org</owner> <owner>nyquist@chromium.org</owner> <summary> @@ -62053,8 +63872,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.ANGLE.D3D11InitializeResult" enum="D3D11InitializeResult" - expires_after="M82"> - <owner>jmadill@chromium.org</owner> + expires_after="2020-11-30"> + <owner>jonahr@google.com</owner> + <owner>angle-team@google.com</owner> <summary> The result from initializing a D3D11 device in ANGLE. Can be success, or one of several error codes which indicate different reasons for failing. @@ -62070,7 +63890,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="GPU.ANGLE.D3DCompileMS" units="ms" expires_after="M85"> +<histogram name="GPU.ANGLE.D3DCompileMS" units="ms" expires_after="2020-11-30"> <owner>jonahr@google.com</owner> <owner>angle-team@google.com</owner> <summary> @@ -62079,7 +63899,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="GPU.ANGLE.DisplayInitializeMS" units="ms" expires_after="M85"> +<histogram name="GPU.ANGLE.DisplayInitializeMS" units="ms" + expires_after="2020-11-30"> <owner>jonahr@google.com</owner> <owner>angle-team@google.com</owner> <summary> @@ -62126,7 +63947,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.ANGLE.ProgramCache.LoadBinarySuccess" - enum="BooleanSuccess" expires_after="M85"> + enum="BooleanSuccess" expires_after="2020-11-30"> <owner>jonahr@google.com</owner> <owner>angle-team@google.com</owner> <summary> @@ -62262,7 +64083,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.BlacklistFeatureTestResults" - enum="GPUBlacklistFeatureTestResults" expires_after="2020-08-02"> + enum="GPUBlacklistFeatureTestResults" expires_after="2020-11-15"> <owner>vmiura@chromium.org</owner> <summary> Counts number of browser invocations for which a GPU feature is @@ -62360,7 +64181,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.ContextLost" enum="ContextLostReason" - expires_after="2020-09-20"> + expires_after="2020-11-22"> <owner>sievers@chromium.org</owner> <summary> The reason a GPU command buffer context of a given type was lost. @@ -62496,6 +64317,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="GPU.DirectComposition.CreateVideoProcessorEnumerator" + enum="Hresult" expires_after="2020-11-01"> + <owner>magchen@chromium.org</owner> + <owner>zmo@chromium.org</owner> + <summary> + HRESULT return value of ID3D11VideoDevice::CreateVideoProcessorEnumerator in + Direct Composition InitializeVideoProcessor. + </summary> +</histogram> + <histogram name="GPU.DirectComposition.DCLayerResult" enum="DCLayerResult" expires_after="2018-11-28"> <obsolete> @@ -62545,6 +64376,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="GPU.DirectComposition.DcompDeviceCreateSurface" enum="Hresult" + expires_after="2020-11-01"> + <owner>magchen@chromium.org</owner> + <owner>zmo@chromium.org</owner> + <summary> + HRESULT return value of IDCompositionDevice2::CreateSurface. + </summary> +</histogram> + <histogram name="GPU.DirectComposition.DecodeSwapChainCreationResult" enum="Hresult" expires_after="M76"> <owner>sunnyps@chromium.org</owner> @@ -62619,7 +64459,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.DirectComposition.FramesSinceColorSpaceChange" - units="frames" expires_after="M82"> + units="frames" expires_after="2021-06-15"> <owner>sunnyps@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -62720,7 +64560,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.DirectComposition.OverlaysSupported" - enum="BooleanOverlaySupported" expires_after="M85"> + enum="BooleanOverlaySupported" expires_after="2021-05-31"> <owner>sunnyps@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary>True if Chrome will try to use DirectComposition overlays.</summary> @@ -62756,7 +64596,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.DirectComposition.OverlaysUsed" enum="BooleanOverlayUsage" - expires_after="M85"> + expires_after="2021-05-31"> <owner>sunnyps@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary>Whether or not a frame displays an overlay.</summary> @@ -62874,6 +64714,36 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="GPU.DirectComposition.UploadVideoImages.CreateCopyTexture" + enum="Hresult" expires_after="2020-11-01"> + <owner>magchen@chromium.org</owner> + <owner>zmo@chromium.org</owner> + <summary> + HRESULT return value of ID3D11Device::CreateTexture2D in Direct Composition + UploadVideoImages for creating a copy texture. + </summary> +</histogram> + +<histogram name="GPU.DirectComposition.UploadVideoImages.CreateStagingTexture" + enum="Hresult" expires_after="2020-11-01"> + <owner>magchen@chromium.org</owner> + <owner>zmo@chromium.org</owner> + <summary> + HRESULT return value of ID3D11Device::CreateTexture2D in Direct Composition + UploadVideoImages for creating a staging texture. + </summary> +</histogram> + +<histogram name="GPU.DirectComposition.VideoDeviceCreateVideoProcessor" + enum="Hresult" expires_after="2020-11-01"> + <owner>magchen@chromium.org</owner> + <owner>zmo@chromium.org</owner> + <summary> + HRESULT return value of ID3D11VideoDevice::CreateVideoProcessor in Direct + Composition InitializeVideoProcessor. + </summary> +</histogram> + <histogram name="GPU.DirectComposition.VideoPresentationMode" enum="DirectCompositionVideoPresentationMode" expires_after="2020-12-31"> <owner>sunnyps@chromium.org</owner> @@ -62910,9 +64780,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="GPU.DoLinkProgramTime" units="ms" expires_after="2020-07-13"> - <owner>jmadill@chromium.org</owner> - <owner>jonahr@chromium.org</owner> +<histogram name="GPU.DoLinkProgramTime" units="ms" expires_after="2020-11-30"> + <owner>jonahr@google.org</owner> + <owner>angle-team@google.com</owner> <summary> The time we spend in GLES2DecoderImpl::DoLinkProgram. Related to how much time we spend compiling shaders during startup. @@ -63045,7 +64915,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.GPUChannelHostWaitTime2" units="ms" - expires_after="2020-09-30"> + expires_after="2020-11-29"> <owner>magchen@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -63187,7 +65057,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.GPUProcessTerminationStatus2" enum="GpuTerminationStatus" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>vmiura@chromium.org</owner> <summary> Counts for each time the GPU Process Host detects the process dies. @@ -63225,8 +65095,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="GPU.InitializeOneOffMediumTime" units="ms" expires_after="M82"> - <owner>jmadill@chromium.org</owner> +<histogram name="GPU.InitializeOneOffMediumTime" units="ms" + expires_after="2020-11-30"> + <owner>jonahr@google.com</owner> + <owner>angle-team@google.com</owner> <summary> The time that the GPU process spends in initializing the GL surface, and collecting graphics information. Records times up to three minutes. @@ -63275,7 +65147,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.IOSurface.CreateTime" units="ms" - expires_after="2020-08-23"> + expires_after="2020-12-06"> <owner>ccameron@chromium.org</owner> <summary> The time that it took for a call to IOSurfaceCreate to complete. @@ -63291,7 +65163,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.IOSurface.TexImageTime" units="ms" - expires_after="2020-09-20"> + expires_after="2020-11-22"> <owner>ccameron@chromium.org</owner> <summary> The time that it took for a call to CGLTexImageIOSurface2D to complete. @@ -63332,7 +65204,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Gpu.Metal.TestShaderCompileTime" units="ms" - expires_after="M82"> + expires_after="M85"> <owner>ccameron@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> <summary> @@ -63344,7 +65216,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Gpu.Metal.TestShaderMethodTime" units="ms" expires_after="M82"> +<histogram name="Gpu.Metal.TestShaderLinkTime" units="ms" expires_after="M85"> + <owner>ccameron@chromium.org</owner> + <owner>graphics-dev@chromium.org</owner> + <summary> + Linking a MTLRenderPipelineState will sometimes hang forever. When + initializing the GPU process, a test shader is compiled to see if the + MTLCompilerService is responding or not. This records the time that it took + for the compile to succeeded, up to 1 minute. After 1 minute, a timeout + sentinel value of 3 minutes is reported. + </summary> +</histogram> + +<histogram name="Gpu.Metal.TestShaderMethodTime" units="ms" + expires_after="2020-05-18"> + <obsolete> + Removed 05/2020. Did not reveal interesting results. + </obsolete> <owner>ccameron@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> <summary> @@ -63409,7 +65297,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.OopRaster.GlyphCacheMiss" - enum="OopRasterGlyphCacheMissType" expires_after="2020-10-04"> + enum="OopRasterGlyphCacheMissType" expires_after="2020-12-06"> <owner>khushalsagar@chromium.org</owner> <summary> During OutOfProcess(Oop) raster, the renderer generates and sends the @@ -63466,9 +65354,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.PassthroughDoLinkProgramTime" units="ms" - expires_after="2020-07-13"> - <owner>jmadill@chromium.org</owner> + expires_after="2020-11-30"> <owner>jonahr@google.com</owner> + <owner>angle-team@google.com</owner> <summary> The time we spend in GLES2DecoderPassthroughImpl::DoLinkProgram. Related to how much time we spend compiling shaders during startup. @@ -63537,7 +65425,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.ProgramCache.CacheHit" enum="BooleanSuccess" - expires_after="M85"> + expires_after="2020-11-30"> <owner>jonahr@google.com</owner> <owner>angle-team@google.com</owner> <summary> @@ -63746,7 +65634,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.SharedImage.ContentConsumed" enum="BooleanMatched" - expires_after="2020-08-12"> + expires_after="2020-11-15"> <owner>penghuang@chromium.org</owner> <owner>backer@chromium.org</owner> <summary> @@ -63811,7 +65699,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.SupportsVulkan" enum="BooleanSupported" - expires_after="2020-12-01"> + expires_after="2020-06-22"> + <obsolete> + Removed 06/2020. Data has been collected on Windows. + </obsolete> <owner>vmiura@chromium.org</owner> <owner>magchen@chromium.org</owner> <summary> @@ -63843,7 +65734,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.SwapTimeUs" units="microseconds" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>vasilyt@chromium.org</owner> <owner>backer@chromium.org</owner> <summary> @@ -63867,6 +65758,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="GPU.TextureR16Ext_LuminanceF16" enum="GpuTextureResultR16_L16" expires_after="2020-06-21"> + <obsolete> + Removed 06/2020. Both LUMINANCE_F16 and R16_EXT must be supported for now. + </obsolete> <owner>hubbe@chromium.org</owner> <owner>rijubrata.bhaumik@intel.com</owner> <owner>media-dev@chromium.org</owner> @@ -63905,7 +65799,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.VulkanExtSupport.VK_KHR_external_memory_win32" - enum="BooleanSupported" expires_after="2020-12-01"> + enum="BooleanSupported" expires_after="2020-06-22"> + <obsolete> + Removed 06/2020. Data has been collected on Windows. + </obsolete> <owner>vmiura@chromium.org</owner> <owner>magchen@chromium.org</owner> <summary> @@ -63915,7 +65812,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.VulkanExtSupport.VK_KHR_external_semaphore_win32" - enum="BooleanSupported" expires_after="2020-12-01"> + enum="BooleanSupported" expires_after="2020-06-22"> + <obsolete> + Removed 06/2020. Data has been collected on Windows. + </obsolete> <owner>vmiura@chromium.org</owner> <owner>magchen@chromium.org</owner> <summary> @@ -63925,7 +65825,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.VulkanExtSupport.VK_KHR_win32_keyed_mutex" - enum="BooleanSupported" expires_after="2020-12-01"> + enum="BooleanSupported" expires_after="2020-06-22"> + <obsolete> + Removed 06/2020. Data has been collected on Windows. + </obsolete> <owner>vmiura@chromium.org</owner> <owner>magchen@chromium.org</owner> <summary> @@ -63935,7 +65838,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.VulkanVersion" enum="VulkanVersion" - expires_after="2020-12-01"> + expires_after="2020-06-22"> + <obsolete> + Removed 06/2020. Data has been collected on Windows. + </obsolete> <owner>vmiura@chromium.org</owner> <owner>magchen@chromium.org</owner> <summary> @@ -63965,7 +65871,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.WatchdogThread.Event.V2" enum="GpuWatchdogThreadEvent" - expires_after="2021-07-01"> + expires_after="2020-06-08"> + <obsolete> + No longer used after GPU watchdog V2 is enabled by default in M82. It's the + same as the default histogram GPU.WatchdogThread.Event. + </obsolete> <owner>magchen@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -63974,7 +65884,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.WatchdogThread.ExtraThreadTime" units="# timeouts" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <!-- Name completed by histogram_suffixes name="GPU.WatchdogStage" --> <owner>magchen@chromium.org</owner> @@ -63986,7 +65896,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.WatchdogThread.ExtraThreadTime.NumOfUsers" - units="# timeouts" expires_after="2020-09-13"> + units="# timeouts" expires_after="2020-11-15"> <owner>magchen@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -64009,7 +65919,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.WatchdogThread.V1.ExtraThreadTime" units="ms" - expires_after="2020-09-13"> + expires_after="2020-06-08"> + <obsolete> + GPU watchdog V1 is disabled in M82. Please see + GPU.WatchdogThread.ExtraThreadTime for the result of V2. + </obsolete> <owner>magchen@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -64019,7 +65933,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.WatchdogThread.V1.Timeout" enum="GpuWatchdogTimeoutEvent" - expires_after="2020-11-08"> + expires_after="2020-06-08"> + <obsolete> + GPU watchdog V1 is disabled in M82. Please see GPU.WatchdogThread.Timeout + for the result of V2. + </obsolete> <owner>magchen@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -64028,7 +65946,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.WatchdogThread.V1.WaitTime" units="ms" - expires_after="2020-07-19"> + expires_after="2020-06-08"> + <obsolete> + GPU watchdog V1 is disabled in M82. Please see GPU.WatchdogThread.WaitTime + for the result of V2. + </obsolete> <owner>magchen@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -64050,7 +65972,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.WatchdogThread.WaitTime.NumOfUsers" units="seconds" - expires_after="2020-07-06"> + expires_after="2020-12-06"> <owner>magchen@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -64062,7 +65984,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GPU.WatchdogThread.WaitTime.ProgressAfterWait" units="seconds" - expires_after="2020-07-06"> + expires_after="2020-12-06"> <owner>magchen@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -64221,7 +66143,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Graphics.Smoothness.FrameSequenceLength" units="count" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>sadrul@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> <summary> @@ -64314,26 +66236,30 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Graphics.Smoothness.Throughput" units="%" expires_after="2020-12-31"> - <owner>sadrul@chromium.org</owner> - <owner>graphics-dev@chromium.org</owner> - <summary> + <obsolete> As of 2020-02-12, this is deprecated in favor of Graphics.Smoothness.PercentDroppedFrames. - </summary> + </obsolete> + <owner>sadrul@chromium.org</owner> + <owner>graphics-dev@chromium.org</owner> </histogram> <histogram name="Graphics.Smoothness.Throughput.AllAnimations" units="%" expires_after="2020-12-31"> - <owner>sadrul@chromium.org</owner> - <owner>ericrk@chromium.org</owner> - <summary> + <obsolete> As of 2020-02-12, this is deprecated in favor of Graphics.Smoothness.PercentDroppedFrames.AllAnimations. - </summary> + </obsolete> + <owner>sadrul@chromium.org</owner> + <owner>ericrk@chromium.org</owner> </histogram> <histogram name="Graphics.Smoothness.Throughput.AllInteractions" units="%" expires_after="2020-12-31"> + <obsolete> + As of 2020-02-12, this is deprecated in favor of + Graphics.Smoothness.PercentDroppedFrames.AllInteractions. + </obsolete> <owner>sadrul@chromium.org</owner> <owner>ericrk@chromium.org</owner> <summary> @@ -64344,13 +66270,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Graphics.Smoothness.Throughput.AllSequences" units="%" expires_after="2020-12-31"> + <obsolete> + As of 2020-02-12, this is deprecated in favor of + Graphics.Smoothness.PercentDroppedFrames.AllSequence. + </obsolete> <owner>sadrul@chromium.org</owner> - As of 2020-02-12, this is deprecated in favor of - Graphics.Smoothness.PercentDroppedFrames.AllSequence. <owner>ericrk@chromium.org</owner> - <summary> - - </summary> </histogram> <histogram name="GraphicsPipeline.ReceivedBeginFrame" units="microseconds" @@ -64380,7 +66305,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="GridTabSwitcher.DirtySpan" units="ms" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>yusufo@chromium.org</owner> <owner>wychen@chromium.org</owner> <summary> @@ -64391,7 +66316,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="GridTabSwitcher.FramePerSecond" units="frame/sec" - expires_after="2020-08-02"> + expires_after="2020-12-06"> <owner>yusufo@chromium.org</owner> <owner>wychen@chromium.org</owner> <summary> @@ -64411,7 +66336,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="GridTabSwitcher.ThumbnailFetchingResult" - enum="GridTabSwitcherThumbnailFetchingResult" expires_after="2020-09-20"> + enum="GridTabSwitcherThumbnailFetchingResult" expires_after="2020-11-29"> <owner>yusufo@chromium.org</owner> <owner>wychen@chromium.org</owner> <summary> @@ -66234,7 +68159,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="HttpCache.HardReset" enum="Boolean" expires_after="2020-06-15"> +<histogram name="HttpCache.HardReset" enum="Boolean" expires_after="2021-06-15"> <owner>ericrobinson@chromium.org</owner> <owner>shivanisha@chromium.org</owner> <summary> @@ -66289,7 +68214,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="HttpCache.Pattern" enum="HttpCachePattern" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>morlovich@chromium.org</owner> <owner>jkarlin@chromium.org</owner> <summary>For each http cache transaction, the recorded pattern.</summary> @@ -66445,7 +68370,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ICU.CreateInstance" enum="ICUCreateInstanceCode" - expires_after="2020-10-15"> + expires_after="2020-12-20"> <owner>ftang@chromium.org</owner> <owner>intl-libs-team@google.com</owner> <summary> @@ -66456,7 +68381,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ICU.DataFile" enum="ICUDataFileCode" - expires_after="2020-10-15"> + expires_after="2020-12-20"> <owner>ftang@chromium.org</owner> <owner>intl-libs-team@google.com</owner> <summary> @@ -67186,8 +69111,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="InfoBar.Shown" enum="InfoBarIdentifier" expires_after="M85"> +<histogram name="InfoBar.Shown" enum="InfoBarIdentifier" expires_after="never"> +<!-- expires-never: Required as long as infobars exist. --> + <owner>rkaplow@chromium.org</owner> + <owner>src/components/infobars/OWNERS</owner> <summary> Records how many times a particular infobar was shown to the user. On Android, the infobar may be partially hidden due to stacking. On desktop, a @@ -67197,7 +69125,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="InfoBar.Shown.Hidden" enum="InfoBarIdentifier" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Required as long as infobars exist. --> + <owner>mdjones@chromium.org</owner> <owner>dominickn@chromium.org</owner> <summary> @@ -67211,7 +69141,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="InfoBar.Shown.Hiding" enum="InfoBarIdentifier" - expires_after="M77"> + expires_after="never"> +<!-- expires-never: Required as long as infobars exist. --> + <owner>mdjones@chromium.org</owner> <owner>dominickn@chromium.org</owner> <summary> @@ -67221,7 +69153,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="InfoBar.Shown.Visible" enum="InfoBarIdentifier" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Required as long as infobars exist. --> + <owner>mdjones@chromium.org</owner> <owner>dominickn@chromium.org</owner> <summary> @@ -67343,6 +69277,42 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="InputMethod.Assistive.Disabled" enum="IMEAssistiveAction" + expires_after="2021-01-01"> + <owner>jiwan@google.com</owner> + <owner>essential-inputs-team@google.com</owner> + <summary> + The number of times each assistive action could be triggered according to + the surrounding text but was not triggered because the user turned off the + feature. Recorded when the surrounding text could trigger assistive actions + but the corresponding feature was disabled. + </summary> +</histogram> + +<histogram name="InputMethod.Assistive.EmojiSuggestAddition.AcceptanceIndex" + units="times" expires_after="2021-01-01"> + <owner>myy@google.com</owner> + <owner>essential-inputs-team@google.com</owner> + <summary> + The number of times an emoji suggest addition is accepted at a given index. + Recorded when an user accepts an emoji suggestion appeared after typing an + emoji-triggered word. + </summary> +</histogram> + +<histogram name="InputMethod.Assistive.Match" enum="IMEAssistiveAction" + expires_after="2021-01-01"> + <owner>jiwan@google.com</owner> + <owner>essential-inputs-team@google.com</owner> + <summary> + The number of times each assistive action could be triggered according to + the surrounding text. This includes cases in InputMethod.Assistive.Coverage, + and also includes cases when the feature is turned off or there is + insufficient data. Recorded when the surrounding text could trigger + assistive actions. + </summary> +</histogram> + <histogram name="InputMethod.Assistive.Success" enum="IMEAssistiveAction" expires_after="2021-01-01"> <owner>jiwan@google.com</owner> @@ -67353,6 +69323,28 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="InputMethod.Assistive.UserPref.Emoji" enum="BooleanEnabled" + expires_after="2021-01-01"> + <owner>myy@google.com</owner> + <owner>essential-inputs-team@google.com</owner> + <summary> + The user's preference for emoji suggestions. Recorded when + AssistiveSuggester is initialised. "Enabled" is logged as the + default value if the user didn't explicitly set it. + </summary> +</histogram> + +<histogram name="InputMethod.Assistive.UserPref.PersonalInfo" + enum="BooleanEnabled" expires_after="2021-01-01"> + <owner>myy@google.com</owner> + <owner>essential-inputs-team@google.com</owner> + <summary> + The user's preference for personal information suggestions. Recorded when + AssistiveSuggester is initialised. "Enabled" is logged as the + default value if the user didn't explicitly set it. + </summary> +</histogram> + <histogram name="InputMethod.AutoCorrectLevel" enum="IMECorrectionLevel" expires_after="2020-04-01"> <owner>essential-inputs-team@google.com</owner> @@ -67497,7 +69489,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="InputMethod.KeyEventLatency" units="ms" - expires_after="2020-08-01"> + expires_after="2020-12-01"> <owner>shend@chromium.org</owner> <owner>essential-inputs-team@google.com</owner> <summary>Time taken by the engine to handle a key event.</summary> @@ -67657,6 +69649,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>How long the virtual keyboard was visible.</summary> </histogram> +<histogram name="InputMethod.VirtualKeyboard.Emoji.TriggerType" + enum="VirtualKeyboardEmojiTriggerType" expires_after="M89"> + <owner>shend@chromium.org</owner> + <owner>essential-inputs-team@google.com</owner> + <summary>How emojis were inserted.</summary> +</histogram> + <histogram name="InputMethod.VirtualKeyboard.ErrorType" enum="VirtualKeyboardErrorTypeHashes" expires_after="2020-02-01"> <owner>essential-inputs-team@google.com</owner> @@ -68221,6 +70220,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="InstanceID.GeneratedNewID" enum="BooleanHit" expires_after="M85"> + <obsolete> + Removed in 2020-06. + </obsolete> <owner>tschumann@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -69702,6 +71704,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="IOS.ContentRuleListProviderUpdateSuccess" + enum="BooleanSuccess" expires_after="2020-12-31"> + <owner>rkgibson@google.com</owner> + <owner>gambard@chromium.org</owner> + <summary> + When the content rule list provider updates its lists, this can succeed or + fail. Failure occurs when the rule lists are updated again before the first + update finishes. + </summary> +</histogram> + <histogram name="IOS.Cookies.GetCookiesForURLCallResult" enum="IOSGetCookiesForURLCallResult" expires_after="2020-06-14"> <owner>mrefaat@chromium.org</owner> @@ -69808,6 +71821,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="IOS.CredentialExtension.Service.Error.ReplaceCredentialIdentitiesWithIdentities" + enum="iOSCredentialIdentityStoreErrorForReporting" + expires_after="2021-06-22"> + <owner>javierrobles@chromium.org</owner> + <owner>djean@chromium.org</owner> + <summary> + Recorded when a request to replace identities in ASCredentialIdentityStore + fails. + </summary> +</histogram> + <histogram name="IOS.CredentialExtension.ShowPasswordCount" units="count" expires_after="2021-01-31"> <owner>javierrobles@chromium.org</owner> @@ -69952,6 +71977,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="IOS.JavascriptContentBlockFailure" + enum="IOSJavascriptContentBlockType" expires_after="2020-12-31"> + <owner>rkgibson@google.com</owner> + <owner>gambard@chromium.org</owner> + <summary> + IOS Content Blocking uses special injected Javascript to block access to + things like cookies and local storage. Future changes to iOS/WebKit could + cause these blocks to break. This logs that occurrence. + </summary> +</histogram> + <histogram name="IOS.MailtoURLRewritten" enum="Boolean" expires_after="2018-12-04"> <obsolete> @@ -69975,6 +72011,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="IOS.MultiWindow.OpenInNewWindow" enum="WindowActivityOrigin" + expires_after="2021-06-30"> + <owner>marq@chromium.org</owner> + <owner>djean@chromium.org</owner> + <summary> + The source of "Open in new Window" user requests. Recorded when a + newly created window is added to a session. + </summary> +</histogram> + <histogram name="IOS.NTP.Impression" enum="IOSNTPImpression" expires_after="2020-11-01"> <owner>gambard@chromium.org</owner> @@ -69994,13 +72040,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="IOS.PageLoadCount.Counts" - enum="IOSPageLoadCountNavigationType" expires_after="2020-10-04"> + enum="IOSPageLoadCountNavigationType" expires_after="2020-12-06"> <owner>danyao@chromium.org</owner> <summary>The number of navigation started events by navigation type.</summary> </histogram> <histogram name="IOS.PageLoadCount.LoadingStarted" units="units" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>danyao@chromium.org</owner> <summary> The "true" value of this boolean histogram counts the number of @@ -70196,7 +72242,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="IOS.StoreKit.ITunesURLsHandlingResult" - enum="IOSITunesURLsStoreKitHandlingResult" expires_after="2020-07-01"> + enum="IOSITunesURLsStoreKitHandlingResult" expires_after="2021-06-23"> <owner>mrefaat@chromium.org</owner> <owner>eugenebut@chromium.org</owner> <summary> @@ -70337,6 +72383,29 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="IsolatedPrerender.AfterClick.Mainframe.CookieWaitTime" + units="ms" expires_after="M90"> + <owner>robertogden@chromium.org</owner> + <owner>ryansturm@chromium.org</owner> + <owner>tbansal@chromium.org</owner> + <summary> + Records the amount of time that the navigation to a previously prefetched + page was delayed because cookies had to be copied from the isolated cookie + jar. + </summary> +</histogram> + +<histogram name="IsolatedPrerender.AfterClick.Subresources.UsedCache" + enum="BooleanCacheHit" expires_after="M90"> + <owner>robertogden@chromium.org</owner> + <owner>ryansturm@chromium.org</owner> + <owner>tbansal@chromium.org</owner> + <summary> + Records whether a previously prefetched subresource from an Isolated + Prerender was served from cache when its page was later navigated to. + </summary> +</histogram> + <histogram name="IsolatedPrerender.Prefetch.Mainframe.BodyLength" units="bytes" expires_after="M90"> <owner>robertogden@chromium.org</owner> @@ -70361,6 +72430,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="IsolatedPrerender.Prefetch.Mainframe.CookiesToCopy" + units="count" expires_after="M90"> + <owner>robertogden@chromium.org</owner> + <owner>ryansturm@chromium.org</owner> + <owner>tbansal@chromium.org</owner> + <summary> + Records the number of cookies that needed to be copied from the prefetch + navigation to the user's profile after a prefetched link is navigated to. + </summary> +</histogram> + <histogram name="IsolatedPrerender.Prefetch.Mainframe.NetError" enum="NetErrorCodes" expires_after="M90"> <owner>robertogden@chromium.org</owner> @@ -70409,6 +72489,40 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="IsolatedPrerender.Prefetch.Subresources.NetError" + enum="NetErrorCodes" expires_after="M90"> + <owner>robertogden@chromium.org</owner> + <owner>ryansturm@chromium.org</owner> + <owner>tbansal@chromium.org</owner> + <summary> + Records the net error encountered when prefetching a single subresource + during Isolated Prerenders. + </summary> +</histogram> + +<histogram name="IsolatedPrerender.Prefetch.Subresources.Quantity" + units="count" expires_after="M90"> + <owner>robertogden@chromium.org</owner> + <owner>ryansturm@chromium.org</owner> + <owner>tbansal@chromium.org</owner> + <summary> + Records the number of subresources that were NoStatePrefetch'd during an + Isolated Prerender. Recorded once for each page that is NoStatePrefetch'd + during Isolated Prerenders. + </summary> +</histogram> + +<histogram name="IsolatedPrerender.Prefetch.Subresources.RespCode" + enum="HttpResponseCode" expires_after="M90"> + <owner>robertogden@chromium.org</owner> + <owner>ryansturm@chromium.org</owner> + <owner>tbansal@chromium.org</owner> + <summary> + Records the HTTP response code encountered when prefetching a single + subresource during Isolated Prerenders. + </summary> +</histogram> + <histogram name="JSDialogs.CharacterCount" units="characters" expires_after="2020-07-06"> <obsolete> @@ -70559,7 +72673,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="JSDialogs.Scheme" enum="NavigationScheme" - expires_after="2020-08-30"> + expires_after="2020-11-15"> <owner>avi@chromium.org</owner> <owner>carlosil@chromium.org</owner> <owner>meacer@chromium.org</owner> @@ -70835,7 +72949,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Keyboard.ShortcutViewer.StartupTime" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>jamescook@chromium.org</owner> <owner>msw@chromium.org</owner> <owner>wutao@chromium.org</owner> @@ -70847,7 +72961,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="KeyboardAccessory.AccessoryActionImpression" - enum="AccessoryAction" expires_after="2020-10-04"> + enum="AccessoryAction" expires_after="2020-12-06"> <owner>fhorschig@chromium.org</owner> <summary> Android only. Records whenever users faces an action in the accessory bar or @@ -70856,7 +72970,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="KeyboardAccessory.AccessoryActionSelected" - enum="AccessoryAction" expires_after="2020-10-04"> + enum="AccessoryAction" expires_after="2020-12-06"> <owner>fhorschig@chromium.org</owner> <summary> Android only. Records whenever users select an action in the accessory bar @@ -70893,6 +73007,27 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="KeyboardAccessory.AccessorySheetToggleClicked" + enum="AccessoryToggleType" expires_after="M86"> + <owner>ioanap@chromium.org</owner> + <owner>fhorschig@chromium.org</owner> + <summary> + Android only. Records how often the user clicks on a certain toggle when + opening an accessory sheet together with the state the toggle was in before + clicking. + </summary> +</histogram> + +<histogram name="KeyboardAccessory.AccessorySheetToggleImpression" + enum="AccessoryToggleType" expires_after="M86"> + <owner>ioanap@chromium.org</owner> + <owner>fhorschig@chromium.org</owner> + <summary> + Android only. Records how often the user sees a certain toggle when opening + an accessory sheet together with the state the toggle was in. + </summary> +</histogram> + <histogram name="KeyboardAccessory.AccessorySheetTriggered" enum="AccessorySheetTrigger" expires_after="2020-11-08"> <owner>fhorschig@chromium.org</owner> @@ -70903,6 +73038,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="KeyboardAccessory.DisabledSavingAccessoryImpressions" + enum="BooleanShown" expires_after="M86"> + <owner>ioanap@chromium.org</owner> + <owner>fhorschig@chromium.org</owner> + <summary> + Android only. Records the number of times that the keyboard accessory was + shown on a form for which saving is disabled (with a crossed-out key icon). + Recorded when the user focuses the password field. + + Note: Only the "Shown" bucket should contain samples. + </summary> +</histogram> + <histogram name="KeyboardAccessory.GeneratedPasswordDialog" enum="BooleanAccepted" expires_after="M77"> <obsolete> @@ -71035,7 +73183,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="LanguageSettings.Actions" enum="LanguageSettingsActionType" - expires_after="2020-08-17"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>googleo@chromium.org</owner> <summary> The actions taken on languages settings, recorded every time they happen. @@ -71044,37 +73193,51 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="LanguageSettings.PageImpression" - enum="LanguageSettingsPageType" expires_after="2020-11-08"> + enum="LanguageSettingsPageType" expires_after="2020-11-01"> + <owner>chrome-language@google.com</owner> <owner>googleo@chromium.org</owner> <summary>The type of panes which language settings loads.</summary> </histogram> <histogram name="LanguageUsage.AcceptLanguage" enum="LanguageCode" - expires_after="2020-10-14"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <owner>frechette@chromium.org</owner> <summary>Accept languages.</summary> </histogram> +<histogram name="LanguageUsage.AcceptLanguage.Count" units="units" + expires_after="2021-06-01"> + <owner>chrome-language@google.com</owner> + <owner>dvallet@chromium.org</owner> + <summary>The number of accepted languages in the user preferences.</summary> +</histogram> + <histogram name="LanguageUsage.ApplicationLanguage" enum="LanguageCode" - expires_after="2020-10-14"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <owner>frechette@chromium.org</owner> <summary>Application languages used for UI.</summary> </histogram> <histogram name="Launch.FlagsAtStartup" enum="LoginCustomFlags" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>asvitkine@chromium.org</owner> + <owner>ntfschr@chromium.org</owner> <summary> Logs which Chrome flags from about:flags were active on start up. Note that this flag is not really used on Chrome OS; on that platform, look at - Login.CustomFlags instead. + Login.CustomFlags instead. Android WebView supports flags differently than + most platforms, see + https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/developer-ui.md + for details. </summary> </histogram> <histogram name="Launch.HomeScreen" enum="LaunchFromHomeScreen" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>dominickn@chromium.org</owner> <owner>hartmanng@chromium.org</owner> <owner>peconn@chromium.org</owner> @@ -71084,7 +73247,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Launch.HomeScreenSource" enum="LaunchFromHomeScreenSource" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>dominickn@chromium.org</owner> <owner>hartmanng@chromium.org</owner> <owner>peconn@chromium.org</owner> @@ -71714,7 +73877,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Linux.GlibcVersion" enum="LinuxGlibcVersion" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>thestig@chromium.org</owner> <summary> The version of glibc used. (Linux only) Logged on each start up. @@ -71763,9 +73926,73 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="LiteVideo.CanApplyLiteVideo.HintCache.HasHint" + enum="BooleanAvailable" expires_after="M90"> + <owner>mcrouse@chromium.org</owner> + <owner>rajendrant@chromium.org</owner> + <summary> + Whether the LiteVideo hint cache contains hint for the host of the + navigation being considered for the LiteVideo optimization. Recorded for + every HTTP/HTTPS navigation. + </summary> +</histogram> + +<histogram name="LiteVideo.CanApplyLiteVideo.UserBlocklist" + enum="LiteVideoBlocklistReason" expires_after="M90"> + <owner>mcrouse@chromium.org</owner> + <owner>rajendrant@chromium.org</owner> + <summary> + When determining whether the LiteVideo should be attempted on a navigation, + the host could be blocklisted for various reasons. This reports the reason + the host of the navigation was blocklisted, or was allowed. Recorded for + every HTTP/HTTPS navigation. + </summary> +</histogram> + +<histogram name="LiteVideo.HintAgent.ActiveThrottleSize" units="count" + expires_after="M90"> + <owner>rajendrant@chromium.org</owner> + <owner>mcrouse@chromium.org</owner> + <summary> + Records the total count of media responses that were currently being + throttled. Recorded whenever a new response gets throttled. + </summary> +</histogram> + +<histogram name="LiteVideo.HintAgent.HasHint" units="boolean" + expires_after="M90"> + <owner>rajendrant@chromium.org</owner> + <owner>mcrouse@chromium.org</owner> + <summary> + Records whether the LiteVideo hint agent in the renderer process received + hints. + </summary> +</histogram> + +<histogram name="LiteVideo.OriginHints.ParseResult" enum="BooleanSuccess" + expires_after="M90"> + <owner>mcrouse@chromium.org</owner> + <owner>rajendrant@chromium.org</owner> + <summary> + Indicates whether the hints for configuring LiteVideo throttling provided + via Finch were successfully parsed and loaded for use. Android only, + recorded once per browser startup. + </summary> +</histogram> + +<histogram name="LiteVideo.URLLoader.ThrottleLatency" units="ms" + expires_after="M90"> + <owner>rajendrant@chromium.org</owner> + <owner>mcrouse@chromium.org</owner> + <summary> + Records how much a media response was throttled by LiteVideo. Recorded once + for each throttled response. + </summary> +</histogram> + <histogram name="LoadingPredictor.OptimizationHintsReceiveStatus" enum="LoadingPredictorOptimizationHintsReceiveStatus" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>sophiechang@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -71776,7 +74003,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="LoadingPredictor.PreconnectCount" units="origins" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>alexilin@chromium.org</owner> <summary> The number of origins that were preconnected for a page load. It includes @@ -71786,7 +74013,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="LoadingPredictor.PreconnectHitsPercentage" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>alexilin@chromium.org</owner> <summary> The percentage of origins that were preconnected and requested by a page @@ -71797,7 +74024,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="LoadingPredictor.PreconnectLearningCount" - units="origins" expires_after="2020-10-04"> + units="origins" expires_after="2020-12-06"> <owner>alexilin@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -71807,7 +74034,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="LoadingPredictor.PreconnectLearningPrecision" - units="%" expires_after="2020-10-04"> + units="%" expires_after="2020-12-06"> <owner>alexilin@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -71819,7 +74046,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="LoadingPredictor.PreconnectLearningRecall" - units="%" expires_after="2020-10-11"> + units="%" expires_after="2020-12-13"> <owner>alexilin@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -71842,7 +74069,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="LoadingPredictor.PreresolveCount" units="hosts" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>alexilin@chromium.org</owner> <summary> The number of hosts that were preresolved for a page load. It includes only @@ -71965,6 +74192,75 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="LocalSearchService.Backend" enum="LocalSearchServiceBackend" + expires_after="2020-11-30"> +<!-- Name completed by histogram_suffixes name="IndexId" --> + + <owner>jiameng@chromium.org</owner> + <owner>tby@chromium.org</owner> + <owner>thanhdng@chromium.org</owner> + <owner>wrong@chromium.org</owner> + <summary> + Type of backend requested from the Local Search Service. It is reported once + at the initialization of an Index. Chrome OS only. + </summary> +</histogram> + +<histogram name="LocalSearchService.DailySearch" units="count" + expires_after="2020-11-30"> +<!-- Name completed by histogram_suffixes name="IndexId" --> + + <owner>jiameng@chromium.org</owner> + <owner>tby@chromium.org</owner> + <owner>thanhdng@chromium.org</owner> + <owner>wrong@chromium.org</owner> + <summary> + Number of times the local search service has been requested to perform a + search on a device. Reported daily. The count is accumulated through the + day, spanning reboots, and sent once the system clock indicates that a full + day or more has passed since the last report. If the system is suspended or + off for more than a day, the current count will be reported the next time + the system boots, but the skipped days will not be reported. Chrome OS only. + </summary> +</histogram> + +<histogram name="LocalSearchService.MetricsDailyEventInterval" + enum="DailyEventIntervalType" expires_after="2020-11-30"> + <owner>jiameng@chromium.org</owner> + <owner>tby@chromium.org</owner> + <owner>thanhdng@chromium.org</owner> + <owner>wrong@chromium.org</owner> + <summary> + Reasons why local search daily metrics were reported. Chrome OS only. + </summary> +</histogram> + +<histogram name="LocalSearchService.NumberResults" units="count" + expires_after="2020-11-30"> +<!-- Name completed by histogram_suffixes name="IndexId" --> + + <owner>jiameng@chromium.org</owner> + <owner>tby@chromium.org</owner> + <owner>thanhdng@chromium.org</owner> + <owner>wrong@chromium.org</owner> + <summary> + Number of results for each successful search. Chrome OS only. + </summary> +</histogram> + +<histogram name="LocalSearchService.ResponseStatus" + enum="LocalSearchServiceResponseStatus" expires_after="2020-11-30"> +<!-- Name completed by histogram_suffixes name="IndexId" --> + + <owner>jiameng@chromium.org</owner> + <owner>tby@chromium.org</owner> + <owner>thanhdng@chromium.org</owner> + <owner>wrong@chromium.org</owner> + <summary> + Search request response status for Cros Settings. Chrome OS only. + </summary> +</histogram> + <histogram name="LocalStorage.BrowserLocalStorageCachePurgedInKB" units="KB" expires_after="M77"> <owner>ssid@chromium.org</owner> @@ -72267,7 +74563,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Login.FailureReason" enum="LoginFailureReason" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>achuith@chromium.org</owner> <summary>Chrome OS login failure reason.</summary> </histogram> @@ -72281,6 +74577,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Login.MountNamespaceCreationSuccess" enum="Boolean" + expires_after="2020-12-01"> + <owner>betuls@chromium.org</owner> + <owner>jorgelo@chromium.org</owner> + <owner>chromeos-security-core@google.com</owner> + <summary> + Mount Namespace creation success status. Reported every time user signs in. + </summary> +</histogram> + <histogram name="Login.NewUserPriorityPrefsSyncResult" enum="NewUserPriorityPrefsSyncResult" expires_after="M85"> <owner>alemate@chromium.org</owner> @@ -72312,8 +74618,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Login.PasswordChanged.ReauthReason" enum="LoginReauthReasons" + expires_after="2021-01-01"> + <owner>rsorokin@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Tracks the reason why a user was sent through the GAIA re-auth flow which + caused the local password change. + </summary> +</histogram> + <histogram name="Login.PasswordChangeFlow" enum="LoginPasswordChangeFlow" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>xiyuan@chromium.org</owner> <owner>omrilio@chromium.org</owner> <summary> @@ -72321,6 +74637,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Login.PasswordNotChanged.ReauthReason" + enum="LoginReauthReasons" expires_after="2021-01-01"> + <owner>rsorokin@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Tracks the reason why a user was sent through the GAIA re-auth flow which + did not cause the local password change. + </summary> +</histogram> + <histogram name="Login.PolicyFilesStatePerBoot" enum="LoginPolicyFilesState" expires_after="M81"> <owner>cmasone@chromium.org</owner> @@ -72328,17 +74654,21 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Login.PromptToCompleteLoginTime" units="ms" - expires_after="2020-10-25"> + expires_after="2021-01-01"> + <owner>rsorokin@chromium.org</owner> <owner>achuith@chromium.org</owner> + <owner>cros-oac@google.com</owner> <summary> Time from first display of the login prompt until the user completes signing in. </summary> </histogram> -<histogram name="Login.PromptToLoginTime" units="ms" expires_after="2020-10-11"> +<histogram name="Login.PromptToLoginTime" units="ms" expires_after="2021-01-01"> <owner>elijahtaylor@google.com</owner> <owner>yusukes@chromium.org</owner> + <owner>rsorokin@chromium.org</owner> + <owner>cros-oac@google.com</owner> <summary> Time from first display of the login prompt until the existing user completes signing in. @@ -72347,6 +74677,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Login.ReauthReason" enum="LoginReauthReasons" expires_after="2020-09-27"> + <obsolete> + Removed in M85. Splitted in two: Login.PasswordChanged.ReauthReason and + Login.PasswordNotChanged.ReauthReason. + </obsolete> <owner>achuith@chromium.org</owner> <summary> Tracks the reason why a user was sent through the GAIA re-auth flow. @@ -72354,7 +74688,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Login.SessionExitType" enum="LoginSessionExitType" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>iby@chromium.org</owner> <summary> Tracks whether a ChromeOS user was logged out because Chrome repeatedly @@ -72369,7 +74703,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Login.SuccessReason" enum="LoginSuccessReason" - expires_after="2020-10-04"> + expires_after="2020-12-13"> <owner>achuith@chromium.org</owner> <summary>Chrome OS login success reason.</summary> </histogram> @@ -72437,7 +74771,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Login.UserType" enum="LoginUserType" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>cmasone@chromium.org</owner> <summary> Chrome OS histogram that keeps track of the way a user logs in and whether @@ -72478,7 +74812,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MachineLearningService.CpuUsageMilliPercent" - units="1/1000ths of %" expires_after="2020-10-11"> + units="1/1000ths of %" expires_after="2020-12-13"> <owner>alanlxl@chromium.org</owner> <owner>amoylan@chromium.org</owner> <summary> @@ -72569,7 +74903,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MachineLearningService.PeakTotalMemoryKb" units="KB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>alanlxl@chromium.org</owner> <owner>amoylan@chromium.org</owner> <owner>honglinyu@chromium.org</owner> @@ -72622,7 +74956,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MachineLearningService.TotalMemoryKb" units="KB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>alanlxl@chromium.org</owner> <owner>amoylan@chromium.org</owner> <owner>honglinyu@chromium.org</owner> @@ -72662,10 +74996,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ManagedUsers.FilteringResult" - enum="SupervisedUserSafetyFilterResult" expires_after="M85"> - <owner>treib@chromium.org</owner> - <owner>escordeiro@chromium.org</owner> - <owner>menegola@chromium.org</owner> + enum="SupervisedUserSafetyFilterResult" expires_after="2021-06-02"> + <owner>agawronska@chromium.org</owner> + <owner>cros-families@google.com</owner> <summary> The counts of results from supervised user URL filtering. Each entry includes the outcome of the filter (i.e. allowed, blocked, or unknown) and @@ -72743,10 +75076,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ManagedUsers.Whitelist.Count" units="whitelists" - expires_after="M85"> - <owner>treib@chromium.org</owner> - <owner>escordeiro@chromium.org</owner> - <owner>menegola@chromium.org</owner> + expires_after="2021-06-02"> + <owner>agawronska@chromium.org</owner> + <owner>cros-families@google.com</owner> <summary> The number of whitelists installed for a supervised user. Recorded at every profile startup. @@ -72755,6 +75087,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="ManagedUsers.Whitelist.JsonParseDuration" units="ms" expires_after="M85"> + <obsolete> + Removed in M85. + </obsolete> <owner>treib@chromium.org</owner> <owner>escordeiro@chromium.org</owner> <owner>menegola@chromium.org</owner> @@ -72766,6 +75101,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="ManagedUsers.Whitelist.ReadDuration" units="ms" expires_after="M85"> + <obsolete> + Removed in M85. + </obsolete> <owner>treib@chromium.org</owner> <owner>escordeiro@chromium.org</owner> <owner>menegola@chromium.org</owner> @@ -72776,6 +75114,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="ManagedUsers.Whitelist.TotalLoadDuration" units="ms" expires_after="M85"> + <obsolete> + Removed in M85. + </obsolete> <owner>treib@chromium.org</owner> <owner>escordeiro@chromium.org</owner> <owner>menegola@chromium.org</owner> @@ -72786,7 +75127,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Manifest.FetchResult" enum="ManifestFetchResultType" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>mgiuca@chromium.org</owner> <owner>mlamouri@chromium.org</owner> <summary> @@ -72827,8 +75168,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ManualFallback.PresentedOptions.AllPasswords" - units="Credentials" expires_after="2020-10-11"> + units="Credentials" expires_after="2021-01-15"> <owner>javierrobles@chromium.org</owner> + <owner>gambard@chromium.org</owner> <summary> Tracks the number of credentials presented to the user in the "Use other password..." view in Manual Fallback. This is logged everytime @@ -72837,8 +75179,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ManualFallback.PresentedOptions.CreditCards" units="Cards" - expires_after="2020-10-11"> + expires_after="2021-01-15"> <owner>javierrobles@chromium.org</owner> + <owner>gambard@chromium.org</owner> <summary> Tracks the number of cards presented to the user in Manual Fallback. This is logged everytime the user opens this view. @@ -72846,8 +75189,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ManualFallback.PresentedOptions.Passwords" units="Credentials" - expires_after="2020-10-11"> + expires_after="2021-01-15"> <owner>javierrobles@chromium.org</owner> + <owner>gambard@chromium.org</owner> <summary> Tracks the number of credentials presented to the user in the Passwords Manual Fallback view. This is logged everytime the user opens this view. @@ -72855,8 +75199,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ManualFallback.PresentedOptions.Profiles" units="Profiles" - expires_after="2020-10-11"> + expires_after="2021-01-15"> <owner>javierrobles@chromium.org</owner> + <owner>gambard@chromium.org</owner> <summary> Tracks the number of profiles presented to the user in Manual Fallback. This is logged everytime the user opens this view. @@ -72864,8 +75209,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ManualFallback.VisibleSuggestions.OpenCreditCards" - units="Suggestions" expires_after="2020-06-30"> + units="Suggestions" expires_after="2021-01-15"> <owner>javierrobles@chromium.org</owner> + <owner>gambard@chromium.org</owner> <summary> Tracks the number of autofill suggestions present when the user taps on the credit card button in manual fallback. @@ -72873,8 +75219,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ManualFallback.VisibleSuggestions.OpenPasswords" - units="Suggestions" expires_after="2020-06-30"> + units="Suggestions" expires_after="2021-01-15"> <owner>javierrobles@chromium.org</owner> + <owner>gambard@chromium.org</owner> <summary> Tracks the number of password suggestions present when the user taps on the password button in manual fallback. @@ -72882,8 +75229,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ManualFallback.VisibleSuggestions.OpenProfiles" - units="Suggestions" expires_after="2020-06-30"> + units="Suggestions" expires_after="2021-01-15"> <owner>javierrobles@chromium.org</owner> + <owner>gambard@chromium.org</owner> <summary> Tracks the number of autofill suggestions present when the user taps on the profiles (address) button in manual fallback. @@ -73042,7 +75390,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Audio.ActualInputBufferFrameSizeMac" units="units" - expires_after="2020-07-01"> + expires_after="2021-07-01"> <owner>henrika@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -73054,7 +75402,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Audio.AudioUnitRenderHasWorkedMac" - enum="BooleanEverWorked" expires_after="2020-07-01"> + enum="BooleanEverWorked" expires_after="2021-07-01"> <owner>henrika@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -73315,6 +75663,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.Audio.Capture.StreamBrokerDisconnectReason" enum="AudioInputStreamDisconnectReason" expires_after="2020-08-01"> + <obsolete> + Removed June 2020. + </obsolete> <owner>maxmorin@chromium.org</owner> <owner>olka@chromium.org</owner> <summary> @@ -73424,8 +75775,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Audio.Capture.Win.InitError" enum="Hresult" - expires_after="M82"> + expires_after="2021-01-01"> <owner>tommi@chromium.org</owner> + <owner>guidou@chromium.org</owner> + <owner>olka@chromium.org</owner> <summary> Error codes from IAudioClient::Initialize() in WASAPIAudioInputStream::InitializeAudioEngine on Windows. @@ -73433,8 +75786,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Audio.Capture.Win.InitError.FormatRelated" - enum="AudioStreamFormatRelatedInitError" expires_after="M85"> - <owner>grunell@chromium.org</owner> + enum="AudioStreamFormatRelatedInitError" expires_after="2021-01-01"> + <owner>guidou@chromium.org</owner> + <owner>olka@chromium.org</owner> <summary> Errors from IAudioClient::Initialize() in WASAPIAudioInputStream::InitializeAudioEngine on Windows that are related to @@ -73556,8 +75910,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Audio.InputStartupSuccessMac" enum="BooleanSuccess" - expires_after="M85"> + expires_after="2021-07-01"> <owner>henrika@chromium.org</owner> + <owner>webrtc-audio@google.com</owner> <summary> Indicates if audio capturing did start after stream startup was requested. Sampled once, a few seconds after a stream has been asked to start. @@ -73615,7 +75970,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Audio.LogicalProcessorsMac" units="units" - expires_after="2020-07-01"> + expires_after="2021-07-01"> <owner>henrika@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -73689,8 +76044,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Audio.PhysicalProcessorsMac" units="units" - expires_after="M85"> + expires_after="2021-07-01"> <owner>henrika@chromium.org</owner> + <owner>webrtc-audio@google.com</owner> <summary> The number of physical processors/cores available on the Mac OSX device. Only sampled when Media.Audio.InputStartupSuccessMac reports 'Failure'. @@ -73765,7 +76121,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.Audio.Render.AudioInputsPerMixer.LatencyExact" units="inputs" expires_after="M85"> <obsolete> - Removed on April 2020. + Removed in June 2020. </obsolete> <owner>guidou@chromium.org</owner> <owner>olka@chromium.org</owner> @@ -73780,6 +76136,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.Audio.Render.AudioInputsPerMixer.LatencyInteractive" units="inputs" expires_after="M85"> + <obsolete> + Removed in June 2020. + </obsolete> <owner>olka@chromium.org</owner> <summary> Number of simultaneous inputs coming to the AudioRendererMixer which renders @@ -73792,6 +76151,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.Audio.Render.AudioInputsPerMixer.LatencyPlayback" units="inputs" expires_after="2020-04-05"> + <obsolete> + Removed in June 2020. + </obsolete> <owner>olka@chromium.org</owner> <summary> Number of simultaneous inputs coming to the AudioRendererMixer which renders @@ -73804,6 +76166,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.Audio.Render.AudioInputsPerMixer.LatencyRtc" units="inputs" expires_after="M85"> + <obsolete> + Removed in June 2020. + </obsolete> <owner>olka@chromium.org</owner> <summary> Number of simultaneous inputs coming to the AudioRendererMixer which renders @@ -74153,7 +76518,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Audio.RenderFailsWhenBufferSizeChangesMac" - enum="BooleanChanged" expires_after="2020-07-01"> + enum="BooleanChanged" expires_after="2021-07-01"> <owner>henrika@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -74165,7 +76530,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Audio.RequestedInputBufferFrameSizeMac" units="units" - expires_after="2020-07-01"> + expires_after="2021-07-01"> <owner>henrika@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -74286,8 +76651,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.AudioCapturerMissedReadDeadline" units="%" - expires_after="M85"> - <owner>grunell@chromium.org</owner> + expires_after="2021-06-01"> + <owner>gudou@chromium.org</owner> + <owner>olka@chromium.org</owner> <summary> The percentage of input audio data blocks that had to be buffered because there was not room in the shared memory ring buffer on the browser/renderer @@ -74362,8 +76728,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.AudioInputControllerSessionSilenceReport" - enum="AudioInputSilenceReport" expires_after="M85"> - <owner>grunell@chromium.org</owner> + enum="AudioInputSilenceReport" expires_after="2021-06-01"> + <owner>guidou@chromium.org</owner> + <owner>olka@chromium.org</owner> <summary> Every 15 seconds during the lifetime of an audio input stream, the sound level is measured, see AudioInputController::CheckAudioPower(). If the level @@ -74379,11 +76746,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.AudioInputDeviceManager" units="ms" expires_after="M85"> + <obsolete> + Removed 06/2020. No longer needed. + </obsolete> <owner>dalecurtis@chromium.org</owner> <summary>Measures the time taken for AudioInputDeviceManager::</summary> </histogram> <histogram name="Media.AudioOutputController" units="ms" expires_after="M85"> + <obsolete> + Removed 06/2020. No longer needed. + </obsolete> <owner>dalecurtis@chromium.org</owner> <summary>Measures the time taken for AudioOutputController::</summary> </histogram> @@ -74538,7 +76911,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.AudioOutputStreamProxy.StreamFormat" - enum="AudioOutputProxyStreamFormat" expires_after="M85"> + enum="AudioOutputProxyStreamFormat" expires_after="2021-01-01"> <owner>olka@chromium.org</owner> <summary> Records format used by AudioManager to create audio output stream proxy. If @@ -74613,8 +76986,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.AudioRendererMissedDeadline" units="%" - expires_after="M85"> + expires_after="2021-06-01"> <owner>dalecurtis@chromium.org</owner> + <owner>olka@chromium.org</owner> <summary> Percentage of AudioSyncReader::Read() calls where the renderer missed its realtime deadline. @@ -74866,8 +77240,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.AVDA.FrameInformation" enum="AVDAFrameInformation" - expires_after="2020-04-05"> + expires_after="2020-09-05"> <owner>liberato@chromium.org</owner> + <owner>videostack-eng@chromium.org</owner> <summary> Record a count for each frame sent to the client by AVDA, separated by what type of frame it is: Non Overlay, secure overlay, etc. @@ -74875,8 +77250,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.AVDA.FrameSentAsOverlay" enum="BooleanFrameAsOverlay" - expires_after="M85"> + expires_after="M86"> <owner>liberato@chromium.org</owner> + <owner>videostack-eng@chromium.org</owner> <summary> Record a count for each frame sent to the client by AVDA. True counts indicate that the frame was an overlay (SurfaceView). False counts are for @@ -74991,6 +77367,43 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Media.Capabilities.DecodingInfo.Time.Video" units="ms" + expires_after="2021-01-15"> + <owner>chcunningham@chromium.org</owner> + <owner>mlamouri@google.com</owner> + <owner>media-dev@chromium.org</owner> + <summary> + Time spent between receiving a decodingInfo() call and resolving it. It only + record successful calls and ignores audio-only. + </summary> +</histogram> + +<histogram name="Media.Capabilities.DecodingInfo.Time.Video.Clear" units="ms" + expires_after="2021-01-15"> + <owner>chcunningham@chromium.org</owner> + <owner>mlamouri@google.com</owner> + <owner>media-dev@chromium.org</owner> + <summary> + Time spent between receiving a decodingInfo() call and resolving it. It only + record successful calls and ignores audio-only. This is a subset of + Media.Capabilities.DecodingInfo.RequestTime.Video that only takes into + account clear content. + </summary> +</histogram> + +<histogram name="Media.Capabilities.DecodingInfo.Time.Video.Encrypted" + units="ms" expires_after="2021-01-15"> + <owner>chcunningham@chromium.org</owner> + <owner>mlamouri@google.com</owner> + <owner>media-dev@chromium.org</owner> + <summary> + Time spent between receiving a decodingInfo() call and resolving it. It only + record successful calls and ignores audio-only. This is a subset of + Media.Capabilities.DecodingInfo.RequestTime.Video that only takes into + account encrypted content. + </summary> +</histogram> + <histogram name="Media.ChromeArcVideoDecodeAccelerator.InitializeResult" enum="ArcVideoDecodeAcceleratorResult" expires_after="2017-12-19"> <obsolete> @@ -75006,6 +77419,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.ChromeCast.DelayedAndDroppedFramesPer5Sec" units="frames/5s" expires_after="M85"> + <obsolete> + Not collected as of M83. + </obsolete> <owner>mfoltz@chromium.org</owner> <summary> The average number of delayed and dropped frames for the ChromeCast @@ -75027,6 +77443,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.ChromeCast.TimeToBufferAv" units="ms" expires_after="M85"> + <obsolete> + Not collected as of M83. + </obsolete> <owner>mfoltz@chromium.org</owner> <summary> Time needed to pre-buffer A/V data before the actual playback for the @@ -75036,6 +77455,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.ChromeCast.TimeToBufferAvAfterAbort" units="ms" expires_after="M85"> + <obsolete> + Not collected as of M83. + </obsolete> <owner>mfoltz@chromium.org</owner> <summary> Time needed to buffer A/V data after an abort for the ChromeCast @@ -75045,6 +77467,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.ChromeCast.TimeToBufferAvAfterUnderrun" units="ms" expires_after="M85"> + <obsolete> + Not collected as of M83. + </obsolete> <owner>mfoltz@chromium.org</owner> <summary> Time needed to buffer A/V data after an underrun for the ChromeCast @@ -75053,7 +77478,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.CodecImage.CodecBufferWaitCoordinator.FrameTimedOut" - enum="BooleanTimedOut" expires_after="M85"> + enum="BooleanTimedOut" expires_after="M86"> <owner>vikassoni@chromium.org</owner> <owner>liberato@chromium.org</owner> <summary> @@ -75063,7 +77488,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.CodecImage.CodecBufferWaitCoordinator.WaitTimeForFrame" - units="ms" expires_after="M85"> + units="ms" expires_after="M86"> <owner>vikassoni@chromium.org</owner> <owner>liberato@chromium.org</owner> <summary> @@ -75235,7 +77660,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.D3D11.DecoderLifetimeProgression" - enum="D3D11LifetimeProgression" expires_after="2020-06-07"> + enum="D3D11LifetimeProgression" expires_after="2020-09-07"> <owner>liberato@chromium.org</owner> <owner>tmathmeyer@chromium.org</owner> <summary> @@ -75246,7 +77671,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.D3D11.WasVideoSupported" - enum="D3D11VideoNotSupportedReason" expires_after="2020-06-07"> + enum="D3D11VideoNotSupportedReason" expires_after="2020-09-07"> <owner>liberato@chromium.org</owner> <owner>sandersd@chromium.org</owner> <owner>tmathmeyer@chromium.org</owner> @@ -75588,13 +78013,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.EME.CdmLoadResult" enum="CdmLoadResult" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>xhwang@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary>The result from an attempt to load a library CDM.</summary> </histogram> -<histogram name="Media.EME.CdmLoadTime" units="ms" expires_after="2020-10-11"> +<histogram name="Media.EME.CdmLoadTime" units="ms" expires_after="2020-12-13"> <owner>xhwang@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary>The time spent to load a library CDM.</summary> @@ -75832,7 +78257,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.EME.RequestMediaKeySystemAccess" - enum="RequestMediaKeySystemAccessStatus" expires_after="2020-10-11"> + enum="RequestMediaKeySystemAccessStatus" expires_after="2020-12-13"> <owner>sandersd@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -75867,7 +78292,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.EME.Widevine.VideoCapability.HasEmptyRobustness" - enum="BooleanEmpty" expires_after="2020-10-11"> + enum="BooleanEmpty" expires_after="2020-12-13"> <owner>xhwang@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -76380,7 +78805,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.HardwareKeyPressed" enum="MediaHardwareKeyAction" - expires_after="2020-08-09"> + expires_after="2020-12-13"> <owner>steimel@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -76481,8 +78906,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Media.InputErrorMac" units="OSStatus" expires_after="M82"> +<histogram name="Media.InputErrorMac" units="OSStatus" + expires_after="2021-07-01"> <owner>tommi@chromium.org</owner> + <owner>webrtc-audio@google.com</owner> <summary> Error codes that we encounter while setting up an AUAudioInputStream on Mac. </summary> @@ -76499,8 +78926,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Media.InputStreamDuration" units="ms" expires_after="M85"> +<histogram name="Media.InputStreamDuration" units="ms" + expires_after="2021-07-01"> <owner>henrika@chromium.org</owner> + <owner>webrtc-audio@google.com</owner> <summary> Duration in milliseconds of low-latency audio input streams. Sampled when the stream is closed by the AudioInputController. @@ -76640,7 +79069,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.LinuxAudioIO" enum="LinuxAudioIO" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>dalecurtis@chromium.org</owner> <summary> Audio IO layer used by the Linux OS, sampled once at startup of the browser. @@ -76719,7 +79148,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.MeanTimeBetweenRebuffers" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>dalecurtis@chromium.org</owner> <summary> The total watch time (see Media.WatchTime) of a given playback divided by @@ -76892,7 +79321,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.MojoVideoDecoder.InitialPlaybackErrorCodecCounter" - units="instances" expires_after="2020-09-01"> + units="instances" expires_after="2020-12-13"> <owner>eugene@chromium.org</owner> <owner>liberato@chromium.org</owner> <summary> @@ -76903,7 +79332,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.MojoVideoDecoder.InitialPlaybackSuccessCodecCounter" - units="instances" expires_after="2020-09-01"> + units="instances" expires_after="2020-12-13"> <owner>eugene@chromium.org</owner> <owner>liberato@chromium.org</owner> <summary> @@ -76942,7 +79371,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Media.MSE.CodecChangeTime" units="ms" - expires_after="M85"> + expires_after="2020-10-11"> <owner>wolenetz@chromium.org</owner> <owner>sandersd@chromium.org</owner> <owner>media-dev@chromium.org</owner> @@ -76954,7 +79383,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.MSE.DemuxerDestructionTime" units="ms" - expires_after="M82"> + expires_after="2020-10-11"> <owner>wolenetz@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -76964,7 +79393,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.MSE.DetectedShakaPackagerInMp4" enum="BooleanDetected" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>dalecurtis@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77016,7 +79445,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.MSE.ExecutionContext" enum="MediaSourceExecutionContext" - expires_after="M81"> + expires_after="2020-10-11"> <owner>wolenetz@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77091,7 +79520,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.MSE.Mp4TrunSampleCount" units="samples" - expires_after="2020-06-07"> + expires_after="2020-10-11"> <owner>wolenetz@chromium.org</owner> <owner>sandersd@chromium.org</owner> <summary> @@ -77275,7 +79704,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Notification.ArtworkPresent" enum="Boolean" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>beccahughes@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77342,7 +79771,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Notification.Count" units="count" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>beccahughes@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77353,7 +79782,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Notification.MetadataPresent" - enum="MediaNotificationMetadata" expires_after="2020-10-11"> + enum="MediaNotificationMetadata" expires_after="2020-12-13"> <owner>beccahughes@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77364,7 +79793,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Notification.Source" enum="MediaNotificationSource" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>beccahughes@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77375,7 +79804,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Notification.UserAction" enum="MediaSessionAction" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>beccahughes@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77385,8 +79814,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.OutputStreamDuration" units="ms" - expires_after="2020-06-07"> - <owner>maxmorin@chromium.org</owner> + expires_after="2021-06-01"> + <owner>guidou@chromium.org</owner> + <owner>olka@chromium.org</owner> <summary> Duration of an audio output stream. Measured in AudioOutputController from when a stream is started until it is stopped. A stream is stopped when it is @@ -77445,7 +79875,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.PipelineStatus" enum="PipelineStatus" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>prabhur@chromium.org</owner> <owner>dalecurtis@chromium.org</owner> <summary> @@ -77478,7 +79908,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.PlaybackPower.BatteryDelta" - enum="MediaPlaybackPowerTypes" expires_after="2020-05-31"> + enum="MediaPlaybackPowerTypes" expires_after="2020-07-31"> <owner>liberato@chromium.org</owner> <owner>videostack-eng@chromium.org</owner> <summary> @@ -77496,7 +79926,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.PlaybackPower.ElapsedTime" - enum="MediaPlaybackPowerTypes" expires_after="2020-05-31"> + enum="MediaPlaybackPowerTypes" expires_after="2020-07-31"> <owner>liberato@chromium.org</owner> <owner>videostack-eng@chromium.org</owner> <summary> @@ -77554,39 +79984,52 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Remoting.AllowedByPage" enum="BooleanEnabled" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Tracks whether a web page allows content to be remoted.</summary> </histogram> -<histogram name="Media.Remoting.AudioBitrate" units="kbps" expires_after="M77"> +<histogram name="Media.Remoting.AudioBitrate" units="kbps" + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary> Measured audio content transfer bitrate while remoting content. </summary> </histogram> <histogram name="Media.Remoting.AudioChannelLayout" enum="ChannelLayout" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Audio channel layout used while remoting content.</summary> </histogram> <histogram name="Media.Remoting.AudioCodec" enum="AudioCodec" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Audio codec used while remoting content.</summary> </histogram> <histogram name="Media.Remoting.AudioSamplesPerSecond" enum="AudioSampleRate" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Audio sampling rate while remoting audio content.</summary> </histogram> <histogram name="Media.Remoting.AudioSamplesPerSecondUnexpected" units="Hz" - expires_after="M85"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary> Audio sampling rate while remoting audio content (atypical values, in Hz). </summary> @@ -77640,28 +80083,37 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Media.Remoting.SessionDuration" units="ms" expires_after="M82"> +<histogram name="Media.Remoting.SessionDuration" units="ms" + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Measures the duration of each remoting session.</summary> </histogram> <histogram name="Media.Remoting.SessionStartTrigger" - enum="RemotingStartTrigger" expires_after="M77"> + enum="RemotingStartTrigger" expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Tracks the trigger for starting a remoting session.</summary> </histogram> <histogram name="Media.Remoting.SessionStopTrigger" enum="RemotingStopTrigger" - expires_after="M77"> + expires_after="2021-07-01"> <!-- Name completed by histogram_suffixes name="RemotingSessionDuration" --> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Tracks the trigger for stopping a remoting session.</summary> </histogram> <histogram name="Media.Remoting.ShortSessionDuration" units="ms" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary> Measures the duration of each remoting session shorter than 15 seconds. </summary> @@ -77680,8 +80132,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Remoting.TimeUntilFirstPlayout" units="ms" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary> Measures how long, from the start of a remoting session, until content began playing out on the remote device. @@ -77689,8 +80143,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Remoting.TimeUntilRemoteInitialized" units="ms" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary> Measures how long, from the start of a remoting session, until a message was received from the remote device indicating initialization succeeded. @@ -77698,8 +80154,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Remoting.TrackConfiguration" - enum="RemotingTrackConfiguration" expires_after="M77"> + enum="RemotingTrackConfiguration" expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Tracks whether audio or video or both are remoted.</summary> </histogram> @@ -77714,33 +80172,45 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Media.Remoting.VideoAspectRatio" units="%" expires_after="M77"> +<histogram name="Media.Remoting.VideoAspectRatio" units="%" + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Aspect ratio of video while remoting content.</summary> </histogram> -<histogram name="Media.Remoting.VideoBitrate" units="kbps" expires_after="M77"> +<histogram name="Media.Remoting.VideoBitrate" units="kbps" + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary> Measured video content transfer bitrate while remoting content. </summary> </histogram> <histogram name="Media.Remoting.VideoCodec" enum="VideoCodec" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Video codec used while remoting content.</summary> </histogram> <histogram name="Media.Remoting.VideoCodecProfile" enum="VideoCodecProfile" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Video codec profile used while remoting content.</summary> </histogram> <histogram name="Media.Remoting.VideoNaturalWidth" units="pixels" - expires_after="M77"> + expires_after="2021-07-01"> <owner>miu@chromium.org</owner> + <owner>jophba@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> <summary>Video width while remoting content.</summary> </histogram> @@ -77772,6 +80242,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Media.RTCVideoDecoderInitializationLatencyMs" units="ms" + expires_after="2020-12-26"> + <owner>kron@chromium.org</owner> + <owner>webrtc-video@google.com</owner> + <summary> + Initialization latency of the hardware video decoder that is used in the RTC + pipeline. + </summary> +</histogram> + <histogram name="Media.RTCVideoDecoderProfile" enum="VideoCodecProfile" expires_after="never"> <!-- expires-never: Codec and container support planning metric. --> @@ -77782,6 +80262,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Video codec profile used in RTC video decoder.</summary> </histogram> +<histogram name="Media.RTCVideoDecoderReinitializationLatencyMs" units="ms" + expires_after="2020-12-26"> + <owner>kron@chromium.org</owner> + <owner>webrtc-video@google.com</owner> + <summary> + Reinitialization latency of the hardware video decoder that is used in the + RTC pipeline. + </summary> +</histogram> + <histogram name="Media.RTCVideoEncoderInitEncodeSuccess" enum="BooleanSuccess" expires_after="never"> <!-- expires-never: WebRTC health metric. --> @@ -77815,7 +80305,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Media.Session.ActiveTime" units="ms" expires_after="M85"> +<histogram name="Media.Session.ActiveTime" units="ms" + expires_after="2021-06-01"> <owner>mlamouri@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77871,7 +80362,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Session.Pause" enum="MediaSessionActionSource" - expires_after="M85"> + expires_after="2021-06-01"> <owner>mlamouri@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77881,7 +80372,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Session.Play" enum="MediaSessionActionSource" - expires_after="M85"> + expires_after="2021-06-01"> <owner>mlamouri@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77891,7 +80382,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Session.RequestAudioFocusResult" enum="BooleanSuccess" - expires_after="M85"> + expires_after="2021-06-01"> <owner>mlamouri@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77900,7 +80391,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Session.Stop" enum="MediaSessionActionSource" - expires_after="M85"> + expires_after="2021-06-01"> <owner>mlamouri@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -77910,7 +80401,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.Session.Suspended" enum="MediaSessionSuspendedSource" - expires_after="M85"> + expires_after="2021-06-01"> <owner>mlamouri@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -78206,7 +80697,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Media.UnderflowDuration2" units="ms" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Media pipeline health metric. --> + <!-- Name completed by histogram_suffixes name="WebMediaPlayerImplTypes" --> <owner>dalecurtis@chromium.org</owner> @@ -78283,7 +80776,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.VAJDA.VppFailure" enum="VAJDAFailure" - expires_after="M85"> + expires_after="2020-12-01"> <owner>kamesan@chromium.org</owner> <owner>chromeos-gfx@chromium.org</owner> <summary> @@ -78558,6 +81051,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Media.Video.FullscreenOrientationLock.MetadataAvailability" enum="VideoFullscreenOrientationLockMetadataAvailability" expires_after="M85"> + <obsolete> + Removed from code as of 06/2020. + </obsolete> <owner>mlamouri@chromium.org</owner> <summary> Status of the metadata when attempting to lock the screen orientation for a @@ -79315,7 +81811,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Media.WatchTime" units="ms" expires_after="2020-10-11"> +<histogram name="Media.WatchTime" units="ms" expires_after="2020-12-13"> <owner>dalecurtis@chromium.org</owner> <summary> Watch time is defined as the amount of elapsed media time for audio+video @@ -79350,7 +81846,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.WebMediaPlayerImpl.HLS.HasAccessControl" enum="Boolean" - expires_after="2020-06-07"> + expires_after="2021-06-01"> <owner>sandersd@chromium.org</owner> <owner>tguilbert@chromium.org</owner> <summary> @@ -79362,7 +81858,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.WebMediaPlayerImpl.HLS.IsCorsCrossOrigin" enum="Boolean" - expires_after="2020-04-05"> + expires_after="2021-06-01"> <owner>sandersd@chromium.org</owner> <owner>tguilbert@chromium.org</owner> <summary> @@ -79374,7 +81870,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Media.WebMediaPlayerImpl.HLS.IsMixedContent" enum="Boolean" - expires_after="2020-04-05"> + expires_after="2021-06-01"> <owner>sandersd@chromium.org</owner> <owner>tguilbert@chromium.org</owner> <summary> @@ -79548,6 +82044,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Various usage counts for media galleries.</summary> </histogram> +<histogram name="MediaLauncherActivity.LaunchResult" enum="BooleanSuccess" + expires_after="2021-06-19"> + <owner>steimel@chromium.org</owner> + <owner>media-dev@chromium.org</owner> + <summary> + True if the MediaLauncherActivity was successfully able to open the file. + Recorded when the MediaLauncherActivity starts the CustomTabActivity. + </summary> +</histogram> + <histogram name="MediaLauncherActivity.MediaType" enum="MediaLauncherActivityMediaType" expires_after="2020-10-11"> <owner>steimel@chromium.org</owner> @@ -79571,7 +82077,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MediaRouter.Cast.Channel.ConnectResult" enum="BooleanSuccess" - expires_after="M85"> + expires_after="2021-07-01"> <owner>mfoltz@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -79581,7 +82087,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MediaRouter.Cast.Channel.Error" - enum="MediaRouterCastChannelError" expires_after="M85"> + enum="MediaRouterCastChannelError" expires_after="2021-07-01"> <owner>mfoltz@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -79592,7 +82098,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MediaRouter.Cast.Discovery.CachedSinksAvailableCount" - units="devices" expires_after="M85"> + units="devices" expires_after="2021-07-01"> <owner>btolsch@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -79602,7 +82108,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MediaRouter.Cast.Discovery.ConnectedDevicesCount" - units="devices" expires_after="M85"> + units="devices" expires_after="2021-07-01"> <owner>mfoltz@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -79612,7 +82118,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MediaRouter.Cast.Discovery.KnownDevicesCount" units="devices" - expires_after="M85"> + expires_after="2021-07-01"> <owner>mfoltz@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -79622,14 +82128,34 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MediaRouter.Cast.Discovery.SinkSource" - enum="MediaRouterCastSinkSource" expires_after="M85"> + enum="MediaRouterCastSinkSource" expires_after="2021-07-01"> <owner>btolsch@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary>The source of discovery for a newly-created Cast sink.</summary> </histogram> +<histogram name="MediaRouter.Cast.LaunchSessionRequest.SupportedAppTypes" + enum="ReceiverAppTypeSet" expires_after="2021-06-08"> + <owner>muyaoxu@google.com</owner> + <owner>openscreen-eng@google.com</owner> + <summary> + The types of apps supported by the sender page. Recorded when requesting the + receiver to launch a new session. + </summary> +</histogram> + +<histogram name="MediaRouter.Cast.LaunchSessionResponse.AppType" + enum="MediaRouterResponseReceiverAppType" expires_after="2021-06-08"> + <owner>muyaoxu@google.com</owner> + <owner>openscreen-eng@google.com</owner> + <summary> + The type of app that the receiver device choose to launch. Recorded when + receiving a receiver status response to the launch request. + </summary> +</histogram> + <histogram name="MediaRouter.Cast.Mdns.Channel.Open_Failure" units="ms" - expires_after="M85"> + expires_after="2021-07-01"> <owner>mfoltz@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -79639,7 +82165,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MediaRouter.Cast.Mdns.Channel.Open_Success" units="ms" - expires_after="M85"> + expires_after="2021-07-01"> <owner>mfoltz@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -79648,6 +82174,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="MediaRouter.CastStreaming.Audio.PlaybackOnReceiver" + enum="Boolean" expires_after="2021-07-01"> + <owner>takumif@chromium.org</owner> + <owner>muyaoxu@google.com</owner> + <owner>openscreen-eng@google.com</owner> + <summary> + Records whether audio is played on the receiver device. If not, then on the + sender side. Recorded when a new site-initiated mirroring session is + started. + </summary> +</histogram> + <histogram name="MediaRouter.CastStreaming.Session.Launch" units="ms" expires_after="2021-02-01"> <owner>takumif@chromium.org</owner> @@ -79694,6 +82232,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="MediaRouter.CastWebSenderExtensionLoaded" + enum="BooleanEnabled" expires_after="2021-02-01"> + <owner>rwkeane@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> + <summary> + Whenever a resource is loaded from the Media Router Component Extension, + this metric gets logged. The value for this metric is always true. + </summary> +</histogram> + <histogram name="MediaRouter.Cloud.PrefAtDialogOpen" enum="BooleanEnabled" expires_after="2021-02-01"> <owner>takumif@chromium.org</owner> @@ -80182,10 +82730,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.AudioService.PrivateSwapFootprint" units="MB" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>olka@chromium.org</owner> <owner>guidou@chromium.org</owner> - <owner>armax@chromium.org</owner> <summary> An amount of private memory of the audio service process placed in swap (VmSwap). Available only on Android and Linux. @@ -80207,10 +82754,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.AudioService.SharedMemoryFootprint" units="MB" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>olka@chromium.org</owner> <owner>guidou@chromium.org</owner> - <owner>armax@chromium.org</owner> <summary> A rough estimate of the shared memory footprint of the audio service process. Recorded once per UMA ping. @@ -80431,7 +82977,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.Browser.PrivateSwapFootprint" units="MB" - expires_after="2020-08-09"> + expires_after="2020-12-13"> <owner>erikchen@chromium.org</owner> <owner>ssid@chromium.org</owner> <summary> @@ -80454,7 +83000,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.Browser.SharedMemoryFootprint" units="MB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>erikchen@chromium.org</owner> <summary> A rough estimate of the shared memory footprint of the browser process. @@ -80516,6 +83062,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Memory.Coordinator.FreeMemoryUntilCritical" units="MB" expires_after="M85"> + <obsolete> + Obsolete as of 06/2020. + </obsolete> <owner>bashi@chromium.org</owner> <summary> Available free memory until the system will be in a critical state. Critical @@ -80768,7 +83317,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.Experimental.Extension2" units="MB" - expires_after="M85"> + expires_after="2020-10-11"> <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocator2" --> <owner>erikchen@chromium.org</owner> @@ -80792,7 +83341,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.Experimental.Extension2.Small" units="KB" - expires_after="M82"> + expires_after="2020-10-11"> <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorSmall2" --> <owner>erikchen@chromium.org</owner> @@ -80886,7 +83435,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.Experimental.NetworkService2" units="MiB" - expires_after="2020-05-06"> + expires_after="2020-10-11"> <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocator2" --> <owner>mmenke@chromium.org</owner> @@ -80910,7 +83459,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.Experimental.NetworkService2.Small" - units="KiB" expires_after="2020-08-09"> + units="KiB" expires_after="2020-10-11"> <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorSmall2" --> <owner>mmenke@chromium.org</owner> @@ -80990,6 +83539,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Memory.Experimental.OomIntervention.NavigationAfterDetectionTime" units="ms" expires_after="M85"> + <obsolete> + Obsolete as of 06/2020. + </obsolete> <owner>bashi@chromium.org</owner> <summary> Records the time elapsed between a near-OOM detection and when a navigation @@ -81012,6 +83564,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Memory.Experimental.OomIntervention.OomProtectedCrashAfterDetectionTime" units="ms" expires_after="M85"> + <obsolete> + Obsolete as of 06/2020. + </obsolete> <owner>bashi@chromium.org</owner> <summary> Records the time elapsed between a near-OOM detection and when an OOM @@ -81199,6 +83754,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Memory.Experimental.OomIntervention.RendererGoneAfterDetectionTime" units="ms" expires_after="M85"> + <obsolete> + Obsolete as of 06/2020. + </obsolete> <owner>bashi@chromium.org</owner> <summary> Records the time elapsed between a near-OOM detection and when a foreground @@ -81334,6 +83892,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Memory.Experimental.OomIntervention.UserDecision" enum="OomInterventionUserDecision" expires_after="M85"> + <obsolete> + Obsolete as of 06/2020. + </obsolete> <owner>bashi@chromium.org</owner> <summary>Records user decisions on near-OOM intervention.</summary> </histogram> @@ -81367,7 +83928,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.Experimental.Renderer" units="MB" - expires_after="2020-08-09"> + expires_after="2020-12-13"> <!-- Name completed by histogram_suffixes name="RendererMemoryAllocator" --> <owner>keishi@chromium.org</owner> @@ -81439,6 +84000,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Memory.Experimental.Renderer.PurgedMemory" units="MB" expires_after="M85"> + <obsolete> + Obsolete as of 06/2020. + </obsolete> <owner>bashi@chromium.org</owner> <summary> Amount of reclaimed memory (in terms of @@ -81448,7 +84012,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.Experimental.Renderer.Uptime" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>keishi@chromium.org</owner> <summary> The uptime of a render process in time ticks (excludes extensions). Emitted @@ -81468,7 +84032,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.Experimental.Renderer2" units="MB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocator2" --> <owner>erikchen@chromium.org</owner> @@ -81492,7 +84056,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.Experimental.Renderer2.Small" units="KB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <!-- Name completed by histogram_suffixes name="ProcessMemoryAllocatorSmall2" --> <owner>erikchen@chromium.org</owner> @@ -81557,7 +84121,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.Experimental.Total2.PrivateMemoryFootprint" units="MB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>erikchen@chromium.org</owner> <owner>ssid@chromium.org</owner> <summary> @@ -81578,7 +84142,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Memory.Experimental.UserLevelMemoryPressureSignal.RendererPrivateMemoryFootprintBefore" - units="MB" expires_after="2020-10-11"> + units="MB" expires_after="2020-12-13"> <owner>keishi@chromium.org</owner> <owner>tasak@chromium.org</owner> <summary> @@ -81797,6 +84361,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Memory.ExtensionProcessCount" units="processes" expires_after="M82"> + <obsolete> + Removed 06/2020. No direct replacement. For similar histograms see + Memory.RenderProcessHost.Count.*, Memory.RendererProcessCount and + Memory.ProcessCount. Old data has been preserved at (Google-internal) + https://docs.google.com/document/d/1QleZ5KhAbFZkv0In61sw7e2rWCaJ05dUCdV9DncJZ2E + </obsolete> <owner>creis@chromium.org</owner> <owner>nasko@chromium.org</owner> <summary> @@ -81838,7 +84408,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.GPU.PeakMemoryAllocationSource" units="KB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <!-- Name completed by a combination of the following two histogram_suffixes: --> <!-- histogram_suffixes name="GPU.PeakMemoryAllocationSourceBase" --> @@ -81856,7 +84426,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.GPU.PeakMemoryUsage" units="KB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <!-- Name completed by histogram_suffixes name="GPU.PeakMemoryUsage" --> <owner>graphics-dev@chromium.org</owner> @@ -81908,7 +84478,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.Gpu.SharedMemoryFootprint" units="MB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>erikchen@chromium.org</owner> <owner>ssid@chromium.org</owner> <summary> @@ -82029,7 +84599,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.NativeLibrary.MappedAndResidentMemoryFootprint2" - units="KB" expires_after="2020-10-11"> + units="KB" expires_after="2020-12-13"> <owner>msalama@google.com</owner> <owner>lizeb@chromium.org</owner> <summary> @@ -82040,8 +84610,22 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="Memory.NativeLibrary.MappedAndResidentMemoryFootprintCollectionStatus" + enum="MappedAndResidentPagesDumpState" expires_after="2020-12-13"> + <owner>lizeb@chromium.org</owner> + <owner>pasko@chromium.org</owner> + <summary> + Result of an attempt to read /proc/self/pagemap when determining the amount + of resident memory mapped by the current process. Reading the file is + performed as part of computing the + Memory.NativeLibrary.MappedAndResidentMemoryFootprint2 histogram. Recorded + once per UMA ping. Available only on Android. + </summary> +</histogram> + <histogram name="Memory.NativeLibrary.NotResidentOrderedCodeMemoryFootprint" - units="KB" expires_after="2020-10-11"> + units="KB" expires_after="2020-12-13"> <owner>lizeb@chromium.org</owner> <summary> The size of the native library code which was ordered, yet is not resident @@ -82065,7 +84649,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.NetworkService.PrivateMemoryFootprint" units="MiB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>mmenke@chromium.org</owner> <owner>morlovich@chromium.org</owner> <summary> @@ -82323,6 +84907,40 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Memory.ParkableString.DiskIsUsable.5min" enum="BooleanYesNo" + expires_after="M85"> + <owner>lizeb@chromium.org</owner> + <owner>pasko@chromium.org</owner> + <summary> + Whether the disk allocator is usable. Recorded at the same time as + "Memory.ParkableString.TotalSizeKb.5min". The disk may not be + usable for several reasons, including the profile being an Incognito one, + permssions error, or disk write error. + </summary> +</histogram> + +<histogram name="Memory.ParkableString.DiskReadTime.5min" units="ms" + expires_after="M87"> + <owner>lizeb@chromium.org</owner> + <owner>pasko@chromium.org</owner> + <summary> + Total main thread time used by ParkableStrings for reading over the first 5 + minutes of a renderer lifetime. Starting time is from the first + ParkableString being added. + </summary> +</histogram> + +<histogram name="Memory.ParkableString.DiskWriteTime.5min" units="ms" + expires_after="M87"> + <owner>lizeb@chromium.org</owner> + <owner>pasko@chromium.org</owner> + <summary> + Total time used by ParkableStrings for writing to disk over the first 5 + minutes of a renderer lifetime. Starting time is from the first + ParkableString being added. + </summary> +</histogram> + <histogram name="Memory.ParkableString.MainThreadTime.5min" units="ms" expires_after="M85"> <owner>lizeb@chromium.org</owner> @@ -82334,6 +84952,41 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Memory.ParkableString.MemorySavingsKb.5min" units="KB" + expires_after="M87"> + <owner>lizeb@chromium.org</owner> + <owner>pasko@chromium.org</owner> + <summary> + Sum of memory saved by compression and disk discarding, in KB. Recorded at + the same time as "Memory.ParkableString.TotalSizeKb.5min", when + disk discarding is enabled. + </summary> +</histogram> + +<histogram name="Memory.ParkableString.OnDiskFootprintKb.5min" units="KB" + expires_after="M87"> + <owner>lizeb@chromium.org</owner> + <owner>pasko@chromium.org</owner> + <summary> + Total disk footprint used by ParkableStrings including allocator waste, in + KB. Recorded once, 5 minutes after the first ParkableString is added to a + renderer, at the same time as + "Memory.ParkableString.MemorySavings.5min". + </summary> +</histogram> + +<histogram name="Memory.ParkableString.OnDiskSizeKb.5min" units="KB" + expires_after="M87"> + <owner>lizeb@chromium.org</owner> + <owner>pasko@chromium.org</owner> + <summary> + Total size of ParkableStrings discarded to disk, excluding allocator waste, + in KB. Recorded once, 5 minutes after the first ParkableString is added to a + renderer, at the same time as + "Memory.ParkableString.MemorySavings.5min". + </summary> +</histogram> + <histogram name="Memory.ParkableString.ParkingThreadTime.5min" units="ms" expires_after="M85"> <owner>lizeb@chromium.org</owner> @@ -82443,6 +85096,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Memory.PartitionAlloc.MainThreadTime.5min" units="ms" expires_after="M85"> + <obsolete> + Deprecated and removed from the code 06/2020. + </obsolete> <owner>lizeb@chromium.org</owner> <owner>pasko@chromium.org</owner> <summary> @@ -82545,7 +85201,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.PressureLevel" enum="MemoryPressureLevel" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>chrisha@chromium.org</owner> <summary> The memory pressure level, which is recorded periodically. This shows the @@ -82564,7 +85220,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Memory.PressureWindowDuration" units="ms" - expires_after="2020-08-31"> + expires_after="2020-12-13"> <!-- Name completed by histogram_suffixes name="Memory.Pressure.TransitionType" --> <owner>sebmarchand@chromium.org</owner> @@ -82577,7 +85233,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.ProcessCount" units="processes" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>creis@chromium.org</owner> <owner>nasko@chromium.org</owner> <summary> @@ -82686,7 +85342,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.Renderer.SharedMemoryFootprint" units="MB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>erikchen@chromium.org</owner> <owner>ssid@chromium.org</owner> <summary> @@ -82750,7 +85406,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.RendererProcessCount" units="processes" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>creis@chromium.org</owner> <owner>nasko@chromium.org</owner> <summary> @@ -82787,7 +85443,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.RenderProcessHost.Count.All" units="processes" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>alexmos@chromium.org</owner> <owner>creis@chromium.org</owner> <owner>lukasza@chromium.org</owner> @@ -82805,7 +85461,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.RenderProcessHost.Count.InitializedAndNotDead" - units="processes" expires_after="2020-10-11"> + units="processes" expires_after="2020-12-13"> <owner>alexmos@chromium.org</owner> <owner>creis@chromium.org</owner> <owner>lukasza@chromium.org</owner> @@ -83356,7 +86012,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.Total.RendererPrivateMemoryFootprint" units="MB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>tommckee@chromium.org</owner> <summary> A rough estimate of the private memory footprint of all renderer processes. @@ -83383,7 +86039,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Memory.Total.SharedMemoryFootprint" units="MB" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>erikchen@chromium.org</owner> <owner>ssid@chromium.org</owner> <summary> @@ -83599,6 +86255,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="MemoryPurgeController.ReclaimedPartitionAllocInactiveTab" units="KB" expires_after="M85"> + <obsolete> + Obsolete as of 06/2020. + </obsolete> <owner>bashi@chromium.org</owner> <summary>The amount of reclaimed memory after a tab became inactive.</summary> </histogram> @@ -83837,7 +86496,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Mobile.Legacy.Translate.Toggle.Delay" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>sczs@chromium.org</owner> <owner>thegreenfrog@chromium.org</owner> <summary> @@ -84018,6 +86677,33 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Mobile.Share.EntryPoints" enum="IOSActivityScenario" + expires_after="2021-06-01"> + <owner>seblalancette@chromium.org</owner> + <owner>chrome-sharing-core@google.com</owner> + <summary>Tracks which sharing entry point was triggered.</summary> +</histogram> + +<histogram name="Mobile.Share.QRCodeImage.Actions" enum="IOSShareAction" + expires_after="2021-06-01"> + <owner>seblalancette@chromium.org</owner> + <owner>chrome-sharing-core@google.com</owner> + <summary> + Tracks the sharing actions executed when the sharing scenario was initiated + for the generated QR code image. + </summary> +</histogram> + +<histogram name="Mobile.Share.TabShareButton.Actions" enum="IOSShareAction" + expires_after="2021-06-01"> + <owner>seblalancette@chromium.org</owner> + <owner>chrome-sharing-core@google.com</owner> + <summary> + Tracks the sharing actions executed when the sharing scenario was initiated + from the tab's share button. + </summary> +</histogram> + <histogram name="Mobile.Splash.TranslucencyRemovalFailed" enum="Boolean" expires_after="M88"> <owner>peconn@chromium.org</owner> @@ -84211,7 +86897,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="MobileDownload.Background.TargetDeterminationResult" enum="MobileDownloadBackgroundTargetDeterminationResult" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>qinmin@chromium.org</owner> <owner>xingliu@chromium.org</owner> <summary> @@ -84272,6 +86958,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="MobileDownload.DownloadLaterPromptStatus" + enum="DownloadLaterPromptStatus" expires_after="2021-06-01"> + <owner>xingliu@chromium.org</owner> + <owner>clank-downloads@google.com</owner> + <summary> + Android: Records whether download later dialog will be shown to the user. + Recorded when the download later preference is initialized in native. + </summary> +</histogram> + <histogram name="MobileDownload.DownloadPromptStatus" enum="DownloadPromptStatus" expires_after="2021-04-01"> <owner>xingliu@chromium.org</owner> @@ -84513,7 +87209,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MobileFre.Progress" enum="MobileFreProgress" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>bsazonov@chromium.org</owner> <owner>msarda@chromium.org</owner> <owner>droger@chromium.org</owner> @@ -84622,7 +87318,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MobileOmnibox.LongPressPasteAge" units="ms" - expires_after="2020-09-01"> + expires_after="2020-12-13"> <owner>gangwu@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> <summary> @@ -84645,7 +87341,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MobileOmnibox.PressedClipboardSuggestionAge" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>jdonnelly@chromium.org</owner> <owner>mpearson@chromium.org</owner> <summary> @@ -84867,6 +87563,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="MobileStartup.ToolbarFirstDrawTime2" units="ms" expires_after="2020-04-05"> + <obsolete> + No longer useful, deprecated in M82. + </obsolete> <owner>yusufo@chromium.org</owner> <summary> Android: The time it takes from launch to the completion of first draw for @@ -84876,6 +87575,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="MobileStartup.ToolbarFirstFocusStartupState" enum="MobileStartupToolbarFirstFocusStartupState" expires_after="M82"> + <obsolete> + No longer useful, deprecated in M82 (see https://crbug.com/1053190). + </obsolete> <owner>mheikal@chromium.org</owner> <summary> Android: The state of chrome startup at the first time the user focuses the @@ -84900,6 +87602,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="MobileStartup.ToolbarFirstFocusTime2" units="ms" expires_after="M82"> + <obsolete> + No longer useful, deprecated in M82. + </obsolete> <owner>pasko@chromium.org</owner> <summary> Android: The time it takes from launch to the first time the user focuses @@ -85027,7 +87732,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Mojo.Connector.MaxUnreadMessageQuotaUsed" units="messages" - expires_after="2020-10-01"> + expires_after="2020-12-13"> <owner>siggi@chromium.org</owner> <owner>rockot@chromium.org</owner> <summary> @@ -85375,7 +88080,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MPArch.ChildProcessLaunchFirst" units="units" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>ppi@chromium.org</owner> <summary> The time it takes to spawn the first child subprocess (including sandbox @@ -85384,7 +88089,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MPArch.ChildProcessLaunchSubsequent" units="units" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>ppi@chromium.org</owner> <summary> The time it takes to spawn child sub processes not counting the first one. @@ -85925,7 +88630,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="MultiProfile.UsersPerSessionIncremental" units="units" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>skuhne@chromium.org</owner> <summary> The number of users simultaneously signed into a multiprofile session on @@ -85968,7 +88673,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="NaCl.Client.OSArch" enum="NaClOSArchEnum" expires_after="M85"> +<histogram name="NaCl.Client.OSArch" enum="NaClOSArchEnum" + expires_after="2020-12-31"> <owner>dschuff@chromium.org</owner> <owner>adamk@chromium.org</owner> <owner>bbudge@chromium.org</owner> @@ -85987,7 +88693,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NaCl.HttpStatusCodeClass.Manifest.NotInstalledApp" - enum="NaClHttpStatusCodeClass" expires_after="M85"> + enum="NaClHttpStatusCodeClass" expires_after="2020-12-31"> <owner>dschuff@chromium.org</owner> <owner>adamk@chromium.org</owner> <owner>bbudge@chromium.org</owner> @@ -86178,7 +88884,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NaCl.Perf.PNaClCache.IsHit" enum="PNaClTranslationCacheEnum" - expires_after="M85"> + expires_after="2020-12-31"> <owner>dschuff@chromium.org</owner> <owner>adamk@chromium.org</owner> <owner>bbudge@chromium.org</owner> @@ -86375,7 +89081,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NaCl.Perf.StartupTime.NaClOverheadPerMB" - units="milliseconds/MB" expires_after="M85"> + units="milliseconds/MB" expires_after="2020-12-31"> <owner>dschuff@chromium.org</owner> <owner>adamk@chromium.org</owner> <owner>bbudge@chromium.org</owner> @@ -86398,7 +89104,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NaCl.Perf.StartupTime.NexeDownloadPerMB" - units="milliseconds/MB" expires_after="M85"> + units="milliseconds/MB" expires_after="2020-12-31"> <owner>dschuff@chromium.org</owner> <owner>adamk@chromium.org</owner> <owner>bbudge@chromium.org</owner> @@ -86408,7 +89114,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="NaCl.Perf.StartupTime.Total" units="ms" expires_after="M85"> +<histogram name="NaCl.Perf.StartupTime.Total" units="ms" + expires_after="2020-12-31"> <owner>dschuff@chromium.org</owner> <owner>adamk@chromium.org</owner> <owner>bbudge@chromium.org</owner> @@ -87083,9 +89790,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Navigation.LoadIfNecessaryType" - enum="NavigationNeedsReloadType" expires_after="M85"> + enum="NavigationNeedsReloadType" expires_after="never"> +<!-- expires-never: Generally useful metric on Android that tracks number of automatic tab reloads and their cause. --> + <owner>boliu@chromium.org</owner> <owner>alexmos@chromium.org</owner> + <owner>src/base/android/OWNERS</owner> <summary> The type of the source of a load from LoadIfNecessary. Recorded when LoadIfNecessary starts a page load. For example, on Android, @@ -87149,7 +89859,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Navigation.MainFrameHasRTLDomain" enum="Boolean" - expires_after="M85"> + expires_after="M88"> + <obsolete> + Removed from code June 2020. Replaced with + Navigation.MainFrameHasRTLDomain2. Navigation.MainFrameHasRTLDomain was + logged differently for iOS and Navigation.MainFrameHasRTLDomain2 does not + have this discrepancy. + </obsolete> + <owner>cthomp@chromium.org</owner> + <owner>security-enamel@chromium.org</owner> + <summary> + Whether the main-frame navigation was to a URL with an RTL domain name. This + is only recorded for finished navigations and not attempts. + </summary> +</histogram> + +<histogram name="Navigation.MainFrameHasRTLDomain2" enum="Boolean" + expires_after="M88"> <owner>cthomp@chromium.org</owner> <owner>security-enamel@chromium.org</owner> <summary> @@ -87159,7 +89885,27 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Navigation.MainFrameHasRTLDomainDifferentPage" enum="Boolean" - expires_after="M85"> + expires_after="M88"> + <obsolete> + Removed from code June 2020. Replaced with + Navigation.MainFrameHasRTLDomainDifferentPage2. + Navigation.MainFrameHasRTLDomainDifferentPage was logged differently for iOS + and Navigation.MainFrameHasRTLDomainDifferentPage2 does not have this + discrepancy. + </obsolete> + <owner>cthomp@chromium.org</owner> + <owner>security-enamel@chromium.org</owner> + <summary> + Whether the main-frame navigation was to a URL with an RTL domain name, + recorded for each main-frame avigation that replaces a document object. This + is not reported for reference fragment navigations, pushState/replaceState + or same page history navigation. This is only recorded for finished + navigations and not attempts. + </summary> +</histogram> + +<histogram name="Navigation.MainFrameHasRTLDomainDifferentPage2" enum="Boolean" + expires_after="M88"> <owner>cthomp@chromium.org</owner> <owner>security-enamel@chromium.org</owner> <summary> @@ -87172,7 +89918,22 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Navigation.MainFrameProfileType" enum="BrowserProfileType" - expires_after="M85"> + expires_after="2021-06-01"> + <obsolete> + Removed from code June 2020. Replaced with Navigation.MainFrameProfileType2. + Navigation.MainFrameProfileType was logged differently for iOS and + Navigation.MainFrameProfileType2 does not have this discrepancy. + </obsolete> + <owner>rhalavati@chromium.org</owner> + <owner>chrome-privacy-core@google.com</owner> + <summary> + The browser profile type for each main-frame navigation, recorded after + navigation completion, including NTP. + </summary> +</histogram> + +<histogram name="Navigation.MainFrameProfileType2" enum="BrowserProfileType" + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -87183,6 +89944,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Navigation.MainFrameScheme" enum="NavigationScheme" expires_after="M85"> + <obsolete> + Removed from code June 2020. Replaced with Navigation.MainFrameScheme2. + Navigation.MainFrameScheme was logged differently for iOS and + Navigation.MainFrameScheme2 does not have this discrepancy. + </obsolete> <owner>elawrence@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -87204,8 +89970,36 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Navigation.MainFrameScheme2" enum="NavigationScheme" + expires_after="M85"> + <owner>elawrence@chromium.org</owner> + <owner>estark@chromium.org</owner> + <summary> + The scheme of the URL for each main-frame navigation. This is only recorded + for finished navigations and not attempts. + </summary> +</histogram> + <histogram name="Navigation.MainFrameSchemeDifferentPage" enum="NavigationScheme" expires_after="M85"> + <obsolete> + Removed from code June 2020. Replaced with + Navigation.MainFrameSchemeDifferentPage2. + Navigation.MainFrameSchemeDifferentPage was logged differently for iOS and + Navigation.MainFrameSchemeDifferentPage2 does not have this discrepancy. + </obsolete> + <owner>elawrence@chromium.org</owner> + <owner>estark@chromium.org</owner> + <summary> + The scheme of the URL for each main-frame navigation that replaces a + document object. This is not reported for reference fragment navigations, + pushState/replaceState or same page history navigation. This is only + recorded for finished navigations and not attempts. + </summary> +</histogram> + +<histogram name="Navigation.MainFrameSchemeDifferentPage2" + enum="NavigationScheme" expires_after="M85"> <owner>elawrence@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -87218,6 +90012,25 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Navigation.MainFrameSchemeDifferentPageOTR" enum="NavigationScheme" expires_after="M85"> + <obsolete> + Removed from code June 2020. Replaced with + Navigation.MainFrameSchemeDifferentPageOTR2. + Navigation.MainFrameSchemeDifferentPageOTR was logged differently for iOS + and Navigation.MainFrameSchemeDifferentPageOTR2 does not have this + discrepancy. + </obsolete> + <owner>elawrence@chromium.org</owner> + <owner>estark@chromium.org</owner> + <summary> + The scheme of the URL for each main-frame navigation that replaces a + document object while in incognito. This is not reported for reference + fragment navigations, pushState/replaceState or same page history + navigation. This is only recorded for finished navigations and not attempts. + </summary> +</histogram> + +<histogram name="Navigation.MainFrameSchemeDifferentPageOTR2" + enum="NavigationScheme" expires_after="M85"> <owner>elawrence@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -87230,6 +90043,21 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Navigation.MainFrameSchemeOTR" enum="NavigationScheme" expires_after="M85"> + <obsolete> + Removed from code June 2020. Replaced with Navigation.MainFrameSchemeOTR2. + Navigation.MainFrameSchemeOTR was logged differently for iOS and + Navigation.MainFrameSchemeOTR2 does not have this discrepancy. + </obsolete> + <owner>elawrence@chromium.org</owner> + <owner>estark@chromium.org</owner> + <summary> + The scheme of the URL for each main-frame navigation while in incognito. + This is only recorded for finished navigations and not attempts. + </summary> +</histogram> + +<histogram name="Navigation.MainFrameSchemeOTR2" enum="NavigationScheme" + expires_after="M85"> <owner>elawrence@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -87688,7 +90516,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="NavigationPredictor.CountOfURLsInPredictedSet" - units="count" expires_after="M85"> + units="count" expires_after="M89"> <owner>tbansal@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <summary> @@ -88420,6 +91248,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NCN.GetConnectionTypeTime" units="ms" expires_after="M85"> + <obsolete> + Code removed long ago. + </obsolete> <owner>pauljensen@chromium.org</owner> <summary> How long does each call to NetworkChangeNotifier::GetConnectionType() take. @@ -88525,7 +91356,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NCN.NetworkOperatorMCCMNC" units="units" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbansal@chromium.org</owner> <owner>bengr@google.com</owner> <summary> @@ -88617,7 +91448,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.AlternateProtocolBrokenLocation" - enum="BrokenAlternateProtocolLocation" expires_after="M85"> + enum="BrokenAlternateProtocolLocation" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -88626,7 +91457,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.AlternateProtocolUsage" enum="AlternateProtocolUsage" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -88663,9 +91494,20 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.AlternateProtocolUsageGoogle" + enum="AlternateProtocolUsage" expires_after="2021-05-11"> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + Breakdown of how requests which could potentially make use of an alternate + protocol use or don't use the protocol, for connections to Google servers. + </summary> +</histogram> + <histogram name="Net.AlternateServiceFailed" enum="NetErrorCodes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>tbansal@chromium.org</owner> + <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> Positive net error codes that failed alternative protocol requests end with. @@ -88722,7 +91564,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.AlternativeServiceTypeForRequest" - enum="AlternativeServiceType" expires_after="M92"> + enum="AlternativeServiceType" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -89030,6 +91872,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.CertCommonNameFallback" enum="BooleanCommonNameMatch" expires_after="M85"> + <obsolete> + Fallback code removed 2018-01-23. + </obsolete> <owner>rsleevi@chromium.org</owner> <summary> Whether the certificate common name was used for matching the hostname, @@ -89041,6 +91886,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.CertCommonNameFallbackPrivateCA" enum="BooleanCommonNameMatch" expires_after="M85"> + <obsolete> + Fallback code removed 2018-01-23. + </obsolete> <owner>rsleevi@chromium.org</owner> <summary> Whether the certificate common name was used for matching the hostname, @@ -89174,7 +92022,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.Certificate.TrustAnchor.VerifyOutOfDate" - enum="BooleanOutOfDate" expires_after="M85"> + enum="BooleanOutOfDate" expires_after="never"> +<!-- expires-never: Used for CA risk assessment ( https://goto.google.com/chrome-root-ca-stats ) --> + <owner>rsleevi@chromium.org</owner> <summary> This histogram is recorded every time Chrome successfully validates a @@ -89822,7 +92672,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.ConnectionInfo.MainFrame" enum="ConnectionInfo" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -89833,7 +92683,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.ConnectionInfo.SubResource" enum="ConnectionInfo" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -90113,7 +92963,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.Cors.AccessCheckError" enum="CorsAccessCheckError" - expires_after="M82"> + expires_after="M86"> <owner>toyoshim@chromium.org</owner> <owner>yhirano@chromium.org</owner> <summary> @@ -90124,7 +92974,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.Cors.AccessCheckResult" enum="CorsAccessCheckResult" - expires_after="M82"> + expires_after="M86"> <owner>toyoshim@chromium.org</owner> <owner>yhirano@chromium.org</owner> <summary> @@ -90189,7 +93039,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.Cors.PreflightCacheKeySize" units="bytes" - expires_after="M82"> + expires_after="M86"> <owner>toyoshim@chromium.org</owner> <owner>yhirano@chromium.org</owner> <summary> @@ -90199,7 +93049,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.Cors.PreflightCacheResult" enum="CorsPreflightCacheResult" - expires_after="M82"> + expires_after="M86"> <owner>toyoshim@chromium.org</owner> <owner>yhirano@chromium.org</owner> <summary> @@ -90250,7 +93100,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.Cors.PreflightCheckError" enum="CorsAccessCheckError" - expires_after="M82"> + expires_after="M86"> <owner>toyoshim@chromium.org</owner> <owner>yhirano@chromium.org</owner> <summary> @@ -90286,8 +93136,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.CountOfBrokenAlternativeServices" units="services" - expires_after="M85"> - <owner>wangyix@chromium.org</owner> + expires_after="2021-05-11"> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> The number of broken alternative services loaded from the prefs file on startup. Alternative services allow an origin server to specify additional @@ -90311,16 +93162,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.CountOfQuicServerInfos" units="configs" - expires_after="M85"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> This counts the number of server configs persisted in prefs file. </summary> </histogram> <histogram name="Net.CountOfRecentlyBrokenAlternativeServices" units="services" - expires_after="M85"> - <owner>wangyix@chromium.org</owner> + expires_after="2021-05-11"> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> The number of recently broken alternative services loaded from the prefs file on startup. Alternative services allow an origin server to specify @@ -90393,6 +93247,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.Cronet.CertVerifierCache.DeserializeTime" units="ms" expires_after="M85"> + <obsolete> + Removed 2018-06-29 in crrev.com/571588. + </obsolete> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -90403,6 +93260,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.Cronet.CertVerifierCache.SerializeTime" units="ms" expires_after="M85"> + <obsolete> + Removed 2018-06-29 in crrev.com/571588. + </obsolete> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -90880,6 +93740,50 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.DataPipeUseForUrlLoader.Max" units="count" + expires_after="M88"> + <owner>yhirano@chromium.org</owner> + <owner>kinuko@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + The maximum number of data pipes used for network::URLLoader in the network + service in every 20 minutes. + </summary> +</histogram> + +<histogram name="Net.DataPipeUseForUrlLoader.Min" units="count" + expires_after="M88"> + <owner>yhirano@chromium.org</owner> + <owner>kinuko@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + The minimum number of data pipes used for network::URLLoader in the network + service in every 20 minutes. + </summary> +</histogram> + +<histogram name="Net.DataPipeUseForWebSocket.Max" units="count" + expires_after="M88"> + <owner>yhirano@chromium.org</owner> + <owner>kinuko@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + The maximum number of data pipes used for network::WebSocket in the network + service in every 20 minutes. + </summary> +</histogram> + +<histogram name="Net.DataPipeUseForWebSocket.Min" units="count" + expires_after="M88"> + <owner>yhirano@chromium.org</owner> + <owner>kinuko@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + The minimum number of data pipes used for network::WebSocket in the network + service in every 20 minutes. + </summary> +</histogram> + <histogram name="Net.DetachableResourceHandler.Duration" units="ms" expires_after="2017-11-13"> <obsolete> @@ -91102,11 +94006,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.DNS.DnsTask.SuccessTime" units="ms" expires_after="M85"> - <owner>pauljensen@chromium.org</owner> - <owner>mef@chromium.org</owner> +<histogram name="Net.DNS.DnsTask.SuccessTime" units="ms" + expires_after="2021-06-04"> + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> - Duration of time taken by DnsTask in resolutions that succeeded. + Duration of time taken by DnsTask (the grouping of all individual DNS + queries for a single instance of resolving a name) in resolutions that + succeeded. </summary> </histogram> @@ -91328,6 +94235,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.DNS.DnsTransaction.SecureValidated.SuccessTimeoutRatio" + units="10*ratio" expires_after="2020-12-20"> + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + Ratio (scaled up by 10) between the time taken by a successful secure + DnsTransaction attempt and the current dynamically-determined base timeout + in use for the DoH server that accomplished the resolve. Only recorded when + the DoH server is already known to be "available" (successful + probe request and failure thresholds not exceeded). + </summary> +</histogram> + <histogram name="Net.DNS.DnsTransaction.UDP.IdMismatch" enum="DNS.UdpIdMismatchStatus" expires_after="2020-12-01"> <owner>ericorth@chromium.org</owner> @@ -91372,6 +94292,114 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram base="true" name="Net.DNS.HTTPSSVC.RecordIntegrity.DnsRcode" + enum="HttpssvcDnsRcode" expires_after="2021-03-14"> +<!-- Name completed by histogram_suffixes + name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> + + <owner>dmcardle@chromium.org</owner> + <owner>ericorth@chromium.org</owner> + <summary> + Records which RCODE the DNS server specified when it responded to our + INTEGRITY query. If the query timed out before getting a response, + "TimedOut" is recorded instead of an RCODE value. Histograms are + emitted at the completion of a DnsTask's final transaction. + </summary> +</histogram> + +<histogram base="true" + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.Integrity" + enum="HttpssvcIntegrityJudgment" expires_after="2021-03-14"> +<!-- Name completed by histogram_suffixes + name="DohProviderId" --> + + <owner>dmcardle@chromium.org</owner> + <owner>ericorth@chromium.org</owner> + <summary> + Indicates whether the result of an INTEGRITY query was intact (true) or + mangled (false). Only recorded when DnsRcode indicates NoError. Histograms + are emitted at the completion of a DnsTask's final transaction. + </summary> +</histogram> + +<histogram base="true" + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.RecordWithError" + units="records" expires_after="2021-03-14"> +<!-- Name completed by histogram_suffixes + name="DohProviderId" --> + + <owner>dmcardle@chromium.org</owner> + <owner>ericorth@chromium.org</owner> + <summary> + Records a sample of one when we receive an INTEGRITY record and an error + RCODE at the same time. Histograms are emitted at the completion of a + DnsTask's final transaction. + </summary> +</histogram> + +<histogram base="true" + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectNoerror.RecordReceived" + units="records" expires_after="2021-03-14"> +<!-- Name completed by histogram_suffixes + name="DohProviderId" --> + + <owner>dmcardle@chromium.org</owner> + <owner>ericorth@chromium.org</owner> + <summary> + Counts the number of records received when we get any INTEGRITY record + (Intact or Mangled) for a non-experimental domain. Any INTEGRITY record in + the response would be a surprise! Histograms are emitted at the completion + of a DnsTask's final transaction. + </summary> +</histogram> + +<histogram base="true" + name="Net.DNS.HTTPSSVC.RecordIntegrity.ResolveTimeIntegrityRecord" + units="ms" expires_after="2021-03-14"> +<!-- Name completed by histogram_suffixes + name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> + + <owner>dmcardle@chromium.org</owner> + <owner>ericorth@chromium.org</owner> + <summary> + Records how many ms the DNS server took to respond to an INTEGRITY query. + Histograms are emitted at the completion of a DnsTask's final transaction. + </summary> +</histogram> + +<histogram base="true" + name="Net.DNS.HTTPSSVC.RecordIntegrity.ResolveTimeNonIntegrityRecord" + units="ms" expires_after="2021-03-14"> +<!-- Name completed by histogram_suffixes + name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> + + <owner>dmcardle@chromium.org</owner> + <owner>ericorth@chromium.org</owner> + <summary> + Records how many ms the DNS server took to respond to any query other than + an INTEGRITY query. Histograms are emitted at the completion of a DnsTask's + final transaction. + </summary> +</histogram> + +<histogram base="true" name="Net.DNS.HTTPSSVC.RecordIntegrity.ResolveTimeRatio" + units="%" expires_after="2021-03-14"> +<!-- Name completed by histogram_suffixes + name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> + + <owner>dmcardle@chromium.org</owner> + <owner>ericorth@chromium.org</owner> + <summary> + Records a ratio indicating the relative INTEGRITY resolve time compared to + the slower A or AAAA resolve time, where A/AAAA/INTEGRITY belong to the same + DnsTask. Multiply this value by 10 to obtain a percentage P. The INTEGRITY + query completed in roughly P% of the slower A/AAAA resolve time. Values + smaller than 10 indicate that INTEGRITY query was faster than A/AAAA. Values + larger than 10 indicate that the INTEGRITY query was slower than A/AAAA. + Histograms are emitted at the completion of a DnsTask's final transaction. + </summary> +</histogram> + <histogram name="Net.DNS.InsecureDnsTask.FailureTime" units="ms" expires_after="2020-08-31"> <owner>dalyk@google.com</owner> @@ -91518,20 +94546,50 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.DNS.Request.TotalTime" units="ms" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + Duration of HostResolver requests from Start() until completion. Includes + requests resolved synchronously using fast local sources, e.g. from cache, + recorded as 0. Excludes speculative requests. + </summary> +</histogram> + +<histogram name="Net.DNS.Request.TotalTimeAsync" units="ms" + expires_after="never"> +<!-- expires-never: Core network stack health metric --> + + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> + <summary> + Duration of HostResolver requests from Start() until completion. Excludes + speculative requests and requests resolved using fast local sources, e.g. + from cache. + </summary> +</histogram> + <histogram name="Net.DNS.ResolveCategory" enum="ResolutionCategory" - expires_after="M77"> - <owner>pauljensen@chromium.org</owner> - <owner>mef@chromium.org</owner> + expires_after="never"> +<!-- expires-never: Core network stack health metric --> + + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> - Whether a DNS resolution (single HostResolverImpl::Job) succeeded or failed, - and whether it was speculative. + Whether a HostResolverManager::Job (the basic internal unit of work for + non-local host resolutions, potentially merging redundant requests from + Chrome) succeeded or failed, and whether it was speculative. </summary> </histogram> <histogram name="Net.DNS.ResolveError.Fast" enum="NetErrorCodes" - expires_after="M77"> - <owner>pauljensen@chromium.org</owner> - <owner>mef@chromium.org</owner> + expires_after="never"> +<!-- expires-never: Core network stack health metric --> + + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> For DNS resolutions that failed after less than 10 ms, which are probably local failures, what error code the jobs failed with. @@ -91539,9 +94597,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.DNS.ResolveError.Slow" enum="NetErrorCodes" - expires_after="M85"> - <owner>pauljensen@chromium.org</owner> - <owner>mef@chromium.org</owner> + expires_after="never"> +<!-- expires-never: Core network stack health metric --> + + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> For DNS resolutions that failed after at least 10 ms, which are probably remote failures or connectivity problems, what error code the jobs failed @@ -91549,23 +94609,31 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.DNS.ResolveFailureTime" units="ms" expires_after="M77"> - <owner>pauljensen@chromium.org</owner> - <owner>mef@chromium.org</owner> +<histogram name="Net.DNS.ResolveFailureTime" units="ms" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> - Duration of time taken by HostResolverImpl::Job in resolutions that failed. - This is the time to resolve a hostname from start to finish. The main - histogram and by-priority versions exclude speculative requests. + Duration of time taken by HostResolverManager::Job (the basic internal unit + of work for non-local host resolutions, potentially merging redundant + requests from Chrome) in resolutions that failed. This is the time to + resolve a hostname from start to finish. Excludes jobs where all requests + are speculative. </summary> </histogram> -<histogram name="Net.DNS.ResolveSuccessTime" units="ms" expires_after="M77"> - <owner>pauljensen@chromium.org</owner> - <owner>mef@chromium.org</owner> +<histogram name="Net.DNS.ResolveSuccessTime" units="ms" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + + <owner>ericorth@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> - Duration of time taken by HostResolverImpl::Job in resolutions that - succeeded. This is the time to resolve a hostname from start to finish. The - main histogram and by-priority versions exclude speculative requests. + Duration of time taken by HostResolverManager::Job (the basic internal unit + of work for non-local host resolutions, potentially merging redundant + requests from Chrome) in resolutions that succeeded. This is the time to + resolve a hostname from start to finish. Excludes jobs where all requests + are speculative. </summary> </histogram> @@ -91583,8 +94651,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.DNS.SecureDnsMode.Automatic.ResolveTime" units="ms" + expires_after="2020-12-31"> + <owner>ericorth@chromium.org</owner> + <owner>doh-core@google.com</owner> + <summary> + Duration of time taken by HostResolverManager::Job (the basic internal unit + of work for non-local host resolutions, potentially merging redundant + requests from Chrome) in resolutions for in AUTOMATIC secure DNS mode. + Excludes jobs where all requests are speculative. + </summary> +</histogram> + <histogram name="Net.DNS.SecureDnsMode.Automatic.TotalTime" units="ms" - expires_after="2020-08-31"> + expires_after="M84"> + <obsolete> + Replaced 2020-06 by Net.DNS.SecureDnsMode.Automatic.ResolveTime + </obsolete> <owner>dalyk@google.com</owner> <owner>doh-core@google.com</owner> <summary> @@ -91595,8 +94678,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.DNS.SecureDnsMode.Off.ResolveTime" units="ms" + expires_after="2020-12-31"> + <owner>ericorth@chromium.org</owner> + <owner>doh-core@google.com</owner> + <summary> + Duration of time taken by HostResolverManager::Job (the basic internal unit + of work for non-local host resolutions, potentially merging redundant + requests from Chrome) in resolutions for in OFF secure DNS mode. Excludes + jobs where all requests are speculative. + </summary> +</histogram> + <histogram name="Net.DNS.SecureDnsMode.Off.TotalTime" units="ms" - expires_after="2020-08-31"> + expires_after="M84"> + <obsolete> + Replaced 2020-06 by Net.DNS.SecureDnsMode.Off.ResolveTime + </obsolete> <owner>dalyk@google.com</owner> <owner>doh-core@google.com</owner> <summary> @@ -91607,8 +94705,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.DNS.SecureDnsMode.Secure.ResolveTime" units="ms" + expires_after="2020-12-31"> + <owner>ericorth@chromium.org</owner> + <owner>doh-core@google.com</owner> + <summary> + Duration of time taken by HostResolverManager::Job (the basic internal unit + of work for non-local host resolutions, potentially merging redundant + requests from Chrome) in resolutions for in SECURE secure DNS mode. Excludes + jobs where all requests are speculative. + </summary> +</histogram> + <histogram name="Net.DNS.SecureDnsMode.Secure.TotalTime" units="ms" - expires_after="2020-08-31"> + expires_after="M84"> + <obsolete> + Replaced 2020-06 by Net.DNS.SecureDnsMode.Secure.ResolveTime + </obsolete> <owner>dalyk@google.com</owner> <owner>doh-core@google.com</owner> <summary> @@ -91661,7 +94774,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.DNS.TotalTime" units="ms" expires_after="M85"> +<histogram name="Net.DNS.TotalTime" units="ms" expires_after="M84"> + <obsolete> + Replaced 2020-06 by Net.DNS.Request.TotalTime + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -91671,7 +94787,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.DNS.TotalTimeNotCached" units="ms" expires_after="M85"> +<histogram name="Net.DNS.TotalTimeNotCached" units="ms" expires_after="M84"> + <obsolete> + Replaced 2020-06 by Net.DNS.Request.TotalTimeAsync + </obsolete> <owner>pauljensen@chromium.org</owner> <owner>mef@chromium.org</owner> <summary> @@ -91960,7 +95079,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.ErrorCodesForHTTPSGoogleMainFrame3" enum="NetErrorCodes" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Positive net error codes that requests for pages end with, including net::OK @@ -92043,7 +95164,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.ErrorCodesForMainFrame4" enum="NetErrorCodes" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Positive net error codes that requests for pages end with, including net::OK @@ -92082,7 +95205,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.ErrorCodesForSubresources3" enum="NetErrorCodes" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Net error codes that requests for "subresources" end with, @@ -92147,8 +95272,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.ErrorPageCounts" enum="NetErrorPageEvents" - expires_after="M85"> - <owner>mmenke@chromium.org</owner> + expires_after="2021-06-01"> + <owner>edwardjung@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> Counts of various events that can occur on the network error page. Note that this histogram enum buckets are not mutually exclusive and so a single error @@ -92158,8 +95284,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.ErrorPageCounts.NavigationCorrectionLinksShown" - enum="NetErrorNavigationCorrectionTypes" expires_after="M86"> + enum="NetErrorNavigationCorrectionTypes" expires_after="2021-06-01"> <owner>edwardjung@chromium.org</owner> + <owner>security-enamel@chromium.org</owner> <summary> Counts of the type of navigation correction suggestions shown on the network error page. Multiple suggestions can be shown at the same time. @@ -92167,17 +95294,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.ErrorPageCounts.NavigationCorrectionLinksUsed" - enum="NetErrorNavigationCorrectionTypes" expires_after="M86"> + enum="NetErrorNavigationCorrectionTypes" expires_after="2021-06-01"> <owner>edwardjung@chromium.org</owner> + <owner>security-enamel@chromium.org</owner> <summary> Usage of navigation correction suggestions shown on the network error page. </summary> </histogram> <histogram name="Net.ErrorPageCounts.SuggestionClicked" - enum="NetErrorOfflineSuggestionType" expires_after="2020-07-01"> - <owner>carlosk@chromium.org</owner> - <owner>harringtond@chromium.org</owner> + enum="NetErrorOfflineSuggestionType" expires_after="2021-05-31"> + <owner>sclittle@chromium.org</owner> <owner>offline-dev@chromium.org</owner> <summary> Counts of the type of offline content suggestions clicked on the network @@ -92186,9 +95313,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.ErrorPageCounts.SuggestionPresented" - enum="NetErrorOfflineSuggestionType" expires_after="2020-07-01"> - <owner>carlosk@chromium.org</owner> - <owner>harringtond@chromium.org</owner> + enum="NetErrorOfflineSuggestionType" expires_after="2021-05-31"> + <owner>sclittle@chromium.org</owner> <owner>offline-dev@chromium.org</owner> <summary> Counts of the type of offline content suggestions shown on the network error @@ -92223,6 +95349,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.ExpectCT.EntriesOnLoad" units="entries" + expires_after="2021-01-07"> + <owner>mmenke@chromium.org</owner> + <owner>estark@chromium.org</owner> + <summary> + The number of entries loaded from the Expect-CT database when Chrome starts + up. + </summary> +</histogram> + <histogram name="Net.ExpectCTHeader.ParseSuccess" enum="BooleanSuccess" expires_after="M77"> <owner>estark@chromium.org</owner> @@ -92275,6 +95411,28 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.Fetch.UploadStreamingProtocolAllowH1" + enum="HttpProtocolScheme" expires_after="2021-06-29"> + <owner>yoichio@chromium.org</owner> + <owner>ricea@chromium.org</owner> + <owner>yhirano@chromium.org</owner> + <summary> + Protocol used to fetch upload streaming with allowHTTP1ForStreamingUpload: + true property. This is recorded per fetch attempt regardless of result. + </summary> +</histogram> + +<histogram name="Net.Fetch.UploadStreamingProtocolNotAllowH1" + enum="HttpProtocolScheme" expires_after="2021-06-29"> + <owner>yoichio@chromium.org</owner> + <owner>ricea@chromium.org</owner> + <owner>yhirano@chromium.org</owner> + <summary> + Protocol used to fetch upload streaming with allowHTTP1ForStreamingUpload: + false property. This is recorded per fetch attempt regardless of result. + </summary> +</histogram> + <histogram name="Net.FileError_Flush" units="units" expires_after="2016-04-29"> <obsolete> Removed 04/2016 as doesn't have data nor owner. @@ -92687,7 +95845,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HasBrokenNEON" enum="BooleanBroken" expires_after="M85"> +<histogram name="Net.HasBrokenNEON" enum="BooleanBroken" + expires_after="2021-06-01"> <owner>davidben@chromium.org</owner> <summary> Records, on startup, for ARM devices running Android, whether the CPU is @@ -92695,7 +95854,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HstsInfo" enum="HstsInfo" expires_after="2020-12-31"> +<histogram name="Net.HstsInfo" enum="HstsInfo" expires_after="2020-05-31"> + <obsolete> + Removed 2020-05. + </obsolete> <owner>davidben@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -92813,7 +95975,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HttpAuthCount" enum="HttpAuthCount" expires_after="M85"> +<histogram name="Net.HttpAuthCount" enum="HttpAuthCount" + expires_after="2020-12-01"> <owner>asanka@chromium.org</owner> <owner>mmenke@chromium.org</owner> <summary> @@ -92852,7 +96015,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HttpAuthTarget" enum="HttpAuthTarget" expires_after="M85"> +<histogram name="Net.HttpAuthTarget" enum="HttpAuthTarget" + expires_after="2020-12-01"> <owner>asanka@chromium.org</owner> <owner>mmenke@chromium.org</owner> <summary> @@ -93009,7 +96173,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HttpJob.TotalTime" units="ms" expires_after="M85"> +<histogram name="Net.HttpJob.TotalTime" units="ms" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Time it takes to complete an HttpJob, from starting the transaction until we @@ -93017,7 +96183,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HttpJob.TotalTimeCached" units="ms" expires_after="M85"> +<histogram name="Net.HttpJob.TotalTimeCached" units="ms" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Time it takes to complete an HttpJob, from starting the transaction until we @@ -93025,7 +96193,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HttpJob.TotalTimeCancel" units="ms" expires_after="M85"> +<histogram name="Net.HttpJob.TotalTimeCancel" units="ms" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Time it takes to complete an HttpJob, from starting the transaction until @@ -93034,7 +96204,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HttpJob.TotalTimeNotCached" units="ms" expires_after="M85"> +<histogram name="Net.HttpJob.TotalTimeNotCached" units="ms" + expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Time it takes to complete an HttpJob, from starting the transaction until we @@ -93042,7 +96215,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HttpJob.TotalTimeSuccess" units="ms" expires_after="M85"> +<histogram name="Net.HttpJob.TotalTimeSuccess" units="ms" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Time it takes to complete an HttpJob, from starting the transaction until we @@ -93151,7 +96326,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.HttpResponseCode" units="units" expires_after="M85"> +<histogram name="Net.HttpResponseCode" units="units" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary>The count of HTTP Response codes encountered.</summary> </histogram> @@ -93304,7 +96481,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Time it takes for OnStreamReadyCallback to be called.</summary> </histogram> -<histogram name="Net.HttpTimeToFirstByte" units="ms" expires_after="M85"> +<histogram name="Net.HttpTimeToFirstByte" units="ms" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Time from when an HTTP request is issued to when the first byte is @@ -93537,7 +96716,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. enum="KeepaliveRequestBlockStatus" expires_after="2020-06-30"> <owner>yhirano@chromium.org</owner> <owner>kinuko@chromium.org</owner> - <summary>Whether and how keepalive requests are blocked.</summary> + <summary> + Whether and how keepalive requests are blocked. There is a similar histgoram + "Extensions.WebRequest.KeepaliveRequestState": This histogram + supports platforms where extensions are not supported. + "Extensions.WebRequest.KeepaliveRequestState" includes requests + rejected by WebRequest.onBeforeRequest() which are not counted in this + histogram. + </summary> </histogram> <histogram name="Net.KeepaliveRequest.HeadersSize" units="bytes" @@ -93697,7 +96883,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.NeedsHWCAP2Workaround" enum="BooleanBroken" - expires_after="M85"> + expires_after="2022-06-01"> <owner>davidben@chromium.org</owner> <summary> Records, on startup, for ARM devices running Android, whether the kernel is @@ -93754,6 +96940,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.NetworkErrorLogging.HeaderOutcome" enum="NetNetworkErrorLoggingHeaderOutcome" expires_after="M85"> + <obsolete> + Removed 06/2020 for cleanup. https://crbug.com/1089011. Not actively used, + large size, and information is not actionable. + </obsolete> <owner>chlily@chromium.org</owner> <summary> When Network Error Logging receives a "NEL:" header, what happens @@ -93867,7 +97057,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.NumQuicSessionsAtShutdown" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -94295,7 +97485,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.PrefProxyConfig.GooglezipProxyRemovalCount" units="units" - expires_after="M85"> + expires_after="M52"> + <obsolete> + Removed in M52. + </obsolete> <owner>sclittle@chromium.org</owner> <summary> Records how many *.googlezip.net Data Reduction Proxies were removed from @@ -94400,6 +97593,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.ProxyResolutionService.PacUrlScheme" enum="PacUrlScheme" expires_after="M85"> + <obsolete> + Removed in M85. + </obsolete> <owner>eroman@chromium.org</owner> <summary> The breakdown of URL schemes seen for explicitly configured ProxyAutoConfig @@ -94833,7 +98029,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.PushedStreamVaryResponseHeader" - enum="PushedStreamVaryResponseHeaderValues" expires_after="M92"> + enum="PushedStreamVaryResponseHeaderValues" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -94842,7 +98038,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.QuicActiveSessions" units="units" expires_after="M85"> +<histogram name="Net.QuicActiveSessions" units="units" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -94865,8 +98062,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicAltSvcFormat" enum="QuicAltSvcFormat" - expires_after="M85"> - <owner>wangyix@chromium.org</owner> + expires_after="2021-05-11"> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> Tracks the number of QUIC alt-svc advertisements parsed by Chrome in Google format vs in IETF format. @@ -94902,7 +98100,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicClientHelloRejectReasons" enum="QuicRejectReasons" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -94925,6 +98123,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicClientHelloServerConfig.InvalidDuration" units="ms" expires_after="2018-08-30"> + <obsolete> + Removed in 2018. + </obsolete> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -94960,8 +98161,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicConnection.WritePacketStatus" enum="QuicWriteStatus" - expires_after="M85"> + expires_after="2021-05-11"> <owner>wub@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The write result returned by the packet writer when the connection attempts to write a packet. @@ -94970,6 +98172,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicCryptoClientConfig.PopulatedFromCanonicalConfig" enum="BooleanPopulated" expires_after="2018-08-30"> + <obsolete> + Removed in 2018. + </obsolete> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95005,7 +98210,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicDiskCache.FailureReason" - enum="QuicDiskCacheFailureReason" expires_after="M85"> + enum="QuicDiskCacheFailureReason" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95015,7 +98220,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicDroppedPacketReason" enum="QuicDroppedPacketReason" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95035,7 +98240,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicHandshakeNotConfirmedNumPacketsReceived" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95045,7 +98250,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicHandshakeState" enum="QuicHandshakeState" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95055,7 +98260,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicHpackCompressionPercentage" units="%" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95065,7 +98270,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicHpackDecoder.IndexedEntryAge" units="ms" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95077,7 +98282,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicHpackDecompressionPercentage" units="%" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95087,7 +98292,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicHpackEncoder.IndexedEntryAge" units="ms" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95113,6 +98318,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicInchoateClientHelloReason" enum="QuicServerConfigState" expires_after="2018-08-30"> + <obsolete> + Removed in 2018. + </obsolete> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95122,7 +98330,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicNetworkDegradingDurationTillConnected" units="ms" - expires_after="M85"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95132,7 +98340,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicNetworkDegradingDurationTillDisconnected" units="ms" - expires_after="M85"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95142,7 +98350,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicNetworkDegradingDurationTillNewNetworkMadeDefault" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95152,7 +98360,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicNetworkDisconnectionDuration" units="ms" - expires_after="M82"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95161,7 +98369,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.QuicNumSentClientHellos" units="units" expires_after="M85"> +<histogram name="Net.QuicNumSentClientHellos" units="units" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary>The number of client hello messages sent.</summary> @@ -95181,14 +98390,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicNumServerConfig.UpdateMessagesIgnored" - enum="BooleanIgnored" expires_after="M85"> + enum="BooleanIgnored" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary>The number of times ServerConfigUpdateMessages ignored.</summary> </histogram> <histogram name="Net.QuicNumStreamFramesInPacket" units="units" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95197,7 +98406,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicNumStreamFramesPerStreamInPacket" units="units" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95239,7 +98448,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicServerInfo.DiskCacheState" - enum="QuicServerConfigState" expires_after="M85"> + enum="QuicServerConfigState" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95342,7 +98551,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.AbortedPendingStreamRequests" - units="stream requests" expires_after="M77"> + units="stream requests" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95353,15 +98562,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ActiveStreamsOnGoAwayAfterPathDegrading" - units="Streams" expires_after="M79"> + units="Streams" expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The number of active streams when the quic session decides to go away on path degrading. </summary> </histogram> -<histogram name="Net.QuicSession.AsyncRead" enum="Boolean" expires_after="M77"> +<histogram name="Net.QuicSession.AsyncRead" enum="Boolean" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95371,7 +98582,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.BlockedFrames.Received" units="units" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95381,7 +98592,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.BlockedFrames.Sent" units="units" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95391,7 +98602,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.CertVerificationResult" enum="NetErrorCodes" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95401,7 +98612,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.CertVerifierJob.CompleteTime" - units="Milliseconds" expires_after="M85"> + units="Milliseconds" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95411,7 +98622,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ClientSideMtu" units="bytes" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95421,7 +98632,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.CloseAllSessionsError" enum="NetErrorCodes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95430,8 +98641,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ClosedByPublicReset" enum="Boolean" - expires_after="M85"> + expires_after="2021-05-11"> <owner>wub@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> For a QUIC session that is closed by a public reset, this boolean shows whether it is a public reset sent from a Google server or not. @@ -95439,9 +98651,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ClosedByRtoAtClient.ReceivedPacketCount" - units="packets" expires_after="2021-01-15"> + units="packets" expires_after="2021-05-11"> <owner>wub@chromium.org</owner> <owner>fayang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> For a QUIC session that is closed by QUIC_TOO_MANY_RTOS at client, this is the number of packets it received before it is closed. @@ -95449,9 +98662,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ClosedByRtoAtClient.SentPacketCount" - units="packets" expires_after="2021-01-15"> + units="packets" expires_after="2021-05-11"> <owner>wub@chromium.org</owner> <owner>fayang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> For a QUIC session that is closed by QUIC_TOO_MANY_RTOS at client, this is the number of packets it sent before it is closed. @@ -95459,7 +98673,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ClosedDuringInitializeSession" enum="Boolean" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95469,7 +98683,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.CloseSessionOnError" enum="NetErrorCodes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95478,7 +98692,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.CoalesceStreamFrameStatus" - enum="BooleanCoalesced" expires_after="2020-11-30"> + enum="BooleanCoalesced" expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95487,7 +98701,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.QuicSession.Connect" units="RTTs" expires_after="M85"> +<histogram name="Net.QuicSession.Connect" units="RTTs" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95497,7 +98712,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ConnectAfterBroken" enum="BooleanSuccess" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95509,7 +98724,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicSession.ConnectionClose.HandshakeFailureBlackHole.QuicError" - enum="QuicErrorCodes" expires_after="2018-08-30"> + enum="QuicErrorCodes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95523,7 +98738,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicSession.ConnectionClose.HandshakeFailureUnknown.QuicError" - enum="QuicErrorCodes" expires_after="M85"> + enum="QuicErrorCodes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95536,7 +98751,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ConnectionClose.HandshakeNotConfirmed.Reason" - enum="QuicHandshakeFailureReason" expires_after="M85"> + enum="QuicHandshakeFailureReason" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary>The reason a QUIC handshake failed.</summary> @@ -95544,7 +98759,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicSession.ConnectionClose.NumOpenStreams.HandshakeTimedOut" - units="units" expires_after="M85"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95553,7 +98768,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ConnectionClose.NumOpenStreams.TimedOut" - units="units" expires_after="M85"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary>The number of streams open when a QUIC session timed out.</summary> @@ -95561,7 +98776,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicSession.ConnectionClose.NumTotalStreams.HandshakeTimedOut" - units="units" expires_after="M85"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95644,6 +98859,29 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGQuicErrorMissing" + enum="QuicHttp3ErrorCodes" expires_after="2021-05-11"> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The QUIC application transport error code in a CONNECTION_CLOSE frame + received from the server, when the GQUIC error was missing. + </summary> +</histogram> + +<histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGQuicErrorMissingGoogle" + enum="QuicHttp3ErrorCodes" expires_after="2021-05-11"> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The QUIC application transport error code in a CONNECTION_CLOSE frame + received from the server with a name ending in .google.com, when the GQUIC + error was missing. + </summary> +</histogram> + <histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransport" enum="QuicTransportErrorCodes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> @@ -95665,8 +98903,31 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGQuicErrorMissing" + enum="QuicTransportErrorCodes" expires_after="2021-05-11"> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The QUIC transport error code in a CONNECTION_CLOSE frame received from the + server, when the GQUIC error was missing. + </summary> +</histogram> + +<histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGQuicErrorMissingGoogle" + enum="QuicTransportErrorCodes" expires_after="2021-05-11"> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The QUIC application transport error code in a CONNECTION_CLOSE frame + received from the server with a name ending in .google.com, when the GQUIC + error was missing. + </summary> +</histogram> + <histogram name="Net.QuicSession.ConnectionFlowControlBlocked" - enum="BooleanBlocked" expires_after="M85"> + enum="BooleanBlocked" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95676,7 +98937,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ConnectionIpPooled" enum="Boolean" - expires_after="2020-06-30"> + expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95685,7 +98946,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ConnectionMigration" - enum="QuicConnectionMigrationStatus" expires_after="M85"> + enum="QuicConnectionMigrationStatus" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95695,9 +98956,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ConnectionMigrationProbeSuccess" - enum="BooleanSuccess" expires_after="M85"> + enum="BooleanSuccess" expires_after="2021-05-11"> <owner>fayang@chromium.org</owner> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The result of connectivity probing according to different migration causes. Recorded for every connectivity probing when attempting connection @@ -95706,9 +98968,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ConnectionStateAfterDNS" - enum="ConnectionStateAfterDNS" expires_after="2020-06-30"> + enum="ConnectionStateAfterDNS" expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> Logs the state of the connection from stale host when fresh dns resolution is completed. This histogram is only valid when race_stale_dns_on_connection @@ -95717,7 +98980,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ConnectionTypeFromPeer" enum="AddressFamily" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95726,14 +98989,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ConnectionTypeFromSelf" enum="AddressFamily" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary>The IP Address family of this connection, as seen locally.</summary> </histogram> <histogram name="Net.QuicSession.ConnectRandomPortRequiringConfirmation" - units="RTTs" expires_after="M85"> + units="RTTs" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95758,7 +99021,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.CreationError" enum="QuicSessionErrorCodes" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95768,7 +99031,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.CryptoRetransmitCount.HandshakeConfirmed" - units="count" expires_after="2021-01-15"> + units="count" expires_after="2021-05-11"> <owner>fayang@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95777,7 +99040,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.CryptoRetransmitCount.HandshakeNotConfirmed" - units="count" expires_after="2021-01-15"> + units="count" expires_after="2021-05-11"> <owner>fayang@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95786,8 +99049,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.DrainingStreamsOnGoAwayAfterPathDegrading" - units="Streams" expires_after="M79"> + units="Streams" expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The number of draining streams when the quic session decides to go away on path degrading. @@ -95795,7 +99059,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.DuplicatePacketsReceived" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95805,7 +99069,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.FinalTcpCwnd" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95814,9 +99078,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.FreshDnsResolutionTime" units="ms" - expires_after="2020-06-30"> + expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The time for a fresh DNS resolution from DoResolveHost to having a fresh DNS result. @@ -95824,7 +99089,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.GapBetweenWriteErrorAndNetworkDisconnection" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95834,7 +99099,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.GoAwayReceivedForConnectionMigration" - enum="BooleanReceived" expires_after="M85"> + enum="BooleanReceived" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95845,7 +99110,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.HandshakeConfirmedTime" units="Milliseconds" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95868,7 +99133,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.HandshakeStatusOnConnectionMigration" - enum="BooleanConfirmed" expires_after="M85"> + enum="BooleanConfirmed" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95878,7 +99143,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.HandshakeStatusOnPortMigration" - enum="BooleanConfirmed" expires_after="2020-06-01"> + enum="BooleanConfirmed" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95888,7 +99153,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.HandshakeTimeout.PathDegradingDetected" - enum="BooleanDetected" expires_after="M85"> + enum="BooleanDetected" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95898,7 +99163,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.HeaderCompressionRatioHpackReceived" units="%" - expires_after="2020-10-08"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95907,7 +99172,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.HeaderCompressionRatioHpackSent" units="%" - expires_after="2020-10-08"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95916,7 +99181,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.HeaderCompressionRatioQpackReceived" units="%" - expires_after="2020-10-08"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95925,7 +99190,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.HeaderCompressionRatioQpackSent" units="%" - expires_after="2020-10-08"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95960,7 +99225,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.HostResolution.HandshakeConfirmedTime" - units="Milliseconds" expires_after="M77"> + units="Milliseconds" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95983,7 +99248,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.IncorrectConnectionIDsReceived" units="units" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -95993,7 +99258,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.InitialRttEsitmateSource" - enum="InitialRttEstimateSource" expires_after="M77"> + enum="InitialRttEstimateSource" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96017,7 +99282,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicSession.LocallyTimedOutWithOpenStreams.TimeSinceLastReceived" - units="units" expires_after="M85"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96028,8 +99293,28 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.QuicSession.MaxConsecutiveRtoWithForwardProgress" + units="count" expires_after="2021-05-11"> + <owner>fayang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + Max consecutive retransmission timeout before making forward progress. + </summary> +</histogram> + +<histogram + name="Net.QuicSession.MaxConsecutiveRtoWithForwardProgressAndBlackholeDetected" + units="count" expires_after="2021-05-11"> + <owner>fayang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + Max consecutive retransmission timeout before making forward progress when + blackhole has been detected. + </summary> +</histogram> + <histogram name="Net.QuicSession.MaxReordering" units="units" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96038,7 +99323,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.MaxReorderingTime" units="%" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96047,7 +99332,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.MaxReorderingTimeLongRtt" units="%" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96056,7 +99341,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.QuicSession.MinRTT" units="ms" expires_after="M85"> +<histogram name="Net.QuicSession.MinRTT" units="ms" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96065,7 +99350,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.MtuProbesSent" units="units" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96075,7 +99360,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.NumMigrationsExercisedBeforePublicReset" - units="migrations" expires_after="M85"> + units="migrations" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96085,7 +99370,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.NumOpenStreams" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96094,7 +99379,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.NumPendingStreamRequests" - units="stream requests" expires_after="M85"> + units="stream requests" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96110,6 +99395,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. Removed 04/2020, no longer needed. </obsolete> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The number of queued packets when a connection is closed due to writing an out of order packet. @@ -96118,7 +99404,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicSession.NumQueuedPacketsBeforeWrite" units="packets" expires_after="M77"> + <obsolete> + Removed in 2018. + </obsolete> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The number of queued packets when a connection starts to write queued packets. @@ -96126,7 +99416,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.NumTotalStreams" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96136,7 +99426,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.OutOfOrderGapReceived" units="units" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96148,7 +99438,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.OutOfOrderLargePacketsReceived" units="units" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96159,7 +99449,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.OutOfOrderPacketsReceived" units="units" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96169,7 +99459,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PacketGapReceived" units="units" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96179,8 +99469,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PacketGapReceivedNearPing" units="count" - expires_after="M77"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The number of missing packets between the last received packet before a PING frame sent and the first packet received after PING sent. @@ -96188,7 +99479,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PacketGapSent" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96199,7 +99490,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PacketLossRate" units="1/10th Percent" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96224,7 +99515,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PacketRetransmitsPerMille" units="permille" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96234,7 +99525,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PacketWriteTime" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96245,7 +99536,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PendingStreamsWaitTime" units="ms" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96256,7 +99547,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PlatformNotification" - enum="QuicPlatformNotification" expires_after="M85"> + enum="QuicPlatformNotification" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96265,14 +99556,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PortMigration" - enum="QuicConnectionMigrationStatus" expires_after="2020-06-01"> + enum="QuicConnectionMigrationStatus" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary>The result of a QUIC port migration attempt.</summary> </histogram> <histogram name="Net.QuicSession.PreferAesGcm" enum="BooleanPreferred" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96281,7 +99572,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ProbingRetryCountUntilSuccess" units="retries" - expires_after="M85"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96291,7 +99582,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ProbingTimeInMillisecondsUntilSuccess" - units="ms" expires_after="M85"> + units="ms" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96306,6 +99597,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. Removed 02/2018. Use Net.QuicSession.PublicResetAddressMismatch2. </obsolete> <owner>wtc@google.com</owner> + <owner>src/net/quic/OWNERS</owner> <summary> When a public reset packet is received, whether the client IP address and port number in it differ from the client IP address and port number in the @@ -96317,8 +99609,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PublicResetAddressMismatch2" - enum="QuicAddressMismatch" expires_after="M77"> - <owner>wtc@google.com</owner> + enum="QuicAddressMismatch" expires_after="2021-05-11"> + <owner>dschinazi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> When a public reset packet is received, whether the client IP address and port number in it differ from the client IP address and port number in the @@ -96327,7 +99620,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.QuicSession.Pushed" units="count" expires_after="M77"> +<histogram name="Net.QuicSession.Pushed" units="count" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96336,7 +99630,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PushedAndClaimed" units="count" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96345,7 +99639,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.PushedAndUnclaimedBytes" units="count" - expires_after="M85"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96353,7 +99647,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.QuicSession.PushedBytes" units="count" expires_after="M85"> +<histogram name="Net.QuicSession.PushedBytes" units="count" + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96362,7 +99657,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.Qpack.HeaderListCountWhenBlockedStreamLimited" - units="count" expires_after="2021-04-29"> + units="count" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96373,7 +99668,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.Qpack.HeaderListCountWhenInsertionBlocked" - units="count" expires_after="2021-04-29"> + units="count" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96383,7 +99678,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.Qpack.HeaderListCountWhenInsertionNotBlocked" - units="count" expires_after="2021-04-29"> + units="count" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96394,7 +99689,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicSession.Qpack.HeaderListCountWhenNotBlockedStreamLimited" - units="count" expires_after="2021-04-29"> + units="count" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96404,14 +99699,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.QuicSession.QuicVersion" units="units" expires_after="M85"> +<histogram name="Net.QuicSession.QuicVersion" units="units" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary>Version of the QUIC protocol used for this connection.</summary> </histogram> <histogram name="Net.QuicSession.ReadError" enum="NetErrorCodes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96421,7 +99717,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ReadError.CurrentNetwork.HandshakeConfirmed" - enum="NetErrorCodes" expires_after="M85"> + enum="NetErrorCodes" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96431,7 +99727,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ReceivedSettings.BlockedStreams" units="units" - expires_after="2020-10-09"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96441,7 +99737,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ReceivedSettings.CountPlusOne" units="units" - expires_after="2021-04-29"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96465,7 +99761,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ReceivedSettings.MaxHeaderListSize2" - units="bytes" expires_after="2021-04-29"> + units="bytes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96488,7 +99784,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ReceivedSettings.MaxTableCapacity2" - units="bytes" expires_after="2021-04-29"> + units="bytes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96498,7 +99794,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ReceivedSettings.ReservedCountPlusOne" - units="units" expires_after="2021-04-29"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96515,7 +99811,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.RejectHasProof" enum="Boolean" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96524,7 +99820,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.RejectLength" units="units" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96545,7 +99841,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.RetryAfterWriteErrorCount2" units="retries" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96555,7 +99851,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.RstStreamErrorCodeClient" - enum="QuicRstStreamErrorCodes" expires_after="M85"> + enum="QuicRstStreamErrorCodes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96564,7 +99860,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.RstStreamErrorCodeServer" - enum="QuicRstStreamErrorCodes" expires_after="M85"> + enum="QuicRstStreamErrorCodes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96573,7 +99869,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.SecureResourceSecureSession" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96583,7 +99879,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.SelfShloAddressMismatch" - enum="QuicAddressMismatch" expires_after="2020-11-01"> + enum="QuicAddressMismatch" expires_after="2021-05-11"> <owner>zhongyi@google.com</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96595,7 +99891,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.SendPacketSize" units="bytes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96616,7 +99912,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ServerSideMtu" units="bytes" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96639,7 +99935,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.QuicSession.SmoothedRTT" units="ms" expires_after="M85"> +<histogram name="Net.QuicSession.SmoothedRTT" units="ms" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96648,17 +99945,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.StaleAndFreshHostMatched" enum="Boolean" - expires_after="M85"> + expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> True if fresh host lists contains stale host used in racing connection. </summary> </histogram> <histogram name="Net.QuicSession.StaleConnectionTime" units="ms" - expires_after="2020-06-30"> + expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The time a QUIC connection from invalid stale dns result takes to do Crypto handshake. This starts on DoConnect and ends when the connection finishes. @@ -96666,8 +99965,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.StaleHostRacing" enum="Boolean" - expires_after="M85"> + expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary>True if the stale host is used in racing connection.</summary> </histogram> @@ -96685,8 +99985,27 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.QuicSession.StatelessResetAfterProbingCancelled" + enum="BooleanReceived" expires_after="2021-05-11"> + <owner>renjietang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + Records when a STATELESS_RESET is received after a connectivity probing is + cancelled. + </summary> +</histogram> + +<histogram name="Net.QuicSession.StatelessResetDuringProbing" + enum="BooleanReceived" expires_after="2021-05-11"> + <owner>renjietang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + When probing is cancelled, records whether a STATELESS_RESET is received. + </summary> +</histogram> + <histogram name="Net.QuicSession.StreamCloseErrorCodeClient.HandshakeConfirmed" - enum="QuicErrorCodes" expires_after="M85"> + enum="QuicErrorCodes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96696,7 +100015,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.StreamCloseErrorCodeServer.HandshakeConfirmed" - enum="QuicErrorCodes" expires_after="M85"> + enum="QuicErrorCodes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96706,7 +100025,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.StreamFlowControlBlocked" - enum="BooleanBlocked" expires_after="M85"> + enum="BooleanBlocked" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96716,7 +100035,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.StreamFrameDuplicatedLongConnection" - units="1/10th Percent" expires_after="M77"> + units="1/10th Percent" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96727,7 +100046,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.StreamFrameDuplicatedPercentLongConnection" - units="units" expires_after="M85"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96737,7 +100056,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.StreamFrameDuplicatedPercentShortConnection" - units="units" expires_after="M85"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96747,7 +100066,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.StreamFrameDuplicatedShortConnection" - units="1/10th Percent" expires_after="M77"> + units="1/10th Percent" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96758,7 +100077,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveRTOCount" - units="units" expires_after="2018-08-30"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96768,7 +100087,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveTLPCount" - units="units" expires_after="2018-08-30"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96778,7 +100097,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.TimedOutWithOpenStreams.HasUnackedPackets" - units="units" expires_after="2018-08-30"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96788,7 +100107,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.TimedOutWithOpenStreams.LocalPort" - units="units" expires_after="2018-08-30"> + units="units" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96798,8 +100117,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.TimeFromResolveHostToConfirmConnection" - units="Milliseconds" expires_after="M85"> + units="Milliseconds" expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The time a QuicStreamFactory Job takes from host rersolution to connection confirmation. @@ -96819,7 +100139,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.TooManyOpenStreams" enum="BooleanTooMany" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96828,7 +100148,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.TooSmallInitialSentPacket" units="bytes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96859,7 +100179,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.UndecryptablePacketsReceived" units="units" - expires_after="2018-08-30"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96869,7 +100189,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.UnexpectedNotGoingAway" - enum="QuicSessionLocations" expires_after="M85"> + enum="QuicSessionLocations" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96879,7 +100199,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.UnexpectedObservers" - enum="QuicSessionLocations" expires_after="M77"> + enum="QuicSessionLocations" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96889,7 +100209,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.UnexpectedOpenStreams" - enum="QuicSessionLocations" expires_after="M78"> + enum="QuicSessionLocations" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96899,9 +100219,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.ValidConnectionTime" units="ms" - expires_after="2020-06-30"> + expires_after="2021-05-11"> <owner>renjietang@chromium.org</owner> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The time a QUIC connection that will be confirmed takes for Crypto handshake. The event starts on DoConnect, and ends when the connection @@ -96910,7 +100231,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.VerifyProofTime" units="ms" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96921,7 +100242,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.WriteError" enum="NetErrorCodes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96931,7 +100252,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.WriteError.HandshakeConfirmed" - enum="NetErrorCodes" expires_after="M85"> + enum="NetErrorCodes" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96941,7 +100262,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.WriteError.NetworkDisconnected" - enum="NetErrorCodes" expires_after="M85"> + enum="NetErrorCodes" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96964,7 +100285,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicSession.WritePacketNotReusableReason" - enum="QuicNotReusableReason" expires_after="M85"> + enum="QuicNotReusableReason" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -96974,8 +100295,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicStreamFactory.AttemptMigrationBeforeHandshake" - enum="BooleanAttempted" expires_after="2020-11-01"> + enum="BooleanAttempted" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> Records if a new connection on the alternate network is attempted when a connection fails before handshake is confirmed. @@ -96984,8 +100306,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicStreamFactory.AttemptMigrationBeforeHandshake.FailedConnectionType" - enum="NetworkConnectionType" expires_after="2020-12-01"> + enum="NetworkConnectionType" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> Connection type of the default network when the connection fails with handshake not confirmed. @@ -96993,7 +100316,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicStreamFactory.BadPacketLossEvents5" - enum="QuicBadPacketLossEvents" expires_after="M85"> + enum="QuicBadPacketLossEvents" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -97004,8 +100327,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicStreamFactory.ConnectionOnNonDefaultNetwork" - enum="BooleanSuccess" expires_after="2020-12-01"> + enum="BooleanSuccess" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> Status of the connection on the non-default network when it finishes. A connection may stay on the non-default network during the initial setup when @@ -97014,7 +100338,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicStreamFactory.DefaultNetworkMatch" - enum="BooleanMatched" expires_after="M85"> + enum="BooleanMatched" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -97024,7 +100348,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicStreamFactory.DisabledReasons" - enum="QuicDisabledReason" expires_after="M85"> + enum="QuicDisabledReason" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -97049,8 +100373,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicStreamFactory.MigrationBeforeHandshake.NewConnectionType" - enum="NetworkConnectionType" expires_after="2020-12-01"> + enum="NetworkConnectionType" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> Connection type of the alternate network when a connection is about to be attempted when the original connection fails on the default network with @@ -97059,8 +100384,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicStreamFactory.MigrationBeforeHandshake2" - enum="BooleanSuccess" expires_after="2020-12-01"> + enum="BooleanSuccess" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> Status of the connection which is created for migration before handshake is confirmed. @@ -97068,8 +100394,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicStreamFactory.MigrationBeforeHandshakeFailedReason" - enum="NetErrorCodes" expires_after="2020-12-01"> + enum="NetErrorCodes" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> The network error code returned when the retried connection on the alternate network before handshake fails. @@ -97078,16 +100405,37 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.QuicStreamFactory.NetworkChangeDuringMigrationBeforeHandshake" - enum="BooleanChanged" expires_after="2020-12-01"> + enum="BooleanChanged" expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> <summary> Captures whether the default network has been changed when the new connection succeeds on the "alternate" network. </summary> </histogram> +<histogram name="Net.QuicStreamFactory.NumDegradingSessions" units="sessions" + expires_after="2021-05-11"> + <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The number number of sessions that are degrading on network change. The + suffix specifies the network change. + </summary> +</histogram> + +<histogram name="Net.QuicStreamFactory.PercentageDegradingSessions" units="%" + expires_after="2021-05-11"> + <owner>zhongyi@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + Of all the exisiting sessions, the percentage of sessions that detects + degrading on network change. The suffix specifies the network change. + </summary> +</histogram> + <histogram name="Net.QuicStreamFactory.PublicResetsPostHandshake" - units="resets" expires_after="M85"> + units="resets" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -97099,7 +100447,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicStreamFactory.QuicIsDisabled" enum="Ports" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -97110,7 +100458,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.QuicStreamFactory.TimeoutsWithOpenStreams" - units="timeouts" expires_after="M85"> + units="timeouts" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -97145,8 +100493,66 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Net.QuicTransportClient.ConnectionCloseCodeClient" + enum="QuicErrorCodes" expires_after="2021-05-11"> + <owner>vasilvv@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The Google QUIC error code which resulted in the QuicTransport connection + being closed by the client. + </summary> +</histogram> + +<histogram name="Net.QuicTransportClient.ConnectionCloseCodeServer" + enum="QuicErrorCodes" expires_after="2021-05-11"> + <owner>vasilvv@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The Google QUIC error code which resulted in the QuicTransport connection + being closed by the server. + </summary> +</histogram> + +<histogram name="Net.QuicTransportClient.ConnectionError" enum="NetErrorCodes" + expires_after="2021-05-11"> + <owner>vasilvv@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The error code for cases when QuicTransport failed to establish a + connection. + </summary> +</histogram> + +<histogram name="Net.QuicTransportClient.Error" enum="NetErrorCodes" + expires_after="2021-05-11"> + <owner>vasilvv@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary>The code for QuicTransport errors.</summary> +</histogram> + +<histogram name="Net.QuicTransportClient.FailedAtConnectState" + enum="QuicTransportClientConnectState" expires_after="2021-05-11"> + <owner>vasilvv@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The state at which establishing a QuicTransport connection has failed. + </summary> +</histogram> + +<histogram name="Net.QuicTransportClient.FailedAtState" + enum="QuicTransportClientState" expires_after="2021-05-11"> + <owner>vasilvv@chromium.org</owner> + <owner>src/net/quic/OWNERS</owner> + <summary> + The state at which the QuicTransportClient has been marked as failed. + </summary> +</histogram> + <histogram name="Net.QuicVerifyProofFailed.HandshakeConfirmed" enum="BooleanHandshakeConfirmed" expires_after="M77"> + <obsolete> + Removed in 2018. + </obsolete> <owner>dschinazi@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -97188,6 +100594,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.Reporting.HeaderEndpointGroupOutcome" enum="NetReportingHeaderEndpointGroupOutcome" expires_after="M77"> + <obsolete> + Removed 06/2020. No longer tracked. + </obsolete> <owner>juliatuttle@chromium.org</owner> <summary> The outcome of Reporting trying to process a single endpoint group in a @@ -97197,6 +100606,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.Reporting.HeaderEndpointOutcome" enum="NetReportingHeaderEndpointOutcome" expires_after="M77"> + <obsolete> + Removed 06/2020. No longer tracked. + </obsolete> <owner>juliatuttle@chromium.org</owner> <summary> The outcome of Reporting trying to process a single endpoint in a Report-To @@ -97206,6 +100618,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.Reporting.HeaderOutcome" enum="NetReportingHeaderOutcome" expires_after="M85"> + <obsolete> + Removed 06/2020. No longer tracked. + </obsolete> <owner>juliatuttle@chromium.org</owner> <summary> The outcome of Reporting trying to process a Report-To header. Once it is @@ -97216,6 +100631,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.Reporting.ReportDeliveredAttempts" units="attempts" expires_after="M85"> + <obsolete> + Removed June 2020 for cleanup. https://crbug.com/1089017 + </obsolete> <owner>juliatuttle@chromium.org</owner> <summary> When Reporting successfully delivers a report, the number of unsuccessful @@ -97225,6 +100643,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.Reporting.ReportDeliveredLatency" units="ms" expires_after="M85"> + <obsolete> + Removed June 2020 for cleanup. https://crbug.com/1089017 + </obsolete> <owner>juliatuttle@chromium.org</owner> <summary> The delivery latency of reports successfully delivered by Reporting. Starts @@ -97234,7 +100655,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.Reporting.ReportOutcome" enum="NetReportingReportOutcome" - expires_after="M85"> + expires_after="2021-06-25"> + <owner>chlily@chromium.org</owner> <owner>juliatuttle@chromium.org</owner> <summary> The outcome of Reporting trying to deliver a report, recorded when the @@ -97244,6 +100666,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.Reporting.UploadError" enum="CombinedHttpResponseAndNetErrorCode" expires_after="M85"> + <obsolete> + Removed June 2020 for cleanup. https://crbug.com/1089017 + </obsolete> <owner>juliatuttle@chromium.org</owner> <summary> The error (net or HTTP) encountered by Reporting trying to upload one or @@ -97256,6 +100681,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.Reporting.UploadOutcome" enum="NetReportingUploadOutcome" expires_after="M85"> + <obsolete> + Removed June 2020 for cleanup. https://crbug.com/1089017 + </obsolete> <owner>juliatuttle@chromium.org</owner> <summary> The outcome of Reporting trying to upload one or more reports to a single @@ -97556,7 +100984,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.RestrictedCookieManager.SiteForCookiesOK" enum="Boolean" - expires_after="M85"> + expires_after="M87"> <owner>morlovich@chromium.org</owner> <owner>chlily@chromium.org</owner> <summary> @@ -97566,7 +100994,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.RestrictedCookieManager.TopFrameOriginOK" enum="Boolean" - expires_after="M85"> + expires_after="M87"> <owner>morlovich@chromium.org</owner> <owner>chlily@chromium.org</owner> <summary> @@ -97638,6 +101066,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.Socket.NumIdleSockets" units="units" expires_after="M85"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>mmenke@chromium.org</owner> <summary>Number of idle sockets when one of them was reused.</summary> </histogram> @@ -97828,7 +101259,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SocketUnchangeableReceiveBuffer" units="Bytes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -97838,7 +101269,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SocketUnchangeableSendBuffer" units="Bytes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -97920,7 +101351,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdyFrameStreamAndSessionFlowControlState" - enum="SpdyFrameFlowControlState" expires_after="M77"> + enum="SpdyFrameFlowControlState" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -97944,7 +101375,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdyHeadersCompressionPercentage" units="%" - expires_after="M92"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -97964,7 +101395,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdyHpackDecompressionPercentage" units="%" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -97988,7 +101419,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdyIPPoolDomainMatch" enum="SpdyIPPoolDomainMatch" - expires_after="M92"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98019,7 +101450,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdyPushedStreamFate" enum="SpdyPushedStreamFate" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98034,12 +101465,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </obsolete> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> - obsolete <summary>The number of bytes recevied per stream.</summary> </histogram> <histogram name="Net.SpdyResponseCode" enum="HttpResponseCode" - expires_after="M92"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98085,7 +101515,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdySession.ClosedOnError" enum="NetErrorCodes" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98094,14 +101524,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdySession.CreateStreamWithSocketConnected" - enum="BooleanSuccess" expires_after="M85"> + enum="BooleanSuccess" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary>Socket connected status in SpdySession::CreateStream.</summary> </histogram> <histogram name="Net.SpdySession.PushedAndUnclaimedBytes" units="count" - expires_after="M85"> + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98109,8 +101539,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.SpdySession.PushedBytes" units="count" expires_after="M85"> +<histogram name="Net.SpdySession.PushedBytes" units="count" + expires_after="2021-05-11"> <owner>zhongyi@chromium.org</owner> + <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> The number of bytes that is pushed when the session is closed. @@ -98118,7 +101550,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdySession.ServerSupportsWebSocket" units="Boolean" - expires_after="M92"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98142,7 +101574,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdySessionErrorDetails2" enum="SpdyProtocolErrorDetails2" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary>The type of SPDY Protocol error encountered.</summary> @@ -98162,7 +101594,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdySessionErrorDetails_Google2" - enum="SpdyProtocolErrorDetails2" expires_after="M85"> + enum="SpdyProtocolErrorDetails2" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98174,14 +101606,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.SpdySessionGet" enum="SpdySessionGet" expires_after="M92"> +<histogram name="Net.SpdySessionGet" enum="SpdySessionGet" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary>The type of SPDY Session used when looking up a session.</summary> </histogram> <histogram name="Net.SpdySessionGetPeerAddressNotConnected" - enum="BooleanSuccess" expires_after="M85"> + enum="BooleanSuccess" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98318,7 +101751,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdyStreamsAbandonedPerSession" units="units" - expires_after="M77"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98326,14 +101759,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.SpdyStreamsPerSession" units="units" expires_after="M85"> +<histogram name="Net.SpdyStreamsPerSession" units="units" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary>The number of streams issued over a single session.</summary> </histogram> <histogram name="Net.SpdyStreamsPushedAndClaimedPerSession" units="units" - expires_after="M92"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -98342,7 +101776,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SpdyStreamsPushedPerSession" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary>The number of push streams received over a single session.</summary> @@ -98820,13 +102254,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Net.SSLCertVerificationTime" units="ms" expires_after="M85"> +<histogram name="Net.SSLCertVerificationTime" units="ms" expires_after="M89"> <owner>rsleevi@chromium.org</owner> <summary>Time to complete a certificate verification (success case).</summary> </histogram> <histogram name="Net.SSLCertVerificationTimeError" units="ms" - expires_after="M85"> + expires_after="M89"> <owner>rsleevi@chromium.org</owner> <summary>Time to complete a certificate verification (error case).</summary> </histogram> @@ -98873,8 +102307,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SSLHandshakeDetails" enum="SSLHandshakeDetails" - expires_after="M85"> + expires_after="2021-06-01"> <owner>davidben@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> For each successful TLS handshake, what kind of handshake was used. This metric distinguishes TLS 1.2 (or earlier) and TLS 1.3 as they have very @@ -98884,11 +102319,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SSLHandshakeEarlyDataReason" - enum="SSLHandshakeEarlyDataReason" expires_after="M85"> -<!-- expires-never: Used to keep track of the TLS ecosystem. --> - + enum="SSLHandshakeEarlyDataReason" expires_after="2021-06-01"> <owner>davidben@chromium.org</owner> <owner>svaldez@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> Indicates whether a TLS 1.3 connection with 0-RTT enabled ended up using 0-RTT or not, and why; this includes reasons such as the server declining to @@ -98952,7 +102386,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SSLNegotiatedAlpnProtocol" - enum="SSLNegotiatedAlpnProtocol" expires_after="M92"> + enum="SSLNegotiatedAlpnProtocol" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -99016,6 +102450,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Net.SSLRSAKeyUsage.KnownRoot" enum="RSAKeyUsage" expires_after="M85"> + <obsolete> + Removed 2020-06. + </obsolete> <owner>davidben@chromium.org</owner> <summary> For each TLS connection which uses a known root, an RSA key, and TLS 1.2 or @@ -99024,7 +102461,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SSLRSAKeyUsage.UnknownRoot" enum="RSAKeyUsage" - expires_after="M85"> + expires_after="2021-06-01"> <owner>davidben@chromium.org</owner> <summary> For each TLS connection which uses a unknown root, an RSA key, and TLS 1.2 @@ -99083,8 +102520,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SSLSignatureAlgorithm" enum="SSLSignatureAlgorithm" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: Used to keep track of the TLS ecosystem. --> + <owner>davidben@chromium.org</owner> + <owner>src/net/OWNERS</owner> <summary> For each SSL connection with a full handshake using a DHE- or ECDHE-based key exchange, the signature algorithm used to authenticate the peer. In TLS @@ -99094,7 +102534,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SSLTLS13Downgrade" enum="BooleanDowngrade" - expires_after="2020-06-30"> + expires_after="2020-10-30"> <owner>svaldez@chromium.org</owner> <owner>davidben@chromium.org</owner> <summary> @@ -99105,7 +102545,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SSLTLS13DowngradeTLS13Experiment" enum="BooleanDowngrade" - expires_after="2020-06-30"> + expires_after="2020-10-30"> <owner>svaldez@chromium.org</owner> <owner>davidben@chromium.org</owner> <summary> @@ -99117,7 +102557,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SSLTLS13DowngradeType" enum="TLS13DowngradeType" - expires_after="2020-06-30"> + expires_after="2020-10-30"> <owner>svaldez@chromium.org</owner> <owner>davidben@chromium.org</owner> <summary> @@ -99127,7 +102567,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.SSLTLS13DowngradeTypeTLS13Experiment" - enum="TLS13DowngradeType" expires_after="2020-06-30"> + enum="TLS13DowngradeType" expires_after="2020-10-30"> <owner>svaldez@chromium.org</owner> <owner>davidben@chromium.org</owner> <summary> @@ -99279,7 +102719,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Number of idle sockets when the Connect() succeeded.</summary> </histogram> -<histogram name="Net.TCP_Connection_Latency" units="ms" expires_after="M85"> +<histogram name="Net.TCP_Connection_Latency" units="ms" expires_after="never"> +<!-- expires-never: Core network stack health metric --> + <owner>mmenke@chromium.org</owner> <summary> Time from when the Connect() starts until it completes. Only times under 10 @@ -99743,14 +103185,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <summary>Chromium error code from call to RandomBind() UDP socket.</summary> </histogram> -<histogram name="Net.UDPSocketWinClose" units="ms" expires_after="M77"> +<histogram name="Net.UDPSocketWinClose" units="ms" expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary>The time spent in closesocket call in UDPSocketWin::Close.</summary> </histogram> <histogram name="Net.URLRequest.ReferrerHasInformativePath" - enum="BooleanPathIsInformative" expires_after="2020-06-30"> + enum="BooleanPathIsInformative" expires_after="2020-12-30"> <!-- Name completed by histogram_suffixes name="ReferrerPolicySameOrigin" --> <owner>davidvc@chromium.org</owner> @@ -99764,7 +103206,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.URLRequest.ReferrerPolicyForRequest" - enum="URLRequestReferrerPolicy" expires_after="2020-06-30"> + enum="URLRequestReferrerPolicy" expires_after="2020-12-30"> <!-- Name completed by histogram_suffixes name="ReferrerPolicySameOrigin" --> <owner>davidvc@chromium.org</owner> @@ -99833,7 +103275,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Net.WebSocket.CloseCode" enum="WebSocketCloseCode" - expires_after="M85"> + expires_after="M86"> <owner>ricea@chromium.org</owner> <owner>yhirano@chromium.org</owner> <owner>yoichio@chromium.org</owner> @@ -100863,8 +104305,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Network.Cellular.Activation.StatusAtLogin" - enum="NetworkCellularActivationState" expires_after="M85"> + enum="NetworkCellularActivationState" expires_after="2021-06-30"> <owner>azeemarshad@chromium.org</owner> + <owner>cros-system-services-networking@google.com</owner> <summary> Tracks the Cellular network activation state when the primary user logs-in to the device. @@ -100872,8 +104315,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Network.Cellular.Connection.Disconnections" - enum="NetworkCellularConnectionState" expires_after="M85"> + enum="NetworkCellularConnectionState" expires_after="2021-06-30"> <owner>azeemarshad@chromium.org</owner> + <owner>cros-system-services-networking@google.com</owner> <summary> Tracks when cellular network is connected and when cellular network is disconnected without explicit user action. @@ -100881,8 +104325,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Network.Cellular.Connection.TimeToConnected" units="ms" - expires_after="M85"> + expires_after="2021-06-30"> <owner>azeemarshad@chromium.org</owner> + <owner>cros-system-services-networking@google.com</owner> <summary> Tracks the amount fo time taken between when cellular device starts and finishes connecting. @@ -100939,8 +104384,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Network.Cellular.Usage.Count" enum="NetworkCellularUsage" - expires_after="M85"> + expires_after="2021-06-30"> <owner>azeemarshad@chromium.org</owner> + <owner>cros-system-services-networking@google.com</owner> <summary> Tracks the number of times a cellular network is connected as the only network, or with other network or not connected at all. @@ -101819,6 +105265,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Network.Shill.SandboxingEnabled" enum="Boolean" expires_after="M85"> + <obsolete> + Removed March 2019. + </obsolete> <owner>mortonm@chromium.org</owner> <summary> Chrome OS metric signifying whether a system is running shill in a sandbox @@ -102071,7 +105520,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Network.Shill.WiFi.Ap80211rSupport" enum="WiFiAp80211rSupport" - expires_after="M85"> + expires_after="2020-12-31"> <owner>matthewmwang@chromium.org</owner> <owner>cros-network-metrics@google.com</owner> <summary> @@ -102199,7 +105648,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Network.Shill.WiFi.BSSTransitionManagementSupport" - enum="WiFiBSSTransitionManagementSupport" expires_after="M85"> + enum="WiFiBSSTransitionManagementSupport" expires_after="2020-12-31"> <owner>matthewmwang@chromium.org</owner> <owner>cros-network-metrics@google.com</owner> <summary> @@ -102354,7 +105803,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Network.Shill.WiFi.FrequenciesConnectedEver" units="units" expires_after="M85"> - <owner>kirtika@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>briannorris@chromium.org</owner> <owner>cros-network-metrics@google.com</owner> <summary> Chrome OS metric sampling the number of different frequencies (i.e. @@ -102553,7 +106005,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Network.Shill.WiFi.RoamComplete" - enum="WiFiRoamComplete" expires_after="M85"> + enum="WiFiRoamComplete" expires_after="2020-12-31"> <!-- Name completed by histogram_suffixes name="RoamSecurityType" --> <owner>matthewmwang@chromium.org</owner> @@ -102566,7 +106018,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Network.Shill.WiFi.RoamTime" units="ms" - expires_after="M85"> + expires_after="2020-12-31"> <!-- Name completed by histogram_suffixes name="RoamSecurityType" --> <owner>matthewmwang@chromium.org</owner> @@ -102609,7 +106061,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Network.Shill.WiFi.SessionLength" units="ms" - expires_after="M85"> + expires_after="2020-12-31"> <!-- Name completed by histogram_suffixes name="RoamSecurityType" --> <owner>matthewmwang@chromium.org</owner> @@ -103476,10 +106928,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="NetworkService.URLLoader.RequestInitiatorOriginLockCompatibility" - enum="RequestInitiatorOriginLockCompatibility" expires_after="2020-06-30"> + enum="RequestInitiatorOriginLockCompatibility" expires_after="2020-12-30"> + <owner>lukasza@chromium.org</owner> <owner>creis@chromium.org</owner> <owner>jam@chromium.org</owner> - <owner>lukasza@chromium.org</owner> <summary> Whether the request origin (i.e. network::ResourceRequest::request_initiator) matches the origin that the @@ -103644,8 +107096,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NewTabPage.ActioniOS" enum="NewTabPageActioniOS" - expires_after="M85"> + expires_after="2021-06-10"> <owner>justincohen@chromium.org</owner> + <owner>gambard@chromium.org</owner> <summary> Actions taken by users from the new tab page on iOS. These actions may navigate away from the NTP (e.g. searching in the omnibox or opening a @@ -104753,6 +108206,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NewTabPage.LoadType" enum="NTPLoadType" expires_after="M85"> + <obsolete> + Removed 2020-06 because it was no longer being monitored. + </obsolete> <owner>mvanouwerkerk@chromium.org</owner> <summary> Android: the type of load for the NTP, such as cold or warm start. It's a @@ -105351,8 +108807,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NewTabPage.SearchAvailableLoadTime2.ColdStart" units="ms" - expires_after="M85"> - <owner>mvanouwerkerk@chromium.org</owner> + expires_after="2021-06-08"> + <owner>fgorski@chromium.org</owner> + <owner>ender@google.com</owner> + <owner>yyushkina@chromium.org</owner> <summary> The time until the search box became available on the NTP in a cold start. It's a cold start if the native library is not already loaded and @@ -105361,8 +108819,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NewTabPage.SearchAvailableLoadTime2.WarmStart" units="ms" - expires_after="M85"> - <owner>mvanouwerkerk@chromium.org</owner> + expires_after="2021-06-08"> + <owner>fgorski@chromium.org</owner> + <owner>ender@google.com</owner> + <owner>yyushkina@chromium.org</owner> <summary> The time until the search box became available on the NTP in a warm start. It's a warm start if the native library is already loaded and initialized at @@ -106198,9 +109658,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NewTabPage.VoiceActions" enum="NewTabPageVoiceAction" - expires_after="never"> - <owner>dbeam@chromium.org</owner> + expires_after="2021-01-01"> + <owner>tiborg@chromium.org</owner> <owner>yyushkina@chromium.org</owner> + <owner>chrome-desktop-ntp@google.com</owner> <summary> Actions taken by users of Voice Search on the local New Tab Page on Desktop. These actions may navigate away from the NTP (e.g. submitting a speech @@ -106210,9 +109671,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NewTabPage.VoiceErrors" enum="NewTabPageVoiceError" - expires_after="never"> - <owner>dbeam@chromium.org</owner> + expires_after="2021-01-01"> + <owner>tiborg@chromium.org</owner> <owner>yyushkina@chromium.org</owner> + <owner>chrome-desktop-ntp@google.com</owner> <summary> Errors that occur during Voice Search use on the local New Tab Page on Desktop. These may be user-induced (e.g. the user's utterance could not be @@ -107200,7 +110662,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Notifications.Windows.OnDismissedStatus" - enum="WindowsNotificationOnDismissedStatus" expires_after="M87"> + enum="WindowsNotificationOnDismissedStatus" expires_after="2020-06-23"> + <obsolete> + Obsolete 06/2020 as we no long record this metric. + </obsolete> <owner>chengx@chromium.org</owner> <owner>peter@chromium.org</owner> <summary> @@ -107462,7 +110927,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NQE.CellularSignalStrength.LevelAvailable" - enum="BooleanAvailable" expires_after="2020-09-20"> + enum="BooleanAvailable" expires_after="2020-11-29"> <owner>tbansal@chromium.org</owner> <owner>bengr@chromium.org</owner> <summary> @@ -107608,7 +111073,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NQE.EffectiveConnectionType.OnECTComputation" - enum="NQEEffectiveConnectionType" expires_after="2020-10-04"> + enum="NQEEffectiveConnectionType" expires_after="2020-12-06"> <owner>tbansal@chromium.org</owner> <owner>src/net/nqe/OWNERS</owner> <summary> @@ -107992,7 +111457,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NQE.RTT.ObservationSource" enum="NQEObservationSource" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>tbansal@chromium.org</owner> <owner>bengr@chromium.org</owner> <summary> @@ -108107,7 +111572,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="NQE.TransportRTT.OnECTComputation" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>bengr@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -108273,6 +111738,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OAuth2Login.GetOAuth2AccessTokenFailure" enum="GoogleServiceAuthError" expires_after="M85"> + <obsolete> + Long removed. + </obsolete> <owner>tbarzic@chromium.org</owner> <summary> Failure reason of final OAuth2 access token retrieval call during Chrome OS @@ -108282,6 +111750,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OAuth2Login.GetOAuth2AccessTokenRetry" enum="GoogleServiceAuthError" expires_after="M85"> + <obsolete> + Long removed. + </obsolete> <owner>tbarzic@chromium.org</owner> <summary> Retry reason of failed OAuth2 access token retrieval call during Chrome OS @@ -108314,8 +111785,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OAuth2Login.MergeSessionFailure" enum="GoogleServiceAuthError" - expires_after="2020-05-03"> - <owner>tbarzic@chromium.org</owner> + expires_after="2020-11-29"> + <owner>droger@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <owner>chrome-signin-team@google.com</owner> <summary> Failure reason of MergeSession call during Chrome OS login, Chrome Signin or account addition. On all OSes as of M44 (previously CrOS only). @@ -108323,8 +111796,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OAuth2Login.MergeSessionRetry" enum="GoogleServiceAuthError" - expires_after="2020-02-16"> - <owner>tbarzic@chromium.org</owner> + expires_after="2020-11-29"> + <owner>droger@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <owner>chrome-signin-team@google.com</owner> <summary> Retry reason of failed MergeSession call during Chrome OS login, Chrome Signin or account addition. On all OSes as of M44 (previously CrOS only). @@ -108333,6 +111808,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OAuth2Login.OAuthLoginGaiaCredFailure" enum="GoogleServiceAuthError" expires_after="M85"> + <obsolete> + Long removed. + </obsolete> <owner>tbarzic@chromium.org</owner> <summary> Failure reason of final OAuthLogin (with SID+LSID) call during Chrome OS @@ -108342,6 +111820,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OAuth2Login.OAuthLoginGaiaCredRetry" enum="GoogleServiceAuthError" expires_after="M85"> + <obsolete> + Long removed. + </obsolete> <owner>tbarzic@chromium.org</owner> <summary> Retry reason of failed OAuthLogin (with SID+LSID) call during Chrome OS @@ -108374,8 +111855,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OAuth2Login.PostMergeVerification" - enum="PostMergeVerificationOutcome" expires_after="M78"> - <owner>tbarzic@chromium.org</owner> + enum="PostMergeVerificationOutcome" expires_after="M85"> + <owner>droger@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <owner>chrome-signin-team@google.com</owner> <summary> Outcome of Chrome OS GAIA cookie post-merge session verification process. It measures how often /MergeSession request collided with browser session @@ -108384,8 +111867,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OAuth2Login.PreMergeVerification" - enum="PostMergeVerificationOutcome" expires_after="M78"> - <owner>tbarzic@chromium.org</owner> + enum="PostMergeVerificationOutcome" expires_after="M85"> + <owner>droger@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <owner>chrome-signin-team@google.com</owner> <summary> Outcome of Chrome OS GAIA cookie pre-merge session verification process. It measures how often we need to perform /MergeSession request to @@ -108407,19 +111892,25 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OAuth2Login.SessionRestore" enum="GaiaSessionRestoreOutcome" expires_after="2020-12-17"> - <owner>tbarzic@chromium.org</owner> + <owner>droger@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <owner>chrome-signin-team@google.com</owner> <summary>Outcome of Chrome OS GAIA cookie session restore process.</summary> </histogram> <histogram name="OAuth2Login.SessionRestoreTimeToFailure" units="ms" expires_after="2020-12-17"> - <owner>tbarzic@chromium.org</owner> + <owner>droger@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <owner>chrome-signin-team@google.com</owner> <summary>How long it takes for the session restore to fail.</summary> </histogram> <histogram name="OAuth2Login.SessionRestoreTimeToSuccess" units="ms" expires_after="2020-12-17"> - <owner>tbarzic@chromium.org</owner> + <owner>droger@chromium.org</owner> + <owner>msarda@chromium.org</owner> + <owner>chrome-signin-team@google.com</owner> <summary> How long it takes for the session restore to finish succeessfully. </summary> @@ -108489,16 +111980,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.AccessEntryPoint" - enum="OfflinePagesAccessEntryPoint" expires_after="M85"> + enum="OfflinePagesAccessEntryPoint" expires_after="2021-06-25"> <owner>jianli@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Logs the UI location from which an offline page was launched. </summary> </histogram> <histogram name="OfflinePages.AccessPageCount" - enum="OfflinePagesNamespaceEnumeration" expires_after="M85"> + enum="OfflinePagesNamespaceEnumeration" expires_after="2021-06-25"> <owner>dimich@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Counts the number of times an offline page is accessed. Events are reported per offline pages namespace. @@ -108538,8 +112031,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.ArchiveManager.ArchiveDirsCreationResult2" - enum="PlatformFileError" expires_after="M85"> + enum="PlatformFileError" expires_after="2021-06-25"> <owner>dimich@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> This is recorded every time the archive directory is being created. It doesn't include the case which the archive directory exists. It has suffixes @@ -108592,8 +112086,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OfflinePages.Background.EffectiveConnectionType.OffliningStartType" - enum="NQEEffectiveConnectionType" expires_after="M85"> + enum="NQEEffectiveConnectionType" expires_after="2021-06-25"> <owner>petewil@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Effective connection type at the start of an offlining attempt for an attempt that eventually failed. @@ -108603,8 +112098,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.Background.EffectiveConnectionType.PauseRequests" - enum="NQEEffectiveConnectionType" expires_after="M77"> + enum="NQEEffectiveConnectionType" expires_after="2021-06-25"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Effective connection type when pausing one or more background loads is requested. @@ -108615,8 +112111,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OfflinePages.Background.EffectiveConnectionType.RemoveRequests" - enum="NQEEffectiveConnectionType" expires_after="M78"> + enum="NQEEffectiveConnectionType" expires_after="2021-06-25"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Effective connection type when removing one or more background loads is requested. @@ -108627,8 +112124,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OfflinePages.Background.EffectiveConnectionType.ResumeRequests" - enum="NQEEffectiveConnectionType" expires_after="M78"> + enum="NQEEffectiveConnectionType" expires_after="2021-06-25"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Effective connection type when resuming one or more background loads is requested. @@ -108638,8 +112136,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.Background.EffectiveConnectionType.SavePageLater" - enum="NQEEffectiveConnectionType" expires_after="M85"> + enum="NQEEffectiveConnectionType" expires_after="2021-03-01"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Effective connection type when a background load is requested. @@ -108658,6 +112157,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OfflinePages.Background.ImmediateStart.AvailableRequestCount" units="units" expires_after="M77"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of queued background load requests available for processing when processing starts immediately (vs. scheduled). This is for non-svelte @@ -108669,6 +112169,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. name="OfflinePages.Background.ImmediateStart.AvailableRequestCount.Svelte" units="units" expires_after="M85"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of queued background load requests available for processing when processing starts immediately (vs. scheduled). This is for svelte devices @@ -108680,6 +112181,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. name="OfflinePages.Background.ImmediateStart.UnavailableRequestCount" units="units" expires_after="M78"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of queued background load requests unavailable for processing when processing starts immediately (vs. scheduled). This is for non-svelte @@ -108691,6 +112193,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. name="OfflinePages.Background.ImmediateStart.UnavailableRequestCount.Svelte" units="units" expires_after="M85"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of queued background load requests unavailable for processing when processing starts immediately (vs. scheduled). This is for svelte devices @@ -108701,6 +112204,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OfflinePages.Background.ImmediateStartStatus" enum="OfflinePagesBackgroundImmediateStartStatus" expires_after="M77"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Status of attempt to immediately start offlining a page in the background while application is still concurrently using the foreground. This may be @@ -108717,8 +112221,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.Background.OfflinerRequestStatus" - enum="OfflinePagesBackgroundOfflinerRequestStatus" expires_after="M85"> + enum="OfflinePagesBackgroundOfflinerRequestStatus" + expires_after="2021-03-01"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Status code of background offlining (loading and saving) requests. </summary> @@ -108736,6 +112242,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OfflinePages.Background.RequestFailure.StartedAttemptCount" units="units" expires_after="M77"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of started attempts by failed background load requests. </summary> @@ -108744,6 +112251,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OfflinePages.Background.RequestSuccess.StartedAttemptCount" units="units" expires_after="M77"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of started attempts by successful background load requests. </summary> @@ -108791,6 +112299,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OfflinePages.Background.ScheduledStart.AvailableRequestCount" units="units" expires_after="M77"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of queued background load requests available for processing when background scheduled processing starts. This is for non-svelte devices @@ -108802,6 +112311,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. name="OfflinePages.Background.ScheduledStart.AvailableRequestCount.Svelte" units="units" expires_after="M78"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of queued background load requests available for processing when background scheduled processing starts. This is for svelte devices (where @@ -108813,6 +112323,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. name="OfflinePages.Background.ScheduledStart.UnavailableRequestCount" units="units" expires_after="M78"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of queued background load requests unavailable for processing when background scheduled processing starts. This is for non-svelte devices @@ -108824,6 +112335,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. name="OfflinePages.Background.ScheduledStart.UnavailableRequestCount.Svelte" units="units" expires_after="M78"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Number of queued background load requests unavailable for processing when background scheduled processing starts. This is for svelte devices (where @@ -108832,22 +112344,25 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.Background.TimeToCanceled" units="seconds" - expires_after="M85"> + expires_after="2021-03-01"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary>Time from background request until it was canceled.</summary> </histogram> <histogram name="OfflinePages.Background.TimeToSaved" units="seconds" - expires_after="M85"> + expires_after="2021-03-01"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Time from background request until it was successfully saved. </summary> </histogram> <histogram name="OfflinePages.Background.TimeToStart" units="ms" - expires_after="M85"> + expires_after="2021-03-01"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Time from background request until processing it was first started. This is for non-svelte devices. @@ -108855,8 +112370,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.Background.TimeToStart.Svelte" units="ms" - expires_after="M85"> + expires_after="2021-03-01"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Time from background request until processing it was first started on svelte device. Svelte is determined by base::SysInfo::IsLowEnd(). @@ -108866,6 +112382,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OfflinePages.Background.UnsupportedScheme.ConnectionType" enum="NetworkConnectionType" expires_after="M85"> <owner>dougarnett@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Connection type when prerenderer reports Unsupported Scheme error. @@ -109477,9 +112994,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="OfflinePages.MhtmlLoadResult" - enum="MhtmlLoadResult" expires_after="2020-06-30"> - <owner>iwells@chromium.org</owner> - <owner>carlosk@chromium.org</owner> + enum="MhtmlLoadResult" expires_after="2021-05-31"> + <owner>sclittle@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Result of an attempt to load an MHTML archive to display a trusted offline page, recorded per offline namespace by OfflinePageTabHelper after renderer @@ -109488,9 +113005,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.MhtmlLoadResultUntrusted" enum="MhtmlLoadResult" - expires_after="2020-06-30"> - <owner>iwells@chromium.org</owner> - <owner>carlosk@chromium.org</owner> + expires_after="2021-05-31"> + <owner>sclittle@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Result of an attempt to load an MHTML archive to display an untrusted offline page, recorded by OfflinePageTabHelper after the renderer attempts @@ -109843,8 +113360,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.PrefetchStore.StoreEvent" - enum="OfflinePagesStoreEvent" expires_after="2020-07-01"> - <owner>carlosk@chromium.org</owner> + enum="OfflinePagesStoreEvent" expires_after="2021-05-31"> + <owner>sclittle@chromium.org</owner> <owner>offline-dev@chromium.org</owner> <summary> Counts when the offline pages prefetch store is opened or closed. @@ -110051,8 +113568,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OfflinePages.SavedPageCountUponQuery" units="pages" - expires_after="2020-06-30"> - <owner>carlosk@chromium.org</owner> + expires_after="2021-05-31"> + <owner>sclittle@chromium.org</owner> + <owner>offline-dev@chromium.org</owner> <summary> Total number of saved offline pages recorded when they are all queried from the store. This value is more meaningful when filtered by unique users as @@ -110638,8 +114156,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.ClipboardSuggestionShownAge" units="ms" - expires_after="M85"> - <owner>mpearson@chromium.org</owner> + expires_after="M93"> + <owner>gangwu@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> <summary> Recorded every time the omnibox is focussed and recent content from the @@ -110656,8 +114174,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.ClipboardSuggestionShownNumTimes" units="units" - expires_after="M85"> - <owner>mpearson@chromium.org</owner> + expires_after="M93"> + <owner>gangwu@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> <summary> Recorded every time the omnibox is focussed and a recent content from the @@ -110686,8 +114204,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.ClipboardSuggestionShownWithCurrentURL" - enum="BooleanPresent" expires_after="M85"> - <owner>mpearson@chromium.org</owner> + enum="BooleanPresent" expires_after="M93"> + <owner>gangwu@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> <summary> Recorded every time the omnibox is focussed and a recent content from the @@ -111126,7 +114644,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.OnDeviceHeadSuggest.AsyncQueryTime" units="ms" - expires_after="2020-07-19"> + expires_after="2021-03-09"> <owner>cch@chromium.org</owner> <owner>suggest-2g@google.com</owner> <summary> @@ -111136,7 +114654,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.OnDeviceHeadSuggest.ResultCount" units="count" - expires_after="2020-07-19"> + expires_after="2021-03-09"> <owner>cch@chromium.org</owner> <owner>suggest-2g@google.com</owner> <summary> @@ -111164,7 +114682,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Omnibox.PasteAndGo" units="count" expires_after="2020-07-30"> +<histogram name="Omnibox.PasteAndGo" units="count" expires_after="2020-12-06"> <owner>mpearson@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> <summary> @@ -111374,7 +114892,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.Search.OffTheRecord" enum="BooleanOffTheRecord" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -111768,9 +115286,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.SuggestRequest.Failure.GoogleResponseTime" units="ms" - expires_after="M85"> + expires_after="2021-03-09"> <owner>mpearson@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> + <owner>cch@chromium.org</owner> <summary> The time elapsed between the sending of a suggest request to Google until the time the request was returned with status==failed. Ignores requests that @@ -111779,9 +115298,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.SuggestRequest.Success.GoogleResponseTime" units="ms" - expires_after="M85"> + expires_after="2021-03-09"> <owner>mpearson@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> + <owner>cch@chromium.org</owner> <summary> The time elapsed between the sending of a suggest request to Google until the time the request was returned with status==success. Ignores requests @@ -111790,9 +115310,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.SuggestRequests" enum="OmniboxSuggestRequests" - expires_after="M85"> + expires_after="2021-03-09"> <owner>mpearson@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> + <owner>cch@chromium.org</owner> <summary> Counts about the number of suggest requests the omnibox sent, invalidated, and replies received. @@ -111856,6 +115377,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Omnibox.URLNavigationTimeToRedirectToHTTPS" units="ms" expires_after="M85"> + <obsolete> + Removed in 06/2020 for M-85. + </obsolete> <owner>mpearson@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> <owner>cthomp@chromium.org</owner> @@ -111939,7 +115463,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.ZeroSuggest.Eligible.OnFocusV2" - enum="ZeroSuggestEligibleOnFocus" expires_after="2020-06-01"> + enum="ZeroSuggestEligibleOnFocus" expires_after="2020-12-01"> <owner>mpearson@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> <summary> @@ -111972,7 +115496,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Omnibox.ZeroSuggest.Eligible.OnProfileOpen" - enum="BooleanSupported" expires_after="M85"> + enum="BooleanSupported" expires_after="2020-12-01"> <owner>mpearson@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> <summary> @@ -112000,7 +115524,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Omnibox.ZeroSuggest.Eligible.RemoteNoUrl.OnNTP.OnFocus" enum="ZeroSuggestEligibleOnFocusForRemoteNoUrlOnNTP" - expires_after="2020-06-01"> + expires_after="2020-12-01"> <owner>ender@chromium.org</owner> <owner>mpearson@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> @@ -112019,7 +115543,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Omnibox.ZeroSuggest.Eligible.RemoteNoUrl.OnNTP.OnProfileOpen" enum="ZeroSuggestEligibleOnFocusForRemoteNoUrlOnNTP" - expires_after="2020-06-01"> + expires_after="2020-12-01"> <owner>ender@chromium.org</owner> <owner>mpearson@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> @@ -112072,7 +115596,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OOBE.ArcTermsOfServiceScreen.ReviewFollowingSetup" - enum="BooleanChecked" expires_after="2020-10-01"> + enum="BooleanChecked" expires_after="2020-12-06"> <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> @@ -112099,7 +115623,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OOBE.ErrorScreensTime.Signin" units="ms" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary>Time spent on error screens during signin.</summary> @@ -112115,7 +115639,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OOBE.ErrorScreensTime.Update" units="ms" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary>Time spent on error screens during update.</summary> @@ -112125,7 +115649,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. expires_after="2021-02-02"> <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> - <summary>Counts all user actions on the EulaScreen.</summary> + <summary> + Tracks all user actions on the EULA screen. Recorded when user clicks on + buttons on the EULA screen. + </summary> </histogram> <histogram name="OOBE.EULAToSignInTime" units="ms" expires_after="never"> @@ -112140,6 +115667,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="OOBE.FingerprintSetupScreen.UserActions" + enum="FingerprintSetupScreenUserAction" expires_after="2021-02-02"> + <owner>raleksandrov@google.com</owner> + <owner>cros-oac@google.com</owner> + <summary> + Tracks all user actions on the fingerprint screen. Recorded when user clicks + on buttons on the fingerprint screen. + </summary> +</histogram> + <histogram base="true" name="OOBE.GestureNavigationScreen.PageShownTime" units="ms" expires_after="2021-04-01"> <!-- Name completed by histogram_suffixes @@ -112233,7 +115770,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OOBE.RecommendApps.Fetcher.DownloadTime" units="ms" - expires_after="2020-08-30"> + expires_after="2020-11-15"> <owner>rsorokin@chromium.org</owner> <owner>cros-oac@google.com</owner> <owner>play-bm-eng@google.com</owner> @@ -112249,7 +115786,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OOBE.RecommendApps.Fetcher.ResponseParseResult" - enum="RecommendAppsResponseParseResult" expires_after="2020-08-30"> + enum="RecommendAppsResponseParseResult" expires_after="2020-12-13"> <owner>rsorokin@chromium.org</owner> <owner>cros-oac@google.com</owner> <owner>chromesky-eng@google.com</owner> @@ -112307,14 +115844,26 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OOBE.StepCompletionTimeByExitReason" units="ms" - expires_after="2020-10-01"> + expires_after="2020-12-06"> <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary>Time spent on specific OOBE screen grouped by exit reason.</summary> </histogram> +<histogram name="OOBE.SyncConsentScreen.Behavior" enum="SyncConsentBehavior" + expires_after="2020-12-01"> + <owner>jamescook@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Whether the sync consent screen was shown, skipped with sync disabled, or + skipped with sync enabled. Recorded when the screen is closed. Metrics + Sync.InitialState and OOBE.SyncConsentScreen.SyncEnabled provide more detail + on the state of the sync engine. + </summary> +</histogram> + <histogram name="OOBE.SyncConsentScreen.ReviewFollowingSetup" - enum="BooleanChecked" expires_after="2020-10-01"> + enum="BooleanChecked" expires_after="2020-12-06"> <owner>raleksandrov@google.com</owner> <owner>cros-oac@google.com</owner> <summary> @@ -112323,6 +115872,67 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="OOBE.SyncConsentScreen.SyncEnabled" enum="BooleanEnabled" + expires_after="2020-12-01"> + <owner>jamescook@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Final state of the sync service at the end of the sync consent OOBE step. + The dialog may have been shown or skipped (e.g. by enterprise policy). See + OOBE.SyncConsentScreen.Behavior for skip reasons. + </summary> +</histogram> + +<histogram name="OOBE.SyncConsentScreen.UserChoice" + enum="SyncConsentUserChoice" expires_after="2020-12-01"> + <owner>jamescook@chromium.org</owner> + <owner>cros-oac@google.com</owner> + <summary> + Which button the user clicked on the out-of-box sync consent screen. + Recorded when the user clicks the button, which also closes the screen. + </summary> +</histogram> + +<histogram name="OOBE.UpdateScreen.StageTime.Check" units="ms" + expires_after="2021-02-01"> + <owner>dkuzmin@google.com</owner> + <owner>cros-oac@google.com</owner> + <summary> + Time spent on Checking of the ChromeOS update. Recorded when the stage is + done and the next stage is about to start. + </summary> +</histogram> + +<histogram name="OOBE.UpdateScreen.StageTime.Download" units="ms" + expires_after="2021-02-01"> + <owner>dkuzmin@google.com</owner> + <owner>cros-oac@google.com</owner> + <summary> + Time spent on Downloading of the ChromeOS update. Recorded when the stage is + done and the next stage is about to start. + </summary> +</histogram> + +<histogram name="OOBE.UpdateScreen.StageTime.Finalize" units="ms" + expires_after="2021-02-01"> + <owner>dkuzmin@google.com</owner> + <owner>cros-oac@google.com</owner> + <summary> + Time spent on Finalizing of the ChromeOS update. Recorded when the stage is + done and the next stage is about to start. + </summary> +</histogram> + +<histogram name="OOBE.UpdateScreen.StageTime.Verify" units="ms" + expires_after="2021-02-01"> + <owner>dkuzmin@google.com</owner> + <owner>cros-oac@google.com</owner> + <summary> + Time spent on Verifying of the ChromeOS update. Recorded when the stage is + done and the next stage is about to start. + </summary> +</histogram> + <histogram name="OOBE.UpdateScreen.UpdateDownloadingTime" units="ms" expires_after="2020-10-01"> <owner>raleksandrov@google.com</owner> @@ -112344,7 +115954,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="OptimizationGuide.ApplyDecision" - enum="OptimizationGuideOptimizationTypeDecision" expires_after="M85"> + enum="OptimizationGuideOptimizationTypeDecision" expires_after="2020-11-30"> <owner>sophiechang@chromium.org</owner> <owner>mcrouse@chromium.org</owner> <summary> @@ -112354,7 +115964,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="OptimizationGuide.ApplyDecisionAsync" - enum="OptimizationGuideOptimizationTypeDecision" expires_after="M85"> + enum="OptimizationGuideOptimizationTypeDecision" expires_after="2020-11-30"> <owner>sophiechang@chromium.org</owner> <owner>mcrouse@chromium.org</owner> <summary> @@ -112367,7 +115977,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.ClearFetchedHints.StoreAvailable" - units="BooleanAvailable" expires_after="M85"> + units="BooleanAvailable" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112377,7 +115987,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.ClearHostModelFeatures.StoreAvailable" - units="BooleanAvailable" expires_after="M85"> + units="BooleanAvailable" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112429,7 +116039,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.HintCache.HintType.Loaded" - enum="HintCacheStoreEntryType" expires_after="M85"> + enum="HintCacheStoreEntryType" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>dougarnett@chromium.org</owner> <summary> @@ -112474,7 +116084,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.HintCacheLevelDBStore.LoadMetadataResult" enum="OptimizationGuideHintCacheLevelDBStoreLoadMetadataResult" - expires_after="M85"> + expires_after="2020-11-30"> <owner>dougarnett@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112484,7 +116094,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.HintCacheLevelDBStore.Status" - enum="OptimizationGuideHintCacheLevelDBStoreStatus" expires_after="M85"> + enum="OptimizationGuideHintCacheLevelDBStoreStatus" + expires_after="2020-11-30"> <owner>dougarnett@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112538,7 +116149,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="OptimizationGuide.HintsFetcher.GetHintsRequest.ActiveRequestCanceled" - units="counts" expires_after="M85"> + units="counts" expires_after="2020-11-30"> <owner>sophiechang@chromium.org</owner> <owner>mcrouse@chromium.org</owner> <summary> @@ -112547,7 +116158,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.FetchLatency" - units="ms" expires_after="M85"> + units="ms" expires_after="2020-11-30"> <owner>sophiechang@chromium.org</owner> <owner>mcrouse@chromium.org</owner> <summary> @@ -112558,7 +116169,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.HintCount" - units="units" expires_after="M85"> + units="units" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112568,7 +116179,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.HostCount" - units="total host count" expires_after="M85"> + units="total host count" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>dougarnett@chromium.org</owner> <summary> @@ -112578,7 +116189,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.NetErrorCode" - enum="NetErrorCodes" expires_after="M85"> + enum="NetErrorCodes" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>dougarnett@chromium.org</owner> <summary> @@ -112588,7 +116199,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.Status" - enum="HttpResponseCode" expires_after="M85"> + enum="HttpResponseCode" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>dougarnett@chromium.org</owner> <summary> @@ -112598,7 +116209,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.UrlCount" - units="total url count" expires_after="M85"> + units="total url count" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112659,7 +116270,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.HintsFetcher.RequestStatus.BatchUpdate" enum="OptimizationGuideHintsFetcherRequestStatus" - expires_after="2020-11-17"> + expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>dougarnett@chromium.org</owner> <summary> @@ -112671,7 +116282,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.HintsFetcher.RequestStatus.PageNavigation" enum="OptimizationGuideHintsFetcherRequestStatus" - expires_after="2020-11-17"> + expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>dougarnett@chromium.org</owner> <summary> @@ -112683,7 +116294,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.HintsFetcher.TopHostProvider.BlacklistSize.OnInitialize" - units="total host count" expires_after="M85"> + units="total host count" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>dougarnett@chromium.org</owner> <summary> @@ -112694,7 +116305,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.HintsFetcher.TopHostProvider.BlacklistSize.OnRequest" - units="total host count" expires_after="M85"> + units="total host count" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>dougarnett@chromium.org</owner> <summary> @@ -112732,7 +116343,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.HintsManager.ConcurrentPageNavigationFetches" - units="counts" expires_after="M85"> + units="counts" expires_after="2020-11-30"> <owner>sophiechang@chromium.org</owner> <owner>mcrouse@chromium.org</owner> <summary> @@ -112745,7 +116356,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.HintsManager.RaceNavigationFetchAttemptStatus" enum="OptimizationGuideRaceNavigationFetchAttemptStatus" - expires_after="M85"> + expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112756,7 +116367,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.IsPredictionModelValid" units="BooleanValid" - expires_after="M85"> + expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112767,7 +116378,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="OptimizationGuide.OptimizationFilterStatus" - enum="OptimizationGuideOptimizationFilterStatus" expires_after="M85"> + enum="OptimizationGuideOptimizationFilterStatus" expires_after="2020-11-30"> <owner>dougarnett@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112778,7 +116389,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.OptimizationHintsComponent.MajorVersion" - units="major version number" expires_after="M85"> + units="major version number" expires_after="2020-11-30"> <owner>sophiechang@chromium.org</owner> <owner>mcrouse@chromium.org</owner> <summary> @@ -112790,7 +116401,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.PredictionManager.HasHostModelFeaturesForHost" - enum="Boolean" expires_after="M85"> + enum="Boolean" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112800,7 +116411,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.PredictionManager.HostModelFeaturesMapSize" - units="total host count" expires_after="M85"> + units="total host count" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112812,7 +116423,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="OptimizationGuide.PredictionModelEvaluationLatency" units="ms" - expires_after="M85"> + expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112825,7 +116436,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.PredictionModelFetcher.GetModelsRequest.HostCount" - units="total host count" expires_after="M85"> + units="total host count" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112837,7 +116448,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.PredictionModelFetcher.GetModelsResponse.HostModelFeatureCount" - units="units" expires_after="M85"> + units="units" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112848,7 +116459,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.PredictionModelFetcher.GetModelsResponse.NetErrorCode" - enum="NetErrorCodes" expires_after="M85"> + enum="NetErrorCodes" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112859,7 +116470,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.PredictionModelFetcher.GetModelsResponse.Status" - enum="HttpResponseCode" expires_after="M85"> + enum="HttpResponseCode" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112869,7 +116480,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.PredictionModelLoadedVersion" - units="version number" expires_after="M89"> + units="version number" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112881,7 +116492,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.PredictionModelStore.HostModelFeaturesLoadMetadataResult" - enum="BooleanLoaded" expires_after="M85"> + enum="BooleanLoaded" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112905,7 +116516,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.PredictionModelUpdateVersion" - units="version number" expires_after="M89"> + units="version number" expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112915,7 +116526,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.PredictionModelValidationLatency" units="ms" - expires_after="M85"> + expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112927,7 +116538,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.PredictionModelVersion" - units="version number" expires_after="M87"> + units="version number" expires_after="2020-05-30"> <obsolete> Removed as of 05/2020 to in favor of recording the version on update and on load. @@ -112942,7 +116553,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.ProcessHintsResult" - enum="OptimizationGuideProcessHintsResult" expires_after="M85"> + enum="OptimizationGuideProcessHintsResult" expires_after="2020-11-30"> <owner>dougarnett@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112953,7 +116564,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="OptimizationGuide.RemoteFetchingEnabled" - units="BooleanEnabled" expires_after="M90"> + units="BooleanEnabled" expires_after="2020-11-30"> <owner>sophiechang@chromium.org</owner> <owner>mcrouse@chromium.org</owner> <summary> @@ -112966,7 +116577,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="OptimizationGuide.ShouldTargetNavigation.PredictionModelStatus" - enum="OptimizationGuidePredictionManagerModelStatus" expires_after="M85"> + enum="OptimizationGuidePredictionManagerModelStatus" + expires_after="2020-11-30"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary> @@ -112978,7 +116590,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="OptimizationGuide.TargetDecision" - enum="OptimizationGuideOptimizationTargetDecision" expires_after="M85"> + enum="OptimizationGuideOptimizationTargetDecision" + expires_after="2020-11-30"> <owner>sophiechang@chromium.org</owner> <owner>mcrouse@chromium.org</owner> <summary> @@ -113486,7 +117099,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Overscroll.Cancelled3" enum="OverscrollNavigationType" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>nzolghadr@chromium.org</owner> <summary> Overscroll gestures that were aborted before they were completed. @@ -113952,6 +117565,22 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram base="true" + name="PageLoad.AdPaintTiming.NavigationToFirstContentfulPaint" units="ms" + expires_after="2021-05-28"> + <owner>jkarlin@chromium.org</owner> + <owner>johnidel@chromium.org</owner> + <summary> + Records the time from frame navigation start to FirstContentfulPaint of each + ad frame that receives a FirstContentfulPaint. The time could be quite + large, as some ads don't paint until they're scrolled into view. But the + metric is still useful in aggregate. + + Recorded for all ad frames with non-zero bytes or cpu usage that receive a + FirstContentfulPaint. Recorded when the ad frame or page is destrroyed. + </summary> +</histogram> + <histogram name="PageLoad.BackForwardCache.Event" enum="PageLoadBackForwardCacheEvent" expires_after="2021-04-01"> <owner>altimin@chromium.org</owner> @@ -113981,8 +117610,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.AdFrames.Aggregate.Network" units="KB" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with - PageLoad.Cients.Ads.Bytes.AdFrames.Aggregate.Network. + Removed 01/2019. Replaced with + PageLoad.Clients.Ads.Bytes.AdFrames.Aggregate.Network. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114000,8 +117629,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.AdFrames.Aggregate.PercentNetwork" units="%" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with - PageLoad.Cients.Ads.Bytes.AdFrames.Aggregate.PercentNetwork. + Removed 01/2019. Replaced with + PageLoad.Clients.Ads.Bytes.AdFrames.Aggregate.PercentNetwork. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114019,8 +117648,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.AdFrames.Aggregate.Total" units="KB" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with - PageLoad.Cients.Ads.Bytes.AdFrames.Aggregate.Total. + Removed 01/2019. Replaced with + PageLoad.Clients.Ads.Bytes.AdFrames.Aggregate.Total. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114038,8 +117667,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.AdFrames.PerFrame.Network" units="KB" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with - PageLoad.Cients.Ads.Bytes.AdFrames.PerFrame.Network. + Removed 01/2019. Replaced with + PageLoad.Clients.Ads.Bytes.AdFrames.PerFrame.Network. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114056,8 +117685,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.AdFrames.PerFrame.PercentNetwork" units="%" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with - PageLoad.Cients.Ads.Bytes.AdFrames.PerFrame.PercentNetwork. + Removed 01/2019. Replaced with + PageLoad.Clients.Ads.Bytes.AdFrames.PerFrame.PercentNetwork. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114075,8 +117704,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.AdFrames.PerFrame.Total" units="KB" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with - PageLoad.Cients.Ads.Bytes.AdFrames.PerFrame.Total. + Removed 01/2019. Replaced with + PageLoad.Clients.Ads.Bytes.AdFrames.PerFrame.Total. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114093,7 +117722,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.FullPage.Network" units="KB" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with PageLoad.Cients.Ads.Bytes.FullPage.Network. + Removed 01/2019. Replaced with PageLoad.Clients.Ads.Bytes.FullPage.Network. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114109,8 +117738,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.FullPage.Network.PercentAds" units="%" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with - PageLoad.Cients.Ads.Bytes.FullPage.Network.PercentAds. + Removed 01/2019. Replaced with + PageLoad.Clients.Ads.Bytes.FullPage.Network.PercentAds. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114128,7 +117757,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.FullPage.Total" units="KB" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with PageLoad.Cients.Ads.Bytes.FullPage.Total. + Removed 01/2019. Replaced with PageLoad.Clients.Ads.Bytes.FullPage.Total. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114143,8 +117772,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.FullPage.Total.PercentAds" units="%" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with - PageLoad.Cients.Ads.Bytes.FullPage.Total.PercentAds. + Removed 01/2019. Replaced with + PageLoad.Clients.Ads.Bytes.FullPage.Total.PercentAds. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114162,8 +117791,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Bytes.NonAdFrames.Aggregate.Total" units="KB" expires_after="2019-01-17"> <obsolete> - Removed 01/19. Replaced with - PageLoad.Cients.Ads.Bytes.NonAdFrames.Aggregate.Total. + Removed 01/2019. Replaced with + PageLoad.Clients.Ads.Bytes.NonAdFrames.Aggregate.Total. </obsolete> <owner>jkarlin@chromium.org</owner> <summary> @@ -114240,6 +117869,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PageLoad.Clients.Ads.AllPages.NonAdNetworkBytes" units="KB" + expires_after="2021-05-20"> + <owner>alexmt@chromium.org</owner> + <owner>johnidel@chromium.org</owner> + <summary> + Total number of network bytes that went towards loading non-ad resources for + a single page over its entire lifetime. This includes resources that did not + finish or were canceled. Only recorded for pages with non-zero total bytes, + including those without an ad frame and pages with no ad resources. Recorded + when the page is destroyed. + </summary> +</histogram> + <histogram name="PageLoad.Clients.Ads.AllPages.PercentNetworkBytesAds" units="%" expires_after="2021-01-27"> <owner>alexmt@chromium.org</owner> @@ -115164,6 +118806,30 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="PageLoad.Clients.FontPreload.PaintTiming.NavigationToLargestImagePaint" + units="ms" expires_after="2020-06-30"> + <owner>xiaochengh@chromium.org</owner> + <owner>rendering-core-dev@chromium.org</owner> + <summary> + This metrics measures + PageLoad.Experimental.PaintTiming.NavigationToLargestImagePaint when the + first rendering cycle has been delayed in favor of font preloading + </summary> +</histogram> + +<histogram + name="PageLoad.Clients.FontPreload.PaintTiming.NavigationToLargestTextPaint" + units="ms" expires_after="2020-06-30"> + <owner>xiaochengh@chromium.org</owner> + <owner>rendering-core-dev@chromium.org</owner> + <summary> + This metrics measures + PageLoad.Experimental.PaintTiming.NavigationToLargestTextPaint when the + first rendering cycle has been delayed in favor of font preloading + </summary> +</histogram> + <histogram name="PageLoad.Clients.GoogleCaptcha.Events" enum="GoogleCaptchaEvent" expires_after="2018-05-02"> <obsolete> @@ -115667,7 +119333,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired" - units="ms" expires_after="2020-09-27"> + units="ms" expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <owner>csharrison@chromium.org</owner> <summary> @@ -115690,7 +119356,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.DocumentTiming.NavigationToLoadEventFired" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <owner>csharrison@chromium.org</owner> <summary> @@ -115762,7 +119428,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="PageLoad.Experimental.AbortTiming.Background" - units="ms" expires_after="2020-09-27"> + units="ms" expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <owner>csharrison@chromium.org</owner> <summary> @@ -115786,7 +119452,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="PageLoad.Experimental.AbortTiming.Close" - units="ms" expires_after="2020-09-27"> + units="ms" expires_after="2020-11-29"> <owner>csharrison@chromium.org</owner> <summary> This metric is still experimental and not yet ready to be relied upon. @@ -115797,7 +119463,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram base="true" name="PageLoad.Experimental.AbortTiming.ForwardBackNavigation" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>csharrison@chromium.org</owner> <summary> This metric is still experimental and not yet ready to be relied upon. @@ -115807,7 +119473,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="PageLoad.Experimental.AbortTiming.NewNavigation" - units="ms" expires_after="2020-09-27"> + units="ms" expires_after="2020-11-29"> <owner>csharrison@chromium.org</owner> <summary> This metric is still experimental and not yet ready to be relied upon. @@ -115827,7 +119493,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="PageLoad.Experimental.AbortTiming.Reload" - units="ms" expires_after="2020-09-27"> + units="ms" expires_after="2020-11-29"> <owner>csharrison@chromium.org</owner> <summary> This metric is still experimental and not yet ready to be relied upon. @@ -115837,7 +119503,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="PageLoad.Experimental.AbortTiming.Stop" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>csharrison@chromium.org</owner> <summary> This metric is still experimental and not yet ready to be relied upon. @@ -115872,7 +119538,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.Experimental.Bytes.Network" units="KB" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jkarlin@chromium.org</owner> <summary> The number of prefiltered (e.g., compressed) response body KiloBytes loaded @@ -115883,7 +119549,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.Experimental.Bytes.NetworkIncludingHeaders" - units="KB" expires_after="2020-09-27"> + units="KB" expires_after="2020-11-29"> <owner>jkarlin@chromium.org</owner> <summary> The number of prefiltered (e.g., compressed) KiloBytes loaded over the @@ -115956,8 +119622,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.Experimental.ClickInputBurst" units="count" - expires_after="M85"> + expires_after="2021-03-01"> <owner>dougarnett@chromium.org</owner> + <owner>tbansal@chromium.org</owner> <owner>tdresser@chromium.org</owner> <summary> The maximum size click input burst for the page load. A click input burst is @@ -116024,8 +119691,45 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="PageLoad.Experimental.EarlyHints.EarlyHintsToFinalResponseStart" + units="ms" expires_after="2021-06-11"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The interval between when the headers of the 103 Early Hints response is + received in reply to the final HTTP request and when the headers of the + final HTTP response is received for the main resource of a main frame + navigation. + </summary> +</histogram> + +<histogram + name="PageLoad.Experimental.EarlyHints.FinalRequestStartToEarlyHints" + units="ms" expires_after="2021-06-11"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The interval between when the final HTTP request is sent and when the + headers of the 103 Early Hints response is received in reply to the request + for the main resource of a main frame navigation. + </summary> +</histogram> + +<histogram + name="PageLoad.Experimental.EarlyHints.FirstRequestStartToEarlyHints" + units="ms" expires_after="2021-06-11"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The interval between when the first HTTP request is sent and when the + headers of the 103 Early Hints response is received in reply to the request + for the main resource of a main frame navigation. + </summary> +</histogram> + <histogram name="PageLoad.Experimental.InputTiming.InputToNavigationStart" - units="ms" expires_after="2020-09-05"> + units="ms" expires_after="2020-11-29"> <owner>sullivan@chromium.org</owner> <owner>tdresser@chromium.org</owner> <summary> @@ -116095,6 +119799,42 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram + name="PageLoad.Experimental.NavigationTiming.FinalLoaderCallbackToNavigationCommitSent" + units="ms" expires_after="2021-05-08"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The interval between when a callback for the navigation loader is last + invoked and when navigation commit message is sent to a renderer process for + the main resource of a main frame navigation. + </summary> +</histogram> + +<histogram + name="PageLoad.Experimental.NavigationTiming.FinalRequestStartToFinalResponseStart" + units="ms" expires_after="2021-05-08"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The interval between when the final HTTP request is sent and when the + headers of the final HTTP response is received for the main resource of a + main frame navigation. + </summary> +</histogram> + +<histogram + name="PageLoad.Experimental.NavigationTiming.FinalResponseStartToFinalLoaderCallback" + units="ms" expires_after="2021-05-08"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The interval between when the headers of the final HTTP response is received + and when a callback for the navigation loader is last invoked for the main + resource of a main frame navigation. + </summary> +</histogram> + +<histogram name="PageLoad.Experimental.NavigationTiming.FirstRequestStartToFirstResponseStart" units="ms" expires_after="2021-05-08"> <owner>nhiroki@chromium.org</owner> @@ -116107,14 +119847,69 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram + name="PageLoad.Experimental.NavigationTiming.FirstResponseStartToFirstLoaderCallback" + units="ms" expires_after="2021-05-08"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The interval between when the headers of the first HTTP response is received + and when a callback for the navigation loader is first invoked for the main + resource of a main frame navigation. + </summary> +</histogram> + +<histogram + name="PageLoad.Experimental.NavigationTiming.NavigationStartToFinalLoaderCallback" + units="ms" expires_after="2021-05-08"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The time relative to navigation start that a callback for the navigation + loader is last invoked for the main resource of a main frame navigation. + </summary> +</histogram> + +<histogram + name="PageLoad.Experimental.NavigationTiming.NavigationStartToFinalRequestStart" + units="ms" expires_after="2021-05-08"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The time relative to navigation start that the final HTTP request is sent + for the main resource of a main frame navigation. + </summary> +</histogram> + +<histogram + name="PageLoad.Experimental.NavigationTiming.NavigationStartToFinalResponseStart" + units="ms" expires_after="2021-05-08"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The time relative to navigation start that the headers of the final HTTP + response is received for the main resource of a main frame navigation. + </summary> +</histogram> + +<histogram + name="PageLoad.Experimental.NavigationTiming.NavigationStartToFirstLoaderCallback" + units="ms" expires_after="2021-05-08"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The time relative to navigation start that a callback for the navigation + loader is first invoked for the main resource of a main frame navigation. + </summary> +</histogram> + +<histogram name="PageLoad.Experimental.NavigationTiming.NavigationStartToFirstRequestStart" units="ms" expires_after="2021-05-08"> <owner>nhiroki@chromium.org</owner> <owner>chrome-loading@google.com</owner> <summary> The time relative to navigation start that the first HTTP request is sent - for the main resource of a main frame navigation. See - page_load_metrics::PageLoadTiming::first_request_start for details. + for the main resource of a main frame navigation. </summary> </histogram> @@ -116125,8 +119920,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <owner>chrome-loading@google.com</owner> <summary> The time relative to navigation start that the headers of the first HTTP - response is received for the main resource of a main frame navigation. See - page_load_metrics::PageLoadTiming::first_response_start for details. + response is received for the main resource of a main frame navigation. + </summary> +</histogram> + +<histogram + name="PageLoad.Experimental.NavigationTiming.NavigationStartToNavigationCommitSent" + units="ms" expires_after="2021-05-08"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The time relative to navigation start that navigation commit message for a + main frame navigation is sent to a renderer process. </summary> </histogram> @@ -116225,7 +120030,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintStatus" - enum="FirstMeaningfulPaintStatus" expires_after="2020-09-27"> + enum="FirstMeaningfulPaintStatus" expires_after="2020-11-29"> <owner>ksakamoto@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> <summary> @@ -116264,7 +120069,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.Experimental.PaintTiming.InputToFirstContentfulPaint" - units="ms" expires_after="2020-09-05"> + units="ms" expires_after="2020-11-29"> <owner>sullivan@chromium.org</owner> <summary> The time between the OS-level input event that initiated a navigation, and @@ -116343,7 +120148,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint" - units="ms" expires_after="2020-09-27"> + units="ms" expires_after="2020-11-29"> <owner>ksakamoto@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> <summary> @@ -116564,6 +120369,26 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="PageLoad.FrameCounts.AdFrames.PerFrame.CreativeOriginStatusWithThrottling" + enum="CrossOriginCreativeStatusWithThrottling" expires_after="2020-12-31"> + <owner>cammie@chromium.org</owner> + <owner>jkarlin@chromium.org</owner> + <summary> + For each identified ad frame, whether the origin of the ad creative frame + matches or differs from the origin of the main frame, further split by + whether the frame has lifecycle updates throttled. Metric is emitted on + frame deletion. + + The ad creative frame is heuristically determined, from among an identified + ad frame and all of its children, as the first of these frames to record a + First Contentful Paint. If no FCP is recorded, the creative origin status is + marked as indeterminate. Frames that are render-throttled will not have an + FCP. Ad frames with indeterminate creative origin status are broken out as + throttled or not. + </summary> +</histogram> + <histogram name="PageLoad.FrameCounts.AdFrames.PerFrame.CrossOrigin" enum="CrossOriginAd" expires_after="2018-04-30"> <obsolete> @@ -116582,7 +120407,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.FrameCounts.AdFrames.PerFrame.OriginStatus" - enum="CrossOriginAdStatus" expires_after="M85"> + enum="CrossOriginAdStatus" expires_after="M88"> <owner>ericrobinson@chromium.org</owner> <summary> For each identified ad frame, whether the origin of the ad matches the @@ -116803,8 +120628,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.InputTiming.NavigationToFirstScroll.AfterPaint" - units="ms" expires_after="2020-03-22"> + units="ms" expires_after="2021-06-22"> <owner>tdresser@chromium.org</owner> + <owner>input-dev@chromium.org</owner> <summary> Measures the time to first scroll input after the first paint. </summary> @@ -116831,6 +120657,22 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram + name="PageLoad.InteractiveTiming.FirstInputDelay.AfterBackForwardCacheRestore" + units="ms" expires_after="2021-06-30"> + <owner>altimin@chromium.org</owner> + <owner>hajimehoshi@chromium.org</owner> + <owner>bfcache-dev@chromium.org</owner> + <owner>speed-metrics-dev@chromium.org</owner> + <summary> + Measures First Input Delay, the duration between the hardware timestamp and + the start of event processing on the main thread for the first meaningful + input per back-forward navigation. Recorded on first page interaction after + the page is restored from the back-forward cache. See https://goo.gl/tr1oTZ + for a detailed explanation. Excludes scrolls. + </summary> +</histogram> + +<histogram name="PageLoad.InteractiveTiming.FirstInputDelay.SkipFilteringComparison" units="ms" expires_after="2020-02-23"> <obsolete> @@ -116974,7 +120816,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.InteractiveTiming.FirstInputTimestamp4" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tdresser@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> <summary> @@ -117206,7 +121048,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.Internal.ClientRedirect.NavigationWithoutPaint" - enum="Boolean" expires_after="2020-09-27"> + enum="Boolean" expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <summary> Counts how often a client-side redirect was initiated from a page that did @@ -117248,7 +121090,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.Internal.ErrorCode" enum="InternalErrorLoadEvent" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>csharrison@chromium.org</owner> <owner>bmcquade@chromium.org</owner> <summary> @@ -117273,7 +121115,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.Internal.NavigationStartedInForeground" - enum="BooleanForeground" expires_after="2020-09-27"> + enum="BooleanForeground" expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <summary>Whether a navigation started in the foreground.</summary> </histogram> @@ -117307,7 +121149,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.Internal.PageLoadTimingStatus" - enum="PageLoadTimingStatus" expires_after="2020-09-27"> + enum="PageLoadTimingStatus" expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <summary> The status of PageLoadTiming structs received from the render process over @@ -117316,6 +121158,35 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram + name="PageLoad.Internal.PaintTiming.ExperimentalLargestContentfulPaint.ContentType" + enum="LargestContentType" expires_after="2020-12-11"> + <owner>npm@chromium.org</owner> + <owner>speed-metrics-dev@chromium.org</owner> + <summary> + Measures whether the largest contentful paint, whose timestamp is measured + by PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint, + comes from text or image. This value is recorded whenever + PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint is + recorded. + </summary> +</histogram> + +<histogram + name="PageLoad.Internal.PaintTiming.ExperimentalLargestContentfulPaint.MainFrame.ContentType" + enum="LargestContentType" expires_after="2020-12-11"> + <owner>npm@chromium.org</owner> + <owner>speed-metrics-dev@chromium.org</owner> + <summary> + Measures whether the largest content paint in the main frame, whose + timestamp is measured by + PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint.MainFrame, + comes from text or image. This value is recorded whenever + PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint.MainFrame + is recorded. + </summary> +</histogram> + +<histogram name="PageLoad.Internal.PaintTiming.HadUserInputBeforeFirstMeaningfulPaint" enum="HadUserInput" expires_after="M78"> <obsolete> @@ -117330,7 +121201,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Internal.PaintTiming.LargestContentfulPaint.ContentType" - enum="LargestContentType" expires_after="2020-09-27"> + enum="LargestContentType" expires_after="2020-11-29"> <owner>maxlg@chromium.org</owner> <owner>npm@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> @@ -117344,7 +121215,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.Internal.PaintTiming.LargestContentfulPaint.MainFrame.ContentType" - enum="LargestContentType" expires_after="2020-09-27"> + enum="LargestContentType" expires_after="2020-11-29"> <owner>maxlg@chromium.org</owner> <owner>npm@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> @@ -117518,7 +121389,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.LayoutInstability.CumulativeShiftScore" - units="scorex10" expires_after="2020-09-27"> + units="scorex10" expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <owner>skobes@chromium.org</owner> <summary> @@ -117533,7 +121404,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.LayoutInstability.CumulativeShiftScore.MainFrame" - units="scorex10" expires_after="2020-09-27"> + units="scorex10" expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <owner>skobes@chromium.org</owner> <summary> @@ -117553,7 +121424,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.PageTiming.ForegroundDuration" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <summary> For page loads that start in the foreground, measures the duration of time @@ -117590,7 +121461,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.PageTiming.NavigationToFirstForeground" units="ms" - expires_after="2020-07-26"> + expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <owner>csharrison@chromium.org</owner> <summary> @@ -117601,7 +121472,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.PaintTiming.ForegroundToFirstContentfulPaint" - units="ms" expires_after="2020-08-14"> + units="ms" expires_after="2020-11-29"> <owner>speed-metrics-dev@chromium.org</owner> <summary> Measures the time from a background tab being switched to the foreground to @@ -117618,6 +121489,34 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint" + units="ms" expires_after="2020-12-11"> + <owner>npm@chromium.org</owner> + <owner>speed-metrics-dev@chromium.org</owner> + <summary> + Measures the time from navigation timing's navigation start to the time the + largest content (text or image) is first painted, across all frames. See + PageLoad.PaintTiming.NavigationToLargestContentfulPaint for more + information. This experimental version includes content that has been + removed. + </summary> +</histogram> + +<histogram + name="PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint.MainFrame" + units="ms" expires_after="2020-12-11"> + <owner>npm@chromium.org</owner> + <owner>speed-metrics-dev@chromium.org</owner> + <summary> + Measures the time from navigation timing's navigation start to the time the + largest content (text or image) is first painted, for main frame documents. + See PageLoad.PaintTiming.NavigationToLargestContentfulPaint for more + information. This experimental version includes content that has been + removed. + </summary> +</histogram> + <histogram name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint" units="ms" expires_after="never"> <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> @@ -117636,7 +121535,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.PaintTiming.NavigationToFirstImagePaint" units="ms" - expires_after="2020-08-14"> + expires_after="2020-11-29"> <owner>speed-metrics-dev@chromium.org</owner> <summary> Measures the time from navigation timing's navigation start to the time the @@ -117646,7 +121545,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.PaintTiming.NavigationToFirstPaint" units="ms" - expires_after="2020-08-14"> + expires_after="2020-11-29"> <owner>ksakamoto@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> <summary> @@ -117658,6 +121557,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram + name="PageLoad.PaintTiming.NavigationToFirstPaint.AfterBackForwardCacheRestore" + units="ms" expires_after="2021-06-30"> + <owner>altimin@chromium.org</owner> + <owner>hajimehoshi@chromium.org</owner> + <owner>bfcache-dev@chromium.org</owner> + <owner>speed-metrics-dev@chromium.org</owner> + <summary> + Measures the time from back-forward navigation timing's navigation start to + the time the first paint is performed, for main frame documents. Recorded + only when the page is restored from back-forward cache. + + Do not modify this metric in any way without contacting + speed-metrics-dev@chromium.org. + </summary> +</histogram> + <histogram name="PageLoad.PaintTiming.NavigationToFirstTextPaint" units="ms" expires_after="2018-12-05"> <obsolete> @@ -117671,7 +121587,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.PaintTiming.NavigationToLargestContentfulPaint" - units="ms" expires_after="2020-09-27"> + units="ms" expires_after="2020-11-29"> <owner>maxlg@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> <summary> @@ -117689,7 +121605,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PageLoad.PaintTiming.NavigationToLargestContentfulPaint.MainFrame" - units="ms" expires_after="2020-09-27"> + units="ms" expires_after="2020-11-29"> <owner>maxlg@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> <summary> @@ -117702,7 +121618,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.PaintTiming.ParseStartToFirstContentfulPaint" - units="ms" expires_after="2020-08-14"> + units="ms" expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <owner>csharrison@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> @@ -117713,7 +121629,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.ParseTiming.NavigationToParseStart" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <owner>csharrison@chromium.org</owner> <summary> @@ -117745,7 +121661,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PageLoad.ParseTiming.ParseBlockedOnScriptLoad" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>bmcquade@chromium.org</owner> <owner>csharrison@chromium.org</owner> <summary> @@ -118559,7 +122475,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordBubble.DisplayDisposition" - enum="PasswordBubbleDisplayDisposition" expires_after="2020-09-27"> + enum="PasswordBubbleDisplayDisposition" expires_after="2020-11-29"> <owner>vasilii@chromium.org</owner> <summary> When the password management bubble opened, what state was it in? @@ -118567,7 +122483,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordGeneration.Event" enum="PasswordGenerationEvent" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jdoerrie@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>vasilii@chromium.org</owner> @@ -118614,7 +122530,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordGeneration.SubmissionAvailableEvent" - enum="PasswordSubmissionEvent" expires_after="M85"> + enum="PasswordSubmissionEvent" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>kolos@chromium.org</owner> <summary> @@ -118636,7 +122552,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordGeneration.UploadStarted" enum="Boolean" - expires_after="M85"> + expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>kolos@chromium.org</owner> <owner>vasilii@chromium.org</owner> @@ -118681,11 +122597,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.AbleToSavePasswordsOnSuccessfulLogin" - enum="BooleanSuccess" expires_after="M85"> + enum="BooleanSuccess" expires_after="M90"> <owner>vasilii@chromium.org</owner> + <owner>src/components/password_manager/OWNERS</owner> <summary> Records attempts to prompt user to save a password when password store is - not ready for saving passwords. Recorded once per form submission. + not ready for saving passwords due to an initialization error. Recorded once + per form submission. </summary> </histogram> @@ -118704,7 +122622,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.AcceptedSaveUpdateSubmissionIndicatorEvent" - enum="SubmissionIndicatorEvent" expires_after="M85"> + enum="SubmissionIndicatorEvent" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -118795,7 +122713,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="PasswordManager.AccountsPerSiteHiRes" - units="units" expires_after="2020-07-26"> + units="units" expires_after="2020-10-26"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -118833,18 +122751,87 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PasswordManager.AccountStorage.ClearedOptInForAllAccounts" + units="accounts" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + Recorded whenever the opt-in for the account-scoped password storage is + cleared for all Google Accounts. This typically happens because the signin + cookies were cleared. The recorded value is the number of opt-ins that were + cleared. + </summary> +</histogram> + +<histogram name="PasswordManager.AccountStorage.MoveToAccountStoreFlowAccepted" + enum="PasswordManager.MoveToAccountStoreTrigger" expires_after="2021-06-18"> + <owner>treib@chromium.org</owner> + <owner>victorvianna@google.com</owner> + <summary> + When the user accepts to move a password from the profile store to the + account store, this records what user action caused the moving flow to be + offered. If the flow is offered but rejected by the user, the histogram is + not recorded. Recorded only in Win/Mac/Linux. + </summary> +</histogram> + +<histogram name="PasswordManager.AccountStorage.MoveToAccountStoreFlowOffered" + enum="PasswordManager.MoveToAccountStoreTrigger" expires_after="2021-06-19"> + <owner>treib@chromium.org</owner> + <owner>victorvianna@google.com</owner> + <summary> + When the user is offered to move a password from the profile store to the + account store, this records what user action caused the moving flow to be + offered. Recorded only in Win/Mac/Linux. + </summary> +</histogram> + +<histogram name="PasswordManager.AccountStorage.NumOptedInAccountsAfterOptIn" + units="accounts" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + Recorded whenever a user opts in to the account-scoped password storage. The + recorded value is the total number of opted-in accounts in this profile, + including the new opt-in. + </summary> +</histogram> + +<histogram name="PasswordManager.AccountStorage.NumOptedInAccountsAfterOptOut" + units="accounts" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + Recorded whenever a user opts out of the account-scoped password storage. + The recorded value is the total number of opted-in accounts remaining in + this profile after the current opt-out. + </summary> +</histogram> + <histogram name="PasswordManager.AccountStorage.SignedInAccountFoundDuringOptOut" enum="Boolean" expires_after="2021-05-06"> - <owner>treib@google.com</owner> - <owner>victorvianna@chromium.org</owner> + <owner>treib@chromium.org</owner> + <owner>victorvianna@google.com</owner> <summary> Records whether a signed-in account was still found by the time Chrome attempted to opt out the user of passwords account storage and clear the associated settings. If no signed-in account is found, the opt-out and clean - up won't happen. Recorded only in Win/Mac/Linux, when opting out of - passwords account storage. One example would be when the user clicks the - opt-out button in chrome://settings/passwords. + up won't happen. Recorded only in Win/Mac/Linux, when opting out of the + account-scoped passwords storage. One example would be when the user clicks + the opt-out button in chrome://settings/passwords. + </summary> +</histogram> + +<histogram + name="PasswordManager.AccountStorage.UnsyncedPasswordsFoundDuringSignOut" + units="passwords" expires_after="2021-06-18"> + <owner>treib@chromium.org</owner> + <owner>victorvianna@google.com</owner> + <summary> + Records how many passwords in the account store were unsynced when the user + signed out of their Google Account. Recorded only in Win/Mac/Linux when a + user of the account-scoped password storage signs out. </summary> </histogram> @@ -118905,6 +122892,29 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PasswordManager.AccountStore.EmptyUsernames.CountInDatabase" + units="units" expires_after="M87"> + <owner>vasilii@chromium.org</owner> + <owner>jdoerrie@chromium.org</owner> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + Number of password forms with empty username in the account-scoped Login + Database. This is recorded on startup. + </summary> +</histogram> + +<histogram name="PasswordManager.AccountStore.InaccessiblePasswords" + units="saved passwords" expires_after="M87"> + <owner>vasilii@chromium.org</owner> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + The number of saved passwords in the account-scoped store that could not be + decrypted. Recorded once for the profile on startup. + </summary> +</histogram> + <histogram base="true" name="PasswordManager.AccountStore.TimesPasswordUsed" units="PasswordUses" expires_after="M87"> <owner>battre@chromium.org</owner> @@ -118935,6 +122945,67 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram base="true" + name="PasswordManager.AccountStore.TotalAccountsHiRes.WithScheme" + units="accounts" expires_after="M87"> + <owner>battre@chromium.org</owner> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <owner>vasilii@chromium.org</owner> + <summary> + The number of accounts stored in the password manager's account-scoped store + (across all sites) for origins with the scheme (e.g., HTTP, HTTPS, FTP) as + given in the histogram suffix. For each scheme, the count is recorded once + per browser start-up. (In case of multiple profiles, the counts are for the + profile that first has a WebContents created.) + </summary> +</histogram> + +<histogram name="PasswordManager.AccountStoreVsProfileStore.Additional" + units="accounts" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + The number of accounts stored in the password manager's account-scoped store + that don't exist in the profile-scoped store. Recorded once per run of + Chrome, soon after startup. + </summary> +</histogram> + +<histogram name="PasswordManager.AccountStoreVsProfileStore.Conflicting" + units="accounts" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + The number of accounts stored in the password manager with a conflicting + password between the account-scoped store and profile-scoped store (i.e. the + signon realm and username match, but the password does not). Recorded once + per run of Chrome, soon after startup. + </summary> +</histogram> + +<histogram name="PasswordManager.AccountStoreVsProfileStore.Identical" + units="accounts" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + The number of accounts stored in both the password manager's account-scoped + store and profile-scoped store. Recorded once per run of Chrome, soon after + startup. + </summary> +</histogram> + +<histogram name="PasswordManager.AccountStoreVsProfileStore.Missing" + units="accounts" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + The number of accounts stored in the password manager's profile-scoped store + that don't exist in the account-scoped store. Recorded once per run of + Chrome, soon after startup. + </summary> +</histogram> + <histogram name="PasswordManager.ActionsTaken" enum="PasswordManagerActionsTaken" expires_after="2013-10-04"> <obsolete> @@ -119091,7 +123162,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.Android.PasswordCredentialEntry" - enum="PasswordManagerAndroidPasswordEntryActions" expires_after="M85"> + enum="PasswordManagerAndroidPasswordEntryActions" expires_after="M88"> <owner>fhorschig@chromium.org</owner> <owner>ioanap@chromium.org</owner> <summary> @@ -119101,7 +123172,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.Android.PasswordCredentialEntry.Password" - enum="PasswordManagerAndroidPasswordActions" expires_after="M85"> + enum="PasswordManagerAndroidPasswordActions" expires_after="M88"> <owner>fhorschig@chromium.org</owner> <owner>ioanap@chromium.org</owner> <summary> @@ -119111,7 +123182,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.Android.PasswordCredentialEntry.Username" - enum="PasswordManagerAndroidUsernameActions" expires_after="M85"> + enum="PasswordManagerAndroidUsernameActions" expires_after="M88"> <owner>fhorschig@chromium.org</owner> <owner>ioanap@chromium.org</owner> <summary> @@ -119121,7 +123192,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.Android.PasswordCredentialEntry.Website" - enum="PasswordManagerAndroidWebsiteActions" expires_after="M85"> + enum="PasswordManagerAndroidWebsiteActions" expires_after="M88"> <owner>fhorschig@chromium.org</owner> <owner>ioanap@chromium.org</owner> <summary> @@ -119131,7 +123202,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.Android.PasswordExceptionEntry" - enum="PasswordManagerAndroidPasswordEntryActions" expires_after="M85"> + enum="PasswordManagerAndroidPasswordEntryActions" expires_after="M88"> <owner>fhorschig@chromium.org</owner> <owner>ioanap@chromium.org</owner> <summary> @@ -119141,7 +123212,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.Android.PasswordExceptionEntry.Website" - enum="PasswordManagerAndroidWebsiteActions" expires_after="M85"> + enum="PasswordManagerAndroidWebsiteActions" expires_after="M88"> <owner>fhorschig@chromium.org</owner> <owner>ioanap@chromium.org</owner> <summary> @@ -119163,7 +123234,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.ApplySyncChanges.AddLoginSyncError" - enum="PasswordAddLoginSyncError" expires_after="2020-09-27"> + enum="PasswordAddLoginSyncError" expires_after="2020-11-29"> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -119174,7 +123245,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.ApplySyncChanges.UpdateLoginSyncError" - enum="PasswordUpdateLoginSyncError" expires_after="2020-09-27"> + enum="PasswordUpdateLoginSyncError" expires_after="2020-11-29"> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -119185,7 +123256,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.ApplySyncChangesState" - enum="PasswordApplySyncChangesState" expires_after="2020-09-27"> + enum="PasswordApplySyncChangesState" expires_after="2020-11-29"> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -119440,9 +123511,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.CertificateErrorsWhileSeeingForms" - enum="PasswordCertificateError" expires_after="M85"> + enum="PasswordCertificateError" expires_after="M95"> <owner>battre@chromium.org</owner> <owner>jdoerrie@chromium.org</owner> + <owner>chrome-password-manager-team@google.com</owner> <summary> When the password manager sees new forms on the page, it records in this histogram whether there were any SSL certificate errors. The presence of SSL @@ -119465,8 +123537,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.CleanedUpPasswords" units="units" - expires_after="M85"> + expires_after="M90"> <owner>vasilii@chromium.org</owner> + <owner>src/components/password_manager/OWNERS</owner> <summary> Collects positive number of undecryptable passwords that were successfully deleted when syncing was enabled. Called for sync user for each profile if @@ -119517,8 +123590,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PasswordManager.CredentialsCountFromAccountStoreAfterUnlock" + units="credentials" expires_after="2020-11-12"> + <owner>fhorschig@chromium.org</owner> + <owner>mamir@chromium.org</owner> + <summary> + Records how many credentials from the account store are available to a user + right after they unlocked the account store. If a credential is an exact + duplicate with a local credential, it still counts into this metric. + </summary> +</histogram> + <histogram name="PasswordManager.CredentialsWithDuplicates" units="units" - expires_after="M85"> + expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -119533,7 +123617,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.CredentialsWithMismatchedDuplicates" - units="units" expires_after="M85"> + units="units" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -119547,8 +123631,21 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PasswordManager.DefaultPasswordStoreSet" + enum="PasswordManager.Store" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + The default store for newly-saved passwords (profile-scoped store or + account-scoped store), recorded whenever it is set explicitly. + </summary> +</histogram> + <histogram name="PasswordManager.DeleteCorruptedPasswordsResult" enum="DeleteCorruptedPasswordsResult" expires_after="M85"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>vasilii@chromium.org</owner> <summary> Records the result of removing passwords that cannot be decrypted when @@ -119569,7 +123666,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.DropdownShown.OffTheRecord" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -119579,7 +123676,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.DynamicFormChanges" units="units" - expires_after="M82"> + expires_after="M86"> <owner>battre@chromium.org</owner> <owner>jdoerrie@chromium.org</owner> <summary> @@ -119607,8 +123704,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <owner>vasilii@chromium.org</owner> <owner>jdoerrie@chromium.org</owner> <summary> - Number of password forms with empty username in the Login Database. This is - recorded on startup. + Number of password forms with empty username in the profile-scoped Login + Database. This is recorded on startup. </summary> </histogram> @@ -119696,7 +123793,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.Enabled" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -119738,7 +123835,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.FilledCredentialWasFromAndroidApp" - enum="PasswordManagerFilledAndroidCredentials" expires_after="M85"> + enum="PasswordManagerFilledAndroidCredentials" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -119783,7 +123880,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.FillSuggestionsIncludeAndroidAppCredentials" - enum="PasswordManagerOfferedAndroidCredentials" expires_after="M85"> + enum="PasswordManagerOfferedAndroidCredentials" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -119819,7 +123916,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.FormDataDeserializationStatus" - enum="FormDataDeserializationStatus" expires_after="M85"> + enum="FormDataDeserializationStatus" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -119830,7 +123927,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.GeneratedFormHasNoFormManager" - enum="BooleanFormManager" expires_after="M85"> + enum="BooleanFormManager" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>kolos@chromium.org</owner> <summary> @@ -119987,14 +124084,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.ImportedPasswordsPerUserInCSV" units="units" - expires_after="M85"> + expires_after="M90"> <owner>vasilii@chromium.org</owner> + <owner>src/components/password_manager/OWNERS</owner> <summary>The number of passwords imported in CSV format per user</summary> </histogram> <histogram name="PasswordManager.ImportPasswordFromCSVResult" - enum="PasswordImportFromCSVResult" expires_after="M85"> + enum="PasswordImportFromCSVResult" expires_after="M90"> <owner>vasilii@chromium.org</owner> + <owner>src/components/password_manager/OWNERS</owner> <summary> The response code of successful or failed password import attempt from a CSV file. @@ -120006,8 +124105,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <owner>vasilii@chromium.org</owner> <owner>mamir@chromium.org</owner> <summary> - The number of saved passwords in the store that could not be decrypted. - Recorded once for the profile on startup. + The number of saved passwords in the profile-scoped store that could not be + decrypted. Recorded once for the profile on startup. </summary> </histogram> @@ -120060,7 +124159,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.ItemSelected.OffTheRecord" units="units" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -120460,7 +124559,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.MergeSyncData.AddLoginSyncError" - enum="PasswordAddLoginSyncError" expires_after="2020-09-27"> + enum="PasswordAddLoginSyncError" expires_after="2020-11-29"> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -120471,7 +124570,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.MergeSyncData.UpdateLoginSyncError" - enum="PasswordUpdateLoginSyncError" expires_after="2020-09-27"> + enum="PasswordUpdateLoginSyncError" expires_after="2020-11-29"> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -120481,6 +124580,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PasswordManager.MoveUIDismissalReason" + enum="PasswordManagerUIDismissalReason" expires_after="M87"> +<!-- Name completed by histogram_suffixes name="PasswordAccountStorageUserState" --> + + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + Why was the "move password to account?" bubble closed? Recorded + whenever the bubble is closed, either because the user clicked one of the + buttons or it went away automatically (lost focus). + </summary> +</histogram> + <histogram name="PasswordManager.MultiAccountPasswordUpdateAction" enum="MultiAccountUpdateBubbleUserAction" expires_after="2018-03-29"> <obsolete> @@ -120493,7 +124605,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.NewlySavedPasswordIsGenerated" - enum="BooleanNewlySavedPasswordIsGenerated" expires_after="2020-09-27"> + enum="BooleanNewlySavedPasswordIsGenerated" expires_after="2020-11-29"> <owner>nepper@chromium.org</owner> <owner>battre@chromium.org</owner> <owner>kolos@chromium.org</owner> @@ -120515,7 +124627,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.NumFormManagersCleared" units="units" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jdoerrie@chromium.org</owner> <owner>kazinova@google.com</owner> <summary> @@ -120571,7 +124683,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.NumPasswordsNotShown" units="units" - expires_after="M85"> + expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -120648,7 +124760,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.OtherPossibleUsernamesUsage" - enum="OtherPossibleUsernamesUsage" expires_after="M85"> + enum="OtherPossibleUsernamesUsage" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -120658,7 +124770,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.PasswordDropdownItemSelected" - enum="PasswordDropdownSelectedOption" expires_after="2020-09-27"> + enum="PasswordDropdownSelectedOption" expires_after="2020-11-29"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -120667,7 +124779,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.PasswordDropdownShown" - enum="PasswordDropdownState" expires_after="2020-09-27"> + enum="PasswordDropdownState" expires_after="2020-11-29"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary>Logs the state of the password dropdown when it's shown.</summary> @@ -120692,7 +124804,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.PasswordReuse.NumberOfMatches" - units="credentials" expires_after="M85"> + units="credentials" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -120708,7 +124820,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.PasswordReuse.PasswordFieldDetected" - enum="PasswordReusePasswordFieldDetected" expires_after="M85"> + enum="PasswordReusePasswordFieldDetected" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -120718,13 +124830,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. A "password reuse" is when the user typed a string that is equal to a saved password on another domain or is equal to the sync password on a non google-login domain. - - </summary> </histogram> <histogram name="PasswordManager.PasswordReuse.PasswordLength" - units="characters" expires_after="M85"> + units="characters" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -120737,13 +124847,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. A "password reuse" is when the user typed a string that is equal to a saved password on another domain or is equal to the sync password on a non google-login domain. - - </summary> </histogram> <histogram name="PasswordManager.PasswordReuse.TotalPasswords" - units="credentials" expires_after="M85"> + units="credentials" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -120769,9 +124877,24 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PasswordManager.PasswordStoreDeletionsHaveSynced" + enum="BooleanSuccess" expires_after="M88"> + <owner>dullweber@chromium.org</owner> + <owner>treib@chromium.org</owner> + <owner>mamir@chromium.org</owner> + <summary> + Records how often browsing data succeeds to delete account store passwords + from the Sync server. False is emitted in the rare situations when the + operation times out or the user disables Sync before the deletions are fully + propagated to the Sync server. True is emitted when the password deletion is + successfully propagated to the server. + </summary> +</histogram> + <histogram name="PasswordManager.PasswordStoreInitResult" enum="BooleanSuccess" - expires_after="M85"> + expires_after="M90"> <owner>vasilii@chromium.org</owner> + <owner>src/components/password_manager/OWNERS</owner> <summary> Success rate of initialization of password store. Recorded for every user once on the Chrome profile startup. @@ -120779,7 +124902,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.PasswordSyncState" enum="PasswordSyncState" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -120801,8 +124924,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.PrefilledUsernameFillOutcome" - enum="PrefilledUsernameFillOutcome" expires_after="M82"> - <owner>ioanap@chromium.org</owner> + enum="PrefilledUsernameFillOutcome" expires_after="M86"> + <owner>koerber@google.com</owner> <summary> Records successful fills of prefilled username values known as placeholders and unsuccessful fills that were blocked because the prefilled value was not @@ -120866,9 +124989,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.ReauthToAccessPasswordInSettings" - enum="PasswordManager.ReauthResult" expires_after="M85"> - <owner>vasilii@chromium.org</owner> + enum="PasswordManager.ReauthResult" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> + <owner>vasilii@chromium.org</owner> <summary> Recorded whenever the user interacts with reauthentication in order to access the passwords in settings, or when such reauthentication is skipped @@ -120898,6 +125021,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PasswordManager.RemovedCorruptedPasswords" units="units" expires_after="M85"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>vasilii@chromium.org</owner> <summary> Collects positive number of inaccessible passwords that were successfully @@ -120943,7 +125069,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.ReusedPasswordType" enum="ReusedPasswordType" - expires_after="M85"> + expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -120954,7 +125080,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.SavedEnterprisePasswordHashCount" - units="units" expires_after="M85"> + units="units" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -120965,7 +125091,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.SavedGaiaPasswordHashCount" units="count" - expires_after="M85"> + expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121007,11 +125133,26 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.SaveUIDismissalReason" - enum="PasswordManagerUIDismissalReason" expires_after="2020-09-27"> + enum="PasswordManagerUIDismissalReason" expires_after="2020-11-29"> +<!-- Name completed by histogram_suffixes name="PasswordAccountStorageUserState" --> + <owner>vasilii@chromium.org</owner> + <owner>treib@chromium.org</owner> + <owner>mamir@chromium.org</owner> <summary>Why was the save password UI (bubble or infobar) closed?</summary> </histogram> +<histogram name="PasswordManager.SaveUIDismissalReasonAferUnblacklisting" + enum="PasswordManagerUIDismissalReason" expires_after="M86"> + <owner>ioanap@chromium.org</owner> + <owner>vasilii@chromium.org</owner> + <summary> + Why was the save password UI (bubble or infobar) closed? This is currently + recorded only for Android and only after the user has unblacklisted an + origin for saving from the accessory sheet. + </summary> +</histogram> + <histogram name="PasswordManager.SavingOnUsernameFirstFlow" enum="SavingOnUsernameFirstFlow" expires_after="M86"> <owner>jdoerrie@chromium.org</owner> @@ -121305,6 +125446,30 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PasswordManager.StoresUsedForFillingInLast28Days" + enum="PasswordManagerFillingSource" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + Which of the password manager's stores (the profile-scoped one and/or the + account-scoped one) were used within the last 28 days for filling passwords. + Recorded whenever a password form is successfully submitted. This should + typically only be used with "Count unique clients". + </summary> +</histogram> + +<histogram name="PasswordManager.StoresUsedForFillingInLast7Days" + enum="PasswordManagerFillingSource" expires_after="M87"> + <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> + <summary> + Which of the password manager's stores (the profile-scoped one and/or the + account-scoped one) were used within the last 7 days for filling passwords. + Recorded whenever a password form is successfully submitted. This should + typically only be used with "Count unique clients". + </summary> +</histogram> + <histogram name="PasswordManager.SubmitNavigatesToDifferentDomain" enum="PostSubmitNavigation" expires_after="M77"> <obsolete> @@ -121318,7 +125483,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.SubmittedFormFrame" - enum="SubmittedPasswordFormFrame" expires_after="M85"> + enum="SubmittedPasswordFormFrame" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -121328,7 +125493,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.SubmittedFormType" enum="PasswordFormType" - expires_after="M85"> + expires_after="M90"> <owner>jdoerrie@chromium.org</owner> <owner>kolos@chromium.org</owner> <summary> @@ -121361,9 +125526,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.SuccessfulSubmissionIndicatorEvent" - enum="SubmissionIndicatorEvent" expires_after="M85"> + enum="SubmissionIndicatorEvent" expires_after="M90"> <owner>jdoerrie@chromium.org</owner> - <owner>engedy@chromium.org</owner> + <owner>vasilii@chromium.org</owner> <summary> The type of event that the Password Manager used for detecting a password form submission. Recorded for each successful password form submission. @@ -121430,9 +125595,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.SyncingAccountState" - enum="PasswordManagerSyncingAccountState" expires_after="M85"> - <owner>battre@chromium.org</owner> + enum="PasswordManagerSyncingAccountState" expires_after="M95"> + <owner>jdoerrie@chromium.org</owner> <owner>vasilii@chromium.org</owner> + <owner>chrome-password-manager-team@google.com</owner> <summary> Information about the user's current sync status crossed with whether their synced password is saved. @@ -121540,11 +125706,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <owner>battre@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> - The number of accounts stored in the password manager (across all sites) for - origins with the scheme (e.g., HTTP, HTTPS, FTP) as given in the histogram - suffix. For each scheme, the count is recorded once per browser start-up. - (In case of multiple profiles, the counts are for the profile that first has - a WebContents created.) + The number of accounts stored in the password manager's profile-scoped store + (across all sites) for origins with the scheme (e.g., HTTP, HTTPS, FTP) as + given in the histogram suffix. For each scheme, the count is recorded once + per browser start-up. (In case of multiple profiles, the counts are for the + profile that first has a WebContents created.) </summary> </histogram> @@ -121559,7 +125725,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.TouchToFill.DismissalReason" - enum="BottomSheet.StateChangeReason" expires_after="2020-09-30"> + enum="BottomSheet.StateChangeReason" expires_after="2020-11-29"> <owner>jdoerrie@chromium.org</owner> <owner>fhorschig@chromium.org</owner> <summary> @@ -121585,7 +125751,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.UIDismissalReason" - enum="PasswordManagerUIDismissalReason" expires_after="2020-07-26"> + enum="PasswordManagerUIDismissalReason" expires_after="2020-11-29"> <owner>vasilii@chromium.org</owner> <summary> Why was the password manager's UI (bubble or infobar) closed? Save and @@ -121613,7 +125779,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordManager.UpdateUIDismissalReason" - enum="PasswordManagerUIDismissalReason" expires_after="2020-09-27"> + enum="PasswordManagerUIDismissalReason" expires_after="2020-11-29"> <owner>vasilii@chromium.org</owner> <summary>Why was the update password UI (bubble or infobar) closed?</summary> </histogram> @@ -121686,7 +125852,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.DomFeatureExtractionDuration" units="ms" - expires_after="M83"> + expires_after="2021-01-30"> <owner>drubery@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121711,7 +125877,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PasswordProtection.GaiaPasswordReusesBeforeGaiaPasswordChanged" - units="reuses" expires_after="M81"> + units="reuses" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121736,7 +125902,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.InterstitialAction" - enum="PasswordProtectionWarningAction" expires_after="M86"> + enum="PasswordProtectionWarningAction" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121760,7 +125926,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.InterstitialString" - enum="PasswordProtectionInterstitialStringType" expires_after="M85"> + enum="PasswordProtectionInterstitialStringType" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121770,7 +125936,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.ModalWarningDialogAction" - enum="PasswordProtectionWarningAction" expires_after="2020-09-27"> + enum="PasswordProtectionWarningAction" expires_after="2020-11-29"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121820,7 +125986,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.PageInfoAction" - enum="PasswordProtectionWarningAction" expires_after="M85"> + enum="PasswordProtectionWarningAction" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121832,7 +125998,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.PageZoomFactor" units="units" - expires_after="M81"> + expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121842,7 +126008,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="PasswordProtection.PasswordAlertModeOutcome" - enum="PasswordProtectionRequestOutcome" expires_after="M86"> + enum="PasswordProtectionRequestOutcome" expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121852,7 +126018,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.PasswordProtectionResponseOrErrorCode" - enum="CombinedHttpResponseAndNetErrorCode" expires_after="2020-09-27"> + enum="CombinedHttpResponseAndNetErrorCode" expires_after="2020-11-29"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121909,7 +126075,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.RequestNetworkDuration" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121919,7 +126085,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="PasswordProtection.RequestOutcome" - enum="PasswordProtectionRequestOutcome" expires_after="2020-09-27"> + enum="PasswordProtectionRequestOutcome" expires_after="2020-11-29"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121930,7 +126096,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.SampleReportSent" units="Boolean" - expires_after="2020-08-05"> + expires_after="2021-01-10"> <owner>bdea@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -121966,7 +126132,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PasswordProtection.Verdict" enum="PasswordProtectionVerdict" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -122129,7 +126295,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PaymentRequest.Events" units="bitfield value" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>danyao@chromium.org</owner> <owner>web-payments-team@google.com</owner> <summary> @@ -122139,7 +126305,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PaymentRequest.JourneyLoggerHasRecorded" enum="Boolean" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>sahel@chromium.org</owner> <owner>web-payments-team@google.com</owner> <summary> @@ -122231,6 +126397,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PaymentRequest.RefetchIconForInstalledApp" enum="Boolean" + expires_after="2021-06-24"> + <owner>sahel@chromium.org</owner> + <owner>web-payments-team@google.com</owner> + <summary> + True when chrome crawls to refetch the missing icon of an already installed + payment app. + </summary> +</histogram> + <histogram name="PaymentRequest.RequestedInformation" enum="PaymentRequestRequestedInformation" expires_after="2017-08-08"> <obsolete> @@ -122256,14 +126432,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PaymentRequest.ServiceWorkerStatusCodeTimeout" enum="Boolean" - expires_after="2020-05-24"> + expires_after="2021-05-24"> <owner>sahel@chromium.org</owner> <owner>web-payments-team@google.com</owner> <summary>True when a service worker times out 5 mins after request.</summary> </histogram> <histogram name="PaymentRequest.TimeToCheckout.Completed" units="ms" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>sahel@chromium.org</owner> <owner>web-payments-team@google.com</owner> <summary> @@ -122284,7 +126460,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PaymentRequest.TimeToCheckout.Completed.SkippedShow" - units="ms" expires_after="2020-09-27"> + units="ms" expires_after="2020-11-29"> <!-- Name completed by histogram_suffixes name="PaymentRequestCompletedInstrument" --> <owner>sahel@chromium.org</owner> @@ -122296,7 +126472,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PaymentRequest.TimeToCheckout.OtherAborted" units="ms" - expires_after="2020-07-26"> + expires_after="2020-11-29"> <owner>sahel@chromium.org</owner> <owner>web-payments-team@google.com</owner> <summary> @@ -122306,7 +126482,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PaymentRequest.TimeToCheckout.UserAborted" units="ms" - expires_after="2020-07-26"> + expires_after="2020-11-29"> <!-- Name completed by histogram_suffixes name="PaymentRequestPaymentSheetShowStatus" --> <owner>sahel@chromium.org</owner> @@ -122328,7 +126504,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PaymentRequest.TransactionAmount.Triggered" - enum="PaymentRequestTransactionSize" expires_after="2020-09-27"> + enum="PaymentRequestTransactionSize" expires_after="2020-11-29"> <owner>sahel@chromium.org</owner> <owner>web-payments-team@google.com</owner> <summary> @@ -122415,7 +126591,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PDF.Actions" enum="ChromePDFViewerActions" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>hnakashima@chromium.org</owner> <summary> Tracks user actions in the PDF viewer. Logged when the document is opened @@ -122460,14 +126636,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PDF.FormType" enum="PDFFormTypes" expires_after="2020-10-11"> <owner>rharrison@chromium.org</owner> + <owner>thestig@chromium.org</owner> <summary> Tracks what types of forms are present in PDF document, logged when the document finishes loading. </summary> </histogram> -<histogram name="PDF.HasAttachment" enum="Boolean" expires_after="2020-10-04"> +<histogram name="PDF.HasAttachment" enum="Boolean" expires_after="2020-12-06"> <owner>hnakashima@chromium.org</owner> + <owner>thestig@chromium.org</owner> <summary> Measures if PDFs opened in the PDF viewer have attachments. This is logged whenever a document is opened in the PDF viewer. @@ -122509,6 +126687,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. expires_after="2020-12-01"> <owner>ankk@microsoft.com</owner> <owner>mohitb@microsoft.com</owner> + <owner>thestig@chromium.org</owner> <owner>virens@microsoft.com</owner> <summary> Records the number of overlapping link and highlight annotations in a PDF @@ -122531,6 +126710,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PDF.PageCount" units="pages" expires_after="2020-11-01"> <owner>hnakashima@chromium.org</owner> + <owner>thestig@chromium.org</owner> <summary> Tracks the number of pages in PDF documents opened in the PDF viewer. </summary> @@ -122562,7 +126742,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Pepper.InterfaceUsed" enum="PepperInterface" - expires_after="M85"> + expires_after="2020-12-31"> <owner>bbudge@chromium.org</owner> <owner>raymes@chromium.org</owner> <summary> @@ -122638,7 +126818,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PerformanceHints.Observer.HintForURLResult" - enum="PerformanceHintsObserverHintForURLResult" expires_after="2020-07-01"> + enum="PerformanceHintsObserverHintForURLResult" expires_after="2020-10-01"> <owner>jds@chromium.org</owner> <owner>src/chrome/browser/performance_hints/OWNERS</owner> <summary> @@ -122649,7 +126829,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PerformanceHints.Observer.PerformanceClassForURL" - enum="PerformanceHintsPerformanceClass" expires_after="2020-07-01"> + enum="PerformanceHintsPerformanceClass" expires_after="2020-10-01"> <owner>jds@chromium.org</owner> <owner>src/chrome/browser/performance_hints/OWNERS</owner> <summary> @@ -122659,6 +126839,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram base="true" name="PerformanceHints.Observer.SourceLookupStatus" + enum="PerformanceHintsObserverSourceLookupStatus" + expires_after="2020-10-01"> + <owner>jds@chromium.org</owner> + <owner>src/chrome/browser/performance_hints/OWNERS</owner> + <summary> + Records the result of a hint lookup in a single source (e.g. link hints of + the current page, the page's OptimizationMetadata, etc). See the + PerformanceHintsSource suffix for name completions. All source suffix + histograms should have the same total count. + </summary> +</histogram> + <histogram name="PerformanceManager.AgentsByTime" units="units" expires_after="2020-12-04"> <owner>bokan@chromium.org</owner> @@ -122864,16 +127057,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PerformanceMonitor.IdleWakeups" units="WakeupsPerSecond" - expires_after="M85"> + expires_after="2021-06-03"> <owner>lgrey@chromium.org</owner> + <owner>markchang@chromium.org</owner> <summary> The average CPU idle wakeups per second, sampled every two minutes. </summary> </histogram> <histogram name="PerformanceMonitor.PackageExitIdleWakeups" - units="WakeupsPerSecond" expires_after="M85"> + units="WakeupsPerSecond" expires_after="2021-07-03"> <owner>lgrey@chromium.org</owner> + <owner>markchang@chromium.org</owner> <summary> (Mac only) The average package exit idle wakeups per second, sampled every two minutes. This is a subset of wakeups that indicate that the processor @@ -122940,11 +127135,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Permissions.Action" enum="PermissionAction" - expires_after="M85"> - <owner>dominickn@chromium.org</owner> + expires_after="never"> +<!-- expires-never: Primary metrics for monitoring capability usage and trends. --> + <owner>engedy@chromium.org</owner> - <owner>hkamila@chromium.org</owner> - <owner>mlamouri@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Tracks whether a permission was granted, rejected, etc. The suffix of the histogram indicates which particular permission. @@ -122953,6 +127148,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Permissions.Action.InsecureOrigin" enum="PermissionAction" expires_after="M85"> + <obsolete> + Removed on 2020-06-19 as most permissions are no longer exposed to insecure + origins to begin with, and even those few that are recorded no useful data + any longer. + </obsolete> <owner>dominickn@chromium.org</owner> <owner>engedy@chromium.org</owner> <owner>hkamila@chromium.org</owner> @@ -122965,6 +127165,11 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Permissions.Action.SecureOrigin" enum="PermissionAction" expires_after="M85"> + <obsolete> + Removed on 2020-06-19 as most permissions are no longer exposed to insecure + origins to begin with, and even those few that are recorded no useful data + any longer. + </obsolete> <owner>dominickn@chromium.org</owner> <owner>engedy@chromium.org</owner> <owner>hkamila@chromium.org</owner> @@ -123090,6 +127295,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Permissions.Chip.TimeToInteraction" units="ms" + expires_after="M87"> + <owner>bsep@chromium.org</owner> + <owner>engedy@chromium.org</owner> + <owner>olesiamarukhno@google.com</owner> + <summary> + Records how long it takes for the user to click on the permission chip after + it was shown. + </summary> +</histogram> + <histogram name="Permissions.CrowdDeny.DidHoldbackQuietUi" enum="Boolean" expires_after="2020-12-01"> <owner>andypaicu@chromium.org</owner> @@ -123153,39 +127369,38 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Permissions.Engagement.Accepted" units="%" expires_after="M85"> - <owner>dominickn@chromium.org</owner> - <owner>kcarattini@chromium.org</owner> - <owner>timloh@chromium.org</owner> +<histogram name="Permissions.Engagement.Accepted" units="%" + expires_after="2021-06-19"> + <owner>engedy@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Tracks the engagement score for sites where permission prompts are accepted. </summary> </histogram> -<histogram name="Permissions.Engagement.Denied" units="%" expires_after="M85"> - <owner>dominickn@chromium.org</owner> - <owner>kcarattini@chromium.org</owner> - <owner>timloh@chromium.org</owner> +<histogram name="Permissions.Engagement.Denied" units="%" + expires_after="2021-06-19"> + <owner>engedy@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Tracks the engagement score for sites where permission prompts are denied. </summary> </histogram> <histogram name="Permissions.Engagement.Dismissed" units="%" - expires_after="M85"> - <owner>dominickn@chromium.org</owner> - <owner>kcarattini@chromium.org</owner> - <owner>timloh@chromium.org</owner> + expires_after="2021-06-19"> + <owner>engedy@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Tracks the engagement score for sites where permission prompts are dismissed. </summary> </histogram> -<histogram name="Permissions.Engagement.Ignored" units="%" expires_after="M85"> - <owner>dominickn@chromium.org</owner> - <owner>kcarattini@chromium.org</owner> - <owner>timloh@chromium.org</owner> +<histogram name="Permissions.Engagement.Ignored" units="%" + expires_after="2021-06-19"> + <owner>engedy@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Tracks the engagement score for sites where permission prompts are ignored. </summary> @@ -123593,14 +127808,26 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Permissions.Prompt.Shown" enum="PermissionRequestType" - expires_after="M85"> - <owner>dominickn@chromium.org</owner> - <owner>kcarattini@chromium.org</owner> + expires_after="2021-06-19"> + <owner>engedy@chromium.org</owner> + <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> Tracks how many times permission prompts are shown to users. </summary> </histogram> +<histogram name="Permissions.Prompt.TimeToDecision" units="ms" + expires_after="M87"> + <owner>bsep@chromium.org</owner> + <owner>engedy@chromium.org</owner> + <owner>olesiamarukhno@google.com</owner> + <summary> + Records how long it takes for the user to make a decision about permission + request, from when permission prompt is shown until when the user clicks on + one of the buttons in the prompt (accept, block or close). + </summary> +</histogram> + <histogram name="Permissions.QuietNotificationPrompts.DidEnableAdapativelyInPrefs" enum="Boolean" expires_after="2020-12-01"> @@ -123917,7 +128144,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.AnyCrashesDaily" units="count per day" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>grundler@chromium.org</owner> <owner>groeck@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -123929,7 +128156,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.AnyCrashesWeekly" units="count per week" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>grundler@chromium.org</owner> <owner>groeck@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -123989,7 +128216,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.BootSectorsRead" units="units" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-performance@google.com</owner> <summary> @@ -123999,7 +128226,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.BootSectorsWritten" units="units" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-performance@google.com</owner> <summary> @@ -124052,7 +128279,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.CompressedSwapSize" units="MB" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -124061,7 +128288,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.CpuFrequencyThermalScaling" units="%" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-performance@google.com</owner> <summary> @@ -124073,7 +128300,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Platform.CpuUsage" units="%" expires_after="2020-07-02"> +<histogram name="Platform.CpuUsage" units="%" expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>cast-analytics@google.com</owner> <summary> @@ -124103,7 +128330,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.Cr50.FlashLog" enum="Cr50FlashLogs" - expires_after="2020-06-30"> + expires_after="2021-06-30"> <owner>apronin@chromium.org</owner> <owner>vbendeb@chromium.org</owner> <owner>cros-hwsec+uma@chromium.org</owner> @@ -124137,9 +128364,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Platform.CrOSEvent" enum="CrosEventEnum" expires_after="M85"> - <owner>semenzato@chromium.org</owner> - <owner>jwerner@chromium.org</owner> +<histogram name="Platform.CrOSEvent" enum="CrosEventEnum" expires_after="never"> +<!-- expires-never: Used by the core CrOS platform with individual buckets added + and removed as makes sense. --> + +<!-- https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/OWNERS --> + + <owner>iby@chromium.org</owner> + <owner>mutexlox@chromium.org</owner> <owner>vapier@chromium.org</owner> <summary> Generic event of interest from Chrome OS. Intended mainly to help assess the @@ -124148,8 +128380,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.Crouton.Started" enum="Platform.Crouton.Started" - expires_after="M85"> + expires_after="2021-06-02"> <owner>drinkcat@chromium.org</owner> + <owner>dnschneid@chromium.org</owner> <summary> Detects presence of /run/crouton, indicating that crouton has been started since the previous boot. Value 0/"Total count" is reported on @@ -124188,8 +128421,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.DetachableBase.ActivePercent" units="%" - expires_after="M85"> - <owner>kitching@google.com</owner> + expires_after="2021-06-02"> + <owner>drinkcat@chromium.org</owner> + <owner>fshao@chromium.org</owner> + <owner>chromeos-kukui@google.com</owner> <summary> Ratio of time a detachable base keyboard is active, i.e. when the USB interface is not auto-suspended. Reported every 30 seconds when the base is @@ -124198,8 +128433,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.DetachableBase.AttachedOnBoot" enum="BooleanAttached" - expires_after="M85"> - <owner>kitching@google.com</owner> + expires_after="2021-06-02"> + <owner>drinkcat@chromium.org</owner> + <owner>fshao@chromium.org</owner> + <owner>chromeos-kukui@google.com</owner> <summary> For devices with a detachable base: whether or not the base is connected on boot. Recorded by upstart task on boot. @@ -124207,14 +128444,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.DetachableBase.PairResult" - enum="DetachableBasePairResult" expires_after="M85"> - <owner>kitching@google.com</owner> + enum="DetachableBasePairResult" expires_after="2021-06-02"> + <owner>drinkcat@chromium.org</owner> + <owner>fshao@chromium.org</owner> + <owner>chromeos-kukui@google.com</owner> <summary>Result of a detachable base pair operation.</summary> </histogram> <histogram name="Platform.DetachableBase.PendingRWUpdate" - enum="DetachableBasePendingRWUpdate" expires_after="M85"> - <owner>kitching@google.com</owner> + enum="DetachableBasePendingRWUpdate" expires_after="2021-06-02"> + <owner>drinkcat@chromium.org</owner> + <owner>fshao@chromium.org</owner> + <owner>chromeos-kukui@google.com</owner> <summary> Detachable base firmware updates can be configured to only occur on boot. In this mode, any update will be considered "pending" until the @@ -124230,14 +128471,18 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.DetachableBase.ROUpdateResult" - enum="DetachableBaseROUpdateResult" expires_after="M85"> - <owner>kitching@google.com</owner> + enum="DetachableBaseROUpdateResult" expires_after="2021-06-02"> + <owner>drinkcat@chromium.org</owner> + <owner>fshao@chromium.org</owner> + <owner>chromeos-kukui@google.com</owner> <summary>Result of a detachable base RO firmware update.</summary> </histogram> <histogram name="Platform.DetachableBase.RWUpdateResult" - enum="DetachableBaseRWUpdateResult" expires_after="M85"> - <owner>kitching@google.com</owner> + enum="DetachableBaseRWUpdateResult" expires_after="2021-06-02"> + <owner>drinkcat@chromium.org</owner> + <owner>fshao@chromium.org</owner> + <owner>chromeos-kukui@google.com</owner> <summary>Result of a detachable base RW firmware update.</summary> </histogram> @@ -124420,7 +128665,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.KernelCrashesDaily" units="count per day" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>grundler@chromium.org</owner> <owner>groeck@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -124431,7 +128676,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.KernelCrashesPerActiveYear" units="count per year" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>grundler@chromium.org</owner> <owner>groeck@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -124443,7 +128688,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.KernelCrashesPerCpuYear" units="count per CPU year" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>grundler@chromium.org</owner> <owner>groeck@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -124454,7 +128699,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.KernelCrashesSinceUpdate" units="count" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>grundler@chromium.org</owner> <owner>groeck@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -124464,7 +128709,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.KernelCrashesWeekly" units="count per week" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>grundler@chromium.org</owner> <owner>groeck@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -124476,7 +128721,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.KernelCrashInterval" units="seconds" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>grundler@chromium.org</owner> <owner>groeck@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -124504,7 +128749,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.LogicalCpuCount" units="units" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-performance@google.com</owner> <summary> @@ -124525,7 +128770,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Platform.Mem" units="%" expires_after="2020-07-02"> +<histogram name="Platform.Mem" units="%" expires_after="2021-07-02"> <owner>hajimehoshi@chromium.org</owner> <owner>kouhei@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -124536,7 +128781,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Platform.Meminfo" units="KB" expires_after="2020-07-02"> +<histogram name="Platform.Meminfo" units="KB" expires_after="2021-07-02"> <owner>hajimehoshi@chromium.org</owner> <owner>kouhei@chromium.org</owner> <owner>sonnyrao@chromium.org</owner> @@ -124668,6 +128913,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Platform.MountEncrypted.EncryptedFsType" enum="MountEncryptedEncryptedFsType" expires_after="M85"> + <obsolete> + Removed 6/2020 due to lack of usage. + </obsolete> <owner>gwendal@chromium.org</owner> <owner>sarthakkukreti@chromium.org</owner> <summary> @@ -124700,7 +128948,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.PageFaultsLong" units="page faults/second" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -124709,7 +128957,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.PageFaultsShort" units="page faults/second" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -124835,6 +129083,32 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Platform.StatefulTrim.TimeBetweenTrim" units="hours" + expires_after="2021-06-08"> + <owner>asavery@chromium.org</owner> + <owner>gwendal@chromium.org</owner> + <summary> + The amount of time in hours since the last trim when chromeos-trim triggers + a trim for the stateful partition. The chromeos-trim script is run daily, + but a trim is only triggered if the previous run was interrupted, the amount + of writes since the last trim is greater than X% of the remaining space in + stateful or we have not trimmed in 7 days. Reported at most once a day. + </summary> +</histogram> + +<histogram name="Platform.StatefulTrim.TrimmedAmount" units="MiB" + expires_after="2021-06-08"> + <owner>asavery@chromium.org</owner> + <owner>gwendal@chromium.org</owner> + <summary> + The amount of data in the stateful partition that is erased when + chromeos-trim triggers a trim. The chromeos-trim script is run daily, but a + trim is only triggered if the previous run was interrupted, the amount of + writes since the last trim is greater than X% of the remaining space in + stateful or we have not trimmed in 7 days. Reported at most once a day. + </summary> +</histogram> + <histogram name="Platform.StatefulUsage" units="%" expires_after="M85"> <owner>achuith@chromium.org</owner> <owner>omrilio@chromium.org</owner> @@ -124850,6 +129124,15 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Platform.StatefulWritesDaily" units="KiB" + expires_after="2021-05-29"> + <owner>asavery@chromium.org</owner> + <owner>gwendal@chromium.org</owner> + <summary> + Chrome OS stateful partition KiB writes per day. Sampled once daily. + </summary> +</histogram> + <histogram name="Platform.Storage.Flash.BadBlocks" units="units" expires_after="M85"> <owner>dehrenberg@chromium.org</owner> @@ -124892,7 +129175,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.SwapInLong" units="pages/second" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -124901,7 +129184,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.SwapInShort" units="pages/second" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -125685,7 +129968,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.SwapOutLong" units="pages/second" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -125694,7 +129977,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.SwapOutShort" units="pages/second" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -125929,9 +130212,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.TPM.DictionaryAttackCounter" units="units" - expires_after="M85"> - <owner>apronin@chromium.org</owner> - <owner>cros-hwsec+uma@chromium.org</owner> + expires_after="2020-10-07"> + <owner>cylai@chromium.org</owner> + <owner>cros-hwsec-userland-eng+uma@chromium.org</owner> <summary> Each sample is the value of the TPM dictionary attack counter reported at boot and hourly while running. Any non-zero value is unexpected. @@ -125939,9 +130222,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.TPM.DictionaryAttackResetStatus" - enum="CrosTPMDictionaryAttackResetStatusEnum" expires_after="M85"> - <owner>apronin@chromium.org</owner> - <owner>cros-hwsec+uma@chromium.org</owner> + enum="CrosTPMDictionaryAttackResetStatusEnum" expires_after="2020-10-07"> + <owner>cylai@chromium.org</owner> + <owner>cros-hwsec-userland-eng+uma@chromium.org</owner> <summary> Each sample is the status of an hourly attempt to reset the TPM dictionary attack counter. @@ -126000,6 +130283,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.TPMForcedReboot" units="reboots" expires_after="M85"> + <obsolete> + Removed 06/2020 as there is no data and no mention of it in the codebase. + </obsolete> <owner>apronin@chromium.org</owner> <owner>cros-hwsec+uma@chromium.org</owner> <summary> @@ -126032,16 +130318,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.U2F.Command" enum="Cr50U2FCommands" - expires_after="M85"> - <owner>louiscollard@chromium.org</owner> - <owner>cros-hwsec+uma@chromium.org</owner> + expires_after="2020-10-07"> + <owner>cylai@chromium.org</owner> + <owner>cros-hwsec-userland-eng+uma@chromium.org</owner> <summary>Records occurrences of U2F commands sent to cr50.</summary> </histogram> <histogram name="Platform.U2F.LegacyCommand" enum="Cr50U2FCommands" - expires_after="M85"> - <owner>louiscollard@chromium.org</owner> - <owner>cros-hwsec+uma@chromium.org</owner> + expires_after="2020-10-07"> + <owner>cylai@chromium.org</owner> + <owner>cros-hwsec-userland-eng+uma@chromium.org</owner> <summary>Records occurrences of legacy U2F commands sent to cr50.</summary> </histogram> @@ -126127,7 +130413,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.ZramCompressedSize" units="MB" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -126137,7 +130423,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.ZramCompressionRatioPercent" units="%" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@chromium.org</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -126184,7 +130470,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Platform.ZramSavings" units="MB" expires_after="2020-07-02"> +<histogram name="Platform.ZramSavings" units="MB" expires_after="2021-07-02"> <owner>sonnyrao@google.com</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -126195,7 +130481,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.ZramZeroPages" units="pages" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@google.com</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -126205,7 +130491,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Platform.ZramZeroRatioPercent" units="%" - expires_after="2020-07-02"> + expires_after="2021-07-02"> <owner>sonnyrao@google.com</owner> <owner>chromeos-memory@google.com</owner> <summary> @@ -126876,6 +131162,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PLT.iOS.BrowserInitiatedPageLoadTimeWithLowBattery" units="ms" expires_after="2020-08-09"> + <obsolete> + Experiment has ended 2020-06. + </obsolete> <owner>djean@chromium.org</owner> <owner>eugenebut@chromium.org</owner> <summary> @@ -126899,6 +131188,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PLT.iOS.RendererInitiatedPageLoadTimeWithLowBattery" units="ms" expires_after="2020-08-09"> + <obsolete> + Experiment has ended 2020-06. + </obsolete> <owner>djean@chromium.org</owner> <owner>eugenebut@chromium.org</owner> <summary> @@ -127740,7 +132032,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Plugin.FlashUsage" enum="FlashUsage" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>yzshen@chromium.org</owner> <owner>thestig@chromium.org</owner> <summary>Collects Flash usage data.</summary> @@ -127916,15 +132208,25 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="PluginVm.AppsInstalledAtLogin" units="apps" + expires_after="2020-12-13"> + <owner>timloh@google.com</owner> + <owner>joelhockey@google.com</owner> + <summary> + Records the number of Plugin VM apps in the registry at login time. This + only logs if Plugin VM has already benn enabled for the current user. + </summary> +</histogram> + <histogram name="PluginVm.DlcUseResult" units="PluginVmDlcUseResult" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>kimjae@google.com</owner> <owner>timloh@google.com</owner> <summary>Recorded at each time PluginVM DLC is installed.</summary> </histogram> <histogram name="PluginVm.EngagementTime.Background" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>timloh@google.com</owner> <owner>joelhockey@google.com</owner> <summary> @@ -127935,7 +132237,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PluginVm.EngagementTime.Foreground" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>timloh@google.com</owner> <owner>joelhockey@google.com</owner> <summary> @@ -127945,7 +132247,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PluginVm.EngagementTime.PluginVmTotal" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>timloh@google.com</owner> <owner>joelhockey@google.com</owner> <summary> @@ -127956,7 +132258,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PluginVm.EngagementTime.Total" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>timloh@google.com</owner> <owner>joelhockey@google.com</owner> <summary> @@ -128022,7 +132324,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Power.BacklightLevelOnAC" units="%" expires_after="2020-10-18"> +<histogram name="Power.BacklightLevelOnAC" units="%" expires_after="2020-12-20"> <owner>tbroch@chromium.org</owner> <summary> The level of the backlight as a percentage when the user is on AC. Sampled @@ -128040,7 +132342,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.BatteryChargeHealth" units="%" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> Chrome OS battery charge health percentage. Sampled once when device starts @@ -128138,7 +132440,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.BatteryDischargeRateWhileSuspended" units="mW" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> Chrome OS battery discharge rate in mW while the system was suspended, @@ -128150,7 +132452,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.BatteryInfoSample" enum="BatteryInfoSampleResult" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> Counts the number of times we have read the battery status from sysfs and if @@ -128158,7 +132460,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Power.BatteryPercentDrop" units="%" expires_after="2020-09-27"> +<histogram name="Power.BatteryPercentDrop" units="%" expires_after="2020-11-29"> <owner>ryansturm@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -128183,7 +132485,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.BatteryRemainingAtEndOfSessionOnBattery" units="%" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> Chrome OS remaining battery charge as percent of the maximum battery charge, @@ -128192,7 +132494,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.BatteryRemainingAtStartOfSessionOnAC" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>tbroch@chromium.org</owner> <summary> Chrome OS remaining battery charge as percent of the maximum battery charge, @@ -128222,7 +132524,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.BatteryRemainingWhenChargeStarts" units="%" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> Chrome OS remaining battery charge as percent of the maximum battery charge, @@ -128302,7 +132604,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.ConnectedChargingPorts" - enum="PowerConnectedChargingPorts" expires_after="2020-09-27"> + enum="PowerConnectedChargingPorts" expires_after="2020-11-29"> <owner>bleung@chromium.org</owner> <owner>tbroch@chromium.org</owner> <summary> @@ -128317,6 +132619,40 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Power.CpuTimeSecondsPerProcessType" enum="ProcessType2" + expires_after="2021-05-14"> + <owner>eseckler@chromium.org</owner> + <owner>skyostil@chromium.org</owner> + <summary> + Total seconds of CPU time consumed by Chrome, split by process type. + Currently only implemented on Android. For every second of CPU time consumed + by one process, a sample is recorded into the bucket for the process's type. + The histogram thus shows the total sum of CPU time seconds spent per process + type across all users. + + For a histogram of daily per-user values, select "Per-Client + Aggregation Mode". + </summary> +</histogram> + +<histogram name="Power.CpuTimeSecondsPerThreadType" + enum="CpuTimeMetricsThreadType" expires_after="2021-06-10"> + <owner>eseckler@chromium.org</owner> + <owner>skyostil@chromium.org</owner> + <summary> + Total seconds of CPU time consumed by Chrome, split by process type and + thread type. Currently only implemented on Android. For every second of CPU + time consumed by one thread, a sample is recorded into the bucket for the + thread's type. CPU time consumed by a process that cannot be attributed to a + specific thread is recorded into the "UnattributedThread" bucket. + The histogram thus shows the total sum of CPU time seconds spent per thread + type (within processes of a specific type) across all users. + + For a histogram of daily per-user values, select "Per-Client + Aggregation Mode". + </summary> +</histogram> + <histogram name="Power.DarkResumeWakeDurationMs" units="ms" expires_after="M85"> <owner>chirantan@chromium.org</owner> <owner>abhishekbh@chromium.org</owner> @@ -128414,7 +132750,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.ExternalDisplayOpenResult" - enum="ExternalDisplayOpenResult" expires_after="2020-09-20"> + enum="ExternalDisplayOpenResult" expires_after="2020-11-22"> <owner>tbroch@chromium.org</owner> <summary> The result of attempting to open an I2C device to control an external @@ -128424,7 +132760,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.FirmwareResumeTimeOnAC" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>tbroch@chromium.org</owner> <summary> The time that the firmware took to resume the Chrome OS device from @@ -128433,7 +132769,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.FirmwareResumeTimeOnBattery" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>tbroch@chromium.org</owner> <summary> The time that the firmware took to resume the Chrome OS device from @@ -128472,7 +132808,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.IdleSuspendCountDaily" units="count" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <owner>jiameng@chromium.org</owner> <summary> @@ -128534,7 +132870,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Power.IdleTimeOnBattery" units="ms" expires_after="2020-10-04"> +<histogram name="Power.IdleTimeOnBattery" units="ms" expires_after="2020-12-06"> <owner>tbroch@chromium.org</owner> <owner>jiameng@chromium.org</owner> <summary> @@ -128544,7 +132880,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.KernelResumeTimeOnAC" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>tbroch@chromium.org</owner> <summary> The time that the kernel took to resume the Chrome OS device from @@ -128571,7 +132907,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.KernelSuspendTimeOnBattery" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>tbroch@chromium.org</owner> <summary> The time that the kernel took to suspend-to-RAM the Chrome OS device when @@ -128589,7 +132925,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.LengthOfSession" units="seconds" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>tbroch@chromium.org</owner> <summary> The length of time, in seconds, that a user spent in a single session. @@ -128599,7 +132935,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.LidClosedSuspendCountDaily" units="count" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> Number of times that that the system has suspended in response to its lid @@ -128612,8 +132948,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram base="true" name="Power.Mac" units="mW" expires_after="M85"> +<histogram base="true" name="Power.Mac" units="mW" expires_after="2021-07-03"> <owner>lgrey@chromium.org</owner> + <owner>markchang@chromium.org</owner> <summary> Instantaneous power consution in milliwatts, for the system as a whole and broken down by component. Only recorded on macOS. NB: The collection method @@ -128622,7 +132959,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.Mac.AppleSMCOpened" enum="BooleanSuccess" - expires_after="2020-08-02"> + expires_after="2020-12-13"> <owner>lgrey@chromium.org</owner> <summary> When metrics collection started, records true if a handle to the System @@ -128633,8 +132970,23 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Power.Mac.BatteryDischarge" units="hundredth of percent" + expires_after="2021-06-15"> + <owner>olivierli@chromium.org</owner> + <owner>lgrey@chromium.org</owner> + <summary> + Every minute after startup a measure of the remaining and maximum battery + capacity is taken. Then a ratio of the remaining capacity over the maximum + capicity is calculated and scaled by 10000. (For example: 13 / 2000 = 0.0065 + ; 0.0065 * 10000 = 65). Power.Mac.BatteryDischarge is the the delta in this + relative capacity measure compaired to the measurement that was taken a + minute before. This metric is only recorded when on battery power. Only + recorded on macOS. + </summary> +</histogram> + <histogram name="Power.Mac.IsOnBattery" enum="BooleanOnBattery" - expires_after="2020-09-27"> + expires_after="2020-12-20"> <owner>lgrey@chromium.org</owner> <summary> Whether the user's machine is on battery power. Sampled once per minute. @@ -128736,7 +133088,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.NumberOfSessionsPerCharge" units="units" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>tbroch@chromium.org</owner> <summary> The number of user sessions that occured since the last time that the device @@ -128770,7 +133122,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.PowerButtonPressInLaptopMode" - enum="PowerButtonPressType" expires_after="2020-10-04"> + enum="PowerButtonPressType" expires_after="2020-12-06"> <owner>minch@chromium.org</owner> <summary> Press power button in laptop mode will result in different scenarios @@ -128790,7 +133142,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.PowerSupplyMaxPower" units="W" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>bleung@chromium.org</owner> <owner>tbroch@chromium.org</owner> <summary> @@ -128811,7 +133163,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.PowerSupplyType" enum="PowerSupplyType" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>bleung@chromium.org</owner> <owner>tbroch@chromium.org</owner> <summary> @@ -128850,7 +133202,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.SuspendAttempt" enum="SuspendAttempt" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> The number of suspend attempts on Chrome OS. Samples are reported before @@ -128860,7 +133212,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.SuspendAttemptsBeforeCancel" units="units" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> The number of suspend attempts performed for a single suspend request (e.g. @@ -128871,7 +133223,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.SuspendAttemptsBeforeSuccess" units="units" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> The number of suspend attempts performed for a single suspend request (e.g. @@ -128881,7 +133233,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.SuspendResult" enum="SuspendResult" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> The results of suspend attempts on Chrome OS. Samples are reported after @@ -128934,7 +133286,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.TimeInSuspendAtResume" units="minutes" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>tbroch@chromium.org</owner> <summary> Chrome OS time in minutes spent in suspend-to-RAM mode sampled at resume. @@ -128953,7 +133305,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Power.UserBrightnessAdjustmentsPerSessionOnBattery" - units="units" expires_after="2020-10-11"> + units="units" expires_after="2020-12-13"> <owner>tbroch@chromium.org</owner> <owner>jiameng@chromium.org</owner> <summary> @@ -128964,7 +133316,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.DimImminent.Action" enum="PowerMLDimImminentAction" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>jiameng@chromium.org</owner> <summary> What happens when UserActivityManager receives a screen dim imminent @@ -128973,7 +133325,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.ModelDim.Result" enum="PowerMLFinalResult" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>jiameng@chromium.org</owner> <summary> What happens after screen is dimmed following model instruction. Only @@ -128982,7 +133334,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.ModelNoDim.Result" enum="PowerMLFinalResult" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>jiameng@chromium.org</owner> <summary> What happens after screen dim is deferred following model instruction. Only @@ -129000,7 +133352,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.PreviousEventLogging.Result" - enum="PowerMLPreviousEventLoggingResult" expires_after="2020-10-11"> + enum="PowerMLPreviousEventLoggingResult" expires_after="2020-12-13"> <owner>jiameng@chromium.org</owner> <summary> Status of logging previous idle event after a screen dim imminent signal is @@ -129010,7 +133362,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PowerML.SmartDimComponent.LoadComponentEvent" enum="PowerMLSmartDimComponentLoadComponentEvent" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>alanlxl@chromium.org</owner> <owner>amoylan@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -129021,7 +133373,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.SmartDimComponent.VersionType" - enum="PowerMLSmartDimComponentVersionType" expires_after="2020-10-18"> + enum="PowerMLSmartDimComponentVersionType" expires_after="2020-12-20"> <owner>alanlxl@chromium.org</owner> <owner>amoylan@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -129032,7 +133384,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.SmartDimComponent.WorkerType" - enum="PowerMLSmartDimComponentWorkerType" expires_after="2020-10-18"> + enum="PowerMLSmartDimComponentWorkerType" expires_after="2020-12-20"> <owner>alanlxl@chromium.org</owner> <owner>amoylan@chromium.org</owner> <owner>jiameng@chromium.org</owner> @@ -129043,7 +133395,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.SmartDimModel.RequestCanceledDuration" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>amoylan@chromium.org</owner> <owner>jiameng@chromium.org</owner> <owner>napper@chromium.org</owner> @@ -129055,7 +133407,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.SmartDimModel.RequestCompleteDuration" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>amoylan@chromium.org</owner> <owner>jiameng@chromium.org</owner> <owner>napper@chromium.org</owner> @@ -129067,7 +133419,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.SmartDimModel.Result" - enum="PowerMLSmartDimModelResult" expires_after="2020-10-04"> + enum="PowerMLSmartDimModelResult" expires_after="2020-12-06"> <owner>jiameng@chromium.org</owner> <summary> This is the status code returned by the model when calculating a user @@ -129079,7 +133431,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PowerML.SmartDimParameter.Result" - enum="PowerMLSmartDimParameterResult" expires_after="2020-10-11"> + enum="PowerMLSmartDimParameterResult" expires_after="2020-12-13"> <owner>jiameng@chromium.org</owner> <summary> The result of parsing the dim threshold parameter value. Only applicable to @@ -129499,7 +133851,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PrefetchedSignedExchangeCache.BodySize" units="bytes" - expires_after="2020-06-30"> + expires_after="2020-09-30"> <owner>horo@chromium.org</owner> <owner>webpackage-dev@chromium.org</owner> <summary> @@ -129510,7 +133862,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PrefetchedSignedExchangeCache.BodySizeTotal" units="bytes" - expires_after="2020-06-30"> + expires_after="2020-09-30"> <owner>horo@chromium.org</owner> <owner>webpackage-dev@chromium.org</owner> <summary> @@ -129522,7 +133874,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PrefetchedSignedExchangeCache.Count" units="count" - expires_after="2020-06-30"> + expires_after="2020-09-30"> <owner>horo@chromium.org</owner> <owner>webpackage-dev@chromium.org</owner> <summary> @@ -129534,7 +133886,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PrefetchedSignedExchangeCache.HeadersSizeTotal" units="bytes" - expires_after="2020-06-30"> + expires_after="2020-09-30"> <owner>horo@chromium.org</owner> <owner>webpackage-dev@chromium.org</owner> <summary> @@ -131183,7 +135535,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Previews.OmniboxAction" enum="PreviewsUserOmniboxAction" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>robertogden@chromium.org</owner> <summary>User interactions with the Previews Android Omnibox UI.</summary> </histogram> @@ -131349,7 +135701,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Previews.PageEndReason" enum="PageEndReason" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>robertogden@chromium.org</owner> <summary>Records why the page load ended on a given preview type.</summary> </histogram> @@ -131640,6 +135992,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PrinterService.PrinterServiceEvent" enum="PrinterServiceEventType" expires_after="M85"> + <obsolete> + Removed 06/2017 as part of crbug.com/734161. + </obsolete> <owner>thestig@chromium.org</owner> <summary> Count of events in PrinterService on Chrome OS related to USB printers. @@ -131769,6 +136124,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Printing.CUPS.InvalidPpdResolved" enum="BooleanChanged" expires_after="2021-01-22"> + <obsolete> + Removed 06/2020 because it is not longer needed (Issue 1046125). + </obsolete> <owner>luum@chromium.org</owner> <owner>skau@chromium.org</owner> <summary> @@ -131828,8 +136186,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Printing.CUPS.JobDuration.JobCancelled" units="ms" - expires_after="M85"> + expires_after="2021-06-01"> <owner>jschettler@chromium.org</owner> + <owner>project-bolton@google.com</owner> <summary> Records the print job duration of a cancelled print job. Includes time spent in a suspended or error state. Only recorded on Chrome OS. @@ -131837,8 +136196,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Printing.CUPS.JobDuration.JobDone" units="ms" - expires_after="M85"> + expires_after="2021-06-01"> <owner>jschettler@chromium.org</owner> + <owner>project-bolton@google.com</owner> <summary> Records the print job duration of a done/completed print job. Includes time spent in a suspended or error state. Only recorded on Chrome OS. @@ -131865,6 +136225,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Printing.CUPS.NearbyNetworkPrintersCount" units="printers" + expires_after="2021-01-01"> + <owner>skau@chromium.org</owner> + <owner>project-bolton@google.com</owner> + <summary> + The number of detected network printers that have not been saved. Recorded + when the user navigates to the OS Settings Printing page to set up printers. + Only recorded on Chrome OS. + </summary> +</histogram> + <histogram name="Printing.CUPS.PpdSource" enum="PpdSource" expires_after="M77"> <obsolete> Most users do not provide their own PPDs. @@ -131878,8 +136249,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Printing.CUPS.PrintDocumentSize" units="KB" - expires_after="M85"> + expires_after="2021-06-01"> <owner>jschettler@chromium.org</owner> + <owner>project-bolton@google.com</owner> <summary> Records the total size of the printed document (PDF) sent to CUPS. Only recorded on Chrome OS. @@ -131980,6 +136352,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Printing.CUPS.PrintManagementAppEntryPoint" + enum="PrintManagementAppEntryPoint" expires_after="2021-06-22"> + <owner>jimmyxgong@chromium.com</owner> + <owner>cros-peripherals@google.com</owner> + <summary> + Records the entry point of where the Print Management App was launched from + in Chrome OS. Used to track the relative entry points of the app. + </summary> +</histogram> + <histogram name="Printing.CUPS.ProtocolUsed" enum="PrinterProtocol" expires_after="M85"> <owner>skau@chromium.org</owner> @@ -132004,6 +136386,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="Printing.CUPS.TotalNetworkPrintersCount" units="printers" + expires_after="2021-01-01"> + <owner>skau@chromium.org</owner> + <owner>project-bolton@google.com</owner> + <summary> + The total number of detected network printers. Recorded when the user + navigates to the OS Settings Printing page to set up printers. Only recorded + on Chrome OS. + </summary> +</histogram> + <histogram name="Printing.CUPS.UnknownPpdColorModel" enum="Boolean" expires_after="2021-02-01"> <owner>dhoss@chromium.org</owner> @@ -132070,7 +136463,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PrintPreview.DestinationAction" - enum="PrintPreviewPrintDestinationBuckets" expires_after="M85"> + enum="PrintPreviewPrintDestinationBuckets" expires_after="2021-07-01"> + <owner>rbpotter@chromium.org</owner> <owner>thestig@chromium.org</owner> <summary> Actions performed by the user when the print destination search widget is @@ -132080,6 +136474,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PrintPreview.FontType" enum="PrintPreviewFontTypeType" expires_after="M85"> + <obsolete> + Removed 01/2015 as part of crbug.com/278148. + </obsolete> <owner>thestig@chromium.org</owner> <summary> Count of font file formats embeeded in print preview PDFs. These numbers are @@ -132295,21 +136692,26 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="PrintPreview.PreviewEvent" enum="PrintPreviewHelperEvents" expires_after="M85"> + <obsolete> + Removed 06/2020. + </obsolete> <owner>thestig@chromium.org</owner> <summary>Print preview events.</summary> </histogram> <histogram name="PrintPreview.PrintDocumentSize.HTML" units="KB" - expires_after="2020-06-07"> + expires_after="2020-12-31"> <owner>thestig@chromium.org</owner> + <owner>dmazzoni@chromium.org</owner> <summary> The average size of a page in the printed document when the source is HTML. </summary> </histogram> <histogram name="PrintPreview.PrintDocumentSize.PDF" units="KB" - expires_after="2020-06-07"> + expires_after="2020-12-31"> <owner>thestig@chromium.org</owner> + <owner>dhoss@chromium.org</owner> <summary> The average size of a page in the printed document when the source is PDF. </summary> @@ -132334,7 +136736,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PrintPreview.PrintSettingsUi" - enum="PrintPreviewPrintSettingsUiBuckets" expires_after="M85"> + enum="PrintPreviewPrintSettingsUiBuckets" expires_after="2021-07-01"> + <owner>rbpotter@chromium.org</owner> <owner>thestig@chromium.org</owner> <summary> Actions performed by the user interacting with print settings UI elements. @@ -132399,13 +136802,13 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PrintPreview.RenderPDFPageTime" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>thestig@chromium.org</owner> <summary>Time taken to render each PDF page for print preview.</summary> </histogram> <histogram name="PrintPreview.RenderToPDFTime" units="ms" - expires_after="2020-08-31"> + expires_after="2020-11-22"> <owner>thestig@chromium.org</owner> <summary>Time taken to render to PDF for print preview.</summary> </histogram> @@ -132446,7 +136849,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PrintPreview.UserAction" enum="PrintPreviewUserActionType" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>thestig@chromium.org</owner> <summary> Action taken by the user in the preview tab such as print, cancel, print to @@ -132608,6 +137011,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Process.Sandbox.PolicyGlobalSizeOnSuccess" units="bytes" expires_after="M85"> + <obsolete> + Policy size reduced, metric no longer required. Removed 2020-06. + </obsolete> <owner>ajgo@chromium.org</owner> <owner>src/services/service_manager/sandbox/win/OWNERS</owner> <summary> @@ -132892,6 +137298,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Profile.GetProfileInfoPath.OutsideUserDir" enum="BooleanHit" expires_after="M85"> + <obsolete> + Removed 06/2020. There are no recordings of this event since M83. + </obsolete> <owner>msarda@chromium.org</owner> <owner>alexilin@chromium.org</owner> <summary> @@ -132909,7 +137318,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Profile.Incognito.Lifetime" units="minutes" - expires_after="M85"> + expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -132920,6 +137329,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Profile.InitProfileUserPrefs.OutsideUserDir" enum="BooleanHit" expires_after="M85"> + <obsolete> + Removed 06/2020. There are no recordings of this event since M83. + </obsolete> <owner>msarda@chromium.org</owner> <owner>alexilin@chromium.org</owner> <summary> @@ -132957,9 +137369,10 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Profile.Menu.ClickedActionableItem" - enum="ProfileMenuActionableItem" expires_after="M85"> + enum="ProfileMenuActionableItem" expires_after="2021-06-30"> + <owner>droger@chromium.org</owner> <owner>msarda@chromium.org</owner> - <owner>tangltom@chromium.org</owner> + <owner>chrome-signin-team@google.com</owner> <summary> Recorded when an actionable item(e.g. button, link) in the profile menu is clicked. @@ -133047,7 +137460,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Profile.NumberOfAccountsPerProfile" units="units" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>msarda@chromium.org</owner> <owner>droger@chromium.org</owner> <summary> @@ -133516,6 +137929,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Profile.UpdateTaskbarDecoration.Win.Result" enum="Hresult" expires_after="M85"> + <obsolete> + Removed 6/3/2020. No longer needed. + </obsolete> <owner>phillis@chromium.org</owner> <owner>cmumford@chromium.org</owner> <summary> @@ -133598,7 +138014,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ProfileChooser.HasProfilesShown" enum="BooleanShown" - expires_after="2020-09-27"> + expires_after="2020-12-13"> <owner>vasilii@chromium.org</owner> <owner>ewald@chromium.org</owner> <summary> @@ -133705,7 +138121,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ProtoDB.InitStatus" enum="LevelDBStatus" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>nyquist@chromium.org</owner> <owner>ssid@chromium.org</owner> <summary>The LevelDB Status from a ProtoDatabase Init call.</summary> @@ -133735,7 +138151,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ProtoDB.SharedDbInitStatus" enum="ProtoDatabaseInitState" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>ssid@chromium.org</owner> <owner>salg@chromium.org</owner> <summary> @@ -133765,7 +138181,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ProximityAuth.BleWeaveConnectionResult" - enum="ProximityAuth_BleWeaveConnectionResult" expires_after="2020-10-04"> + enum="ProximityAuth_BleWeaveConnectionResult" expires_after="2020-12-06"> <owner>hansberry@chromium.org</owner> <summary> Provides a breakdown of how often each BLE weave connection result occurs. @@ -133774,7 +138190,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="ProximityAuth.BluetoothGattConnectionResult" enum="ProximityAuth_BluetoothGattConnectionResult" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>hansberry@chromium.org</owner> <summary> Provides a breakdown of how many times each possible Bluetooth GATT @@ -134012,7 +138428,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="PushMessaging.ReceivedMessageInBackground" enum="Boolean" - expires_after="2020-08-25"> + expires_after="2020-12-20"> <owner>peter@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -134198,6 +138614,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="QuickAnswers.Intent" enum="QuickAnswersIntentType" + expires_after="2020-12-10"> + <owner>llin@google.com</owner> + <owner>croissant-eng@chromium.org</owner> + <summary> + For quick answer fetch, records the intent generated on-device. ChromeOS + only. + </summary> +</histogram> + <histogram name="QuickAnswers.Loading.Duration" units="ms" expires_after="2020-12-10"> <owner>llin@google.com</owner> @@ -134454,8 +138880,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Quota.AgeOfDataInDays" units="days" expires_after="2020-06-14"> +<histogram name="Quota.AgeOfDataInDays" units="days" expires_after="2021-05-18"> <owner>jarrydg@chromium.org</owner> + <owner>chrome-owp-storage@google.com</owner> <summary> How many kilobytes are how old. Similar to |AgeOfOrigin| except a sample is added for each kilobyte of an origin's data. Logged hourly for all origins @@ -134473,7 +138900,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Quota.AvailableDiskSpace" units="MB" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jarrydg@chromium.org</owner> <summary> Amount of free disk space for the storage directory. Logged at irregular @@ -134492,7 +138919,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Quota.DaysBetweenRepeatedOriginEvictions" units="units" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jarrydg@chromium.org</owner> <summary> The number of days since an origin was last chosen to be evicted from the @@ -134512,7 +138939,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Quota.DiskspaceShortage" units="MB" expires_after="2020-10-11"> +<histogram name="Quota.DiskspaceShortage" units="MB" expires_after="2020-12-13"> <owner>jarrydg@chromium.org</owner> <summary> Difference between acceptable lower limit of diskspace and actual free @@ -134618,7 +139045,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Quota.GlobalUsageOfTemporaryStorage" units="MB" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jarrydg@chromium.org</owner> <summary>Global usage of temporary storage.</summary> </histogram> @@ -134643,7 +139070,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Quota.NumberOfEvictedOriginsPerRound" units="units" - expires_after="2020-05-31"> + expires_after="2021-05-18"> <owner>jarrydg@chromium.org</owner> <summary>Number of evicted origins per round.</summary> </histogram> @@ -134713,7 +139140,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Quota.PercentDiskAvailable" units="%" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jarrydg@chromium.org</owner> <summary> Percentage of the storage device that is free. Logged at irregular @@ -134752,7 +139179,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Quota.PercentUsedForTemporaryStorage2" units="%" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>jarrydg@chromium.org</owner> <summary> Percentage of the storage device that is being use for temporary storage. @@ -134836,7 +139263,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> -<histogram name="Quota.TotalDiskSpace" units="MB" expires_after="2020-09-27"> +<histogram name="Quota.TotalDiskSpace" units="MB" expires_after="2020-11-29"> <owner>jarrydg@chromium.org</owner> <summary> Total disk space for the storage directory. Logged at irregular intervals. @@ -135012,7 +139439,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="RecurrenceRanker.InitializationStatus" - enum="RecurrenceRankerInitializationStatus" expires_after="M85"> + enum="RecurrenceRankerInitializationStatus" expires_after="2021-02-01"> <!-- Name completed by histogram_suffixes name="RecurrenceRankerModel" --> @@ -135025,7 +139452,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="RecurrenceRanker.JsonConfigConversionStatus" - enum="BooleanSuccess" expires_after="M85"> + enum="BooleanSuccess" expires_after="2021-02-01"> <!-- Name completed by histogram_suffixes name="RecurrenceRankerModel" --> @@ -135065,7 +139492,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="RecurrenceRanker.SerializationStatus" - enum="RecurrenceRankerSerializationStatus" expires_after="M85"> + enum="RecurrenceRankerSerializationStatus" expires_after="2021-02-01"> <!-- Name completed by histogram_suffixes name="RecurrenceRankerModel" --> @@ -135077,7 +139504,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="RecurrenceRanker.Usage" - enum="RecurrenceRankerUsage" expires_after="M85"> + enum="RecurrenceRankerUsage" expires_after="2021-02-01"> <!-- Name completed by histogram_suffixes name="RecurrenceRankerModel" --> @@ -135665,12 +140092,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Renderer4.Browser.RasterTaskTotalDuration" - units="microseconds" expires_after="M85"> + units="microseconds" expires_after="2021-06-01"> <owner>khushalsagar@chromium.org</owner> + <owner>chrome-gpu@google.com</owner> <summary> Time spent completing all work for a compositor rasterization task. This includes the time in the renderer process for sending GL or paint commands to the GPU process and the time for flushing these commands to the driver. + + WARNING: This metric is only reported for clients with high resolution + clocks, which means this will be biased to a portion of the population on + windows. </summary> </histogram> @@ -135852,7 +140284,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Renderer4.GpuImageDecodeState" enum="GpuImageUsageState" - expires_after="M85"> + expires_after="2021-06-06"> + <owner>cblume@chromium.org</owner> <owner>vmpstr@chromium.org</owner> <summary> Gpu image decode usage statistics. Images are decoded and locked prior to @@ -135872,7 +140305,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Renderer4.GpuImageDecodeState.FirstLockWasted" - enum="BooleanWasted" expires_after="M85"> + enum="BooleanWasted" expires_after="2021-06-06"> + <owner>cblume@chromium.org</owner> <owner>vmpstr@chromium.org</owner> <summary> Indication whether the first lock of an image decode was wasted (image was @@ -135927,7 +140361,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Renderer4.GpuRasterizationEnabled" enum="BooleanEnabled" - expires_after="M85"> + expires_after="M95"> <owner>ericrk@chromium.org</owner> <owner>enne@chromium.org</owner> <summary> @@ -136024,13 +140458,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="Renderer4.ImageDecodeTaskDurationUs" - units="microseconds" expires_after="M85"> + units="microseconds" expires_after="2021-06-08"> <!-- Name completed by histogram_suffixes name="DecodedImageType" --> <!-- Name completed by histogram_suffixes name="OutOfRaster" --> <!-- Name completed by histogram_suffixes name="RasterTaskType" --> + <owner>cblume@chromium.org</owner> <owner>vmpstr@chromium.org</owner> <owner>sashamcintosh@chromium.org</owner> <summary> @@ -136140,6 +140575,12 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="Renderer4.LockExistingCachedImage" enum="BooleanSuccess" expires_after="M85"> + <obsolete> + Removes as of 6/2020. We now get enough cache hit information from + Renderer4.SoftwareImageDecodeState* and don't need to divide it into tile + bins. + </obsolete> + <owner>cblume@chromium.org</owner> <owner>vmpstr@chromium.org</owner> <summary> For each attempted lock of a cached image, records whether it was @@ -136317,12 +140758,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Renderer4.Renderer.RasterTaskTotalDuration" - units="microseconds" expires_after="M85"> + units="microseconds" expires_after="2021-06-01"> <owner>khushalsagar@chromium.org</owner> + <owner>chrome-gpu@google.com</owner> <summary> Time spent completing all work for a compositor rasterization task. This includes the time in the renderer process for sending GL or paint commands to the GPU process and the time for flushing these commands to the driver. + + WARNING: This metric is only reported for clients with high resolution + clocks, which means this will be biased to a portion of the population on + windows. </summary> </histogram> @@ -136364,6 +140810,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Renderer4.ReservedMemory" units="MB" expires_after="M85"> + <obsolete> + Removed in M85 as no longer being needed. + </obsolete> <owner>bbudge@chromium.org</owner> <summary> The size of the contiguous memory block reserved in the renderer so that @@ -136427,7 +140876,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Renderer4.SoftwareImageDecodeState" - enum="SoftwareImageDecodeState" expires_after="M85"> + enum="SoftwareImageDecodeState" expires_after="2021-06-08"> + <owner>cblume@chromium.org</owner> <owner>vmpstr@chromium.org</owner> <summary> Software image decode usage statistics. Images are decoded and locked prior @@ -136436,7 +140886,8 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="Renderer4.SoftwareImageDecodeState.FirstLockWasted" - enum="BooleanWasted" expires_after="M85"> + enum="BooleanWasted" expires_after="2021-06-08"> + <owner>cblume@chromium.org</owner> <owner>vmpstr@chromium.org</owner> <summary> Indication whether the first lock of an image decode was wasted (image was @@ -136760,6 +141211,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="RendererScheduler.ExpectedTaskQueueingDuration" units="ms" expires_after="M85"> + <obsolete> + Removed June 2020. + </obsolete> <owner>tdresser@chromium.org</owner> <summary> The estimated queueing duration which would be observed for additional high @@ -136785,6 +141239,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="RendererScheduler.ExpectedTaskQueueingDuration3" units="microseconds" expires_after="M85"> + <obsolete> + Removed June 2020. + </obsolete> <owner>tdresser@chromium.org</owner> <owner>npm@chromium.org</owner> <owner>speed-metrics-dev@chromium.org</owner> @@ -136926,7 +141383,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram base="true" name="RendererScheduler.QueueingDurationPerQueueType" - units="ms" expires_after="2020-06-01"> + units="ms" expires_after="2020-12-01"> <!-- Name completed by histogram_suffixes name="RendererScheduler.QueueType" --> <owner>kdillon@chromium.org</owner> @@ -137914,6 +142371,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="RenderViewContextMenu.OpenLinkAsUser" enum="OpenLinkAsUser" expires_after="M85"> + <obsolete> + Removed as of June 2020. + </obsolete> <owner>jochen@chromium.org</owner> <summary> State of the profile that is activated via the "Open Link as User" @@ -137924,6 +142384,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="RenderViewContextMenu.OpenLinkAsUserProfilesState" enum="OpenLinkAsUserProfilesState" expires_after="M85"> + <obsolete> + Removed as of June 2020. + </obsolete> <owner>jochen@chromium.org</owner> <summary> Whether or not other profiles are active when the "Open Link as @@ -137933,6 +142396,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="RenderViewContextMenu.OpenLinkAsUserShown" units="profiles" expires_after="2020-11-02"> + <obsolete> + Removed as of June 2020. + </obsolete> <owner>jochen@chromium.org</owner> <summary> Count of the profiles shown for the "Open Link as User" context @@ -138051,7 +142517,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ReportingAndNEL.CorruptMetaTable" units="units" - expires_after="2020-09-09"> + expires_after="2021-06-25"> <owner>chlily@chromium.org</owner> <owner>sburnett@chromium.org</owner> <summary> @@ -138062,7 +142528,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="ReportingAndNEL.CorruptMetaTableRecoveryFailed" units="units" - expires_after="2020-09-09"> + expires_after="2021-06-25"> <owner>chlily@chromium.org</owner> <owner>sburnett@chromium.org</owner> <summary> @@ -140047,7 +144513,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.CheckBrowseUrl.HasLocalMatch" - enum="BooleanMatched" expires_after="2020-08-05"> + enum="BooleanMatched" expires_after="2021-08-05"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -140058,7 +144524,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.CheckUrl.Timeout" enum="BooleanTimedOut" - expires_after="2020-08-05"> + expires_after="2021-08-05"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -140096,7 +144562,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.BypassedByUser.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140108,7 +144574,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.BytesPerSeconds" units="bytes" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140119,7 +144585,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140129,7 +144595,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.FailedToGetToken.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140140,7 +144606,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.FailedToGetVerdict.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140151,7 +144617,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.FileEncrypted.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>rogerta@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140162,7 +144628,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.FileTooLarge.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140173,7 +144639,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.Success.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140183,7 +144649,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.Timeout.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140193,7 +144659,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.Unknown.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140203,7 +144669,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Download.UnsupportedFileType.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140214,7 +144680,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.BytesPerSeconds" - units="bytes" expires_after="M85"> + units="bytes" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140226,7 +144692,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.CancelledByUser.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140238,7 +144704,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140248,7 +144714,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.FailedToGetToken.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140259,7 +144725,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.FailedToGetVerdict.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140270,7 +144736,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.FileEncrypted.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>rogerta@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140281,7 +144747,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.FileTooLarge.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140292,7 +144758,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.Success.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140303,7 +144769,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.Timeout.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140314,7 +144780,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.DragAndDrop.Unknown.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140326,7 +144792,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="SafeBrowsing.DeepScan.DragAndDrop.UnsupportedFileType.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140337,7 +144803,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.BytesPerSeconds" units="bytes" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140348,7 +144814,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.CancelledByUser.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140359,7 +144825,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140369,7 +144835,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.FailedToGetToken.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140380,7 +144846,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.FailedToGetVerdict.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140391,7 +144857,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.FileTooLarge.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140402,7 +144868,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.Success.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140412,7 +144878,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.Timeout.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140422,7 +144888,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.Unknown.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140432,7 +144898,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Paste.UnsupportedFileType.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140443,7 +144909,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.BytesPerSeconds" units="bytes" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140454,7 +144920,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.CancelledByUser.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140465,7 +144931,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140475,7 +144941,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.FailedToGetToken.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140486,7 +144952,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.FailedToGetVerdict.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140497,7 +144963,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.FileEncrypted.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>rogerta@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140508,7 +144974,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.FileTooLarge.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140519,7 +144985,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.Success.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140529,7 +144995,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.Timeout.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140539,7 +145005,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.Unknown.Duration" units="ms" - expires_after="M85"> + expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140549,7 +145015,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.DeepScan.Upload.UnsupportedFileType.Duration" - units="ms" expires_after="M85"> + units="ms" expires_after="M90"> <owner>domfc@chromium.org</owner> <owner>webprotect-team@google.com</owner> <summary> @@ -140759,6 +145225,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="SafeBrowsing.ModuleBaseRelocation" units="BaseRelocationType" expires_after="M85"> + <obsolete> + No longer used. Removed 2020-06. + </obsolete> <owner>csharp@chromium.org</owner> <owner>proberge@google.com</owner> <summary> @@ -140823,7 +145292,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.Pref.Enhanced" enum="BooleanEnabled" - expires_after="M85"> + expires_after="2021-01-30"> <owner>bdea@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -140833,7 +145302,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.Pref.Extended" enum="BooleanEnabled" - expires_after="M85"> + expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -140843,7 +145312,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.Pref.General" enum="BooleanEnabled" - expires_after="M85"> + expires_after="2021-01-30"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -140853,8 +145322,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.Pref.SawInterstitial" enum="Boolean" - expires_after="M85"> + expires_after="2021-01-30"> <owner>lpz@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> Whether the current user has ever seen a security interstitial. Recorded for all non-Incognito profiles on profile startup. @@ -140862,8 +145332,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.Pref.Scout" enum="NullableBoolean" - expires_after="M85"> + expires_after="2021-01-30"> <owner>lpz@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> Tracks the Extended Reporting preference transition. Suffixes track which opt-in text users are viewing and the values of each Extended Reporting @@ -140873,6 +145344,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. <histogram name="SafeBrowsing.Pref.Scout.Decision" enum="ScoutActiveExtendedReportingPref" expires_after="M85"> + <obsolete> + This is unused due to it being part of SBER1. Deprecated 06/01/2020. + </obsolete> <owner>lpz@chromium.org</owner> <summary> Tracks user decisions about the Extended Reporting opt-in on security @@ -140883,8 +145357,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.Pref.Scout.SetPref" enum="BooleanEnabled" - expires_after="M85"> + expires_after="2021-01-30"> <owner>lpz@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> Tracks the Extended Reporting preference being changed. Suffixes track which Extended Reporting preference was changed, and the specific UI that the @@ -140893,8 +145368,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.Pref.Scout.Transition" - enum="ScoutTransitionReason" expires_after="M85"> + enum="ScoutTransitionReason" expires_after="2021-01-30"> <owner>lpz@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> Tracks reasons for the Extended Reporting preference transition, such as a user entering an experiment group or seeing a security interstitial for the @@ -140945,6 +145421,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </summary> </histogram> +<histogram name="SafeBrowsing.RT.CacheManager.RealTimeVerdictCount" + units="entries" expires_after="2021-06-19"> + <owner>xinghuilu@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <summary> + Records the number of real time URL verdicts stored for this profile. Logged + each time a new real time url verdict is cached. + </summary> +</histogram> + <histogram name="SafeBrowsing.RT.GetCache.Time" units="ms" expires_after="2020-12-18"> <owner>xinghuilu@chromium.org</owner> @@ -141036,7 +145522,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.RT.LocalMatch.Result" - enum="SafeBrowsingAllowlistAsyncMatch" expires_after="2020-08-05"> + enum="SafeBrowsingAllowlistAsyncMatch" expires_after="2021-08-05"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -141047,7 +145533,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.RT.Network.Result" - enum="CombinedHttpResponseAndNetErrorCode" expires_after="2020-08-05"> + enum="CombinedHttpResponseAndNetErrorCode" expires_after="2021-08-05"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -141057,7 +145543,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.RT.Network.Time" units="ms" - expires_after="2020-08-05"> + expires_after="2021-08-05"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -141079,7 +145565,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.RT.ResourceTypes.Checked" - enum="ContentResourceType2" expires_after="2020-08-05"> + enum="ContentResourceType2" expires_after="2021-08-05"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -141089,7 +145575,7 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. </histogram> <histogram name="SafeBrowsing.RT.ResourceTypes.Requested" - enum="ContentResourceType2" expires_after="2020-08-05"> + enum="ContentResourceType2" expires_after="2021-08-05"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -141910,7 +146396,7 @@ and applied correctly. --> </histogram> <histogram name="SafeBrowsing.V4Store.IsStoreValid" enum="BooleanValid" - expires_after="M85"> + expires_after="2021-08-05"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -142093,6 +146579,9 @@ failing to fetch the updates which puts users' security at risk. --> <histogram base="true" name="SafeBrowsing.WebSocket.Elapsed" units="ms" expires_after="M85"> + <obsolete> + Removed in June 2020. + </obsolete> <owner>ricea@chromium.org</owner> <summary> Time spent on SafeBrowsing lookup. Since this includes any time spent on the @@ -142162,6 +146651,18 @@ failing to fetch the updates which puts users' security at risk. --> </summary> </histogram> +<histogram name="SafeBrowsingBinaryUploadRequest.AdvancedProtectionScanVerdict" + enum="SafeBrowsingMalwareDeepScanningVerdict" expires_after="2021-01-14"> + <owner>drubery@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <summary> + This records the verdict of deep scanning for Advanced Protection users. It + can be used to determine how often we warn the user about malware after they + upload a file for deep scanning. It is recorded after every Advanced + Protection deep scan. + </summary> +</histogram> + <histogram name="SafeBrowsingBinaryUploadRequest.DlpResult" enum="BooleanSuccess" expires_after="M85"> <owner>drubery@chromium.org</owner> @@ -142195,6 +146696,18 @@ failing to fetch the updates which puts users' security at risk. --> </summary> </histogram> +<histogram name="SafeBrowsingBinaryUploadRequest.MalwareScanVerdict" + enum="SafeBrowsingMalwareDeepScanningVerdict" expires_after="2021-01-14"> + <owner>drubery@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <summary> + This records the verdict of deep scanning for enterprise users. It can be + used to determine how often we warn the user about malware after they upload + a file for deep scanning. It is recorded after every enterprise malware deep + scan. + </summary> +</histogram> + <histogram name="SafeBrowsingBinaryUploadRequest.Result" enum="SafeBrowsingBinaryUploadResult" expires_after="M85"> <owner>drubery@chromium.org</owner> @@ -142206,8 +146719,22 @@ failing to fetch the updates which puts users' security at risk. --> </summary> </histogram> +<histogram name="SafeBrowsingBinaryUploadRequest.TimeToGetFCMToken" units="ms" + expires_after="M90"> + <owner>drubery@chromium.org</owner> + <owner>chrome-safebrowsing-alerts@google.com</owner> + <summary> + This record how long it took for the request to get the FCM token. It is + logged every time a deep scanning request successfully gets a token. + </summary> +</histogram> + <histogram name="SafeBrowsingBinaryUploadRequest.TimeToGetToken" units="ms" expires_after="M85"> + <obsolete> + Removed 06/2020 as SafeBrowsingBinaryUploadRequest.TimeToGetFCMToken + provides the same information with a better range of durations. + </obsolete> <owner>drubery@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -143734,7 +148261,7 @@ Safe Browsing lookups, which is critical for security. --> </histogram> <histogram name="SBClientDownload.CheckDownloadStats" - enum="SBClientDownloadCheckDownloadStats" expires_after="2020-10-04"> + enum="SBClientDownloadCheckDownloadStats" expires_after="2020-12-06"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <owner>mattm@chromium.org</owner> @@ -143867,7 +148394,7 @@ Safe Browsing lookups, which is critical for security. --> </histogram> <histogram name="SBClientDownload.DownloadExtensions" - enum="SBClientDownloadExtensions" expires_after="2020-10-04"> + enum="SBClientDownloadExtensions" expires_after="2020-12-06"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <owner>mattm@chromium.org</owner> @@ -144594,7 +149121,7 @@ Safe Browsing lookups, which is critical for security. --> </histogram> <histogram name="SBClientPhishing.ClassifierNotReadyReason" - enum="SBClientPhishingClientModelStatus" expires_after="2020-09-27"> + enum="SBClientPhishingClientModelStatus" expires_after="2020-12-20"> <owner>drubery@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -144757,7 +149284,7 @@ Safe Browsing lookups, which is critical for security. --> </histogram> <histogram name="SBClientPhishing.PhishingDetectorResult" - enum="ClientSidePhishingResult" expires_after="2020-09-27"> + enum="ClientSidePhishingResult" expires_after="2020-11-29"> <owner>drubery@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary>The result enum received from the renderer-side classifier</summary> @@ -144887,7 +149414,7 @@ Safe Browsing lookups, which is critical for security. --> </histogram> <histogram name="SBClientPhishing.TooManyFeatures" units="units" - expires_after="2020-05-31"> + expires_after="M87"> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> @@ -144933,6 +149460,9 @@ Safe Browsing lookups, which is critical for security. --> <histogram name="SBDownloadFeedback.Eligible" enum="DownloadItem.DangerType" expires_after="M81"> + <obsolete> + Removed in M85, since the histogram is not being used. + </obsolete> <owner>vakh@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <owner>mattm@chromium.org</owner> @@ -146495,6 +151025,9 @@ should be kept until we remove incident reporting. --> <histogram name="Scheduling.Renderer.DrawIntervalWithCompositedAnimations2" units="microseconds" expires_after="2021-04-19"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>xidachen@chromium.org</owner> <owner>flackr@chromium.org</owner> <summary> @@ -146532,6 +151065,9 @@ should be kept until we remove incident reporting. --> <histogram name="Scheduling.Renderer.DrawIntervalWithMainThreadAnimations2" units="microseconds" expires_after="2021-04-19"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>xidachen@chromium.org</owner> <owner>flackr@chromium.org</owner> <summary> @@ -147636,6 +152172,40 @@ should be kept until we remove incident reporting. --> </summary> </histogram> +<histogram name="Search.ContextualSearch.ResolveReceived" enum="Boolean" + expires_after="M87"> + <owner>donnd@chromium.org</owner> + <owner>twellington@chromium.org</owner> + <summary> + Records that a resolve response was received from the server, and whether + that was due to a Tap gesture or not (vs longpress). Recorded when the user + triggers the feature and the server responds. Implemented for Android. + </summary> +</histogram> + +<histogram name="Search.ContextualSearch.ResolveRequested" + enum="ContextualSearchGestureIsTap" expires_after="M88"> + <owner>donnd@chromium.org</owner> + <owner>twellington@chromium.org</owner> + <summary> + Records that a resolve request was sent to the server, and whether that was + due to a Tap or not (vs longpress). Recorded when the user triggers the + feature. Implemented for Android. + </summary> +</histogram> + +<histogram name="Search.ContextualSearch.SelectionExpanded" + enum="ContextualSearchGestureIsTap" expires_after="M88"> + <owner>donnd@chromium.org</owner> + <owner>twellington@chromium.org</owner> + <summary> + Records that a resolve request from the server caused the selection to be + expanded, and whether that original selection was due to a Tap or not (vs + longpress). Recorded when the qualifying server response is received. + Implemented for Android. + </summary> +</histogram> + <histogram name="Search.ContextualSearch.Tap.ResultsSeen" enum="Boolean" expires_after="M77"> <owner>donnd@chromium.org</owner> @@ -147659,6 +152229,19 @@ should be kept until we remove incident reporting. --> </summary> </histogram> +<histogram name="Search.ContextualSearch.TranslationNeeded" + enum="ContextualSearchGestureIsTap" expires_after="M88"> + <owner>donnd@chromium.org</owner> + <owner>twellington@chromium.org</owner> + <summary> + Records that a translation is needed for the current Contextual Search, and + whether the selection was originally created by a Tap gesture. This is + recorded regardless of whether the user will actually be shown a translation + or not. Recorded any time a selection is established or changed with the + Contextual Search Translations feature enabled. Implemented for Android. + </summary> +</histogram> + <histogram name="Search.ContextualSearch.UnifiedConsent.PreviouslyUndecided" enum="Boolean" expires_after="2019-01-30"> <owner>donnd@chromium.org</owner> @@ -148934,6 +153517,23 @@ should be kept until we remove incident reporting. --> </summary> </histogram> +<histogram name="Search.QueryTiles.Fetcher.FirstFlowDuration" units="hours" + expires_after="M87"> + <owner>hesen@chromium.org</owner> + <owner>chrome-upboarding-eng@google.com</owner> + <summary> + Records duration from time when first task scheduled to time the fetch task + completed. + </summary> +</histogram> + +<histogram name="Search.QueryTiles.Fetcher.Start" units="hours" + expires_after="M87"> + <owner>hesen@chromium.org</owner> + <owner>chrome-upboarding-eng@google.com</owner> + <summary>Records the hour (0-23) when the TileFetcher task starts.</summary> +</histogram> + <histogram name="Search.QueryTiles.FetcherHttpResponseCode" enum="HttpResponseCode" expires_after="M87"> <owner>hesen@chromium.org</owner> @@ -148948,6 +153548,15 @@ should be kept until we remove incident reporting. --> <summary>Records the net error code get from TileFetcher.</summary> </histogram> +<histogram name="Search.QueryTiles.Group.PruneReason" + enum="QueryTilesGroupPruneReason" expires_after="M87"> + <owner>hesen@chromium.org</owner> + <owner>chrome-upboarding-eng@google.com</owner> + <summary> + Records the reasons caused the tile group pruned in TileManager. + </summary> +</histogram> + <histogram name="Search.QueryTiles.GroupStatus" enum="QueryTilesGroupStatus" expires_after="M87"> <owner>hesen@chromium.org</owner> @@ -149239,8 +153848,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.LegacyTLS.DownloadStarted" enum="Boolean" - expires_after="M85"> + expires_after="M88"> <owner>cthomp@chromium.org</owner> + <owner>security-enamel@chromium.org</owner> <summary> Records whether the page would have a legacy TLS warning (if the user were in the appropriate field trial) when a download is initiated from the page @@ -149252,8 +153862,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.LegacyTLS.FormSubmission" enum="Boolean" - expires_after="M85"> + expires_after="M88"> <owner>cthomp@chromium.org</owner> + <owner>security-enamel@chromium.org</owner> <summary> Records whether the page would have a legacy TLS warning (if the user were in the appropriate field trial) when submitting a form. This is recorded @@ -149263,9 +153874,10 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.LegacyTLS.OnCommit" enum="Boolean" - expires_after="M85"> + expires_after="M88"> <owner>cthomp@chromium.org</owner> <owner>estark@chromium.org</owner> + <owner>security-enamel@chromium.org</owner> <summary> Records whether the page would have a legacy TLS warning (if the user were in the appropriate field trial) when the navigation to the page commits. @@ -149273,8 +153885,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.LegacyTLS.PageInfo.Action" - enum="WebsiteSettingsAction" expires_after="M85"> + enum="WebsiteSettingsAction" expires_after="M88"> <owner>cthomp@chromium.org</owner> + <owner>security-enamel@chromium.org</owner> <summary> Tracks Page Info bubble actions along with whether the page would have a legacy TLS warning (if the user were in the appropriate field trial). @@ -149416,7 +154029,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.DownloadStarted" enum="SafetyTipStatus" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -149429,7 +154042,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.FormSubmission" enum="SafetyTipStatus" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -149442,7 +154055,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.Interaction" enum="SafetyTipInteraction" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -149454,7 +154067,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.OpenTime.Dismiss" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -149465,7 +154078,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.OpenTime.DismissWithClose" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>estark@chromium.org</owner> <owner>livvielin@chromium.org</owner> @@ -149477,7 +154090,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.OpenTime.DismissWithEsc" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>estark@chromium.org</owner> <owner>livvielin@chromium.org</owner> @@ -149489,7 +154102,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.OpenTime.DismissWithIgnore" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>estark@chromium.org</owner> <owner>livvielin@chromium.org</owner> @@ -149501,7 +154114,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.OpenTime.LeaveSite" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -149511,7 +154124,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.OpenTime.NoActionTaken" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>estark@chromium.org</owner> <summary> @@ -149521,7 +154134,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.PageInfo.Action" - enum="WebsiteSettingsAction" expires_after="M85"> + enum="WebsiteSettingsAction" expires_after="M87"> <owner>estark@chromium.org</owner> <owner>jdeblasio@chromium.org</owner> <summary> @@ -149531,7 +154144,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram base="true" name="Security.SafetyTips.ReputationCheckComplete" - enum="SafetyTipStatus" expires_after="M85"> + enum="SafetyTipStatus" expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>src/chrome/browser/reputation/OWNERS</owner> <summary> @@ -149542,7 +154155,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.SafetyTipIgnoredPageLoad" - enum="SafetyTipStatus" expires_after="M85"> + enum="SafetyTipStatus" expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>livvielin@chromium.org</owner> <summary> @@ -149552,7 +154165,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Security.SafetyTips.SafetyTipShown" enum="SafetyTipStatus" - expires_after="M85"> + expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>livvielin@chromium.org</owner> <summary> @@ -149562,7 +154175,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram base="true" name="Security.SafetyTips.SafetyTipShown_AfterFlag" - enum="SafetyTipStatus" expires_after="M85"> + enum="SafetyTipStatus" expires_after="M87"> <owner>jdeblasio@chromium.org</owner> <owner>src/chrome/browser/reputation/OWNERS</owner> <summary> @@ -149758,13 +154371,14 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="SendTabToSelf.AndroidShareSheet.ClickResult" - enum="SendTabToSelfClickResult" expires_after="M84"> + enum="SendTabToSelfClickResult" expires_after="M88"> + <owner>jeffreycohen@chromium.org</owner> <owner>tgupta@chromium.org</owner> <summary>Tracks the user flow for sending a tab for SendTabToSelf.</summary> </histogram> <histogram base="true" name="SendTabToSelf.ClickResult" - enum="SendTabToSelfClickResult" expires_after="M84"> + enum="SendTabToSelfClickResult" expires_after="M88"> <owner>jeffreycohen@chromium.org</owner> <owner>sebsg@chromium.org</owner> <owner>tgupta@chromium.org</owner> @@ -149775,6 +154389,9 @@ should be kept until we remove incident reporting. --> <histogram base="true" name="SendTabToSelf.DeviceCount" units="device_counts" expires_after="M84"> + <obsolete> + Removed 05/2020. + </obsolete> <owner>jeffreycohen@chromium.org</owner> <owner>sebsg@chromium.org</owner> <owner>tgupta@chromium.org</owner> @@ -149786,6 +154403,9 @@ should be kept until we remove incident reporting. --> <histogram name="SendTabToSelf.Notification" enum="SendTabToSelfNotification" expires_after="M84"> + <obsolete> + Removed 05/2020. + </obsolete> <owner>sebsg@chromium.org</owner> <owner>jeffreycohen@chromium.org</owner> <owner>tgupta@chromium.org</owner> @@ -149800,6 +154420,9 @@ should be kept until we remove incident reporting. --> <histogram name="SendTabToSelf.Sync.AddEntryStatus" enum="SendTabToSelfAddEntryStatus" expires_after="M84"> + <obsolete> + Removed 05/2020. + </obsolete> <owner>jeffreycohen@chromium.org</owner> <owner>sebsg@chromium.org</owner> <summary> @@ -149809,6 +154432,9 @@ should be kept until we remove incident reporting. --> <histogram name="SendTabToSelf.Sync.ApplySyncChangesStatus" enum="SendTabToSelfApplySyncChanges" expires_after="M84"> + <obsolete> + Removed 05/2020. + </obsolete> <owner>jeffreycohen@chromium.org</owner> <owner>sebsg@chromium.org</owner> <summary> @@ -149819,6 +154445,9 @@ should be kept until we remove incident reporting. --> <histogram name="SendTabToSelf.Sync.ModelLoadedInTime" enum="Boolean" expires_after="M84"> + <obsolete> + Removed 05/2020. + </obsolete> <owner>tgupta@chromium.org</owner> <summary> Whether or not the SendTabToSelf model was loaded in time to perform the @@ -149828,6 +154457,9 @@ should be kept until we remove incident reporting. --> <histogram name="SendTabToSelf.Sync.NotifyLocalDevice" enum="SendTabToSelfNotifyLocalDevice" expires_after="M84"> + <obsolete> + Removed 05/2020. + </obsolete> <owner>jeffreycohen@chromium.org</owner> <owner>tgupta@chromium.org</owner> <summary> @@ -150016,8 +154648,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.ActivateEvent.Time" units="ms" - expires_after="2020-06-18"> + expires_after="2021-06-30"> <owner>shimazu@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary> Execution time of ServiceWorkerGlobalScope.onactivate. Includes the time for waitUntil() promise to settle. @@ -150052,7 +154685,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.BackgroundFetchAbortEvent.Time" units="ms" - expires_after="M85"> + expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>peter@chromium.org</owner> <owner>rayankans@chromium.org</owner> @@ -150064,7 +154697,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.BackgroundFetchClickEvent.Time" units="ms" - expires_after="M85"> + expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>peter@chromium.org</owner> <owner>rayankans@chromium.org</owner> @@ -150090,7 +154723,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.BackgroundFetchFailEvent.Time" units="ms" - expires_after="M85"> + expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>peter@chromium.org</owner> <owner>rayankans@chromium.org</owner> @@ -150102,7 +154735,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.BackgroundFetchSuccessEvent.Time" units="ms" - expires_after="M85"> + expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>peter@chromium.org</owner> <owner>rayankans@chromium.org</owner> @@ -150115,7 +154748,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.BackgroundSyncEvent.Time" units="ms" - expires_after="M85"> + expires_after="2021-06-30"> <owner>nator@chromium.org</owner> <owner>rayankans@chromium.org</owner> <summary> @@ -150126,7 +154759,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.CacheStorageInstalledScript.CachedMetadataSize" - units="bytes" expires_after="M85"> + units="bytes" expires_after="2021-06-08"> <owner>horo@chromium.org</owner> <owner>wanderview@chromium.org</owner> <summary> @@ -150137,7 +154770,7 @@ should be kept until we remove incident reporting. --> <histogram name="ServiceWorker.CacheStorageInstalledScript.CachedMetadataTotalSize" - units="bytes" expires_after="M85"> + units="bytes" expires_after="2021-06-08"> <owner>horo@chromium.org</owner> <owner>wanderview@chromium.org</owner> <summary> @@ -150147,7 +154780,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.CacheStorageInstalledScript.Count" units="count" - expires_after="M85"> + expires_after="2021-06-08"> <owner>horo@chromium.org</owner> <owner>wanderview@chromium.org</owner> <summary> @@ -150157,7 +154790,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.CacheStorageInstalledScript.ScriptSize" - units="bytes" expires_after="M85"> + units="bytes" expires_after="2021-06-08"> <owner>horo@chromium.org</owner> <owner>wanderview@chromium.org</owner> <summary> @@ -150167,7 +154800,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.CacheStorageInstalledScript.ScriptTotalSize" - units="bytes" expires_after="M85"> + units="bytes" expires_after="2021-06-08"> <owner>horo@chromium.org</owner> <owner>wanderview@chromium.org</owner> <summary> @@ -150227,7 +154860,8 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.Database.DestroyDatabaseResult" - enum="ServiceWorkerDatabaseStatus" expires_after="2020-06-30"> + enum="ServiceWorkerDatabaseStatus" expires_after="2021-05-18"> + <owner>bashi@chromium.org</owner> <owner>nhiroki@chromium.org</owner> <summary> Records result of destroy database operations in ServiceWorkerDatabase. @@ -150245,13 +154879,15 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.Database.ReadResult" - enum="ServiceWorkerDatabaseStatus" expires_after="2020-06-30"> + enum="ServiceWorkerDatabaseStatus" expires_after="2021-05-18"> + <owner>bashi@chromium.org</owner> <owner>nhiroki@chromium.org</owner> <summary>Records result of read operations in ServiceWorkerDatabase.</summary> </histogram> <histogram name="ServiceWorker.Database.WriteResult" - enum="ServiceWorkerDatabaseStatus" expires_after="2020-06-30"> + enum="ServiceWorkerDatabaseStatus" expires_after="2021-05-18"> + <owner>bashi@chromium.org</owner> <owner>nhiroki@chromium.org</owner> <summary> Records result of write operations in ServiceWorkerDatabase. @@ -150259,7 +154895,8 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.DiskCache.InitResult" units="units" - expires_after="2020-06-30"> + expires_after="2021-05-18"> + <owner>bashi@chromium.org</owner> <owner>nhiroki@chromium.org</owner> <summary> Records result of opening a disk cache for ServiceWorkerDiskCache. @@ -150267,7 +154904,8 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.DiskCache.ReadResponseResult" - enum="ServiceWorkerReadResponseResult" expires_after="2020-06-30"> + enum="ServiceWorkerReadResponseResult" expires_after="2021-05-18"> + <owner>bashi@chromium.org</owner> <owner>nhiroki@chromium.org</owner> <summary> Records result of reading response from ServiceWorkerDiskCache. @@ -150275,7 +154913,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.DiskCache.WriteResponseResult" - enum="ServiceWorkerWriteResponseResult" expires_after="2020-06-30"> + enum="ServiceWorkerWriteResponseResult" expires_after="2021-05-18"> <owner>bashi@chromium.org</owner> <owner>nhiroki@chromium.org</owner> <summary> @@ -150379,8 +155017,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.ExtendableMessageEvent.Time" units="ms" - expires_after="M85"> + expires_after="2021-06-30"> <owner>nhiroki@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary> The time taken between dispatching an ExtendableMessageEvent to a Service Worker and receiving a message that it finished handling the event. Includes @@ -150430,6 +155069,19 @@ should be kept until we remove incident reporting. --> </summary> </histogram> +<histogram name="ServiceWorker.FetchEvent.QueuingTime" units="ms" + expires_after="2021-06-01"> + <owner>asamidoi@chromium.org</owner> + <owner>shimazu@chromium.org</owner> + <owner>chrome-worker@google.com</owner> + <summary> + The time that a fetch event was queued. The start time is when the event is + created on the service worker thread and added to the + ServiceWorkerEventQueue. The end time is when the event is dequeued and the + event handler starts to execute. + </summary> +</histogram> + <histogram name="ServiceWorker.FetchEvent.Subresource.Status" enum="ServiceWorkerStatusCode" expires_after="2021-04-19"> <owner>falken@chromium.org</owner> @@ -150455,8 +155107,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.FetchEvent.WaitUntil.Time" units="ms" - expires_after="M85"> + expires_after="2021-06-30"> <owner>shimazu@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary> The time taken between dispatching a FetchEvent to a Service Worker and finishing the FetchEvent. Includes the time for the waitUntil() promise to @@ -150518,6 +155171,9 @@ should be kept until we remove incident reporting. --> <histogram name="ServiceWorker.ForeignFetchEvent.Fallback.Time" units="ms" expires_after="M85"> + <obsolete> + Removed 2018 + </obsolete> <owner>mek@chromium.org</owner> <summary> The time taken between dispatching a ForeignFetchEvent to a Service Worker @@ -150528,6 +155184,9 @@ should be kept until we remove incident reporting. --> <histogram name="ServiceWorker.ForeignFetchEvent.HasResponse.Time" units="ms" expires_after="M85"> + <obsolete> + Removed 2018 + </obsolete> <owner>mek@chromium.org</owner> <summary> The time taken between dispatching a ForeignFetchEvent to a Service Worker @@ -150538,6 +155197,9 @@ should be kept until we remove incident reporting. --> <histogram name="ServiceWorker.ForeignFetchEvent.WaitUntil.Time" units="ms" expires_after="M85"> + <obsolete> + Removed 2018 + </obsolete> <owner>shimazu@chromium.org</owner> <summary> The time taken between dispatching a ForeignFetchEvent to a Service Worker @@ -150547,6 +155209,15 @@ should be kept until we remove incident reporting. --> </summary> </histogram> +<histogram name="ServiceWorker.GetAllOriginsInfoTime" units="ms" + expires_after="2020-09-12"> + <owner>bashi@chromium.org</owner> + <owner>chrome-worker@google.com</owner> + <summary> + Execution time of ServiceWorkerContextWrapper::GetAllOriginsInfo(). + </summary> +</histogram> + <histogram name="ServiceWorker.InstallEvent.Time" units="ms" expires_after="2021-02-01"> <owner>shimazu@chromium.org</owner> @@ -150968,6 +155639,9 @@ should be kept until we remove incident reporting. --> <histogram name="ServiceWorker.NavigationPreload.HeaderSize" units="bytes" expires_after="M85"> + <obsolete> + Expired June 2020. + </obsolete> <owner>horo@chromium.org</owner> <summary> The size of Service-Worker-Navigation-Preload header when the navigation @@ -151228,6 +155902,30 @@ should be kept until we remove incident reporting. --> </summary> </histogram> +<histogram name="ServiceWorker.RegistrationCount" units="registrations" + expires_after="2020-08-25"> + <owner>nidhijaju@google.com</owner> + <owner>bashi@chromium.org</owner> + <owner>chrome-worker@google.com</owner> + <summary> + Number of service worker registrations to be added in + ServiceWorkerRegistry::DidGetAllRegistrations(). + </summary> +</histogram> + +<histogram name="ServiceWorker.RegistrationInfo.ScopeLength" units="characters" + expires_after="2020-08-25"> + <owner>nidhijaju@google.com</owner> + <owner>bashi@chromium.org</owner> + <owner>chrome-worker@google.com</owner> + <summary> + The length of the scope url in the ServiceWorkerRegistrationInfo is measured + for each service worker registration to give a better idea of the data + structure as a whole. This metric is collected in + ServiceWorkerRegistration::GetInfo(). + </summary> +</histogram> + <histogram name="ServiceWorker.RequestTimeouts.Count" enum="ServiceWorkerMetrics.EventType" expires_after="M77"> <obsolete> @@ -151250,8 +155948,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.ScriptCachedMetadataSize" units="bytes" - expires_after="2020-06-30"> + expires_after="2021-05-18"> <owner>falken@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary> The length of cached metadata of Service Worker scripts. Logged on each load of Service Worker script only when the cached metadata is available. It @@ -151261,8 +155960,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.ScriptCachedMetadataTotalSize" units="bytes" - expires_after="2020-06-30"> + expires_after="2021-05-18"> <owner>falken@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary> The total length of cached metadata of Service Worker scripts. Logged on each start of Service Worker only when the cached metadata is available. It @@ -151272,8 +155972,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.ScriptCount" units="count" - expires_after="2020-06-30"> + expires_after="2021-05-18"> <owner>falken@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary> The counts of scripts per Service Worker. Logged on each start of Service Worker. It includes the main script and imported scripts. This histogram is @@ -151299,8 +156000,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.ScriptSize" units="bytes" - expires_after="2020-06-30"> + expires_after="2021-05-18"> <owner>falken@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary> The length of Service Worker scripts. Logged on each load of Service Worker script. It doesn't include the size of imported scripts. This histogram is @@ -151309,8 +156011,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorker.ScriptTotalSize" units="bytes" - expires_after="2020-06-30"> + expires_after="2021-05-18"> <owner>falken@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary> The total length of Service Worker scripts. Logged on each start of Service Worker. It includes the main script and imported scripts. This histogram is @@ -151829,6 +156532,32 @@ should be kept until we remove incident reporting. --> </summary> </histogram> +<histogram name="ServiceWorker.VersionInfo.ClientCount" units="clients" + expires_after="2020-08-25"> + <owner>nidhijaju@google.com</owner> + <owner>bashi@chromium.org</owner> + <owner>chrome-worker@google.com</owner> + <summary> + Number of clients associated with each service worker version, for better + estimation of the size of ServiceWorkerRegistrationInfo. This metric is + collected in ServiceWorkerVersion::GetInfo(), and clients for all versions + (active, waiting, and installing) are counted for now. + </summary> +</histogram> + +<histogram name="ServiceWorker.VersionInfo.ScriptURLLength" units="characters" + expires_after="2020-08-25"> + <owner>nidhijaju@google.com</owner> + <owner>bashi@chromium.org</owner> + <owner>chrome-worker@google.com</owner> + <summary> + The length of the script url in ServiceWorkerVersionInfo is measured for + each service worker version to give a better idea of the memory size of + ServiceWorkerRegistrationInfo as a whole. This metric is collected in + ServiceWorkerVersion::GetInfo(). + </summary> +</histogram> + <histogram name="ServiceWorker.WorkerForMessageFound" enum="Boolean" expires_after="M85"> <owner>falken@chromium.org</owner> @@ -151880,7 +156609,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorkerCache.Cache.Browser.Match.Initialized" units="ms" - expires_after="2020-07-15"> + expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -151924,7 +156653,7 @@ should be kept until we remove incident reporting. --> <histogram name="ServiceWorkerCache.DidGenerateCacheableMetadataMessageInCacheStorage.OriginAllowed" - enum="Boolean" expires_after="M85"> + enum="Boolean" expires_after="2020-12-31"> <owner>wanderview@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -151937,6 +156666,9 @@ should be kept until we remove incident reporting. --> <histogram name="ServiceWorkerCache.DiskCacheCreateEntryResult" enum="NetErrorCodes" expires_after="2020-04-19"> + <obsolete> + Expired 2020-04. + </obsolete> <owner>wanderview@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -151976,7 +156708,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorkerCache.ListOriginsIndexValidity" - enum="CacheStorageIndexResult" expires_after="2020-07-15"> + enum="CacheStorageIndexResult" expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -152004,6 +156736,10 @@ should be kept until we remove incident reporting. --> <histogram name="ServiceWorkerCache.PeakParallelSharedOps2" units="operations" expires_after="M85"> + <obsolete> + Removed in M85 since the parallel operation trial launched already. Also, + this histogram did not provide very useful information. + </obsolete> <owner>wanderview@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -152029,6 +156765,10 @@ should be kept until we remove incident reporting. --> <histogram name="ServiceWorkerCache.Scheduler.IsOperationSlow" enum="Boolean" expires_after="M85"> + <obsolete> + This histogram was removed in M85 in favor of the OperationDuration2 + histograms that provide full timing information for operations. + </obsolete> <owner>wanderview@chromium.org</owner> <summary> An operation is slow (true) if it takes at least 10 seconds to run. If an @@ -152049,8 +156789,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorkerCache.Scheduler.OperationDuration2" units="ms" - expires_after="M85"> + expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>chrome-owp-storage@google.com</owner> <summary> The time in ms from when an operation is started until it completes. This histogram differs from the old OperationDuration in that it uses a different @@ -152071,8 +156812,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorkerCache.Scheduler.QueueDuration2" units="ms" - expires_after="M85"> + expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>chrome-owp-storage@google.com</owner> <summary> The time in ms from when an operation was queued until its task is posted. This histogram differs from the old QueueDuration in that it uses a @@ -152081,8 +156823,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorkerCache.Scheduler.QueueLength" units="operations" - expires_after="M85"> + expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>chrome-owp-storage@google.com</owner> <summary> The number of operations in the scheduling queue just before enqueuing a new operation. @@ -152090,7 +156833,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="ServiceWorkerCache.UsedIndexFileSize" enum="Boolean" - expires_after="M85"> + expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -152375,6 +157118,21 @@ should be kept until we remove incident reporting. --> </summary> </histogram> +<histogram name="Session.TotalDuration.TouchMode" units="times" + expires_after="2021-01-01"> + <owner>collinbaker@chromium.org</owner> + <owner>chrome-desktop-ui-sea@google.com</owner> + <summary> + Time spent in touch mode in each session (as defined by + DesktopSessionDurationTracker). Samples correspond one-to-one with + Session.TotalDuration samples. + + This histogram should be analyzed with Session.TotalDuration. For example, + the sum of this histogram divided by the sum of Session.TotalDuration is the + total proportion of active browsing time spent in touch mode. + </summary> +</histogram> + <histogram name="Session.TotalDuration.WithAccount" units="ms" expires_after="never"> <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> @@ -152477,7 +157235,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Session.WebStates.ReadFromFileTime" units="ms" - expires_after="2020-06-30"> + expires_after="2021-06-10"> <owner>justincohen@chromium.org</owner> <owner>rohitrao@chromium.org</owner> <summary> @@ -152487,7 +157245,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Session.WebStates.SerializedSize" units="KB" - expires_after="2020-06-30"> + expires_after="2021-06-10"> <owner>justincohen@chromium.org</owner> <owner>rohitrao@chromium.org</owner> <summary> @@ -152498,7 +157256,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Session.WebStates.WriteToFileTime" units="ms" - expires_after="2020-06-30"> + expires_after="2021-06-10"> <owner>justincohen@chromium.org</owner> <owner>rohitrao@chromium.org</owner> <summary> @@ -152516,6 +157274,9 @@ should be kept until we remove incident reporting. --> <histogram name="SessionRestore.Actions" enum="SessionRestoreActions" expires_after="M77"> + <obsolete> + Removed 2020-05. Not actively used in current projects. + </obsolete> <owner>chrisha@chromium.org</owner> <summary> The actions that have occurred in a session restore timeline. These are to @@ -152525,6 +157286,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="SessionRestore.AllTabsLoaded" units="ms" expires_after="M81"> + <obsolete> + Removed 2020-05. Not actively used in current projects. + </obsolete> <owner>chrisha@chromium.org</owner> <owner>catan-team@chromium.org</owner> <summary> @@ -152577,6 +157341,9 @@ should be kept until we remove incident reporting. --> <histogram name="SessionRestore.ForegroundTabFirstLoaded" units="ms" expires_after="2020-04-19"> + <obsolete> + Removed 2020-05. Not actively used in current projects. + </obsolete> <owner>chrisha@chromium.org</owner> <owner>catan-team@chromium.org</owner> <summary> @@ -152823,6 +157590,9 @@ should be kept until we remove incident reporting. --> <histogram name="SessionRestore.RestoredTab.SiteEngagementScore" units="score" expires_after="M77"> + <obsolete> + Removed 2020-05. Not actively used in current projects. + </obsolete> <owner>chrisha@chromium.org</owner> <summary> The site engagement score associated with a tab restored by session restore, @@ -152897,6 +157667,9 @@ should be kept until we remove incident reporting. --> <histogram name="SessionRestore.TabActions" enum="SessionRestoreTabActions" expires_after="M81"> + <obsolete> + Removed 2020-05. Not actively used in current projects. + </obsolete> <owner>chrisha@chromium.org</owner> <summary> A breakdown of key events that occur to individual tabs as they are @@ -152927,6 +157700,9 @@ should be kept until we remove incident reporting. --> <histogram name="SessionRestore.TabCount" units="tabs" expires_after="2020-04-19"> + <obsolete> + Removed 2020-05. Not actively used in current projects. + </obsolete> <owner>chrisha@chromium.org</owner> <summary> The number of tabs involved in a single session restore event. @@ -152935,6 +157711,9 @@ should be kept until we remove incident reporting. --> <histogram name="SessionRestore.TabLoadTimeout" enum="BooleanTimedOut" expires_after="M77"> + <obsolete> + Removed 2020-05. Not actively used in current projects. + </obsolete> <owner>chrisha@chromium.org</owner> <summary> The boolean indicates whether the tab load was initiated because a previous @@ -153116,6 +157895,9 @@ should be kept until we remove incident reporting. --> <histogram name="Settings.EnforcementGroupDeterminedFromTrial" enum="BooleanSuccess" expires_after="M77"> + <obsolete> + Removed from the codebase in M85. This trial has long been obsolete. + </obsolete> <owner>gab@chromium.org</owner> <summary> Whether the SettingsEnforcement group was successfully determined from the @@ -153565,7 +158347,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Settings.ShowHomeButtonPreferenceStateChanged" - enum="BooleanEnabled" expires_after="M85"> + enum="BooleanEnabled" expires_after="M88"> <owner>twellington@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <summary> @@ -153575,7 +158357,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Settings.ShowHomeButtonPreferenceStateManaged" - enum="HomeButtonPreferenceStateType" expires_after="M85"> + enum="HomeButtonPreferenceStateType" expires_after="M88"> <owner>twellington@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <summary> @@ -154101,6 +158883,20 @@ should be kept until we remove incident reporting. --> <histogram name="Setup.Install.CumulativeDiskUsage" units="MB" expires_after="M82"> + <obsolete> + Expired in M82, then replaced by Setup.Install.CumulativeDiskUsage2 on + 06/2020. + </obsolete> + <owner>etiennep@chromium.org</owner> + <owner>grt@chromium.org</owner> + <summary> + The cumulative disk usage in MB during install or uninstall attempt, + recorded right after the install/uninstall attempt on windows only. + </summary> +</histogram> + +<histogram name="Setup.Install.CumulativeDiskUsage2" units="MB" + expires_after="M86"> <owner>etiennep@chromium.org</owner> <owner>grt@chromium.org</owner> <summary> @@ -154198,8 +158994,9 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Setup.Install.LzmaUnPackStatus" enum="UnPackStatus" - expires_after="M82"> + expires_after="2021-03-22"> <owner>zmin@chromium.org</owner> + <owner>grt@chromium.org</owner> <summary>Record the status of unpacking the contents of a 7z file.</summary> </histogram> @@ -154757,7 +159554,10 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.DownloadQRCode.Failed.Time" units="ms" - expires_after="M85"> + expires_after="M87"> + <obsolete> + Removed 06/2020. Never launched. + </obsolete> <owner>gayane@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> <summary> @@ -154766,7 +159566,10 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.DownloadQRCode.Succeeded.Time" units="ms" - expires_after="M85"> + expires_after="M87"> + <obsolete> + Removed 06/2020. Never launched. + </obsolete> <owner>gayane@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> <summary> @@ -155046,7 +159849,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.SharingHubAndroid.ThirdPartyAppUsage" - enum="SharingHubBottomRowIndex" expires_after="M85"> + enum="SharingHubBottomRowIndex" expires_after="M87"> <owner>kmilka@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> <summary> @@ -155056,7 +159859,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.SharingHubAndroid.TimeToShare" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>kmilka@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> <summary> @@ -155066,7 +159869,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.SharingHubAndroid.TimeToShowShareSheet" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>kmilka@chromium.org</owner> <owner>src/components/send_tab_to_self/OWNERS</owner> <summary> @@ -155077,6 +159880,9 @@ should be kept until we remove incident reporting. --> <histogram name="Sharing.VapidKeyCreationResult" enum="SharingVapidKeyCreationResult" expires_after="M85"> + <obsolete> + Removed 2020-06 as the result is always successful. + </obsolete> <owner>alexchau@chromium.org</owner> <owner>peter@chromium.org</owner> <summary> @@ -155086,7 +159892,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.WebRtc.AddIceCandidate" enum="BooleanSuccess" - expires_after="M84"> + expires_after="M88"> <owner>himanshujaju@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -155096,7 +159902,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.WebRtc.ConnectionErrorReason" - enum="SharingWebRtcConnectionErrorReason" expires_after="M84"> + enum="SharingWebRtcConnectionErrorReason" expires_after="M88"> <owner>himanshujaju@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -155106,7 +159912,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.WebRtc.ConnectionType" - enum="SharingWebRtcConnectionType" expires_after="M84"> + enum="SharingWebRtcConnectionType" expires_after="M88"> <owner>himanshujaju@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -155116,7 +159922,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.WebRtc.IceConfigFetched" units="ice_servers" - expires_after="M84"> + expires_after="M88"> <owner>himanshujaju@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -155126,7 +159932,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.WebRtc.OnMessageReceivedResult" - enum="SharingWebRtcOnMessageReceivedResult" expires_after="M84"> + enum="SharingWebRtcOnMessageReceivedResult" expires_after="M88"> <owner>himanshujaju@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -155136,7 +159942,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.WebRtc.SendMessageResult" - enum="SharingWebRtcSendMessageResult" expires_after="M84"> + enum="SharingWebRtcSendMessageResult" expires_after="M88"> <owner>himanshujaju@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -155146,7 +159952,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram name="Sharing.WebRtc.Timeout" enum="SharingWebRtcTimeoutState" - expires_after="M84"> + expires_after="M88"> <owner>himanshujaju@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -155156,7 +159962,7 @@ should be kept until we remove incident reporting. --> </histogram> <histogram base="true" name="Sharing.WebRtc.TimingEvents" units="ms" - expires_after="M84"> + expires_after="M88"> <!-- Name completed by histogram_suffixes name="SharingWebRtcTimingEventRole" and name="SharingWebRtcTimingEvent" --> @@ -155705,8 +160511,9 @@ prefs when the profile is loaded. --> </histogram> <histogram name="Signin.AuthenticatedLaunchUserEvent" - enum="AuthenticatedLaunchUserEvent" expires_after="M84"> + enum="AuthenticatedLaunchUserEvent" expires_after="M88"> <owner>zmin@chromium.org</owner> + <owner>pastarmovj@chromium.org</owner> <summary> Records the UI event when user clicks a locked profile on UserManager. Please note that if the local reauth failed, UserManager might show Gaia @@ -155870,8 +160677,30 @@ prefs when the profile is loaded. --> </summary> </histogram> +<histogram name="Signin.Extensions.GaiaRemoteConsentFlowResult" + enum="GaiaRemoteConsentFlowResult" expires_after="2020-10-04"> + <owner>alexilin@chromium.org</owner> + <owner>droger@chromium.org</owner> + <summary> + Result of the browser remote consent flow, which is a part of the + chrome.identity.getAuthToken() extension API call. Desktop only. + </summary> +</histogram> + +<histogram name="Signin.Extensions.GetAuthTokenResult" + enum="GetAuthTokenResult" expires_after="2020-10-04"> +<!-- Name completed by histogram_suffixes name="GetAuthTokenType" --> + + <owner>alexilin@chromium.org</owner> + <owner>droger@chromium.org</owner> + <summary> + Result of the chrome.identity.getAuthToken() extension API call. Recorded + right before returning the result to an extension. Desktop only. + </summary> +</histogram> + <histogram name="Signin.ForceSigninVerificationRequest" enum="BooleanRequested" - expires_after="M85"> + expires_after="M88"> <owner>zmin@chromium.org</owner> <owner>pastarmovj@chromium.org</owner> <summary> @@ -155946,7 +160775,7 @@ prefs when the profile is loaded. --> </histogram> <histogram name="Signin.InvestigatedScenario" enum="SigninInvestigatedScenario" - expires_after="M85"> + expires_after="M90"> <owner>treib@chromium.org</owner> <owner>mmoskvitin@google.com</owner> <summary> @@ -156435,7 +161264,7 @@ OAuth Multilogin call. --> </summary> </histogram> -<histogram name="Signin.SignedInAccountsViewImpression" units="BooleanShown" +<histogram name="Signin.SignedInAccountsViewImpression" enum="BooleanShown" expires_after="2021-04-20"> <owner>fernandex@chromium.org</owner> <owner>jlebel@chromium.org</owner> @@ -156630,7 +161459,7 @@ kept as long as profile signout is possible --> </histogram> <histogram base="true" name="Signin.SyncErrorInfoBar" - enum="SyncErrorInfoBarAction" expires_after="M85"> + enum="SyncErrorInfoBarAction" expires_after="M87"> <!-- Name completed by histogram_suffixes name="SyncErrorInfoBarType" --> <owner>triploblastic@chromium.org</owner> @@ -156700,6 +161529,54 @@ should be kept for as long as we store refresh tokens in an SQLite DB. --> </summary> </histogram> +<histogram + name="Signin.TransactionalReauthGaiaNavigationDuration.FromConfirmClick" + units="ms" expires_after="2020-11-12"> + <owner>alexilin@chromium.org</owner> + <owner>droger@chromium.org</owner> + <summary> + Records the time from when the user confirms transactional reauth to when + the backround navigation to the Gaia reauth endpoint completes. + </summary> +</histogram> + +<histogram + name="Signin.TransactionalReauthGaiaNavigationDuration.FromReauthStart" + units="ms" expires_after="2020-11-12"> + <owner>alexilin@chromium.org</owner> + <owner>droger@chromium.org</owner> + <summary> + Records the time from when the user triggers transactional reauth to when + the background navigation to Gaia reauth endpoint completes. + </summary> +</histogram> + +<histogram name="Signin.TransactionalReauthResult" enum="SigninReauthResult" + expires_after="2020-11-12"> +<!-- Name completed by histogram_suffixes +name="TransactionalReauthEntryPoint" --> + + <owner>alexilin@chromium.org</owner> + <owner>fhorschig@chromium.org</owner> + <summary> + Recorded whenever the user interacts with reauthentication to complete a + transaction (like interacting with the account store for passwords) and + whether the reauth challenge was cleared. + </summary> +</histogram> + +<histogram name="Signin.TransactionalReauthUserAction" + enum="SigninReauthUserAction" expires_after="2020-11-12"> +<!-- Name completed by histogram_suffixes +name="TransactionalReauthEntryPoint" --> + + <owner>alexilin@chromium.org</owner> + <owner>droger@chromium.org</owner> + <summary> + Records user actions performed in the reauthentication dialog/tab. + </summary> +</histogram> + <histogram name="Signin.UberTokenFailure" enum="GoogleServiceAuthError" expires_after="never"> <!-- expires-never: Uber tokens are required to add accounts to the Gaia @@ -156809,8 +161686,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.ConsistencyResult" - enum="SimpleCacheConsistencyResult" expires_after="M85"> + enum="SimpleCacheConsistencyResult" expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>morlovich@chromium.org</owner> <summary> Record the outcome of the simple DiskCache consistency check. The consistency check is executed every time a simple DiskCache is initialized. @@ -156821,8 +161699,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.ConsistencyResultAfterIndexFilesDeleted" - enum="SimpleCacheConsistencyResult" expires_after="M85"> + enum="SimpleCacheConsistencyResult" expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>morlovich@chromium.org</owner> <summary> Record the final consistency check value after index files have been deleted from an empty simple DiskCache. This histogram will tell us how often the @@ -156852,8 +161731,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.DidDeleteIndexFilesAfterFailedConsistency" enum="Boolean" - expires_after="M85"> + expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>morlovich@chromium.org</owner> <summary> Record if any simple DiskCache index files were deleted from an otherwise empty cache after the cache failed the initialization consistency check. @@ -156977,8 +161857,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.EntryTrailerPrefetchDelta" - units="bytes" expires_after="M85"> + units="bytes" expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>morlovich@chromium.org</owner> <summary> The difference between EntryTrailerPrefetchSize and EntryTrailerSize in bytes within a single ReadAndValidateStream0AndMaybe1() method call. If the @@ -156988,8 +161869,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.EntryTrailerPrefetchSize" - units="bytes" expires_after="M85"> + units="bytes" expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>morlovich@chromium.org</owner> <summary> The number of bytes prefetched from the end of the entry file in an attempt read the EOF footer and the stream 0 data in a single file operation. @@ -156999,7 +161881,10 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.EntryTrailerSize" units="bytes" - expires_after="M85"> + expires_after="2020-05-27"> + <obsolete> + Removed 2020-05 due to excessive quantities of data. + </obsolete> <owner>wanderview@chromium.org</owner> <summary> The number of bytes read at the end of the entry file in order to process @@ -157230,24 +162115,34 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.IndexCorrupt" enum="BooleanCorrupt" expires_after="M85"> + <obsolete> + Removed in M85, but code was missing at that point already. + </obsolete> <owner>morlovich@chromium.org</owner> <summary>For each index load, whether the index file was corrupt.</summary> </histogram> <histogram base="true" name="SimpleCache.IndexCreatedEntryCount" units="units" - expires_after="M85"> + expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary>The number of entries in a newly created index file.</summary> </histogram> <histogram base="true" name="SimpleCache.IndexEntriesLoaded" units="units" expires_after="M85"> + <obsolete> + Removed in M85 + </obsolete> <owner>morlovich@chromium.org</owner> <summary>Number of entries loaded from the index file on start.</summary> </histogram> <histogram base="true" name="SimpleCache.IndexEntriesRestored" units="units" expires_after="M85"> + <obsolete> + Removed in M85 + </obsolete> <owner>morlovich@chromium.org</owner> <summary> Number of entries restored from disk when there was no index or the index @@ -157256,8 +162151,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.IndexFileStateOnLoad" - enum="SimpleIndexState" expires_after="M85"> + enum="SimpleIndexState" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> The state the index file is at when an attempt is made to load from it. </summary> @@ -157265,6 +162161,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.IndexInitializationWaiters" units="units" expires_after="M85"> + <obsolete> + Removed in M85 + </obsolete> <owner>morlovich@chromium.org</owner> <summary> At the time of index initialization, the number of enqueued jobs awaiting @@ -157273,13 +162172,17 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.IndexInitializeMethod" - enum="SimpleCacheIndexInitializeMethod" expires_after="M85"> + enum="SimpleCacheIndexInitializeMethod" expires_after="2021-07-01"> + <owner>wanderview@chromium.org</owner> <owner>morlovich@chromium.org</owner> <summary>The method used to initialize the simple cache index.</summary> </histogram> <histogram base="true" name="SimpleCache.IndexLoadTime" units="ms" expires_after="M85"> + <obsolete> + Removed in M85, but didn't actually work before that. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> Time (as measured on the worker pool) spent loading the index file. @@ -157296,14 +162199,16 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.IndexNumEntriesOnWrite" units="units" - expires_after="M85"> + expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary>The number of entries written to the index on a flush.</summary> </histogram> <histogram base="true" name="SimpleCache.IndexRestoreTime" units="ms" - expires_after="M85"> + expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> Time (as measured on the worker pool) spent restoring the index file by iterating directory entries. @@ -157321,6 +162226,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.IndexWriteInterval.Background" units="ms" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> The interval between index saves, for apps in the background. @@ -157329,6 +162237,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.IndexWriteInterval.Foreground" units="ms" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> The interval between index saves, for apps in the foreground. @@ -157336,8 +162247,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.IndexWriteReason" - enum="SimpleCacheIndexWriteReason" expires_after="M85"> + enum="SimpleCacheIndexWriteReason" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> The reason an index was written to disk. Recorded every time an index is saved. @@ -157345,8 +162257,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.IndexWriteReasonAtLoad" - enum="SimpleCacheIndexWriteReason" expires_after="M85"> + enum="SimpleCacheIndexWriteReason" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> Recorded immediately after loading a fresh index (INDEX_STATE_FRESH or INDEX_STATE_FRESH_CONCURRENT_UPDATES), the reason the loaded index was @@ -157371,6 +162284,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.IndexWriteToDiskTime.Background" units="ms" expires_after="M85"> + <obsolete> + Removed in M85 + </obsolete> <owner>morlovich@chromium.org</owner> <summary> The amount of time spend writing the index file to disk, for apps in the @@ -157381,6 +162297,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.IndexWriteToDiskTime.Foreground" units="ms" expires_after="M85"> + <obsolete> + Removed in M85 + </obsolete> <owner>morlovich@chromium.org</owner> <summary> The amount of time spend writing the index file to disk, for apps in the @@ -157438,6 +162357,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.NumOpsBlockedByPendingDoom" units="Ops" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> Number of operations that were queued behind a particular doom operation @@ -157446,8 +162368,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.OpenEntryIndexState" - enum="SimpleCacheOpenEntryIndexState" expires_after="M85"> + enum="SimpleCacheOpenEntryIndexState" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> At the time that an entry is opened, the state of that entry in the index. </summary> @@ -157455,8 +162378,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.OriginalConsistencyResultBeforeSuccessfulRetry" - enum="SimpleCacheConsistencyResult" expires_after="M85"> + enum="SimpleCacheConsistencyResult" expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>morlovich@chromium.org</owner> <summary> Record the original consistency error produced by a simple DiskCache before a retry was attempted and succeeded. This histogram will tell us what kind @@ -157476,6 +162400,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.QueueLatency.CreateEntry" units="ms" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> Delay between when the I/O portion of CreateEntry is enqueued and when its @@ -157485,6 +162412,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.QueueLatency.OpenEntry" units="ms" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> Delay between when the I/O portion of OpenEntry is enqueued and when its @@ -157494,6 +162424,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.QueueLatency.OpenOrCreateEntry" units="ms" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <owner>bingler@chromium.org</owner> <summary> @@ -157504,6 +162437,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.QueueLatency.PendingDoom" units="ms" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> Delay between when an operation is deferred due to a pending doom for its @@ -157525,12 +162461,18 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.ReadResult" enum="SimpleCacheReadResult" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary>The outcome of Entry::ReadData in the simple cache.</summary> </histogram> <histogram base="true" name="SimpleCache.ReadStream1FromPrefetched" enum="Boolean" expires_after="M85"> + <obsolete> + Removed pre-M85 + </obsolete> <owner>morlovich@chromium.org</owner> <summary> Whether a read from stream 1 (conventionally used for payload body) was @@ -157540,8 +162482,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.RetryConsistencyResult" - enum="SimpleCacheConsistencyResult" expires_after="M85"> + enum="SimpleCacheConsistencyResult" expires_after="2021-06-08"> <owner>wanderview@chromium.org</owner> + <owner>morlovich@chromium.org</owner> <summary> Record the outcome of the simple DiskCache consistency check after retrying initialization on an empty cache directory. The retry may occur after @@ -157553,8 +162496,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.StaleIndexExtraEntryCount" - units="entries" expires_after="M85"> + units="entries" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> Count of the number of entries recorded in the index, but not actually present in the cache. Recorded each time a stale index is found and a @@ -157563,8 +162507,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.StaleIndexMissedEntryCount" - units="entries" expires_after="M85"> + units="entries" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> Count of the number of entries present in a cache, but not recorded in the index. Recorded each time a stale index is found and a directory rescan is @@ -157573,8 +162518,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.StaleIndexQuality" - enum="SimpleCacheStaleIndexQuality" expires_after="M85"> + enum="SimpleCacheStaleIndexQuality" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> The quality of a "stale" index compared to a full directory rescan. Recorded immediately after every directory scan for stale indexes. @@ -157583,6 +162529,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.SyncCheckEOFHasCrc" enum="BooleanHasCrc" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> For each EOFRecord found with a valid magic number, indicates if the record @@ -157591,8 +162540,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.SyncCheckEOFResult" - enum="SimpleCacheSyncCheckEOFResult" expires_after="M85"> + enum="SimpleCacheSyncCheckEOFResult" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> The result, at the synchronous layer, of checking the EOF record of a cache entry. @@ -157600,16 +162550,18 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.SyncCloseResult" - enum="SimpleCacheSyncCloseResult" expires_after="M85"> + enum="SimpleCacheSyncCloseResult" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> The result, at the synchronous layer, of closing a cache entry. </summary> </histogram> <histogram base="true" name="SimpleCache.SyncCreatePlatformFileError" - enum="PlatformFileError" expires_after="M85"> + enum="PlatformFileError" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> The platform error reported when attempting to create a new cache entry at the synchronous layer. @@ -157618,6 +162570,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.SyncCreateResult" enum="SimpleCacheSyncCreateResult" expires_after="M85"> + <obsolete> + Removed pre-M85. Consider SyncCreatePlatformFileError + </obsolete> <owner>morlovich@chromium.org</owner> <summary> The result, at the synchronous layer, reported when attempting to create a @@ -157627,6 +162582,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.SyncKeySHA256Result" enum="SimpleCacheSyncSHA256Result" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> The result of the the key SHA256 check done when opening stream 0 for each @@ -157650,6 +162608,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.SyncOpenEntryAge" units="hours" expires_after="M85"> + <obsolete> + Removed pre-M85. + </obsolete> <owner>morlovich@chromium.org</owner> <summary> The age of the entry (time since last modified), when opened at the @@ -157658,8 +162619,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.SyncOpenPlatformFileError" - enum="PlatformFileError" expires_after="M85"> + enum="PlatformFileError" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> The platform error reported when attempting to create a new cache entry at the synchronous layer. @@ -157667,8 +162629,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.SyncOpenPrefetchMode" - enum="SimpleCachePrefetchMode" expires_after="M85"> + enum="SimpleCachePrefetchMode" expires_after="2021-06-10"> <owner>wanderview@chromium.org</owner> + <owner>morlovich@chromium.org</owner> <summary> The kind of prefetching performed, if any, when executing SimpleSynchronousEntry::ReadAndValidateStream0AndMaybe1(). @@ -157676,8 +162639,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.SyncOpenResult" - enum="SimpleCacheSyncOpenResult" expires_after="M85"> + enum="SimpleCacheSyncOpenResult" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> The result, at the synchronous layer, reported when attempting to open a new cache entry. @@ -157685,8 +162649,9 @@ Chrome adds accounts to the Gaia cookies. --> </histogram> <histogram base="true" name="SimpleCache.SyncWriteResult" - enum="SimpleCacheSyncWriteResult" expires_after="M85"> + enum="SimpleCacheSyncWriteResult" expires_after="2021-07-01"> <owner>morlovich@chromium.org</owner> + <owner>wanderview@chromium.org</owner> <summary> The result, at the synchronous layer, of writing to a cache entry. </summary> @@ -157716,6 +162681,9 @@ Chrome adds accounts to the Gaia cookies. --> <histogram base="true" name="SimpleCache.WriteResult2" enum="SimpleCacheWriteResult" expires_after="M85"> + <obsolete> + Removed pre-M85. SyncWriteResult may be of interest. + </obsolete> <owner>morlovich@chromium.org</owner> <summary>The outcome of Entry::WriteData in the simple cache.</summary> </histogram> @@ -158559,6 +163527,9 @@ should be kept until we use this API. --> <histogram name="SiteIsolation.LowMemoryMode.Transition" enum="BooleanEnabled" expires_after="M85"> + <obsolete> + Code deleted in June 2020. + </obsolete> <owner>rsesek@chromium.org</owner> <summary> The number of times a render process transitions its main thread isolate @@ -160049,8 +165020,8 @@ should be kept until we use this API. --> </histogram> <histogram name="SoftwareReporter.ConfigurationErrors" - enum="SoftwareReporterConfigurationError" expires_after="M85"> - <owner>bdea@google.com</owner> + enum="SoftwareReporterConfigurationError" expires_after="2021-01-30"> + <owner>bdea@chromium.org</owner> <owner>chrome-safebrowsing-alerts@google.com</owner> <summary> Whether a configuration error prevented the experimental Software Reporter @@ -160406,6 +165377,18 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="SpellCheck.MisspellRatio" units="%" expires_after="M87"> + <owner>gujen@google.com</owner> + <owner>chrome-language@google.com</owner> + <summary>The percentage of misspelled words within checked words.</summary> +</histogram> + +<histogram name="SpellCheck.ReplaceRatio" units="%" expires_after="M87"> + <owner>gujen@google.com</owner> + <owner>chrome-language@google.com</owner> + <summary>The percentage of replaced words within misspelled words.</summary> +</histogram> + <histogram name="SpellCheck.SpellingService.Enabled" enum="BooleanEnabled" expires_after="2020-12-01"> <owner>groby@chromium.org</owner> @@ -160449,8 +165432,16 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="SpellCheck.SuggestionHitRatio" units="%" expires_after="M87"> + <owner>gujen@google.com</owner> + <owner>chrome-language@google.com</owner> + <summary> + The percentage of replacement executions within suggestion occurrences. + </summary> +</histogram> + <histogram base="true" name="Spellcheck.Windows.ChromeLocalesSupport" - units="locales" expires_after="2020-07-01"> + units="locales" expires_after="2020-12-01"> <owner>gujen@google.com</owner> <owner>chrome-language@google.com</owner> <summary> @@ -160466,13 +165457,11 @@ should be kept until we use this API. --> This is recorded once during spell check initialization, and then once each time the user changes their Chrome languages. - - </summary> </histogram> <histogram name="Spellcheck.Windows.HunspellUnsupportedLanguageCount" - units="locales" expires_after="2020-07-01"> + units="locales" expires_after="2020-06-01"> <obsolete> Reworked as Spellcheck.Windows.ChromeLocalesSupport.NoSupport and Spellcheck.Windows.ChromeLocalesSupport.NativeOnly in M80. @@ -160488,7 +165477,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Spellcheck.Windows.MissingLanguagePacksCount" units="locales" - expires_after="2020-07-01"> + expires_after="2020-06-01"> <obsolete> Reworked as Spellcheck.Windows.SpellcheckLocalesSupport.HunspellOnly and Spellcheck.Windows.SpellcheckLocalesSupport.NoSupport in M80. @@ -160506,7 +165495,7 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="Spellcheck.Windows.SpellcheckLocalesSupport" - units="locales" expires_after="2020-07-01"> + units="locales" expires_after="2020-12-01"> <owner>gujen@google.com</owner> <owner>chrome-language@google.com</owner> <summary> @@ -160518,13 +165507,11 @@ should be kept until we use this API. --> This is recorded once during spell check initialization, and then once each time the user changes their enabled spell check languages. - - </summary> </histogram> <histogram base="true" name="Spellcheck.Windows.SpellcheckRequestDuration" - units="ms" expires_after="2020-07-01"> + units="ms" expires_after="2020-12-01"> <owner>gujen@google.com</owner> <owner>chrome-language@google.com</owner> <summary> @@ -160534,13 +165521,11 @@ should be kept until we use this API. --> callback. This is recorded every time a spell check is performed. - - </summary> </histogram> <histogram base="true" name="Spellcheck.Windows.SuggestionGatheringDuration" - units="ms" expires_after="2020-07-01"> + units="ms" expires_after="2020-12-01"> <owner>gujen@google.com</owner> <owner>chrome-language@google.com</owner> <summary> @@ -160552,8 +165537,6 @@ should be kept until we use this API. --> This is recorded every time the user opens the context menu on a misspelled word, but only if the suggestions hadn't been pre-generated (which happens when all spell check locales are supported by the OS spell checker). - - </summary> </histogram> @@ -160700,8 +165683,9 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Sqlite.OpenFailure" enum="SqliteErrorCode" expires_after="M81"> +<histogram name="Sqlite.OpenFailure" enum="SqliteErrorCode" expires_after="M88"> <owner>costan@google.com</owner> + <owner>src/storage/OWNERS</owner> <summary>Error which prevented database open.</summary> </histogram> @@ -161036,7 +166020,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Stability.Android.OomKillReverseRank" units="rank" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>boliu@chromium.org</owner> <owner>ssid@chromium.org</owner> <summary> @@ -161151,7 +166135,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Stability.Android.RendererCrash" enum="Boolean" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>wnwen@chromium.org</owner> <summary> Counts renderer crashes including OOMs. Android only. Mirrors old stability @@ -161161,7 +166145,7 @@ should be kept until we use this API. --> <histogram name="Stability.Android.StrongBindingOomRemainingBindingState" enum="Android.ChildProcessBindingStateCombination" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>boliu@chromium.org</owner> <owner>ssid@chromium.org</owner> <summary> @@ -161245,8 +166229,11 @@ should be kept until we use this API. --> </histogram> <histogram name="Stability.BrowserExitCodes" enum="WindowsExitCode" - expires_after="M82"> + expires_after="never"> +<!-- expires-never: Critical stability metrics. go/chrome-stability-metrics --> + <owner>siggi@chromium.org</owner> + <owner>chrome-stability-core@google.com</owner> <summary> Records the exit code of the browser process (on Windows) from the previous launch. On crash, the exit code will indicate the exception code of the @@ -161443,6 +166430,19 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="Stability.iOS.UTE.MobileSessionOOMShutdownHint" + enum="OOMShutdownHint" expires_after="2021-06-22"> + <owner>eugenebut@chromium.org</owner> + <owner>olivierrobin@chromium.org</owner> + <owner>sdefresne@chromium.org</owner> + <summary> + Recorded when app starts after Unexplained Termination Event (UTE) or + Explained Termination Event (XTE). UTEs/XTEs can be caused by large memory + allocations and this histogram provides information which memory heavy + operation has being performed before UTE/XTE. + </summary> +</histogram> + <histogram name="Stability.iOS.UTE.OSRestartedAfterPreviousSession" enum="BooleanRebooted" expires_after="2020-12-01"> <owner>eugenebut@chromium.org</owner> @@ -161922,6 +166922,34 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="Startup.Android.FeedContentFirstLoadedTime" units="ms" + expires_after="2021-06-10"> +<!-- Name completed by histogram_suffixes name="JavaStartMode" --> + + <owner>hanxi@chromium.org</owner> + <owner>spdonghao@chromium.org</owner> + <owner>wychen@chromium.org</owner> + <summary> + Records the time duration from a cold start till the Feeds articles are + first loaded on the StartSurface. This histogram is only recorded when + StartSurface is shown at launch due to "return to tab switcher" + feature. + </summary> +</histogram> + +<histogram name="Startup.Android.FeedsLoadingPlaceholderShown.Instant" + units="ms" expires_after="2021-06-10"> + <owner>hanxi@chromium.org</owner> + <owner>spdonghao@chromium.org</owner> + <owner>wychen@chromium.org</owner> + <summary> + Records the time duration from a cold start till the Feeds loading + placeholder is shown on the StartSurface. This placeholder is only shown + when the feature flag InstantStart is enabled and StartSurface is shown at + launch due to "return to tab switcher" feature. + </summary> +</histogram> + <histogram name="Startup.Android.GURLEnsureMainDexInitialized" units="ms" expires_after="2020-12-01"> <owner>mthiesse@chromium.org</owner> @@ -161932,6 +166960,21 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="Startup.Android.SingleTabTitleAvailableTime" units="ms" + expires_after="2021-06-10"> +<!-- Name completed by histogram_suffixes name="JavaStartMode" --> + + <owner>hanxi@chromium.org</owner> + <owner>spdonghao@chromium.org</owner> + <owner>wychen@chromium.org</owner> + <summary> + Records the time duration from a cold start till the title of the single Tab + is shown on the StartSurface. This histogram is only recorded when + StartSurface is shown at launch due to "return to tab switcher" + feature. + </summary> +</histogram> + <histogram name="Startup.Android.StartupTabPreloader.TabLoaded" units="Boolean" expires_after="2020-11-08"> <owner>skyostil@chromium.org</owner> @@ -161968,7 +167011,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.Android.TimeToGTSFirstMeaningfulPaint" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>yusufo@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary> @@ -161981,7 +167024,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.Android.TimeToGTSFirstMeaningfulPaint.Cold" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>yusufo@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary> @@ -161994,7 +167037,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.Android.TimeToGTSFirstMeaningfulPaint.Warm" units="ms" - expires_after="2020-08-02"> + expires_after="2020-12-13"> <owner>yusufo@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary> @@ -162067,7 +167110,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.BrowserMainRunnerImplInitializeLongTime" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>robliao@chromium.org</owner> <summary> The amount of time that elapsed during BrowserMainRunnerImpl::Initialize. @@ -162175,7 +167218,7 @@ should be kept until we use this API. --> <histogram name="Startup.BrowserMessageLoopStartTime" units="ms" expires_after="never"> -<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint2 --> +<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint3 --> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> @@ -162325,7 +167368,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.BrowserWindowDisplay" units="ms" expires_after="never"> -<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint2 --> +<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint3 --> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> @@ -162352,7 +167395,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.ColdStartFromProcessCreationTime" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>djean@chromium.org</owner> <owner>eugenebut@chromium.org</owner> <summary> @@ -162364,7 +167407,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.ColdStartWithExternalURLTime" units="ms" - expires_after="2020-09-20"> + expires_after="2020-11-22"> <owner>jif@chromium.org</owner> <summary> The duration of all initializations in a cold start triggered by an external @@ -162382,7 +167425,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.CreateFirstProfile" units="ms" expires_after="never"> -<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint2 --> +<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint3 --> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> @@ -162494,7 +167537,7 @@ should be kept until we use this API. --> <histogram name="Startup.FirstWebContents.FinishReason" enum="StartupProfilingFinishReason" expires_after="never"> -<!-- expires-never: used to understand user behavior shifts when Startup.FirstWebContents.NonEmptyPaint2 regresses --> +<!-- expires-never: used to understand user behavior shifts when Startup.FirstWebContents.NonEmptyPaint3 regresses --> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> @@ -162523,7 +167566,7 @@ should be kept until we use this API. --> <histogram name="Startup.FirstWebContents.MainFrameLoad2" units="ms" expires_after="M77"> <obsolete> - Removed with M77. Startup.FirstWebContents.NonEmptyPaint2 is a better + Removed with M77. Startup.FirstWebContents.NonEmptyPaint3 is a better indicator of startup time as perceived by users. </obsolete> <owner>fdoray@chromium.org</owner> @@ -162538,7 +167581,7 @@ should be kept until we use this API. --> <histogram name="Startup.FirstWebContents.MainNavigationFinished" units="ms" expires_after="never"> -<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint2 --> +<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint3 --> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> @@ -162555,7 +167598,7 @@ should be kept until we use this API. --> <histogram name="Startup.FirstWebContents.MainNavigationStart" units="ms" expires_after="never"> -<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint2 --> +<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint3 --> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> @@ -162586,9 +167629,11 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.FirstWebContents.NonEmptyPaint2" units="ms" - expires_after="never"> -<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> - + expires_after="2020-06-10"> + <obsolete> + Replaced with Startup.FirstWebContents.NonEmptyPaint3 on 06/2020, which uses + application start time instead of process creation time to reduce noise. + </obsolete> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> <owner>chrome-analysis-team@google.com</owner> @@ -162604,25 +167649,24 @@ should be kept until we use this API. --> </histogram> <histogram name="Startup.FirstWebContents.NonEmptyPaint3" units="ms" - expires_after="M85"> + expires_after="never"> +<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> + <owner>etiennep@chromium.org</owner> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> + <owner>chrome-analysis-team@google.com</owner> <summary> - [Desktop] Measure the elapsed time from the application start to the first - non empty paint of the first web contents. Only comprised of cases where the - initial foreground tab gets to complete its rendering task unimpeded (an - improvement over Startup.FirstWebContents.NonEmptyPaint). + Measure the elapsed time from the application start to the first non empty + paint of the first web contents. Only comprised of cases where the initial + foreground tab gets to complete its rendering task unimpeded (an improvement + over Startup.FirstWebContents.NonEmptyPaint). Application start is a time recorded as early as possible in the startup process. On Android, the application start is the time at which the Java - code starts. On Windows, application start is sampled from chrome.exe:main, - before chrome.dll is loaded. On other platforms, it is sampled when + code starts. On Windows, application start is when chrome.exe:main starts, + before chrome.dll is loaded. On other platforms, it is when ChromeMainDelegate is constructed. - - This is meant to replace Startup.FirstWebContents.NonEmptyPaint2, using - application start time instead of process creation time. TODO(etiennep): - Deprecate NonEmptyPaint2 in favor of this one once stable. </summary> </histogram> @@ -162742,7 +167786,7 @@ should be kept until we use this API. --> <histogram name="Startup.LoadTime.ApplicationStartToChromeMain" units="ms" expires_after="never"> -<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint2 --> +<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint3 --> <owner>fdoray@chromium.org</owner> <owner>etiennep@chromium.org</owner> @@ -162783,7 +167827,7 @@ should be kept until we use this API. --> <histogram name="Startup.LoadTime.ProcessCreateToApplicationStart" units="ms" expires_after="never"> -<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint2 --> +<!-- expires-never: used to diagnose regressions to Startup.FirstWebContents.NonEmptyPaint3 --> <owner>fdoray@chromium.org</owner> <owner>etiennep@chromium.org</owner> @@ -163807,7 +168851,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Style.InvalidationTime" units="microseconds" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>futhark@chromium.org</owner> <summary> Microseconds spent in StyleEngine::InvalidateStyle. Only samples from high @@ -163831,7 +168875,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Style.RebuildLayoutTreeTime" units="microseconds" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>futhark@chromium.org</owner> <summary> Microseconds spent in RebuildLayoutTree called from Document::UpdateStyle. @@ -163839,7 +168883,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Style.RecalcTime" units="microseconds" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>futhark@chromium.org</owner> <summary> Microseconds spent in RecalcStyle called from Document::UpdateStyle. @@ -163902,7 +168946,7 @@ should be kept until we use this API. --> </histogram> <histogram name="SubresourceFilter.Actions2" enum="SubresourceFilterActions2" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>csharrison@chromium.org</owner> <owner>jkarlin@chromium.org</owner> <summary> @@ -164666,8 +169710,9 @@ should be kept until we use this API. --> </histogram> <histogram name="SubresourceFilter.WriteRuleset.Result" - enum="SubresourceFilterWriteRulesetResult" expires_after="M82"> - <owner>engedy@chromium.org</owner> + enum="SubresourceFilterWriteRulesetResult" expires_after="M88"> + <owner>ericrobinson@chromium.org</owner> + <owner>csharrison@chromium.org</owner> <summary> Whether indexing a version of the ruleset and writing it to disk succeeded, or failed at a particular step. Recorded every time the RulesetService kicks @@ -164675,6 +169720,19 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="SubresourceRedirect.BypassDuration" units="ms" + expires_after="M90"> + <owner>rajendrant@chromium.org</owner> + <owner>mcrouse@chromium.org</owner> + <summary> + Records the duration that the subresource redirect feature was stopped due + to fetch failure. When such a redirected fetch times out or fails with 503 + (loadshed failure), subresource redirect is disabled for subsequent + pageloads for a random duration or duration mentioned in the Retry-After + response header. Recorded for each fetch failure. + </summary> +</histogram> + <histogram name="SubresourceRedirect.CompressionAttempt.ResponseCode" enum="HttpResponseCode" expires_after="M90"> <owner>robertogden@chromium.org</owner> @@ -164698,6 +169756,16 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="SubresourceRedirect.CompressionFetchTimeout" enum="Boolean" + expires_after="M90"> + <owner>rajendrant@chromium.org</owner> + <owner>mcrouse@chromium.org</owner> + <summary> + Recorded whenever the subresource redirect times out, and leads to a random + bypass of 1-5 minutes. + </summary> +</histogram> + <histogram name="SubresourceRedirect.DidCompress.BytesSaved" units="bytes" expires_after="M90"> <owner>robertogden@chromium.org</owner> @@ -164718,6 +169786,26 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="SubresourceRedirect.ImageCompressionNotificationInfoBar" + enum="HttpsImageCompressionInfoBarAction" expires_after="2021-01-30"> + <owner>rajendrant@chromium.org</owner> + <owner>src/components/data_reduction_proxy/OWNERS</owner> + <summary> + Records the user interaction with the HTTPS Image compression notification + InfoBar. Recorded when the one-time InfoBar is shown. + </summary> +</histogram> + +<histogram name="SubresourceRedirect.PageLoad.BypassResult" enum="Boolean" + expires_after="M90"> + <owner>rajendrant@chromium.org</owner> + <owner>mcrouse@chromium.org</owner> + <summary> + Records whether the subresource redirect was bypassed or not for a pageload. + Recorded once per pageload. + </summary> +</histogram> + <histogram name="Suggestions.FailedRequestErrorCode" enum="NetErrorCodes" expires_after="2020-02-23"> <owner>mathp@chromium.org</owner> @@ -164907,6 +169995,27 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="SupervisedUsers.ExtensionsMayRequestPermissions" + enum="BooleanEnabled" expires_after="2021-07-13"> + <owner>tobyhuang@chromium.org</owner> + <owner>cros-families@google.com</owner> + <summary> + Records the state of the "Permissions for sites, apps and + extensions" toggle. When parents/custodians have the toggle enabled, + supervised users may install extensions with parent/custodian approval, and + can approve permission updates by themselves. Otherwise, supervised users + cannot install extensions and cannot approve permission updates. If the + toggle is disabled and an extension has permissions updates, the extension + would remain force-disabled. The Disabled count increments when the parent + flips the toggle off, and increments twice if the supervised user logs in + while the toggle is in the off state. The Enabled count increments when the + parent flips the toggle on, and increments twice if the supervised user logs + in while the toggle is in the on state. While the double counting upon + logging in is less than ideal, at least the counts are balanced relative to + each other. + </summary> +</histogram> + <histogram name="SupervisedUsers.ParentPermissionDialog" enum="SupervisedUserParentPermissionDialog" expires_after="2021-05-02"> <owner>tobyhuang@chromium.org</owner> @@ -165148,6 +170257,9 @@ should be kept until we use this API. --> <histogram name="Sync.AttemptNigoriMigration" enum="SyncNigoriMigrationResult" expires_after="2020-05-31"> + <obsolete> + Removed in M85. + </obsolete> <owner>mastiz@chromium.org</owner> <owner>mmoskvitin@google.com</owner> <summary> @@ -165310,6 +170422,9 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.AutoNigoriOverwrites" units="units" expires_after="M85"> + <obsolete> + Removed in M85. + </obsolete> <owner>mastiz@chromium.org</owner> <owner>mmoskvitin@google.com</owner> <summary> @@ -165319,7 +170434,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.BackendInitializeFirstTime" units="ms" - expires_after="2020-09-01"> + expires_after="2020-11-15"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -165418,7 +170533,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.BookmarkModelMetadataClientTagState" - enum="SyncBookmarkModelMetadataClientTagState" expires_after="M85"> + enum="SyncBookmarkModelMetadataClientTagState" expires_after="M89"> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -165463,7 +170578,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.BookmarksModelMetadataCorruptionReason" - enum="SyncBookmarkModelMetadataCorruptionReason" expires_after="M85"> + enum="SyncBookmarkModelMetadataCorruptionReason" expires_after="M89"> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -165535,6 +170650,26 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="Sync.BookmarksWithoutFullTitle.OnInitialMerge" + units="bookmarks" expires_after="M87"> + <owner>rushans@google.com</owner> + <owner>mastiz@chromiumg.org</owner> + <summary> + Number of remote bookmarks which don't have full title in specifics. + Recorded when processing an initial merge. + </summary> +</histogram> + +<histogram name="Sync.BookmarksWithoutFullTitle.OnRemoteUpdate" + units="bookmarks" expires_after="M87"> + <owner>rushans@google.com</owner> + <owner>mastiz@chromiumg.org</owner> + <summary> + Number of remote bookmarks which don't have full title in specifics. + Recorded when processing a remote bookmark update. + </summary> +</histogram> + <histogram name="Sync.CanDecryptNigoriKeybagWithBase64DecodedKeys" enum="Boolean" expires_after="2019-10-01"> <obsolete> @@ -165561,9 +170696,9 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram base="true" name="Sync.CommitLatency" units="ms" expires_after="M82"> +<histogram base="true" name="Sync.CommitLatency" units="ms" expires_after="M86"> <owner>mastiz@chromium.org</owner> - <owner>mamir@chromium.org</owner> + <owner>treib@chromium.org</owner> <summary> Records the time between the local model being changed until the commit response is completed and propagated to the model thread. Note: This is only @@ -165571,6 +170706,19 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="Sync.CommitResponse" enum="SyncerErrorValues" + expires_after="2021-05-27"> +<!-- Name completed by histogram_suffixes name="SyncModelType" --> + + <owner>rushans@google.com</owner> + <owner>treib@chromium.org</owner> + <summary> + Emitted per network Commit() request to the sync server and datatype. + Records the outcome of each commit attempt per data type (success or one of + various error codes). + </summary> +</histogram> + <histogram name="Sync.ConfigureDataTypeManagerOption" enum="SyncFeatureOrTransport" expires_after="2020-11-01"> <owner>treib@chromium.org</owner> @@ -165584,7 +170732,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.ConfigureDataTypes" enum="SyncModelTypes" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -165791,7 +170939,7 @@ should be kept until we use this API. --> <histogram name="Sync.Crypto.CustomPassphraseKeyDerivationMethodOnNewPassphrase" enum="SyncCustomPassphraseKeyDerivationMethodState" - expires_after="2020-09-28"> + expires_after="2020-11-29"> <owner>vitaliii@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -165805,7 +170953,7 @@ should be kept until we use this API. --> <histogram name="Sync.Crypto.CustomPassphraseKeyDerivationMethodOnSuccessfulDecryption" enum="SyncCustomPassphraseKeyDerivationMethodState" - expires_after="2020-09-28"> + expires_after="2020-11-29"> <owner>vitaliii@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -165819,7 +170967,7 @@ should be kept until we use this API. --> <histogram name="Sync.Crypto.CustomPassphraseKeyDerivationMethodStateOnStartup" enum="SyncCustomPassphraseKeyDerivationMethodState" - expires_after="2020-09-28"> + expires_after="2020-11-29"> <owner>vitaliii@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -165829,7 +170977,7 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="Sync.Crypto.NigoriKeyDerivationDuration" - units="ms" expires_after="2020-09-28"> + units="ms" expires_after="2020-11-29"> <owner>vitaliii@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -165840,7 +170988,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.CryptographerPendingKeys" - enum="SyncCryptographerPendingKeysState" expires_after="2020-10-11"> + enum="SyncCryptographerPendingKeysState" expires_after="2020-12-13"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -165895,8 +171043,9 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Sync.CustomSync2" enum="SyncModelTypes" expires_after="M85"> +<histogram name="Sync.CustomSync2" enum="SyncModelTypes" expires_after="M90"> <owner>treib@chromium.org</owner> + <owner>mastiz@chromium.org</owner> <summary> For users who have *not* selected the "Sync Everything" option, this records all the data types they have selected to sync. Samples are @@ -165935,7 +171084,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.DataTypeRunFailures2" enum="SyncModelTypes" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>jkrcal@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -165961,7 +171110,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.DataTypeStartFailures2" enum="SyncModelTypes" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>jkrcal@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -166032,6 +171181,9 @@ should be kept until we use this API. --> <histogram name="Sync.DirectoryCatastrophicError" enum="BooleanError" expires_after="M85"> + <obsolete> + Removed in M85. + </obsolete> <owner>jkrcal@chromium.org</owner> <summary> Whether the Sync Directory encountered a catastrophic error. @@ -166218,6 +171370,9 @@ should be kept until we use this API. --> <histogram name="Sync.Entities.PositioningScheme" enum="SyncPositioningScheme" expires_after="M85"> + <obsolete> + Removed as of M85. + </obsolete> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -166229,7 +171384,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.EventCodes" enum="SyncEventCode" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary>A UI event occured.</summary> @@ -166602,8 +171757,11 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Sync.GlobalIdConflict" units="SyncGlobalIdConflict" +<histogram name="Sync.GlobalIdConflict" enum="SyncGlobalIdConflict" expires_after="M85"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -166642,7 +171800,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.InitialState" enum="SyncInitialState" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>treib@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -166678,7 +171836,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.InvalidBookmarkSpecifics" - enum="InvalidBookmarkSpecificsError" expires_after="M85"> + enum="InvalidBookmarkSpecificsError" expires_after="2020-12-16"> <owner>mamir@chromium.org</owner> <owner>mastiz@chromium.org</owner> <owner>rushans@google.com</owner> @@ -166702,7 +171860,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.KeystoreDecryptionFailed" - enum="SyncKeystoreDecryptionFailure" expires_after="2020-08-09"> + enum="SyncKeystoreDecryptionFailure" expires_after="2020-11-15"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -166848,7 +172006,7 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="Sync.ModelTypeConfigurationTime.Ephemeral" - units="ms" expires_after="2020-10-18"> + units="ms" expires_after="2020-12-20"> <owner>jkrcal@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -166917,7 +172075,7 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="Sync.ModelTypeCount4" units="entries" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>jkrcal@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -166960,7 +172118,7 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="Sync.ModelTypeEntityChange3" - enum="SyncEntityChange" expires_after="2020-10-04"> + enum="SyncEntityChange" expires_after="2020-12-06"> <owner>jkrcal@chromium.org</owner> <summary> Recorded once for every sync entity change (whenever it is commited to the @@ -166970,6 +172128,19 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram base="true" name="Sync.ModelTypeErrorSite" + enum="SyncModelTypeErrorSite" expires_after="2020-12-01"> +<!-- Name completed by histogram_suffixes name="SyncModelType" --> + + <owner>jkrcal@chromium.org</owner> + <owner>rushans@google.com</owner> + <summary> + Recorded whenever ClientTagBasedModelTypeProcessor triggers a data type + failure (recorded for both Start and Run failures). It distinguishes call + sites for triggering such failures. + </summary> +</histogram> + <histogram base="true" name="Sync.ModelTypeMemoryKB" units="KB" expires_after="2020-10-25"> <owner>mastiz@chromium.org</owner> @@ -167003,6 +172174,9 @@ should be kept until we use this API. --> <histogram name="Sync.ModelTypeStoreCommitCount" enum="SyncModelTypes" expires_after="2019-07-19"> + <obsolete> + Removed as of 05/2020. + </obsolete> <owner>mastiz@chromium.org</owner> <summary> Records the number of write batches committed to leveldb @@ -167076,6 +172250,9 @@ should be kept until we use this API. --> <histogram name="Sync.NigoriMigrationState" enum="SyncNigoriMigrationState" expires_after="2020-05-31"> + <obsolete> + Removed in M85. + </obsolete> <owner>mastiz@chromium.org</owner> <owner>mmoskvitin@google.com</owner> <summary>Breakdown of sync's nigori node keystore migration state.</summary> @@ -167151,7 +172328,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.NonReflectionUpdateFreshnessPossiblySkewed2" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>mastiz@chromium.org</owner> <owner>melandory@chromium.org</owner> <summary> @@ -167361,7 +172538,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.PassphraseType" enum="SyncPassphraseType" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>treib@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary>The active sync passphrase type at sync startup.</summary> @@ -167422,7 +172599,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.PeakAnalysis.StopAfterAccountStateChanged" units="hits" - expires_after="M84"> + expires_after="M88"> <owner>tschumann@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -167436,7 +172613,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.PeakAnalysis.StopAfterCredentialsChanged" units="hits" - expires_after="M84"> + expires_after="M88"> <owner>tschumann@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -167449,7 +172626,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.PeakAnalysis.StopOnSyncManagedPrefChange" units="hits" - expires_after="M84"> + expires_after="M88"> <owner>tschumann@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -167461,7 +172638,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.PeakAnalysis.StopOnSyncPermanentlyDisabled" units="hits" - expires_after="M84"> + expires_after="M88"> <owner>tschumann@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -167484,7 +172661,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.PostedClientToServerMessage" - enum="SyncClientToServerMessageContents" expires_after="2020-09-27"> + enum="SyncClientToServerMessageContents" expires_after="2020-11-29"> <owner>mastiz@chromium.org</owner> <summary> Number of network requests issued by sync to the sync server, grouped by @@ -167493,7 +172670,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.PostedClientToServerMessageError" enum="SyncErrorType" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>mastiz@chromium.org</owner> <summary> A sync error code received from the sync server as a result of a @@ -167572,7 +172749,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.Preferences.ClearedLocalPrefOnTypeMismatch" - units="BooleanHit" expires_after="M85"> + units="BooleanHit" expires_after="M88"> <owner>tschumann@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -167584,6 +172761,9 @@ should be kept until we use this API. --> <histogram name="Sync.Preferences.RemotePrefTypeMismatch" units="BooleanHit" expires_after="M85"> + <obsolete> + Removed 2020-06. + </obsolete> <owner>tschumann@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -167673,7 +172853,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.RedundantInvalidationPerModelType" enum="SyncModelTypes" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>melandory@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -167749,7 +172929,10 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.ResolveSimpleConflict" - enum="SyncSimpleConflictResolutions" expires_after="2020-10-04"> + enum="SyncSimpleConflictResolutions" expires_after="2020-06-24"> + <obsolete> + Removed 06/2020. + </obsolete> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary>Enumeration of types of simple conflict resolutions.</summary> @@ -167887,6 +173070,9 @@ should be kept until we use this API. --> <histogram name="Sync.SessionsBadForeignHashOnMergeCount" units="Sessions Entries" expires_after="M85"> + <obsolete> + Removed as of 2018-11. + </obsolete> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -167928,7 +173114,7 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Sync.SessionTabs" units="tabs" expires_after="2020-09-27"> +<histogram name="Sync.SessionTabs" units="tabs" expires_after="2020-11-29"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -167938,6 +173124,9 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.SessionWindows" units="windows" expires_after="M85"> + <obsolete> + Removed as of 2018-11. + </obsolete> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -168034,7 +173223,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.Startup.DeferredInitTrigger" - enum="SyncDeferredInitTrigger" expires_after="2020-09-27"> + enum="SyncDeferredInitTrigger" expires_after="2020-11-29"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary>The type of event that triggered sync initialization.</summary> @@ -168053,7 +173242,7 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Sync.Startup.TimeDeferred2" units="ms" expires_after="M85"> +<histogram name="Sync.Startup.TimeDeferred2" units="ms" expires_after="M88"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -168063,7 +173252,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.Startup.TypeTriggeringInit" enum="SyncModelTypes" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary>Data type that first requests sync initialization.</summary> @@ -168103,7 +173292,7 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="Sync.SyncedHistoryFaviconAvailability" - enum="FaviconAvailabilityStatus" expires_after="2020-07-10"> + enum="FaviconAvailabilityStatus" expires_after="2021-07-10"> <owner>victorvianna@google.com</owner> <owner>jkrcal@chromium.org</owner> <summary> @@ -168117,7 +173306,7 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="Sync.SyncedHistoryFaviconLatency" units="ms" - expires_after="2020-07-10"> + expires_after="2021-07-10"> <owner>jkrcal@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary> @@ -168179,8 +173368,9 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.SyncEverything2" enum="Boolean" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>treib@chromium.org</owner> + <owner>mastiz@chromium.org</owner> <summary> Boolean histogram for whether the "Sync Everything" option was selected by the user. Samples are taken every time the Sync data types are @@ -168367,6 +173557,9 @@ should be kept until we use this API. --> <histogram name="Sync.UnrecoverableErrors" enum="SyncUnrecoverableErrorReason" expires_after="M85"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -168394,7 +173587,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.URLFetchTimedOut" enum="BooleanTimedOut" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <summary> @@ -168430,7 +173623,10 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="Sync.USSMigrationEntityCount" units="entries" - expires_after="2020-10-25"> + expires_after="2020-05-20"> + <obsolete> + Removed in M85. + </obsolete> <owner>mastiz@chromium.org</owner> <summary> Counts the number of sync entities per model type successfully migrated from @@ -168439,14 +173635,20 @@ should be kept until we use this API. --> </histogram> <histogram name="Sync.USSMigrationFailure" enum="SyncModelTypes" - expires_after="2020-06-30"> + expires_after="2020-05-20"> + <obsolete> + Removed in M85. + </obsolete> <owner>treib@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary>Counts directory to USS migration failures per model type.</summary> </histogram> <histogram name="Sync.USSMigrationSuccess" enum="SyncModelTypes" - expires_after="2020-08-30"> + expires_after="2020-05-20"> + <obsolete> + Removed in M85. + </obsolete> <owner>treib@chromium.org</owner> <owner>mastiz@chromium.org</owner> <summary>Counts directory to USS migration successes per model type.</summary> @@ -168651,7 +173853,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tab.AgeUponRestoreFromColdStart" units="minutes" - expires_after="M82"> + expires_after="M88"> <owner>dtrainor@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary> @@ -168721,7 +173923,7 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Tab.Count.Guest" units="units" expires_after="M85"> +<histogram name="Tab.Count.Guest" units="units" expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -168734,7 +173936,7 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Tab.Count.Incognito" units="units" expires_after="M85"> +<histogram name="Tab.Count.Incognito" units="units" expires_after="2021-06-01"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -168956,7 +174158,7 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Tab.PerceivedRestoreTime" units="ms" expires_after="M82"> +<histogram name="Tab.PerceivedRestoreTime" units="ms" expires_after="M88"> <owner>dtrainor@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary> @@ -169139,7 +174341,7 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Tab.RestoreResult" enum="TabRestoreResult" expires_after="M85"> +<histogram name="Tab.RestoreResult" enum="TabRestoreResult" expires_after="M88"> <owner>dtrainor@chromium.org</owner> <owner>marq@chromium.org</owner> <summary> @@ -169148,7 +174350,7 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Tab.RestoreTime" units="ms" expires_after="M85"> +<histogram name="Tab.RestoreTime" units="ms" expires_after="M88"> <owner>dtrainor@chromium.org</owner> <owner>marq@chromium.org</owner> <summary>[Android and iOS] Load time for a successful tab restore.</summary> @@ -169445,6 +174647,16 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="TabGroups.CollapsedGroupCountPerLoad" units="groups" + expires_after="2020-12-31"> + <owner>cyan@chromium.org</owner> + <owner>chrome-desktop-ui-sea@google.com</owner> + <summary> + The number of tabs groups that are collapsed in all browsers (counting + app-mode windows) when a load completes. + </summary> +</histogram> + <histogram name="TabGroups.SessionsPerGroup" units="sessions" expires_after="2021-02-01"> <owner>yusufo@chromium.org</owner> @@ -169457,6 +174669,26 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="TabGroups.TimeSpentCollapsed" units="ms" + expires_after="2020-12-31"> + <owner>cyan@chromium.org</owner> + <owner>chrome-desktop-ui-sea@google.com</owner> + <summary> + The time a tab group spends in the collapsed state before the group is + either expanded or closed. + </summary> +</histogram> + +<histogram name="TabGroups.TimeSpentExpanded" units="ms" + expires_after="2020-12-31"> + <owner>cyan@chromium.org</owner> + <owner>chrome-desktop-ui-sea@google.com</owner> + <summary> + The time a tab group spends in the expanded state before the group is either + collapsed or closed. + </summary> +</histogram> + <histogram name="TabGroups.UserCustomizedGroupCountPerLoad" units="groups" expires_after="2020-12-31"> <owner>connily@chromium.org</owner> @@ -170656,8 +175888,9 @@ should be kept until we use this API. --> </histogram> <histogram name="Tabs.ForegroundTabAgeAtStartup" units="minutes" - expires_after="M85"> + expires_after="M88"> <owner>dtrainor@chromium.org</owner> + <owner>yusufo@chromium.org</owner> <summary> [Android] Age (time since the last display in previous sessions) of the foreground tab being restored on the browser cold start. @@ -170666,6 +175899,9 @@ should be kept until we use this API. --> <histogram base="true" name="Tabs.FrozenTabPercentage" units="%" expires_after="2019-08-31"> + <obsolete> + Removed 2020-06. + </obsolete> <!-- Name completed by histogram_suffixes name="FrozenTabPercentage" --> <owner>adityakeerthi@google.com</owner> @@ -170688,6 +175924,9 @@ should be kept until we use this API. --> </histogram> <histogram name="Tabs.iOS_PostRedirectPLT" units="ms" expires_after="M85"> + <obsolete> + Code removed long ago. + </obsolete> <owner>pauljensen@chromium.org</owner> <summary> Page load time (PLT) for iOS that does not include time spent following @@ -170761,7 +176000,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tabs.SadTab.CrashCreated" units="tabs" - expires_after="2020-06-01"> + expires_after="2021-06-01"> <owner>sonnyrao@chromium.org</owner> <owner>jamescook@chromium.org</owner> <summary> @@ -170775,7 +176014,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tabs.SadTab.CrashDisplayed" units="tabs" - expires_after="2020-06-01"> + expires_after="2021-06-01"> <owner>sonnyrao@chromium.org</owner> <owner>jamescook@chromium.org</owner> <summary> @@ -170799,7 +176038,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tabs.SadTab.KillCreated" units="tabs" - expires_after="2020-06-01"> + expires_after="2021-06-01"> <owner>sonnyrao@chromium.org</owner> <owner>jamescook@chromium.org</owner> <summary> @@ -170815,7 +176054,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tabs.SadTab.KillCreated.OOM" units="tabs" - expires_after="2020-06-01"> + expires_after="2021-06-01"> <owner>sonnyrao@chromium.org</owner> <owner>jamescook@chromium.org</owner> <summary> @@ -170830,7 +176069,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tabs.SadTab.KillDisplayed" units="tabs" - expires_after="2020-06-01"> + expires_after="2021-06-01"> <owner>sonnyrao@chromium.org</owner> <owner>jamescook@chromium.org</owner> <summary> @@ -170843,7 +176082,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tabs.SadTab.KillDisplayed.OOM" units="tabs" - expires_after="2020-06-01"> + expires_after="2021-06-01"> <owner>sonnyrao@chromium.org</owner> <owner>jamescook@chromium.org</owner> <summary> @@ -170892,7 +176131,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tabs.SadTab.ReloadCount" units="tabs" - expires_after="2020-06-01"> + expires_after="2021-06-01"> <owner>sonnyrao@chromium.org</owner> <owner>jamescook@chromium.org</owner> <summary> @@ -171086,32 +176325,36 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Tabs.SwitchFromCloseLatency" units="ms" expires_after="M85"> +<histogram name="Tabs.SwitchFromCloseLatency" units="ms" expires_after="M88"> <owner>dtrainor@chromium.org</owner> + <owner>yusufo@chromium.org</owner> <summary> [Android] Time between the event that closes a tab and the start of rendering. </summary> </histogram> -<histogram name="Tabs.SwitchFromExitLatency" units="ms" expires_after="M85"> +<histogram name="Tabs.SwitchFromExitLatency" units="ms" expires_after="M88"> <owner>dtrainor@chromium.org</owner> + <owner>yusufo@chromium.org</owner> <summary> [Android] Time between the event that exits an app and the start of rendering. </summary> </histogram> -<histogram name="Tabs.SwitchFromNewLatency" units="ms" expires_after="M85"> +<histogram name="Tabs.SwitchFromNewLatency" units="ms" expires_after="M88"> <owner>dtrainor@chromium.org</owner> + <owner>yusufo@chromium.org</owner> <summary> [Android] Time between the event that creates a tab and the start of rendering. </summary> </histogram> -<histogram name="Tabs.SwitchFromUserLatency" units="ms" expires_after="M85"> +<histogram name="Tabs.SwitchFromUserLatency" units="ms" expires_after="M88"> <owner>dtrainor@chromium.org</owner> + <owner>yusufo@chromium.org</owner> <summary> [Android] Time between the event that selects a tab and the start of rendering. @@ -171129,7 +176372,9 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="Tabs.TabCountActiveWindow" units="tabs" expires_after="M85"> +<histogram name="Tabs.TabCountActiveWindow" units="tabs" expires_after="never"> +<!-- expires-never: usage drives tab optimization and analysis. --> + <owner>markchang@google.com</owner> <summary> The number of tabs open in the active window when a load completes. @@ -171188,7 +176433,7 @@ should be kept until we use this API. --> </details> </histogram> -<histogram name="Tabs.TabCountPerWindow" units="tabs" expires_after="M85"> +<histogram name="Tabs.TabCountPerWindow" units="tabs" expires_after="M90"> <owner>pkasting@chromium.org</owner> <summary> The number of tabs open per window (counting app-mode windows) when a load @@ -171823,6 +177068,17 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="TextFragmentAnchor.ListItemMatch" units="Boolean" + expires_after="2020-12-31"> + <owner>nburris@chromium.org</owner> + <owner>bokan@chromium.org</owner> + <summary> + Whether the match was within a list item. Only recorded for exact text + fragments and only if a match was found. Recorded when TextFragmentAnchor + finishes searching once the page is loaded. + </summary> +</histogram> + <histogram name="TextFragmentAnchor.MatchRate" units="%" expires_after="2020-12-31"> <owner>nburris@chromium.org</owner> @@ -171887,6 +177143,17 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="TextFragmentAnchor.TableCellMatch" units="Boolean" + expires_after="2020-12-31"> + <owner>nburris@chromium.org</owner> + <owner>bokan@chromium.org</owner> + <summary> + Whether the match was within a table cell. Only recorded for exact text + fragments and only if a match was found. Recorded when TextFragmentAnchor + finishes searching once the page is loaded. + </summary> +</histogram> + <histogram name="TextFragmentAnchor.TimeToScrollIntoView" units="ms" expires_after="2020-12-31"> <owner>nburris@chromium.org</owner> @@ -171899,6 +177166,19 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="TextFragmentAnchor.TimeToScrollToTop" units="ms" + expires_after="2020-12-31"> + <owner>nburris@chromium.org</owner> + <owner>bokan@chromium.org</owner> + <summary> + The time between scrolling a match into view and the user scrolling back to + the top of the page. Used as a signal for whether a match was useful. Only + recorded if a match is scrolled into view and the user subsequently scrolled + back to the top of the page. Recorded when TextFragmentAnchor finishes + searching once the page is loaded. + </summary> +</histogram> + <histogram name="TextToSpeech.Event" enum="TextToSpeechEvent" expires_after="M85"> <owner>dmazzoni@chromium.org</owner> @@ -171909,6 +177189,9 @@ should be kept until we use this API. --> <histogram name="TextToSpeech.Settings.DefaultVoicePicked" enum="TextToSpeechVoiceIdHashes" expires_after="M85"> + <obsolete> + Removed 06/2020 as it is no longer needed for analysis. + </obsolete> <owner>katie@chromium.org</owner> <owner>dtseng@chromium.org</owner> <owner>dmazzoni@chromium.org</owner> @@ -171920,6 +177203,9 @@ should be kept until we use this API. --> <histogram name="TextToSpeech.Settings.PreviewVoiceClicked" enum="TextToSpeechVoiceIdHashes" expires_after="M85"> + <obsolete> + Removed 06/2020 as it is no longer needed for analysis. + </obsolete> <owner>katie@chromium.org</owner> <owner>dtseng@chromium.org</owner> <owner>dmazzoni@chromium.org</owner> @@ -172315,7 +177601,7 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="ThreadPool.NumActiveWorkers" units="workers" - expires_after="M85"> + expires_after="M86"> <owner>etiennep@chromium.org</owner> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> @@ -172379,7 +177665,7 @@ should be kept until we use this API. --> </histogram> <histogram base="true" name="ThreadPool.NumWorkers" units="workers" - expires_after="M85"> + expires_after="M86"> <owner>etiennep@chromium.org</owner> <owner>fdoray@chromium.org</owner> <owner>gab@chromium.org</owner> @@ -172400,7 +177686,8 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="ThreadWatcher.ResponseTime" units="ms" expires_after="M85"> +<histogram name="ThreadWatcher.ResponseTime" units="ms" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -172410,7 +177697,7 @@ should be kept until we use this API. --> </histogram> <histogram name="ThreadWatcher.ResponsiveThreads" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -172419,7 +177706,8 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="ThreadWatcher.Unresponsive" units="ms" expires_after="M85"> +<histogram name="ThreadWatcher.Unresponsive" units="ms" + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -172429,7 +177717,7 @@ should be kept until we use this API. --> </histogram> <histogram name="ThreadWatcher.UnresponsiveThreads" units="units" - expires_after="M85"> + expires_after="2021-05-11"> <owner>dschinazi@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -172743,6 +178031,9 @@ should be kept until we use this API. --> <histogram name="TouchAction.EffectiveTouchAction" enum="TouchActions" expires_after="M85"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>xidachen@chromium.org</owner> <summary> Tracks how often each touch action is allowed (AKA the frequency of each @@ -172752,6 +178043,9 @@ should be kept until we use this API. --> <histogram name="TouchAction.EquivalentEffectiveAndWhiteListed" enum="EquivalentEffectiveAndWhiteListed" expires_after="M85"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>xidachen@chromium.org</owner> <summary> Tracks how often the effective touch action computed by blink is or is not @@ -172762,6 +178056,9 @@ should be kept until we use this API. --> <histogram name="TouchAction.GestureEventFiltered" enum="TouchGestureEventFiltered" expires_after="M85"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>xidachen@chromium.org</owner> <summary> Tracks how often a gesture event is or is not dropped due to the current @@ -172771,6 +178068,9 @@ should be kept until we use this API. --> <histogram name="TouchAction.GestureEventFilterResults" enum="GestureEventFilterResults" expires_after="M85"> + <obsolete> + Removed in 06/2020. + </obsolete> <owner>xidachen@chromium.org</owner> <owner>nzolghadr@chromium.org</owner> <summary> @@ -172972,7 +178272,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tracing.Background.FinalizationDisallowedReason" - enum="TracingFinalizationDisallowedReason" expires_after="2020-09-13"> + enum="TracingFinalizationDisallowedReason" expires_after="2020-11-15"> <owner>ssid@chromium.org</owner> <summary> Reason why background tracing finalization was not allowed. Also see @@ -172982,7 +178282,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tracing.Background.FinalizingTraceSizeInKB" units="KB" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>oysteine@chromium.org</owner> <summary> The size, in kilobytes, of a finalized trace ready to be uploaded. @@ -172990,7 +178290,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tracing.Background.NetworkConnectionTypeWhenStarted" - enum="NetworkConnectionType" expires_after="2020-10-18"> + enum="NetworkConnectionType" expires_after="2020-12-20"> <owner>ssid@chromium.org</owner> <summary> Connection type of the network used to determine the trace buffer size, when @@ -172999,7 +178299,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tracing.Background.NetworkConnectionTypeWhenUploaded" - enum="NetworkConnectionType" expires_after="2020-10-18"> + enum="NetworkConnectionType" expires_after="2020-12-20"> <owner>ssid@chromium.org</owner> <summary> Connection type of the network used to determine the trace upload limit, @@ -173008,7 +178308,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Tracing.Background.ScenarioState" - enum="BackgroundTracingState" expires_after="2020-10-04"> + enum="BackgroundTracingState" expires_after="2020-12-06"> <owner>oysteine@chromium.org</owner> <summary> Records state of the Background Tracing system, from when scenarios are @@ -173112,6 +178412,7 @@ should be kept until we use this API. --> <histogram name="Translate.AcceptLanguages.CanBeAcceptDuration" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>googleo@chromium.org</owner> <summary> Time taken for the TranslateAcceptLanguages to decide if a given language is @@ -173120,7 +178421,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.AlwaysTranslateLang" units="units" - expires_after="2020-10-04"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the always translate option was selected in the @@ -173129,12 +178431,14 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.BubbleUiEvent" enum="TranslateBubbleUiEvent" - expires_after="2020-10-04"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>groby@google.com</owner> <summary>Tracks UI events related to the translate bubble.</summary> </histogram> <histogram name="Translate.CaptureText" units="ms" expires_after="M86"> + <owner>chrome-language@google.com</owner> <owner>dougarnett@google.com</owner> <owner>megjablon@google.com</owner> <summary> @@ -173167,9 +178471,9 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.CLD3.LanguageDetected" enum="CLD3LanguageCode" - expires_after="2020-09-20"> - <owner>frechette@chromium.org</owner> + expires_after="2020-12-01"> <owner>chrome-language@google.com</owner> + <owner>frechette@chromium.org</owner> <summary> Language of the input page detected by CLD3. This information is logged on every page load. @@ -173177,9 +178481,9 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.CLD3.LanguagePercentage" units="%" - expires_after="2020-11-01"> - <owner>frechette@chromium.org</owner> + expires_after="2020-12-01"> <owner>chrome-language@google.com</owner> + <owner>frechette@chromium.org</owner> <summary> Percentage of the bytes that are associated with the most popular language on the input page. Only recorded if the detection returned a @@ -173188,13 +178492,15 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.CompactInfobar.Event" enum="TranslateCompactUIEvent" - expires_after="2020-11-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <summary>Various user actions performed in the translate infobar.</summary> </histogram> <histogram name="Translate.CompactInfobar.Language.AlwaysTranslate" - enum="CLD3LanguageCode" expires_after="2020-11-08"> + enum="CLD3LanguageCode" expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <summary> Records the hashcode of the source language when always translate this @@ -173203,7 +178509,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.CompactInfobar.Language.MoreLanguages" - enum="CLD3LanguageCode" expires_after="2020-11-01"> + enum="CLD3LanguageCode" expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <summary> Records the hashcode of the language clicked on the more languages menu. @@ -173211,7 +178518,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.CompactInfobar.Language.NeverTranslate" - enum="CLD3LanguageCode" expires_after="2020-10-04"> + enum="CLD3LanguageCode" expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <summary> Records the hashcode of the source language when never translate this @@ -173220,7 +178528,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.CompactInfobar.Language.PageNotIn" - enum="CLD3LanguageCode" expires_after="2020-11-01"> + enum="CLD3LanguageCode" expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <summary> Records the hashcode of the language clicked on the menu to indicate the @@ -173230,6 +178539,7 @@ should be kept until we use this API. --> <histogram name="Translate.CompactInfobar.Language.Translate" enum="CLD3LanguageCode" expires_after="M85"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <summary> Records the hashcode of the language clicked on the infobar. @@ -173237,7 +178547,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.CompactInfobar.TranslationsPerPage" - units="translations" expires_after="2020-11-01"> + units="translations" expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <summary> Records the number of times a page is translated, every time the page is @@ -173257,7 +178568,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.ContentLanguage" enum="TranslateLanguage" - expires_after="2020-11-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> A page may provide a Content-Language HTTP header or a META tag. For each @@ -173266,7 +178578,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.DeclineTranslate" units="units" - expires_after="2020-10-04"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the "Nope" (don't translate) or the infobar's @@ -173275,7 +178588,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.DeclineTranslateCloseInfobar" units="units" - expires_after="2020-09-20"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the translate infobar was closed by clicking the X @@ -173284,7 +178598,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.DeclineTranslateDismissUI" units="units" - expires_after="2020-09-20"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the translate UI was closed without translating in the @@ -173298,6 +178613,7 @@ should be kept until we use this API. --> <histogram name="Translate.ExplicitLanguageAsk.Event" enum="TranslateExplicitAskPromptEventType" expires_after="M85"> + <owner>chrome-language@google.com</owner> <owner>yyushkina@google.com</owner> <owner>anthonyvd@google.com</owner> <summary> @@ -173308,6 +178624,7 @@ should be kept until we use this API. --> <histogram name="Translate.ExplicitLanguageAsk.LanguageAdded" enum="CLD3LanguageCode" expires_after="M85"> + <owner>chrome-language@google.com</owner> <owner>yyushkina@google.com</owner> <owner>anthonyvd@google.com</owner> <summary> @@ -173318,6 +178635,7 @@ should be kept until we use this API. --> <histogram name="Translate.ExplicitLanguageAsk.LanguageRemoved" enum="CLD3LanguageCode" expires_after="M85"> + <owner>chrome-language@google.com</owner> <owner>yyushkina@google.com</owner> <owner>anthonyvd@google.com</owner> <summary> @@ -173327,11 +178645,11 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.ForceTriggerBackoffStateReached" enum="Boolean" - expires_after="2020-08-02"> + expires_after="2020-12-01"> <obsolete> Removed as of 04/2020. No longer used for analysis. </obsolete> - . + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <owner>yyushkina@chromium.org</owner> <summary> @@ -173341,9 +178659,9 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.HrefHint.Status" enum="HrefTranslateStatus" - expires_after="2020-06-28"> - <owner>megjablon@google.com</owner> + expires_after="2020-12-01"> <owner>chrome-language@google.com</owner> + <owner>megjablon@google.com</owner> <summary> For Google navigations, the hrefTranslate hint may trigger a translation automatically. If the hint is present on a Google navigation, record whether @@ -173355,7 +178673,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.HtmlLang" enum="TranslateLanguage" - expires_after="2020-11-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> A page may provide a lang attribute in html tag. For each page load, @@ -173364,6 +178683,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.InfobarShown" enum="BooleanHit" expires_after="M85"> + <owner>chrome-language@google.com</owner> <owner>anthonyvd@chromium.org</owner> <summary> The number of times the translate infobar was shown in the old translate UI @@ -173376,6 +178696,7 @@ should be kept until we use this API. --> <obsolete> Removed as of 11/2013, and replaced by Translate.InitiationStatus.v2. </obsolete> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The reason why Chrome decided to perform the next action (e.g., to show @@ -173385,7 +178706,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.InitiationStatus.v2" - enum="TranslateInitiationStatus" expires_after="2020-10-04"> + enum="TranslateInitiationStatus" expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The reason why Chrome decided to perform the next action (e.g., to show @@ -173395,10 +178717,10 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.LanguageDetection.ContentLength" units="characters" - expires_after="2021-04-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>dougarnett@chromium.org</owner> <owner>megjablon@chromium.org</owner> - <owner>chrome-language@google.com</owner> <summary> The number of characters of page content used for language detection. </summary> @@ -173427,6 +178749,7 @@ should be kept until we use this API. --> <histogram name="Translate.LanguageDetectionTiming" enum="TranslateLanguageDetectionTiming" expires_after="M85"> + <owner>chrome-language@google.com</owner> <owner>andrewhayden@chromium.org</owner> <summary> For each page load, records whether language detection occurs on time or @@ -173436,10 +178759,23 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="Translate.LanguageDeterminedDuration" units="ms" + expires_after="2021-06-01"> + <owner>dougarnett@chromium.org</owner> + <owner>sclittle@chromium.org</owner> + <owner>chrome-language@google.com</owner> + <summary> + Records the time from when a navigation finishes to when its page language + is determined. This includes the time to load the frame(s), capturing the + text content of the page, and running language classification on that + content. + </summary> +</histogram> + <histogram name="Translate.LanguageSettingsIsShown" enum="BooleanShown" - expires_after="2020-10-18"> - <owner>frechette@chromium.org</owner> + expires_after="2020-12-01"> <owner>chrome-language@google.com</owner> + <owner>frechette@chromium.org</owner> <summary> Log everytime the language settings page is shown. This can be either user visits chrome://settings/languages or user visits the advanced languages @@ -173452,6 +178788,7 @@ should be kept until we use this API. --> <histogram name="Translate.LanguageVerification" enum="TranslateLanguageVerification" expires_after="M78"> + <owner>chrome-language@google.com</owner> <owner>yyushkina@chromium.org</owner> <summary> For each page load, measures whether the provided HTML language (i.e. the @@ -173468,6 +178805,7 @@ should be kept until we use this API. --> <histogram name="Translate.LocalesOnDisabledByPrefs" enum="LanguageCode" expires_after="M85"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> Logs the user locale when the Translate feature is disabled by the user. @@ -173478,7 +178816,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.MobileMenuTranslate.Shown" enum="Boolean" - expires_after="2020-10-04"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>yyushkina@google.com</owner> <owner>frechette@chromium.org</owner> <summary> @@ -173488,7 +178827,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.ModifyOriginalLang" units="units" - expires_after="2020-08-30"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the original language in the translate infobar has been @@ -173497,7 +178837,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.ModifyTargetLang" units="units" - expires_after="2020-10-11"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the target language in the translate infobar has been @@ -173506,7 +178847,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.NeverTranslateLang" units="units" - expires_after="2020-11-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the never translate option was selected in the translate @@ -173515,7 +178857,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.NeverTranslateSite" units="units" - expires_after="2020-11-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the never translate site was selected in the translate @@ -173527,6 +178870,7 @@ should be kept until we use this API. --> <obsolete> Removed 2/2018 </obsolete> + <owner>chrome-language@google.com</owner> <owner>joelhockey@chromium.org</owner> <summary> The time spent capturing plain text from the DOM. This is reported by @@ -173536,12 +178880,14 @@ should be kept until we use this API. --> <histogram name="Translate.PageScheme" enum="TranslateScheme" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary>Counts translation target page schemes.</summary> </histogram> <histogram name="Translate.Ranker.Model.Status" enum="RankerModelStatus" - expires_after="2020-10-18"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>rogerm@google.com</owner> <summary> Tracks the outcome of attempts to download a Translate Ranker Model. @@ -173550,6 +178896,7 @@ should be kept until we use this API. --> <histogram name="Translate.Ranker.Model.Version" units="date stamp" expires_after="M85"> + <owner>chrome-language@google.com</owner> <owner>rogerm@google.com</owner> <summary> The date tamp (e.g., 20160916 -> 15 Sept 2016) which denotes the @@ -173559,6 +178906,7 @@ should be kept until we use this API. --> <histogram name="Translate.Ranker.QueryResult" enum="BooleanAccepted" expires_after="M85"> + <owner>chrome-language@google.com</owner> <owner>rogerm@google.com</owner> <summary> Whether the TranslateRanker accepts or denies to show the translation @@ -173568,6 +178916,7 @@ should be kept until we use this API. --> <histogram name="Translate.Ranker.Timer.CalculateScore" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>rogerm@google.com</owner> <summary> Time taken for the TranslateRanker to use the translate ranker model to @@ -173577,6 +178926,7 @@ should be kept until we use this API. --> <histogram name="Translate.Ranker.Timer.DownloadModel" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>rogerm@google.com</owner> <summary> Time taken for the Translate Ranker Model Loader to download its model from @@ -173586,6 +178936,7 @@ should be kept until we use this API. --> <histogram name="Translate.Ranker.Timer.ParseModel" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>rogerm@google.com</owner> <summary> Time taken for the Translate Ranker Model Loader to parse its model, in ms. @@ -173594,6 +178945,7 @@ should be kept until we use this API. --> <histogram name="Translate.Ranker.Timer.ReadModel" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>rogerm@google.com</owner> <summary> Time taken for the Translate Ranker Model Loader to read its model from @@ -173603,6 +178955,7 @@ should be kept until we use this API. --> <histogram name="Translate.Ranker.Timer.ShouldOfferTranslation" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>rogerm@google.com</owner> <summary> Time taken for the TranslateRanker to decide if a given translation should @@ -173614,6 +178967,7 @@ should be kept until we use this API. --> <histogram name="Translate.Ranker.Timer.WriteModel" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>rogerm@google.com</owner> <summary> Time taken for the Translate Ranker Model Loader to write its model to local @@ -173622,7 +178976,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.ReportLanguageDetectionError" units="units" - expires_after="M85"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the "report this error" of options menu is @@ -173631,7 +178986,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.RevertTranslation" units="units" - expires_after="2020-09-20"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the show original button was clicked in the translate @@ -173644,6 +179000,7 @@ should be kept until we use this API. --> <obsolete> Removed 5/2013 by Translate.UndisplayableLanguage </obsolete> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the detected language is not supported by Translate @@ -173656,6 +179013,7 @@ should be kept until we use this API. --> <obsolete> Removed 7/2010. No longer tracked. </obsolete> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times an infobar proposing to translate a page has been shown. @@ -173663,7 +179021,11 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.ShowErrorInfobar" enum="TranslateError" - expires_after="M85"> + expires_after="2020-12-01"> + <obsolete> + Removed 6/2020. Duplicate of Translate.ShowErrorUI + </obsolete> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> Chrome Translate shows an error infobar when an error happens on translation @@ -173673,7 +179035,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.ShowErrorUI" enum="TranslateError" - expires_after="2020-11-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> Chrome Translate shows an error UI (infobar or bubble) when an error happens @@ -173684,6 +179047,7 @@ should be kept until we use this API. --> <histogram name="Translate.SimilarLanguageMatch" enum="BooleanMatched" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> This metrics is logged whenever a page is loaded. The logged value is @@ -173696,7 +179060,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.SourceLanguage" enum="CLD3LanguageCode" - expires_after="2020-11-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>yyushkina@google.com</owner> <summary> The number of requests sent to the Translate server, grouped by source @@ -173705,7 +179070,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.TargetLanguage" enum="CLD3LanguageCode" - expires_after="2020-11-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>yyushkina@google.com</owner> <summary> The number of requests sent to the Translate server, grouped by target @@ -173714,9 +179080,9 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.TargetLanguage.Origin" - enum="TranslateTargetLanguageOrigin" expires_after="2020-11-01"> - <owner>megjablon@google.com</owner> + enum="TranslateTargetLanguageOrigin" expires_after="2020-12-01"> <owner>chrome-language@google.com</owner> + <owner>megjablon@google.com</owner> <summary> Where the target language was determined from. Can be the most recent target language, from the language model, the UI language, the user's accept @@ -173725,6 +179091,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.TimeToBeReady" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The time from injecting scripts for Chrome Translate to being ready to @@ -173733,6 +179100,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.TimeToLoad" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The time from injecting scripts for Chrome Translate to the finishing loads @@ -173741,12 +179109,14 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.TimeToTranslate" units="ms" expires_after="M77"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary>The time from starting translation to the completion.</summary> </histogram> <histogram name="Translate.Translate" enum="BooleanTranslate" - expires_after="2020-10-04"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The number of times the translate button was clicked in the translate @@ -173755,10 +179125,10 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.Translate.AMPCacheURL" enum="BooleanTranslate" - expires_after="2021-04-01"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>dougarnett@google.com</owner> <owner>megjablon@google.com</owner> - <owner>chrome-language@google.com</owner> <summary> The number of times the translate button was clicked in the translate infobar for a page that is likely an AMP Cache URL. @@ -173767,6 +179137,7 @@ should be kept until we use this API. --> <histogram name="Translate.TranslateFrameCount" units="frames" expires_after="M86"> + <owner>chrome-language@google.com</owner> <owner>dougarnett@google.com</owner> <owner>megjablon@google.com</owner> <summary> @@ -173776,7 +179147,7 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.TranslateSubframe.ErrorType" enum="TranslateError" - expires_after="2020-08-02"> + expires_after="2020-12-01"> <owner>dougarnett@google.com</owner> <owner>megjablon@google.com</owner> <summary> @@ -173787,7 +179158,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.TranslateSubframe.SuccessPercentage" units="%" - expires_after="2020-08-02"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>dougarnett@google.com</owner> <owner>megjablon@google.com</owner> <summary> @@ -173799,6 +179171,7 @@ should be kept until we use this API. --> <histogram name="Translate.UndisplayableLanguage" enum="LanguageCode" expires_after="M81"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> Logs an undisplayable language included in the language list sent by the @@ -173810,6 +179183,7 @@ should be kept until we use this API. --> <histogram name="Translate.UnsupportedLanguageAtInitiation" enum="LanguageCode" expires_after="M81"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> Logs an unsupported source language detected during initiation of the @@ -173821,7 +179195,8 @@ should be kept until we use this API. --> </histogram> <histogram name="Translate.UserActionDuration" units="ms" - expires_after="2020-09-27"> + expires_after="2020-12-01"> + <owner>chrome-language@google.com</owner> <owner>kenjibaheux@google.com</owner> <summary> The time from a page content language being determined to user requesting @@ -173860,6 +179235,49 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="TrustedWebActivity.LocationDelegationEnrolled" enum="Boolean" + expires_after="2020-12-31"> + <owner>eirage@chromium.org</owner> + <owner>peconn@chromium.org</owner> + <summary> + When a site running in Truested Web Activity is accessing geolocation, + records whether the last tracked focused Trusted Web Activity client app + enrolled location delegation. + </summary> +</histogram> + +<histogram name="TrustedWebActivity.LocationPermissionChanged" + enum="TrustedWebActivityPermissionChanged" expires_after="2020-12-31"> + <owner>eirage@chromium.org</owner> + <owner>peconn@chromium.org</owner> + <summary> + When a Trusted Web Activity client app's location permission is changed, + record the previous state and new stase. + </summary> +</histogram> + +<histogram name="TrustedWebActivity.LocationPermissionRequestIsGranted" + enum="Boolean" expires_after="2020-12-31"> + <owner>eirage@chromium.org</owner> + <owner>peconn@chromium.org</owner> + <summary> + Records the boolean result (granted or not) from requesting a Trusted Web + Activity client app's location permission. + </summary> +</histogram> + +<histogram name="TrustedWebActivity.LocationUpdateErrorCode" + enum="TrustedWebActivityLocationErrorCode" expires_after="2020-12-31"> + <owner>eirage@chromium.org</owner> + <owner>peconn@chromium.org</owner> + <summary> + Records an error code when we get a new location update or location error + from the Trusted Web Activity client app. Record + "LocationUpdateError.NONE" (value = 0) if there is no error and + the geoposition is valid. + </summary> +</histogram> + <histogram name="TrustedWebActivity.ShareTargetRequest" enum="WebShareTargetMethod" expires_after="M88"> <owner>peconn@chromium.org</owner> @@ -173985,6 +179403,9 @@ should be kept until we use this API. --> <histogram name="UI.WindowTreeHost.SurfaceSynchronizationDuration" units="ms" expires_after="M85"> + <obsolete> + Removed in M85. + </obsolete> <owner>kylechar@chromium.org</owner> <summary> The amount of time it took for UI's CompositorFrame to activate due to a @@ -174044,7 +179465,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UKM.Entries.Dropped" enum="UkmDataDroppedReason" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary> @@ -174053,6 +179474,18 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="UKM.Entries.Dropped.ByEntryHash" enum="UkmEventNameHash" + expires_after="2020-10-04"> + <owner>jwd@chromium.org</owner> + <owner>ukm-team@google.com</owner> + <summary> + The hashed name of the UKM entry being dropped. The hash is the same hash + sent in the UKM log but truncated to 31 bits with "event_hash & + 0x7fffffff". Recorded when adding an entry and the UKM recorder decides + it should be dropped. + </summary> +</histogram> + <histogram name="UKM.Entries.SerializedCount" units="units" expires_after="2018-02-16"> <obsolete> @@ -174064,7 +179497,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UKM.Entries.SerializedCount2" units="entries" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary>Number of serialized UKM entries when storing a UKM log.</summary> @@ -174094,7 +179527,7 @@ should be kept until we use this API. --> </summary> </histogram> -<histogram name="UKM.LogSize.OnSuccess" units="KB" expires_after="2020-10-04"> +<histogram name="UKM.LogSize.OnSuccess" units="KB" expires_after="2020-12-06"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary> @@ -174114,7 +179547,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UKM.LogUpload.ResponseOrErrorCode" - enum="CombinedHttpResponseAndNetErrorCode" expires_after="2020-10-11"> + enum="CombinedHttpResponseAndNetErrorCode" expires_after="2020-12-13"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary> @@ -174165,7 +179598,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UKM.Sources.Dropped" enum="UkmDataDroppedReason" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary> @@ -174175,7 +179608,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UKM.Sources.KeptSourcesCount" units="sources" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary> @@ -174195,7 +179628,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UKM.Sources.SerializedCount2" units="sources" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary>Number of serialized UKM sources when storing a UKM log.</summary> @@ -174212,7 +179645,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UKM.Sources.UnsentSourcesCount" units="sources" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary> @@ -174250,7 +179683,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UKM.UnsentLogs.DroppedSize" units="bytes" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary> @@ -174260,7 +179693,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UKM.UnsentLogs.NumDropped" units="units" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>rkaplow@chromium.org</owner> <owner>ukm-team@google.com</owner> <summary> @@ -175171,7 +180604,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UMA.MetricsIDsReset" enum="BooleanHit" - expires_after="2020-09-20"> + expires_after="2020-12-06"> <owner>jwd@chromium.org</owner> <owner>src/base/metrics/OWNERS</owner> <summary> @@ -175217,6 +180650,16 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="UMA.MetricsService.Initialize" enum="Boolean" + expires_after="2020-12-01"> + <owner>rkaplow@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Records true during the initialization of the metrics state, right at the + time of logging a count to launch_count in stability prefs. + </summary> +</histogram> + <histogram name="UMA.MetricsService.RecordCurrentHistograms.Time" units="ms" expires_after="2018-02-07"> <obsolete> @@ -175311,7 +180754,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UMA.PersistentHistograms.InitResult" - enum="PersistentHistogramsInitResult" expires_after="2020-10-18"> + enum="PersistentHistogramsInitResult" expires_after="2020-12-20"> <owner>bcwhite@chromium.org</owner> <owner>src/base/metrics/OWNERS</owner> <summary> @@ -175336,7 +180779,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UMA.PrimaryUserType" enum="UserType" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>michaelpg@chromium.org</owner> <owner>yilkal@chromium.org</owner> <owner>src/base/metrics/OWNERS</owner> @@ -175444,7 +180887,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UMA.StructuredMetrics.EventRecordingState" - enum="StructuredMetricsEventRecordingState" expires_after="M85"> + enum="StructuredMetricsEventRecordingState" expires_after="2021-02-01"> <owner>tby@chromium.org</owner> <owner>rkaplow@chromium.org</owner> <owner>asvitkine@chromium.org</owner> @@ -175456,7 +180899,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UMA.StructuredMetrics.InternalError" - enum="StructuredMetricsInternalError" expires_after="M85"> + enum="StructuredMetricsInternalError" expires_after="2021-02-01"> <owner>tby@chromium.org</owner> <owner>rkaplow@chromium.org</owner> <owner>asvitkine@chromium.org</owner> @@ -175467,7 +180910,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UMA.StructuredMetrics.KeyValidationState" - enum="StructuredMetricsKeyValidationState" expires_after="M85"> + enum="StructuredMetricsKeyValidationState" expires_after="2021-02-01"> <owner>tby@chromium.org</owner> <owner>rkaplow@chromium.org</owner> <owner>asvitkine@chromium.org</owner> @@ -175479,7 +180922,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UMA.StructuredMetrics.NumEventsInUpload" units="count" - expires_after="M85"> + expires_after="2021-02-01"> <owner>tby@chromium.org</owner> <owner>rkaplow@chromium.org</owner> <owner>asvitkine@chromium.org</owner> @@ -175490,7 +180933,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UMA.StructuredMetrics.PrefReadError" - enum="PrefServiceReadError" expires_after="M85"> + enum="PrefServiceReadError" expires_after="2021-02-01"> <owner>tby@chromium.org</owner> <owner>rkaplow@chromium.org</owner> <owner>asvitkine@chromium.org</owner> @@ -175556,7 +180999,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UMA.TruncatedEvents.UserAction" units="events" - expires_after="2020-11-08"> + expires_after="2020-12-20"> <owner>rkaplow@chromium.org</owner> <owner>src/base/metrics/OWNERS</owner> <summary> @@ -175591,6 +181034,51 @@ should be kept until we use this API. --> </summary> </histogram> +<histogram name="UMA.UnsentLogs.PersistedSizeInKB" units="KB" + expires_after="2021-05-30"> + <owner>michaelbai@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The size of all persistent initial or ongoing logs that have been + proto-encoded and compressed in the previous browser run; it is recorded on + the browser start up. The value '0' means no unsent logs. + </summary> +</histogram> + +<histogram name="UMA.UnsentLogs.SentCount" units="samples" + expires_after="2021-05-30"> + <owner>michaelbai@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The number of UMA sent samples in the previous browser run; it is recorded + on the browser start up. + </summary> +</histogram> + +<histogram name="UMA.UnsentLogs.UnsentCount" units="samples" + expires_after="2021-05-30"> + <owner>michaelbai@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The number of UMA unsent samples in the previous browser run; it is recorded + on the browser start up. + </summary> +</histogram> + +<histogram name="UMA.UnsentLogs.UnsentPercentage" units="%" + expires_after="2021-05-30"> + <owner>michaelbai@chromium.org</owner> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + The percentage of the unsent samples over the total in the previous browser + run; it is recorded on the browser start up. + </summary> +</histogram> + <histogram name="UMA.UploadCreation" enum="BooleanSuccess" expires_after="2015-08-06"> <obsolete> @@ -176058,8 +181546,9 @@ should be kept until we use this API. --> </histogram> <histogram name="UpdateEngine.Check.RollbackTargetVersion" - enum="UpdateEngineChromeOsVersionPrefix" expires_after="M85"> - <owner>poromov@chromium.org</owner> + enum="UpdateEngineChromeOsVersionPrefix" expires_after="2021-01-01"> + <owner>mpolzer@google.com</owner> + <owner>managed-platforms@google.com</owner> <summary> First section of the Chrome OS target version set by device policy and sent to Omaha if rollback is also allowed. This is a sparse histogram, since the @@ -176077,8 +181566,9 @@ should be kept until we use this API. --> </histogram> <histogram name="UpdateEngine.Check.TargetVersion" - enum="UpdateEngineChromeOsVersionPrefix" expires_after="M85"> - <owner>poromov@chromium.org</owner> + enum="UpdateEngineChromeOsVersionPrefix" expires_after="2021-01-01"> + <owner>mpolzer@google.com</owner> + <owner>managed-platforms@google.com</owner> <summary> First section of the Chrome OS target version set by device policy and sent to Omaha. This is a sparse histogram, since the possible valid values are @@ -176131,8 +181621,9 @@ should be kept until we use this API. --> </histogram> <histogram name="UpdateEngine.EnterpriseRollback.Failure" - enum="UpdateEngineChromeOsVersionPrefix" expires_after="M85"> - <owner>poromov@chromium.org</owner> + enum="UpdateEngineChromeOsVersionPrefix" expires_after="2021-01-01"> + <owner>mpolzer@google.com</owner> + <owner>managed-platforms@google.com</owner> <summary> First section of the Chrome OS version to which an enterprise rollback (rollback initiated by the admin of the device) has failed. This is a sparse @@ -176148,8 +181639,9 @@ should be kept until we use this API. --> </histogram> <histogram name="UpdateEngine.EnterpriseRollback.Success" - enum="UpdateEngineChromeOsVersionPrefix" expires_after="M85"> - <owner>poromov@chromium.org</owner> + enum="UpdateEngineChromeOsVersionPrefix" expires_after="2021-01-01"> + <owner>mpolzer@google.com</owner> + <owner>managed-platforms@google.com</owner> <summary> First section of the Chrome OS version to which an enterprise rollback (rollback initiated by the admin of the device) has succeeded. This is a @@ -176339,9 +181831,9 @@ should be kept until we use this API. --> <histogram name="UpdateEngine.SuccessfulUpdate.DurationFromSeenDays.NoTimeRestriction" - units="days" expires_after="M85"> - <owner>poromov@chromium.org</owner> - <owner>zentaro@chromium.org</owner> + units="days" expires_after="2021-01-01"> + <owner>mpolzer@google.com</owner> + <owner>managed-platforms@google.com</owner> <summary> The total number of days from when an update is first seen to when an update is finished downloading (but before rebooting). This metric is recorded on @@ -176354,9 +181846,9 @@ should be kept until we use this API. --> <histogram name="UpdateEngine.SuccessfulUpdate.DurationFromSeenDays.TimeRestricted" - units="days" expires_after="M85"> - <owner>poromov@chromium.org</owner> - <owner>zentaro@chromium.org</owner> + units="days" expires_after="2021-01-01"> + <owner>mpolzer@google.com</owner> + <owner>managed-platforms@google.com</owner> <summary> The total number of days from when an update is first seen to when an update is finished downloading (but before rebooting). This metric is recorded on @@ -176491,9 +181983,9 @@ should be kept until we use this API. --> </histogram> <histogram name="UpgradeDetector.RollbackReason" - enum="UpgradeDetectorRollbackReason" expires_after="M85"> - <owner>isandrk@chromium.org</owner> - <owner>poromov@chromium.org</owner> + enum="UpgradeDetectorRollbackReason" expires_after="2021-01-01"> + <owner>mpolzer@google.com</owner> + <owner>managed-platforms@google.com</owner> <summary> Tracks what is the reason we're doing a rollback instead of an update (going to a more stable channel or admin-initiated enterprise rollback). We're @@ -176712,6 +182204,9 @@ should be kept until we use this API. --> <histogram name="UserImage.FirstTimeChoice" enum="ChromeOSUserImageId" expires_after="M85"> + <obsolete> + Removed in M85. The OOBE user image screen is long gone. + </obsolete> <owner>achuith@chromium.org</owner> <summary> Distribution of the default images chosen on user image screen during @@ -176744,6 +182239,9 @@ should be kept until we use this API. --> </histogram> <histogram name="UserImage.ScreenIsShownTime" units="ms" expires_after="M85"> + <obsolete> + Removed in M85. The OOBE user image screen is long gone. + </obsolete> <owner>achuith@chromium.org</owner> <summary> Time histogram of the "Choose Picture" OOBE screen display delay. @@ -176780,7 +182278,7 @@ should be kept until we use this API. --> </histogram> <histogram name="UserManager.LoginUserType" enum="UserType" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>achuith@chromium.org</owner> <summary> The number of users of different types that log in to the system (Chrome @@ -176856,7 +182354,8 @@ regressions. --> <summary>Number of bytes requested in an array buffer allocation.</summary> </histogram> -<histogram name="V8.ArrayBufferLargeAllocations" units="MB" expires_after="M85"> +<histogram name="V8.ArrayBufferLargeAllocations" units="MB" + expires_after="2021-06-07"> <owner>gdeepti@chromium.org</owner> <owner>ecmziegler@chromium.org</owner> <summary> @@ -176865,7 +182364,8 @@ regressions. --> </summary> </histogram> -<histogram name="V8.ArrayBufferNewSizeFailures" units="MB" expires_after="M85"> +<histogram name="V8.ArrayBufferNewSizeFailures" units="MB" + expires_after="2021-06-07"> <owner>gdeepti@chromium.org</owner> <owner>ecmziegler@chromium.org</owner> <summary>Array buffer sizes for which V8 failed to allocate memory.</summary> @@ -177073,7 +182573,7 @@ regressions. --> </histogram> <histogram name="V8.CompileLazyMicroSeconds" units="microseconds" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>hablich@chromium.org</owner> <summary> Aggregated time spent compiling functions lazily during a single script @@ -177792,7 +183292,7 @@ regressions. --> </histogram> <histogram name="V8.LiftoffBailoutReasons" enum="LiftoffBailoutReason" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>ecmziegler@chromium.org</owner> <owner>adamk@chromium.org</owner> <owner>clemensb@chromium.org</owner> @@ -178913,6 +184413,16 @@ regressions. --> </summary> </histogram> +<histogram name="Variations.FirstRunPrefsDebug" + enum="VariationsFirstRunPrefEvents" expires_after="2020-10-31"> + <owner>asvitkine@chromium.org</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Logs each event related to Android Chrome variations first run prefs to + debug crbug.com/1090968. + </summary> +</histogram> + <histogram name="Variations.FirstRunResult" enum="VariationsFirstRunResult" expires_after="2021-04-15"> <owner>asvitkine@chromium.org</owner> @@ -178966,13 +184476,30 @@ regressions. --> </summary> </histogram> -<histogram name="Variations.Headers.URLValidationResult" - enum="VariationsHeadersURLValidationResult" expires_after="M77"> +<histogram name="Variations.Headers.RequestContextCategory" + enum="VariationsHeadersRequestContextCategory" expires_after="2020-12-15"> + <owner>asvitkine@chromium.org</owner> + <owner>jwd@chromium.org</owner> + <owner>caitlinfischer@google.com</owner> + <owner>src/base/metrics/OWNERS</owner> + <summary> + Details about the request context in which an HTTP request is made. Logged + after determining that the request should include variations headers but + before adding the headers. + </summary> +</histogram> + +<histogram base="true" name="Variations.Headers.URLValidationResult" + enum="VariationsHeadersURLValidationResult" expires_after="2020-12-15"> <owner>asvitkine@chromium.org</owner> <owner>jwd@chromium.org</owner> <owner>src/base/metrics/OWNERS</owner> <summary> - The result of the check of whether to append Variations headers to a url. + The result of whether to append Variations headers to a request. Logged when + when determining (i) whether the URL to which the request is being sent + should have a variations header and (ii) whether--after a redirect--the + request to which a variations header was added should have the variations + header removed. </summary> </histogram> @@ -179051,6 +184578,9 @@ regressions. --> <histogram name="Variations.RestartsWithStaleSeed" units="restarts" expires_after="2020-11-01"> + <obsolete> + Removed as of M85 / Jun 2020. + </obsolete> <owner>rmcelrath@chromium.org</owner> <owner>ntfschr@chromium.org</owner> <owner>src/android_webview/OWNERS</owner> @@ -179874,7 +185404,8 @@ regressions. --> </histogram> <histogram name="VoiceInteraction.DismissedEventSource" - enum="VoiceInteractionEventSource" expires_after="M85"> + enum="VoiceInteractionEventSource" expires_after="2020-10-01"> + <owner>wylieb@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <owner>yusufo@chromium.org</owner> <summary> @@ -179883,7 +185414,8 @@ regressions. --> </histogram> <histogram name="VoiceInteraction.FailureEventSource" - enum="VoiceInteractionEventSource" expires_after="M85"> + enum="VoiceInteractionEventSource" expires_after="2020-10-01"> + <owner>wylieb@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <owner>yusufo@chromium.org</owner> <summary> @@ -179892,7 +185424,8 @@ regressions. --> </histogram> <histogram name="VoiceInteraction.FinishEventSource" - enum="VoiceInteractionEventSource" expires_after="M85"> + enum="VoiceInteractionEventSource" expires_after="2020-10-01"> + <owner>wylieb@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <owner>yusufo@chromium.org</owner> <summary> @@ -179917,7 +185450,8 @@ regressions. --> </histogram> <histogram name="VoiceInteraction.StartEventSource" - enum="VoiceInteractionEventSource" expires_after="M85"> + enum="VoiceInteractionEventSource" expires_after="2020-10-01"> + <owner>wylieb@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <owner>yusufo@chromium.org</owner> <summary> @@ -179934,7 +185468,8 @@ regressions. --> </histogram> <histogram name="VoiceInteraction.VoiceResultConfidenceValue" units="%" - expires_after="M85"> + expires_after="2020-10-01"> + <owner>wylieb@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <owner>yusufo@chromium.org</owner> <summary> @@ -179944,7 +185479,8 @@ regressions. --> </histogram> <histogram name="VoiceInteraction.VoiceSearchResult" enum="BooleanSuccess" - expires_after="M85"> + expires_after="2020-10-01"> + <owner>wylieb@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <owner>yusufo@chromium.org</owner> <summary>Android: Records whether the voice search produced results.</summary> @@ -179965,7 +185501,10 @@ regressions. --> <histogram base="true" name="VR.Component.Assets.DurationUntilReady.OnEnter" units="ms" expires_after="2020-07-01"> - <owner>cassew@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>alcooper@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> Duration from entering a VR mode until the VR assets component is ready to @@ -179975,7 +185514,10 @@ regressions. --> <histogram name="VR.Component.Assets.DurationUntilReady.OnRegisterComponent" units="ms" expires_after="2020-07-01"> - <owner>cassew@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>alcooper@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> Duration from registering VR assets component until it is ready to use. @@ -179984,14 +185526,20 @@ regressions. --> <histogram base="true" name="VR.Component.Assets.Status.OnEnter" enum="VRComponentStatus" expires_after="2020-07-01"> - <owner>cassew@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>alcooper@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary>Status of the VR assets component when entering a VR mode.</summary> </histogram> <histogram name="VR.Component.Assets.VersionAndStatus.OnLoad" enum="VRAssetsLoadStatus" expires_after="2020-07-01"> - <owner>cassew@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>alcooper@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> The component version and status of loading the VR assets. The value is @@ -180003,7 +185551,10 @@ regressions. --> <histogram name="VR.Component.Assets.VersionAndStatus.OnUpdate" enum="VRAssetsComponentUpdateStatus" expires_after="2020-07-01"> - <owner>cassew@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>alcooper@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> The version and update status of the VR assets component. The value is @@ -180016,7 +185567,10 @@ regressions. --> <histogram name="VR.EnterVrBrowserWithoutFeatureModule" enum="BooleanSuccess" expires_after="2020-07-01"> - <owner>cassew@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>alcooper@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> Recorded every time a user tries to enter the VR browser without the VR @@ -180028,14 +185582,20 @@ regressions. --> <histogram base="true" name="VR.NetworkConnectionType.OnEnter" enum="NetworkConnectionType" expires_after="2020-07-01"> - <owner>cassew@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>alcooper@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary>Network connection type when entering a VR mode.</summary> </histogram> <histogram name="VR.NetworkConnectionType.OnRegisterComponent" enum="NetworkConnectionType" expires_after="2020-07-01"> - <owner>cassew@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>alcooper@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> Network connection type when registering the VR component(s). @@ -180057,6 +185617,9 @@ regressions. --> <histogram name="VR.Shell.EncounteredSuppressedUI" enum="VRSuppressedElement" expires_after="2020-07-01"> + <obsolete> + Removed 06/2020. + </obsolete> <owner>xr-dev@chromium.org</owner> <summary> We must suppress monocularly rendered ui elements in VR. This records which @@ -180066,6 +185629,9 @@ regressions. --> <histogram name="VR.Shell.EncounteredUnsupportedMode" enum="VRUnsupportedMode" expires_after="M85"> + <obsolete> + Removed 06/2020. + </obsolete> <owner>vollick@chromium.org</owner> <summary> We must exit VR mode when browsing in certain situations. This records which @@ -180075,12 +185641,18 @@ regressions. --> <histogram name="VR.VoiceSearch.EndState" enum="VRVoiceSearchEndState" expires_after="M85"> + <obsolete> + Removed 06/2020. + </obsolete> <owner>xr-dev@chromium.org</owner> <summary>The end state of a voice search request in VR.</summary> </histogram> <histogram name="VR.VoiceSearch.RecordAudioOsPermissionPromptChoice" enum="BooleanContinueChoice" expires_after="M85"> + <obsolete> + Removed 06/2020. + </obsolete> <owner>xr-dev@chromium.org</owner> <summary> Chrome shows a prompt when the OS's record audio permission is needed for @@ -180102,8 +185674,10 @@ regressions. --> <histogram name="VRDisplayPresentResult" enum="VRPresentationResult" expires_after="2020-07-01"> + <obsolete> + As of 5/18/2020 this appears to no longer be logged. + </obsolete> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> The result of calls to VRDisplay::requestPresent(). Reported twice per @@ -180122,7 +185696,10 @@ regressions. --> <histogram name="VRRuntimeVersion" units="normalized version" expires_after="2020-07-01"> - <owner>cassew@chromium.org</owner> + <obsolete> + Removed 06/2020. + </obsolete> + <owner>alcooper@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary>The version of the runtime being used for VR.</summary> </histogram> @@ -180133,7 +185710,6 @@ regressions. --> Removed 02/2020 </obsolete> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> Count of navigations while in a VR session. Logged when a new disjoint @@ -180143,7 +185719,6 @@ regressions. --> <histogram name="VRSessionTime" units="ms" expires_after="2020-11-08"> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> The duration of the VR session. Logged when a new disjoint session has @@ -180165,7 +185740,6 @@ regressions. --> <histogram name="VRSessionVideoCount" units="units" expires_after="2020-11-08"> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> Number of videos watched in a VR session. Logged when a new disjoint session @@ -180175,7 +185749,6 @@ regressions. --> <histogram name="VRSessionVideoTime" units="ms" expires_after="2020-11-08"> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> The duration of a single session spent watching video in VR. Logged when a @@ -180186,13 +185759,15 @@ regressions. --> <histogram name="VRViewerType" enum="VRViewerType" expires_after="2020-11-08"> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary>The type of headset being used for VR.</summary> </histogram> <histogram name="Wallet.ApiCallDuration.AcceptLegalDocuments" units="ms" expires_after="M85"> + <obsolete> + requestAutocomplete was removed in M52. + </obsolete> <owner>estade@chromium.org</owner> <summary> Measures the time taken by Google Online Wallet server's accept legal @@ -180202,6 +185777,9 @@ regressions. --> <histogram name="Wallet.ApiCallDuration.AuthenticateInstrument" units="ms" expires_after="M85"> + <obsolete> + requestAutocomplete was removed in M52. + </obsolete> <owner>estade@chromium.org</owner> <summary> Measures the time taken by Google Online Wallet server's authenticate @@ -180211,6 +185789,9 @@ regressions. --> <histogram name="Wallet.ApiCallDuration.GetFullWallet" units="ms" expires_after="M85"> + <obsolete> + requestAutocomplete was removed in M52. + </obsolete> <owner>estade@chromium.org</owner> <summary> Measures the time taken by Google Online Wallet server's get full wallet API @@ -180220,6 +185801,9 @@ regressions. --> <histogram name="Wallet.ApiCallDuration.GetWalletItems" units="ms" expires_after="M85"> + <obsolete> + requestAutocomplete was removed in M52. + </obsolete> <owner>estade@chromium.org</owner> <summary> Measures the time taken by Google Online Wallet server's get wallet items @@ -180265,6 +185849,9 @@ regressions. --> <histogram name="Wallet.ApiCallDuration.SaveToWallet" units="ms" expires_after="M85"> + <obsolete> + requestAutocomplete was removed in M52. + </obsolete> <owner>estade@chromium.org</owner> <summary> Measures the time taken by Google Online Wallet server's save to wallet API @@ -180274,6 +185861,9 @@ regressions. --> <histogram name="Wallet.ApiCallDuration.SendStatus" units="ms" expires_after="M85"> + <obsolete> + requestAutocomplete was removed in M52. + </obsolete> <owner>estade@chromium.org</owner> <summary> Measures the time taken by Google Online Wallet server's send status API @@ -180283,6 +185873,9 @@ regressions. --> <histogram name="Wallet.ApiCallDuration.UnknownApiCall" units="ms" expires_after="M85"> + <obsolete> + requestAutocomplete was removed in M52. + </obsolete> <owner>estade@chromium.org</owner> <summary> Measures the time taken by Google Online Wallet server's unknown API calls. @@ -180315,6 +185908,9 @@ regressions. --> <histogram name="Wallet.MalformedResponse" enum="WalletApiCall" expires_after="M85"> + <obsolete> + requestAutocomplete was removed in M52. + </obsolete> <owner>estade@chromium.org</owner> <summary> Counts the number of times each Wallet API failed due to being unable to @@ -180324,6 +185920,9 @@ regressions. --> <histogram name="Wallet.ResponseCode" enum="HttpResponseCode" expires_after="M85"> + <obsolete> + requestAutocomplete was removed in M52. + </obsolete> <owner>estade@chromium.org</owner> <summary>HTTP response codes seen by Wallet client.</summary> </histogram> @@ -180556,7 +186155,7 @@ regressions. --> </histogram> <histogram name="WebApk.Install.InstallDuration" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>hanxi@chromium.org</owner> <owner>pkotwicz@chromium.org</owner> <owner>yfriedman@chromium.org</owner> @@ -180568,7 +186167,7 @@ regressions. --> </histogram> <histogram name="WebApk.Install.InstallEvent" enum="WebApkInstallEvent" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>hanxi@chromium.org</owner> <owner>pkotwicz@chromium.org</owner> <owner>yfriedman@chromium.org</owner> @@ -180813,7 +186412,7 @@ regressions. --> </histogram> <histogram base="true" name="WebApk.ShellApkVersion2" units="units" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>hanxi@chromium.org</owner> <owner>pkotwicz@chromium.org</owner> <owner>yfriedman@chromium.org</owner> @@ -180824,7 +186423,7 @@ regressions. --> </histogram> <histogram name="WebApk.Startup.Cold.NewStyle.ShellLaunchToSplashscreenVisible" - units="ms" expires_after="2020-06-01"> + units="ms" expires_after="2020-12-01"> <owner>pkotwicz@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary> @@ -180872,7 +186471,7 @@ regressions. --> </histogram> <histogram base="true" name="WebApk.Uninstall" enum="BooleanHit" - expires_after="2020-07-06"> + expires_after="2020-12-06"> <owner>pkotwicz@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary>Records that a WebAPK was uninstalled.</summary> @@ -180944,6 +186543,30 @@ regressions. --> </summary> </histogram> +<histogram name="Webapp.CheckServiceWorker.Status" + enum="ServiceWorkerOfflineCapability" expires_after="2021-06-01"> + <owner>asamidoi@chromium.org</owner> + <owner>shimazu@chromium.org</owner> + <owner>chrome-worker@google.com</owner> + <summary> + Records the result of the promotability check that decides if a PWA install + prompt appears depending on that the site has a service worker with offline + support. + </summary> +</histogram> + +<histogram name="Webapp.CheckServiceWorker.Time" units="ms" + expires_after="2021-06-01"> + <owner>asamidoi@chromium.org</owner> + <owner>shimazu@chromium.org</owner> + <owner>chrome-worker@google.com</owner> + <summary> + Records the time to complete the promotability check that decides if a PWA + install prompt appears depending on that the site has a service worker with + offline support. + </summary> +</histogram> + <histogram base="true" name="WebApp.Engagement" enum="SiteEngagementServiceEngagementType" expires_after="2021-01-01"> <owner>calamity@chromium.org</owner> @@ -181111,18 +186734,19 @@ regressions. --> </summary> </histogram> -<histogram name="Webapp.InstallDuration.System" units="seconds" - expires_after="2020-06-30"> +<histogram name="Webapp.InstallDuration.System" units="ms" + expires_after="2020-12-31"> <owner>calamity@chromium.org</owner> <owner>ortuno@chromium.org</owner> <summary> Records the number of seconds taken to install system web apps, from when we dispatch a call to install them, until we get all the installation results. + Recorded in milliseconds, from 1 millisecond to 3 minutes. </summary> </histogram> <histogram name="Webapp.InstallResult" enum="WebAppInstallResultCode" - expires_after="2020-06-30"> + expires_after="2020-12-31"> <!-- Name completed by histogram_suffixes name="WebAppType" --> <owner>calamity@chromium.org</owner> @@ -181132,7 +186756,7 @@ regressions. --> <histogram base="true" name="Webapp.InstallResultExtensionDisabledReason.System.Profiles" - enum="ExtensionDisableReason" expires_after="2020-06-30"> + enum="ExtensionDisableReason" expires_after="2020-12-31"> <!-- Name completed by histogram_suffixes name="WebAppSystemProfileCategory" --> <owner>calamity@chromium.org</owner> @@ -181148,7 +186772,7 @@ regressions. --> <histogram base="true" name="Webapp.InstallResultExtensionError.System.Profiles" - enum="ExtensionInstallationCrxInstallError" expires_after="2020-06-30"> + enum="ExtensionInstallationCrxInstallError" expires_after="2020-12-31"> <!-- Name completed by histogram_suffixes name="WebAppSystemProfileCategory" --> <owner>calamity@chromium.org</owner> @@ -181300,6 +186924,14 @@ regressions. --> </summary> </histogram> +<histogram name="Webapp.WebAppUrlLoaderPrepareForLoadResult" + enum="WebAppUrlLoaderResult" expires_after="2020-12-30"> + <owner>qjw@chromium.org</owner> + <owner>ortuno@chromium.org</owner> + <owner>desktop-pwas-team@google.com</owner> + <summary>Records the result of WebAppUrlLoader::PrepareForLoad().</summary> +</histogram> + <histogram name="WebAudio.AudioBuffer.Length" units="frames" expires_after="2021-01-06"> <owner>rtoy@chromium.org</owner> @@ -181672,7 +187304,7 @@ regressions. --> </histogram> <histogram name="WebAuthentication.AttestationPromptResult" - enum="WebAuthenticationAttestationPromptResult" expires_after="2020-09-27"> + enum="WebAuthenticationAttestationPromptResult" expires_after="2020-11-29"> <owner>agl@chromium.org</owner> <summary> Tracks events related to prompting users for permission to pass WebAuthn @@ -181787,7 +187419,7 @@ regressions. --> <histogram name="WebAuthentication.U2FAttestationPromptResult" enum="WebAuthenticationU2FAttestationPromptResult" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>agl@chromium.org</owner> <summary> Tracks events related to prompting users for permission to pass U2F @@ -181983,7 +187615,7 @@ regressions. --> </histogram> <histogram base="true" name="WebCore.FindInPage.NumberOfTasksPerRequest" - units="tasks" expires_after="2020-06-30"> + units="tasks" expires_after="2020-11-29"> <owner>rakina@chromium.org</owner> <owner>altimin@chromium.org</owner> <summary> @@ -181994,7 +187626,7 @@ regressions. --> </histogram> <histogram base="true" name="WebCore.FindInPage.RequestDuration" units="ms" - expires_after="2020-06-30"> + expires_after="2020-11-29"> <owner>rakina@chromium.org</owner> <owner>altimin@chromium.org</owner> <summary> @@ -182019,7 +187651,7 @@ regressions. --> </histogram> <histogram name="WebCore.FindInPage.TaskDuration" units="ms" - expires_after="2020-06-30"> + expires_after="2020-12-06"> <owner>rakina@chromium.org</owner> <owner>altimin@chromium.org</owner> <summary> @@ -182029,7 +187661,7 @@ regressions. --> </histogram> <histogram base="true" name="WebCore.FindInPage.TotalTaskDuration" units="ms" - expires_after="2020-06-30"> + expires_after="2020-11-29"> <owner>rakina@chromium.org</owner> <owner>altimin@chromium.org</owner> <summary> @@ -182822,7 +188454,7 @@ regressions. --> </histogram> <histogram name="WebCore.IndexedDB.SchemaVersion" units="version" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>dmurph@chromium.org</owner> <owner>pwnall@chromium.org</owner> <summary> @@ -182837,7 +188469,7 @@ regressions. --> </histogram> <histogram name="WebCore.IndexedDB.SchemaVersion.Docs" units="version" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>dmurph@chromium.org</owner> <owner>pwnall@chromium.org</owner> <summary> @@ -183192,6 +188824,9 @@ regressions. --> <histogram name="WebCore.ScriptedIdleTaskController.IdleCallbackOverrun" units="ms" expires_after="M85"> + <obsolete> + Removed December 2017. + </obsolete> <owner>rmcilroy@chromium.org</owner> <summary> The amount of time by which a requestIdleCallback callback overran its @@ -183248,32 +188883,37 @@ regressions. --> </histogram> <histogram name="WebCore.Scripts.Async.NotStreamingReason" - enum="NotStreamingReason" expires_after="M81"> - <owner>marja@chromium.org</owner> + enum="NotStreamingReason" expires_after="2021-02-01"> + <owner>leszeks@chromium.org</owner> + <owner>v8-runtime@google.com</owner> <summary>Reason for not streaming an async script.</summary> </histogram> <histogram name="WebCore.Scripts.Async.StartedStreaming" enum="BooleanStreamed" - expires_after="M77"> - <owner>marja@chromium.org</owner> + expires_after="2021-02-01"> + <owner>leszeks@chromium.org</owner> + <owner>v8-runtime@google.com</owner> <summary>Whether an async script was streamed or not.</summary> </histogram> <histogram name="WebCore.Scripts.Deferred.NotStreamingReason" - enum="NotStreamingReason" expires_after="M81"> - <owner>marja@chromium.org</owner> + enum="NotStreamingReason" expires_after="2021-02-01"> + <owner>leszeks@chromium.org</owner> + <owner>v8-runtime@google.com</owner> <summary>Reason for not streaming a deferred script.</summary> </histogram> <histogram name="WebCore.Scripts.Deferred.StartedStreaming" - enum="BooleanStreamed" expires_after="M77"> - <owner>marja@chromium.org</owner> + enum="BooleanStreamed" expires_after="2021-02-01"> + <owner>leszeks@chromium.org</owner> + <owner>v8-runtime@google.com</owner> <summary>Whether a deferred script was streamed or not.</summary> </histogram> <histogram name="WebCore.Scripts.Other.NotStreamingReason" - enum="NotStreamingReason" expires_after="M81"> - <owner>rmcilroy@chromium.org</owner> + enum="NotStreamingReason" expires_after="2021-02-01"> + <owner>leszeks@chromium.org</owner> + <owner>v8-runtime@google.com</owner> <summary> Reason for not streaming an other (not async, deferred or parser blocking) script. @@ -183281,8 +188921,9 @@ regressions. --> </histogram> <histogram name="WebCore.Scripts.Other.StartedStreaming" enum="BooleanStreamed" - expires_after="M77"> - <owner>rmcilroy@chromium.org</owner> + expires_after="2021-02-01"> + <owner>leszeks@chromium.org</owner> + <owner>v8-runtime@google.com</owner> <summary> Whether an other (not async, deferred or parser blocking) script was streamed or not. @@ -183303,14 +188944,16 @@ regressions. --> </histogram> <histogram name="WebCore.Scripts.ParsingBlocking.NotStreamingReason" - enum="NotStreamingReason" expires_after="M81"> - <owner>marja@chromium.org</owner> + enum="NotStreamingReason" expires_after="2021-02-01"> + <owner>leszeks@chromium.org</owner> + <owner>v8-runtime@google.com</owner> <summary>Reason for not streaming a parsing blocking script.</summary> </histogram> <histogram name="WebCore.Scripts.ParsingBlocking.StartedStreaming" - enum="BooleanStreamed" expires_after="M77"> - <owner>marja@chromium.org</owner> + enum="BooleanStreamed" expires_after="2021-02-01"> + <owner>leszeks@chromium.org</owner> + <owner>v8-runtime@google.com</owner> <summary>Whether a parsing blocking script was streamed or not.</summary> </histogram> @@ -183329,6 +188972,10 @@ regressions. --> <histogram name="WebCore.SpellChecker.RequestInterval" units="ms" expires_after="M85"> + <obsolete> + Removed in M85 as we haven't observed any related performance alerts, and no + team is actively monitoring it. + </obsolete> <owner>xiaochengh@chromium.org</owner> <summary> The amount of time between consecutive spellcheck requests made by Blink, @@ -183433,7 +189080,7 @@ regressions. --> </histogram> <histogram name="WebCore.WebSocket.MessageSize.Send" units="bytes" - expires_after="2020-08-30"> + expires_after="2020-12-20"> <owner>yhirano@chromium.org</owner> <owner>ricea@chromium.org</owner> <summary> @@ -183496,7 +189143,7 @@ regressions. --> </histogram> <histogram name="WebFont.BlankTextShownTime" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>kenjibaheux@chromium.org</owner> <owner>ksakamoto@chromium.org</owner> <summary> @@ -183506,7 +189153,8 @@ regressions. --> </summary> </histogram> -<histogram name="WebFont.CacheHit" enum="WebFontCacheHit" expires_after="M85"> +<histogram name="WebFont.CacheHit" enum="WebFontCacheHit" + expires_after="2021-01-20"> <owner>hajimehoshi@chromium.org</owner> <owner>kenjibaheux@chromium.org</owner> <owner>kouhei@chromium.org</owner> @@ -183617,7 +189265,7 @@ regressions. --> </histogram> <histogram name="WebFont.DownloadTime.0.Under10KB" units="ms" - expires_after="M85"> + expires_after="2021-01-20"> <owner>kenjibaheux@chromium.org</owner> <owner>ksakamoto@chromium.org</owner> <summary> @@ -183627,7 +189275,7 @@ regressions. --> </histogram> <histogram name="WebFont.DownloadTime.1.10KBTo50KB" units="ms" - expires_after="M85"> + expires_after="2021-01-20"> <owner>kenjibaheux@chromium.org</owner> <owner>ksakamoto@chromium.org</owner> <summary> @@ -183637,7 +189285,7 @@ regressions. --> </histogram> <histogram name="WebFont.DownloadTime.2.50KBTo100KB" units="ms" - expires_after="M85"> + expires_after="2021-01-20"> <owner>kenjibaheux@chromium.org</owner> <owner>ksakamoto@chromium.org</owner> <summary> @@ -183647,7 +189295,7 @@ regressions. --> </histogram> <histogram name="WebFont.DownloadTime.3.100KBTo1MB" units="ms" - expires_after="M85"> + expires_after="2021-01-20"> <owner>kenjibaheux@chromium.org</owner> <owner>ksakamoto@chromium.org</owner> <summary> @@ -183656,7 +189304,8 @@ regressions. --> </summary> </histogram> -<histogram name="WebFont.DownloadTime.4.Over1MB" units="ms" expires_after="M85"> +<histogram name="WebFont.DownloadTime.4.Over1MB" units="ms" + expires_after="2021-01-20"> <owner>kenjibaheux@chromium.org</owner> <owner>ksakamoto@chromium.org</owner> <summary> @@ -183665,7 +189314,8 @@ regressions. --> </summary> </histogram> -<histogram name="WebFont.DownloadTime.LoadError" units="ms" expires_after="M85"> +<histogram name="WebFont.DownloadTime.LoadError" units="ms" + expires_after="2021-01-20"> <owner>kenjibaheux@chromium.org</owner> <owner>ksakamoto@chromium.org</owner> <summary> @@ -183748,7 +189398,7 @@ regressions. --> </histogram> <histogram name="WebFont.LoadLimitOnDiskCacheMiss" enum="WebFontLoadLimitState" - expires_after="M85"> + expires_after="2021-01-20"> <owner>ksakamoto@chromium.org</owner> <owner>toyoshim@chromium.org</owner> <summary> @@ -183836,7 +189486,7 @@ regressions. --> </histogram> <histogram name="WebFont.LocalFontUsed" enum="BooleanUsage" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>hajimehoshi@chromium.org</owner> <owner>kenjibaheux@chromium.org</owner> <owner>kouhei@chromium.org</owner> @@ -184002,7 +189652,7 @@ regressions. --> </histogram> <histogram name="WebP.DecodedImageFormat" enum="WebpDecodedFormat" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>droger@chromium.org</owner> <summary> Histogram for the format of decoded WebP images on iOS, as Chrome re-encodes @@ -184235,7 +189885,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Audio.ApmCaptureInputLevelAverageRms" - units="dBFS (negated)" expires_after="2020-10-04"> + units="dBFS (negated)" expires_after="2020-12-06"> <owner>hlundin@chromium.org</owner> <summary> This histogram reports the average RMS of the signal coming in to WebRTC's @@ -184247,7 +189897,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Audio.ApmCaptureInputLevelPeakRms" - units="dBFS (negated)" expires_after="2020-10-04"> + units="dBFS (negated)" expires_after="2020-12-06"> <owner>hlundin@chromium.org</owner> <summary> This histogram reports the peak RMS of the signal coming in to WebRTC's @@ -184259,7 +189909,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Audio.ApmCaptureOutputLevelAverageRms" - units="dBFS (negated)" expires_after="2020-10-04"> + units="dBFS (negated)" expires_after="2020-12-06"> <owner>peah@chromium.org</owner> <summary> This histogram reports the average RMS of the signal in the output of @@ -184271,7 +189921,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Audio.ApmCaptureOutputLevelPeakRms" - units="dBFS (negated)" expires_after="2020-10-11"> + units="dBFS (negated)" expires_after="2020-12-13"> <owner>peah@chromium.org</owner> <summary> This histogram reports the peak RMS of the signal in the output of WebRTC's @@ -184374,7 +190024,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Audio.AverageExcessBufferDelayMs" units="ms" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>hlundin@chromium.org</owner> <summary> Measures the average waiting time in the buffer for each packet. The waiting @@ -184810,7 +190460,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Audio.ReceiverDeviceDelayMs" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>hlundin@chromium.org</owner> <summary> The sound card's buffering delay for the receiving side. Sampled once every @@ -184819,7 +190469,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Audio.ReceiverJitterBufferDelayMs" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>hlundin@chromium.org</owner> <summary> The jitter buffer delay for the receiving side. Sampled once every 10 ms @@ -184828,7 +190478,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Audio.ResidualEchoDetector.EchoLikelihood" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>hlundin@chromium.org</owner> <owner>ivoc@chromium.org</owner> <summary> @@ -184906,7 +190556,7 @@ regressions. --> </histogram> <histogram name="WebRTC.AudioInputSampleRate" enum="AudioSampleRate" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>henrika@chromium.org</owner> <summary>Audio input sample rate for WebRTC (in Hz).</summary> </histogram> @@ -184992,14 +190642,14 @@ regressions. --> </histogram> <histogram name="WebRTC.BWE.InitiallyLostPackets" units="packets" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>holmer@chromium.org</owner> <summary> The number of video packets lost durig the first 2 seconds in a WebRTC call. </summary> </histogram> -<histogram name="WebRTC.BWE.InitialRtt" units="ms" expires_after="2020-10-04"> +<histogram name="WebRTC.BWE.InitialRtt" units="ms" expires_after="2020-12-06"> <owner>holmer@chromium.org</owner> <summary> The round-trip time as measured 2 seconds into a WebRTC call. @@ -185132,7 +190782,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Call.AudioBitrateReceivedInKbps" units="kbps" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>holmer@chromium.org</owner> <summary> Average audio bitrate received during a call, counted from first packet @@ -185142,7 +190792,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Call.BitrateReceivedInKbps" units="kbps" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>holmer@chromium.org</owner> <summary> Average total bitrate received during a call (audio + video + RTCP), counted @@ -185152,7 +190802,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Call.EstimatedSendBitrateInKbps" units="kbps" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>holmer@chromium.org</owner> <summary> Average estimated send bitrate during a call, counted from first packet sent @@ -185162,7 +190812,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Call.LifetimeInSeconds" units="seconds" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> The lifetime of a call. Recorded when a Call instance is destroyed. @@ -185170,7 +190820,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Call.PacerBitrateInKbps" units="kbps" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>holmer@chromium.org</owner> <summary> Average pacer bitrate during a call, counted from first packet sent until @@ -185180,7 +190830,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Call.RtcpBitrateReceivedInBps" units="bits/s" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>holmer@chromium.org</owner> <summary> Average RTCP bitrate received during a call, counted from first packet @@ -185229,7 +190879,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Call.VideoBitrateReceivedInKbps" units="kbps" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>holmer@chromium.org</owner> <summary> Average video bitrate received during a call, counted from first packet @@ -185439,7 +191089,7 @@ regressions. --> </histogram> <histogram name="WebRTC.PeerConnection.ConnectionState" - enum="IceConnectionStates" expires_after="2020-09-27"> + enum="IceConnectionStates" expires_after="2020-11-29"> <owner>qingsi@google.com</owner> <owner>jeroendb@google.com</owner> <summary> @@ -185553,7 +191203,7 @@ regressions. --> </histogram> <histogram name="WebRTC.PeerConnection.OfferExtmapAllowMixed" - enum="PeerConnectionOfferExtmapAllowMixed" expires_after="2020-06-28"> + enum="PeerConnectionOfferExtmapAllowMixed" expires_after="2021-06-28"> <owner>kron@chromium.org</owner> <summary> What setting for the SDP attribute extmap-allow-mixed has been asked for by @@ -185769,6 +191419,18 @@ regressions. --> </summary> </histogram> +<histogram name="WebRTC.PeerConnection.ThermalState" enum="ThermalState" + expires_after="2020-10-01"> + <owner>eshr@google.com</owner> + <owner>hbos@chromium.com</owner> + <summary> + Measures computer thermal state, sampled every 60s when a PeerConnection is + open with a video sender. Most quick toggles between thermal states are thus + not sampled, but thermal states are generally stable so these toggles should + be rare. + </summary> +</histogram> + <histogram name="WebRTC.PeerConnection.TimeToConnect" units="ms" expires_after="2020-09-06"> <owner>qingsi@google.com</owner> @@ -185787,8 +191449,9 @@ regressions. --> </histogram> <histogram name="WebRTC.PeerConnection.UsagePattern" - enum="WebRtcPeerConnectionUsagePattern" expires_after="2020-07-26"> + enum="WebRtcPeerConnectionUsagePattern" expires_after="2021-06-01"> <owner>hta@chromium.org</owner> + <owner>webrtc-dev@chromium.org</owner> <summary> Capsule history of a WebRTC PeerConnection, encoded as a sequence of bits encapsulated in an integer. Only a few values will be deemed interesting, @@ -185797,7 +191460,7 @@ regressions. --> </histogram> <histogram name="WebRTC.ReceivedAudioTrackDuration" units="ms" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>perkj@chromium.org</owner> <summary> Durations of audio tracks received over a PeerConnection. The stopwatch @@ -185807,7 +191470,7 @@ regressions. --> </histogram> <histogram name="WebRTC.ReceivedVideoTrackDuration" units="ms" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>perkj@chromium.org</owner> <summary> Durations of video tracks received over a PeerConnection. The stopwatch @@ -185817,7 +191480,7 @@ regressions. --> </histogram> <histogram name="WebRTC.ReliableDataChannelMessageSize" units="bytes" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>perkj@chromium.org</owner> <summary> Sizes of messages sent over reliable data channels. The size of an @@ -185833,7 +191496,7 @@ regressions. --> </histogram> <histogram name="WebRTC.SentAudioTrackDuration" units="ms" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>perkj@chromium.org</owner> <summary> Durations of audio tracks sent over a PeerConnection. The stopwatch starts @@ -185922,7 +191585,7 @@ regressions. --> </histogram> <histogram name="WebRTC.UnreliableDataChannelMessageSize" units="bytes" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>perkj@chromium.org</owner> <summary> Sizes of messages sent over unreliable data channels. The size of an @@ -185957,7 +191620,7 @@ regressions. --> </histogram> <histogram name="WebRTC.UserMediaRequest.Result2" - enum="MediaStreamRequestResult2" expires_after="2020-10-04"> + enum="MediaStreamRequestResult2" expires_after="2020-12-06"> <owner>grunell@chromium.org</owner> <summary> Counters for UserMediaRequests results such as failure reasons. The standard @@ -185966,8 +191629,9 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.AdaptChangesPerMinute" units="changes/minute" - expires_after="2020-06-07"> + expires_after="2020-11-01"> <owner>asapersson@chromium.org</owner> + <owner>webrtc-video@google.com</owner> <summary> The average number of adaptation changes per minute for a sent video stream. Recorded when a stream is removed. @@ -185975,7 +191639,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.AverageRoundTripTimeInMilliseconds" units="ms" - expires_after="2020-08-24"> + expires_after="2020-12-20"> <owner>holmer@chromium.org</owner> <summary> The average round-trip time of a WebRTC call in milliseconds. Recorded when @@ -185984,7 +191648,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.AVSyncOffsetInMs" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> The absolute value of the sync offset between a rendered video frame and the @@ -186025,7 +191689,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.BandwidthLimitedResolutionInPercent" units="%" - expires_after="2020-08-02"> + expires_after="2020-11-22"> <owner>asapersson@chromium.org</owner> <summary> Percentage of sent frames that are limited in resolution due to bandwidth @@ -186034,8 +191698,9 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.BandwidthLimitedResolutionsDisabled" - units="disabled resolutions" expires_after="2020-08-02"> + units="disabled resolutions" expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> + <owner>webrtc-video@google.com</owner> <summary> For frames that are limited in resolution due to bandwidth, the average number of disabled resolutions is recorded for a sent video stream. Recorded @@ -186054,7 +191719,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.BitrateSentInKbps" units="kbps" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>asapersson@chromium.org</owner> <summary> The number of sent bits per second for a sent video stream. Recorded when a @@ -186065,6 +191730,9 @@ regressions. --> <histogram name="WebRTC.Video.CompleteFramesReceivedPerSecond" units="fps" expires_after="M85"> + <obsolete> + Removed 03/28/2019. + </obsolete> <owner>asapersson@chromium.org</owner> <summary> The number of complete frames received per second for a received video @@ -186074,7 +191742,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.CpuLimitedResolutionInPercent" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>asapersson@chromium.org</owner> <summary> Percentage of frames that are limited in resolution due to CPU for a sent @@ -186083,7 +191751,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.CurrentDelayInMs" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> Average current delay for a received video stream. This is the actual delay @@ -186139,7 +191807,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.DelayedFramesToRenderer_AvgDelayInMs" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The average delay of delayed frames to renderer for a received video stream. @@ -186149,6 +191817,9 @@ regressions. --> <histogram name="WebRTC.Video.DiscardedPacketsInPercent" units="%" expires_after="M85"> + <obsolete> + Removed 03/28/2019. + </obsolete> <owner>asapersson@chromium.org</owner> <summary> Percentage of discarded packets by the jitter buffer due to arriving too @@ -186177,7 +191848,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.DroppedFrames.EncoderQueue" units="frames" - expires_after="2020-08-31"> + expires_after="2020-11-22"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -186208,6 +191879,9 @@ regressions. --> <histogram name="WebRTC.Video.DuplicatedPacketsInPercent" units="%" expires_after="M85"> + <obsolete> + Removed 03/28/2019. + </obsolete> <owner>asapersson@chromium.org</owner> <summary> Percentage of duplicated packets in the jitter buffer for a received video @@ -186225,8 +191899,9 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.Encoder.CodecType" enum="WebRtcVideoCodecs" - expires_after="2020-06-07"> + expires_after="2020-11-01"> <owner>asapersson@chromium.org</owner> + <owner>webrtc-video@google.com</owner> <summary> Configured video codec for a sent video stream. Recorded when a VideoSendStream is destroyed (for streams whose lifetime is longer than 10 @@ -186244,7 +191919,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.EndToEndDelayInMs" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The average end-to-end delay per frame for a received video stream. Recorded @@ -186293,7 +191968,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.FirPacketsSentPerMinute" units="packets/minute" - expires_after="2020-08-23"> + expires_after="2020-11-22"> <owner>asapersson@chromium.org</owner> <summary> The number of sent RTCP FIR packets per minute for a received video stream. @@ -186340,7 +192015,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.InputFramesPerSecond" units="fps" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The number of incoming frames per second for a sent video stream. Recorded @@ -186350,7 +192025,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.InputHeightInPixels" units="pixels" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> The average input height per frame (for incoming frames to video engine) for @@ -186359,7 +192034,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.InputWidthInPixels" units="pixels" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> The average input width per frame (for incoming frames to video engine) for @@ -186378,7 +192053,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.InterframeDelayInMs" units="ms" - expires_after="2020-08-31"> + expires_after="2020-11-15"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -186398,7 +192073,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.JitterBufferDelayInMs" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> Average jitter buffer delay for a received video stream. Recorded when a @@ -186407,7 +192082,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.KeyFramesReceivedInPermille" units="permille" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> Permille of frames that are key frames for a received video stream. Recorded @@ -186425,7 +192100,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.MeanFreezeDurationMs" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -186435,7 +192110,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.MeanTimeBetweenFreezesMs" units="ms" - expires_after="M85"> + expires_after="M87"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -186455,7 +192130,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.MediaBitrateSentInKbps" units="kbps" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The number of sent media payload bits per second for a sent video stream. @@ -186475,7 +192150,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.NackPacketsSentPerMinute" units="packets/minute" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The number of sent RTCP NACK packets per minute for a received video stream. @@ -186513,7 +192188,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.OnewayDelayInMs" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> Average delay (network delay (rtt/2) + jitter delay + decode time + render @@ -186532,7 +192207,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.PaddingBitrateSentInKbps" units="kbps" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> The number of sent padding bits per second for a sent video stream. Recorded @@ -186551,7 +192226,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.PliPacketsReceivedPerMinute" - units="packets/minute" expires_after="2020-10-18"> + units="packets/minute" expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> The number of received RTCP PLI packets per minute for a sent video stream. @@ -186644,7 +192319,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.RenderFramesPerSecond" units="fps" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>asapersson@chromium.org</owner> <summary> The number of sent frames to the renderer per second for a received video @@ -186654,7 +192329,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.RenderSqrtPixelsPerSecond" units="pps" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The number of pixels (sqrt(width*height)) of sent frames to the renderer per @@ -186664,7 +192339,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.RetransmittedBitrateReceivedInKbps" units="kbps" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The number of retransmitted bits per second for a received video stream. @@ -186735,7 +192410,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.Screenshare.BitrateSentInKbps" units="kbps" - expires_after="2020-08-31"> + expires_after="2020-12-13"> <owner>sprang@chromium.org</owner> <summary> The number of sent bits per second for a sent screenshare stream. Recorded @@ -186775,7 +192450,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.Screenshare.DroppedFrames.EncoderQueue" - units="frames" expires_after="M85"> + units="frames" expires_after="M87"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -187069,7 +192744,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.Screenshare.ReceivedPacketsLostInPercent" - units="%" expires_after="M85"> + units="%" expires_after="M87"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -187089,7 +192764,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.Screenshare.ReceiveStreamLifetimeInSeconds" - units="seconds" expires_after="M85"> + units="seconds" expires_after="M87"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -187205,7 +192880,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.Screenshare.TimeInHdPercentage" units="%" - expires_after="M85"> + expires_after="M87"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -187224,7 +192899,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.SendDelayInMs" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The average send delay of sent packets for a sent video stream. Recorded @@ -187234,7 +192909,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.SendSideDelayInMs" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The average delay (of average delays) of sent packets for a sent video @@ -187246,7 +192921,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.SendSideDelayMaxInMs" units="ms" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The average delay (of max delays) of sent packets for a sent video stream. @@ -187267,7 +192942,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.SentFramesPerSecond" units="fps" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>asapersson@chromium.org</owner> <summary> The number of sent frames per second for a sent video stream. Recorded when @@ -187277,7 +192952,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.SentHeightInPixels" units="pixels" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> The average sent height per frame for a sent video stream. Recorded when a @@ -187286,7 +192961,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.SentPacketsLostInPercent" units="%" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>asapersson@chromium.org</owner> <summary> Percentage of sent packets lost for a sent video stream. Recorded when a @@ -187295,7 +192970,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.SentToInputFpsRatioPercent" units="%" - expires_after="2020-07-13"> + expires_after="M87"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -187306,7 +192981,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.SentWidthInPixels" units="pixels" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> The average sent width per frame for a sent video stream. Recorded when a @@ -187315,7 +192990,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.TargetDelayInMs" units="ms" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> Average target delay (jitter delay + decode time + render delay) for a @@ -187324,7 +192999,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.TimeInBlockyVideoPercentage" units="%" - expires_after="2020-09-13"> + expires_after="2020-11-15"> <owner>ilnik@chromium.org</owner> <owner>webrtc-video@google.com</owner> <summary> @@ -187344,7 +193019,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.UniqueNackRequestsReceivedInPercent" units="%" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> Percentage of unique RTCP NACK requests that are received in response to a @@ -187353,7 +193028,7 @@ regressions. --> </histogram> <histogram name="WebRTC.Video.UniqueNackRequestsSentInPercent" units="%" - expires_after="2020-10-18"> + expires_after="2020-12-20"> <owner>asapersson@chromium.org</owner> <summary> Percentage of unique RTCP NACK requests that are sent in response to a @@ -187446,9 +193121,9 @@ regressions. --> </histogram> <histogram base="true" name="WebRtcTextLogging" - enum="WebRtcLoggingWebAppIdHash" expires_after="2020-08-30"> - <owner>armax@chromium.org</owner> + enum="WebRtcLoggingWebAppIdHash" expires_after="2021-06-01"> <owner>guidou@chromium.org</owner> + <owner>webrtc-dev@chromium.org</owner> <summary> Counts the number of WebRTC text log events per web application. Suffixed by event. @@ -187456,9 +193131,9 @@ regressions. --> </histogram> <histogram name="WebRtcTextLogging.UploadFailureNetErrorCode" - enum="NetErrorCodes" expires_after="2020-07-01"> - <owner>armax@chromium.org</owner> + enum="NetErrorCodes" expires_after="2021-06-01"> <owner>guidou@chromium.org</owner> + <owner>webrtc-dev@chromium.org</owner> <summary> Network error codes for WebRTC text log upload failures. Recorded when an upload attempt fails. @@ -187466,9 +193141,9 @@ regressions. --> </histogram> <histogram name="WebRtcTextLogging.UploadFailureReason" - enum="WebRtcLoggingUploadFailureReason" expires_after="2020-07-01"> - <owner>armax@chromium.org</owner> + enum="WebRtcLoggingUploadFailureReason" expires_after="2021-06-01"> <owner>guidou@chromium.org</owner> + <owner>webrtc-dev@chromium.org</owner> <summary> Counts upload failures for WebRTC text log. Error codes for network errors are logged in WebRtcTextLogging.UploadFailureNetErrorCode. Recorded when an @@ -187477,7 +193152,7 @@ regressions. --> </histogram> <histogram name="WebShare.ApiCount" enum="WebShareMethod" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>mgiuca@chromium.org</owner> <summary> Counts the number of calls to navigator.share. Includes both successful and @@ -187782,13 +193457,13 @@ regressions. --> </histogram> <histogram name="WebUI.CreatedForUrl" enum="WebUIUrlHashes" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>dbeam@chromium.org</owner> <summary>URLs for which Chrome creates WebUIControllers.</summary> </histogram> <histogram name="WebUI.Settings.PathVisited" enum="WebUISettingsPathHashes" - expires_after="2020-09-27"> + expires_after="2020-11-29"> <owner>dschuyler@chromium.org</owner> <owner>tbuckley@chromium.org</owner> <owner>bettes@chromium.org</owner> @@ -187801,7 +193476,7 @@ regressions. --> </histogram> <histogram name="WebUITabStrip.CloseAction" enum="WebUITabStripCloseActions" - expires_after="2020-09-15"> + expires_after="2020-11-15"> <owner>collinbaker@chromium.org</owner> <owner>dfried@chromium.org</owner> <summary> @@ -187812,7 +193487,7 @@ regressions. --> </histogram> <histogram name="WebUITabStrip.CloseTabAction" - enum="WebUITabStripCloseTabActions" expires_after="2020-09-15"> + enum="WebUITabStripCloseTabActions" expires_after="2020-11-15"> <owner>johntlee@chromium.org</owner> <owner>dpapad@chromium.org</owner> <summary> @@ -187823,7 +193498,7 @@ regressions. --> </histogram> <histogram name="WebUITabStrip.OpenAction" enum="WebUITabStripOpenActions" - expires_after="2020-09-15"> + expires_after="2020-11-15"> <owner>collinbaker@chromium.org</owner> <owner>dfried@chromium.org</owner> <summary> @@ -187834,7 +193509,7 @@ regressions. --> </histogram> <histogram name="WebUITabStrip.OpenDuration" units="ms" - expires_after="2020-09-15"> + expires_after="2020-11-15"> <owner>collinbaker@chromium.org</owner> <owner>dfried@chromium.org</owner> <summary> @@ -187950,8 +193625,11 @@ regressions. --> </histogram> <histogram name="Welcome.SignInPromptResult" enum="WelcomeSignInPromptOutcome" - expires_after="M81"> + expires_after="2021-06-30"> <owner>tmartino@chromium.org</owner> + <owner>msarda@chromium.com</owner> + <owner>droger@chromium.org</owner> + <owner>chrome-signin-team@google.com</owner> <summary> Records the result of promoting sign-in via the Welcome page. </summary> @@ -188789,8 +194467,9 @@ regressions. --> </histogram> <histogram name="WorkerThread.ExitCode" enum="WorkerThreadExitCode" - expires_after="2020-06-30"> + expires_after="2021-06-30"> <owner>nhiroki@chromium.org</owner> + <owner>chrome-worker@google.com</owner> <summary>Records the exit code of WorkerThread.</summary> </histogram> @@ -188815,7 +194494,7 @@ regressions. --> </histogram> <histogram name="WrenchMenu.MenuAction" enum="WrenchMenuAction" - expires_after="2020-10-04"> + expires_after="2020-12-06"> <owner>ainslie@chromium.org</owner> <owner>edwardjung@chromium.org</owner> <summary>Number of times that each menu item is clicked.</summary> @@ -188846,7 +194525,7 @@ regressions. --> </histogram> <histogram name="WrenchMenu.TimeToAction" units="units" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>ainslie@chromium.org</owner> <owner>edwardjung@chromium.org</owner> <summary> @@ -188922,16 +194601,15 @@ regressions. --> Removed 03/2020 </obsolete> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> Indicates which VR APIs are installed. Recorded shortly after startup. </summary> </histogram> -<histogram name="XR.RuntimeUsed" enum="XRDeviceId" expires_after="2020-07-01"> +<histogram name="XR.RuntimeUsed" enum="XRDeviceId" expires_after="2021-07-01"> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> + <owner>mlamouri@google.com</owner> <owner>xr-dev@chromium.org</owner> <summary> Indicates which XR runtime was used for a session. Recorded when the session @@ -188945,7 +194623,6 @@ regressions. --> Removed 02/2020 </obsolete> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> The action that triggered the transition into Chrome in VR, either from 2D @@ -188955,6 +194632,9 @@ regressions. --> <histogram name="XR.WebXR.ConsentFlow" enum="XRSessionRequestDialogAction" expires_after="2020-07-01"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>alcooper@chromium.org</owner> <owner>mlamouri@chromium.org</owner> <owner>xr-dev@chromium.org</owner> @@ -188966,6 +194646,9 @@ regressions. --> <histogram name="XR.WebXR.ConsentFlowDuration.ConsentFlowAborted" units="ms" expires_after="2020-07-01"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>alcooper@chromium.org</owner> <owner>mlamouri@chromium.org</owner> <owner>xr-dev@chromium.org</owner> @@ -188977,6 +194660,9 @@ regressions. --> <histogram name="XR.WebXR.ConsentFlowDuration.ConsentGranted" units="ms" expires_after="2020-10-11"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>alcooper@chromium.org</owner> <owner>mlamouri@chromium.org</owner> <owner>xr-dev@chromium.org</owner> @@ -188988,6 +194674,9 @@ regressions. --> <histogram name="XR.WebXR.ConsentFlowDuration.ConsentNotGranted" units="ms" expires_after="2020-10-11"> + <obsolete> + Removed as of 06/2020. + </obsolete> <owner>alcooper@chromium.org</owner> <owner>mlamouri@chromium.org</owner> <owner>xr-dev@chromium.org</owner> @@ -189003,7 +194692,6 @@ regressions. --> Removed 02/2020 </obsolete> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> The action that triggered VR presentation, which is the display of web @@ -189012,9 +194700,8 @@ regressions. --> </histogram> <histogram name="XR.WebXR.ReferenceSpace.Requested" enum="XRReferenceSpaceType" - expires_after="2020-10-11"> + expires_after="2020-12-13"> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> Records which reference space was requested when a site calls @@ -189025,7 +194712,6 @@ regressions. --> <histogram name="XR.WebXR.ReferenceSpace.Succeeded" enum="XRReferenceSpaceType" expires_after="2020-11-08"> <owner>alcooper@chromium.org</owner> - <owner>cassew@chromium.org</owner> <owner>xr-dev@chromium.org</owner> <summary> Records which reference spaces are successfully created when the promise @@ -189566,11 +195252,15 @@ regressions. --> <suffix name="Clients.Ads.Visible" label="Only includes ad frames that have a display != none style and have an area greater than 16 pixels."/> + <affected-histogram + name="PageLoad.AdPaintTiming.NavigationToFirstContentfulPaint"/> <affected-histogram name="PageLoad.Bytes"/> <affected-histogram name="PageLoad.Cpu"/> <affected-histogram name="PageLoad.FrameCounts.AdFrames.PerFrame.CreativeOriginStatus"/> <affected-histogram + name="PageLoad.FrameCounts.AdFrames.PerFrame.CreativeOriginStatusWithThrottling"/> + <affected-histogram name="PageLoad.FrameCounts.AdFrames.PerFrame.OriginStatus"/> <affected-histogram name="PageLoad.FrameCounts.AdFrames.PerFrame.SizeIntervention"/> @@ -189859,6 +195549,18 @@ regressions. --> <suffix name="Unknown" label="Unknown Fragment (the histogram may need to be updated)."/> <affected-histogram name="Android.WebView.DevUi.SessionDuration"/> + <affected-histogram name="Android.WebView.DevUi.SessionDuration2"/> +</histogram_suffixes> + +<histogram_suffixes name="AnimationLoop" separator="."> + <suffix name="FirstAnimationLoop" + label="Measurement taken on the first animation loop."/> + <suffix name="SecondAnimationLoop" + label="Measurement taken on the second animation loop."/> + <suffix name="ThirdToFifthAnimationLoop" + label="Measurements taken on the third, fourth, and fifth animation + loop."/> + <affected-histogram name="AnimatedImage.NumOfFramesSkipped"/> </histogram_suffixes> <histogram_suffixes name="AppListFirstPaintWarmStartFast" separator=""> @@ -190181,6 +195883,12 @@ regressions. --> <suffix name="Password" label="Password form"/> <suffix name="Unknown" label="Unknown form type"/> <affected-histogram + name="Autofill.Autocomplete.NotOff.EditedAutofilledFieldAtSubmission"/> + <affected-histogram name="Autofill.Autocomplete.NotOff.FillingAcceptance"/> + <affected-histogram + name="Autofill.Autocomplete.Off.EditedAutofilledFieldAtSubmission"/> + <affected-histogram name="Autofill.Autocomplete.Off.FillingAcceptance"/> + <affected-histogram name="Autofill.FillDuration.FromInteraction.WithAutofill"/> <affected-histogram name="Autofill.FillDuration.FromInteraction.WithoutAutofill"/> @@ -190261,6 +195969,8 @@ regressions. --> <suffix name="Local" label="to local storage"/> <suffix name="Upload" label="to upload"/> <affected-histogram name="Autofill.SaveCreditCardPrompt"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer"/> + <affected-histogram name="Autofill.SaveCreditCardPromptResult"/> </histogram_suffixes> <histogram_suffixes name="AutofillSaveCreditCardPromptFromDynamicChangeForm" @@ -190273,6 +195983,19 @@ regressions. --> <affected-histogram name="Autofill.SaveCreditCardPrompt.Local.Reshows"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.FirstShow"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Local.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Local.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Upload.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Local.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptResult.Local.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.FirstShow"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.Reshows"/> </histogram_suffixes> <histogram_suffixes name="AutofillSaveCreditCardPromptFromNonFocusableForm" @@ -190285,6 +196008,19 @@ regressions. --> <affected-histogram name="Autofill.SaveCreditCardPrompt.Local.Reshows"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.FirstShow"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Local.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Local.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Upload.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Local.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptResult.Local.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.FirstShow"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.Reshows"/> </histogram_suffixes> <histogram_suffixes name="AutofillSaveCreditCardPromptPreviousUserDecision" @@ -190301,6 +196037,19 @@ regressions. --> <affected-histogram name="Autofill.SaveCreditCardPrompt.Local.Reshows"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.FirstShow"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Local.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Local.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Upload.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Local.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptResult.Local.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.FirstShow"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.Reshows"/> </histogram_suffixes> <histogram_suffixes name="AutofillSaveCreditCardPromptRequestingCardholderName" @@ -190311,6 +196060,13 @@ regressions. --> <affected-histogram name="Autofill.CreditCardInfoBar.Server"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.FirstShow"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Upload.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.FirstShow"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.Reshows"/> </histogram_suffixes> <histogram_suffixes name="AutofillSaveCreditCardPromptRequestingExpirationDate" @@ -190321,6 +196077,13 @@ regressions. --> <affected-histogram name="Autofill.CreditCardInfoBar.Server"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.FirstShow"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Upload.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.FirstShow"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.Reshows"/> </histogram_suffixes> <histogram_suffixes name="AutofillSaveCreditCardPromptShow" separator="."> @@ -190329,6 +196092,10 @@ regressions. --> <suffix name="Reshows" label="all shows after the first one, combined"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Local"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Local"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Upload"/> + <affected-histogram name="Autofill.SaveCreditCardPromptResult.Local"/> + <affected-histogram name="Autofill.SaveCreditCardPromptResult.Upload"/> </histogram_suffixes> <histogram_suffixes name="AutofillServerExperiments" separator="_"> @@ -190374,6 +196141,14 @@ regressions. --> <affected-histogram name="Autofill.Quality.ServerType.ByFieldType"/> </histogram_suffixes> +<histogram_suffixes name="AutofillStoredCardHasNickname" separator="."> + <owner>sujiezhu@google.com</owner> + <owner>jsaul@google.com</owner> + <suffix name="WithNickname" label="Card with a valid nickname"/> + <affected-histogram name="Autofill.StoredCreditCardCount.Local"/> + <affected-histogram name="Autofill.StoredCreditCardCount.Server.Masked"/> +</histogram_suffixes> + <histogram_suffixes name="AutofillStoredServerCardType" separator="."> <suffix name="Masked" label="Masked cards"/> <suffix name="Unmasked" label="Unmasked cards (locally cached)"/> @@ -190432,6 +196207,19 @@ regressions. --> <affected-histogram name="Autofill.SaveCreditCardPrompt.Local.Reshows"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.FirstShow"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Local.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Local.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptOffer.Upload.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Upload.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Local.FirstShow"/> + <affected-histogram name="Autofill.SaveCreditCardPromptResult.Local.Reshows"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.FirstShow"/> + <affected-histogram + name="Autofill.SaveCreditCardPromptResult.Upload.Reshows"/> </histogram_suffixes> <histogram_suffixes name="AutofillUnmaskPromptCloseReasonEvents" separator="."> @@ -190484,6 +196272,8 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="Availability.Prober.Clients" separator="."> + <suffix name="IsolatedPrerenderCanaryCheck" + label="Canary check for Isolated Prerenders probing"/> <suffix name="IsolatedPrerenderOriginCheck" label="Origin check for Isolated Prerenders"/> <suffix name="Litepages" label="Lite page HTTPS Server Previews"> @@ -190922,6 +196712,21 @@ regressions. --> name="Bluetooth.ChromeOS.UserInitiatedReconnectionAttempt.Result.FailureReason"/> </histogram_suffixes> +<histogram_suffixes name="BlueZPerProfileResult" separator="." + ordering="prefix,2"> + <suffix name="A2DPSink" + label="This metric records results for A2DP Sink profile."/> + <suffix name="AVRCP" + label="This metric records results for AVRCP Controller profile."/> + <suffix name="Battery" + label="This metric records results for Battery profile."/> + <suffix name="HFP" label="This metric records results for HFP profile."/> + <suffix name="HID" label="This metric records results for HID profile."/> + <suffix name="HOG" label="This metric records results for HOG profile."/> + <affected-histogram name="BlueZ.PerProfile.ConnectionResult"/> + <affected-histogram name="BlueZ.PerProfile.ProbingResult"/> +</histogram_suffixes> + <histogram_suffixes name="BrowserRunningMode" separator="."> <suffix name="FullBrowser" label=""/> <suffix name="ReducedMode" label=""/> @@ -191391,11 +197196,33 @@ regressions. --> <suffix name="DocumentActivity" label="Activity launched in DOCUMENT mode (Tabs and apps together) on Android"/> - <affected-histogram name="MobileStartup.ToolbarFirstDrawTime"/> - <affected-histogram name="MobileStartup.ToolbarFirstDrawTime2"/> - <affected-histogram name="MobileStartup.ToolbarFirstFocusStartupState"/> - <affected-histogram name="MobileStartup.ToolbarFirstFocusTime"/> - <affected-histogram name="MobileStartup.ToolbarFirstFocusTime2"/> + <affected-histogram name="MobileStartup.ToolbarFirstDrawTime"> + <obsolete> + Removed and renamed to MobileStartup.ToolbarFirstDrawTime2 due to double + reporting bug (see https://crbug.com/857508). + </obsolete> + </affected-histogram> + <affected-histogram name="MobileStartup.ToolbarFirstDrawTime2"> + <obsolete> + No longer useful, deprecated in M82. + </obsolete> + </affected-histogram> + <affected-histogram name="MobileStartup.ToolbarFirstFocusStartupState"> + <obsolete> + No longer useful, deprecated in M82 (see https://crbug.com/1053190). + </obsolete> + </affected-histogram> + <affected-histogram name="MobileStartup.ToolbarFirstFocusTime"> + <obsolete> + Removed and renamed to MobileStartup.ToolbarFirstFocusTime2 due to double + reporting bug (see https://crbug.com/857508). + </obsolete> + </affected-histogram> + <affected-histogram name="MobileStartup.ToolbarFirstFocusTime2"> + <obsolete> + No longer useful, deprecated in M82. + </obsolete> + </affected-histogram> <affected-histogram name="MobileStartup.ToolbarInflationTime"/> </histogram_suffixes> @@ -192256,6 +198083,15 @@ regressions. --> <affected-histogram name="ContextMenu.TimeToTakeAction.SelectedItem"/> </histogram_suffixes> +<histogram_suffixes name="ContextMenuShoppingDomain" separator="."> + <suffix name="ShoppingDomain" + label="The context menu was shown for a link that its domain is on the + Shopping domain allowlist in the Lens experiment."/> + <affected-histogram name="ContextMenu.SelectedOptionAndroid.ImageLink"/> + <affected-histogram name="ContextMenu.SelectedOptionAndroid.Link"/> + <affected-histogram name="ContextMenu.Shown"/> +</histogram_suffixes> + <histogram_suffixes name="ContextMenuType" separator="."> <obsolete> Removed from code as of 05/2019. @@ -192511,8 +198347,8 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="CrosNotificationActions" separator="."> - <owner>tengs@chromium.org</owner> - <owner>gzadina@google.com</owner> + <suffix name="NotificationAdded" + label="A notification was created (regardless if it was shown or not)"/> <suffix name="Popup.ClickedActionButton" label=""/> <suffix name="Popup.ClickedBody" label=""/> <suffix name="Popup.ClosedByUser.Click" label=""/> @@ -193201,6 +199037,15 @@ regressions. --> <affected-histogram name="DataUse.BytesSent"/> </histogram_suffixes> +<histogram_suffixes name="DataUse.Bytes.ApplicationState" separator="."> + <suffix name="Background" + label="Data use was recorded with Chrome in background."/> + <suffix name="Foreground" + label="Data use was recorded with Chrome in foregorund."/> + <affected-histogram name="DataUse.BytesReceived.OS"/> + <affected-histogram name="DataUse.BytesSent.OS"/> +</histogram_suffixes> + <histogram_suffixes name="DataUse.Dimensions" separator="."> <suffix name="Downstream.Background.Cellular" label=""/> <suffix name="Downstream.Background.NotCellular" label=""/> @@ -193354,10 +199199,20 @@ regressions. --> <histogram_suffixes name="DecodedImageType" separator="."> <!-- Name completed by histogram_suffixes name="RasterTaskType" --> + <suffix base="true" name="Avif" + label="This metric is for only Avif image types."/> + <suffix base="true" name="Bmp" + label="This metric is for only Bmp image types."/> + <suffix base="true" name="Gif" + label="This metric is for only Gif image types."/> + <suffix base="true" name="Ico" + label="This metric is for only Ico image types."/> <suffix base="true" name="Jpeg" label="This metric is for only Jpeg image types."/> <suffix base="true" name="Other" - label="This metric is for non-WebP and non-Jpeg image types."/> + label="This metric is for non-codec-backed lazy images."/> + <suffix base="true" name="Png" + label="This metric is for only Png image types."/> <suffix base="true" name="WebP" label="This metric is for only WebP image types."/> <affected-histogram name="Renderer4.ImageDecodeTaskDurationUs"/> @@ -193473,6 +199328,7 @@ regressions. --> Deprecated October 2017 </obsolete> </suffix> + <suffix name="isolatedprerender" label="Triggered by Isolated Prerenders."/> <suffix name="localpredictor" label="Local predictor triggered prerender."> <obsolete> Deprecated April 2015 @@ -194034,6 +199890,30 @@ regressions. --> name="Net.DNS.DnsTransaction.SecureValidated.FailureTime"/> <affected-histogram name="Net.DNS.DnsTransaction.SecureValidated.SuccessTime"/> +<!-- Histograms for HTTPSSVC experiment --> + + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.DnsRcode"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.Integrity"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.RecordWithError"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.ResolveTimeIntegrityRecord"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.ResolveTimeNonIntegrityRecord"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.ResolveTimeRatio"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectNoerror.DnsRcode"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectNoerror.RecordReceived"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectNoerror.ResolveTimeIntegrityRecord"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectNoerror.ResolveTimeNonIntegrityRecord"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectNoerror.ResolveTimeRatio"/> </histogram_suffixes> <histogram_suffixes name="DomainGoogle" separator=""> @@ -194177,6 +200057,13 @@ regressions. --> <affected-histogram name="Download.DownloadDangerPrompt"/> </histogram_suffixes> +<histogram_suffixes name="DownloadDialogSource" separator="."> + <suffix name="DownloadHome" label="Download home."/> + <suffix name="Infobar" label="Download infobar."/> + <suffix name="Main" label="Main download later dialog."/> + <affected-histogram name="Download.Later.UI.DialogChoice"/> +</histogram_suffixes> + <histogram_suffixes name="DownloadSource" separator="."> <suffix name="ContextMenu" label="ContextMenu."/> <suffix name="DragAndDrop" label="DragAndDrop."/> @@ -194357,6 +200244,15 @@ regressions. --> <affected-histogram name="SiteEngagementService.EngagementScoreBucket"/> </histogram_suffixes> +<histogram_suffixes name="EnterOrExitCardifiedState" separator="."> + <suffix name="EnterOrExitOverview" + label="Triggered by entering cardified state in the app list"/> + <suffix name="EnterOrExitOverview" + label="Triggered by exiting cardified state in the app list"/> + <affected-histogram + name="Apps.AppList.CardifiedStateAnimation.AnimationSmoothness"/> +</histogram_suffixes> + <histogram_suffixes name="EnterOrExitOverview" separator="."> <suffix name="EnterOverview" label="Triggered by entering overview"/> <suffix name="ExitOverview" label="Triggered by exiting overview"/> @@ -194575,6 +200471,9 @@ regressions. --> <suffix name="TotalLatency" label="Total latency from when the event is generated until the frame is presented on screen."/> + <affected-histogram name="EventLatency.GestureDoubleTap"/> + <affected-histogram name="EventLatency.GestureLongPress"/> + <affected-histogram name="EventLatency.GestureLongTap"/> <affected-histogram name="EventLatency.GestureScrollBegin.Autoscroll"/> <affected-histogram name="EventLatency.GestureScrollBegin.Scrollbar"/> <affected-histogram name="EventLatency.GestureScrollBegin.Touchscreen"/> @@ -194587,6 +200486,12 @@ regressions. --> <affected-histogram name="EventLatency.GestureScrollUpdate.Scrollbar"/> <affected-histogram name="EventLatency.GestureScrollUpdate.Touchscreen"/> <affected-histogram name="EventLatency.GestureScrollUpdate.Wheel"/> + <affected-histogram name="EventLatency.GestureShowPress"/> + <affected-histogram name="EventLatency.GestureTap"/> + <affected-histogram name="EventLatency.GestureTapCancel"/> + <affected-histogram name="EventLatency.GestureTapDown"/> + <affected-histogram name="EventLatency.GestureTapUnconfirmed"/> + <affected-histogram name="EventLatency.GestureTwoFingerTap"/> <affected-histogram name="EventLatency.KeyPressed"/> <affected-histogram name="EventLatency.KeyReleased"/> <affected-histogram name="EventLatency.MousePressed"/> @@ -194642,12 +200547,30 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="EventLatencyTypes" separator="."> + <suffix base="true" name="GestureDoubleTap" + label="Event latency for gesture-double-tap event."/> + <suffix base="true" name="GestureLongPress" + label="Event latency for gesture-long-press event."/> + <suffix base="true" name="GestureLongTap" + label="Event latency for gesture-long-tap event."/> <suffix base="true" name="GestureScrollBegin" label="Event latency for gesture-scroll-begin event."/> <suffix base="true" name="GestureScrollEnd" label="Event latency for gesture-scroll-end event."/> <suffix base="true" name="GestureScrollUpdate" label="Event latency for gesture-scroll-update event."/> + <suffix base="true" name="GestureShowPress" + label="Event latency for gesture-show-press event."/> + <suffix base="true" name="GestureTap" + label="Event latency for gesture-tap event."/> + <suffix base="true" name="GestureTapCancel" + label="Event latency for gesture-tap-cancel event."/> + <suffix base="true" name="GestureTapDown" + label="Event latency for gesture-tap-down event."/> + <suffix base="true" name="GestureTapUnconfirmed" + label="Event latency for gesture-tap-unconfirmed event."/> + <suffix base="true" name="GestureTwoFingerTap" + label="Event latency for gesture-two-finger-tap event."/> <suffix base="true" name="KeyPressed" label="Event latency for key-pressed event."/> <suffix base="true" name="KeyReleased" @@ -194845,10 +200768,11 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="FCMInvalidationNonSyncPerUserTopics" separator="."> +<!-- Note that the histogram "FCMInvalidations.SubscriptionResponseCodeForTopic" + also uses the SyncModelType suffixes. --> + <suffix name="OTHER" label="OTHER"/> <affected-histogram name="FCMInvalidations.SubscriptionResponseCodeForTopic"/> -<!-- Note that the above histogram also uses the SyncModelType suffixes. --> - </histogram_suffixes> <histogram_suffixes name="FCMInvalidationSenders" separator="."> @@ -195025,6 +200949,7 @@ regressions. --> <histogram_suffixes name="FileBrowserCrostiniSharedPathsDepth" separator="."> <suffix name="AndroidFiles" label="Shared path in Android volume."/> + <suffix name="Archive" label="Shared path in archive mount."/> <suffix name="Crostini" label="Shared path in Crostini volume."/> <suffix name="Downloads" label="Shared path in Downloads volume."/> <suffix name="DriveComputers" label="Shared path in Drive Computers volume."/> @@ -195191,6 +201116,9 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="FrozenTabPercentage" separator="."> + <obsolete> + Removed 2020-06. + </obsolete> <suffix name="1To5HiddenTabs" label="The percentage of hidden tabs that are frozen for users with 1 to 5 hidden tabs."/> @@ -195251,6 +201179,13 @@ regressions. --> <affected-histogram name="OOBE.GestureNavigationScreen.PageShownTime"/> </histogram_suffixes> +<histogram_suffixes name="GetAuthTokenType" separator="."> + <suffix name="RemoteConsentApproved" + label="The remote consent has been approved for the getAuthToken() + call."/> + <affected-histogram name="Signin.Extensions.GetAuthTokenResult"/> +</histogram_suffixes> + <histogram_suffixes name="GLApisWithErrorReporting" separator="_"> <suffix name="TexImage2D" label="All GL APIs that allocate a 2D texture."/> <suffix name="TexImage3D" label="All GL APIs that allocate a 3D texture."/> @@ -195661,9 +201596,17 @@ regressions. --> <affected-histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGoogle"/> <affected-histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGQuicErrorMissing"/> + <affected-histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGQuicErrorMissingGoogle"/> + <affected-histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransport"/> <affected-histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGoogle"/> + <affected-histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGQuicErrorMissing"/> + <affected-histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGQuicErrorMissingGoogle"/> </histogram_suffixes> <histogram_suffixes name="HandshakeNotConfirmed" separator="."> @@ -195680,9 +201623,26 @@ regressions. --> <affected-histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGoogle"/> <affected-histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGQuicErrorMissing"/> + <affected-histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGQuicErrorMissingGoogle"/> + <affected-histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransport"/> <affected-histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGoogle"/> + <affected-histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGQuicErrorMissing"/> + <affected-histogram + name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGQuicErrorMissingGoogle"/> +</histogram_suffixes> + +<histogram_suffixes name="HardwareVerifierSupportCategory" separator="."> + <suffix name="audio_codec" label=""/> + <suffix name="battery" label=""/> + <suffix name="network" label=""/> + <suffix name="storage" label=""/> + <suffix name="vpd_cached" label=""/> + <affected-histogram name="ChromeOS.HardwareVerifier.Report"/> </histogram_suffixes> <histogram_suffixes name="HeuristicType" separator="." ordering="prefix,2"> @@ -195809,6 +201769,26 @@ regressions. --> <affected-histogram name="NetConnectivity.Pipeline.Success"/> </histogram_suffixes> +<histogram_suffixes name="HttpssvcIntegrityExpectation" separator="." + ordering="prefix,4"> + <suffix name="ExpectIntact" + label="Querying the experiment domain. INTEGRITY record should be + intact."/> + <suffix name="ExpectNoerror" + label="Querying non-experiment domain. Should get NOERROR on INTEGRITY + queries."/> +<!-- Inserts the suffix name after "RecordIntegrity" in the histograms + below. These are the metrics common to both the ExpectIntact and + ExpectNoerror branches of the HTTPSSVC metrics tree. --> + + <affected-histogram name="Net.DNS.HTTPSSVC.RecordIntegrity.DnsRcode"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ResolveTimeIntegrityRecord"/> + <affected-histogram + name="Net.DNS.HTTPSSVC.RecordIntegrity.ResolveTimeNonIntegrityRecord"/> + <affected-histogram name="Net.DNS.HTTPSSVC.RecordIntegrity.ResolveTimeRatio"/> +</histogram_suffixes> + <histogram_suffixes name="HubAndSpokeNavigationUsageType" separator="."> <suffix name="FromDefaultSearchEngine" label="User navigates to a new page from default search engine result @@ -196009,6 +201989,14 @@ regressions. --> <affected-histogram name="WebCore.IndexedDB.LevelDBWriteErrors.PFE"/> </histogram_suffixes> +<histogram_suffixes name="IndexId" separator="." ordering="prefix,1"> + <suffix name="CrosSettings" label="Cros Settings"/> + <affected-histogram name="LocalSearchService.Backend"/> + <affected-histogram name="LocalSearchService.DailySearch"/> + <affected-histogram name="LocalSearchService.NumberResults"/> + <affected-histogram name="LocalSearchService.ResponseStatus"/> +</histogram_suffixes> + <histogram_suffixes name="InputEventPredictionAccuracy" separator="."> <suffix name="Long" label="predicted time between 20 to 35ms."/> <suffix name="Middle" label="predicted time between 10 to 20ms."/> @@ -196142,6 +202130,9 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="iOS_PLT" separator=""> + <obsolete> + Code removed long ago. + </obsolete> <owner>pauljensen@chromium.org</owner> <suffix name="" label="not using Data Reduction Proxy"/> <suffix name="_DataReductionProxy" label="using Data Reduction Proxy"/> @@ -196213,6 +202204,9 @@ regressions. --> Replaced with IPH_ContextualSearchPromoteTap. </obsolete> </suffix> + <suffix name="IPH_ContextualSearchTappedButShouldLongpress" + label="In product help for contextual search to help users that try to + trigger the feature with a tap to long-press instead."/> <suffix name="IPH_ContextualSearchWebSearch" label="In product help for contextual search for users who use web search."/> @@ -196228,6 +202222,8 @@ regressions. --> label="In product help data saver milestone promo."/> <suffix name="IPH_DataSaverPreview" label="In product help data saver preview."/> + <suffix name="IPH_DesktopTabGroupsNewGroup" + label="In product help for creating a new tab group."/> <suffix name="IPH_DownloadHome" label="In product help download home."/> <suffix name="IPH_DownloadInfobarDownloadContinuing" label="In product help for donwload infobar to inform that downloads @@ -196281,6 +202277,8 @@ regressions. --> </obsolete> </suffix> <suffix name="IPH_NewTabTip" label="In product help new tab tip."/> + <suffix name="IPH_PasswordsAccountStorage" + label="In product help for passwords account storage."/> <suffix name="IPH_PreviewsOmniboxUI" label="In product help for the Previews UI in the Android Omnibox."/> <suffix name="IPH_QuietNotificationPrompts" @@ -196334,7 +202332,7 @@ regressions. --> This metric is now only recorded after the main message loop starts and no longer distinguishes the first 30 seconds as "startup". Startup.BrowserMessageLoopStartTime can be used for the startup phase - (before the loop is running) and Startup.FirstWebContents.NonEmptyPaint2 can + (before the loop is running) and Startup.FirstWebContents.NonEmptyPaint3 can be used for the user-visible startup performance. </obsolete> <suffix name="NonStartup" @@ -196347,6 +202345,13 @@ regressions. --> name="Browser.Responsiveness.JankyIntervalsPerThirtySeconds"/> </histogram_suffixes> +<histogram_suffixes name="JavaStartMode" separator="."> + <suffix name="Instant" label=""/> + <suffix name="NoInstant" label=""/> + <affected-histogram name="Startup.Android.FeedContentFirstLoadedTime"/> + <affected-histogram name="Startup.Android.SingleTabTitleAvailableTime"/> +</histogram_suffixes> + <histogram_suffixes name="JSDialogs.DialogType" separator="."> <suffix name="Alert" label="window.alert() dialog"/> <suffix name="BeforeUnload" label="dialog caused by window.onbeforeunload"/> @@ -196738,6 +202743,12 @@ regressions. --> <affected-histogram name="LevelDB.SharedCache.KBUsed"/> </histogram_suffixes> +<histogram_suffixes name="LiteVideoDecision" separator="."> + <suffix name="MainFrame" label="Recorded for the mainframe navigation."/> + <suffix name="SubFrame" label="Recorded for subframe navigation."/> + <affected-histogram name="LiteVideo.CanApplyLiteVideo.UserBlocklist"/> +</histogram_suffixes> + <histogram_suffixes name="LiveTabCountMetrics" separator="."> <suffix name="ByLiveTabCount.0Tabs" label="Recorded with 0 live tabs open in the browser."/> @@ -196905,6 +202916,11 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="LockExistingCachedImage" separator="."> + <obsolete> + Removes as of 6/2020. We now get enough cache hit information from + Renderer4.SoftwareImageDecodeState* and don't need to divide it into tile + bins. + </obsolete> <suffix name="Software.EVENTUALLY" label="Eventually bin for software"/> <suffix name="Software.NOW" label="Now bin for software"/> <suffix name="Software.SOON" label="Soon bin for software"/> @@ -196962,6 +202978,9 @@ regressions. --> <histogram_suffixes name="MachineLearningServiceModels" separator="." ordering="prefix"> + <suffix name="smart_dim_model_20190521_v3" + label="Predict whether to cancel screen dims, temporarily added for + downloadable smart dim models, will remove after M84."/> <suffix name="SmartDimModel" label="Predict whether to cancel screen dims."/> <suffix name="TestModel" label="A simple model for testing purpose."/> <suffix name="TextClassifier" label="On-device text classification model."/> @@ -197055,7 +203074,7 @@ regressions. --> <suffix name="CriticalMemoryPressure" label="Critical memory pressure."/> <suffix name="ModerateMemoryPressure" label="Moderate memory pressure."/> <suffix name="NoMemoryPressure" label="No memory pressure."/> - <affected-histogram name="Startup.FirstWebContents.NonEmptyPaint2"/> + <affected-histogram name="Startup.FirstWebContents.NonEmptyPaint3"/> </histogram_suffixes> <histogram_suffixes name="Media.Learning.BinaryThreshold" separator="."> @@ -197103,6 +203122,9 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="MediaAudioInputDeviceManagerTime" separator="."> + <obsolete> + Removed 06/2020. No longer needed. + </obsolete> <suffix name="EnumerateOnDeviceThreadTime" label="Measures the time taken for EnumerateOnDeviceThread()."/> <suffix name="OpenOnDeviceThreadTime" @@ -197111,6 +203133,9 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="MediaAudioOutputControllerTime" separator="."> + <obsolete> + Removed 06/2020. No longer needed. + </obsolete> <suffix name="CloseTime" label="Measures the time taken for DoClose()."/> <suffix name="CreateTime" label="Measures the time taken for DoCreate()."/> <suffix name="DeviceChangeTime" @@ -197193,6 +203218,17 @@ regressions. --> <histogram_suffixes name="MediaPipelineStatusForStreams" separator="."> <suffix name="AudioOnly" label="PipelineStatus for Audio-only streams."/> + <suffix name="AudioVideo.AV1.DDS.HW" + label="PipelineStatus for AV streams with AV1 hardware decoder and that + go through the DecryptingDemuxerStream (DDS)."/> + <suffix name="AudioVideo.AV1.DDS.SW" + label="PipelineStatus for AV streams with AV1 software decoder and that + go through the DecryptingDemuxerStream (DDS)."/> + <suffix name="AudioVideo.AV1.DVD" + label="PipelineStatus for AV streams with AV1 decoder and that go + through the DecryptingVideoDecoder (DVD)."/> + <suffix name="AudioVideo.AV1.HW" + label="PipelineStatus for AV streams with AV1 hardware decoder."/> <suffix name="AudioVideo.AV1.SW" label="PipelineStatus for AV streams with AV1 software decoder."/> <suffix name="AudioVideo.H264.DDS.HW" @@ -197948,6 +203984,9 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="Net.DNS.AddressFamily" separator="."> + <obsolete> + Removed 2020-06. + </obsolete> <suffix name="IPV4" label="Requests for ADDRESS_FAMILY_IPV4."/> <suffix name="IPV6" label="Requests for ADDRESS_FAMILY_IPV6."/> <suffix name="UNSPEC" label="Requests for ADDRESS_FAMILY_UNSPEC."/> @@ -200318,6 +206357,9 @@ regressions. --> <histogram_suffixes name="OptimizationGuide.OptimizationTypes" separator="."> <suffix name="CompressPublicImages" label="Compresses public images"/> <suffix name="DeferAllScript" label="Defers execution of script"/> + <suffix name="FastHostHints" + label="Provides information about hosts that historically provide a + fast and responsive user experience."/> <suffix name="LitePage" label="HTTP server preview (served from the Data Reduction Proxy)"/> <suffix name="LitePageRedirect" @@ -200856,6 +206898,9 @@ regressions. --> name="PageLoad.Experimental.AbortTiming.Stop.BeforeCommit"/> <affected-histogram name="PageLoad.InteractiveTiming.FirstInputDelay2"/> <affected-histogram name="PageLoad.InteractiveTiming.FirstInputDelay3"/> + <affected-histogram name="PageLoad.InteractiveTiming.FirstInputDelay4"/> + <affected-histogram + name="PageLoad.LayoutInstability.CumulativeShiftScore.MainFrame"/> <affected-histogram name="PageLoad.PageTiming.ForegroundDuration"/> <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/> @@ -201141,9 +207186,7 @@ regressions. --> label="PageLoadMetrics from a page that is either not controlled by a service worker or is controlled by a service worker without a fetch event handler. This should NOT be compared to - Clients.ServiceWorker2, see https://goo.gl/EdaGQn."> - - </suffix> + Clients.ServiceWorker2, see https://goo.gl/EdaGQn."/> <suffix name="Clients.ServiceWorker" label="PageLoadMetrics from a page that is controlled by a Service Worker."> @@ -201594,6 +207637,8 @@ regressions. --> label="Signed-out user (and no account storage opt-in exists)."/> <suffix name="SyncUser" label="Syncing user."/> <affected-histogram name="PasswordManager.AccountStorageUserStateDuration"/> + <affected-histogram name="PasswordManager.MoveUIDismissalReason"/> + <affected-histogram name="PasswordManager.SaveUIDismissalReason"/> </histogram_suffixes> <histogram_suffixes name="PasswordCustomPassphrase" separator="."> @@ -201854,6 +207899,8 @@ regressions. --> <suffix name="Http" label="The scheme of the origin is HTTP."/> <suffix name="Https" label="The scheme of the origin is HTTPS."/> <suffix name="Other" label="The scheme of the origin is something else."/> + <affected-histogram + name="PasswordManager.AccountStore.TotalAccountsHiRes.WithScheme"/> <affected-histogram name="PasswordManager.TotalAccountsHiRes.WithScheme"/> </histogram_suffixes> @@ -201937,6 +207984,21 @@ regressions. --> <affected-histogram name="PaymentRequest.NumberOfSuggestionsShown"/> </histogram_suffixes> +<histogram_suffixes name="PerformanceHintsSource" separator="."> + <suffix name="FastHostHint" label="From the fast host bloom filter."/> + <suffix name="LinkHint" label="From the link hints of the current page."/> + <suffix name="PageHint" + label="From the OptimizationGuide metadata of the given URL."/> + <affected-histogram name="PerformanceHints.Observer.SourceLookupStatus"/> +</histogram_suffixes> + +<histogram_suffixes name="PerformanceHintsURLRewritten" separator="."> + <suffix name="Rewritten" + label="The URL matched one of the rewrite patterns and was extracted + before lookups"/> + <affected-histogram name="PerformanceHints.Observer.HintForURLResult"/> +</histogram_suffixes> + <histogram_suffixes name="PerformanceMonitor" separator="."> <suffix name="BrowserProcess" label=""/> <suffix name="GPUProcess" label=""/> @@ -202014,6 +208076,7 @@ regressions. --> <suffix name="PaymentHandler" label="Payment Handler permission actions"/> <suffix name="ProtectedMedia" label="Protected media permission actions"/> <suffix name="PushMessaging" label="Push messaging permission actions"/> + <suffix name="StorageAccess" label="Storage Access API permission actions"/> <suffix name="VideoCapture" label="Camera permission actions"/> <suffix name="VR" label="VR permission actions"/> <affected-histogram name="ContentSettings.PermissionActions"/> @@ -202194,6 +208257,21 @@ regressions. --> <affected-histogram name="Platform.Meminfo"/> </histogram_suffixes> +<histogram_suffixes name="PlatformNotifications" separator="."> + <suffix name="OnIPAddressChanged" label="When IP address change is detected"/> + <suffix name="OnMigrateBackToDefaultNetwork" + label="When connection attempts to migrate back to the default network"/> + <suffix name="OnNetworkConnected" label="When a new network is connected"/> + <suffix name="OnNetworkDisconnected" + label="When an exisiting network is disconnected"/> + <suffix name="OnNetworkMadeDefault" + label="When a network is made as new default"/> + <suffix name="OnNetworkSoonToDisconnect" + label="When an existing network is soon to be disconnected"/> + <affected-histogram name="Net.QuicStreamFactory.NumDegradingSessions"/> + <affected-histogram name="Net.QuicStreamFactory.PercentageDegradingSessions"/> +</histogram_suffixes> + <histogram_suffixes name="PlatformStorageUfsLifeUsed" separator="."> <suffix name="TypeA" label="Calculation Method A"/> <suffix name="TypeB" label="Calculation Method B"/> @@ -202242,6 +208320,14 @@ regressions. --> <affected-histogram name="NewTabPage.Snippets.CardShownScoreNew"/> </histogram_suffixes> +<histogram_suffixes name="Power.CpuTimeProcessTypes" separator="."> + <suffix name="Browser" label=""/> + <suffix name="GPU" label=""/> + <suffix name="Other" label=""/> + <suffix name="Renderer" label=""/> + <affected-histogram name="Power.CpuTimeSecondsPerThreadType"/> +</histogram_suffixes> + <histogram_suffixes name="PowerConsumptionSources" separator="."> <suffix name="CPU" label="Instantaneous power used by the CPU."/> <suffix name="GPU0" @@ -202591,6 +208677,14 @@ regressions. --> <affected-histogram name="Previews.Triggered.EffectiveConnectionType2"/> </histogram_suffixes> +<histogram_suffixes name="PrivacyScreenToggleState" separator="."> + <owner>tengs@chromium.org</owner> + <owner>gzadina@google.com</owner> + <suffix name="Disabled" label=""/> + <suffix name="Enabled" label=""/> + <affected-histogram name="ChromeOS.PrivacyScreen.Toggled"/> +</histogram_suffixes> + <histogram_suffixes name="ProcessMemoryAllocator2" separator="."> <suffix name="BlinkGC" label="Only counting Blink GC memory."/> <suffix name="BlinkGC.AllocatedObjects" @@ -202698,7 +208792,7 @@ regressions. --> <affected-histogram name="Memory.Experimental.Utility2"/> </histogram_suffixes> -<histogram_suffixes name="ProcessMemoryAllocatorSmall2" separator="."> +<histogram_suffixes name="ProcessMemoryAllocatorCustom2" separator="."> <suffix name="ServiceDiscardableManager" label="Only counting memory used by the gpu discardable cache."/> <suffix name="ServiceDiscardableManager.AvgImageSize" @@ -202709,12 +208803,12 @@ regressions. --> <suffix name="ServiceTransferCache.AvgImageSize" label="Only counting the average size of image entries in the gpu transfer cache"/> - <affected-histogram name="Memory.Experimental.Browser2"/> - <affected-histogram name="Memory.Experimental.Extension2"/> - <affected-histogram name="Memory.Experimental.Gpu2"/> - <affected-histogram name="Memory.Experimental.NetworkService2"/> - <affected-histogram name="Memory.Experimental.Renderer2"/> - <affected-histogram name="Memory.Experimental.Utility2"/> + <affected-histogram name="Memory.Experimental.Browser2.Custom"/> + <affected-histogram name="Memory.Experimental.Extension2.Custom"/> + <affected-histogram name="Memory.Experimental.Gpu2.Custom"/> + <affected-histogram name="Memory.Experimental.NetworkService2.Custom"/> + <affected-histogram name="Memory.Experimental.Renderer2.Custom"/> + <affected-histogram name="Memory.Experimental.Utility2.Custom"/> </histogram_suffixes> <histogram_suffixes name="ProcessMemoryAllocatorSmall2" separator="."> @@ -202793,6 +208887,32 @@ regressions. --> <suffix name="NumberOfUACSSResource" label=""/> <suffix name="NumberOfV8PerContextData" label=""/> <suffix name="NumberOfWorkerGlobalScope" label=""/> + <suffix name="ServiceDiscardableManager" + label="Only counting memory used by the gpu discardable cache."> + <obsolete> + Use *.Custom.ServiceDiscardableManager instead. + </obsolete> + </suffix> + <suffix name="ServiceDiscardableManager.AvgImageSize" + label="Only counting the average image size of entries in the gpu + discardable cache"> + <obsolete> + Use *.Custom.ServiceDiscardableManager.AvgImageSize instead. + </obsolete> + </suffix> + <suffix name="ServiceTransferCache" + label="Only counting memory used by images in the gpu transfer cache."> + <obsolete> + Use *.Custom.ServiceTransferCache instead. + </obsolete> + </suffix> + <suffix name="ServiceTransferCache.AvgImageSize" + label="Only counting the average size of image entries in the gpu + transfer cache"> + <obsolete> + Use *.Custom.ServiceTransferCache.AvgImageSize instead. + </obsolete> + </suffix> <affected-histogram name="Memory.Experimental.Browser2.Tiny"/> <affected-histogram name="Memory.Experimental.Extension2.Tiny"/> <affected-histogram name="Memory.Experimental.Gpu2.Tiny"/> @@ -204122,6 +210242,9 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="SafeBrowsingWebSocketElapsed" separator="."> + <obsolete> + Removed June 2020. + </obsolete> <suffix name="Abandoned" label="Connection abandoned, or interstitial displayed and user did not proceed to site"/> @@ -204458,9 +210581,17 @@ regressions. --> <owner>cthomp@chromium.org</owner> <owner>estark@chromium.org</owner> <suffix name="DANGEROUS" label="SecurityLevel is DANGEROUS."/> - <suffix name="EV_SECURE" label="SecurityLevel is EV_SECURE."/> + <suffix name="EV_SECURE" label="SecurityLevel is EV_SECURE."> + <obsolete> + EV_SECURE level was removed in May 2020. + </obsolete> + </suffix> <suffix name="HTTP_SHOW_WARNING" - label="SecurityLevel is HTTP_SHOW_WARNING (deprecated)."/> + label="SecurityLevel is HTTP_SHOW_WARNING (deprecated)."> + <obsolete> + HTTP_SHOW_WARNING level was removed in Sep 2019. + </obsolete> + </suffix> <suffix name="NONE" label="SecurityLevel is NONE."/> <suffix name="OTHER" label="Unknown SecurityLevel."/> <suffix name="SECURE" label="SecurityLevel is SECURE."/> @@ -204469,6 +210600,10 @@ regressions. --> <suffix name="WARNING" label="SecurityLevel is WARNING."/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Local"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Local"/> + <affected-histogram name="Autofill.SaveCreditCardPromptOffer.Upload"/> + <affected-histogram name="Autofill.SaveCreditCardPromptResult.Local"/> + <affected-histogram name="Autofill.SaveCreditCardPromptResult.Upload"/> <affected-histogram name="Autofill.UserHappiness.Address"/> <affected-histogram name="Autofill.UserHappiness.CreditCard"/> <affected-histogram name="Autofill.UserHappiness.Password"/> @@ -204499,6 +210634,9 @@ regressions. --> <histogram_suffixes name="SendTabToSelfValidDevice" separator="." ordering="prefix"> + <obsolete> + The affected histogram is obsolete (5/20). + </obsolete> <owner>jeffreycohen@chromium.org</owner> <owner>sebsg@chromium.org</owner> <owner>tgupta@chromium.org</owner> @@ -205915,6 +212053,7 @@ regressions. --> </affected-histogram> <affected-histogram name="Startup.FirstWebContents.NonEmptyPaint"/> <affected-histogram name="Startup.FirstWebContents.NonEmptyPaint2"/> + <affected-histogram name="Startup.FirstWebContents.NonEmptyPaint3"/> <affected-histogram name="Startup.FirstWebContents.RenderProcessHostInit.ToNonEmptyPaint"/> <affected-histogram name="Startup.LoadTime.ApplicationStartToChromeMain"/> @@ -206233,6 +212372,7 @@ regressions. --> </suffix> <affected-histogram name="FCMInvalidations.SubscriptionResponseCodeForTopic"/> <affected-histogram name="Sync.CommitLatency"/> + <affected-histogram name="Sync.CommitResponse"/> <affected-histogram name="Sync.DuplicateClientTagHashInApplyPendingUpdates"/> <affected-histogram name="Sync.DuplicateClientTagHashInGetUpdatesResponse"/> <affected-histogram @@ -206268,6 +212408,7 @@ regressions. --> </obsolete> </affected-histogram> <affected-histogram name="Sync.ModelTypeEntityChange3"/> + <affected-histogram name="Sync.ModelTypeErrorSite"/> <affected-histogram name="Sync.ModelTypeMemoryKB"/> <affected-histogram name="Sync.NonReflectionUpdateFreshnessPossiblySkewed"> <obsolete> @@ -206281,7 +212422,11 @@ regressions. --> Deprecated 05/2019. </obsolete> </affected-histogram> - <affected-histogram name="Sync.USSMigrationEntityCount"/> + <affected-histogram name="Sync.USSMigrationEntityCount"> + <obsolete> + Deprecated 05/2020. + </obsolete> + </affected-histogram> </histogram_suffixes> <histogram_suffixes name="SyncModelTypeByMacro" separator="" ordering="prefix"> @@ -206899,6 +213044,7 @@ regressions. --> label="ThreadPool for the browser process."/> <suffix base="true" name="ContentChild" label="ThreadPools for various instantiations of content::ChildProcess."/> + <suffix base="true" name="GPU" label="ThreadPool for the gpu process."/> <suffix base="true" name="Renderer" label="ThreadPools for renderer processes."/> <affected-histogram name="ThreadPool.DetachDuration"/> @@ -207105,6 +213251,22 @@ regressions. --> name="TrafficStatsAmortizer.PreAmortizationRunDataUseBytes"/> </histogram_suffixes> +<histogram_suffixes name="TransactionalReauthEntryPoint" separator="."> + <suffix name="ToFillPassword" + label="The reauth happened to fill an account-stored password."/> + <suffix name="ToGeneratePassword" + label="The reauth happened to trigger the password generation."/> + <suffix name="ToManageInSettings" + label="The reauth happened to manage account-stored passwords in + settings."/> + <suffix name="ToMovePassword" + label="The reauth happened to move a password to the account store."/> + <suffix name="ToSaveOrUpdatePassword" + label="The reauth happened to save a password to the account store."/> + <affected-histogram name="Signin.TransactionalReauthResult"/> + <affected-histogram name="Signin.TransactionalReauthUserAction"/> +</histogram_suffixes> + <histogram_suffixes name="TrustTokenOperationSuccess" separator="."> <suffix name="Failure" label="The operation or partial operation failed: for ServerTime, this @@ -207133,8 +213295,11 @@ regressions. --> <histogram_suffixes name="UkmSourceIdTypes" separator="."> <suffix name="App" label="Restricted to app source id types."/> + <suffix name="Default" label="Restricted to default source id type."/> <suffix name="Navigation" label="Restricted to navigation source id types."/> - <suffix name="Ukm" label="Restricted to UKM source id types."/> + <suffix name="Ukm" + label="Restricted to UKM source id types. Deprecated and replaced by + 'Default' in 2020/05."/> <affected-histogram name="UKM.Sources.SerializedCount2"/> </histogram_suffixes> @@ -207231,6 +213396,14 @@ regressions. --> <affected-histogram name="V8.WasmModuleSizeBytes"/> </histogram_suffixes> +<histogram_suffixes name="VariationsHeadersURLValidationResult" separator="."> + <suffix name="Append" + label="Result when checking whether to append a header."/> + <suffix name="Remove" + label="Result when checking whether to remove a header."/> + <affected-histogram name="Variations.Headers.URLValidationResult"/> +</histogram_suffixes> + <histogram_suffixes name="VideoAdaptationReason" separator="."> <suffix name="Cpu" label="Adapt reason: CPU."/> <suffix name="Quality" label="Adapt reason: quality."/> @@ -207303,6 +213476,9 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="VR.Mode" separator="."> + <obsolete> + Removed 06/2020. + </obsolete> <suffix name="AllVR" label="Entered either VR Browsing or WebVR mode."/> <suffix name="VRBrowsing" label="Entered VR Browsing Mode."/> <suffix name="WebVRPresentation" @@ -207320,6 +213496,9 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="VRRuntimeVersionGVRHeadset" separator="."> + <obsolete> + Removed 06/2020. + </obsolete> <suffix name="Cardboard" label="GVR version used with Carboard."/> <suffix name="Daydream" label="GVR version used with Daydream."/> <suffix name="Unknown" label="GVR version used with an unknown headset."/> @@ -207327,6 +213506,9 @@ regressions. --> </histogram_suffixes> <histogram_suffixes name="VRRuntimeVersionPlatform" separator="."> + <obsolete> + Removed 06/2020. + </obsolete> <suffix name="GVR" label="The GVR version being used for VR. Special values: (-4) Could not encode GVR version; (-3) Device does not support VR; (-2) diff --git a/chromium/tools/metrics/histograms/merge_xml.py b/chromium/tools/metrics/histograms/merge_xml.py index 71fc1327469..de5441c8935 100755 --- a/chromium/tools/metrics/histograms/merge_xml.py +++ b/chromium/tools/metrics/histograms/merge_xml.py @@ -6,10 +6,14 @@ """A script to merge multiple source xml files into a single histograms.xml.""" import argparse +import os +import sys import xml.dom.minidom import expand_owners import extract_histograms +import histograms_print_style +import populate_enums def GetElementsByTagName(trees, tag): @@ -25,6 +29,32 @@ def GetElementsByTagName(trees, tag): return list(e for t in trees for e in iterator(t, tag, 2)) +def GetEnumsNodes(doc, trees): + """Gets all enums from a set of DOM trees. + + If trees contain ukm events, populates a list of ints to the + "UkmEventNameHash" enum where each value is a ukm event name hash truncated + to 31 bits and each label is the corresponding event name. + + Args: + doc: The document to create the node in. + trees: A list of DOM trees. + Returns: + A list of enums DOM nodes. + """ + enums_list = GetElementsByTagName(trees, 'enums') + ukm_events = GetElementsByTagName( + GetElementsByTagName(trees, 'ukm-configuration'), 'event') + # Early return if there are not ukm events provided. MergeFiles have callers + # that do not pass ukm events so, in that case, we don't need to iterate + # the enum list. + if not ukm_events: + return enums_list + for enums in enums_list: + populate_enums.PopulateEnumsWithUkmEvents(doc, enums, ukm_events) + return enums_list + + def MakeNodeWithChildren(doc, tag, children): """Creates a DOM node with specified tag and child nodes. @@ -55,30 +85,38 @@ def MergeTrees(trees): doc.appendChild(MakeNodeWithChildren(doc, 'histogram-configuration', # This can result in the merged document having multiple <enums> and # similar sections, but scripts ignore these anyway. - GetElementsByTagName(trees, 'enums') + + GetEnumsNodes(doc, trees) + GetElementsByTagName(trees, 'histograms') + GetElementsByTagName(trees, 'histogram_suffixes_list'))) return doc -def MergeFiles(filenames): +def MergeFiles(filenames=[], files=[]): """Merges a list of histograms.xml files. Args: filenames: A list of histograms.xml filenames. + files: A list of histograms.xml file-like objects. Returns: A merged DOM tree. """ - trees = [xml.dom.minidom.parse(open(f)) for f in filenames] + all_files = files + [open(f) for f in filenames] + trees = [xml.dom.minidom.parse(f) for f in all_files] return MergeTrees(trees) +def PrettyPrintMergedFiles(filenames=[], files=[]): + return histograms_print_style.GetPrintStyle().PrettyPrintXml( + MergeFiles(filenames=filenames, files=files)) + + def main(): parser = argparse.ArgumentParser() parser.add_argument('inputs', nargs="+") parser.add_argument('--output', required=True) args = parser.parse_args() - MergeFiles(args.inputs).writexml(open(args.output, 'w')) + with open(args.output, 'w') as f: + f.write(PrettyPrintMergedFiles(args.inputs)) if __name__ == '__main__': diff --git a/chromium/tools/metrics/histograms/merge_xml_test.py b/chromium/tools/metrics/histograms/merge_xml_test.py new file mode 100644 index 00000000000..1884d2c8273 --- /dev/null +++ b/chromium/tools/metrics/histograms/merge_xml_test.py @@ -0,0 +1,160 @@ +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import unittest + +import histogram_paths +import merge_xml + + +class MergeXmlTest(unittest.TestCase): + + def testMergeFiles(self): + """Checks that enums.xml and histograms.xml can merge successfully.""" + merged = merge_xml.PrettyPrintMergedFiles( + [histogram_paths.TEST_ENUMS_XML, histogram_paths.TEST_HISTOGRAMS_XML]) + # If ukm.xml is not provided, there is no need to populate the + # UkmEventNameHash enum. + expected_merged_xml = """ +<histogram-configuration> + +<enums> + +<enum name="Enum1"> + <int value="0" label="Value0"/> + <int value="1" label="Value1"/> +</enum> + +<enum name="TestEnum"> + <int value="0" label="Value0"/> + <int value="1" label="Value1"/> +</enum> + +<enum name="UkmEventNameHash"> +<!-- Placeholder enum. The values are UKM event name hashes truncated to 31 + bits. This gets populated by the GetEnumsNodes function in merge_xml.py + when producing the merged XML file. --> + +</enum> + +</enums> + +<histograms> + +<histogram name="Foo.Bar" units="xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyzzzz"> + <summary>Foo</summary> + <owner>person@chromium.org</owner> + <component>Component</component> +</histogram> + +<histogram name="Test.EnumHistogram" enum="TestEnum" expires_after="M81"> + <owner>uma@chromium.org</owner> + <obsolete> + Obsolete message + </obsolete> + <summary>A enum histogram.</summary> +</histogram> + +<histogram name="Test.Histogram" units="microseconds"> + <obsolete> + Removed 6/2020. + </obsolete> + <owner>person@chromium.org</owner> + <summary>Summary 2</summary> +</histogram> + +</histograms> + +<histogram_suffixes_list> + +<histogram_suffixes name="Test.HistogramSuffixes" separator="."> + <suffix name="TestSuffix" label="A histogram_suffixes"/> + <affected-histogram name="Test.Histogram"/> +</histogram_suffixes> + +</histogram_suffixes_list> + +</histogram-configuration> +""" + self.maxDiff = None + self.assertEqual(expected_merged_xml.strip(), merged.strip()) + + def testMergeFiles_WithXmlEvents(self): + """Checks that the UkmEventNameHash enum is populated correctly. + + If ukm.xml is provided, populate a list of ints to the UkmEventNameHash enum + where where each value is a xml event name hash truncated to 31 bits and + each label is the corresponding event name. + """ + merged = merge_xml.PrettyPrintMergedFiles(histogram_paths.ALL_TEST_XMLS) + expected_merged_xml = """ +<histogram-configuration> + +<enums> + +<enum name="Enum1"> + <int value="0" label="Value0"/> + <int value="1" label="Value1"/> +</enum> + +<enum name="TestEnum"> + <int value="0" label="Value0"/> + <int value="1" label="Value1"/> +</enum> + +<enum name="UkmEventNameHash"> +<!-- Placeholder enum. The values are UKM event name hashes truncated to 31 + bits. This gets populated by the GetEnumsNodes function in merge_xml.py + when producing the merged XML file. --> + + <int value="324605288" label="AbusiveExperienceHeuristic.WindowOpen"/> + <int value="1621538456" label="AbusiveExperienceHeuristic.TabUnder"/> + <int value="1913876024" label="Autofill.SelectedMaskedServerCard (Obsolete)"/> +</enum> + +</enums> + +<histograms> + +<histogram name="Foo.Bar" units="xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyzzzz"> + <summary>Foo</summary> + <owner>person@chromium.org</owner> + <component>Component</component> +</histogram> + +<histogram name="Test.EnumHistogram" enum="TestEnum" expires_after="M81"> + <owner>uma@chromium.org</owner> + <obsolete> + Obsolete message + </obsolete> + <summary>A enum histogram.</summary> +</histogram> + +<histogram name="Test.Histogram" units="microseconds"> + <obsolete> + Removed 6/2020. + </obsolete> + <owner>person@chromium.org</owner> + <summary>Summary 2</summary> +</histogram> + +</histograms> + +<histogram_suffixes_list> + +<histogram_suffixes name="Test.HistogramSuffixes" separator="."> + <suffix name="TestSuffix" label="A histogram_suffixes"/> + <affected-histogram name="Test.Histogram"/> +</histogram_suffixes> + +</histogram_suffixes_list> + +</histogram-configuration> +""" + self.maxDiff = None + self.assertEqual(expected_merged_xml.strip(), merged.strip()) + + +if __name__ == '__main__': + unittest.main() diff --git a/chromium/tools/metrics/histograms/populate_enums.py b/chromium/tools/metrics/histograms/populate_enums.py new file mode 100644 index 00000000000..8be71a2e3f9 --- /dev/null +++ b/chromium/tools/metrics/histograms/populate_enums.py @@ -0,0 +1,72 @@ +# Copyright 2017 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Functions for populating enums with ukm events.""" + +from collections import namedtuple +import os +import sys +import xml.dom.minidom + +import extract_histograms + +sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'ukm')) +import codegen + + +EventDetails = namedtuple("EventDetails", "name hash is_obsolete") + + +def _GetEventDetails(event): + """Returns a simple struct containing the event details. + + Args: + event: An event. + + Returns: + A struct containing the event name, name hash, and whether the event is + obsolete. + """ + name = event.getAttribute('name') + # The value is UKM event name hash truncated to 31 bits. This is recorded in + # https://cs.chromium.org/chromium/src/components/ukm/ukm_recorder_impl.cc?rcl=728ad079d8e52ada4e321fb4f53713e4f0588072&l=114 + hash = codegen.HashName(name) & 0x7fffffff + is_obsolete = event.getElementsByTagName('obsolete') + return EventDetails(name=name, hash=hash, is_obsolete=is_obsolete) + + +def PopulateEnumWithUkmEvents(doc, enum, ukm_events): + """Populates the enum node with a list of ukm events. + + Args: + doc: The document to create the node in. + enum: The enum node needed to be populated. + ukm_events: A list of ukm event nodes. + """ + event_details = [_GetEventDetails(event) for event in ukm_events] + event_details.sort(key=lambda event: event.hash) + + for event in event_details: + node = doc.createElement('int') + node.attributes['value'] = str(event.hash) + label = event.name + # If the event is obsolete, mark it in the int's label. + if event.is_obsolete: + label += ' (Obsolete)' + node.attributes['label'] = label + enum.appendChild(node) + + +def PopulateEnumsWithUkmEvents(doc, enums, ukm_events): + """Populates enum nodes in the enums with a list of ukm events + + Args: + doc: The document to create the node in. + enums: The enums node to be iterated. + ukm_events: A list of ukm event nodes. + """ + for enum in extract_histograms.IterElementsWithTag(enums, 'enum', 1): + # We only special case 'UkmEventNameHash' currently. + if enum.getAttribute('name') == 'UkmEventNameHash': + PopulateEnumWithUkmEvents(doc, enum, ukm_events) diff --git a/chromium/tools/metrics/histograms/print_histogram_names.py b/chromium/tools/metrics/histograms/print_histogram_names.py index d4f5d11bd60..c03399ad01b 100755 --- a/chromium/tools/metrics/histograms/print_histogram_names.py +++ b/chromium/tools/metrics/histograms/print_histogram_names.py @@ -7,8 +7,16 @@ from __future__ import print_function +import argparse import os +import subprocess import sys +import tempfile + +try: + from StringIO import StringIO # for Python 2 +except ImportError: + from io import StringIO # for Python 3 sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common')) import path_util @@ -17,15 +25,73 @@ import extract_histograms import histogram_paths import merge_xml -def main(): - doc = merge_xml.MergeFiles(histogram_paths.ALL_XMLS) + +def get_names(xml_files): + doc = merge_xml.MergeFiles(files=xml_files) histograms, had_errors = extract_histograms.ExtractHistogramsFromDom(doc) if had_errors: raise Error("Error parsing inputs.") - names = extract_histograms.ExtractNames(histograms) - for name in names: + return extract_histograms.ExtractNames(histograms) + + +def histogram_xml_files(): + return [open(f) for f in histogram_paths.ALL_XMLS] + + +def get_diff(revision): + """Returns the added / removed histogram names relative to git revision + + Args: + revision: A git revision as described in + https://git-scm.com/docs/gitrevisions + Returns: + A tuple of (added names, removed names), where each entry is sorted in + ascending order. + """ + + def get_file_at_revision(path): + """Returns a file-like object containing |path|'s content at |revision|""" + obj = "%s:%s" % (revision, path) + contents = subprocess.check_output( + ("git", "cat-file", "--textconv", obj)).decode() + + # Just store the contents in memory. histograms.xml is big, but it isn't + # _that_ big. + return StringIO(contents) + + current_histogram_names = set(get_names(histogram_xml_files())) + prev_histogram_names = set( + get_names( + [get_file_at_revision(p) for p in histogram_paths.ALL_XMLS_RELATIVE])) + + added_names = sorted(list(current_histogram_names - prev_histogram_names)) + removed_names = sorted(list(prev_histogram_names - current_histogram_names)) + return (added_names, removed_names) + + +def print_diff_names(revision): + added_names, removed_names = get_diff(revision) + print("%d histograms added:" % len(added_names)) + for name in added_names: print(name) + print("%d histograms removed:" % len(removed_names)) + for name in removed_names: + print(name) + + +def main(argv): + parser = argparse.ArgumentParser(description='Print histogram names.') + parser.add_argument('--diff', + type=str, + help='Git revision to diff against (e.g. HEAD~)') + args = parser.parse_args(argv[1:]) + if args.diff is not None: + print_diff_names(args.diff) + else: + for name in get_names(histogram_xml_files()): + print(name) + if __name__ == '__main__': - main() + main(sys.argv) diff --git a/chromium/tools/metrics/histograms/test_data/enums.xml b/chromium/tools/metrics/histograms/test_data/enums.xml new file mode 100644 index 00000000000..cf4d1b7628b --- /dev/null +++ b/chromium/tools/metrics/histograms/test_data/enums.xml @@ -0,0 +1,26 @@ +<histogram-configuration> + + <!-- Enum types --> + +<enums> + +<enum name="Enum1"> + <int value="0" label="Value0"/> + <int value="1" label="Value1"/> +</enum> + +<enum name="TestEnum"> + <int value="0" label="Value0"/> + <int value="1" label="Value1"/> +</enum> + +<enum name="UkmEventNameHash"> +<!-- Placeholder enum. The values are UKM event name hashes truncated to 31 + bits. This gets populated by the GetEnumsNodes function in merge_xml.py + when producing the merged XML file. --> + +</enum> + +</enums> + +</histogram-configuration>
\ No newline at end of file diff --git a/chromium/tools/metrics/histograms/test_data/histograms.xml b/chromium/tools/metrics/histograms/test_data/histograms.xml new file mode 100644 index 00000000000..1830b906b7e --- /dev/null +++ b/chromium/tools/metrics/histograms/test_data/histograms.xml @@ -0,0 +1,44 @@ +<histogram-configuration> + + <!-- Second level Comment 1 --> + +<histograms> + +<histogram name="Foo.Bar" units="xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyzzzz"> + <summary>Foo</summary> + <owner>person@chromium.org</owner> + <component>Component</component> +</histogram> + +<histogram name="Test.Histogram" units="microseconds"> + <obsolete> + Removed 6/2020. + </obsolete> + <owner>person@chromium.org</owner> + <summary> + Summary 2 + </summary> +</histogram> + +<histogram name="Test.EnumHistogram" enum="TestEnum" expires_after="M81"> + <owner>uma@chromium.org</owner> + <obsolete> + Obsolete message + </obsolete> + <summary> + A enum histogram. + </summary> +</histogram> + +</histograms> + +<histogram_suffixes_list> + +<histogram_suffixes name="Test.HistogramSuffixes" separator="."> + <suffix name="TestSuffix" label="A histogram_suffixes"/> + <affected-histogram name="Test.Histogram"/> +</histogram_suffixes> + +</histogram_suffixes_list> + +</histogram-configuration>
\ No newline at end of file diff --git a/chromium/tools/metrics/histograms/test_data/ukm.xml b/chromium/tools/metrics/histograms/test_data/ukm.xml new file mode 100644 index 00000000000..e5b9dc6e439 --- /dev/null +++ b/chromium/tools/metrics/histograms/test_data/ukm.xml @@ -0,0 +1,44 @@ +<ukm-configuration> + +<event name="AbusiveExperienceHeuristic.TabUnder"> + <owner>csharrison@chromium.org</owner> + <metric name="DidTabUnder"> + <summary> + True if the page attempted a tab-under navigation. + </summary> + </metric> +</event> + +<event name="AbusiveExperienceHeuristic.WindowOpen"> + <owner>yaoxia@chromium.org</owner> + <summary> + Recorded whenever window.open() is called when AdTagging is enabled. + </summary> + <metric name="FromAdScript"> + <summary> + True if the page called window.open() with an ad script in the stack. + </summary> + </metric> + <metric name="FromAdSubframe"> + <summary> + True if the page called window.open() from an ad subframe. + </summary> + </metric> +</event> + +<event name="Autofill.SelectedMaskedServerCard"> + <obsolete> + Deprecated 2/2019 + </obsolete> + <owner>jiahuiguo@google.com</owner> + <metric name="MillisecondsSinceFormParsed"> + <summary> + Obsolete. + + Time since form parse. + </summary> + </metric> +</event> + + +</ukm-configuration> diff --git a/chromium/tools/metrics/ukm/builders_template.py b/chromium/tools/metrics/ukm/builders_template.py index a94edc3f625..5ae0bdd0eec 100644 --- a/chromium/tools/metrics/ukm/builders_template.py +++ b/chromium/tools/metrics/ukm/builders_template.py @@ -48,13 +48,12 @@ metric_template=""" {event.name}& Set{metric.name}(int64_t value); """) -IMPL = codegen.Template( -basename="ukm_builders.cc", -file_template=""" +IMPL = codegen.Template(basename="ukm_builders.cc", + file_template=""" // Generated from gen_builders.py. DO NOT EDIT! // source: ukm.xml -#include "{file.dir_path}/ukm_builders.h" +#include "{file.dir_path}ukm_builders.h" namespace ukm {{ namespace builders {{ @@ -64,8 +63,9 @@ namespace builders {{ }} // namespace builders }} // namespace ukm """, -event_template=""" + event_template=""" const char {event.name}::kEntryName[] = "{event.raw_name}"; +const uint64_t {event.name}::kEntryNameHash; {event.name}::{event.name}(ukm::SourceId source_id) : ::ukm::internal::UkmEntryBuilderBase(source_id, kEntryNameHash) {{ @@ -79,8 +79,9 @@ const char {event.name}::kEntryName[] = "{event.raw_name}"; {metric_code} """, -metric_template=""" + metric_template=""" const char {event.name}::k{metric.name}Name[] = "{metric.raw_name}"; +const uint64_t {event.name}::k{metric.name}NameHash; {event.name}& {event.name}::Set{metric.name}(int64_t value) {{ SetMetricInternal(k{metric.name}NameHash, value); diff --git a/chromium/tools/metrics/ukm/gen_builders_test.py b/chromium/tools/metrics/ukm/gen_builders_test.py index a0c69fa6608..1ca15e52c9a 100755 --- a/chromium/tools/metrics/ukm/gen_builders_test.py +++ b/chromium/tools/metrics/ukm/gen_builders_test.py @@ -71,6 +71,7 @@ class {name} final : public ::ukm::internal::UkmEntryBuilderBase {{ self.assertIn( """ const char {name}::kEntryName[] = "{rawName}"; +const uint64_t {name}::kEntryNameHash; {name}::{name}(ukm::SourceId source_id) : ::ukm::internal::UkmEntryBuilderBase(source_id, kEntryNameHash) {{ @@ -84,6 +85,7 @@ const char {name}::kEntryName[] = "{rawName}"; self.assertIn( """ const char {eventName}::k{metricName}Name[] = "{metricRawName}"; +const uint64_t {eventName}::k{metricName}NameHash; {eventName}& {eventName}::Set{metricName}(int64_t value) {{ SetMetricInternal(k{metricName}NameHash, value); diff --git a/chromium/tools/metrics/ukm/ukm.xml b/chromium/tools/metrics/ukm/ukm.xml index fc0c5c93253..0bb2e8816d1 100644 --- a/chromium/tools/metrics/ukm/ukm.xml +++ b/chromium/tools/metrics/ukm/ukm.xml @@ -80,6 +80,26 @@ be describing additional metrics about the same event. </metric> </event> +<event name="Accessibility.Renderer"> + <owner>dmazzoni@chromium.org</owner> + <summary> + Tracks the amount of time sending accessibility events from web renderers. + </summary> + <metric name="CpuTime.SendPendingAccessibilityEvents"> + <summary> + The amount of time spent in + RenderAccessibilityImpl.SendPendingAccessibilityEvents + </summary> + <aggregation> + <history> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> +</event> + <event name="AdFrameLoad"> <owner>johnidel@chromium.org</owner> <owner>jkarlin@chromium.org</owner> @@ -364,6 +384,12 @@ be describing additional metrics about the same event. A contentful paint includes a paint of text, image, SVG, or canvas. </summary> </metric> + <metric name="SubFrame.PaintTiming.NavigationToFirstPaint"> + <summary> + Measures the time in milliseconds from navigation timing's navigation + start to the time the first paint is performed, in the AMP subframe. + </summary> + </metric> <metric name="SubFrame.PaintTiming.NavigationToLargestContentfulPaint"> <summary> Measures the time in milliseconds from navigation timing's navigation @@ -983,6 +1009,33 @@ be describing additional metrics about the same event. </metric> </event> +<event name="Autofill.EditedAutofilledFieldAtSubmission"> + <owner>koerber@google.com</owner> + <owner>battre@google.com</owner> + <summary> + Records when a user edits a value that was filled by autofill. + </summary> + <metric name="FieldSignature"> + <summary> + The signature of the field. This is the hash identifier used to denote + this field for query and voting purposes. See + components/autofill/core/common/signatures_util.cc for more details. + </summary> + </metric> + <metric name="FormSignature"> + <summary> + The signature of the form. This is the hash identifier used to denote this + form for query and voting purposes. See + components/autofill/core/common/signatures_util.cc for more details. + </summary> + </metric> + <metric name="OverallType" enum="AutofillServerFieldType"> + <summary> + Field's overall |ServerFieldType|. See: autofill::ServerFieldType + </summary> + </metric> +</event> + <event name="Autofill.FieldFillStatus"> <owner>rogerm@chromium.org</owner> <summary> @@ -1790,11 +1843,13 @@ be describing additional metrics about the same event. </summary> </metric> <metric name="ProxyCommit"> + <obsolete> + Removed in M84 in favor of separate ImplCompositorCommit and WaitForCommit + metrics. + </obsolete> <summary> The time spent committing main thread to impl layer tree information, between navigation and First Contentful Paint, in microseconds. - TODO(crbug.com/1058065): Should be obsolete. Removed February 2020 in - favor of separate metrics for the wait time and the actual commit time. </summary> </metric> <metric name="ScrollingCoordinator"> @@ -1833,6 +1888,21 @@ be describing additional metrics about the same event. </metric> </event> +<event name="Blink.Script.AsyncScripts" singular="True"> + <owner>dom@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + Metrics associated with the async script count associated with a document, + recorded when the HTML parsing of a mainframe has completed. + </summary> + <metric name="AsyncScriptCount"> + <summary> + The total number of async scripts associated with a document at the time + parsing has finished. + </summary> + </metric> +</event> + <event name="Blink.UpdateTime"> <owner>schenney@chromium.org</owner> <owner>paint-dev@chromium.org</owner> @@ -2488,11 +2558,13 @@ be describing additional metrics about the same event. </summary> </metric> <metric name="ProxyCommit"> + <obsolete> + Removed in M84 in favor of separate ImplCompositorCommit and WaitForCommit + metrics. + </obsolete> <summary> The time taken for the proxy to commit to the impl thread in microseconds - during the sampled frame. TODO(crbug.com/1058065): Should be obsolete. - Removed February 2020 in favor of separate metrics for the wait time and - the actual commit time. + during the sampled frame. </summary> <aggregation> <history> @@ -2504,11 +2576,13 @@ be describing additional metrics about the same event. </aggregation> </metric> <metric name="ProxyCommitPercentage"> + <obsolete> + Removed in M84 in favor of separate ImplCompositorCommit and WaitForCommit + metrics. + </obsolete> <summary> The percentage of the main frame time used to commit to the impl thread. - An int in the range [0,100]. TODO(crbug.com/1058065): Should be obsolete. - Removed February 2020 in favor of separate metrics for the wait time and - the actual commit time. + An int in the range [0,100]. </summary> </metric> <metric name="ScrollingCoordinator"> @@ -2924,6 +2998,12 @@ be describing additional metrics about the same event. option was displayed. </summary> </metric> + <metric name="ShopWithGoogleLens" enum="Boolean"> + <summary> + Recorded when the context menu is constructed and logged if the lens + shopping option was displayed. + </summary> + </metric> </event> <event name="ContextualSearch"> @@ -3732,6 +3812,20 @@ be describing additional metrics about the same event. </metric> </event> +<event name="Extensions.WebRequest.KeepaliveRequestFinished"> + <owner>yhirano@chromium.org</owner> + <owner>kinuko@chromium.org</owner> + <summary> + Whether and how keepalive requests are blocked. Recorded when a keepalive + request finishes. + </summary> + <metric name="State" enum="ExtensionInProgressRequestState"> + <summary> + The final state of the request. + </summary> + </metric> +</event> + <event name="FontMatchAttempts"> <owner>caraitto@chromium.org</owner> <owner>pauljensen@chromium.org</owner> @@ -3885,6 +3979,183 @@ be describing additional metrics about the same event. </metric> </event> +<event name="Graphics.Smoothness.EventLatency"> + <owner>mohsen@chromium.org</owner> + <owner>sadrul@chromium.org</owner> + <summary> + Tracks the duration of stages in the rendering pipeline when processing a + single frame in response to an input event. To meet UKM goals for data + volume, a Poisson process with an exponential decay multipler is used to + sample events for recporting. It will sample many reandomly distributed + events early during page load and initial interaction, then samples at an + exponentially decreasing rate to effectively cap the number of samples. All + times are in microseconds. + </summary> + <metric name="Activation"> + <summary> + The duration of the activation stage. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="BeginImplFrameToSendBeginMainFrame"> + <summary> + The time from when the Impl frame is started to when BeginMainFrame is + sent. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="BrowserToRendererCompositor"> + <summary> + The time from when the event is created in the browser until the first + compositor stage after the event arrives in the renderer. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="Commit"> + <summary> + The duration of the commit stage. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="EndActivateToSubmitCompositorFrame"> + <summary> + The time from when an activation is complete to the next + SubmitCompositorFrame. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="EndCommitToActivation"> + <summary> + The time from when a commit is complete to the beginning of the next + activation. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="EventType" enum="EventLatencyEventType"> + <summary> + Type of the input event. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="ScrollInputType" enum="EventLatencyScrollInputType"> + <summary> + Type of the input device for scroll and pinch events. + </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="SendBeginMainFrameToCommit"> + <summary> + The time from when the BeginMainFrame is sent to the beginning of the + commit. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="SubmitCompositorFrameToPresentationCompositorFrame"> + <summary> + The time from when a compositor frame is submitted to the display + compositor to when it is presented. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="TotalLatency"> + <summary> + The total time from when the event is created in the browser to when the + frame is presented. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric name="TotalLatencyToSwapEnd"> + <summary> + The time from when the event is created in the browser to when the + gpu-swap is completed, for scroll and pinch events. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> +</event> + <event name="Graphics.Smoothness.Latency"> <owner>animations-dev@chromium.org</owner> <owner>sadrul@chromium.org</owner> @@ -4673,7 +4944,7 @@ be describing additional metrics about the same event. partition the results. The name suffix (.626) was chosen so that the resulting metric hash as - determined by base::DigestForMetrics() has all 8 LSBs set to 0. Such a + determined by base::HashMetricName() has all 8 LSBs set to 0. Such a metric hash does not collide with any other metric hash generated by blink::IdentifiabilityMetricBuilder(). </summary> @@ -4707,6 +4978,24 @@ be describing additional metrics about the same event. </history> </aggregation> </metric> + <metric name="InteractiveTiming.ProcessingTime"> + <summary> + Measures Input Event processing time, the duration of event handlers + processing the input event. In ms. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <index fields="profile.country,profile.system_ram"/> + <index fields="profile.is_dominant_version"/> + <index fields="profile.is_latest_version"/> + <index fields="profile.system_ram"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> </event> <event name="Intervention.DocumentWrite.ScriptBlock" singular="True"> @@ -4896,6 +5185,34 @@ be describing additional metrics about the same event. </metric> </event> +<event name="LiteVideo"> + <owner>mcrouse@chromium.org</owner> + <owner>rajendrant@chromium.org</owner> + <summary> + Metrics that capture the state and result of the LiteVideo optimization. + This will be recorded once per frame when the associated render process + ends. Only for Lite mode users on Android. + </summary> + <metric name="BlocklistReason" enum="LiteVideoBlocklistReason"> + <summary> + The reason that a navigation was blocklisted and will not have media + requests throttled. + </summary> + </metric> + <metric name="ThrottlingResult" enum="LiteVideoThrottleResult"> + <summary> + The result for whether media requests associated with this navigation were + successfully throttled or stopped due to an opt-out event. + </summary> + </metric> + <metric name="ThrottlingStartDecision" enum="LiteVideoDecision"> + <summary> + The decision for whether media requests associated with this frame will be + potentially throttled. + </summary> + </metric> +</event> + <event name="LoadingPredictor" singular="true"> <owner>sophiechang@chromium.org</owner> <owner>tbansal@chromium.org</owner> @@ -6076,6 +6393,43 @@ be describing additional metrics about the same event. </metric> </event> +<event name="MediaRouter.CastWebSenderExtensionLoadUrl" singular="True"> + <owner>rwkeane@chromium.org</owner> + <owner>openscreen-eng@google.com</owner> + <summary> + Records that the a resource has been loaded from the Media Router Component + Extension. + </summary> + <metric name="HasOccurred" enum="Boolean"> + <summary> + A boolean signaling that the event has occurred; only records true values. + </summary> + </metric> +</event> + +<event name="MediaRouter.SiteInitiatedMirroringStarted"> + <owner>muyaoxu@google.com</owner> + <owner>openscreen-eng@google.com</owner> + <summary> + Recorded whenever user starts a site-initiated mirroring session via Media + Router. + </summary> + <metric name="AllowAudioCapture" enum="BooleanAllowed"> + <summary> + Whether audio capture is allowed in the cast session. If allowed, audio + playback will happen on the receiver side. If not allowed, audio playback + will happen on the sender side. + </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> + </metric> +</event> + <event name="MediaRouter.TabMirroringStarted"> <owner>takumif@chromium.org</owner> <owner>openscreen-eng@google.com</owner> @@ -6118,6 +6472,11 @@ be describing additional metrics about the same event. Measure of memory consumed by live allocations made from Oilpan. </summary> </metric> + <metric name="CanvasResourceProvider.SkSurface"> + <summary> + Measure of memory used due to CanvasResourceProvider's SkSurface. + </summary> + </metric> <metric name="CommandBuffer"> <summary> Measure of memory consumed by GL command buffer. @@ -6493,11 +6852,27 @@ be describing additional metrics about the same event. <summary> Measure of memory consumed by V8. </summary> + <aggregation> + <history> + <index fields="metrics.ProcessType"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> </metric> <metric name="V8.AllocatedObjects"> <summary> Measure of memory consumed by live objects in V8. </summary> + <aggregation> + <history> + <index fields="metrics.ProcessType"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> </metric> <metric name="V8.Main"> <summary> @@ -6963,6 +7338,74 @@ be describing additional metrics about the same event. </metric> </event> +<event name="NavigationTiming" singular="True"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + Metrics associated with main frame navigation. + </summary> + <metric name="EarlyHintsForFinalRequest"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The time relative to navigation start that the headers of the 103 Early + Hints response are received in reply to the final HTTP request for the + main resource of a main frame navigation. + </summary> + </metric> + <metric name="EarlyHintsForFirstRequest"> + <owner>nhiroki@chromium.org</owner> + <owner>chrome-loading@google.com</owner> + <summary> + The time relative to navigation start that the headers of the 103 Early + Hints response are received in reply to the first HTTP request for the + main resource of a main frame navigation. + </summary> + </metric> + <metric name="FinalLoaderCallback"> + <summary> + The time relative to navigation start that a callback for the navigation + loader is last invoked for the main resource of a main frame navigation. + </summary> + </metric> + <metric name="FinalRequestStart"> + <summary> + The time relative to navigation start that the final HTTP request is sent + for the main resource of a main frame navigation. + </summary> + </metric> + <metric name="FinalResponseStart"> + <summary> + The time relative to navigation start that the headers of the final HTTP + response are received for the main resource of a main frame navigation. + </summary> + </metric> + <metric name="FirstLoaderCallback"> + <summary> + The time relative to navigation start that a callback for the navigation + loader is first invoked for the main resource of a main frame navigation. + </summary> + </metric> + <metric name="FirstRequestStart"> + <summary> + The time relative to navigation start that the first HTTP request is sent + for the main resource of a main frame navigation. + </summary> + </metric> + <metric name="FirstResponseStart"> + <summary> + The time relative to navigation start that the headers of the first HTTP + response are received for the main resource of a main frame navigation. + </summary> + </metric> + <metric name="NavigationCommitSent"> + <summary> + The time relative to navigation start that navigation commit message for a + main frame navigation is sent to a renderer process. + </summary> + </metric> +</event> + <event name="Net.LegacyTLSVersion"> <owner>davidben@chromium.org</owner> <summary> @@ -7302,7 +7745,9 @@ be describing additional metrics about the same event. </metric> <metric name="ForegroundNumInputEvents"> <summary> - The number of Input Events, recorded each time the page is backgrounded. + The number of Input Events, including click, tap, key press, cancellable + touchstart, or pointer down followed by apointer up. This metric gets + recorded each time the page is backgrounded. </summary> <aggregation> <history> @@ -7628,6 +8073,24 @@ be describing additional metrics about the same event. </history> </aggregation> </metric> + <metric name="InteractiveTiming.FirstInputProcessingTimes"> + <summary> + Measures First Input Processing Time, the duration of event handlers + processing the first input event. In ms. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <index fields="profile.country,profile.system_ram"/> + <index fields="profile.is_dominant_version"/> + <index fields="profile.is_latest_version"/> + <index fields="profile.system_ram"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> <metric name="InteractiveTiming.FirstInputTimestamp"> <obsolete> Deprecated on January 2019 in favor of @@ -7683,6 +8146,13 @@ be describing additional metrics about the same event. detailed explanation. In ms. </summary> </metric> + <metric name="InteractiveTiming.FirstScrollDelay"> + <summary> + Measures the time, in milliseconds, from when a user starts scrolling + until the result shows up on screen if the scroll was the first scroll + since navigation. + </summary> + </metric> <metric name="InteractiveTiming.LongestInputDelay"> <obsolete> Deprecated on January 2019 in favor of @@ -7781,7 +8251,8 @@ be describing additional metrics about the same event. </metric> <metric name="InteractiveTiming.NumInputEvents"> <summary> - The number of Input Events. + The number of Input Events, including click, tap, key press, cancellable + touchstart, or pointer down followed by a pointer up. </summary> <aggregation> <history> @@ -7999,11 +8470,23 @@ be describing additional metrics about the same event. </summary> </metric> <metric name="Navigation.PageEndReason"> + <obsolete> + Deprecated May 2020 in favor of Navigation.PageEndReason2. + </obsolete> <summary> The |page_load_metrics::PageEndReason| for the main frame navigation of this page load. </summary> </metric> + <metric name="Navigation.PageEndReason2" enum="PageEndReason"> + <summary> + The |page_load_metrics::PageEndReason| for the main frame navigation of + this page load. Replaced Navigation.PageEndReason at the end of May 2020 + to reduce occurrences of page_load_metrics::PageEndReason::END_NONE by + setting the value to page_load_metrics::PageEndReason::END_HIDDEN when the + metric is recorded due to the page becoming hidden. + </summary> + </metric> <metric name="Navigation.PageTransition"> <summary> The |ui::PageTransition| for the main frame navigation of this page load. @@ -8018,12 +8501,13 @@ be describing additional metrics about the same event. </summary> </metric> <metric name="Net.CacheBytes"> + <obsolete> + Deprecated 06/2019 in favor of Net.CacheBytes2. + </obsolete> <summary> The total number of body bytes loaded from cache for all resources on the page. This is rounded down to the nearest exponential bucket (with a - bucket spacing factor of 1.3). TODO(crbug.com/1058065): Should be - obsolete. Deprecated 06/2019 in favor of Net.CacheBytes2. (seems to be - used in Clang) + bucket spacing factor of 1.3). </summary> </metric> <metric name="Net.CacheBytes2"> @@ -8157,6 +8641,37 @@ be describing additional metrics about the same event. loads that failed in the foreground. </summary> </metric> + <metric name="PaintTiming.NavigationToExperimentalLargestContentfulPaint"> + <summary> + Measures the time in milliseconds from navigation timing's navigation + start to the time when the page first paints the largest content (text or + image) within viewport, across all frames. Differs from + PaintTiming.NavigationToLargestContentfulPaint in that this experimental + version includes content that has been removed. + </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <index fields="profile.country,profile.system_ram"/> + <index fields="profile.is_dominant_version"/> + <index fields="profile.is_latest_version"/> + <index fields="profile.system_ram"/> + <statistics> + <quantiles type="std-percentiles"/> + </statistics> + </history> + </aggregation> + </metric> + <metric + name="PaintTiming.NavigationToExperimentalLargestContentfulPaint.MainFrame"> + <summary> + Measures the time in milliseconds from navigation timing's navigation + start to the time when the page first paints the largest content (text or + image) within viewport, in the main frame. Differs from + PaintTiming.NavigationToLargestContentfulPaint.MainFrame in that this + experimental version includes content that has been removed. + </summary> + </metric> <metric name="PaintTiming.NavigationToFirstContentfulPaint"> <summary> Measures the time in milliseconds from navigation timing's navigation @@ -8269,6 +8784,63 @@ be describing additional metrics about the same event. </summary> </event> +<event name="PageLoad.Internal" singular="True"> + <owner>npm@chromium.org</owner> + <owner>speed-metrics-dev@chromium.org</owner> + <summary> + Debugging metrics for the PageLoad event that do not require the same amount + of sampling. + </summary> + <metric name="PaintTiming.ExperimentalLargestContentfulPaint.ContentType" + enum="LargestContentType"> + <summary> + Records whether the page's experimental version of largest contentful + paint, whose timestamp is measured by + PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint, comes + from text or image. This value is sampled and not on the PageLoad event, + so it is not always recorded whenever + PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint is + recorded. + </summary> + </metric> + <metric + name="PaintTiming.ExperimentalLargestContentfulPaint.TerminationState" + enum="LargestContentfulPaint.TerminationState"> + <summary> + Records the state of the experimental largest contentful paint algorithm + at the time in which the browser attempts to record + PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint. This + state depends on whether there was an experimental largest contentful + paint candidate or not and the foreground state of the page. This value is + sampled and not on the PageLoad event, so it is not always recorded + whenever the browser attempts to record + PageLoad.PaintTiming.NavigationToExperimentalLargestContentfulPaint. + </summary> + </metric> + <metric name="PaintTiming.LargestContentfulPaint.ContentType" + enum="LargestContentType"> + <summary> + Records whether the page's largest contentful paint, whose timestamp is + measured by PageLoad.PaintTiming.NavigationToLargestContentfulPaint, comes + from text or image. This value is sampled and not on the PageLoad event, + so it is not always recorded whenever + PageLoad.PaintTiming.NavigationToLargestContentfulPaint is recorded. + </summary> + </metric> + <metric name="PaintTiming.LargestContentfulPaint.TerminationState" + enum="LargestContentfulPaint.TerminationState"> + <summary> + Records the state of the largest contentful paint algorithm at the time in + which the browser attempts to record + PageLoad.PaintTiming.NavigationToLargestContentfulPaint. This state + depends on whether there was a largest contentful paint candidate or not + and the foreground state of the page. This value is sampled and not on the + PageLoad event, so it is not always recorded whenever the browser attempts + to record PageLoad.PaintTiming.NavigationToLargestContentfulPaint. + </summary> + </metric> +</event> + <event name="PageLoad.ServiceWorkerControlled" singular="True"> <owner>bmcquade@chromium.org</owner> <owner>falken@chromium.org</owner> @@ -8391,6 +8963,13 @@ be describing additional metrics about the same event. fields renderer ids, bit 2 - changes in autocomplete attributes, bit 3 - changes in form control types. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> <metric name="Fill.FirstFillingResultInRenderer" enum="PasswordManagerFirstRendererFillingResult"> @@ -8401,6 +8980,13 @@ be describing additional metrics about the same event. This is replicated as PasswordManager.FirstFillingResultInRenderer in UMA. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> <metric name="Fill.FirstWaitForUsernameReason" enum="PasswordManagerFirstWaitForUsernameReason"> @@ -8412,6 +8998,13 @@ be describing additional metrics about the same event. This is replicated as PasswordManager.FirstWaitForUsernameReason in UMA. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> <metric name="FillOnLoad"> <summary> @@ -8422,21 +9015,41 @@ be describing additional metrics about the same event. password_manager::PasswordFormMetricsRecorder::FillOnLoad. </summary> </metric> - <metric name="Generation.GeneratedPassword"> + <metric name="Generation.GeneratedPassword" enum="Boolean"> <summary> Records '1' if the user has generated a password on this form. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> - <metric name="Generation.GeneratedPasswordModified"> + <metric name="Generation.GeneratedPasswordModified" enum="Boolean"> <summary> Records '1' if the user has modified a generated a password on this form. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> - <metric name="Generation.PopupShown"> + <metric name="Generation.PopupShown" enum="PasswordGenerationPopupShown"> <summary> - Records a PasswordFormMetricsRecorder::PasswordGenerationPopupShown entry - if (and only if) a popup was shown. + Records an entry if (and only if) a popup was shown. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> <metric name="Generation.SpecPriority"> <obsolete> @@ -8510,27 +9123,45 @@ be describing additional metrics about the same event. for ReadonlyWhenFilling. </summary> </metric> - <metric name="Saving.Prompt.Interaction"> + <metric name="Saving.Prompt.Interaction" enum="PasswordBubbleDismissalReason"> <summary> - Records how the user interacted with a saving prompt. Recorded values - correspond to the enum PasswordFormMetricsRecorder::BubbleDismissalReason. + Records how the user interacted with a saving prompt. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> - <metric name="Saving.Prompt.Shown"> + <metric name="Saving.Prompt.Shown" enum="Boolean"> <summary> Records, for each password form seen by the password manager, whether the user was shown a prompt that asked for permission to save new credentials. In case a store() via the Credential Management API, a virtual password - form is created, for which this metric is recorded. Recorded values are 0 - and 1 for false and true. + form is created, for which this metric is recorded. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> - <metric name="Saving.Prompt.Trigger"> + <metric name="Saving.Prompt.Trigger" enum="PasswordBubbleTrigger"> <summary> Records the trigger of each password save bubble that was shown to the - user to ask for permission to save new credentials. Recorded values - correspond to the enum PasswordFormMetricsRecorder::BubbleTrigger. + user to ask for permission to save new credentials. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> <metric name="Saving.ShowedManualFallbackForSaving"> <summary> @@ -8541,33 +9172,58 @@ be describing additional metrics about the same event. update. </summary> </metric> - <metric name="Submission.Indicator"> + <metric name="Submission.Indicator" enum="SubmissionIndicatorEvent"> <summary> Records the event that led the password manager to believe the submission was successful. Metrics is recorded only when the password is saved. - Recorded values correspond to the enum - autofill::mojom::SubmissionIndicatorEvent. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> - <metric name="Submission.Observed"> + <metric name="Submission.Observed" enum="Boolean"> <summary> Records whether a submission of a password form has been observered. The values 0 and 1 correspond to false and true respectively. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> - <metric name="Submission.SubmissionResult"> + <metric name="Submission.SubmissionResult" + enum="PasswordFormSubmissionResult"> <summary> - Records the outcome of a password form submission. The values are numbered - according to PasswordFormMetricsRecorder::SubmitResult. Note that no - metric is recorded for kSubmitResultNotSubmitted. + Records the outcome of a password form submission. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> - <metric name="Submission.SubmittedFormType"> + <metric name="Submission.SubmittedFormType" enum="PasswordFormType"> <summary> - Records the classification of a form at submission time. The values - correspond to PasswordFormMetricsRecorder::SubmittedFormType. Note that no - metric is recorded for kSubmittedFormTypeUnspecified. + Records the classification of a form at submission time. + + This is replicated as PasswordManager.SubmittedFormType in UMA. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> <metric name="SuppressedAccount.Generated.HTTPSNotHTTP"> <obsolete> @@ -8667,25 +9323,45 @@ be describing additional metrics about the same event. enum SuppressedAccountExistence. </summary> </metric> - <metric name="Updating.Prompt.Interaction"> + <metric name="Updating.Prompt.Interaction" + enum="PasswordBubbleDismissalReason"> <summary> - Records how the user interacted with an updating prompt. Recorded values - correspond to the enum PasswordFormMetricsRecorder::BubbleDismissalReason. + Records how the user interacted with an updating prompt. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> - <metric name="Updating.Prompt.Shown"> + <metric name="Updating.Prompt.Shown" enum="Boolean"> <summary> Records, for each password form seen by the password manager, whether the user was shown a prompt that asked for permission to update existing - credentials. Recorded values are 0 and 1 for false and true. + credentials. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> - <metric name="Updating.Prompt.Trigger"> + <metric name="Updating.Prompt.Trigger" enum="PasswordBubbleTrigger"> <summary> Records the trigger of each password update bubble that was shown to the - user to ask for permission to update existing credentials. Recorded values - correspond to the enum PasswordFormMetricsRecorder::BubbleTrigger. + user to ask for permission to update existing credentials. </summary> + <aggregation> + <history> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> <metric name="User.Action"> <obsolete> @@ -8919,6 +9595,14 @@ be describing additional metrics about the same event. permission prompt, if any. </summary> </metric> + <metric name="SatisfiedAdaptiveTriggers"> + <summary> + A bitmask consisting of flags defined in enum type AdaptiveTriggers. A bit + is set if the corresponding adaptive triggering condition has been + satisfied at least once in the past for the user. This metric is not + recorded for users who don't have the activation dry run enabled. + </summary> + </metric> <metric name="Source"> <summary> An enum of type PermissionSourceUI. The UI surface for this action. @@ -9005,6 +9689,34 @@ be describing additional metrics about the same event. </metric> </event> +<event name="Portal.Activate"> + <owner>lfg@chromium.org</owner> + <summary> + A portal was activated. A portal activation enables a seamless transition + between different pages. See the portals explainer for more details: + https://github.com/WICG/portals/blob/master/README.md. + </summary> + <metric name="PaintTiming.PortalActivationToFirstPaint"> + <summary> + When this page load happened inside a Portal, this metrics records the + time in milliseconds between the portal activation and the first paint + after activation. + </summary> + </metric> + <metric name="PortalActivation"> + <summary> + Measures the time between LCP and the portal activation. Uses exponential + bucketing with a spacing of 2, with the units in milliseconds. + </summary> + </metric> + <metric name="PortalActivationBeforeLCP" enum="Boolean"> + <summary> + Indicates whether the portal activation happened before or after the + largest contentful paint. + </summary> + </metric> +</event> + <event name="PrefetchProxy" singular="True"> <owner>robertogden@chromium.org</owner> <owner>ryansturm@chromium.org</owner> @@ -9479,6 +10191,14 @@ be describing additional metrics about the same event. <summary> Whether the user activated Reader Mode via the omnibox badge. </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> </event> @@ -9495,6 +10215,14 @@ be describing additional metrics about the same event. Whether the distillability service determined the page to be distillable, i.e. likely to render well in Reader Mode. </summary> + <aggregation> + <history> + <index fields="profile.country"/> + <statistics> + <enumeration/> + </statistics> + </history> + </aggregation> </metric> </event> @@ -10596,9 +11324,18 @@ be describing additional metrics about the same event. attempted, and information about the outcome of the attempt. </summary> <metric name="FailureGlobalBlacklist" enum="Boolean"> + <obsolete> + Deprecated 06/2020. Replaced with FailureGlobalDisallowlist. + </obsolete> <summary> Boolean indicating that the tab was explicitly opted out of the - intervention via the global blacklist. + intervention via the global disallowlist. + </summary> + </metric> + <metric name="FailureGlobalDisallowlist" enum="Boolean"> + <summary> + Boolean indicating that the tab was explicitly opted out of the + intervention via the global disallowlist. </summary> </metric> <metric name="FailureHeuristicAudio" enum="Boolean"> @@ -10793,10 +11530,19 @@ be describing additional metrics about the same event. success bits are present the outcome is positive. </summary> </metric> + <metric name="SuccessGlobalAllowlist" enum="Boolean"> + <summary> + Boolean indicating that the tab was explicitly opted in to the + intervention via the global allowlist. + </summary> + </metric> <metric name="SuccessGlobalWhitelist" enum="Boolean"> + <obsolete> + Deprecated 06/2020. Replaced with SuccessGlobalAllowlist. + </obsolete> <summary> Boolean indicating that the tab was explicitly opted in to the - intervention via the global whitelist. + intervention via the global allowlist. </summary> </metric> <metric name="SuccessHeuristic" enum="Boolean"> diff --git a/chromium/tools/origin_trials/check_token.py b/chromium/tools/origin_trials/check_token.py index 29ad9348c6d..9fdbef28c00 100755 --- a/chromium/tools/origin_trials/check_token.py +++ b/chromium/tools/origin_trials/check_token.py @@ -46,6 +46,9 @@ PAYLOAD_OFFSET = PAYLOAD_LENGTH_OFFSET + PAYLOAD_LENGTH_SIZE VERSION2 = "\x02" VERSION3 = "\x03" +# Only empty string and "subset" are supported in alternative usage restriction. +USAGE_RESTRICTION = ["", "subset"] + # Chrome public key, used by default to validate signatures # - Copied from chrome/common/origin_trials/chrome_origin_trial_policy.cc CHROME_PUBLIC_KEY = [ @@ -212,7 +215,18 @@ def main(): is_subdomain = token_data.get("isSubdomain") is_third_party = token_data.get("isThirdParty") if (is_third_party is not None and version != VERSION3): - print("isThirdParty flag can only be be set in Version 3 token.") + print("The isThirdParty field can only be be set in Version 3 token.") + sys.exit(1) + + usage_restriction = token_data.get("usage") + if (usage_restriction is not None and version != VERSION3): + print("The usage field can only be be set in Version 3 token.") + sys.exit(1) + if (usage_restriction is not None and not is_third_party): + print("Only third party token supports alternative usage restriction.") + sys.exit(1) + if (usage_restriction not in USAGE_RESTRICTION): + print("Only empty string and \"subset\" are supported in the usage field.") sys.exit(1) # Output the token details @@ -222,6 +236,7 @@ def main(): print(" Is Subdomain: %s" % is_subdomain) if (version == VERSION3): print(" Is Third Party: %s" % is_third_party) + print(" Usage Restriction: %s" % usage_restriction) print(" Feature: %s" % trial_name) print(" Expiry: %d (%s UTC)" % (expiry, datetime.utcfromtimestamp(expiry))) print(" Signature: %s" % ", ".join('0x%02x' % ord(x) for x in signature)) diff --git a/chromium/tools/origin_trials/generate_token.py b/chromium/tools/origin_trials/generate_token.py index f229a78521d..a337810f472 100755 --- a/chromium/tools/origin_trials/generate_token.py +++ b/chromium/tools/origin_trials/generate_token.py @@ -10,7 +10,9 @@ usage: generate_token.py [-h] [--key-file KEY_FILE] --expire-timestamp EXPIRE_TIMESTAMP] [--is_subdomain | --no-subdomain] [--is_third-party | --no-third-party] - version origin trial_name + [--usage-restriction USAGE_RESTRICTION] + --version=VERSION + origin trial_name Run "generate_token.py -h" for more help on usage. """ @@ -40,6 +42,10 @@ DNS_LABEL_REGEX = re.compile(r"^(?!-)[a-z\d-]{1,63}(?<!-)$", re.IGNORECASE) # This script generates Version 2 and 3 tokens. VERSION = {"2": (2, "\x02"), "3": (3, "\x03")} +# Only empty string and "subset" are currently supoprted in alternative usage +# resetriction. +USAGE_RESTRICTION = ["", "subset"] + # Default key file, relative to script_dir. DEFAULT_KEY_FILE = 'eftest.key' @@ -105,15 +111,17 @@ def ExpiryFromArgs(args): def GenerateTokenData(version, origin, is_subdomain, is_third_party, - feature_name, expiry): + usage_restriction, feature_name, expiry): data = {"origin": origin, "feature": feature_name, "expiry": expiry} if is_subdomain is not None: data["isSubdomain"] = is_subdomain - # Only version 3 token supports is_third_party flag. + # Only version 3 token supports fields: is_third_party, usage. if version == 3 and is_third_party is not None: data["isThirdParty"] = is_third_party + if version == 3 and usage_restriction is not None: + data["usage"] = usage_restriction return json.dumps(data).encode('utf-8') def GenerateDataToSign(version, data): @@ -131,11 +139,10 @@ def main(): parser = argparse.ArgumentParser( description="Generate tokens for enabling experimental features") - parser.add_argument( - "version", - help="Token version to use. Currently only version 2" - "and version 3 are supported.", - type=VersionFromArg) + parser.add_argument("--version", + help="Token version to use. Currently only version 2" + "and version 3 are supported.", + type=VersionFromArg) parser.add_argument("origin", help="Origin for which to enable the feature. This can " "be either a hostname (default scheme HTTPS, " @@ -177,6 +184,11 @@ def main(): action="store_false") parser.set_defaults(is_third_party=None) + parser.add_argument("--usage-restriction", + help="Alternative token usage resctriction. This option " + "is only available for token version 3. Currently only " + "subset exclusion is supported.") + expiry_group = parser.add_mutually_exclusive_group() expiry_group.add_argument("--expire-days", help="Days from now when the token should expire", @@ -209,9 +221,23 @@ def main(): print("Only version 3 token supports is_third_party flag.") sys.exit(1) + if (args.usage_restriction is not None): + if (args.version[0] != 3): + print("Only version 3 token supports alternative usage restriction.") + sys.exit(1) + if (not args.is_third_party): + print("Only third party token supports alternative usage restriction.") + sys.exit(1) + if (args.usage_restriction not in USAGE_RESTRICTION): + print( + "Only empty string and \"subset\" are supported in alternative usage " + "restriction.") + sys.exit(1) + token_data = GenerateTokenData(args.version[0], args.origin, args.is_subdomain, args.is_third_party, - args.trial_name, expiry) + args.usage_restriction, args.trial_name, + expiry) data_to_sign = GenerateDataToSign(args.version[1], token_data) signature = Sign(private_key, data_to_sign) @@ -231,6 +257,7 @@ def main(): print(" Is Subdomain: %s" % args.is_subdomain) if args.version[0] == 3: print(" Is Third Party: %s" % args.is_third_party) + print(" Usage Restriction: %s" % args.usage_restriction) print(" Feature: %s" % args.trial_name) print(" Expiry: %d (%s UTC)" % (expiry, datetime.utcfromtimestamp(expiry))) print(" Signature: %s" % ", ".join('0x%02x' % ord(x) for x in signature)) diff --git a/chromium/tools/perf/chrome_telemetry_build/BUILD.gn b/chromium/tools/perf/chrome_telemetry_build/BUILD.gn index 8c7ba3a5958..c4424f2f00a 100644 --- a/chromium/tools/perf/chrome_telemetry_build/BUILD.gn +++ b/chromium/tools/perf/chrome_telemetry_build/BUILD.gn @@ -48,10 +48,15 @@ group("telemetry_chrome_test") { } if (is_linux) { - data_deps += [ - "//third_party/breakpad:dump_syms($host_toolchain)", - "//third_party/crashpad/crashpad/tools:crashpad_database_util", - ] + data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] + + # CrOS currently has issues with the locally compiled version of + # crashpad_database_util, so only include it on traditional Linux + # platforms. + if (is_desktop_linux) { + data_deps += + [ "//third_party/crashpad/crashpad/tools:crashpad_database_util" ] + } } if (is_mac) { @@ -98,9 +103,11 @@ group("telemetry_chrome_test_without_chrome") { testonly = true data = [ - "//tools/perf/core/", # chrome_telemetry_build/ depends on core/ - "//tools/perf/chrome_telemetry_build/", "//components/crash/content/tools/generate_breakpad_symbols.py", + "//testing/scripts/common.py", + "//testing/xvfb.py", + "//tools/perf/chrome_telemetry_build/", + "//tools/perf/core/", # chrome_telemetry_build/ depends on core/ ] data_deps = [ "//third_party/catapult:telemetry_chrome_test_support", diff --git a/chromium/tools/perf/contrib/vr_benchmarks/BUILD.gn b/chromium/tools/perf/contrib/vr_benchmarks/BUILD.gn index 5213df73e4b..af889456cf5 100644 --- a/chromium/tools/perf/contrib/vr_benchmarks/BUILD.gn +++ b/chromium/tools/perf/contrib/vr_benchmarks/BUILD.gn @@ -13,7 +13,6 @@ group("vr_perf_tests") { "./__init__.py", "./shared_vr_page_state.py", "./vr_benchmarks.py", - "./vr_browsing_mode_pages.py", "./vr_sample_page.py", "./vr_story_set.py", "./webvr_sample_pages.py", @@ -36,10 +35,7 @@ group("vr_perf_tests") { "//third_party/gvr-android-sdk/test-apks/vr_keyboard/vr_keyboard_current.apk", ] - data_deps += [ - "//chrome/android:chrome_modern_public_bundle", - "//chrome/android:vr_nfc_simulator_apk", - ] + data_deps += [ "//chrome/android:chrome_modern_public_bundle" ] # We'll only ever use the assets if it's a Chrome-branded build. We don't have # a way of checking whether the files are actually present to copy, but the diff --git a/chromium/tools/polymer/polymer.py b/chromium/tools/polymer/polymer.py index eb5bc2037d5..e7567239658 100644 --- a/chromium/tools/polymer/polymer.py +++ b/chromium/tools/polymer/polymer.py @@ -82,11 +82,14 @@ _chrome_redirects = { 'chrome://resources/polymer/v1_0/': POLYMER_V1_DIR, 'chrome://resources/html/': 'ui/webui/resources/html/', 'chrome://resources/cr_elements/': 'ui/webui/resources/cr_elements/', + '//resources/polymer/v1_0/': POLYMER_V1_DIR, + '//resources/html/': 'ui/webui/resources/html/', + '//resources/cr_elements/': 'ui/webui/resources/cr_elements/', } _chrome_reverse_redirects = { - POLYMER_V3_DIR: 'chrome://resources/polymer/v3_0/', - 'ui/webui/resources/': 'chrome://resources/', + POLYMER_V3_DIR: '//resources/polymer/v3_0/', + 'ui/webui/resources/': '//resources/', } @@ -104,8 +107,8 @@ class Dependency: self.html_file = src self.html_path = dst - self.input_format = ( - 'chrome' if self.html_path.startswith('chrome://') else 'relative') + self.input_format = ('chrome' if self.html_path.startswith('chrome://') + or self.html_path.startswith('//') else 'relative') self.output_format = self.input_format self.html_path_normalized = self._to_html_normalized() diff --git a/chromium/tools/polymer/polymer_test.py b/chromium/tools/polymer/polymer_test.py index 5822bbaa74b..f48d5943847 100755 --- a/chromium/tools/polymer/polymer_test.py +++ b/chromium/tools/polymer/polymer_test.py @@ -154,32 +154,54 @@ class PolymerModulizerTest(unittest.TestCase): self.assertEquals(expected_js, actual_js) cases = [ - # Relative paths cases. - # Case where relative path to polymer.html is used. - ['../../html/polymer.html', - 'import {Polymer, html} from \'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js\';' - ], - # Case where relative path to file in the same folder is used. - ['foo.html', 'import \'./foo.m.js\';'], - # Case where relative path to file in the same subtree is used. - ['path/to/subfolder/foo.html', 'import \'./path/to/subfolder/foo.m.js\';'], - # Case where relative path to file in ui/webui/resources/html/ is used. - ['../../html/foo.html', 'import {Foo} from \'../../js/foo.m.js\';'], - - # chrome:// paths cases. - # Case where absolute path to a Polymer UI element is used. - ['chrome://resources/polymer/v1_0/path/to/folder/foo.html', - 'import \'chrome://resources/polymer/v3_0/path/to/folder/foo.js\';' - ], - # Case where chrome:// path to polymer.html is used. - ['chrome://resources/html/polymer.html', - 'import {Polymer, html} from \'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js\';' - ], - # Case where chrome://resources/html/ path to something other than - # polymer.html is used. - ['chrome://resources/html/bar.html', - 'import \'chrome://resources/js/bar.m.js\';' - ], + # Relative paths cases. + # Case where relative path to polymer.html is used. + [ + '../../html/polymer.html', + 'import {Polymer, html} from \'//resources/polymer/v3_0/polymer/polymer_bundled.min.js\';' + ], + # Case where relative path to file in the same folder is used. + ['foo.html', 'import \'./foo.m.js\';'], + # Case where relative path to file in the same subtree is used. + [ + 'path/to/subfolder/foo.html', + 'import \'./path/to/subfolder/foo.m.js\';' + ], + # Case where relative path to file in ui/webui/resources/html/ is used. + ['../../html/foo.html', 'import {Foo} from \'../../js/foo.m.js\';'], + + # chrome:// paths cases. + # Case where absolute path to a Polymer UI element is used. + [ + 'chrome://resources/polymer/v1_0/path/to/folder/foo.html', + 'import \'//resources/polymer/v3_0/path/to/folder/foo.js\';' + ], + # Case where chrome:// path to polymer.html is used. + [ + 'chrome://resources/html/polymer.html', + 'import {Polymer, html} from \'//resources/polymer/v3_0/polymer/polymer_bundled.min.js\';' + ], + # Case where chrome://resources/html/ path to something other than + # polymer.html is used. + [ + 'chrome://resources/html/bar.html', + 'import \'//resources/js/bar.m.js\';' + ], + + # Scheme-relative paths cases. + # Case where absolute path to a Polymer UI element is used. + [ + '//resources/polymer/v1_0/path/to/folder/foo.html', + 'import \'//resources/polymer/v3_0/path/to/folder/foo.js\';' + ], + # Case where path to polymer.html is used. + [ + '//resources/html/polymer.html', + 'import {Polymer, html} from \'//resources/polymer/v3_0/polymer/polymer_bundled.min.js\';' + ], + # Case where //resources/html/ path to something other than + # polymer.html is used. + ['//resources/html/bar.html', 'import \'//resources/js/bar.m.js\';'], ] for [html, js_expected] in cases: diff --git a/chromium/tools/protoc_wrapper/protoc_wrapper.py b/chromium/tools/protoc_wrapper/protoc_wrapper.py index 4bb3f06106c..e750880c19b 100755 --- a/chromium/tools/protoc_wrapper/protoc_wrapper.py +++ b/chromium/tools/protoc_wrapper/protoc_wrapper.py @@ -78,6 +78,8 @@ def main(argv): help="Output directory for standard C++ generator.") parser.add_argument("--py-out-dir", help="Output directory for standard Python generator.") + parser.add_argument("--js-out-dir", + help="Output directory for standard JS generator.") parser.add_argument("--plugin-out-dir", help="Output directory for custom generator plugin.") @@ -110,6 +112,12 @@ def main(argv): if options.py_out_dir: protoc_cmd += ["--python_out", options.py_out_dir] + if options.js_out_dir: + protoc_cmd += [ + "--js_out", + "one_output_file_per_input_file,binary:" + options.js_out_dir + ] + if options.cc_out_dir: cc_out_dir = options.cc_out_dir cc_options_list = [] diff --git a/chromium/tools/resources/ar.py b/chromium/tools/resources/ar.py new file mode 100755 index 00000000000..19c294fba54 --- /dev/null +++ b/chromium/tools/resources/ar.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python3 +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +"""Logic for reading .a files. + +Copied from //tools/binary_size/libsupersize/ar.py""" + +import os + + +def _ResolveThinObjectPath(archive_path, subpath): + """Given the .a path and .o subpath, returns the .o path.""" + # |subpath| is path complete under Gold, and incomplete under LLD. Check its + # prefix to test completeness, and if not, use |archive_path| to supply the + # required prefix. + if subpath.startswith('obj/'): + return subpath + # .o subpaths in thin archives are relative to the directory of the .a. + parent_path = os.path.dirname(archive_path) + return os.path.normpath(os.path.join(parent_path, subpath)) + + +def _IterThinPaths(path): + """Given the .a path, yields all nested .o paths.""" + # File format reference: + # https://github.com/pathscale/binutils/blob/master/gold/archive.cc + with open(path, 'rb') as f: + header = f.read(8) + is_thin = header == b'!<thin>\n' + if not is_thin and header != b'!<arch>\n': + raise Exception('Invalid .a: ' + path) + if not is_thin: + return + + def read_payload(size): + ret = f.read(size) + # Entries are 2-byte aligned. + if size & 1 != 0: + f.read(1) + return ret + + while True: + entry = f.read(60) + if not entry: + return + entry_name = entry[:16].rstrip() + entry_size = int(entry[48:58].rstrip()) + + if entry_name in (b'', b'/', b'//', b'/SYM64/'): + payload = read_payload(entry_size) + # Metadata sections we don't care about. + if entry_name == b'//': + name_list = payload + continue + + if entry_name[0:1] == b'/': + # Name is specified as location in name table. + # E.g.: /123 + name_offset = int(entry_name[1:]) + # String table enties are delimited by \n (e.g. "browser.o/\n"). + end_idx = name_list.index(b'\n', name_offset) + entry_name = name_list[name_offset:end_idx] + else: + # Name specified inline with spaces for padding (e.g. "browser.o/ "). + entry_name = entry_name.rstrip() + + yield entry_name.rstrip(b'/').decode('ascii') + + +def ExpandThinArchives(paths): + """Expands all thin archives found in |paths| into .o paths. + + Args: + paths: List of paths relative to |output_directory|. + output_directory: Output directory. + + Returns: + * A new list of paths with all archives replaced by .o paths. + """ + expanded_paths = [] + for path in paths: + if not path.endswith('.a'): + expanded_paths.append(path) + continue + + with open(path, 'rb') as f: + header = f.read(8) + is_thin = header == b'!<thin>\n' + if is_thin: + for subpath in _IterThinPaths(path): + expanded_paths.append(_ResolveThinObjectPath(path, subpath)) + elif header != b'!<arch>\n': + raise Exception('Invalid .a: ' + path) + + return expanded_paths diff --git a/chromium/tools/resources/generate_resource_whitelist.py b/chromium/tools/resources/generate_resource_whitelist.py index 754f123827b..ea96e3a340b 100755 --- a/chromium/tools/resources/generate_resource_whitelist.py +++ b/chromium/tools/resources/generate_resource_whitelist.py @@ -21,6 +21,8 @@ import os import subprocess import sys +import ar + llvm_bindir = os.path.join( os.path.dirname(sys.argv[0]), '..', '..', 'third_party', 'llvm-build', 'Release+Asserts', 'bin') @@ -100,17 +102,47 @@ def GetResourceWhitelistPDB(path): return resource_ids +def GetResourceWhitelistFileList(file_list_path): + # Creates a list of resources given the list of linker input files. + # Simply grep's them for WhitelistedResource<...>. + with open(file_list_path) as f: + paths = f.read().splitlines() + + paths = ar.ExpandThinArchives(paths) + + resource_ids = set() + prefix = 'WhitelistedResource<' + for p in paths: + with open(p) as f: + data = f.read() + start_idx = 0 + while start_idx != -1: + start_idx = data.find(prefix, start_idx) + if start_idx != -1: + end_idx = data.find('>', start_idx) + resource_ids.add(int(data[start_idx + len(prefix):end_idx])) + start_idx = end_idx + return resource_ids + + def WriteResourceWhitelist(args): resource_ids = set() for input in args.inputs: with open(input, 'r') as f: magic = f.read(4) + chunk = f.read(60) if magic == '\x7fELF': - resource_ids = resource_ids.union(GetResourceWhitelistELF(input)) + func = GetResourceWhitelistELF elif magic == 'Micr': - resource_ids = resource_ids.union(GetResourceWhitelistPDB(input)) + func = GetResourceWhitelistPDB + elif magic == 'obj/' or '/obj/' in chunk: + # For secondary toolchain, path will look like android_clang_arm/obj/... + func = GetResourceWhitelistFileList else: raise Exception('unknown file format') + + resource_ids.update(func(input)) + if len(resource_ids) == 0: raise Exception('No debug info was dumped. Ensure GN arg "symbol_level" ' '!= 0 and that the file is not stripped.') diff --git a/chromium/tools/run-swarmed.py b/chromium/tools/run-swarmed.py index 4c718207e02..ce0c36e637b 100755 --- a/chromium/tools/run-swarmed.py +++ b/chromium/tools/run-swarmed.py @@ -37,25 +37,6 @@ INTERNAL_ERROR_EXIT_CODE = -1000 DEFAULT_ANDROID_DEVICE_TYPE = "walleye" -def _ReadVpythonPin(): - """Reads the vpython CIPD package name and version from - //third_party/depot_tools. - - Returns them as a (pkgname, version) tuple. - """ - chromium_src_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - manifest_path = os.path.join(chromium_src_dir, 'third_party', 'depot_tools', - 'cipd_manifest.txt') - with open(manifest_path, 'r') as manifest: - for line in manifest.readlines(): - # lines look like: - # name/of/package version - if 'vpython' in line and 'git_revision' in line: - vpython_pkg, vpython_version = line.split() - return vpython_pkg, vpython_version - raise ValueError('unable to read vpython pin from %s' % (manifest_path, )) - - def _Spawn(args): """Triggers a swarming job. The arguments passed are: - The index of the job; @@ -92,6 +73,9 @@ def _Spawn(args): 'kvm=1', '-d', 'gpu=none', + ] + if args.arch != 'detect': + trigger_args += [ '-d', 'cpu=' + args.arch, ] @@ -108,42 +92,28 @@ def _Spawn(args): if args.device_os: trigger_args += ['-d', 'device_os=' + args.device_os] - # The canonical version numbers are stored in the infra repository here: - # build/scripts/slave/recipe_modules/swarming/api.py - # - # HACK(iannucci): These packages SHOULD NOT BE HERE. - # Remove method once Swarming Pool Task Templates are implemented. - # crbug.com/812428 - cpython_version = 'version:2.7.15.chromium14' - cpython_pkg = ( - '.swarming_module:infra/python/cpython/${platform}=' + cpython_version) - - vpython_pkg = '.swarming_module:%s=%s' % _ReadVpythonPin() - vpython_native_pkg = vpython_pkg.replace('vpython', 'vpython-native') - - trigger_args += [ - '--cipd-package', - cpython_pkg, - '--cipd-package', - vpython_native_pkg, - '--cipd-package', - vpython_pkg, - '--', - ] + runner_args = [] if not args.no_test_flags: # These flags are recognized by our test runners, but do not work # when running custom scripts. - trigger_args += [ + runner_args += [ '--test-launcher-summary-output=${ISOLATED_OUTDIR}/output.json', '--system-log-file=${ISOLATED_OUTDIR}/system_log' ] if args.gtest_filter: - trigger_args.append('--gtest_filter=' + args.gtest_filter) + runner_args.append('--gtest_filter=' + args.gtest_filter) + if args.repeat: + runner_args.append('--repeat=' + args.repeat) elif args.target_os == 'fuchsia': filter_file = \ 'testing/buildbot/filters/fuchsia.' + args.target_name + '.filter' if os.path.isfile(filter_file): - trigger_args.append('--test-launcher-filter-file=../../' + filter_file) + runner_args.append('--test-launcher-filter-file=../../' + filter_file) + + if runner_args: + trigger_args.append('--') + trigger_args.extend(runner_args) + with open(os.devnull, 'w') as nul: subprocess.check_call(trigger_args, stdout=nul) return (index, json_file, args) @@ -201,17 +171,16 @@ def main(): '--device-type', help='device_type specifier for Swarming' ' from https://chromium-swarm.appspot.com/botlist .') - # TODO(crbug.com/812428): Switch this back to chromium.tests once - # that pool runs with task templates. - parser.add_argument( - '--pool', - default='chromium.tests.template', - help='Use the given swarming pool.') + parser.add_argument('--pool', + default='chromium.tests', + help='Use the given swarming pool.') parser.add_argument('--results', '-r', default='results', help='Directory in which to store results.') parser.add_argument('--gtest_filter', help='Use the given gtest_filter, rather than the ' 'default filter file, if any.') + parser.add_argument( + '--repeat', help='Number of times to repeat the specified set of tests.') parser.add_argument('--no-test-flags', action='store_true', help='Do not add --test-launcher-summary-output and ' '--system-log-file flags to the comment.') @@ -248,7 +217,7 @@ def main(): args.target_name = os.path.splitext(args.target_name)[0] # Determine the CPU architecture of the test binary, if not specified. - if args.arch == 'detect' and args.target_os == 'fuchsia': + if args.arch == 'detect' and args.target_os not in ('android', 'mac', 'win'): executable_info = subprocess.check_output( ['file', os.path.join(args.out_dir, args.target_name)]) if 'ARM aarch64' in executable_info: diff --git a/chromium/tools/style_variable_generator/base_generator.py b/chromium/tools/style_variable_generator/base_generator.py index 596b222c578..4663c4e23b9 100644 --- a/chromium/tools/style_variable_generator/base_generator.py +++ b/chromium/tools/style_variable_generator/base_generator.py @@ -7,6 +7,7 @@ import sys import collections import re import textwrap +import path_overrides from color import Color _FILE_PATH = os.path.dirname(os.path.realpath(__file__)) @@ -27,21 +28,42 @@ class Modes: ALL = [LIGHT, DARK] +class VariableType: + COLOR = 'color' + OPACITY = 'opacity' + + class ModeVariables: - '''A representation of variables to generate for a single Mode. + '''A dictionary of variable names to their values in each mode. + e.g mode_variables['blue'][Modes.LIGHT] = Color(...) ''' - def __init__(self): - self.colors = collections.OrderedDict() + def __init__(self, default_mode): + self.variables = collections.OrderedDict() + self._default_mode = default_mode - def AddColor(self, name, value_str): - if name in self.colors: - raise ValueError('%s defined more than once' % name) + def Add(self, mode, name, value): + if name not in self.variables: + self.variables[name] = {} + self.variables[name][mode] = value - try: - self.colors[name] = Color(value_str) - except Exception as err: - raise ValueError('Error parsing "%s": %s' % (value_str, err)) + # Returns the value that |name| will have in |mode|. Resolves to the default + # mode's value if the a value for |mode| isn't specified. Always returns a + # value. + def Resolve(self, name, mode): + if mode in self.variables[name]: + return self.variables[name][mode] + + return self.variables[name][self._default_mode] + + def keys(self): + return self.variables.keys() + + def items(self): + return self.variables.items() + + def __getitem__(self, key): + return self.variables[key] class BaseGenerator: @@ -53,29 +75,46 @@ class BaseGenerator: def __init__(self): self.out_file_path = None - self._mode_variables = dict() + self.in_files = [] + self.generate_single_mode = None + # The mode that colors will fallback to when not specified in a # non-default mode. An error will be raised if a color in any mode is # not specified in the default mode. self._default_mode = Modes.LIGHT - for mode in Modes.ALL: - self._mode_variables[mode] = ModeVariables() + # A dictionary of |VariableType| to dictionaries of variable names to + # values. May point to a ModeVariables instance which further adds a + # layer making the structure name -> mode -> value. + self.model = { + VariableType.COLOR: ModeVariables(self._default_mode), + VariableType.OPACITY: ModeVariables(self._default_mode), + } + def AddColor(self, name, value_obj): - if isinstance(value_obj, unicode): - self._mode_variables[self._default_mode].AddColor(name, value_obj) - elif isinstance(value_obj, dict): - for mode in Modes.ALL: - if mode in value_obj: - self._mode_variables[mode].AddColor(name, value_obj[mode]) + try: + if isinstance(value_obj, unicode): + self.model[VariableType.COLOR].Add(self._default_mode, name, + Color(value_obj)) + elif isinstance(value_obj, dict): + for mode in Modes.ALL: + if mode in value_obj: + self.model[VariableType.COLOR].Add( + mode, name, Color(value_obj[mode])) + except ValueError as err: + raise ValueError('Error parsing color "%s": %s' % (value_obj, err)) def AddJSONFileToModel(self, path): + self.in_files.append(path) with open(path, 'r') as f: - # TODO(calamity): Add allow_duplicate_keys=False once pyjson5 is - # rolled. - data = json5.loads( - f.read(), object_pairs_hook=collections.OrderedDict) + self.AddJSONToModel(f.read()) + + def AddJSONToModel(self, json_string): + # TODO(calamity): Add allow_duplicate_keys=False once pyjson5 is + # rolled. + data = json5.loads(json_string, + object_pairs_hook=collections.OrderedDict) try: for name, value in data['colors'].items(): @@ -85,33 +124,38 @@ class BaseGenerator: % name) self.AddColor(name, value) - except Exception as err: + except ValueError as err: raise ValueError('\n%s:\n %s' % (path, err)) def ApplyTemplate(self, style_generator, path_to_template, params): - current_dir = os.path.dirname(os.path.realpath(__file__)) + loader_root_dir = path_overrides.GetFileSystemLoaderRootDirectory() jinja_env = jinja2.Environment( - loader=jinja2.FileSystemLoader(current_dir), + loader=jinja2.FileSystemLoader(loader_root_dir), keep_trailing_newline=True) jinja_env.globals.update(style_generator.GetGlobals()) jinja_env.filters.update(style_generator.GetFilters()) - template = jinja_env.get_template(path_to_template) + template = jinja_env.get_template( + path_overrides.GetPathToTemplate(path_to_template)) return template.render(params) def Validate(self): - def CheckIsInDefaultModel(name): - if name not in self._mode_variables[self._default_mode].colors: - raise ValueError( - "%s not defined in '%s' mode" % (name, self._default_mode)) + colors = self.model[VariableType.COLOR] + + def CheckColorInDefaultMode(name): + if (name not in colors.variables + or self._default_mode not in colors.variables[name]): + raise ValueError("%s not defined in default mode '%s'" % + (name, self._default_mode)) - # Check all colors in all models refer to colors that exist in the + # Check all colors in all modes refer to colors that exist in the # default mode. - for m in self._mode_variables.values(): - for name, value in m.colors.items(): + for name, mode_values in colors.variables.items(): + for mode, value in mode_values.items(): + CheckColorInDefaultMode(name) if value.var: - CheckIsInDefaultModel(value.var) + CheckColorInDefaultMode(value.var) if value.rgb_var: - CheckIsInDefaultModel(value.rgb_var[:-4]) + CheckColorInDefaultMode(value.rgb_var[:-4]) # TODO(calamity): Check for circular references. diff --git a/chromium/tools/style_variable_generator/base_generator_test.py b/chromium/tools/style_variable_generator/base_generator_test.py new file mode 100644 index 00000000000..a7fdd13664c --- /dev/null +++ b/chromium/tools/style_variable_generator/base_generator_test.py @@ -0,0 +1,60 @@ +# Copyright 2019 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +from base_generator import BaseGenerator +import unittest + + +class BaseGeneratorTest(unittest.TestCase): + def setUp(self): + self.generator = BaseGenerator() + + def testMissingColor(self): + # google_grey_900 is missing. + self.generator.AddJSONToModel(''' +{ + colors: { + cros_default_text_color: { + light: "$google_grey_900", + dark: "rgb(255, 255, 255)", + }, + }, +} + ''') + self.assertRaises(ValueError, self.generator.Validate) + + # Add google_grey_900. + self.generator.AddJSONToModel(''' +{ + colors: { + google_grey_900: "rgb(255, 255, 255)", + } +} + ''') + self.generator.Validate() + + def testMissingDefaultModeColor(self): + # google_grey_900 is missing in the default mode (light). + self.generator.AddJSONToModel(''' +{ + colors: { + google_grey_900: { dark: "rgb(255, 255, 255)", }, + } +} + ''') + self.assertRaises(ValueError, self.generator.Validate) + + # Add google_grey_900 to light mode. + self.generator.AddJSONToModel(''' +{ + colors: { + google_grey_900: { light: "rgb(255, 255, 255)", } + } +} + ''') + self.generator.Validate() + + +if __name__ == '__main__': + unittest.main() diff --git a/chromium/tools/style_variable_generator/colors_test_dark_only_expected.css b/chromium/tools/style_variable_generator/colors_test_dark_only_expected.css new file mode 100644 index 00000000000..f387b995960 --- /dev/null +++ b/chromium/tools/style_variable_generator/colors_test_dark_only_expected.css @@ -0,0 +1,19 @@ +/* Copyright 2020 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. */ + +/* This file is generated from: + * colors_test.json5 + */ + +html:not(body) { + --google-grey-900-rgb: 32, 33, 36; + --google-grey-900: rgb(var(--google-grey-900-rgb)); + + --cros-default-text-color-rgb: 255, 255, 255; + --cros-default-text-color: rgb(var(--cros-default-text-color-rgb)); + + --cros-toggle-color-rgb: var(--cros-default-text-color-rgb); + --cros-toggle-color: rgba(var(--cros-toggle-color-rgb), 0.1); + +} diff --git a/chromium/tools/style_variable_generator/colors_test_expected.css b/chromium/tools/style_variable_generator/colors_test_expected.css index 277b79cce2f..ccbe7b6e275 100644 --- a/chromium/tools/style_variable_generator/colors_test_expected.css +++ b/chromium/tools/style_variable_generator/colors_test_expected.css @@ -1,3 +1,11 @@ +/* Copyright 2020 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. */ + +/* This file is generated from: + * colors_test.json5 + */ + html:not(body) { --google-grey-900-rgb: 32, 33, 36; --google-grey-900: rgb(var(--google-grey-900-rgb)); diff --git a/chromium/tools/style_variable_generator/colors_test_expected.h b/chromium/tools/style_variable_generator/colors_test_expected.h index 56b0d852445..7fff1ebfab0 100644 --- a/chromium/tools/style_variable_generator/colors_test_expected.h +++ b/chromium/tools/style_variable_generator/colors_test_expected.h @@ -2,6 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// This file is generated from: +// colors_test.json5 + #ifndef TOOLS_STYLE_VARIABLE_GENERATOR_COLORS_TEST_EXPECTED_H_ #define TOOLS_STYLE_VARIABLE_GENERATOR_COLORS_TEST_EXPECTED_H_ diff --git a/chromium/tools/style_variable_generator/css_generator.py b/chromium/tools/style_variable_generator/css_generator.py index b18f5a21999..22f7209fdb1 100644 --- a/chromium/tools/style_variable_generator/css_generator.py +++ b/chromium/tools/style_variable_generator/css_generator.py @@ -2,7 +2,8 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -from base_generator import Color, Modes, BaseGenerator +from base_generator import Color, Modes, BaseGenerator, VariableType +import collections class CSSStyleGenerator(BaseGenerator): @@ -14,9 +15,30 @@ class CSSStyleGenerator(BaseGenerator): self.GetParameters()) def GetParameters(self): + def BuildColorsForMode(mode, resolve_missing=False): + '''Builds a name to Color dictionary for |mode|. + If |resolve_missing| is true, colors that aren't specified in |mode| + will be resolved to their default mode value.''' + colors = collections.OrderedDict() + for name, mode_values in self.model[VariableType.COLOR].items(): + if resolve_missing: + colors[name] = self.model[VariableType.COLOR].Resolve( + name, mode) + else: + if mode in mode_values: + colors[name] = mode_values[mode] + return colors + + if self.generate_single_mode: + return { + 'light_colors': + BuildColorsForMode(self.generate_single_mode, + resolve_missing=True) + } + return { - 'light_variables': self._mode_variables[Modes.LIGHT], - 'dark_variables': self._mode_variables[Modes.DARK], + 'light_colors': BuildColorsForMode(Modes.LIGHT), + 'dark_colors': BuildColorsForMode(Modes.DARK), } def GetFilters(self): @@ -29,6 +51,7 @@ class CSSStyleGenerator(BaseGenerator): def GetGlobals(self): return { 'css_color_from_rgb_var': self._CssColorFromRGBVar, + 'in_files': self.in_files, } def _ToVarName(self, var_name): diff --git a/chromium/tools/style_variable_generator/css_generator.tmpl b/chromium/tools/style_variable_generator/css_generator.tmpl index e896834d8c6..b33a22cc77c 100644 --- a/chromium/tools/style_variable_generator/css_generator.tmpl +++ b/chromium/tools/style_variable_generator/css_generator.tmpl @@ -1,3 +1,13 @@ +/* Copyright 2020 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. */ + +/* This file is generated from: +{%- for path in in_files %} + * {{path}} +{%- endfor %} + */ + {# The :not(body) adds extra selector specificity so that these colors 'win' against paper-styles/color.html. @@ -5,13 +15,13 @@ TODO(https://crbug.com/1062154): Remove once deprecated colors are removed from Chrome OS pages. -#} html:not(body) { -{%- for var_name, color in light_variables.colors.items() %} +{%- for var_name, color in light_colors.items() %} {{var_name | to_var_name}}-rgb: {{color | css_color_rgb}}; {{var_name | to_var_name}}: {{css_color_from_rgb_var(var_name, color.a)}}; {% endfor %} } +{%- if dark_colors %} -{% if dark_variables.colors -%} @media (prefers-color-scheme: dark) { {#- The :not(body) adds extra selector specificity so that these colors 'win' @@ -20,7 +30,7 @@ TODO(https://crbug.com/1062154): Remove once deprecated colors are removed from Chrome OS pages. #} html:not(body) { -{%- for var_name, color in dark_variables.colors.items() %} +{%- for var_name, color in dark_colors.items() %} {{var_name | to_var_name}}-rgb: {{color | css_color_rgb}}; {{var_name | to_var_name}}: {{css_color_from_rgb_var(var_name, color.a)}}; {% endfor %} diff --git a/chromium/tools/style_variable_generator/css_generator_test.py b/chromium/tools/style_variable_generator/css_generator_test.py index 75d139e5787..50eac224bd7 100644 --- a/chromium/tools/style_variable_generator/css_generator_test.py +++ b/chromium/tools/style_variable_generator/css_generator_test.py @@ -3,6 +3,7 @@ # found in the LICENSE file. from css_generator import CSSStyleGenerator +from base_generator import Modes import unittest @@ -23,6 +24,12 @@ class CSSStyleGeneratorTest(unittest.TestCase): self.assertEqualToFile(self.generator.Render(), 'colors_test_expected.css') + def testColorTestJSONDarkOnly(self): + self.generator.AddJSONFileToModel('colors_test.json5') + self.generator.generate_single_mode = Modes.DARK + self.assertEqualToFile(self.generator.Render(), + 'colors_test_dark_only_expected.css') + if __name__ == '__main__': unittest.main() diff --git a/chromium/tools/style_variable_generator/path_overrides.py b/chromium/tools/style_variable_generator/path_overrides.py new file mode 100644 index 00000000000..4cd408366a7 --- /dev/null +++ b/chromium/tools/style_variable_generator/path_overrides.py @@ -0,0 +1,16 @@ +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import os + + +# Returns the FileSystemLoader root directory. Overridden in google3. +def GetFileSystemLoaderRootDirectory(): + return os.path.dirname(os.path.realpath(__file__)) + + +# Returns the path to the template relative to FileSystemLoader root. +# Overridden in google3. +def GetPathToTemplate(path_to_template): + return path_to_template diff --git a/chromium/tools/style_variable_generator/style_variable_generator.gni b/chromium/tools/style_variable_generator/style_variable_generator.gni index c1beb86294b..2b443e91c83 100644 --- a/chromium/tools/style_variable_generator/style_variable_generator.gni +++ b/chromium/tools/style_variable_generator/style_variable_generator.gni @@ -60,7 +60,6 @@ template("style_variable_generator") { ] out_file = "$target_gen_dir/${original_target_name}.h" outputs = [ out_file ] - args = [ "--generator=Views", "--out-file", diff --git a/chromium/tools/style_variable_generator/style_variable_generator.py b/chromium/tools/style_variable_generator/style_variable_generator.py index b2b11cde780..e7b20fd8371 100644 --- a/chromium/tools/style_variable_generator/style_variable_generator.py +++ b/chromium/tools/style_variable_generator/style_variable_generator.py @@ -6,6 +6,7 @@ import argparse import sys from css_generator import CSSStyleGenerator from views_generator import ViewsStyleGenerator +from base_generator import Modes def main(): @@ -17,6 +18,9 @@ def main(): choices=['CSS', 'Views'], required=True, help='type of file to generate') + parser.add_argument('--generate-single-mode', + choices=Modes.ALL, + help='generates output for a single mode') parser.add_argument('--out-file', help='file to write output to') parser.add_argument('targets', nargs='+', help='source json5 color files') @@ -31,6 +35,7 @@ def main(): for t in args.targets: style_generator.AddJSONFileToModel(t) + style_generator.generate_single_mode = args.generate_single_mode style_generator.out_file_path = args.out_file if args.out_file: diff --git a/chromium/tools/style_variable_generator/views_generator.py b/chromium/tools/style_variable_generator/views_generator.py index 2fb4b4f0336..9f2587d4336 100644 --- a/chromium/tools/style_variable_generator/views_generator.py +++ b/chromium/tools/style_variable_generator/views_generator.py @@ -3,7 +3,7 @@ # found in the LICENSE file. import os -from base_generator import Color, Modes, BaseGenerator +from base_generator import Color, Modes, BaseGenerator, VariableType class ViewsStyleGenerator(BaseGenerator): @@ -30,6 +30,7 @@ class ViewsStyleGenerator(BaseGenerator): 'Modes': Modes, 'out_file_path': None, 'namespace_name': None, + 'in_files': self.in_files, } if self.out_file_path: globals['out_file_path'] = self.out_file_path @@ -39,14 +40,8 @@ class ViewsStyleGenerator(BaseGenerator): def _CreateColorList(self): color_list = [] - for color_name in ( - self._mode_variables[self._default_mode].colors.keys()): - color_obj = {'name': color_name, 'mode_values': {}} - for m in Modes.ALL: - mode_colors = self._mode_variables[m].colors - if color_name in mode_colors: - color_obj['mode_values'][m] = mode_colors[color_name] - color_list.append(color_obj) + for name, mode_values in self.model[VariableType.COLOR].items(): + color_list.append({'name': name, 'mode_values': mode_values}) return color_list diff --git a/chromium/tools/style_variable_generator/views_generator_h.tmpl b/chromium/tools/style_variable_generator/views_generator_h.tmpl index 33ea309ba4f..e9250f29a6b 100644 --- a/chromium/tools/style_variable_generator/views_generator_h.tmpl +++ b/chromium/tools/style_variable_generator/views_generator_h.tmpl @@ -6,6 +6,11 @@ out_file_path|upper|replace("/","_")|replace(".","_")| replace("-", "_")) %} +// This file is generated from: +{%- for path in in_files %} +// {{path}} +{%- endfor %} + #ifndef {{header_guard}} #define {{header_guard}} diff --git a/chromium/tools/traffic_annotation/auditor/auditor_result.cc b/chromium/tools/traffic_annotation/auditor/auditor_result.cc index 48f65b6269b..3afcc4e7fb7 100644 --- a/chromium/tools/traffic_annotation/auditor/auditor_result.cc +++ b/chromium/tools/traffic_annotation/auditor/auditor_result.cc @@ -6,6 +6,7 @@ #include "tools/traffic_annotation/auditor/auditor_result.h" +#include "base/notreached.h" #include "base/strings/stringprintf.h" const int AuditorResult::kNoCodeLineSpecified = -1; diff --git a/chromium/tools/traffic_annotation/auditor/traffic_annotation_auditor_ui.cc b/chromium/tools/traffic_annotation/auditor/traffic_annotation_auditor_ui.cc index 474798abe15..1647b4637e5 100644 --- a/chromium/tools/traffic_annotation/auditor/traffic_annotation_auditor_ui.cc +++ b/chromium/tools/traffic_annotation/auditor/traffic_annotation_auditor_ui.cc @@ -5,6 +5,7 @@ #include <stdlib.h> #include "base/files/file_util.h" +#include "base/logging.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" diff --git a/chromium/tools/traffic_annotation/auditor/traffic_annotation_auditor_unittest.cc b/chromium/tools/traffic_annotation/auditor/traffic_annotation_auditor_unittest.cc index 7db82a161d8..6477538e726 100644 --- a/chromium/tools/traffic_annotation/auditor/traffic_annotation_auditor_unittest.cc +++ b/chromium/tools/traffic_annotation/auditor/traffic_annotation_auditor_unittest.cc @@ -6,6 +6,7 @@ #include "base/files/file_path.h" #include "base/files/file_util.h" +#include "base/logging.h" #include "base/memory/ptr_util.h" #include "base/path_service.h" #include "base/stl_util.h" diff --git a/chromium/tools/traffic_annotation/auditor/traffic_annotation_exporter.cc b/chromium/tools/traffic_annotation/auditor/traffic_annotation_exporter.cc index d342dcd48c8..1d826dbe22d 100644 --- a/chromium/tools/traffic_annotation/auditor/traffic_annotation_exporter.cc +++ b/chromium/tools/traffic_annotation/auditor/traffic_annotation_exporter.cc @@ -7,6 +7,7 @@ #include <ctime> #include "base/files/file_util.h" +#include "base/logging.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_split.h" #include "base/strings/stringprintf.h" diff --git a/chromium/tools/traffic_annotation/summary/annotations.xml b/chromium/tools/traffic_annotation/summary/annotations.xml index 5f9cc928116..28d2cb16d13 100644 --- a/chromium/tools/traffic_annotation/summary/annotations.xml +++ b/chromium/tools/traffic_annotation/summary/annotations.xml @@ -52,6 +52,7 @@ Refer to README.md for content description and update process. <item id="cloud_print_privet_register" hash_code="24978481" type="0" content_hash_code="131359002" os_list="linux,windows" file_path="chrome/browser/printing/cloud_print/gcd_api_flow_impl.cc"/> <item id="cloud_print_proxy" hash_code="50859288" type="1" second_id="111712433" content_hash_code="90868083" os_list="linux,windows" semantics_fields="2,3,4" file_path="chrome/service/cloud_print/cloud_print_proxy.cc"/> <item id="cloud_print_search" hash_code="132055347" type="0" content_hash_code="123783474" os_list="linux,windows" file_path="chrome/browser/printing/cloud_print/gcd_api_flow_impl.cc"/> + <item id="cloud_speech_recognition" hash_code="15750036" type="0" deprecated="2020-05-27" content_hash_code="114921835" file_path="chrome/services/speech/cloud_speech_recognition_client.cc"/> <item id="content_hash_verification_job" hash_code="64733114" type="0" content_hash_code="127912411" os_list="linux,windows" file_path="extensions/browser/content_hash_fetcher.cc"/> <item id="content_resource_fetcher" hash_code="70796791" type="0" deprecated="2017-09-16" content_hash_code="135648626" file_path=""/> <item id="content_suggestion_get_favicon" hash_code="16653985" type="0" content_hash_code="134280933" os_list="linux,windows" file_path="components/ntp_snippets/content_suggestions_service.cc"/> @@ -78,6 +79,7 @@ Refer to README.md for content description and update process. <item id="devtools_http_handler" hash_code="49160454" type="0" content_hash_code="88414393" os_list="linux,windows" file_path="content/browser/devtools/devtools_http_handler.cc"/> <item id="devtools_interceptor" hash_code="98123737" type="0" deprecated="2019-07-31" content_hash_code="64591843" file_path=""/> <item id="devtools_network_resource" hash_code="129652775" type="0" content_hash_code="32810159" os_list="linux,windows" file_path="chrome/browser/devtools/devtools_ui_bindings.cc"/> + <item id="devtools_proxy_config" hash_code="79904729" type="0" content_hash_code="31996982" os_list="linux,windows" file_path="content/browser/devtools/protocol/target_handler.cc"/> <item id="dial_get_app_info" hash_code="15952025" type="0" deprecated="2018-02-27" content_hash_code="90542080" file_path=""/> <item id="dial_get_device_description" hash_code="50422598" type="0" deprecated="2018-02-27" content_hash_code="129827780" file_path=""/> <item id="dial_url_fetcher" hash_code="41424546" type="0" content_hash_code="129828432" os_list="linux,windows" file_path="chrome/browser/media/router/discovery/dial/dial_url_fetcher.cc"/> @@ -104,6 +106,8 @@ Refer to README.md for content description and update process. <item id="family_info" hash_code="30913825" type="0" deprecated="2019-07-30" content_hash_code="25369370" file_path=""/> <item id="favicon_loader" hash_code="112189210" type="0" content_hash_code="70773116" os_list="linux,windows" file_path="content/renderer/loader/web_url_loader_impl.cc"/> <item id="feed_image_fetcher" hash_code="87439531" type="0" deprecated="2019-01-04" content_hash_code="26756208" file_path=""/> + <item id="floc_id_provider_impl" hash_code="103052331" type="1" second_id="13704791" content_hash_code="41421380" os_list="linux,windows" semantics_fields="2,3,4" policy_fields="3" file_path="chrome/browser/federated_learning/floc_id_provider_impl.cc"/> + <item id="floc_remote_permission_service" hash_code="13704791" type="2" content_hash_code="86293622" os_list="linux,windows" semantics_fields="1,5" policy_fields="1,2,4" file_path="chrome/browser/federated_learning/floc_remote_permission_service.cc"/> <item id="gaia_auth_check_connection_info" hash_code="4598626" type="0" content_hash_code="57347000" os_list="linux,windows" file_path="google_apis/gaia/gaia_auth_fetcher.cc"/> <item id="gaia_auth_exchange_cookies" hash_code="134289752" type="0" deprecated="2018-09-11" content_hash_code="66433230" file_path=""/> <item id="gaia_auth_exchange_device_id" hash_code="39877119" type="0" content_hash_code="61857947" os_list="linux,windows" file_path="google_apis/gaia/gaia_auth_fetcher.cc"/> @@ -146,8 +150,9 @@ Refer to README.md for content description and update process. <item id="interest_feedv2_send" hash_code="85742023" type="0" content_hash_code="49706671" os_list="linux,windows" file_path="components/feed/core/v2/feed_network_impl.cc"/> <item id="intranet_redirect_detector" hash_code="21785164" type="0" content_hash_code="62025595" os_list="linux,windows" file_path="chrome/browser/intranet_redirect_detector.cc"/> <item id="invalidation_service" hash_code="72354423" type="0" deprecated="2020-01-23" content_hash_code="78425687" file_path=""/> + <item id="isolated_prerender_canary_check" hash_code="60914954" type="0" content_hash_code="2991117" os_list="linux,windows" file_path="chrome/browser/prerender/isolated/isolated_prerender_origin_prober.cc"/> <item id="isolated_prerender_loader" hash_code="2181152" type="0" content_hash_code="113933667" os_list="linux,windows" file_path="chrome/browser/prerender/isolated/isolated_prerender_url_loader.cc"/> - <item id="isolated_prerender_probe" hash_code="115160522" type="0" content_hash_code="10166713" os_list="linux,windows" file_path="chrome/browser/prerender/isolated/isolated_prerender_url_loader_interceptor.cc"/> + <item id="isolated_prerender_probe" hash_code="115160522" type="0" content_hash_code="75211055" os_list="linux,windows" file_path="chrome/browser/prerender/isolated/isolated_prerender_origin_prober.cc"/> <item id="kids_chrome_management_client_classify_url" hash_code="109987793" type="0" deprecated="2019-07-30" content_hash_code="112740597" file_path=""/> <item id="lib_address_input" hash_code="50816767" type="0" content_hash_code="57977576" os_list="linux,windows" file_path="third_party/libaddressinput/chromium/chrome_metadata_source.cc"/> <item id="load_autofill_gstatic_data" hash_code="119416099" type="0" content_hash_code="8433621" os_list="linux,windows" file_path="chrome/browser/autofill/autofill_gstatic_reader.cc"/> @@ -214,6 +219,7 @@ Refer to README.md for content description and update process. <item id="popular_sites_fetch" hash_code="50755044" type="0" content_hash_code="6910083" os_list="linux,windows" file_path="components/ntp_tiles/popular_sites_impl.cc"/> <item id="port_forwarding_controller_socket" hash_code="95075845" type="0" content_hash_code="122163428" os_list="linux,windows" file_path="chrome/browser/devtools/device/port_forwarding_controller.cc"/> <item id="ppapi_download_request" hash_code="135967426" type="0" content_hash_code="110461402" os_list="linux,windows" file_path="chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc"/> + <item id="predictive_prefetch" hash_code="72157052" type="0" content_hash_code="69511160" os_list="linux,windows" file_path="chrome/browser/predictors/prefetch_manager.cc"/> <item id="prefetch_download" hash_code="44583172" type="0" content_hash_code="21424542" os_list="linux,windows" file_path="components/offline_pages/core/prefetch/prefetch_downloader_impl.cc"/> <item id="prefetch_visuals" hash_code="91068704" type="0" content_hash_code="90439946" os_list="linux,windows" file_path="components/offline_pages/core/prefetch/visuals_fetch_by_url.cc"/> <item id="previews_litepage_origin_prober" hash_code="33703614" type="0" deprecated="2020-04-23" content_hash_code="116235355" file_path="chrome/browser/previews/previews_lite_page_redirect_url_loader.cc"/> @@ -238,6 +244,7 @@ Refer to README.md for content description and update process. <item id="quic_chromium_packet_writer" hash_code="20153177" type="0" content_hash_code="29657765" os_list="linux,windows" file_path="net/quic/quic_chromium_packet_writer.cc"/> <item id="ranker_url_fetcher" hash_code="95682324" type="0" content_hash_code="45958626" os_list="linux,windows" file_path="components/assist_ranker/ranker_url_fetcher.cc"/> <item id="rappor_report" hash_code="44606780" type="0" content_hash_code="111287826" os_list="linux,windows" file_path="components/rappor/log_uploader.cc"/> + <item id="receive_messages_express" hash_code="29506140" type="0" content_hash_code="38581365" os_list="linux,windows" file_path="chrome/browser/nearby_sharing/tachyon/receive_messages_express.cc"/> <item id="refresh_token_annotation_request" hash_code="7433837" type="1" second_id="29188932" deprecated="2018-01-17" content_hash_code="137103383" file_path=""/> <item id="remote_copy_message_handler" hash_code="80255301" type="0" content_hash_code="117673331" os_list="linux,windows" file_path="chrome/browser/sharing/shared_clipboard/remote_copy_message_handler.cc"/> <item id="remote_suggestions_provider" hash_code="49544361" type="0" content_hash_code="126329742" os_list="linux,windows" file_path="components/ntp_snippets/remote/cached_image_fetcher.cc"/> @@ -267,6 +274,7 @@ Refer to README.md for content description and update process. <item id="sdch_dictionary_fetch" hash_code="47152935" type="0" deprecated="2017-09-16" content_hash_code="16764294" file_path=""/> <item id="search_suggest_service" hash_code="57785193" type="0" content_hash_code="132247652" os_list="linux,windows" file_path="chrome/browser/search/search_suggest/search_suggest_loader_impl.cc"/> <item id="security_key_socket" hash_code="31074955" type="0" content_hash_code="13741232" os_list="linux,windows" file_path="remoting/host/security_key/security_key_socket.cc"/> + <item id="send_message_express" hash_code="23527666" type="0" content_hash_code="96850228" os_list="linux,windows" file_path="chrome/browser/nearby_sharing/tachyon/send_message_express.cc"/> <item id="service_worker_navigation_preload" hash_code="129872904" type="0" content_hash_code="79473248" os_list="linux,windows" file_path="content/browser/service_worker/service_worker_fetch_dispatcher.cc"/> <item id="service_worker_update_checker" hash_code="130931413" type="0" content_hash_code="46608086" os_list="linux,windows" file_path="content/browser/service_worker/service_worker_single_script_update_checker.cc"/> <item id="services_http_server_error_response" hash_code="59302801" type="0" content_hash_code="127774041" os_list="linux,windows" file_path="services/network/public/cpp/server/http_server.cc"/> diff --git a/chromium/tools/translation/helper/grd_helper.py b/chromium/tools/translation/helper/grd_helper.py index 5740e354eae..96b78f8acb7 100644 --- a/chromium/tools/translation/helper/grd_helper.py +++ b/chromium/tools/translation/helper/grd_helper.py @@ -34,7 +34,9 @@ TAGS_TO_IGNORE = ( def GetGrdMessages(grd_path_or_string, dir_path): - """Load the grd file and return a dict of message ids to messages.""" + """Load the grd file and return a dict of message ids to messages. + + Ignores non-translateable messages.""" doc = grit.grd_reader.Parse( grd_path_or_string, dir_path, @@ -46,6 +48,7 @@ def GetGrdMessages(grd_path_or_string, dir_path): return { msg.attrs['name']: msg for msg in doc.GetChildrenOfType(grit.node.message.MessageNode) + if msg.IsTranslateable() } diff --git a/chromium/tools/translation/helper/grd_helper_unittest.py b/chromium/tools/translation/helper/grd_helper_unittest.py index 1aac24792a7..69be76376ca 100644 --- a/chromium/tools/translation/helper/grd_helper_unittest.py +++ b/chromium/tools/translation/helper/grd_helper_unittest.py @@ -33,7 +33,7 @@ class GrdHelperTest(unittest.TestCase): # listed here. self.assertTrue('IDS_TEST_STRING1' in messages) self.assertTrue('IDS_TEST_STRING2' in messages) - self.assertTrue('IDS_TEST_STRING_NON_TRANSLATEABLE' in messages) + self.assertFalse('IDS_TEST_STRING_NON_TRANSLATEABLE' in messages) def testReadGrdpMessages(self): messages = grd_helper.GetGrdpMessagesFromString( diff --git a/chromium/tools/update_pgo_profiles.py b/chromium/tools/update_pgo_profiles.py index 0f041dbd260..8935bfd656f 100755 --- a/chromium/tools/update_pgo_profiles.py +++ b/chromium/tools/update_pgo_profiles.py @@ -105,8 +105,20 @@ def _get_profile_path(args): if not os.path.isfile(profile_path): raise RuntimeError( 'requested profile "%s" doesn\'t exist, please make sure ' - '"checkout_pgo_profiles" is set to true in the "custom_vars" section ' - 'of your .gclient file and then run "gclient runhooks" to download it' % + '"checkout_pgo_profiles" is set to True in the "custom_vars" section ' + 'of your .gclient file, e.g.: \n' + 'solutions = [ \n' + ' { \n' + ' "name": "src", \n' + ' # ... \n' + ' "custom_vars": { \n' + ' "checkout_pgo_profiles": True, \n' + ' }, \n' + ' }, \n' + '], \n' + 'and then run "gclient runhooks" to download it. You can also simply ' + 'disable the PGO optimizations by setting |chrome_pgo_phase = 0| in ' + 'your GN arguments.'% profile_path) os.utime(profile_path, None) diff --git a/chromium/tools/variations/fieldtrial_to_struct.py b/chromium/tools/variations/fieldtrial_to_struct.py index 65f9c9ba08a..35bdad1eedb 100755 --- a/chromium/tools/variations/fieldtrial_to_struct.py +++ b/chromium/tools/variations/fieldtrial_to_struct.py @@ -108,6 +108,9 @@ def _CreateExperiment(experiment_data, forcing_flags_data = experiment_data.get('forcing_flag') if forcing_flags_data: experiment['forcing_flag'] = forcing_flags_data + min_os_version_data = experiment_data.get('min_os_version') + if min_os_version_data: + experiment['min_os_version'] = min_os_version_data params_data = experiment_data.get('params') if (params_data): experiment['params'] = [{'key': param, 'value': params_data[param]} diff --git a/chromium/tools/variations/unittest_data/expected_output.cc b/chromium/tools/variations/unittest_data/expected_output.cc index 1bc17655356..cfb8b37dea7 100644 --- a/chromium/tools/variations/unittest_data/expected_output.cc +++ b/chromium/tools/variations/unittest_data/expected_output.cc @@ -30,6 +30,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_5[] = { 0, base::nullopt, NULL, + NULL, 0, NULL, 0, @@ -62,6 +63,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_4[] = { 2, base::nullopt, NULL, + NULL, 0, NULL, 0, @@ -79,6 +81,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_4[] = { 1, base::nullopt, NULL, + NULL, 0, NULL, 0, @@ -103,6 +106,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_3[] = { 0, base::nullopt, NULL, + NULL, 0, NULL, 0, @@ -132,6 +136,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_2[] = { 0, true, NULL, + NULL, 0, NULL, 0, @@ -149,6 +154,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_2[] = { 0, false, NULL, + NULL, 0, NULL, 0, @@ -176,6 +182,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_1[] = { 0, base::nullopt, NULL, + NULL, 0, array_kFieldTrialConfig_enable_features_1, 1, @@ -238,6 +245,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_0[] = { array_kFieldTrialConfig_form_factors_0, 0, base::nullopt, + NULL, array_kFieldTrialConfig_params, 2, array_kFieldTrialConfig_enable_features, @@ -255,6 +263,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_0[] = { array_kFieldTrialConfig_form_factors_1, 0, base::nullopt, + NULL, array_kFieldTrialConfig_params_0, 2, array_kFieldTrialConfig_enable_features_0, @@ -280,6 +289,7 @@ const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments[] = { 0, base::nullopt, NULL, + NULL, 0, NULL, 0, diff --git a/chromium/tools/variations/unittest_data/expected_output.h b/chromium/tools/variations/unittest_data/expected_output.h index 7612fb3c87c..4adf6b3f531 100644 --- a/chromium/tools/variations/unittest_data/expected_output.h +++ b/chromium/tools/variations/unittest_data/expected_output.h @@ -32,6 +32,7 @@ struct FieldTrialTestingExperiment { const Study::FormFactor * form_factors; const size_t form_factors_size; const base::Optional<bool> is_low_end_device; + const char* const min_os_version; const FieldTrialTestingExperimentParams * params; const size_t params_size; const char* const * enable_features; diff --git a/chromium/tools/vscode/launch.json5 b/chromium/tools/vscode/launch.json5 index 7c749f1fdee..c3a3d83daf0 100644 --- a/chromium/tools/vscode/launch.json5 +++ b/chromium/tools/vscode/launch.json5 @@ -3,7 +3,7 @@ "configurations": [ { "name": "Chrome Debug", - "type": "cppdbg", + "type": "cppdbg", // "cppdbg" for GDB/LLDB, "cppvsdbg" for Windows Visual Studio debugger "request": "launch", "targetArchitecture": "x64", "program": "${workspaceRoot}/out/Debug/chrome", @@ -30,7 +30,7 @@ }, { "name": "Chrome Release", - "type": "cppdbg", + "type": "cppdbg", // "cppdbg" for GDB/LLDB, "cppvsdbg" for Windows Visual Studio debugger "request": "launch", "targetArchitecture": "x64", "program": "${workspaceRoot}/out/Release/chrome", @@ -43,7 +43,7 @@ }, { "name": "Custom Test Debug", - "type": "cppdbg", + "type": "cppdbg", // "cppdbg" for GDB/LLDB, "cppvsdbg" for Windows Visual Studio debugger "request": "launch", "targetArchitecture": "x64", "program": "${workspaceRoot}/out/Debug/unit_tests", @@ -61,7 +61,7 @@ }, { "name": "Attach Debug", - "type": "cppdbg", + "type": "cppdbg", // "cppdbg" for GDB/LLDB, "cppvsdbg" for Windows Visual Studio debugger "request": "launch", "targetArchitecture": "x64", "program": "${workspaceRoot}/out/Debug/chrome", @@ -76,7 +76,7 @@ { // Must be running before launching: out/Debug/bin/chrome_public_apk gdb --ide "name": "Attach Android", - "type": "cppdbg", + "type": "cppdbg", // "cppdbg" for GDB/LLDB, "cppvsdbg" for Windows Visual Studio debugger "request": "launch", "targetArchitecture": "arm", "program": "/tmp/adb-gdb-support-${env:USER}/app_process", diff --git a/chromium/tools/vscode/tasks.json5 b/chromium/tools/vscode/tasks.json5 index 8e736cad833..d46895bf450 100644 --- a/chromium/tools/vscode/tasks.json5 +++ b/chromium/tools/vscode/tasks.json5 @@ -5,7 +5,7 @@ { "label": "1-build_chrome_debug", "type": "shell", - "command": "ninja -C out/Debug -j 2000 chrome", + "command": "autoninja -C out/Debug chrome", "group": "test", "presentation": { "echo": true, @@ -91,7 +91,7 @@ { "label": "3-build_all_debug", "type": "shell", - "command": "ninja -C out/Debug -j 2000", + "command": "autoninja -C out/Debug", "presentation": { "echo": true, "reveal": "always" @@ -175,7 +175,7 @@ { "label": "5-build_test_debug", "type": "shell", - "command": "ninja -C out/Debug -j 2000 unit_tests components_unittests browser_tests", + "command": "autoninja -C out/Debug unit_tests components_unittests browser_tests", "presentation": { "echo": true, "reveal": "always" diff --git a/chromium/tools/win/IdleWakeups/IdleWakeups.vcxproj b/chromium/tools/win/IdleWakeups/IdleWakeups.vcxproj index 4bec5df9573..3df7833b9e9 100644 --- a/chromium/tools/win/IdleWakeups/IdleWakeups.vcxproj +++ b/chromium/tools/win/IdleWakeups/IdleWakeups.vcxproj @@ -22,32 +22,32 @@ <ProjectGuid>{CE6B94A5-2753-4DF1-9C4E-5A210D355CA2}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>IdleWakeups</RootNamespace> - <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v141</PlatformToolset> + <PlatformToolset>v142</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v141</PlatformToolset> + <PlatformToolset>v142</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v141</PlatformToolset> + <PlatformToolset>v142</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v141</PlatformToolset> + <PlatformToolset>v142</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> diff --git a/chromium/tools/win/chromeexts/chrome_exts_command.cc b/chromium/tools/win/chromeexts/chrome_exts_command.cc index 4c016002201..047cc1719b8 100644 --- a/chromium/tools/win/chromeexts/chrome_exts_command.cc +++ b/chromium/tools/win/chromeexts/chrome_exts_command.cc @@ -4,7 +4,7 @@ #include "tools/win/chromeexts/chrome_exts_command.h" -#include "base/logging.h" +#include "base/check.h" namespace tools { namespace win { diff --git a/chromium/tools/win/trace-sandbox-viewer.py b/chromium/tools/win/trace-sandbox-viewer.py new file mode 100644 index 00000000000..eb1420a332f --- /dev/null +++ b/chromium/tools/win/trace-sandbox-viewer.py @@ -0,0 +1,212 @@ +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +"""Use Chromium tracing to associate mojo endpoints with sandboxes. + +This script provides a rich view of where mojo interfaces are hosted +and consumed when Chromium is build with mojo tracing enabled, and +provides a coarser view for default builds or packages such as Chrome +Canary. + +## With Mojo Tracing Enabled + +1. Enable detailed mojo tracing: + +gn args ./out/Default +... +enable_mojo_tracing = true +... +autoninja -C ./out/Default chrome + +2. Collect a trace: + +chrome.exe --trace-startup=-*,disabled-by-default-sandbox,startup,mojom ^ + --trace-startup-file=c:/src/temp/tracing/foo.log ^ + --trace-startup-duration=0 + +Or visit chrome://tracing and enable categories above, save file. + +3. Run this script: + +trace-sandbox-viewer.py file.log + +trace-sandbox-viewer.py file.json.gz + +### Output + +{ + "None(Browser)": [ + "(Impl)IPC::mojom::Channel::GetAssociatedInterface", + "(Impl)IPC::mojom::Channel::Receive", + "(Impl)IPC::mojom::Channel::SetPeerPid", + "(Impl)apps::mojom::AppService::RegisterPublisher", + "(Impl)apps::mojom::AppService::RegisterSubscriber", + "(Impl)apps::mojom::Publisher::Connect", + ... + "data_decoder::mojom::DataDecoderService::BindJsonParser", + "data_decoder::mojom::JsonParser::Parse", + "data_decoder::mojom::JsonParser::ParseCallback", + ... + ], + "Network": [ + ... + ], + "Renderer": [ + "(Impl)IPC::mojom::Channel::GetAssociatedInterface", + "(Impl)IPC::mojom::Channel::Receive", + "(Impl)IPC::mojom::Channel::SetPeerPid", + "(Impl)autofill::mojom::AutofillAgent::FieldTypePredictionsAvailable", + "(Impl)autofill::mojom::PasswordAutofillAgent::SetLoggingState", + "(Impl)blink::mojom::AppCacheFrontend::CacheSelected", + ... + ], + "Utility": [ + "(Impl)IPC::mojom::Channel::SetPeerPid", + "(Impl)content::mojom::ChildHistogramFetcherFactory::CreateFetcher", + "(Impl)content::mojom::ChildProcess::BindReceiver", + "(Impl)content::mojom::ChildProcess::BindServiceInterface", + "(Impl)content::mojom::ChildProcess::BootstrapLegacyIpc", + "(Impl)content::mojom::ChildProcess::GetBackgroundTracingAgentProvider", + "(Impl)content::mojom::ChildProcess::Initialize", + "(Impl)data_decoder::mojom::DataDecoderService::BindImageDecoder", + "(Impl)data_decoder::mojom::DataDecoderService::BindJsonParser", + "(Impl)data_decoder::mojom::ImageDecoder::DecodeImage", + "(Impl)data_decoder::mojom::ImageDecoder::DecodeImageCallback", + "(Impl)data_decoder::mojom::JsonParser::Parse", + "(Impl)data_decoder::mojom::JsonParser::ParseCallback", + ... + ], +} +``` + +## Default Builds + +This script is also useful for default builds of Chromium but will +show interfaces in both hosting and consuming processes (as mojom +tracing is limited). Run using the same arguments as above. + +### Output. + +Note interfaces appear in both host and client contexts: + +``` +{ + "None(Browser)": [ + "IPC Channel", + "apps.mojom.AppService", + "apps.mojom.Publisher", + ... + "data_decoder.mojom.DataDecoderService", + "data_decoder.mojom.JsonParser", + ... + ], + "Utility": [ + "IPC Channel", + "content.mojom.ChildHistogramFetcherFactory", + "content.mojom.ChildProcess", + "data_decoder.mojom.DataDecoderService", + "data_decoder.mojom.JsonParser", + ... + ], + ... + "Renderer": [ + "IPC Channel", + "blink.mojom.AppCacheFrontend", + ... + "network.mojom.URLLoaderClient", + "safe_browsing.mojom.PhishingModelSetter", + "safe_browsing.mojom.SafeBrowsing", + ... + ], + ... +} +``` + +""" + +import argparse +import gzip +import json +import sys + + +def guess_open_file(filename): + if filename.endswith('.gz'): + return gzip.open(filename, mode='rb') + else: + return open(filename, 'rb') + + +def read_json_events(files, categories): + events = [] + for filename in files: + with guess_open_file(filename) as fp: + objs = json.load(fp) + for event in objs['traceEvents']: + if event['cat'] in categories: + events.append(event) + return events + + +def assign_interfaces_to_sandboxes(events): + # Returns SandboxType:set(Interfaces). + intmap = {} + # Running map of PID:SandboxType + pidmap = {} + # running map of PID:ProcName + procmap = {} + # Assumes events are sorted by timestamp. + for event in events: + # Don't yet know how to remove processes when they finish + # (i.e. which event to match). + if event['cat'] == 'mojom': + pid = event['pid'] + interface = event['name'] + # If there is a sandbox, use that. + if pid in pidmap: + sbox = pidmap[pid] + if not sbox in intmap: + intmap[sbox] = set() + intmap[sbox].add(interface) + # Otherwise if we saw a process, use that. + elif pid in procmap: + sbox = "None(" + procmap[pid] + ")" + if not sbox in intmap: + intmap[sbox] = set() + intmap[sbox].add(interface) + elif event['cat'] == '__metadata' and event['name'] == 'process_name': + pid = event['pid'] + proc = event['args']['name'] + procmap[pid] = proc + elif event['cat'] == 'disabled-by-default-sandbox': + pid = int(event['args']['policy']['processIds'][0]) + sbox = event['args']['sandboxType'] + pidmap[pid] = sbox + return intmap + + +def output_as_json(interfaces): + dumpable = {} + for host in interfaces: + dumpable[host] = sorted(interfaces[host]) + return json.dumps(dumpable, indent=2) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('files', nargs='*', help='file file...') + args = parser.parse_args() + if len(args.files) < 1: + print("Need at least one file") + return 1 + + events = read_json_events( + args.files, + categories=['mojom', 'disabled-by-default-sandbox', '__metadata']) + interfaces = assign_interfaces_to_sandboxes(events) + + print(output_as_json(interfaces)) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/chromium/tools/xdisplaycheck/xdisplaycheck.cc b/chromium/tools/xdisplaycheck/xdisplaycheck.cc index 6623153a846..2e901ee9fe4 100644 --- a/chromium/tools/xdisplaycheck/xdisplaycheck.cc +++ b/chromium/tools/xdisplaycheck/xdisplaycheck.cc @@ -36,7 +36,7 @@ void Sleep(int duration_ms) { class XScopedDisplay { public: - XScopedDisplay() : display_(NULL) {} + XScopedDisplay() : display_(nullptr) {} ~XScopedDisplay() { if (display_) XCloseDisplay(display_); } |