2019-04-19 17:19:57 +08:00
# pragma once
# include "include/cef_app.h"
# include "base/memory/singleton.h"
2019-09-22 11:08:20 +08:00
namespace nim_comp
2019-04-19 17:19:57 +08:00
{
typedef std : : function < void ( bool has_error , const std : : string & result ) > ReportResultFunction ;
typedef std : : function < void ( const std : : string & result ) > CallJsFunctionCallback ;
typedef std : : function < void ( const std : : string & params , ReportResultFunction callback ) > CppFunction ;
typedef std : : map < int /* js_callback_id*/ , std : : pair < CefRefPtr < CefV8Context > /* context*/ , CefRefPtr < CefV8Value > /* callback*/ > > RenderCallbackMap ;
typedef std : : map < int /* cpp_callback_id*/ , CallJsFunctionCallback /* callback*/ > BrowserCallbackMap ;
typedef std : : map < std : : pair < CefString /* function_name*/ , int64_t /* frame_id*/ > , CefRefPtr < CefV8Value > /* function*/ > RenderRegisteredFunction ;
typedef std : : map < std : : pair < CefString /* function_name*/ , int64_t /* browser_id*/ > , CppFunction /* function*/ > BrowserRegisteredFunction ;
class CefJSBridge
{
public :
CefJSBridge ( ) ;
~ CefJSBridge ( ) ;
// in render process
public :
/**
* ִ <EFBFBD> <EFBFBD> <EFBFBD> Ѿ <EFBFBD> ע <EFBFBD> <EFBFBD> <EFBFBD> õ <EFBFBD> C + + <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] function_name Ҫ <EFBFBD> <EFBFBD> <EFBFBD> õ ĺ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] params <EFBFBD> <EFBFBD> <EFBFBD> ø ú <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݵ <EFBFBD> json <EFBFBD> <EFBFBD> ʽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] callback ִ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɺ <EFBFBD> <EFBFBD> Ľ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* return <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> true <EFBFBD> <EFBFBD> ʾ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> <EFBFBD> ִ <EFBFBD> г ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 忴 <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> false <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ע <EFBFBD> <EFBFBD> <EFBFBD> Ļ ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ID <EFBFBD> Ѿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
bool CallCppFunction ( const CefString & function_name , const CefString & params , CefRefPtr < CefV8Value > callback ) ;
/**
* ͨ <EFBFBD> <EFBFBD> <EFBFBD> ж <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ļ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƴ <EFBFBD> ָ <EFBFBD> <EFBFBD> <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ҳ <EFBFBD> <EFBFBD> ˢ <EFBFBD> » ᴥ <EFBFBD> <EFBFBD> <EFBFBD> ÷ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] frame <EFBFBD> <EFBFBD> ǰ <EFBFBD> <EFBFBD> <EFBFBD> п <EFBFBD> <EFBFBD> <EFBFBD>
*/
void RemoveCallbackFuncWithFrame ( CefRefPtr < CefFrame > frame ) ;
/**
* <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ID ִ <EFBFBD> <EFBFBD> ָ <EFBFBD> <EFBFBD> <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] js_callback_id <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ID
* param [ in ] has_error <EFBFBD> Ƿ <EFBFBD> <EFBFBD> д <EFBFBD> <EFBFBD> <EFBFBD> Ӧ <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] json_string <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> û <EFBFBD> д <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ָ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> json string <EFBFBD> <EFBFBD> ʽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݣ <EFBFBD> <EFBFBD> <EFBFBD> Ӧ <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڶ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* return <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> true <EFBFBD> <EFBFBD> ʾ <EFBFBD> ɹ <EFBFBD> ִ <EFBFBD> <EFBFBD> <EFBFBD> ˻ ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> false <EFBFBD> п <EFBFBD> <EFBFBD> ܻ ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڻ <EFBFBD> <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ļ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ѿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
bool ExecuteJSCallbackFunc ( int js_callback_id , bool has_error , const CefString & json_result ) ;
/**
* ע <EFBFBD> <EFBFBD> һ <EFBFBD> <EFBFBD> <EFBFBD> ־ õ <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ṩ C + + <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] function_name <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƣ <EFBFBD> <EFBFBD> ַ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʽ <EFBFBD> ṩ C + + ֱ <EFBFBD> ӵ <EFBFBD> <EFBFBD> ã <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʋ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ظ <EFBFBD>
* param [ in ] context <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ļ <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] function <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] replace <EFBFBD> <EFBFBD> <EFBFBD> Ѿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƶ ĺ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƿ <EFBFBD> <EFBFBD> 滻 <EFBFBD> <EFBFBD> Ĭ <EFBFBD> Ϸ <EFBFBD>
* return replace Ϊ true <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> £ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> true <EFBFBD> <EFBFBD> <EFBFBD> 滻 <EFBFBD> ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> false Ϊ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ԥ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ <EFBFBD> <EFBFBD> replace Ϊ false <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> · <EFBFBD> <EFBFBD> <EFBFBD> true <EFBFBD> <EFBFBD> ʾ ע <EFBFBD> <EFBFBD> <EFBFBD> ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> false <EFBFBD> <EFBFBD> ͬ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ѿ <EFBFBD> ע <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˡ <EFBFBD>
*/
bool RegisterJSFunc ( const CefString & function_name , CefRefPtr < CefV8Value > function , bool replace = false ) ;
/**
* <EFBFBD> <EFBFBD> ע <EFBFBD> <EFBFBD> һ <EFBFBD> <EFBFBD> <EFBFBD> ־ õ <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] function_name <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] frame Ҫ ȡ <EFBFBD> <EFBFBD> ע <EFBFBD> <EFBFBD> <EFBFBD> ĸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> غ <EFBFBD> <EFBFBD> <EFBFBD>
*/
void UnRegisterJSFunc ( const CefString & function_name , CefRefPtr < CefFrame > frame ) ;
/**
* <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ķ <EFBFBD> ע <EFBFBD> <EFBFBD> һ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ־ õ <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] frame <EFBFBD> <EFBFBD> ǰ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
void UnRegisterJSFuncWithFrame ( CefRefPtr < CefFrame > frame ) ;
/**
* <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ <EFBFBD> <EFBFBD> ij <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] function_name <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] json_params Ҫ <EFBFBD> <EFBFBD> <EFBFBD> ݵ <EFBFBD> json <EFBFBD> <EFBFBD> ʽ <EFBFBD> IJ <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] frame ִ <EFBFBD> <EFBFBD> <EFBFBD> ĸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] cpp_callback_id ִ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɺ <EFBFBD> Ҫ <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> C + + <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ID
* return <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> true <EFBFBD> <EFBFBD> ʾ <EFBFBD> ɹ <EFBFBD> ִ <EFBFBD> <EFBFBD> ij <EFBFBD> <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> false <EFBFBD> п <EFBFBD> <EFBFBD> <EFBFBD> Ҫ ִ <EFBFBD> е ĺ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڻ <EFBFBD> <EFBFBD> ߸ ú <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ѿ <EFBFBD> <EFBFBD> <EFBFBD> Ч
*/
bool ExecuteJSFunc ( const CefString & function_name , const CefString & json_params , CefRefPtr < CefFrame > frame , int cpp_callback_id ) ;
// in browser process
public :
/**
* ִ <EFBFBD> <EFBFBD> <EFBFBD> Ѿ <EFBFBD> ע <EFBFBD> <EFBFBD> <EFBFBD> õ <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] js_function_name Ҫ <EFBFBD> <EFBFBD> <EFBFBD> õ <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] params <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݵ <EFBFBD> json <EFBFBD> <EFBFBD> ʽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] frame <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ĸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] callback <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݵ Ļ ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* return <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ture <EFBFBD> <EFBFBD> ʶ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ <EFBFBD> <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> false <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͬ <EFBFBD> <EFBFBD> callback id <EFBFBD> Ѿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
bool CallJSFunction ( const CefString & js_function_name , const CefString & params , CefRefPtr < CefFrame > frame , CallJsFunctionCallback callback ) ;
/**
* <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ID ִ <EFBFBD> <EFBFBD> ָ <EFBFBD> <EFBFBD> <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] cpp_callback_id callback <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> id
* param [ in ] json_string <EFBFBD> <EFBFBD> <EFBFBD> ص <EFBFBD> json <EFBFBD> <EFBFBD> ʽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* return <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> true ִ <EFBFBD> г ɹ <EFBFBD> <EFBFBD> <EFBFBD> false Ϊ ִ <EFBFBD> <EFBFBD> ʧ <EFBFBD> ܣ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ܻ ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
bool ExecuteCppCallbackFunc ( int cpp_callback_id , const CefString & json_string ) ;
/**
* ע <EFBFBD> <EFBFBD> һ <EFBFBD> <EFBFBD> <EFBFBD> ־ õ <EFBFBD> C + + <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ṩ JS <EFBFBD> ˵ <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] function_name Ҫ <EFBFBD> ṩ JS <EFBFBD> <EFBFBD> <EFBFBD> õ ĺ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] function <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] replace <EFBFBD> Ƿ <EFBFBD> <EFBFBD> 滻 <EFBFBD> <EFBFBD> ͬ <EFBFBD> <EFBFBD> <EFBFBD> Ƶ ĺ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 壬 Ĭ <EFBFBD> ϲ <EFBFBD> <EFBFBD> 滻
* return replace Ϊ true <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> £ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> true <EFBFBD> <EFBFBD> ʾ ע <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 滻 <EFBFBD> ɹ <EFBFBD> <EFBFBD> <EFBFBD> false <EFBFBD> Dz <EFBFBD> <EFBFBD> <EFBFBD> Ԥ ֪ <EFBFBD> <EFBFBD> Ϊ <EFBFBD> <EFBFBD> replace Ϊ false <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> · <EFBFBD> <EFBFBD> <EFBFBD> true <EFBFBD> <EFBFBD> ʾ ע <EFBFBD> <EFBFBD> <EFBFBD> ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> false <EFBFBD> <EFBFBD> ʾ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ѿ <EFBFBD> ע <EFBFBD> <EFBFBD>
*/
bool RegisterCppFunc ( const CefString & function_name , CppFunction function , CefRefPtr < CefBrowser > browser , bool replace = false ) ;
/**
* <EFBFBD> <EFBFBD> ע <EFBFBD> <EFBFBD> һ <EFBFBD> <EFBFBD> <EFBFBD> ־ õ <EFBFBD> C + + <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] function_name Ҫ <EFBFBD> <EFBFBD> ע <EFBFBD> <EFBFBD> <EFBFBD> ĺ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
void UnRegisterCppFunc ( const CefString & function_name , CefRefPtr < CefBrowser > browser ) ;
/**
* ִ <EFBFBD> <EFBFBD> һ <EFBFBD> <EFBFBD> <EFBFBD> Ѿ <EFBFBD> ע <EFBFBD> <EFBFBD> <EFBFBD> õ <EFBFBD> C + + <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ܵ <EFBFBD> JS <EFBFBD> <EFBFBD> ִ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ã <EFBFBD>
* param [ in ] function_name Ҫ ִ <EFBFBD> е ĺ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] params Я <EFBFBD> <EFBFBD> <EFBFBD> IJ <EFBFBD> <EFBFBD> <EFBFBD>
* param [ in ] js_callback_id <EFBFBD> ص <EFBFBD> JS <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ļ ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ID
* param [ in ] browser browser ʵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* return <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> true <EFBFBD> <EFBFBD> ʾ ִ <EFBFBD> г ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> false <EFBFBD> <EFBFBD> ʾ ִ <EFBFBD> <EFBFBD> ʧ <EFBFBD> ܣ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ܲ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
bool ExecuteCppFunc ( const CefString & function_name , const CefString & params , int js_callback_id , CefRefPtr < CefBrowser > browser ) ;
private :
uint32 js_callback_id_ = 0 ; // JS <20> ˻ص<CBBB> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
uint32 cpp_callback_id_ = 0 ; // C++ <20> ˻ص<CBBB> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
RenderCallbackMap render_callback_ ; // JS <20> ˻ص<CBBB> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ķ<EFBFBD> Ӧ<EFBFBD> б <EFBFBD>
BrowserCallbackMap browser_callback_ ; // C++ <20> ˻ص<CBBB> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ķ<EFBFBD> Ӧ<EFBFBD> б <EFBFBD>
RenderRegisteredFunction render_registered_function_ ; // <20> <> <EFBFBD> <EFBFBD> JS <20> <> <EFBFBD> Ѿ<EFBFBD> ע<EFBFBD> <D7A2> <EFBFBD> õij־ú<D6BE> <C3BA> <EFBFBD> <EFBFBD> б <EFBFBD>
BrowserRegisteredFunction browser_registered_function_ ; // <20> <> <EFBFBD> <EFBFBD> C++ <20> <> <EFBFBD> Ѿ<EFBFBD> ע<EFBFBD> <D7A2> <EFBFBD> õij־ú<D6BE> <C3BA> <EFBFBD> <EFBFBD> б <EFBFBD>
} ;
}