diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-15 22:38:04 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-15 22:38:04 +0000 |
commit | 8d2f91edfea9e93b75593fc4ad49c2530f62423b (patch) | |
tree | c7ca0f387363cadff6972ee16d57071498df3d13 | |
parent | 11586b137f1ca688cb270d1c19e4ed91ac6859af (diff) | |
download | chromium_src-8d2f91edfea9e93b75593fc4ad49c2530f62423b.zip chromium_src-8d2f91edfea9e93b75593fc4ad49c2530f62423b.tar.gz chromium_src-8d2f91edfea9e93b75593fc4ad49c2530f62423b.tar.bz2 |
Revert DidEndMainMessageLoop changes from my earlier checkin since they caused issues on Mac.
TBR=avi
Review URL: http://codereview.chromium.org/7903019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101402 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/browser_process_impl.cc | 2 | ||||
-rw-r--r-- | chrome/browser/chrome_browser_main_gtk.cc | 7 | ||||
-rw-r--r-- | chrome/browser/chrome_browser_main_mac.h | 1 | ||||
-rw-r--r-- | chrome/browser/chrome_browser_main_mac.mm | 16 | ||||
-rw-r--r-- | chrome/browser/chrome_browser_main_win.cc | 8 | ||||
-rw-r--r-- | content/browser/browser_main.h | 6 |
6 files changed, 32 insertions, 8 deletions
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc index 403e6d5..420a67c 100644 --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc @@ -318,6 +318,8 @@ unsigned int BrowserProcessImpl::ReleaseModule() { io_thread()->message_loop()->PostTask( FROM_HERE, NewRunnableFunction(&base::ThreadRestrictions::SetIOAllowed, true)); + MessageLoop::current()->PostTask( + FROM_HERE, NewRunnableFunction(content::DidEndMainMessageLoop)); MessageLoop::current()->Quit(); } return module_ref_count_; diff --git a/chrome/browser/chrome_browser_main_gtk.cc b/chrome/browser/chrome_browser_main_gtk.cc index 5bf9dbd7..b5d2976 100644 --- a/chrome/browser/chrome_browser_main_gtk.cc +++ b/chrome/browser/chrome_browser_main_gtk.cc @@ -126,6 +126,13 @@ void ChromeBrowserMainPartsGtk::DetectRunningAsRoot() { } } +namespace content { + +void DidEndMainMessageLoop() { +} + +} + void RecordBreakpadStatusUMA(MetricsService* metrics) { #if defined(USE_LINUX_BREAKPAD) metrics->RecordBreakpadRegistration(IsCrashReporterEnabled()); diff --git a/chrome/browser/chrome_browser_main_mac.h b/chrome/browser/chrome_browser_main_mac.h index 5c7e8fd..45e68de 100644 --- a/chrome/browser/chrome_browser_main_mac.h +++ b/chrome/browser/chrome_browser_main_mac.h @@ -14,7 +14,6 @@ class ChromeBrowserMainPartsMac : public ChromeBrowserMainPartsPosix { virtual void PreEarlyInitialization() OVERRIDE; virtual void PreMainMessageLoopStart() OVERRIDE; - virtual void PostMainMessageLoopRun() OVERRIDE; }; #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_MAC_H_ diff --git a/chrome/browser/chrome_browser_main_mac.mm b/chrome/browser/chrome_browser_main_mac.mm index f839852..c208d32 100644 --- a/chrome/browser/chrome_browser_main_mac.mm +++ b/chrome/browser/chrome_browser_main_mac.mm @@ -24,6 +24,15 @@ #include "ui/base/l10n/l10n_util_mac.h" #include "ui/base/resource/resource_bundle.h" +namespace content { + +void DidEndMainMessageLoop() { + AppController* appController = [NSApp delegate]; + [appController didEndMainMessageLoop]; +} + +} + void RecordBreakpadStatusUMA(MetricsService* metrics) { metrics->RecordBreakpadRegistration(IsCrashReporterEnabled()); metrics->RecordBreakpadHasDebugger(base::debug::BeingDebugged()); @@ -127,10 +136,3 @@ void ChromeBrowserMainPartsMac::PreMainMessageLoopStart() { [[NSUserDefaults standardUserDefaults] setObject:@"NO" forKey:@"NSTreatUnknownArgumentsAsOpen"]; } - -void ChromeBrowserMainPartsMac::PostMainMessageLoopRun() { - ChromeBrowserMainPartsPosix::PostMainMessageLoopRun(); - - //AppController* appController = [NSApp delegate]; - //[appController didEndMainMessageLoop]; -} diff --git a/chrome/browser/chrome_browser_main_win.cc b/chrome/browser/chrome_browser_main_win.cc index 3097018..33b59a4 100644 --- a/chrome/browser/chrome_browser_main_win.cc +++ b/chrome/browser/chrome_browser_main_win.cc @@ -39,6 +39,14 @@ #include "views/focus/accelerator_handler.h" #include "views/widget/widget.h" +namespace content { + +void DidEndMainMessageLoop() { + OleUninitialize(); +} + +} + namespace { typedef HRESULT (STDAPICALLTYPE* RegisterApplicationRestartProc)( diff --git a/content/browser/browser_main.h b/content/browser/browser_main.h index f3d9234..bab45a0 100644 --- a/content/browser/browser_main.h +++ b/content/browser/browser_main.h @@ -124,6 +124,12 @@ class BrowserMainParts { DISALLOW_COPY_AND_ASSIGN(BrowserMainParts); }; +// Perform platform-specific work that needs to be done after the main event +// loop has ended. The embedder must be sure to call this. +// TODO(jam): change this so that content calls it so that we don't depend on +// the embedder. +void DidEndMainMessageLoop(); + } // namespace content #endif // CONTENT_BROWSER_BROWSER_MAIN_H_ |