• jamescook@chromium.org's avatar
    Refactor code that defers extension background page loading · 2db9e7b6
    jamescook@chromium.org authored
    src/extensions depends on chrome::NOTIFICATION_PROFILE_CREATED to support deferred loading of extension background pages when the profile isn't ready yet. This is a layering violation.
    
    * Remove Chrome concepts like "browser window ready" and "profile created" from ProcessManager. Introduce ProcessManagerDelegate with a general concept of deferring background page loading.
    * Consolidate all the tricky Chrome-specific background page loading rules into ChromeProcessManagerDelegate. This keeps all the rules in one place. Annotate each block of special case code with the bug that inspired it.
    * Extend unit test coverage for ProcessManager.
    
    This will make it easier to eliminate chrome::NOTIFICATION_PROFILE_DESTROYED in ProcessManager in a later CL.
    
    BUG=392658
    TEST=unit_tests ProcessManagerTest, browser_tests ProcessManagerBrowserTest, manual
    
    Review URL: https://codereview.chromium.org/381283002
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283678 0039d316-1c4b-4281-b951-d872f2087c98
    2db9e7b6
test_extensions_browser_client.cc 4.83 KB