228 lines
6.5 KiB
C
228 lines
6.5 KiB
C
// Copyright (c) 2009 Marshall A. Greenblatt. All rights reserved.
|
|
//
|
|
// Redistribution and use in source and binary forms, with or without
|
|
// modification, are permitted provided that the following conditions are
|
|
// met:
|
|
//
|
|
// * Redistributions of source code must retain the above copyright
|
|
// notice, this list of conditions and the following disclaimer.
|
|
// * Redistributions in binary form must reproduce the above
|
|
// copyright notice, this list of conditions and the following disclaimer
|
|
// in the documentation and/or other materials provided with the
|
|
// distribution.
|
|
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
|
// Framework nor the names of its contributors may be used to endorse
|
|
// or promote products derived from this software without specific prior
|
|
// written permission.
|
|
//
|
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
#ifndef _CEF_TYPES_H
|
|
#define _CEF_TYPES_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
// Bring in platform-specific definitions.
|
|
#ifdef _WIN32
|
|
#include "cef_types_win.h"
|
|
#endif
|
|
|
|
|
|
// Define handler return value types. Returning RV_HANDLED indicates
|
|
// that the implementation completely handled the method and that no further
|
|
// processing is required. Returning RV_CONTINUE indicates that the
|
|
// implementation did not handle the method and that the default handler
|
|
// should be called.
|
|
enum cef_retval_t
|
|
{
|
|
RV_HANDLED = 0,
|
|
RV_CONTINUE = 1,
|
|
};
|
|
|
|
// Various browser navigation types supported by chrome.
|
|
enum cef_handler_navtype_t
|
|
{
|
|
NAVTYPE_LINKCLICKED = 0,
|
|
NAVTYPE_FORMSUBMITTED,
|
|
NAVTYPE_BACKFORWARD,
|
|
NAVTYPE_RELOAD,
|
|
NAVTYPE_FORMRESUBMITTED,
|
|
NAVTYPE_OTHER,
|
|
};
|
|
|
|
// Supported error code values. See net\base\net_error_list.h for complete
|
|
// descriptions of the error codes.
|
|
enum cef_handler_errorcode_t
|
|
{
|
|
ERR_FAILED = -2,
|
|
ERR_ABORTED = -3,
|
|
ERR_INVALID_ARGUMENT = -4,
|
|
ERR_INVALID_HANDLE = -5,
|
|
ERR_FILE_NOT_FOUND = -6,
|
|
ERR_TIMED_OUT = -7,
|
|
ERR_FILE_TOO_BIG = -8,
|
|
ERR_UNEXPECTED = -9,
|
|
ERR_ACCESS_DENIED = -10,
|
|
ERR_NOT_IMPLEMENTED = -11,
|
|
ERR_CONNECTION_CLOSED = -100,
|
|
ERR_CONNECTION_RESET = -101,
|
|
ERR_CONNECTION_REFUSED = -102,
|
|
ERR_CONNECTION_ABORTED = -103,
|
|
ERR_CONNECTION_FAILED = -104,
|
|
ERR_NAME_NOT_RESOLVED = -105,
|
|
ERR_INTERNET_DISCONNECTED = -106,
|
|
ERR_SSL_PROTOCOL_ERROR = -107,
|
|
ERR_ADDRESS_INVALID = -108,
|
|
ERR_ADDRESS_UNREACHABLE = -109,
|
|
ERR_SSL_CLIENT_AUTH_CERT_NEEDED = -110,
|
|
ERR_TUNNEL_CONNECTION_FAILED = -111,
|
|
ERR_NO_SSL_VERSIONS_ENABLED = -112,
|
|
ERR_SSL_VERSION_OR_CIPHER_MISMATCH = -113,
|
|
ERR_SSL_RENEGOTIATION_REQUESTED = -114,
|
|
ERR_CERT_COMMON_NAME_INVALID = -200,
|
|
ERR_CERT_DATE_INVALID = -201,
|
|
ERR_CERT_AUTHORITY_INVALID = -202,
|
|
ERR_CERT_CONTAINS_ERRORS = -203,
|
|
ERR_CERT_NO_REVOCATION_MECHANISM = -204,
|
|
ERR_CERT_UNABLE_TO_CHECK_REVOCATION = -205,
|
|
ERR_CERT_REVOKED = -206,
|
|
ERR_CERT_INVALID = -207,
|
|
ERR_CERT_END = -208,
|
|
ERR_INVALID_URL = -300,
|
|
ERR_DISALLOWED_URL_SCHEME = -301,
|
|
ERR_UNKNOWN_URL_SCHEME = -302,
|
|
ERR_TOO_MANY_REDIRECTS = -310,
|
|
ERR_UNSAFE_REDIRECT = -311,
|
|
ERR_UNSAFE_PORT = -312,
|
|
ERR_INVALID_RESPONSE = -320,
|
|
ERR_INVALID_CHUNKED_ENCODING = -321,
|
|
ERR_METHOD_NOT_SUPPORTED = -322,
|
|
ERR_UNEXPECTED_PROXY_AUTH = -323,
|
|
ERR_EMPTY_RESPONSE = -324,
|
|
ERR_RESPONSE_HEADERS_TOO_BIG = -325,
|
|
ERR_CACHE_MISS = -400,
|
|
ERR_INSECURE_RESPONSE = -501,
|
|
};
|
|
|
|
// Structure representing menu information.
|
|
typedef struct _cef_handler_menuinfo_t
|
|
{
|
|
int typeFlags;
|
|
int x;
|
|
int y;
|
|
const wchar_t* linkUrl;
|
|
const wchar_t* imageUrl;
|
|
const wchar_t* pageUrl;
|
|
const wchar_t* frameUrl;
|
|
const wchar_t* selectionText;
|
|
const wchar_t* misspelledWord;
|
|
int editFlags;
|
|
const wchar_t* securityInfo;
|
|
} cef_handler_menuinfo_t;
|
|
|
|
// The cef_handler_menuinfo_t typeFlags value will be a combination of the
|
|
// following values.
|
|
enum cef_handler_menutypebits_t
|
|
{
|
|
// No node is selected
|
|
MENUTYPE_NONE = 0x0,
|
|
// The top page is selected
|
|
MENUTYPE_PAGE = 0x1,
|
|
// A subframe page is selected
|
|
MENUTYPE_FRAME = 0x2,
|
|
// A link is selected
|
|
MENUTYPE_LINK = 0x4,
|
|
// An image is selected
|
|
MENUTYPE_IMAGE = 0x8,
|
|
// There is a textual or mixed selection that is selected
|
|
MENUTYPE_SELECTION = 0x10,
|
|
// An editable element is selected
|
|
MENUTYPE_EDITABLE = 0x20,
|
|
// A misspelled word is selected
|
|
MENUTYPE_MISSPELLED_WORD = 0x40,
|
|
// A video node is selected
|
|
MENUTYPE_VIDEO = 0x80,
|
|
// A video node is selected
|
|
MENUTYPE_AUDIO = 0x100,
|
|
};
|
|
|
|
// The cef_handler_menuinfo_t editFlags value will be a combination of the
|
|
// following values.
|
|
enum cef_handler_menucapabilitybits_t
|
|
{
|
|
MENU_CAN_DO_NONE = 0x0,
|
|
MENU_CAN_UNDO = 0x1,
|
|
MENU_CAN_REDO = 0x2,
|
|
MENU_CAN_CUT = 0x4,
|
|
MENU_CAN_COPY = 0x8,
|
|
MENU_CAN_PASTE = 0x10,
|
|
MENU_CAN_DELETE = 0x20,
|
|
MENU_CAN_SELECT_ALL = 0x40,
|
|
MENU_CAN_GO_FORWARD = 0x80,
|
|
MENU_CAN_GO_BACK = 0x100,
|
|
};
|
|
|
|
// Supported menu ID values.
|
|
enum cef_handler_menuid_t
|
|
{
|
|
MENU_ID_NAV_BACK = 10,
|
|
MENU_ID_NAV_FORWARD = 11,
|
|
MENU_ID_NAV_RELOAD = 12,
|
|
MENU_ID_NAV_STOP = 13,
|
|
MENU_ID_UNDO = 20,
|
|
MENU_ID_REDO = 21,
|
|
MENU_ID_CUT = 22,
|
|
MENU_ID_COPY = 23,
|
|
MENU_ID_PASTE = 24,
|
|
MENU_ID_DELETE = 25,
|
|
MENU_ID_SELECTALL = 26,
|
|
MENU_ID_PRINT = 30,
|
|
MENU_ID_VIEWSOURCE = 31,
|
|
};
|
|
|
|
// Post data elements may represent either bytes or files.
|
|
enum cef_postdataelement_type_t
|
|
{
|
|
PDE_TYPE_EMPTY = 0,
|
|
PDE_TYPE_BYTES,
|
|
PDE_TYPE_FILE,
|
|
};
|
|
|
|
// Key event types.
|
|
enum cef_handler_keyevent_type_t
|
|
{
|
|
KEYEVENT_RAWKEYDOWN = 0,
|
|
KEYEVENT_KEYDOWN,
|
|
KEYEVENT_KEYUP,
|
|
KEYEVENT_CHAR
|
|
};
|
|
|
|
// Key event modifiers.
|
|
enum cef_handler_keyevent_modifiers_t
|
|
{
|
|
KEY_SHIFT = 1 << 0,
|
|
KEY_CTRL = 1 << 1,
|
|
KEY_ALT = 1 << 2,
|
|
KEY_META = 1 << 3
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // _CEF_TYPES_H
|