Upstream version 5.34.104.0
[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   if (frame_connector_)
169     frame_connector_->RenderProcessGone();
170 }
171
172 void RenderWidgetHostViewChildFrame::Destroy() {
173   frame_connector_ = NULL;
174
175   host_->SetView(NULL);
176   host_ = NULL;
177   base::MessageLoop::current()->DeleteSoon(FROM_HERE, this);
178 }
179
180 void RenderWidgetHostViewChildFrame::SetTooltipText(
181     const base::string16& tooltip_text) {
182 }
183
184 void RenderWidgetHostViewChildFrame::SelectionChanged(
185     const base::string16& text,
186     size_t offset,
187     const gfx::Range& range) {
188 }
189
190 void RenderWidgetHostViewChildFrame::SelectionBoundsChanged(
191     const ViewHostMsg_SelectionBounds_Params& params) {
192 }
193
194 void RenderWidgetHostViewChildFrame::ScrollOffsetChanged() {
195 }
196
197 void RenderWidgetHostViewChildFrame::OnAcceleratedCompositingStateChange() {
198 }
199
200 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceInitialized(int host_id,
201                                                               int route_id) {
202 }
203
204 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceBuffersSwapped(
205     const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params,
206     int gpu_host_id) {
207   if (frame_connector_)
208     frame_connector_->ChildFrameBuffersSwapped(params, gpu_host_id);
209 }
210
211 void RenderWidgetHostViewChildFrame::AcceleratedSurfacePostSubBuffer(
212     const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params,
213     int gpu_host_id) {
214 }
215
216 void RenderWidgetHostViewChildFrame::OnSwapCompositorFrame(
217       uint32 output_surface_id,
218       scoped_ptr<cc::CompositorFrame> frame) {
219   if (frame_connector_) {
220     frame_connector_->ChildFrameCompositorFrameSwapped(
221         output_surface_id,
222         host_->GetProcess()->GetID(),
223         host_->GetRoutingID(),
224         frame.Pass());
225   }
226 }
227
228 void RenderWidgetHostViewChildFrame::GetScreenInfo(
229     blink::WebScreenInfo* results) {
230 }
231
232 gfx::Rect RenderWidgetHostViewChildFrame::GetBoundsInRootWindow() {
233   // We do not have any root window specific parts in this view.
234   return GetViewBounds();
235 }
236
237 #if defined(OS_WIN) || defined(USE_AURA)
238 void RenderWidgetHostViewChildFrame::ProcessAckedTouchEvent(
239     const TouchEventWithLatencyInfo& touch,
240     InputEventAckState ack_result) {
241 }
242 #endif  // defined(OS_WIN) || defined(USE_AURA)
243
244 bool RenderWidgetHostViewChildFrame::LockMouse() {
245   return false;
246 }
247
248 void RenderWidgetHostViewChildFrame::UnlockMouse() {
249 }
250
251 #if defined(OS_MACOSX)
252 void RenderWidgetHostViewChildFrame::SetActive(bool active) {
253 }
254
255 void RenderWidgetHostViewChildFrame::SetTakesFocusOnlyOnMouseDown(bool flag) {
256 }
257
258 void RenderWidgetHostViewChildFrame::SetWindowVisibility(bool visible) {
259 }
260
261 void RenderWidgetHostViewChildFrame::WindowFrameChanged() {
262 }
263
264 void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
265 }
266
267 bool RenderWidgetHostViewChildFrame::SupportsSpeech() const {
268   return false;
269 }
270
271 void RenderWidgetHostViewChildFrame::SpeakSelection() {
272 }
273
274 bool RenderWidgetHostViewChildFrame::IsSpeaking() const {
275   return false;
276 }
277
278 void RenderWidgetHostViewChildFrame::StopSpeaking() {
279 }
280
281 bool RenderWidgetHostViewChildFrame::PostProcessEventForPluginIme(
282       const NativeWebKeyboardEvent& event) {
283   return false;
284 }
285 #endif // defined(OS_MACOSX)
286
287 #if defined(OS_ANDROID)
288 void RenderWidgetHostViewChildFrame::ShowDisambiguationPopup(
289     const gfx::Rect& target_rect,
290     const SkBitmap& zoomed_bitmap) {
291 }
292 #endif  // defined(OS_ANDROID)
293
294 #if defined(TOOLKIT_GTK)
295 GdkEventButton* RenderWidgetHostViewChildFrame::GetLastMouseDown() {
296   return NULL;
297 }
298
299 gfx::NativeView RenderWidgetHostViewChildFrame::BuildInputMethodsGtkMenu() {
300   return NULL;
301 }
302 #endif  // defined(TOOLKIT_GTK)
303
304 BackingStore* RenderWidgetHostViewChildFrame::AllocBackingStore(
305     const gfx::Size& size) {
306   NOTREACHED();
307   return NULL;
308 }
309
310 void RenderWidgetHostViewChildFrame::CopyFromCompositingSurface(
311     const gfx::Rect& src_subrect,
312     const gfx::Size& /* dst_size */,
313     const base::Callback<void(bool, const SkBitmap&)>& callback,
314     const SkBitmap::Config config) {
315   callback.Run(false, SkBitmap());
316 }
317
318 void RenderWidgetHostViewChildFrame::CopyFromCompositingSurfaceToVideoFrame(
319       const gfx::Rect& src_subrect,
320       const scoped_refptr<media::VideoFrame>& target,
321       const base::Callback<void(bool)>& callback) {
322   NOTIMPLEMENTED();
323   callback.Run(false);
324 }
325
326 bool RenderWidgetHostViewChildFrame::CanCopyToVideoFrame() const {
327   return false;
328 }
329
330 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceSuspend() {
331   NOTREACHED();
332 }
333
334 void RenderWidgetHostViewChildFrame::AcceleratedSurfaceRelease() {
335 }
336
337 bool RenderWidgetHostViewChildFrame::HasAcceleratedSurface(
338       const gfx::Size& desired_size) {
339   return false;
340 }
341
342 gfx::GLSurfaceHandle RenderWidgetHostViewChildFrame::GetCompositingSurface() {
343   return gfx::GLSurfaceHandle(gfx::kNullPluginWindow, gfx::TEXTURE_TRANSPORT);
344 }
345
346 void RenderWidgetHostViewChildFrame::SetHasHorizontalScrollbar(
347     bool has_horizontal_scrollbar) {
348 }
349
350 void RenderWidgetHostViewChildFrame::SetScrollOffsetPinning(
351     bool is_pinned_to_left, bool is_pinned_to_right) {
352 }
353
354 #if defined(OS_WIN)
355 void RenderWidgetHostViewChildFrame::SetParentNativeViewAccessible(
356     gfx::NativeViewAccessible accessible_parent) {
357 }
358
359 gfx::NativeViewId RenderWidgetHostViewChildFrame::GetParentForWindowlessPlugin()
360     const {
361   return NULL;
362 }
363 #endif // defined(OS_WIN)
364
365 }  // namespace content