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

Unified Diff: chrome/browser/renderer_host/chrome_resource_dispatcher_host_observer.h

Issue 6966017: Remove a chrome dependency by removing Prerender from ResourceDispatcherHost. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Another round of comments Created 9 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/renderer_host/chrome_resource_dispatcher_host_observer.h
diff --git a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_observer.h b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_observer.h
new file mode 100644
index 0000000000000000000000000000000000000000..72f725883dd7cb86f7569ee95ed23b786d95559b
--- /dev/null
+++ b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_observer.h
@@ -0,0 +1,43 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_OBSERVER_H_
+#define CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_OBSERVER_H_
+#pragma once
+
+#include "content/browser/renderer_host/resource_dispatcher_host.h"
+
+namespace prerender {
+class PrerenderTracker;
+}
+
+// Implements ResourceDispatcherHost::Observer. Currently used by the Prerender
+// system to abort requests and add to the load flags when a request begins.
+class ChromeResourceDispatcherHostObserver :
mmenke 2011/05/24 18:38:09 nit: I believe the colon should go on the next li
dominich 2011/05/24 19:45:41 Done.
+ public ResourceDispatcherHost::Observer {
+ public:
+ // This class does not take ownership of the tracker but merely holds a
+ // reference to it to avoid accessing g_browser_process. The PrerenderTracker
+ // will be destroyed after the observer.
+ explicit ChromeResourceDispatcherHostObserver(
+ prerender::PrerenderTracker* prerender_tracker);
+ virtual ~ChromeResourceDispatcherHostObserver();
+
+ // ResourceDispatcherHost::Observer implementation.
+ virtual bool ShouldBeginRequest(
+ int child_id, int route_id,
+ const ResourceHostMsg_Request& request_data,
+ const content::ResourceContext& resource_context,
+ const GURL& referrer) OVERRIDE;
+
+ virtual void MutateLoadFlags(int child_id, int route_id,
+ int* load_flags) OVERRIDE;
+
+ private:
+ prerender::PrerenderTracker* prerender_tracker_;
+
+ DISALLOW_COPY_AND_ASSIGN(ChromeResourceDispatcherHostObserver);
+};
+
+#endif // CHROME_BROWSER_RENDERER_HOST_CHROME_RESOURCE_DISPATCHER_HOST_OBSERVER_H_

Powered by Google App Engine
This is Rietveld 408576698