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

Side by Side Diff: components/test_runner/event_sender.cc

Issue 2296303002: Make a pen in eraser mode visible thru PointerEvent.buttons (Closed)
Patch Set: nzolghadr's comments. Created 4 years, 3 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
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "components/test_runner/event_sender.h" 5 #include "components/test_runner/event_sender.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 using blink::WebTouchEvent; 56 using blink::WebTouchEvent;
57 using blink::WebTouchPoint; 57 using blink::WebTouchPoint;
58 using blink::WebVector; 58 using blink::WebVector;
59 using blink::WebView; 59 using blink::WebView;
60 60
61 namespace test_runner { 61 namespace test_runner {
62 62
63 namespace { 63 namespace {
64 64
65 const int kRawMousePointerId = -1; 65 const int kRawMousePointerId = -1;
66 const char* kPointerTypeStringUnknown = ""; 66 const char* const kPointerTypeStringUnknown = "";
67 const char* kPointerTypeStringMouse = "mouse"; 67 const char* const kPointerTypeStringMouse = "mouse";
68 const char* kPointerTypeStringPen = "pen"; 68 const char* const kPointerTypeStringTouch = "touch";
69 const char* kPointerTypeStringTouch = "touch"; 69 const char* const kPointerTypeStringPen = "pen";
70 const char* const kPointerTypeStringEraser = "eraser";
70 71
71 // Assigns |pointerType| from the provided |args|. Returns false if there was 72 // Assigns |pointerType| from the provided |args|. Returns false if there was
72 // any error. 73 // any error.
73 bool getPointerType(gin::Arguments* args, 74 bool getPointerType(gin::Arguments* args,
74 bool isOnlyMouseAndPenAllowed, 75 bool isOnlyMouseAndPenAllowed,
75 WebPointerProperties::PointerType& pointerType) { 76 WebPointerProperties::PointerType& pointerType) {
76 if (args->PeekNext().IsEmpty()) 77 if (args->PeekNext().IsEmpty())
77 return true; 78 return true;
78 std::string pointer_type_string; 79 std::string pointer_type_string;
79 if (!args->GetNext(&pointer_type_string)) { 80 if (!args->GetNext(&pointer_type_string)) {
80 args->ThrowError(); 81 args->ThrowError();
81 return false; 82 return false;
82 } 83 }
83 if (isOnlyMouseAndPenAllowed && 84 if (isOnlyMouseAndPenAllowed &&
84 (pointer_type_string == kPointerTypeStringUnknown || 85 (pointer_type_string == kPointerTypeStringUnknown ||
85 pointer_type_string == kPointerTypeStringTouch)) { 86 pointer_type_string == kPointerTypeStringTouch)) {
86 args->ThrowError(); 87 args->ThrowError();
87 return false; 88 return false;
88 } 89 }
89 if (pointer_type_string == kPointerTypeStringUnknown) { 90 if (pointer_type_string == kPointerTypeStringUnknown) {
90 pointerType = WebMouseEvent::PointerType::Unknown; 91 pointerType = WebMouseEvent::PointerType::Unknown;
91 } else if (pointer_type_string == kPointerTypeStringMouse) { 92 } else if (pointer_type_string == kPointerTypeStringMouse) {
92 pointerType = WebMouseEvent::PointerType::Mouse; 93 pointerType = WebMouseEvent::PointerType::Mouse;
94 } else if (pointer_type_string == kPointerTypeStringTouch) {
95 pointerType = WebMouseEvent::PointerType::Touch;
93 } else if (pointer_type_string == kPointerTypeStringPen) { 96 } else if (pointer_type_string == kPointerTypeStringPen) {
94 pointerType = WebMouseEvent::PointerType::Pen; 97 pointerType = WebMouseEvent::PointerType::Pen;
95 } else if (pointer_type_string == kPointerTypeStringTouch) { 98 } else if (pointer_type_string == kPointerTypeStringEraser) {
96 pointerType = WebMouseEvent::PointerType::Touch; 99 pointerType = WebMouseEvent::PointerType::Eraser;
97 } else { 100 } else {
98 args->ThrowError(); 101 args->ThrowError();
99 return false; 102 return false;
100 } 103 }
101 return true; 104 return true;
102 } 105 }
103 106
104 // Parses |pointerType|, |rawPointerId|, |pressure|, |tiltX| and |tiltY| from 107 // Parses |pointerType|, |rawPointerId|, |pressure|, |tiltX| and |tiltY| from
105 // the provided |args|. Returns false if there was any error, assuming the last 108 // the provided |args|. Returns false if there was any error, assuming the last
106 // 3 of the five parsed parameters are optional. 109 // 3 of the five parsed parameters are optional.
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 int GetWebMouseEventModifierForButton(WebMouseEvent::Button button) { 171 int GetWebMouseEventModifierForButton(WebMouseEvent::Button button) {
169 switch (button) { 172 switch (button) {
170 case WebMouseEvent::Button::NoButton: 173 case WebMouseEvent::Button::NoButton:
171 return 0; 174 return 0;
172 case WebMouseEvent::Button::Left: 175 case WebMouseEvent::Button::Left:
173 return WebMouseEvent::LeftButtonDown; 176 return WebMouseEvent::LeftButtonDown;
174 case WebMouseEvent::Button::Middle: 177 case WebMouseEvent::Button::Middle:
175 return WebMouseEvent::MiddleButtonDown; 178 return WebMouseEvent::MiddleButtonDown;
176 case WebMouseEvent::Button::Right: 179 case WebMouseEvent::Button::Right:
177 return WebMouseEvent::RightButtonDown; 180 return WebMouseEvent::RightButtonDown;
181 case WebPointerProperties::Button::X1:
182 case WebPointerProperties::Button::X2:
183 case WebPointerProperties::Button::Eraser:
184 return 0; // Not implemented yet
178 } 185 }
179 NOTREACHED(); 186 NOTREACHED();
180 return 0; 187 return 0;
181 } 188 }
182 189
183 const int kButtonsInModifiers = WebMouseEvent::LeftButtonDown 190 const int kButtonsInModifiers = WebMouseEvent::LeftButtonDown
184 | WebMouseEvent::MiddleButtonDown | WebMouseEvent::RightButtonDown; 191 | WebMouseEvent::MiddleButtonDown | WebMouseEvent::RightButtonDown;
185 192
186 int modifiersWithButtons(int modifiers, int buttons) { 193 int modifiersWithButtons(int modifiers, int buttons) {
187 return (modifiers & ~kButtonsInModifiers) 194 return (modifiers & ~kButtonsInModifiers)
(...skipping 2683 matching lines...) Expand 10 before | Expand all | Expand 10 after
2871 } 2878 }
2872 2879
2873 std::unique_ptr<WebInputEvent> EventSender::ScaleEvent( 2880 std::unique_ptr<WebInputEvent> EventSender::ScaleEvent(
2874 const WebInputEvent& event) { 2881 const WebInputEvent& event) {
2875 // ui::ScaleWebInputEvent returns nullptr when the scale is 1.0f as the event 2882 // ui::ScaleWebInputEvent returns nullptr when the scale is 1.0f as the event
2876 // does not have to be converted. 2883 // does not have to be converted.
2877 return ui::ScaleWebInputEvent(event, delegate()->GetWindowToViewportScale()); 2884 return ui::ScaleWebInputEvent(event, delegate()->GetWindowToViewportScale());
2878 } 2885 }
2879 2886
2880 } // namespace test_runner 2887 } // namespace test_runner
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698