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/ui/web_applications/web_app_ui.h" | 5 #include "chrome/browser/ui/web_applications/web_app_ui.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 const content::NotificationSource& source, | 58 const content::NotificationSource& source, |
59 const content::NotificationDetails& details); | 59 const content::NotificationDetails& details); |
60 | 60 |
61 // Downloads icon via the FaviconTabHelper. | 61 // Downloads icon via the FaviconTabHelper. |
62 void DownloadIcon(); | 62 void DownloadIcon(); |
63 | 63 |
64 // Favicon download callback. | 64 // Favicon download callback. |
65 void DidDownloadFavicon( | 65 void DidDownloadFavicon( |
66 int id, | 66 int id, |
67 const GURL& image_url, | 67 const GURL& image_url, |
68 bool errored, | |
69 int requested_size, | 68 int requested_size, |
70 const std::vector<SkBitmap>& bitmaps); | 69 const std::vector<SkBitmap>& bitmaps); |
71 | 70 |
72 // Checks if shortcuts exists on desktop, start menu and quick launch. | 71 // Checks if shortcuts exists on desktop, start menu and quick launch. |
73 void CheckExistingShortcuts(); | 72 void CheckExistingShortcuts(); |
74 | 73 |
75 // Update shortcut files and icons. | 74 // Update shortcut files and icons. |
76 void UpdateShortcuts(); | 75 void UpdateShortcuts(); |
77 void UpdateShortcutsOnFileThread(); | 76 void UpdateShortcutsOnFileThread(); |
78 | 77 |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 std::max(unprocessed_icons_.back().width, | 160 std::max(unprocessed_icons_.back().width, |
162 unprocessed_icons_.back().height), | 161 unprocessed_icons_.back().height), |
163 base::Bind(&UpdateShortcutWorker::DidDownloadFavicon, | 162 base::Bind(&UpdateShortcutWorker::DidDownloadFavicon, |
164 base::Unretained(this))); | 163 base::Unretained(this))); |
165 unprocessed_icons_.pop_back(); | 164 unprocessed_icons_.pop_back(); |
166 } | 165 } |
167 | 166 |
168 void UpdateShortcutWorker::DidDownloadFavicon( | 167 void UpdateShortcutWorker::DidDownloadFavicon( |
169 int id, | 168 int id, |
170 const GURL& image_url, | 169 const GURL& image_url, |
171 bool errored, | |
172 int requested_size, | 170 int requested_size, |
173 const std::vector<SkBitmap>& bitmaps) { | 171 const std::vector<SkBitmap>& bitmaps) { |
174 std::vector<ui::ScaleFactor> scale_factors; | 172 std::vector<ui::ScaleFactor> scale_factors; |
175 scale_factors.push_back(ui::SCALE_FACTOR_100P); | 173 scale_factors.push_back(ui::SCALE_FACTOR_100P); |
176 | 174 |
177 size_t closest_index = | 175 size_t closest_index = |
178 FaviconUtil::SelectBestFaviconFromBitmaps(bitmaps, | 176 FaviconUtil::SelectBestFaviconFromBitmaps(bitmaps, |
179 scale_factors, | 177 scale_factors, |
180 requested_size); | 178 requested_size); |
181 | 179 |
182 if (!errored && !bitmaps.empty() && !bitmaps[closest_index].isNull()) { | 180 if (!bitmaps.empty() && !bitmaps[closest_index].isNull()) { |
183 // Update icon with download image and update shortcut. | 181 // Update icon with download image and update shortcut. |
184 shortcut_info_.favicon = gfx::Image(bitmaps[closest_index]); | 182 shortcut_info_.favicon = gfx::Image(bitmaps[closest_index]); |
185 extensions::TabHelper* extensions_tab_helper = | 183 extensions::TabHelper* extensions_tab_helper = |
186 extensions::TabHelper::FromWebContents(web_contents_); | 184 extensions::TabHelper::FromWebContents(web_contents_); |
187 extensions_tab_helper->SetAppIcon(bitmaps[closest_index]); | 185 extensions_tab_helper->SetAppIcon(bitmaps[closest_index]); |
188 UpdateShortcuts(); | 186 UpdateShortcuts(); |
189 } else { | 187 } else { |
190 // Try the next icon otherwise. | 188 // Try the next icon otherwise. |
191 DownloadIcon(); | 189 DownloadIcon(); |
192 } | 190 } |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 shortcut_info->extension_id = app.id(); | 352 shortcut_info->extension_id = app.id(); |
355 shortcut_info->is_platform_app = app.is_platform_app(); | 353 shortcut_info->is_platform_app = app.is_platform_app(); |
356 shortcut_info->url = GURL(app.launch_web_url()); | 354 shortcut_info->url = GURL(app.launch_web_url()); |
357 shortcut_info->title = UTF8ToUTF16(app.name()); | 355 shortcut_info->title = UTF8ToUTF16(app.name()); |
358 shortcut_info->description = UTF8ToUTF16(app.description()); | 356 shortcut_info->description = UTF8ToUTF16(app.description()); |
359 shortcut_info->extension_path = app.path(); | 357 shortcut_info->extension_path = app.path(); |
360 shortcut_info->profile_path = profile->GetPath(); | 358 shortcut_info->profile_path = profile->GetPath(); |
361 } | 359 } |
362 | 360 |
363 } // namespace web_app | 361 } // namespace web_app |
OLD | NEW |