Add Offline Page Observer to Optimize Triggering of Offline Previews

This CL adds a simple dictionary pref that keeps track of the available
offline pages to help reduce the number of false positives when
triggering offline previews.

This logic is behind a feature flag.

What's missing:
* Logic to bootstrap the pref with all available pages
* Offline previews triggering on redirect
* Browser test

Bug: 914577
Change-Id: I3f5f449a4dc49090a4b5e390a99f149ba8f6d1ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1553102
Commit-Queue: Robert Ogden <robertogden@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#653172}
11 files changed