Index: Source/core/frame/Frame.h |
diff --git a/Source/core/frame/Frame.h b/Source/core/frame/Frame.h |
index 3c669f7db3dd338bf2cf0adf525f938cc90b3bf7..50659c4e357cd2daf2fae87f42a4a6bce0e6081e 100644 |
--- a/Source/core/frame/Frame.h |
+++ b/Source/core/frame/Frame.h |
@@ -55,6 +55,7 @@ namespace WebCore { |
class FetchContext; |
class FloatSize; |
class FrameDestructionObserver; |
+ class FrameHost; |
class FrameSelection; |
class FrameView; |
class HTMLFrameOwnerElement; |
@@ -62,6 +63,7 @@ namespace WebCore { |
class InputMethodController; |
class IntPoint; |
class Node; |
+ class Page; |
class Range; |
class RenderPart; |
class RenderView; |
@@ -76,27 +78,27 @@ namespace WebCore { |
class FrameInit : public RefCounted<FrameInit> { |
public: |
// For creating a dummy Frame |
- static PassRefPtr<FrameInit> create(int64_t frameID, Page* page, FrameLoaderClient* client) |
+ static PassRefPtr<FrameInit> create(int64_t frameID, FrameHost* host, FrameLoaderClient* client) |
{ |
- return adoptRef(new FrameInit(frameID, page, client)); |
+ return adoptRef(new FrameInit(frameID, host, client)); |
} |
- void setFrameLoaderClient(FrameLoaderClient* client) { m_client = client; } |
- FrameLoaderClient* frameLoaderClient() const { return m_client; } |
- |
int64_t frameID() const { return m_frameID; } |
- void setPage(Page* page) { m_page = page; } |
- Page* page() const { return m_page; } |
+ void setFrameHost(FrameHost* host) { m_frameHost = host; } |
+ FrameHost* frameHost() const { return m_frameHost; } |
+ |
+ void setFrameLoaderClient(FrameLoaderClient* client) { m_client = client; } |
+ FrameLoaderClient* frameLoaderClient() const { return m_client; } |
void setOwnerElement(HTMLFrameOwnerElement* ownerElement) { m_ownerElement = ownerElement; } |
HTMLFrameOwnerElement* ownerElement() const { return m_ownerElement; } |
protected: |
- FrameInit(int64_t frameID, Page* page = 0, FrameLoaderClient* client = 0) |
+ FrameInit(int64_t frameID, FrameHost* host = 0, FrameLoaderClient* client = 0) |
: m_frameID(frameID) |
, m_client(client) |
- , m_page(page) |
+ , m_frameHost(host) |
, m_ownerElement(0) |
{ |
} |
@@ -104,7 +106,7 @@ namespace WebCore { |
private: |
int64_t m_frameID; |
FrameLoaderClient* m_client; |
- Page* m_page; |
+ FrameHost* m_frameHost; |
HTMLFrameOwnerElement* m_ownerElement; |
}; |
@@ -123,11 +125,16 @@ namespace WebCore { |
void addDestructionObserver(FrameDestructionObserver*); |
void removeDestructionObserver(FrameDestructionObserver*); |
- void willDetachPage(); |
- void detachFromPage(); |
+ void willDetachFrameHost(); |
+ void detachFromFrameHost(); |
void disconnectOwnerElement(); |
+ // NOTE: Page is moving out of Blink up into the browser process as |
+ // part of the site-isolation (out of process iframes) work. |
+ // FrameHost should be used instead where possible. |
Page* page() const; |
+ FrameHost* host() const; // Null when the frame is detached. |
+ |
HTMLFrameOwnerElement* ownerElement() const; |
bool isMainFrame() const; |
@@ -156,6 +163,8 @@ namespace WebCore { |
int64_t frameID() const { return m_frameInit->frameID(); } |
+ // FIXME: These should move to RemoteFrame once that exists. |
+ // RemotePlatformLayer is only ever set for Frames which exist in another process. |
void setRemotePlatformLayer(blink::WebLayer* remotePlatformLayer) { m_remotePlatformLayer = remotePlatformLayer; } |
blink::WebLayer* remotePlatformLayer() const { return m_remotePlatformLayer; } |
@@ -217,7 +226,7 @@ namespace WebCore { |
HashSet<FrameDestructionObserver*> m_destructionObservers; |
- Page* m_page; |
+ FrameHost* m_host; |
mutable FrameTree m_treeNode; |
mutable FrameLoader m_loader; |
mutable NavigationScheduler m_navigationScheduler; |
@@ -322,11 +331,6 @@ namespace WebCore { |
return m_treeNode; |
} |
- inline Page* Frame::page() const |
- { |
- return m_page; |
- } |
- |
inline EventHandler& Frame::eventHandler() const |
{ |
ASSERT(m_eventHandler); |