• Robert Woods's avatar
    WebApps: Serialize apps::FileHandlers when converting to Bookmark App. · a8007e4f
    Robert Woods authored
    This CL is related to two ongoing projects: the implementation of file
    handling APIs for PWAs in Chrome (go/chrome-file-handling-api), and
    BMO (go/chrome-bmo), which is concerned with moving PWAs off the
    Extensions stack and establish them on an independent web apps
    platform.
    
    As part of the first project, we created a new representation for file
    handlers (apps::FileHandler) that has some properties needed for OS
    integration. Pre-BMO PWAs ("Bookmark Apps") use apps::FileHandlerInfo.
    It's simple to convert from FileHandler to FileHandlerInfo, but
    impossible to do the reverse. This means that if file handling lands
    before BMO, migrating installed PWAs to the new system will be a
    destructive operation.
    
    The goal for the set of CLs to which this one belongs is to have BMO
    web apps and Bookmark Apps share the apps::FileHandler representation.
    We have added a new "web_app_file_handlers" key to the Extension
    manifest, along with parsing for the new format (crrev.com/c/2081714).
    Here we serialize the apps::FileHandlers attached to a web app (under
    the new key) when installing it as a Bookmark App. In subsequent CLs,
    we replace apps::FileHandlerInfo with apps::FileHandler across both
    Bookmark Apps and BMO web apps (crrev.com/c/2087306), and finally
    implement migrating Bookmark App file handlers to the new platform as
    a simple copy (crrev.com/c/2086453).
    
    Bug: 938103
    Change-Id: Iec258386be92ae36b8016a21119ee324a955e5d7
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2087327Reviewed-by: default avatarIstiaque Ahmed <lazyboy@chromium.org>
    Reviewed-by: default avatarAlexey Baskakov <loyso@chromium.org>
    Commit-Queue: Robert Woods <robertwoods@google.com>
    Cr-Commit-Position: refs/heads/master@{#750367}
    a8007e4f
convert_web_app_unittest.cc 20.7 KB