diff options
Diffstat (limited to 'base/test/mock_chrome_application_mac.mm')
-rw-r--r-- | base/test/mock_chrome_application_mac.mm | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/base/test/mock_chrome_application_mac.mm b/base/test/mock_chrome_application_mac.mm index 48db419..b0b8617 100644 --- a/base/test/mock_chrome_application_mac.mm +++ b/base/test/mock_chrome_application_mac.mm @@ -4,22 +4,38 @@ #include "base/test/mock_chrome_application_mac.h" +#include "base/auto_reset.h" #include "base/logging.h" @implementation MockCrApp + ++ (NSApplication*)sharedApplication { + NSApplication* app = [super sharedApplication]; + DCHECK([app conformsToProtocol:@protocol(CrAppControlProtocol)]) + << "Existing NSApp (class " << [[app className] UTF8String] + << ") does not conform to required protocol."; + return app; +} + +- (void)sendEvent:(NSEvent*)event { + AutoReset<BOOL> scoper(&handlingSendEvent_, YES); + [super sendEvent:event]; +} + +- (void)setHandlingSendEvent:(BOOL)handlingSendEvent { + handlingSendEvent_ = handlingSendEvent; +} + - (BOOL)isHandlingSendEvent { - return NO; + return handlingSendEvent_; } + @end namespace mock_cr_app { void RegisterMockCrApp() { - NSApplication* app = [MockCrApp sharedApplication]; - - // Would prefer ASSERT_TRUE() to provide better test failures, but - // this class is used by remoting/ for a non-test use. - DCHECK([app conformsToProtocol:@protocol(CrAppProtocol)]); + [MockCrApp sharedApplication]; } } // namespace mock_cr_app |