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/browser/web_contents/web_contents_impl.h" | 5 #include "content/browser/web_contents/web_contents_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
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 1307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1318 return; | 1318 return; |
1319 } | 1319 } |
1320 | 1320 |
1321 std::set<RenderWidgetHostImpl*>::iterator iter = | 1321 std::set<RenderWidgetHostImpl*>::iterator iter = |
1322 created_widgets_.find(render_widget_host); | 1322 created_widgets_.find(render_widget_host); |
1323 if (iter != created_widgets_.end()) | 1323 if (iter != created_widgets_.end()) |
1324 created_widgets_.erase(iter); | 1324 created_widgets_.erase(iter); |
1325 | 1325 |
1326 if (render_widget_host && | 1326 if (render_widget_host && |
1327 render_widget_host->GetRoutingID() == fullscreen_widget_routing_id_) { | 1327 render_widget_host->GetRoutingID() == fullscreen_widget_routing_id_) { |
1328 if (delegate_ && delegate_->EmbedsFullscreenWidget()) | 1328 if (delegate_ && delegate_->EmbedsFullscreenWidget()) { |
1329 delegate_->ToggleFullscreenModeForTab(this, false); | 1329 |
| 1330 bool is_video = true; // TODO(igsolla): find how tho retrieve this value!!
! |
| 1331 |
| 1332 delegate_->ToggleFullscreenModeForTab(this, false, is_video); |
| 1333 } |
1330 FOR_EACH_OBSERVER(WebContentsObserver, | 1334 FOR_EACH_OBSERVER(WebContentsObserver, |
1331 observers_, | 1335 observers_, |
1332 DidDestroyFullscreenWidget( | 1336 DidDestroyFullscreenWidget( |
1333 fullscreen_widget_routing_id_)); | 1337 fullscreen_widget_routing_id_)); |
1334 fullscreen_widget_routing_id_ = MSG_ROUTING_NONE; | 1338 fullscreen_widget_routing_id_ = MSG_ROUTING_NONE; |
1335 if (fullscreen_widget_had_focus_at_shutdown_) | 1339 if (fullscreen_widget_had_focus_at_shutdown_) |
1336 view_->RestoreFocus(); | 1340 view_->RestoreFocus(); |
1337 } | 1341 } |
1338 } | 1342 } |
1339 | 1343 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1438 void WebContentsImpl::HandleGestureBegin() { | 1442 void WebContentsImpl::HandleGestureBegin() { |
1439 if (delegate_) | 1443 if (delegate_) |
1440 delegate_->HandleGestureBegin(); | 1444 delegate_->HandleGestureBegin(); |
1441 } | 1445 } |
1442 | 1446 |
1443 void WebContentsImpl::HandleGestureEnd() { | 1447 void WebContentsImpl::HandleGestureEnd() { |
1444 if (delegate_) | 1448 if (delegate_) |
1445 delegate_->HandleGestureEnd(); | 1449 delegate_->HandleGestureEnd(); |
1446 } | 1450 } |
1447 | 1451 |
1448 void WebContentsImpl::ToggleFullscreenMode(bool enter_fullscreen) { | 1452 void WebContentsImpl::ToggleFullscreenMode(bool enter_fullscreen, bool is_video)
{ |
1449 // This method is being called to enter or leave renderer-initiated fullscreen | 1453 // This method is being called to enter or leave renderer-initiated fullscreen |
1450 // mode. Either way, make sure any existing fullscreen widget is shut down | 1454 // mode. Either way, make sure any existing fullscreen widget is shut down |
1451 // first. | 1455 // first. |
1452 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); | 1456 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); |
1453 if (widget_view) | 1457 if (widget_view) |
1454 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())->Shutdown(); | 1458 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())->Shutdown(); |
1455 | 1459 |
1456 if (delegate_) | 1460 if (delegate_) |
1457 delegate_->ToggleFullscreenModeForTab(this, enter_fullscreen); | 1461 delegate_->ToggleFullscreenModeForTab(this, enter_fullscreen, is_video); |
1458 | 1462 |
1459 FOR_EACH_OBSERVER(WebContentsObserver, | 1463 FOR_EACH_OBSERVER(WebContentsObserver, |
1460 observers_, | 1464 observers_, |
1461 DidToggleFullscreenModeForTab(IsFullscreenForCurrentTab())); | 1465 DidToggleFullscreenModeForTab(IsFullscreenForCurrentTab())); |
1462 } | 1466 } |
1463 | 1467 |
1464 bool WebContentsImpl::IsFullscreenForCurrentTab() const { | 1468 bool WebContentsImpl::IsFullscreenForCurrentTab() const { |
1465 return delegate_ ? delegate_->IsFullscreenForTabOrPending(this) : false; | 1469 return delegate_ ? delegate_->IsFullscreenForTabOrPending(this) : false; |
1466 } | 1470 } |
1467 | 1471 |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1710 } else { | 1714 } else { |
1711 view = GetRenderWidgetHostView(); | 1715 view = GetRenderWidgetHostView(); |
1712 } | 1716 } |
1713 | 1717 |
1714 if (is_fullscreen) { | 1718 if (is_fullscreen) { |
1715 DCHECK_EQ(MSG_ROUTING_NONE, fullscreen_widget_routing_id_); | 1719 DCHECK_EQ(MSG_ROUTING_NONE, fullscreen_widget_routing_id_); |
1716 view_->StoreFocus(); | 1720 view_->StoreFocus(); |
1717 fullscreen_widget_routing_id_ = route_id; | 1721 fullscreen_widget_routing_id_ = route_id; |
1718 if (delegate_ && delegate_->EmbedsFullscreenWidget()) { | 1722 if (delegate_ && delegate_->EmbedsFullscreenWidget()) { |
1719 widget_host_view->InitAsChild(GetRenderWidgetHostView()->GetNativeView()); | 1723 widget_host_view->InitAsChild(GetRenderWidgetHostView()->GetNativeView()); |
1720 delegate_->ToggleFullscreenModeForTab(this, true); | 1724 |
| 1725 bool is_video = true; // TODO(igsola): find out how to retrieve this valu
e!!!! |
| 1726 |
| 1727 delegate_->ToggleFullscreenModeForTab(this, true, is_video); |
1721 } else { | 1728 } else { |
1722 widget_host_view->InitAsFullscreen(view); | 1729 widget_host_view->InitAsFullscreen(view); |
1723 } | 1730 } |
1724 FOR_EACH_OBSERVER(WebContentsObserver, | 1731 FOR_EACH_OBSERVER(WebContentsObserver, |
1725 observers_, | 1732 observers_, |
1726 DidShowFullscreenWidget(route_id)); | 1733 DidShowFullscreenWidget(route_id)); |
1727 if (!widget_host_view->HasFocus()) | 1734 if (!widget_host_view->HasFocus()) |
1728 widget_host_view->Focus(); | 1735 widget_host_view->Focus(); |
1729 } else { | 1736 } else { |
1730 widget_host_view->InitAsPopup(view, initial_pos); | 1737 widget_host_view->InitAsPopup(view, initial_pos); |
(...skipping 1860 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3591 void WebContentsImpl::RenderViewTerminated(RenderViewHost* rvh, | 3598 void WebContentsImpl::RenderViewTerminated(RenderViewHost* rvh, |
3592 base::TerminationStatus status, | 3599 base::TerminationStatus status, |
3593 int error_code) { | 3600 int error_code) { |
3594 if (rvh != GetRenderViewHost()) { | 3601 if (rvh != GetRenderViewHost()) { |
3595 // The pending page's RenderViewHost is gone. | 3602 // The pending page's RenderViewHost is gone. |
3596 return; | 3603 return; |
3597 } | 3604 } |
3598 | 3605 |
3599 // Ensure fullscreen mode is exited in the |delegate_| since a crashed | 3606 // Ensure fullscreen mode is exited in the |delegate_| since a crashed |
3600 // renderer may not have made a clean exit. | 3607 // renderer may not have made a clean exit. |
3601 if (IsFullscreenForCurrentTab()) | 3608 if (IsFullscreenForCurrentTab()) { |
3602 ToggleFullscreenMode(false); | 3609 |
| 3610 bool is_video = true; // TODO(igsolla): find out how to retrieve this valu
e!!! |
| 3611 |
| 3612 ToggleFullscreenMode(false, is_video); |
| 3613 } |
3603 | 3614 |
3604 // Cancel any visible dialogs so they are not left dangling over the sad tab. | 3615 // Cancel any visible dialogs so they are not left dangling over the sad tab. |
3605 if (dialog_manager_) | 3616 if (dialog_manager_) |
3606 dialog_manager_->CancelActiveAndPendingDialogs(this); | 3617 dialog_manager_->CancelActiveAndPendingDialogs(this); |
3607 | 3618 |
3608 if (delegate_) | 3619 if (delegate_) |
3609 delegate_->HideValidationMessage(this); | 3620 delegate_->HideValidationMessage(this); |
3610 | 3621 |
3611 SetIsLoading(rvh, false, true, NULL); | 3622 SetIsLoading(rvh, false, true, NULL); |
3612 NotifyDisconnected(); | 3623 NotifyDisconnected(); |
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4373 node->render_manager()->ResumeResponseDeferredAtStart(); | 4384 node->render_manager()->ResumeResponseDeferredAtStart(); |
4374 } | 4385 } |
4375 | 4386 |
4376 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { | 4387 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { |
4377 force_disable_overscroll_content_ = force_disable; | 4388 force_disable_overscroll_content_ = force_disable; |
4378 if (view_) | 4389 if (view_) |
4379 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); | 4390 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); |
4380 } | 4391 } |
4381 | 4392 |
4382 } // namespace content | 4393 } // namespace content |
OLD | NEW |