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

Side by Side Diff: chrome/browser/image_holder.cc

Issue 1097383005: Add possibility to define data callback to BitmapFetcher (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@r479598_extensions_content_verifier_directories_fail
Patch Set: Clarified how calling Init/Start twice works + fixed android Created 5 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // This class holds the URL to an image and the bitmap for the fetched image, 5 // This class holds the URL to an image and the bitmap for the fetched image,
6 // and has code to fetch the bitmap from the URL. 6 // and has code to fetch the bitmap from the URL.
7 7
8 #include "chrome/browser/image_holder.h" 8 #include "chrome/browser/image_holder.h"
9 9
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 if (url.is_valid()) { 61 if (url.is_valid()) {
62 fetchers_.push_back(new chrome::BitmapFetcher(url, this)); 62 fetchers_.push_back(new chrome::BitmapFetcher(url, this));
63 DVLOG(2) << __FUNCTION__ << "Pushing bitmap " << url; 63 DVLOG(2) << __FUNCTION__ << "Pushing bitmap " << url;
64 } 64 }
65 } 65 }
66 66
67 void ImageHolder::StartFetch() { 67 void ImageHolder::StartFetch() {
68 // Now that we have queued them all, start the fetching. 68 // Now that we have queued them all, start the fetching.
69 ScopedVector<chrome::BitmapFetcher>::iterator iter; 69 ScopedVector<chrome::BitmapFetcher>::iterator iter;
70 for (iter = fetchers_.begin(); iter != fetchers_.end(); ++iter) { 70 for (iter = fetchers_.begin(); iter != fetchers_.end(); ++iter) {
71 (*iter)->Start( 71 (*iter)->Init(
72 profile_->GetRequestContext(), 72 profile_->GetRequestContext(),
73 std::string(), 73 std::string(),
74 net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE, 74 net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE,
75 net::LOAD_NORMAL); 75 net::LOAD_NORMAL);
76 (*iter)->Start();
76 } 77 }
77 } 78 }
78 79
79 // Method inherited from BitmapFetcher delegate. 80 // Method inherited from BitmapFetcher delegate.
80 void ImageHolder::OnFetchComplete(const GURL& url, const SkBitmap* bitmap) { 81 void ImageHolder::OnFetchComplete(const GURL& url, const SkBitmap* bitmap) {
81 // TODO(petewil): Should I retry if a fetch fails? 82 // TODO(petewil): Should I retry if a fetch fails?
82 // Match the bitmap to the URL to put it into the image with the correct scale 83 // Match the bitmap to the URL to put it into the image with the correct scale
83 // factor. 84 // factor.
84 if (url == low_dpi_url_) { 85 if (url == low_dpi_url_) {
85 low_dpi_fetched_ = true; 86 low_dpi_fetched_ = true;
86 if (bitmap != NULL) 87 if (bitmap != NULL)
87 image_.AddRepresentation(gfx::ImageSkiaRep(*bitmap, 1.0)); 88 image_.AddRepresentation(gfx::ImageSkiaRep(*bitmap, 1.0));
88 } else if (url == high_dpi_url_) { 89 } else if (url == high_dpi_url_) {
89 high_dpi_fetched_ = true; 90 high_dpi_fetched_ = true;
90 if (bitmap != NULL) 91 if (bitmap != NULL)
91 image_.AddRepresentation(gfx::ImageSkiaRep(*bitmap, 2.0)); 92 image_.AddRepresentation(gfx::ImageSkiaRep(*bitmap, 2.0));
92 } else { 93 } else {
93 DVLOG(2) << __FUNCTION__ << "Unmatched bitmap arrived " << url; 94 DVLOG(2) << __FUNCTION__ << "Unmatched bitmap arrived " << url;
94 } 95 }
95 96
96 // Notify callback of bitmap arrival. 97 // Notify callback of bitmap arrival.
97 delegate_->OnFetchComplete(); 98 delegate_->OnFetchComplete();
98 } 99 }
99 100
100 } // namespace chrome. 101 } // namespace chrome.
OLDNEW
« no previous file with comments | « chrome/browser/extensions/webstore_install_helper.cc ('k') | chrome/browser/profiles/profile_avatar_downloader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698