Convert legacy IPC messages to Mojo

Issue #3123 resolved
Marshall Greenblatt created an issue

Legacy IPC messaging is deprecated in Chromium. See here (minimal overview, somewhat outdated) and here (current full documentation) for background.

Comments (5)

  1. Marshall Greenblatt reporter

    Some recent examples of converting IPC messages to Mojo are here (adding a mojom interface), here (method with buildflag) and here (method with struct and callback).

  2. Marshall Greenblatt reporter

    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().

    → <<cset ebee84755ed1>>

  3. Alex Maitland

    The |extra_info| argument to CefRenderProcessHandler::OnBrowserCreated may now be NULL.

    Any chance you could provide any additional insight on when we might expect NULL? Thanks

  4. Marshall Greenblatt reporter

    It will be NULL if NULL was passed into the source method (CreateBrowser, etc).

  5. Log in to comment