OLD | NEW |
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 #include "chrome/browser/extensions/extension_web_ui.h" | 5 #include "chrome/browser/extensions/extension_web_ui.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 } | 124 } |
125 } | 125 } |
126 | 126 |
127 private: | 127 private: |
128 ~ExtensionWebUIImageLoadingTracker() {} | 128 ~ExtensionWebUIImageLoadingTracker() {} |
129 | 129 |
130 // Forwards the result on the request. If no favicon was available then | 130 // Forwards the result on the request. If no favicon was available then |
131 // |icon_data| may be backed by NULL. Once the result has been forwarded the | 131 // |icon_data| may be backed by NULL. Once the result has been forwarded the |
132 // instance is deleted. | 132 // instance is deleted. |
133 void ForwardResult(scoped_refptr<base::RefCountedMemory> icon_data) { | 133 void ForwardResult(scoped_refptr<base::RefCountedMemory> icon_data) { |
134 history::FaviconData favicon; | 134 history::FaviconData favicon_data; |
135 favicon.known_icon = icon_data.get() != NULL && icon_data->size() > 0; | 135 favicon_data.known_icon = icon_data.get() != NULL && icon_data->size() > 0; |
136 favicon.image_data = icon_data; | 136 favicon_data.icon_type = history::FAVICON; |
137 favicon.icon_type = history::FAVICON; | 137 history::FaviconBitmapData favicon_bitmap_data; |
138 request_->ForwardResultAsync(request_->handle(), favicon); | 138 favicon_bitmap_data.bitmap_data = icon_data; |
| 139 favicon_data.bitmaps.push_back(favicon_bitmap_data); |
| 140 request_->ForwardResultAsync(request_->handle(), favicon_data, |
| 141 std::vector<GURL>()); |
139 delete this; | 142 delete this; |
140 } | 143 } |
141 | 144 |
142 ImageLoadingTracker tracker_; | 145 ImageLoadingTracker tracker_; |
143 scoped_refptr<FaviconService::GetFaviconRequest> request_; | 146 scoped_refptr<FaviconService::GetFaviconRequest> request_; |
144 const Extension* extension_; | 147 const Extension* extension_; |
145 | 148 |
146 DISALLOW_COPY_AND_ASSIGN(ExtensionWebUIImageLoadingTracker); | 149 DISALLOW_COPY_AND_ASSIGN(ExtensionWebUIImageLoadingTracker); |
147 }; | 150 }; |
148 | 151 |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 } | 425 } |
423 | 426 |
424 // static | 427 // static |
425 void ExtensionWebUI::GetFaviconForURL(Profile* profile, | 428 void ExtensionWebUI::GetFaviconForURL(Profile* profile, |
426 FaviconService::GetFaviconRequest* request, const GURL& page_url) { | 429 FaviconService::GetFaviconRequest* request, const GURL& page_url) { |
427 // tracker deletes itself when done. | 430 // tracker deletes itself when done. |
428 ExtensionWebUIImageLoadingTracker* tracker = | 431 ExtensionWebUIImageLoadingTracker* tracker = |
429 new ExtensionWebUIImageLoadingTracker(profile, request, page_url); | 432 new ExtensionWebUIImageLoadingTracker(profile, request, page_url); |
430 tracker->Init(); | 433 tracker->Init(); |
431 } | 434 } |
OLD | NEW |