| Index: tools/perf/metrics/rendering_stats_unittest.py
|
| diff --git a/tools/perf/metrics/rendering_stats_unittest.py b/tools/perf/metrics/rendering_stats_unittest.py
|
| index fd2dc402e9d174115a7ab2d71c0b1c2347ead5e7..11f82b5ad3f14721748e8ec05679bff47d557038 100644
|
| --- a/tools/perf/metrics/rendering_stats_unittest.py
|
| +++ b/tools/perf/metrics/rendering_stats_unittest.py
|
| @@ -61,8 +61,10 @@ class ReferenceInputLatencyStats(object):
|
| def __init__(self):
|
| self.mouse_wheel_scroll_latency = []
|
| self.touch_scroll_latency = []
|
| + self.js_touch_scroll_latency = []
|
| self.mouse_wheel_scroll_events = []
|
| self.touch_scroll_events = []
|
| + self.js_touch_scroll_events = []
|
|
|
| def AddMainThreadRenderingStats(mock_timer, thread, first_frame,
|
| ref_stats = None):
|
| @@ -186,12 +188,16 @@ def AddInputLatencyStats(mock_timer, input_type, start_thread, end_thread,
|
| ref_latency_stats.mouse_wheel_scroll_latency.append(
|
| (data[END_COMP_NAME]['time'] - data[BEGIN_COMP_NAME]['time']) / 1000.0)
|
|
|
| -
|
| if input_type == 'GestureScrollUpdate':
|
| ref_latency_stats.touch_scroll_events.append(async_sub_slice)
|
| ref_latency_stats.touch_scroll_latency.append(
|
| (data[END_COMP_NAME]['time'] - data[UI_COMP_NAME]['time']) / 1000.0)
|
|
|
| + if input_type == 'TouchMove':
|
| + ref_latency_stats.js_touch_scroll_events.append(async_sub_slice)
|
| + ref_latency_stats.js_touch_scroll_latency.append(
|
| + (data[END_COMP_NAME]['time'] - data[UI_COMP_NAME]['time']) / 1000.0)
|
| +
|
| class RenderingStatsUnitTest(unittest.TestCase):
|
| def testFromTimeline(self):
|
| timeline = model.TimelineModel()
|
| @@ -294,6 +300,8 @@ class RenderingStatsUnitTest(unittest.TestCase):
|
| renderer_main, ref_latency_stats)
|
| AddInputLatencyStats(timer, 'GestureScrollUpdate', browser_main,
|
| renderer_main, ref_latency_stats)
|
| + AddInputLatencyStats(timer, 'TouchMove', browser_main,
|
| + renderer_main, ref_latency_stats)
|
| renderer_main.EndSlice(timer.Get())
|
|
|
| # Create 5 input latency stats events not within any action.
|
| @@ -302,6 +310,8 @@ class RenderingStatsUnitTest(unittest.TestCase):
|
| renderer_main, None)
|
| AddInputLatencyStats(timer, 'GestureScrollUpdate', browser_main,
|
| renderer_main, None)
|
| + AddInputLatencyStats(timer, 'TouchMove', browser_main,
|
| + renderer_main, None)
|
|
|
| # Create 10 input latency stats events for Action B.
|
| timer.Advance()
|
| @@ -311,6 +321,8 @@ class RenderingStatsUnitTest(unittest.TestCase):
|
| renderer_main, ref_latency_stats)
|
| AddInputLatencyStats(timer, 'GestureScrollUpdate', browser_main,
|
| renderer_main, ref_latency_stats)
|
| + AddInputLatencyStats(timer, 'TouchMove', browser_main,
|
| + renderer_main, ref_latency_stats)
|
| renderer_main.EndSlice(timer.Get())
|
|
|
| # Create 10 input latency stats events for Action A.
|
| @@ -321,6 +333,8 @@ class RenderingStatsUnitTest(unittest.TestCase):
|
| renderer_main, ref_latency_stats)
|
| AddInputLatencyStats(timer, 'GestureScrollUpdate', browser_main,
|
| renderer_main, ref_latency_stats)
|
| + AddInputLatencyStats(timer, 'TouchMove', browser_main,
|
| + renderer_main, ref_latency_stats)
|
| renderer_main.EndSlice(timer.Get())
|
|
|
| browser_main.FinalizeImport()
|
| @@ -328,6 +342,7 @@ class RenderingStatsUnitTest(unittest.TestCase):
|
|
|
| mouse_wheel_scroll_events = []
|
| touch_scroll_events = []
|
| + js_touch_scroll_events = []
|
|
|
| timeline_markers = timeline.FindTimelineMarkers(
|
| ['ActionA', 'ActionB', 'ActionA'])
|
| @@ -335,16 +350,25 @@ class RenderingStatsUnitTest(unittest.TestCase):
|
| for marker in timeline_markers ]:
|
| if timeline_range.is_empty:
|
| continue
|
| - tmp_mouse_events, tmp_touch_events = GetScrollInputLatencyEvents(
|
| - browser, timeline_range)
|
| + tmp_mouse_events = GetScrollInputLatencyEvents(
|
| + 'MouseWheel', browser, timeline_range)
|
| + tmp_touch_scroll_events = GetScrollInputLatencyEvents(
|
| + 'GestureScrollUpdate', browser, timeline_range)
|
| + tmp_js_touch_scroll_events = GetScrollInputLatencyEvents(
|
| + 'TouchMove', browser, timeline_range)
|
| mouse_wheel_scroll_events.extend(tmp_mouse_events)
|
| - touch_scroll_events.extend(tmp_touch_events)
|
| + touch_scroll_events.extend(tmp_touch_scroll_events)
|
| + js_touch_scroll_events.extend(tmp_js_touch_scroll_events)
|
|
|
| self.assertEquals(mouse_wheel_scroll_events,
|
| ref_latency_stats.mouse_wheel_scroll_events)
|
| self.assertEquals(touch_scroll_events,
|
| ref_latency_stats.touch_scroll_events)
|
| + self.assertEquals(js_touch_scroll_events,
|
| + ref_latency_stats.js_touch_scroll_events)
|
| self.assertEquals(ComputeMouseWheelScrollLatency(mouse_wheel_scroll_events),
|
| ref_latency_stats.mouse_wheel_scroll_latency)
|
| self.assertEquals(ComputeTouchScrollLatency(touch_scroll_events),
|
| ref_latency_stats.touch_scroll_latency)
|
| + self.assertEquals(ComputeTouchScrollLatency(js_touch_scroll_events),
|
| + ref_latency_stats.js_touch_scroll_latency)
|
|
|