Commit 56c0550e authored by Salvador Guerrero's avatar Salvador Guerrero Committed by Commit Bot

Fixed compile error in application state listener without base tracing

This CL fixes an invalid reference when ENABLE_BASE_TRACING is disabled.

It is done by moving all references to tracing clases inside the trace
event macro, which is compiled out when base tracing is disabled.

Change-Id: I3cde469873163ac457fc9d1057b02f6da17b6632
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2535610
Commit-Queue: Salvador Guerrero <salg@google.com>
Commit-Queue: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: default avatarTommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#826994}
parent 16e6602a
......@@ -85,37 +85,52 @@ std::unique_ptr<ApplicationStatusListener> ApplicationStatusListener::New(
// static
void ApplicationStatusListener::NotifyApplicationStateChange(
ApplicationState state) {
using perfetto::protos::pbzero::ChromeApplicationStateInfo;
ChromeApplicationStateInfo::ChromeApplicationState tracing_state;
TRACE_EVENT("browser", "ApplicationState", [&](perfetto::EventContext ctx) {
using perfetto::protos::pbzero::ChromeApplicationStateInfo;
ChromeApplicationStateInfo* app_state_info =
ctx.event()->set_chrome_application_state_info();
switch (state) {
case APPLICATION_STATE_UNKNOWN:
app_state_info->set_application_state(
ChromeApplicationStateInfo::APPLICATION_STATE_UNKNOWN);
break;
case APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES:
app_state_info->set_application_state(
ChromeApplicationStateInfo::
APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES);
break;
case APPLICATION_STATE_HAS_RUNNING_ACTIVITIES:
app_state_info->set_application_state(
ChromeApplicationStateInfo::
APPLICATION_STATE_HAS_RUNNING_ACTIVITIES);
break;
case APPLICATION_STATE_HAS_PAUSED_ACTIVITIES:
app_state_info->set_application_state(
ChromeApplicationStateInfo::
APPLICATION_STATE_HAS_PAUSED_ACTIVITIES);
break;
case APPLICATION_STATE_HAS_STOPPED_ACTIVITIES:
app_state_info->set_application_state(
ChromeApplicationStateInfo::
APPLICATION_STATE_HAS_STOPPED_ACTIVITIES);
break;
}
});
switch (state) {
case APPLICATION_STATE_UNKNOWN:
tracing_state = ChromeApplicationStateInfo::APPLICATION_STATE_UNKNOWN;
break;
case APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES:
tracing_state = ChromeApplicationStateInfo::
APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES;
break;
case APPLICATION_STATE_HAS_RUNNING_ACTIVITIES:
tracing_state =
ChromeApplicationStateInfo::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES;
RecordAction(UserMetricsAction("Android.LifeCycle.HasRunningActivities"));
break;
case APPLICATION_STATE_HAS_PAUSED_ACTIVITIES:
tracing_state =
ChromeApplicationStateInfo::APPLICATION_STATE_HAS_PAUSED_ACTIVITIES;
RecordAction(UserMetricsAction("Android.LifeCycle.HasPausedActivities"));
break;
case APPLICATION_STATE_HAS_STOPPED_ACTIVITIES:
tracing_state =
ChromeApplicationStateInfo::APPLICATION_STATE_HAS_STOPPED_ACTIVITIES;
RecordAction(UserMetricsAction("Android.LifeCycle.HasStoppedActivities"));
break;
}
TRACE_EVENT("browser", "ApplicationState", [&](perfetto::EventContext ctx) {
ChromeApplicationStateInfo* app_state_info =
ctx.event()->set_chrome_application_state_info();
app_state_info->set_application_state(tracing_state);
});
g_observers.Get().Notify(FROM_HERE, &ApplicationStatusListenerImpl::Notify,
state);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment