| Index: Source/core/frame/EventHandlerRegistry.h
|
| diff --git a/Source/core/frame/EventHandlerRegistry.h b/Source/core/frame/EventHandlerRegistry.h
|
| index 4d53b31def180c6fed91c02efc44180e9cdc9ce1..71bd87fb3de91444b6eeff505820847f6ef7f9c2 100644
|
| --- a/Source/core/frame/EventHandlerRegistry.h
|
| +++ b/Source/core/frame/EventHandlerRegistry.h
|
| @@ -26,6 +26,7 @@ public:
|
| enum EventHandlerClass {
|
| ScrollEvent,
|
| WheelEvent,
|
| + TouchEvent,
|
| #if ASSERT_ENABLED
|
| // Additional event categories for verifying handler tracking logic.
|
| EventsForTesting,
|
| @@ -45,10 +46,10 @@ public:
|
| void didRemoveEventHandler(EventTarget&, const AtomicString& eventType);
|
| void didRemoveEventHandler(EventTarget&, EventHandlerClass);
|
| void didRemoveAllEventHandlers(EventTarget&);
|
| - void didMoveIntoFrameHost(EventTarget&);
|
| - void didMoveOutOfFrameHost(EventTarget&);
|
|
|
| - // Either |documentDetached| or |didMoveOutOfFrameHost| must be called
|
| + static void didMoveBetweenFrameHosts(EventTarget&, FrameHost* oldFrameHost, FrameHost* newFrameHost);
|
| +
|
| + // Either |documentDetached| or |didMoveBetweenFrameHosts| must be called
|
| // whenever the FrameHost that is associated with a registered event target
|
| // changes. This ensures the registry does not end up with stale references
|
| // to handlers that are no longer related to it.
|
| @@ -77,6 +78,11 @@ private:
|
| // between the two cases.
|
| void notifyHasHandlersChanged(EventHandlerClass, bool hasActiveHandlers);
|
|
|
| + // Called to notify clients whenever a single event handler target is
|
| + // registered or unregistered. If several handlers are registered for the
|
| + // same target, only the first registration will trigger this notification.
|
| + void notifyDidAddOrRemoveEventHandlerTarget(EventHandlerClass);
|
| +
|
| // Record a change operation to a given event handler class and notify any
|
| // parent registry and other clients accordingly.
|
| void updateEventHandlerOfType(ChangeOperation, const AtomicString& eventType, EventTarget*);
|
|
|