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

Unified Diff: Source/core/page/Page.cpp

Issue 517043003: Move Frame to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add LocalFrame::detachView() + more Oilpan frame finalization comments Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/page/Page.cpp
diff --git a/Source/core/page/Page.cpp b/Source/core/page/Page.cpp
index 6c4301285888f9e822356c03aa18484f4eca418d..afdef3e513384bb98684ba4575c359ebc2df5746 100644
--- a/Source/core/page/Page.cpp
+++ b/Source/core/page/Page.cpp
@@ -83,7 +83,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();
@@ -265,7 +265,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) {
@@ -578,7 +578,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.
@@ -606,6 +606,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);
@@ -623,7 +624,7 @@ void Page::willBeDestroyed()
// Destroy inspector first, since it uses frame and view during destruction.
m_inspectorController->willBeDestroyed();
- RefPtr<Frame> mainFrame = m_mainFrame;
+ RefPtrWillBeRawPtr<Frame> mainFrame = m_mainFrame;
mainFrame->detach();
@@ -646,9 +647,9 @@ void Page::willBeDestroyed()
#endif
m_chrome->willBeDestroyed();
- m_mainFrame = 0;
if (m_validationMessageClient)
m_validationMessageClient->willBeDestroyed();
+ m_mainFrame = nullptr;
}
Page::PageClients::PageClients()

Powered by Google App Engine
This is Rietveld 408576698