d9e32c92c8b81208799128aca192fbdcdc109173
[platform/framework/web/crosswalk.git] / src / content / browser / frame_host / render_widget_host_view_child_frame.cc
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
3 // found in the LICENSE file.
4
5 #include "content/browser/frame_host/render_widget_host_view_child_frame.h"
6
7 #include "content/browser/frame_host/cross_process_frame_connector.h"
8 #include "content/browser/renderer_host/render_widget_host_impl.h"
9 #include "content/common/gpu/gpu_messages.h"
10 #include "content/common/view_messages.h"
11 #include "content/public/browser/render_process_host.h"
12
13 namespace content {
14
15 RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame(
16     RenderWidgetHost* widget_host)
17     : host_(RenderWidgetHostImpl::From(widget_host)),
18       frame_connector_(NULL) {
19   host_->SetView(this);
20 }
21
22 RenderWidgetHostViewChildFrame::~RenderWidgetHostViewChildFrame() {
23 }
24
25 void RenderWidgetHostViewChildFrame::InitAsChild(
26     gfx::NativeView parent_view) {
27   NOTREACHED();
28 }
29
30 RenderWidgetHost* RenderWidgetHostViewChildFrame::GetRenderWidgetHost() const {
31   return host_;
32 }
33
34 void RenderWidgetHostViewChildFrame::SetSize(const gfx::Size& size) {
35   host_->WasResized();
36 }
37
38 void RenderWidgetHostViewChildFrame::SetBounds(const gfx::Rect& rect) {
39   SetSize(rect.size());
40 }
41
42 void RenderWidgetHostViewChildFrame::Focus() {
43 }
44
45 bool RenderWidgetHostViewChildFrame::HasFocus() const {
46   return false;
47 }
48
49 bool RenderWidgetHostViewChildFrame::IsSurfaceAvailableForCopy() const {
50   NOTIMPLEMENTED();
51   return false;
52 }
53
54 void RenderWidgetHostViewChildFrame::Show() {
55   WasShown();
56 }
57
58 void RenderWidgetHostViewChildFrame::Hide() {
59   WasHidden();
60 }
61
62 bool RenderWidgetHostViewChildFrame::IsShowing() {
63   return !host_->is_hidden();
64 }
65
66 gfx::Rect RenderWidgetHostViewChildFrame::GetViewBounds() const {
67   gfx::Rect rect;
68   if (frame_connector_)
69     rect = frame_connector_->ChildFrameRect();
70   return rect;
71 }
72
73 gfx::NativeView RenderWidgetHostViewChildFrame::GetNativeView() const {
74   NOTREACHED();
75   return NULL;
76 }
77
78 gfx::NativeViewId RenderWidgetHostViewChildFrame::GetNativeViewId() const {
79   NOTREACHED();
80   return 0;
81 }
82
83 gfx::NativeViewAccessible
84 RenderWidgetHostViewChildFrame::GetNativeViewAccessible() {
85   NOTREACHED();
86   return NULL;
87 }
88
89 void RenderWidgetHostViewChildFrame::SetBackgroundOpaque(bool opaque) {
90 }
91
92 gfx::Size RenderWidgetHostViewChildFrame::GetPhysicalBackingSize() const {
93   gfx::Size size;
94   if (frame_connector_)
95     size = frame_connector_->ChildFrameRect().size();
96   return size;
97 }
98
99 void RenderWidgetHostViewChildFrame::InitAsPopup(
100     RenderWidgetHostView* parent_host_view,
101     const gfx::Rect& pos) {
102   NOTREACHED();
103 }
104
105 void RenderWidgetHostViewChildFrame::InitAsFullscreen(
106     RenderWidgetHostView* reference_host_view) {
107   NOTREACHED();
108 }
109
110 void RenderWidgetHostViewChildFrame::ImeCancelComposition() {
111   NOTREACHED();
112 }
113
114 #if defined(OS_MACOSX) || defined(USE_AURA)
115 void RenderWidgetHostViewChildFrame::ImeCompositionRangeChanged(
116     const gfx::Range& range,
117     const std::vector<gfx::Rect>& character_bounds) {
118   NOTREACHED();
119 }
120 #endif
121
122 void RenderWidgetHostViewChildFrame::WasShown() {
123   if (!host_->is_hidden())
124     return;
125   host_->WasShown();
126 }
127
128 void RenderWidgetHostViewChildFrame::WasHidden() {
129   if (host_->is_hidden())
130     return;
131   host_->WasHidden();
132 }
133
134 void RenderWidgetHostViewChildFrame::MovePluginWindows(
135     const std::vector<WebPluginGeometry>& moves) {
136 }
137
138 void RenderWidgetHostViewChildFrame::Blur() {
139 }
140
141 void RenderWidgetHostViewChildFrame::UpdateCursor(const WebCursor& cursor) {
142 }
143
144 void RenderWidgetHostViewChildFrame::SetIsLoading(bool is_loading) {
145   NOTREACHED();
146 }
147
148 void RenderWidgetHostViewChildFrame::TextInputStateChanged(
149     const ViewHostMsg_TextInputState_Params& params) {
150 }
151
152 void RenderWidgetHostViewChildFrame::RenderProcessGone(
153     base::TerminationStatus status,
154     int error_code) {
155   if (frame_connector_)
156     frame_connector_->RenderProcessGone();
157   Destroy();
158 }
159
160 void RenderWidgetHostViewChildFrame::Destroy() {
161   if (frame_connector_) {
162     frame_connector_->set_view(NULL);
163     frame_connector_ = NULL;
164   }
165
166   host_->SetView(NULL);
167   host_ = NULL;
168   base::MessageLoop::current()->DeleteSoon(FROM_HERE, this);
169 }
170
171 void RenderWidgetHostViewChildFrame::SetTooltipText(
172     const base::string16& tooltip_text) {
173 }
174
175 void RenderWidgetHostViewChildFrame::SelectionChanged(
176     const base::string16& text,
177     size_t offset,
178     const gfx::Range& range) {
179 }
180
181 void RenderWidgetHostViewChildFrame::SelectionBoundsChanged(
182     const ViewHostMsg_SelectionBounds_Params& params) {
183 }
184
185 #if defined(OS_ANDROID)
186 void RenderWidgetHostViewChildFrame::ShowDisambiguationPopup(
187     const gfx::Rect& target_rect,
188     const SkBitmap& zoomed_bitmap) {
189 }
190
191 void RenderWidgetHostViewChildFrame::LockCompositingSurface() {
192 }
193
194 void RenderWidgetHostViewChildFrame::UnlockCompositingSurface() {
195 }
196 #endif
197
198 void RenderWidgetHostViewChildFrame::ScrollOffsetChanged() {
199 }
200
201 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceInitialized(int host_id,
202                                                               int route_id) {
203 }
204
205 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceBuffersSwapped(
206     const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params,
207     int gpu_host_id) {
208   if (frame_connector_)
209     frame_connector_->ChildFrameBuffersSwapped(params, gpu_host_id);
210 }
211
212 void RenderWidgetHostViewChildFrame::AcceleratedSurfacePostSubBuffer(
213     const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params,
214     int gpu_host_id) {
215 }
216
217 void RenderWidgetHostViewChildFrame::OnSwapCompositorFrame(
218       uint32 output_surface_id,
219       scoped_ptr<cc::CompositorFrame> frame) {
220   if (frame_connector_) {
221     frame_connector_->ChildFrameCompositorFrameSwapped(
222         output_surface_id,
223         host_->GetProcess()->GetID(),
224         host_->GetRoutingID(),
225         frame.Pass());
226   }
227 }
228
229 void RenderWidgetHostViewChildFrame::GetScreenInfo(
230     blink::WebScreenInfo* results) {
231 }
232
233 gfx::Rect RenderWidgetHostViewChildFrame::GetBoundsInRootWindow() {
234   // We do not have any root window specific parts in this view.
235   return GetViewBounds();
236 }
237
238 #if defined(USE_AURA)
239 void RenderWidgetHostViewChildFrame::ProcessAckedTouchEvent(
240     const TouchEventWithLatencyInfo& touch,
241     InputEventAckState ack_result) {
242 }
243 #endif  // defined(USE_AURA)
244
245 bool RenderWidgetHostViewChildFrame::LockMouse() {
246   return false;
247 }
248
249 void RenderWidgetHostViewChildFrame::UnlockMouse() {
250 }
251
252 #if defined(OS_MACOSX)
253 void RenderWidgetHostViewChildFrame::SetActive(bool active) {
254 }
255
256 void RenderWidgetHostViewChildFrame::SetTakesFocusOnlyOnMouseDown(bool flag) {
257 }
258
259 void RenderWidgetHostViewChildFrame::SetWindowVisibility(bool visible) {
260 }
261
262 void RenderWidgetHostViewChildFrame::WindowFrameChanged() {
263 }
264
265 void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
266 }
267
268 bool RenderWidgetHostViewChildFrame::SupportsSpeech() const {
269   return false;
270 }
271
272 void RenderWidgetHostViewChildFrame::SpeakSelection() {
273 }
274
275 bool RenderWidgetHostViewChildFrame::IsSpeaking() const {
276   return false;
277 }
278
279 void RenderWidgetHostViewChildFrame::StopSpeaking() {
280 }
281
282 bool RenderWidgetHostViewChildFrame::PostProcessEventForPluginIme(
283       const NativeWebKeyboardEvent& event) {
284   return false;
285 }
286 #endif // defined(OS_MACOSX)
287
288 void RenderWidgetHostViewChildFrame::CopyFromCompositingSurface(
289     const gfx::Rect& src_subrect,
290     const gfx::Size& /* dst_size */,
291     const base::Callback<void(bool, const SkBitmap&)>& callback,
292     const SkBitmap::Config config) {
293   callback.Run(false, SkBitmap());
294 }
295
296 void RenderWidgetHostViewChildFrame::CopyFromCompositingSurfaceToVideoFrame(
297       const gfx::Rect& src_subrect,
298       const scoped_refptr<media::VideoFrame>& target,
299       const base::Callback<void(bool)>& callback) {
300   NOTIMPLEMENTED();
301   callback.Run(false);
302 }
303
304 bool RenderWidgetHostViewChildFrame::CanCopyToVideoFrame() const {
305   return false;
306 }
307
308 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceSuspend() {
309   NOTREACHED();
310 }
311
312 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceRelease() {
313 }
314
315 bool RenderWidgetHostViewChildFrame::HasAcceleratedSurface(
316       const gfx::Size& desired_size) {
317   return false;
318 }
319
320 gfx::GLSurfaceHandle RenderWidgetHostViewChildFrame::GetCompositingSurface() {
321   return gfx::GLSurfaceHandle(gfx::kNullPluginWindow, gfx::TEXTURE_TRANSPORT);
322 }
323
324 #if defined(OS_WIN)
325 void RenderWidgetHostViewChildFrame::SetParentNativeViewAccessible(
326     gfx::NativeViewAccessible accessible_parent) {
327 }
328
329 gfx::NativeViewId RenderWidgetHostViewChildFrame::GetParentForWindowlessPlugin()
330     const {
331   return NULL;
332 }
333 #endif // defined(OS_WIN)
334
335 SkBitmap::Config RenderWidgetHostViewChildFrame::PreferredReadbackFormat() {
336   return SkBitmap::kARGB_8888_Config;
337 }
338
339 }  // namespace content