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/jumplist_win.h" | 5 #include "chrome/browser/jumplist_win.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <shobjidl.h> | 8 #include <shobjidl.h> |
9 #include <propkey.h> | 9 #include <propkey.h> |
10 #include <propvarutil.h> | 10 #include <propvarutil.h> |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 } | 226 } |
227 | 227 |
228 // Creates a temporary icon file to be shown in JumpList. | 228 // Creates a temporary icon file to be shown in JumpList. |
229 bool CreateIconFile(const SkBitmap& bitmap, | 229 bool CreateIconFile(const SkBitmap& bitmap, |
230 const base::FilePath& icon_dir, | 230 const base::FilePath& icon_dir, |
231 base::FilePath* icon_path) { | 231 base::FilePath* icon_path) { |
232 // Retrieve the path to a temporary file. | 232 // Retrieve the path to a temporary file. |
233 // We don't have to care about the extension of this temporary file because | 233 // We don't have to care about the extension of this temporary file because |
234 // JumpList does not care about it. | 234 // JumpList does not care about it. |
235 base::FilePath path; | 235 base::FilePath path; |
236 if (!file_util::CreateTemporaryFileInDir(icon_dir, &path)) | 236 if (!base::CreateTemporaryFileInDir(icon_dir, &path)) |
237 return false; | 237 return false; |
238 | 238 |
239 // Create an icon file from the favicon attached to the given |page|, and | 239 // Create an icon file from the favicon attached to the given |page|, and |
240 // save it as the temporary file. | 240 // save it as the temporary file. |
241 gfx::ImageFamily image_family; | 241 gfx::ImageFamily image_family; |
242 image_family.Add(gfx::Image::CreateFrom1xBitmap(bitmap)); | 242 image_family.Add(gfx::Image::CreateFrom1xBitmap(bitmap)); |
243 if (!IconUtil::CreateIconFileFromImageFamily(image_family, path)) | 243 if (!IconUtil::CreateIconFileFromImageFamily(image_family, path)) |
244 return false; | 244 return false; |
245 | 245 |
246 // Add this icon file to the list and return its absolute path. | 246 // Add this icon file to the list and return its absolute path. |
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
754 } | 754 } |
755 | 755 |
756 void JumpList::CreateIconFiles(const ShellLinkItemList& item_list) { | 756 void JumpList::CreateIconFiles(const ShellLinkItemList& item_list) { |
757 for (ShellLinkItemList::const_iterator item = item_list.begin(); | 757 for (ShellLinkItemList::const_iterator item = item_list.begin(); |
758 item != item_list.end(); ++item) { | 758 item != item_list.end(); ++item) { |
759 base::FilePath icon_path; | 759 base::FilePath icon_path; |
760 if (CreateIconFile((*item)->data(), icon_dir_, &icon_path)) | 760 if (CreateIconFile((*item)->data(), icon_dir_, &icon_path)) |
761 (*item)->SetIcon(icon_path.value(), 0, true); | 761 (*item)->SetIcon(icon_path.value(), 0, true); |
762 } | 762 } |
763 } | 763 } |
OLD | NEW |