1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "base/basictypes.h" 6 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h" 7 #include "chrome/browser/ui/cocoa/browser_window_controller.h" 8 #include "chrome/browser/ui/cocoa/find_bar/find_bar_bridge.h" 9 #include "chrome/browser/ui/browser.h" 10 #include "chrome/browser/ui/browser_window.h" 11 12 // Create the controller for the Browser, which handles loading the browser 13 // window from the nib. The controller takes ownership of |browser|. 14 // static 15 BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) { 16 BrowserWindowController* controller = 17 [[BrowserWindowController alloc] initWithBrowser:browser]; 18 return [controller browserWindow]; 19 } 20 21 // static 22 FindBar* BrowserWindow::CreateFindBar(Browser* browser) { 23 // We could push the AddFindBar() call into the FindBarBridge 24 // constructor or the FindBarCocoaController init, but that makes 25 // unit testing difficult, since we would also require a 26 // BrowserWindow object. 27 BrowserWindowCocoa* window = 28 static_cast<BrowserWindowCocoa*>(browser->window()); 29 FindBarBridge* bridge = new FindBarBridge(); 30 window->AddFindBar(bridge->find_bar_cocoa_controller()); 31 return bridge; 32 } 33