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"
11 class WebRemoteFrameImpl
;
13 class RemoteFrameClientImpl final
: public RemoteFrameClient
{
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
; }
43 explicit RemoteFrameClientImpl(WebRemoteFrameImpl
*);
45 RawPtrWillBeMember
<WebRemoteFrameImpl
> m_webFrame
;
50 #endif // RemoteFrameClientImpl_h