Use the platform API hash instead of build revision for checking libcef compatibility (issue #914).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1161 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
parent
e185bcb54d
commit
21b6c4e280
|
@ -58,7 +58,7 @@ class CefApp;
|
|||
// secondary process it will block until the process should exit and then return
|
||||
// the process exit code. The |application| parameter may be empty.
|
||||
///
|
||||
/*--cef(revision_check,optional_param=application)--*/
|
||||
/*--cef(api_hash_check,optional_param=application)--*/
|
||||
int CefExecuteProcess(const CefMainArgs& args, CefRefPtr<CefApp> application);
|
||||
|
||||
///
|
||||
|
@ -66,7 +66,7 @@ int CefExecuteProcess(const CefMainArgs& args, CefRefPtr<CefApp> application);
|
|||
// the CEF browser process. The |application| parameter may be empty. A return
|
||||
// value of true indicates that it succeeded and false indicates that it failed.
|
||||
///
|
||||
/*--cef(revision_check,optional_param=application)--*/
|
||||
/*--cef(api_hash_check,optional_param=application)--*/
|
||||
bool CefInitialize(const CefMainArgs& args, const CefSettings& settings,
|
||||
CefRefPtr<CefApp> application);
|
||||
|
||||
|
|
|
@ -61,14 +61,14 @@ class CefCommandLine : public virtual CefBase {
|
|||
///
|
||||
// Create a new CefCommandLine instance.
|
||||
///
|
||||
/*--cef(revision_check)--*/
|
||||
/*--cef(api_hash_check)--*/
|
||||
static CefRefPtr<CefCommandLine> CreateCommandLine();
|
||||
|
||||
///
|
||||
// Returns the singleton global CefCommandLine object. The returned object
|
||||
// will be read-only.
|
||||
///
|
||||
/*--cef(revision_check)--*/
|
||||
/*--cef(api_hash_check)--*/
|
||||
static CefRefPtr<CefCommandLine> GetGlobalCommandLine();
|
||||
|
||||
///
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
// STATIC METHODS - Body may be edited by hand.
|
||||
|
||||
CefRefPtr<CefCommandLine> CefCommandLine::CreateCommandLine() {
|
||||
int build_revision = cef_build_revision();
|
||||
if (build_revision != CEF_REVISION) {
|
||||
// The libcef build revision does not match the CEF API revision.
|
||||
const char* api_hash = cef_api_hash(0);
|
||||
if (strcmp(api_hash, CEF_API_HASH_PLATFORM)) {
|
||||
// The libcef API hash does not match the current header API hash.
|
||||
DCHECK(false);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -35,9 +35,9 @@ CefRefPtr<CefCommandLine> CefCommandLine::CreateCommandLine() {
|
|||
}
|
||||
|
||||
CefRefPtr<CefCommandLine> CefCommandLine::GetGlobalCommandLine() {
|
||||
int build_revision = cef_build_revision();
|
||||
if (build_revision != CEF_REVISION) {
|
||||
// The libcef build revision does not match the CEF API revision.
|
||||
const char* api_hash = cef_api_hash(0);
|
||||
if (strcmp(api_hash, CEF_API_HASH_PLATFORM)) {
|
||||
// The libcef API hash does not match the current header API hash.
|
||||
DCHECK(false);
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -112,9 +112,9 @@
|
|||
|
||||
CEF_GLOBAL int CefExecuteProcess(const CefMainArgs& args,
|
||||
CefRefPtr<CefApp> application) {
|
||||
int build_revision = cef_build_revision();
|
||||
if (build_revision != CEF_REVISION) {
|
||||
// The libcef build revision does not match the CEF API revision.
|
||||
const char* api_hash = cef_api_hash(0);
|
||||
if (strcmp(api_hash, CEF_API_HASH_PLATFORM)) {
|
||||
// The libcef API hash does not match the current header API hash.
|
||||
DCHECK(false);
|
||||
return 0;
|
||||
}
|
||||
|
@ -134,9 +134,9 @@ CEF_GLOBAL int CefExecuteProcess(const CefMainArgs& args,
|
|||
|
||||
CEF_GLOBAL bool CefInitialize(const CefMainArgs& args,
|
||||
const CefSettings& settings, CefRefPtr<CefApp> application) {
|
||||
int build_revision = cef_build_revision();
|
||||
if (build_revision != CEF_REVISION) {
|
||||
// The libcef build revision does not match the CEF API revision.
|
||||
const char* api_hash = cef_api_hash(0);
|
||||
if (strcmp(api_hash, CEF_API_HASH_PLATFORM)) {
|
||||
// The libcef API hash does not match the current header API hash.
|
||||
DCHECK(false);
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -270,7 +270,7 @@ def format_translation_includes(body):
|
|||
"""
|
||||
result = ''
|
||||
|
||||
if body.find('cef_build_revision()') > 0:
|
||||
if body.find('cef_api_hash(') > 0:
|
||||
result += '#include "include/cef_version.h"\n'
|
||||
|
||||
# identify what CppToC classes are being used
|
||||
|
|
|
@ -60,11 +60,11 @@ def make_ctocpp_function_impl_new(clsname, name, func):
|
|||
if len(retval_default) > 0:
|
||||
retval_default = ' '+retval_default;
|
||||
|
||||
# add revision check
|
||||
if func.has_attrib('revision_check'):
|
||||
result += '\n int build_revision = cef_build_revision();'\
|
||||
'\n if (build_revision != CEF_REVISION) {'\
|
||||
'\n // The libcef build revision does not match the CEF API revision.'\
|
||||
# add API hash check
|
||||
if func.has_attrib('api_hash_check'):
|
||||
result += '\n const char* api_hash = cef_api_hash(0);'\
|
||||
'\n if (strcmp(api_hash, CEF_API_HASH_PLATFORM)) {'\
|
||||
'\n // The libcef API hash does not match the current header API hash.'\
|
||||
'\n DCHECK(false);'\
|
||||
'\n return'+retval_default+';'\
|
||||
'\n }\n'
|
||||
|
|
|
@ -86,7 +86,7 @@ Supported method/function attributes:
|
|||
count_func=[param:func] (Required for non-const non-string std::vector
|
||||
types) Specify the C++ function that returns the
|
||||
count of elements for a vector parameter.
|
||||
revision_check (Optional) If set a revision check will be added
|
||||
api_hash_check (Optional) If set an API hash check will be added
|
||||
to the CToCpp version of the method/function.
|
||||
|
||||
Supported class attributes:
|
||||
|
|
Loading…
Reference in New Issue