Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js |
| diff --git a/third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js b/third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js |
| index 84b0ced56c62e28e9d07dec63f597ffdf7cc55c1..ceb244456f13022a490bfb8227f1973feefde25a 100644 |
| --- a/third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js |
| +++ b/third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js |
| @@ -20,9 +20,12 @@ function scrollPageIfNeeded(targetSelector, targetDocument) { |
| // Mouse inputs. |
| function mouseMoveToDocument() { |
| return new Promise(function(resolve, reject) { |
| - if (window.eventSender) { |
| - eventSender.mouseMoveTo(0, 0); |
| - resolve(); |
| + if (window.chrome && chrome.gpuBenchmarking) { |
| + chrome.gpuBenchmarking.pointerActionSequence( [ |
| + {"source": "mouse", |
| + "actions": [ |
| + { "name": "pointerMove", "x": 0, "y": 0 } |
| + ]}], resolve); |
| } else { |
| reject(); |
| } |
| @@ -40,64 +43,97 @@ function mouseMoveIntoTarget(targetSelector, targetFrame) { |
| frameTop = frameRect.top; |
| } |
| return new Promise(function(resolve, reject) { |
| - if (window.eventSender) { |
| + if (window.chrome && chrome.gpuBenchmarking) { |
| scrollPageIfNeeded(targetSelector, targetDocument); |
| var target = targetDocument.querySelector(targetSelector); |
| var targetRect = target.getBoundingClientRect(); |
| - eventSender.mouseMoveTo(frameLeft + targetRect.left + boundaryOffset, frameTop + targetRect.top + boundaryOffset); |
| - resolve(); |
| + var xPosition = frameLeft + targetRect.left + boundaryOffset; |
| + var yPosition = frameTop + targetRect.top + boundaryOffset; |
| + chrome.gpuBenchmarking.pointerActionSequence( [ |
| + {"source": "mouse", |
| + "actions": [ |
| + { "name": "pointerMove", "x": xPosition, "y": yPosition } |
| + ]}], resolve); |
| } else { |
| reject(); |
| } |
| }); |
| } |
| -function mouseButtonPress(button) { |
| +function mouseChordedButtonPress(targetSelector) { |
| return new Promise(function(resolve, reject) { |
| - if (window.eventSender) { |
| - eventSender.mouseDown(button); |
| - resolve(); |
| + if (window.chrome && chrome.gpuBenchmarking) { |
| + scrollPageIfNeeded(targetSelector, document); |
| + var target = document.querySelector(targetSelector); |
| + var targetRect = target.getBoundingClientRect(); |
| + var xPosition = targetRect.left + boundaryOffset; |
| + var yPosition = targetRect.top + boundaryOffset; |
| + chrome.gpuBenchmarking.pointerActionSequence( [ |
| + {"source": "mouse", |
| + "actions": [ |
| + { "name": "pointerDown", "x": xPosition, "y": yPosition, "button": 1}, |
| + { "name": "pointerDown", "x": xPosition, "y": yPosition, "button": 2}, |
| + { "name": "pointerUp", "button": 2}, |
| + { "name": "pointerUp", "button": 1} |
| + ]}], resolve); |
| } else { |
| reject(); |
| } |
| }); |
| } |
| -function mouseButtonRelease(button) { |
| +function mouseClickInTarget(targetSelector, targetFrame) { |
| + var targetDocument = document; |
| + var frameLeft = 0; |
| + var frameTop = 0; |
| + if (targetFrame !== undefined) { |
| + targetDocument = targetFrame.contentDocument; |
| + var frameRect = targetFrame.getBoundingClientRect(); |
| + frameLeft = frameRect.left; |
| + frameTop = frameRect.top; |
| + } |
| return new Promise(function(resolve, reject) { |
| - if (window.eventSender) { |
| - eventSender.mouseUp(button); |
| - resolve(); |
| - } else { |
| + if (window.chrome && chrome.gpuBenchmarking) { |
| + scrollPageIfNeeded(targetSelector, targetDocument); |
| + var target = targetDocument.querySelector(targetSelector); |
| + var targetRect = target.getBoundingClientRect(); |
| + var xPosition = frameLeft + targetRect.left + boundaryOffset; |
| + var yPosition = frameTop + targetRect.top + boundaryOffset; |
| + chrome.gpuBenchmarking.pointerActionSequence( [ |
| + {"source": "mouse", |
| + "actions": [ |
| + { "name": "pointerMove", "x": xPosition, "y": yPosition }, |
| + { "name": "pointerDown", "x": xPosition, "y": yPosition }, |
| + { "name": "pointerUp" } |
| + ]}], resolve); |
| + } else { |
| reject(); |
| } |
| }); |
| } |
| -function mouseClickInTarget(targetSelector, targetFrame) { |
| - return mouseMoveIntoTarget(targetSelector, targetFrame).then(function() { |
| - return new Promise(function(resolve, reject) { |
| - if (window.eventSender) { |
| - eventSender.mouseDown(0); |
| - eventSender.mouseUp(0); |
| - resolve(); |
| - } else { |
| - reject(); |
| - } |
| - }); |
| - }); |
| -} |
| - |
| function mouseDragInTargets(targetSelectorList) { |
| return new Promise(function(resolve, reject) { |
| - if (window.eventSender) { |
| - mouseMoveIntoTarget(targetSelectorList[0]).then(function() { |
| - eventSender.mouseDown(0); |
| - for (var i=1; i<targetSelectorList.length; i++) |
| - mouseMoveIntoTarget(targetSelectorList[i]); |
| - eventSender.mouseUp(0); |
| - resolve(); |
| - }); |
| + if (window.chrome && chrome.gpuBenchmarking) { |
| + scrollPageIfNeeded(targetSelectorList[0], document); |
| + var target = document.querySelector(targetSelectorList[0]); |
| + var targetRect = target.getBoundingClientRect(); |
| + var xPosition = targetRect.left + boundaryOffset; |
| + var yPosition = targetRect.top + boundaryOffset; |
| + var text = '[{"source": "mouse", "actions": [{ "name": "pointerDown", "x":'+ |
| + xPosition +', "y":'+yPosition+' },'; |
| + for (var i=1; i<targetSelectorList.length; i++) { |
| + scrollPageIfNeeded(targetSelectorList[i], document); |
| + target = document.querySelector(targetSelectorList[i]); |
| + targetRect = target.getBoundingClientRect(); |
| + xPosition = targetRect.left + boundaryOffset; |
| + yPosition = targetRect.top + boundaryOffset; |
| + text += '{ "name": "pointerMove", "x":'+ |
| + xPosition +', "y":'+yPosition+' },'; |
| + } |
| + text += '{ "name": "pointerUp" }]}]'; |
| + console.log(text); |
| + chrome.gpuBenchmarking.pointerActionSequence(JSON.parse(text), resolve); |
| } else { |
| reject(); |
| } |
| @@ -124,6 +160,22 @@ function mouseWheelScroll(direction) { |
| }); |
| } |
| +function touchActionMouseScroll(targetSelector) { |
|
Navid Zolghadr
2017/01/12 18:23:46
Does pointerevent_touch-action-mouse-manual pass u
lanwei
2017/01/13 17:29:30
Yes, the test is passed on all platforms, but I ad
|
| + return new Promise(function(resolve, reject) { |
| + if (window.eventSender) { |
| + scrollPageIfNeeded(targetSelector, document); |
| + var target = document.querySelector(targetSelector); |
| + var targetRect = target.getBoundingClientRect(); |
| + eventSender.mouseMoveTo(targetRect.left + boundaryOffset, targetRect.top + boundaryOffset); |
| + eventSender.continuousMouseScrollBy(-scrollOffset, 0); |
| + eventSender.continuousMouseScrollBy(0, -scrollOffset); |
| + resolve(); |
| + } else { |
| + reject(); |
| + } |
| + }); |
| +} |
| + |
| // Touch inputs. |
| function touchTapInTarget(targetSelector, targetFrame) { |
| var targetDocument = document; |