Notify ChromeClient when touch-event handlers are installed/removed.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Feb 2012 20:21:15 +0000 (20:21 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Feb 2012 20:21:15 +0000 (20:21 +0000)
commit7c44a68d8afe73ff32afc3e2b54d53b09cb54532
treef69590b3681fed86cdca176fa8146789b5b3fab3
parent2baaea4b5a12e2fffc0ec1afcdf19bc00d105c39
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:
Source/WebCore/ChangeLog
Source/WebCore/dom/Document.cpp
Source/WebCore/dom/Document.h
Source/WebCore/dom/Node.cpp
Source/WebCore/loader/EmptyClients.h
Source/WebCore/page/ChromeClient.h
Source/WebCore/page/Frame.cpp
Source/WebCore/page/Frame.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/public/WebViewClient.h
Source/WebKit/chromium/src/ChromeClientImpl.cpp
Source/WebKit/chromium/src/ChromeClientImpl.h
Source/WebKit/chromium/src/WebViewImpl.cpp
Source/WebKit/chromium/src/WebViewImpl.h
Source/WebKit/efl/ChangeLog
Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
Source/WebKit/qt/ChangeLog
Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
Source/WebKit/win/ChangeLog
Source/WebKit/win/WebCoreSupport/WebChromeClient.h
Source/WebKit/wince/ChangeLog
Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h
Source/WebKit/wx/ChangeLog
Source/WebKit/wx/WebKitSupport/ChromeClientWx.h
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h