Index: content/browser/frame_host/frame_tree_node.h |
diff --git a/content/browser/frame_host/frame_tree_node.h b/content/browser/frame_host/frame_tree_node.h |
index 2d033a65db6f56f0f7ad88b946186f2f8457c79c..3db6cb45bdf540a09fe253f0bb732b3210b222cd 100644 |
--- a/content/browser/frame_host/frame_tree_node.h |
+++ b/content/browser/frame_host/frame_tree_node.h |
@@ -15,6 +15,7 @@ |
#include "content/browser/frame_host/render_frame_host_manager.h" |
#include "content/common/content_export.h" |
#include "content/common/frame_replication_state.h" |
+#include "third_party/WebKit/public/web/WebFrameOwnerProperties.h" |
#include "url/gurl.h" |
#include "url/origin.h" |
@@ -53,7 +54,8 @@ class CONTENT_EXPORT FrameTreeNode { |
RenderFrameHostManager::Delegate* manager_delegate, |
blink::WebTreeScopeType scope, |
const std::string& name, |
- blink::WebSandboxFlags sandbox_flags); |
+ blink::WebSandboxFlags sandbox_flags, |
+ const blink::WebFrameOwnerProperties& frame_owner_properties); |
~FrameTreeNode(); |
@@ -138,6 +140,15 @@ class CONTENT_EXPORT FrameTreeNode { |
// return true if the sandbox flags were changed. |
bool CommitPendingSandboxFlags(); |
+ const blink::WebFrameOwnerProperties& frame_owner_properties() { |
+ return frame_owner_properties_; |
+ } |
+ |
+ void set_frame_owner_properties( |
+ const blink::WebFrameOwnerProperties& frame_owner_properties) { |
+ frame_owner_properties_ = frame_owner_properties; |
+ } |
+ |
bool HasSameOrigin(const FrameTreeNode& node) const { |
return replication_state_.origin.IsSameOriginWith( |
node.replication_state_.origin); |
@@ -276,6 +287,14 @@ class CONTENT_EXPORT FrameTreeNode { |
// flags when a navigation for this frame commits. |
blink::WebSandboxFlags effective_sandbox_flags_; |
+ // Tracks the scrolling and margin properties for this frame. These |
+ // properties affect the child renderer but are stored on its parent's |
+ // frame element. When this frame's parent dynamically updates these |
+ // properties, we update them here too. |
+ // |
+ // Note that dynamic updates only take effect on the next frame navigation. |
+ blink::WebFrameOwnerProperties frame_owner_properties_; |
+ |
// Used to track this node's loading progress (from 0 to 1). |
double loading_progress_; |