OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "content/renderer/render_widget_fullscreen.h" | 5 #include "content/renderer/render_widget_fullscreen.h" |
6 | 6 |
7 #include "content/common/view_messages.h" | 7 #include "content/common/view_messages.h" |
8 #include "third_party/WebKit/Source/WebKit/chromium/public/WebWidget.h" | 8 #include "third_party/WebKit/Source/WebKit/chromium/public/WebWidget.h" |
9 | 9 |
10 using WebKit::WebWidget; | 10 using WebKit::WebWidget; |
11 | 11 |
12 // static | 12 // static |
13 RenderWidgetFullscreen* RenderWidgetFullscreen::Create(int32 opener_id) { | 13 RenderWidgetFullscreen* RenderWidgetFullscreen::Create(int32 opener_id) { |
14 DCHECK_NE(MSG_ROUTING_NONE, opener_id); | 14 DCHECK_NE(MSG_ROUTING_NONE, opener_id); |
15 scoped_refptr<RenderWidgetFullscreen> widget( | 15 scoped_refptr<RenderWidgetFullscreen> widget( |
16 new RenderWidgetFullscreen()); | 16 new RenderWidgetFullscreen()); |
17 widget->Init(opener_id); | 17 widget->Init(opener_id); |
18 return widget.release(); | 18 return widget.release(); |
19 } | 19 } |
20 | 20 |
21 WebWidget* RenderWidgetFullscreen::CreateWebWidget() { | |
22 // TODO(boliu): Handle full screen render widgets here. | |
23 return RenderWidget::CreateWebWidget(this); | |
24 } | |
25 | |
26 void RenderWidgetFullscreen::Init(int32 opener_id) { | |
27 DCHECK(!webwidget_); | |
28 | |
29 RenderWidget::DoInit( | |
30 opener_id, | |
31 CreateWebWidget(), | |
32 new ViewHostMsg_CreateFullscreenWidget( | |
33 opener_id, &routing_id_, &surface_id_)); | |
34 } | |
35 | |
36 void RenderWidgetFullscreen::show(WebKit::WebNavigationPolicy) { | 21 void RenderWidgetFullscreen::show(WebKit::WebNavigationPolicy) { |
37 DCHECK(!did_show_) << "received extraneous Show call"; | 22 DCHECK(!did_show_) << "received extraneous Show call"; |
38 DCHECK_NE(MSG_ROUTING_NONE, routing_id_); | 23 DCHECK_NE(MSG_ROUTING_NONE, routing_id_); |
39 DCHECK_NE(MSG_ROUTING_NONE, opener_id_); | 24 DCHECK_NE(MSG_ROUTING_NONE, opener_id_); |
40 | 25 |
41 if (!did_show_) { | 26 if (!did_show_) { |
42 did_show_ = true; | 27 did_show_ = true; |
43 Send(new ViewHostMsg_ShowFullscreenWidget(opener_id_, routing_id_)); | 28 Send(new ViewHostMsg_ShowFullscreenWidget(opener_id_, routing_id_)); |
44 SetPendingWindowRect(initial_pos_); | 29 SetPendingWindowRect(initial_pos_); |
45 } | 30 } |
46 } | 31 } |
47 | 32 |
48 RenderWidgetFullscreen::RenderWidgetFullscreen() | 33 RenderWidgetFullscreen::RenderWidgetFullscreen() |
49 : RenderWidget(WebKit::WebPopupTypeNone, WebKit::WebScreenInfo()) { | 34 : RenderWidget(WebKit::WebPopupTypeNone, WebKit::WebScreenInfo()) { |
50 } | 35 } |
| 36 |
| 37 RenderWidgetFullscreen::~RenderWidgetFullscreen() {} |
| 38 |
| 39 WebWidget* RenderWidgetFullscreen::CreateWebWidget() { |
| 40 // TODO(boliu): Handle full screen render widgets here. |
| 41 return RenderWidget::CreateWebWidget(this); |
| 42 } |
| 43 |
| 44 void RenderWidgetFullscreen::Init(int32 opener_id) { |
| 45 DCHECK(!webwidget_); |
| 46 |
| 47 RenderWidget::DoInit( |
| 48 opener_id, |
| 49 CreateWebWidget(), |
| 50 new ViewHostMsg_CreateFullscreenWidget( |
| 51 opener_id, &routing_id_, &surface_id_)); |
| 52 } |
OLD | NEW |