Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4002)

Unified Diff: chrome/browser/media/router/media_router_mojo_impl.cc

Issue 1765143002: [Media Router] Add UMA histograms tracking component extension version/wakeups (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move media_router_metrics_unittest to non_android Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/media_router_mojo_impl.cc
diff --git a/chrome/browser/media/router/media_router_mojo_impl.cc b/chrome/browser/media/router/media_router_mojo_impl.cc
index 37ea11c0aa224232c831d074e7c4d4942cdbf5db..54c50ee20c89b837ddffe385d4c6fe37d90b0fdd 100644
--- a/chrome/browser/media/router/media_router_mojo_impl.cc
+++ b/chrome/browser/media/router/media_router_mojo_impl.cc
@@ -78,7 +78,6 @@ MediaRouterMojoImpl::MediaRouterMojoImpl(
: event_page_tracker_(event_page_tracker),
instance_id_(base::GenerateGUID()),
availability_(interfaces::MediaRouter::SinkAvailability::UNAVAILABLE),
- wakeup_attempt_count_(0),
current_wake_reason_(MediaRouteProviderWakeReason::TOTAL_COUNT),
weak_factory_(this) {
DCHECK(event_page_tracker_);
@@ -90,19 +89,19 @@ MediaRouterMojoImpl::~MediaRouterMojoImpl() {
// static
void MediaRouterMojoImpl::BindToRequest(
- const std::string& extension_id,
+ const extensions::Extension* extension,
content::BrowserContext* context,
mojo::InterfaceRequest<interfaces::MediaRouter> request) {
MediaRouterMojoImpl* impl = static_cast<MediaRouterMojoImpl*>(
MediaRouterFactory::GetApiForBrowserContext(context));
DCHECK(impl);
- impl->BindToMojoRequest(std::move(request), extension_id);
+ impl->BindToMojoRequest(std::move(request), *extension);
}
void MediaRouterMojoImpl::BindToMojoRequest(
mojo::InterfaceRequest<interfaces::MediaRouter> request,
- const std::string& extension_id) {
+ const extensions::Extension& extension) {
DCHECK(thread_checker_.CalledOnValidThread());
binding_.reset(
@@ -110,7 +109,11 @@ void MediaRouterMojoImpl::BindToMojoRequest(
binding_->set_connection_error_handler(base::Bind(
&MediaRouterMojoImpl::OnConnectionError, base::Unretained(this)));
- media_route_provider_extension_id_ = extension_id;
+ media_route_provider_extension_id_ = extension.id();
+ if (!provider_version_was_recorded_) {
+ MediaRouterMetrics::RecordMediaRouteProviderVersion(extension);
+ provider_version_was_recorded_ = true;
+ }
}
void MediaRouterMojoImpl::OnConnectionError() {
@@ -859,6 +862,8 @@ void MediaRouterMojoImpl::AttemptWakeEventPage() {
<< "page.";
DrainPendingRequests();
wakeup_attempt_count_ = 0;
+ MediaRouterMetrics::RecordMediaRouteProviderWakeup(
+ MediaRouteProviderWakeup::ERROR_TOO_MANY_RETRIES);
return;
}
@@ -893,6 +898,8 @@ void MediaRouterMojoImpl::EventPageWakeComplete(bool success) {
MediaRouterMetrics::RecordMediaRouteProviderWakeReason(
current_wake_reason_);
ClearWakeReason();
+ MediaRouterMetrics::RecordMediaRouteProviderWakeup(
+ MediaRouteProviderWakeup::SUCCESS);
return;
}
@@ -901,6 +908,8 @@ void MediaRouterMojoImpl::EventPageWakeComplete(bool success) {
<< "An error encountered while waking the event page.";
ClearWakeReason();
DrainPendingRequests();
+ MediaRouterMetrics::RecordMediaRouteProviderWakeup(
+ MediaRouteProviderWakeup::ERROR_UNKNOWN);
}
void MediaRouterMojoImpl::DrainPendingRequests() {
« no previous file with comments | « chrome/browser/media/router/media_router_mojo_impl.h ('k') | chrome/browser/media/router/media_router_mojo_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698