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

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: no dcheck for now 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 1637 matching lines...) Expand 10 before | Expand all | Expand 10 after
1648 return receiving_widget; 1648 return receiving_widget;
1649 1649
1650 return RenderWidgetHostImpl::From( 1650 return RenderWidgetHostImpl::From(
1651 focused_frame->current_frame_host()->GetView()->GetRenderWidgetHost()); 1651 focused_frame->current_frame_host()->GetView()->GetRenderWidgetHost());
1652 } 1652 }
1653 1653
1654 void WebContentsImpl::EnterFullscreenMode(const GURL& origin) { 1654 void WebContentsImpl::EnterFullscreenMode(const GURL& origin) {
1655 // This method is being called to enter renderer-initiated fullscreen mode. 1655 // This method is being called to enter renderer-initiated fullscreen mode.
1656 // Make sure any existing fullscreen widget is shut down first. 1656 // Make sure any existing fullscreen widget is shut down first.
1657 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); 1657 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView();
1658 if (widget_view) 1658 if (widget_view) {
1659 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())->Shutdown(); 1659 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())
1660 ->ShutdownAndDestroyWidget(true);
1661 }
1660 1662
1661 if (delegate_) 1663 if (delegate_)
1662 delegate_->EnterFullscreenModeForTab(this, origin); 1664 delegate_->EnterFullscreenModeForTab(this, origin);
1663 1665
1664 FOR_EACH_OBSERVER(WebContentsObserver, observers_, 1666 FOR_EACH_OBSERVER(WebContentsObserver, observers_,
1665 DidToggleFullscreenModeForTab(IsFullscreenForCurrentTab( 1667 DidToggleFullscreenModeForTab(IsFullscreenForCurrentTab(
1666 GetRenderViewHost()->GetWidget()))); 1668 GetRenderViewHost()->GetWidget())));
1667 } 1669 }
1668 1670
1669 void WebContentsImpl::ExitFullscreenMode() { 1671 void WebContentsImpl::ExitFullscreenMode() {
1670 // This method is being called to leave renderer-initiated fullscreen mode. 1672 // This method is being called to leave renderer-initiated fullscreen mode.
1671 // Make sure any existing fullscreen widget is shut down first. 1673 // Make sure any existing fullscreen widget is shut down first.
1672 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); 1674 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView();
1673 if (widget_view) 1675 if (widget_view) {
1674 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())->Shutdown(); 1676 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())
1677 ->ShutdownAndDestroyWidget(true);
1678 }
1675 1679
1676 #if defined(OS_ANDROID) 1680 #if defined(OS_ANDROID)
1677 ContentVideoView* video_view = ContentVideoView::GetInstance(); 1681 ContentVideoView* video_view = ContentVideoView::GetInstance();
1678 if (video_view != NULL) 1682 if (video_view != NULL)
1679 video_view->OnExitFullscreen(); 1683 video_view->OnExitFullscreen();
1680 #endif 1684 #endif
1681 1685
1682 if (delegate_) 1686 if (delegate_)
1683 delegate_->ExitFullscreenModeForTab(this); 1687 delegate_->ExitFullscreenModeForTab(this);
1684 1688
(...skipping 3125 matching lines...) Expand 10 before | Expand all | Expand 10 after
4810 return NULL; 4814 return NULL;
4811 } 4815 }
4812 4816
4813 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { 4817 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) {
4814 force_disable_overscroll_content_ = force_disable; 4818 force_disable_overscroll_content_ = force_disable;
4815 if (view_) 4819 if (view_)
4816 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 4820 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
4817 } 4821 }
4818 4822
4819 } // namespace content 4823 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698