Chromium Code Reviews| Index: third_party/WebKit/Source/core/frame/RemoteFrameView.h |
| diff --git a/third_party/WebKit/Source/core/frame/RemoteFrameView.h b/third_party/WebKit/Source/core/frame/RemoteFrameView.h |
| index 2bd5d74d679a9133050dc1c2642b0e049900a605..9026625253064e4a371b69a9756877574de63dac 100644 |
| --- a/third_party/WebKit/Source/core/frame/RemoteFrameView.h |
| +++ b/third_party/WebKit/Source/core/frame/RemoteFrameView.h |
| @@ -6,6 +6,7 @@ |
| #define RemoteFrameView_h |
| #include "core/frame/FrameOrPlugin.h" |
| +#include "core/frame/FrameView.h" |
| #include "platform/FrameViewBase.h" |
| #include "platform/geometry/IntRect.h" |
| #include "platform/heap/Handle.h" |
| @@ -16,7 +17,9 @@ class CullRect; |
| class GraphicsContext; |
| class RemoteFrame; |
| -class RemoteFrameView final : public FrameViewBase, public FrameOrPlugin { |
| +class RemoteFrameView final : public GarbageCollectedFinalized<RemoteFrameView>, |
| + public FrameViewBase, |
| + public FrameOrPlugin { |
| USING_GARBAGE_COLLECTED_MIXIN(RemoteFrameView); |
| public: |
| @@ -26,6 +29,7 @@ class RemoteFrameView final : public FrameViewBase, public FrameOrPlugin { |
| bool IsRemoteFrameView() const override { return true; } |
| void SetParent(FrameViewBase*) override; |
| + FrameViewBase* Parent() const override { return parent_; } |
| RemoteFrame& GetFrame() const { |
| ASSERT(remote_frame_); |
| @@ -37,9 +41,8 @@ class RemoteFrameView final : public FrameViewBase, public FrameOrPlugin { |
| void FrameRectsChanged() override; |
| void InvalidateRect(const IntRect&); |
| void SetFrameRect(const IntRect&) override; |
| - const IntRect& FrameRect() const override { |
| - return FrameViewBase::FrameRect(); |
| - } |
| + const IntRect& FrameRect() const override { return frame_rect_; } |
| + IntPoint Location() const override { return frame_rect_.Location(); } |
| void Paint(GraphicsContext&, const CullRect&) const override {} |
| void Hide() override; |
| void Show() override; |
| @@ -59,8 +62,11 @@ class RemoteFrameView final : public FrameViewBase, public FrameOrPlugin { |
| // and FrameView. Please see the FrameView::m_frame comment for |
| // details. |
| Member<RemoteFrame> remote_frame_; |
| - |
| + Member<FrameView> parent_; |
|
dcheng
2017/04/25 23:38:51
Are we going to have some way of sharing this betw
joelhockey
2017/04/26 07:48:37
FrameOrPlugin (LayoutController) could end up hold
dcheng
2017/04/26 08:16:15
I think the long-term idea is to get rid of the pa
|
| IntRect last_viewport_intersection_; |
| + IntRect frame_rect_; |
| + bool self_visible_; |
| + bool parent_visible_; |
| }; |
| DEFINE_TYPE_CASTS(RemoteFrameView, |