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

Side by Side Diff: chrome/browser/prerender/prerender_link_manager.h

Issue 1896403002: Prerender: Remove MatchComplete (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: re-enable PrerenderDeferredSynchronousXHR Created 4 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 unified diff | Download patch
OLDNEW
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 <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 102
103 // If non-NULL, this link prerender was launched by an unswapped prerender, 103 // If non-NULL, this link prerender was launched by an unswapped prerender,
104 // |deferred_launcher|. When |deferred_launcher| is swapped in, the field is 104 // |deferred_launcher|. When |deferred_launcher| is swapped in, the field is
105 // set to NULL. 105 // set to NULL.
106 PrerenderContents* deferred_launcher; 106 PrerenderContents* deferred_launcher;
107 107
108 // Initially NULL, |handle| is set once we start this prerender. It is owned 108 // Initially NULL, |handle| is set once we start this prerender. It is owned
109 // by this struct, and must be deleted before destructing this struct. 109 // by this struct, and must be deleted before destructing this struct.
110 PrerenderHandle* handle; 110 PrerenderHandle* handle;
111 111
112 // True if this prerender has become a MatchComplete replacement. This state
113 // is maintained so the renderer is not notified of a stop twice.
114 bool is_match_complete_replacement;
115
116 // True if this prerender has been abandoned by its launcher. 112 // True if this prerender has been abandoned by its launcher.
117 bool has_been_abandoned; 113 bool has_been_abandoned;
118 }; 114 };
119 115
120 class PendingPrerenderManager; 116 class PendingPrerenderManager;
121 117
122 bool IsEmpty() const; 118 bool IsEmpty() const;
123 119
124 // Returns a count of currently running prerenders. 120 // Returns a count of currently running prerenders.
125 size_t CountRunningPrerenders() const; 121 size_t CountRunningPrerenders() const;
(...skipping 22 matching lines...) Expand all
148 void CancelPendingPrerendersForLauncher(PrerenderContents* launcher); 144 void CancelPendingPrerendersForLauncher(PrerenderContents* launcher);
149 145
150 // From KeyedService: 146 // From KeyedService:
151 void Shutdown() override; 147 void Shutdown() override;
152 148
153 // From PrerenderHandle::Observer: 149 // From PrerenderHandle::Observer:
154 void OnPrerenderStart(PrerenderHandle* prerender_handle) override; 150 void OnPrerenderStart(PrerenderHandle* prerender_handle) override;
155 void OnPrerenderStopLoading(PrerenderHandle* prerender_handle) override; 151 void OnPrerenderStopLoading(PrerenderHandle* prerender_handle) override;
156 void OnPrerenderDomContentLoaded(PrerenderHandle* prerender_handle) override; 152 void OnPrerenderDomContentLoaded(PrerenderHandle* prerender_handle) override;
157 void OnPrerenderStop(PrerenderHandle* prerender_handle) override; 153 void OnPrerenderStop(PrerenderHandle* prerender_handle) override;
158 void OnPrerenderCreatedMatchCompleteReplacement(
159 PrerenderHandle* handle) override;
160 154
161 bool has_shutdown_; 155 bool has_shutdown_;
162 156
163 PrerenderManager* manager_; 157 PrerenderManager* manager_;
164 158
165 // All prerenders known to this PrerenderLinkManager. Insertions are always 159 // All prerenders known to this PrerenderLinkManager. Insertions are always
166 // made at the back, so the oldest prerender is at the front, and the youngest 160 // made at the back, so the oldest prerender is at the front, and the youngest
167 // at the back. 161 // at the back.
168 std::list<LinkPrerender> prerenders_; 162 std::list<LinkPrerender> prerenders_;
169 163
170 // Helper object to manage prerenders which are launched by other prerenders 164 // Helper object to manage prerenders which are launched by other prerenders
171 // and must be deferred until the launcher is swapped in. 165 // and must be deferred until the launcher is swapped in.
172 std::unique_ptr<PendingPrerenderManager> pending_prerender_manager_; 166 std::unique_ptr<PendingPrerenderManager> pending_prerender_manager_;
173 167
174 DISALLOW_COPY_AND_ASSIGN(PrerenderLinkManager); 168 DISALLOW_COPY_AND_ASSIGN(PrerenderLinkManager);
175 }; 169 };
176 170
177 } // namespace prerender 171 } // namespace prerender
178 172
179 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_LINK_MANAGER_H_ 173 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_LINK_MANAGER_H_
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_handle.cc ('k') | chrome/browser/prerender/prerender_link_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698