- add sources.
[platform/framework/web/crosswalk.git] / src / base / test / mock_chrome_application_mac.mm
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