summaryrefslogtreecommitdiffstats
path: root/base/message_pump_mac.mm
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-18 01:18:29 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-18 01:18:29 +0000
commita366880f8475fa9e0e70ace062af10654b297574 (patch)
tree5c2a777d77feebefc4b8c0f0c78525d57be93b16 /base/message_pump_mac.mm
parentc811184533d882af419cab0dabe0bf317c6c985f (diff)
downloadchromium_src-a366880f8475fa9e0e70ace062af10654b297574.zip
chromium_src-a366880f8475fa9e0e70ace062af10654b297574.tar.gz
chromium_src-a366880f8475fa9e0e70ace062af10654b297574.tar.bz2
Remove CrApplication dependency from base
Add a @protocol CrAppProtocol that clients of base must implement in their NSApplication subclass, and let base depend only on this protocol. Let MessagePumpNSApplication::DoRun() no longer initialize NSApplication (fixes a TODO). Add a MockCrApplication that the simple unittests in base and app can use, move chrome_application to chrome/common. Test shell might run nested run loops, so I gave it a real but simplified CrAppProtocol implementation. BUG=62968,46929 TEST=Everything still works. The PDF plugin prints one fewer warning when loaded. Review URL: http://codereview.chromium.org/5950003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69615 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_pump_mac.mm')
-rw-r--r--base/message_pump_mac.mm11
1 files changed, 3 insertions, 8 deletions
diff --git a/base/message_pump_mac.mm b/base/message_pump_mac.mm
index 9091006..8c5461c 100644
--- a/base/message_pump_mac.mm
+++ b/base/message_pump_mac.mm
@@ -11,7 +11,6 @@
#include <limits>
-#import "base/chrome_application_mac.h"
#include "base/logging.h"
#include "base/time.h"
@@ -673,10 +672,6 @@ MessagePumpNSApplication::MessagePumpNSApplication()
void MessagePumpNSApplication::DoRun(Delegate* delegate) {
bool last_running_own_loop_ = running_own_loop_;
- // TODO(dmaclach): Get rid of this gratuitous sharedApplication.
- // Tests should be setting up their applications on their own.
- [CrApplication sharedApplication];
-
if (![NSApp isRunning]) {
running_own_loop_ = false;
// NSApplication manages autorelease pools itself when run this way.
@@ -749,12 +744,12 @@ void MessagePumpNSApplication::Quit() {
// autorelease pool stack.
//
// CrApplication is responsible for setting handlingSendEvent to true just
-// before it sends the event throught the event handling mechanism, and
+// before it sends the event through the event handling mechanism, and
// returning it to its previous value once the event has been sent.
NSAutoreleasePool* MessagePumpNSApplication::CreateAutoreleasePool() {
NSAutoreleasePool* pool = nil;
- DCHECK([NSApp isKindOfClass:[CrApplication class]]);
- if (![static_cast<CrApplication*>(NSApp) isHandlingSendEvent]) {
+ DCHECK([NSApp conformsToProtocol:@protocol(CrAppProtocol)]);
+ if (![NSApp isHandlingSendEvent]) {
pool = MessagePumpCFRunLoopBase::CreateAutoreleasePool();
}
return pool;