OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_COMMON_FRAME_OWNER_PROPERTIES_H_ | 5 #ifndef CONTENT_COMMON_FRAME_OWNER_PROPERTIES_H_ |
6 #define CONTENT_COMMON_FRAME_OWNER_PROPERTIES_H_ | 6 #define CONTENT_COMMON_FRAME_OWNER_PROPERTIES_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
11 #include "third_party/WebKit/public/platform/modules/permissions/permission.mojo
m.h" | 11 #include "third_party/WebKit/public/platform/modules/permissions/permission.mojo
m.h" |
12 #include "third_party/WebKit/public/web/WebFrameOwnerProperties.h" | 12 #include "third_party/WebKit/public/web/WebFrameOwnerProperties.h" |
13 | 13 |
14 namespace content { | 14 namespace content { |
15 | 15 |
16 // Used for IPC transport of WebFrameOwnerProperties. WebFrameOwnerProperties | 16 // Used for IPC transport of WebFrameOwnerProperties. WebFrameOwnerProperties |
17 // can't be used directly as it contains a WebVector which doesn't have | 17 // can't be used directly as it contains a WebVector which doesn't have |
18 // ParamTraits defined. | 18 // ParamTraits defined. |
19 struct CONTENT_EXPORT FrameOwnerProperties { | 19 struct CONTENT_EXPORT FrameOwnerProperties { |
20 FrameOwnerProperties(); | 20 FrameOwnerProperties(); |
21 FrameOwnerProperties(const FrameOwnerProperties& other); | 21 FrameOwnerProperties(const FrameOwnerProperties& other); |
22 explicit FrameOwnerProperties( | |
23 const blink::WebFrameOwnerProperties& web_frame_owner_properties); | |
24 ~FrameOwnerProperties(); | 22 ~FrameOwnerProperties(); |
25 | 23 |
26 blink::WebFrameOwnerProperties ToWebFrameOwnerProperties() const; | |
27 | |
28 bool operator==(const FrameOwnerProperties& other) const; | 24 bool operator==(const FrameOwnerProperties& other) const; |
29 bool operator!=(const FrameOwnerProperties& other) const { | 25 bool operator!=(const FrameOwnerProperties& other) const { |
30 return !(*this == other); | 26 return !(*this == other); |
31 } | 27 } |
32 | 28 |
33 std::string name; // browsing context container's name | 29 std::string name; // browsing context container's name |
34 blink::WebFrameOwnerProperties::ScrollingMode scrolling_mode; | 30 blink::WebFrameOwnerProperties::ScrollingMode scrolling_mode; |
35 int margin_width; | 31 int margin_width; |
36 int margin_height; | 32 int margin_height; |
37 bool allow_fullscreen; | 33 bool allow_fullscreen; |
38 bool allow_payment_request; | 34 bool allow_payment_request; |
39 | 35 |
40 // An experimental attribute to be used by a parent frame to enforce CSP on a | 36 // An experimental attribute to be used by a parent frame to enforce CSP on a |
41 // subframe. This is different from replicated CSP headers kept in | 37 // subframe. This is different from replicated CSP headers kept in |
42 // FrameReplicationState that keep track of CSP headers currently in effect | 38 // FrameReplicationState that keep track of CSP headers currently in effect |
43 // for a frame. See https://crbug.com/647588 and | 39 // for a frame. See https://crbug.com/647588 and |
44 // https://www.w3.org/TR/csp-embedded-enforcement/#required-csp | 40 // https://www.w3.org/TR/csp-embedded-enforcement/#required-csp |
45 std::string required_csp; | 41 std::string required_csp; |
46 | 42 |
47 std::vector<blink::mojom::PermissionName> delegated_permissions; | 43 std::vector<blink::mojom::PermissionName> delegated_permissions; |
48 }; | 44 }; |
49 | 45 |
50 } // namespace content | 46 } // namespace content |
51 | 47 |
52 #endif // CONTENT_COMMON_FRAME_OWNER_PROPERTIES_H_ | 48 #endif // CONTENT_COMMON_FRAME_OWNER_PROPERTIES_H_ |
OLD | NEW |