| Index: chrome/browser/prerender/prerender_manager.h | 
| diff --git a/chrome/browser/prerender/prerender_manager.h b/chrome/browser/prerender/prerender_manager.h | 
| index 7fdec06e2131ce13f5f68cf8eaf6c9df14318815..f1f46ff28ee356de6ca0f215d9606b287c27abe8 100644 | 
| --- a/chrome/browser/prerender/prerender_manager.h | 
| +++ b/chrome/browser/prerender/prerender_manager.h | 
| @@ -37,13 +37,25 @@ struct hash<TabContents*> { | 
|  | 
| namespace prerender { | 
|  | 
| -void HandlePrefetchTagOnUIThread( | 
| +// Adds either a preload or a pending preload to the PrerenderManager. | 
| +// Must be called on the UI thread. | 
| +void HandlePrefetchTag( | 
| const base::WeakPtr<PrerenderManager>& prerender_manager, | 
| -    const std::pair<int, int>& child_route_id_pair, | 
| +    int render_process_id, | 
| +    int render_view_id, | 
| const GURL& url, | 
| const GURL& referrer, | 
| bool make_pending); | 
|  | 
| +// Given a renderer process id and view id, this will destroy any preloads and | 
| +// pending preloads than are using or originated in the given render view. | 
| +// Must be called on the UI thread. | 
| +void DestroyPreloadForRenderView( | 
| +    const base::WeakPtr<PrerenderManager>& prerender_manager_weak_ptr, | 
| +    int render_process_id, | 
| +    int render_view_id, | 
| +    FinalStatus final_status); | 
| + | 
| // PrerenderManager is responsible for initiating and keeping prerendered | 
| // views of webpages. All methods must be called on the UI thread unless | 
| // indicated otherwise. | 
| @@ -78,6 +90,12 @@ class PrerenderManager : public base::SupportsWeakPtr<PrerenderManager>, | 
| const GURL& url, | 
| const GURL& referrer); | 
|  | 
| +  // Destroy all preloads for the given child route id pair and assign a final | 
| +  // status to them. | 
| +  void DestroyPreloadForChildRouteIdPair( | 
| +      const std::pair<int, int>& child_route_id_pair, | 
| +      FinalStatus final_status); | 
| + | 
| // For a given TabContents that wants to navigate to the URL supplied, | 
| // determines whether a preloaded version of the URL can be used, | 
| // and substitutes the prerendered RVH into the TabContents.  Returns | 
| @@ -153,6 +171,9 @@ class PrerenderManager : public base::SupportsWeakPtr<PrerenderManager>, | 
| static bool MaybeGetQueryStringBasedAliasURL(const GURL& url, | 
| GURL* alias_url); | 
|  | 
| +  // Returns true if the method given is invalid for prerendering. | 
| +  static bool IsValidHttpMethod(const std::string& method); | 
| + | 
| protected: | 
| struct PendingContentsData; | 
|  | 
| @@ -192,6 +213,12 @@ class PrerenderManager : public base::SupportsWeakPtr<PrerenderManager>, | 
| // ownership of the PrerenderContents. | 
| PrerenderContents* FindEntry(const GURL& url); | 
|  | 
| +  // Returns the iterator to the PrerenderContentsData entry that is being | 
| +  // prerendered from the given child route id pair. | 
| +  std::list<PrerenderContentsData>::iterator | 
| +      FindPrerenderContentsForChildRouteIdPair( | 
| +          const std::pair<int, int>& child_route_id_pair); | 
| + | 
| // Returns whether the PrerenderManager is currently within the prerender | 
| // window - effectively, up to 30 seconds after a prefetch tag has been | 
| // observed. | 
|  |