// Microsoft Visual C++ generated resource script.
//
#include "chrome_dll_resource.h"
#include "chrome_command_ids.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

/////////////////////////////////////////////////////////////////////////////
//
// Accelerator
//

// Note that we don't handle any of the VK_BROWSER_* commands here. We will
// pick those up in the WM_APPCOMMAND message.
IDR_MAINFRAME ACCELERATORS
BEGIN
    VK_BACK,        IDC_BACK,                   VIRTKEY
    VK_LEFT,        IDC_BACK,                   VIRTKEY, ALT
// This really should be using the buildflag but the resource compiler fails on
// macro functions longer than 31 chars which this command produces. The BUILD
// sets this regular define for this target only for this line to consume.
#ifdef ENABLE_PRINTING_FOR_RC  // #if BUILDFLAG(ENABLE_PRINTING)
    "P",            IDC_BASIC_PRINT,            VIRTKEY, CONTROL, SHIFT
#endif  // ENABLE_PRINTING_FOR_RC
    "D",            IDC_BOOKMARK_ALL_TABS,      VIRTKEY, CONTROL, SHIFT
    "D",            IDC_BOOKMARK_PAGE,          VIRTKEY, CONTROL
    VK_DELETE,      IDC_CLEAR_BROWSING_DATA,    VIRTKEY, CONTROL, SHIFT
    "W",            IDC_CLOSE_TAB,              VIRTKEY, CONTROL
    VK_F4,          IDC_CLOSE_TAB,              VIRTKEY, CONTROL
    "W",            IDC_CLOSE_WINDOW,           VIRTKEY, CONTROL, SHIFT
    "I",            IDC_DEV_TOOLS,              VIRTKEY, CONTROL, SHIFT
    "J",            IDC_DEV_TOOLS_CONSOLE,      VIRTKEY, CONTROL, SHIFT
    "C",            IDC_DEV_TOOLS_INSPECT,      VIRTKEY, CONTROL, SHIFT
    VK_F12,         IDC_DEV_TOOLS_TOGGLE,       VIRTKEY
    "F",            IDC_FIND,                   VIRTKEY, CONTROL
    "G",            IDC_FIND_NEXT,              VIRTKEY, CONTROL
    VK_F3,          IDC_FIND_NEXT,              VIRTKEY
    "G",            IDC_FIND_PREVIOUS,          VIRTKEY, CONTROL, SHIFT
    VK_F3,          IDC_FIND_PREVIOUS,          VIRTKEY, SHIFT
    "B",            IDC_FOCUS_BOOKMARKS,        VIRTKEY, SHIFT, ALT
    "A",            IDC_FOCUS_INACTIVE_POPUP_FOR_ACCESSIBILITY,         VIRTKEY, SHIFT, ALT
    "D",            IDC_FOCUS_LOCATION,         VIRTKEY, ALT
    "L",            IDC_FOCUS_LOCATION,         VIRTKEY, CONTROL
    VK_F10,         IDC_FOCUS_MENU_BAR,         VIRTKEY
    VK_MENU,        IDC_FOCUS_MENU_BAR,         VIRTKEY
    VK_F6,          IDC_FOCUS_NEXT_PANE,        VIRTKEY
    VK_F6,          IDC_FOCUS_PREVIOUS_PANE,    VIRTKEY, SHIFT
    "E",            IDC_FOCUS_SEARCH,           VIRTKEY, CONTROL
    "K",            IDC_FOCUS_SEARCH,           VIRTKEY, CONTROL
    "T",            IDC_FOCUS_TOOLBAR,          VIRTKEY, SHIFT, ALT
    VK_BACK,        IDC_FORWARD,                VIRTKEY, SHIFT
    VK_RIGHT,       IDC_FORWARD,                VIRTKEY, ALT
    VK_F11,         IDC_FULLSCREEN,             VIRTKEY
    VK_F1,          IDC_HELP_PAGE_VIA_KEYBOARD, VIRTKEY
    VK_HOME,        IDC_HOME,                   VIRTKEY, ALT
    "N",            IDC_NEW_INCOGNITO_WINDOW,   VIRTKEY, CONTROL, SHIFT
    "T",            IDC_NEW_TAB,                VIRTKEY, CONTROL
    "N",            IDC_NEW_WINDOW,             VIRTKEY, CONTROL
    "O",            IDC_OPEN_FILE,              VIRTKEY, CONTROL
    "P",            IDC_PRINT,                  VIRTKEY, CONTROL
    "R",            IDC_RELOAD,                 VIRTKEY, CONTROL
    VK_F5,          IDC_RELOAD,                 VIRTKEY
    "R",            IDC_RELOAD_BYPASSING_CACHE, VIRTKEY, CONTROL, SHIFT
    VK_F5,          IDC_RELOAD_BYPASSING_CACHE, VIRTKEY, CONTROL
    VK_F5,          IDC_RELOAD_BYPASSING_CACHE, VIRTKEY, SHIFT
    "T",            IDC_RESTORE_TAB,            VIRTKEY, CONTROL, SHIFT
    "S",            IDC_SAVE_PAGE,              VIRTKEY, CONTROL
    "9",            IDC_SELECT_LAST_TAB,        VIRTKEY, CONTROL
    VK_NUMPAD9,     IDC_SELECT_LAST_TAB,        VIRTKEY, CONTROL
    VK_NEXT,        IDC_SELECT_NEXT_TAB,        VIRTKEY, CONTROL
    VK_TAB,         IDC_SELECT_NEXT_TAB,        VIRTKEY, CONTROL
    VK_PRIOR,       IDC_SELECT_PREVIOUS_TAB,    VIRTKEY, CONTROL
    VK_TAB,         IDC_SELECT_PREVIOUS_TAB,    VIRTKEY, CONTROL, SHIFT
    // NOTE: IDC_SELECT_TAB_N is bound to the key ctrl-(N+1), and selects the
    // tab at index N. For example, IDC_SELECT_TAB_0 is bound to ctrl-1, and
    // selects the tab at index 0.
    "1",            IDC_SELECT_TAB_0,           VIRTKEY, CONTROL
    VK_NUMPAD1,     IDC_SELECT_TAB_0,           VIRTKEY, CONTROL
    "2",            IDC_SELECT_TAB_1,           VIRTKEY, CONTROL
    VK_NUMPAD2,     IDC_SELECT_TAB_1,           VIRTKEY, CONTROL
    "3",            IDC_SELECT_TAB_2,           VIRTKEY, CONTROL
    VK_NUMPAD3,     IDC_SELECT_TAB_2,           VIRTKEY, CONTROL
    "4",            IDC_SELECT_TAB_3,           VIRTKEY, CONTROL
    VK_NUMPAD4,     IDC_SELECT_TAB_3,           VIRTKEY, CONTROL
    "5",            IDC_SELECT_TAB_4,           VIRTKEY, CONTROL
    VK_NUMPAD5,     IDC_SELECT_TAB_4,           VIRTKEY, CONTROL
    "6",            IDC_SELECT_TAB_5,           VIRTKEY, CONTROL
    VK_NUMPAD6,     IDC_SELECT_TAB_5,           VIRTKEY, CONTROL
    "7",            IDC_SELECT_TAB_6,           VIRTKEY, CONTROL
    VK_NUMPAD7,     IDC_SELECT_TAB_6,           VIRTKEY, CONTROL
    "8",            IDC_SELECT_TAB_7,           VIRTKEY, CONTROL
    VK_NUMPAD8,     IDC_SELECT_TAB_7,           VIRTKEY, CONTROL
    "E",            IDC_SHOW_APP_MENU,          VIRTKEY, ALT
    "F",            IDC_SHOW_APP_MENU,          VIRTKEY, ALT
    "M",            IDC_SHOW_AVATAR_MENU,       VIRTKEY, CONTROL, SHIFT
    "B",            IDC_SHOW_BOOKMARK_BAR,      VIRTKEY, CONTROL, SHIFT
    "O",            IDC_SHOW_BOOKMARK_MANAGER,  VIRTKEY, CONTROL, SHIFT
    "J",            IDC_SHOW_DOWNLOADS,         VIRTKEY, CONTROL
    "H",            IDC_SHOW_HISTORY,           VIRTKEY, CONTROL
    VK_ESCAPE,      IDC_STOP,                   VIRTKEY
    VK_ESCAPE,      IDC_TASK_MANAGER,           VIRTKEY, SHIFT
    "U",            IDC_VIEW_SOURCE,            VIRTKEY, CONTROL
    VK_OEM_MINUS,   IDC_ZOOM_MINUS,             VIRTKEY, CONTROL
    VK_OEM_MINUS,   IDC_ZOOM_MINUS,             VIRTKEY, CONTROL, SHIFT
    VK_SUBTRACT,    IDC_ZOOM_MINUS,             VIRTKEY, CONTROL
    "0",            IDC_ZOOM_NORMAL,            VIRTKEY, CONTROL
    VK_NUMPAD0,     IDC_ZOOM_NORMAL,            VIRTKEY, CONTROL
    VK_ADD,         IDC_ZOOM_PLUS,              VIRTKEY, CONTROL
    VK_OEM_PLUS,    IDC_ZOOM_PLUS,              VIRTKEY, CONTROL
    VK_OEM_PLUS,    IDC_ZOOM_PLUS,              VIRTKEY, CONTROL, SHIFT
END

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE
BEGIN
    "chrome_dll_resource.h\0"
END

2 TEXTINCLUDE
BEGIN
    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "#include ""windows.h""\r\n"
    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "\0"
END

3 TEXTINCLUDE
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

/////////////////////////////////////////////////////////////////////////////
//
// Icons
//
// This is duplicated from the .exe file to make ATL happy (it tries to load
// the icon from the current module). We can perhaps work around this in the
// future to get the icon from the .exe, which would save a copy.

#if defined(GOOGLE_CHROME_BUILD)
IDR_MAINFRAME       ICON                        "theme\google_chrome\win\chrome.ico"
IDR_SXS             ICON                        "theme\google_chrome\win\chrome_sxs.ico"
IDR_X004_DEV        ICON                        "theme\google_chrome\win\chrome_dev.ico"
IDR_X005_BETA       ICON                        "theme\google_chrome\win\chrome_beta.ico"
#else
IDR_MAINFRAME       ICON                        "theme\chromium\win\chromium.ico"
#endif

// We include these resources because all ICON types need to be in the
// same .rc file.  See:
// http://www.technewsgroups.net/group/microsoft.public.dotnet.general/topic2111.aspx
IDI_THROBBER_01     ICON                        "theme\vista_frame_throbber_01.ico"
IDI_THROBBER_02     ICON                        "theme\vista_frame_throbber_02.ico"
IDI_THROBBER_03     ICON                        "theme\vista_frame_throbber_03.ico"
IDI_THROBBER_04     ICON                        "theme\vista_frame_throbber_04.ico"
IDI_THROBBER_05     ICON                        "theme\vista_frame_throbber_05.ico"
IDI_THROBBER_06     ICON                        "theme\vista_frame_throbber_06.ico"
IDI_THROBBER_07     ICON                        "theme\vista_frame_throbber_07.ico"
IDI_THROBBER_08     ICON                        "theme\vista_frame_throbber_08.ico"
IDI_THROBBER_09     ICON                        "theme\vista_frame_throbber_09.ico"
IDI_THROBBER_10     ICON                        "theme\vista_frame_throbber_10.ico"
IDI_THROBBER_11     ICON                        "theme\vista_frame_throbber_11.ico"
IDI_THROBBER_12     ICON                        "theme\vista_frame_throbber_12.ico"
IDI_THROBBER_13     ICON                        "theme\vista_frame_throbber_13.ico"
IDI_THROBBER_14     ICON                        "theme\vista_frame_throbber_14.ico"
IDI_THROBBER_15     ICON                        "theme\vista_frame_throbber_15.ico"
IDI_THROBBER_16     ICON                        "theme\vista_frame_throbber_16.ico"
IDI_THROBBER_17     ICON                        "theme\vista_frame_throbber_17.ico"
IDI_THROBBER_18     ICON                        "theme\vista_frame_throbber_18.ico"
IDI_THROBBER_19     ICON                        "theme\vista_frame_throbber_19.ico"
IDI_THROBBER_20     ICON                        "theme\vista_frame_throbber_20.ico"
IDI_THROBBER_21     ICON                        "theme\vista_frame_throbber_21.ico"
IDI_THROBBER_22     ICON                        "theme\vista_frame_throbber_22.ico"
IDI_THROBBER_23     ICON                        "theme\vista_frame_throbber_23.ico"
IDI_THROBBER_24     ICON                        "theme\vista_frame_throbber_24.ico"

#endif    // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////

#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

// (temp change to touch this file or incremental builds may break now
// that we removed chrome_dll_version.rc from it)
