Convert legacy IPC messages to Mojo (fixes issue #3123)

This change introduces a few minor CEF API behavior changes:

- A CefProcessMessage object cannot be reused after being passed to
  SendProcessMessage.
- The |extra_info| argument to CefRenderProcessHandler::OnBrowserCreated may
  now be NULL.

Where appropriate, we now utilize the default UTF string encoding format and
shared memory to reduce copies and conversions for the cross-process
transfer of arbitrary-length strings. For example, CefFrame::GetSource/GetText
now involves zero UTF conversions and zero copies in the browser process for
the CefString delivered to CefStringVisitor::Visit().
This commit is contained in:
Marshall Greenblatt
2021-05-14 12:58:55 -04:00
parent 4f0b7b4511
commit ebee84755e
82 changed files with 1615 additions and 2386 deletions

View File

@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=4fc8972b57ed97feef5f00dcfa77e32b8d63cb9a$
// $hash=a668847c77e8d15cab3c8e2db9ef68b3f43882c8$
//
#include "libcef_dll/cpptoc/render_process_handler_cpptoc.h"
@ -52,10 +52,7 @@ void CEF_CALLBACK render_process_handler_on_browser_created(
DCHECK(browser);
if (!browser)
return;
// Verify param: extra_info; type: refptr_diff
DCHECK(extra_info);
if (!extra_info)
return;
// Unverified params: extra_info
// Execute
CefRenderProcessHandlerCppToC::Get(self)->OnBrowserCreated(