Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / Source / web / RemoteFrameClientImpl.h
blobeb2342d87a0e26d08b8059cc0cadaeee73ee3059
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
3 // found in the LICENSE file.
5 #ifndef RemoteFrameClientImpl_h
6 #define RemoteFrameClientImpl_h
8 #include "core/frame/RemoteFrameClient.h"
10 namespace blink {
11 class WebRemoteFrameImpl;
13 class RemoteFrameClientImpl final : public RemoteFrameClient {
14 public:
15 static PassOwnPtrWillBeRawPtr<RemoteFrameClientImpl> create(WebRemoteFrameImpl*);
17 DECLARE_VIRTUAL_TRACE();
19 // FrameClient overrides:
20 bool inShadowTree() const override;
21 void willBeDetached() override;
22 void detached(FrameDetachType) override;
23 Frame* opener() const override;
24 void setOpener(Frame*) override;
25 Frame* parent() const override;
26 Frame* top() const override;
27 Frame* previousSibling() const override;
28 Frame* nextSibling() const override;
29 Frame* firstChild() const override;
30 Frame* lastChild() const override;
31 bool willCheckAndDispatchMessageEvent(SecurityOrigin*, MessageEvent*, LocalFrame*) const override;
33 // RemoteFrameClient overrides:
34 void navigate(const ResourceRequest&, bool shouldReplaceCurrentEntry) override;
35 void reload(FrameLoadType, ClientRedirectPolicy) override;
36 unsigned backForwardLength() override;
37 void forwardInputEvent(Event*) override;
38 void frameRectsChanged(const IntRect& frameRect) override;
40 WebRemoteFrameImpl* webFrame() const { return m_webFrame; }
42 private:
43 explicit RemoteFrameClientImpl(WebRemoteFrameImpl*);
45 RawPtrWillBeMember<WebRemoteFrameImpl> m_webFrame;
48 } // namespace blink
50 #endif // RemoteFrameClientImpl_h