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

Side by Side Diff: Source/core/frame/Frame.h

Issue 645623004: Reland "Streamline frame detach" (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999-2001 Lars Knoll <knoll@kde.org> 3 * 1999-2001 Lars Knoll <knoll@kde.org>
4 * 1999-2001 Antti Koivisto <koivisto@kde.org> 4 * 1999-2001 Antti Koivisto <koivisto@kde.org>
5 * 2000-2001 Simon Hausmann <hausmann@kde.org> 5 * 2000-2001 Simon Hausmann <hausmann@kde.org>
6 * 2000-2001 Dirk Mueller <mueller@kde.org> 6 * 2000-2001 Dirk Mueller <mueller@kde.org>
7 * 2000 Stefan Schimanski <1Stein@gmx.de> 7 * 2000 Stefan Schimanski <1Stein@gmx.de>
8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
9 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
10 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> 10 * Copyright (C) 2008 Eric Seidel <eric@webkit.org>
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 52
53 class Frame : public RefCountedWillBeGarbageCollectedFinalized<Frame> { 53 class Frame : public RefCountedWillBeGarbageCollectedFinalized<Frame> {
54 public: 54 public:
55 virtual bool isLocalFrame() const { return false; } 55 virtual bool isLocalFrame() const { return false; }
56 virtual bool isRemoteFrame() const { return false; } 56 virtual bool isRemoteFrame() const { return false; }
57 57
58 virtual ~Frame(); 58 virtual ~Frame();
59 virtual void trace(Visitor*); 59 virtual void trace(Visitor*);
60 60
61 virtual void navigate(Document& originDocument, const KURL&, bool lockBackFo rwardList) = 0; 61 virtual void navigate(Document& originDocument, const KURL&, bool lockBackFo rwardList) = 0;
62 virtual void detach() = 0; 62 virtual void detach();
63 void detachChildren(); 63 void detachChildren();
64 64
65 FrameClient* client() const; 65 FrameClient* client() const;
66 void clearClient();
67 66
68 // NOTE: Page is moving out of Blink up into the browser process as 67 // NOTE: Page is moving out of Blink up into the browser process as
69 // part of the site-isolation (out of process iframes) work. 68 // part of the site-isolation (out of process iframes) work.
70 // FrameHost should be used instead where possible. 69 // FrameHost should be used instead where possible.
71 Page* page() const; 70 Page* page() const;
72 FrameHost* host() const; // Null when the frame is detached. 71 FrameHost* host() const; // Null when the frame is detached.
73 72
74 bool isMainFrame() const; 73 bool isMainFrame() const;
75 bool isLocalRoot() const; 74 bool isLocalRoot() const;
76 75
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 private: 113 private:
115 FrameClient* m_client; 114 FrameClient* m_client;
116 WebLayer* m_remotePlatformLayer; 115 WebLayer* m_remotePlatformLayer;
117 }; 116 };
118 117
119 inline FrameClient* Frame::client() const 118 inline FrameClient* Frame::client() const
120 { 119 {
121 return m_client; 120 return m_client;
122 } 121 }
123 122
124 inline void Frame::clearClient()
125 {
126 m_client = 0;
127 }
128
129 inline LocalDOMWindow* Frame::domWindow() const 123 inline LocalDOMWindow* Frame::domWindow() const
130 { 124 {
131 return m_domWindow.get(); 125 return m_domWindow.get();
132 } 126 }
133 127
134 inline FrameOwner* Frame::owner() const 128 inline FrameOwner* Frame::owner() const
135 { 129 {
136 return m_owner; 130 return m_owner;
137 } 131 }
138 132
139 inline FrameTree& Frame::tree() const 133 inline FrameTree& Frame::tree() const
140 { 134 {
141 return m_treeNode; 135 return m_treeNode;
142 } 136 }
143 137
144 // Allow equality comparisons of Frames by reference or pointer, interchangeably . 138 // Allow equality comparisons of Frames by reference or pointer, interchangeably .
145 DEFINE_COMPARISON_OPERATORS_WITH_REFERENCES_REFCOUNTED(Frame) 139 DEFINE_COMPARISON_OPERATORS_WITH_REFERENCES_REFCOUNTED(Frame)
146 140
147 } // namespace blink 141 } // namespace blink
148 142
149 #endif // Frame_h 143 #endif // Frame_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698