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

Unified Diff: Source/web/WebRemoteFrameImpl.h

Issue 643333002: Prepare for remote->local frame swap (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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/web/WebLocalFrameImpl.cpp ('k') | Source/web/WebRemoteFrameImpl.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/WebRemoteFrameImpl.h
diff --git a/Source/web/WebRemoteFrameImpl.h b/Source/web/WebRemoteFrameImpl.h
index 0f2eb62d53442295229cac6ae0f43862fc7333f4..9725fcd78b719954e7cd31c3afebc2b542176013 100644
--- a/Source/web/WebRemoteFrameImpl.h
+++ b/Source/web/WebRemoteFrameImpl.h
@@ -5,6 +5,7 @@
#ifndef WebRemoteFrameImpl_h
#define WebRemoteFrameImpl_h
+#include "core/frame/FrameOwner.h"
#include "platform/heap/Handle.h"
#include "public/web/WebRemoteFrame.h"
#include "public/web/WebRemoteFrameClient.h"
@@ -20,6 +21,21 @@ class FrameOwner;
class RemoteFrame;
class WebViewImpl;
+// FIXME: This is just a placeholder frame owner to supply to RemoteFrame when
+// the parent is also a remote frame. Strictly speaking, this shouldn't be
+// necessary, since a remote frame shouldn't ever need to communicate with a
+// remote parent (there are no sandbox flags to retrieve in this case, nor can
+// the RemoteFrame itself load a document). In most circumstances, the check for
+// frame->owner() can be replaced with a check for frame->tree().parent(). Once
+// that's done, this class can be removed.
+class PlaceholderFrameOwner : public NoBaseWillBeGarbageCollectedFinalized<PlaceholderFrameOwner>, public FrameOwner {
+ WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PlaceholderFrameOwner);
+public:
+ virtual bool isLocal() const override;
+ virtual SandboxFlags sandboxFlags() const override;
+ virtual void dispatchLoad() override;
+};
+
class WebRemoteFrameImpl final : public RefCountedWillBeGarbageCollectedFinalized<WebRemoteFrameImpl>, public WebRemoteFrame {
public:
explicit WebRemoteFrameImpl(WebRemoteFrameClient*);
« no previous file with comments | « Source/web/WebLocalFrameImpl.cpp ('k') | Source/web/WebRemoteFrameImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698