| 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
|
|
|