Replicate a parsed feature policy representation so it doesn't need to be parsed in the browser process

Currently we just replicated the feature policy header as a raw string. However
we need to reconstruct the header in the browser process and we can't do that
from a string. So instead we propagate a parsed representation of it in the
replication state.

BUG=661273
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2520223002
Cr-Commit-Position: refs/heads/master@{#436454}
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index e45410b1..0f30095 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -51,6 +51,7 @@
 #include "services/service_manager/public/interfaces/connector.mojom.h"
 #include "services/service_manager/public/interfaces/interface_provider.mojom.h"
 #include "third_party/WebKit/public/platform/WebEffectiveConnectionType.h"
+#include "third_party/WebKit/public/platform/WebFeaturePolicy.h"
 #include "third_party/WebKit/public/platform/WebFocusType.h"
 #include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h"
 #include "third_party/WebKit/public/platform/WebMediaPlayer.h"
@@ -487,7 +488,8 @@
       bool is_potentially_trustworthy_unique_origin) override;
   void didChangeSandboxFlags(blink::WebFrame* child_frame,
                              blink::WebSandboxFlags flags) override;
-  void didSetFeaturePolicyHeader(const blink::WebString& header_value) override;
+  void didSetFeaturePolicyHeader(
+      const blink::WebParsedFeaturePolicy& parsed_header) override;
   void didAddContentSecurityPolicy(
       const blink::WebString& header_value,
       blink::WebContentSecurityPolicyType type,