Index: chrome/browser/ui/cocoa/browser_window_cocoa.mm |
diff --git a/chrome/browser/ui/cocoa/browser_window_cocoa.mm b/chrome/browser/ui/cocoa/browser_window_cocoa.mm |
index 0f2bf1a6808bca8cd3318bb8b77167f90029ac62..93c2194ad348a07fd1fc2cfcff0d45f0fca3e5f8 100644 |
--- a/chrome/browser/ui/cocoa/browser_window_cocoa.mm |
+++ b/chrome/browser/ui/cocoa/browser_window_cocoa.mm |
@@ -7,6 +7,7 @@ |
#include "base/bind.h" |
#include "base/command_line.h" |
#include "base/logging.h" |
+#include "base/mac/foundation_util.h" |
#import "base/mac/sdk_forward_declarations.h" |
#include "base/message_loop/message_loop.h" |
#include "base/strings/string_util.h" |
@@ -845,3 +846,15 @@ void BrowserWindowCocoa::ShowImeWarningBubble( |
callback) { |
NOTREACHED() << "The IME warning bubble is unsupported on this platform."; |
} |
+ |
+// static |
+BrowserWindow* BrowserWindow::GetBrowserWindowForNativeWindow( |
+ gfx::NativeWindow window) { |
+ id<NSWindowDelegate> window_delegate = [window delegate]; |
+ if ([window_delegate respondsToSelector:@selector(browserWindow)]) { |
+ BrowserWindowController* controller = |
+ base::mac::ObjCCastStrict<BrowserWindowController>(window_delegate); |
+ return [controller browserWindow]; |
+ } |
+ return nullptr; // Not created by BrowserWindowCocoa. |
+} |