summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/core/frame/RemoteFrameView.h
blob: a8d31f2e21ed0313079e2acf0c2543f3200dfe46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef RemoteFrameView_h
#define RemoteFrameView_h

#include "platform/Widget.h"
#include "platform/geometry/IntRect.h"

namespace WebCore {

class RemoteFrame;

class RemoteFrameView : public Widget {
public:
    static PassRefPtr<RemoteFrameView> create(RemoteFrame*);

    virtual ~RemoteFrameView();

    virtual bool isRemoteFrameView() const OVERRIDE { return true; }

    RemoteFrame& frame() const { return *m_remoteFrame; }

    // Override to notify remote frame that its viewport size has changed.
    virtual void frameRectsChanged() OVERRIDE;

    virtual void invalidateRect(const IntRect&) OVERRIDE;

    virtual void setFrameRect(const IntRect&) OVERRIDE;

private:
    explicit RemoteFrameView(RemoteFrame*);

    RefPtr<RemoteFrame> m_remoteFrame;
};

DEFINE_TYPE_CASTS(RemoteFrameView, Widget, widget, widget->isRemoteFrameView(), widget.isRemoteFrameView());

} // namespace WebCore

#endif // RemoteFrameView_h