| Index: content/common/frame_messages.h
|
| diff --git a/content/common/frame_messages.h b/content/common/frame_messages.h
|
| index 5a649f33c11cac3a225292ede4805162231b013b..44b0c19f65a7895fc12337de0770d853d6a88a31 100644
|
| --- a/content/common/frame_messages.h
|
| +++ b/content/common/frame_messages.h
|
| @@ -18,7 +18,7 @@
|
| #include "cc/surfaces/surface_sequence.h"
|
| #include "content/common/content_export.h"
|
| #include "content/common/content_param_traits.h"
|
| -#include "content/common/content_security_policy_header.h"
|
| +#include "content/common/content_security_policy_structs.h"
|
| #include "content/common/frame_message_enums.h"
|
| #include "content/common/frame_owner_properties.h"
|
| #include "content/common/frame_replication_state.h"
|
| @@ -557,6 +557,17 @@ IPC_STRUCT_BEGIN(FrameHostMsg_CreateChildFrame_Params)
|
| IPC_STRUCT_MEMBER(content::FrameOwnerProperties, frame_owner_properties)
|
| IPC_STRUCT_END()
|
|
|
| +IPC_STRUCT_TRAITS_BEGIN(content::ContentSecurityPolicyViolation)
|
| + IPC_STRUCT_TRAITS_MEMBER(directive_text)
|
| + IPC_STRUCT_TRAITS_MEMBER(effective_directive)
|
| + IPC_STRUCT_TRAITS_MEMBER(console_message)
|
| + IPC_STRUCT_TRAITS_MEMBER(blocked_url)
|
| + IPC_STRUCT_TRAITS_MEMBER(report_endpoints)
|
| + IPC_STRUCT_TRAITS_MEMBER(header)
|
| + IPC_STRUCT_TRAITS_MEMBER(violation_type)
|
| + IPC_STRUCT_TRAITS_MEMBER(followed_redirect)
|
| +IPC_STRUCT_TRAITS_END()
|
| +
|
| IPC_STRUCT_TRAITS_BEGIN(content::ContentSecurityPolicyHeader)
|
| IPC_STRUCT_TRAITS_MEMBER(header_value)
|
| IPC_STRUCT_TRAITS_MEMBER(type)
|
| @@ -811,6 +822,17 @@ IPC_MESSAGE_ROUTED1(FrameMsg_AddContentSecurityPolicy,
|
| // Resets ContentSecurityPolicy in a frame proxy / in RemoteSecurityContext.
|
| IPC_MESSAGE_ROUTED0(FrameMsg_ResetContentSecurityPolicy)
|
|
|
| +// Asks the frame to report a Content Security Policy violation that was
|
| +// detected in another process (i.e. in another renderer process -
|
| +// https://crbug.com/611232 [e.g. when frame-src is violated when the
|
| +// parent frame is remote] or [in the future] in the browser process -
|
| +// https://crbug.com/376522). In this case we use the IPC message below
|
| +// to notify the frame where Content Security Policy originated from, so
|
| +// that *this* frame can raise SecurityPolicyViolationEvent event and
|
| +// finish reporting the violation.
|
| +IPC_MESSAGE_ROUTED1(FrameMsg_ReportContentSecurityPolicyViolation,
|
| + content::ContentSecurityPolicyViolation)
|
| +
|
| // Update a proxy's replicated enforcement of insecure request policy.
|
| // Used when the frame's policy is changed in another process.
|
| IPC_MESSAGE_ROUTED1(FrameMsg_EnforceInsecureRequestPolicy,
|
| @@ -1066,6 +1088,14 @@ IPC_MESSAGE_ROUTED2(FrameHostMsg_DidChangeName,
|
| IPC_MESSAGE_ROUTED1(FrameHostMsg_DidAddContentSecurityPolicy,
|
| content::ContentSecurityPolicyHeader)
|
|
|
| +// Asks the browser to forward a Content Security Policy violation from a frame
|
| +// proxy to the real frame. See also
|
| +// FrameMsg_ReportContentSecurityPolicyViolation.
|
| +IPC_MESSAGE_ROUTED2(
|
| + FrameHostMsg_ForwardContentSecurityPolicyViolation,
|
| + url::Origin /* Origin of frame declaring the violated CSP */,
|
| + content::ContentSecurityPolicyViolation)
|
| +
|
| // Sent when the frame starts enforcing an insecure request policy. Sending
|
| // this information in DidCommitProvisionalLoad isn't sufficient; this
|
| // message is needed because, for example, a document can dynamically insert
|
|
|