1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 from telemetry
.internal
.actions
import page_action
5 from telemetry
.page
import page
as page_module
6 from telemetry
import story
9 class ToughFastScrollingCasesPage(page_module
.Page
):
11 def __init__(self
, url
, name
, speed_in_pixels_per_second
, page_set
,
12 synthetic_gesture_source
):
13 super(ToughFastScrollingCasesPage
, self
).__init
__(
17 self
.speed_in_pixels_per_second
= speed_in_pixels_per_second
18 self
.synthetic_gesture_source
= synthetic_gesture_source
20 def RunPageInteractions(self
, action_runner
):
21 with action_runner
.CreateGestureInteraction('ScrollAction'):
22 action_runner
.ScrollPage(
24 speed_in_pixels_per_second
=self
.speed_in_pixels_per_second
,
25 synthetic_gesture_source
=self
.synthetic_gesture_source
)
27 class ToughScrollingCasesPageSet(story
.StorySet
):
30 Description: A collection of difficult scrolling tests
34 super(ToughScrollingCasesPageSet
, self
).__init
__()
36 fast_scrolling_page_name_list
= [
39 'text_constant_full_page_raster',
43 fast_scrolling_speed_list
= [
44 5000, 10000, 15000, 20000, 30000, 40000, 50000, 60000, 75000, 90000
47 for name
in fast_scrolling_page_name_list
:
48 for speed
in fast_scrolling_speed_list
:
49 synthetic_gesture_source
= page_action
.GESTURE_SOURCE_DEFAULT
51 synthetic_gesture_source
= page_action
.GESTURE_SOURCE_MOUSE
52 self
.AddStory(ToughFastScrollingCasesPage(
53 'file://tough_scrolling_cases/' + name
+ '.html',
54 name
+ '_' + str(speed
).zfill(5) + '_pixels_per_second',
57 synthetic_gesture_source
))