DescriptionMoved code that generates APP_TERMINATING notification into BrowserList so it can be used on all platforms. Updated observers (ExtensionProcessManager,
BackgroundContents) to listen for APP_TERMINATING instead of listening for
BROWSER_CLOSED on some platforms.
APP_TERMINATING is now sent just before the main message loop exits rather than just after, but no code depends on this timing.
Updated Mac code to always call BrowserList::CloseAllBrowsers() even if there
are no open browsers, to ensure that APP_TERMINATING is always fired.
Changed BackgroundContentsService to keep the browser process alive when there
are BackgroundContents running and updated the unit tests.
Renamed BrowserList::IsInPersistentMode() => WillShutdownWhenLastBrowserCloses() and AllBrowsersClosed() => AllBrowsersClosedAndAppExiting() to more precisely indicate their true functions.
Exposed BrowserProcess::ModuleRefCount() so BrowserList can determine when the application is going to exit so the right notifications/callbacks can be generated.
Updated background-auto-update-restart code to use new BrowserList APIs to determine whether the application is running "in the background".
Added code to cancel shutdown on all plaforms if the user selects cancel in an onbeforeunload dialog.
BUG=45275
TEST=RunInBackgroundTest (ui_test)
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=53092
Patch Set 1 #
Total comments: 1
Patch Set 2 : More shutdown edge cases (no longer forces fast shutdown of renderers when window closes) #Patch Set 3 : Fix infinite shutdown loop on mac and allow cancelling shutdown on win. #Patch Set 4 : Removed KeepAlive APIs that I mistakenly left in from a previous revision. #Patch Set 5 : Added unittest #Patch Set 6 : Fixed compilation error on linux/mac #
Total comments: 6
Patch Set 7 : Added BrowserList::Start/End/WillKeepAlive() APIs #Patch Set 8 : Fix to make sure incognito profiles work correctly with --keep-alive-for-test #
Total comments: 12
Patch Set 9 : Tweaks to reflect review feedback. #Patch Set 10 : Fixed compilation error (unsigned int is now just plain int) #Patch Set 11 : Uploaded patch that resolves merge issue #Messages
Total messages: 10 (0 generated)
|