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

Side by Side Diff: chrome/browser/win/jumplist.h

Issue 2836873003: Update different JumpList categories on demand (Closed)
Patch Set: Address comments Created 3 years, 8 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 | « no previous file | chrome/browser/win/jumplist.cc » ('j') | chrome/browser/win/jumplist.cc » ('J')
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_WIN_JUMPLIST_H_ 5 #ifndef CHROME_BROWSER_WIN_JUMPLIST_H_
6 #define CHROME_BROWSER_WIN_JUMPLIST_H_ 6 #define CHROME_BROWSER_WIN_JUMPLIST_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <list> 10 #include <list>
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 108
109 // Returns true if the custom JumpList is enabled. 109 // Returns true if the custom JumpList is enabled.
110 // The custom jumplist works only on Windows 7 and above. 110 // The custom jumplist works only on Windows 7 and above.
111 static bool Enabled(); 111 static bool Enabled();
112 112
113 private: 113 private:
114 friend JumpListFactory; 114 friend JumpListFactory;
115 explicit JumpList(Profile* profile); // Use JumpListFactory instead 115 explicit JumpList(Profile* profile); // Use JumpListFactory instead
116 ~JumpList() override; 116 ~JumpList() override;
117 117
118 // Creates a ShellLinkItem object from a tab (or a window) and add it to the
119 // given list.
120 // These functions are copied from the RecentlyClosedTabsHandler class for 118 // These functions are copied from the RecentlyClosedTabsHandler class for
121 // compatibility with the new-tab page. 119 // compatibility with the new-tab page.
120 // AddTab creates a ShellLinkItem object from a tab and add it to |data|.
122 bool AddTab(const sessions::TabRestoreService::Tab& tab, 121 bool AddTab(const sessions::TabRestoreService::Tab& tab,
123 ShellLinkItemList* list, 122 JumpListData* data,
124 size_t max_items); 123 size_t max_items);
124 // Creates a ShellLinkItem object for each tab in the given |window| and add
125 // to |data|.
125 void AddWindow(const sessions::TabRestoreService::Window& window, 126 void AddWindow(const sessions::TabRestoreService::Window& window,
126 ShellLinkItemList* list, 127 JumpListData* data,
127 size_t max_items); 128 size_t max_items);
128 129
129 // Starts loading a favicon for each URL in |icon_urls_|. 130 // Starts loading a favicon for each URL in |icon_urls_|.
130 // This function sends a query to HistoryService. 131 // This function sends a query to HistoryService.
131 // When finishing loading all favicons, this function posts a task that 132 // When finishing loading all favicons, this function posts a task that
132 // decompresses collected favicons and updates a JumpList. 133 // decompresses collected favicons and updates a JumpList.
133 void StartLoadingFavicon(); 134 void StartLoadingFavicon();
134 135
135 // A callback function for HistoryService that notify when a requested favicon 136 // A callback function for HistoryService that notify when a requested favicon
136 // is available. 137 // is available.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 170
170 // Lives on the UI thread. 171 // Lives on the UI thread.
171 std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_; 172 std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_;
172 173
173 // App id to associate with the jump list. 174 // App id to associate with the jump list.
174 std::wstring app_id_; 175 std::wstring app_id_;
175 176
176 // The directory which contains JumpList icons. 177 // The directory which contains JumpList icons.
177 base::FilePath icon_dir_; 178 base::FilePath icon_dir_;
178 179
180 // A boolean flag indicating if "Most Visited" category of the JumpList should
181 // be updated or not.
182 bool should_update_most_visited_;
183
184 // A boolean flag indicating if "Recently Closed" category of the JumpList
185 // should be updated or not.
186 bool should_update_recent_closed_;
187
179 // Timer for requesting delayed updates of the jumplist. 188 // Timer for requesting delayed updates of the jumplist.
180 base::OneShotTimer timer_; 189 base::OneShotTimer timer_;
181 190
182 // Holds data that can be accessed from multiple threads. 191 // Holds data that can be accessed from multiple threads.
183 scoped_refptr<base::RefCountedData<JumpListData>> jumplist_data_; 192 scoped_refptr<base::RefCountedData<JumpListData>> jumplist_data_;
184 193
185 // Id of last favicon task. It's used to cancel current task if a new one 194 // Id of last favicon task. It's used to cancel current task if a new one
186 // comes in before it finishes. 195 // comes in before it finishes.
187 base::CancelableTaskTracker::TaskId task_id_; 196 base::CancelableTaskTracker::TaskId task_id_;
188 197
189 // A task runner running tasks to update the jumplist in JumpListIcons. 198 // A task runner running tasks to update the JumpList.
190 scoped_refptr<base::SingleThreadTaskRunner> update_jumplisticons_task_runner_; 199 scoped_refptr<base::SingleThreadTaskRunner> update_jumplist_task_runner_;
191 200
192 // A task runner running tasks to delete JumpListIconsOld directory. 201 // A task runner running tasks to delete JumpListIcons directory and
193 scoped_refptr<base::SequencedTaskRunner> delete_jumplisticonsold_task_runner_; 202 // JumpListIconsOld directory.
203 scoped_refptr<base::SequencedTaskRunner> delete_jumplisticons_task_runner_;
194 204
195 // For callbacks may be run after destruction. 205 // For callbacks may be run after destruction.
196 base::WeakPtrFactory<JumpList> weak_ptr_factory_; 206 base::WeakPtrFactory<JumpList> weak_ptr_factory_;
197 207
198 DISALLOW_COPY_AND_ASSIGN(JumpList); 208 DISALLOW_COPY_AND_ASSIGN(JumpList);
199 }; 209 };
200 210
201 #endif // CHROME_BROWSER_WIN_JUMPLIST_H_ 211 #endif // CHROME_BROWSER_WIN_JUMPLIST_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/win/jumplist.cc » ('j') | chrome/browser/win/jumplist.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698