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