summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-15 22:38:04 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-15 22:38:04 +0000
commit8d2f91edfea9e93b75593fc4ad49c2530f62423b (patch)
treec7ca0f387363cadff6972ee16d57071498df3d13
parent11586b137f1ca688cb270d1c19e4ed91ac6859af (diff)
downloadchromium_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.cc2
-rw-r--r--chrome/browser/chrome_browser_main_gtk.cc7
-rw-r--r--chrome/browser/chrome_browser_main_mac.h1
-rw-r--r--chrome/browser/chrome_browser_main_mac.mm16
-rw-r--r--chrome/browser/chrome_browser_main_win.cc8
-rw-r--r--content/browser/browser_main.h6
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_