• jamescook@chromium.org's avatar
    Reland: Add ExtensionsApiClient interface, use it in the storage API SettingsFrontend · ebc7df9a
    jamescook@chromium.org authored
    app_shell needs the chrome.storage.local extension API so the core storage implementation is moving to //extensions/browser/api. However, the "managed storage" API implementation needs to remain in Chrome.
    
    * Introduce ExtensionsApiClient in extensions/browser/api
    * Introduce ChromeExtensionsApiClient in chrome/browser/extensions/api
    * Delegate out the storage ManagedValueStoreCache creation to Chrome
    * Move settings_namespace.h/cc to e/b/api/storage so we can use an enum in the client interface definition
    
    Most APIs will probably need to make only one or two client interface calls, so we're starting with a single ExtensionsApiClient interface. It we find individual APIs tend to need a lot of methods we can split it into one client interface per API, but that seems like overkill right now.
    
    Reland of https://codereview.chromium.org/180213008/ with fixes for Android GCMProfileServiceSingleProfileTest.Unregister
    
    BUG=348058
    TEST=unit_tests *Settings* and browser_tests ExtensionSettings*
    TBR=rdevlin.cronin@chromium.org, rockot@chromium.org, yoz@chromium.org
    
    Review URL: https://codereview.chromium.org/184853012
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255384 0039d316-1c4b-4281-b951-d872f2087c98
    ebc7df9a
settings_apitest.cc 22.2 KB