diff --git a/tests/cefclient/client_handler.cpp b/tests/cefclient/client_handler.cpp index 15a56aa53..11c1bf591 100644 --- a/tests/cefclient/client_handler.cpp +++ b/tests/cefclient/client_handler.cpp @@ -98,16 +98,6 @@ ClientHandler::ClientHandler() m_StopHwnd(NULL), m_ReloadHwnd(NULL), 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. CefRefPtr command_line = CefCommandLine::GetGlobalCommandLine(); @@ -308,6 +298,18 @@ bool ClientHandler::OnBeforePopup(CefRefPtr browser, void ClientHandler::OnAfterCreated(CefRefPtr browser) { 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. if (m_bMouseCursorChangeDisabled) browser->GetHost()->SetMouseCursorChangeDisabled(true);