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.h" | 5 #include "content/renderer/render_widget.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
441 DCHECK(opener_id != MSG_ROUTING_NONE); | 441 DCHECK(opener_id != MSG_ROUTING_NONE); |
442 scoped_refptr<RenderWidget> widget( | 442 scoped_refptr<RenderWidget> widget( |
443 new RenderWidget(popup_type, screen_info, false, false, false)); | 443 new RenderWidget(popup_type, screen_info, false, false, false)); |
444 if (widget->Init(opener_id)) { // adds reference on success. | 444 if (widget->Init(opener_id)) { // adds reference on success. |
445 return widget.get(); | 445 return widget.get(); |
446 } | 446 } |
447 return NULL; | 447 return NULL; |
448 } | 448 } |
449 | 449 |
450 // static | 450 // static |
451 RenderWidget* RenderWidget::CreateForFrame( | |
452 int routing_id, bool hidden, const blink::WebScreenInfo& screen_info) { | |
nasko
2014/10/01 16:37:14
style: params need to be on separate lines each
kenrb
2014/10/01 19:27:51
Done.
| |
453 DCHECK(routing_id != MSG_ROUTING_NONE); | |
454 scoped_refptr<RenderWidget> widget( | |
455 new RenderWidget(blink::WebPopupTypeNone, | |
456 screen_info, | |
457 false, | |
458 hidden, | |
459 false)); | |
460 widget->routing_id_ = routing_id; | |
461 //TODO(kenrb): Change CreateWebWidget to CreateWebFrameWidget before landing! | |
462 if (widget->DoInit(MSG_ROUTING_NONE, | |
463 RenderWidget::CreateWebWidget(widget.get()), | |
464 0)) | |
nasko
2014/10/01 16:37:14
nit: s/0/nullptr/
kenrb
2014/10/01 19:27:51
Done.
| |
465 return widget.get(); | |
nasko
2014/10/01 16:37:14
style: {} needed because the if clause spans multi
kenrb
2014/10/01 19:27:51
Done.
| |
466 return NULL; | |
467 } | |
468 | |
469 // static | |
451 WebWidget* RenderWidget::CreateWebWidget(RenderWidget* render_widget) { | 470 WebWidget* RenderWidget::CreateWebWidget(RenderWidget* render_widget) { |
452 switch (render_widget->popup_type_) { | 471 switch (render_widget->popup_type_) { |
453 case blink::WebPopupTypeNone: // Nothing to create. | 472 case blink::WebPopupTypeNone: // Nothing to create. |
454 break; | 473 break; |
455 case blink::WebPopupTypeSelect: | 474 case blink::WebPopupTypeSelect: |
456 case blink::WebPopupTypeSuggestion: | 475 case blink::WebPopupTypeSuggestion: |
457 return WebPopupMenu::create(render_widget); | 476 return WebPopupMenu::create(render_widget); |
458 case blink::WebPopupTypePage: | 477 case blink::WebPopupTypePage: |
459 return WebPagePopup::create(render_widget); | 478 return WebPagePopup::create(render_widget); |
460 default: | 479 default: |
(...skipping 12 matching lines...) Expand all Loading... | |
473 bool RenderWidget::DoInit(int32 opener_id, | 492 bool RenderWidget::DoInit(int32 opener_id, |
474 WebWidget* web_widget, | 493 WebWidget* web_widget, |
475 IPC::SyncMessage* create_widget_message) { | 494 IPC::SyncMessage* create_widget_message) { |
476 DCHECK(!webwidget_); | 495 DCHECK(!webwidget_); |
477 | 496 |
478 if (opener_id != MSG_ROUTING_NONE) | 497 if (opener_id != MSG_ROUTING_NONE) |
479 opener_id_ = opener_id; | 498 opener_id_ = opener_id; |
480 | 499 |
481 webwidget_ = web_widget; | 500 webwidget_ = web_widget; |
482 | 501 |
483 bool result = RenderThread::Get()->Send(create_widget_message); | 502 bool result = true; |
503 if (create_widget_message) | |
504 result = RenderThread::Get()->Send(create_widget_message); | |
505 | |
484 if (result) { | 506 if (result) { |
485 RenderThread::Get()->AddRoute(routing_id_, this); | 507 RenderThread::Get()->AddRoute(routing_id_, this); |
486 // Take a reference on behalf of the RenderThread. This will be balanced | 508 // Take a reference on behalf of the RenderThread. This will be balanced |
487 // when we receive ViewMsg_Close. | 509 // when we receive ViewMsg_Close. |
488 AddRef(); | 510 AddRef(); |
489 if (RenderThreadImpl::current()) { | 511 if (RenderThreadImpl::current()) { |
490 RenderThreadImpl::current()->WidgetCreated(); | 512 RenderThreadImpl::current()->WidgetCreated(); |
491 if (is_hidden_) | 513 if (is_hidden_) |
492 RenderThreadImpl::current()->WidgetHidden(); | 514 RenderThreadImpl::current()->WidgetHidden(); |
493 } | 515 } |
(...skipping 1687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2181 void RenderWidget::RegisterVideoHoleFrame(RenderFrameImpl* frame) { | 2203 void RenderWidget::RegisterVideoHoleFrame(RenderFrameImpl* frame) { |
2182 video_hole_frames_.AddObserver(frame); | 2204 video_hole_frames_.AddObserver(frame); |
2183 } | 2205 } |
2184 | 2206 |
2185 void RenderWidget::UnregisterVideoHoleFrame(RenderFrameImpl* frame) { | 2207 void RenderWidget::UnregisterVideoHoleFrame(RenderFrameImpl* frame) { |
2186 video_hole_frames_.RemoveObserver(frame); | 2208 video_hole_frames_.RemoveObserver(frame); |
2187 } | 2209 } |
2188 #endif // defined(VIDEO_HOLE) | 2210 #endif // defined(VIDEO_HOLE) |
2189 | 2211 |
2190 } // namespace content | 2212 } // namespace content |
OLD | NEW |