diff options
Diffstat (limited to 'base/chrome_application_mac.mm')
-rw-r--r-- | base/chrome_application_mac.mm | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/base/chrome_application_mac.mm b/base/chrome_application_mac.mm deleted file mode 100644 index a163534..0000000 --- a/base/chrome_application_mac.mm +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (c) 2009 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. - -#import "chrome_application_mac.h" - -#include "base/logging.h" - -@interface CrApplication () -@property(readwrite, - getter=isHandlingSendEvent, - nonatomic) BOOL handlingSendEvent; -@end - -@implementation CrApplication -@synthesize handlingSendEvent = handlingSendEvent_; - -// Initialize NSApplication using the custom subclass. Check whether NSApp -// was already initialized using another class, because that would break -// some things. -+ (NSApplication*)sharedApplication { - NSApplication* app = [super sharedApplication]; - if (![NSApp isKindOfClass:self]) { - LOG(ERROR) << "NSApp should be of type " << [[self className] UTF8String] - << ", not " << [[NSApp className] UTF8String]; - DCHECK(false) << "NSApp is of wrong type"; - } - return app; -} - -- (id)init { - if ((self = [super init])) { - eventHooks_.reset([[NSMutableArray alloc] init]); - } - return self; -} - -- (void)sendEvent:(NSEvent*)event { - chrome_application_mac::ScopedSendingEvent sendingEventScoper; - for (id<CrApplicationEventHookProtocol> handler in eventHooks_.get()) { - [handler hookForEvent:event]; - } - [super sendEvent:event]; -} - -- (void)addEventHook:(id<CrApplicationEventHookProtocol>)handler { - [eventHooks_ addObject:handler]; -} - -- (void)removeEventHook:(id<CrApplicationEventHookProtocol>)handler { - [eventHooks_ removeObject:handler]; -} - -@end - -namespace chrome_application_mac { - -ScopedSendingEvent::ScopedSendingEvent() - : app_(static_cast<CrApplication*>([CrApplication sharedApplication])), - handling_([app_ isHandlingSendEvent]) { - [app_ setHandlingSendEvent:YES]; -} - -ScopedSendingEvent::~ScopedSendingEvent() { - [app_ setHandlingSendEvent:handling_]; -} - -} // namespace chrome_application_mac |