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

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

Issue 107893003: Make the renderer-side prerendering code use RenderFrames instead of RenderViews. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 7 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 | 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 2720 matching lines...) Expand 10 before | Expand all | Expand 10 after
2731 const LoadCommittedDetails& load_details) { 2731 const LoadCommittedDetails& load_details) {
2732 FOR_EACH_OBSERVER( 2732 FOR_EACH_OBSERVER(
2733 WebContentsObserver, observers_, NavigationEntryCommitted(load_details)); 2733 WebContentsObserver, observers_, NavigationEntryCommitted(load_details));
2734 } 2734 }
2735 2735
2736 bool WebContentsImpl::OnMessageReceived(RenderFrameHost* render_frame_host, 2736 bool WebContentsImpl::OnMessageReceived(RenderFrameHost* render_frame_host,
2737 const IPC::Message& message) { 2737 const IPC::Message& message) {
2738 return OnMessageReceived(NULL, render_frame_host, message); 2738 return OnMessageReceived(NULL, render_frame_host, message);
2739 } 2739 }
2740 2740
2741 void WebContentsImpl::RenderFrameCreated(RenderFrameHost* render_frame_host) {
2742 // Note this is only for subframes, the notification for the main frame
2743 // happens in RenderViewCreated.
2744 FOR_EACH_OBSERVER(WebContentsObserver,
2745 observers_,
2746 RenderFrameCreated(render_frame_host));
2747 }
2748
2749 void WebContentsImpl::RenderFrameDeleted(RenderFrameHost* render_frame_host) {
2750 FOR_EACH_OBSERVER(WebContentsObserver,
2751 observers_,
2752 RenderFrameDeleted(render_frame_host));
2753 }
2754
2741 RenderViewHostDelegateView* WebContentsImpl::GetDelegateView() { 2755 RenderViewHostDelegateView* WebContentsImpl::GetDelegateView() {
2742 return render_view_host_delegate_view_; 2756 return render_view_host_delegate_view_;
2743 } 2757 }
2744 2758
2745 RenderViewHostDelegate::RendererManagement* 2759 RenderViewHostDelegate::RendererManagement*
2746 WebContentsImpl::GetRendererManagementDelegate() { 2760 WebContentsImpl::GetRendererManagementDelegate() {
2747 return GetRenderManager(); 2761 return GetRenderManager();
2748 } 2762 }
2749 2763
2750 RendererPreferences WebContentsImpl::GetRendererPrefs( 2764 RendererPreferences WebContentsImpl::GetRendererPrefs(
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
2791 if (entry && entry->IsViewSourceMode()) { 2805 if (entry && entry->IsViewSourceMode()) {
2792 // Put the renderer in view source mode. 2806 // Put the renderer in view source mode.
2793 render_view_host->Send( 2807 render_view_host->Send(
2794 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID())); 2808 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID()));
2795 } 2809 }
2796 2810
2797 view_->RenderViewCreated(render_view_host); 2811 view_->RenderViewCreated(render_view_host);
2798 2812
2799 FOR_EACH_OBSERVER( 2813 FOR_EACH_OBSERVER(
2800 WebContentsObserver, observers_, RenderViewCreated(render_view_host)); 2814 WebContentsObserver, observers_, RenderViewCreated(render_view_host));
2815
2816 // We tell the observers now instead of when the main RenderFrameHostImpl is
2817 // constructed because otherwise it would be too early (i.e. IPCs sent to the
2818 // frame would be dropped because it's not created yet).
2819 RenderFrameHost* main_frame = GetMainFrame();
2820 FOR_EACH_OBSERVER(
2821 WebContentsObserver, observers_, RenderFrameCreated(main_frame));
2801 } 2822 }
2802 2823
2803 void WebContentsImpl::RenderViewReady(RenderViewHost* rvh) { 2824 void WebContentsImpl::RenderViewReady(RenderViewHost* rvh) {
2804 if (rvh != GetRenderViewHost()) { 2825 if (rvh != GetRenderViewHost()) {
2805 // Don't notify the world, since this came from a renderer in the 2826 // Don't notify the world, since this came from a renderer in the
2806 // background. 2827 // background.
2807 return; 2828 return;
2808 } 2829 }
2809 2830
2810 notify_disconnection_ = true; 2831 notify_disconnection_ = true;
(...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after
3738 } 3759 }
3739 3760
3740 void WebContentsImpl::OnFrameRemoved( 3761 void WebContentsImpl::OnFrameRemoved(
3741 RenderViewHostImpl* render_view_host, 3762 RenderViewHostImpl* render_view_host,
3742 int64 frame_id) { 3763 int64 frame_id) {
3743 FOR_EACH_OBSERVER(WebContentsObserver, observers_, 3764 FOR_EACH_OBSERVER(WebContentsObserver, observers_,
3744 FrameDetached(render_view_host, frame_id)); 3765 FrameDetached(render_view_host, frame_id));
3745 } 3766 }
3746 3767
3747 } // namespace content 3768 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/web_contents/web_contents_impl.h ('k') | content/public/browser/web_contents_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698