• Ken Rockot's avatar
    [ash] app_list answer cards => Content Service · 68c021ec
    Ken Rockot authored
    Changes the app_list UI to use Content Service client library to display
    answer card web contents, rather than using some one-off IPCs to drive
    remote WebContents behavior with a special WebContentsDelegate/Observer
    in chrome/browser code. This allows quite a bit of code to be deleted
    from src/chrome while retaining all the existing functionality of answer
    cards in the app_list search UI.
    
    Prior to this change, AnswerCardSearchProvider would query the potential
    card URL (i.e. google.com/coac?q=whatever) and only send a corresponding
    search result back to Ash if the response was a valid card response.
    Instead, now all queries are treated as potentially valid search results,
    and AnswerCardSearchProvider is little more than a translator which turns
    a search query string into a useful answer card query URL.
    
    Ash-side code then navigates its own NavigableContents to any potential
    card URL it receives, inspecting response headers to determine whether
    or not the contents are actually a card. If they are, it displays them
    in the UI.
    
    The key results of this CL are:
    
    * Most relevant app_list answer card support logic lives in Ash now. A
    future change could probably move the rest of it, but that requires a
    more fundamental reconsideration of the browser's role (or non-role) in
    supporting app_list search behavior.
    
    * All of the Ash/Chrome code to support answer cards in the app_list
    UI is unified for in- and out-of-process Ash cases.
    
    * We have a working Content Service client being used in production
    Chrome OS code, which establishes precedent for improving several other
    features that embed WebContents within Chrome OS system UI.
    
    Bug: 854367
    Change-Id: Id913460d7a4bd4558d385b9b3f9b52845aa0f0e7
    Reviewed-on: https://chromium-review.googlesource.com/c/1269622
    Commit-Queue: Ken Rockot <rockot@google.com>
    Reviewed-by: default avatarEric Roman <eroman@chromium.org>
    Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
    Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
    Reviewed-by: default avatarMichael Wasserman <msw@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#605166}
    68c021ec
DEPS 139 Bytes