OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_PRERENDER_PRERENDER_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ |
6 #define CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ | 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
331 void AddPrerenderProcessHost(content::RenderProcessHost* process_host); | 331 void AddPrerenderProcessHost(content::RenderProcessHost* process_host); |
332 | 332 |
333 // Returns whether or not |process_host| may be reused for new navigations | 333 // Returns whether or not |process_host| may be reused for new navigations |
334 // from a prerendering perspective. Currently, if Prerender Cookie Stores are | 334 // from a prerendering perspective. Currently, if Prerender Cookie Stores are |
335 // enabled, prerenders must be in their own processes that may not be shared. | 335 // enabled, prerenders must be in their own processes that may not be shared. |
336 bool MayReuseProcessHost(content::RenderProcessHost* process_host); | 336 bool MayReuseProcessHost(content::RenderProcessHost* process_host); |
337 | 337 |
338 // content::RenderProcessHostObserver implementation. | 338 // content::RenderProcessHostObserver implementation. |
339 void RenderProcessHostDestroyed(content::RenderProcessHost* host) override; | 339 void RenderProcessHostDestroyed(content::RenderProcessHost* host) override; |
340 | 340 |
| 341 // content::RenderProcessHostObserver implementation. |
| 342 // Destroys the |PrerenderContents| responsible for |host|. |
| 343 void RenderProcessHostPrefetchFinished( |
| 344 content::RenderProcessHost* host) override; |
| 345 |
341 void SetPrerenderContentsFactoryForTest( | 346 void SetPrerenderContentsFactoryForTest( |
342 PrerenderContents::Factory* prerender_contents_factory); | 347 PrerenderContents::Factory* prerender_contents_factory); |
343 | 348 |
344 bool IsPrerenderSilenceExperimentForTesting(Origin origin) const { | 349 bool IsPrerenderSilenceExperimentForTesting(Origin origin) const { |
345 return IsPrerenderSilenceExperiment(origin); | 350 return IsPrerenderSilenceExperiment(origin); |
346 } | 351 } |
347 | 352 |
348 protected: | 353 protected: |
349 class PrerenderData : public base::SupportsWeakPtr<PrerenderData> { | 354 class PrerenderData : public base::SupportsWeakPtr<PrerenderData> { |
350 public: | 355 public: |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 PrerenderProcessSet prerender_process_hosts_; | 602 PrerenderProcessSet prerender_process_hosts_; |
598 | 603 |
599 base::WeakPtrFactory<PrerenderManager> weak_factory_; | 604 base::WeakPtrFactory<PrerenderManager> weak_factory_; |
600 | 605 |
601 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); | 606 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); |
602 }; | 607 }; |
603 | 608 |
604 } // namespace prerender | 609 } // namespace prerender |
605 | 610 |
606 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ | 611 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ |
OLD | NEW |