Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(807)

Unified Diff: Source/core/frame/EventHandlerRegistry.h

Issue 225903009: Migrate touch events to EventHandlerRegistry (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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*);

Powered by Google App Engine
This is Rietveld 408576698