| Index: chrome/browser/browser_main.cc
|
| ===================================================================
|
| --- chrome/browser/browser_main.cc (revision 7482)
|
| +++ chrome/browser/browser_main.cc (working copy)
|
| @@ -7,9 +7,9 @@
|
| #include "base/command_line.h"
|
| #include "sandbox/src/sandbox.h"
|
|
|
| -// TODO(port): several win-only methods have been pulled out of this, but
|
| +// TODO(port): several win-only methods have been pulled out of this, but
|
| // BrowserMain() as a whole needs to be broken apart so that it's usable by
|
| -// other platforms. For now, it's just a stub. This is a serious work in
|
| +// other platforms. For now, it's just a stub. This is a serious work in
|
| // progress and should not be taken as an indication of a real refactoring.
|
|
|
| #if defined(OS_WIN)
|
| @@ -150,6 +150,13 @@
|
| // TODO(beng, brettw): someday, break this out into sub functions with well
|
| // defined roles (e.g. pre/post-profile startup, etc).
|
|
|
| +#ifdef TRACK_ALL_TASK_OBJECTS
|
| + // Start tracking the creation and deletion of Task instance.
|
| + // This construction MUST be done before main_message_loop, so that it is
|
| + // destroyed after the main_message_loop.
|
| + tracked_objects::AutoTracking tracking_objects;
|
| +#endif
|
| +
|
| MessageLoop main_message_loop(MessageLoop::TYPE_UI);
|
|
|
| // Initialize the SystemMonitor
|
| @@ -264,12 +271,6 @@
|
| // Initialize histogram statistics gathering system.
|
| StatisticsRecorder statistics;
|
|
|
| - // Start tracking the creation and deletion of Task instances
|
| - bool tracking_objects = false;
|
| -#ifdef TRACK_ALL_TASK_OBJECTS
|
| - tracking_objects = tracked_objects::ThreadData::StartTracking(true);
|
| -#endif
|
| -
|
| // Initialize the shared instance of user data manager.
|
| UserDataManager::Create();
|
|
|
| @@ -487,21 +488,8 @@
|
| // browser_shutdown takes care of deleting browser_process, so we need to
|
| // release it.
|
| browser_process.release();
|
| -
|
| browser_shutdown::Shutdown();
|
|
|
| - // The following teardown code will pacify Purify, but is not necessary for
|
| - // shutdown. Only list methods here that have no significant side effects
|
| - // and can be run in single threaded mode before terminating.
|
| -#ifndef NDEBUG // Don't call these in a Release build: they just waste time.
|
| - // The following should ONLY be called when in single threaded mode. It is
|
| - // unsafe to do this cleanup if other threads are still active.
|
| - // It is also very unnecessary, so I'm only doing this in debug to satisfy
|
| - // purify.
|
| - if (tracking_objects)
|
| - tracked_objects::ThreadData::ShutdownSingleThreadedCleanup();
|
| -#endif // NDEBUG
|
| -
|
| return result_code;
|
| }
|
|
|
|
|