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

Side by Side Diff: telemetry/telemetry/internal/actions/tap.js

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 'use strict'; 5 'use strict';
6 6
7 (function() { 7 (function() {
8 8
9 function TapGestureOptions(opt_options) { 9 function TapGestureOptions(opt_options) {
10 if (opt_options) { 10 if (opt_options) {
11 this.element_ = opt_options.element; 11 this.element_ = opt_options.element;
12 this.left_position_percentage_ = opt_options.left_position_percentage; 12 this.left_position_percentage_ = opt_options.left_position_percentage;
13 this.top_position_percentage_ = opt_options.top_position_percentage; 13 this.top_position_percentage_ = opt_options.top_position_percentage;
14 this.duration_ms_ = opt_options.duration_ms; 14 this.duration_ms_ = opt_options.duration_ms;
15 this.gesture_source_type_ = opt_options.gesture_source_type; 15 this.gesture_source_type_ = opt_options.gesture_source_type;
16 } else { 16 } else {
17 this.element_ = document.body; 17 this.element_ = document.body;
18 this.left_position_percentage_ = 0.5; 18 this.left_position_percentage_ = 0.5;
19 this.top_position_percentage_ = 0.5; 19 this.top_position_percentage_ = 0.5;
20 this.duration_ms_ = 50; 20 this.duration_ms_ = 50;
21 this.gesture_source_type_ = chrome.gpuBenchmarking.DEFAULT_INPUT; 21 this.gesture_source_type_ = chrome.gpuBenchmarking.DEFAULT_INPUT;
22 } 22 }
23 } 23 }
24 24
25 function supportedByBrowser() { 25 function supportedByBrowser() {
26 return !!(window.chrome && 26 return !!(window.chrome &&
27 chrome.gpuBenchmarking && 27 chrome.gpuBenchmarking &&
28 chrome.gpuBenchmarking.tap); 28 chrome.gpuBenchmarking.tap &&
29 chrome.gpuBenchmarking.visualViewportHeight &&
30 chrome.gpuBenchmarking.visualViewportWidth);
29 } 31 }
30 32
31 function TapAction(opt_callback) { 33 function TapAction(opt_callback) {
32 var self = this; 34 var self = this;
33 35
34 this.beginMeasuringHook = function() {}; 36 this.beginMeasuringHook = function() {};
35 this.endMeasuringHook = function() {}; 37 this.endMeasuringHook = function() {};
36 38
37 this.callback_ = opt_callback; 39 this.callback_ = opt_callback;
38 } 40 }
39 41
40 TapAction.prototype.start = function(opt_options) { 42 TapAction.prototype.start = function(opt_options) {
41 this.options_ = new TapGestureOptions(opt_options); 43 this.options_ = new TapGestureOptions(opt_options);
42 // Assign this.element_ here instead of constructor, because the constructor 44 // Assign this.element_ here instead of constructor, because the constructor
43 // ensures this method will be called after the document is loaded. 45 // ensures this method will be called after the document is loaded.
44 this.element_ = this.options_.element_; 46 this.element_ = this.options_.element_;
45 47
46 this.beginMeasuringHook(); 48 this.beginMeasuringHook();
47 49
48 var rect = __GestureCommon_GetBoundingVisibleRect(this.options_.element_); 50 var rect = __GestureCommon_GetBoundingVisibleRect(this.options_.element_);
49 var position_left = 51 var position_left =
50 rect.left + rect.width * this.options_.left_position_percentage_; 52 rect.left + rect.width * this.options_.left_position_percentage_;
51 var position_top = 53 var position_top =
52 rect.top + rect.height * this.options_.top_position_percentage_; 54 rect.top + rect.height * this.options_.top_position_percentage_;
53 if (position_left < 0 || position_left >= window.innerWidth || 55 if (position_left < 0 ||
54 position_top < 0 || position_top >= window.innerHeight) { 56 position_left >= __GestureCommon_GetWindowWidth() ||
57 position_top < 0 ||
58 position_top >= __GestureCommon_GetWindowHeight()) {
55 throw new Error('Tap position is off-screen'); 59 throw new Error('Tap position is off-screen');
56 } 60 }
57 chrome.gpuBenchmarking.tap(position_left, position_top, 61 chrome.gpuBenchmarking.tap(position_left, position_top,
58 this.onGestureComplete_.bind(this), 62 this.onGestureComplete_.bind(this),
59 this.options_.duration_ms_, 63 this.options_.duration_ms_,
60 this.options_.gesture_source_type_); 64 this.options_.gesture_source_type_);
61 }; 65 };
62 66
63 TapAction.prototype.onGestureComplete_ = function() { 67 TapAction.prototype.onGestureComplete_ = function() {
64 this.endMeasuringHook(); 68 this.endMeasuringHook();
65 69
66 // We're done. 70 // We're done.
67 if (this.callback_) 71 if (this.callback_)
68 this.callback_(); 72 this.callback_();
69 }; 73 };
70 74
71 window.__TapAction = TapAction; 75 window.__TapAction = TapAction;
72 window.__TapAction_SupportedByBrowser = supportedByBrowser; 76 window.__TapAction_SupportedByBrowser = supportedByBrowser;
73 })(); 77 })();
OLDNEW
« no previous file with comments | « telemetry/telemetry/internal/actions/swipe.py ('k') | telemetry/telemetry/internal/actions/tap.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698