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#ifndef BASE_TEST_MOCK_CHROME_APPLICATION_MAC_H_
6#define BASE_TEST_MOCK_CHROME_APPLICATION_MAC_H_
7
8#if defined(__OBJC__)
9
10#import <AppKit/AppKit.h>
11
12#include "base/mac/scoped_sending_event.h"
13#include "base/message_loop/message_pump_mac.h"
14
15// A basic implementation of CrAppProtocol and
16// CrAppControlProtocol. This can be used in tests that need an
17// NSApplication and use a runloop, or which need a ScopedSendingEvent
18// when handling a nested event loop.
19@interface MockCrApp : NSApplication<CrAppProtocol,
20                                     CrAppControlProtocol> {
21 @private
22  BOOL handlingSendEvent_;
23}
24@end
25
26#endif
27
28// To be used to instantiate MockCrApp from C++ code.
29namespace mock_cr_app {
30void RegisterMockCrApp();
31}  // namespace mock_cr_app
32
33#endif  // BASE_TEST_MOCK_CHROME_APPLICATION_MAC_H_
34