summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/chrome_notification_observer.cc
Commit message (Collapse)AuthorAgeFilesLines
* Reland: Refactor code that defers extension background page loadingjamescook@chromium.org2014-07-221-43/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. (Original CL https://codereview.chromium.org/381283002 broke valgrind bots because it was initializing left-over BrowserContextKeyedServices from tests running earlier in the same process.) BUG=392658 TEST=unit_tests ProcessManagerTest, browser_tests ProcessManagerBrowserTest, manual Review URL: https://codereview.chromium.org/408523005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284593 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 283678 "Refactor code that defers extension background pa..."jamescook@chromium.org2014-07-171-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | This broke Chrome OS valgrind bots, for example: http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%284%29/builds/27033 > Refactor code that defers extension background page loading > > 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 TBR=jamescook@chromium.org Review URL: https://codereview.chromium.org/399153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283801 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code that defers extension background page loadingjamescook@chromium.org2014-07-171-43/+0
| | | | | | | | | | | | | | | | | 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
* Toro: Remove chrome feature channel dep from //extensionsjamescook@chromium.org2014-04-111-2/+23
| | | | | | | | | | | | | The existence of stable/beta/dev channel is a Chrome concept. Eliminate the reference to feature_channel.h in //extensions by observing for renderer startup and sending the channel to the renderer in //chrome. This is also one of our last //extensions -> //chrome circular dependencies. BUG=362244 TEST=browser_tests *Extensions* Review URL: https://codereview.chromium.org/234183002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263314 0039d316-1c4b-4281-b951-d872f2087c98
* Split ExtensionSystem interface from ExtensionSystemImpl implementation, part 1.yoz@chromium.org2014-01-301-1/+1
| | | | | | | | | | | | | This moves ExtensionSystem to extensions/browser. It also moves setting the channel for Features to ChromeExtensionsBrowserClient. It also removes the duplicate ExtensionSystem::GetForBrowserContext. BUG=337707 TBR=sky@chromium.org Review URL: https://codereview.chromium.org/147923005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247788 0039d316-1c4b-4281-b951-d872f2087c98
* Reland: Move ExtensionProcessManager to src/extensions, part 4jamescook@chromium.org2013-11-101-4/+4
| | | | | | | | | | | | | | | | | Reland of https://codereview.chromium.org/62713003/ - the original patch broke the Google Chrome OS official builder due to a missing dependency on the extensions api target in extensions/extensions.gyp. * Move c/b/extensions/extension_process_manager.h to extensions/browser/process_manager.h * Rename ExtensionsProcessManager to ProcessManager * Place it in the "extensions" namespace BUG=313481 TEST=browser_tests, unit_tests TBR=miket@chromium.org Review URL: https://codereview.chromium.org/67253003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234149 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 233956 "Move ExtensionProcessManager to src/extensions, p..."rockot@google.com2013-11-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Compile error, runtime.h has moved? > Move ExtensionProcessManager to src/extensions, part 4 > > * Move c/b/extensions/extension_process_manager.h to > extensions/browser/process_manager.h > * Rename ExtensionsProcessManager to ProcessManager > * Place it in the "extensions" namespace > > BUG=313481 > TEST=browser_tests, unit_tests > R=miket@chromium.org > TBR=sky@chromium.org for mechanical header file move affecting chrome/browser/ > > Review URL: https://codereview.chromium.org/62713003 TBR=jamescook@chromium.org Review URL: https://codereview.chromium.org/66213006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233959 0039d316-1c4b-4281-b951-d872f2087c98
* Move ExtensionProcessManager to src/extensions, part 4jamescook@chromium.org2013-11-081-4/+4
| | | | | | | | | | | | | | | | * Move c/b/extensions/extension_process_manager.h to extensions/browser/process_manager.h * Rename ExtensionsProcessManager to ProcessManager * Place it in the "extensions" namespace BUG=313481 TEST=browser_tests, unit_tests R=miket@chromium.org TBR=sky@chromium.org for mechanical header file move affecting chrome/browser/ Review URL: https://codereview.chromium.org/62713003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233956 0039d316-1c4b-4281-b951-d872f2087c98
* Move ExtensionsProcessManager to src/extensions, part 2jamescook@chromium.org2013-11-051-0/+68
* Move observation of NOTIFICATION_BROWSER_WINDOW_READY to Chrome * Remove remaining references to Profile * Tidy up ChromeTestSuiteInitializer BUG=313481 TEST=unit_tests and browser_tests ExtensionProcessManager* R=sky@chromium.org, yoz@chromium.org Review URL: https://codereview.chromium.org/56253002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233011 0039d316-1c4b-4281-b951-d872f2087c98