OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 WebRemoteFrame_h | 5 #ifndef WebRemoteFrame_h |
6 #define WebRemoteFrame_h | 6 #define WebRemoteFrame_h |
7 | 7 |
| 8 #include "public/web/WebContentSecurityPolicy.h" |
8 #include "public/web/WebFrame.h" | 9 #include "public/web/WebFrame.h" |
9 #include "public/web/WebSandboxFlags.h" | 10 #include "public/web/WebSandboxFlags.h" |
10 | 11 |
11 namespace blink { | 12 namespace blink { |
12 | 13 |
13 enum class WebTreeScopeType; | 14 enum class WebTreeScopeType; |
14 class WebFrameClient; | 15 class WebFrameClient; |
15 class WebRemoteFrameClient; | 16 class WebRemoteFrameClient; |
| 17 class WebString; |
16 | 18 |
17 class WebRemoteFrame : public WebFrame { | 19 class WebRemoteFrame : public WebFrame { |
18 public: | 20 public: |
19 BLINK_EXPORT static WebRemoteFrame* create(WebTreeScopeType, WebRemoteFrameC
lient*, WebFrame* opener = nullptr); | 21 BLINK_EXPORT static WebRemoteFrame* create(WebTreeScopeType, WebRemoteFrameC
lient*, WebFrame* opener = nullptr); |
20 | 22 |
21 // Functions for the embedder replicate the frame tree between processes. | 23 // Functions for the embedder replicate the frame tree between processes. |
22 // TODO(dcheng): The embedder currently does not replicate local frames in | 24 // TODO(dcheng): The embedder currently does not replicate local frames in |
23 // insertion order, so the local child version takes a previous sibling to | 25 // insertion order, so the local child version takes a previous sibling to |
24 // ensure that it is inserted into the correct location in the list of | 26 // ensure that it is inserted into the correct location in the list of |
25 // children. | 27 // children. |
26 virtual WebLocalFrame* createLocalChild(WebTreeScopeType, const WebString& n
ame, const WebString& uniqueName, WebSandboxFlags, WebFrameClient*, WebFrame* pr
eviousSibling, const WebFrameOwnerProperties&, WebFrame* opener) = 0; | 28 virtual WebLocalFrame* createLocalChild(WebTreeScopeType, const WebString& n
ame, const WebString& uniqueName, WebSandboxFlags, WebFrameClient*, WebFrame* pr
eviousSibling, const WebFrameOwnerProperties&, WebFrame* opener) = 0; |
27 | 29 |
28 virtual WebRemoteFrame* createRemoteChild(WebTreeScopeType, const WebString&
name, const WebString& uniqueName, WebSandboxFlags, WebRemoteFrameClient*, WebF
rame* opener) = 0; | 30 virtual WebRemoteFrame* createRemoteChild(WebTreeScopeType, const WebString&
name, const WebString& uniqueName, WebSandboxFlags, WebRemoteFrameClient*, WebF
rame* opener) = 0; |
29 | 31 |
30 // Transfer initial drawing parameters from a local frame. | 32 // Transfer initial drawing parameters from a local frame. |
31 virtual void initializeFromFrame(WebLocalFrame*) const = 0; | 33 virtual void initializeFromFrame(WebLocalFrame*) const = 0; |
32 | 34 |
33 // Set security origin replicated from another process. | 35 // Set security origin replicated from another process. |
34 virtual void setReplicatedOrigin(const WebSecurityOrigin&) const = 0; | 36 virtual void setReplicatedOrigin(const WebSecurityOrigin&) const = 0; |
35 | 37 |
36 // Set sandbox flags replicated from another process. | 38 // Set sandbox flags replicated from another process. |
37 virtual void setReplicatedSandboxFlags(WebSandboxFlags) const = 0; | 39 virtual void setReplicatedSandboxFlags(WebSandboxFlags) const = 0; |
38 | 40 |
39 // Set frame |name| and |uniqueName| replicated from another process. | 41 // Set frame |name| and |uniqueName| replicated from another process. |
40 virtual void setReplicatedName(const WebString& name, const WebString& uniqu
eName) const = 0; | 42 virtual void setReplicatedName(const WebString& name, const WebString& uniqu
eName) const = 0; |
41 | 43 |
| 44 // Adds |header| to the set of replicated CSP headers. |
| 45 virtual void addReplicatedContentSecurityPolicyHeader(const WebString& heade
rValue, WebContentSecurityPolicyType, WebContentSecurityPolicySource) const = 0; |
| 46 |
| 47 // Resets replicated CSP headers to an empty set. |
| 48 virtual void resetReplicatedContentSecurityPolicy() const = 0; |
| 49 |
42 // Set frame enforcement of strict mixed content checking replicated from an
other process. | 50 // Set frame enforcement of strict mixed content checking replicated from an
other process. |
43 virtual void setReplicatedShouldEnforceStrictMixedContentChecking(bool) cons
t = 0; | 51 virtual void setReplicatedShouldEnforceStrictMixedContentChecking(bool) cons
t = 0; |
44 | 52 |
45 // Set the frame to a unique origin that is potentially trustworthy, | 53 // Set the frame to a unique origin that is potentially trustworthy, |
46 // replicated from another process. | 54 // replicated from another process. |
47 virtual void setReplicatedPotentiallyTrustworthyUniqueOrigin(bool) const = 0
; | 55 virtual void setReplicatedPotentiallyTrustworthyUniqueOrigin(bool) const = 0
; |
48 | 56 |
49 virtual void DispatchLoadEventForFrameOwner() const = 0; | 57 virtual void DispatchLoadEventForFrameOwner() const = 0; |
50 | 58 |
51 virtual void didStartLoading() = 0; | 59 virtual void didStartLoading() = 0; |
(...skipping 14 matching lines...) Expand all Loading... |
66 // to call these on a WebRemoteFrame. | 74 // to call these on a WebRemoteFrame. |
67 bool isWebLocalFrame() const override = 0; | 75 bool isWebLocalFrame() const override = 0; |
68 WebLocalFrame* toWebLocalFrame() override = 0; | 76 WebLocalFrame* toWebLocalFrame() override = 0; |
69 bool isWebRemoteFrame() const override = 0; | 77 bool isWebRemoteFrame() const override = 0; |
70 WebRemoteFrame* toWebRemoteFrame() override = 0; | 78 WebRemoteFrame* toWebRemoteFrame() override = 0; |
71 }; | 79 }; |
72 | 80 |
73 } // namespace blink | 81 } // namespace blink |
74 | 82 |
75 #endif // WebRemoteFrame_h | 83 #endif // WebRemoteFrame_h |
OLD | NEW |