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

Side by Side Diff: chrome/browser/chromeos/extensions/wallpaper_private_api.h

Issue 2315303002: Remove calls to IsRunningSequenceOnCurrentThread() in wallpaper API. (Closed)
Patch Set: Leaky LazyInstance Created 4 years, 3 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_CHROMEOS_EXTENSIONS_WALLPAPER_PRIVATE_API_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_WALLPAPER_PRIVATE_API_H_
6 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_WALLPAPER_PRIVATE_API_H_ 6 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_WALLPAPER_PRIVATE_API_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/threading/sequenced_worker_pool.h"
12 #include "chrome/browser/chromeos/extensions/wallpaper_function_base.h" 11 #include "chrome/browser/chromeos/extensions/wallpaper_function_base.h"
13 #include "chrome/common/extensions/api/wallpaper_private.h" 12 #include "chrome/common/extensions/api/wallpaper_private.h"
14 #include "components/signin/core/account_id/account_id.h" 13 #include "components/signin/core/account_id/account_id.h"
15 #include "components/wallpaper/wallpaper_files_id.h" 14 #include "components/wallpaper/wallpaper_files_id.h"
16 #include "net/url_request/url_fetcher_delegate.h" 15 #include "net/url_request/url_fetcher_delegate.h"
17 16
18 namespace base { 17 namespace base {
19 class RefCountedBytes; 18 class RefCountedBytes;
20 } 19 }
21 20
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 // decoding the file. 73 // decoding the file.
75 void ReadFileAndInitiateStartDecode(const base::FilePath& file_path, 74 void ReadFileAndInitiateStartDecode(const base::FilePath& file_path,
76 const base::FilePath& fallback_path); 75 const base::FilePath& fallback_path);
77 76
78 std::unique_ptr< 77 std::unique_ptr<
79 extensions::api::wallpaper_private::SetWallpaperIfExists::Params> 78 extensions::api::wallpaper_private::SetWallpaperIfExists::Params>
80 params; 79 params;
81 80
82 // User id of the active user when this api is been called. 81 // User id of the active user when this api is been called.
83 AccountId account_id_ = EmptyAccountId(); 82 AccountId account_id_ = EmptyAccountId();
84
85 // Sequence token associated with wallpaper operations. Shared with
86 // WallpaperManager.
87 base::SequencedWorkerPool::SequenceToken sequence_token_;
88 }; 83 };
89 84
90 class WallpaperPrivateSetWallpaperFunction : public WallpaperFunctionBase { 85 class WallpaperPrivateSetWallpaperFunction : public WallpaperFunctionBase {
91 public: 86 public:
92 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.setWallpaper", 87 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.setWallpaper",
93 WALLPAPERPRIVATE_SETWALLPAPER) 88 WALLPAPERPRIVATE_SETWALLPAPER)
94 89
95 WallpaperPrivateSetWallpaperFunction(); 90 WallpaperPrivateSetWallpaperFunction();
96 91
97 protected: 92 protected:
(...skipping 13 matching lines...) Expand all
111 106
112 std::unique_ptr<extensions::api::wallpaper_private::SetWallpaper::Params> 107 std::unique_ptr<extensions::api::wallpaper_private::SetWallpaper::Params>
113 params; 108 params;
114 109
115 // The decoded wallpaper. It may accessed from UI thread to set wallpaper or 110 // The decoded wallpaper. It may accessed from UI thread to set wallpaper or
116 // FILE thread to resize and save wallpaper to disk. 111 // FILE thread to resize and save wallpaper to disk.
117 gfx::ImageSkia wallpaper_; 112 gfx::ImageSkia wallpaper_;
118 113
119 // User account id of the active user when this api is been called. 114 // User account id of the active user when this api is been called.
120 AccountId account_id_ = EmptyAccountId(); 115 AccountId account_id_ = EmptyAccountId();
121
122 // Sequence token associated with wallpaper operations. Shared with
123 // WallpaperManager.
124 base::SequencedWorkerPool::SequenceToken sequence_token_;
125 }; 116 };
126 117
127 class WallpaperPrivateResetWallpaperFunction 118 class WallpaperPrivateResetWallpaperFunction
128 : public AsyncExtensionFunction { 119 : public AsyncExtensionFunction {
129 public: 120 public:
130 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.resetWallpaper", 121 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.resetWallpaper",
131 WALLPAPERPRIVATE_RESETWALLPAPER) 122 WALLPAPERPRIVATE_RESETWALLPAPER)
132 123
133 WallpaperPrivateResetWallpaperFunction(); 124 WallpaperPrivateResetWallpaperFunction();
134 125
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 157
167 std::unique_ptr< 158 std::unique_ptr<
168 extensions::api::wallpaper_private::SetCustomWallpaper::Params> 159 extensions::api::wallpaper_private::SetCustomWallpaper::Params>
169 params; 160 params;
170 161
171 // User account id of the active user when this api is been called. 162 // User account id of the active user when this api is been called.
172 AccountId account_id_ = EmptyAccountId(); 163 AccountId account_id_ = EmptyAccountId();
173 164
174 // User id hash of the logged in user. 165 // User id hash of the logged in user.
175 wallpaper::WallpaperFilesId wallpaper_files_id_; 166 wallpaper::WallpaperFilesId wallpaper_files_id_;
176
177 // Sequence token associated with wallpaper operations. Shared with
178 // WallpaperManager.
179 base::SequencedWorkerPool::SequenceToken sequence_token_;
180 }; 167 };
181 168
182 class WallpaperPrivateSetCustomWallpaperLayoutFunction 169 class WallpaperPrivateSetCustomWallpaperLayoutFunction
183 : public AsyncExtensionFunction { 170 : public AsyncExtensionFunction {
184 public: 171 public:
185 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.setCustomWallpaperLayout", 172 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.setCustomWallpaperLayout",
186 WALLPAPERPRIVATE_SETCUSTOMWALLPAPERLAYOUT) 173 WALLPAPERPRIVATE_SETCUSTOMWALLPAPERLAYOUT)
187 174
188 WallpaperPrivateSetCustomWallpaperLayoutFunction(); 175 WallpaperPrivateSetCustomWallpaperLayoutFunction();
189 176
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 // Returns true to suppress javascript console error. Called when the 227 // Returns true to suppress javascript console error. Called when the
241 // requested thumbnail is not found or corrupted in thumbnail directory. 228 // requested thumbnail is not found or corrupted in thumbnail directory.
242 void FileNotLoaded(); 229 void FileNotLoaded();
243 230
244 // Sets data field to the loaded thumbnail binary data in the results. Called 231 // Sets data field to the loaded thumbnail binary data in the results. Called
245 // when requested wallpaper thumbnail loaded successfully. 232 // when requested wallpaper thumbnail loaded successfully.
246 void FileLoaded(const std::string& data); 233 void FileLoaded(const std::string& data);
247 234
248 // Gets thumbnail from |path|. If |path| does not exist, call FileNotLoaded(). 235 // Gets thumbnail from |path|. If |path| does not exist, call FileNotLoaded().
249 void Get(const base::FilePath& path); 236 void Get(const base::FilePath& path);
250
251 // Sequence token associated with wallpaper operations. Shared with
252 // WallpaperManager.
253 base::SequencedWorkerPool::SequenceToken sequence_token_;
254 }; 237 };
255 238
256 class WallpaperPrivateSaveThumbnailFunction : public AsyncExtensionFunction { 239 class WallpaperPrivateSaveThumbnailFunction : public AsyncExtensionFunction {
257 public: 240 public:
258 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.saveThumbnail", 241 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.saveThumbnail",
259 WALLPAPERPRIVATE_SAVETHUMBNAIL) 242 WALLPAPERPRIVATE_SAVETHUMBNAIL)
260 243
261 WallpaperPrivateSaveThumbnailFunction(); 244 WallpaperPrivateSaveThumbnailFunction();
262 245
263 protected: 246 protected:
264 ~WallpaperPrivateSaveThumbnailFunction() override; 247 ~WallpaperPrivateSaveThumbnailFunction() override;
265 248
266 // AsyncExtensionFunction overrides. 249 // AsyncExtensionFunction overrides.
267 bool RunAsync() override; 250 bool RunAsync() override;
268 251
269 private: 252 private:
270 // Failed to save thumbnail for |file_name|. 253 // Failed to save thumbnail for |file_name|.
271 void Failure(const std::string& file_name); 254 void Failure(const std::string& file_name);
272 255
273 // Saved thumbnail to thumbnail directory. 256 // Saved thumbnail to thumbnail directory.
274 void Success(); 257 void Success();
275 258
276 // Saves thumbnail to thumbnail directory as |file_name|. 259 // Saves thumbnail to thumbnail directory as |file_name|.
277 void Save(const std::vector<char>& data, const std::string& file_name); 260 void Save(const std::vector<char>& data, const std::string& file_name);
278
279 // Sequence token associated with wallpaper operations. Shared with
280 // WallpaperManager.
281 base::SequencedWorkerPool::SequenceToken sequence_token_;
282 }; 261 };
283 262
284 class WallpaperPrivateGetOfflineWallpaperListFunction 263 class WallpaperPrivateGetOfflineWallpaperListFunction
285 : public AsyncExtensionFunction { 264 : public AsyncExtensionFunction {
286 public: 265 public:
287 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.getOfflineWallpaperList", 266 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.getOfflineWallpaperList",
288 WALLPAPERPRIVATE_GETOFFLINEWALLPAPERLIST) 267 WALLPAPERPRIVATE_GETOFFLINEWALLPAPERLIST)
289 WallpaperPrivateGetOfflineWallpaperListFunction(); 268 WallpaperPrivateGetOfflineWallpaperListFunction();
290 269
291 protected: 270 protected:
292 ~WallpaperPrivateGetOfflineWallpaperListFunction() override; 271 ~WallpaperPrivateGetOfflineWallpaperListFunction() override;
293 272
294 // AsyncExtensionFunction overrides. 273 // AsyncExtensionFunction overrides.
295 bool RunAsync() override; 274 bool RunAsync() override;
296 275
297 private: 276 private:
298 // Enumerates the list of files in online wallpaper directory. 277 // Enumerates the list of files in online wallpaper directory.
299 void GetList(); 278 void GetList();
300 279
301 // Sends the list of files to extension api caller. If no files or no 280 // Sends the list of files to extension api caller. If no files or no
302 // directory, sends empty list. 281 // directory, sends empty list.
303 void OnComplete(const std::vector<std::string>& file_list); 282 void OnComplete(const std::vector<std::string>& file_list);
304
305 // Sequence token associated with wallpaper operations. Shared with
306 // WallpaperManager.
307 base::SequencedWorkerPool::SequenceToken sequence_token_;
308 }; 283 };
309 284
310 // The wallpaper UMA is recorded when a new wallpaper is set, either by the 285 // The wallpaper UMA is recorded when a new wallpaper is set, either by the
311 // built-in Wallpaper Picker App, or by a third party App. 286 // built-in Wallpaper Picker App, or by a third party App.
312 class WallpaperPrivateRecordWallpaperUMAFunction 287 class WallpaperPrivateRecordWallpaperUMAFunction
313 : public UIThreadExtensionFunction { 288 : public UIThreadExtensionFunction {
314 public: 289 public:
315 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.recordWallpaperUMA", 290 DECLARE_EXTENSION_FUNCTION("wallpaperPrivate.recordWallpaperUMA",
316 WALLPAPERPRIVATE_RECORDWALLPAPERUMA) 291 WALLPAPERPRIVATE_RECORDWALLPAPERUMA)
317 292
318 protected: 293 protected:
319 ~WallpaperPrivateRecordWallpaperUMAFunction() override {} 294 ~WallpaperPrivateRecordWallpaperUMAFunction() override {}
320 295
321 // ExtensionFunction: 296 // ExtensionFunction:
322 ResponseAction Run() override; 297 ResponseAction Run() override;
323 }; 298 };
324 299
325 #endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_WALLPAPER_PRIVATE_API_H_ 300 #endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_WALLPAPER_PRIVATE_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698