mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
- Clean up implementation of modal window callbacks (issue #281).
- Fix CefBrowser::GoForward documentation typo (issue #291). git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@271 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@@ -69,6 +69,15 @@ CEF_EXPORT cef_browser_t* cef_browser_create_sync(cef_window_info_t* windowInfo,
|
||||
|
||||
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||
|
||||
void CEF_CALLBACK browser_parent_window_will_close(struct _cef_browser_t* self)
|
||||
{
|
||||
DCHECK(self);
|
||||
if (!self)
|
||||
return;
|
||||
|
||||
CefBrowserCppToC::Get(self)->ParentWindowWillClose();
|
||||
}
|
||||
|
||||
void CEF_CALLBACK browser_close_browser(struct _cef_browser_t* self)
|
||||
{
|
||||
DCHECK(self);
|
||||
@@ -450,6 +459,7 @@ void CEF_CALLBACK browser_send_capture_lost_event(struct _cef_browser_t* self)
|
||||
CefBrowserCppToC::CefBrowserCppToC(CefBrowser* cls)
|
||||
: CefCppToC<CefBrowserCppToC, CefBrowser, cef_browser_t>(cls)
|
||||
{
|
||||
struct_.struct_.parent_window_will_close = browser_parent_window_will_close;
|
||||
struct_.struct_.close_browser = browser_close_browser;
|
||||
struct_.struct_.can_go_back = browser_can_go_back;
|
||||
struct_.struct_.go_back = browser_go_back;
|
||||
|
@@ -85,18 +85,6 @@ void CEF_CALLBACK life_span_handler_on_after_created(
|
||||
CefBrowserCToCpp::Wrap(browser));
|
||||
}
|
||||
|
||||
void CEF_CALLBACK life_span_handler_on_before_close(
|
||||
struct _cef_life_span_handler_t* self, cef_browser_t* browser)
|
||||
{
|
||||
DCHECK(self);
|
||||
DCHECK(browser);
|
||||
if (!self || !browser)
|
||||
return;
|
||||
|
||||
CefLifeSpanHandlerCppToC::Get(self)->OnBeforeClose(
|
||||
CefBrowserCToCpp::Wrap(browser));
|
||||
}
|
||||
|
||||
int CEF_CALLBACK life_span_handler_run_modal(
|
||||
struct _cef_life_span_handler_t* self, cef_browser_t* browser)
|
||||
{
|
||||
@@ -109,7 +97,19 @@ int CEF_CALLBACK life_span_handler_run_modal(
|
||||
CefBrowserCToCpp::Wrap(browser));
|
||||
}
|
||||
|
||||
void CEF_CALLBACK life_span_handler_quit_modal(
|
||||
int CEF_CALLBACK life_span_handler_do_close(
|
||||
struct _cef_life_span_handler_t* self, cef_browser_t* browser)
|
||||
{
|
||||
DCHECK(self);
|
||||
DCHECK(browser);
|
||||
if (!self || !browser)
|
||||
return 0;
|
||||
|
||||
return CefLifeSpanHandlerCppToC::Get(self)->DoClose(
|
||||
CefBrowserCToCpp::Wrap(browser));
|
||||
}
|
||||
|
||||
void CEF_CALLBACK life_span_handler_on_before_close(
|
||||
struct _cef_life_span_handler_t* self, cef_browser_t* browser)
|
||||
{
|
||||
DCHECK(self);
|
||||
@@ -117,7 +117,7 @@ void CEF_CALLBACK life_span_handler_quit_modal(
|
||||
if (!self || !browser)
|
||||
return;
|
||||
|
||||
CefLifeSpanHandlerCppToC::Get(self)->QuitModal(
|
||||
CefLifeSpanHandlerCppToC::Get(self)->OnBeforeClose(
|
||||
CefBrowserCToCpp::Wrap(browser));
|
||||
}
|
||||
|
||||
@@ -130,9 +130,9 @@ CefLifeSpanHandlerCppToC::CefLifeSpanHandlerCppToC(CefLifeSpanHandler* cls)
|
||||
{
|
||||
struct_.struct_.on_before_popup = life_span_handler_on_before_popup;
|
||||
struct_.struct_.on_after_created = life_span_handler_on_after_created;
|
||||
struct_.struct_.on_before_close = life_span_handler_on_before_close;
|
||||
struct_.struct_.run_modal = life_span_handler_run_modal;
|
||||
struct_.struct_.quit_modal = life_span_handler_quit_modal;
|
||||
struct_.struct_.do_close = life_span_handler_do_close;
|
||||
struct_.struct_.on_before_close = life_span_handler_on_before_close;
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
|
@@ -40,6 +40,14 @@ CefRefPtr<CefBrowser> CefBrowser::CreateBrowserSync(CefWindowInfo& windowInfo,
|
||||
|
||||
// VIRTUAL METHODS - Body may be edited by hand.
|
||||
|
||||
void CefBrowserCToCpp::ParentWindowWillClose()
|
||||
{
|
||||
if (CEF_MEMBER_MISSING(struct_, parent_window_will_close))
|
||||
return;
|
||||
|
||||
struct_->parent_window_will_close(struct_);
|
||||
}
|
||||
|
||||
void CefBrowserCToCpp::CloseBrowser()
|
||||
{
|
||||
if(CEF_MEMBER_MISSING(struct_, close_browser))
|
||||
|
@@ -31,6 +31,7 @@ public:
|
||||
virtual ~CefBrowserCToCpp() {}
|
||||
|
||||
// CefBrowser methods
|
||||
virtual void ParentWindowWillClose() OVERRIDE;
|
||||
virtual void CloseBrowser() OVERRIDE;
|
||||
virtual bool CanGoBack() OVERRIDE;
|
||||
virtual void GoBack() OVERRIDE;
|
||||
|
@@ -55,14 +55,6 @@ void CefLifeSpanHandlerCToCpp::OnAfterCreated(CefRefPtr<CefBrowser> browser)
|
||||
struct_->on_after_created(struct_, CefBrowserCppToC::Wrap(browser));
|
||||
}
|
||||
|
||||
void CefLifeSpanHandlerCToCpp::OnBeforeClose(CefRefPtr<CefBrowser> browser)
|
||||
{
|
||||
if (CEF_MEMBER_MISSING(struct_, on_before_close))
|
||||
return;
|
||||
|
||||
struct_->on_before_close(struct_, CefBrowserCppToC::Wrap(browser));
|
||||
}
|
||||
|
||||
bool CefLifeSpanHandlerCToCpp::RunModal(CefRefPtr<CefBrowser> browser)
|
||||
{
|
||||
if (CEF_MEMBER_MISSING(struct_, run_modal))
|
||||
@@ -73,12 +65,22 @@ bool CefLifeSpanHandlerCToCpp::RunModal(CefRefPtr<CefBrowser> browser)
|
||||
return (rv ? true : false);
|
||||
}
|
||||
|
||||
void CefLifeSpanHandlerCToCpp::QuitModal(CefRefPtr<CefBrowser> browser)
|
||||
bool CefLifeSpanHandlerCToCpp::DoClose(CefRefPtr<CefBrowser> browser)
|
||||
{
|
||||
if (CEF_MEMBER_MISSING(struct_, quit_modal))
|
||||
if (CEF_MEMBER_MISSING(struct_, do_close))
|
||||
return false;
|
||||
|
||||
int rv = struct_->do_close(struct_, CefBrowserCppToC::Wrap(browser));
|
||||
|
||||
return (rv ? true : false);
|
||||
}
|
||||
|
||||
void CefLifeSpanHandlerCToCpp::OnBeforeClose(CefRefPtr<CefBrowser> browser)
|
||||
{
|
||||
if (CEF_MEMBER_MISSING(struct_, on_before_close))
|
||||
return;
|
||||
|
||||
struct_->quit_modal(struct_, CefBrowserCppToC::Wrap(browser));
|
||||
struct_->on_before_close(struct_, CefBrowserCppToC::Wrap(browser));
|
||||
}
|
||||
|
||||
|
||||
|
@@ -38,9 +38,9 @@ public:
|
||||
const CefString& url, CefRefPtr<CefClient>& client,
|
||||
CefBrowserSettings& settings) OVERRIDE;
|
||||
virtual void OnAfterCreated(CefRefPtr<CefBrowser> browser) OVERRIDE;
|
||||
virtual void OnBeforeClose(CefRefPtr<CefBrowser> browser) OVERRIDE;
|
||||
virtual bool RunModal(CefRefPtr<CefBrowser> browser) OVERRIDE;
|
||||
virtual void QuitModal(CefRefPtr<CefBrowser> browser) OVERRIDE;
|
||||
virtual bool DoClose(CefRefPtr<CefBrowser> browser) OVERRIDE;
|
||||
virtual void OnBeforeClose(CefRefPtr<CefBrowser> browser) OVERRIDE;
|
||||
};
|
||||
|
||||
#endif // BUILDING_CEF_SHARED
|
||||
|
Reference in New Issue
Block a user