Chromium Code Reviews| 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() |