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

Side by Side Diff: chrome/browser/chromeos/extensions/wallpaper_api.cc

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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "chrome/browser/chromeos/extensions/wallpaper_api.h" 5 #include "chrome/browser/chromeos/extensions/wallpaper_api.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/files/file_util.h" 11 #include "base/files/file_util.h"
12 #include "base/lazy_instance.h" 12 #include "base/lazy_instance.h"
13 #include "base/logging.h"
bshe 2016/09/14 13:33:07 nit: doesn't look like this header is needed?
fdoray 2016/09/14 14:04:03 yes, needed at line 65
13 #include "base/memory/ref_counted_memory.h" 14 #include "base/memory/ref_counted_memory.h"
14 #include "base/strings/stringprintf.h" 15 #include "base/strings/stringprintf.h"
15 #include "base/threading/worker_pool.h" 16 #include "base/threading/worker_pool.h"
16 #include "chrome/browser/browser_process.h" 17 #include "chrome/browser/browser_process.h"
17 #include "chrome/browser/chromeos/extensions/wallpaper_private_api.h" 18 #include "chrome/browser/chromeos/extensions/wallpaper_private_api.h"
18 #include "chrome/browser/chromeos/file_manager/app_id.h" 19 #include "chrome/browser/chromeos/file_manager/app_id.h"
19 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" 20 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
20 #include "chrome/browser/chromeos/profiles/profile_helper.h" 21 #include "chrome/browser/chromeos/profiles/profile_helper.h"
21 #include "chrome/browser/profiles/profile.h" 22 #include "chrome/browser/profiles/profile.h"
22 #include "chrome/common/chrome_paths.h" 23 #include "chrome/common/chrome_paths.h"
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 } 147 }
147 148
148 void WallpaperSetWallpaperFunction::OnWallpaperDecoded( 149 void WallpaperSetWallpaperFunction::OnWallpaperDecoded(
149 const gfx::ImageSkia& image) { 150 const gfx::ImageSkia& image) {
150 chromeos::WallpaperManager* wallpaper_manager = 151 chromeos::WallpaperManager* wallpaper_manager =
151 chromeos::WallpaperManager::Get(); 152 chromeos::WallpaperManager::Get();
152 base::FilePath thumbnail_path = wallpaper_manager->GetCustomWallpaperPath( 153 base::FilePath thumbnail_path = wallpaper_manager->GetCustomWallpaperPath(
153 wallpaper::kThumbnailWallpaperSubDir, wallpaper_files_id_, 154 wallpaper::kThumbnailWallpaperSubDir, wallpaper_files_id_,
154 params_->details.filename); 155 params_->details.filename);
155 156
156 sequence_token_ = BrowserThread::GetBlockingPool()->GetNamedSequenceToken(
157 wallpaper::kWallpaperSequenceTokenName);
158 scoped_refptr<base::SequencedTaskRunner> task_runner = 157 scoped_refptr<base::SequencedTaskRunner> task_runner =
159 BrowserThread::GetBlockingPool()-> 158 BrowserThread::GetBlockingPool()
160 GetSequencedTaskRunnerWithShutdownBehavior(sequence_token_, 159 ->GetSequencedTaskRunnerWithShutdownBehavior(
160 BrowserThread::GetBlockingPool()->GetNamedSequenceToken(
161 wallpaper::kWallpaperSequenceTokenName),
161 base::SequencedWorkerPool::BLOCK_SHUTDOWN); 162 base::SequencedWorkerPool::BLOCK_SHUTDOWN);
162 wallpaper::WallpaperLayout layout = wallpaper_api_util::GetLayoutEnum( 163 wallpaper::WallpaperLayout layout = wallpaper_api_util::GetLayoutEnum(
163 extensions::api::wallpaper::ToString(params_->details.layout)); 164 extensions::api::wallpaper::ToString(params_->details.layout));
164 wallpaper_api_util::RecordCustomWallpaperLayout(layout); 165 wallpaper_api_util::RecordCustomWallpaperLayout(layout);
165 166
166 bool update_wallpaper = 167 bool update_wallpaper =
167 account_id_ == 168 account_id_ ==
168 user_manager::UserManager::Get()->GetActiveUser()->GetAccountId(); 169 user_manager::UserManager::Get()->GetActiveUser()->GetAccountId();
169 wallpaper_manager->SetCustomWallpaper( 170 wallpaper_manager->SetCustomWallpaper(
170 account_id_, wallpaper_files_id_, params_->details.filename, layout, 171 account_id_, wallpaper_files_id_, params_->details.filename, layout,
(...skipping 25 matching lines...) Expand all
196 // request thumbnail in the javascript callback. 197 // request thumbnail in the javascript callback.
197 task_runner->PostTask( 198 task_runner->PostTask(
198 FROM_HERE, 199 FROM_HERE,
199 base::Bind(&WallpaperSetWallpaperFunction::GenerateThumbnail, this, 200 base::Bind(&WallpaperSetWallpaperFunction::GenerateThumbnail, this,
200 thumbnail_path, base::Passed(std::move(deep_copy)))); 201 thumbnail_path, base::Passed(std::move(deep_copy))));
201 } 202 }
202 203
203 void WallpaperSetWallpaperFunction::GenerateThumbnail( 204 void WallpaperSetWallpaperFunction::GenerateThumbnail(
204 const base::FilePath& thumbnail_path, 205 const base::FilePath& thumbnail_path,
205 std::unique_ptr<gfx::ImageSkia> image) { 206 std::unique_ptr<gfx::ImageSkia> image) {
206 DCHECK(BrowserThread::GetBlockingPool()->IsRunningSequenceOnCurrentThread( 207 wallpaper::AssertCalledOnWallpaperSequence();
207 sequence_token_));
208 if (!base::PathExists(thumbnail_path.DirName())) 208 if (!base::PathExists(thumbnail_path.DirName()))
209 base::CreateDirectory(thumbnail_path.DirName()); 209 base::CreateDirectory(thumbnail_path.DirName());
210 210
211 scoped_refptr<base::RefCountedBytes> original_data; 211 scoped_refptr<base::RefCountedBytes> original_data;
212 scoped_refptr<base::RefCountedBytes> thumbnail_data; 212 scoped_refptr<base::RefCountedBytes> thumbnail_data;
213 chromeos::WallpaperManager::Get()->ResizeImage( 213 chromeos::WallpaperManager::Get()->ResizeImage(
214 *image, wallpaper::WALLPAPER_LAYOUT_STRETCH, image->width(), 214 *image, wallpaper::WALLPAPER_LAYOUT_STRETCH, image->width(),
215 image->height(), &original_data, NULL); 215 image->height(), &original_data, NULL);
216 chromeos::WallpaperManager::Get()->ResizeImage( 216 chromeos::WallpaperManager::Get()->ResizeImage(
217 *image, wallpaper::WALLPAPER_LAYOUT_STRETCH, 217 *image, wallpaper::WALLPAPER_LAYOUT_STRETCH,
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 const std::string& response) { 278 const std::string& response) {
279 if (success) { 279 if (success) {
280 params_->details.data.reset( 280 params_->details.data.reset(
281 new std::vector<char>(response.begin(), response.end())); 281 new std::vector<char>(response.begin(), response.end()));
282 StartDecode(*params_->details.data); 282 StartDecode(*params_->details.data);
283 } else { 283 } else {
284 SetError(response); 284 SetError(response);
285 SendResponse(false); 285 SendResponse(false);
286 } 286 }
287 } 287 }
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/extensions/wallpaper_api.h ('k') | chrome/browser/chromeos/extensions/wallpaper_private_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698