Hi,
I am upgrading CEF from 2454 to 2623. I noticed there are some changes in the cef3_2623 as well as chromium 49, which prevents me adding our existing patches for adding custom extra info to the response from browser to renderer. Need some help here.
We used to add a "base::ListValue extra_info" to the IPC structure of CefProcessHostMsg_GetNewBrowserInfo_Params.When browser is created, CefContentRendererClient::BrowserCreated() sends IPC message from renderer to browser. For browser side after it add browser information to CefProcessHostMsg_GetNewBrowserInfo, it would send sync IPC message back to renderer.
With Cef3_2623 and chromium 49, base::ListValue is non-copyable now, and IPC Message Handle method for CefProcessHostMsg_GetNewBrowserInfo change from IPC_MESSAGE_HANDLER to IPC_MESSAGE_HANDLER_DELAY_REPLY. Now from browser, it need to copy the parameter to reply IPC message:
CefProcessHostMsg_GetNewBrowserInfo_Params params;
...
CefProcessHostMsg_GetNewBrowserInfo::WriteReplyParams(reply_msg, params);
host->Send(reply_msg);
but with our patches:
IPC_STRUCT_BEGIN(CefProcessHostMsg_GetNewBrowserInfo_Params)
IPC_STRUCT_MEMBER(int, browser_id)
IPC_STRUCT_MEMBER(bool, is_popup)
IPC_STRUCT_MEMBER(bool, is_windowless)
+IPC_STRUCT_MEMBER(base::ListValue, extra_info)
IPC_STRUCT_MEMBER(bool, is_guest_view)
IPC_STRUCT_END()
We are not able to copy the parameter to reply_msg, since base::ListValue is non-copyable now.
Could you help with the new version of cef3_2623, so we can continue adding our custom extra_info into the response from browser to renderer? Is there any workaround for this problem?
Thanks,
Yang Zhou