Changeset 246494 in webkit


Ignore:
Timestamp:
Jun 17, 2019 1:52:29 AM (5 years ago)
Author:
Carlos Garcia Campos
Message:

Unreviewed, rolling out r246467.

It broke scrolling with mouse wheel

Reverted changeset:

"[GTK] Stop accessing GdkEvent fields when possible"
https://bugs.webkit.org/show_bug.cgi?id=198829
https://trac.webkit.org/changeset/246467

Location:
trunk/Source
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r246491 r246494  
     12019-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
    1132019-06-16  Darin Adler  <darin@apple.com>
    214
  • trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp

    r246467 r246494  
    13251325static PlatformEvent::Type eventTypeForGdkKeyEvent(GdkEventKey* event)
    13261326{
    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 #else
    13301327    return event->type == GDK_KEY_RELEASE ? PlatformEvent::KeyUp : PlatformEvent::KeyDown;
    1331 #endif
    13321328}
    13331329
    13341330static OptionSet<PlatformEvent::Modifier> modifiersForGdkKeyEvent(GdkEventKey* event)
    13351331{
    1336     GdkModifierType state;
    1337     guint keyval;
    13381332    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)
    13461334        modifiers.add(PlatformEvent::Modifier::ShiftKey);
    1347     if (state & GDK_CONTROL_MASK)
     1335    if (event->state & GDK_CONTROL_MASK)
    13481336        modifiers.add(PlatformEvent::Modifier::ControlKey);
    1349     if (state & GDK_MOD1_MASK)
     1337    if (event->state & GDK_MOD1_MASK)
    13501338        modifiers.add(PlatformEvent::Modifier::AltKey);
    1351     if (state & GDK_META_MASK)
     1339    if (event->state & GDK_META_MASK)
    13521340        modifiers.add(PlatformEvent::Modifier::MetaKey);
    1353     if (state & GDK_LOCK_MASK)
     1341    if (event->state & GDK_LOCK_MASK)
    13541342        modifiers.add(PlatformEvent::Modifier::CapsLockKey);
    13551343    return modifiers;
     
    13591347PlatformKeyboardEvent::PlatformKeyboardEvent(GdkEventKey* event, const CompositionResults& compositionResults)
    13601348    : 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))
    13611355    , m_handledByInputMethod(false)
    13621356    , m_autoRepeat(false)
     1357    , m_isKeypad(event->keyval >= GDK_KEY_KP_Space && event->keyval <= GDK_KEY_KP_9)
    13631358    , m_isSystemKey(false)
    13641359    , m_gdkEventKey(event)
    13651360    , m_compositionResults(compositionResults)
    13661361{
    1367     guint keyval;
    1368     guint16 keycode;
    1369 #ifndef GTK_API_VERSION_2
    1370     gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);
    1371     gdk_event_get_keycode(reinterpret_cast<GdkEvent*>(event), &keycode);
    1372 #else
    1373     keyval = event->keyval;
    1374     keycode = event->hardware_keycode;
    1375 #endif
    1376 
    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 
    13851362    // To match the behavior of IE, we return VK_PROCESSKEY for keys that triggered composition results.
    13861363    if (compositionResults.compositionUpdated())
  • trunk/Source/WebCore/platform/gtk/PlatformMouseEventGtk.cpp

    r246467 r246494  
    4040PlatformMouseEvent::PlatformMouseEvent(GdkEventButton* event)
    4141{
    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_2
    50     gdk_event_get_button(reinterpret_cast<GdkEvent*>(event), &button);
    51 #else
    52     button = event->button;
    53 #endif
    54 
    5542    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);
    5845    m_button = NoButton;
    5946    m_clickCount = 0;
    6047    m_modifierFlags = 0;
    6148
    62     if (state & GDK_SHIFT_MASK)
     49    if (event->state & GDK_SHIFT_MASK)
    6350        m_modifiers.add(PlatformEvent::Modifier::ShiftKey);
    64     if (state & GDK_CONTROL_MASK)
     51    if (event->state & GDK_CONTROL_MASK)
    6552        m_modifiers.add(PlatformEvent::Modifier::ControlKey);
    66     if (state & GDK_MOD1_MASK)
     53    if (event->state & GDK_MOD1_MASK)
    6754        m_modifiers.add(PlatformEvent::Modifier::AltKey);
    68     if (state & GDK_META_MASK)
     55    if (event->state & GDK_META_MASK)
    6956        m_modifiers.add(PlatformEvent::Modifier::MetaKey);
    70     if (PlatformKeyboardEvent::modifiersContainCapsLock(state))
     57    if (PlatformKeyboardEvent::modifiersContainCapsLock(event->state))
    7158        m_modifiers.add(PlatformEvent::Modifier::CapsLockKey);
    7259
    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) {
    8061    case GDK_BUTTON_PRESS:
    8162    case GDK_2BUTTON_PRESS:
     
    8364    case GDK_BUTTON_RELEASE:
    8465        m_type = PlatformEvent::MousePressed;
    85         if (type == GDK_BUTTON_RELEASE) {
     66        if (event->type == GDK_BUTTON_RELEASE) {
    8667            m_type = PlatformEvent::MouseReleased;
    8768            m_clickCount = 0;
    88         } else if (type == GDK_BUTTON_PRESS)
     69        } else if (event->type == GDK_BUTTON_PRESS)
    8970            m_clickCount = 1;
    90         else if (type == GDK_2BUTTON_PRESS)
     71        else if (event->type == GDK_2BUTTON_PRESS)
    9172            m_clickCount = 2;
    92         else if (type == GDK_3BUTTON_PRESS)
     73        else if (event->type == GDK_3BUTTON_PRESS)
    9374            m_clickCount = 3;
    9475
    95         if (button == 1)
     76        if (event->button == 1)
    9677            m_button = LeftButton;
    97         else if (button == 2)
     78        else if (event->button == 2)
    9879            m_button = MiddleButton;
    99         else if (button == 3)
     80        else if (event->button == 3)
    10081            m_button = RightButton;
    10182        break;
     
    10889PlatformMouseEvent::PlatformMouseEvent(GdkEventMotion* motion)
    10990{
    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));
    11791    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);
    11894    m_button = NoButton;
    11995    m_clickCount = 0;
    12096    m_modifierFlags = 0;
    12197
    122     if (state & GDK_SHIFT_MASK)
     98    if (motion->state & GDK_SHIFT_MASK)
    12399        m_modifiers.add(PlatformEvent::Modifier::ShiftKey);
    124     if (state & GDK_CONTROL_MASK)
     100    if (motion->state & GDK_CONTROL_MASK)
    125101        m_modifiers.add(PlatformEvent::Modifier::ControlKey);
    126     if (state & GDK_MOD1_MASK)
     102    if (motion->state & GDK_MOD1_MASK)
    127103        m_modifiers.add(PlatformEvent::Modifier::AltKey);
    128     if (state & GDK_META_MASK)
     104    if (motion->state & GDK_META_MASK)
    129105        m_modifiers.add(PlatformEvent::Modifier::MetaKey);
    130     if (PlatformKeyboardEvent::modifiersContainCapsLock(state))
     106    if (PlatformKeyboardEvent::modifiersContainCapsLock(motion->state))
    131107        m_modifiers.add(PlatformEvent::Modifier::CapsLockKey);
    132108
    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) {
    140110    case GDK_MOTION_NOTIFY:
    141111        m_type = PlatformEvent::MouseMoved;
     
    147117    };
    148118
    149     if (state & GDK_BUTTON1_MASK)
     119    if (motion->state & GDK_BUTTON1_MASK)
    150120        m_button = LeftButton;
    151     else if (state & GDK_BUTTON2_MASK)
     121    else if (motion->state & GDK_BUTTON2_MASK)
    152122        m_button = MiddleButton;
    153     else if (state & GDK_BUTTON3_MASK)
     123    else if (motion->state & GDK_BUTTON3_MASK)
    154124        m_button = RightButton;
    155125}
  • trunk/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp

    r246467 r246494  
    4343{
    4444    static const float delta = 1;
    45     GdkModifierType state;
    4645
    4746    m_type = PlatformEvent::Wheel;
    4847    m_timestamp = wallTimeForEvent(event);
    49     gdk_event_get_state(reinterpret_cast<GdkEvent*>(event), &state);
    5048
    51     if (state & GDK_SHIFT_MASK)
     49    if (event->state & GDK_SHIFT_MASK)
    5250        m_modifiers.add(Modifier::ShiftKey);
    53     if (state & GDK_CONTROL_MASK)
     51    if (event->state & GDK_CONTROL_MASK)
    5452        m_modifiers.add(Modifier::ControlKey);
    55     if (state & GDK_MOD1_MASK)
     53    if (event->state & GDK_MOD1_MASK)
    5654        m_modifiers.add(Modifier::AltKey);
    57     if (state & GDK_META_MASK)
     55    if (event->state & GDK_META_MASK)
    5856        m_modifiers.add(Modifier::MetaKey);
    59     if (PlatformKeyboardEvent::modifiersContainCapsLock(state))
     57    if (PlatformKeyboardEvent::modifiersContainCapsLock(event->state))
    6058        m_modifiers.add(PlatformEvent::Modifier::CapsLockKey);
    6159
    6260    m_deltaX = 0;
    6361    m_deltaY = 0;
    64     GdkScrollDirection direction;
    65 #ifndef GTK_API_VERSION_2
    66     gdk_event_get_scroll_direction(reinterpret_cast<GdkEvent*>(event), &direction);
    67 #else
    68     direction = event->direction;
    69 #endif
    7062
    7163    // Docs say an upwards scroll (away from the user) has a positive delta
    72     switch (direction) {
     64    switch (event->direction) {
    7365        case GDK_SCROLL_UP:
    7466            m_deltaY = delta;
     
    9991#ifndef GTK_API_VERSION_2
    10092#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 ?
    10294        PlatformWheelEventPhaseEnded :
    10395        PlatformWheelEventPhaseChanged;
    10496#else
    105     m_phase = direction == GDK_SCROLL_SMOOTH && !m_deltaX && !m_deltaY ?
     97    m_phase = event->direction == GDK_SCROLL_SMOOTH && !m_deltaX && !m_deltaY ?
    10698        PlatformWheelEventPhaseEnded :
    10799        PlatformWheelEventPhaseChanged;
     
    112104#endif // ENABLE(ASYNC_SCROLLING)
    113105
    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));
    120108    m_granularity = ScrollByPixelWheelEvent;
    121109    m_directionInvertedFromDevice = false;
  • trunk/Source/WebKit/ChangeLog

    r246490 r246494  
     12019-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
    1132019-06-16  Darin Adler  <darin@apple.com>
    214
  • trunk/Source/WebKit/Shared/gtk/WebEventFactory.cpp

    r246467 r246494  
    7474{
    7575    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) {
    8278    case GDK_ENTER_NOTIFY:
    8379    case GDK_LEAVE_NOTIFY:
     
    9894    case GDK_3BUTTON_PRESS:
    9995    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)
    10797            button = WebMouseEvent::LeftButton;
    108         else if (eventButton == 2)
     98        else if (event->button.button == 2)
    10999            button = WebMouseEvent::MiddleButton;
    110         else if (eventButton == 3)
     100        else if (event->button.button == 3)
    111101            button = WebMouseEvent::RightButton;
    112102        break;
     
    152142    gdk_event_get_state(event, &state);
    153143
    154     guint eventButton;
    155 #ifndef GTK_API_VERSION_2
    156     gdk_event_get_button(event, &eventButton);
    157 #else
    158     eventButton = event->button;
    159 #endif
    160 
    161144    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) {
    169146    case GDK_MOTION_NOTIFY:
    170147    case GDK_ENTER_NOTIFY:
     
    176153    case GDK_3BUTTON_PRESS: {
    177154        type = WebEvent::MouseDown;
    178         auto modifier = stateModifierForGdkButton(eventButton);
     155        auto modifier = stateModifierForGdkButton(event->button.button);
    179156        state = static_cast<GdkModifierType>(state | modifier);
    180157        break;
     
    182159    case GDK_BUTTON_RELEASE: {
    183160        type = WebEvent::MouseUp;
    184         auto modifier = stateModifierForGdkButton(eventButton);
     161        auto modifier = stateModifierForGdkButton(event->button.button);
    185162        state = static_cast<GdkModifierType>(state & ~modifier);
    186163        break;
     
    227204{
    228205    double x, y, xRoot, yRoot;
    229     GdkScrollDirection direction;
    230206    gdk_event_get_coords(event, &x, &y);
    231207    gdk_event_get_root_coords(event, &xRoot, &yRoot);
    232 #ifndef GTK_API_VERSION_2
    233     gdk_event_get_scroll_direction(event, &direction);
    234 #else
    235     direction = event->direction;
    236 #endif
    237208
    238209    FloatSize wheelTicks;
    239     switch (direction) {
     210    switch (event->scroll.direction) {
    240211    case GDK_SCROLL_UP:
    241212        wheelTicks = FloatSize(0, 1);
     
    281252WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(const GdkEvent* event, const WebCore::CompositionResults& compositionResults, Vector<String>&& commands)
    282253{
    283     guint keyval;
    284     guint16 keycode;
    285 #ifndef GTK_API_VERSION_2
    286     gdk_event_get_keyval(event, &keyval);
    287     gdk_event_get_keycode(event, &keycode);
    288 #else
    289     keyval = event->keyval;
    290     keycode = event->hardware_keycode;
    291 #endif
    292 #if GTK_CHECK_VERSION(3, 10, 0)
    293     GdkEventType type = gdk_event_get_event_type(event);
    294 #else
    295     GdkEventType type = event->type;
    296 #endif
    297 
    298254    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),
    306262        compositionResults.compositionUpdated(),
    307263        WTFMove(commands),
    308         isGdkKeyCodeFromKeyPad(keyval),
     264        isGdkKeyCodeFromKeyPad(event->key.keyval),
    309265        modifiersForEvent(event),
    310266        wallTimeForEvent(event));
     
    316272#ifndef GTK_API_VERSION_2
    317273    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) {
    324275    case GDK_TOUCH_BEGIN:
    325276        type = WebEvent::TouchStart;
  • trunk/Source/WebKit/UIProcess/API/gtk/WebKitEmojiChooser.cpp

    r246467 r246494  
    9393static void emojiHovered(GtkWidget* widget, GdkEvent* event)
    9494{
    95     if (gdk_event_get_event_type(event) == GDK_ENTER_NOTIFY)
     95    if (event->type == GDK_ENTER_NOTIFY)
    9696        gtk_widget_set_state_flags(widget, GTK_STATE_FLAG_PRELIGHT, FALSE);
    9797    else
  • trunk/Source/WebKit/UIProcess/API/gtk/WebKitScriptDialogImpl.cpp

    r246467 r246494  
    4747static gboolean webkitScriptDialogImplKeyPressEvent(GtkWidget* widget, GdkEventKey* keyEvent)
    4848{
    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) {
    5250        webkitScriptDialogImplClose(WEBKIT_SCRIPT_DIALOG_IMPL(widget));
    5351        return GDK_EVENT_STOP;
  • trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp

    r246467 r246494  
    119119        }
    120120
    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)
    134124                && (eventTime - previousClickTime < static_cast<unsigned>(doubleClickTime))
    135                 && (button == previousClickButton)))
     125                && (event->button.button == previousClickButton)))
    136126            currentClickCount++;
    137127        else
    138128            currentClickCount = 1;
    139129
     130        double x, y;
     131        gdk_event_get_coords(event, &x, &y);
    140132        previousClickPoint = IntPoint(x, y);
    141         previousClickButton = button;
     133        previousClickButton = event->button.button;
    142134        previousClickTime = eventTime;
    143135
     
    748740    WebKitWebViewBasePrivate* priv = webViewBase->priv;
    749741
    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 
    755742#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) {
    757744        auto& preferences = priv->pageProxy->preferences();
    758745        preferences.setResourceUsageOverlayVisible(!preferences.resourceUsageOverlayVisible());
     
    767754#if ENABLE(FULLSCREEN_API)
    768755    if (priv->fullScreenModeActive) {
    769         switch (keyval) {
     756        switch (keyEvent->keyval) {
    770757        case GDK_KEY_Escape:
    771758        case GDK_KEY_f:
     
    823810
    824811    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) {
    831814    case GDK_BUTTON_PRESS:
    832815    case GDK_2BUTTON_PRESS:
     
    843826        priv->inputMethodFilter.notifyMouseButtonPress();
    844827
    845         guint button;
    846         gdk_event_get_button(event, &button);
    847828        // 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)
    849830            priv->contextMenuEvent.reset(gdk_event_copy(event));
    850831
     
    995976    GtkAllocation allocation;
    996977    gtk_widget_get_allocation(widget, &allocation);
    997     double xEvent, yEvent;
    998     gdk_event_get_coords(reinterpret_cast<GdkEvent*>(crossingEvent), &xEvent, &yEvent);
    999978    double width = allocation.width;
    1000979    double height = allocation.height;
    1001     double x = xEvent;
    1002     double y = yEvent;
     980    double x = crossingEvent->x;
     981    double y = crossingEvent->y;
    1003982    if (x < 0 && x > -1)
    1004983        x = -1;
     
    1012991    GdkEvent* event = reinterpret_cast<GdkEvent*>(crossingEvent);
    1013992    GUniquePtr<GdkEvent> copiedEvent;
    1014     if (x != xEvent || y != yEvent) {
     993    if (x != crossingEvent->x || y != crossingEvent->y) {
    1015994        copiedEvent.reset(gdk_event_copy(event));
    1016995        copiedEvent->crossing.x = x;
     
    10581037{
    10591038    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);
    10661040    touchPoints.reserveInitialCapacity(touchEnd ? priv->touchEvents.size() + 1 : priv->touchEvents.size());
    10671041
     
    10851059    uint32_t sequence = GPOINTER_TO_UINT(gdk_event_get_event_sequence(touchEvent));
    10861060
    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) {
    10931062    case GDK_TOUCH_BEGIN: {
    10941063        ASSERT(!priv->touchEvents.contains(sequence));
     
    12091178    void swipe(GdkEventTouch* event, const FloatPoint& velocity) final
    12101179    {
    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);
    12141181        webkitWebViewBaseHandleWheelEvent(m_webView, scrollEvent.get(), WebWheelEvent::Phase::PhaseNone, WebWheelEvent::Phase::PhaseBegan);
    12151182    }
     
    13121279{
    13131280#if HAVE(GTK_GESTURES)
    1314 #if GTK_CHECK_VERSION(3, 10, 0)
    1315     if (gdk_event_get_event_type(event) == GDK_TOUCHPAD_PINCH)
    1316 #else
    13171281    if (event->type == GDK_TOUCHPAD_PINCH)
    1318 #endif // GTK_CHECK_VERSION(3, 10, 0)
    13191282        webkitWebViewBaseGestureController(WEBKIT_WEB_VIEW_BASE(widget)).handleEvent(event);
    1320 #endif // HAVE(GTK_GESTURES)
     1283#endif
    13211284
    13221285    return GDK_EVENT_PROPAGATE;
  • trunk/Source/WebKit/UIProcess/gtk/GestureController.cpp

    r246467 r246494  
    5454    m_zoomGesture.handleEvent(event);
    5555    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 #else
    5956    touchEnd = (event->type == GDK_TOUCH_END) || (event->type == GDK_TOUCH_CANCEL);
    60 #endif
    6157    return touchEnd ? wasProcessingGestures : isProcessingGestures();
    6258}
  • trunk/Source/WebKit/UIProcess/gtk/InputMethodFilter.cpp

    r246467 r246494  
    199199    bool justSentFakeKeyUp = m_justSentFakeKeyUp;
    200200    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)
    209202        return;
    210203
     
    218211    }
    219212
    220     if (filtered && type == GDK_KEY_PRESS) {
     213    if (filtered && event->type == GDK_KEY_PRESS) {
    221214        if (!m_preeditChanged && m_confirmedComposition.isNull()) {
    222215            m_composingTextCurrently = true;
    223             m_lastFilteredKeyPressCodeWithNoResults = keyval;
     216            m_lastFilteredKeyPressCodeWithNoResults = event->keyval;
    224217            return;
    225218        }
     
    235228    // If we previously filtered a key press event and it yielded no results. Suppress
    236229    // 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)
    238231        return;
    239232
     
    451444void InputMethodFilter::logHandleKeyboardEventForTesting(GdkEventKey* event, const String& eventString, EventFakedForComposition faked)
    452445{
    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 #else
    458446    const char* eventType = event->type == GDK_KEY_RELEASE ? "release" : "press";
    459 #endif
    460447    const char* fakedString = faked == EventFaked ? " (faked)" : "";
    461448    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));
    463450    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));
    465452}
    466453
    467454void InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting(GdkEventKey* event, ResultsToSend resultsToSend, EventFakedForComposition faked)
    468455{
    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 #else
    474456    const char* eventType = event->type == GDK_KEY_RELEASE ? "release" : "press";
    475 #endif
    476457    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));
    478459
    479460    if (resultsToSend & Composition && !m_confirmedComposition.isNull())
  • trunk/Source/WebKit/UIProcess/gtk/KeyBindingTranslator.cpp

    r246467 r246494  
    206206    ASSERT(m_pendingEditorCommands.isEmpty());
    207207
    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 
    213208    gtk_bindings_activate_event(G_OBJECT(m_nativeWidget.get()), event);
    214209    if (!m_pendingEditorCommands.isEmpty())
     
    216211
    217212    // 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))
    219214        return { "InsertNewLine" };
    220215
    221216    // For keypress events, we want charCode(), but keyCode() does that.
    222     unsigned mapKey = state << 16 | keyval;
     217    unsigned mapKey = event->state << 16 | event->keyval;
    223218    if (!mapKey)
    224219        return { };
  • trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp

    r246467 r246494  
    5656{
    5757#if GTK_CHECK_VERSION(3, 20, 0)
    58     return gdk_event_is_scroll_stop_event(reinterpret_cast<GdkEvent*>(event));
     58    return event->is_stop;
    5959#else
    6060    return !event->delta_x && !event->delta_y;
     
    8484    GdkDevice* device = gdk_event_get_source_device(reinterpret_cast<GdkEvent*>(event));
    8585    GdkInputSource source = gdk_device_get_source(device);
    86     GdkScrollDirection direction;
    87     gdk_event_get_scroll_direction(reinterpret_cast<GdkEvent*>(event), &direction);
    8886
    8987    // FIXME: Should it maybe be allowed on mice/trackpoints as well? The GDK_SCROLL_SMOOTH
    9088    // 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);
    9290}
    9391
     
    103101{
    104102    double multiplier = isTouchEvent(event) ? Scrollbar::pixelsPerLineStep() : gtkScrollDeltaMultiplier;
    105     double xDelta, yDelta;
    106     gdk_event_get_scroll_deltas(reinterpret_cast<GdkEvent*>(event), &xDelta, &yDelta);
    107103
    108104    // 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;
    110106}
    111107
     
    188184    }
    189185
    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;
    195187    if (isTouchEvent(event))
    196188        deltaX *= (double) Scrollbar::pixelsPerLineStep() / m_webPageProxy.viewSize().width();
     
    198190        deltaX *= gtkScrollDeltaMultiplier / swipeTouchpadBaseWidth;
    199191
    200     Seconds time = Seconds::fromMilliseconds(eventTime);
     192    Seconds time = Seconds::fromMilliseconds(event->time);
    201193    if (time != m_prevTime)
    202194        m_velocity = deltaX / (time - m_prevTime).milliseconds();
  • trunk/Source/WebKit/UIProcess/gtk/WebPopupMenuProxyGtk.cpp

    r246467 r246494  
    9696gboolean WebPopupMenuProxyGtk::treeViewButtonReleaseEventCallback(GtkWidget* treeView, GdkEventButton* event, WebPopupMenuProxyGtk* popupMenu)
    9797{
    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)
    10199        return FALSE;
    102100
    103     double x, y;
    104     gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y);
    105101    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))
    107103        return FALSE;
    108104
     
    124120        return FALSE;
    125121
    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) {
    129123        popupMenu->hidePopupMenu();
    130124        return TRUE;
     
    377371Optional<unsigned> WebPopupMenuProxyGtk::typeAheadFindIndex(GdkEventKey* event)
    378372{
    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);
    382374    if (!g_unichar_isprint(keychar))
    383375        return WTF::nullopt;
    384376
    385     uint32_t time = gdk_event_get_time(reinterpret_cast<GdkEvent*>(event));
    386     if (time < m_previousKeyEventTime)
     377    if (event->time < m_previousKeyEventTime)
    387378        return WTF::nullopt;
    388379
    389380    static const uint32_t typeaheadTimeoutMs = 1000;
    390     if (time - m_previousKeyEventTime > typeaheadTimeoutMs) {
     381    if (event->time - m_previousKeyEventTime > typeaheadTimeoutMs) {
    391382        if (m_currentSearchString)
    392383            g_string_truncate(m_currentSearchString, 0);
    393384    }
    394     m_previousKeyEventTime = time;
     385    m_previousKeyEventTime = event->time;
    395386
    396387    if (!m_currentSearchString)
Note: See TracChangeset for help on using the changeset viewer.