Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(723)

Unified Diff: content/common/frame_replication_state.h

Issue 2520223002: Replicate a parsed feature policy representation so it doesn't need to be parsed in the browser pro… (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/frame_replication_state.h
diff --git a/content/common/frame_replication_state.h b/content/common/frame_replication_state.h
index cc8d4780d30615511950eba6ba1b31482c13bbea..6f14b7f92ff37acf6f6dbff314f543d7ba34b99a 100644
--- a/content/common/frame_replication_state.h
+++ b/content/common/frame_replication_state.h
@@ -10,6 +10,7 @@
#include "content/common/content_export.h"
#include "content/common/content_security_policy_header.h"
+#include "third_party/WebKit/public/platform/WebFeaturePolicy.h"
#include "third_party/WebKit/public/platform/WebInsecureRequestPolicy.h"
#include "url/origin.h"
@@ -20,6 +21,24 @@ enum class WebSandboxFlags;
namespace content {
+struct FeaturePolicyParsedWhitelist {
+ static std::vector<FeaturePolicyParsedWhitelist>
+ fromWebFeaturePolicyParsedWhitelist(
+ const blink::WebVector<blink::WebFeaturePolicy::ParsedWhitelist>&
+ web_parsed_whitelists);
+ static blink::WebVector<blink::WebFeaturePolicy::ParsedWhitelist>
+ toWebFeaturePolicyParsedWhitelist(
+ const std::vector<FeaturePolicyParsedWhitelist>& parsed_whitelists);
+
+ FeaturePolicyParsedWhitelist();
+ FeaturePolicyParsedWhitelist(const FeaturePolicyParsedWhitelist& fpw);
+ ~FeaturePolicyParsedWhitelist();
+
+ std::string feature_name;
+ bool matches_all_origins;
+ std::vector<std::string> origins;
+};
+
// This structure holds information that needs to be replicated between a
// RenderFrame and any of its associated RenderFrameProxies.
struct CONTENT_EXPORT FrameReplicationState {
@@ -84,9 +103,9 @@ struct CONTENT_EXPORT FrameReplicationState {
// scratch.
std::string unique_name;
- // Feature policy header. May be empty if no header was sent with the
+ // Parsed feature policy header. May be empty if no header was sent with the
// document.
- std::string feature_policy_header;
+ std::vector<FeaturePolicyParsedWhitelist> feature_policy_header;
// Accumulated CSP headers - gathered from http headers, <meta> elements,
// parent frames (in case of about:blank frames).

Powered by Google App Engine
This is Rietveld 408576698