Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_NODE_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_NODE_H_ |
| 6 #define CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_NODE_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_NODE_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| 11 #include <string> | 11 #include <string> |
| 12 #include <vector> | 12 #include <vector> |
| 13 | 13 |
| 14 #include "base/macros.h" | 14 #include "base/macros.h" |
| 15 #include "base/memory/ref_counted.h" | 15 #include "base/memory/ref_counted.h" |
| 16 #include "content/browser/frame_host/frame_tree_node_blame_context.h" | 16 #include "content/browser/frame_host/frame_tree_node_blame_context.h" |
| 17 #include "content/browser/frame_host/render_frame_host_impl.h" | 17 #include "content/browser/frame_host/render_frame_host_impl.h" |
| 18 #include "content/browser/frame_host/render_frame_host_manager.h" | 18 #include "content/browser/frame_host/render_frame_host_manager.h" |
| 19 #include "content/common/content_export.h" | 19 #include "content/common/content_export.h" |
| 20 #include "content/common/frame_owner_properties.h" | 20 #include "content/common/frame_owner_properties.h" |
| 21 #include "content/common/frame_replication_state.h" | 21 #include "content/common/frame_replication_state.h" |
| 22 #include "third_party/WebKit/public/platform/WebInsecureRequestPolicy.h" | 22 #include "third_party/WebKit/public/platform/WebInsecureRequestPolicy.h" |
| 23 #include "url/gurl.h" | 23 #include "url/gurl.h" |
| 24 #include "url/origin.h" | 24 #include "url/origin.h" |
| 25 | 25 |
| 26 namespace content { | 26 namespace content { |
| 27 | 27 |
| 28 class FeaturePolicy; | |
| 28 class FrameTree; | 29 class FrameTree; |
| 29 class NavigationRequest; | 30 class NavigationRequest; |
| 30 class Navigator; | 31 class Navigator; |
| 31 class RenderFrameHostImpl; | 32 class RenderFrameHostImpl; |
| 32 struct ContentSecurityPolicyHeader; | 33 struct ContentSecurityPolicyHeader; |
| 33 | 34 |
| 34 // When a page contains iframes, its renderer process maintains a tree structure | 35 // When a page contains iframes, its renderer process maintains a tree structure |
| 35 // of those frames. We are mirroring this tree in the browser process. This | 36 // of those frames. We are mirroring this tree in the browser process. This |
| 36 // class represents a node in this tree and is a wrapper for all objects that | 37 // class represents a node in this tree and is a wrapper for all objects that |
| 37 // are frame-specific (as opposed to page-specific). | 38 // are frame-specific (as opposed to page-specific). |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 345 std::vector<std::unique_ptr<FrameTreeNode>> children_; | 346 std::vector<std::unique_ptr<FrameTreeNode>> children_; |
| 346 | 347 |
| 347 // Whether this frame has committed any real load, replacing its initial | 348 // Whether this frame has committed any real load, replacing its initial |
| 348 // about:blank page. | 349 // about:blank page. |
| 349 bool has_committed_real_load_; | 350 bool has_committed_real_load_; |
| 350 | 351 |
| 351 // Track information that needs to be replicated to processes that have | 352 // Track information that needs to be replicated to processes that have |
| 352 // proxies for this frame. | 353 // proxies for this frame. |
| 353 FrameReplicationState replication_state_; | 354 FrameReplicationState replication_state_; |
| 354 | 355 |
| 356 std::unique_ptr<FeaturePolicy> feature_policy_; | |
|
pfeldman
2017/02/03 18:04:26
I'd talk to someone from the site isolation team o
iclelland
2017/02/03 19:26:37
Thanks -- alexmos, do you have any idea whether th
alexmos
2017/02/03 22:37:16
I think it might make more sense to put this on th
iclelland
2017/02/06 18:32:33
Thanks, Alex, I appreciate the insight. I've moved
alexmos
2017/02/07 00:21:35
Yes, that sounds good to me.
| |
| 357 | |
| 355 // Track the pending sandbox flags for this frame. When a parent frame | 358 // Track the pending sandbox flags for this frame. When a parent frame |
| 356 // dynamically updates sandbox flags in the <iframe> element for a child | 359 // dynamically updates sandbox flags in the <iframe> element for a child |
| 357 // frame, these updated flags are stored here and are transferred into | 360 // frame, these updated flags are stored here and are transferred into |
| 358 // replication_state_.sandbox_flags when they take effect on the next frame | 361 // replication_state_.sandbox_flags when they take effect on the next frame |
| 359 // navigation. | 362 // navigation. |
| 360 blink::WebSandboxFlags pending_sandbox_flags_; | 363 blink::WebSandboxFlags pending_sandbox_flags_; |
| 361 | 364 |
| 362 // Tracks the scrolling and margin properties for this frame. These | 365 // Tracks the scrolling and margin properties for this frame. These |
| 363 // properties affect the child renderer but are stored on its parent's | 366 // properties affect the child renderer but are stored on its parent's |
| 364 // frame element. When this frame's parent dynamically updates these | 367 // frame element. When this frame's parent dynamically updates these |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 384 // browser process activities to this node (when possible). It is unrelated | 387 // browser process activities to this node (when possible). It is unrelated |
| 385 // to the core logic of FrameTreeNode. | 388 // to the core logic of FrameTreeNode. |
| 386 FrameTreeNodeBlameContext blame_context_; | 389 FrameTreeNodeBlameContext blame_context_; |
| 387 | 390 |
| 388 DISALLOW_COPY_AND_ASSIGN(FrameTreeNode); | 391 DISALLOW_COPY_AND_ASSIGN(FrameTreeNode); |
| 389 }; | 392 }; |
| 390 | 393 |
| 391 } // namespace content | 394 } // namespace content |
| 392 | 395 |
| 393 #endif // CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_NODE_H_ | 396 #endif // CONTENT_BROWSER_FRAME_HOST_FRAME_TREE_NODE_H_ |
| OLD | NEW |