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

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

Issue 305723002: Use method registration approach for creating events on core and modules. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebaseline 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 unified diff | Download patch
« no previous file with comments | « Source/core/Init.cpp ('k') | Source/core/dom/Document.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 class DocumentLifecycleObserver; 88 class DocumentLifecycleObserver;
89 class DocumentLoader; 89 class DocumentLoader;
90 class DocumentMarkerController; 90 class DocumentMarkerController;
91 class DocumentParser; 91 class DocumentParser;
92 class DocumentState; 92 class DocumentState;
93 class AnimationTimeline; 93 class AnimationTimeline;
94 class DocumentType; 94 class DocumentType;
95 class Element; 95 class Element;
96 class ElementDataCache; 96 class ElementDataCache;
97 class Event; 97 class Event;
98 class EventFactoryBase;
98 class EventListener; 99 class EventListener;
99 class ExceptionState; 100 class ExceptionState;
100 class FastTextAutosizer; 101 class FastTextAutosizer;
101 class FloatQuad; 102 class FloatQuad;
102 class FloatRect; 103 class FloatRect;
103 class FontFaceSet; 104 class FontFaceSet;
104 class FormController; 105 class FormController;
105 class Frame; 106 class Frame;
106 class FrameHost; 107 class FrameHost;
107 class FrameView; 108 class FrameView;
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 void didMergeTextNodes(Text& oldNode, unsigned offset); 688 void didMergeTextNodes(Text& oldNode, unsigned offset);
688 void didSplitTextNode(Text& oldNode); 689 void didSplitTextNode(Text& oldNode);
689 690
690 void clearDOMWindow() { m_domWindow = nullptr; } 691 void clearDOMWindow() { m_domWindow = nullptr; }
691 DOMWindow* domWindow() const { return m_domWindow; } 692 DOMWindow* domWindow() const { return m_domWindow; }
692 693
693 // Helper functions for forwarding DOMWindow event related tasks to the DOMW indow if it exists. 694 // Helper functions for forwarding DOMWindow event related tasks to the DOMW indow if it exists.
694 void setWindowAttributeEventListener(const AtomicString& eventType, PassRefP tr<EventListener>); 695 void setWindowAttributeEventListener(const AtomicString& eventType, PassRefP tr<EventListener>);
695 EventListener* getWindowAttributeEventListener(const AtomicString& eventType ); 696 EventListener* getWindowAttributeEventListener(const AtomicString& eventType );
696 697
698 static void registerEventFactory(EventFactoryBase*);
697 static PassRefPtrWillBeRawPtr<Event> createEvent(const String& eventType, Ex ceptionState&); 699 static PassRefPtrWillBeRawPtr<Event> createEvent(const String& eventType, Ex ceptionState&);
698 700
699 // keep track of what types of event listeners are registered, so we don't 701 // keep track of what types of event listeners are registered, so we don't
700 // dispatch events unnecessarily 702 // dispatch events unnecessarily
701 enum ListenerType { 703 enum ListenerType {
702 DOMSUBTREEMODIFIED_LISTENER = 1, 704 DOMSUBTREEMODIFIED_LISTENER = 1,
703 DOMNODEINSERTED_LISTENER = 1 << 1, 705 DOMNODEINSERTED_LISTENER = 1 << 1,
704 DOMNODEREMOVED_LISTENER = 1 << 2, 706 DOMNODEREMOVED_LISTENER = 1 << 2,
705 DOMNODEREMOVEDFROMDOCUMENT_LISTENER = 1 << 3, 707 DOMNODEREMOVEDFROMDOCUMENT_LISTENER = 1 << 3,
706 DOMNODEINSERTEDINTODOCUMENT_LISTENER = 1 << 4, 708 DOMNODEINSERTEDINTODOCUMENT_LISTENER = 1 << 4,
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 void processHttpEquivDefaultStyle(const AtomicString& content); 1177 void processHttpEquivDefaultStyle(const AtomicString& content);
1176 void processHttpEquivRefresh(const AtomicString& content); 1178 void processHttpEquivRefresh(const AtomicString& content);
1177 void processHttpEquivSetCookie(const AtomicString& content); 1179 void processHttpEquivSetCookie(const AtomicString& content);
1178 void processHttpEquivXFrameOptions(const AtomicString& content); 1180 void processHttpEquivXFrameOptions(const AtomicString& content);
1179 void processHttpEquivContentSecurityPolicy(const AtomicString& equiv, const AtomicString& content); 1181 void processHttpEquivContentSecurityPolicy(const AtomicString& equiv, const AtomicString& content);
1180 1182
1181 void didRemoveTouchEventHandler(Node*, bool clearAll); 1183 void didRemoveTouchEventHandler(Node*, bool clearAll);
1182 1184
1183 bool haveStylesheetsLoaded() const; 1185 bool haveStylesheetsLoaded() const;
1184 1186
1187 typedef HashSet<EventFactoryBase*> EventFactorySet;
1188 static EventFactorySet& eventFactories();
1189
1185 DocumentLifecycle m_lifecycle; 1190 DocumentLifecycle m_lifecycle;
1186 1191
1187 bool m_hasNodesWithPlaceholderStyle; 1192 bool m_hasNodesWithPlaceholderStyle;
1188 bool m_evaluateMediaQueriesOnStyleRecalc; 1193 bool m_evaluateMediaQueriesOnStyleRecalc;
1189 1194
1190 // If we do ignore the pending stylesheet count, then we need to add a boole an 1195 // If we do ignore the pending stylesheet count, then we need to add a boole an
1191 // to track that this happened so that we can do a full repaint when the sty lesheets 1196 // to track that this happened so that we can do a full repaint when the sty lesheets
1192 // do eventually load. 1197 // do eventually load.
1193 PendingSheetLayout m_pendingSheetLayout; 1198 PendingSheetLayout m_pendingSheetLayout;
1194 1199
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
1444 inline bool Node::isDocumentNode() const 1449 inline bool Node::isDocumentNode() const
1445 { 1450 {
1446 return this == document(); 1451 return this == document();
1447 } 1452 }
1448 1453
1449 Node* eventTargetNodeForDocument(Document*); 1454 Node* eventTargetNodeForDocument(Document*);
1450 1455
1451 } // namespace WebCore 1456 } // namespace WebCore
1452 1457
1453 #endif // Document_h 1458 #endif // Document_h
OLDNEW
« no previous file with comments | « Source/core/Init.cpp ('k') | Source/core/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698