The reasons are:
1) decrease risk of features (which don't have tests) breaking in canary experiment.
2) allow us to remove the old methods
One thing I've found by looking at some unit tests is that some of them use test harnesses which don't really reflect how things happen in practice. As such, they might fire only the old callbacks or the new ones, depending on the PlzNavigate mode. It looks difficult to change the test harnesses, so I'm focusing on having both code paths in these few tests and then we can delete the old methods when switching over. That way there's no extra work when we want to switch the code to PlzNavigate. If these tests are the only remaining users of the deprecated methods, we can use hacks like private methods and friend statements to ensure no more creep in.
Comment 1 by jam@chromium.org
, Jan 18 2017