PageLoadTiming fixes in prep for using base::Optional
We use PageLoadTiming with gmock in a few places. gmock sometimes passes
objects to functions by value. In these cases, if PageLoadTiming contains
base::Optional members, the code fails to compile on windows due to as
issue with Optional's use of aligned memory.
This changes updates our use of PageLoadTiming with gmock to no longer
use aspects of gmock that pass PageLoadTiming by value.
This factors common code into a new FakePageTimingMetricsIPCSender class,
which provides the functionality we had been using gmock for.
See
https://groups.google.com/forum/#!topic/googletestframework/W-Hud3j_c6I
for additional details on why gmock is not compatible with Optional.
BUG=
623556
Committed:
https://crrev.com/4a92b31b73ae1410660625e7b833dde4556217ca
Cr-Commit-Position: refs/heads/master@{#403266}