summaryrefslogtreecommitdiff
path: root/base/test/mock_chrome_application_mac.h
blob: ffa3080aec161eb45b87cdddc7ff05bf7b8d4a3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef BASE_TEST_MOCK_CHROME_APPLICATION_MAC_H_
#define BASE_TEST_MOCK_CHROME_APPLICATION_MAC_H_

#if defined(__OBJC__)

#import <AppKit/AppKit.h>

#include "base/mac/scoped_sending_event.h"
#include "base/message_loop/message_pump_mac.h"

// A basic implementation of CrAppProtocol and
// CrAppControlProtocol. This can be used in tests that need an
// NSApplication and use a runloop, or which need a ScopedSendingEvent
// when handling a nested event loop.
@interface MockCrApp : NSApplication<CrAppProtocol,
                                     CrAppControlProtocol> {
 @private
  BOOL handlingSendEvent_;
}
@end

#endif

// To be used to instantiate MockCrApp from C++ code.
namespace mock_cr_app {
void RegisterMockCrApp();
}  // namespace mock_cr_app

#endif  // BASE_TEST_MOCK_CHROME_APPLICATION_MAC_H_