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
16namespace {
17
18// Returns the resource id of the application icon.
19int 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
30HICON GetAppIcon() {
31  const int icon_id = GetAppIconResourceId();
32  return LoadIcon(GetModuleHandle(chrome::kBrowserResourcesDll),
33                  MAKEINTRESOURCE(icon_id));
34}
35
36scoped_ptr<SkBitmap> GetAppIconForSize(int size) {
37  const int icon_id = GetAppIconResourceId();
38  return IconUtil::CreateSkBitmapFromIconResource(
39      GetModuleHandle(chrome::kBrowserResourcesDll), icon_id, size);
40}
41