Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Unified Diff: telemetry/telemetry/internal/actions/repeatable_scroll.py

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: telemetry/telemetry/internal/actions/repeatable_scroll.py
diff --git a/telemetry/telemetry/internal/actions/repeatable_scroll.py b/telemetry/telemetry/internal/actions/repeatable_scroll.py
index 79ba4c4f212576ba7c8a8f603915c30d93c3cec0..9ed09e061ec1e72de2f703b7c63f19be7b408c8e 100644
--- a/telemetry/telemetry/internal/actions/repeatable_scroll.py
+++ b/telemetry/telemetry/internal/actions/repeatable_scroll.py
@@ -2,14 +2,18 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import numbers
+
from telemetry.internal.actions import page_action
+from telemetry.internal.actions import utils
from telemetry.web_perf import timeline_interaction_record
class RepeatableScrollAction(page_action.PageAction):
def __init__(self, x_scroll_distance_ratio=0.0, y_scroll_distance_ratio=0.5,
- repeat_count=0, repeat_delay_ms=250, timeout=60):
+ repeat_count=0, repeat_delay_ms=250, timeout=60,
+ prevent_fling=None, speed=None):
super(RepeatableScrollAction, self).__init__()
self._x_scroll_distance_ratio = x_scroll_distance_ratio
self._y_scroll_distance_ratio = y_scroll_distance_ratio
@@ -17,13 +21,17 @@ class RepeatableScrollAction(page_action.PageAction):
self._repeat_delay_ms = repeat_delay_ms
self._windowsize = []
self._timeout = timeout
+ self._prevent_fling = prevent_fling
+ self._speed = speed
def WillRunAction(self, tab):
+ utils.InjectJavaScript(tab, 'gesture_common.js')
# Get the dimensions of the screen.
- window_info_js = 'window.innerWidth + "," + window.innerHeight'
- js_result = tab.EvaluateJavaScript(window_info_js).split(',')
-
- self._windowsize = [int(js_result[0]), int(js_result[1])]
+ self._windowsize = tab.EvaluateJavaScript(
+ '[__GestureCommon_GetWindowWidth(),'
+ ' __GestureCommon_GetWindowHeight()]')
+ assert len(self._windowsize) == 2
+ assert all(isinstance(d, numbers.Number) for d in self._windowsize)
def RunAction(self, tab):
# Set up a browser driven repeating scroll. The delay between the scrolls
@@ -33,6 +41,8 @@ class RepeatableScrollAction(page_action.PageAction):
y=int(self._windowsize[1] / 2),
xDistance=int(self._x_scroll_distance_ratio * self._windowsize[0]),
yDistance=int(-self._y_scroll_distance_ratio * self._windowsize[1]),
+ preventFling=self._prevent_fling,
+ speed=self._speed,
repeatCount=self._repeat_count,
repeatDelayMs=self._repeat_delay_ms,
interactionMarkerName=timeline_interaction_record.GetJavaScriptMarker(
« no previous file with comments | « telemetry/telemetry/internal/actions/play.py ('k') | telemetry/telemetry/internal/actions/repeatable_scroll_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698