summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chrome_browser_application_mac.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chrome_browser_application_mac.h')
-rw-r--r--chrome/browser/chrome_browser_application_mac.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/chrome/browser/chrome_browser_application_mac.h b/chrome/browser/chrome_browser_application_mac.h
index 52c6be3..0801fbb 100644
--- a/chrome/browser/chrome_browser_application_mac.h
+++ b/chrome/browser/chrome_browser_application_mac.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -10,9 +10,12 @@
#import <AppKit/AppKit.h>
+#include <vector>
+
#import "base/mac/scoped_sending_event.h"
#import "base/memory/scoped_nsobject.h"
#import "base/message_pump_mac.h"
+#include "base/synchronization/lock.h"
// Event hooks must implement this protocol.
@protocol CrApplicationEventHookProtocol
@@ -29,8 +32,12 @@
scoped_nsobject<NSMutableArray> eventHooks_;
// App's previous key windows. Most recent key window is last.
- // Does not include current key window.
- scoped_nsobject<NSMutableArray> previousKeyWindows_;
+ // Does not include current key window. Elements of this vector are weak
+ // references.
+ std::vector<NSWindow*> previousKeyWindows_;
+
+ // Guards previousKeyWindows_.
+ base::Lock previousKeyWindowsLock_;
}
// Our implementation of |-terminate:| only attempts to terminate the
@@ -52,7 +59,7 @@
// Keep track of the previous key windows and whether windows are being
// cycled for use in determining whether a Panel window can become the
// key window.
-- (id)previousKeyWindow;
+- (NSWindow*)previousKeyWindow;
- (BOOL)isCyclingWindows;
@end