182fda1ce0e8f831caf1f9349068cb1dc3fcd661
[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   size_ = size;
36   host_->WasResized();
37 }
38
39 void RenderWidgetHostViewChildFrame::SetBounds(const gfx::Rect& rect) {
40   SetSize(rect.size());
41 }
42
43 void RenderWidgetHostViewChildFrame::Focus() {
44 }
45
46 bool RenderWidgetHostViewChildFrame::HasFocus() const {
47   return false;
48 }
49
50 bool RenderWidgetHostViewChildFrame::IsSurfaceAvailableForCopy() const {
51   NOTIMPLEMENTED();
52   return false;
53 }
54
55 void RenderWidgetHostViewChildFrame::Show() {
56   WasShown();
57 }
58
59 void RenderWidgetHostViewChildFrame::Hide() {
60   WasHidden();
61 }
62
63 bool RenderWidgetHostViewChildFrame::IsShowing() {
64   return !host_->is_hidden();
65 }
66
67 gfx::Rect RenderWidgetHostViewChildFrame::GetViewBounds() const {
68   gfx::Rect rect;
69   if (frame_connector_)
70     rect = frame_connector_->ChildFrameRect();
71   rect.set_width(size_.width());
72   rect.set_height(size_.height());
73   return rect;
74 }
75
76 gfx::NativeView RenderWidgetHostViewChildFrame::GetNativeView() const {
77   NOTREACHED();
78   return NULL;
79 }
80
81 gfx::NativeViewId RenderWidgetHostViewChildFrame::GetNativeViewId() const {
82   NOTREACHED();
83   return 0;
84 }
85
86 gfx::NativeViewAccessible
87 RenderWidgetHostViewChildFrame::GetNativeViewAccessible() {
88   NOTREACHED();
89   return NULL;
90 }
91
92 void RenderWidgetHostViewChildFrame::SetBackground(
93     const SkBitmap& background) {
94 }
95
96 gfx::Size RenderWidgetHostViewChildFrame::GetPhysicalBackingSize() const {
97   return size_;
98 }
99
100 void RenderWidgetHostViewChildFrame::InitAsPopup(
101     RenderWidgetHostView* parent_host_view,
102     const gfx::Rect& pos) {
103   NOTREACHED();
104 }
105
106 void RenderWidgetHostViewChildFrame::InitAsFullscreen(
107     RenderWidgetHostView* reference_host_view) {
108   NOTREACHED();
109 }
110
111 void RenderWidgetHostViewChildFrame::ImeCancelComposition() {
112   NOTREACHED();
113 }
114
115 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(USE_AURA)
116 void RenderWidgetHostViewChildFrame::ImeCompositionRangeChanged(
117     const gfx::Range& range,
118     const std::vector<gfx::Rect>& character_bounds) {
119   NOTREACHED();
120 }
121 #endif
122
123 void RenderWidgetHostViewChildFrame::DidUpdateBackingStore(
124     const gfx::Rect& scroll_rect,
125     const gfx::Vector2d& scroll_delta,
126     const std::vector<gfx::Rect>& copy_rects,
127     const std::vector<ui::LatencyInfo>& latency_info) {
128   NOTREACHED();
129 }
130
131 void RenderWidgetHostViewChildFrame::WasShown() {
132   if (!host_->is_hidden())
133     return;
134   host_->WasShown();
135 }
136
137 void RenderWidgetHostViewChildFrame::WasHidden() {
138   if (host_->is_hidden())
139     return;
140   host_->WasHidden();
141 }
142
143 void RenderWidgetHostViewChildFrame::MovePluginWindows(
144     const gfx::Vector2d& scroll_offset,
145     const std::vector<WebPluginGeometry>& moves) {
146 }
147
148 void RenderWidgetHostViewChildFrame::Blur() {
149 }
150
151 void RenderWidgetHostViewChildFrame::UpdateCursor(const WebCursor& cursor) {
152 }
153
154 void RenderWidgetHostViewChildFrame::SetIsLoading(bool is_loading) {
155   NOTREACHED();
156 }
157
158 void RenderWidgetHostViewChildFrame::TextInputTypeChanged(
159     ui::TextInputType type,
160     ui::TextInputMode input_mode,
161     bool can_compose_inline) {
162   NOTREACHED();
163 }
164
165 void RenderWidgetHostViewChildFrame::RenderProcessGone(
166     base::TerminationStatus status,
167     int error_code) {
168 }
169
170 void RenderWidgetHostViewChildFrame::Destroy() {
171   frame_connector_ = NULL;
172
173   host_->SetView(NULL);
174   host_ = NULL;
175   base::MessageLoop::current()->DeleteSoon(FROM_HERE, this);
176 }
177
178 void RenderWidgetHostViewChildFrame::SetTooltipText(
179     const base::string16& tooltip_text) {
180 }
181
182 void RenderWidgetHostViewChildFrame::SelectionChanged(
183     const base::string16& text,
184     size_t offset,
185     const gfx::Range& range) {
186 }
187
188 void RenderWidgetHostViewChildFrame::SelectionBoundsChanged(
189     const ViewHostMsg_SelectionBounds_Params& params) {
190 }
191
192 void RenderWidgetHostViewChildFrame::ScrollOffsetChanged() {
193 }
194
195 void RenderWidgetHostViewChildFrame::OnAcceleratedCompositingStateChange() {
196 }
197
198 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceInitialized(int host_id,
199                                                               int route_id) {
200 }
201
202 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceBuffersSwapped(
203     const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params,
204     int gpu_host_id) {
205   if (frame_connector_)
206     frame_connector_->ChildFrameBuffersSwapped(params, gpu_host_id);
207 }
208
209 void RenderWidgetHostViewChildFrame::AcceleratedSurfacePostSubBuffer(
210     const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params,
211     int gpu_host_id) {
212 }
213
214 void RenderWidgetHostViewChildFrame::OnSwapCompositorFrame(
215       uint32 output_surface_id,
216       scoped_ptr<cc::CompositorFrame> frame) {
217   if (frame_connector_) {
218     frame_connector_->ChildFrameCompositorFrameSwapped(
219         output_surface_id,
220         host_->GetProcess()->GetID(),
221         host_->GetRoutingID(),
222         frame.Pass());
223   }
224 }
225
226 void RenderWidgetHostViewChildFrame::GetScreenInfo(
227     blink::WebScreenInfo* results) {
228 }
229
230 gfx::Rect RenderWidgetHostViewChildFrame::GetBoundsInRootWindow() {
231   // We do not have any root window specific parts in this view.
232   return GetViewBounds();
233 }
234
235 #if defined(OS_WIN) || defined(USE_AURA)
236 void RenderWidgetHostViewChildFrame::ProcessAckedTouchEvent(
237     const TouchEventWithLatencyInfo& touch,
238     InputEventAckState ack_result) {
239 }
240 #endif  // defined(OS_WIN) || defined(USE_AURA)
241
242 bool RenderWidgetHostViewChildFrame::LockMouse() {
243   return false;
244 }
245
246 void RenderWidgetHostViewChildFrame::UnlockMouse() {
247 }
248
249 #if defined(OS_MACOSX)
250 void RenderWidgetHostViewChildFrame::SetActive(bool active) {
251 }
252
253 void RenderWidgetHostViewChildFrame::SetTakesFocusOnlyOnMouseDown(bool flag) {
254 }
255
256 void RenderWidgetHostViewChildFrame::SetWindowVisibility(bool visible) {
257 }
258
259 void RenderWidgetHostViewChildFrame::WindowFrameChanged() {
260 }
261
262 void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
263 }
264
265 bool RenderWidgetHostViewChildFrame::SupportsSpeech() const {
266   return false;
267 }
268
269 void RenderWidgetHostViewChildFrame::SpeakSelection() {
270 }
271
272 bool RenderWidgetHostViewChildFrame::IsSpeaking() const {
273   return false;
274 }
275
276 void RenderWidgetHostViewChildFrame::StopSpeaking() {
277 }
278
279 bool RenderWidgetHostViewChildFrame::PostProcessEventForPluginIme(
280       const NativeWebKeyboardEvent& event) {
281   return false;
282 }
283 #endif // defined(OS_MACOSX)
284
285 #if defined(OS_ANDROID)
286 void RenderWidgetHostViewChildFrame::ShowDisambiguationPopup(
287     const gfx::Rect& target_rect,
288     const SkBitmap& zoomed_bitmap) {
289 }
290
291 void RenderWidgetHostViewChildFrame::HasTouchEventHandlers(
292     bool need_touch_events) {
293 }
294 #endif  // defined(OS_ANDROID)
295
296 #if defined(TOOLKIT_GTK)
297 GdkEventButton* RenderWidgetHostViewChildFrame::GetLastMouseDown() {
298   return NULL;
299 }
300
301 gfx::NativeView RenderWidgetHostViewChildFrame::BuildInputMethodsGtkMenu() {
302   return NULL;
303 }
304 #endif  // defined(TOOLKIT_GTK)
305
306 BackingStore* RenderWidgetHostViewChildFrame::AllocBackingStore(
307     const gfx::Size& size) {
308   NOTREACHED();
309   return NULL;
310 }
311
312 void RenderWidgetHostViewChildFrame::CopyFromCompositingSurface(
313     const gfx::Rect& src_subrect,
314     const gfx::Size& /* dst_size */,
315     const base::Callback<void(bool, const SkBitmap&)>& callback,
316     const SkBitmap::Config config) {
317   callback.Run(false, SkBitmap());
318 }
319
320 void RenderWidgetHostViewChildFrame::CopyFromCompositingSurfaceToVideoFrame(
321       const gfx::Rect& src_subrect,
322       const scoped_refptr<media::VideoFrame>& target,
323       const base::Callback<void(bool)>& callback) {
324   NOTIMPLEMENTED();
325   callback.Run(false);
326 }
327
328 bool RenderWidgetHostViewChildFrame::CanCopyToVideoFrame() const {
329   return false;
330 }
331
332 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceSuspend() {
333   NOTREACHED();
334 }
335
336 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceRelease() {
337 }
338
339 bool RenderWidgetHostViewChildFrame::HasAcceleratedSurface(
340       const gfx::Size& desired_size) {
341   return false;
342 }
343
344 gfx::GLSurfaceHandle RenderWidgetHostViewChildFrame::GetCompositingSurface() {
345   return gfx::GLSurfaceHandle(gfx::kNullPluginWindow, gfx::TEXTURE_TRANSPORT);
346 }
347
348 void RenderWidgetHostViewChildFrame::SetHasHorizontalScrollbar(
349     bool has_horizontal_scrollbar) {
350 }
351
352 void RenderWidgetHostViewChildFrame::SetScrollOffsetPinning(
353     bool is_pinned_to_left, bool is_pinned_to_right) {
354 }
355
356 #if defined(OS_WIN)
357 void RenderWidgetHostViewChildFrame::SetParentNativeViewAccessible(
358     gfx::NativeViewAccessible accessible_parent) {
359 }
360
361 gfx::NativeViewId RenderWidgetHostViewChildFrame::GetParentForWindowlessPlugin()
362     const {
363   return NULL;
364 }
365 #endif // defined(OS_WIN) && defined(USE_AURA)
366
367 }  // namespace content