Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(494)

Side by Side Diff: chrome/common/chrome_application_mac.mm

Issue 5950003: Remove CrApplication dependency from base (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/base
Patch Set: '' Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/chrome_application_mac.h ('k') | chrome/common/sandbox_mac.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "chrome_application_mac.h" 5 #import "chrome/common/chrome_application_mac.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 8
9 @interface CrApplication () 9 @interface CrApplication ()
10 @property(readwrite, 10 - (void)setHandlingSendEvent:(BOOL)handlingSendEvent;
11 getter=isHandlingSendEvent,
12 nonatomic) BOOL handlingSendEvent;
13 @end 11 @end
14 12
15 @implementation CrApplication 13 @implementation CrApplication
16 @synthesize handlingSendEvent = handlingSendEvent_;
17
18 // Initialize NSApplication using the custom subclass. Check whether NSApp 14 // Initialize NSApplication using the custom subclass. Check whether NSApp
19 // was already initialized using another class, because that would break 15 // was already initialized using another class, because that would break
20 // some things. 16 // some things.
21 + (NSApplication*)sharedApplication { 17 + (NSApplication*)sharedApplication {
22 NSApplication* app = [super sharedApplication]; 18 NSApplication* app = [super sharedApplication];
23 if (![NSApp isKindOfClass:self]) { 19 if (![NSApp isKindOfClass:self]) {
24 LOG(ERROR) << "NSApp should be of type " << [[self className] UTF8String] 20 LOG(ERROR) << "NSApp should be of type " << [[self className] UTF8String]
25 << ", not " << [[NSApp className] UTF8String]; 21 << ", not " << [[NSApp className] UTF8String];
26 DCHECK(false) << "NSApp is of wrong type"; 22 DCHECK(false) << "NSApp is of wrong type";
27 } 23 }
28 return app; 24 return app;
29 } 25 }
30 26
31 - (id)init { 27 - (id)init {
32 if ((self = [super init])) { 28 if ((self = [super init])) {
33 eventHooks_.reset([[NSMutableArray alloc] init]); 29 eventHooks_.reset([[NSMutableArray alloc] init]);
34 } 30 }
35 return self; 31 return self;
36 } 32 }
37 33
34 - (BOOL)isHandlingSendEvent {
35 return handlingSendEvent_;
36 }
37
38 - (void)setHandlingSendEvent:(BOOL)handlingSendEvent {
39 handlingSendEvent_ = handlingSendEvent;
40 }
41
38 - (void)sendEvent:(NSEvent*)event { 42 - (void)sendEvent:(NSEvent*)event {
39 chrome_application_mac::ScopedSendingEvent sendingEventScoper; 43 chrome_application_mac::ScopedSendingEvent sendingEventScoper;
40 for (id<CrApplicationEventHookProtocol> handler in eventHooks_.get()) { 44 for (id<CrApplicationEventHookProtocol> handler in eventHooks_.get()) {
41 [handler hookForEvent:event]; 45 [handler hookForEvent:event];
42 } 46 }
43 [super sendEvent:event]; 47 [super sendEvent:event];
44 } 48 }
45 49
46 - (void)addEventHook:(id<CrApplicationEventHookProtocol>)handler { 50 - (void)addEventHook:(id<CrApplicationEventHookProtocol>)handler {
47 [eventHooks_ addObject:handler]; 51 [eventHooks_ addObject:handler];
(...skipping 11 matching lines...) Expand all
59 : app_(static_cast<CrApplication*>([CrApplication sharedApplication])), 63 : app_(static_cast<CrApplication*>([CrApplication sharedApplication])),
60 handling_([app_ isHandlingSendEvent]) { 64 handling_([app_ isHandlingSendEvent]) {
61 [app_ setHandlingSendEvent:YES]; 65 [app_ setHandlingSendEvent:YES];
62 } 66 }
63 67
64 ScopedSendingEvent::~ScopedSendingEvent() { 68 ScopedSendingEvent::~ScopedSendingEvent() {
65 [app_ setHandlingSendEvent:handling_]; 69 [app_ setHandlingSendEvent:handling_];
66 } 70 }
67 71
68 } // namespace chrome_application_mac 72 } // namespace chrome_application_mac
OLDNEW
« no previous file with comments | « chrome/common/chrome_application_mac.h ('k') | chrome/common/sandbox_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698