| Index: ui/gfx/icon_util.h
 | 
| ===================================================================
 | 
| --- ui/gfx/icon_util.h	(revision 176351)
 | 
| +++ ui/gfx/icon_util.h	(working copy)
 | 
| @@ -1,4 +1,4 @@
 | 
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
 | 
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
 | 
|  // Use of this source code is governed by a BSD-style license that can be
 | 
|  // found in the LICENSE file.
 | 
|  
 | 
| @@ -11,6 +11,7 @@
 | 
|  
 | 
|  #include "base/basictypes.h"
 | 
|  #include "base/gtest_prod_util.h"
 | 
| +#include "base/memory/scoped_ptr.h"
 | 
|  #include "ui/base/ui_export.h"
 | 
|  #include "ui/gfx/point.h"
 | 
|  #include "ui/gfx/size.h"
 | 
| @@ -73,6 +74,14 @@
 | 
|    // it when it is no longer needed.
 | 
|    static SkBitmap* CreateSkBitmapFromHICON(HICON icon, const gfx::Size& s);
 | 
|  
 | 
| +  // Loads an icon resource  as a SkBitmap for the specified |size| from a
 | 
| +  // loaded .dll or .exe |module|. Supports loading smaller icon sizes as well
 | 
| +  // as the Vista+ 256x256 PNG icon size. If the icon could not be loaded or
 | 
| +  // found, returns a NULL scoped_ptr.
 | 
| +  static scoped_ptr<SkBitmap> CreateSkBitmapFromIconResource(HMODULE module,
 | 
| +                                                             int resource_id,
 | 
| +                                                             int size);
 | 
| +
 | 
|    // Given a valid HICON handle representing an icon, this function converts
 | 
|    // the icon into an SkBitmap object containing an ARGB bitmap using the
 | 
|    // dimensions of HICON. If the function cannot convert the icon to a bitmap
 | 
| @@ -109,6 +118,7 @@
 | 
|    // the icon file structures in any of the Windows header files so we need to
 | 
|    // define these structure within the class. We must make sure we use 2 byte
 | 
|    // packing so that the structures are layed out properly within the file.
 | 
| +  // See: http://msdn.microsoft.com/en-us/library/ms997538.aspx
 | 
|  #pragma pack(push)
 | 
|  #pragma pack(2)
 | 
|  
 | 
| @@ -134,6 +144,28 @@
 | 
|      ICONDIRENTRY idEntries[1];
 | 
|    };
 | 
|  
 | 
| +  // GRPICONDIRENTRY contains meta data for an individual icon image within a
 | 
| +  // RT_GROUP_ICON resource in an .exe or .dll.
 | 
| +  struct GRPICONDIRENTRY {
 | 
| +    BYTE bWidth;
 | 
| +    BYTE bHeight;
 | 
| +    BYTE bColorCount;
 | 
| +    BYTE bReserved;
 | 
| +    WORD wPlanes;
 | 
| +    WORD wBitCount;
 | 
| +    DWORD dwBytesInRes;
 | 
| +    WORD nID;
 | 
| +  };
 | 
| +
 | 
| +  // GRPICONDIR Contains information about all the icon images contained within
 | 
| +  // a RT_GROUP_ICON resource in an .exe or .dll.
 | 
| +  struct GRPICONDIR {
 | 
| +    WORD idReserved;
 | 
| +    WORD idType;
 | 
| +    WORD idCount;
 | 
| +    GRPICONDIRENTRY idEntries[1];
 | 
| +  };
 | 
| +
 | 
|    // Contains the actual icon image.
 | 
|    struct ICONIMAGE {
 | 
|      BITMAPINFOHEADER icHeader;
 | 
| 
 |