• Colin Blundell's avatar
    [Android] Smooth path for AuthenticatorNavigationInterceptor c14n · 9bd31cfc
    Colin Blundell authored
    We are shortly going to componentize the
    AuthenticatorNavigationInterceptor interface for reuse by WebLayer.
    However, this interface is used downstream: it is both implemented
    and returned by an implementation of
    AppHooks#createAuthenticatorNavigationInterceptor(). This CL paves the
    road for allowing this componentization to occur upstream without
    breaking downstream:
    
    - We introduce an identical //components-level interface.
    - We add a new method to AppHooks that returns an instance of the
      //components-level interface.
    
    Downstream we can then have the subclass implement both the //chrome-
    and //components-level interfaces, and implement the new AppHooks
    method by returning the instance of the subclass (like the
    implementation of the current AppHooks method). This will in turn
    allow us to transition upstream to talking in terms of the
    //components-level interface without breaking downstream. Finally, we
    will be able to clean up by removing the upstream interface and all
    references to it downstream, followed by removing them upstream.
    
    A happy technical note: As git does content-based similarity
    comparisons, it picks up the new file as being the same as the
    //chrome-level one (i.e. git log --follow on the new file shows the
    history of the //chrome-level one).
    
    Bug: 1031465
    Change-Id: Ifc843a550a3b96c5cbeb62cde6a3a1b140614db1
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2144172
    Commit-Queue: Colin Blundell <blundell@chromium.org>
    Reviewed-by: default avatarMichael Thiessen <mthiesse@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#758174}
    9bd31cfc
BUILD.gn 2 KB