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 WebRemoteFrameImpl_h | 5 #ifndef WebRemoteFrameImpl_h |
6 #define WebRemoteFrameImpl_h | 6 #define WebRemoteFrameImpl_h |
7 | 7 |
8 #include "core/frame/FrameOwner.h" | 8 #include "core/frame/FrameOwner.h" |
9 #include "platform/heap/Handle.h" | 9 #include "platform/heap/Handle.h" |
10 #include "public/web/WebRemoteFrame.h" | 10 #include "public/web/WebRemoteFrame.h" |
(...skipping 10 matching lines...) Expand all Loading... | |
21 class RemoteFrame; | 21 class RemoteFrame; |
22 | 22 |
23 // FIXME: This is just a placeholder frame owner to supply to RemoteFrame when | 23 // FIXME: This is just a placeholder frame owner to supply to RemoteFrame when |
24 // the parent is also a remote frame. Strictly speaking, this shouldn't be | 24 // the parent is also a remote frame. Strictly speaking, this shouldn't be |
25 // necessary, since a remote frame shouldn't ever need to communicate with a | 25 // necessary, since a remote frame shouldn't ever need to communicate with a |
26 // remote parent (there are no sandbox flags to retrieve in this case, nor can | 26 // remote parent (there are no sandbox flags to retrieve in this case, nor can |
27 // the RemoteFrame itself load a document). In most circumstances, the check for | 27 // the RemoteFrame itself load a document). In most circumstances, the check for |
28 // frame->owner() can be replaced with a check for frame->tree().parent(). Once | 28 // frame->owner() can be replaced with a check for frame->tree().parent(). Once |
29 // that's done, this class can be removed. | 29 // that's done, this class can be removed. |
30 class PlaceholderFrameOwner : public NoBaseWillBeGarbageCollectedFinalized<Place holderFrameOwner>, public FrameOwner { | 30 class PlaceholderFrameOwner : public NoBaseWillBeGarbageCollectedFinalized<Place holderFrameOwner>, public FrameOwner { |
31 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PlaceholderFrameOwner); | 31 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PlaceholderFrameOwner); |
dcheng
2015/01/06 23:06:44
Out of curiosity, why do we need a mixin at all he
haraken
2015/01/07 01:44:41
Hmm, you're right. I don't see any reason FrameOwn
sof
2015/01/07 06:18:01
Yes, well caught -- will remove that.
It depends
| |
32 public: | 32 public: |
33 virtual bool isLocal() const override; | 33 virtual bool isLocal() const override; |
34 virtual SandboxFlags sandboxFlags() const override; | 34 virtual SandboxFlags sandboxFlags() const override; |
35 virtual void dispatchLoad() override; | 35 virtual void dispatchLoad() override; |
36 | |
37 virtual void trace(Visitor*) override; | |
36 }; | 38 }; |
37 | 39 |
38 class WebRemoteFrameImpl final : public RefCountedWillBeGarbageCollectedFinalize d<WebRemoteFrameImpl>, public WebRemoteFrame { | 40 class WebRemoteFrameImpl final : public RefCountedWillBeGarbageCollectedFinalize d<WebRemoteFrameImpl>, public WebRemoteFrame { |
39 public: | 41 public: |
40 explicit WebRemoteFrameImpl(WebRemoteFrameClient*); | 42 explicit WebRemoteFrameImpl(WebRemoteFrameClient*); |
41 virtual ~WebRemoteFrameImpl(); | 43 virtual ~WebRemoteFrameImpl(); |
42 | 44 |
43 // WebRemoteFrame methods. | 45 // WebRemoteFrame methods. |
44 virtual bool isWebLocalFrame() const override; | 46 virtual bool isWebLocalFrame() const override; |
45 virtual WebLocalFrame* toWebLocalFrame() override; | 47 virtual WebLocalFrame* toWebLocalFrame() override; |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
223 GC_PLUGIN_IGNORE("340522") | 225 GC_PLUGIN_IGNORE("340522") |
224 Persistent<WebRemoteFrameImpl> m_selfKeepAlive; | 226 Persistent<WebRemoteFrameImpl> m_selfKeepAlive; |
225 #endif | 227 #endif |
226 }; | 228 }; |
227 | 229 |
228 DEFINE_TYPE_CASTS(WebRemoteFrameImpl, WebFrame, frame, frame->isWebRemoteFrame() , frame.isWebRemoteFrame()); | 230 DEFINE_TYPE_CASTS(WebRemoteFrameImpl, WebFrame, frame, frame->isWebRemoteFrame() , frame.isWebRemoteFrame()); |
229 | 231 |
230 } // namespace blink | 232 } // namespace blink |
231 | 233 |
232 #endif // WebRemoteFrameImpl_h | 234 #endif // WebRemoteFrameImpl_h |
OLD | NEW |