Chromium Code Reviews| 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 CONTENT_BROWSER_FRAME_HOST_CROSS_PROCESS_FRAME_CONNECTOR_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_CROSS_PROCESS_FRAME_CONNECTOR_H_ |
| 6 #define CONTENT_BROWSER_FRAME_HOST_CROSS_PROCESS_FRAME_CONNECTOR_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_CROSS_PROCESS_FRAME_CONNECTOR_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "cc/output/compositor_frame.h" | 10 #include "cc/output/compositor_frame.h" |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 21 class SurfaceId; | 21 class SurfaceId; |
| 22 class SurfaceInfo; | 22 class SurfaceInfo; |
| 23 struct SurfaceSequence; | 23 struct SurfaceSequence; |
| 24 } | 24 } |
| 25 | 25 |
| 26 namespace IPC { | 26 namespace IPC { |
| 27 class Message; | 27 class Message; |
| 28 } | 28 } |
| 29 | 29 |
| 30 namespace content { | 30 namespace content { |
| 31 class MockCrossProcessFrameConnector; | |
|
ncarter (slow)
2017/05/30 17:51:09
"friend class" doesn't actually require forward de
kenrb
2017/05/30 18:25:10
Done.
| |
| 31 class RenderFrameProxyHost; | 32 class RenderFrameProxyHost; |
| 32 class RenderWidgetHostViewBase; | 33 class RenderWidgetHostViewBase; |
| 33 class RenderWidgetHostViewChildFrame; | 34 class RenderWidgetHostViewChildFrame; |
| 34 class WebCursor; | 35 class WebCursor; |
| 35 | 36 |
| 36 // CrossProcessFrameConnector provides the platform view abstraction for | 37 // CrossProcessFrameConnector provides the platform view abstraction for |
| 37 // RenderWidgetHostViewChildFrame allowing RWHVChildFrame to remain ignorant | 38 // RenderWidgetHostViewChildFrame allowing RWHVChildFrame to remain ignorant |
| 38 // of RenderFrameHost. | 39 // of RenderFrameHost. |
| 39 // | 40 // |
| 40 // The RenderWidgetHostView of an out-of-process child frame needs to | 41 // The RenderWidgetHostView of an out-of-process child frame needs to |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 126 | 127 |
| 127 // Unlocks the mouse if the mouse is locked. | 128 // Unlocks the mouse if the mouse is locked. |
| 128 void UnlockMouse(); | 129 void UnlockMouse(); |
| 129 | 130 |
| 130 // Returns the parent RenderWidgetHostView or nullptr it it doesn't have one. | 131 // Returns the parent RenderWidgetHostView or nullptr it it doesn't have one. |
| 131 virtual RenderWidgetHostViewBase* GetParentRenderWidgetHostView(); | 132 virtual RenderWidgetHostViewBase* GetParentRenderWidgetHostView(); |
| 132 | 133 |
| 133 // Returns the view for the top-level frame under the same WebContents. | 134 // Returns the view for the top-level frame under the same WebContents. |
| 134 RenderWidgetHostViewBase* GetRootRenderWidgetHostView(); | 135 RenderWidgetHostViewBase* GetRootRenderWidgetHostView(); |
| 135 | 136 |
| 137 gfx::Rect viewport_intersection() const { | |
| 138 return viewport_intersection_rect_; | |
| 139 } | |
| 140 | |
| 136 // Exposed for tests. | 141 // Exposed for tests. |
| 137 RenderWidgetHostViewBase* GetRootRenderWidgetHostViewForTesting() { | 142 RenderWidgetHostViewBase* GetRootRenderWidgetHostViewForTesting() { |
| 138 return GetRootRenderWidgetHostView(); | 143 return GetRootRenderWidgetHostView(); |
| 139 } | 144 } |
| 140 | 145 |
| 141 private: | 146 private: |
| 147 friend class MockCrossProcessFrameConnector; | |
| 148 | |
| 142 // Handlers for messages received from the parent frame. | 149 // Handlers for messages received from the parent frame. |
| 143 void OnFrameRectChanged(const gfx::Rect& frame_rect); | 150 void OnFrameRectChanged(const gfx::Rect& frame_rect); |
| 144 void OnUpdateViewportIntersection(const gfx::Rect& viewport_intersection); | 151 void OnUpdateViewportIntersection(const gfx::Rect& viewport_intersection); |
| 145 void OnVisibilityChanged(bool visible); | 152 void OnVisibilityChanged(bool visible); |
| 146 void OnSatisfySequence(const cc::SurfaceSequence& sequence); | 153 void OnSatisfySequence(const cc::SurfaceSequence& sequence); |
| 147 void OnRequireSequence(const cc::SurfaceId& id, | 154 void OnRequireSequence(const cc::SurfaceId& id, |
| 148 const cc::SurfaceSequence& sequence); | 155 const cc::SurfaceSequence& sequence); |
| 149 | 156 |
| 150 void SetRect(const gfx::Rect& frame_rect); | 157 void SetRect(const gfx::Rect& frame_rect); |
| 151 | 158 |
| 152 // The RenderFrameProxyHost that routes messages to the parent frame's | 159 // The RenderFrameProxyHost that routes messages to the parent frame's |
| 153 // renderer process. | 160 // renderer process. |
| 154 RenderFrameProxyHost* frame_proxy_in_parent_renderer_; | 161 RenderFrameProxyHost* frame_proxy_in_parent_renderer_; |
| 155 | 162 |
| 156 // The RenderWidgetHostView for the frame. Initially NULL. | 163 // The RenderWidgetHostView for the frame. Initially NULL. |
| 157 RenderWidgetHostViewChildFrame* view_; | 164 RenderWidgetHostViewChildFrame* view_; |
| 158 | 165 |
| 159 gfx::Rect child_frame_rect_; | 166 gfx::Rect child_frame_rect_; |
| 167 gfx::Rect viewport_intersection_rect_; | |
| 160 | 168 |
| 161 bool is_scroll_bubbling_; | 169 bool is_scroll_bubbling_; |
| 162 }; | 170 }; |
| 163 | 171 |
| 164 } // namespace content | 172 } // namespace content |
| 165 | 173 |
| 166 #endif // CONTENT_BROWSER_FRAME_HOST_CROSS_PROCESS_FRAME_CONNECTOR_H_ | 174 #endif // CONTENT_BROWSER_FRAME_HOST_CROSS_PROCESS_FRAME_CONNECTOR_H_ |
| 167 | 175 |
| OLD | NEW |