Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: third_party/WebKit/Source/core/frame/RemoteFrameView.h

Issue 2843693003: Move methods from FrameViewBase to FrameView. (Closed)
Patch Set: more scrollbar revert Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 RemoteFrameView_h 5 #ifndef RemoteFrameView_h
6 #define RemoteFrameView_h 6 #define RemoteFrameView_h
7 7
8 #include "core/frame/FrameOrPlugin.h" 8 #include "core/frame/FrameOrPlugin.h"
9 #include "core/frame/FrameView.h"
9 #include "platform/FrameViewBase.h" 10 #include "platform/FrameViewBase.h"
10 #include "platform/geometry/IntRect.h" 11 #include "platform/geometry/IntRect.h"
11 #include "platform/heap/Handle.h" 12 #include "platform/heap/Handle.h"
12 13
13 namespace blink { 14 namespace blink {
14 15
15 class CullRect; 16 class CullRect;
16 class GraphicsContext; 17 class GraphicsContext;
17 class RemoteFrame; 18 class RemoteFrame;
18 19
19 class RemoteFrameView final : public FrameViewBase, public FrameOrPlugin { 20 class RemoteFrameView final : public GarbageCollectedFinalized<RemoteFrameView>,
21 public FrameViewBase,
22 public FrameOrPlugin {
20 USING_GARBAGE_COLLECTED_MIXIN(RemoteFrameView); 23 USING_GARBAGE_COLLECTED_MIXIN(RemoteFrameView);
21 24
22 public: 25 public:
23 static RemoteFrameView* Create(RemoteFrame*); 26 static RemoteFrameView* Create(RemoteFrame*);
24 27
25 ~RemoteFrameView() override; 28 ~RemoteFrameView() override;
26 29
27 bool IsRemoteFrameView() const override { return true; } 30 bool IsRemoteFrameView() const override { return true; }
28 void SetParent(FrameViewBase*) override; 31 void SetParent(FrameViewBase*) override;
32 FrameViewBase* Parent() const override { return parent_; }
29 33
30 RemoteFrame& GetFrame() const { 34 RemoteFrame& GetFrame() const {
31 ASSERT(remote_frame_); 35 ASSERT(remote_frame_);
32 return *remote_frame_; 36 return *remote_frame_;
33 } 37 }
34 38
35 void Dispose() override; 39 void Dispose() override;
36 // Override to notify remote frame that its viewport size has changed. 40 // Override to notify remote frame that its viewport size has changed.
37 void FrameRectsChanged() override; 41 void FrameRectsChanged() override;
38 void InvalidateRect(const IntRect&); 42 void InvalidateRect(const IntRect&);
39 void SetFrameRect(const IntRect&) override; 43 void SetFrameRect(const IntRect&) override;
40 const IntRect& FrameRect() const override { 44 const IntRect& FrameRect() const override { return frame_rect_; }
41 return FrameViewBase::FrameRect(); 45 IntPoint Location() const override { return frame_rect_.Location(); }
42 }
43 void Paint(GraphicsContext&, const CullRect&) const override {} 46 void Paint(GraphicsContext&, const CullRect&) const override {}
44 void Hide() override; 47 void Hide() override;
45 void Show() override; 48 void Show() override;
46 void SetParentVisible(bool) override; 49 void SetParentVisible(bool) override;
47 50
48 IntRect ConvertFromContainingFrameViewBase(const IntRect&) const override; 51 IntRect ConvertFromContainingFrameViewBase(const IntRect&) const override;
49 52
50 DECLARE_VIRTUAL_TRACE(); 53 DECLARE_VIRTUAL_TRACE();
51 54
52 private: 55 private:
53 explicit RemoteFrameView(RemoteFrame*); 56 explicit RemoteFrameView(RemoteFrame*);
54 57
55 void UpdateRemoteViewportIntersection(); 58 void UpdateRemoteViewportIntersection();
56 59
57 // The properties and handling of the cycle between RemoteFrame 60 // The properties and handling of the cycle between RemoteFrame
58 // and its RemoteFrameView corresponds to that between LocalFrame 61 // and its RemoteFrameView corresponds to that between LocalFrame
59 // and FrameView. Please see the FrameView::m_frame comment for 62 // and FrameView. Please see the FrameView::m_frame comment for
60 // details. 63 // details.
61 Member<RemoteFrame> remote_frame_; 64 Member<RemoteFrame> remote_frame_;
62 65 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
63 IntRect last_viewport_intersection_; 66 IntRect last_viewport_intersection_;
67 IntRect frame_rect_;
68 bool self_visible_;
69 bool parent_visible_;
64 }; 70 };
65 71
66 DEFINE_TYPE_CASTS(RemoteFrameView, 72 DEFINE_TYPE_CASTS(RemoteFrameView,
67 FrameViewBase, 73 FrameViewBase,
68 frameViewBase, 74 frameViewBase,
69 frameViewBase->IsRemoteFrameView(), 75 frameViewBase->IsRemoteFrameView(),
70 frameViewBase.IsRemoteFrameView()); 76 frameViewBase.IsRemoteFrameView());
71 77
72 } // namespace blink 78 } // namespace blink
73 79
74 #endif // RemoteFrameView_h 80 #endif // RemoteFrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698