Hi Rakina,
I think so. We introduced it because we had issues where we matched the wrong NavigationRequest to the commit that happened. This was prior to introducing the NavigationClient mojo interface which prevents such race conditions in a much more robust manner. So point 2 should already have been taken care of, at that point it's just a question of properly handling browser initiated same-document navigation. They could go through a per NavigationRequest Mojo interface like cross-document ones. We didn't do it at the time because that would mean two different Commit IPCs for same-document navigations: one on NavigationClient for browser-initiated navigation and one on FrameHost for renderer-initiated ones. However that might be the better option for correctness here.
TLDR: you can probably get rid of it right away for anything that isn't a same-document navigation. For same-document browser-intiated navigations you might want to have them commit through the NavigationClient interface instead of using Frame and FrameHost. Then you can probably delete the token.