OLD | NEW |
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 "core/frame/FrameView.h" |
10 #include "platform/geometry/IntRect.h" | 10 #include "platform/geometry/IntRect.h" |
11 #include "platform/heap/Handle.h" | 11 #include "platform/heap/Handle.h" |
12 | 12 |
13 namespace blink { | 13 namespace blink { |
14 | 14 |
15 class CullRect; | 15 class CullRect; |
16 class GraphicsContext; | 16 class GraphicsContext; |
17 class RemoteFrame; | 17 class RemoteFrame; |
18 | 18 |
19 class RemoteFrameView final : public GarbageCollectedFinalized<RemoteFrameView>, | 19 class RemoteFrameView final : public GarbageCollectedFinalized<RemoteFrameView>, |
20 public FrameOrPlugin { | 20 public FrameOrPlugin { |
21 USING_GARBAGE_COLLECTED_MIXIN(RemoteFrameView); | 21 USING_GARBAGE_COLLECTED_MIXIN(RemoteFrameView); |
22 | 22 |
23 public: | 23 public: |
24 static RemoteFrameView* Create(RemoteFrame*); | 24 static RemoteFrameView* Create(RemoteFrame*); |
25 | 25 |
26 ~RemoteFrameView() override; | 26 ~RemoteFrameView() override; |
27 | 27 |
28 void SetParent(FrameView*) override; | 28 void SetParent(FrameView*) override; |
29 FrameView* Parent() const override { return parent_; } | 29 FrameView* Parent() const override; |
| 30 void SetFrameOrPluginState(FrameOrPluginState) override; |
| 31 FrameOrPluginState GetFrameOrPluginState() const { |
| 32 return remote_frame_view_state_; |
| 33 } |
| 34 FrameView* ParentFrameView() const; |
30 | 35 |
31 RemoteFrame& GetFrame() const { | 36 RemoteFrame& GetFrame() const { |
32 DCHECK(remote_frame_); | 37 DCHECK(remote_frame_); |
33 return *remote_frame_; | 38 return *remote_frame_; |
34 } | 39 } |
35 | 40 |
36 void Dispose() override; | 41 void Dispose() override; |
37 // Override to notify remote frame that its viewport size has changed. | 42 // Override to notify remote frame that its viewport size has changed. |
38 void FrameRectsChanged() override; | 43 void FrameRectsChanged() override; |
39 void InvalidateRect(const IntRect&); | 44 void InvalidateRect(const IntRect&); |
(...skipping 12 matching lines...) Expand all Loading... |
52 explicit RemoteFrameView(RemoteFrame*); | 57 explicit RemoteFrameView(RemoteFrame*); |
53 | 58 |
54 IntRect ConvertFromRootFrame(const IntRect&) const; | 59 IntRect ConvertFromRootFrame(const IntRect&) const; |
55 | 60 |
56 // The properties and handling of the cycle between RemoteFrame | 61 // The properties and handling of the cycle between RemoteFrame |
57 // and its RemoteFrameView corresponds to that between LocalFrame | 62 // and its RemoteFrameView corresponds to that between LocalFrame |
58 // and FrameView. Please see the FrameView::m_frame comment for | 63 // and FrameView. Please see the FrameView::m_frame comment for |
59 // details. | 64 // details. |
60 Member<RemoteFrame> remote_frame_; | 65 Member<RemoteFrame> remote_frame_; |
61 Member<FrameView> parent_; | 66 Member<FrameView> parent_; |
| 67 FrameOrPluginState remote_frame_view_state_; |
62 IntRect last_viewport_intersection_; | 68 IntRect last_viewport_intersection_; |
63 IntRect frame_rect_; | 69 IntRect frame_rect_; |
64 bool self_visible_; | 70 bool self_visible_; |
65 bool parent_visible_; | 71 bool parent_visible_; |
66 }; | 72 }; |
67 | 73 |
68 } // namespace blink | 74 } // namespace blink |
69 | 75 |
70 #endif // RemoteFrameView_h | 76 #endif // RemoteFrameView_h |
OLD | NEW |