[webkit-reviews] review granted: [Bug 132033] [iOS][WK2] Split iOS touch event dispatch for the regular touch event dispatch : [Attachment 229936] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 22 18:27:16 PDT 2014


Simon Fraser (smfr) <simon.fraser at apple.com> has granted Benjamin Poulain
<benjamin at webkit.org>'s request for review:
Bug 132033: [iOS][WK2] Split iOS touch event dispatch for the regular touch
event dispatch
https://bugs.webkit.org/show_bug.cgi?id=132033

Attachment 229936: Patch
https://bugs.webkit.org/attachment.cgi?id=229936&action=review

------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=229936&action=review


> Source/WebKit2/UIProcess/WebPageProxy.cpp:1515
> +    m_process->responsivenessTimer()->start();
> +    bool handled = false;
> +    m_process->sendSync(Messages::WebPage::TouchEventSync(event),
Messages::WebPage::TouchEventSync::Reply(handled), m_pageID);
> +    didReceiveEvent(event.type(), handled);
> +    m_pageClient.doneWithTouchEvent(event, handled);
> +    m_process->responsivenessTimer()->stop();

Would be nice to have a RAII class for start/stop.

> Source/WebKit2/UIProcess/WebPageProxy.cpp:1531
> +    m_process->send(Messages::EventDispatcher::TouchEvent(m_pageID, event),
0);

What is the last param?

> Source/WebKit2/UIProcess/WebPageProxy.h:698
> +    void handleSynchronousTouchEvent(const NativeWebTouchEvent&);

handleTouchEventSynchronously?

> Source/WebKit2/UIProcess/WebPageProxy.h:699
> +    void sendAsynchronousTouchEvent(const NativeWebTouchEvent&);

handleTouchEventAsynchronously?

> Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp:177
> +	       TouchEventQueue& queuedEvents = addResult.iterator->value;
> +	       ASSERT(!queuedEvents.isEmpty());
> +	       const WebTouchEvent& lastTouchEvent = queuedEvents.last();
> +	       WebEvent::Type type = lastTouchEvent.type();
> +	       if (type == WebEvent::TouchMove)
> +		   queuedEvents.last() = touchEvent;

Not quite sure what you are doing here. Coalescing move events? Can you add a
comment or name the variables to clarify?

> Source/WebKit2/WebProcess/WebPage/EventDispatcher.h:77
> +    void touchEvent(uint64_t pageID, const WebTouchEvent&);

I wish we had a typedef for pageID

> Source/WebKit2/WebProcess/WebPage/EventDispatcher.h:100
> +    // FIXME: verify what is the right value for the inline capacity.

Do this?

> Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2062
> +void WebPage::dispatchAsynchronousTouchEventsQueue(const
Vector<WebTouchEvent, 5>& queue)

You don't dispatch a queue, so dispatchAsynchronousTouchEventsInQueue or
dispatchAsynchronousTouchEvents.


More information about the webkit-reviews mailing list