browser sends response to renderer process with cef3_2623

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

browser sends response to renderer process with cef3_2623

Postby zhouyangjulia » Fri Mar 18, 2016 7:19 pm

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
zhouyangjulia
Techie
 
Posts: 20
Joined: Thu Nov 19, 2015 2:07 pm

Return to Support Forum

Who is online

Users browsing this forum: Google [Bot] and 183 guests