Changeset 140596 in webkit


Ignore:
Timestamp:
Jan 23, 2013 2:31:21 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Partially revert 104427, change WebWidgetClient::didHandleGestureEvent semantics.
https://bugs.webkit.org/show_bug.cgi?id=107605

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-01-23
Reviewed by Darin Fisher.

Per discussion in https://codereview.chromium.org/11473027/ we decided
not to introduce an enum to WebWidgetClient::didHandleGestureEvent().
Instead, change the semantics of the bool flag to indicate whether the
gesture event is cancelled for disambiguation.

  • public/WebWidgetClient.h:

(WebKit::WebWidgetClient::didHandleGestureEvent):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

  • tests/WebViewTest.cpp:
Location:
trunk/Source/WebKit/chromium
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r140586 r140596  
     12013-01-23  Tien-Ren Chen  <trchen@chromium.org>
     2
     3        Partially revert 104427, change WebWidgetClient::didHandleGestureEvent semantics.
     4        https://bugs.webkit.org/show_bug.cgi?id=107605
     5
     6        Reviewed by Darin Fisher.
     7
     8        Per discussion in https://codereview.chromium.org/11473027/ we decided
     9        not to introduce an enum to WebWidgetClient::didHandleGestureEvent().
     10        Instead, change the semantics of the bool flag to indicate whether the
     11        gesture event is cancelled for disambiguation.
     12
     13        * public/WebWidgetClient.h:
     14        (WebKit::WebWidgetClient::didHandleGestureEvent):
     15        * src/WebViewImpl.cpp:
     16        (WebKit::WebViewImpl::handleGestureEvent):
     17        * tests/WebViewTest.cpp:
     18
    1192013-01-23  Mark Pilgrim  <pilgrim@chromium.org>
    220
  • trunk/Source/WebKit/chromium/public/WebWidgetClient.h

    r140495 r140596  
    169169
    170170    // Called when a gesture event is handled.
    171     enum EventStatus {
    172         EventStatusUnprocessed,
    173         EventStatusProcessed,
    174         EventStatusCancelled
    175     };
    176     virtual void didHandleGestureEvent(const WebGestureEvent& event, EventStatus) { }
    177     virtual void didHandleGestureEvent(const WebGestureEvent& event, bool eventSwallowed) { } // deprecated
     171    virtual void didHandleGestureEvent(const WebGestureEvent& event, bool eventCancelled) { }
    178172
    179173protected:
  • trunk/Source/WebKit/chromium/src/WebViewImpl.cpp

    r140495 r140596  
    696696bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
    697697{
    698     WebWidgetClient::EventStatus eventStatus = WebWidgetClient::EventStatusUnprocessed;
     698    bool eventSwallowed = false;
     699    bool eventCancelled = false; // for disambiguation
    699700
    700701    // Handle link highlighting outside the main switch to avoid getting lost in the
     
    730731        m_gestureAnimation = WebActiveGestureAnimation::createAtAnimationStart(flingCurve.release(), this);
    731732        scheduleAnimation();
    732         eventStatus = WebWidgetClient::EventStatusProcessed;
     733        eventSwallowed = true;
    733734        break;
    734735    }
     
    738739            if (m_layerTreeView)
    739740                m_layerTreeView->didStopFlinging();
    740             eventStatus = WebWidgetClient::EventStatusProcessed;
     741            eventSwallowed = true;
    741742        }
    742743        break;
     
    744745        m_client->cancelScheduledContentIntents();
    745746        if (detectContentOnTouch(WebPoint(event.x, event.y))) {
    746             eventStatus = WebWidgetClient::EventStatusProcessed;
     747            eventSwallowed = true;
    747748            break;
    748749        }
     
    760761            // Single candidate case is currently handled by: https://bugs.webkit.org/show_bug.cgi?id=85101
    761762            if (goodTargets.size() >= 2 && m_client && m_client->didTapMultipleTargets(event, goodTargets)) {
    762                 eventStatus = WebWidgetClient::EventStatusCancelled;
     763                eventSwallowed = true;
     764                eventCancelled = true;
    763765                break;
    764766            }
     
    766768
    767769        PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
    768         eventStatus = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent) ? WebWidgetClient::EventStatusProcessed : WebWidgetClient::EventStatusUnprocessed;
     770        eventSwallowed = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent);
    769771
    770772        if (m_selectPopup && m_selectPopup == selectPopup) {
     
    788790        m_contextMenuAllowed = true;
    789791        PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
    790         eventStatus = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent) ? WebWidgetClient::EventStatusProcessed : WebWidgetClient::EventStatusUnprocessed;
     792        eventSwallowed = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent);
    791793        m_contextMenuAllowed = false;
    792794
     
    796798        m_client->cancelScheduledContentIntents();
    797799        PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
    798         eventStatus = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent) ? WebWidgetClient::EventStatusProcessed : WebWidgetClient::EventStatusUnprocessed;
     800        eventSwallowed = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent);
    799801        break;
    800802    }
     
    803805            m_client->cancelScheduledContentIntents();
    804806            animateZoomAroundPoint(WebPoint(event.x, event.y), DoubleTap);
    805             eventStatus = WebWidgetClient::EventStatusProcessed;
     807            eventSwallowed = true;
    806808            break;
    807809        }
     
    815817    case WebInputEvent::GesturePinchUpdate: {
    816818        PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
    817         eventStatus = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent) ? WebWidgetClient::EventStatusProcessed : WebWidgetClient::EventStatusUnprocessed;
     819        eventSwallowed = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent);
    818820        break;
    819821    }
     
    821823        ASSERT_NOT_REACHED();
    822824    }
    823     m_client->didHandleGestureEvent(event, eventStatus);
    824     return eventStatus != WebWidgetClient::EventStatusUnprocessed;
     825    m_client->didHandleGestureEvent(event, eventCancelled);
     826    return eventSwallowed;
    825827}
    826828
  • trunk/Source/WebKit/chromium/tests/WebViewTest.cpp

    r139532 r140596  
    124124public:
    125125    // WebViewClient methods
    126     virtual void didHandleGestureEvent(const WebGestureEvent& event, EventStatus eventStatus)
     126    virtual void didHandleGestureEvent(const WebGestureEvent& event, bool eventCancelled)
    127127    {
    128128        if (event.type == WebInputEvent::GestureTap) {
Note: See TracChangeset for help on using the changeset viewer.