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

Side by Side Diff: chrome/browser/history/history_service.h

Issue 322983003: Rename HistoryService::NotifyRenderProcessHostDestruction (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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_HISTORY_HISTORY_SERVICE_H_ 5 #ifndef CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_
6 #define CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_ 6 #define CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_
7 7
8 #include <set> 8 #include <set>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 // will release pointers to it. No other functions should be called once 120 // will release pointers to it. No other functions should be called once
121 // cleanup has happened that may dispatch to the history thread (because it 121 // cleanup has happened that may dispatch to the history thread (because it
122 // will be NULL). 122 // will be NULL).
123 // 123 //
124 // In practice, this will be called by the service manager (BrowserProcess) 124 // In practice, this will be called by the service manager (BrowserProcess)
125 // when it is being destroyed. Because that reference is being destroyed, it 125 // when it is being destroyed. Because that reference is being destroyed, it
126 // should be impossible for anybody else to call the service, even if it is 126 // should be impossible for anybody else to call the service, even if it is
127 // still in memory (pending requests may be holding a reference to us). 127 // still in memory (pending requests may be holding a reference to us).
128 void Cleanup(); 128 void Cleanup();
129 129
130 // RenderProcessHost pointers are used to scope page IDs (see AddPage). These 130 // Context ids are used to scope page IDs (see AddPage). These contexts
131 // objects must tell us when they are being destroyed so that we can clear 131 // must tell us when they are being invalidated so that we can clear
132 // out any cached data associated with that scope. 132 // out any cached data associated with that scope.
blundell 2014/06/11 12:17:48 s/scope/context
方觉(Fang Jue) 2014/06/11 12:41:47 Done.
133 // 133 void ClearCachedDataForContextID(history::ContextID context_id);
134 // The given pointer will not be dereferenced, it is only used for
135 // identification purposes, hence it is a void*.
136 void NotifyRenderProcessHostDestruction(const void* host);
137 134
138 // Triggers the backend to load if it hasn't already, and then returns the 135 // Triggers the backend to load if it hasn't already, and then returns the
139 // in-memory URL database. The returned pointer MAY BE NULL if the in-memory 136 // in-memory URL database. The returned pointer MAY BE NULL if the in-memory
140 // database has not been loaded yet. This pointer is owned by the history 137 // database has not been loaded yet. This pointer is owned by the history
141 // system. Callers should not store or cache this value. 138 // system. Callers should not store or cache this value.
142 // 139 //
143 // TODO(brettw) this should return the InMemoryHistoryBackend. 140 // TODO(brettw) this should return the InMemoryHistoryBackend.
144 history::URLDatabase* InMemoryDatabase(); 141 history::URLDatabase* InMemoryDatabase();
145 142
146 // Following functions get URL information from in-memory database. 143 // Following functions get URL information from in-memory database.
(...skipping 20 matching lines...) Expand all
167 } 164 }
168 165
169 // KeyedService: 166 // KeyedService:
170 virtual void Shutdown() OVERRIDE; 167 virtual void Shutdown() OVERRIDE;
171 168
172 // Navigation ---------------------------------------------------------------- 169 // Navigation ----------------------------------------------------------------
173 170
174 // Adds the given canonical URL to history with the given time as the visit 171 // Adds the given canonical URL to history with the given time as the visit
175 // time. Referrer may be the empty string. 172 // time. Referrer may be the empty string.
176 // 173 //
177 // The supplied render process host is used to scope the given page ID. Page 174 // The supplied context id is used to scope the given page ID. Page IDs
178 // IDs are only unique inside a given render process, so we need that to 175 // are only unique inside a given context, so we need that to differentiate
179 // differentiate them. This pointer should not be dereferenced by the history 176 // them.
180 // system.
181 // 177 //
182 // The scope/ids can be NULL if there is no meaningful tracking information 178 // The context/page ids can be NULL if there is no meaningful tracking
183 // that can be performed on the given URL. The 'page_id' should be the ID of 179 // information that can be performed on the given URL. The 'page_id' should
184 // the current session history entry in the given process. 180 // be the ID of the current session history entry in the given process.
185 // 181 //
186 // 'redirects' is an array of redirect URLs leading to this page, with the 182 // 'redirects' is an array of redirect URLs leading to this page, with the
187 // page itself as the last item (so when there is no redirect, it will have 183 // page itself as the last item (so when there is no redirect, it will have
188 // one entry). If there are no redirects, this array may also be empty for 184 // one entry). If there are no redirects, this array may also be empty for
189 // the convenience of callers. 185 // the convenience of callers.
190 // 186 //
191 // 'did_replace_entry' is true when the navigation entry for this page has 187 // 'did_replace_entry' is true when the navigation entry for this page has
192 // replaced the existing entry. A non-user initiated redirect causes such 188 // replaced the existing entry. A non-user initiated redirect causes such
193 // replacement. 189 // replacement.
194 // 190 //
195 // All "Add Page" functions will update the visited link database. 191 // All "Add Page" functions will update the visited link database.
196 void AddPage(const GURL& url, 192 void AddPage(const GURL& url,
197 base::Time time, 193 base::Time time,
198 const void* id_scope, 194 history::ContextID context_id,
199 int32 page_id, 195 int32 page_id,
200 const GURL& referrer, 196 const GURL& referrer,
201 const history::RedirectList& redirects, 197 const history::RedirectList& redirects,
202 content::PageTransition transition, 198 content::PageTransition transition,
203 history::VisitSource visit_source, 199 history::VisitSource visit_source,
204 bool did_replace_entry); 200 bool did_replace_entry);
205 201
206 // For adding pages to history where no tracking information can be done. 202 // For adding pages to history where no tracking information can be done.
207 void AddPage(const GURL& url, 203 void AddPage(const GURL& url,
208 base::Time time, 204 base::Time time,
209 history::VisitSource visit_source); 205 history::VisitSource visit_source);
210 206
211 // All AddPage variants end up here. 207 // All AddPage variants end up here.
212 void AddPage(const history::HistoryAddPageArgs& add_page_args); 208 void AddPage(const history::HistoryAddPageArgs& add_page_args);
213 209
214 // Adds an entry for the specified url without creating a visit. This should 210 // Adds an entry for the specified url without creating a visit. This should
215 // only be used when bookmarking a page, otherwise the row leaks in the 211 // only be used when bookmarking a page, otherwise the row leaks in the
216 // history db (it never gets cleaned). 212 // history db (it never gets cleaned).
217 void AddPageNoVisitForBookmark(const GURL& url, const base::string16& title); 213 void AddPageNoVisitForBookmark(const GURL& url, const base::string16& title);
218 214
219 // Sets the title for the given page. The page should be in history. If it 215 // Sets the title for the given page. The page should be in history. If it
220 // is not, this operation is ignored. 216 // is not, this operation is ignored.
221 void SetPageTitle(const GURL& url, const base::string16& title); 217 void SetPageTitle(const GURL& url, const base::string16& title);
222 218
223 // Updates the history database with a page's ending time stamp information. 219 // Updates the history database with a page's ending time stamp information.
224 // The page can be identified by the combination of the pointer to 220 // The page can be identified by the combination of the context id, the page
225 // a RenderProcessHost, the page id and the url. 221 // id and the url.
226 // 222 void UpdateWithPageEndTime(history::ContextID context_id,
227 // The given pointer will not be dereferenced, it is only used for
228 // identification purposes, hence it is a void*.
229 void UpdateWithPageEndTime(const void* host,
230 int32 page_id, 223 int32 page_id,
231 const GURL& url, 224 const GURL& url,
232 base::Time end_ts); 225 base::Time end_ts);
233 226
234 // Querying ------------------------------------------------------------------ 227 // Querying ------------------------------------------------------------------
235 228
236 // Returns the information about the requested URL. If the URL is found, 229 // Returns the information about the requested URL. If the URL is found,
237 // success will be true and the information will be in the URLRow parameter. 230 // success will be true and the information will be in the URLRow parameter.
238 // On success, the visits, if requested, will be sorted by date. If they have 231 // On success, the visits, if requested, will be sorted by date. If they have
239 // not been requested, the pointer will be valid, but the vector will be 232 // not been requested, the pointer will be valid, but the vector will be
(...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 scoped_ptr<history::InMemoryURLIndex> in_memory_url_index_; 1040 scoped_ptr<history::InMemoryURLIndex> in_memory_url_index_;
1048 1041
1049 ObserverList<history::VisitDatabaseObserver> visit_database_observers_; 1042 ObserverList<history::VisitDatabaseObserver> visit_database_observers_;
1050 1043
1051 history::DeleteDirectiveHandler delete_directive_handler_; 1044 history::DeleteDirectiveHandler delete_directive_handler_;
1052 1045
1053 DISALLOW_COPY_AND_ASSIGN(HistoryService); 1046 DISALLOW_COPY_AND_ASSIGN(HistoryService);
1054 }; 1047 };
1055 1048
1056 #endif // CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_ 1049 #endif // CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698