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.
5 #include "base/test/mock_chrome_application_mac.h"
7 #include "base/auto_reset.h"
8 #include "base/logging.h"
10 @implementation MockCrApp
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]";
23 - (void)sendEvent:(NSEvent*)event {
24 base::AutoReset<BOOL> scoper(&handlingSendEvent_, YES);
25 [super sendEvent:event];
28 - (void)setHandlingSendEvent:(BOOL)handlingSendEvent {
29 handlingSendEvent_ = handlingSendEvent;
32 - (BOOL)isHandlingSendEvent {
33 return handlingSendEvent_;
38 namespace mock_cr_app {
40 void RegisterMockCrApp() {
41 [MockCrApp sharedApplication];
44 } // namespace mock_cr_app