| OLD | NEW |
| 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 #ifndef CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_OBSERVER_H_ | 5 #ifndef CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_DELEGATE_H_ |
| 6 #define CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_OBSERVER_H_ | 6 #define CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_DELEGATE_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include "content/browser/renderer_host/resource_dispatcher_host.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/memory/ref_counted.h" |
| 11 #include "content/browser/renderer_host/resource_dispatcher_host_delegate.h" |
| 10 | 12 |
| 13 class ResourceDispatcherHost; |
| 11 class SafeBrowsingService; | 14 class SafeBrowsingService; |
| 12 | 15 |
| 13 namespace prerender { | 16 namespace prerender { |
| 14 class PrerenderTracker; | 17 class PrerenderTracker; |
| 15 } | 18 } |
| 16 | 19 |
| 17 // Implements ResourceDispatcherHost::Observer. Currently used by the Prerender | 20 // Implements ResourceDispatcherHostDelegate. Currently used by the Prerender |
| 18 // system to abort requests and add to the load flags when a request begins. | 21 // system to abort requests and add to the load flags when a request begins. |
| 19 class ChromeResourceDispatcherHostObserver | 22 class ChromeResourceDispatcherHostDelegate |
| 20 : public ResourceDispatcherHost::Observer { | 23 : public ResourceDispatcherHostDelegate { |
| 21 public: | 24 public: |
| 22 // This class does not take ownership of the tracker but merely holds a | 25 // This class does not take ownership of the tracker but merely holds a |
| 23 // reference to it to avoid accessing g_browser_process. | 26 // reference to it to avoid accessing g_browser_process. |
| 24 // Both |resource_dispatcher_host| and |prerender_tracker| must outlive | 27 // Both |resource_dispatcher_host| and |prerender_tracker| must outlive |
| 25 // |this|. | 28 // |this|. |
| 26 ChromeResourceDispatcherHostObserver( | 29 ChromeResourceDispatcherHostDelegate( |
| 27 ResourceDispatcherHost* resource_dispatcher_host, | 30 ResourceDispatcherHost* resource_dispatcher_host, |
| 28 prerender::PrerenderTracker* prerender_tracker); | 31 prerender::PrerenderTracker* prerender_tracker); |
| 29 virtual ~ChromeResourceDispatcherHostObserver(); | 32 virtual ~ChromeResourceDispatcherHostDelegate(); |
| 30 | 33 |
| 31 // ResourceDispatcherHost::Observer implementation. | 34 // ResourceDispatcherHost::Observer implementation. |
| 32 virtual bool ShouldBeginRequest( | 35 virtual bool ShouldBeginRequest( |
| 33 int child_id, int route_id, | 36 int child_id, int route_id, |
| 34 const ResourceHostMsg_Request& request_data, | 37 const ResourceHostMsg_Request& request_data, |
| 35 const content::ResourceContext& resource_context, | 38 const content::ResourceContext& resource_context, |
| 36 const GURL& referrer) OVERRIDE; | 39 const GURL& referrer) OVERRIDE; |
| 37 virtual void RequestBeginning(ResourceHandler** handler, | 40 virtual ResourceHandler* RequestBeginning(ResourceHandler* handler, |
| 38 net::URLRequest* request, | 41 net::URLRequest* request, |
| 39 bool is_subresource, | 42 bool is_subresource, |
| 40 int child_id, | 43 int child_id, |
| 41 int route_id) OVERRIDE; | 44 int route_id) OVERRIDE; |
| 42 virtual void DownloadStarting(ResourceHandler** handler, | 45 virtual ResourceHandler* DownloadStarting(ResourceHandler* handler, |
| 43 int child_id, | 46 int child_id, |
| 44 int route_id) OVERRIDE; | 47 int route_id) OVERRIDE; |
| 45 virtual bool ShouldDeferStart( | 48 virtual bool ShouldDeferStart( |
| 46 net::URLRequest* request, | 49 net::URLRequest* request, |
| 47 const content::ResourceContext& resource_context) OVERRIDE; | 50 const content::ResourceContext& resource_context) OVERRIDE; |
| 48 virtual bool AcceptSSLClientCertificateRequest( | 51 virtual bool AcceptSSLClientCertificateRequest( |
| 49 net::URLRequest* request, | 52 net::URLRequest* request, |
| 50 net::SSLCertRequestInfo* cert_request_info) OVERRIDE; | 53 net::SSLCertRequestInfo* cert_request_info) OVERRIDE; |
| 51 virtual bool AcceptAuthRequest(net::URLRequest* request, | 54 virtual bool AcceptAuthRequest(net::URLRequest* request, |
| 52 net::AuthChallengeInfo* auth_info) OVERRIDE; | 55 net::AuthChallengeInfo* auth_info) OVERRIDE; |
| 56 virtual ResourceDispatcherHostLoginDelegate* CreateLoginDelegate( |
| 57 net::AuthChallengeInfo* auth_info, net::URLRequest* request) OVERRIDE; |
| 58 virtual void HandleExternalProtocol(const GURL& url, |
| 59 int child_id, |
| 60 int route_id) OVERRIDE; |
| 53 | 61 |
| 54 private: | 62 private: |
| 55 ResourceHandler* CreateSafeBrowsingResourceHandler( | 63 ResourceHandler* CreateSafeBrowsingResourceHandler( |
| 56 ResourceHandler* handler, int child_id, int route_id, bool subresource); | 64 ResourceHandler* handler, int child_id, int route_id, bool subresource); |
| 57 | 65 |
| 58 ResourceDispatcherHost* resource_dispatcher_host_; | 66 ResourceDispatcherHost* resource_dispatcher_host_; |
| 59 scoped_refptr<SafeBrowsingService> safe_browsing_; | 67 scoped_refptr<SafeBrowsingService> safe_browsing_; |
| 60 prerender::PrerenderTracker* prerender_tracker_; | 68 prerender::PrerenderTracker* prerender_tracker_; |
| 61 | 69 |
| 62 DISALLOW_COPY_AND_ASSIGN(ChromeResourceDispatcherHostObserver); | 70 DISALLOW_COPY_AND_ASSIGN(ChromeResourceDispatcherHostDelegate); |
| 63 }; | 71 }; |
| 64 | 72 |
| 65 #endif // CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_OBSERVER
_H_ | 73 #endif // CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_DELEGATE
_H_ |
| OLD | NEW |