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

Side by Side Diff: chrome/browser/renderer_host/chrome_resource_dispatcher_host_observer.h

Issue 7058041: Remove ResourceDispatcherHost dependency on Chrome's LoginHandler and ExternalProtocolHandler. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix deps Created 9 years, 6 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_OBSERVER_H_
6 #define CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_OBSERVER_H_
7 #pragma once
8
9 #include "content/browser/renderer_host/resource_dispatcher_host.h"
10
11 class SafeBrowsingService;
12
13 namespace prerender {
14 class PrerenderTracker;
15 }
16
17 // Implements ResourceDispatcherHost::Observer. Currently used by the Prerender
18 // system to abort requests and add to the load flags when a request begins.
19 class ChromeResourceDispatcherHostObserver
20 : public ResourceDispatcherHost::Observer {
21 public:
22 // This class does not take ownership of the tracker but merely holds a
23 // reference to it to avoid accessing g_browser_process.
24 // Both |resource_dispatcher_host| and |prerender_tracker| must outlive
25 // |this|.
26 ChromeResourceDispatcherHostObserver(
27 ResourceDispatcherHost* resource_dispatcher_host,
28 prerender::PrerenderTracker* prerender_tracker);
29 virtual ~ChromeResourceDispatcherHostObserver();
30
31 // ResourceDispatcherHost::Observer implementation.
32 virtual bool ShouldBeginRequest(
33 int child_id, int route_id,
34 const ResourceHostMsg_Request& request_data,
35 const content::ResourceContext& resource_context,
36 const GURL& referrer) OVERRIDE;
37 virtual void RequestBeginning(ResourceHandler** handler,
38 net::URLRequest* request,
39 bool is_subresource,
40 int child_id,
41 int route_id) OVERRIDE;
42 virtual void DownloadStarting(ResourceHandler** handler,
43 int child_id,
44 int route_id) OVERRIDE;
45 virtual bool ShouldDeferStart(
46 net::URLRequest* request,
47 const content::ResourceContext& resource_context) OVERRIDE;
48 virtual bool AcceptSSLClientCertificateRequest(
49 net::URLRequest* request,
50 net::SSLCertRequestInfo* cert_request_info) OVERRIDE;
51 virtual bool AcceptAuthRequest(net::URLRequest* request,
52 net::AuthChallengeInfo* auth_info) OVERRIDE;
53
54 private:
55 ResourceHandler* CreateSafeBrowsingResourceHandler(
56 ResourceHandler* handler, int child_id, int route_id, bool subresource);
57
58 ResourceDispatcherHost* resource_dispatcher_host_;
59 scoped_refptr<SafeBrowsingService> safe_browsing_;
60 prerender::PrerenderTracker* prerender_tracker_;
61
62 DISALLOW_COPY_AND_ASSIGN(ChromeResourceDispatcherHostObserver);
63 };
64
65 #endif // CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_OBSERVER _H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698