// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_VIEWS_FIND_BAR_HOST_H_ #define CHROME_BROWSER_UI_VIEWS_FIND_BAR_HOST_H_ #include <memory> #include "base/memory/raw_ptr.h" #include "chrome/browser/ui/find_bar/find_bar.h" #include "chrome/browser/ui/views/find_bar_view.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/native_widget_types.h" #include "ui/views/controls/textfield/textfield.h" #include "ui/views/focus/external_focus_tracker.h" #include "ui/views/focus/focus_manager.h" #include "ui/views/widget/widget_delegate.h" class BrowserView; class FindBarController; class FindInPageTest; namespace find_in_page { class FindNotificationDetails; } namespace views { class Widget; } //////////////////////////////////////////////////////////////////////////////// // // The FindBarHost implements the container widget for the find-in-page // functionality. It 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 FindBar, public FindBarTesting, public views::FocusChangeListener, public ui::AcceleratorTarget, public views::AnimationDelegateViews, public views::WidgetDelegate { … }; #endif // CHROME_BROWSER_UI_VIEWS_FIND_BAR_HOST_H_