1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "base/test/mock_chrome_application_mac.h" 6 7 #include "base/auto_reset.h" 8 #include "base/logging.h" 9 10 @implementation MockCrApp 11 12 + (NSApplication*)sharedApplication { 13 NSApplication* app = [super sharedApplication]; 14 DCHECK([app conformsToProtocol:@protocol(CrAppControlProtocol)]) 15 << "Existing NSApp (class " << [[app className] UTF8String] 16 << ") does not conform to required protocol."; 17 DCHECK(base::MessagePumpMac::UsingCrApp()) 18 << "MessagePumpMac::Create() was called before " 19 << "+[MockCrApp sharedApplication]"; 20 return app; 21 } 22 23 - (void)sendEvent:(NSEvent*)event { 24 base::AutoReset<BOOL> scoper(&handlingSendEvent_, YES); 25 [super sendEvent:event]; 26 } 27 28 - (void)setHandlingSendEvent:(BOOL)handlingSendEvent { 29 handlingSendEvent_ = handlingSendEvent; 30 } 31 32 - (BOOL)isHandlingSendEvent { 33 return handlingSendEvent_; 34 } 35 36 @end 37 38 namespace mock_cr_app { 39 40 void RegisterMockCrApp() { 41 [MockCrApp sharedApplication]; 42 } 43 44 } // namespace mock_cr_app 45