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

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: Respond to isherman@ comments 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 fe72fef5c6642d4be279e5033da8da5ec3c86f11..4644404bdde8c3dd5203df84f2b92f99c8a541b8 100644
--- a/chrome/browser/media/router/media_router_mojo_impl.cc
+++ b/chrome/browser/media/router/media_router_mojo_impl.cc
@@ -80,6 +80,7 @@ MediaRouterMojoImpl::MediaRouterMojoImpl(
availability_(interfaces::MediaRouter::SinkAvailability::UNAVAILABLE),
wakeup_attempt_count_(0),
current_wake_reason_(MediaRouteProviderWakeReason::TOTAL_COUNT),
+ provider_version_recorded_(false),
weak_factory_(this) {
DCHECK(event_page_tracker_);
}
@@ -90,19 +91,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 +111,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_recorded_) {
+ MediaRouterMetrics::RecordMediaRouteProviderVersion(extension);
+ provider_version_recorded_ = true;
+ }
}
void MediaRouterMojoImpl::OnConnectionError() {
@@ -847,6 +852,8 @@ void MediaRouterMojoImpl::AttemptWakeEventPage() {
<< "page.";
DrainPendingRequests();
wakeup_attempt_count_ = 0;
+ MediaRouterMetrics::RecordMediaRouteProviderWakeup(
+ MediaRouteProviderWakeup::ERROR_TOO_MANY_RETRIES);
return;
}
@@ -881,6 +888,8 @@ void MediaRouterMojoImpl::EventPageWakeComplete(bool success) {
MediaRouterMetrics::RecordMediaRouteProviderWakeReason(
current_wake_reason_);
ClearWakeReason();
+ MediaRouterMetrics::RecordMediaRouteProviderWakeup(
+ MediaRouteProviderWakeup::SUCCESS);
return;
}
@@ -889,6 +898,8 @@ void MediaRouterMojoImpl::EventPageWakeComplete(bool success) {
<< "An error encountered while waking the event page.";
ClearWakeReason();
DrainPendingRequests();
+ MediaRouterMetrics::RecordMediaRouteProviderWakeup(
+ MediaRouteProviderWakeup::ERROR_UNKNOWN);
}
void MediaRouterMojoImpl::DrainPendingRequests() {

Powered by Google App Engine
This is Rietveld 408576698