| Index: Source/core/page/Page.cpp
|
| diff --git a/Source/core/page/Page.cpp b/Source/core/page/Page.cpp
|
| index 7c6971aaecf294edacbc809ad06ec60b0df48502..b107c03954640e1f5971550d9c98b343eba80ae6 100644
|
| --- a/Source/core/page/Page.cpp
|
| +++ b/Source/core/page/Page.cpp
|
| @@ -82,7 +82,7 @@ HashSet<Page*>& Page::ordinaryPages()
|
|
|
| void Page::networkStateChanged(bool online)
|
| {
|
| - Vector<RefPtr<LocalFrame> > frames;
|
| + WillBeHeapVector<RefPtrWillBeMember<LocalFrame> > frames;
|
|
|
| // Get all the frames of all the pages in all the page groups
|
| HashSet<Page*>::iterator end = allPages().end();
|
| @@ -264,7 +264,7 @@ void Page::refreshPlugins(bool reload)
|
|
|
| PluginData::refresh();
|
|
|
| - Vector<RefPtr<LocalFrame> > framesNeedingReload;
|
| + WillBeHeapVector<RefPtrWillBeMember<LocalFrame> > framesNeedingReload;
|
|
|
| HashSet<Page*>::iterator end = allPages().end();
|
| for (HashSet<Page*>::iterator it = allPages().begin(); it != end; ++it) {
|
| @@ -566,7 +566,7 @@ void Page::didCommitLoad(LocalFrame* frame)
|
|
|
| void Page::acceptLanguagesChanged()
|
| {
|
| - Vector< RefPtr<LocalFrame> > frames;
|
| + WillBeHeapVector<RefPtrWillBeMember<LocalFrame> > frames;
|
|
|
| // Even though we don't fire an event from here, the LocalDOMWindow's will fire
|
| // an event so we keep the frames alive until we are done.
|
| @@ -594,6 +594,7 @@ void Page::trace(Visitor* visitor)
|
| #if ENABLE(OILPAN)
|
| visitor->trace(m_dragCaretController);
|
| visitor->trace(m_dragController);
|
| + visitor->trace(m_focusController);
|
| visitor->trace(m_contextMenuController);
|
| visitor->trace(m_inspectorController);
|
| visitor->trace(m_pointerLockController);
|
| @@ -608,7 +609,7 @@ void Page::trace(Visitor* visitor)
|
|
|
| void Page::willBeDestroyed()
|
| {
|
| - RefPtr<Frame> mainFrame = m_mainFrame;
|
| + RefPtrWillBeRawPtr<Frame> mainFrame = m_mainFrame;
|
|
|
| mainFrame->detach();
|
|
|
| @@ -634,9 +635,13 @@ void Page::willBeDestroyed()
|
| #endif
|
|
|
| m_chrome->willBeDestroyed();
|
| - m_mainFrame = 0;
|
| if (m_validationMessageClient)
|
| m_validationMessageClient->willBeDestroyed();
|
| +#if ENABLE(OILPAN)
|
| + if (mainFrame)
|
| + mainFrame->willBeDestroyed();
|
| +#endif
|
| + m_mainFrame = 0;
|
| }
|
|
|
| Page::PageClients::PageClients()
|
|
|