| 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_LINK_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_LINK_MANAGER_H_ |
| 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_LINK_MANAGER_H_ | 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_LINK_MANAGER_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 | 28 |
| 29 namespace prerender { | 29 namespace prerender { |
| 30 | 30 |
| 31 class PrerenderHandle; | 31 class PrerenderHandle; |
| 32 class PrerenderManager; | 32 class PrerenderManager; |
| 33 | 33 |
| 34 // PrerenderLinkManager implements the API on Link elements for all documents | 34 // PrerenderLinkManager implements the API on Link elements for all documents |
| 35 // being rendered in this chrome instance. It receives messages from the | 35 // being rendered in this chrome instance. It receives messages from the |
| 36 // renderer indicating addition, cancelation and abandonment of link elements, | 36 // renderer indicating addition, cancelation and abandonment of link elements, |
| 37 // and controls the PrerenderManager accordingly. | 37 // and controls the PrerenderManager accordingly. |
| 38 class PrerenderLinkManager : public ProfileKeyedService, | 38 class PrerenderLinkManager : public BrowserContextKeyedService, |
| 39 public PrerenderHandle::Observer { | 39 public PrerenderHandle::Observer { |
| 40 public: | 40 public: |
| 41 explicit PrerenderLinkManager(PrerenderManager* manager); | 41 explicit PrerenderLinkManager(PrerenderManager* manager); |
| 42 virtual ~PrerenderLinkManager(); | 42 virtual ~PrerenderLinkManager(); |
| 43 | 43 |
| 44 // A <link rel=prerender ...> element has been inserted into the document. | 44 // A <link rel=prerender ...> element has been inserted into the document. |
| 45 // The |prerender_id| must be unique per |child_id|, and is assigned by the | 45 // The |prerender_id| must be unique per |child_id|, and is assigned by the |
| 46 // WebPrerendererClient. | 46 // WebPrerendererClient. |
| 47 void OnAddPrerender(int child_id, | 47 void OnAddPrerender(int child_id, |
| 48 int prerender_id, | 48 int prerender_id, |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 // the system and per launcher. | 106 // the system and per launcher. |
| 107 void StartPrerenders(); | 107 void StartPrerenders(); |
| 108 | 108 |
| 109 LinkPrerender* FindByLauncherChildIdAndPrerenderId(int child_id, | 109 LinkPrerender* FindByLauncherChildIdAndPrerenderId(int child_id, |
| 110 int prerender_id); | 110 int prerender_id); |
| 111 | 111 |
| 112 LinkPrerender* FindByPrerenderHandle(PrerenderHandle* prerender_handle); | 112 LinkPrerender* FindByPrerenderHandle(PrerenderHandle* prerender_handle); |
| 113 | 113 |
| 114 void RemovePrerender(LinkPrerender* prerender); | 114 void RemovePrerender(LinkPrerender* prerender); |
| 115 | 115 |
| 116 // From ProfileKeyedService: | 116 // From BrowserContextKeyedService: |
| 117 virtual void Shutdown() OVERRIDE; | 117 virtual void Shutdown() OVERRIDE; |
| 118 | 118 |
| 119 // From PrerenderHandle::Observer: | 119 // From PrerenderHandle::Observer: |
| 120 virtual void OnPrerenderStart(PrerenderHandle* prerender_handle) OVERRIDE; | 120 virtual void OnPrerenderStart(PrerenderHandle* prerender_handle) OVERRIDE; |
| 121 virtual void OnPrerenderStopLoading(PrerenderHandle* prerender_handle) | 121 virtual void OnPrerenderStopLoading(PrerenderHandle* prerender_handle) |
| 122 OVERRIDE; | 122 OVERRIDE; |
| 123 virtual void OnPrerenderStop(PrerenderHandle* prerender_handle) OVERRIDE; | 123 virtual void OnPrerenderStop(PrerenderHandle* prerender_handle) OVERRIDE; |
| 124 | 124 |
| 125 bool has_shutdown_; | 125 bool has_shutdown_; |
| 126 | 126 |
| 127 PrerenderManager* manager_; | 127 PrerenderManager* manager_; |
| 128 | 128 |
| 129 // All prerenders known to this PrerenderLinkManager. Insertions are always | 129 // All prerenders known to this PrerenderLinkManager. Insertions are always |
| 130 // made at the back, so the oldest prerender is at the front, and the youngest | 130 // made at the back, so the oldest prerender is at the front, and the youngest |
| 131 // at the back. | 131 // at the back. |
| 132 std::list<LinkPrerender> prerenders_; | 132 std::list<LinkPrerender> prerenders_; |
| 133 | 133 |
| 134 DISALLOW_COPY_AND_ASSIGN(PrerenderLinkManager); | 134 DISALLOW_COPY_AND_ASSIGN(PrerenderLinkManager); |
| 135 }; | 135 }; |
| 136 | 136 |
| 137 } // namespace prerender | 137 } // namespace prerender |
| 138 | 138 |
| 139 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_LINK_MANAGER_H_ | 139 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_LINK_MANAGER_H_ |
| 140 | 140 |
| OLD | NEW |