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

Side by Side Diff: chrome/browser/ui/webui/history_ui.h

Issue 773103004: Remove NOTIFICATION_HISTORY_URLS_DELETED (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase to tip Created 5 years, 10 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
« no previous file with comments | « chrome/browser/ui/cocoa/history_menu_bridge.mm ('k') | chrome/browser/ui/webui/history_ui.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_UI_WEBUI_HISTORY_UI_H_ 5 #ifndef CHROME_BROWSER_UI_WEBUI_HISTORY_UI_H_
6 #define CHROME_BROWSER_UI_WEBUI_HISTORY_UI_H_ 6 #define CHROME_BROWSER_UI_WEBUI_HISTORY_UI_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
11 #include "base/scoped_observer.h"
11 #include "base/strings/string16.h" 12 #include "base/strings/string16.h"
12 #include "base/task/cancelable_task_tracker.h" 13 #include "base/task/cancelable_task_tracker.h"
13 #include "base/timer/timer.h" 14 #include "base/timer/timer.h"
14 #include "base/values.h" 15 #include "base/values.h"
15 #include "chrome/browser/history/history_service.h"
16 #include "chrome/browser/history/web_history_service.h" 16 #include "chrome/browser/history/web_history_service.h"
17 #include "content/public/browser/notification_registrar.h" 17 #include "components/history/core/browser/history_service_observer.h"
18 #include "content/public/browser/web_ui_controller.h" 18 #include "content/public/browser/web_ui_controller.h"
19 #include "content/public/browser/web_ui_message_handler.h" 19 #include "content/public/browser/web_ui_message_handler.h"
20 20
21 class HistoryService;
21 class ProfileSyncService; 22 class ProfileSyncService;
22 class SupervisedUserService; 23 class SupervisedUserService;
23 24
24 namespace bookmarks { 25 namespace bookmarks {
25 class BookmarkModel; 26 class BookmarkModel;
26 } 27 }
27 28
28 // The handler for Javascript messages related to the "history" view. 29 // The handler for Javascript messages related to the "history" view.
29 class BrowsingHistoryHandler : public content::WebUIMessageHandler, 30 class BrowsingHistoryHandler : public content::WebUIMessageHandler,
30 public content::NotificationObserver { 31 public history::HistoryServiceObserver {
31 public: 32 public:
32 // Represents a history entry to be shown to the user, representing either 33 // Represents a history entry to be shown to the user, representing either
33 // a local or remote visit. A single entry can represent multiple visits, 34 // a local or remote visit. A single entry can represent multiple visits,
34 // since only the most recent visit on a particular day is shown. 35 // since only the most recent visit on a particular day is shown.
35 struct HistoryEntry { 36 struct HistoryEntry {
36 // Values indicating whether an entry represents only local visits, only 37 // Values indicating whether an entry represents only local visits, only
37 // remote visits, or a mixture of both. 38 // remote visits, or a mixture of both.
38 enum EntryType { 39 enum EntryType {
39 EMPTY_ENTRY = 0, 40 EMPTY_ENTRY = 0,
40 LOCAL_ENTRY, 41 LOCAL_ENTRY,
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 103
103 // Handler for the "removeVisits" message. 104 // Handler for the "removeVisits" message.
104 void HandleRemoveVisits(const base::ListValue* args); 105 void HandleRemoveVisits(const base::ListValue* args);
105 106
106 // Handler for "clearBrowsingData" message. 107 // Handler for "clearBrowsingData" message.
107 void HandleClearBrowsingData(const base::ListValue* args); 108 void HandleClearBrowsingData(const base::ListValue* args);
108 109
109 // Handler for "removeBookmark" message. 110 // Handler for "removeBookmark" message.
110 void HandleRemoveBookmark(const base::ListValue* args); 111 void HandleRemoveBookmark(const base::ListValue* args);
111 112
112 // content::NotificationObserver implementation.
113 void Observe(int type,
114 const content::NotificationSource& source,
115 const content::NotificationDetails& details) override;
116
117 // Merges duplicate entries from the query results, only retaining the most 113 // Merges duplicate entries from the query results, only retaining the most
118 // recent visit to a URL on a particular day. That visit contains the 114 // recent visit to a URL on a particular day. That visit contains the
119 // timestamps of the other visits. 115 // timestamps of the other visits.
120 static void MergeDuplicateResults( 116 static void MergeDuplicateResults(
121 std::vector<BrowsingHistoryHandler::HistoryEntry>* results); 117 std::vector<BrowsingHistoryHandler::HistoryEntry>* results);
122 118
123 private: 119 private:
124 // The range for which to return results: 120 // The range for which to return results:
125 // - ALLTIME: allows access to all the results in a paginated way. 121 // - ALLTIME: allows access to all the results in a paginated way.
126 // - WEEK: the last 7 days. 122 // - WEEK: the last 7 days.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 162
167 // Sets the query options for a week-wide query, |offset| weeks ago. 163 // Sets the query options for a week-wide query, |offset| weeks ago.
168 void SetQueryTimeInWeeks(int offset, history::QueryOptions* options); 164 void SetQueryTimeInWeeks(int offset, history::QueryOptions* options);
169 165
170 // Sets the query options for a monthly query, |offset| months ago. 166 // Sets the query options for a monthly query, |offset| months ago.
171 void SetQueryTimeInMonths(int offset, history::QueryOptions* options); 167 void SetQueryTimeInMonths(int offset, history::QueryOptions* options);
172 168
173 // kAcceptLanguages pref value. 169 // kAcceptLanguages pref value.
174 std::string GetAcceptLanguages() const; 170 std::string GetAcceptLanguages() const;
175 171
176 content::NotificationRegistrar registrar_; 172 // history::HistoryServiceObserver:
173 void OnURLsDeleted(HistoryService* history_service,
174 bool all_history,
175 bool expired,
176 const history::URLRows& deleted_rows,
177 const std::set<GURL>& favicon_urls) override;
177 178
178 // Tracker for search requests to the history service. 179 // Tracker for search requests to the history service.
179 base::CancelableTaskTracker query_task_tracker_; 180 base::CancelableTaskTracker query_task_tracker_;
180 181
181 // The currently-executing request for synced history results. 182 // The currently-executing request for synced history results.
182 // Deleting the request will cancel it. 183 // Deleting the request will cancel it.
183 scoped_ptr<history::WebHistoryService::Request> web_history_request_; 184 scoped_ptr<history::WebHistoryService::Request> web_history_request_;
184 185
185 // True if there is a pending delete requests to the history service. 186 // True if there is a pending delete requests to the history service.
186 bool has_pending_delete_request_; 187 bool has_pending_delete_request_;
187 188
188 // Tracker for delete requests to the history service. 189 // Tracker for delete requests to the history service.
189 base::CancelableTaskTracker delete_task_tracker_; 190 base::CancelableTaskTracker delete_task_tracker_;
190 191
191 // The list of URLs that are in the process of being deleted. 192 // The list of URLs that are in the process of being deleted.
192 std::set<GURL> urls_to_be_deleted_; 193 std::set<GURL> urls_to_be_deleted_;
193 194
194 // The info value that is returned to the front end with the query results. 195 // The info value that is returned to the front end with the query results.
195 base::DictionaryValue results_info_value_; 196 base::DictionaryValue results_info_value_;
196 197
197 // The list of query results received from the history service. 198 // The list of query results received from the history service.
198 std::vector<HistoryEntry> query_results_; 199 std::vector<HistoryEntry> query_results_;
199 200
200 // The list of query results received from the history server. 201 // The list of query results received from the history server.
201 std::vector<HistoryEntry> web_history_query_results_; 202 std::vector<HistoryEntry> web_history_query_results_;
202 203
203 // Timer used to implement a timeout on a Web History response. 204 // Timer used to implement a timeout on a Web History response.
204 base::OneShotTimer<BrowsingHistoryHandler> web_history_timer_; 205 base::OneShotTimer<BrowsingHistoryHandler> web_history_timer_;
205 206
207 ScopedObserver<HistoryService, HistoryServiceObserver>
208 history_service_observer_;
209
206 base::WeakPtrFactory<BrowsingHistoryHandler> weak_factory_; 210 base::WeakPtrFactory<BrowsingHistoryHandler> weak_factory_;
207 211
208 DISALLOW_COPY_AND_ASSIGN(BrowsingHistoryHandler); 212 DISALLOW_COPY_AND_ASSIGN(BrowsingHistoryHandler);
209 }; 213 };
210 214
211 class HistoryUI : public content::WebUIController { 215 class HistoryUI : public content::WebUIController {
212 public: 216 public:
213 explicit HistoryUI(content::WebUI* web_ui); 217 explicit HistoryUI(content::WebUI* web_ui);
214 218
215 static base::RefCountedMemory* GetFaviconResourceBytes( 219 static base::RefCountedMemory* GetFaviconResourceBytes(
216 ui::ScaleFactor scale_factor); 220 ui::ScaleFactor scale_factor);
217 221
218 private: 222 private:
219 DISALLOW_COPY_AND_ASSIGN(HistoryUI); 223 DISALLOW_COPY_AND_ASSIGN(HistoryUI);
220 }; 224 };
221 225
222 #endif // CHROME_BROWSER_UI_WEBUI_HISTORY_UI_H_ 226 #endif // CHROME_BROWSER_UI_WEBUI_HISTORY_UI_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/history_menu_bridge.mm ('k') | chrome/browser/ui/webui/history_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698