Oilpan: turn EventHandlerRegistry::m_frameHost into a traced reference.
R=haraken
BUG=509911
Review URL: https://codereview.chromium.org/1280043002
git-svn-id: svn://svn.chromium.org/blink/trunk@200171 bbb929c8-8fbe-4397-9dbb-9b2b20218538
diff --git a/Source/core/frame/EventHandlerRegistry.cpp b/Source/core/frame/EventHandlerRegistry.cpp
index f04362b..8c30986 100644
--- a/Source/core/frame/EventHandlerRegistry.cpp
+++ b/Source/core/frame/EventHandlerRegistry.cpp
@@ -41,7 +41,7 @@
} // namespace
EventHandlerRegistry::EventHandlerRegistry(FrameHost& frameHost)
- : m_frameHost(frameHost)
+ : m_frameHost(&frameHost)
{
}
@@ -196,7 +196,7 @@
void EventHandlerRegistry::notifyHasHandlersChanged(EventHandlerClass handlerClass, bool hasActiveHandlers)
{
- ScrollingCoordinator* scrollingCoordinator = m_frameHost.page().scrollingCoordinator();
+ ScrollingCoordinator* scrollingCoordinator = m_frameHost->page().scrollingCoordinator();
switch (handlerClass) {
case ScrollEvent:
@@ -208,7 +208,7 @@
scrollingCoordinator->updateHaveWheelEventHandlers();
break;
case TouchEvent:
- m_frameHost.chromeClient().needTouchEvents(hasActiveHandlers);
+ m_frameHost->chromeClient().needTouchEvents(hasActiveHandlers);
break;
#if ENABLE(ASSERT)
case EventsForTesting:
@@ -222,13 +222,14 @@
void EventHandlerRegistry::notifyDidAddOrRemoveEventHandlerTarget(EventHandlerClass handlerClass)
{
- ScrollingCoordinator* scrollingCoordinator = m_frameHost.page().scrollingCoordinator();
+ ScrollingCoordinator* scrollingCoordinator = m_frameHost->page().scrollingCoordinator();
if (scrollingCoordinator && handlerClass == TouchEvent)
scrollingCoordinator->touchEventTargetRectsDidChange();
}
DEFINE_TRACE(EventHandlerRegistry)
{
+ visitor->trace(m_frameHost);
visitor->template registerWeakMembers<EventHandlerRegistry, &EventHandlerRegistry::clearWeakMembers>(this);
}
@@ -289,13 +290,13 @@
if (Node* node = eventTarget.key->toNode()) {
// See the comment for |documentDetached| if either of these assertions fails.
ASSERT(node->document().frameHost());
- ASSERT(node->document().frameHost() == &m_frameHost);
+ ASSERT(node->document().frameHost() == m_frameHost);
} else if (LocalDOMWindow* window = eventTarget.key->toDOMWindow()) {
// If any of these assertions fail, LocalDOMWindow failed to unregister its handlers
// properly.
ASSERT(window->frame());
ASSERT(window->frame()->host());
- ASSERT(window->frame()->host() == &m_frameHost);
+ ASSERT(window->frame()->host() == m_frameHost);
}
}
}
diff --git a/Source/core/frame/EventHandlerRegistry.h b/Source/core/frame/EventHandlerRegistry.h
index ae4f5c7..64e990d 100644
--- a/Source/core/frame/EventHandlerRegistry.h
+++ b/Source/core/frame/EventHandlerRegistry.h
@@ -98,7 +98,7 @@
void checkConsistency() const;
- FrameHost& m_frameHost;
+ RawPtrWillBeMember<FrameHost> m_frameHost;
EventTargetSet m_targets[EventHandlerClassCount];
};