Hi
Alexander, Chris, Daniel, Dave, John, Nasko and Haraken discussed offline. Let me summarize the discussion in this public forum:
We all agree that unguessable tokens are better than routing IDs. However, it's hard to staff engs to work on the full conversions at this point due to other high priority projects. Until we staff engs on the full conversion, we follow the rules:
1) Use unguessable tokens only when Blink talks to //content/ via Mojo. Don't proactively replace the rest of code in //content/ yet.
2) Don't expose unguessable tokens outside //content/ and Blink (e.g., //content/public/, //components/, //ui/, //net/). They should keep using routing IDs.
3) RenderFrameHostImpl::FromFrameToken() should just take the frame token and doesn't need render_process_id.
4) Unguessable tokens are expected to be used only as an IPC parameter and to reference another object within the browser process. The explicit passing of unguessable tokens as IPC parameters is expected to be rare (e.g., postMessage, printing, AX).
If you have any concerns / questions, let me know!
--
Kentaro Hara, Tokyo, Japan