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

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

Issue 1453803002: Separate RenderViewHost from RenderWidgetHost, part 10: shutdown. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: all in destroy, plus mac Created 5 years 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
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/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 1612 matching lines...) Expand 10 before | Expand all | Expand 10 after
1623 return GetMainFrame()->GetRenderWidgetHost(); 1623 return GetMainFrame()->GetRenderWidgetHost();
1624 1624
1625 return RenderWidgetHostImpl::From( 1625 return RenderWidgetHostImpl::From(
1626 focused_frame->current_frame_host()->GetView()->GetRenderWidgetHost()); 1626 focused_frame->current_frame_host()->GetView()->GetRenderWidgetHost());
1627 } 1627 }
1628 1628
1629 void WebContentsImpl::EnterFullscreenMode(const GURL& origin) { 1629 void WebContentsImpl::EnterFullscreenMode(const GURL& origin) {
1630 // This method is being called to enter renderer-initiated fullscreen mode. 1630 // This method is being called to enter renderer-initiated fullscreen mode.
1631 // Make sure any existing fullscreen widget is shut down first. 1631 // Make sure any existing fullscreen widget is shut down first.
1632 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); 1632 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView();
1633 if (widget_view) 1633 if (widget_view) {
1634 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())->Shutdown(); 1634 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())
1635 ->ShutdownAndDestroyWidget(true);
1636 }
1635 1637
1636 if (delegate_) 1638 if (delegate_)
1637 delegate_->EnterFullscreenModeForTab(this, origin); 1639 delegate_->EnterFullscreenModeForTab(this, origin);
1638 1640
1639 FOR_EACH_OBSERVER(WebContentsObserver, observers_, 1641 FOR_EACH_OBSERVER(WebContentsObserver, observers_,
1640 DidToggleFullscreenModeForTab(IsFullscreenForCurrentTab( 1642 DidToggleFullscreenModeForTab(IsFullscreenForCurrentTab(
1641 GetRenderViewHost()->GetWidget()))); 1643 GetRenderViewHost()->GetWidget())));
1642 } 1644 }
1643 1645
1644 void WebContentsImpl::ExitFullscreenMode() { 1646 void WebContentsImpl::ExitFullscreenMode() {
1645 // This method is being called to leave renderer-initiated fullscreen mode. 1647 // This method is being called to leave renderer-initiated fullscreen mode.
1646 // Make sure any existing fullscreen widget is shut down first. 1648 // Make sure any existing fullscreen widget is shut down first.
1647 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); 1649 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView();
1648 if (widget_view) 1650 if (widget_view) {
1649 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())->Shutdown(); 1651 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())
1652 ->ShutdownAndDestroyWidget(true);
1653 }
1650 1654
1651 #if defined(OS_ANDROID) 1655 #if defined(OS_ANDROID)
1652 ContentVideoView* video_view = ContentVideoView::GetInstance(); 1656 ContentVideoView* video_view = ContentVideoView::GetInstance();
1653 if (video_view != NULL) 1657 if (video_view != NULL)
1654 video_view->OnExitFullscreen(); 1658 video_view->OnExitFullscreen();
1655 #endif 1659 #endif
1656 1660
1657 if (delegate_) 1661 if (delegate_)
1658 delegate_->ExitFullscreenModeForTab(this); 1662 delegate_->ExitFullscreenModeForTab(this);
1659 1663
(...skipping 3119 matching lines...) Expand 10 before | Expand all | Expand 10 after
4779 return NULL; 4783 return NULL;
4780 } 4784 }
4781 4785
4782 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { 4786 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) {
4783 force_disable_overscroll_content_ = force_disable; 4787 force_disable_overscroll_content_ = force_disable;
4784 if (view_) 4788 if (view_)
4785 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 4789 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
4786 } 4790 }
4787 4791
4788 } // namespace content 4792 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698