// 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. #include "base/test/mock_chrome_application_mac.h" #include "base/auto_reset.h" #include "base/logging.h" @implementation MockCrApp + (NSApplication*)sharedApplication { NSApplication* app = [super sharedApplication]; DCHECK([app conformsToProtocol:@protocol(CrAppControlProtocol)]) << "Existing NSApp (class " << [[app className] UTF8String] << ") does not conform to required protocol."; DCHECK(base::MessagePumpMac::UsingCrApp()) << "MessagePumpMac::Create() was called before " << "+[MockCrApp sharedApplication]"; return app; } - (void)sendEvent:(NSEvent*)event { base::AutoReset scoper(&handlingSendEvent_, YES); [super sendEvent:event]; } - (void)setHandlingSendEvent:(BOOL)handlingSendEvent { handlingSendEvent_ = handlingSendEvent; } - (BOOL)isHandlingSendEvent { return handlingSendEvent_; } @end namespace mock_cr_app { void RegisterMockCrApp() { [MockCrApp sharedApplication]; } } // namespace mock_cr_app