diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-18 01:18:29 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-18 01:18:29 +0000 |
commit | a366880f8475fa9e0e70ace062af10654b297574 (patch) | |
tree | 5c2a777d77feebefc4b8c0f0c78525d57be93b16 /base/message_pump_mac.mm | |
parent | c811184533d882af419cab0dabe0bf317c6c985f (diff) | |
download | chromium_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.mm | 11 |
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; |