1 // Copyright 2018 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 #ifndef ASH_SHORTCUT_VIEWER_VIEWS_KSV_SEARCH_BOX_VIEW_H_ 6 #define ASH_SHORTCUT_VIEWER_VIEWS_KSV_SEARCH_BOX_VIEW_H_ 7 8 #include "ash/search_box/search_box_view_base.h" 9 #include "base/macros.h" 10 #include "base/strings/string16.h" 11 12 namespace ash { 13 class SearchBoxViewDelegate; 14 } // namespace ash 15 16 namespace keyboard_shortcut_viewer { 17 18 // A search_box_SearchBoxViewBase implementation for KeyboardShortcutViewer. 19 class KSVSearchBoxView : public ash::SearchBoxViewBase { 20 public: 21 explicit KSVSearchBoxView(ash::SearchBoxViewDelegate* delegate); 22 ~KSVSearchBoxView() override = default; 23 24 // views::View: 25 gfx::Size CalculatePreferredSize() const override; 26 void GetAccessibleNodeData(ui::AXNodeData* node_data) override; 27 void OnKeyEvent(ui::KeyEvent* event) override; 28 29 void SetAccessibleValue(const base::string16& value); 30 31 // SearchBoxViewBase: 32 void OnSearchBoxActiveChanged(bool active) override; 33 34 private: 35 // SearchBoxViewBase: 36 void UpdateBackgroundColor(SkColor color) override; 37 void UpdateSearchBoxBorder() override; 38 void SetupCloseButton() override; 39 void SetupBackButton() override; 40 void SetPlaceholderTextAttributes(); 41 42 // Accessibility data value. Used to pronounce the number of search results. 43 base::string16 accessible_value_; 44 45 DISALLOW_COPY_AND_ASSIGN(KSVSearchBoxView); 46 }; 47 48 } // namespace keyboard_shortcut_viewer 49 50 #endif // ASH_SHORTCUT_VIEWER_VIEWS_KSV_SEARCH_BOX_VIEW_H_ 51