Refactor net::BackoffEntry to not require subclassing
Before this patch, net::BackoffEntry had a virtual ImplGetTimeNow method
that tests etc would override to change what time is considered "now".
As suggested by rsleevi in https://codereview.chromium.org/
1023473003,
this patch removes that method, and instead makes net::BackoffEntry
accept a base::TickClock in the constructor, to allow overriding the
time without subclassing.
(this will allow future changes to net::BackoffEntry without the
fragile base class problem)
Accordingly, I've removed all subclasses of BackoffEntry, and made them
pass TickClocks instead; in most cases this has been a nice
simplification.
BUG=465399
TBR=stevenjb@chromium.org
Review URL: https://codereview.chromium.org/
1076853003
Cr-Commit-Position: refs/heads/master@{#325865}