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

Side by Side Diff: Source/core/frame/EventHandlerRegistry.h

Issue 463543002: Oilpan: Ensure that classes with virtual trace methods always have vtables for their left-most base… (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef EventHandlerRegistry_h 5 #ifndef EventHandlerRegistry_h
6 #define EventHandlerRegistry_h 6 #define EventHandlerRegistry_h
7 7
8 #include "core/frame/FrameHost.h" 8 #include "core/frame/FrameHost.h"
9 #include "wtf/HashCountedSet.h" 9 #include "wtf/HashCountedSet.h"
10 10
11 namespace blink { 11 namespace blink {
12 12
13 class Document; 13 class Document;
14 class EventTarget; 14 class EventTarget;
15 15
16 typedef HashCountedSet<EventTarget*> EventTargetSet; 16 typedef HashCountedSet<EventTarget*> EventTargetSet;
17 17
18 // Registry for keeping track of event handlers. Note that only handlers on 18 // Registry for keeping track of event handlers. Note that only handlers on
19 // documents that can be rendered or can receive input (i.e., are attached to a 19 // documents that can be rendered or can receive input (i.e., are attached to a
20 // FrameHost) are registered here. 20 // FrameHost) are registered here.
21 class EventHandlerRegistry FINAL : public NoBaseWillBeGarbageCollectedFinalized< EventHandlerRegistry> { 21 class EventHandlerRegistry FINAL : public NoBaseWillBeGarbageCollectedFinalized< EventHandlerRegistry> {
22 public: 22 public:
23 explicit EventHandlerRegistry(FrameHost&); 23 explicit EventHandlerRegistry(FrameHost&);
24 virtual ~EventHandlerRegistry(); 24 ~EventHandlerRegistry();
25 25
26 // Supported event handler classes. Note that each one may correspond to 26 // Supported event handler classes. Note that each one may correspond to
27 // multiple event types. 27 // multiple event types.
28 enum EventHandlerClass { 28 enum EventHandlerClass {
29 ScrollEvent, 29 ScrollEvent,
30 WheelEvent, 30 WheelEvent,
31 #if ENABLE(ASSERT) 31 #if ENABLE(ASSERT)
32 // Additional event categories for verifying handler tracking logic. 32 // Additional event categories for verifying handler tracking logic.
33 EventsForTesting, 33 EventsForTesting,
34 #endif 34 #endif
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 89
90 void checkConsistency() const; 90 void checkConsistency() const;
91 91
92 FrameHost& m_frameHost; 92 FrameHost& m_frameHost;
93 EventTargetSet m_targets[EventHandlerClassCount]; 93 EventTargetSet m_targets[EventHandlerClassCount];
94 }; 94 };
95 95
96 } // namespace blink 96 } // namespace blink
97 97
98 #endif // EventHandlerRegistry_h 98 #endif // EventHandlerRegistry_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698