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

Unified Diff: trunk/Source/core/dom/Document.h

Issue 391483002: Revert 177812 "Migrate touch events to EventHandlerRegistry" (Closed) Base URL: svn://svn.chromium.org/blink/
Patch Set: Created 6 years, 5 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: trunk/Source/core/dom/Document.h
===================================================================
--- trunk/Source/core/dom/Document.h (revision 177995)
+++ trunk/Source/core/dom/Document.h (working copy)
@@ -176,6 +176,8 @@
};
const int numNodeListInvalidationTypes = InvalidateOnAnyAttrChange + 1;
+typedef HashCountedSet<Node*> TouchEventTargetSet;
+
enum DocumentClass {
DefaultDocumentClass = 0,
HTMLDocumentClass = 1,
@@ -938,6 +940,21 @@
void initDNSPrefetch();
+ bool hasTouchEventHandlers() const { return (m_touchEventTargets.get()) ? m_touchEventTargets->size() : false; }
+
+ // Called when a single touch event handler has been added or removed for a node.
+ // The Node should always be in this Document, except for child Documents which report
+ // themselves to their parent exactly once if they have any touch handlers.
+ // Handlers added/removed from the LocalDOMWindow are reported as the Document.
+ void didAddTouchEventHandler(Node*);
+ void didRemoveTouchEventHandler(Node* handler) { didRemoveTouchEventHandler(handler, false); }
+
+ // Called whenever all touch event handlers have been removed for a node (such as when the
+ // node itself is being removed from the document).
+ void didClearTouchEventHandlers(Node* handler) { didRemoveTouchEventHandler(handler, true); }
+
+ const TouchEventTargetSet* touchEventTargets() const { return m_touchEventTargets.get(); }
+
bool isInDocumentWrite() { return m_writeRecursionDepth > 0; }
IntSize initialViewportSize() const;
@@ -1135,6 +1152,8 @@
void processHttpEquivXFrameOptions(const AtomicString& content);
void processHttpEquivContentSecurityPolicy(const AtomicString& equiv, const AtomicString& content);
+ void didRemoveTouchEventHandler(Node*, bool clearAll);
+
bool haveStylesheetsLoaded() const;
void setHoverNode(PassRefPtrWillBeRawPtr<Node>);
@@ -1328,6 +1347,8 @@
bool m_writeRecursionIsTooDeep;
unsigned m_writeRecursionDepth;
+ OwnPtr<TouchEventTargetSet> m_touchEventTargets;
+
RefPtrWillBeMember<ScriptedAnimationController> m_scriptedAnimationController;
OwnPtr<MainThreadTaskRunner> m_taskRunner;
OwnPtr<TextAutosizer> m_textAutosizer;
« no previous file with comments | « trunk/LayoutTests/fast/events/touch/touch-handler-count-expected.txt ('k') | trunk/Source/core/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698