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

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

Issue 1870793002: Convert //chrome/browser/chromeos from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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
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
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 } 79 }
80 80
81 void CancelPreviousFetch() { 81 void CancelPreviousFetch() {
82 if (url_fetcher_.get()) { 82 if (url_fetcher_.get()) {
83 callback_.Run(false, wallpaper_api_util::kCancelWallpaperMessage); 83 callback_.Run(false, wallpaper_api_util::kCancelWallpaperMessage);
84 callback_.Reset(); 84 callback_.Reset();
85 url_fetcher_.reset(); 85 url_fetcher_.reset();
86 } 86 }
87 } 87 }
88 88
89 scoped_ptr<net::URLFetcher> url_fetcher_; 89 std::unique_ptr<net::URLFetcher> url_fetcher_;
90 FetchCallback callback_; 90 FetchCallback callback_;
91 }; 91 };
92 92
93 base::LazyInstance<WallpaperFetcher> g_wallpaper_fetcher = 93 base::LazyInstance<WallpaperFetcher> g_wallpaper_fetcher =
94 LAZY_INSTANCE_INITIALIZER; 94 LAZY_INSTANCE_INITIALIZER;
95 95
96 } // namespace 96 } // namespace
97 97
98 WallpaperSetWallpaperFunction::WallpaperSetWallpaperFunction() { 98 WallpaperSetWallpaperFunction::WallpaperSetWallpaperFunction() {
99 } 99 }
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 profile->GetPrefs()->SetString(prefs::kCurrentWallpaperAppName, 170 profile->GetPrefs()->SetString(prefs::kCurrentWallpaperAppName,
171 extension()->name()); 171 extension()->name());
172 } 172 }
173 173
174 if (!params_->details.thumbnail) 174 if (!params_->details.thumbnail)
175 SendResponse(true); 175 SendResponse(true);
176 176
177 // We need to generate thumbnail image anyway to make the current third party 177 // We need to generate thumbnail image anyway to make the current third party
178 // wallpaper syncable through different devices. 178 // wallpaper syncable through different devices.
179 image.EnsureRepsForSupportedScales(); 179 image.EnsureRepsForSupportedScales();
180 scoped_ptr<gfx::ImageSkia> deep_copy(image.DeepCopy()); 180 std::unique_ptr<gfx::ImageSkia> deep_copy(image.DeepCopy());
181 // Generates thumbnail before call api function callback. We can then 181 // Generates thumbnail before call api function callback. We can then
182 // request thumbnail in the javascript callback. 182 // request thumbnail in the javascript callback.
183 task_runner->PostTask( 183 task_runner->PostTask(
184 FROM_HERE, 184 FROM_HERE,
185 base::Bind(&WallpaperSetWallpaperFunction::GenerateThumbnail, this, 185 base::Bind(&WallpaperSetWallpaperFunction::GenerateThumbnail, this,
186 thumbnail_path, base::Passed(std::move(deep_copy)))); 186 thumbnail_path, base::Passed(std::move(deep_copy))));
187 } 187 }
188 188
189 void WallpaperSetWallpaperFunction::GenerateThumbnail( 189 void WallpaperSetWallpaperFunction::GenerateThumbnail(
190 const base::FilePath& thumbnail_path, scoped_ptr<gfx::ImageSkia> image) { 190 const base::FilePath& thumbnail_path,
191 std::unique_ptr<gfx::ImageSkia> image) {
191 DCHECK(BrowserThread::GetBlockingPool()->IsRunningSequenceOnCurrentThread( 192 DCHECK(BrowserThread::GetBlockingPool()->IsRunningSequenceOnCurrentThread(
192 sequence_token_)); 193 sequence_token_));
193 if (!base::PathExists(thumbnail_path.DirName())) 194 if (!base::PathExists(thumbnail_path.DirName()))
194 base::CreateDirectory(thumbnail_path.DirName()); 195 base::CreateDirectory(thumbnail_path.DirName());
195 196
196 scoped_refptr<base::RefCountedBytes> original_data; 197 scoped_refptr<base::RefCountedBytes> original_data;
197 scoped_refptr<base::RefCountedBytes> thumbnail_data; 198 scoped_refptr<base::RefCountedBytes> thumbnail_data;
198 chromeos::WallpaperManager::Get()->ResizeImage( 199 chromeos::WallpaperManager::Get()->ResizeImage(
199 *image, wallpaper::WALLPAPER_LAYOUT_STRETCH, image->width(), 200 *image, wallpaper::WALLPAPER_LAYOUT_STRETCH, image->width(),
200 image->height(), &original_data, NULL); 201 image->height(), &original_data, NULL);
(...skipping 22 matching lines...) Expand all
223 SetResult(thumbnail_result); 224 SetResult(thumbnail_result);
224 SendResponse(true); 225 SendResponse(true);
225 } 226 }
226 227
227 // Inform the native Wallpaper Picker Application that the current wallpaper 228 // Inform the native Wallpaper Picker Application that the current wallpaper
228 // has been modified by a third party application. 229 // has been modified by a third party application.
229 if (extension()->id() != extension_misc::kWallpaperManagerId) { 230 if (extension()->id() != extension_misc::kWallpaperManagerId) {
230 Profile* profile = Profile::FromBrowserContext(browser_context()); 231 Profile* profile = Profile::FromBrowserContext(browser_context());
231 extensions::EventRouter* event_router = 232 extensions::EventRouter* event_router =
232 extensions::EventRouter::Get(profile); 233 extensions::EventRouter::Get(profile);
233 scoped_ptr<base::ListValue> event_args(new base::ListValue()); 234 std::unique_ptr<base::ListValue> event_args(new base::ListValue());
234 event_args->Append(original_result); 235 event_args->Append(original_result);
235 event_args->Append(thumbnail_result); 236 event_args->Append(thumbnail_result);
236 event_args->Append(new base::StringValue( 237 event_args->Append(new base::StringValue(
237 extensions::api::wallpaper::ToString(params_->details.layout))); 238 extensions::api::wallpaper::ToString(params_->details.layout)));
238 event_args->Append(new base::StringValue(extension()->name())); 239 event_args->Append(new base::StringValue(extension()->name()));
239 scoped_ptr<extensions::Event> event(new extensions::Event( 240 std::unique_ptr<extensions::Event> event(new extensions::Event(
240 extensions::events::WALLPAPER_PRIVATE_ON_WALLPAPER_CHANGED_BY_3RD_PARTY, 241 extensions::events::WALLPAPER_PRIVATE_ON_WALLPAPER_CHANGED_BY_3RD_PARTY,
241 extensions::api::wallpaper_private::OnWallpaperChangedBy3rdParty:: 242 extensions::api::wallpaper_private::OnWallpaperChangedBy3rdParty::
242 kEventName, 243 kEventName,
243 std::move(event_args))); 244 std::move(event_args)));
244 event_router->DispatchEventToExtension(extension_misc::kWallpaperManagerId, 245 event_router->DispatchEventToExtension(extension_misc::kWallpaperManagerId,
245 std::move(event)); 246 std::move(event));
246 } 247 }
247 } 248 }
248 249
249 void WallpaperSetWallpaperFunction::OnWallpaperFetched( 250 void WallpaperSetWallpaperFunction::OnWallpaperFetched(
250 bool success, 251 bool success,
251 const std::string& response) { 252 const std::string& response) {
252 if (success) { 253 if (success) {
253 params_->details.data.reset( 254 params_->details.data.reset(
254 new std::vector<char>(response.begin(), response.end())); 255 new std::vector<char>(response.begin(), response.end()));
255 StartDecode(*params_->details.data); 256 StartDecode(*params_->details.data);
256 } else { 257 } else {
257 SetError(response); 258 SetError(response);
258 SendResponse(false); 259 SendResponse(false);
259 } 260 }
260 } 261 }
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