• Alexander Cooper's avatar
    Move XrInstallHelper interface/factory to content/ · c8448702
    Alexander Cooper authored
    Moves the existing XrInstallHelper interface to content/public/browser
    and creates an XrIntegrationClient interface. This allows embedders to
    provide any factory methods for XR that may end up being required.
    Currently this is expected to be GetXrInstallHelper and GetVrUiHost.
    
    A mojom interface method was considered, but ultimately not feasible as
    most of the installation steps actually still need to stay in the
    browser process and some steps are also chrome specific. This code needs
    to remain in the browser process because the install kicks off an intent
    to the Play Store, which needs to be notified of the Resume event, and
    in chrome as some of the installation paths (mainly for ARCore) show
    custom UI. In addition to intenting out to the play store, VR also needs
    to ensure that the appropriate DFM is installed, which is specific to
    chrome.
    
    Note that for AR, if an embedder were to require ARCore in their app
    manifest, the current installation steps would mostly be a no-op, though
    it is still recommended to check the ARCore install status.
    
    This is one of the refactors that needs to happen before VRServiceImpl
    can be moved into content.
    
    Bug: 1031622
    Change-Id: I730ec082422a92f47b5b8abe0cebe5dd9bb68c12
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2095957
    Commit-Queue: Alexander Cooper <alcooper@chromium.org>
    Reviewed-by: default avatarKlaus Weidner <klausw@chromium.org>
    Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#750376}
    c8448702
content_browser_client.h 81.7 KB