mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Add |extra_info| parameter for browser creation (fixes issue #1088)
The optional |extra_info| parameter provides an opportunity to specify extra information specific to the created browser that will be passed to CefRenderProcessHandler::OnBrowserCreated() in the render process.
This commit is contained in:
committed by
Marshall Greenblatt
parent
ad4ce5f441
commit
473c29a70d
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=15f23de47af54fa690b6c5810e3049f97ae2aabd$
|
||||
// $hash=2385e0531c91a419fe7f4036b5a59da743b1622e$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_CAPI_H_
|
||||
@@ -869,25 +869,33 @@ typedef struct _cef_browser_host_t {
|
||||
// |windowInfo|. All values will be copied internally and the actual window will
|
||||
// be created on the UI thread. If |request_context| is NULL the global request
|
||||
// context will be used. This function can be called on any browser process
|
||||
// thread and will not block.
|
||||
// thread and will not block. The optional |extra_info| parameter provides an
|
||||
// opportunity to specify extra information specific to the created browser that
|
||||
// will be passed to cef_render_process_handler_t::on_browser_created() in the
|
||||
// render process.
|
||||
///
|
||||
CEF_EXPORT int cef_browser_host_create_browser(
|
||||
const cef_window_info_t* windowInfo,
|
||||
struct _cef_client_t* client,
|
||||
const cef_string_t* url,
|
||||
const struct _cef_browser_settings_t* settings,
|
||||
struct _cef_dictionary_value_t* extra_info,
|
||||
struct _cef_request_context_t* request_context);
|
||||
|
||||
///
|
||||
// Create a new browser window using the window parameters specified by
|
||||
// |windowInfo|. If |request_context| is NULL the global request context will be
|
||||
// used. This function can only be called on the browser process UI thread.
|
||||
// used. This function can only be called on the browser process UI thread. The
|
||||
// optional |extra_info| parameter provides an opportunity to specify extra
|
||||
// information specific to the created browser that will be passed to
|
||||
// cef_render_process_handler_t::on_browser_created() in the render process.
|
||||
///
|
||||
CEF_EXPORT cef_browser_t* cef_browser_host_create_browser_sync(
|
||||
const cef_window_info_t* windowInfo,
|
||||
struct _cef_client_t* client,
|
||||
const cef_string_t* url,
|
||||
const struct _cef_browser_settings_t* settings,
|
||||
struct _cef_dictionary_value_t* extra_info,
|
||||
struct _cef_request_context_t* request_context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=a1648c803a6d72e004e523cd4c02530702635d1e$
|
||||
// $hash=9756fec933d13ecb320b0ec8c3bd8c9fcddfef47$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_
|
||||
@@ -80,7 +80,10 @@ typedef struct _cef_life_span_handler_t {
|
||||
// modifications to |windowInfo| will be ignored if the parent browser is
|
||||
// wrapped in a cef_browser_view_t. Popup browser creation will be canceled if
|
||||
// the parent browser is destroyed before the popup browser creation completes
|
||||
// (indicated by a call to OnAfterCreated for the popup browser).
|
||||
// (indicated by a call to OnAfterCreated for the popup browser). The
|
||||
// |extra_info| parameter provides an opportunity to specify extra information
|
||||
// specific to the created popup browser that will be passed to
|
||||
// cef_render_process_handler_t::on_browser_created() in the render process.
|
||||
///
|
||||
int(CEF_CALLBACK* on_before_popup)(
|
||||
struct _cef_life_span_handler_t* self,
|
||||
@@ -94,6 +97,7 @@ typedef struct _cef_life_span_handler_t {
|
||||
struct _cef_window_info_t* windowInfo,
|
||||
struct _cef_client_t** client,
|
||||
struct _cef_browser_settings_t* settings,
|
||||
struct _cef_dictionary_value_t** extra_info,
|
||||
int* no_javascript_access);
|
||||
|
||||
///
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=63544b02e263d0aeb2f6553bf40c52bcf72d9f0b$
|
||||
// $hash=a3cf58db4b29d7395975ab8d63461b5ea8aad064$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_
|
||||
@@ -83,11 +83,16 @@ typedef struct _cef_render_process_handler_t {
|
||||
///
|
||||
// Called after a browser has been created. When browsing cross-origin a new
|
||||
// browser will be created before the old browser with the same identifier is
|
||||
// destroyed.
|
||||
// destroyed. |extra_info| is a read-only value originating from
|
||||
// cef_browser_host_t::cef_browser_host_create_browser(),
|
||||
// cef_browser_host_t::cef_browser_host_create_browser_sync(),
|
||||
// cef_life_span_handler_t::on_before_popup() or
|
||||
// cef_browser_view_t::cef_browser_view_create().
|
||||
///
|
||||
void(CEF_CALLBACK* on_browser_created)(
|
||||
struct _cef_render_process_handler_t* self,
|
||||
struct _cef_browser_t* browser);
|
||||
struct _cef_browser_t* browser,
|
||||
struct _cef_dictionary_value_t* extra_info);
|
||||
|
||||
///
|
||||
// Called before a browser is destroyed.
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=c499099d6f628e58d2eed207537817758161af5d$
|
||||
// $hash=400746f8fac7fa3dba7ee889c10ae6ca22b93fe1$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BROWSER_VIEW_CAPI_H_
|
||||
@@ -80,12 +80,16 @@ typedef struct _cef_browser_view_t {
|
||||
|
||||
///
|
||||
// Create a new BrowserView. The underlying cef_browser_t will not be created
|
||||
// until this view is added to the views hierarchy.
|
||||
// until this view is added to the views hierarchy. The optional |extra_info|
|
||||
// parameter provides an opportunity to specify extra information specific to
|
||||
// the created browser that will be passed to
|
||||
// cef_render_process_handler_t::on_browser_created() in the render process.
|
||||
///
|
||||
CEF_EXPORT cef_browser_view_t* cef_browser_view_create(
|
||||
struct _cef_client_t* client,
|
||||
const cef_string_t* url,
|
||||
const struct _cef_browser_settings_t* settings,
|
||||
struct _cef_dictionary_value_t* extra_info,
|
||||
struct _cef_request_context_t* request_context,
|
||||
struct _cef_browser_view_delegate_t* delegate);
|
||||
|
||||
|
@@ -34,7 +34,7 @@
|
||||
// implementations. See the translator.README.txt file in the tools directory
|
||||
// for more information.
|
||||
//
|
||||
// $hash=e9ff73cc80e162b173ecd1a62b0cb48f9e46de99$
|
||||
// $hash=dc61bafdca990fc0b1da9ba902dccefb8c8cf38f$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_API_HASH_H_
|
||||
@@ -47,13 +47,13 @@
|
||||
// way that may cause binary incompatibility with other builds. The universal
|
||||
// hash value will change if any platform is affected whereas the platform hash
|
||||
// values will change only if that particular platform is affected.
|
||||
#define CEF_API_HASH_UNIVERSAL "fa535acbd95d3d7a25e43b015dfea09700d7bf72"
|
||||
#define CEF_API_HASH_UNIVERSAL "45812b72803c3a0e84eccfe798fb40c945c85135"
|
||||
#if defined(OS_WIN)
|
||||
#define CEF_API_HASH_PLATFORM "a729d5a21d1f3655db514d47093abe59794f5f26"
|
||||
#define CEF_API_HASH_PLATFORM "968d2733802c68469af053b20c4e7e5abd425ee3"
|
||||
#elif defined(OS_MACOSX)
|
||||
#define CEF_API_HASH_PLATFORM "6b77f0976c19ba6b15a8a054fe35bde0ba2cf89d"
|
||||
#define CEF_API_HASH_PLATFORM "244b441b45d676649052f6da646aa0e76e227eb3"
|
||||
#elif defined(OS_LINUX)
|
||||
#define CEF_API_HASH_PLATFORM "c21503860303873c2148e3740d6c407ae6ece32b"
|
||||
#define CEF_API_HASH_PLATFORM "3aa82a71e8a2e40c7cf96eee3539b4787d18b7fd"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -286,29 +286,37 @@ class CefBrowserHost : public virtual CefBaseRefCounted {
|
||||
// |windowInfo|. All values will be copied internally and the actual window
|
||||
// will be created on the UI thread. If |request_context| is empty the
|
||||
// global request context will be used. This method can be called on any
|
||||
// browser process thread and will not block.
|
||||
// browser process thread and will not block. The optional |extra_info|
|
||||
// parameter provides an opportunity to specify extra information specific
|
||||
// to the created browser that will be passed to
|
||||
// CefRenderProcessHandler::OnBrowserCreated() in the render process.
|
||||
///
|
||||
/*--cef(optional_param=client,optional_param=url,
|
||||
optional_param=request_context)--*/
|
||||
optional_param=request_context,optional_param=extra_info)--*/
|
||||
static bool CreateBrowser(const CefWindowInfo& windowInfo,
|
||||
CefRefPtr<CefClient> client,
|
||||
const CefString& url,
|
||||
const CefBrowserSettings& settings,
|
||||
CefRefPtr<CefDictionaryValue> extra_info,
|
||||
CefRefPtr<CefRequestContext> request_context);
|
||||
|
||||
///
|
||||
// Create a new browser window using the window parameters specified by
|
||||
// |windowInfo|. If |request_context| is empty the global request context
|
||||
// will be used. This method can only be called on the browser process UI
|
||||
// thread.
|
||||
// thread. The optional |extra_info| parameter provides an opportunity to
|
||||
// specify extra information specific to the created browser that will be
|
||||
// passed to CefRenderProcessHandler::OnBrowserCreated() in the render
|
||||
// process.
|
||||
///
|
||||
/*--cef(optional_param=client,optional_param=url,
|
||||
optional_param=request_context)--*/
|
||||
optional_param=request_context,optional_param=extra_info)--*/
|
||||
static CefRefPtr<CefBrowser> CreateBrowserSync(
|
||||
const CefWindowInfo& windowInfo,
|
||||
CefRefPtr<CefClient> client,
|
||||
const CefString& url,
|
||||
const CefBrowserSettings& settings,
|
||||
CefRefPtr<CefDictionaryValue> extra_info,
|
||||
CefRefPtr<CefRequestContext> request_context);
|
||||
|
||||
///
|
||||
|
@@ -73,7 +73,10 @@ class CefLifeSpanHandler : public virtual CefBaseRefCounted {
|
||||
// |windowInfo| will be ignored if the parent browser is wrapped in a
|
||||
// CefBrowserView. Popup browser creation will be canceled if the parent
|
||||
// browser is destroyed before the popup browser creation completes (indicated
|
||||
// by a call to OnAfterCreated for the popup browser).
|
||||
// by a call to OnAfterCreated for the popup browser). The |extra_info|
|
||||
// parameter provides an opportunity to specify extra information specific
|
||||
// to the created popup browser that will be passed to
|
||||
// CefRenderProcessHandler::OnBrowserCreated() in the render process.
|
||||
///
|
||||
/*--cef(optional_param=target_url,optional_param=target_frame_name)--*/
|
||||
virtual bool OnBeforePopup(CefRefPtr<CefBrowser> browser,
|
||||
@@ -86,6 +89,7 @@ class CefLifeSpanHandler : public virtual CefBaseRefCounted {
|
||||
CefWindowInfo& windowInfo,
|
||||
CefRefPtr<CefClient>& client,
|
||||
CefBrowserSettings& settings,
|
||||
CefRefPtr<CefDictionaryValue>& extra_info,
|
||||
bool* no_javascript_access) {
|
||||
return false;
|
||||
}
|
||||
|
@@ -75,10 +75,13 @@ class CefRenderProcessHandler : public virtual CefBaseRefCounted {
|
||||
///
|
||||
// Called after a browser has been created. When browsing cross-origin a new
|
||||
// browser will be created before the old browser with the same identifier is
|
||||
// destroyed.
|
||||
// destroyed. |extra_info| is a read-only value originating from
|
||||
// CefBrowserHost::CreateBrowser(), CefBrowserHost::CreateBrowserSync(),
|
||||
// CefLifeSpanHandler::OnBeforePopup() or CefBrowserView::CreateBrowserView().
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnBrowserCreated(CefRefPtr<CefBrowser> browser) {}
|
||||
virtual void OnBrowserCreated(CefRefPtr<CefBrowser> browser,
|
||||
CefRefPtr<CefDictionaryValue> extra_info) {}
|
||||
|
||||
///
|
||||
// Called before a browser is destroyed.
|
||||
|
@@ -51,14 +51,19 @@ class CefBrowserView : public CefView {
|
||||
public:
|
||||
///
|
||||
// Create a new BrowserView. The underlying CefBrowser will not be created
|
||||
// until this view is added to the views hierarchy.
|
||||
// until this view is added to the views hierarchy. The optional |extra_info|
|
||||
// parameter provides an opportunity to specify extra information specific
|
||||
// to the created browser that will be passed to
|
||||
// CefRenderProcessHandler::OnBrowserCreated() in the render process.
|
||||
///
|
||||
/*--cef(optional_param=client,optional_param=url,
|
||||
optional_param=request_context,optional_param=delegate)--*/
|
||||
optional_param=request_context,optional_param=delegate,
|
||||
optional_param=extra_info)--*/
|
||||
static CefRefPtr<CefBrowserView> CreateBrowserView(
|
||||
CefRefPtr<CefClient> client,
|
||||
const CefString& url,
|
||||
const CefBrowserSettings& settings,
|
||||
CefRefPtr<CefDictionaryValue> extra_info,
|
||||
CefRefPtr<CefRequestContext> request_context,
|
||||
CefRefPtr<CefBrowserViewDelegate> delegate);
|
||||
|
||||
|
Reference in New Issue
Block a user