Home | History | Annotate | Download | only in browser
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/app_icon_win.h"
      6 
      7 #include "chrome/app/chrome_dll_resource.h"
      8 #include "chrome/common/chrome_constants.h"
      9 #include "third_party/skia/include/core/SkBitmap.h"
     10 #include "ui/gfx/icon_util.h"
     11 
     12 #if defined(GOOGLE_CHROME_BUILD)
     13 #include "chrome/installer/util/install_util.h"
     14 #endif
     15 
     16 namespace {
     17 
     18 // Returns the resource id of the application icon.
     19 int GetAppIconResourceId() {
     20   int icon_id = IDR_MAINFRAME;
     21 #if defined(GOOGLE_CHROME_BUILD)
     22   if (InstallUtil::IsChromeSxSProcess())
     23     icon_id = IDR_SXS;
     24 #endif
     25   return icon_id;
     26 }
     27 
     28 }  // namespace
     29 
     30 HICON GetAppIcon() {
     31   const int icon_id = GetAppIconResourceId();
     32   return LoadIcon(GetModuleHandle(chrome::kBrowserResourcesDll),
     33                   MAKEINTRESOURCE(icon_id));
     34 }
     35 
     36 scoped_ptr<SkBitmap> GetAppIconForSize(int size) {
     37   const int icon_id = GetAppIconResourceId();
     38   return IconUtil::CreateSkBitmapFromIconResource(
     39       GetModuleHandle(chrome::kBrowserResourcesDll), icon_id, size);
     40 }
     41