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

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

Issue 2814643003: Remove FrameViewBase as base class of PluginView. (Closed)
Patch Set: Merge after dependency CL 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 "platform/FrameViewBase.h" 9 #include "platform/FrameViewBase.h"
9 #include "platform/geometry/IntRect.h" 10 #include "platform/geometry/IntRect.h"
10 #include "platform/heap/Handle.h" 11 #include "platform/heap/Handle.h"
11 12
12 namespace blink { 13 namespace blink {
13 14
15 class CullRect;
16 class GraphicsContext;
14 class RemoteFrame; 17 class RemoteFrame;
15 18
16 class RemoteFrameView final : public FrameViewBase { 19 class RemoteFrameView final : public FrameViewBase, public FrameOrPlugin {
20 USING_GARBAGE_COLLECTED_MIXIN(RemoteFrameView);
21
17 public: 22 public:
18 static RemoteFrameView* Create(RemoteFrame*); 23 static RemoteFrameView* Create(RemoteFrame*);
19 24
20 ~RemoteFrameView() override; 25 ~RemoteFrameView() override;
21 26
22 bool IsRemoteFrameView() const override { return true; } 27 bool IsRemoteFrameView() const override { return true; }
23 void SetParent(FrameViewBase*) override; 28 void SetParent(FrameViewBase*) override;
24 29
25 RemoteFrame& GetFrame() const { 30 RemoteFrame& GetFrame() const {
26 ASSERT(remote_frame_); 31 ASSERT(remote_frame_);
27 return *remote_frame_; 32 return *remote_frame_;
28 } 33 }
29 34
30 void Dispose() override; 35 void Dispose() override;
31 // Override to notify remote frame that its viewport size has changed. 36 // Override to notify remote frame that its viewport size has changed.
32 void FrameRectsChanged() override; 37 void FrameRectsChanged() override;
33 void InvalidateRect(const IntRect&) override; 38 void InvalidateRect(const IntRect&);
34 void SetFrameRect(const IntRect&) override; 39 void SetFrameRect(const IntRect&) override;
40 const IntRect& FrameRect() const override {
41 return FrameViewBase::FrameRect();
42 }
43 void Paint(GraphicsContext&, const CullRect&) const override {}
dcheng 2017/04/17 21:09:04 This is a bit tricky, because this overrides metho
joelhockey 2017/04/18 00:42:41 I would rather have FrameOrPlugin class be in core
dcheng 2017/04/18 00:56:31 Hmm. I guess this is fine for now given the reduce
35 void Hide() override; 44 void Hide() override;
36 void Show() override; 45 void Show() override;
37 void SetParentVisible(bool) override; 46 void SetParentVisible(bool) override;
38 47
39 DECLARE_VIRTUAL_TRACE(); 48 DECLARE_VIRTUAL_TRACE();
40 49
41 private: 50 private:
42 explicit RemoteFrameView(RemoteFrame*); 51 explicit RemoteFrameView(RemoteFrame*);
43 52
44 void UpdateRemoteViewportIntersection(); 53 void UpdateRemoteViewportIntersection();
45 54
46 // The properties and handling of the cycle between RemoteFrame 55 // The properties and handling of the cycle between RemoteFrame
47 // and its RemoteFrameView corresponds to that between LocalFrame 56 // and its RemoteFrameView corresponds to that between LocalFrame
48 // and FrameView. Please see the FrameView::m_frame comment for 57 // and FrameView. Please see the FrameView::m_frame comment for
49 // details. 58 // details.
50 Member<RemoteFrame> remote_frame_; 59 Member<RemoteFrame> remote_frame_;
51 60
52 IntRect last_viewport_intersection_; 61 IntRect last_viewport_intersection_;
53 }; 62 };
54 63
55 DEFINE_TYPE_CASTS(RemoteFrameView, 64 DEFINE_TYPE_CASTS(RemoteFrameView,
56 FrameViewBase, 65 FrameViewBase,
57 frameViewBase, 66 frameViewBase,
58 frameViewBase->IsRemoteFrameView(), 67 frameViewBase->IsRemoteFrameView(),
59 frameViewBase.IsRemoteFrameView()); 68 frameViewBase.IsRemoteFrameView());
60 69
61 } // namespace blink 70 } // namespace blink
62 71
63 #endif // RemoteFrameView_h 72 #endif // RemoteFrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698