-
Erik Chen authored
The ozone implementation of clipboard integration is async. The chrome cross-platform interface is synchronous. As a result, the ozone implementation runs a nested message loop. This in turns causes a variety of crashes turn to re-entrancy. See issue 1155662. The long-term solution is to make all chrome clipboard access asynchronous. This is tracked in issues 913422 and 443355. As a short term solution, this CL takes the only source of crashes (ChromePasswordManagerClient::OnPaste) and directs it to use a synchronous crosapi method rather than the ozone clipboard. This CL also creates the helper class crosapi::ScopedAllowSyncCall to allow crosapi OWNERs to audit access to synchronous crosapi calls, rather than mojo OWNERs. Change-Id: Ie419e5102bfe67daeafbef4218cfd3444c4fee88 Bug: 1155662 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2575879Reviewed-by:
Jan Wilken Dörrie <jdoerrie@chromium.org> Reviewed-by:
Caroline Rising <corising@chromium.org> Reviewed-by:
James Cook <jamescook@chromium.org> Reviewed-by:
Ken Rockot <rockot@google.com> Commit-Queue: Erik Chen <erikchen@chromium.org> Cr-Commit-Position: refs/heads/master@{#837812}
00053fb4