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