Index: tools/telemetry/telemetry/internal/actions/scroll.py |
diff --git a/tools/telemetry/telemetry/internal/actions/scroll.py b/tools/telemetry/telemetry/internal/actions/scroll.py |
index 4d5cb10e360522428c35c31939ce82162ae025a3..25410980e6c548653aefdff9a8dc1206da546b6d 100644 |
--- a/tools/telemetry/telemetry/internal/actions/scroll.py |
+++ b/tools/telemetry/telemetry/internal/actions/scroll.py |
@@ -14,7 +14,9 @@ class ScrollAction(page_action.PageAction): |
distance=None, distance_expr=None, |
speed_in_pixels_per_second=800, use_touch=False): |
super(ScrollAction, self).__init__() |
- if direction not in ['down', 'up', 'left', 'right']: |
+ if direction not in ('down', 'up', 'left', 'right', |
cblume
2015/04/06 21:58:44
I also made this location a tuple.
|
+ 'downleft', 'downright', |
+ 'upleft', 'upright'): |
raise page_action.PageActionNotSupported( |
'Invalid scroll direction: %s' % self.direction) |
self._selector = selector |
@@ -35,6 +37,14 @@ class ScrollAction(page_action.PageAction): |
distance_expr) |
def WillRunAction(self, tab): |
+ if self._direction in ('downleft', 'downright', 'upleft', 'upright'): |
+ # Diagonal scrolling support was added in Chrome branch number 2332. |
+ branch_num = ( |
+ tab.browser._browser_backend.devtools_client.GetChromeBranchNumber()) |
+ if branch_num < 2332: |
+ raise ValueError('Diagonal scrolling requires Chrome branch number' |
+ ' 2332 or later. Found branch number %d' % |
+ branch_num) |
for js_file in ['gesture_common.js', 'scroll.js']: |
with open(os.path.join(os.path.dirname(__file__), js_file)) as f: |
js = f.read() |