Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1234)

Side by Side Diff: content/browser/web_contents/web_contents_impl.cc

Issue 652673002: NOT FOR REVIEW: Modify ToggleFullscreenMode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fixPowerBlockerNonMedia
Patch Set: Rebase Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/browser/web_contents/web_contents_impl.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « content/browser/web_contents/web_contents_impl.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698