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

Unified Diff: tools/telemetry/telemetry/internal/browser/web_contents.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: Responding to feedback 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/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)

Powered by Google App Engine
This is Rietveld 408576698