Chromium Code Reviews| 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..db790f95ec8f7eb78d1b87c34612201d51acc788 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: Ddistance to scroll along the Y axis (positive to scroll up). |
|
Sami
2015/08/20 12:39:53
typo: distance
alex clarke (OOO till 29th)
2015/08/20 12:45:45
Done.
|
| + 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 |