Notify ChromeClient when touch-event handlers are installed/removed.
https://bugs.webkit.org/show_bug.cgi?id=77440

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-02-15
Reviewed by Darin Fisher and Ryosuke Niwa.

Source/WebCore:

Keep a count of the number of touch-event handlers and notify the
embedder when the count changes. Depending on the count, the embedder
can decide whether or not to dispatch touch events to webkit.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::didAddTouchEventHandler):
(WebCore):
(WebCore::Document::didRemoveTouchEventHandler):
* dom/Document.h:
(WebCore::Document::touchEventHandlerCount):
(Document):
* dom/Node.cpp:
(WebCore::isTouchEventType):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::numTouchEventHandlersChanged):
* page/ChromeClient.h:
(ChromeClient):
* page/Frame.cpp:
(WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged):
(WebCore::Frame::notifyChromeClientTouchEventHandlerCountChanged):
(WebCore):
* page/Frame.h:
(Frame):

Source/WebKit/chromium:

* public/WebViewClient.h:
(WebKit::WebViewClient::numberOfTouchEventHandlersChanged):
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::numTouchEventHandlersChanged):
(WebKit):
* src/ChromeClientImpl.h:
(ChromeClientImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::numberOfTouchEventHandlersChanged):
(WebKit):
* src/WebViewImpl.h:
(WebViewImpl):

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.h:
(WebCore::ChromeClientEfl::numTouchEventHandlersChanged):

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.h:
(WebKit::ChromeClient::numTouchEventHandlersChanged):

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:

Source/WebKit/qt:

* WebCoreSupport/ChromeClientQt.h:
(WebCore::ChromeClientQt::numTouchEventHandlersChanged):

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::numTouchEventHandlersChanged):

Source/WebKit/wince:

* WebCoreSupport/ChromeClientWinCE.h:
(WebKit::ChromeClientWinCE::numTouchEventHandlersChanged):

Source/WebKit/wx:

* WebKitSupport/ChromeClientWx.h:
(WebCore::ChromeClientWx::numTouchEventHandlersChanged):

Source/WebKit2:

* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::numTouchEventHandlersChanged):
* WebProcess/WebCoreSupport/WebChromeClient.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
30 files changed