Changeset 246494 in webkit
- Timestamp:
- Jun 17, 2019 1:52:29 AM (5 years ago)
- Location:
- trunk/Source
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r246491 r246494 1 2019-06-17 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 Unreviewed, rolling out r246467. 4 5 It broke scrolling with mouse wheel 6 7 Reverted changeset: 8 9 "[GTK] Stop accessing GdkEvent fields when possible" 10 https://bugs.webkit.org/show_bug.cgi?id=198829 11 https://trac.webkit.org/changeset/246467 12 1 13 2019-06-16 Darin Adler <darin@apple.com> 2 14 -
trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp
r246467 r246494 1325 1325 static PlatformEvent::Type eventTypeForGdkKeyEvent(GdkEventKey* event) 1326 1326 { 1327 #if GTK_CHECK_VERSION(3, 10, 0)1328 return gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event)) == GDK_KEY_RELEASE ? PlatformEvent::KeyUp : PlatformEvent::KeyDown;1329 #else1330 1327 return event->type == GDK_KEY_RELEASE ? PlatformEvent::KeyUp : PlatformEvent::KeyDown; 1331 #endif1332 1328 } 1333 1329 1334 1330 static OptionSet<PlatformEvent::Modifier> modifiersForGdkKeyEvent(GdkEventKey* event) 1335 1331 { 1336 GdkModifierType state;1337 guint keyval;1338 1332 OptionSet<PlatformEvent::Modifier> modifiers; 1339 gdk_event_get_state(reinterpret_cast<GdkEvent*>(event), &state); 1340 #ifndef GTK_API_VERSION_2 1341 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval); 1342 #else 1343 keyval = event->keyval; 1344 #endif 1345 if (state & GDK_SHIFT_MASK || keyval == GDK_KEY_3270_BackTab) 1333 if (event->state & GDK_SHIFT_MASK || event->keyval == GDK_KEY_3270_BackTab) 1346 1334 modifiers.add(PlatformEvent::Modifier::ShiftKey); 1347 if ( state & GDK_CONTROL_MASK)1335 if (event->state & GDK_CONTROL_MASK) 1348 1336 modifiers.add(PlatformEvent::Modifier::ControlKey); 1349 if ( state & GDK_MOD1_MASK)1337 if (event->state & GDK_MOD1_MASK) 1350 1338 modifiers.add(PlatformEvent::Modifier::AltKey); 1351 if ( state & GDK_META_MASK)1339 if (event->state & GDK_META_MASK) 1352 1340 modifiers.add(PlatformEvent::Modifier::MetaKey); 1353 if ( state & GDK_LOCK_MASK)1341 if (event->state & GDK_LOCK_MASK) 1354 1342 modifiers.add(PlatformEvent::Modifier::CapsLockKey); 1355 1343 return modifiers; … … 1359 1347 PlatformKeyboardEvent::PlatformKeyboardEvent(GdkEventKey* event, const CompositionResults& compositionResults) 1360 1348 : PlatformEvent(eventTypeForGdkKeyEvent(event), modifiersForGdkKeyEvent(event), wallTimeForEvent(event)) 1349 , m_text(compositionResults.simpleString.length() ? compositionResults.simpleString : singleCharacterString(event->keyval)) 1350 , m_unmodifiedText(m_text) 1351 , m_key(keyValueForGdkKeyCode(event->keyval)) 1352 , m_code(keyCodeForHardwareKeyCode(event->hardware_keycode)) 1353 , m_keyIdentifier(keyIdentifierForGdkKeyCode(event->keyval)) 1354 , m_windowsVirtualKeyCode(windowsKeyCodeForGdkKeyCode(event->keyval)) 1361 1355 , m_handledByInputMethod(false) 1362 1356 , m_autoRepeat(false) 1357 , m_isKeypad(event->keyval >= GDK_KEY_KP_Space && event->keyval <= GDK_KEY_KP_9) 1363 1358 , m_isSystemKey(false) 1364 1359 , m_gdkEventKey(event) 1365 1360 , m_compositionResults(compositionResults) 1366 1361 { 1367 guint keyval;1368 guint16 keycode;1369 #ifndef GTK_API_VERSION_21370 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);1371 gdk_event_get_keycode(reinterpret_cast<GdkEvent*>(event), &keycode);1372 #else1373 keyval = event->keyval;1374 keycode = event->hardware_keycode;1375 #endif1376 1377 m_text = compositionResults.simpleString.length() ? compositionResults.simpleString : singleCharacterString(keyval);1378 m_unmodifiedText = m_text;1379 m_key = keyValueForGdkKeyCode(keyval);1380 m_code = keyCodeForHardwareKeyCode(keycode);1381 m_keyIdentifier = keyIdentifierForGdkKeyCode(keyval);1382 m_windowsVirtualKeyCode = windowsKeyCodeForGdkKeyCode(keyval);1383 m_isKeypad = keyval >= GDK_KEY_KP_Space && keyval <= GDK_KEY_KP_9;1384 1385 1362 // To match the behavior of IE, we return VK_PROCESSKEY for keys that triggered composition results. 1386 1363 if (compositionResults.compositionUpdated()) -
trunk/Source/WebCore/platform/gtk/PlatformMouseEventGtk.cpp
r246467 r246494 40 40 PlatformMouseEvent::PlatformMouseEvent(GdkEventButton* event) 41 41 { 42 gdouble x, y, rootX, rootY;43 GdkModifierType state;44 guint button;45 46 gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y);47 gdk_event_get_root_coords(reinterpret_cast<GdkEvent*>(event), &rootX, &rootY);48 gdk_event_get_state(reinterpret_cast<GdkEvent*>(event), &state);49 #ifndef GTK_API_VERSION_250 gdk_event_get_button(reinterpret_cast<GdkEvent*>(event), &button);51 #else52 button = event->button;53 #endif54 55 42 m_timestamp = wallTimeForEvent(event); 56 m_position = IntPoint( static_cast<int>(x), static_cast<int>(y));57 m_globalPosition = IntPoint( static_cast<int>(rootX), static_cast<int>(rootY));43 m_position = IntPoint((int)event->x, (int)event->y); 44 m_globalPosition = IntPoint((int)event->x_root, (int)event->y_root); 58 45 m_button = NoButton; 59 46 m_clickCount = 0; 60 47 m_modifierFlags = 0; 61 48 62 if ( state & GDK_SHIFT_MASK)49 if (event->state & GDK_SHIFT_MASK) 63 50 m_modifiers.add(PlatformEvent::Modifier::ShiftKey); 64 if ( state & GDK_CONTROL_MASK)51 if (event->state & GDK_CONTROL_MASK) 65 52 m_modifiers.add(PlatformEvent::Modifier::ControlKey); 66 if ( state & GDK_MOD1_MASK)53 if (event->state & GDK_MOD1_MASK) 67 54 m_modifiers.add(PlatformEvent::Modifier::AltKey); 68 if ( state & GDK_META_MASK)55 if (event->state & GDK_META_MASK) 69 56 m_modifiers.add(PlatformEvent::Modifier::MetaKey); 70 if (PlatformKeyboardEvent::modifiersContainCapsLock( state))57 if (PlatformKeyboardEvent::modifiersContainCapsLock(event->state)) 71 58 m_modifiers.add(PlatformEvent::Modifier::CapsLockKey); 72 59 73 #if GTK_CHECK_VERSION(3, 10, 0) 74 GdkEventType type = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event)); 75 #else 76 GdkEventType type = event->type; 77 #endif 78 79 switch (type) { 60 switch (event->type) { 80 61 case GDK_BUTTON_PRESS: 81 62 case GDK_2BUTTON_PRESS: … … 83 64 case GDK_BUTTON_RELEASE: 84 65 m_type = PlatformEvent::MousePressed; 85 if ( type == GDK_BUTTON_RELEASE) {66 if (event->type == GDK_BUTTON_RELEASE) { 86 67 m_type = PlatformEvent::MouseReleased; 87 68 m_clickCount = 0; 88 } else if ( type == GDK_BUTTON_PRESS)69 } else if (event->type == GDK_BUTTON_PRESS) 89 70 m_clickCount = 1; 90 else if ( type == GDK_2BUTTON_PRESS)71 else if (event->type == GDK_2BUTTON_PRESS) 91 72 m_clickCount = 2; 92 else if ( type == GDK_3BUTTON_PRESS)73 else if (event->type == GDK_3BUTTON_PRESS) 93 74 m_clickCount = 3; 94 75 95 if ( button == 1)76 if (event->button == 1) 96 77 m_button = LeftButton; 97 else if ( button == 2)78 else if (event->button == 2) 98 79 m_button = MiddleButton; 99 else if ( button == 3)80 else if (event->button == 3) 100 81 m_button = RightButton; 101 82 break; … … 108 89 PlatformMouseEvent::PlatformMouseEvent(GdkEventMotion* motion) 109 90 { 110 gdouble x, y, rootX, rootY;111 GdkModifierType state;112 gdk_event_get_coords(reinterpret_cast<GdkEvent*>(motion), &x, &y);113 gdk_event_get_root_coords(reinterpret_cast<GdkEvent*>(motion), &rootX, &rootY);114 gdk_event_get_state(reinterpret_cast<GdkEvent*>(motion), &state);115 m_position = IntPoint(static_cast<int>(x), static_cast<int>(y));116 m_globalPosition = IntPoint(static_cast<int>(rootX), static_cast<int>(rootY));117 91 m_timestamp = wallTimeForEvent(motion); 92 m_position = IntPoint((int)motion->x, (int)motion->y); 93 m_globalPosition = IntPoint((int)motion->x_root, (int)motion->y_root); 118 94 m_button = NoButton; 119 95 m_clickCount = 0; 120 96 m_modifierFlags = 0; 121 97 122 if ( state & GDK_SHIFT_MASK)98 if (motion->state & GDK_SHIFT_MASK) 123 99 m_modifiers.add(PlatformEvent::Modifier::ShiftKey); 124 if ( state & GDK_CONTROL_MASK)100 if (motion->state & GDK_CONTROL_MASK) 125 101 m_modifiers.add(PlatformEvent::Modifier::ControlKey); 126 if ( state & GDK_MOD1_MASK)102 if (motion->state & GDK_MOD1_MASK) 127 103 m_modifiers.add(PlatformEvent::Modifier::AltKey); 128 if ( state & GDK_META_MASK)104 if (motion->state & GDK_META_MASK) 129 105 m_modifiers.add(PlatformEvent::Modifier::MetaKey); 130 if (PlatformKeyboardEvent::modifiersContainCapsLock( state))106 if (PlatformKeyboardEvent::modifiersContainCapsLock(motion->state)) 131 107 m_modifiers.add(PlatformEvent::Modifier::CapsLockKey); 132 108 133 #if GTK_CHECK_VERSION(3, 10, 0) 134 GdkEventType type = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(motion)); 135 #else 136 GdkEventType type = motion->type; 137 #endif 138 139 switch (type) { 109 switch (motion->type) { 140 110 case GDK_MOTION_NOTIFY: 141 111 m_type = PlatformEvent::MouseMoved; … … 147 117 }; 148 118 149 if ( state & GDK_BUTTON1_MASK)119 if (motion->state & GDK_BUTTON1_MASK) 150 120 m_button = LeftButton; 151 else if ( state & GDK_BUTTON2_MASK)121 else if (motion->state & GDK_BUTTON2_MASK) 152 122 m_button = MiddleButton; 153 else if ( state & GDK_BUTTON3_MASK)123 else if (motion->state & GDK_BUTTON3_MASK) 154 124 m_button = RightButton; 155 125 } -
trunk/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp
r246467 r246494 43 43 { 44 44 static const float delta = 1; 45 GdkModifierType state;46 45 47 46 m_type = PlatformEvent::Wheel; 48 47 m_timestamp = wallTimeForEvent(event); 49 gdk_event_get_state(reinterpret_cast<GdkEvent*>(event), &state);50 48 51 if ( state & GDK_SHIFT_MASK)49 if (event->state & GDK_SHIFT_MASK) 52 50 m_modifiers.add(Modifier::ShiftKey); 53 if ( state & GDK_CONTROL_MASK)51 if (event->state & GDK_CONTROL_MASK) 54 52 m_modifiers.add(Modifier::ControlKey); 55 if ( state & GDK_MOD1_MASK)53 if (event->state & GDK_MOD1_MASK) 56 54 m_modifiers.add(Modifier::AltKey); 57 if ( state & GDK_META_MASK)55 if (event->state & GDK_META_MASK) 58 56 m_modifiers.add(Modifier::MetaKey); 59 if (PlatformKeyboardEvent::modifiersContainCapsLock( state))57 if (PlatformKeyboardEvent::modifiersContainCapsLock(event->state)) 60 58 m_modifiers.add(PlatformEvent::Modifier::CapsLockKey); 61 59 62 60 m_deltaX = 0; 63 61 m_deltaY = 0; 64 GdkScrollDirection direction;65 #ifndef GTK_API_VERSION_266 gdk_event_get_scroll_direction(reinterpret_cast<GdkEvent*>(event), &direction);67 #else68 direction = event->direction;69 #endif70 62 71 63 // Docs say an upwards scroll (away from the user) has a positive delta 72 switch ( direction) {64 switch (event->direction) { 73 65 case GDK_SCROLL_UP: 74 66 m_deltaY = delta; … … 99 91 #ifndef GTK_API_VERSION_2 100 92 #if GTK_CHECK_VERSION(3, 20, 0) 101 m_phase = gdk_event_is_scroll_stop_event(reinterpret_cast<GdkEvent*>(event))?93 m_phase = event->is_stop ? 102 94 PlatformWheelEventPhaseEnded : 103 95 PlatformWheelEventPhaseChanged; 104 96 #else 105 m_phase = direction == GDK_SCROLL_SMOOTH && !m_deltaX && !m_deltaY ?97 m_phase = event->direction == GDK_SCROLL_SMOOTH && !m_deltaX && !m_deltaY ? 106 98 PlatformWheelEventPhaseEnded : 107 99 PlatformWheelEventPhaseChanged; … … 112 104 #endif // ENABLE(ASYNC_SCROLLING) 113 105 114 gdouble x, y, rootX, rootY; 115 gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y); 116 gdk_event_get_root_coords(reinterpret_cast<GdkEvent*>(event), &rootX, &rootY); 117 118 m_position = IntPoint(static_cast<int>(x), static_cast<int>(y)); 119 m_globalPosition = IntPoint(static_cast<int>(rootX), static_cast<int>(rootY)); 106 m_position = IntPoint(static_cast<int>(event->x), static_cast<int>(event->y)); 107 m_globalPosition = IntPoint(static_cast<int>(event->x_root), static_cast<int>(event->y_root)); 120 108 m_granularity = ScrollByPixelWheelEvent; 121 109 m_directionInvertedFromDevice = false; -
trunk/Source/WebKit/ChangeLog
r246490 r246494 1 2019-06-17 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 Unreviewed, rolling out r246467. 4 5 It broke scrolling with mouse wheel 6 7 Reverted changeset: 8 9 "[GTK] Stop accessing GdkEvent fields when possible" 10 https://bugs.webkit.org/show_bug.cgi?id=198829 11 https://trac.webkit.org/changeset/246467 12 1 13 2019-06-16 Darin Adler <darin@apple.com> 2 14 -
trunk/Source/WebKit/Shared/gtk/WebEventFactory.cpp
r246467 r246494 74 74 { 75 75 unsigned button = 0; 76 #if GTK_CHECK_VERSION(3, 10, 0) 77 GdkEventType type = gdk_event_get_event_type(event); 78 #else 79 GdkEventType type = event->type; 80 #endif 81 switch (type) { 76 77 switch (event->type) { 82 78 case GDK_ENTER_NOTIFY: 83 79 case GDK_LEAVE_NOTIFY: … … 98 94 case GDK_3BUTTON_PRESS: 99 95 case GDK_BUTTON_RELEASE: 100 guint eventButton; 101 #ifndef GTK_API_VERSION_2 102 gdk_event_get_button(event, &eventButton); 103 #else 104 eventButton = event->button; 105 #endif 106 if (eventButton == 1) 96 if (event->button.button == 1) 107 97 button = WebMouseEvent::LeftButton; 108 else if (event Button == 2)98 else if (event->button.button == 2) 109 99 button = WebMouseEvent::MiddleButton; 110 else if (event Button == 3)100 else if (event->button.button == 3) 111 101 button = WebMouseEvent::RightButton; 112 102 break; … … 152 142 gdk_event_get_state(event, &state); 153 143 154 guint eventButton;155 #ifndef GTK_API_VERSION_2156 gdk_event_get_button(event, &eventButton);157 #else158 eventButton = event->button;159 #endif160 161 144 WebEvent::Type type = static_cast<WebEvent::Type>(0); 162 163 #if GTK_CHECK_VERSION(3, 10, 0) 164 GdkEventType eventType = gdk_event_get_event_type(event); 165 #else 166 GdkEventType eventType = event->type; 167 #endif 168 switch (eventType) { 145 switch (event->type) { 169 146 case GDK_MOTION_NOTIFY: 170 147 case GDK_ENTER_NOTIFY: … … 176 153 case GDK_3BUTTON_PRESS: { 177 154 type = WebEvent::MouseDown; 178 auto modifier = stateModifierForGdkButton(event Button);155 auto modifier = stateModifierForGdkButton(event->button.button); 179 156 state = static_cast<GdkModifierType>(state | modifier); 180 157 break; … … 182 159 case GDK_BUTTON_RELEASE: { 183 160 type = WebEvent::MouseUp; 184 auto modifier = stateModifierForGdkButton(event Button);161 auto modifier = stateModifierForGdkButton(event->button.button); 185 162 state = static_cast<GdkModifierType>(state & ~modifier); 186 163 break; … … 227 204 { 228 205 double x, y, xRoot, yRoot; 229 GdkScrollDirection direction;230 206 gdk_event_get_coords(event, &x, &y); 231 207 gdk_event_get_root_coords(event, &xRoot, &yRoot); 232 #ifndef GTK_API_VERSION_2233 gdk_event_get_scroll_direction(event, &direction);234 #else235 direction = event->direction;236 #endif237 208 238 209 FloatSize wheelTicks; 239 switch ( direction) {210 switch (event->scroll.direction) { 240 211 case GDK_SCROLL_UP: 241 212 wheelTicks = FloatSize(0, 1); … … 281 252 WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(const GdkEvent* event, const WebCore::CompositionResults& compositionResults, Vector<String>&& commands) 282 253 { 283 guint keyval;284 guint16 keycode;285 #ifndef GTK_API_VERSION_2286 gdk_event_get_keyval(event, &keyval);287 gdk_event_get_keycode(event, &keycode);288 #else289 keyval = event->keyval;290 keycode = event->hardware_keycode;291 #endif292 #if GTK_CHECK_VERSION(3, 10, 0)293 GdkEventType type = gdk_event_get_event_type(event);294 #else295 GdkEventType type = event->type;296 #endif297 298 254 return WebKeyboardEvent( 299 type == GDK_KEY_RELEASE ? WebEvent::KeyUp : WebEvent::KeyDown,300 compositionResults.simpleString.length() ? compositionResults.simpleString : PlatformKeyboardEvent::singleCharacterString( keyval),301 PlatformKeyboardEvent::keyValueForGdkKeyCode( keyval),302 PlatformKeyboardEvent::keyCodeForHardwareKeyCode( keycode),303 PlatformKeyboardEvent::keyIdentifierForGdkKeyCode( keyval),304 PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode( keyval),305 static_cast<int>( keyval),255 event->type == GDK_KEY_RELEASE ? WebEvent::KeyUp : WebEvent::KeyDown, 256 compositionResults.simpleString.length() ? compositionResults.simpleString : PlatformKeyboardEvent::singleCharacterString(event->key.keyval), 257 PlatformKeyboardEvent::keyValueForGdkKeyCode(event->key.keyval), 258 PlatformKeyboardEvent::keyCodeForHardwareKeyCode(event->key.hardware_keycode), 259 PlatformKeyboardEvent::keyIdentifierForGdkKeyCode(event->key.keyval), 260 PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode(event->key.keyval), 261 static_cast<int>(event->key.keyval), 306 262 compositionResults.compositionUpdated(), 307 263 WTFMove(commands), 308 isGdkKeyCodeFromKeyPad( keyval),264 isGdkKeyCodeFromKeyPad(event->key.keyval), 309 265 modifiersForEvent(event), 310 266 wallTimeForEvent(event)); … … 316 272 #ifndef GTK_API_VERSION_2 317 273 WebEvent::Type type = WebEvent::NoType; 318 #if GTK_CHECK_VERSION(3, 10, 0) 319 GdkEventType eventType = gdk_event_get_event_type(event); 320 #else 321 GdkEventType eventType = event->type; 322 #endif 323 switch (eventType) { 274 switch (event->type) { 324 275 case GDK_TOUCH_BEGIN: 325 276 type = WebEvent::TouchStart; -
trunk/Source/WebKit/UIProcess/API/gtk/WebKitEmojiChooser.cpp
r246467 r246494 93 93 static void emojiHovered(GtkWidget* widget, GdkEvent* event) 94 94 { 95 if ( gdk_event_get_event_type(event)== GDK_ENTER_NOTIFY)95 if (event->type == GDK_ENTER_NOTIFY) 96 96 gtk_widget_set_state_flags(widget, GTK_STATE_FLAG_PRELIGHT, FALSE); 97 97 else -
trunk/Source/WebKit/UIProcess/API/gtk/WebKitScriptDialogImpl.cpp
r246467 r246494 47 47 static gboolean webkitScriptDialogImplKeyPressEvent(GtkWidget* widget, GdkEventKey* keyEvent) 48 48 { 49 guint keyval; 50 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(keyEvent), &keyval); 51 if (keyval == GDK_KEY_Escape) { 49 if (keyEvent->keyval == GDK_KEY_Escape) { 52 50 webkitScriptDialogImplClose(WEBKIT_SCRIPT_DIALOG_IMPL(widget)); 53 51 return GDK_EVENT_STOP; -
trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
r246467 r246494 119 119 } 120 120 121 GdkEventType type; 122 guint button; 123 double x, y; 124 gdk_event_get_coords(event, &x, &y); 125 gdk_event_get_button(event, &button); 126 #if GTK_CHECK_VERSION(3, 10, 0) 127 type = gdk_event_get_event_type(event); 128 #else 129 type = event->type; 130 #endif 131 if ((type == GDK_2BUTTON_PRESS || type == GDK_3BUTTON_PRESS) 132 || ((std::abs(x - previousClickPoint.x()) < doubleClickDistance) 133 && (std::abs(y - previousClickPoint.y()) < doubleClickDistance) 121 if ((event->type == GDK_2BUTTON_PRESS || event->type == GDK_3BUTTON_PRESS) 122 || ((std::abs(event->button.x - previousClickPoint.x()) < doubleClickDistance) 123 && (std::abs(event->button.y - previousClickPoint.y()) < doubleClickDistance) 134 124 && (eventTime - previousClickTime < static_cast<unsigned>(doubleClickTime)) 135 && ( button == previousClickButton)))125 && (event->button.button == previousClickButton))) 136 126 currentClickCount++; 137 127 else 138 128 currentClickCount = 1; 139 129 130 double x, y; 131 gdk_event_get_coords(event, &x, &y); 140 132 previousClickPoint = IntPoint(x, y); 141 previousClickButton = button;133 previousClickButton = event->button.button; 142 134 previousClickTime = eventTime; 143 135 … … 748 740 WebKitWebViewBasePrivate* priv = webViewBase->priv; 749 741 750 GdkModifierType state;751 guint keyval;752 gdk_event_get_state(reinterpret_cast<GdkEvent*>(keyEvent), &state);753 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(keyEvent), &keyval);754 755 742 #if ENABLE(DEVELOPER_MODE) && OS(LINUX) 756 if (( state & GDK_CONTROL_MASK) && (state & GDK_SHIFT_MASK) &&keyval == GDK_KEY_G) {743 if ((keyEvent->state & GDK_CONTROL_MASK) && (keyEvent->state & GDK_SHIFT_MASK) && keyEvent->keyval == GDK_KEY_G) { 757 744 auto& preferences = priv->pageProxy->preferences(); 758 745 preferences.setResourceUsageOverlayVisible(!preferences.resourceUsageOverlayVisible()); … … 767 754 #if ENABLE(FULLSCREEN_API) 768 755 if (priv->fullScreenModeActive) { 769 switch (key val) {756 switch (keyEvent->keyval) { 770 757 case GDK_KEY_Escape: 771 758 case GDK_KEY_f: … … 823 810 824 811 int clickCount = 0; 825 #if GTK_CHECK_VERSION(3, 10, 0) 826 GdkEventType eventType = gdk_event_get_event_type(event); 827 #else 828 GdkEventType eventType = event->type; 829 #endif 830 switch (eventType) { 812 813 switch (event->type) { 831 814 case GDK_BUTTON_PRESS: 832 815 case GDK_2BUTTON_PRESS: … … 843 826 priv->inputMethodFilter.notifyMouseButtonPress(); 844 827 845 guint button;846 gdk_event_get_button(event, &button);847 828 // If it's a right click event save it as a possible context menu event. 848 if ( button == GDK_BUTTON_SECONDARY)829 if (event->button.button == GDK_BUTTON_SECONDARY) 849 830 priv->contextMenuEvent.reset(gdk_event_copy(event)); 850 831 … … 995 976 GtkAllocation allocation; 996 977 gtk_widget_get_allocation(widget, &allocation); 997 double xEvent, yEvent;998 gdk_event_get_coords(reinterpret_cast<GdkEvent*>(crossingEvent), &xEvent, &yEvent);999 978 double width = allocation.width; 1000 979 double height = allocation.height; 1001 double x = xEvent;1002 double y = yEvent;980 double x = crossingEvent->x; 981 double y = crossingEvent->y; 1003 982 if (x < 0 && x > -1) 1004 983 x = -1; … … 1012 991 GdkEvent* event = reinterpret_cast<GdkEvent*>(crossingEvent); 1013 992 GUniquePtr<GdkEvent> copiedEvent; 1014 if (x != xEvent || y != yEvent) {993 if (x != crossingEvent->x || y != crossingEvent->y) { 1015 994 copiedEvent.reset(gdk_event_copy(event)); 1016 995 copiedEvent->crossing.x = x; … … 1058 1037 { 1059 1038 WebKitWebViewBasePrivate* priv = webViewBase->priv; 1060 #if GTK_CHECK_VERSION(3, 10, 0) 1061 GdkEventType type = gdk_event_get_event_type(event); 1062 #else 1063 GdkEventType type = event->type; 1064 #endif 1065 bool touchEnd = (type == GDK_TOUCH_END) || (type == GDK_TOUCH_CANCEL); 1039 bool touchEnd = (event->type == GDK_TOUCH_END) || (event->type == GDK_TOUCH_CANCEL); 1066 1040 touchPoints.reserveInitialCapacity(touchEnd ? priv->touchEvents.size() + 1 : priv->touchEvents.size()); 1067 1041 … … 1085 1059 uint32_t sequence = GPOINTER_TO_UINT(gdk_event_get_event_sequence(touchEvent)); 1086 1060 1087 #if GTK_CHECK_VERSION(3, 10, 0) 1088 GdkEventType type = gdk_event_get_event_type(touchEvent); 1089 #else 1090 GdkEventType type = touchEvent->type 1091 #endif 1092 switch (type) { 1061 switch (touchEvent->type) { 1093 1062 case GDK_TOUCH_BEGIN: { 1094 1063 ASSERT(!priv->touchEvents.contains(sequence)); … … 1209 1178 void swipe(GdkEventTouch* event, const FloatPoint& velocity) final 1210 1179 { 1211 double x, y; 1212 gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y); 1213 GUniquePtr<GdkEvent> scrollEvent = createScrollEvent(event, FloatPoint::narrowPrecision(x, y), velocity, true); 1180 GUniquePtr<GdkEvent> scrollEvent = createScrollEvent(event, FloatPoint::narrowPrecision(event->x, event->y), velocity, true); 1214 1181 webkitWebViewBaseHandleWheelEvent(m_webView, scrollEvent.get(), WebWheelEvent::Phase::PhaseNone, WebWheelEvent::Phase::PhaseBegan); 1215 1182 } … … 1312 1279 { 1313 1280 #if HAVE(GTK_GESTURES) 1314 #if GTK_CHECK_VERSION(3, 10, 0)1315 if (gdk_event_get_event_type(event) == GDK_TOUCHPAD_PINCH)1316 #else1317 1281 if (event->type == GDK_TOUCHPAD_PINCH) 1318 #endif // GTK_CHECK_VERSION(3, 10, 0)1319 1282 webkitWebViewBaseGestureController(WEBKIT_WEB_VIEW_BASE(widget)).handleEvent(event); 1320 #endif // HAVE(GTK_GESTURES)1283 #endif 1321 1284 1322 1285 return GDK_EVENT_PROPAGATE; -
trunk/Source/WebKit/UIProcess/gtk/GestureController.cpp
r246467 r246494 54 54 m_zoomGesture.handleEvent(event); 55 55 m_longpressGesture.handleEvent(event); 56 #if GTK_CHECK_VERSION(3, 10, 0)57 touchEnd = (gdk_event_get_event_type(event) == GDK_TOUCH_END) || (gdk_event_get_event_type(event) == GDK_TOUCH_CANCEL);58 #else59 56 touchEnd = (event->type == GDK_TOUCH_END) || (event->type == GDK_TOUCH_CANCEL); 60 #endif61 57 return touchEnd ? wasProcessingGestures : isProcessingGestures(); 62 58 } -
trunk/Source/WebKit/UIProcess/gtk/InputMethodFilter.cpp
r246467 r246494 199 199 bool justSentFakeKeyUp = m_justSentFakeKeyUp; 200 200 m_justSentFakeKeyUp = false; 201 guint keyval; 202 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval); 203 #if GTK_CHECK_VERSION(3, 10, 0) 204 GdkEventType type = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event)); 205 #else 206 GdkEventType type = event->type; 207 #endif 208 if (justSentFakeKeyUp && type == GDK_KEY_RELEASE) 201 if (justSentFakeKeyUp && event->type == GDK_KEY_RELEASE) 209 202 return; 210 203 … … 218 211 } 219 212 220 if (filtered && type == GDK_KEY_PRESS) {213 if (filtered && event->type == GDK_KEY_PRESS) { 221 214 if (!m_preeditChanged && m_confirmedComposition.isNull()) { 222 215 m_composingTextCurrently = true; 223 m_lastFilteredKeyPressCodeWithNoResults = keyval;216 m_lastFilteredKeyPressCodeWithNoResults = event->keyval; 224 217 return; 225 218 } … … 235 228 // If we previously filtered a key press event and it yielded no results. Suppress 236 229 // the corresponding key release event to avoid confusing the web content. 237 if ( type == GDK_KEY_RELEASE && lastFilteredKeyPressCodeWithNoResults ==keyval)230 if (event->type == GDK_KEY_RELEASE && lastFilteredKeyPressCodeWithNoResults == event->keyval) 238 231 return; 239 232 … … 451 444 void InputMethodFilter::logHandleKeyboardEventForTesting(GdkEventKey* event, const String& eventString, EventFakedForComposition faked) 452 445 { 453 guint keyval;454 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);455 #if GTK_CHECK_VERSION(3, 10, 0)456 const char* eventType = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event)) == GDK_KEY_RELEASE ? "release" : "press";457 #else458 446 const char* eventType = event->type == GDK_KEY_RELEASE ? "release" : "press"; 459 #endif460 447 const char* fakedString = faked == EventFaked ? " (faked)" : ""; 461 448 if (!eventString.isNull()) 462 m_events.append(makeString("sendSimpleKeyEvent type=", eventType, " keycode=", hex( keyval), " text='", eventString, '\'', fakedString));449 m_events.append(makeString("sendSimpleKeyEvent type=", eventType, " keycode=", hex(event->keyval), " text='", eventString, '\'', fakedString)); 463 450 else 464 m_events.append(makeString("sendSimpleKeyEvent type=", eventType, " keycode=", hex( keyval), fakedString));451 m_events.append(makeString("sendSimpleKeyEvent type=", eventType, " keycode=", hex(event->keyval), fakedString)); 465 452 } 466 453 467 454 void InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting(GdkEventKey* event, ResultsToSend resultsToSend, EventFakedForComposition faked) 468 455 { 469 guint keyval;470 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);471 #if GTK_CHECK_VERSION(3, 10, 0)472 const char* eventType = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event)) == GDK_KEY_RELEASE ? "release" : "press";473 #else474 456 const char* eventType = event->type == GDK_KEY_RELEASE ? "release" : "press"; 475 #endif476 457 const char* fakedString = faked == EventFaked ? " (faked)" : ""; 477 m_events.append(makeString("sendKeyEventWithCompositionResults type=", eventType, " keycode=", hex( keyval), fakedString));458 m_events.append(makeString("sendKeyEventWithCompositionResults type=", eventType, " keycode=", hex(event->keyval), fakedString)); 478 459 479 460 if (resultsToSend & Composition && !m_confirmedComposition.isNull()) -
trunk/Source/WebKit/UIProcess/gtk/KeyBindingTranslator.cpp
r246467 r246494 206 206 ASSERT(m_pendingEditorCommands.isEmpty()); 207 207 208 guint keyval;209 GdkModifierType state;210 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);211 gdk_event_get_state(reinterpret_cast<GdkEvent*>(event), &state);212 213 208 gtk_bindings_activate_event(G_OBJECT(m_nativeWidget.get()), event); 214 209 if (!m_pendingEditorCommands.isEmpty()) … … 216 211 217 212 // Special-case enter keys for we want them to work regardless of modifier. 218 if (( keyval == GDK_KEY_Return || keyval == GDK_KEY_KP_Enter ||keyval == GDK_KEY_ISO_Enter))213 if ((event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter || event->keyval == GDK_KEY_ISO_Enter)) 219 214 return { "InsertNewLine" }; 220 215 221 216 // For keypress events, we want charCode(), but keyCode() does that. 222 unsigned mapKey = state << 16 |keyval;217 unsigned mapKey = event->state << 16 | event->keyval; 223 218 if (!mapKey) 224 219 return { }; -
trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp
r246467 r246494 56 56 { 57 57 #if GTK_CHECK_VERSION(3, 20, 0) 58 return gdk_event_is_scroll_stop_event(reinterpret_cast<GdkEvent*>(event));58 return event->is_stop; 59 59 #else 60 60 return !event->delta_x && !event->delta_y; … … 84 84 GdkDevice* device = gdk_event_get_source_device(reinterpret_cast<GdkEvent*>(event)); 85 85 GdkInputSource source = gdk_device_get_source(device); 86 GdkScrollDirection direction;87 gdk_event_get_scroll_direction(reinterpret_cast<GdkEvent*>(event), &direction);88 86 89 87 // FIXME: Should it maybe be allowed on mice/trackpoints as well? The GDK_SCROLL_SMOOTH 90 88 // requirement already filters out most mice, and it works pretty well on a trackpoint 91 return direction == GDK_SCROLL_SMOOTH && (source == GDK_SOURCE_TOUCHPAD || source == GDK_SOURCE_TOUCHSCREEN);89 return event->direction == GDK_SCROLL_SMOOTH && (source == GDK_SOURCE_TOUCHPAD || source == GDK_SOURCE_TOUCHSCREEN); 92 90 } 93 91 … … 103 101 { 104 102 double multiplier = isTouchEvent(event) ? Scrollbar::pixelsPerLineStep() : gtkScrollDeltaMultiplier; 105 double xDelta, yDelta;106 gdk_event_get_scroll_deltas(reinterpret_cast<GdkEvent*>(event), &xDelta, &yDelta);107 103 108 104 // GdkEventScroll deltas are inverted compared to NSEvent, so invert them again 109 return -FloatSize( xDelta, yDelta) * multiplier;105 return -FloatSize(event->delta_x, event->delta_y) * multiplier; 110 106 } 111 107 … … 188 184 } 189 185 190 uint32_t eventTime = gdk_event_get_time(reinterpret_cast<GdkEvent*>(event)); 191 double eventDeltaX; 192 gdk_event_get_scroll_deltas(reinterpret_cast<GdkEvent*>(event), &eventDeltaX, nullptr); 193 194 double deltaX = -eventDeltaX; 186 double deltaX = -event->delta_x; 195 187 if (isTouchEvent(event)) 196 188 deltaX *= (double) Scrollbar::pixelsPerLineStep() / m_webPageProxy.viewSize().width(); … … 198 190 deltaX *= gtkScrollDeltaMultiplier / swipeTouchpadBaseWidth; 199 191 200 Seconds time = Seconds::fromMilliseconds(event Time);192 Seconds time = Seconds::fromMilliseconds(event->time); 201 193 if (time != m_prevTime) 202 194 m_velocity = deltaX / (time - m_prevTime).milliseconds(); -
trunk/Source/WebKit/UIProcess/gtk/WebPopupMenuProxyGtk.cpp
r246467 r246494 96 96 gboolean WebPopupMenuProxyGtk::treeViewButtonReleaseEventCallback(GtkWidget* treeView, GdkEventButton* event, WebPopupMenuProxyGtk* popupMenu) 97 97 { 98 guint button; 99 gdk_event_get_button(reinterpret_cast<GdkEvent*>(event), &button); 100 if (button != GDK_BUTTON_PRIMARY) 98 if (event->button != GDK_BUTTON_PRIMARY) 101 99 return FALSE; 102 100 103 double x, y;104 gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y);105 101 GUniqueOutPtr<GtkTreePath> path; 106 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeView), x,y, &path.outPtr(), nullptr, nullptr, nullptr))102 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeView), event->x, event->y, &path.outPtr(), nullptr, nullptr, nullptr)) 107 103 return FALSE; 108 104 … … 124 120 return FALSE; 125 121 126 guint keyval; 127 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval); 128 if (keyval == GDK_KEY_Escape) { 122 if (event->keyval == GDK_KEY_Escape) { 129 123 popupMenu->hidePopupMenu(); 130 124 return TRUE; … … 377 371 Optional<unsigned> WebPopupMenuProxyGtk::typeAheadFindIndex(GdkEventKey* event) 378 372 { 379 guint keyval; 380 gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval); 381 gunichar keychar = gdk_keyval_to_unicode(keyval); 373 gunichar keychar = gdk_keyval_to_unicode(event->keyval); 382 374 if (!g_unichar_isprint(keychar)) 383 375 return WTF::nullopt; 384 376 385 uint32_t time = gdk_event_get_time(reinterpret_cast<GdkEvent*>(event)); 386 if (time < m_previousKeyEventTime) 377 if (event->time < m_previousKeyEventTime) 387 378 return WTF::nullopt; 388 379 389 380 static const uint32_t typeaheadTimeoutMs = 1000; 390 if ( time - m_previousKeyEventTime > typeaheadTimeoutMs) {381 if (event->time - m_previousKeyEventTime > typeaheadTimeoutMs) { 391 382 if (m_currentSearchString) 392 383 g_string_truncate(m_currentSearchString, 0); 393 384 } 394 m_previousKeyEventTime = time;385 m_previousKeyEventTime = event->time; 395 386 396 387 if (!m_currentSearchString)
Note: See TracChangeset
for help on using the changeset viewer.