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

Side by Side Diff: chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc

Issue 8511080: Get rid of resource_messages.h include from chrome, since that's an internal detail of content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate. h" 5 #include "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate. h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/browser/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/content_settings/host_content_settings_map.h" 9 #include "chrome/browser/content_settings/host_content_settings_map.h"
10 #include "chrome/browser/download/download_request_limiter.h" 10 #include "chrome/browser/download/download_request_limiter.h"
(...skipping 12 matching lines...) Expand all
23 #include "chrome/browser/ui/auto_login_prompter.h" 23 #include "chrome/browser/ui/auto_login_prompter.h"
24 #include "chrome/browser/ui/login/login_prompt.h" 24 #include "chrome/browser/ui/login/login_prompt.h"
25 #include "chrome/common/chrome_notification_types.h" 25 #include "chrome/common/chrome_notification_types.h"
26 #include "chrome/common/extensions/user_script.h" 26 #include "chrome/common/extensions/user_script.h"
27 #include "chrome/common/render_messages.h" 27 #include "chrome/common/render_messages.h"
28 #include "content/browser/renderer_host/render_view_host.h" 28 #include "content/browser/renderer_host/render_view_host.h"
29 #include "content/browser/renderer_host/resource_dispatcher_host.h" 29 #include "content/browser/renderer_host/resource_dispatcher_host.h"
30 #include "content/browser/renderer_host/resource_dispatcher_host_request_info.h" 30 #include "content/browser/renderer_host/resource_dispatcher_host_request_info.h"
31 #include "content/browser/renderer_host/resource_message_filter.h" 31 #include "content/browser/renderer_host/resource_message_filter.h"
32 #include "content/browser/resource_context.h" 32 #include "content/browser/resource_context.h"
33 #include "content/common/resource_messages.h"
34 #include "content/public/browser/browser_thread.h" 33 #include "content/public/browser/browser_thread.h"
35 #include "content/public/browser/notification_service.h" 34 #include "content/public/browser/notification_service.h"
36 #include "net/base/load_flags.h" 35 #include "net/base/load_flags.h"
37 #include "net/base/ssl_config_service.h" 36 #include "net/base/ssl_config_service.h"
38 37
39 // TODO(oshima): Enable this for other platforms. 38 // TODO(oshima): Enable this for other platforms.
40 #if defined(OS_CHROMEOS) 39 #if defined(OS_CHROMEOS)
41 #include "chrome/browser/renderer_host/offline_resource_handler.h" 40 #include "chrome/browser/renderer_host/offline_resource_handler.h"
42 #endif 41 #endif
43 42
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 : resource_dispatcher_host_(resource_dispatcher_host), 95 : resource_dispatcher_host_(resource_dispatcher_host),
97 download_request_limiter_(g_browser_process->download_request_limiter()), 96 download_request_limiter_(g_browser_process->download_request_limiter()),
98 safe_browsing_(g_browser_process->safe_browsing_service()), 97 safe_browsing_(g_browser_process->safe_browsing_service()),
99 prerender_tracker_(prerender_tracker) { 98 prerender_tracker_(prerender_tracker) {
100 } 99 }
101 100
102 ChromeResourceDispatcherHostDelegate::~ChromeResourceDispatcherHostDelegate() { 101 ChromeResourceDispatcherHostDelegate::~ChromeResourceDispatcherHostDelegate() {
103 } 102 }
104 103
105 bool ChromeResourceDispatcherHostDelegate::ShouldBeginRequest( 104 bool ChromeResourceDispatcherHostDelegate::ShouldBeginRequest(
106 int child_id, int route_id, 105 int child_id,
107 const ResourceHostMsg_Request& request_data, 106 int route_id,
107 const std::string& method,
108 const GURL& url,
109 ResourceType::Type resource_type,
108 const content::ResourceContext& resource_context, 110 const content::ResourceContext& resource_context,
109 const GURL& referrer) { 111 const GURL& referrer) {
110 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 112 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
111 113
112 // Handle a PREFETCH resource type. If prefetch is disabled, squelch the 114 // Handle a PREFETCH resource type. If prefetch is disabled, squelch the
113 // request. Otherwise, do a normal request to warm the cache. 115 // request. Otherwise, do a normal request to warm the cache.
114 if (request_data.resource_type == ResourceType::PREFETCH) { 116 if (resource_type == ResourceType::PREFETCH) {
115 // All PREFETCH requests should be GETs, but be defensive about it. 117 // All PREFETCH requests should be GETs, but be defensive about it.
116 if (request_data.method != "GET") 118 if (method != "GET")
117 return false; 119 return false;
118 120
119 // If prefetch is disabled, kill the request. 121 // If prefetch is disabled, kill the request.
120 if (!ResourceDispatcherHost::is_prefetch_enabled()) 122 if (!ResourceDispatcherHost::is_prefetch_enabled())
121 return false; 123 return false;
122 } 124 }
123 125
124 // Handle a PRERENDER motivated request. Very similar to rel=prefetch, these 126 // Handle a PRERENDER motivated request. Very similar to rel=prefetch, these
125 // rel=prerender requests instead launch an early render of the entire page. 127 // rel=prerender requests instead launch an early render of the entire page.
126 if (request_data.resource_type == ResourceType::PRERENDER) { 128 if (resource_type == ResourceType::PRERENDER) {
127 if (prerender::PrerenderManager::IsPrerenderingPossible()) { 129 if (prerender::PrerenderManager::IsPrerenderingPossible()) {
128 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 130 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
129 base::Bind(&AddPrerenderOnUI, 131 base::Bind(&AddPrerenderOnUI, child_id, route_id, url, referrer));
130 child_id,
131 route_id,
132 request_data.url,
133 referrer));
134 } 132 }
135 // Prerendering or not, this request should be aborted. 133 // Prerendering or not, this request should be aborted.
136 return false; 134 return false;
137 } 135 }
138 136
139 // Abort any prerenders that spawn requests that use invalid HTTP methods. 137 // Abort any prerenders that spawn requests that use invalid HTTP methods.
140 if (prerender_tracker_->IsPrerenderingOnIOThread(child_id, route_id) && 138 if (prerender_tracker_->IsPrerenderingOnIOThread(child_id, route_id) &&
141 !prerender::PrerenderManager::IsValidHttpMethod(request_data.method)) { 139 !prerender::PrerenderManager::IsValidHttpMethod(method)) {
142 prerender_tracker_->TryCancelOnIOThread( 140 prerender_tracker_->TryCancelOnIOThread(
143 child_id, route_id, 141 child_id, route_id, prerender::FINAL_STATUS_INVALID_HTTP_METHOD);
144 prerender::FINAL_STATUS_INVALID_HTTP_METHOD);
145 return false; 142 return false;
146 } 143 }
147 144
148 return true; 145 return true;
149 } 146 }
150 147
151 ResourceHandler* ChromeResourceDispatcherHostDelegate::RequestBeginning( 148 ResourceHandler* ChromeResourceDispatcherHostDelegate::RequestBeginning(
152 ResourceHandler* handler, 149 ResourceHandler* handler,
153 net::URLRequest* request, 150 net::URLRequest* request,
154 const content::ResourceContext& resource_context, 151 const content::ResourceContext& resource_context,
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 AutoLoginPrompter::ShowInfoBarIfPossible(request, info->child_id(), 346 AutoLoginPrompter::ShowInfoBarIfPossible(request, info->child_id(),
350 info->route_id()); 347 info->route_id());
351 } 348 }
352 349
353 void ChromeResourceDispatcherHostDelegate::OnRequestRedirected( 350 void ChromeResourceDispatcherHostDelegate::OnRequestRedirected(
354 net::URLRequest* request, 351 net::URLRequest* request,
355 ResourceResponse* response, 352 ResourceResponse* response,
356 ResourceMessageFilter* filter) { 353 ResourceMessageFilter* filter) {
357 LoadTimingObserver::PopulateTimingInfo(request, response); 354 LoadTimingObserver::PopulateTimingInfo(request, response);
358 } 355 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698