| Index: tools/telemetry/telemetry/internal/browser/web_contents.py
|
| diff --git a/tools/telemetry/telemetry/internal/browser/web_contents.py b/tools/telemetry/telemetry/internal/browser/web_contents.py
|
| index a9731c802909314b63938a818cafb369ce83ada3..55a4ed2cb6c40789628445f7fe4c78b63e7a36e5 100644
|
| --- a/tools/telemetry/telemetry/internal/browser/web_contents.py
|
| +++ b/tools/telemetry/telemetry/internal/browser/web_contents.py
|
| @@ -296,3 +296,55 @@ class WebContents(object):
|
| self.ExecuteJavaScript('window.chrome && chrome.benchmarking &&'
|
| 'chrome.benchmarking.closeConnections()')
|
|
|
| + 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):
|
| + """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).
|
| + 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
|
| +
|
| + self._inspector_backend.SynthesizeScrollGesture(params)
|
|
|