1 // Copyright (c) 2010 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 "base/basictypes.h" 6 #include "ppapi/c/pp_input_event.h" 7 #include "ppapi/c/private/ppb_pdf.h" 8 #include "third_party/pdfium/fpdfsdk/include/fpdf_fwlevent.h" 9 #include "third_party/pdfium/fpdfsdk/include/fpdf_sysfontinfo.h" 10 #include "ui/events/keycodes/keyboard_codes.h" 11 12 #define COMPILE_ASSERT_MATCH(np_name, pdfium_name) \ 13 COMPILE_ASSERT(int(np_name) == int(pdfium_name), mismatching_enums) 14 15 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_SHIFTKEY, FWL_EVENTFLAG_ShiftKey); 16 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_CONTROLKEY, 17 FWL_EVENTFLAG_ControlKey); 18 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_ALTKEY, FWL_EVENTFLAG_AltKey); 19 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_METAKEY, FWL_EVENTFLAG_MetaKey); 20 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_ISKEYPAD, FWL_EVENTFLAG_KeyPad); 21 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT, 22 FWL_EVENTFLAG_AutoRepeat); 23 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN, 24 FWL_EVENTFLAG_LeftButtonDown); 25 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN, 26 FWL_EVENTFLAG_MiddleButtonDown); 27 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN, 28 FWL_EVENTFLAG_RightButtonDown); 29 30 COMPILE_ASSERT_MATCH(ui::VKEY_BACK, FWL_VKEY_Back); 31 COMPILE_ASSERT_MATCH(ui::VKEY_TAB, FWL_VKEY_Tab); 32 COMPILE_ASSERT_MATCH(ui::VKEY_CLEAR, FWL_VKEY_Clear); 33 COMPILE_ASSERT_MATCH(ui::VKEY_RETURN, FWL_VKEY_Return); 34 COMPILE_ASSERT_MATCH(ui::VKEY_SHIFT, FWL_VKEY_Shift); 35 COMPILE_ASSERT_MATCH(ui::VKEY_CONTROL, FWL_VKEY_Control); 36 COMPILE_ASSERT_MATCH(ui::VKEY_MENU, FWL_VKEY_Menu); 37 COMPILE_ASSERT_MATCH(ui::VKEY_PAUSE, FWL_VKEY_Pause); 38 COMPILE_ASSERT_MATCH(ui::VKEY_CAPITAL, FWL_VKEY_Capital); 39 COMPILE_ASSERT_MATCH(ui::VKEY_KANA, FWL_VKEY_Kana); 40 COMPILE_ASSERT_MATCH(ui::VKEY_HANGUL, FWL_VKEY_Hangul); 41 COMPILE_ASSERT_MATCH(ui::VKEY_JUNJA, FWL_VKEY_Junja); 42 COMPILE_ASSERT_MATCH(ui::VKEY_FINAL, FWL_VKEY_Final); 43 COMPILE_ASSERT_MATCH(ui::VKEY_HANJA, FWL_VKEY_Hanja); 44 COMPILE_ASSERT_MATCH(ui::VKEY_KANJI, FWL_VKEY_Kanji); 45 COMPILE_ASSERT_MATCH(ui::VKEY_ESCAPE, FWL_VKEY_Escape); 46 COMPILE_ASSERT_MATCH(ui::VKEY_CONVERT, FWL_VKEY_Convert); 47 COMPILE_ASSERT_MATCH(ui::VKEY_NONCONVERT, FWL_VKEY_NonConvert); 48 COMPILE_ASSERT_MATCH(ui::VKEY_ACCEPT, FWL_VKEY_Accept); 49 COMPILE_ASSERT_MATCH(ui::VKEY_MODECHANGE, FWL_VKEY_ModeChange); 50 COMPILE_ASSERT_MATCH(ui::VKEY_SPACE, FWL_VKEY_Space); 51 COMPILE_ASSERT_MATCH(ui::VKEY_PRIOR, FWL_VKEY_Prior); 52 COMPILE_ASSERT_MATCH(ui::VKEY_NEXT, FWL_VKEY_Next); 53 COMPILE_ASSERT_MATCH(ui::VKEY_END, FWL_VKEY_End); 54 COMPILE_ASSERT_MATCH(ui::VKEY_HOME, FWL_VKEY_Home); 55 COMPILE_ASSERT_MATCH(ui::VKEY_LEFT, FWL_VKEY_Left); 56 COMPILE_ASSERT_MATCH(ui::VKEY_UP, FWL_VKEY_Up); 57 COMPILE_ASSERT_MATCH(ui::VKEY_RIGHT, FWL_VKEY_Right); 58 COMPILE_ASSERT_MATCH(ui::VKEY_DOWN, FWL_VKEY_Down); 59 COMPILE_ASSERT_MATCH(ui::VKEY_SELECT, FWL_VKEY_Select); 60 COMPILE_ASSERT_MATCH(ui::VKEY_PRINT, FWL_VKEY_Print); 61 COMPILE_ASSERT_MATCH(ui::VKEY_EXECUTE, FWL_VKEY_Execute); 62 COMPILE_ASSERT_MATCH(ui::VKEY_SNAPSHOT, FWL_VKEY_Snapshot); 63 COMPILE_ASSERT_MATCH(ui::VKEY_INSERT, FWL_VKEY_Insert); 64 COMPILE_ASSERT_MATCH(ui::VKEY_DELETE, FWL_VKEY_Delete); 65 COMPILE_ASSERT_MATCH(ui::VKEY_HELP, FWL_VKEY_Help); 66 COMPILE_ASSERT_MATCH(ui::VKEY_0, FWL_VKEY_0); 67 COMPILE_ASSERT_MATCH(ui::VKEY_1, FWL_VKEY_1); 68 COMPILE_ASSERT_MATCH(ui::VKEY_2, FWL_VKEY_2); 69 COMPILE_ASSERT_MATCH(ui::VKEY_3, FWL_VKEY_3); 70 COMPILE_ASSERT_MATCH(ui::VKEY_4, FWL_VKEY_4); 71 COMPILE_ASSERT_MATCH(ui::VKEY_5, FWL_VKEY_5); 72 COMPILE_ASSERT_MATCH(ui::VKEY_6, FWL_VKEY_6); 73 COMPILE_ASSERT_MATCH(ui::VKEY_7, FWL_VKEY_7); 74 COMPILE_ASSERT_MATCH(ui::VKEY_8, FWL_VKEY_8); 75 COMPILE_ASSERT_MATCH(ui::VKEY_9, FWL_VKEY_9); 76 COMPILE_ASSERT_MATCH(ui::VKEY_A, FWL_VKEY_A); 77 COMPILE_ASSERT_MATCH(ui::VKEY_B, FWL_VKEY_B); 78 COMPILE_ASSERT_MATCH(ui::VKEY_C, FWL_VKEY_C); 79 COMPILE_ASSERT_MATCH(ui::VKEY_D, FWL_VKEY_D); 80 COMPILE_ASSERT_MATCH(ui::VKEY_E, FWL_VKEY_E); 81 COMPILE_ASSERT_MATCH(ui::VKEY_F, FWL_VKEY_F); 82 COMPILE_ASSERT_MATCH(ui::VKEY_G, FWL_VKEY_G); 83 COMPILE_ASSERT_MATCH(ui::VKEY_H, FWL_VKEY_H); 84 COMPILE_ASSERT_MATCH(ui::VKEY_I, FWL_VKEY_I); 85 COMPILE_ASSERT_MATCH(ui::VKEY_J, FWL_VKEY_J); 86 COMPILE_ASSERT_MATCH(ui::VKEY_K, FWL_VKEY_K); 87 COMPILE_ASSERT_MATCH(ui::VKEY_L, FWL_VKEY_L); 88 COMPILE_ASSERT_MATCH(ui::VKEY_M, FWL_VKEY_M); 89 COMPILE_ASSERT_MATCH(ui::VKEY_N, FWL_VKEY_N); 90 COMPILE_ASSERT_MATCH(ui::VKEY_O, FWL_VKEY_O); 91 COMPILE_ASSERT_MATCH(ui::VKEY_P, FWL_VKEY_P); 92 COMPILE_ASSERT_MATCH(ui::VKEY_Q, FWL_VKEY_Q); 93 COMPILE_ASSERT_MATCH(ui::VKEY_R, FWL_VKEY_R); 94 COMPILE_ASSERT_MATCH(ui::VKEY_S, FWL_VKEY_S); 95 COMPILE_ASSERT_MATCH(ui::VKEY_T, FWL_VKEY_T); 96 COMPILE_ASSERT_MATCH(ui::VKEY_U, FWL_VKEY_U); 97 COMPILE_ASSERT_MATCH(ui::VKEY_V, FWL_VKEY_V); 98 COMPILE_ASSERT_MATCH(ui::VKEY_W, FWL_VKEY_W); 99 COMPILE_ASSERT_MATCH(ui::VKEY_X, FWL_VKEY_X); 100 COMPILE_ASSERT_MATCH(ui::VKEY_Y, FWL_VKEY_Y); 101 COMPILE_ASSERT_MATCH(ui::VKEY_Z, FWL_VKEY_Z); 102 COMPILE_ASSERT_MATCH(ui::VKEY_LWIN, FWL_VKEY_LWin); 103 COMPILE_ASSERT_MATCH(ui::VKEY_COMMAND, FWL_VKEY_Command); 104 COMPILE_ASSERT_MATCH(ui::VKEY_RWIN, FWL_VKEY_RWin); 105 COMPILE_ASSERT_MATCH(ui::VKEY_APPS, FWL_VKEY_Apps); 106 COMPILE_ASSERT_MATCH(ui::VKEY_SLEEP, FWL_VKEY_Sleep); 107 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD0, FWL_VKEY_NumPad0); 108 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD1, FWL_VKEY_NumPad1); 109 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD2, FWL_VKEY_NumPad2); 110 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD3, FWL_VKEY_NumPad3); 111 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD4, FWL_VKEY_NumPad4); 112 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD5, FWL_VKEY_NumPad5); 113 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD6, FWL_VKEY_NumPad6); 114 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD7, FWL_VKEY_NumPad7); 115 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD8, FWL_VKEY_NumPad8); 116 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD9, FWL_VKEY_NumPad9); 117 COMPILE_ASSERT_MATCH(ui::VKEY_MULTIPLY, FWL_VKEY_Multiply); 118 COMPILE_ASSERT_MATCH(ui::VKEY_ADD, FWL_VKEY_Add); 119 COMPILE_ASSERT_MATCH(ui::VKEY_SEPARATOR, FWL_VKEY_Separator); 120 COMPILE_ASSERT_MATCH(ui::VKEY_SUBTRACT, FWL_VKEY_Subtract); 121 COMPILE_ASSERT_MATCH(ui::VKEY_DECIMAL, FWL_VKEY_Decimal); 122 COMPILE_ASSERT_MATCH(ui::VKEY_DIVIDE, FWL_VKEY_Divide); 123 COMPILE_ASSERT_MATCH(ui::VKEY_F1, FWL_VKEY_F1); 124 COMPILE_ASSERT_MATCH(ui::VKEY_F2, FWL_VKEY_F2); 125 COMPILE_ASSERT_MATCH(ui::VKEY_F3, FWL_VKEY_F3); 126 COMPILE_ASSERT_MATCH(ui::VKEY_F4, FWL_VKEY_F4); 127 COMPILE_ASSERT_MATCH(ui::VKEY_F5, FWL_VKEY_F5); 128 COMPILE_ASSERT_MATCH(ui::VKEY_F6, FWL_VKEY_F6); 129 COMPILE_ASSERT_MATCH(ui::VKEY_F7, FWL_VKEY_F7); 130 COMPILE_ASSERT_MATCH(ui::VKEY_F8, FWL_VKEY_F8); 131 COMPILE_ASSERT_MATCH(ui::VKEY_F9, FWL_VKEY_F9); 132 COMPILE_ASSERT_MATCH(ui::VKEY_F10, FWL_VKEY_F10); 133 COMPILE_ASSERT_MATCH(ui::VKEY_F11, FWL_VKEY_F11); 134 COMPILE_ASSERT_MATCH(ui::VKEY_F12, FWL_VKEY_F12); 135 COMPILE_ASSERT_MATCH(ui::VKEY_F13, FWL_VKEY_F13); 136 COMPILE_ASSERT_MATCH(ui::VKEY_F14, FWL_VKEY_F14); 137 COMPILE_ASSERT_MATCH(ui::VKEY_F15, FWL_VKEY_F15); 138 COMPILE_ASSERT_MATCH(ui::VKEY_F16, FWL_VKEY_F16); 139 COMPILE_ASSERT_MATCH(ui::VKEY_F17, FWL_VKEY_F17); 140 COMPILE_ASSERT_MATCH(ui::VKEY_F18, FWL_VKEY_F18); 141 COMPILE_ASSERT_MATCH(ui::VKEY_F19, FWL_VKEY_F19); 142 COMPILE_ASSERT_MATCH(ui::VKEY_F20, FWL_VKEY_F20); 143 COMPILE_ASSERT_MATCH(ui::VKEY_F21, FWL_VKEY_F21); 144 COMPILE_ASSERT_MATCH(ui::VKEY_F22, FWL_VKEY_F22); 145 COMPILE_ASSERT_MATCH(ui::VKEY_F23, FWL_VKEY_F23); 146 COMPILE_ASSERT_MATCH(ui::VKEY_F24, FWL_VKEY_F24); 147 COMPILE_ASSERT_MATCH(ui::VKEY_NUMLOCK, FWL_VKEY_NunLock); 148 COMPILE_ASSERT_MATCH(ui::VKEY_SCROLL, FWL_VKEY_Scroll); 149 COMPILE_ASSERT_MATCH(ui::VKEY_LSHIFT, FWL_VKEY_LShift); 150 COMPILE_ASSERT_MATCH(ui::VKEY_RSHIFT, FWL_VKEY_RShift); 151 COMPILE_ASSERT_MATCH(ui::VKEY_LCONTROL, FWL_VKEY_LControl); 152 COMPILE_ASSERT_MATCH(ui::VKEY_RCONTROL, FWL_VKEY_RControl); 153 COMPILE_ASSERT_MATCH(ui::VKEY_LMENU, FWL_VKEY_LMenu); 154 COMPILE_ASSERT_MATCH(ui::VKEY_RMENU, FWL_VKEY_RMenu); 155 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_BACK, FWL_VKEY_BROWSER_Back); 156 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_FORWARD, FWL_VKEY_BROWSER_Forward); 157 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_REFRESH, FWL_VKEY_BROWSER_Refresh); 158 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_STOP, FWL_VKEY_BROWSER_Stop); 159 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_SEARCH, FWL_VKEY_BROWSER_Search); 160 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_FAVORITES, FWL_VKEY_BROWSER_Favorites); 161 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_HOME, FWL_VKEY_BROWSER_Home); 162 COMPILE_ASSERT_MATCH(ui::VKEY_VOLUME_MUTE, FWL_VKEY_VOLUME_Mute); 163 COMPILE_ASSERT_MATCH(ui::VKEY_VOLUME_DOWN, FWL_VKEY_VOLUME_Down); 164 COMPILE_ASSERT_MATCH(ui::VKEY_VOLUME_UP, FWL_VKEY_VOLUME_Up); 165 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_NEXT_TRACK, FWL_VKEY_MEDIA_NEXT_Track); 166 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_PREV_TRACK, FWL_VKEY_MEDIA_PREV_Track); 167 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_STOP, FWL_VKEY_MEDIA_Stop); 168 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_PLAY_PAUSE, FWL_VKEY_MEDIA_PLAY_Pause); 169 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_LAUNCH_MAIL, FWL_VKEY_MEDIA_LAUNCH_Mail); 170 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_LAUNCH_MEDIA_SELECT, 171 FWL_VKEY_MEDIA_LAUNCH_MEDIA_Select); 172 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_LAUNCH_APP1, FWL_VKEY_MEDIA_LAUNCH_APP1); 173 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_LAUNCH_APP2, FWL_VKEY_MEDIA_LAUNCH_APP2); 174 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_1, FWL_VKEY_OEM_1); 175 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_PLUS, FWL_VKEY_OEM_Plus); 176 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_COMMA, FWL_VKEY_OEM_Comma); 177 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_MINUS, FWL_VKEY_OEM_Minus); 178 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_PERIOD, FWL_VKEY_OEM_Period); 179 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_2, FWL_VKEY_OEM_2); 180 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_3, FWL_VKEY_OEM_3); 181 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_4, FWL_VKEY_OEM_4); 182 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_5, FWL_VKEY_OEM_5); 183 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_6, FWL_VKEY_OEM_6); 184 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_7, FWL_VKEY_OEM_7); 185 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_8, FWL_VKEY_OEM_8); 186 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_102, FWL_VKEY_OEM_102); 187 COMPILE_ASSERT_MATCH(ui::VKEY_PROCESSKEY, FWL_VKEY_ProcessKey); 188 COMPILE_ASSERT_MATCH(ui::VKEY_PACKET, FWL_VKEY_Packet); 189 COMPILE_ASSERT_MATCH(ui::VKEY_ATTN, FWL_VKEY_Attn); 190 COMPILE_ASSERT_MATCH(ui::VKEY_CRSEL, FWL_VKEY_Crsel); 191 COMPILE_ASSERT_MATCH(ui::VKEY_EXSEL, FWL_VKEY_Exsel); 192 COMPILE_ASSERT_MATCH(ui::VKEY_EREOF, FWL_VKEY_Ereof); 193 COMPILE_ASSERT_MATCH(ui::VKEY_PLAY, FWL_VKEY_Play); 194 COMPILE_ASSERT_MATCH(ui::VKEY_ZOOM, FWL_VKEY_Zoom); 195 COMPILE_ASSERT_MATCH(ui::VKEY_NONAME, FWL_VKEY_NoName); 196 COMPILE_ASSERT_MATCH(ui::VKEY_PA1, FWL_VKEY_PA1); 197 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_CLEAR, FWL_VKEY_OEM_Clear); 198 COMPILE_ASSERT_MATCH(ui::VKEY_UNKNOWN, FWL_VKEY_Unknown); 199 200 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_ANSI, FXFONT_ANSI_CHARSET); 201 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_DEFAULT, FXFONT_DEFAULT_CHARSET); 202 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_SYMBOL, FXFONT_SYMBOL_CHARSET); 203 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_SHIFTJIS, FXFONT_SHIFTJIS_CHARSET); 204 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_HANGUL, FXFONT_HANGEUL_CHARSET); 205 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_GB2312, FXFONT_GB2312_CHARSET); 206 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_CHINESEBIG5, 207 FXFONT_CHINESEBIG5_CHARSET); 208