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(WebKit::WebScreenInfo())); |
17 widget->Init(opener_id); | 17 widget->Init(opener_id); |
18 return widget.release(); | 18 return widget.release(); |
19 } | 19 } |
20 | 20 |
21 void RenderWidgetFullscreen::show(WebKit::WebNavigationPolicy) { | 21 void RenderWidgetFullscreen::show(WebKit::WebNavigationPolicy) { |
22 DCHECK(!did_show_) << "received extraneous Show call"; | 22 DCHECK(!did_show_) << "received extraneous Show call"; |
23 DCHECK_NE(MSG_ROUTING_NONE, routing_id_); | 23 DCHECK_NE(MSG_ROUTING_NONE, routing_id_); |
24 DCHECK_NE(MSG_ROUTING_NONE, opener_id_); | 24 DCHECK_NE(MSG_ROUTING_NONE, opener_id_); |
25 | 25 |
26 if (!did_show_) { | 26 if (!did_show_) { |
27 did_show_ = true; | 27 did_show_ = true; |
28 Send(new ViewHostMsg_ShowFullscreenWidget(opener_id_, routing_id_)); | 28 Send(new ViewHostMsg_ShowFullscreenWidget(opener_id_, routing_id_)); |
29 SetPendingWindowRect(initial_pos_); | 29 SetPendingWindowRect(initial_pos_); |
30 } | 30 } |
31 } | 31 } |
32 | 32 |
33 RenderWidgetFullscreen::RenderWidgetFullscreen() | 33 RenderWidgetFullscreen::RenderWidgetFullscreen( |
34 : RenderWidget(WebKit::WebPopupTypeNone, WebKit::WebScreenInfo(), false) { | 34 const WebKit::WebScreenInfo& screen_info) |
| 35 : RenderWidget(WebKit::WebPopupTypeNone, screen_info, false) { |
35 } | 36 } |
36 | 37 |
37 RenderWidgetFullscreen::~RenderWidgetFullscreen() {} | 38 RenderWidgetFullscreen::~RenderWidgetFullscreen() {} |
38 | 39 |
39 WebWidget* RenderWidgetFullscreen::CreateWebWidget() { | 40 WebWidget* RenderWidgetFullscreen::CreateWebWidget() { |
40 // TODO(boliu): Handle full screen render widgets here. | 41 // TODO(boliu): Handle full screen render widgets here. |
41 return RenderWidget::CreateWebWidget(this); | 42 return RenderWidget::CreateWebWidget(this); |
42 } | 43 } |
43 | 44 |
44 void RenderWidgetFullscreen::Init(int32 opener_id) { | 45 void RenderWidgetFullscreen::Init(int32 opener_id) { |
45 DCHECK(!webwidget_); | 46 DCHECK(!webwidget_); |
46 | 47 |
47 RenderWidget::DoInit( | 48 RenderWidget::DoInit( |
48 opener_id, | 49 opener_id, |
49 CreateWebWidget(), | 50 CreateWebWidget(), |
50 new ViewHostMsg_CreateFullscreenWidget( | 51 new ViewHostMsg_CreateFullscreenWidget( |
51 opener_id, &routing_id_, &surface_id_)); | 52 opener_id, &routing_id_, &surface_id_)); |
52 } | 53 } |
OLD | NEW |