15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/renderer/render_widget_fullscreen.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/view_messages.h" 87d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "third_party/WebKit/public/web/WebWidget.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)using blink::WebWidget; 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)void RenderWidgetFullscreen::show(blink::WebNavigationPolicy) { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK(!did_show_) << "received extraneous Show call"; 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK_NE(MSG_ROUTING_NONE, routing_id_); 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK_NE(MSG_ROUTING_NONE, opener_id_); 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!did_show_) { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) did_show_ = true; 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Send(new ViewHostMsg_ShowFullscreenWidget(opener_id_, routing_id_)); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SetPendingWindowRect(initial_pos_); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RenderWidgetFullscreen::RenderWidgetFullscreen( 27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const blink::WebScreenInfo& screen_info) 280529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch : RenderWidget(blink::WebPopupTypeNone, screen_info, false, false, false) {} 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RenderWidgetFullscreen::~RenderWidgetFullscreen() {} 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WebWidget* RenderWidgetFullscreen::CreateWebWidget() { 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(boliu): Handle full screen render widgets here. 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return RenderWidget::CreateWebWidget(this); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool RenderWidgetFullscreen::Init(int32 opener_id) { 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK(!webwidget_); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return RenderWidget::DoInit( 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) opener_id, 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CreateWebWidget(), 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) new ViewHostMsg_CreateFullscreenWidget( 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) opener_id, &routing_id_, &surface_id_)); 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace content 48