| 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 |