CachedFrame construction should begin with a Frame&.
[WebKit-https.git] / Source / WebCore / history / CachedFrame.cpp
index 0f8d075..9a8d007 100644 (file)
@@ -72,15 +72,15 @@ static WTF::RefCountedLeakCounter& cachedFrameCounter()
 }
 #endif
 
-CachedFrameBase::CachedFrameBase(Frame* frame)
-    : m_document(frame->document())
-    , m_documentLoader(frame->loader().documentLoader())
-    , m_view(frame->view())
-    , m_mousePressNode(frame->eventHandler().mousePressNode())
-    , m_url(frame->document()->url())
-    , m_isMainFrame(!frame->tree().parent())
+CachedFrameBase::CachedFrameBase(Frame& frame)
+    : m_document(frame.document())
+    , m_documentLoader(frame.loader().documentLoader())
+    , m_view(frame.view())
+    , m_mousePressNode(frame.eventHandler().mousePressNode())
+    , m_url(frame.document()->url())
+    , m_isMainFrame(!frame.tree().parent())
 #if USE(ACCELERATED_COMPOSITING)
-    , m_isComposited(frame->view()->hasCompositedContent())
+    , m_isComposited(frame.view()->hasCompositedContent())
 #endif
 {
 }
@@ -102,7 +102,7 @@ void CachedFrameBase::restore()
         m_view->setParentVisible(true);
 
     Frame& frame = m_view->frame();
-    m_cachedFrameScriptData->restore(&frame);
+    m_cachedFrameScriptData->restore(frame);
 
 #if ENABLE(SVG)
     if (m_document->svgExtensions())
@@ -149,7 +149,7 @@ void CachedFrameBase::restore()
     m_document->documentDidResumeFromPageCache();
 }
 
-CachedFrame::CachedFrame(Frame* frame)
+CachedFrame::CachedFrame(Frame& frame)
     : CachedFrameBase(frame)
 {
 #ifndef NDEBUG
@@ -159,18 +159,18 @@ CachedFrame::CachedFrame(Frame* frame)
     ASSERT(m_documentLoader);
     ASSERT(m_view);
 
-    if (frame->page()->focusController().focusedFrame() == frame)
-        frame->page()->focusController().setFocusedFrame(&frame->page()->mainFrame());
+    if (frame.page()->focusController().focusedFrame() == &frame)
+        frame.page()->focusController().setFocusedFrame(&frame.page()->mainFrame());
 
     // Custom scrollbar renderers will get reattached when the document comes out of the page cache
     m_view->detachCustomScrollbars();
 
     m_document->setInPageCache(true);
-    frame->loader().stopLoading(UnloadEventPolicyUnloadAndPageHide);
+    frame.loader().stopLoading(UnloadEventPolicyUnloadAndPageHide);
 
     // Create the CachedFrames for all Frames in the FrameTree.
-    for (Frame* child = frame->tree().firstChild(); child; child = child->tree().nextSibling())
-        m_childFrames.append(CachedFrame::create(child));
+    for (Frame* child = frame.tree().firstChild(); child; child = child->tree().nextSibling())
+        m_childFrames.append(CachedFrame::create(*child));
 
     // Active DOM objects must be suspended before we cache the frame script data,
     // but after we've fired the pagehide event, in case that creates more objects.
@@ -183,27 +183,27 @@ CachedFrame::CachedFrame(Frame* frame)
 
     m_document->domWindow()->suspendForPageCache();
 
-    frame->loader().client().savePlatformDataToCachedFrame(this);
+    frame.loader().client().savePlatformDataToCachedFrame(this);
 
 #if USE(ACCELERATED_COMPOSITING)
     if (m_isComposited && pageCache()->shouldClearBackingStores())
-        frame->view()->clearBackingStores();
+        frame.view()->clearBackingStores();
 #endif
 
     // documentWillSuspendForPageCache() can set up a layout timer on the FrameView, so clear timers after that.
-    frame->clearTimers();
+    frame.clearTimers();
 
     // Deconstruct the FrameTree, to restore it later.
     // We do this for two reasons:
     // 1 - We reuse the main frame, so when it navigates to a new page load it needs to start with a blank FrameTree.
     // 2 - It's much easier to destroy a CachedFrame while it resides in the PageCache if it is disconnected from its parent.
     for (unsigned i = 0; i < m_childFrames.size(); ++i)
-        frame->tree().removeChild(&m_childFrames[i]->view()->frame());
+        frame.tree().removeChild(&m_childFrames[i]->view()->frame());
 
     if (!m_isMainFrame)
-        frame->page()->decrementSubframeCount();
+        frame.page()->decrementSubframeCount();
 
-    frame->loader().client().didSaveToPageCache();
+    frame.loader().client().didSaveToPageCache();
 
 #ifndef NDEBUG
     if (m_isMainFrame)