mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
cefclient: Move router initialization to the UI thread to be compatible with multi-threaded-message-loop.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1609 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@ -98,16 +98,6 @@ ClientHandler::ClientHandler()
|
|||||||
m_StopHwnd(NULL),
|
m_StopHwnd(NULL),
|
||||||
m_ReloadHwnd(NULL),
|
m_ReloadHwnd(NULL),
|
||||||
m_bFocusOnEditableField(false) {
|
m_bFocusOnEditableField(false) {
|
||||||
// Create the browser-side router for query handling.
|
|
||||||
CefMessageRouterConfig config;
|
|
||||||
message_router_ = CefMessageRouterBrowserSide::Create(config);
|
|
||||||
|
|
||||||
// Register handlers with the router.
|
|
||||||
CreateMessageHandlers(message_handler_set_);
|
|
||||||
MessageHandlerSet::const_iterator it = message_handler_set_.begin();
|
|
||||||
for (; it != message_handler_set_.end(); ++it)
|
|
||||||
message_router_->AddHandler(*(it), false);
|
|
||||||
|
|
||||||
// Read command line settings.
|
// Read command line settings.
|
||||||
CefRefPtr<CefCommandLine> command_line =
|
CefRefPtr<CefCommandLine> command_line =
|
||||||
CefCommandLine::GetGlobalCommandLine();
|
CefCommandLine::GetGlobalCommandLine();
|
||||||
@ -308,6 +298,18 @@ bool ClientHandler::OnBeforePopup(CefRefPtr<CefBrowser> browser,
|
|||||||
void ClientHandler::OnAfterCreated(CefRefPtr<CefBrowser> browser) {
|
void ClientHandler::OnAfterCreated(CefRefPtr<CefBrowser> browser) {
|
||||||
REQUIRE_UI_THREAD();
|
REQUIRE_UI_THREAD();
|
||||||
|
|
||||||
|
if (!message_router_) {
|
||||||
|
// Create the browser-side router for query handling.
|
||||||
|
CefMessageRouterConfig config;
|
||||||
|
message_router_ = CefMessageRouterBrowserSide::Create(config);
|
||||||
|
|
||||||
|
// Register handlers with the router.
|
||||||
|
CreateMessageHandlers(message_handler_set_);
|
||||||
|
MessageHandlerSet::const_iterator it = message_handler_set_.begin();
|
||||||
|
for (; it != message_handler_set_.end(); ++it)
|
||||||
|
message_router_->AddHandler(*(it), false);
|
||||||
|
}
|
||||||
|
|
||||||
// Disable mouse cursor change if requested via the command-line flag.
|
// Disable mouse cursor change if requested via the command-line flag.
|
||||||
if (m_bMouseCursorChangeDisabled)
|
if (m_bMouseCursorChangeDisabled)
|
||||||
browser->GetHost()->SetMouseCursorChangeDisabled(true);
|
browser->GetHost()->SetMouseCursorChangeDisabled(true);
|
||||||
|
Reference in New Issue
Block a user