| Index: content/browser/frame_host/frame_tree_node.cc
|
| diff --git a/content/browser/frame_host/frame_tree_node.cc b/content/browser/frame_host/frame_tree_node.cc
|
| index a67de695a205b85c456d5c8f63254140222ec10f..1a041d0d9dff9a0e4b8e23e7be2c686e3988dd28 100644
|
| --- a/content/browser/frame_host/frame_tree_node.cc
|
| +++ b/content/browser/frame_host/frame_tree_node.cc
|
| @@ -256,12 +256,21 @@ void FrameTreeNode::SetFrameName(const std::string& name,
|
| }
|
|
|
| void FrameTreeNode::SetFeaturePolicyHeader(
|
| - const ParsedFeaturePolicy& parsed_header) {
|
| + const FeaturePolicyHeader& parsed_header) {
|
| + ResetFeaturePolicy();
|
| replication_state_.feature_policy_header = parsed_header;
|
| + feature_policy_->SetHeaderPolicy(parsed_header);
|
| }
|
|
|
| void FrameTreeNode::ResetFeaturePolicy() {
|
| replication_state_.feature_policy_header.clear();
|
| + if (parent()) {
|
| + feature_policy_ = FeaturePolicy::CreateFromParentPolicy(
|
| + parent()->feature_policy_.get(), current_origin());
|
| + } else {
|
| + feature_policy_ =
|
| + FeaturePolicy::CreateFromParentPolicy(nullptr, current_origin());
|
| + }
|
| }
|
|
|
| void FrameTreeNode::AddContentSecurityPolicy(
|
|
|