From 16bdb40f6eee3a8371255afa4f8badd17f915eb4 Mon Sep 17 00:00:00 2001 From: Sergey Poromov Date: Tue, 14 Dec 2021 09:22:49 +0000 Subject: [PATCH 01/32] Reland "dlp: Process confidential Lacros windows in Ash." This is a reland of 84ce36326b9e2985278ae1ac8095b4b85a0653a7 The original CL used C++17 feature that was not caught by CQ. Original change's description: > dlp: Process confidential Lacros windows in Ash. > > When updated information about confidential content in Lacros windows > is received in Ash, it should be passed and correctly handled by > DlpContentManager. > It should track these restriction and apply to screenshot, screenshare > and privacy screen checks. > > Bug: 1260467 > Change-Id: I364d6d994d0fd652a6cd24f89351d3ed190b63dd > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3314865 > Reviewed-by: Aya Elsayed > Reviewed-by: Aida Zolic > Reviewed-by: Erik Chen > Commit-Queue: Sergey Poromov > Cr-Commit-Position: refs/heads/main@{#950982} Bug: 1260467 Change-Id: I1c848ad61441991ea6d78233bb4b9d684c9c81fd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3329891 Reviewed-by: Aya Elsayed Reviewed-by: Aida Zolic Reviewed-by: Erik Chen Commit-Queue: Sergey Poromov Auto-Submit: Sergey Poromov Cr-Commit-Position: refs/heads/main@{#951419} --- chrome/browser/ash/crosapi/dlp_ash.cc | 57 +++++++++- .../ash/policy/dlp/dlp_content_manager.cc | 107 +++++++++++++++++- .../ash/policy/dlp/dlp_content_manager.h | 12 ++ .../ash/policy/dlp/dlp_window_observer.cc | 1 + .../ash/policy/dlp/dlp_window_observer.h | 2 + .../policy/dlp/dlp_confidential_contents.cc | 34 ++++++ .../policy/dlp/dlp_confidential_contents.h | 20 +++- .../policy/dlp/dlp_content_restriction_set.cc | 5 + .../policy/dlp/dlp_content_restriction_set.h | 3 + 9 files changed, 231 insertions(+), 10 deletions(-) diff --git a/chrome/browser/ash/crosapi/dlp_ash.cc b/chrome/browser/ash/crosapi/dlp_ash.cc index 7db6523d772561..75ca477af26ecf 100644 --- a/chrome/browser/ash/crosapi/dlp_ash.cc +++ b/chrome/browser/ash/crosapi/dlp_ash.cc @@ -4,8 +4,54 @@ #include "chrome/browser/ash/crosapi/dlp_ash.h" +#include "base/logging.h" +#include "chrome/browser/ash/crosapi/window_util.h" +#include "chrome/browser/ash/policy/dlp/dlp_content_manager.h" +#include "chrome/browser/chromeos/policy/dlp/dlp_content_restriction_set.h" +#include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h" + namespace crosapi { +namespace { + +policy::DlpRulesManager::Level ConvertMojoToDlpRulesManagerLevel( + crosapi::mojom::DlpRestrictionLevel level) { + switch (level) { + case crosapi::mojom::DlpRestrictionLevel::kReport: + return policy::DlpRulesManager::Level::kReport; + case crosapi::mojom::DlpRestrictionLevel::kWarn: + return policy::DlpRulesManager::Level::kWarn; + case crosapi::mojom::DlpRestrictionLevel::kBlock: + return policy::DlpRulesManager::Level::kBlock; + case crosapi::mojom::DlpRestrictionLevel::kAllow: + return policy::DlpRulesManager::Level::kAllow; + } +} + +policy::DlpContentRestrictionSet ConvertMojoToDlpContentRestrictionSet( + const mojom::DlpRestrictionSetPtr& restrictions) { + policy::DlpContentRestrictionSet result; + result.SetRestriction( + policy::DlpContentRestriction::kScreenshot, + ConvertMojoToDlpRulesManagerLevel(restrictions->screenshot->level), + restrictions->screenshot->url); + result.SetRestriction( + policy::DlpContentRestriction::kPrivacyScreen, + ConvertMojoToDlpRulesManagerLevel(restrictions->privacy_screen->level), + restrictions->privacy_screen->url); + result.SetRestriction( + policy::DlpContentRestriction::kPrint, + ConvertMojoToDlpRulesManagerLevel(restrictions->print->level), + restrictions->print->url); + result.SetRestriction( + policy::DlpContentRestriction::kScreenShare, + ConvertMojoToDlpRulesManagerLevel(restrictions->screen_share->level), + restrictions->screen_share->url); + return result; +} + +} // namespace + DlpAsh::DlpAsh() = default; DlpAsh::~DlpAsh() = default; @@ -16,7 +62,16 @@ void DlpAsh::BindReceiver(mojo::PendingReceiver receiver) { void DlpAsh::DlpRestrictionsUpdated(const std::string& window_id, mojom::DlpRestrictionSetPtr restrictions) { - // TODO(crbug.com/1260467): Pass information to DlpContentManager in Ash. + aura::Window* window = GetShellSurfaceWindow(window_id); + if (!window) { + LOG(WARNING) << "Didn't find Lacros window with id: " << window_id; + return; + } + policy::DlpContentManager* dlp_content_manager = + policy::DlpContentManager::Get(); + DCHECK(dlp_content_manager); + dlp_content_manager->OnWindowRestrictionChanged( + window, ConvertMojoToDlpContentRestrictionSet(restrictions)); } } // namespace crosapi diff --git a/chrome/browser/ash/policy/dlp/dlp_content_manager.cc b/chrome/browser/ash/policy/dlp/dlp_content_manager.cc index 543f56d1979597..70b6906086a876 100644 --- a/chrome/browser/ash/policy/dlp/dlp_content_manager.cc +++ b/chrome/browser/ash/policy/dlp/dlp_content_manager.cc @@ -127,6 +127,11 @@ void DlpContentManager::OnWindowOcclusionChanged(aura::Window* window) { CheckRunningVideoCapture(); } +void DlpContentManager::OnWindowDestroying(aura::Window* window) { + window_observers_.erase(window); + MaybeChangeOnScreenRestrictions(); +} + DlpContentRestrictionSet DlpContentManager::GetConfidentialRestrictions( content::WebContents* web_contents) const { if (!base::Contains(confidential_web_contents_, web_contents)) @@ -341,6 +346,14 @@ void DlpContentManager::OnScreenCaptureStopped( }); } +void DlpContentManager::OnWindowRestrictionChanged( + aura::Window* window, + const DlpContentRestrictionSet& restrictions) { + confidential_windows_[window] = restrictions; + window_observers_[window] = std::make_unique(window, this); + MaybeChangeOnScreenRestrictions(); +} + /* static */ void DlpContentManager::SetDlpContentManagerForTesting( DlpContentManager* dlp_content_manager) { @@ -475,8 +488,9 @@ void DlpContentManager::OnConfidentialityChanged( RemoveFromConfidential(web_contents); } else { confidential_web_contents_[web_contents] = restriction_set; - window_observers_[web_contents] = std::make_unique( - web_contents->GetNativeView(), this); + web_contents_window_observers_[web_contents] = + std::make_unique(web_contents->GetNativeView(), + this); if (web_contents->GetVisibility() == content::Visibility::VISIBLE) { MaybeChangeOnScreenRestrictions(); } @@ -497,17 +511,24 @@ void DlpContentManager::OnVisibilityChanged( void DlpContentManager::RemoveFromConfidential( content::WebContents* web_contents) { confidential_web_contents_.erase(web_contents); - window_observers_.erase(web_contents); + web_contents_window_observers_.erase(web_contents); MaybeChangeOnScreenRestrictions(); } void DlpContentManager::MaybeChangeOnScreenRestrictions() { DlpContentRestrictionSet new_restriction_set; + // Check each visible WebContents. for (const auto& entry : confidential_web_contents_) { if (entry.first->GetVisibility() == content::Visibility::VISIBLE) { new_restriction_set.UnionWith(entry.second); } } + // Check each visible Lacros window. + for (const auto& entry : confidential_windows_) { + if (entry.first->IsVisible()) { + new_restriction_set.UnionWith(entry.second); + } + } if (on_screen_restrictions_ != new_restriction_set) { DlpContentRestrictionSet added_restrictions = new_restriction_set.DifferenceWith(on_screen_restrictions_); @@ -603,6 +624,7 @@ DlpContentManager::GetAreaConfidentialContentsInfo( // Window - restricted if the window contains confidential data. if (area.type == ScreenshotType::kWindow) { DCHECK(area.window); + // Check whether the captured window contains any confidential WebContents. for (auto& entry : confidential_web_contents_) { aura::Window* web_contents_window = entry.first->GetNativeView(); if (area.window->Contains(web_contents_window)) { @@ -617,14 +639,33 @@ DlpContentManager::GetAreaConfidentialContentsInfo( } } } + // Check whether the captured window is a confidential Lacros window. + auto window_entry = confidential_windows_.find(area.window); + if (window_entry != confidential_windows_.end()) { + if (window_entry->second.GetRestrictionLevel(restriction) == + info.restriction_info.level) { + info.confidential_contents.Add( + window_entry->first, + window_entry->second.GetRestrictionUrl(restriction)); + } else if (window_entry->second.GetRestrictionLevel(restriction) > + info.restriction_info.level) { + info.restriction_info = + window_entry->second.GetRestrictionLevelAndUrl(restriction); + info.confidential_contents.ClearAndAdd( + window_entry->first, + window_entry->second.GetRestrictionUrl(restriction)); + } + } return info; } DCHECK_EQ(area.type, ScreenshotType::kPartialWindow); DCHECK(area.rect); DCHECK(area.window); - // Partial - restricted if any visible confidential WebContents intersects + // Partial - restricted if any visible confidential content intersects // with the area. + + // Intersect the captured area with all confidential WebContents. for (auto& entry : confidential_web_contents_) { if (entry.first->GetVisibility() != content::Visibility::VISIBLE || entry.second.GetRestrictionLevel(restriction) == @@ -661,6 +702,44 @@ DlpContentManager::GetAreaConfidentialContentsInfo( info.confidential_contents.ClearAndAdd(entry.first); } } + + // Intersect the captured area with all confidential Lacros windows. + for (auto& entry : confidential_windows_) { + if (!entry.first->IsVisible() || + entry.first->GetOcclusionState() == + aura::Window::OcclusionState::OCCLUDED || + entry.second.GetRestrictionLevel(restriction) == + DlpRulesManager::Level::kNotSet) { + continue; + } + aura::Window* root_window = entry.first->GetRootWindow(); + // If no root window, then the Window shouldn't be visible. + if (!root_window) + continue; + // Not allowing if the area intersects with confidential Window, + // but the intersection doesn't belong to occluded area. + gfx::Rect intersection(*area.rect); + aura::Window::ConvertRectToTarget(area.window, root_window, &intersection); + intersection.Intersect(entry.first->GetBoundsInRootWindow()); + + if (intersection.IsEmpty() || + entry.first->occluded_region_in_root().contains( + gfx::RectToSkIRect(intersection))) + continue; + + if (entry.second.GetRestrictionLevel(restriction) == + info.restriction_info.level) { + info.confidential_contents.Add( + entry.first, entry.second.GetRestrictionUrl(restriction)); + } else if (entry.second.GetRestrictionLevel(restriction) > + info.restriction_info.level) { + info.restriction_info = + entry.second.GetRestrictionLevelAndUrl(restriction); + info.confidential_contents.ClearAndAdd( + entry.first, entry.second.GetRestrictionUrl(restriction)); + } + } + return info; } @@ -691,6 +770,7 @@ DlpContentManager::GetScreenShareConfidentialContentsInfo( ConfidentialContentsInfo info; aura::Window* window = content::DesktopMediaID::GetNativeWindowById(media_id); if (window) { + // Check whether the captured window contains any confidential WebContents. for (auto& entry : confidential_web_contents_) { aura::Window* web_contents_window = entry.first->GetNativeView(); if (!window->Contains(web_contents_window)) @@ -707,6 +787,25 @@ DlpContentManager::GetScreenShareConfidentialContentsInfo( info.confidential_contents.ClearAndAdd(entry.first); } } + // Check whether the captured window is a confidential Lacros window. + auto window_entry = confidential_windows_.find(window); + if (window_entry != confidential_windows_.end()) { + if (window_entry->second.GetRestrictionLevel( + DlpContentRestriction::kScreenShare) == + info.restriction_info.level) { + info.confidential_contents.Add( + window_entry->first, window_entry->second.GetRestrictionUrl( + DlpContentRestriction::kScreenShare)); + } else if (window_entry->second.GetRestrictionLevel( + DlpContentRestriction::kScreenShare) > + info.restriction_info.level) { + info.restriction_info = window_entry->second.GetRestrictionLevelAndUrl( + DlpContentRestriction::kScreenShare); + info.confidential_contents.ClearAndAdd( + window_entry->first, window_entry->second.GetRestrictionUrl( + DlpContentRestriction::kScreenShare)); + } + } } return info; } diff --git a/chrome/browser/ash/policy/dlp/dlp_content_manager.h b/chrome/browser/ash/policy/dlp/dlp_content_manager.h index 599686f79d3949..f96feb8aae6485 100644 --- a/chrome/browser/ash/policy/dlp/dlp_content_manager.h +++ b/chrome/browser/ash/policy/dlp/dlp_content_manager.h @@ -58,6 +58,7 @@ class DlpContentManager : public DlpContentObserver, // DlpWindowObserver::Delegate overrides: void OnWindowOcclusionChanged(aura::Window* window) override; + void OnWindowDestroying(aura::Window* window) override; // Returns which restrictions are applied to the |web_contents| according to // the policy. @@ -137,6 +138,10 @@ class DlpContentManager : public DlpContentObserver, void OnScreenCaptureStopped(const std::string& label, const content::DesktopMediaID& media_id); + // Called when an updated restrictions are received for Lacros window. + void OnWindowRestrictionChanged(aura::Window* window, + const DlpContentRestrictionSet& restrictions); + // The caller (test) should manage |dlp_content_manager| lifetime. // Reset doesn't delete the object. // Please use ScopedDlpContentManagerForTesting instead of these methods, @@ -343,6 +348,13 @@ class DlpContentManager : public DlpContentObserver, // Map of window observers for the current confidential WebContents. base::flat_map> + web_contents_window_observers_; + + // Map from currently known Lacros Windows to their restrictions. + base::flat_map confidential_windows_; + + // Map of observers for currently known Lacros Windows. + base::flat_map> window_observers_; // Set of restriction applied to the currently visible content. diff --git a/chrome/browser/ash/policy/dlp/dlp_window_observer.cc b/chrome/browser/ash/policy/dlp/dlp_window_observer.cc index 827eeb527c4718..c6203c1e9de5b6 100644 --- a/chrome/browser/ash/policy/dlp/dlp_window_observer.cc +++ b/chrome/browser/ash/policy/dlp/dlp_window_observer.cc @@ -23,6 +23,7 @@ void DlpWindowObserver::OnWindowDestroying(aura::Window* window) { DCHECK_EQ(window_, window); window_->RemoveObserver(this); window_ = nullptr; + delegate_->OnWindowDestroying(window); } void DlpWindowObserver::OnWindowOcclusionChanged(aura::Window* window) { diff --git a/chrome/browser/ash/policy/dlp/dlp_window_observer.h b/chrome/browser/ash/policy/dlp/dlp_window_observer.h index c2799a3d08a21f..24326707ffd448 100644 --- a/chrome/browser/ash/policy/dlp/dlp_window_observer.h +++ b/chrome/browser/ash/policy/dlp/dlp_window_observer.h @@ -22,6 +22,8 @@ class DlpWindowObserver : public aura::WindowObserver { virtual ~Delegate() = default; virtual void OnWindowOcclusionChanged(aura::Window* window) = 0; + + virtual void OnWindowDestroying(aura::Window* window) = 0; }; DlpWindowObserver(aura::Window* window, Delegate* delegate); diff --git a/chrome/browser/chromeos/policy/dlp/dlp_confidential_contents.cc b/chrome/browser/chromeos/policy/dlp/dlp_confidential_contents.cc index d61e6cb9f39277..e46ac4d5892086 100644 --- a/chrome/browser/chromeos/policy/dlp/dlp_confidential_contents.cc +++ b/chrome/browser/chromeos/policy/dlp/dlp_confidential_contents.cc @@ -14,9 +14,22 @@ #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/web_contents.h" +#include "ui/aura/client/aura_constants.h" +#include "ui/aura/window.h" namespace policy { +namespace { + +gfx::ImageSkia GetWindowIcon(aura::Window* window) { + gfx::ImageSkia* image = window->GetProperty(aura::client::kWindowIconKey); + if (!image) + image = window->GetProperty(aura::client::kAppIconKey); + return image ? *image : gfx::ImageSkia(); +} + +} // namespace + // The maximum number of entries that can be kept in the // DlpConfidentialContentsCache. // TODO(crbug.com/1275926): determine the value to use @@ -26,12 +39,23 @@ static constexpr size_t kDefaultCacheSizeLimit = 100; // DlpConfidentialContentsCache. static constexpr base::TimeDelta kDefaultCacheTimeout = base::Days(7); +DlpConfidentialContent::DlpConfidentialContent() = default; + DlpConfidentialContent::DlpConfidentialContent( content::WebContents* web_contents) : icon(favicon::TabFaviconFromWebContents(web_contents).AsImageSkia()), title(web_contents->GetTitle()), url(web_contents->GetLastCommittedURL()) {} +DlpConfidentialContent::DlpConfidentialContent(aura::Window* window, + const GURL& url) + : icon(GetWindowIcon(window)), title(window->GetTitle()), url(url) {} + +DlpConfidentialContent::DlpConfidentialContent( + const DlpConfidentialContent& other) = default; +DlpConfidentialContent& DlpConfidentialContent::operator=( + const DlpConfidentialContent& other) = default; + bool DlpConfidentialContent::operator==( const DlpConfidentialContent& other) const { return url.EqualsIgnoringRef(other.url); @@ -91,6 +115,10 @@ void DlpConfidentialContents::Add(content::WebContents* web_contents) { contents_.insert(DlpConfidentialContent(web_contents)); } +void DlpConfidentialContents::Add(aura::Window* window, const GURL& url) { + contents_.insert(DlpConfidentialContent(window, url)); +} + void DlpConfidentialContents::Add(const DlpConfidentialContent& content) { contents_.insert(content); } @@ -100,6 +128,12 @@ void DlpConfidentialContents::ClearAndAdd(content::WebContents* web_contents) { Add(web_contents); } +void DlpConfidentialContents::ClearAndAdd(aura::Window* window, + const GURL& url) { + contents_.clear(); + Add(window, url); +} + bool DlpConfidentialContents::IsEmpty() const { return contents_.empty(); } diff --git a/chrome/browser/chromeos/policy/dlp/dlp_confidential_contents.h b/chrome/browser/chromeos/policy/dlp/dlp_confidential_contents.h index 0eb8ce95c316e2..e3c4e2997d4bd7 100644 --- a/chrome/browser/chromeos/policy/dlp/dlp_confidential_contents.h +++ b/chrome/browser/chromeos/policy/dlp/dlp_confidential_contents.h @@ -17,9 +17,13 @@ #include "ui/gfx/image/image_skia.h" #include "url/gurl.h" +namespace aura { +class Window; +} // namespace aura + namespace content { class WebContents; -} +} // namespace content namespace policy { @@ -27,13 +31,15 @@ namespace policy { // Used to cache and later show information about observed confidential contents // to the user. struct DlpConfidentialContent { - DlpConfidentialContent() = default; + DlpConfidentialContent(); // Constructs DlpConfidentialContent from the title and icon obtained from // |web_contents|, which cannot be null. explicit DlpConfidentialContent(content::WebContents* web_contents); - DlpConfidentialContent(const DlpConfidentialContent& other) = default; - DlpConfidentialContent& operator=(const DlpConfidentialContent& other) = - default; + // Constructs DlpConfidentialContent from the title and icon obtained from + // |window|, which cannot be null and |url|. + DlpConfidentialContent(aura::Window* window, const GURL& url); + DlpConfidentialContent(const DlpConfidentialContent& other); + DlpConfidentialContent& operator=(const DlpConfidentialContent& other); ~DlpConfidentialContent() = default; // Contents with the same url are considered equal, ignoring the ref (part @@ -70,12 +76,16 @@ class DlpConfidentialContents { // Converts |web_contents| to a DlpConfidentialContent and adds it to the // underlying container. void Add(content::WebContents* web_contents); + // Same for |window| and |url| pair. + void Add(aura::Window* window, const GURL& url); void Add(const DlpConfidentialContent& content); // Removes all stored confidential content, if there was any, and adds // |web_contents| converted to a DlpConfidentialContent. void ClearAndAdd(content::WebContents* web_contents); + // Same for |window| and |url| pair. + void ClearAndAdd(aura::Window* web_contents, const GURL& url); // Returns whether there is any content stored or not. bool IsEmpty() const; diff --git a/chrome/browser/chromeos/policy/dlp/dlp_content_restriction_set.cc b/chrome/browser/chromeos/policy/dlp/dlp_content_restriction_set.cc index 72d9d32192e898..81a586585f1bef 100644 --- a/chrome/browser/chromeos/policy/dlp/dlp_content_restriction_set.cc +++ b/chrome/browser/chromeos/policy/dlp/dlp_content_restriction_set.cc @@ -62,6 +62,11 @@ DlpRulesManager::Level DlpContentRestrictionSet::GetRestrictionLevel( return restrictions_[restriction].level; } +const GURL& DlpContentRestrictionSet::GetRestrictionUrl( + DlpContentRestriction restriction) const { + return restrictions_[restriction].url; +} + RestrictionLevelAndUrl DlpContentRestrictionSet::GetRestrictionLevelAndUrl( DlpContentRestriction restriction) const { return restrictions_[restriction]; diff --git a/chrome/browser/chromeos/policy/dlp/dlp_content_restriction_set.h b/chrome/browser/chromeos/policy/dlp/dlp_content_restriction_set.h index 28ce59f7621f4b..cf592bdfc8f140 100644 --- a/chrome/browser/chromeos/policy/dlp/dlp_content_restriction_set.h +++ b/chrome/browser/chromeos/policy/dlp/dlp_content_restriction_set.h @@ -75,6 +75,9 @@ class DlpContentRestrictionSet { DlpRulesManager::Level GetRestrictionLevel( DlpContentRestriction restriction) const; + // Returns the url for most restrictive level for the |restriction|. + const GURL& GetRestrictionUrl(DlpContentRestriction restriction) const; + // Returns the level and url for the |restriction|. RestrictionLevelAndUrl GetRestrictionLevelAndUrl( DlpContentRestriction restriction) const; From 91f1fa0c7b82619e98c03af5e9cc9765ce4d6d08 Mon Sep 17 00:00:00 2001 From: Chrome Metrics Logs Date: Tue, 14 Dec 2021 09:25:10 +0000 Subject: [PATCH 02/32] Delay expiry of histograms causing alerts. Updates the expires_after attribute for 38 histograms that have been used to generate alerts in the past 180 days and do not already have a date later than or within 60 days of 2022-03-14. TBR=chromium-metrics-reviews@google.com Change-Id: Ic904e05e2d5413affa1f930d87b23e4ccccea8ef Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3337976 Commit-Queue: Chrome Metrics Logs Bot-Commit: Chrome Metrics Logs Cr-Commit-Position: refs/heads/main@{#951420} --- .../metadata/accessibility/histograms.xml | 2 +- .../histograms/metadata/android/histograms.xml | 6 +++--- .../histograms/metadata/assistant/histograms.xml | 2 +- .../histograms/metadata/compositing/histograms.xml | 4 ++-- .../metadata/cross_device/histograms.xml | 2 +- .../histograms/metadata/history/histograms.xml | 2 +- .../histograms/metadata/media/histograms.xml | 12 ++++++------ .../histograms/metadata/others/histograms.xml | 4 ++-- .../histograms/metadata/permissions/histograms.xml | 2 +- .../histograms/metadata/platform/histograms.xml | 4 ++-- .../histograms/metadata/print/histograms.xml | 2 +- .../histograms/metadata/renderer4/histograms.xml | 2 +- .../metadata/safe_browsing/histograms.xml | 14 +++++++------- .../histograms/metadata/security/histograms.xml | 4 ++-- .../metrics/histograms/metadata/v8/histograms.xml | 10 +++++----- .../histograms/metadata/web_rtc/histograms.xml | 4 ++-- 16 files changed, 38 insertions(+), 38 deletions(-) diff --git a/tools/metrics/histograms/metadata/accessibility/histograms.xml b/tools/metrics/histograms/metadata/accessibility/histograms.xml index 038b9d1a45f4b3..8f6557d867e447 100644 --- a/tools/metrics/histograms/metadata/accessibility/histograms.xml +++ b/tools/metrics/histograms/metadata/accessibility/histograms.xml @@ -1121,7 +1121,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> aleventhal@chromium.org chrome-a11y-core@google.com diff --git a/tools/metrics/histograms/metadata/android/histograms.xml b/tools/metrics/histograms/metadata/android/histograms.xml index 83ac14d82c15d3..a31adb89d15084 100644 --- a/tools/metrics/histograms/metadata/android/histograms.xml +++ b/tools/metrics/histograms/metadata/android/histograms.xml @@ -2777,7 +2777,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> gangwu@chromium.org fgorski@chromium.org @@ -2890,7 +2890,7 @@ chromium-metrics-reviews@google.com. + units="SelectFileDialogContent" expires_after="2022-06-12"> finnur@chromium.org peter@chromium.org @@ -2902,7 +2902,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> finnur@chromium.org peter@chromium.org diff --git a/tools/metrics/histograms/metadata/assistant/histograms.xml b/tools/metrics/histograms/metadata/assistant/histograms.xml index b2d7f697596786..a47f44b40ce791 100644 --- a/tools/metrics/histograms/metadata/assistant/histograms.xml +++ b/tools/metrics/histograms/metadata/assistant/histograms.xml @@ -95,7 +95,7 @@ chromium-metrics-reviews@google.com. + enum="DspHotwordDetectionStatus" expires_after="2022-06-12"> meilinw@chromium.org xiaohuic@chromium.org diff --git a/tools/metrics/histograms/metadata/compositing/histograms.xml b/tools/metrics/histograms/metadata/compositing/histograms.xml index 43c55dda654e58..1c8978e01d97f9 100644 --- a/tools/metrics/histograms/metadata/compositing/histograms.xml +++ b/tools/metrics/histograms/metadata/compositing/histograms.xml @@ -489,7 +489,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> schenney@chromium.org paint-dev@chromium.org @@ -566,7 +566,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> schenney@chromium.org paint-dev@chromium.org diff --git a/tools/metrics/histograms/metadata/cross_device/histograms.xml b/tools/metrics/histograms/metadata/cross_device/histograms.xml index d8fe000154deb0..7659ddf55b37e1 100644 --- a/tools/metrics/histograms/metadata/cross_device/histograms.xml +++ b/tools/metrics/histograms/metadata/cross_device/histograms.xml @@ -2249,7 +2249,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> hansberry@chromium.org better-together-dev@google.com diff --git a/tools/metrics/histograms/metadata/history/histograms.xml b/tools/metrics/histograms/metadata/history/histograms.xml index 3e8a1da7f0356a..adb6ba751ea87d 100644 --- a/tools/metrics/histograms/metadata/history/histograms.xml +++ b/tools/metrics/histograms/metadata/history/histograms.xml @@ -1044,7 +1044,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> mpearson@chromium.org chrome-omnibox-team@google.com diff --git a/tools/metrics/histograms/metadata/media/histograms.xml b/tools/metrics/histograms/metadata/media/histograms.xml index 5dc4214c8809e7..7b92d83421714a 100644 --- a/tools/metrics/histograms/metadata/media/histograms.xml +++ b/tools/metrics/histograms/metadata/media/histograms.xml @@ -226,7 +226,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> guidou@chromium.org olka@chromium.org @@ -258,7 +258,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> guidou@chromium.org olka@chromium.org @@ -433,7 +433,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> gudiou@chromium.org olka@chromium.org @@ -929,7 +929,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> guidou@chromium.org olka@chromium.org @@ -940,7 +940,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> guidou@chromium.org olka@chromium.org @@ -3112,7 +3112,7 @@ chromium-metrics-reviews@google.com. + enum="AudioCaptureStartupResult" expires_after="2022-06-12"> armax@chromium.org guidou@chromium.org olka@chromium.org diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml index 49264aa3c250f8..2824cd8515bb14 100644 --- a/tools/metrics/histograms/metadata/others/histograms.xml +++ b/tools/metrics/histograms/metadata/others/histograms.xml @@ -7381,7 +7381,7 @@ chromium-metrics-reviews@google.com. + units="%" expires_after="2022-06-12"> sadrul@chromium.org ericrk@chromium.org @@ -7423,7 +7423,7 @@ chromium-metrics-reviews@google.com. + units="%" expires_after="2022-06-12"> sadrul@chromium.org ericrk@chromium.org diff --git a/tools/metrics/histograms/metadata/permissions/histograms.xml b/tools/metrics/histograms/metadata/permissions/histograms.xml index 1f2e75211a05f2..6a3c440e46924a 100644 --- a/tools/metrics/histograms/metadata/permissions/histograms.xml +++ b/tools/metrics/histograms/metadata/permissions/histograms.xml @@ -1117,7 +1117,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> eokoyomon@chromium.org dullweber@chromium.org diff --git a/tools/metrics/histograms/metadata/platform/histograms.xml b/tools/metrics/histograms/metadata/platform/histograms.xml index e39a9ab0b8b098..579361b1e18497 100644 --- a/tools/metrics/histograms/metadata/platform/histograms.xml +++ b/tools/metrics/histograms/metadata/platform/histograms.xml @@ -1230,7 +1230,7 @@ chromium-metrics-reviews@google.com. + enum="CrosTPMDictionaryAttackResetStatusEnum" expires_after="2022-06-12"> cylai@chromium.org cros-hwsec-userland-eng+uma@chromium.org @@ -1328,7 +1328,7 @@ chromium-metrics-reviews@google.com. + enum="TPMCommandCode" expires_after="2022-06-12"> chingkang@chromium.org cros-hwsec+uma@chromium.org Command code of the first timeout writing TPM command diff --git a/tools/metrics/histograms/metadata/print/histograms.xml b/tools/metrics/histograms/metadata/print/histograms.xml index 78e0e9df0c0660..c13394a7a2f791 100644 --- a/tools/metrics/histograms/metadata/print/histograms.xml +++ b/tools/metrics/histograms/metadata/print/histograms.xml @@ -33,7 +33,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> thestig@chromium.org dhoss@chromium.org diff --git a/tools/metrics/histograms/metadata/renderer4/histograms.xml b/tools/metrics/histograms/metadata/renderer4/histograms.xml index 7679dc61e4dbb6..1f6f84722e7b15 100644 --- a/tools/metrics/histograms/metadata/renderer4/histograms.xml +++ b/tools/metrics/histograms/metadata/renderer4/histograms.xml @@ -247,7 +247,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> khushalsagar@chromium.org chrome-gpu@google.com diff --git a/tools/metrics/histograms/metadata/safe_browsing/histograms.xml b/tools/metrics/histograms/metadata/safe_browsing/histograms.xml index 1c314306bdc182..387d90844280eb 100644 --- a/tools/metrics/histograms/metadata/safe_browsing/histograms.xml +++ b/tools/metrics/histograms/metadata/safe_browsing/histograms.xml @@ -213,7 +213,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> vakh@chromium.org chrome-safebrowsing-alerts@google.com @@ -978,7 +978,7 @@ chromium-metrics-reviews@google.com. + enum="SBMetricsCollectorEventType" expires_after="2022-06-12"> xinghuilu@chromium.org chrome-safebrowsing-alerts@google.com @@ -1665,7 +1665,7 @@ chromium-metrics-reviews@google.com. + enum="SafeBrowsingAllowlistAsyncMatch" expires_after="2022-06-12"> vakh@chromium.org chrome-safebrowsing-alerts@google.com @@ -1691,7 +1691,7 @@ chromium-metrics-reviews@google.com. + enum="CombinedHttpResponseAndNetErrorCode" expires_after="2022-06-12"> vakh@chromium.org chrome-safebrowsing-alerts@google.com @@ -1703,7 +1703,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> vakh@chromium.org chrome-safebrowsing-alerts@google.com @@ -2101,7 +2101,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> vakh@chromium.org chrome-safebrowsing-alerts@google.com @@ -2125,7 +2125,7 @@ Safe Browsing lookup mechanism is working as expected --> + enum="SafeBrowsingV4OperationResult" expires_after="2022-06-12"> vakh@chromium.org chrome-safebrowsing-alerts@google.com diff --git a/tools/metrics/histograms/metadata/security/histograms.xml b/tools/metrics/histograms/metadata/security/histograms.xml index cf12ca033f91c2..9777dcc59ffedd 100644 --- a/tools/metrics/histograms/metadata/security/histograms.xml +++ b/tools/metrics/histograms/metadata/security/histograms.xml @@ -1116,7 +1116,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> alexmos@chromium.org creis@chromium.org lukasza@chromium.org @@ -1223,7 +1223,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> alexmos@chromium.org creis@chromium.org lukasza@chromium.org diff --git a/tools/metrics/histograms/metadata/v8/histograms.xml b/tools/metrics/histograms/metadata/v8/histograms.xml index 4f46133278bbcd..38eda3a249b3ce 100644 --- a/tools/metrics/histograms/metadata/v8/histograms.xml +++ b/tools/metrics/histograms/metadata/v8/histograms.xml @@ -1559,7 +1559,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ecmziegler@chromium.org adamk@chromium.org clemensb@chromium.org @@ -1621,7 +1621,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ecmziegler@chromium.org adamk@chromium.org clemensb@chromium.org @@ -1638,7 +1638,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> ecmziegler@chromium.org adamk@chromium.org clemensb@chromium.org @@ -1717,7 +1717,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ecmziegler@chromium.org adamk@chromium.org clemensb@chromium.org @@ -1861,7 +1861,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ecmziegler@chromium.org adamk@chromium.org ahaas@chromium.org diff --git a/tools/metrics/histograms/metadata/web_rtc/histograms.xml b/tools/metrics/histograms/metadata/web_rtc/histograms.xml index 98663be85eb0df..4a23ffca541e32 100644 --- a/tools/metrics/histograms/metadata/web_rtc/histograms.xml +++ b/tools/metrics/histograms/metadata/web_rtc/histograms.xml @@ -1163,7 +1163,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> holmer@chromium.org Average estimated send bitrate during a call, counted from first packet sent @@ -1201,7 +1201,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> saza@chromium.org The amount of time between the arrival of the first and last audio RTP From 028f25a1a56981cfcf1f39469ad18c401cefc4a4 Mon Sep 17 00:00:00 2001 From: chromium-autoroll Date: Tue, 14 Dec 2021 09:28:31 +0000 Subject: [PATCH 03/32] Roll Perfetto Trace Processor Linux from 86b18b837a45 to 1357bd132733 https://android.googlesource.com/platform/external/perfetto.git/+log/86b18b837a45..1357bd132733 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/perfetto-trace-processor-linux-chromium Please CC perfetto-bugs@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Tbr: perfetto-bugs@google.com Change-Id: Ie35d9adb5c7672894549797dab5f7a82d045f47d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3337137 Commit-Queue: chromium-autoroll Bot-Commit: chromium-autoroll Cr-Commit-Position: refs/heads/main@{#951421} --- tools/perf/core/perfetto_binary_roller/binary_deps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/core/perfetto_binary_roller/binary_deps.json b/tools/perf/core/perfetto_binary_roller/binary_deps.json index 49831953d80b74..6f20aa82dd27cd 100644 --- a/tools/perf/core/perfetto_binary_roller/binary_deps.json +++ b/tools/perf/core/perfetto_binary_roller/binary_deps.json @@ -18,7 +18,7 @@ }, "linux": { "hash": "39d6ae444da9ed567efaf34322170f188fcaf559", - "remote_path": "perfetto_binaries/trace_processor_shell/linux/86b18b837a45380f1b9070cb765ec5864994942c/trace_processor_shell" + "remote_path": "perfetto_binaries/trace_processor_shell/linux/1357bd132733ccc23a295739e4bc432d7a53d120/trace_processor_shell" } }, "power_profile.sql": { From 77142aeac88afecd7f0bc51859ff3873f73ca9eb Mon Sep 17 00:00:00 2001 From: chromium-autoroll Date: Tue, 14 Dec 2021 09:30:12 +0000 Subject: [PATCH 04/32] Roll Chrome Win32 PGO Profile Roll Chrome Win32 PGO profile from chrome-win32-main-1639450747-9674765a801b0ccdb3cdf42a7039da630818498e.profdata to chrome-win32-main-1639461558-d1317f8df3a47076c53ad387642fd817bb433e6b.profdata If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/pgo-win32-chromium Please CC pgo-profile-sheriffs@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium main branch: https://bugs.chromium.org/p/chromium/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Cq-Include-Trybots: luci.chrome.try:win-chrome Tbr: pgo-profile-sheriffs@google.com Change-Id: I4069725866c39ddc1c2213532f54c9165ece80b0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3337680 Commit-Queue: chromium-autoroll Bot-Commit: chromium-autoroll Cr-Commit-Position: refs/heads/main@{#951422} --- chrome/build/win32.pgo.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt index 57dcccaefc1666..fec086d409c072 100644 --- a/chrome/build/win32.pgo.txt +++ b/chrome/build/win32.pgo.txt @@ -1 +1 @@ -chrome-win32-main-1639450747-9674765a801b0ccdb3cdf42a7039da630818498e.profdata +chrome-win32-main-1639461558-d1317f8df3a47076c53ad387642fd817bb433e6b.profdata From 73b15b3064dd7eee5a3613e88ee5caff689599ef Mon Sep 17 00:00:00 2001 From: chromium-autoroll Date: Tue, 14 Dec 2021 09:34:41 +0000 Subject: [PATCH 05/32] Roll Perfetto Trace Processor Win from 86b18b837a45 to 1357bd132733 https://android.googlesource.com/platform/external/perfetto.git/+log/86b18b837a45..1357bd132733 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/perfetto-trace-processor-win-chromium Please CC perfetto-bugs@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Tbr: perfetto-bugs@google.com Change-Id: I7cc01b97eaede7081aa667de9e0fdeb626b77754 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3337856 Commit-Queue: chromium-autoroll Bot-Commit: chromium-autoroll Cr-Commit-Position: refs/heads/main@{#951423} --- tools/perf/core/perfetto_binary_roller/binary_deps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/core/perfetto_binary_roller/binary_deps.json b/tools/perf/core/perfetto_binary_roller/binary_deps.json index 6f20aa82dd27cd..2ecb291f28e894 100644 --- a/tools/perf/core/perfetto_binary_roller/binary_deps.json +++ b/tools/perf/core/perfetto_binary_roller/binary_deps.json @@ -6,7 +6,7 @@ }, "win": { "hash": "2fa72448c613dfdf2546ba7988c6c1fd420ddee6", - "remote_path": "perfetto_binaries/trace_processor_shell/win/86b18b837a45380f1b9070cb765ec5864994942c/trace_processor_shell.exe" + "remote_path": "perfetto_binaries/trace_processor_shell/win/1357bd132733ccc23a295739e4bc432d7a53d120/trace_processor_shell.exe" }, "mac": { "hash": "6043cb87e9b062d4faba99fe10f46a6a44b0d873", From 328d74d2260556d8055c8d027df0ad1afce6bf58 Mon Sep 17 00:00:00 2001 From: Sreeja Kamishetty Date: Tue, 14 Dec 2021 09:37:50 +0000 Subject: [PATCH 06/32] Revert "Implement accessibility for expandable view" This reverts commit 55c053cf41d614497a203e9d90810744486fd2c0. Reason for revert: CalendarViewTest.ExpandableViewFocusing test consistently failing on builder "Linux ChromiumOS MSan Tests". Please see crbug.com/1279739 for more information Original change's description: > Implement accessibility for expandable view > > Enable 'tab' to access the expandable view. > > Add a container for expandable view (event_list_), which is used to > escape from the focusing on the date cell. The same for the > `content_view_`, which is wrapped in the `scroll_view_` (we can see the > scroll view is the container). > > screen record: > https://drive.google.com/file/d/1keYIxJtQDxzawhtIM3m_fu5Nql6xDPUu/view?usp=sharing > > BUG: 1238927, 1277161 > Change-Id: I345a8e016689c2e5c7bb9a0f50403dc97f9fe1a6 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3329081 > Reviewed-by: Alex Newcomer > Commit-Queue: Jiaming Cheng > Cr-Commit-Position: refs/heads/main@{#951242} Change-Id: I2c617f454fd5ddedf976449ecaf66089b234bc5c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3338039 Auto-Submit: Sreeja Kamishetty Bot-Commit: Rubber Stamper Owners-Override: Sreeja Kamishetty Commit-Queue: Sreeja Kamishetty Cr-Commit-Position: refs/heads/main@{#951424} --- .../time/calendar_event_list_item_view.cc | 1 - ash/system/time/calendar_event_list_view.h | 1 - ash/system/time/calendar_view.cc | 94 +++--------------- ash/system/time/calendar_view.h | 1 - ash/system/time/calendar_view_unittest.cc | 95 ++----------------- 5 files changed, 20 insertions(+), 172 deletions(-) diff --git a/ash/system/time/calendar_event_list_item_view.cc b/ash/system/time/calendar_event_list_item_view.cc index b855f2a22d6ab0..07a15632d3d320 100644 --- a/ash/system/time/calendar_event_list_item_view.cc +++ b/ash/system/time/calendar_event_list_item_view.cc @@ -98,7 +98,6 @@ CalendarEventListItemView::CalendarEventListItemView( time_range_(new views::Label()) { SetLayoutManager(std::make_unique()); GetViewAccessibility().OverrideName(GetClassName()); - SetFocusBehavior(FocusBehavior::ALWAYS); summary_->SetText(base::UTF8ToUTF16(event.summary())); SetUpLabel(summary_); diff --git a/ash/system/time/calendar_event_list_view.h b/ash/system/time/calendar_event_list_view.h index edd990e11e3181..a0c6f9bf5b0258 100644 --- a/ash/system/time/calendar_event_list_view.h +++ b/ash/system/time/calendar_event_list_view.h @@ -34,7 +34,6 @@ class ASH_EXPORT CalendarEventListView private: friend class CalendarViewEventListViewTest; - friend class CalendarViewTest; // Updates the event list entries. void UpdateListItems(); diff --git a/ash/system/time/calendar_view.cc b/ash/system/time/calendar_view.cc index 3f262d3eb052ae..9f1e49a4818fc4 100644 --- a/ash/system/time/calendar_view.cc +++ b/ash/system/time/calendar_view.cc @@ -306,8 +306,6 @@ CalendarView::CalendarView(DetailedViewDelegate* delegate, scroll_view_->SetDrawOverflowIndicator(false); scroll_view_->SetVerticalScrollBarMode( views::ScrollView::ScrollBarMode::kHiddenButEnabled); - scroll_view_->GetViewAccessibility().OverrideName(GetClassName()); - scroll_view_->SetFocusBehavior(FocusBehavior::ALWAYS); on_contents_scrolled_subscription_ = scroll_view_->AddContentsScrolledCallback(base::BindRepeating( &CalendarView::OnContentsScrolled, base::Unretained(this))); @@ -412,7 +410,7 @@ int CalendarView::PositionOfSelectedDate() const { } void CalendarView::ResetToToday() { - if (event_list_container_) + if (event_list_) return; calendar_view_controller_->UpdateMonth(base::Time::Now()); @@ -518,11 +516,6 @@ void CalendarView::MaybeResetContentViewFocusBehavior() { } content_view_->SetFocusBehavior(FocusBehavior::ALWAYS); - - // Also disable the focus behavior of the `event_list_container_`, since now - // the focusing ring is out of the date cells. - if (event_list_container_) - event_list_container_->SetFocusBehavior(FocusBehavior::NEVER); } void CalendarView::OnViewBoundsChanged(views::View* observed_view) { @@ -542,24 +535,12 @@ void CalendarView::OnViewFocused(View* observed_view) { if (observed_view != content_view_ || IsDateCellViewFocused()) return; - auto* focus_manager = GetFocusManager(); + // When focusing on the `content_view_`, we decide which is the to-be-focued + // cell based on the current position. previous_month_->EnableFocus(); current_month_->EnableFocus(); next_month_->EnableFocus(); - - // If the event list is showing, focus on the first cell in the current row or - // today's cell if today is in this row. - if (event_list_container_) { - focus_manager->SetFocusedView( - current_month_->focused_cells()[calendar_view_controller_ - ->GetExpandedRowIndex()]); - content_view_->SetFocusBehavior(FocusBehavior::NEVER); - event_list_container_->SetFocusBehavior(FocusBehavior::ALWAYS); - return; - } - - // When focusing on the `content_view_`, we decide which is the to-be-focued - // cell based on the current position. + auto* focus_manager = GetFocusManager(); const int position = scroll_view_->GetVisibleRect().y(); const int row_height = calendar_view_controller_->row_height(); @@ -666,12 +647,9 @@ void CalendarView::OnEventsFetched( } void CalendarView::OpenEventList() { - if (event_list_container_) + if (event_list_) return; - scroll_view_->SetVerticalScrollBarMode( - views::ScrollView::ScrollBarMode::kHiddenButEnabled); - if (!calendar_view_controller_->IsSelectedDateInCurrentMonth()) ScrollDownOneMonth(); base::AutoReset is_resetting_scrolling(&is_resetting_scroll_, true); @@ -682,20 +660,8 @@ void CalendarView::OpenEventList() { calendar_view_controller_->row_height()); scroll_view_->SetVerticalScrollBarMode( views::ScrollView::ScrollBarMode::kDisabled); - - // The event list is in a container, which will be used for escaping the - // focusing from the date cells. - event_list_container_ = AddChildView(std::make_unique()); - event_list_container_->SetLayoutManager(std::make_unique( - views::BoxLayout::Orientation::kVertical)); - event_list_container_->GetViewAccessibility().OverrideName(GetClassName()); - event_list_container_->SetFocusBehavior( - IsDateCellViewFocused() ? FocusBehavior::ALWAYS : FocusBehavior::NEVER); - - event_list_ = event_list_container_->AddChildView( + event_list_ = AddChildView( std::make_unique(calendar_view_controller_.get())); - event_list_->GetViewAccessibility().OverrideName(GetClassName()); - event_list_->SetFocusBehavior(FocusBehavior::ALWAYS); calendar_view_controller_->OnEventListOpened(); } @@ -703,8 +669,7 @@ void CalendarView::CloseEventList() { scroll_view_->ClipHeightTo(0, INT_MAX); scroll_view_->SetVerticalScrollBarMode( views::ScrollView::ScrollBarMode::kHiddenButEnabled); - RemoveChildViewT(event_list_container_); - event_list_container_ = nullptr; + RemoveChildViewT(event_list_); event_list_ = nullptr; calendar_view_controller_->OnEventListClosed(); } @@ -802,7 +767,7 @@ void CalendarView::ScrollOneMonthWithAnimation(bool is_scrolling_up) { if (is_resetting_scroll_) return; - if (event_list_container_) { + if (event_list_) { ScrollOneRowWithAnimation(is_scrolling_up); return; } @@ -956,23 +921,13 @@ void CalendarView::OnEvent(ui::Event* event) { // goes to the next focusable button in the header. if (key_event->type() == ui::EventType::ET_KEY_PRESSED && views::FocusManager::IsTabTraversalKeyEvent(*key_event)) { - // Set focus on `scroll_view_`/`event_list_` or null pointer to escape the - // focusing on the date cell. - if (key_event->IsShiftDown()) { - scroll_view_->RequestFocus(); - } else if (event_list_container_) { - event_list_container_->RequestFocus(); - event_list_container_->SetFocusBehavior(FocusBehavior::NEVER); - } else { - focus_manager->SetFocusedView(nullptr); - } - + // Set focus on null pointer first. Otherwise the it will auto + // `AdvanceFocus` when the focused cell is on blur. + focus_manager->SetFocusedView(nullptr); current_month_->DisableFocus(); previous_month_->DisableFocus(); next_month_->DisableFocus(); - TrayDetailedView::OnEvent(event); - content_view_->SetFocusBehavior(FocusBehavior::ALWAYS); return; } @@ -988,10 +943,6 @@ void CalendarView::OnEvent(ui::Event* event) { case ui::VKEY_UP: case ui::VKEY_DOWN: { auto* current_focusable_view = focus_manager->GetFocusedView(); - // Enable the scroll bar mode, in case it is disabled when the event list - // is showing. - scroll_view_->SetVerticalScrollBarMode( - views::ScrollView::ScrollBarMode::kHiddenButEnabled); // Moving 7 (`kDateInOneWeek`) steps will focus on the cell which is right // above or below the current cell, since each row has 7 days. @@ -1043,36 +994,13 @@ void CalendarView::OnEvent(ui::Event* event) { } } focus_manager->SetFocusedView(current_focusable_view); - // After focusing on the new cell the view should have scrolled already - // if needed, disable the scroll bar mode if the even list is showing. - if (event_list_container_) - scroll_view_->SetVerticalScrollBarMode( - views::ScrollView::ScrollBarMode::kDisabled); - const int current_height = - scroll_view_->GetVisibleRect().y() - PositionOfCurrentMonth(); - calendar_view_controller_->set_expanded_row_index( - current_height / calendar_view_controller_->row_height()); return; } case ui::VKEY_LEFT: case ui::VKEY_RIGHT: { - // Enable the scroll bar mode, in case it is disabled when the event list - // is showing. - scroll_view_->SetVerticalScrollBarMode( - views::ScrollView::ScrollBarMode::kHiddenButEnabled); bool is_reverse = base::i18n::IsRTL() ? key_code == ui::VKEY_RIGHT : key_code == ui::VKEY_LEFT; focus_manager->AdvanceFocus(/*reverse=*/is_reverse); - // After focusing on the new cell the view should have scrolled already - // if needed, disable the scroll bar mode if the even list is showing. - if (event_list_container_) - scroll_view_->SetVerticalScrollBarMode( - views::ScrollView::ScrollBarMode::kDisabled); - - const int current_height = - scroll_view_->GetVisibleRect().y() - PositionOfCurrentMonth(); - calendar_view_controller_->set_expanded_row_index( - current_height / calendar_view_controller_->row_height()); return; } default: diff --git a/ash/system/time/calendar_view.h b/ash/system/time/calendar_view.h index 90bebb41c13551..3de16a91560600 100644 --- a/ash/system/time/calendar_view.h +++ b/ash/system/time/calendar_view.h @@ -210,7 +210,6 @@ class ASH_EXPORT CalendarView : public CalendarViewController::Observer, views::Button* settings_button_ = nullptr; IconButton* up_button_ = nullptr; IconButton* down_button_ = nullptr; - views::View* event_list_container_ = nullptr; CalendarEventListView* event_list_ = nullptr; // If it `is_resetting_scroll_`, we don't calculate the scroll position and we diff --git a/ash/system/time/calendar_view_unittest.cc b/ash/system/time/calendar_view_unittest.cc index b29ae9169d31b0..c43a15febd9368 100644 --- a/ash/system/time/calendar_view_unittest.cc +++ b/ash/system/time/calendar_view_unittest.cc @@ -6,7 +6,6 @@ #include "ash/shell.h" #include "ash/style/icon_button.h" -#include "ash/system/time/calendar_event_list_view.h" #include "ash/system/time/calendar_month_view.h" #include "ash/system/time/calendar_unittest_utils.h" #include "ash/system/time/calendar_utils.h" @@ -61,16 +60,12 @@ class CalendarViewTest : public AshTestBase { } CalendarView* calendar_view() { return calendar_view_; } - views::ScrollView* scroll_view() { return calendar_view_->scroll_view_; } + views::ScrollView* scroll_view_() { return calendar_view_->scroll_view_; } views::View* previous_label() { return calendar_view_->previous_label_; } views::View* current_label() { return calendar_view_->current_label_; } views::View* next_label() { return calendar_view_->next_label_; } - views::ScrollView::ScrollBarMode GetScrollBarMode() { - return scroll_view()->GetVerticalScrollBarMode(); - } - // The position of the `next_month_`. int NextMonthPosition() { return previous_label()->GetPreferredSize().height() + @@ -121,9 +116,6 @@ class CalendarViewTest : public AshTestBase { views::Button* settings_button() { return calendar_view_->settings_button_; } IconButton* up_button() { return calendar_view_->up_button_; } IconButton* down_button() { return calendar_view_->down_button_; } - views::ImageButton* close_button() { - return calendar_view_->event_list_->close_button_; - } void ScrollUpOneMonth() { calendar_view_->ScrollUpOneMonthAndAutoScroll(); } void ScrollDownOneMonth() { @@ -136,11 +128,6 @@ class CalendarViewTest : public AshTestBase { generator.PressKey(ui::KeyboardCode::VKEY_TAB, ui::EventFlags::EF_NONE); } - void PressEnter() { - ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); - generator.PressKey(ui::KeyboardCode::VKEY_RETURN, ui::EventFlags::EF_NONE); - } - void PressUp() { ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); generator.PressKey(ui::KeyboardCode::VKEY_UP, ui::EventFlags::EF_NONE); @@ -255,8 +242,8 @@ TEST_F(CalendarViewTest, Scroll) { EXPECT_EQ(u"2021", header_year()->GetText()); // Scrolls to the next month. - scroll_view()->ScrollToPosition(scroll_view()->vertical_scroll_bar(), - NextMonthPosition()); + scroll_view_()->ScrollToPosition(scroll_view_()->vertical_scroll_bar(), + NextMonthPosition()); EXPECT_EQ(u"October", GetPreviousLabelText()); EXPECT_EQ(u"November", GetCurrentLabelText()); @@ -264,8 +251,8 @@ TEST_F(CalendarViewTest, Scroll) { EXPECT_EQ(u"November", month_header()->GetText()); EXPECT_EQ(u"2021", header_year()->GetText()); - scroll_view()->ScrollToPosition(scroll_view()->vertical_scroll_bar(), - NextMonthPosition()); + scroll_view_()->ScrollToPosition(scroll_view_()->vertical_scroll_bar(), + NextMonthPosition()); EXPECT_EQ(u"November", GetPreviousLabelText()); EXPECT_EQ(u"December", GetCurrentLabelText()); @@ -273,8 +260,8 @@ TEST_F(CalendarViewTest, Scroll) { EXPECT_EQ(u"December", month_header()->GetText()); EXPECT_EQ(u"2021", header_year()->GetText()); - scroll_view()->ScrollToPosition(scroll_view()->vertical_scroll_bar(), - NextMonthPosition()); + scroll_view_()->ScrollToPosition(scroll_view_()->vertical_scroll_bar(), + NextMonthPosition()); EXPECT_EQ(u"December", GetPreviousLabelText()); EXPECT_EQ(u"January2022", GetCurrentLabelText()); @@ -416,9 +403,8 @@ TEST_F(CalendarViewTest, FocusingToDateCell) { EXPECT_EQ(reset_to_today_button(), focus_manager->GetFocusedView()); PressTab(); // Settings button. - PressTab(); // Moves to the down button. - PressTab(); // Moves to the up button. - PressTab(); // Moves to the scroll view. + PressTab(); // Moves to down button. + PressTab(); // Moves to up button. // Moves to the the 7th date cell, which is the date of "today". PressTab(); @@ -433,7 +419,6 @@ TEST_F(CalendarViewTest, FocusingToDateCell) { PressTab(); // Moves to settings button. PressTab(); // Moves to down button. PressTab(); // Moves to up button. - PressTab(); // Moves to the scroll view. // Moves to the the 7th date cell, which is the date of "today". PressTab(); @@ -461,7 +446,6 @@ TEST_F(CalendarViewTest, MonthViewFocusing) { PressTab(); // Settings button. PressTab(); // Moves to down button. PressTab(); // Moves to up button. - PressTab(); // Moves to the scroll view. auto* focus_manager = calendar_view()->GetFocusManager(); // Moves to the the 7th date cell, which is the date of "today". @@ -533,7 +517,6 @@ TEST_F(CalendarViewTest, FocusingToNavigate) { PressTab(); // Settings button. PressTab(); // Moves to down button. PressTab(); // Moves to up button. - PressTab(); // Moves to the scroll view. auto* focus_manager = calendar_view()->GetFocusManager(); // Moves to the the 7th date cell, which is the date of "today". @@ -578,66 +561,6 @@ TEST_F(CalendarViewTest, FocusingToNavigate) { EXPECT_EQ(u"April", GetCurrentLabelText()); } -TEST_F(CalendarViewTest, ExpandableViewFocusing) { - base::Time date; - // Create a monthview based on Jun,7th 2021. - ASSERT_TRUE(base::Time::FromString("7 Jun 2021 10:00 GMT", &date)); - - // Set time override. - SetFakeNow(date); - base::subtle::ScopedTimeClockOverrides time_override( - &CalendarViewTest::FakeTimeNow, /*time_ticks_override=*/nullptr, - /*thread_ticks_override=*/nullptr); - - CreateCalendarView(); - - EXPECT_EQ(views::ScrollView::ScrollBarMode::kHiddenButEnabled, - GetScrollBarMode()); - - // Generates a tab key press. - PressTab(); // Focusing on the back button. - PressTab(); // Today's button. - PressTab(); // Settings button. - PressTab(); // Moves to down button. - PressTab(); // Moves to up button. - PressTab(); // Moves to the scroll view. - - EXPECT_EQ(views::ScrollView::ScrollBarMode::kHiddenButEnabled, - GetScrollBarMode()); - - auto* focus_manager = calendar_view()->GetFocusManager(); - // Moves to the the 7th date cell, which is the date of "today". - PressTab(); - EXPECT_EQ(u"7", - static_cast(focus_manager->GetFocusedView()) - ->GetText()); - EXPECT_EQ(u"June", GetCurrentLabelText()); - - // Opens the event list. - PressEnter(); - EXPECT_EQ(views::ScrollView::ScrollBarMode::kDisabled, GetScrollBarMode()); - - // Tapping on up arrow keys should go to the previous month, which mens the - // scroll bar is enabled during the key pressed. - PressUp(); - EXPECT_EQ(u"31", - static_cast(focus_manager->GetFocusedView()) - ->GetText()); - EXPECT_EQ(u"May", GetCurrentLabelText()); - EXPECT_EQ(views::ScrollView::ScrollBarMode::kDisabled, GetScrollBarMode()); - - // Moves to the event list. - PressTab(); - EXPECT_EQ(close_button(), focus_manager->GetFocusedView()); - - // Goes back to back button. - PressTab(); - - // Moves to the next focusable view. Today's button. - PressTab(); - EXPECT_EQ(reset_to_today_button(), focus_manager->GetFocusedView()); -} - // A test class for testing animation. This class cannot set fake now since it's // using `MOCK_TIME` to test the animations. class CalendarViewAnimationTest : public AshTestBase { From 6c3ddbc30e78842ede2b15edb51f164c00bb4ca8 Mon Sep 17 00:00:00 2001 From: Tomasz Tylenda Date: Tue, 14 Dec 2021 09:38:16 +0000 Subject: [PATCH 07/32] Revert "dcheck-on-cros: Disable DCHECK at slot_assignment.cc:252 on CrOS" This reverts commit 9935e9da4266f842cbff37db0c5873cfd0ce6923. Reason for revert: DCHECK does not fire any more during tests on CrOS. Original change's description: > dcheck-on-cros: Disable DCHECK at slot_assignment.cc:252 on CrOS > > Disable this DCHECK until it is not firing on CrOS (crbug.com/1176575). > See go/chrome-dcheck-on-cros and go/dcheck-cleanup-workflow for more > information. > > Bug: 1176575 > Change-Id: I4b46a6fea0d0ea80c275b11a0d5a905e0f3d8ed6 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2686770 > Reviewed-by: Mason Freed > Commit-Queue: Tomasz Tylenda > Cr-Commit-Position: refs/heads/master@{#856183} Bug: 1176575, b:192415828 Change-Id: I66d5ac3ffc85177b8a609b14f98c0d0c550c0422 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3331073 Reviewed-by: Mason Freed Commit-Queue: Tomasz Tylenda Cr-Commit-Position: refs/heads/main@{#951425} --- third_party/blink/renderer/core/dom/slot_assignment.cc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/third_party/blink/renderer/core/dom/slot_assignment.cc b/third_party/blink/renderer/core/dom/slot_assignment.cc index 9aa829e9908338..c61d2bb5abfcec 100644 --- a/third_party/blink/renderer/core/dom/slot_assignment.cc +++ b/third_party/blink/renderer/core/dom/slot_assignment.cc @@ -237,10 +237,7 @@ void SlotAssignment::RecalcAssignment() { NestingLevelIncrementer slot_assignment_recalc_depth( owner_->GetDocument().SlotAssignmentRecalcDepth()); -// TODO(crbug.com/1176575): Revert https://crrev.com/c/2686770 to re-enable this -// DCHECK on CrOS. See go/chrome-dcheck-on-cros or http://crbug.com/1113456 for -// more details. -#if DCHECK_IS_ON() && !defined(OS_CHROMEOS) +#if DCHECK_IS_ON() DCHECK(!owner_->GetDocument().IsSlotAssignmentRecalcForbidden()); #endif // To detect recursive RecalcAssignment, which shouldn't happen. From 27474851da13fbeb8ef62387d4efac1d567504ab Mon Sep 17 00:00:00 2001 From: Ted Meyer Date: Tue, 14 Dec 2021 09:51:23 +0000 Subject: [PATCH 08/32] Add Histograms to track Linux Vaapi Vulkan status also breaks out the different vulkan chipset providers, since they provide numbers for driver versions differently to one another. Bug: 1236697 Change-Id: I6117deceb99fabe08bcc02e933a568bd7c12b71c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3324691 Reviewed-by: Eugene Zemtsov Reviewed-by: Takashi Toyoshima Commit-Queue: Ted (Chromium) Meyer Auto-Submit: Ted (Chromium) Meyer Cr-Commit-Position: refs/heads/main@{#951426} --- .../services/gpu_mojo_media_client_cros.cc | 29 +++++++++++++++---- tools/metrics/histograms/enums.xml | 18 ++++++++++++ .../histograms/metadata/media/histograms.xml | 11 +++++++ 3 files changed, 53 insertions(+), 5 deletions(-) diff --git a/media/mojo/services/gpu_mojo_media_client_cros.cc b/media/mojo/services/gpu_mojo_media_client_cros.cc index 657c71d6ce6376..f712cd5b8361f5 100644 --- a/media/mojo/services/gpu_mojo_media_client_cros.cc +++ b/media/mojo/services/gpu_mojo_media_client_cros.cc @@ -4,6 +4,7 @@ #include "media/mojo/services/gpu_mojo_media_client.h" +#include "base/metrics/histogram_functions.h" #include "media/base/audio_decoder.h" #include "media/base/media_switches.h" #include "media/gpu/chromeos/mailbox_video_frame_converter.h" @@ -50,8 +51,14 @@ GetPlatformSupportedVideoDecoderConfigs( gpu::GpuPreferences gpu_preferences, const gpu::GPUInfo& gpu_info, base::OnceCallback get_vda_configs) { - switch (GetPlatformDecoderImplementationType(gpu_workarounds, gpu_preferences, - gpu_info)) { + VideoDecoderType decoder_implementation = + GetPlatformDecoderImplementationType(gpu_workarounds, gpu_preferences, + gpu_info); +#if defined(OS_LINUX) + base::UmaHistogramEnumeration("Media.VaapiLinux.Supported", + decoder_implementation); +#endif + switch (decoder_implementation) { case VideoDecoderType::kVda: return std::move(get_vda_configs).Run(); case VideoDecoderType::kVaapi: @@ -74,11 +81,23 @@ VideoDecoderType GetPlatformDecoderImplementationType( return VideoDecoderType::kUnknown; if (gpu_preferences.gr_context_type != gpu::GrContextType::kVulkan) return VideoDecoderType::kUnknown; - for (const auto& device : gpu_info.vulkan_info->physical_devices) { - if (device.properties.driverVersion < VK_MAKE_VERSION(21, 1, 5)) + if (gpu_info.vulkan_info->physical_devices.empty()) + return VideoDecoderType::kUnknown; + constexpr int kIntel = 0x8086; + const auto& device = gpu_info.vulkan_info->physical_devices[0]; + switch (device.properties.vendorID) { + case kIntel: { + if (device.properties.driverVersion < VK_MAKE_VERSION(21, 1, 5)) + return VideoDecoderType::kUnknown; + return VideoDecoderType::kVaapi; + } + default: { + // NVIDIA drivers have a broken implementation of most va_* methods, + // ARM & AMD aren't tested yet, and ImgTec/Qualcomm don't have a vaapi + // driver. return VideoDecoderType::kUnknown; + } } - return VideoDecoderType::kVaapi; #else NOTREACHED(); return VideoDecoderType::kUnknown; diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index 26ae362205482b..7c25cba27d50a0 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml @@ -89134,6 +89134,24 @@ Full version information for the fingerprint enum values: + + + + + + + + + + + + + + + + + + Deprecated as of 05/2015. Substituted by VideoFramePixelFormat. diff --git a/tools/metrics/histograms/metadata/media/histograms.xml b/tools/metrics/histograms/metadata/media/histograms.xml index 7b92d83421714a..ead039c5ba99c5 100644 --- a/tools/metrics/histograms/metadata/media/histograms.xml +++ b/tools/metrics/histograms/metadata/media/histograms.xml @@ -4539,6 +4539,17 @@ chromium-metrics-reviews@google.com. + + tmathmeyer@chromium.org + videostack-eng@google.com + + Records the usage of VaapiVideoDecoder VaapiVideoDecodeAccelerator based on + vulkan support and Vaapi driver version on linux. This is recorded on GPU + process startup when hardware accelerated video decoding support is checked. + + + mcasas@chromium.org From d5684ab99411bd973c4c5fcb400070c4094dd57d Mon Sep 17 00:00:00 2001 From: Florian Gauger Date: Tue, 14 Dec 2021 09:52:03 +0000 Subject: [PATCH 09/32] [Autofill Assistant] Pass in IsGsa function Removes IntentHandler Chrome dependency. We are in the process of moving all Autofill Assistant code to //components. For this we need to remove all dependencies on Chrome code. In this cl we pass in a generic interface without dependencies and supply the chrome-specific implementation at the call side. Bug: b/173103628 Change-Id: Ic5dbfd15f512a51cb97efaa1bf04b50fd69b624e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3303813 Reviewed-by: Sandro Maggi Reviewed-by: Yaron Friedman Reviewed-by: Clemens Arbesser Commit-Queue: Florian Gauger Auto-Submit: Florian Gauger Cr-Commit-Position: refs/heads/main@{#951427} --- .../AssistantDependencyUtilsChrome.java | 40 +++++++++++++++++++ .../AssistantIsGsaFunction.java | 14 +++++++ .../AutofillAssistantTabHelper.java | 6 +-- .../browser/autofill_assistant/Starter.java | 20 +++------- .../public/java_sources.gni | 2 + .../src/org/chromium/chrome/browser/tab/DEPS | 1 + .../chrome/browser/tab/TabHelpers.java | 3 +- 7 files changed, 67 insertions(+), 19 deletions(-) create mode 100644 chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantDependencyUtilsChrome.java create mode 100644 chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantIsGsaFunction.java diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantDependencyUtilsChrome.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantDependencyUtilsChrome.java new file mode 100644 index 00000000000000..ed72166f715675 --- /dev/null +++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantDependencyUtilsChrome.java @@ -0,0 +1,40 @@ +// Copyright 2021 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. + +package org.chromium.chrome.browser.autofill_assistant; + +import android.app.Activity; +import android.content.Intent; + +import androidx.annotation.Nullable; + +import org.chromium.chrome.browser.IntentHandler; +import org.chromium.chrome.browser.IntentHandler.ExternalAppId; + +/** + * Chrome specific dependency methods used by the Autofill Assistant outside of it's module. + */ +public class AssistantDependencyUtilsChrome { + /** + * Returns whether the activity was launched by GSA. + * */ + public static boolean isGsa(@Nullable Activity activity) { + // This can fail for certain tabs (e.g., hidden background tabs). + if (activity == null) { + return false; + } + + Intent intent = activity.getIntent(); + if (intent == null) { + // This should never happen, this is just a failsafe. + return false; + } + + // TODO(crbug.com/1139479): Once determineExternalIntentSource() is moved to //components + // remove the injection. + return IntentHandler.determineExternalIntentSource(intent) == ExternalAppId.GSA; + } + + private AssistantDependencyUtilsChrome() {} +} diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantIsGsaFunction.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantIsGsaFunction.java new file mode 100644 index 00000000000000..f0b9b1e7a4d9d8 --- /dev/null +++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantIsGsaFunction.java @@ -0,0 +1,14 @@ +// Copyright 2021 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. + +package org.chromium.chrome.browser.autofill_assistant; + +import android.app.Activity; + +import org.chromium.base.Function; + +/** + * Determines whether the activity was launched by GSA. + */ +public interface AssistantIsGsaFunction extends Function {} diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantTabHelper.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantTabHelper.java index 90d33a2d11357f..36c955e7cfa00a 100644 --- a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantTabHelper.java +++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantTabHelper.java @@ -17,8 +17,8 @@ public class AutofillAssistantTabHelper { * the tab as observer and connect to its native counterpart in order to fulfill startup * requests from either side. */ - public static void createForTab(Tab tab) { - Starter starter = new Starter(tab); + public static void createForTab(Tab tab, AssistantIsGsaFunction isGsaFunction) { + Starter starter = new Starter(tab, isGsaFunction); tab.addObserver(starter); tab.getUserDataHost().setUserData(USER_DATA_KEY, starter); } @@ -26,4 +26,4 @@ public static void createForTab(Tab tab) { public static Starter get(Tab tab) { return tab.getUserDataHost().getUserData(USER_DATA_KEY); } -} \ No newline at end of file +} diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/Starter.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/Starter.java index a1b86250718915..df189628b5c614 100644 --- a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/Starter.java +++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/Starter.java @@ -4,8 +4,6 @@ package org.chromium.chrome.browser.autofill_assistant; -import android.content.Intent; - import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; @@ -13,8 +11,6 @@ import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.JNINamespace; import org.chromium.base.annotations.NativeMethods; -import org.chromium.chrome.browser.IntentHandler; -import org.chromium.chrome.browser.IntentHandler.ExternalAppId; import org.chromium.chrome.browser.autofill_assistant.metrics.FeatureModuleInstallation; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.signin.services.UnifiedConsentServiceBridge; @@ -36,6 +32,8 @@ public class Starter extends EmptyTabObserver implements UserData { /** The tab that this starter tracks. */ private final Tab mTab; + private final AssistantIsGsaFunction mIsGsaFunction; + /** * The WebContents associated with the Tab which this starter is monitoring, unless detached. */ @@ -67,8 +65,9 @@ public class Starter extends EmptyTabObserver implements UserData { * * This will wait for dependencies to become available and then create the native-side starter. */ - public Starter(Tab tab) { + public Starter(Tab tab, AssistantIsGsaFunction isGsaFunction) { mTab = tab; + mIsGsaFunction = isGsaFunction; detectWebContentsChange(tab); } @@ -309,16 +308,7 @@ private Object[] getOrCreateDependenciesAndOnboardingHelper() { @CalledByNative private boolean getIsTabCreatedByGSA() { - // This can fail for certain tabs (e.g., hidden background tabs). - if (TabUtils.getActivity(mTab) == null) { - return false; - } - Intent intent = TabUtils.getActivity(mTab).getIntent(); - if (intent == null) { - // This should never happen, this is just a failsafe. - return false; - } - return IntentHandler.determineExternalIntentSource(intent) == ExternalAppId.GSA; + return mIsGsaFunction.apply(TabUtils.getActivity(mTab)); } @NativeMethods diff --git a/chrome/android/features/autofill_assistant/public/java_sources.gni b/chrome/android/features/autofill_assistant/public/java_sources.gni index d7ad13e51a7e2f..86b5c0bb31e422 100644 --- a/chrome/android/features/autofill_assistant/public/java_sources.gni +++ b/chrome/android/features/autofill_assistant/public/java_sources.gni @@ -5,7 +5,9 @@ public_autofill_assistant_java_sources = [ "//chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantDependencies.java", "//chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantDependenciesFactory.java", + "//chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantDependencyUtilsChrome.java", "//chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantFeatures.java", + "//chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantIsGsaFunction.java", "//chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantOnboardingHelper.java", "//chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantSnackbar.java", "//chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantSnackbarFactory.java", diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/DEPS b/chrome/android/java/src/org/chromium/chrome/browser/tab/DEPS index 553931ceaa478c..1ecf0430e26dec 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/DEPS +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/DEPS @@ -12,6 +12,7 @@ include_rules = [ "+chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java", "+chrome/android/java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java", "+chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantTabHelper.java", + "+chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantDependencyUtilsChrome.java", "+chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java", "+chrome/android/java/src/org/chromium/chrome/browser/media/MediaCaptureNotificationServiceImpl.java", "+chrome/android/java/src/org/chromium/chrome/browser/metrics/UkmRecorder.java", diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java index 1a771c3a5327b4..761dc7e4971d11 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java @@ -5,6 +5,7 @@ package org.chromium.chrome.browser.tab; import org.chromium.chrome.browser.SwipeRefreshHandler; +import org.chromium.chrome.browser.autofill_assistant.AssistantDependencyUtilsChrome; import org.chromium.chrome.browser.autofill_assistant.AutofillAssistantTabHelper; import org.chromium.chrome.browser.complex_tasks.TaskTabHelper; import org.chromium.chrome.browser.contextualsearch.ContextualSearchTabHelper; @@ -37,7 +38,7 @@ static void initTabHelpers(Tab tab, Tab parentTab) { TabBrowserControlsConstraintsHelper.createForTab(tab); ContinuousSearchTabHelper.createForTab(tab); if (ReaderModeManager.isEnabled()) ReaderModeManager.createForTab(tab); - AutofillAssistantTabHelper.createForTab(tab); + AutofillAssistantTabHelper.createForTab(tab, AssistantDependencyUtilsChrome::isGsa); // The following will start prefetching data for the price drops feature, so // we should only do it if the user is eligible for the feature (e.g. has sync enabled). From dd4c3ddadbb9869f59cee201a38e9ca3b9154f4d Mon Sep 17 00:00:00 2001 From: Alexander Dunaev Date: Tue, 14 Dec 2021 09:54:52 +0000 Subject: [PATCH 10/32] [linux/wayland] Fixed terminate caused by binding to wrong version. The Ozone/Wayland implementation had a few places where the Wayland objects were bound without proper checking for their versions. That was part of the technical debt not addressed before, and ended up causing the issue explained in the linked crbug: the compositor terminates the client that binds to the protocol that it does not actually support. This patch fixes the issue by adding the necessary checks in all places where they were missing. Also a convenience macro for validating the version is proposed. Bug: 1279574 Change-Id: I74efa97f64b480bed47372d8d559593ae84eeb18 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3337037 Reviewed-by: Maksim Sisov Commit-Queue: Alexander Dunaev Cr-Commit-Position: refs/heads/main@{#951428} --- .../platform/wayland/common/wayland_object.cc | 21 +++++++++++++++++++ .../platform/wayland/common/wayland_object.h | 11 ++++++++++ .../gtk_primary_selection_device_manager.cc | 11 +++++----- ui/ozone/platform/wayland/host/gtk_shell1.cc | 12 ++++++----- .../wayland/host/org_kde_kwin_idle.cc | 9 ++++---- .../wayland/host/overlay_prioritizer.cc | 9 ++++---- .../wayland/host/surface_augmenter.cc | 11 ++++++---- .../host/wayland_data_device_manager.cc | 9 +++++--- ui/ozone/platform/wayland/host/wayland_drm.cc | 6 ++++-- .../platform/wayland/host/wayland_output.cc | 10 ++++----- ui/ozone/platform/wayland/host/wayland_shm.cc | 9 ++++---- .../wayland/host/wayland_zaura_shell.cc | 9 +++++--- .../wayland/host/wayland_zcr_cursor_shapes.cc | 10 +++++---- .../wayland/host/wayland_zwp_linux_dmabuf.cc | 9 +++++--- .../host/wayland_zwp_pointer_constraints.cc | 6 +++--- .../host/wayland_zwp_pointer_gestures.cc | 7 ++++--- .../wayland_zwp_relative_pointer_manager.cc | 8 ++++--- .../wayland/host/xdg_foreign_wrapper.cc | 14 ++++++++----- .../wayland/host/zwp_idle_inhibit_manager.cc | 10 +++++---- .../zwp_primary_selection_device_manager.cc | 9 ++++---- 20 files changed, 131 insertions(+), 69 deletions(-) diff --git a/ui/ozone/platform/wayland/common/wayland_object.cc b/ui/ozone/platform/wayland/common/wayland_object.cc index e2b62ca9f1609c..9a7c61337e4d14 100644 --- a/ui/ozone/platform/wayland/common/wayland_object.cc +++ b/ui/ozone/platform/wayland/common/wayland_object.cc @@ -35,6 +35,8 @@ #include #include +#include "base/logging.h" + namespace wl { namespace { @@ -77,6 +79,25 @@ void delete_touch(wl_touch* touch) { } // namespace +bool CanBind(const std::string& interface, + uint32_t available_version, + uint32_t min_version, + uint32_t max_version) { + if (available_version < min_version) { + LOG(WARNING) << "Unable to bind to " << interface << " version " + << available_version << ". The minimum supported version is " + << min_version << "."; + return false; + } + + if (available_version > max_version) { + LOG(WARNING) << "Binding to " << interface << " version " << max_version + << " but version " << available_version << " is available."; + } + + return true; +} + void (*ObjectTraits::deleter)(wl_cursor_theme*) = &wl_cursor_theme_destroy; diff --git a/ui/ozone/platform/wayland/common/wayland_object.h b/ui/ozone/platform/wayland/common/wayland_object.h index 2ebfa51df4d78d..da91ffb03b00c2 100644 --- a/ui/ozone/platform/wayland/common/wayland_object.h +++ b/ui/ozone/platform/wayland/common/wayland_object.h @@ -79,6 +79,17 @@ struct ObjectTraits { static void (*deleter)(void*); }; +// Checks the given |available_version| exposed by the server against +// |min_version| and |max_version| supported by the client. +// Returns false (with rendering a warning) if |available_version| is less than +// the minimum supported version. +// Returns true otherwise, renders an info message if |available_version| is +// greater than the maximum supported one. +bool CanBind(const std::string& interface, + uint32_t available_version, + uint32_t min_version, + uint32_t max_version); + } // namespace wl // Puts the forward declaration for struct TYPE and declares the template diff --git a/ui/ozone/platform/wayland/host/gtk_primary_selection_device_manager.cc b/ui/ozone/platform/wayland/host/gtk_primary_selection_device_manager.cc index af3087d1891ffb..2991233fe6ec4a 100644 --- a/ui/ozone/platform/wayland/host/gtk_primary_selection_device_manager.cc +++ b/ui/ozone/platform/wayland/host/gtk_primary_selection_device_manager.cc @@ -16,7 +16,7 @@ namespace ui { namespace { -constexpr uint32_t kMaxGtkPrimarySelectionDeviceManagerVersion = 1; +constexpr uint32_t kMinVersion = 1; } // static @@ -31,12 +31,13 @@ void GtkPrimarySelectionDeviceManager::Instantiate( uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->gtk_primary_selection_device_manager()) + if (connection->gtk_primary_selection_device_manager() || + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } - auto manager = wl::Bind( - registry, name, - std::min(version, kMaxGtkPrimarySelectionDeviceManagerVersion)); + auto manager = wl::Bind(registry, name, + kMinVersion); if (!manager) { LOG(ERROR) << "Failed to bind gtk_primary_selection_device_manager"; return; diff --git a/ui/ozone/platform/wayland/host/gtk_shell1.cc b/ui/ozone/platform/wayland/host/gtk_shell1.cc index cb3b0c8fa024e0..26dfd7fbf3f403 100644 --- a/ui/ozone/platform/wayland/host/gtk_shell1.cc +++ b/ui/ozone/platform/wayland/host/gtk_shell1.cc @@ -17,8 +17,8 @@ namespace { // gtk_shell1 exposes request_focus() since version 3. Below that, it is not // interesting for us, although it provides some shell integration that might be // useful. -constexpr uint32_t kMinGtkShell1Version = 3; -constexpr uint32_t kMaxGtkShell1Version = 4; +constexpr uint32_t kMinVersion = 3; +constexpr uint32_t kMaxVersion = 4; } // namespace // static @@ -32,11 +32,13 @@ void GtkShell1::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->gtk_shell1_ || version < kMinGtkShell1Version) + if (connection->gtk_shell1_ || + !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) { return; + } - auto gtk_shell1 = wl::Bind<::gtk_shell1>( - registry, name, std::min(version, kMaxGtkShell1Version)); + auto gtk_shell1 = + wl::Bind<::gtk_shell1>(registry, name, std::min(version, kMaxVersion)); if (!gtk_shell1) { LOG(ERROR) << "Failed to bind gtk_shell1"; return; diff --git a/ui/ozone/platform/wayland/host/org_kde_kwin_idle.cc b/ui/ozone/platform/wayland/host/org_kde_kwin_idle.cc index 4746aa798c0f7f..8b7a7416d955a0 100644 --- a/ui/ozone/platform/wayland/host/org_kde_kwin_idle.cc +++ b/ui/ozone/platform/wayland/host/org_kde_kwin_idle.cc @@ -13,7 +13,7 @@ namespace ui { namespace { -constexpr uint32_t kMaxOrgKdeKwinIdleVersion = 1; +constexpr uint32_t kMinVersion = 1; // After the system has gone idle, it will wait for this time before notifying // us. This reduces "jitter" of the idle/active state, but also adds some lag @@ -58,11 +58,12 @@ void OrgKdeKwinIdle::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->org_kde_kwin_idle_) + if (connection->org_kde_kwin_idle_ || + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } - auto idle = wl::Bind( - registry, name, std::min(version, kMaxOrgKdeKwinIdleVersion)); + auto idle = wl::Bind(registry, name, kMinVersion); if (!idle) { LOG(ERROR) << "Failed to bind to org_kde_kwin_idle global"; return; diff --git a/ui/ozone/platform/wayland/host/overlay_prioritizer.cc b/ui/ozone/platform/wayland/host/overlay_prioritizer.cc index e8aaf39a3374c2..11496b52324a8a 100644 --- a/ui/ozone/platform/wayland/host/overlay_prioritizer.cc +++ b/ui/ozone/platform/wayland/host/overlay_prioritizer.cc @@ -12,7 +12,7 @@ namespace ui { namespace { -constexpr uint32_t kMaxOverlayPrioritizerVersion = 1; +constexpr uint32_t kMinVersion = 1; } // static @@ -26,11 +26,12 @@ void OverlayPrioritizer::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->overlay_prioritizer_) + if (connection->overlay_prioritizer_ || + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } - auto prioritizer = wl::Bind( - registry, name, std::min(version, kMaxOverlayPrioritizerVersion)); + auto prioritizer = wl::Bind(registry, name, kMinVersion); if (!prioritizer) { LOG(ERROR) << "Failed to bind overlay_prioritizer"; return; diff --git a/ui/ozone/platform/wayland/host/surface_augmenter.cc b/ui/ozone/platform/wayland/host/surface_augmenter.cc index d971d15e71426b..6e5408398bcea8 100644 --- a/ui/ozone/platform/wayland/host/surface_augmenter.cc +++ b/ui/ozone/platform/wayland/host/surface_augmenter.cc @@ -13,7 +13,8 @@ namespace ui { namespace { -constexpr uint32_t kMaxSurfaceAugmenterVersion = 2; +constexpr uint32_t kMinVersion = 1; +constexpr uint32_t kMaxVersion = 2; } // static @@ -27,11 +28,13 @@ void SurfaceAugmenter::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->surface_augmenter_) + if (connection->surface_augmenter_ || + !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) { return; + } - auto augmenter = wl::Bind( - registry, name, std::min(version, kMaxSurfaceAugmenterVersion)); + auto augmenter = wl::Bind(registry, name, + std::min(version, kMaxVersion)); if (!augmenter) { LOG(ERROR) << "Failed to bind surface_augmenter"; return; diff --git a/ui/ozone/platform/wayland/host/wayland_data_device_manager.cc b/ui/ozone/platform/wayland/host/wayland_data_device_manager.cc index 408cb1c72f474c..0f03942e6991a4 100644 --- a/ui/ozone/platform/wayland/host/wayland_data_device_manager.cc +++ b/ui/ozone/platform/wayland/host/wayland_data_device_manager.cc @@ -14,7 +14,8 @@ namespace ui { namespace { -constexpr uint32_t kMaxDeviceManagerVersion = 3; +constexpr uint32_t kMinVersion = 1; +constexpr uint32_t kMaxVersion = 3; } // static @@ -28,11 +29,13 @@ void WaylandDataDeviceManager::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->data_device_manager_) + if (connection->data_device_manager_ || + !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) { return; + } auto data_device_manager = wl::Bind( - registry, name, std::min(version, kMaxDeviceManagerVersion)); + registry, name, std::min(version, kMaxVersion)); if (!data_device_manager) { LOG(ERROR) << "Failed to bind to wl_data_device_manager global"; return; diff --git a/ui/ozone/platform/wayland/host/wayland_drm.cc b/ui/ozone/platform/wayland/host/wayland_drm.cc index d806e8e9f5de04..a7ed2e20ffe0a1 100644 --- a/ui/ozone/platform/wayland/host/wayland_drm.cc +++ b/ui/ozone/platform/wayland/host/wayland_drm.cc @@ -17,7 +17,7 @@ namespace ui { namespace { -constexpr uint32_t kMinWlDrmVersion = 2; +constexpr uint32_t kMinVersion = 2; } // static @@ -31,8 +31,10 @@ void WaylandDrm::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->drm_ || version < kMinWlDrmVersion) + if (connection->drm_ || + !!wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } auto wl_drm = wl::Bind(registry, name, version); if (!wl_drm) { diff --git a/ui/ozone/platform/wayland/host/wayland_output.cc b/ui/ozone/platform/wayland/host/wayland_output.cc index 585568f2e729d2..2186d6a823ceeb 100644 --- a/ui/ozone/platform/wayland/host/wayland_output.cc +++ b/ui/ozone/platform/wayland/host/wayland_output.cc @@ -16,7 +16,8 @@ namespace ui { namespace { -constexpr uint32_t kMinWlOutputVersion = 2; +// TODO(crbug.com/1279681): support newer versions. +constexpr uint32_t kMinVersion = 2; } // static @@ -30,14 +31,11 @@ void WaylandOutput::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (version < kMinWlOutputVersion) { - LOG(ERROR) - << "Unable to bind to the unsupported wl_output object with version= " - << version << ". Minimum supported version is " << kMinWlOutputVersion; + if (!wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; } - auto output = wl::Bind(registry, name, version); + auto output = wl::Bind(registry, name, kMinVersion); if (!output) { LOG(ERROR) << "Failed to bind to wl_output global"; return; diff --git a/ui/ozone/platform/wayland/host/wayland_shm.cc b/ui/ozone/platform/wayland/host/wayland_shm.cc index 7c6cd40569d74f..de97ad1c2b22a1 100644 --- a/ui/ozone/platform/wayland/host/wayland_shm.cc +++ b/ui/ozone/platform/wayland/host/wayland_shm.cc @@ -10,7 +10,7 @@ namespace ui { namespace { -constexpr uint32_t kMaxShmVersion = 1; +constexpr uint32_t kMinVersion = 1; constexpr uint32_t kShmFormat = WL_SHM_FORMAT_ARGB8888; } // namespace @@ -25,11 +25,12 @@ void WaylandShm::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->shm_) + if (connection->shm_ || + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } - auto shm = - wl::Bind(registry, name, std::min(version, kMaxShmVersion)); + auto shm = wl::Bind(registry, name, kMinVersion); if (!shm) { LOG(ERROR) << "Failed to bind to wl_shm global"; return; diff --git a/ui/ozone/platform/wayland/host/wayland_zaura_shell.cc b/ui/ozone/platform/wayland/host/wayland_zaura_shell.cc index b1ae436db08c27..1b5585f7c18de0 100644 --- a/ui/ozone/platform/wayland/host/wayland_zaura_shell.cc +++ b/ui/ozone/platform/wayland/host/wayland_zaura_shell.cc @@ -19,7 +19,8 @@ namespace ui { namespace { -constexpr uint32_t kMaxAuraShellVersion = 28; +constexpr uint32_t kMinVersion = 1; +constexpr uint32_t kMaxVersion = 28; } // static @@ -33,11 +34,13 @@ void WaylandZAuraShell::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->zaura_shell_) + if (connection->zaura_shell_ || + !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) { return; + } auto zaura_shell = wl::Bind( - registry, name, std::min(version, kMaxAuraShellVersion)); + registry, name, std::min(version, kMaxVersion)); if (!zaura_shell) { LOG(ERROR) << "Failed to bind zaura_shell"; return; diff --git a/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc b/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc index 094a2f98686c6d..84d847eea16ae5 100644 --- a/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc +++ b/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc @@ -16,7 +16,7 @@ namespace ui { namespace { -constexpr uint32_t kMaxCursorShapesVersion = 1; +constexpr uint32_t kMinVersion = 1; } using mojom::CursorType; @@ -32,11 +32,13 @@ void WaylandZcrCursorShapes::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->zcr_cursor_shapes_) + if (connection->zcr_cursor_shapes_ || + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } - auto zcr_cursor_shapes = wl::Bind( - registry, name, std::min(version, kMaxCursorShapesVersion)); + auto zcr_cursor_shapes = + wl::Bind(registry, name, kMinVersion); if (!zcr_cursor_shapes) { LOG(ERROR) << "Failed to bind zcr_cursor_shapes_v1"; return; diff --git a/ui/ozone/platform/wayland/host/wayland_zwp_linux_dmabuf.cc b/ui/ozone/platform/wayland/host/wayland_zwp_linux_dmabuf.cc index 45177f280fb428..6b4ec3871d12ef 100644 --- a/ui/ozone/platform/wayland/host/wayland_zwp_linux_dmabuf.cc +++ b/ui/ozone/platform/wayland/host/wayland_zwp_linux_dmabuf.cc @@ -14,7 +14,8 @@ namespace ui { namespace { -constexpr uint32_t kMaxLinuxDmabufVersion = 3; +constexpr uint32_t kMinVersion = 1; +constexpr uint32_t kMaxVersion = 3; } // static @@ -28,11 +29,13 @@ void WaylandZwpLinuxDmabuf::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->zwp_dmabuf()) + if (connection->zwp_dmabuf() || + !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) { return; + } auto zwp_linux_dmabuf = wl::Bind( - registry, name, std::min(version, kMaxLinuxDmabufVersion)); + registry, name, std::min(version, kMaxVersion)); if (!zwp_linux_dmabuf) { LOG(ERROR) << "Failed to bind zwp_linux_dmabuf_v1"; return; diff --git a/ui/ozone/platform/wayland/host/wayland_zwp_pointer_constraints.cc b/ui/ozone/platform/wayland/host/wayland_zwp_pointer_constraints.cc index 24e4dacc7eeb6a..c1aca770ff5be1 100644 --- a/ui/ozone/platform/wayland/host/wayland_zwp_pointer_constraints.cc +++ b/ui/ozone/platform/wayland/host/wayland_zwp_pointer_constraints.cc @@ -15,7 +15,7 @@ namespace ui { namespace { -constexpr uint32_t kMinZwpPointerConstraintsVersion = 1; +constexpr uint32_t kMinVersion = 1; } // static @@ -30,12 +30,12 @@ void WaylandZwpPointerConstraints::Instantiate(WaylandConnection* connection, DCHECK_EQ(interface, kInterfaceName); if (connection->wayland_zwp_pointer_constraints_ || - version < kMinZwpPointerConstraintsVersion) { + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; } auto zwp_pointer_constraints_v1 = - wl::Bind(registry, name, version); + wl::Bind(registry, name, kMinVersion); if (!zwp_pointer_constraints_v1) { LOG(ERROR) << "Failed to bind wp_pointer_constraints_v1"; return; diff --git a/ui/ozone/platform/wayland/host/wayland_zwp_pointer_gestures.cc b/ui/ozone/platform/wayland/host/wayland_zwp_pointer_gestures.cc index 5d96c8923fda1c..31bffb726c6ea9 100644 --- a/ui/ozone/platform/wayland/host/wayland_zwp_pointer_gestures.cc +++ b/ui/ozone/platform/wayland/host/wayland_zwp_pointer_gestures.cc @@ -19,7 +19,7 @@ namespace ui { namespace { -constexpr uint32_t kMinZwpPointerGesturesVersion = 1; +constexpr uint32_t kMinVersion = 1; } // static @@ -34,11 +34,12 @@ void WaylandZwpPointerGestures::Instantiate(WaylandConnection* connection, DCHECK_EQ(interface, kInterfaceName); if (connection->wayland_zwp_pointer_gestures_ || - version < kMinZwpPointerGesturesVersion) + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } auto zwp_pointer_gestures_v1 = - wl::Bind(registry, name, version); + wl::Bind(registry, name, kMinVersion); if (!zwp_pointer_gestures_v1) { LOG(ERROR) << "Failed to bind wp_pointer_gestures_v1"; return; diff --git a/ui/ozone/platform/wayland/host/wayland_zwp_relative_pointer_manager.cc b/ui/ozone/platform/wayland/host/wayland_zwp_relative_pointer_manager.cc index 3a8ef4c7f9612d..c84a891dfe7336 100644 --- a/ui/ozone/platform/wayland/host/wayland_zwp_relative_pointer_manager.cc +++ b/ui/ozone/platform/wayland/host/wayland_zwp_relative_pointer_manager.cc @@ -14,7 +14,7 @@ namespace ui { namespace { -constexpr uint32_t kMinZwpRelativePointerManagerVersion = 1; +constexpr uint32_t kMinVersion = 1; } // static @@ -30,11 +30,13 @@ void WaylandZwpRelativePointerManager::Instantiate( DCHECK_EQ(interface, kInterfaceName); if (connection->wayland_zwp_relative_pointer_manager_ || - version < kMinZwpRelativePointerManagerVersion) + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } auto zwp_relative_pointer_manager_v1 = - wl::Bind(registry, name, version); + wl::Bind(registry, name, + kMinVersion); if (!zwp_relative_pointer_manager_v1) { LOG(ERROR) << "Failed to bind zwp_relative_pointer_manager_v1"; return; diff --git a/ui/ozone/platform/wayland/host/xdg_foreign_wrapper.cc b/ui/ozone/platform/wayland/host/xdg_foreign_wrapper.cc index a34b684d12883d..2586adf9b857ce 100644 --- a/ui/ozone/platform/wayland/host/xdg_foreign_wrapper.cc +++ b/ui/ozone/platform/wayland/host/xdg_foreign_wrapper.cc @@ -19,6 +19,8 @@ constexpr char XdgForeignWrapper::kInterfaceNameV1[]; // static constexpr char XdgForeignWrapper::kInterfaceNameV2[]; +constexpr uint32_t kMinVersion = 1; + using OnHandleExported = XdgForeignWrapper::OnHandleExported; namespace { @@ -185,15 +187,17 @@ void XdgForeignWrapper::Instantiate(WaylandConnection* connection, uint32_t name, const std::string& interface, uint32_t version) { - if (connection->xdg_foreign_) + if (connection->xdg_foreign_ || + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } if (interface == kInterfaceNameV1) { - connection->xdg_foreign_ = - CreateWrapper(connection, registry, name, version); + connection->xdg_foreign_ = CreateWrapper( + connection, registry, name, kMinVersion); } else if (interface == kInterfaceNameV2) { - connection->xdg_foreign_ = - CreateWrapper(connection, registry, name, version); + connection->xdg_foreign_ = CreateWrapper( + connection, registry, name, kMinVersion); } else { NOTREACHED() << " unexpected interface name: " << interface; } diff --git a/ui/ozone/platform/wayland/host/zwp_idle_inhibit_manager.cc b/ui/ozone/platform/wayland/host/zwp_idle_inhibit_manager.cc index 47121293acb7a4..fc05de68778b95 100644 --- a/ui/ozone/platform/wayland/host/zwp_idle_inhibit_manager.cc +++ b/ui/ozone/platform/wayland/host/zwp_idle_inhibit_manager.cc @@ -12,7 +12,7 @@ namespace ui { namespace { -constexpr uint32_t kMaxZwpIdleInhibitManagerVersion = 1; +constexpr uint32_t kMinVersion = 1; } // static @@ -26,11 +26,13 @@ void ZwpIdleInhibitManager::Instantiate(WaylandConnection* connection, uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->zwp_idle_inhibit_manager_) + if (connection->zwp_idle_inhibit_manager_ || + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } - auto manager = wl::Bind( - registry, name, std::min(version, kMaxZwpIdleInhibitManagerVersion)); + auto manager = + wl::Bind(registry, name, kMinVersion); if (!manager) { LOG(ERROR) << "Failed to bind zwp_idle_inhibit_manager_v1"; return; diff --git a/ui/ozone/platform/wayland/host/zwp_primary_selection_device_manager.cc b/ui/ozone/platform/wayland/host/zwp_primary_selection_device_manager.cc index f6f9fd23c35df8..795a09c0565768 100644 --- a/ui/ozone/platform/wayland/host/zwp_primary_selection_device_manager.cc +++ b/ui/ozone/platform/wayland/host/zwp_primary_selection_device_manager.cc @@ -16,7 +16,7 @@ namespace ui { namespace { -constexpr uint32_t kMaxGtkPrimarySelectionDeviceManagerVersion = 1; +constexpr uint32_t kMinVersion = 1; } // namespace // static @@ -31,12 +31,13 @@ void ZwpPrimarySelectionDeviceManager::Instantiate( uint32_t version) { DCHECK_EQ(interface, kInterfaceName); - if (connection->zwp_primary_selection_device_manager_) + if (connection->zwp_primary_selection_device_manager_ || + !wl::CanBind(interface, version, kMinVersion, kMinVersion)) { return; + } auto manager = wl::Bind( - registry, name, - std::min(version, kMaxGtkPrimarySelectionDeviceManagerVersion)); + registry, name, kMinVersion); if (!manager) { LOG(ERROR) << "Failed to bind zwp_primary_selection_device_manager_v1"; return; From 8656aed2b96e7a4cbcdc8bfc43987e3f3294bad0 Mon Sep 17 00:00:00 2001 From: chromium-internal-autoroll Date: Tue, 14 Dec 2021 09:57:13 +0000 Subject: [PATCH 11/32] Roll src-internal from df7c46c625a3 to d49909553bd8 (1 revision) https://chrome-internal.googlesource.com/chrome/src-internal.git/+log/df7c46c625a3..d49909553bd8 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://skia-autoroll.corp.goog/r/src-internal-chromium-autoroll Please CC yukishiino@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Cq-Include-Trybots: luci.chrome.try:linux-chromeos-chrome Bug: None Tbr: yukishiino@google.com Change-Id: Id4c3f5e778d14e8a176b03b40c96d31b5e9b3fa6 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3337586 Commit-Queue: chromium-internal-autoroll Bot-Commit: chromium-internal-autoroll Cr-Commit-Position: refs/heads/main@{#951429} --- DEPS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPS b/DEPS index cc7b255ead6063..347ea74d2bf71d 100644 --- a/DEPS +++ b/DEPS @@ -1700,7 +1700,7 @@ deps = { Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'), 'src-internal': { - 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@df7c46c625a3bb971a83b1469c8e82f7db00eeca', + 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@d49909553bd8838195664ca9df5b36229c2582da', 'condition': 'checkout_src_internal', }, From 2d55c0988523ee223d2cf772d1003c9f6c068407 Mon Sep 17 00:00:00 2001 From: Viktor Semeniuk Date: Tue, 14 Dec 2021 10:02:51 +0000 Subject: [PATCH 12/32] [UPM] Invoke sync callback for profile store when sync is turned off Before that CL: sync_enabled_or_disabled_cb_ was called only when the Sync Bridge is syncing passwords from the account store. This was sufficient since the callback's main purpose was to clear the store upon signout wasn't required for the fully syncing users (who only have a profile store). After this CL: sync_enabled_or_disabled_cb_ is also called for fully syncing users. This CL is a no-op since PasswordStoreFactory passes base::DoNothing() when initializing PasswordStore [1]. Follow-up CLs will inject a different callback here and renders this CL useful. [1]https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/password_manager/password_store_factory.cc;l=122 Bug: 1278748 Change-Id: I63980ddbda83ebf8a8dfa0927d74343bb9ff4aac Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3330286 Reviewed-by: Mohamed Amir Yosef Commit-Queue: Viktor Semeniuk Cr-Commit-Position: refs/heads/main@{#951430} --- .../core/browser/sync/password_sync_bridge.cc | 1 + .../core/browser/sync/password_sync_bridge_unittest.cc | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/components/password_manager/core/browser/sync/password_sync_bridge.cc b/components/password_manager/core/browser/sync/password_sync_bridge.cc index 69e634ddb96973..a1fba1ee35a621 100644 --- a/components/password_manager/core/browser/sync/password_sync_bridge.cc +++ b/components/password_manager/core/browser/sync/password_sync_bridge.cc @@ -795,6 +795,7 @@ void PasswordSyncBridge::ApplyStopSyncChanges( } if (!password_store_sync_->IsAccountStore()) { password_store_sync_->GetMetadataStore()->DeleteAllSyncMetadata(); + sync_enabled_or_disabled_cb_.Run(); return; } // For the account store, the data should be deleted too. So do the following: diff --git a/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc b/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc index e664f0a83f46c5..dc88bc14868618 100644 --- a/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc +++ b/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc @@ -1035,13 +1035,11 @@ TEST_F(PasswordSyncBridgeTest, ShouldNotifyOnSyncDisableIfAccountStore) { bridge()->ApplyStopSyncChanges(bridge()->CreateMetadataChangeList()); } -TEST_F(PasswordSyncBridgeTest, ShouldNotNotifyOnSyncDisableIfProfileStore) { +TEST_F(PasswordSyncBridgeTest, ShouldNotifyOnSyncDisableIfProfileStore) { ON_CALL(*mock_password_store_sync(), IsAccountStore()) .WillByDefault(Return(false)); - // The profile password store does *not* get cleared when sync is disabled, so - // this should *not* trigger the callback. - EXPECT_CALL(*mock_sync_enabled_or_disabled_cb(), Run()).Times(0); + EXPECT_CALL(*mock_sync_enabled_or_disabled_cb(), Run()); bridge()->ApplyStopSyncChanges(bridge()->CreateMetadataChangeList()); } From 97ffe9188b121a0d5111e73761cdc212ecf36edc Mon Sep 17 00:00:00 2001 From: Chrome Metrics Logs Date: Tue, 14 Dec 2021 10:08:12 +0000 Subject: [PATCH 13/32] Delay expiry of frequently used histograms. Updates the expires_after attribute for 350 histograms that show frequent access in the past 180 days. These are the 99% most frequently used histograms over that time that do not already have a date later than or within 60 days of 2022-03-14. TBR=chromium-metrics-reviews@google.com Change-Id: If4fb6ae79aca960b2bdeed1c35c0f4176b6c08d5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3338116 Commit-Queue: Chrome Metrics Logs Bot-Commit: Chrome Metrics Logs Cr-Commit-Position: refs/heads/main@{#951431} --- .../metadata/accessibility/histograms.xml | 4 +- .../metadata/android/histograms.xml | 30 +++++------ .../metadata/autofill/histograms.xml | 6 +-- .../histograms/metadata/blink/histograms.xml | 22 ++++---- .../metadata/bluetooth/histograms.xml | 8 +-- .../metadata/browser/histograms.xml | 8 +-- .../metadata/compositing/histograms.xml | 14 ++--- .../metadata/content/histograms.xml | 4 +- .../metadata/content_creation/histograms.xml | 18 +++---- .../histograms/metadata/cookie/histograms.xml | 6 +-- .../metadata/download/histograms.xml | 14 ++--- .../metadata/enterprise/histograms.xml | 4 +- .../histograms/metadata/event/histograms.xml | 6 +-- .../metadata/extensions/histograms.xml | 30 +++++------ .../histograms/metadata/gcm/histograms.xml | 4 +- .../metadata/geolocation/histograms.xml | 2 +- .../histograms/metadata/gpu/histograms.xml | 18 +++---- .../metadata/history/histograms.xml | 4 +- .../histograms/metadata/input/histograms.xml | 2 +- .../metadata/interstitial/histograms.xml | 2 +- .../histograms/metadata/ios/histograms.xml | 6 +-- .../histograms/metadata/media/histograms.xml | 36 ++++++------- .../histograms/metadata/memory/histograms.xml | 6 +-- .../histograms/metadata/mobile/histograms.xml | 4 +- .../metadata/navigation/histograms.xml | 14 ++--- .../histograms/metadata/net/histograms.xml | 10 ++-- .../metadata/network/histograms.xml | 2 +- .../metadata/new_tab_page/histograms.xml | 20 +++---- .../metadata/notifications/histograms.xml | 8 +-- .../metadata/omnibox/histograms.xml | 12 ++--- .../metadata/optimization/histograms.xml | 2 +- .../histograms/metadata/others/histograms.xml | 54 +++++++++---------- .../histograms/metadata/page/histograms.xml | 12 ++--- .../metadata/password/histograms.xml | 32 +++++------ .../metadata/payment/histograms.xml | 2 +- .../histograms/metadata/pdf/histograms.xml | 4 +- .../metadata/permissions/histograms.xml | 6 +-- .../histograms/metadata/power/histograms.xml | 4 +- .../metadata/profile/histograms.xml | 22 ++++---- .../metadata/renderer/histograms.xml | 4 +- .../metadata/renderer4/histograms.xml | 4 +- .../metadata/safe_browsing/histograms.xml | 16 +++--- .../metadata/sb_client/histograms.xml | 6 +-- .../metadata/security/histograms.xml | 26 ++++----- .../segmentation_platform/histograms.xml | 6 +-- .../metadata/session/histograms.xml | 6 +-- .../metadata/settings/histograms.xml | 10 ++-- .../histograms/metadata/signin/histograms.xml | 8 +-- .../metadata/stability/histograms.xml | 4 +- .../metadata/startup/histograms.xml | 8 +-- .../metadata/subresource/histograms.xml | 10 ++-- .../histograms/metadata/sync/histograms.xml | 14 ++--- .../histograms/metadata/tab/histograms.xml | 20 +++---- .../histograms/metadata/v8/histograms.xml | 6 +-- .../metadata/web_apk/histograms.xml | 2 +- .../metadata/web_audio/histograms.xml | 2 +- .../metadata/web_core/histograms.xml | 2 +- .../metadata/web_rtc/histograms.xml | 6 +-- .../metadata/webapps/histograms.xml | 6 +-- .../metadata/webauthn/histograms.xml | 6 +-- .../metadata/windows/histograms.xml | 2 +- 61 files changed, 318 insertions(+), 318 deletions(-) diff --git a/tools/metrics/histograms/metadata/accessibility/histograms.xml b/tools/metrics/histograms/metadata/accessibility/histograms.xml index 8f6557d867e447..d5d91f6e2b0e2d 100644 --- a/tools/metrics/histograms/metadata/accessibility/histograms.xml +++ b/tools/metrics/histograms/metadata/accessibility/histograms.xml @@ -1379,7 +1379,7 @@ chromium-metrics-reviews@google.com. + enum="AccessibilityHighContrastColorScheme" expires_after="2022-06-12"> aleventhal@chromium.org almaher@microsoft.com weblayoutdev@microsoft.com @@ -1537,7 +1537,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> mdjones@chromium.org "Used" is recorded when the user clicks the infobar to enter diff --git a/tools/metrics/histograms/metadata/android/histograms.xml b/tools/metrics/histograms/metadata/android/histograms.xml index a31adb89d15084..390de08d92e2b1 100644 --- a/tools/metrics/histograms/metadata/android/histograms.xml +++ b/tools/metrics/histograms/metadata/android/histograms.xml @@ -137,7 +137,7 @@ chromium-metrics-reviews@google.com. + enum="AdaptiveToolbarRadioButtonState" expires_after="2022-06-12"> shaktisahu@chromium.org chrome-segmentation-platform@google.com @@ -148,7 +148,7 @@ chromium-metrics-reviews@google.com. + enum="AdaptiveToolbarRadioButtonState" expires_after="2022-06-12"> shaktisahu@chromium.org chrome-segmentation-platform@google.com @@ -180,7 +180,7 @@ chromium-metrics-reviews@google.com. + enum="AppLaunchBlockDrawForInitialTabAccuracy" expires_after="2022-06-12"> sinansahin@google.com twellington@chromium.org skym@chromium.org @@ -218,7 +218,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rsesek@chromium.org clank-security@google.com @@ -638,7 +638,7 @@ chromium-metrics-reviews@google.com. + enum="ChromeStartupDelegateResult" expires_after="2022-06-12"> gangwu@chromium.org twellington@chromium.org @@ -952,7 +952,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> twellington@chromium.org tedchoc@chromium.org clank-app-team@google.com @@ -964,7 +964,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> twellington@chromium.org tedchoc@chromium.org clank-app-team@google.com @@ -1155,7 +1155,7 @@ chromium-metrics-reviews@google.com. + enum="AndroidDownloadOpenSource" expires_after="2022-06-12"> xingliu@chromium.org clank-downloads@google.com @@ -1165,7 +1165,7 @@ chromium-metrics-reviews@google.com. + enum="AndroidDownloadOpenSource" expires_after="2022-06-12"> xingliu@chromium.org clank-downloads@google.com Records how users open video download files on Android. @@ -1535,7 +1535,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sideyilmaz@chromium.org chrome-incognito@google.com @@ -1544,7 +1544,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> roagarwal@chromium.org chrome-incognito@google.com @@ -1822,7 +1822,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rsesek@chromium.org Reports the kernel major and minor version from the utsname.release field. @@ -2439,7 +2439,7 @@ chromium-metrics-reviews@google.com. + enum="BrowserProfileType" expires_after="2022-06-12"> sideyilmaz@chromium.org chrome-incognito@google.com @@ -2787,7 +2787,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> gangwu@chromium.org fgorski@chromium.org @@ -2914,7 +2914,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> peter@chromium.org finnur@chromium.org diff --git a/tools/metrics/histograms/metadata/autofill/histograms.xml b/tools/metrics/histograms/metadata/autofill/histograms.xml index 4fa62194d859cd..fcf443dcce598e 100644 --- a/tools/metrics/histograms/metadata/autofill/histograms.xml +++ b/tools/metrics/histograms/metadata/autofill/histograms.xml @@ -768,7 +768,7 @@ chromium-metrics-reviews@google.com. + enum="AutofillCardUploadDecisionMetric" expires_after="2022-06-12"> jsaul@google.com siyua@chromium.org payments-autofill-team@google.com @@ -1403,7 +1403,7 @@ chromium-metrics-reviews@google.com. + enum="BrowserProfileType" expires_after="2022-06-12"> rhalavati@chromium.org chrome-privacy-core@google.com @@ -3120,7 +3120,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rhalavati@chromium.org chrome-privacy-core@google.com diff --git a/tools/metrics/histograms/metadata/blink/histograms.xml b/tools/metrics/histograms/metadata/blink/histograms.xml index 1ad352180c2af5..77ee20439cde8f 100644 --- a/tools/metrics/histograms/metadata/blink/histograms.xml +++ b/tools/metrics/histograms/metadata/blink/histograms.xml @@ -70,7 +70,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> @@ -101,7 +101,7 @@ chromium-metrics-reviews@google.com. + enum="AutomaticLazyLoadFrameState" expires_after="2022-06-12"> sisidovski@google.com kouhei@chromium.org @@ -293,7 +293,7 @@ chromium-metrics-reviews@google.com. + enum="CanvasGPUFallbackToCPUScenario" expires_after="2022-06-12"> fserb@chromium.org Logs the occurrences of canvas fallback from GPU to CPU. @@ -977,7 +977,7 @@ chromium-metrics-reviews@google.com. + enum="ImageSelectionOutcome" expires_after="2022-06-12"> benwgold@google.com flackr@chromium.org @@ -1352,7 +1352,7 @@ chromium-metrics-reviews@google.com. + enum="WebFontInstantiationResult" expires_after="2022-06-12"> drott@chromium.org layout-dev@chromium.org @@ -1432,7 +1432,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> @@ -2630,7 +2630,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> aaronhk@chromium.org fserb@chromium.org @@ -3040,7 +3040,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> yigu@chromium.org goto@chromium.org web-identity@google.com @@ -3073,7 +3073,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> yigu@chromium.org goto@chromium.org web-identity@google.com @@ -3661,7 +3661,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> dalecurtis@chromium.org media-dev@chromium.org @@ -3671,7 +3671,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> dalecurtis@chromium.org media-dev@chromium.org diff --git a/tools/metrics/histograms/metadata/bluetooth/histograms.xml b/tools/metrics/histograms/metadata/bluetooth/histograms.xml index 2fe2a8d48463eb..db6ef73d47f5fa 100644 --- a/tools/metrics/histograms/metadata/bluetooth/histograms.xml +++ b/tools/metrics/histograms/metadata/bluetooth/histograms.xml @@ -413,7 +413,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> adlr@chromium.org Counts the number of simulataneously connected Bluetooth devices. Used to @@ -667,7 +667,7 @@ chromium-metrics-reviews@google.com. + enum="WebBluetoothConnectGATTOutcome" expires_after="2022-06-12"> reillyg@chromium.org deviceapi-team@google.com @@ -992,7 +992,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> reillyg@chromium.org deviceapi-team@google.com @@ -1005,7 +1005,7 @@ chromium-metrics-reviews@google.com. + enum="WebBluetoothRSSISignalStrengthLevel" expires_after="2022-06-12"> reillyg@chromium.org deviceapi-team@google.com diff --git a/tools/metrics/histograms/metadata/browser/histograms.xml b/tools/metrics/histograms/metadata/browser/histograms.xml index 6366e879ebd66a..2c9fce6b6cddf8 100644 --- a/tools/metrics/histograms/metadata/browser/histograms.xml +++ b/tools/metrics/histograms/metadata/browser/histograms.xml @@ -445,7 +445,7 @@ chromium-metrics-reviews@google.com. + units="BooleanSuccess" expires_after="2022-06-12"> ckitagawa@chromium.org yashard@chromium.org fredmello@chromium.org @@ -464,7 +464,7 @@ chromium-metrics-reviews@google.com. + enum="TabbedPaintPreviewCompositorFailureReason" expires_after="2022-06-12"> ckitagawa@chromium.org yashard@chromium.org fredmello@chromium.org @@ -510,7 +510,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ckitagawa@chromium.org yashard@chromium.org fredmello@chromium.org @@ -590,7 +590,7 @@ chromium-metrics-reviews@google.com. + units="janks" expires_after="2022-06-12"> gab@chromium.org olivierli@chromium.org diff --git a/tools/metrics/histograms/metadata/compositing/histograms.xml b/tools/metrics/histograms/metadata/compositing/histograms.xml index 1c8978e01d97f9..e547cf43eaf02d 100644 --- a/tools/metrics/histograms/metadata/compositing/histograms.xml +++ b/tools/metrics/histograms/metadata/compositing/histograms.xml @@ -188,7 +188,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> vasilyt@chromium.org backer@chromium.org @@ -286,7 +286,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> yiyix@chromium.org chromeos-gfx@chromium.org @@ -392,7 +392,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> vasilyt@chromium.org backer@chromium.org @@ -405,7 +405,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> vasilyt@chromium.org backer@chromium.org @@ -419,7 +419,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> vasilyt@chromium.org backer@chromium.org @@ -546,7 +546,7 @@ chromium-metrics-reviews@google.com. + enum="LCDTextDisallowedReason" expires_after="2022-06-12"> wangxianzhu@chromium.org paint-dev@chromium.org @@ -556,7 +556,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> schenney@chromium.org paint-dev@chromium.org diff --git a/tools/metrics/histograms/metadata/content/histograms.xml b/tools/metrics/histograms/metadata/content/histograms.xml index 24e388d2bb5904..7626f4078d6d2a 100644 --- a/tools/metrics/histograms/metadata/content/histograms.xml +++ b/tools/metrics/histograms/metadata/content/histograms.xml @@ -961,7 +961,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> carlosk@chromium.org harringtond@chromium.org feed@chromium.org @@ -1462,7 +1462,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> harringtond@chromium.org freedjm@chromium.org feed@chromium.org diff --git a/tools/metrics/histograms/metadata/content_creation/histograms.xml b/tools/metrics/histograms/metadata/content_creation/histograms.xml index 7f54ffd5786ba0..8701bdc8a7a1b6 100644 --- a/tools/metrics/histograms/metadata/content_creation/histograms.xml +++ b/tools/metrics/histograms/metadata/content_creation/histograms.xml @@ -208,7 +208,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sebsg@chromium.org chrome-creation@google.com @@ -228,14 +228,14 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sebsg@chromium.org chrome-creation@google.com Records whether the created note was shared or not. + units="Number of changes" expires_after="2022-06-12"> sebsg@chromium.org chrome-creation@google.com @@ -244,7 +244,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sebsg@chromium.org chrome-creation@google.com @@ -253,7 +253,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sebsg@chromium.org chrome-creation@google.com @@ -346,7 +346,7 @@ chromium-metrics-reviews@google.com. + enum="LinkGenerationError" expires_after="2022-06-12"> gayane@chromium.org chrome-shared-highlighting@google.com @@ -356,7 +356,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> gayane@chromium.org chrome-shared-highlighting@google.com @@ -376,7 +376,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> gayane@chromium.org chrome-shared-highlighting@google.com @@ -408,7 +408,7 @@ chromium-metrics-reviews@google.com. + enum="LinkGenerationState" expires_after="2022-06-12"> gayane@chromium.org chrome-shared-highlighting@google.com diff --git a/tools/metrics/histograms/metadata/cookie/histograms.xml b/tools/metrics/histograms/metadata/cookie/histograms.xml index 8952286bc17882..aa743a603b2669 100644 --- a/tools/metrics/histograms/metadata/cookie/histograms.xml +++ b/tools/metrics/histograms/metadata/cookie/histograms.xml @@ -164,7 +164,7 @@ chromium-metrics-reviews@google.com. - + bingler@chromium.org morlovich@chromium.org @@ -738,7 +738,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> cfredric@chromium.org bingler@chromium.org @@ -775,7 +775,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> cfredric@chromium.org bingler@chromium.org diff --git a/tools/metrics/histograms/metadata/download/histograms.xml b/tools/metrics/histograms/metadata/download/histograms.xml index 4fcfe548ac3dcd..a3db467fb405fa 100644 --- a/tools/metrics/histograms/metadata/download/histograms.xml +++ b/tools/metrics/histograms/metadata/download/histograms.xml @@ -194,7 +194,7 @@ chromium-metrics-reviews@google.com. + enum="SBClientDownloadExtensions" expires_after="2022-06-12"> vakh@chromium.org chrome-safebrowsing-alerts@google.com @@ -318,7 +318,7 @@ chromium-metrics-reviews@google.com. + enum="InsecureDownloadExtensions" expires_after="2022-06-12"> jdeblasio@chromium.org estark@chromium.org cthomp@chromium.org @@ -551,7 +551,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> xingliu@chromium.org clank-downloads@google.com @@ -792,7 +792,7 @@ chromium-metrics-reviews@google.com. + enum="DownloadInfoBarState" expires_after="2022-06-12"> shaktisahu@chromium.org clank-downloads@google.com @@ -802,7 +802,7 @@ chromium-metrics-reviews@google.com. + enum="DownloadInfoBar.ShownState" expires_after="2022-06-12"> shaktisahu@chromium.org clank-downloads@google.com @@ -1048,7 +1048,7 @@ chromium-metrics-reviews@google.com. + enum="Download.Service.CompletionType" expires_after="2022-06-12"> xingliu@chromium.org The completion type for downloads in download service. @@ -1162,7 +1162,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> kerenzhu@chromium.org robliao@chromium.org romanarora@chromium.org diff --git a/tools/metrics/histograms/metadata/enterprise/histograms.xml b/tools/metrics/histograms/metadata/enterprise/histograms.xml index 3bdc3334c98851..2030bccc9f419b 100644 --- a/tools/metrics/histograms/metadata/enterprise/histograms.xml +++ b/tools/metrics/histograms/metadata/enterprise/histograms.xml @@ -1390,7 +1390,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> grt@chromium.org zmin@chromium.org @@ -1421,7 +1421,7 @@ chromium-metrics-reviews@google.com. + enum="WinGetLastError" expires_after="2022-06-12"> grt@chromium.org zmin@chromium.org diff --git a/tools/metrics/histograms/metadata/event/histograms.xml b/tools/metrics/histograms/metadata/event/histograms.xml index 97ce3f36235498..2d3dc52697f89e 100644 --- a/tools/metrics/histograms/metadata/event/histograms.xml +++ b/tools/metrics/histograms/metadata/event/histograms.xml @@ -675,7 +675,7 @@ chromium-metrics-reviews@google.com. - + flackr@chromium.org input-dev@chromium.org @@ -1532,7 +1532,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> flackr@chromium.org arakeri@microsoft.com input-dev@chromium.org @@ -2044,7 +2044,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> dtapuska@chromium.org The result of handling of MouseWheel, TouchStart, TouchMove, TouchEnd events diff --git a/tools/metrics/histograms/metadata/extensions/histograms.xml b/tools/metrics/histograms/metadata/extensions/histograms.xml index d67a4459f3c67f..e04a76e9e80c85 100644 --- a/tools/metrics/histograms/metadata/extensions/histograms.xml +++ b/tools/metrics/histograms/metadata/extensions/histograms.xml @@ -340,7 +340,7 @@ chromium-metrics-reviews@google.com. + enum="AppLaunchContainer" expires_after="2022-06-12"> phillis@chromium.org benwells@chromium.org dominickn@chromium.org @@ -1520,7 +1520,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> swapnilgupta@google.com burunduk@chromium.org managed-devices@google.com @@ -1533,7 +1533,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> swapnilgupta@google.com burunduk@chromium.org poromov@chromium.org @@ -1559,7 +1559,7 @@ chromium-metrics-reviews@google.com. + enum="ExtensionInstallationDownloadingStage" expires_after="2022-06-12"> burunduk@chromium.org swapnilgupta@google.com managed-devices@google.com @@ -1575,7 +1575,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> burunduk@chromium.org swapnilgupta@google.com managed-devices@google.com @@ -1589,7 +1589,7 @@ chromium-metrics-reviews@google.com. + enum="ExtensionInstallationCrxInstallError" expires_after="2022-06-12"> burunduk@chromium.org swapnilgupta@google.com managed-devices@google.com @@ -1632,7 +1632,7 @@ chromium-metrics-reviews@google.com. + enum="ExtensionInstallationFailureReason" expires_after="2022-06-12"> burunduk@chromium.org @@ -1734,7 +1734,7 @@ chromium-metrics-reviews@google.com. + enum="BooleanEnabled" expires_after="2022-06-12"> swapnilgupta@google.com burunduk@chromium.org managed-devices@google.com @@ -1781,7 +1781,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> burunduk@chromium.org swapnilgupta@google.com managed-devices@google.com @@ -1792,7 +1792,7 @@ chromium-metrics-reviews@google.com. + enum="ExtensionDisableReason" expires_after="2022-06-12"> swapnilgupta@google.com burunduk@chromium.org managed-devices@google.com @@ -1817,7 +1817,7 @@ chromium-metrics-reviews@google.com. + enum="Boolean" expires_after="2022-06-12"> burunduk@chromium.org swapnilgupta@google.com managed-devices@google.com @@ -1851,7 +1851,7 @@ chromium-metrics-reviews@google.com. + units="units" expires_after="2022-06-12"> burunduk@chromium.org swapnilgupta@google.com managed-devices@google.com @@ -1862,7 +1862,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> burunduk@chromium.org swapnilgupta@google.com managed-devices@google.com @@ -1910,7 +1910,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> burunduk@chromium.org swapnilgupta@google.com managed-devices@google.com @@ -2877,7 +2877,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rdevlin.cronin@chromium.org extensions-core@chromium.org diff --git a/tools/metrics/histograms/metadata/gcm/histograms.xml b/tools/metrics/histograms/metadata/gcm/histograms.xml index b485e3e696e50e..c7bd260bb6824e 100644 --- a/tools/metrics/histograms/metadata/gcm/histograms.xml +++ b/tools/metrics/histograms/metadata/gcm/histograms.xml @@ -33,7 +33,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> peter@chromium.org knollr@chromium.org Status code of the outcome of a GCM checkin request. @@ -391,7 +391,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> knollr@chromium.org peter@chromium.org diff --git a/tools/metrics/histograms/metadata/geolocation/histograms.xml b/tools/metrics/histograms/metadata/geolocation/histograms.xml index 911aed61877237..2c6576ddbffe68 100644 --- a/tools/metrics/histograms/metadata/geolocation/histograms.xml +++ b/tools/metrics/histograms/metadata/geolocation/histograms.xml @@ -23,7 +23,7 @@ chromium-metrics-reviews@google.com. + enum="GeolocationAuthorizationAction" expires_after="2022-06-12"> mattreynolds@chromium.org device-dev@chromium.org diff --git a/tools/metrics/histograms/metadata/gpu/histograms.xml b/tools/metrics/histograms/metadata/gpu/histograms.xml index d95639e84478ce..0887b239551c71 100644 --- a/tools/metrics/histograms/metadata/gpu/histograms.xml +++ b/tools/metrics/histograms/metadata/gpu/histograms.xml @@ -539,7 +539,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sievers@chromium.org The reason a GPU command buffer context of a given type was lost. @@ -599,7 +599,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> jonahr@google.com angle-team@google.com @@ -945,7 +945,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> zmo@chromium.org graphics-dev@chromium.org The display type used to ask for an EGLDisplay. @@ -1113,7 +1113,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> magchen@chromium.org zmo@chromium.org @@ -1150,7 +1150,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> vmiura@chromium.org Startup time of the GPU process as measured by the GPU process host. @@ -1209,7 +1209,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sadrul@chromium.org zmo@chromium.org @@ -1219,7 +1219,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sunnyps@chromium.org zmo@chromium.org @@ -1692,7 +1692,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> magchen@chromium.org zmo@chromium.org @@ -1881,7 +1881,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> magchen@chromium.org zmo@chromium.org diff --git a/tools/metrics/histograms/metadata/history/histograms.xml b/tools/metrics/histograms/metadata/history/histograms.xml index adb6ba751ea87d..7c2307f4a4afaf 100644 --- a/tools/metrics/histograms/metadata/history/histograms.xml +++ b/tools/metrics/histograms/metadata/history/histograms.xml @@ -385,7 +385,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> mcrouse@chromium.org chrome-memories@google.com @@ -1113,7 +1113,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> mpearson@chromium.org sky@chromium.org diff --git a/tools/metrics/histograms/metadata/input/histograms.xml b/tools/metrics/histograms/metadata/input/histograms.xml index fad47da785989c..f4ffa64e77cf55 100644 --- a/tools/metrics/histograms/metadata/input/histograms.xml +++ b/tools/metrics/histograms/metadata/input/histograms.xml @@ -23,7 +23,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> myy@chromium.org essential-inputs-team@google.com diff --git a/tools/metrics/histograms/metadata/interstitial/histograms.xml b/tools/metrics/histograms/metadata/interstitial/histograms.xml index 24fa3d1551ace3..56e0bd4ae55cbc 100644 --- a/tools/metrics/histograms/metadata/interstitial/histograms.xml +++ b/tools/metrics/histograms/metadata/interstitial/histograms.xml @@ -340,7 +340,7 @@ chromium-metrics-reviews@google.com. + enum="TypedNavigationUpgradeThrottleEvent" expires_after="2022-06-12"> meacer@chromium.org trusty-transport@chromium.org diff --git a/tools/metrics/histograms/metadata/ios/histograms.xml b/tools/metrics/histograms/metadata/ios/histograms.xml index d1f3a781a0c34c..138dec295a451c 100644 --- a/tools/metrics/histograms/metadata/ios/histograms.xml +++ b/tools/metrics/histograms/metadata/ios/histograms.xml @@ -23,7 +23,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rohitrao@chromium.org justincohen@chromium.org @@ -337,7 +337,7 @@ chromium-metrics-reviews@google.com. + enum="IOSDefaultBrowserFullscreenPromoAction" expires_after="2022-06-12"> thegreenfrog@chromium.org rohitrao@chromium.org @@ -1044,7 +1044,7 @@ chromium-metrics-reviews@google.com. + enum="IOSPageLoadCountNavigationType" expires_after="2022-06-12"> gambard@chromium.org bling-team@google.com The number of navigation started events by navigation type. diff --git a/tools/metrics/histograms/metadata/media/histograms.xml b/tools/metrics/histograms/metadata/media/histograms.xml index ead039c5ba99c5..ab728a9ca11445 100644 --- a/tools/metrics/histograms/metadata/media/histograms.xml +++ b/tools/metrics/histograms/metadata/media/histograms.xml @@ -67,7 +67,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> vasilyt@chromium.org media-dev@chromium.org @@ -93,7 +93,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> vasilyt@chromium.org liberato@chromium.org media-dev@chromium.org @@ -197,7 +197,7 @@ chromium-metrics-reviews@google.com. + enum="BooleanMissingCallbacks" expires_after="2022-06-12"> guidou@chromium.org olka@chromium.org @@ -626,7 +626,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> saza@chromium.org olka@chromium.org @@ -1744,7 +1744,7 @@ chromium-metrics-reviews@google.com. + enum="MediaControlsPlaybackSpeed" expires_after="2022-06-12"> steimel@chromium.org media-dev@chromium.org @@ -3593,7 +3593,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> beccahughes@chromium.org media-dev@chromium.org @@ -3626,7 +3626,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> beccahughes@chromium.org media-dev@chromium.org @@ -4164,7 +4164,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> liberato@chromium.org webrtc-video@google.com @@ -4503,7 +4503,7 @@ chromium-metrics-reviews@google.com. + enum="GetDisplayMediaUserInteraction" expires_after="2022-06-12"> eladalon@chromium.org guidou@chromium.org agpalak@chromium.org @@ -4728,7 +4728,7 @@ chromium-metrics-reviews@google.com. - + eugene@chromium.org videostack-eng@chromium.org @@ -5100,7 +5100,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> dalecurtis@chromium.org media-dev@chromium.org @@ -5111,7 +5111,7 @@ chromium-metrics-reviews@google.com. + enum="Boolean" expires_after="2022-06-12"> dalecurtis@chromium.org media-dev@chromium.org @@ -5649,7 +5649,7 @@ chromium-metrics-reviews@google.com. + units="devices" expires_after="2022-06-12"> mfoltz@chromium.org openscreen-eng@google.com @@ -5810,7 +5810,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> takumif@chromium.org openscreen-eng@google.com @@ -5918,7 +5918,7 @@ chromium-metrics-reviews@google.com. + enum="MediaRouterDialTerminateRouteResult" expires_after="2022-06-12"> takumif@chromium.org mfoltz@chromium.org openscreen-eng@google.com @@ -6082,7 +6082,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> takumif@chromium.org openscreen-eng@google.com @@ -6193,14 +6193,14 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> takumif@chromium.org openscreen-eng@google.com The number of times a user stops different types of routes. + expires_after="2022-06-12"> takumif@chromium.org openscreen-eng@google.com diff --git a/tools/metrics/histograms/metadata/memory/histograms.xml b/tools/metrics/histograms/metadata/memory/histograms.xml index 0b7ecbb73f173e..b358aa8ea19840 100644 --- a/tools/metrics/histograms/metadata/memory/histograms.xml +++ b/tools/metrics/histograms/metadata/memory/histograms.xml @@ -487,7 +487,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> thiabaud@google.com lizeb@chromium.org @@ -1908,7 +1908,7 @@ chromium-metrics-reviews@google.com. + units="MB" expires_after="2022-06-12"> ckitagawa@chromium.org fredmello@chromium.org yashard@chromium.org @@ -1943,7 +1943,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ckitagawa@chromium.org fredmello@chromium.org yashard@chromium.org diff --git a/tools/metrics/histograms/metadata/mobile/histograms.xml b/tools/metrics/histograms/metadata/mobile/histograms.xml index e613a29931d4b7..7dc9d7003cd330 100644 --- a/tools/metrics/histograms/metadata/mobile/histograms.xml +++ b/tools/metrics/histograms/metadata/mobile/histograms.xml @@ -783,7 +783,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> skym@chromium.org wenyufu@chromium.org @@ -855,7 +855,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> skym@chromium.org wenyufu@chromium.org diff --git a/tools/metrics/histograms/metadata/navigation/histograms.xml b/tools/metrics/histograms/metadata/navigation/histograms.xml index c680378ace7789..0421eccea2e46f 100644 --- a/tools/metrics/histograms/metadata/navigation/histograms.xml +++ b/tools/metrics/histograms/metadata/navigation/histograms.xml @@ -51,7 +51,7 @@ chromium-metrics-reviews@google.com. + enum="BackForwardCacheHistoryNavigationOutcome" expires_after="2022-06-12"> hajimehoshi@chromium.org bfcache-dev@chromium.org @@ -174,7 +174,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> hajimehoshi@chromium.org bfcache-dev@chromium.org @@ -276,7 +276,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> hajimehoshi@chromium.org bfcache-dev@chromium.org @@ -791,7 +791,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> estark@chromium.org security-enamel@chromium.org @@ -991,7 +991,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rhalavati@chromium.org chrome-privacy-core@google.com @@ -1096,7 +1096,7 @@ chromium-metrics-reviews@google.com. + enum="OriginAgentClusterEndResult" expires_after="2022-06-12"> alexmos@chromium.org creis@chromium.org wjmaclean@chromium.org @@ -1386,7 +1386,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> abeyad@chromium.org aarontag@chromium.org diff --git a/tools/metrics/histograms/metadata/net/histograms.xml b/tools/metrics/histograms/metadata/net/histograms.xml index 143b386fa6d43b..8717e74e12b9b6 100644 --- a/tools/metrics/histograms/metadata/net/histograms.xml +++ b/tools/metrics/histograms/metadata/net/histograms.xml @@ -496,7 +496,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> bcb@chromium.org rsleevi@chromium.org @@ -1930,7 +1930,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> edwardjung@chromium.org src/net/OWNERS @@ -2369,7 +2369,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> davidben@chromium.org trusty-transport@chromium.org @@ -5215,7 +5215,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> morlovich@chromium.org src/net/cookies/OWNERS @@ -5632,7 +5632,7 @@ chromium-metrics-reviews@google.com. + enum="SSLHandshakeEarlyDataReason" expires_after="2022-06-12"> davidben@chromium.org trusty-transport@chromium.org diff --git a/tools/metrics/histograms/metadata/network/histograms.xml b/tools/metrics/histograms/metadata/network/histograms.xml index 171acb26b8efbe..0911c9f71e9477 100644 --- a/tools/metrics/histograms/metadata/network/histograms.xml +++ b/tools/metrics/histograms/metadata/network/histograms.xml @@ -3458,7 +3458,7 @@ chromium-metrics-reviews@google.com. + enum="NetworkServiceSandboxGrantResult" expires_after="2022-06-12"> wfh@chromium.org mmenke@chromium.org diff --git a/tools/metrics/histograms/metadata/new_tab_page/histograms.xml b/tools/metrics/histograms/metadata/new_tab_page/histograms.xml index 95c468859941cc..79954e77323277 100644 --- a/tools/metrics/histograms/metadata/new_tab_page/histograms.xml +++ b/tools/metrics/histograms/metadata/new_tab_page/histograms.xml @@ -196,7 +196,7 @@ chromium-metrics-reviews@google.com. - + tiborg@chromium.org yyushkina@chromium.org chrome-desktop-ntp@google.com @@ -784,7 +784,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> tiborg@chromium.org aee@chromium.org andrevincent@google.com @@ -1031,7 +1031,7 @@ chromium-metrics-reviews@google.com. + enum="BooleanEnabled" expires_after="2022-06-12"> danielms@google.com tiborg@chromium.org chrome-desktop-ntp@google.com @@ -1062,7 +1062,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> danielms@google.com tiborg@chromium.org chrome-desktop-ntp@google.com @@ -1248,7 +1248,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> tiborg@chromium.org yyushkina@chromium.org chrome-desktop-ntp@google.com @@ -1893,7 +1893,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> tiborg@chromium.org yyushkina@chromium.org chrome-desktop-ntp@google.com @@ -2017,7 +2017,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> tiborg@chromium.org yyushkina@chromium.org chrome-desktop-ntp@google.com @@ -2028,7 +2028,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> danielms@google.com tiborg@chromium.org chrome-desktop-ntp@google.com @@ -2039,7 +2039,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> dbeam@chromium.org yyushkina@chromium.org @@ -2050,7 +2050,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> dbeam@chromium.org yyushkina@chromium.org diff --git a/tools/metrics/histograms/metadata/notifications/histograms.xml b/tools/metrics/histograms/metadata/notifications/histograms.xml index be040157e02472..6c3869a312e11c 100644 --- a/tools/metrics/histograms/metadata/notifications/histograms.xml +++ b/tools/metrics/histograms/metadata/notifications/histograms.xml @@ -71,7 +71,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> peter@chromium.org Recorded when the Sites channel (which we hope to deprecate) is used as a @@ -162,7 +162,7 @@ chromium-metrics-reviews@google.com. + units="notifications" expires_after="2022-06-12"> knollr@chromium.org peter@chromium.org @@ -384,7 +384,7 @@ chromium-metrics-reviews@google.com. + enum="NotificationDatabaseStatus" expires_after="2022-06-12"> knollr@chromium.org peter@chromium.org @@ -493,7 +493,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> knollr@chromium.org peter@chromium.org diff --git a/tools/metrics/histograms/metadata/omnibox/histograms.xml b/tools/metrics/histograms/metadata/omnibox/histograms.xml index 2a18077759f97e..67d8ce2b55e57d 100644 --- a/tools/metrics/histograms/metadata/omnibox/histograms.xml +++ b/tools/metrics/histograms/metadata/omnibox/histograms.xml @@ -247,7 +247,7 @@ chromium-metrics-reviews@google.com. + enum="OmniboxDocumentSuggestRequests" expires_after="2022-06-12"> manukh@chromium.org mpearson@chromium.org jdonnelly@chromium.org @@ -259,7 +259,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> manukh@chromium.org mpearson@chromium.org jdonnelly@chromium.org @@ -303,7 +303,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ender@chromium.org jdonnelly@chromium.org mpearson@chromium.org @@ -386,7 +386,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> jdonnelly@chromium.org mpearson@chromium.org chrome-omnibox-team@google.com @@ -442,7 +442,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> jdonnelly@chromium.org mpearson@chromium.org chrome-omnibox-team@google.com @@ -1000,7 +1000,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> jdonnelly@chromium.org mpearson@chromium.org chrome-omnibox-team@google.com diff --git a/tools/metrics/histograms/metadata/optimization/histograms.xml b/tools/metrics/histograms/metadata/optimization/histograms.xml index 222c4f20a3138b..fa298aed0a0620 100644 --- a/tools/metrics/histograms/metadata/optimization/histograms.xml +++ b/tools/metrics/histograms/metadata/optimization/histograms.xml @@ -1031,7 +1031,7 @@ chromium-metrics-reviews@google.com. + enum="OptimizationGuideProcessHintsResult" expires_after="2022-06-12"> mcrouse@chromium.org sophiechang@chromium.org diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml index 2824cd8515bb14..daf5e2e91911c5 100644 --- a/tools/metrics/histograms/metadata/others/histograms.xml +++ b/tools/metrics/histograms/metadata/others/histograms.xml @@ -1841,7 +1841,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rhalavati@chromium.org chrome-privacy-core@google.com UI>Browser>Bookmarks @@ -2051,7 +2051,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ianwen@chromium.org UI>Browser>Bookmarks Logs a UI location from which a bookmark is launched. @@ -2122,7 +2122,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> wychen@chromium.org UI>Browser>Bookmarks @@ -2132,7 +2132,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> shaktisahu@chromium.org xingliu@chromium.org UI>Browser>Bookmarks @@ -2144,7 +2144,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> shaktisahu@chromium.org xingliu@chromium.org UI>Browser>Bookmarks @@ -2178,7 +2178,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rhalavati@chromium.org chrome-privacy-core@google.com UI>Browser>Bookmarks @@ -2650,7 +2650,7 @@ chromium-metrics-reviews@google.com. + enum="UtilityProcessNameHash" expires_after="2022-06-12"> wfh@chromium.org chrome-stability-core@google.com @@ -2754,7 +2754,7 @@ chromium-metrics-reviews@google.com. + enum="UtilityProcessNameHash" expires_after="2022-06-12"> wfh@chromium.org Count of child utility process launches, bucketed by the hash of their @@ -3545,7 +3545,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> sadrul@chromium.org graphics-dev@chromium.org @@ -3563,7 +3563,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sadrul@chromium.org graphics-dev@chromium.org @@ -3871,7 +3871,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> gayane@chromium.org chrome-shared-highlighting@google.com @@ -3894,7 +3894,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> twellington@chromium.org clank-app-team@google.com @@ -6645,7 +6645,7 @@ chromium-metrics-reviews@google.com. + enum="NuxNtpBackgroundInteractions" expires_after="2022-06-12"> hcarmona@chromium.org johntlee@chromium.org @@ -7323,7 +7323,7 @@ chromium-metrics-reviews@google.com. + units="%" expires_after="2022-06-12"> behdadb@chromium.org sadrul@chromium.org @@ -7337,7 +7337,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sadrul@chromium.org mjzhang@chromium.org graphics-dev@chromium.org @@ -7402,7 +7402,7 @@ chromium-metrics-reviews@google.com. + units="%" expires_after="2022-06-12"> sadrul@chromium.org ericrk@chromium.org @@ -7584,7 +7584,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sadrul@chromium.org mjzhang@chromium.org graphics-dev@chromium.org @@ -7717,7 +7717,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sashamcintosh@chromium.org chromeos-gfx@chromium.org @@ -7727,7 +7727,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> sashamcintosh@chromium.org chromeos-gfx@chromium.org @@ -9238,7 +9238,7 @@ chromium-metrics-reviews@google.com. + enum="SupervisedUserSafetyFilterResult" expires_after="2022-06-12"> agawronska@chromium.org cros-families@google.com @@ -12460,7 +12460,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> peter@chromium.org knollr@chromium.org @@ -15127,7 +15127,7 @@ should be kept until we remove incident reporting. --> + enum="NetErrorCodes" expires_after="2022-06-12"> ksakamoto@chromium.org webpackage-dev@chromium.org @@ -16332,7 +16332,7 @@ should be kept until we use this API. --> + expires_after="2022-06-12"> oysteine@chromium.org The size, in kilobytes, of a finalized trace ready to be uploaded. @@ -17803,7 +17803,7 @@ regressions. --> + expires_after="2022-06-12"> collinbaker@chromium.org tluk@chromium.org @@ -17825,7 +17825,7 @@ regressions. --> + expires_after="2022-06-12"> robliao@chromium.org johntlee@chromium.org @@ -17835,7 +17835,7 @@ regressions. --> + expires_after="2022-06-12"> robliao@chromium.org johntlee@chromium.org @@ -18052,7 +18052,7 @@ regressions. --> + expires_after="2022-06-12"> ainslie@chromium.org edwardjung@chromium.org Number of times that each menu item is clicked. diff --git a/tools/metrics/histograms/metadata/page/histograms.xml b/tools/metrics/histograms/metadata/page/histograms.xml index c022e030cdde4b..5910cb12865dc6 100644 --- a/tools/metrics/histograms/metadata/page/histograms.xml +++ b/tools/metrics/histograms/metadata/page/histograms.xml @@ -346,7 +346,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> cammie@chromium.org jkarlin@chromium.org johnidel@chromium.org @@ -1094,7 +1094,7 @@ chromium-metrics-reviews@google.com. - + alexmt@chromium.org johnidel@chromium.org @@ -1568,7 +1568,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> nhiroki@chromium.org chrome-loading@google.com @@ -1590,7 +1590,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> nhiroki@chromium.org chrome-loading@google.com @@ -1612,7 +1612,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> nhiroki@chromium.org chrome-loading@google.com @@ -2314,7 +2314,7 @@ chromium-metrics-reviews@google.com. + enum="PageLoadPrerenderEvent" expires_after="2022-06-12"> asamidoi@chromium.org src/content/browser/prerender/OWNERS diff --git a/tools/metrics/histograms/metadata/password/histograms.xml b/tools/metrics/histograms/metadata/password/histograms.xml index e585544164047b..f67700076d0df9 100644 --- a/tools/metrics/histograms/metadata/password/histograms.xml +++ b/tools/metrics/histograms/metadata/password/histograms.xml @@ -252,7 +252,7 @@ chromium-metrics-reviews@google.com. + enum="PasswordGenerationUserEvent" expires_after="2022-06-12"> ioanap@chromium.org vasilii@chromium.org @@ -649,7 +649,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> vsemeniuk@google.com vasilii@chromium.org @@ -911,7 +911,7 @@ chromium-metrics-reviews@google.com. + enum="BiometricsAvailability" expires_after="2022-06-12"> ioanap@chromium.org fhorschig@chromium.org @@ -1059,7 +1059,7 @@ chromium-metrics-reviews@google.com. + enum="PasswordCheckReferrerAndroid" expires_after="2022-06-12"> ioanap@chromium.org fhorschig@chromium.org @@ -1175,7 +1175,7 @@ chromium-metrics-reviews@google.com. + units="credentials" expires_after="2022-06-12"> vasilii@chromium.org vsemeniuk@google.com @@ -1185,7 +1185,7 @@ chromium-metrics-reviews@google.com. + units="credentials" expires_after="2022-06-12"> vasilii@chromium.org vsemeniuk@google.com @@ -1204,7 +1204,7 @@ chromium-metrics-reviews@google.com. + enum="CredentialEditError" expires_after="2022-06-12"> ioanap@chromium.org fhorschig@chromium.org @@ -1327,7 +1327,7 @@ chromium-metrics-reviews@google.com. + enum="PasswordManager.Store" expires_after="2022-06-12"> mamir@chromium.org treib@chromium.org @@ -1544,7 +1544,7 @@ chromium-metrics-reviews@google.com. + enum="BrowserProfileType" expires_after="2022-06-12"> rhalavati@chromium.org chrome-privacy-core@google.com @@ -1826,7 +1826,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> vasilii@chromium.org vsemeniuk@google.com @@ -1848,7 +1848,7 @@ chromium-metrics-reviews@google.com. + enum="PasswordLeakLookupResponseResult" expires_after="2022-06-12"> vsemeniuk@google.com vasilii@chromium.org @@ -2026,7 +2026,7 @@ chromium-metrics-reviews@google.com. + enum="PasswordManagerUIDismissalReason" expires_after="2022-06-12"> mamir@chromium.org @@ -2189,7 +2189,7 @@ chromium-metrics-reviews@google.com. + units="credentials" expires_after="2022-06-12"> vakh@chromium.org chrome-safebrowsing-alerts@google.com @@ -2440,7 +2440,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> kazinova@google.com vasilii@chromium.org @@ -2643,7 +2643,7 @@ chromium-metrics-reviews@google.com. + enum="PasswordManagerFillingSource" expires_after="2022-06-12"> mamir@chromium.org treib@chromium.org @@ -2721,7 +2721,7 @@ chromium-metrics-reviews@google.com. + enum="PasswordSyncMetadataReadError" expires_after="2022-06-12"> mamir@chromium.org mastiz@chromium.org diff --git a/tools/metrics/histograms/metadata/payment/histograms.xml b/tools/metrics/histograms/metadata/payment/histograms.xml index 221bfa5af5569e..3e8368ff42e685 100644 --- a/tools/metrics/histograms/metadata/payment/histograms.xml +++ b/tools/metrics/histograms/metadata/payment/histograms.xml @@ -66,7 +66,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rouslan@chromium.org web-payments-team@google.com diff --git a/tools/metrics/histograms/metadata/pdf/histograms.xml b/tools/metrics/histograms/metadata/pdf/histograms.xml index dcb4e8251f923c..a5e28c5bed19bf 100644 --- a/tools/metrics/histograms/metadata/pdf/histograms.xml +++ b/tools/metrics/histograms/metadata/pdf/histograms.xml @@ -87,7 +87,7 @@ chromium-metrics-reviews@google.com. - + hnakashima@chromium.org thestig@chromium.org @@ -95,7 +95,7 @@ chromium-metrics-reviews@google.com. - + dhoss@chromium.org thestig@chromium.org Tracks versions of documents opened in the PDF viewer. diff --git a/tools/metrics/histograms/metadata/permissions/histograms.xml b/tools/metrics/histograms/metadata/permissions/histograms.xml index 6a3c440e46924a..53a2610681198c 100644 --- a/tools/metrics/histograms/metadata/permissions/histograms.xml +++ b/tools/metrics/histograms/metadata/permissions/histograms.xml @@ -482,7 +482,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> engedy@chromium.org src/components/permissions/PERMISSIONS_OWNERS @@ -935,7 +935,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> mattreynolds@chromium.org deviceapi-team@google.com @@ -1077,7 +1077,7 @@ chromium-metrics-reviews@google.com. + enum="WebSiteSettingsAllSitesAction2" expires_after="2022-06-12"> jarrydg@chromium.org mxcai@chromium.org diff --git a/tools/metrics/histograms/metadata/power/histograms.xml b/tools/metrics/histograms/metadata/power/histograms.xml index 6b707bb97ccb90..c692f2ee7135ab 100644 --- a/tools/metrics/histograms/metadata/power/histograms.xml +++ b/tools/metrics/histograms/metadata/power/histograms.xml @@ -196,7 +196,7 @@ Also used in tools/metrics/histograms/metadata/others/histograms.xml - + ryansturm@chromium.org tbansal@chromium.org @@ -1147,7 +1147,7 @@ Also used in tools/metrics/histograms/metadata/others/histograms.xml + expires_after="2022-06-12"> fdoray@chromium.org catan-team@chromium.org diff --git a/tools/metrics/histograms/metadata/profile/histograms.xml b/tools/metrics/histograms/metadata/profile/histograms.xml index 17f11918eb470c..c928b17311f7ff 100644 --- a/tools/metrics/histograms/metadata/profile/histograms.xml +++ b/tools/metrics/histograms/metadata/profile/histograms.xml @@ -116,7 +116,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> jkrcal@chromium.org droger@chromium.org @@ -189,7 +189,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> jkrcal@chromium.org droger@chromium.org @@ -257,7 +257,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rhalavati@chromium.org chrome-incognito@google.com @@ -317,7 +317,7 @@ chromium-metrics-reviews@google.com. + units="navigations" expires_after="2022-06-12"> rhalavati@chromium.org chrome-incognito@google.com @@ -352,7 +352,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> nicolaso@chromium.org cbe-eng@google.com @@ -436,7 +436,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> msarda@chromium.org droger@chromium.org @@ -530,7 +530,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> droger@chromium.org jkrcal@chromium.org @@ -626,7 +626,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> jkrcal@chromium.org droger@chromium.org @@ -729,7 +729,7 @@ chromium-metrics-reviews@google.com. Total size of all history databases. - + etienneb@chromium.org gab@chromium.org Total size of the profile data (excluding sub-folders). @@ -875,7 +875,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> msalama@chromium.org chrome-signin-team@google.com @@ -972,7 +972,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> msalama@chromium.org chrome-signin-team@google.com diff --git a/tools/metrics/histograms/metadata/renderer/histograms.xml b/tools/metrics/histograms/metadata/renderer/histograms.xml index 81f4af7ab9daf9..00a87dda1fed85 100644 --- a/tools/metrics/histograms/metadata/renderer/histograms.xml +++ b/tools/metrics/histograms/metadata/renderer/histograms.xml @@ -347,7 +347,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> kojii@chromium.org tkent@chromium.org yosin@chromium.org @@ -401,7 +401,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> ckitagawa@chromium.org mahmoudi@chromium.org fredmello@chromium.org diff --git a/tools/metrics/histograms/metadata/renderer4/histograms.xml b/tools/metrics/histograms/metadata/renderer4/histograms.xml index 1f6f84722e7b15..fb15811922e15a 100644 --- a/tools/metrics/histograms/metadata/renderer4/histograms.xml +++ b/tools/metrics/histograms/metadata/renderer4/histograms.xml @@ -134,7 +134,7 @@ chromium-metrics-reviews@google.com. + units="microseconds" expires_after="2022-06-12"> @@ -180,7 +180,7 @@ chromium-metrics-reviews@google.com. + enum="MainThreadScrollingReason" expires_after="2022-06-12"> flackr@chromium.org pdr@chromium.org input-dev@chromium.org diff --git a/tools/metrics/histograms/metadata/safe_browsing/histograms.xml b/tools/metrics/histograms/metadata/safe_browsing/histograms.xml index 387d90844280eb..800d567b08e620 100644 --- a/tools/metrics/histograms/metadata/safe_browsing/histograms.xml +++ b/tools/metrics/histograms/metadata/safe_browsing/histograms.xml @@ -190,7 +190,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> xinghuilu@chromium.org chrome-safebrowsing-alerts@google.com @@ -232,7 +232,7 @@ chromium-metrics-reviews@google.com. + enum="CredentialPhishedStatus" expires_after="2022-06-12"> drubery@chromium.org chrome-safebrowsing-alerts@google.com @@ -298,7 +298,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> domfc@chromium.org webprotect-team@google.com @@ -1607,7 +1607,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> xinghuilu@chromium.org chrome-safebrowsing-alerts@google.com @@ -1736,7 +1736,7 @@ chromium-metrics-reviews@google.com. + enum="SafeBrowsingUserPopulation" expires_after="2022-06-12"> xinghuilu@chromium.org chrome-safebrowsing-alerts@google.com @@ -2572,7 +2572,7 @@ failing to fetch the updates which puts users' security at risk. --> + expires_after="2022-06-12"> drubery@chromium.org chrome-safebrowsing-alerts@google.com @@ -2583,7 +2583,7 @@ failing to fetch the updates which puts users' security at risk. --> + enum="BooleanSuccess" expires_after="2022-06-12"> drubery@chromium.org chrome-safebrowsing-alerts@google.com @@ -2609,7 +2609,7 @@ failing to fetch the updates which puts users' security at risk. --> + enum="SafeBrowsingBinaryUploadResult" expires_after="2022-06-12"> drubery@chromium.org chrome-safebrowsing-alerts@google.com diff --git a/tools/metrics/histograms/metadata/sb_client/histograms.xml b/tools/metrics/histograms/metadata/sb_client/histograms.xml index 3251012a4b69c0..62f2c4704bf055 100644 --- a/tools/metrics/histograms/metadata/sb_client/histograms.xml +++ b/tools/metrics/histograms/metadata/sb_client/histograms.xml @@ -109,7 +109,7 @@ chromium-metrics-reviews@google.com. + enum="SBClientDownloadExtensions" expires_after="2022-06-12"> vakh@chromium.org chrome-safebrowsing-alerts@google.com mattm@chromium.org @@ -846,7 +846,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> drubery@chromium.org chrome-safebrowsing-alerts@google.com @@ -1041,7 +1041,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> drubery@chromium.org chrome-safebrowsing-alerts@google.com diff --git a/tools/metrics/histograms/metadata/security/histograms.xml b/tools/metrics/histograms/metadata/security/histograms.xml index 9777dcc59ffedd..a0e4c2218bf9db 100644 --- a/tools/metrics/histograms/metadata/security/histograms.xml +++ b/tools/metrics/histograms/metadata/security/histograms.xml @@ -56,7 +56,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> lukasza@chromium.org rsesek@chromium.org @@ -69,7 +69,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> lukasza@chromium.org rsesek@chromium.org @@ -93,7 +93,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> lukasza@chromium.org rsesek@chromium.org @@ -116,7 +116,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> lukasza@chromium.org rsesek@chromium.org @@ -140,7 +140,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> lukasza@chromium.org rsesek@chromium.org @@ -185,7 +185,7 @@ chromium-metrics-reviews@google.com. + enum="BooleanEnabled" expires_after="2022-06-12"> cthomp@chromium.org trusty-transport@chromium.org @@ -372,7 +372,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> cthomp@chromium.org security-enamel@chromium.org @@ -397,7 +397,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> cthomp@chromium.org security-enamel@chromium.org @@ -407,7 +407,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> cthomp@chromium.org security-enamel@chromium.org @@ -635,7 +635,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> jdeblasio@chromium.org trusty-transport@chromium.org @@ -813,7 +813,7 @@ chromium-metrics-reviews@google.com. + enum="SecurityLevel" expires_after="2022-06-12"> estark@chromium.org trusty-transport@chromium.org @@ -913,7 +913,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> cthomp@chromium.org security-enamel@chromium.org @@ -1172,7 +1172,7 @@ chromium-metrics-reviews@google.com. + units="ms" expires_after="2022-06-12"> jessemckenna@google.com olivierli@chromium.org diff --git a/tools/metrics/histograms/metadata/segmentation_platform/histograms.xml b/tools/metrics/histograms/metadata/segmentation_platform/histograms.xml index 2673ddfec53f83..b8018be76f1b03 100644 --- a/tools/metrics/histograms/metadata/segmentation_platform/histograms.xml +++ b/tools/metrics/histograms/metadata/segmentation_platform/histograms.xml @@ -90,7 +90,7 @@ chromium-metrics-reviews@google.com. + enum="AdaptiveToolbarButtonVariant" expires_after="2022-06-12"> shaktisahu@chromium.org chrome-segmentation-platform@google.com @@ -114,7 +114,7 @@ chromium-metrics-reviews@google.com. + enum="AdaptiveToolbarSegmentSwitch" expires_after="2022-06-12"> shaktisahu@chromium.org chrome-segmentation-platform@google.com @@ -215,7 +215,7 @@ chromium-metrics-reviews@google.com. + enum="SegmentationPlatformSegmentationModel" expires_after="2022-06-12"> nyquist@chromium.org shaktisahu@chromium.org chrome-segmentation-platform@google.com diff --git a/tools/metrics/histograms/metadata/session/histograms.xml b/tools/metrics/histograms/metadata/session/histograms.xml index 533f724908281a..fbcb7f707224b8 100644 --- a/tools/metrics/histograms/metadata/session/histograms.xml +++ b/tools/metrics/histograms/metadata/session/histograms.xml @@ -23,7 +23,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> asvitkine@chromium.org src/base/metrics/OWNERS @@ -80,7 +80,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rohitrao@chromium.org marq@chromium.org @@ -507,7 +507,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> justincohen@chromium.org olivierrobin@chromium.org diff --git a/tools/metrics/histograms/metadata/settings/histograms.xml b/tools/metrics/histograms/metadata/settings/histograms.xml index 5a0c25dd8f7e3c..82eeae8cede54f 100644 --- a/tools/metrics/histograms/metadata/settings/histograms.xml +++ b/tools/metrics/histograms/metadata/settings/histograms.xml @@ -109,7 +109,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> mpearson@chromium.org csharp@chromium.org @@ -208,7 +208,7 @@ chromium-metrics-reviews@google.com. + enum="SettingsPrivacyElementInteractions" expires_after="2022-06-12"> harrisonsean@chromium.org msramek@chromium.org sauski@chromium.org @@ -272,7 +272,7 @@ chromium-metrics-reviews@google.com. + enum="SafetyCheckPasswordsStatus" expires_after="2022-06-12"> andzaytsev@google.com msramek@chromium.org Resulting state of the safety check password check. @@ -286,7 +286,7 @@ chromium-metrics-reviews@google.com. + enum="SafetyCheckUpdateStatus" expires_after="2022-06-12"> andzaytsev@google.com msramek@chromium.org Resulting state of the safety check updates check. @@ -434,7 +434,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> mpearson@chromium.org tiborg@chromium.org chrome-desktop-ntp@google.com diff --git a/tools/metrics/histograms/metadata/signin/histograms.xml b/tools/metrics/histograms/metadata/signin/histograms.xml index ad4c82723146c0..2018a1b182cf50 100644 --- a/tools/metrics/histograms/metadata/signin/histograms.xml +++ b/tools/metrics/histograms/metadata/signin/histograms.xml @@ -175,7 +175,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> triploblastic@chromium.org aliceywang@chromium.org chrome-signin-team@google.com @@ -332,7 +332,7 @@ prefs when the profile is loaded. --> + expires_after="2022-06-12"> triploblastic@chromium.org aliceywang@chromium.org @@ -782,7 +782,7 @@ prefs when the profile is loaded. --> + enum="GaiaCookieStateOnSignedInNavigation" expires_after="2022-06-12"> jlebel@chromium.org msarda@chromium.org chrome-signin-team@google.com @@ -1624,7 +1624,7 @@ name="TransactionalReauthEntryPoint" --> + enum="SigninReauthUserAction" expires_after="2022-06-12"> diff --git a/tools/metrics/histograms/metadata/stability/histograms.xml b/tools/metrics/histograms/metadata/stability/histograms.xml index 234332f1b15dfe..c5dc385f4f5b74 100644 --- a/tools/metrics/histograms/metadata/stability/histograms.xml +++ b/tools/metrics/histograms/metadata/stability/histograms.xml @@ -65,7 +65,7 @@ chromium-metrics-reviews@google.com. + enum="AndroidProcessedMinidumps" expires_after="2022-06-12"> mheikal@chromium.org smaier@chromium.org wnwen@chromium.org @@ -374,7 +374,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> fdoray@chromium.org catan-team@chromium.org diff --git a/tools/metrics/histograms/metadata/startup/histograms.xml b/tools/metrics/histograms/metadata/startup/histograms.xml index bc58ef32ec3940..89ca5f26ffefbb 100644 --- a/tools/metrics/histograms/metadata/startup/histograms.xml +++ b/tools/metrics/histograms/metadata/startup/histograms.xml @@ -23,7 +23,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> michaeln@chromium.org The number of after-startup tasks that were queued prior to startup @@ -364,7 +364,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> yusufo@chromium.org yfriedman@chromium.org @@ -436,7 +436,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> gab@chromium.org etienneb@chromium.org @@ -517,7 +517,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> gab@chromium.org mblsha@yandex-team.ru diff --git a/tools/metrics/histograms/metadata/subresource/histograms.xml b/tools/metrics/histograms/metadata/subresource/histograms.xml index 9d7b84aca1cb94..66ded5d161e711 100644 --- a/tools/metrics/histograms/metadata/subresource/histograms.xml +++ b/tools/metrics/histograms/metadata/subresource/histograms.xml @@ -102,7 +102,7 @@ chromium-metrics-reviews@google.com. + units="count" expires_after="2022-06-12"> cammie@chromium.org chrome-ads-histograms@google.com @@ -115,7 +115,7 @@ chromium-metrics-reviews@google.com. + units="BooleanHadAliases" expires_after="2022-06-12"> cammie@chromium.org chrome-ads-histograms@google.com @@ -169,7 +169,7 @@ chromium-metrics-reviews@google.com. + units="BooleanTagged" expires_after="2022-06-12"> cammie@chromium.org chrome-ads-histograms@google.com @@ -182,7 +182,7 @@ chromium-metrics-reviews@google.com. + units="BooleanBlocked" expires_after="2022-06-12"> cammie@chromium.org chrome-ads-histograms@google.com @@ -334,7 +334,7 @@ chromium-metrics-reviews@google.com. + enum="Boolean" expires_after="2022-06-12"> alexmt@chromium.org johnidel@chromium.org chrome-ads-histograms@google.com diff --git a/tools/metrics/histograms/metadata/sync/histograms.xml b/tools/metrics/histograms/metadata/sync/histograms.xml index b156fb239aa085..68acd4d6af1a18 100644 --- a/tools/metrics/histograms/metadata/sync/histograms.xml +++ b/tools/metrics/histograms/metadata/sync/histograms.xml @@ -274,7 +274,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rushans@google.com mastiz@chromium.org Services>Sync @@ -604,7 +604,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> treib@chromium.org mastiz@chromium.org Services>Sync @@ -757,7 +757,7 @@ chromium-metrics-reviews@google.com. + enum="InvalidBookmarkSpecificsError" expires_after="2022-06-12"> mastiz@chromium.org rushans@google.com Services>Sync @@ -778,7 +778,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> pastarmovj@chromium.org Services>Sync @@ -1005,7 +1005,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> rushans@google.com mastiz@chromium.org Services>Sync @@ -1284,7 +1284,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> treib@chromium.org mastiz@chromium.org Services>Sync @@ -1892,7 +1892,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> jkrcal@chromium.org mastiz@chromium.org Services>Sync diff --git a/tools/metrics/histograms/metadata/tab/histograms.xml b/tools/metrics/histograms/metadata/tab/histograms.xml index 681d52033a3365..89fbeb7b959e78 100644 --- a/tools/metrics/histograms/metadata/tab/histograms.xml +++ b/tools/metrics/histograms/metadata/tab/histograms.xml @@ -128,7 +128,7 @@ chromium-metrics-reviews@google.com. - + rhalavati@chromium.org chrome-incognito@google.com @@ -475,7 +475,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> skare@chromium.org Records the number of screenshots taken of a specific page. It is recorded @@ -1557,7 +1557,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> thegreenfrog@chromium.org bling-team@google.com @@ -1620,7 +1620,7 @@ chromium-metrics-reviews@google.com. - + gogerald@chromium.org nasims@google.com @@ -1629,7 +1629,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> gogerald@chromium.org nasims@google.com [iOS] The number of NTP tabs open at cold launch. @@ -2211,7 +2211,7 @@ chromium-metrics-reviews@google.com. - + mpearson@chromium.org chrome-desktop-ui-sea@google.com sbirch@google.com @@ -2227,7 +2227,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> mpearson@chromium.org chrome-desktop-ui-sea@google.com @@ -2286,7 +2286,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> tluk@chromium.org robliao@chromium.org @@ -2584,7 +2584,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> tluk@chromium.org robliao@chromium.org yuhengh@chromium.org @@ -2982,7 +2982,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> yusufo@chromium.org wychen@chromium.org diff --git a/tools/metrics/histograms/metadata/v8/histograms.xml b/tools/metrics/histograms/metadata/v8/histograms.xml index 38eda3a249b3ce..d233d0fa5c15b1 100644 --- a/tools/metrics/histograms/metadata/v8/histograms.xml +++ b/tools/metrics/histograms/metadata/v8/histograms.xml @@ -1148,7 +1148,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ecmziegler@chromium.org adamk@chromium.org clemensb@chromium.org @@ -1246,7 +1246,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> hpayer@chromium.org The total size of committed memory used by V8 after each GC in KB. @@ -1587,7 +1587,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> clemensb@chromium.org ecmziegler@chromium.org diff --git a/tools/metrics/histograms/metadata/web_apk/histograms.xml b/tools/metrics/histograms/metadata/web_apk/histograms.xml index d27a104df045ce..a25d717d518e98 100644 --- a/tools/metrics/histograms/metadata/web_apk/histograms.xml +++ b/tools/metrics/histograms/metadata/web_apk/histograms.xml @@ -109,7 +109,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> finnur@chromium.org peter@chromium.org diff --git a/tools/metrics/histograms/metadata/web_audio/histograms.xml b/tools/metrics/histograms/metadata/web_audio/histograms.xml index 8c2b26003039af..11d54462680888 100644 --- a/tools/metrics/histograms/metadata/web_audio/histograms.xml +++ b/tools/metrics/histograms/metadata/web_audio/histograms.xml @@ -101,7 +101,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> hongchan@chromium.org The maximum number of (hardware) channels available in an AudioContext. diff --git a/tools/metrics/histograms/metadata/web_core/histograms.xml b/tools/metrics/histograms/metadata/web_core/histograms.xml index 67d6413efd36bf..fc5e68966af724 100644 --- a/tools/metrics/histograms/metadata/web_core/histograms.xml +++ b/tools/metrics/histograms/metadata/web_core/histograms.xml @@ -48,7 +48,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> yosin@chromium.org kojii@chromium.org diff --git a/tools/metrics/histograms/metadata/web_rtc/histograms.xml b/tools/metrics/histograms/metadata/web_rtc/histograms.xml index 4a23ffca541e32..bea07f4d405e8e 100644 --- a/tools/metrics/histograms/metadata/web_rtc/histograms.xml +++ b/tools/metrics/histograms/metadata/web_rtc/histograms.xml @@ -369,7 +369,7 @@ chromium-metrics-reviews@google.com. + units="dBFS (negated)" expires_after="2022-06-12"> hlundin@chromium.org This histogram reports the average RMS of the signal coming in to WebRTC's @@ -427,7 +427,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> hlundin@chromium.org ivoc@chromium.org @@ -981,7 +981,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> henrika@chromium.org webrtc-audio@google.com Audio output sample rate for WebRTC (in Hz). diff --git a/tools/metrics/histograms/metadata/webapps/histograms.xml b/tools/metrics/histograms/metadata/webapps/histograms.xml index d5eca1d41d8f0a..a069d29cbe99d2 100644 --- a/tools/metrics/histograms/metadata/webapps/histograms.xml +++ b/tools/metrics/histograms/metadata/webapps/histograms.xml @@ -213,7 +213,7 @@ chromium-metrics-reviews@google.com. + enum="SiteEngagementServiceEngagementType" expires_after="2022-06-12"> calamity@chromium.org mgiuca@chromium.org loyso@chromium.org @@ -265,7 +265,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> ericwilligers@chromium.org peter@chromium.org yfriedman@chromium.org @@ -299,7 +299,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> dmurph@chromium.org desktop-pwas-team@google.com sunggch@microsoft.com diff --git a/tools/metrics/histograms/metadata/webauthn/histograms.xml b/tools/metrics/histograms/metadata/webauthn/histograms.xml index 78d08e7230f67e..32545ae9c2e96f 100644 --- a/tools/metrics/histograms/metadata/webauthn/histograms.xml +++ b/tools/metrics/histograms/metadata/webauthn/histograms.xml @@ -50,7 +50,7 @@ chromium-metrics-reviews@google.com. + enum="WebAuthenticationAOADiscoveryEvent" expires_after="2022-06-12"> agl@chromium.org martinkr@google.com @@ -96,7 +96,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> agl@chromium.org martinkr@google.com @@ -107,7 +107,7 @@ chromium-metrics-reviews@google.com. + enum="WebAuthenticationCableV2TunnelEvent" expires_after="2022-06-12"> agl@chromium.org martinkr@google.com diff --git a/tools/metrics/histograms/metadata/windows/histograms.xml b/tools/metrics/histograms/metadata/windows/histograms.xml index c0ee45769a6fcb..37c4b8d01cbbd7 100644 --- a/tools/metrics/histograms/metadata/windows/histograms.xml +++ b/tools/metrics/histograms/metadata/windows/histograms.xml @@ -101,7 +101,7 @@ chromium-metrics-reviews@google.com. + expires_after="2022-06-12"> grt@chromium.org davidbienvenu@chromium.org From 0482d925934e0cb87f32f39aa851583579984c3e Mon Sep 17 00:00:00 2001 From: Yue Li Date: Tue, 14 Dec 2021 10:11:46 +0000 Subject: [PATCH 14/32] QA Lacros: Move shared vector icons to //components/vector_icons/ Quick Answers will become a chromeos feature, thus moving the shared vector icons to //components/vector_icons/. DD: go/qa-lacros-alternatives Bug: b/208563257 Change-Id: Ice51cec1657421cbe55467c6f91224c2bf90a05b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3312105 Reviewed-by: Evan Stade Reviewed-by: Xiyuan Xia Commit-Queue: Yue Li Cr-Commit-Position: refs/heads/main@{#951432} --- ash/app_list/BUILD.gn | 1 + ash/app_list/views/search_box_view.cc | 6 ++++-- ash/app_list/views/search_box_view_unittest.cc | 6 ++++-- ash/public/cpp/app_list/vector_icons/BUILD.gn | 1 - ash/resources/vector_icons/BUILD.gn | 2 -- ash/system/tray/detailed_view_delegate.cc | 6 +++--- ash/system/unified/top_shortcuts_view.cc | 3 ++- .../ash/quick_answers/ui/quick_answers_view.cc | 17 ++++++++--------- .../ash/quick_answers/ui/user_consent_view.cc | 9 ++++----- components/vector_icons/BUILD.gn | 3 +++ .../vector_icons/dogfood.icon | 0 .../vector_icons/google_color.icon | 0 .../vector_icons/settings_outline.icon | 0 13 files changed, 29 insertions(+), 25 deletions(-) rename {ash/resources => components}/vector_icons/dogfood.icon (100%) rename {ash/public/cpp/app_list => components}/vector_icons/google_color.icon (100%) rename ash/resources/vector_icons/unified_menu_settings.icon => components/vector_icons/settings_outline.icon (100%) diff --git a/ash/app_list/BUILD.gn b/ash/app_list/BUILD.gn index 503e1cf0f1f86d..a84d0a8fae0309 100644 --- a/ash/app_list/BUILD.gn +++ b/ash/app_list/BUILD.gn @@ -182,6 +182,7 @@ source_set("app_list") { "//components/prefs", "//components/services/app_service/public/cpp:app_update", "//components/sync", + "//components/vector_icons", "//extensions/common:common_constants", "//mojo/public/cpp/bindings", "//skia", diff --git a/ash/app_list/views/search_box_view.cc b/ash/app_list/views/search_box_view.cc index 45509280f70c0d..c3ad1a6c057202 100644 --- a/ash/app_list/views/search_box_view.cc +++ b/ash/app_list/views/search_box_view.cc @@ -34,6 +34,7 @@ #include "base/metrics/user_metrics.h" #include "base/notreached.h" #include "chromeos/ui/vector_icons/vector_icons.h" +#include "components/vector_icons/vector_icons.h" #include "ui/accessibility/ax_node_data.h" #include "ui/base/ime/composition_text.h" #include "ui/base/l10n/l10n_util.h" @@ -209,8 +210,9 @@ void SearchBoxView::UpdateModel(bool initiated_by_user) { void SearchBoxView::UpdateSearchIcon() { const bool search_engine_is_google = AppListModelProvider::Get()->search_model()->search_engine_is_google(); - const gfx::VectorIcon& google_icon = - is_search_box_active() ? kGoogleColorIcon : kGoogleBlackIcon; + const gfx::VectorIcon& google_icon = is_search_box_active() + ? vector_icons::kGoogleColorIcon + : kGoogleBlackIcon; const gfx::VectorIcon& icon = search_engine_is_google ? google_icon : kSearchEngineNotGoogleIcon; SetSearchIconImage( diff --git a/ash/app_list/views/search_box_view_unittest.cc b/ash/app_list/views/search_box_view_unittest.cc index b04f432f15500f..216c32429f0d85 100644 --- a/ash/app_list/views/search_box_view_unittest.cc +++ b/ash/app_list/views/search_box_view_unittest.cc @@ -34,6 +34,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/test/metrics/user_action_tester.h" #include "base/test/scoped_feature_list.h" +#include "components/vector_icons/vector_icons.h" #include "ui/base/ime/composition_text.h" #include "ui/base/l10n/l10n_util.h" #include "ui/compositor/layer.h" @@ -284,8 +285,9 @@ TEST_F(SearchBoxViewTest, SearchBoxInactiveSearchBoxGoogle) { TEST_F(SearchBoxViewTest, SearchBoxActiveSearchEngineGoogle) { SetSearchEngineIsGoogle(true); SetSearchBoxActive(true, ui::ET_MOUSE_PRESSED); - const gfx::ImageSkia expected_icon = gfx::CreateVectorIcon( - kGoogleColorIcon, kSearchBoxIconSize, kDefaultSearchboxColor); + const gfx::ImageSkia expected_icon = + gfx::CreateVectorIcon(vector_icons::kGoogleColorIcon, kSearchBoxIconSize, + kDefaultSearchboxColor); const gfx::ImageSkia actual_icon = view()->search_icon()->GetImage(); diff --git a/ash/public/cpp/app_list/vector_icons/BUILD.gn b/ash/public/cpp/app_list/vector_icons/BUILD.gn index 7128b26f74ec44..b285730769bb05 100644 --- a/ash/public/cpp/app_list/vector_icons/BUILD.gn +++ b/ash/public/cpp/app_list/vector_icons/BUILD.gn @@ -18,7 +18,6 @@ aggregate_vector_icons("app_list_vector_icons") { "bookmark.icon", "equal.icon", "google_black.icon", - "google_color.icon", "history.icon", "mic_black.icon", "omnibox_generic.icon", diff --git a/ash/resources/vector_icons/BUILD.gn b/ash/resources/vector_icons/BUILD.gn index 5290bc23986417..a5b1861150b59b 100644 --- a/ash/resources/vector_icons/BUILD.gn +++ b/ash/resources/vector_icons/BUILD.gn @@ -73,7 +73,6 @@ aggregate_vector_icons("ash_vector_icons") { "dictation_on.icon", "dictation_on_newui.icon", "do_not_disturb_disabled.icon", - "dogfood.icon", "eight_files.icon", "files_app.icon", "five_files.icon", @@ -408,7 +407,6 @@ aggregate_vector_icons("ash_vector_icons") { "unified_menu_rotation_lock_auto.icon", "unified_menu_rotation_lock_landscape.icon", "unified_menu_rotation_lock_portrait.icon", - "unified_menu_settings.icon", "unified_menu_volume_high.icon", "unified_menu_volume_low.icon", "unified_menu_volume_medium.icon", diff --git a/ash/system/tray/detailed_view_delegate.cc b/ash/system/tray/detailed_view_delegate.cc index ec6064729c1acf..a9d520a41b7506 100644 --- a/ash/system/tray/detailed_view_delegate.cc +++ b/ash/system/tray/detailed_view_delegate.cc @@ -190,9 +190,9 @@ views::Button* DetailedViewDelegate::CreateInfoButton( views::Button* DetailedViewDelegate::CreateSettingsButton( views::Button::PressedCallback callback, int setting_accessible_name_id) { - auto* button = - new IconButton(std::move(callback), IconButton::Type::kSmall, - &kUnifiedMenuSettingsIcon, setting_accessible_name_id); + auto* button = new IconButton(std::move(callback), IconButton::Type::kSmall, + &vector_icons::kSettingsOutlineIcon, + setting_accessible_name_id); if (!TrayPopupUtils::CanOpenWebUISettings()) button->SetEnabled(false); return button; diff --git a/ash/system/unified/top_shortcuts_view.cc b/ash/system/unified/top_shortcuts_view.cc index ada6d09a9d63d5..0d0fea765d6896 100644 --- a/ash/system/unified/top_shortcuts_view.cc +++ b/ash/system/unified/top_shortcuts_view.cc @@ -28,6 +28,7 @@ #include "base/cxx17_backports.h" #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" +#include "components/vector_icons/vector_icons.h" #include "ui/gfx/paint_vector_icon.h" #include "ui/views/border.h" #include "ui/views/controls/button/button.h" @@ -224,7 +225,7 @@ TopShortcutsView::TopShortcutsView(UnifiedSystemTrayController* controller) { settings_button_ = new IconButton( base::BindRepeating(&UnifiedSystemTrayController::HandleSettingsAction, base::Unretained(controller)), - IconButton::Type::kSmall, &kUnifiedMenuSettingsIcon, + IconButton::Type::kSmall, &vector_icons::kSettingsOutlineIcon, IDS_ASH_STATUS_TRAY_SETTINGS); container_->AddChildView(settings_button_); local_state_pref_change_registrar_.Init(Shell::Get()->local_state()); diff --git a/chrome/browser/ui/ash/quick_answers/ui/quick_answers_view.cc b/chrome/browser/ui/ash/quick_answers/ui/quick_answers_view.cc index b23abcefb5008e..6a25b74bd36119 100644 --- a/chrome/browser/ui/ash/quick_answers/ui/quick_answers_view.cc +++ b/chrome/browser/ui/ash/quick_answers/ui/quick_answers_view.cc @@ -4,15 +4,13 @@ #include "chrome/browser/ui/ash/quick_answers/ui/quick_answers_view.h" -#include "ash/public/cpp/app_list/vector_icons/vector_icons.h" -#include "ash/resources/vector_icons/vector_icons.h" #include "base/bind.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/ui/ash/quick_answers/quick_answers_ui_controller.h" #include "chrome/browser/ui/ash/quick_answers/ui/quick_answers_pre_target_handler.h" #include "chromeos/components/quick_answers/quick_answers_model.h" #include "chromeos/strings/grit/chromeos_strings.h" -#include "chromeos/ui/vector_icons/vector_icons.h" +#include "components/vector_icons/vector_icons.h" #include "ui/aura/window.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/metadata/metadata_header_macros.h" @@ -201,7 +199,7 @@ class ReportQueryView : public views::Button { dogfood_icon->SetBorder( views::CreateEmptyBorder(gfx::Insets(kDogfoodIconBorderDip))); dogfood_icon->SetImage(gfx::CreateVectorIcon( - kDogfoodIcon, kDogfoodIconSizeDip, gfx::kGoogleBlue600)); + vector_icons::kDogfoodIcon, kDogfoodIconSizeDip, gfx::kGoogleBlue600)); auto* description_label = AddChildView(std::make_unique