The find bar should be owned and managed from the BrowserView, not the WebContentsVie...
commit4f3dc3751d69f9db1f8ef533a3335201b3bc78bc
authorfinnur@google.com <finnur@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 24 Feb 2009 00:10:29 +0000 (24 00:10 +0000)
committerfinnur@google.com <finnur@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 24 Feb 2009 00:10:29 +0000 (24 00:10 +0000)
treee37efecf992ddd4e901c894273cbb1e5bf4260cc
parent5e7f161f73f1817b8a0c422c0e4b5eceae6954e7
The find bar should be owned and managed from the BrowserView, not the WebContentsView, since it's part of the "chrome".

Design Doc: http://dev.chromium.org/developers/design-documents/find-bar

Things done:
- Pulled all of the find bar stuff out of WebContentsView* since it's no longer needed.
- Moved OnFindReply delegate method from RenderViewHostDelegate::View to RenderViewHostDelegate, since it's no longer implemented on the view.
- Moved find control methods to WebContents.
- Added recent find result state to WebContents.
- Updated the UI tests to accommodate the changes in the state that is broadcast when results are discovered.
- Updated the find bar layout to obtain its bounding box from the BrowserView, which knows about toolbars, bookmark bars etc.
- Updated the find bar itself to handle the fact that it can be displayed for multiple different tabs.
- Moved the find bar manipulation methods for testing from TabProxy to BrowserProxy, since the find bar is now a feature of the window, not the tab.
- view.h: Don't lay out child views again if they have a layout manager, it already updated them.

TEST=Find box should work as before.
BUG=3245

Review URL: http://codereview.chromium.org/27025

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10231 0039d316-1c4b-4281-b951-d872f2087c98
35 files changed:
chrome/browser/automation/automation_provider.cc
chrome/browser/browser.cc
chrome/browser/browser.h
chrome/browser/browser_window.h
chrome/browser/cocoa/browser_window_cocoa.h
chrome/browser/cocoa/browser_window_cocoa.mm
chrome/browser/find_notification_details.h
chrome/browser/gtk/browser_window_gtk.cc
chrome/browser/gtk/browser_window_gtk.h
chrome/browser/renderer_host/render_view_host.cc
chrome/browser/renderer_host/render_view_host_delegate.h
chrome/browser/tab_contents/web_contents.cc
chrome/browser/tab_contents/web_contents.h
chrome/browser/tab_contents/web_contents_view.h
chrome/browser/tab_contents/web_contents_view_win.cc
chrome/browser/tab_contents/web_contents_view_win.h
chrome/browser/views/find_bar_view.cc
chrome/browser/views/find_bar_view.h
chrome/browser/views/find_bar_win.cc
chrome/browser/views/find_bar_win.h
chrome/browser/views/find_bar_win_interactive_uitest.cc
chrome/browser/views/find_bar_win_uitest.cc
chrome/browser/views/find_bar_win_unittest.cc
chrome/browser/views/frame/browser_view.cc
chrome/browser/views/frame/browser_view.h
chrome/renderer/render_view.cc
chrome/test/automation/browser_proxy.cc
chrome/test/automation/browser_proxy.h
chrome/test/automation/tab_proxy.cc
chrome/test/automation/tab_proxy.h
chrome/test/test_browser_window.h
chrome/test/ui/ui_test.cc
chrome/test/ui/ui_test.h
chrome/views/view.cc
webkit/glue/webframe_impl.cc