Currently, we track if a preview was eligible or a preview was triggered in a multitude of ways, and we repeat certain bits of logic in vastly different parts of the code. Ideally, we would be able to look up and store key information about a page load and navigation throughout the course of the page load.
This could be tracked in main frame URLRequest's user data and copied to ChromeNavigationData to be tracked in a web contents observer. We would treat the user data as static and finalized after the main frame headers are received and the navigation preview types are determined.
Additionally, each navigation should have an identifier that can be used to track various events about the navigation and consolidate them on chrome://interventions-internals.
Comment 1 by bugdroid1@chromium.org
, Nov 11 2017