• Colin Blundell's avatar
    [WebLayer] Add BrowserProcess object · 5c4f812b
    Colin Blundell authored
    For the upcoming integration of the bad clock interstitial in WebLayer,
    we will need to have a NetworkTimeTracker instance. In //chrome, that
    object is owned by and accessible via the BrowserProcess global.
    
    This CL adds a BrowserProcess object to //weblayer and populates it
    with a NetworkTimeTracker instance and its dependencies, local state
    and the system-level URLLoaderFactory. Both of the latter will shortly
    be needed for metrics as well (and presumably for other use cases in
    the fullness of time). The architecture of BrowserProcess is adapted
    from that in //chrome.
    
    system_network_context_manager.* was originally written by
    alexclarke@chromium.org; it is an adaptation of //chromecast's
    cast_network_contexts.*.
    
    Finally, we note that the implementation of the PrefService in this CL
    is deliberately as simple as possible for the initial purpose of the
    bad clock interstitial. This can be extended as other use cases find
    necessary, including the introduction of a FeatureListCreator if that
    proves to be useful.
    
    Bug: 1025059
    Change-Id: I54f90551343b34e813fc5e6c97f0421926a30b43
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1985761Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
    Reviewed-by: default avatarAlex Clarke <alexclarke@chromium.org>
    Commit-Queue: Colin Blundell <blundell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#730086}
    5c4f812b
BUILD.gn 12.1 KB