mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-23 23:47:43 +01:00
Merge revision 1263 changes:
- Add CefJSDialogHandler::OnDialogClosed callback (issue #943). git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/1453@1264 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
parent
d1c73f3a91
commit
a168addc0b
@ -116,6 +116,12 @@ typedef struct _cef_jsdialog_handler_t {
|
|||||||
///
|
///
|
||||||
void (CEF_CALLBACK *on_reset_dialog_state)(
|
void (CEF_CALLBACK *on_reset_dialog_state)(
|
||||||
struct _cef_jsdialog_handler_t* self, struct _cef_browser_t* browser);
|
struct _cef_jsdialog_handler_t* self, struct _cef_browser_t* browser);
|
||||||
|
|
||||||
|
///
|
||||||
|
// Called when the default implementation dialog is closed.
|
||||||
|
///
|
||||||
|
void (CEF_CALLBACK *on_dialog_closed)(struct _cef_jsdialog_handler_t* self,
|
||||||
|
struct _cef_browser_t* browser);
|
||||||
} cef_jsdialog_handler_t;
|
} cef_jsdialog_handler_t;
|
||||||
|
|
||||||
|
|
||||||
|
@ -117,6 +117,12 @@ class CefJSDialogHandler : public virtual CefBase {
|
|||||||
///
|
///
|
||||||
/*--cef()--*/
|
/*--cef()--*/
|
||||||
virtual void OnResetDialogState(CefRefPtr<CefBrowser> browser) {}
|
virtual void OnResetDialogState(CefRefPtr<CefBrowser> browser) {}
|
||||||
|
|
||||||
|
///
|
||||||
|
// Called when the default implementation dialog is closed.
|
||||||
|
///
|
||||||
|
/*--cef()--*/
|
||||||
|
virtual void OnDialogClosed(CefRefPtr<CefBrowser> browser) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CEF_INCLUDE_CEF_JSDIALOG_HANDLER_H_
|
#endif // CEF_INCLUDE_CEF_JSDIALOG_HANDLER_H_
|
||||||
|
@ -209,5 +209,11 @@ void CefJavaScriptDialogManager::DialogClosed(CefJavaScriptDialog* dialog) {
|
|||||||
#if defined(OS_MACOSX) || defined(OS_WIN) || defined(TOOLKIT_GTK)
|
#if defined(OS_MACOSX) || defined(OS_WIN) || defined(TOOLKIT_GTK)
|
||||||
DCHECK_EQ(dialog, dialog_.get());
|
DCHECK_EQ(dialog, dialog_.get());
|
||||||
dialog_.reset();
|
dialog_.reset();
|
||||||
|
CefRefPtr<CefClient> client = browser_->GetClient();
|
||||||
|
if (client.get()) {
|
||||||
|
CefRefPtr<CefJSDialogHandler> handler = client->GetJSDialogHandler();
|
||||||
|
if (handler.get())
|
||||||
|
handler->OnDialogClosed(browser_);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -116,6 +116,23 @@ void CEF_CALLBACK jsdialog_handler_on_reset_dialog_state(
|
|||||||
CefBrowserCToCpp::Wrap(browser));
|
CefBrowserCToCpp::Wrap(browser));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CEF_CALLBACK jsdialog_handler_on_dialog_closed(
|
||||||
|
struct _cef_jsdialog_handler_t* self, cef_browser_t* browser) {
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
DCHECK(self);
|
||||||
|
if (!self)
|
||||||
|
return;
|
||||||
|
// Verify param: browser; type: refptr_diff
|
||||||
|
DCHECK(browser);
|
||||||
|
if (!browser)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
CefJSDialogHandlerCppToC::Get(self)->OnDialogClosed(
|
||||||
|
CefBrowserCToCpp::Wrap(browser));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// CONSTRUCTOR - Do not edit by hand.
|
// CONSTRUCTOR - Do not edit by hand.
|
||||||
|
|
||||||
@ -127,6 +144,7 @@ CefJSDialogHandlerCppToC::CefJSDialogHandlerCppToC(CefJSDialogHandler* cls)
|
|||||||
jsdialog_handler_on_before_unload_dialog;
|
jsdialog_handler_on_before_unload_dialog;
|
||||||
struct_.struct_.on_reset_dialog_state =
|
struct_.struct_.on_reset_dialog_state =
|
||||||
jsdialog_handler_on_reset_dialog_state;
|
jsdialog_handler_on_reset_dialog_state;
|
||||||
|
struct_.struct_.on_dialog_closed = jsdialog_handler_on_dialog_closed;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
|
@ -108,6 +108,22 @@ void CefJSDialogHandlerCToCpp::OnResetDialogState(
|
|||||||
CefBrowserCppToC::Wrap(browser));
|
CefBrowserCppToC::Wrap(browser));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CefJSDialogHandlerCToCpp::OnDialogClosed(CefRefPtr<CefBrowser> browser) {
|
||||||
|
if (CEF_MEMBER_MISSING(struct_, on_dialog_closed))
|
||||||
|
return;
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Verify param: browser; type: refptr_diff
|
||||||
|
DCHECK(browser.get());
|
||||||
|
if (!browser.get())
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
struct_->on_dialog_closed(struct_,
|
||||||
|
CefBrowserCppToC::Wrap(browser));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
template<> long CefCToCpp<CefJSDialogHandlerCToCpp, CefJSDialogHandler,
|
template<> long CefCToCpp<CefJSDialogHandlerCToCpp, CefJSDialogHandler,
|
||||||
|
@ -44,6 +44,7 @@ class CefJSDialogHandlerCToCpp
|
|||||||
const CefString& message_text, bool is_reload,
|
const CefString& message_text, bool is_reload,
|
||||||
CefRefPtr<CefJSDialogCallback> callback) OVERRIDE;
|
CefRefPtr<CefJSDialogCallback> callback) OVERRIDE;
|
||||||
virtual void OnResetDialogState(CefRefPtr<CefBrowser> browser) OVERRIDE;
|
virtual void OnResetDialogState(CefRefPtr<CefBrowser> browser) OVERRIDE;
|
||||||
|
virtual void OnDialogClosed(CefRefPtr<CefBrowser> browser) OVERRIDE;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // BUILDING_CEF_SHARED
|
#endif // BUILDING_CEF_SHARED
|
||||||
|
Loading…
x
Reference in New Issue
Block a user