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

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

Issue 208243019: Move SwapOut methods to RenderFrameHost. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
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 2989 matching lines...) Expand 10 before | Expand all | Expand 10 after
3000 view_->CloseTabAfterEventTracking(); 3000 view_->CloseTabAfterEventTracking();
3001 return; 3001 return;
3002 } 3002 }
3003 #endif 3003 #endif
3004 3004
3005 // Ignore this if it comes from a RenderViewHost that we aren't showing. 3005 // Ignore this if it comes from a RenderViewHost that we aren't showing.
3006 if (delegate_ && rvh == GetRenderViewHost()) 3006 if (delegate_ && rvh == GetRenderViewHost())
3007 delegate_->CloseContents(this); 3007 delegate_->CloseContents(this);
3008 } 3008 }
3009 3009
3010 void WebContentsImpl::SwappedOut(RenderViewHost* rvh) { 3010 void WebContentsImpl::SwappedOut(RenderFrameHost* rfh) {
3011 if (rvh == GetRenderViewHost()) { 3011 // TODO(creis): Handle subframes that go fullscreen.
3012 if (rfh->GetRenderViewHost() == GetRenderViewHost()) {
3012 // Exit fullscreen mode before the current RVH is swapped out. For numerous 3013 // Exit fullscreen mode before the current RVH is swapped out. For numerous
3013 // cases, there is no guarantee the renderer would/could initiate an exit. 3014 // cases, there is no guarantee the renderer would/could initiate an exit.
3014 // Example: http://crbug.com/347232 3015 // Example: http://crbug.com/347232
3015 if (IsFullscreenForCurrentTab()) { 3016 if (IsFullscreenForCurrentTab()) {
3016 if (rvh) 3017 rfh->GetRenderViewHost()->ExitFullscreen();
3017 rvh->ExitFullscreen();
3018 DCHECK(!IsFullscreenForCurrentTab()); 3018 DCHECK(!IsFullscreenForCurrentTab());
3019 } 3019 }
3020 3020
3021 if (delegate_) 3021 if (delegate_)
3022 delegate_->SwappedOut(this); 3022 delegate_->SwappedOut(this);
3023 } 3023 }
3024
3025 // Allow the navigation to proceed.
3026 GetRenderManager()->SwappedOut(rvh);
Charlie Reis 2014/03/24 22:17:49 I moved this line into RFHI::SwapOut.
3027 } 3024 }
3028 3025
3029 void WebContentsImpl::RequestMove(const gfx::Rect& new_bounds) { 3026 void WebContentsImpl::RequestMove(const gfx::Rect& new_bounds) {
3030 if (delegate_ && delegate_->IsPopupOrPanel(this)) 3027 if (delegate_ && delegate_->IsPopupOrPanel(this))
3031 delegate_->MoveContents(this, new_bounds); 3028 delegate_->MoveContents(this, new_bounds);
3032 } 3029 }
3033 3030
3034 void WebContentsImpl::DidStartLoading(RenderFrameHost* render_frame_host) { 3031 void WebContentsImpl::DidStartLoading(RenderFrameHost* render_frame_host) {
3035 SetIsLoading(render_frame_host->GetRenderViewHost(), true, NULL); 3032 SetIsLoading(render_frame_host->GetRenderViewHost(), true, NULL);
3036 } 3033 }
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
3630 3627
3631 void WebContentsImpl::OnPreferredSizeChanged(const gfx::Size& old_size) { 3628 void WebContentsImpl::OnPreferredSizeChanged(const gfx::Size& old_size) {
3632 if (!delegate_) 3629 if (!delegate_)
3633 return; 3630 return;
3634 const gfx::Size new_size = GetPreferredSize(); 3631 const gfx::Size new_size = GetPreferredSize();
3635 if (new_size != old_size) 3632 if (new_size != old_size)
3636 delegate_->UpdatePreferredSize(this, new_size); 3633 delegate_->UpdatePreferredSize(this, new_size);
3637 } 3634 }
3638 3635
3639 } // namespace content 3636 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698