diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-09 07:35:32 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-09 07:35:32 +0000 |
commit | 213dac2f0bff9162502fe325b6ebb85a255efcb2 (patch) | |
tree | 3640cb1f19976e38677b8632537d2d41f8444d0f /chrome/browser/views/find_bar_host.h | |
parent | 6de53d401aa8dc6c7e0a9874c71a95ce88ade50d (diff) | |
download | chromium_src-213dac2f0bff9162502fe325b6ebb85a255efcb2.zip chromium_src-213dac2f0bff9162502fe325b6ebb85a255efcb2.tar.gz chromium_src-213dac2f0bff9162502fe325b6ebb85a255efcb2.tar.bz2 |
Move browser/views to browser/ui/views
TBR=brettw
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/4694005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65508 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/find_bar_host.h')
-rw-r--r-- | chrome/browser/views/find_bar_host.h | 123 |
1 files changed, 3 insertions, 120 deletions
diff --git a/chrome/browser/views/find_bar_host.h b/chrome/browser/views/find_bar_host.h index d675b3c8..4e34679 100644 --- a/chrome/browser/views/find_bar_host.h +++ b/chrome/browser/views/find_bar_host.h @@ -6,125 +6,8 @@ #define CHROME_BROWSER_VIEWS_FIND_BAR_HOST_H_ #pragma once -#include "chrome/browser/find_bar.h" -#include "chrome/browser/renderer_host/render_view_host_delegate.h" -#include "chrome/browser/views/dropdown_bar_host.h" -#include "gfx/native_widget_types.h" -#include "gfx/rect.h" -#include "views/controls/textfield/textfield.h" - -class BrowserView; -class FindBarController; -class FindBarView; -class FindNotificationDetails; - -//////////////////////////////////////////////////////////////////////////////// -// -// The FindBarHost implements the container widget for the -// find-in-page functionality. It uses the appropriate implementation from -// find_bar_host_win.cc or find_bar_host_gtk.cc to draw its content and is -// responsible for showing, hiding, closing, and moving the widget if needed, -// for example if the widget is obscuring the selection results. It also -// receives notifications about the search results and communicates that to -// the view. -// -// There is one FindBarHost per BrowserView, and its state is updated -// whenever the selected Tab is changed. The FindBarHost is created when -// the BrowserView is attached to the frame's Widget for the first time. -// -//////////////////////////////////////////////////////////////////////////////// -class FindBarHost : public DropdownBarHost, - public FindBar, - public FindBarTesting { - public: - explicit FindBarHost(BrowserView* browser_view); - virtual ~FindBarHost(); - - // Forwards selected keystrokes to the renderer. This is useful to make sure - // that arrow keys and PageUp and PageDown result in scrolling, instead of - // being eaten because the FindBar has focus. Returns true if the keystroke - // was forwarded, false if not. - bool MaybeForwardKeystrokeToWebpage( - const views::Textfield::Keystroke& key_stroke); - - // FindBar implementation: - virtual FindBarController* GetFindBarController() const; - virtual void SetFindBarController(FindBarController* find_bar_controller); - virtual void Show(bool animate); - virtual void Hide(bool animate); - virtual void SetFocusAndSelection(); - virtual void ClearResults(const FindNotificationDetails& results); - virtual void StopAnimation(); - virtual void MoveWindowIfNecessary(const gfx::Rect& selection_rect, - bool no_redraw); - virtual void SetFindText(const string16& find_text); - virtual void UpdateUIForFindResult(const FindNotificationDetails& result, - const string16& find_text); - virtual void AudibleAlert(); - virtual bool IsFindBarVisible(); - virtual void RestoreSavedFocus(); - virtual FindBarTesting* GetFindBarTesting(); - - // Overridden from views::AcceleratorTarget in DropdownBarHost class: - virtual bool AcceleratorPressed(const views::Accelerator& accelerator); - - // FindBarTesting implementation: - virtual bool GetFindBarWindowInfo(gfx::Point* position, - bool* fully_visible); - virtual string16 GetFindText(); - - // Overridden from DropdownBarHost: - // Returns the rectangle representing where to position the find bar. It uses - // GetDialogBounds and positions itself within that, either to the left (if an - // InfoBar is present) or to the right (no InfoBar). If - // |avoid_overlapping_rect| is specified, the return value will be a rectangle - // located immediately to the left of |avoid_overlapping_rect|, as long as - // there is enough room for the dialog to draw within the bounds. If not, the - // dialog position returned will overlap |avoid_overlapping_rect|. - // Note: |avoid_overlapping_rect| is expected to use coordinates relative to - // the top of the page area, (it will be converted to coordinates relative to - // the top of the browser window, when comparing against the dialog - // coordinates). The returned value is relative to the browser window. - virtual gfx::Rect GetDialogPosition(gfx::Rect avoid_overlapping_rect); - // Moves the dialog window to the provided location, moves it to top in the - // z-order (HWND_TOP, not HWND_TOPMOST) and shows the window (if hidden). - // It then calls UpdateWindowEdges to make sure we don't overwrite the Chrome - // window border. If |no_redraw| is set, the window is getting moved but not - // sized, and should not be redrawn to reduce update flicker. - virtual void SetDialogPosition(const gfx::Rect& new_pos, bool no_redraw); - - // Retrieves the boundaries that the find bar widget has to work with - // within the Chrome frame window. The resulting rectangle will be a - // rectangle that overlaps the bottom of the Chrome toolbar by one - // pixel (so we can create the illusion that the dropdown widget is - // part of the toolbar) and covers the page area, except that we - // deflate the rect width by subtracting (from both sides) the width - // of the toolbar and some extra pixels to account for the width of - // the Chrome window borders. |bounds| is relative to the browser - // window. If the function fails to determine the browser - // window/client area rectangle or the rectangle for the page area - // then |bounds| will be an empty rectangle. - virtual void GetWidgetBounds(gfx::Rect* bounds); - - // Additional accelerator handling (on top of what DropDownBarHost does). - virtual void RegisterAccelerators(); - virtual void UnregisterAccelerators(); - - private: - // Allows implementation to tweak widget position. - void GetWidgetPositionNative(gfx::Rect* avoid_overlapping_rect); - - // Allows native implementation to prevent keystrokes from being forwarded. - bool ShouldForwardKeystrokeToWebpageNative( - const views::Textfield::Keystroke& key_stroke); - - // Returns the FindBarView. - FindBarView* find_bar_view(); - - // A pointer back to the owning controller. - FindBarController* find_bar_controller_; - - DISALLOW_COPY_AND_ASSIGN(FindBarHost); -}; +#include "chrome/browser/ui/views/find_bar_host.h" +// TODO(beng): remove this file once all includes have been updated. #endif // CHROME_BROWSER_VIEWS_FIND_BAR_HOST_H_ + |