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

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

Issue 25654005: Remove GetActiveEntry usage from content. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove GetWebkitPrefs() change. Created 7 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 | 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 890 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 901
902 renderer_preferences_.user_agent_override = override; 902 renderer_preferences_.user_agent_override = override;
903 903
904 // Send the new override string to the renderer. 904 // Send the new override string to the renderer.
905 RenderViewHost* host = GetRenderViewHost(); 905 RenderViewHost* host = GetRenderViewHost();
906 if (host) 906 if (host)
907 host->SyncRendererPrefs(); 907 host->SyncRendererPrefs();
908 908
909 // Reload the page if a load is currently in progress to avoid having 909 // Reload the page if a load is currently in progress to avoid having
910 // different parts of the page loaded using different user agents. 910 // different parts of the page loaded using different user agents.
911 NavigationEntry* entry = controller_.GetActiveEntry(); 911 NavigationEntry* entry = controller_.GetVisibleEntry();
912 if (is_loading_ && entry != NULL && entry->GetIsOverridingUserAgent()) 912 if (is_loading_ && entry != NULL && entry->GetIsOverridingUserAgent())
913 controller_.ReloadIgnoringCache(true); 913 controller_.ReloadIgnoringCache(true);
914 914
915 FOR_EACH_OBSERVER(WebContentsObserver, observers_, 915 FOR_EACH_OBSERVER(WebContentsObserver, observers_,
916 UserAgentOverrideSet(override)); 916 UserAgentOverrideSet(override));
917 } 917 }
918 918
919 const std::string& WebContentsImpl::GetUserAgentOverride() const { 919 const std::string& WebContentsImpl::GetUserAgentOverride() const {
920 return renderer_preferences_.user_agent_override; 920 return renderer_preferences_.user_agent_override;
921 } 921 }
(...skipping 1034 matching lines...) Expand 10 before | Expand all | Expand 10 after
1956 if (!GetURL().is_valid()) 1956 if (!GetURL().is_valid())
1957 return; 1957 return;
1958 bool is_main_frame = (url == GetURL()); 1958 bool is_main_frame = (url == GetURL());
1959 1959
1960 DownloadManager* dlm = 1960 DownloadManager* dlm =
1961 BrowserContext::GetDownloadManager(GetBrowserContext()); 1961 BrowserContext::GetDownloadManager(GetBrowserContext());
1962 if (!dlm) 1962 if (!dlm)
1963 return; 1963 return;
1964 int64 post_id = -1; 1964 int64 post_id = -1;
1965 if (is_main_frame) { 1965 if (is_main_frame) {
1966 const NavigationEntry* entry = controller_.GetActiveEntry(); 1966 const NavigationEntry* entry = controller_.GetLastCommittedEntry();
1967 if (entry) 1967 if (entry)
1968 post_id = entry->GetPostID(); 1968 post_id = entry->GetPostID();
1969 } 1969 }
1970 scoped_ptr<DownloadUrlParameters> params( 1970 scoped_ptr<DownloadUrlParameters> params(
1971 DownloadUrlParameters::FromWebContents(this, url)); 1971 DownloadUrlParameters::FromWebContents(this, url));
1972 params->set_referrer(referrer); 1972 params->set_referrer(referrer);
1973 params->set_post_id(post_id); 1973 params->set_post_id(post_id);
1974 params->set_prefer_cache(true); 1974 params->set_prefer_cache(true);
1975 if (post_id >= 0) 1975 if (post_id >= 0)
1976 params->set_method("POST"); 1976 params->set_method("POST");
1977 params->set_prompt(true); 1977 params->set_prompt(true);
1978 dlm->DownloadUrl(params.Pass()); 1978 dlm->DownloadUrl(params.Pass());
1979 } 1979 }
1980 1980
1981 void WebContentsImpl::GenerateMHTML( 1981 void WebContentsImpl::GenerateMHTML(
1982 const base::FilePath& file, 1982 const base::FilePath& file,
1983 const base::Callback<void(int64)>& callback) { 1983 const base::Callback<void(int64)>& callback) {
1984 MHTMLGenerationManager::GetInstance()->SaveMHTML(this, file, callback); 1984 MHTMLGenerationManager::GetInstance()->SaveMHTML(this, file, callback);
1985 } 1985 }
1986 1986
1987 // TODO(nasko): Rename this method to IsVisibleEntry.
1987 bool WebContentsImpl::IsActiveEntry(int32 page_id) { 1988 bool WebContentsImpl::IsActiveEntry(int32 page_id) {
1988 NavigationEntryImpl* active_entry = 1989 NavigationEntryImpl* visible_entry =
1989 NavigationEntryImpl::FromNavigationEntry(controller_.GetActiveEntry()); 1990 NavigationEntryImpl::FromNavigationEntry(controller_.GetVisibleEntry());
1990 return (active_entry != NULL && 1991 return (visible_entry != NULL &&
1991 active_entry->site_instance() == GetSiteInstance() && 1992 visible_entry->site_instance() == GetSiteInstance() &&
1992 active_entry->GetPageID() == page_id); 1993 visible_entry->GetPageID() == page_id);
1993 } 1994 }
1994 1995
1995 const std::string& WebContentsImpl::GetContentsMimeType() const { 1996 const std::string& WebContentsImpl::GetContentsMimeType() const {
1996 return contents_mime_type_; 1997 return contents_mime_type_;
1997 } 1998 }
1998 1999
1999 bool WebContentsImpl::WillNotifyDisconnection() const { 2000 bool WebContentsImpl::WillNotifyDisconnection() const {
2000 return notify_disconnection_; 2001 return notify_disconnection_;
2001 } 2002 }
2002 2003
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
2064 HostZoomMap::GetForBrowserContext(GetBrowserContext())); 2065 HostZoomMap::GetForBrowserContext(GetBrowserContext()));
2065 if (!zoom_map) 2066 if (!zoom_map)
2066 return 0; 2067 return 0;
2067 2068
2068 double zoom_level; 2069 double zoom_level;
2069 if (temporary_zoom_settings_) { 2070 if (temporary_zoom_settings_) {
2070 zoom_level = zoom_map->GetTemporaryZoomLevel( 2071 zoom_level = zoom_map->GetTemporaryZoomLevel(
2071 GetRenderProcessHost()->GetID(), GetRenderViewHost()->GetRoutingID()); 2072 GetRenderProcessHost()->GetID(), GetRenderViewHost()->GetRoutingID());
2072 } else { 2073 } else {
2073 GURL url; 2074 GURL url;
2074 NavigationEntry* active_entry = GetController().GetActiveEntry(); 2075 NavigationEntry* entry = GetController().GetLastCommittedEntry();
2075 // Since zoom map is updated using rewritten URL, use rewritten URL 2076 // Since zoom map is updated using rewritten URL, use rewritten URL
2076 // to get the zoom level. 2077 // to get the zoom level.
2077 url = active_entry ? active_entry->GetURL() : GURL::EmptyGURL(); 2078 url = entry ? entry->GetURL() : GURL::EmptyGURL();
2078 zoom_level = zoom_map->GetZoomLevelForHostAndScheme(url.scheme(), 2079 zoom_level = zoom_map->GetZoomLevelForHostAndScheme(url.scheme(),
2079 net::GetHostOrSpecFromURL(url)); 2080 net::GetHostOrSpecFromURL(url));
2080 } 2081 }
2081 return zoom_level; 2082 return zoom_level;
2082 } 2083 }
2083 2084
2084 int WebContentsImpl::GetZoomPercent(bool* enable_increment, 2085 int WebContentsImpl::GetZoomPercent(bool* enable_increment,
2085 bool* enable_decrement) const { 2086 bool* enable_decrement) const {
2086 *enable_decrement = *enable_increment = false; 2087 *enable_decrement = *enable_increment = false;
2087 // Calculate the zoom percent from the factor. Round up to the nearest whole 2088 // Calculate the zoom percent from the factor. Round up to the nearest whole
2088 // number. 2089 // number.
2089 int percent = static_cast<int>( 2090 int percent = static_cast<int>(
2090 ZoomLevelToZoomFactor(GetZoomLevel()) * 100 + 0.5); 2091 ZoomLevelToZoomFactor(GetZoomLevel()) * 100 + 0.5);
2091 *enable_decrement = percent > minimum_zoom_percent_; 2092 *enable_decrement = percent > minimum_zoom_percent_;
2092 *enable_increment = percent < maximum_zoom_percent_; 2093 *enable_increment = percent < maximum_zoom_percent_;
2093 return percent; 2094 return percent;
2094 } 2095 }
2095 2096
2096 void WebContentsImpl::ViewSource() { 2097 void WebContentsImpl::ViewSource() {
2097 if (!delegate_) 2098 if (!delegate_)
2098 return; 2099 return;
2099 2100
2100 NavigationEntry* active_entry = GetController().GetActiveEntry(); 2101 NavigationEntry* entry = GetController().GetLastCommittedEntry();
2101 if (!active_entry) 2102 if (!entry)
2102 return; 2103 return;
2103 2104
2104 delegate_->ViewSourceForTab(this, active_entry->GetURL()); 2105 delegate_->ViewSourceForTab(this, entry->GetURL());
2105 } 2106 }
2106 2107
2107 void WebContentsImpl::ViewFrameSource(const GURL& url, 2108 void WebContentsImpl::ViewFrameSource(const GURL& url,
2108 const PageState& page_state) { 2109 const PageState& page_state) {
2109 if (!delegate_) 2110 if (!delegate_)
2110 return; 2111 return;
2111 2112
2112 delegate_->ViewSourceForFrame(this, url, page_state); 2113 delegate_->ViewSourceForFrame(this, url, page_state);
2113 } 2114 }
2114 2115
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
2149 bool is_favicon, 2150 bool is_favicon,
2150 uint32_t max_bitmap_size, 2151 uint32_t max_bitmap_size,
2151 const ImageDownloadCallback& callback) { 2152 const ImageDownloadCallback& callback) {
2152 RenderViewHost* host = GetRenderViewHost(); 2153 RenderViewHost* host = GetRenderViewHost();
2153 int id = StartDownload(host, url, is_favicon, max_bitmap_size); 2154 int id = StartDownload(host, url, is_favicon, max_bitmap_size);
2154 image_download_map_[id] = callback; 2155 image_download_map_[id] = callback;
2155 return id; 2156 return id;
2156 } 2157 }
2157 2158
2158 bool WebContentsImpl::FocusLocationBarByDefault() { 2159 bool WebContentsImpl::FocusLocationBarByDefault() {
2159 NavigationEntry* entry = controller_.GetActiveEntry(); 2160 NavigationEntry* entry = controller_.GetVisibleEntry();
2160 if (entry && entry->GetURL() == GURL(kAboutBlankURL)) 2161 if (entry && entry->GetURL() == GURL(kAboutBlankURL))
2161 return true; 2162 return true;
2162 return delegate_ && delegate_->ShouldFocusLocationBarByDefault(this); 2163 return delegate_ && delegate_->ShouldFocusLocationBarByDefault(this);
2163 } 2164 }
2164 2165
2165 void WebContentsImpl::SetFocusToLocationBar(bool select_all) { 2166 void WebContentsImpl::SetFocusToLocationBar(bool select_all) {
2166 if (delegate_) 2167 if (delegate_)
2167 delegate_->SetFocusToLocationBar(select_all); 2168 delegate_->SetFocusToLocationBar(select_all);
2168 } 2169 }
2169 2170
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after
2909 NotificationService::current()->Notify( 2910 NotificationService::current()->Notify(
2910 NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED, 2911 NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED,
2911 Source<WebContents>(this), 2912 Source<WebContents>(this),
2912 Details<RenderViewHost>(render_view_host)); 2913 Details<RenderViewHost>(render_view_host));
2913 2914
2914 // When we're creating views, we're still doing initial setup, so we always 2915 // When we're creating views, we're still doing initial setup, so we always
2915 // use the pending Web UI rather than any possibly existing committed one. 2916 // use the pending Web UI rather than any possibly existing committed one.
2916 if (render_manager_.pending_web_ui()) 2917 if (render_manager_.pending_web_ui())
2917 render_manager_.pending_web_ui()->RenderViewCreated(render_view_host); 2918 render_manager_.pending_web_ui()->RenderViewCreated(render_view_host);
2918 2919
2919 NavigationEntry* entry = controller_.GetActiveEntry(); 2920 NavigationEntry* entry = controller_.GetPendingEntry();
2920 if (entry && entry->IsViewSourceMode()) { 2921 if (entry && entry->IsViewSourceMode()) {
2921 // Put the renderer in view source mode. 2922 // Put the renderer in view source mode.
2922 render_view_host->Send( 2923 render_view_host->Send(
2923 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID())); 2924 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID()));
2924 } 2925 }
2925 2926
2926 view_->RenderViewCreated(render_view_host); 2927 view_->RenderViewCreated(render_view_host);
2927 2928
2928 FOR_EACH_OBSERVER( 2929 FOR_EACH_OBSERVER(
2929 WebContentsObserver, observers_, RenderViewCreated(render_view_host)); 2930 WebContentsObserver, observers_, RenderViewCreated(render_view_host));
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
3066 // For AUTO_SUBFRAME navigations, an event for the main frame is generated 3067 // For AUTO_SUBFRAME navigations, an event for the main frame is generated
3067 // that is not recorded in the navigation history. For the purpose of 3068 // that is not recorded in the navigation history. For the purpose of
3068 // tracking navigation events, we treat this event as a sub frame navigation 3069 // tracking navigation events, we treat this event as a sub frame navigation
3069 // event. 3070 // event.
3070 bool is_main_frame = did_navigate ? details.is_main_frame : false; 3071 bool is_main_frame = did_navigate ? details.is_main_frame : false;
3071 PageTransition transition_type = params.transition; 3072 PageTransition transition_type = params.transition;
3072 // Whether or not a page transition was triggered by going backward or 3073 // Whether or not a page transition was triggered by going backward or
3073 // forward in the history is only stored in the navigation controller's 3074 // forward in the history is only stored in the navigation controller's
3074 // entry list. 3075 // entry list.
3075 if (did_navigate && 3076 if (did_navigate &&
3076 (controller_.GetActiveEntry()->GetTransitionType() & 3077 (controller_.GetLastCommittedEntry()->GetTransitionType() &
3077 PAGE_TRANSITION_FORWARD_BACK)) { 3078 PAGE_TRANSITION_FORWARD_BACK)) {
3078 transition_type = PageTransitionFromInt( 3079 transition_type = PageTransitionFromInt(
3079 params.transition | PAGE_TRANSITION_FORWARD_BACK); 3080 params.transition | PAGE_TRANSITION_FORWARD_BACK);
3080 } 3081 }
3081 // Notify observers about the commit of the provisional load. 3082 // Notify observers about the commit of the provisional load.
3082 FOR_EACH_OBSERVER(WebContentsObserver, observers_, 3083 FOR_EACH_OBSERVER(WebContentsObserver, observers_,
3083 DidCommitProvisionalLoadForFrame(params.frame_id, 3084 DidCommitProvisionalLoadForFrame(params.frame_id,
3084 is_main_frame, params.url, transition_type, rvh)); 3085 is_main_frame, params.url, transition_type, rvh));
3085 } 3086 }
3086 3087
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
3494 int32 line_no, 3495 int32 line_no,
3495 const string16& source_id) { 3496 const string16& source_id) {
3496 if (!delegate_) 3497 if (!delegate_)
3497 return false; 3498 return false;
3498 return delegate_->AddMessageToConsole(this, level, message, line_no, 3499 return delegate_->AddMessageToConsole(this, level, message, line_no,
3499 source_id); 3500 source_id);
3500 } 3501 }
3501 3502
3502 WebPreferences WebContentsImpl::GetWebkitPrefs() { 3503 WebPreferences WebContentsImpl::GetWebkitPrefs() {
3503 // We want to base the page config off of the real URL, rather than the 3504 // We want to base the page config off of the real URL, rather than the
3504 // display URL. 3505 // display URL.
Charlie Reis 2013/10/08 20:23:28 I think this comment is still worth updating becau
nasko 2013/10/08 21:45:54 Done.
3505 GURL url = controller_.GetActiveEntry() 3506 GURL url = controller_.GetActiveEntry()
3506 ? controller_.GetActiveEntry()->GetURL() : GURL::EmptyGURL(); 3507 ? controller_.GetActiveEntry()->GetURL() : GURL::EmptyGURL();
3507 return GetWebkitPrefs(GetRenderViewHost(), url); 3508 return GetWebkitPrefs(GetRenderViewHost(), url);
3508 } 3509 }
3509 3510
3510 int WebContentsImpl::CreateSwappedOutRenderView( 3511 int WebContentsImpl::CreateSwappedOutRenderView(
3511 SiteInstance* instance) { 3512 SiteInstance* instance) {
3512 return render_manager_.CreateRenderView(instance, MSG_ROUTING_NONE, 3513 return render_manager_.CreateRenderView(instance, MSG_ROUTING_NONE,
3513 true, true); 3514 true, true);
3514 } 3515 }
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
3817 } 3818 }
3818 3819
3819 void WebContentsImpl::OnFrameRemoved( 3820 void WebContentsImpl::OnFrameRemoved(
3820 RenderViewHostImpl* render_view_host, 3821 RenderViewHostImpl* render_view_host,
3821 int64 frame_id) { 3822 int64 frame_id) {
3822 FOR_EACH_OBSERVER(WebContentsObserver, observers_, 3823 FOR_EACH_OBSERVER(WebContentsObserver, observers_,
3823 FrameDetached(render_view_host, frame_id)); 3824 FrameDetached(render_view_host, frame_id));
3824 } 3825 }
3825 3826
3826 } // namespace content 3827 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698