diff options
author | finnur@google.com <finnur@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-24 00:10:29 +0000 |
---|---|---|
committer | finnur@google.com <finnur@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-24 00:10:29 +0000 |
commit | 4f3dc3751d69f9db1f8ef533a3335201b3bc78bc (patch) | |
tree | e37efecf992ddd4e901c894273cbb1e5bf4260cc /webkit | |
parent | 5e7f161f73f1817b8a0c422c0e4b5eceae6954e7 (diff) | |
download | chromium_src-4f3dc3751d69f9db1f8ef533a3335201b3bc78bc.zip chromium_src-4f3dc3751d69f9db1f8ef533a3335201b3bc78bc.tar.gz chromium_src-4f3dc3751d69f9db1f8ef533a3335201b3bc78bc.tar.bz2 |
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
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/webframe_impl.cc | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/webkit/glue/webframe_impl.cc b/webkit/glue/webframe_impl.cc index fcfd641..81af58d 100644 --- a/webkit/glue/webframe_impl.cc +++ b/webkit/glue/webframe_impl.cc @@ -868,22 +868,21 @@ bool WebFrameImpl::Find(const FindInPageRequest& request, if (active_match_index_ + 1 == 0) active_match_index_ = last_match_count_ - 1; } - } - #if defined(OS_WIN) - // TODO(pinkerton): Fix Mac scrolling to be more like Win ScrollView - if (selection_rect) { - gfx::Rect rect = webkit_glue::FromIntRect( - frame()->view()->convertToContainingWindow(curr_selection_rect)); - rect.Offset(-frameview()->scrollOffset().width(), - -frameview()->scrollOffset().height()); - *selection_rect = rect; - - ReportFindInPageSelection(rect, - active_match_index_ + 1, - request.request_id); - } + // TODO(pinkerton): Fix Mac scrolling to be more like Win ScrollView + if (selection_rect) { + gfx::Rect rect = webkit_glue::FromIntRect( + frame()->view()->convertToContainingWindow(curr_selection_rect)); + rect.Offset(-frameview()->scrollOffset().width(), + -frameview()->scrollOffset().height()); + *selection_rect = rect; + + ReportFindInPageSelection(rect, + active_match_index_ + 1, + request.request_id); + } #endif + } } else { // Nothing was found in this frame. active_match_ = NULL; |