Index: third_party/WebKit/Source/core/loader/FrameLoader.cpp |
diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
index c77b0809a669aac76888ac4d737ef0ad2d0195ec..c502f189c7db2578d0721d4d3e1387dc64f3d590 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
@@ -88,6 +88,7 @@ |
#include "platform/ScriptForbiddenScope.h" |
#include "platform/TraceEvent.h" |
#include "platform/UserGestureIndicator.h" |
+#include "platform/feature_policy/FeaturePolicy.h" |
#include "platform/network/HTTPParsers.h" |
#include "platform/network/ResourceRequest.h" |
#include "platform/scroll/ScrollAnimatorBase.h" |
@@ -523,6 +524,16 @@ void FrameLoader::didBeginDocument() |
} |
OriginTrialContext::addTokensFromHeader(m_frame->document(), m_documentLoader->response().httpHeaderField(HTTPNames::Origin_Trial)); |
+ if (RuntimeEnabledFeatures::featurePolicyEnabled()) { |
+ FeaturePolicy* featurePolicy; |
+ if (!isLoadingMainFrame()) { |
lunalu1
2016/09/20 14:55:49
Personal preference:
FeaturePolicy::createFromPare
iclelland
2016/10/14 19:37:49
Done (except that I omitted the "!" and swapped th
|
+ featurePolicy = FeaturePolicy::createFromParentPolicy(m_frame->client()->parent()->getFeaturePolicy(), m_frame->securityContext()->getSecurityOrigin()); |
+ } else { |
+ featurePolicy = FeaturePolicy::createFromParentPolicy(nullptr, m_frame->securityContext()->getSecurityOrigin()); |
+ } |
+ featurePolicy->addPolicyFromString(m_documentLoader->response().httpHeaderField(HTTPNames::Feature_Policy)); |
+ m_frame->setFeaturePolicy(featurePolicy); |
+ } |
} |
if (m_documentLoader && RuntimeEnabledFeatures::referrerPolicyHeaderEnabled()) { |