| Index: ui/events/latency_info.cc
|
| diff --git a/ui/events/latency_info.cc b/ui/events/latency_info.cc
|
| index 272704b8121b20e461c0b826e16184578c3b60e5..961d1308baa4acd59308500cb55ce3a316c976f5 100644
|
| --- a/ui/events/latency_info.cc
|
| +++ b/ui/events/latency_info.cc
|
| @@ -20,38 +20,6 @@ namespace {
|
|
|
| const size_t kMaxLatencyInfoNumber = 100;
|
|
|
| -const char* GetComponentName(ui::LatencyComponentType type) {
|
| -#define CASE_TYPE(t) case ui::t: return #t
|
| - switch (type) {
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT);
|
| - CASE_TYPE(LATENCY_BEGIN_SCROLL_LISTENER_UPDATE_MAIN_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_UI_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_FORWARD_SCROLL_UPDATE_TO_MAIN_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_ACK_RWH_COMPONENT);
|
| - CASE_TYPE(WINDOW_SNAPSHOT_FRAME_NUMBER_COMPONENT);
|
| - CASE_TYPE(TAB_SHOW_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_RENDERER_MAIN_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_BROWSER_RECEIVED_RENDERER_SWAP_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_GENERATE_SCROLL_UPDATE_FROM_MOUSE_WHEEL);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_NO_SWAP_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_COMMIT_FAILED_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_COMMIT_NO_UPDATE_COMPONENT);
|
| - CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_SWAP_FAILED_COMPONENT);
|
| - default:
|
| - DLOG(WARNING) << "Unhandled LatencyComponentType.\n";
|
| - break;
|
| - }
|
| -#undef CASE_TYPE
|
| - return "unknown";
|
| -}
|
|
|
| bool IsTerminalComponent(ui::LatencyComponentType type) {
|
| switch (type) {
|
| @@ -130,6 +98,39 @@ static base::LazyInstance<LatencyInfoEnabledInitializer>::Leaky
|
|
|
| namespace ui {
|
|
|
| +const char* GetComponentName(ui::LatencyComponentType type) {
|
| +#define CASE_TYPE(t) case ui::t: return #t
|
| + switch (type) {
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT);
|
| + CASE_TYPE(LATENCY_BEGIN_SCROLL_LISTENER_UPDATE_MAIN_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_UI_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_FORWARD_SCROLL_UPDATE_TO_MAIN_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_ACK_RWH_COMPONENT);
|
| + CASE_TYPE(WINDOW_SNAPSHOT_FRAME_NUMBER_COMPONENT);
|
| + CASE_TYPE(TAB_SHOW_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_RENDERER_MAIN_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_BROWSER_RECEIVED_RENDERER_SWAP_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_GENERATE_SCROLL_UPDATE_FROM_MOUSE_WHEEL);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_NO_SWAP_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_COMMIT_FAILED_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_COMMIT_NO_UPDATE_COMPONENT);
|
| + CASE_TYPE(INPUT_EVENT_LATENCY_TERMINATED_SWAP_FAILED_COMPONENT);
|
| + default:
|
| + DLOG(WARNING) << "Unhandled LatencyComponentType.\n";
|
| + break;
|
| + }
|
| +#undef CASE_TYPE
|
| + return "unknown";
|
| +}
|
| +
|
| LatencyInfo::LatencyInfo() : LatencyInfo(SourceEventType::UNKNOWN) {}
|
|
|
| LatencyInfo::LatencyInfo(SourceEventType type)
|
| @@ -355,6 +356,20 @@ bool LatencyInfo::FindLatency(LatencyComponentType type,
|
| return true;
|
| }
|
|
|
| +bool LatencyInfo::FindLatency(LatencyComponentType type,
|
| + LatencyComponent* output) const {
|
| + LatencyMap::const_iterator it = latency_components_.begin();
|
| + while (it != latency_components_.end()) {
|
| + if (it->first.first == type) {
|
| + if (output)
|
| + *output = it->second;
|
| + return true;
|
| + }
|
| + it++;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| void LatencyInfo::RemoveLatency(LatencyComponentType type) {
|
| LatencyMap::iterator it = latency_components_.begin();
|
| while (it != latency_components_.end()) {
|
|
|