1f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved.
2f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
3f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)# found in the LICENSE file.
4f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)from telemetry.page import page as page_module
5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)from telemetry.page import page_set as page_set_module
6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class ToughPepperCasesPage(page_module.Page):
8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
9f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  def __init__(self, url, page_set):
10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    super(ToughPepperCasesPage, self).__init__(url=url, page_set=page_set)
11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  def RunSmoothness(self, action_runner):
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    interaction = action_runner.BeginGestureInteraction(
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch        'ScrollAction', is_smooth=True)
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    action_runner.ScrollPage()
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    interaction.End()
17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class Page1(ToughPepperCasesPage):
20f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  """ Why: Simple pepper plugin for touch drawing """
22f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  def __init__(self, page_set):
24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    super(Page1, self).__init__(
25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)        url='file://tough_pepper_cases/simple_pepper_plugin.html',
26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)        page_set=page_set)
27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  def RunSmoothness(self, action_runner):
29f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    # Wait until the page and the plugin module are loaded.
30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    action_runner.WaitForJavaScriptCondition(
31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)        'pageLoaded === true && moduleLoaded === true')
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    interaction = action_runner.BeginGestureInteraction(
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch        'ScrollAction', is_smooth=True)
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    action_runner.ScrollPage(
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch        use_touch=True,
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch        direction='up',
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch        top_start_ratio=0.3,
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch        left_start_ratio=0.3,
39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch        speed_in_pixels_per_second=200,
40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch        distance=500)
41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    interaction.End()
42f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
43f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class ToughPepperCasesPageSet(page_set_module.PageSet):
44f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
45f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  """ Pepper latency test cases """
46f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
47f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  def __init__(self):
48f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    super(ToughPepperCasesPageSet, self).__init__()
49f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
50f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    self.AddPage(Page1(self))
51