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

Unified Diff: tools/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py

Issue 1291513004: smoothness.scrolling_tough_ad_cases to use browser driven scrolls (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Final nits Created 5 years, 4 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: tools/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py
diff --git a/tools/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py b/tools/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py
index 3aa050a1f6f31bf9186167fe66fbde5f5e373fc5..e1e3e0a0b9e268a3c8bef62436cac7dadb3e17f2 100644
--- a/tools/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py
+++ b/tools/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py
@@ -223,6 +223,65 @@ class InspectorBackend(object):
"""
return self._runtime.EnableAllContexts()
+ @_HandleInspectorWebSocketExceptions
+ def SynthesizeScrollGesture(self, x=100, y=800, xDistance=0, yDistance=-500,
+ xOverscroll=None, yOverscroll=None,
+ preventFling=True, speed=None,
+ gestureSourceType=None, repeatCount=None,
+ repeatDelayMs=None, interactionMarkerName=None,
+ timeout=60):
+ """Runs an inspector command that causes a repeatable browser driven scroll.
+
+ Args:
+ x: X coordinate of the start of the gesture in CSS pixels.
+ y: Y coordinate of the start of the gesture in CSS pixels.
+ xDistance: Distance to scroll along the X axis (positive to scroll left).
+ yDistance: Distance to scroll along the Y axis (positive to scroll up).
+ xOverscroll: Number of additional pixels to scroll back along the X axis.
+ xOverscroll: Number of additional pixels to scroll back along the Y axis.
+ preventFling: Prevents a fling gesture.
+ speed: Swipe speed in pixels per second.
+ gestureSourceType: Which type of input events to be generated.
+ repeatCount: Number of additional repeats beyond the first scroll.
+ repeatDelayMs: Number of milliseconds delay between each repeat.
+ interactionMarkerName: The name of the interaction markers to generate.
+
+ Raises:
+ exceptions.TimeoutException
+ exceptions.DevtoolsTargetCrashException
+ """
+ params = {
+ 'x': x,
+ 'y': y,
+ 'xDistance': xDistance,
+ 'yDistance': yDistance,
+ 'preventFling': preventFling,
+ }
+
+ if xOverscroll is not None:
+ params['xOverscroll'] = xOverscroll
+
+ if yOverscroll is not None:
+ params['yOverscroll'] = yOverscroll
+
+ if speed is not None:
+ params['speed'] = speed
+
+ if repeatCount is not None:
+ params['repeatCount'] = repeatCount
+
+ if repeatDelayMs is not None:
+ params['repeatDelayMs'] = repeatDelayMs
+
+ if interactionMarkerName is not None:
+ params['interactionMarkerName'] = interactionMarkerName
+
+ scroll_command = {
+ 'method': 'Input.synthesizeScrollGesture',
+ 'params': params
+ }
+ return self._runtime.RunInspectorCommand(scroll_command, timeout)
+
# Timeline public methods.
@property

Powered by Google App Engine
This is Rietveld 408576698