summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_frame_impl.h
diff options
context:
space:
mode:
authoralexmos <alexmos@chromium.org>2014-12-05 17:38:09 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-06 01:38:30 +0000
commitbc7eafaba8bde63d70a270ee71a901545d9769f9 (patch)
tree92736a74cdde00158dbd0d754835ba5c73799caf /content/renderer/render_frame_impl.h
parent00df169a990ea09d488f1c13ec0293fc11d7992e (diff)
downloadchromium_src-bc7eafaba8bde63d70a270ee71a901545d9769f9.zip
chromium_src-bc7eafaba8bde63d70a270ee71a901545d9769f9.tar.gz
chromium_src-bc7eafaba8bde63d70a270ee71a901545d9769f9.tar.bz2
Pass origin information for remote frame creation.
This is the first step towards making origin information available for RemoteFrames in Blink. This CL ensures that we pass origin information whenever we create a RemoteFrame, which is currently three cases: 1. New view 2. As part of SwapOut 3. NewFrameProxy message The origins are tracked on FrameTreeNodes in the browser process and updated when frame navigations commit (in NavigatorImpl::DidNavigate). This CL doesn't yet address these issues, to be fixed in later CLs: - situations that will require an explicit "origin update" message, including document.domain changes and certain frame navigations. - iframe sandbox flags - RenderFrameProxies aren't created in all cases (crbug.com/423587) - for now, the origin on the browser side is a url::Origin which doesn't support calls like canAccess. Eventually, we may need to use a richer origin class (like WebSecurityOrigin from Blink). More information: https://docs.google.com/a/chromium.org/document/d/1Y0s76YK0ziiL8hddiFlNUyAF4hqRAGpZM8cfnnLsZPg/edit#heading=h.lrzgurbjttfm The Blink-side of this CL is: https://codereview.chromium.org/520213002/ BUG=426512 Review URL: https://codereview.chromium.org/692973005 Cr-Commit-Position: refs/heads/master@{#307138}
Diffstat (limited to 'content/renderer/render_frame_impl.h')
-rw-r--r--content/renderer/render_frame_impl.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 6c7ecca..7be406d 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -90,6 +90,7 @@ class UserMediaClientImpl;
struct CommitNavigationParams;
struct CommonNavigationParams;
struct CustomContextMenuContext;
+struct FrameReplicationState;
struct RequestNavigationParams;
struct ResourceResponseHead;
@@ -513,6 +514,7 @@ class CONTENT_EXPORT RenderFrameImpl
OnExtendSelectionAndDelete);
FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, ReloadWhileSwappedOut);
FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, SendSwapOutACK);
+ FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OriginReplicationForSwapOut);
FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest,
SetEditableSelectionAndComposition);
FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest,
@@ -536,7 +538,8 @@ class CONTENT_EXPORT RenderFrameImpl
// The documentation for these functions should be in
// content/common/*_messages.h for the message that the function is handling.
void OnBeforeUnload();
- void OnSwapOut(int proxy_routing_id);
+ void OnSwapOut(int proxy_routing_id,
+ const FrameReplicationState& replicated_frame_state);
void OnStop();
void OnShowContextMenu(const gfx::Point& location);
void OnContextMenuClosed(const CustomContextMenuContext& custom_context);