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