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

Side by Side Diff: chrome/browser/android/webapps/add_to_homescreen_data_fetcher.cc

Issue 2871303004: Rename TaskRunner::RunsTasksOnCurrentThread() in //chrome (Closed)
Patch Set: fixed build error Created 3 years, 7 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/android/webapps/add_to_homescreen_data_fetcher.h" 5 #include "chrome/browser/android/webapps/add_to_homescreen_data_fetcher.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 background_task_runner_.get(), FROM_HERE, 290 background_task_runner_.get(), FROM_HERE,
291 base::Bind(&AddToHomescreenDataFetcher:: 291 base::Bind(&AddToHomescreenDataFetcher::
292 CreateLauncherIconFromFaviconInBackground, 292 CreateLauncherIconFromFaviconInBackground,
293 base::Unretained(this), bitmap_result), 293 base::Unretained(this), bitmap_result),
294 base::Bind(&AddToHomescreenDataFetcher::NotifyObserver, 294 base::Bind(&AddToHomescreenDataFetcher::NotifyObserver,
295 base::RetainedRef(this))); 295 base::RetainedRef(this)));
296 } 296 }
297 297
298 SkBitmap AddToHomescreenDataFetcher::CreateLauncherIconFromFaviconInBackground( 298 SkBitmap AddToHomescreenDataFetcher::CreateLauncherIconFromFaviconInBackground(
299 const favicon_base::FaviconRawBitmapResult& bitmap_result) { 299 const favicon_base::FaviconRawBitmapResult& bitmap_result) {
300 DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread()); 300 base::ThreadRestrictions::AssertIOAllowed();
301 301
302 SkBitmap raw_icon; 302 SkBitmap raw_icon;
303 if (bitmap_result.is_valid()) { 303 if (bitmap_result.is_valid()) {
304 gfx::PNGCodec::Decode(bitmap_result.bitmap_data->front(), 304 gfx::PNGCodec::Decode(bitmap_result.bitmap_data->front(),
305 bitmap_result.bitmap_data->size(), &raw_icon); 305 bitmap_result.bitmap_data->size(), &raw_icon);
306 } 306 }
307 307
308 shortcut_info_.best_primary_icon_url = bitmap_result.icon_url; 308 shortcut_info_.best_primary_icon_url = bitmap_result.icon_url;
309 return CreateLauncherIconInBackground(raw_icon); 309 return CreateLauncherIconInBackground(raw_icon);
310 } 310 }
311 311
312 void AddToHomescreenDataFetcher::CreateLauncherIcon(const SkBitmap& raw_icon) { 312 void AddToHomescreenDataFetcher::CreateLauncherIcon(const SkBitmap& raw_icon) {
313 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 313 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
314 base::PostTaskAndReplyWithResult( 314 base::PostTaskAndReplyWithResult(
315 background_task_runner_.get(), FROM_HERE, 315 background_task_runner_.get(), FROM_HERE,
316 base::Bind(&AddToHomescreenDataFetcher::CreateLauncherIconInBackground, 316 base::Bind(&AddToHomescreenDataFetcher::CreateLauncherIconInBackground,
317 base::Unretained(this), raw_icon), 317 base::Unretained(this), raw_icon),
318 base::Bind(&AddToHomescreenDataFetcher::NotifyObserver, 318 base::Bind(&AddToHomescreenDataFetcher::NotifyObserver,
319 base::RetainedRef(this))); 319 base::RetainedRef(this)));
320 } 320 }
321 321
322 SkBitmap AddToHomescreenDataFetcher::CreateLauncherIconInBackground( 322 SkBitmap AddToHomescreenDataFetcher::CreateLauncherIconInBackground(
323 const SkBitmap& raw_icon) { 323 const SkBitmap& raw_icon) {
324 DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread()); 324 base::ThreadRestrictions::AssertIOAllowed();
325 325
326 SkBitmap primary_icon; 326 SkBitmap primary_icon;
327 bool is_generated = false; 327 bool is_generated = false;
328 if (weak_observer_) { 328 if (weak_observer_) {
329 primary_icon = weak_observer_->FinalizeLauncherIconInBackground( 329 primary_icon = weak_observer_->FinalizeLauncherIconInBackground(
330 raw_icon, shortcut_info_.url, &is_generated); 330 raw_icon, shortcut_info_.url, &is_generated);
331 } 331 }
332 332
333 if (is_generated) 333 if (is_generated)
334 shortcut_info_.best_primary_icon_url = GURL(); 334 shortcut_info_.best_primary_icon_url = GURL();
335 335
336 return primary_icon; 336 return primary_icon;
337 } 337 }
338 338
339 void AddToHomescreenDataFetcher::NotifyObserver(const SkBitmap& primary_icon) { 339 void AddToHomescreenDataFetcher::NotifyObserver(const SkBitmap& primary_icon) {
340 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 340 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
341 if (!web_contents() || !weak_observer_ || is_icon_saved_) 341 if (!web_contents() || !weak_observer_ || is_icon_saved_)
342 return; 342 return;
343 343
344 is_icon_saved_ = true; 344 is_icon_saved_ = true;
345 primary_icon_ = primary_icon; 345 primary_icon_ = primary_icon;
346 is_ready_ = true; 346 is_ready_ = true;
347 weak_observer_->OnDataAvailable(shortcut_info_, primary_icon_, badge_icon_); 347 weak_observer_->OnDataAvailable(shortcut_info_, primary_icon_, badge_icon_);
348 } 348 }
OLDNEW
« no previous file with comments | « chrome/browser/android/shortcut_helper.cc ('k') | chrome/browser/android/webapps/add_to_homescreen_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698