Writing this down so I don't forget. RenderWidget::Resize might need a synchronous resize to happen in response to window.resizeBy/resizeTo, or device emulation, etc. We would like to always allocate LocalSurfaceIds in the browser for resize. Thus, the renderer should pass a Resize request to the browser (with ResizeParams + request ID or something). The browser sends a response with a LocalSurfaceId to use.
There's a race here: the renderer can resize itself multiple times before the browser ACKs. Maybe if it gets back a stale response, then it drops it, and waits for the next response.
Comment 1 by fsam...@chromium.org
, May 10 2017