Index: content/browser/frame_host/csp_context_impl.h |
diff --git a/content/browser/frame_host/csp_context_impl.h b/content/browser/frame_host/csp_context_impl.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..46020a46a3697b9ea27cf4ef2e6871352cb1e4e6 |
--- /dev/null |
+++ b/content/browser/frame_host/csp_context_impl.h |
@@ -0,0 +1,32 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CONTENT_BROWSER_FRAME_HOST_CSP_CONTEXT_IMPL_H_ |
+#define CONTENT_BROWSER_FRAME_HOST_CSP_CONTEXT_IMPL_H_ |
+ |
+#include "content/common/content_security_policy/csp_context.h" |
+ |
+namespace content { |
+ |
+class FrameTreeNode; |
+ |
+class CSPContextImpl : public CSPContext { |
nasko
2017/02/15 21:28:44
Why do we need to subclass? Also, missing a class
arthursonzogni
2017/02/16 17:32:40
Because I have to implement the virtual methods
T
alexmos
2017/02/24 06:40:27
As an alternative to this, would it be easier if R
arthursonzogni
2017/02/24 16:13:29
Yes, it might be a good idea.
I am just a little b
alexmos
2017/03/01 02:22:28
Thanks for trying this out! On one hand, I like t
nasko
2017/03/03 23:16:53
I like the methods being folded into RFH and avoid
alexmos
2017/03/03 23:40:35
I like IsAllowedByCsp() - I think we can go with t
arthursonzogni
2017/03/06 15:09:02
Done.
|
+ public: |
+ CSPContextImpl(FrameTreeNode* frame_tree_node); |
+ void LogToConsole(const std::string& message) override; |
+ |
+ // Inform the renderer process that a navigation has been blocked by a content |
+ // security policy. |
+ void ReportViolation(const CSPViolationParams& violation_params) override; |
+ |
+ private: |
+ bool SchemeShouldBypassCSP(const base::StringPiece& scheme) override; |
+ |
+ // Never nullptr; |
+ FrameTreeNode* frame_tree_node_; |
+}; |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_BROWSER_FRAME_HOST_CSP_CONTEXT_IMPL_H_ */ |