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

Side by Side Diff: Source/core/dom/Document.h

Issue 225903009: Migrate touch events to EventHandlerRegistry (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed HTMLInputElement adding handler at document destruction and removed dead oilpan code. 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2011 Google Inc. All rights reserved. 9 * Copyright (C) 2011 Google Inc. All rights reserved.
10 * 10 *
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 InvalidateOnClassAttrChange, 167 InvalidateOnClassAttrChange,
168 InvalidateOnIdNameAttrChange, 168 InvalidateOnIdNameAttrChange,
169 InvalidateOnNameAttrChange, 169 InvalidateOnNameAttrChange,
170 InvalidateOnForAttrChange, 170 InvalidateOnForAttrChange,
171 InvalidateForFormControls, 171 InvalidateForFormControls,
172 InvalidateOnHRefAttrChange, 172 InvalidateOnHRefAttrChange,
173 InvalidateOnAnyAttrChange, 173 InvalidateOnAnyAttrChange,
174 }; 174 };
175 const int numNodeListInvalidationTypes = InvalidateOnAnyAttrChange + 1; 175 const int numNodeListInvalidationTypes = InvalidateOnAnyAttrChange + 1;
176 176
177 typedef HashCountedSet<Node*> TouchEventTargetSet;
178
179 enum DocumentClass { 177 enum DocumentClass {
180 DefaultDocumentClass = 0, 178 DefaultDocumentClass = 0,
181 HTMLDocumentClass = 1, 179 HTMLDocumentClass = 1,
182 XHTMLDocumentClass = 1 << 1, 180 XHTMLDocumentClass = 1 << 1,
183 ImageDocumentClass = 1 << 2, 181 ImageDocumentClass = 1 << 2,
184 PluginDocumentClass = 1 << 3, 182 PluginDocumentClass = 1 << 3,
185 MediaDocumentClass = 1 << 4, 183 MediaDocumentClass = 1 << 4,
186 SVGDocumentClass = 1 << 5, 184 SVGDocumentClass = 1 << 5,
187 XMLDocumentClass = 1 << 6, 185 XMLDocumentClass = 1 << 6,
188 }; 186 };
(...skipping 740 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 927
930 int requestAnimationFrame(PassOwnPtr<RequestAnimationFrameCallback>); 928 int requestAnimationFrame(PassOwnPtr<RequestAnimationFrameCallback>);
931 void cancelAnimationFrame(int id); 929 void cancelAnimationFrame(int id);
932 void serviceScriptedAnimations(double monotonicAnimationStartTime); 930 void serviceScriptedAnimations(double monotonicAnimationStartTime);
933 931
934 virtual EventTarget* errorEventTarget() OVERRIDE FINAL; 932 virtual EventTarget* errorEventTarget() OVERRIDE FINAL;
935 virtual void logExceptionToConsole(const String& errorMessage, const String& sourceURL, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallS tack>) OVERRIDE FINAL; 933 virtual void logExceptionToConsole(const String& errorMessage, const String& sourceURL, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallS tack>) OVERRIDE FINAL;
936 934
937 void initDNSPrefetch(); 935 void initDNSPrefetch();
938 936
939 bool hasTouchEventHandlers() const { return (m_touchEventTargets.get()) ? m_ touchEventTargets->size() : false; }
940
941 // Called when a single touch event handler has been added or removed for a node.
942 // The Node should always be in this Document, except for child Documents wh ich report
943 // themselves to their parent exactly once if they have any touch handlers.
944 // Handlers added/removed from the LocalDOMWindow are reported as the Docume nt.
945 void didAddTouchEventHandler(Node*);
946 void didRemoveTouchEventHandler(Node* handler) { didRemoveTouchEventHandler( handler, false); }
947
948 // Called whenever all touch event handlers have been removed for a node (su ch as when the
949 // node itself is being removed from the document).
950 void didClearTouchEventHandlers(Node* handler) { didRemoveTouchEventHandler( handler, true); }
951
952 const TouchEventTargetSet* touchEventTargets() const { return m_touchEventTa rgets.get(); }
953
954 bool isInDocumentWrite() { return m_writeRecursionDepth > 0; } 937 bool isInDocumentWrite() { return m_writeRecursionDepth > 0; }
955 938
956 IntSize initialViewportSize() const; 939 IntSize initialViewportSize() const;
957 940
958 // There are currently two parallel autosizing implementations: TextAutosize r and FastTextAutosizer. 941 // There are currently two parallel autosizing implementations: TextAutosize r and FastTextAutosizer.
959 // See http://tinyurl.com/chromium-fast-autosizer for more details. 942 // See http://tinyurl.com/chromium-fast-autosizer for more details.
960 TextAutosizer* textAutosizer(); 943 TextAutosizer* textAutosizer();
961 FastTextAutosizer* fastTextAutosizer(); 944 FastTextAutosizer* fastTextAutosizer();
962 945
963 PassRefPtrWillBeRawPtr<Element> createElement(const AtomicString& localName, const AtomicString& typeExtension, ExceptionState&); 946 PassRefPtrWillBeRawPtr<Element> createElement(const AtomicString& localName, const AtomicString& typeExtension, ExceptionState&);
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
1141 1124
1142 void clearFocusedElementSoon(); 1125 void clearFocusedElementSoon();
1143 void clearFocusedElementTimerFired(Timer<Document>*); 1126 void clearFocusedElementTimerFired(Timer<Document>*);
1144 1127
1145 void processHttpEquivDefaultStyle(const AtomicString& content); 1128 void processHttpEquivDefaultStyle(const AtomicString& content);
1146 void processHttpEquivRefresh(const AtomicString& content); 1129 void processHttpEquivRefresh(const AtomicString& content);
1147 void processHttpEquivSetCookie(const AtomicString& content); 1130 void processHttpEquivSetCookie(const AtomicString& content);
1148 void processHttpEquivXFrameOptions(const AtomicString& content); 1131 void processHttpEquivXFrameOptions(const AtomicString& content);
1149 void processHttpEquivContentSecurityPolicy(const AtomicString& equiv, const AtomicString& content); 1132 void processHttpEquivContentSecurityPolicy(const AtomicString& equiv, const AtomicString& content);
1150 1133
1151 void didRemoveTouchEventHandler(Node*, bool clearAll);
1152
1153 bool haveStylesheetsLoaded() const; 1134 bool haveStylesheetsLoaded() const;
1154 1135
1155 void setHoverNode(PassRefPtrWillBeRawPtr<Node>); 1136 void setHoverNode(PassRefPtrWillBeRawPtr<Node>);
1156 Node* hoverNode() const { return m_hoverNode.get(); } 1137 Node* hoverNode() const { return m_hoverNode.get(); }
1157 1138
1158 typedef HashSet<OwnPtr<EventFactoryBase> > EventFactorySet; 1139 typedef HashSet<OwnPtr<EventFactoryBase> > EventFactorySet;
1159 static EventFactorySet& eventFactories(); 1140 static EventFactorySet& eventFactories();
1160 1141
1161 DocumentLifecycle m_lifecycle; 1142 DocumentLifecycle m_lifecycle;
1162 1143
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
1336 bool m_didSetReferrerPolicy; 1317 bool m_didSetReferrerPolicy;
1337 ReferrerPolicy m_referrerPolicy; 1318 ReferrerPolicy m_referrerPolicy;
1338 1319
1339 bool m_directionSetOnDocumentElement; 1320 bool m_directionSetOnDocumentElement;
1340 bool m_writingModeSetOnDocumentElement; 1321 bool m_writingModeSetOnDocumentElement;
1341 DocumentTiming m_documentTiming; 1322 DocumentTiming m_documentTiming;
1342 RefPtrWillBeMember<MediaQueryMatcher> m_mediaQueryMatcher; 1323 RefPtrWillBeMember<MediaQueryMatcher> m_mediaQueryMatcher;
1343 bool m_writeRecursionIsTooDeep; 1324 bool m_writeRecursionIsTooDeep;
1344 unsigned m_writeRecursionDepth; 1325 unsigned m_writeRecursionDepth;
1345 1326
1346 OwnPtr<TouchEventTargetSet> m_touchEventTargets;
1347
1348 RefPtrWillBeMember<ScriptedAnimationController> m_scriptedAnimationControlle r; 1327 RefPtrWillBeMember<ScriptedAnimationController> m_scriptedAnimationControlle r;
1349 OwnPtr<MainThreadTaskRunner> m_taskRunner; 1328 OwnPtr<MainThreadTaskRunner> m_taskRunner;
1350 OwnPtr<TextAutosizer> m_textAutosizer; 1329 OwnPtr<TextAutosizer> m_textAutosizer;
1351 OwnPtr<FastTextAutosizer> m_fastTextAutosizer; 1330 OwnPtr<FastTextAutosizer> m_fastTextAutosizer;
1352 1331
1353 RefPtrWillBeMember<CustomElementRegistrationContext> m_registrationContext; 1332 RefPtrWillBeMember<CustomElementRegistrationContext> m_registrationContext;
1354 1333
1355 void elementDataCacheClearTimerFired(Timer<Document>*); 1334 void elementDataCacheClearTimerFired(Timer<Document>*);
1356 Timer<Document> m_elementDataCacheClearTimer; 1335 Timer<Document> m_elementDataCacheClearTimer;
1357 1336
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1425 inline bool Node::isDocumentNode() const 1404 inline bool Node::isDocumentNode() const
1426 { 1405 {
1427 return this == document(); 1406 return this == document();
1428 } 1407 }
1429 1408
1430 Node* eventTargetNodeForDocument(Document*); 1409 Node* eventTargetNodeForDocument(Document*);
1431 1410
1432 } // namespace WebCore 1411 } // namespace WebCore
1433 1412
1434 #endif // Document_h 1413 #endif // Document_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698