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

Unified Diff: Source/web/WebRemoteFrameImpl.h

Issue 517043003: Move Frame to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase past r181245 conflict 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/web/WebRemoteFrameImpl.h
diff --git a/Source/web/WebRemoteFrameImpl.h b/Source/web/WebRemoteFrameImpl.h
index e680d5a00677545ec235eec8b79c03ad12d65b4e..859cb4e81a2f8cc86b1fca62a7b331648625d688 100644
--- a/Source/web/WebRemoteFrameImpl.h
+++ b/Source/web/WebRemoteFrameImpl.h
@@ -17,7 +17,7 @@ class FrameHost;
class FrameOwner;
class RemoteFrame;
-class WebRemoteFrameImpl : public WebRemoteFrame, public RefCounted<WebRemoteFrameImpl> {
+class WebRemoteFrameImpl FINAL : public RefCountedWillBeGarbageCollectedFinalized<WebRemoteFrameImpl>, public WebRemoteFrame {
public:
WebRemoteFrameImpl();
virtual ~WebRemoteFrameImpl();
@@ -178,16 +178,18 @@ public:
void initializeCoreFrame(FrameHost*, FrameOwner*, const AtomicString& name);
- void setCoreFrame(PassRefPtr<RemoteFrame>);
+ void setCoreFrame(PassRefPtrWillBeRawPtr<RemoteFrame>);
RemoteFrame* frame() const { return m_frame.get(); }
static WebRemoteFrameImpl* fromFrame(RemoteFrame&);
+ virtual void trace(Visitor*);
+
private:
RemoteFrameClient m_frameClient;
- RefPtr<RemoteFrame> m_frame;
+ RefPtrWillBeMember<RemoteFrame> m_frame;
- HashMap<WebFrame*, OwnPtr<FrameOwner> > m_ownersForChildren;
+ WillBeHeapHashMap<WebFrame*, OwnPtrWillBeMember<FrameOwner> > m_ownersForChildren;
};
DEFINE_TYPE_CASTS(WebRemoteFrameImpl, WebFrame, frame, frame->isWebRemoteFrame(), frame.isWebRemoteFrame());

Powered by Google App Engine
This is Rietveld 408576698