| // Copyright 2018 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_OMNIBOX_BROWSER_TEST_OMNIBOX_EDIT_MODEL_H_ |
| #define COMPONENTS_OMNIBOX_BROWSER_TEST_OMNIBOX_EDIT_MODEL_H_ |
| |
| #include <memory> |
| |
| #include "base/memory/raw_ptr.h" |
| #include "components/omnibox/browser/omnibox_edit_model.h" |
| #include "components/prefs/testing_pref_service.h" |
| |
| class TestOmniboxEditModel : public OmniboxEditModel { |
| public: |
| TestOmniboxEditModel(OmniboxController* omnibox_controller, |
| OmniboxView* view, |
| PrefService* pref_service); |
| ~TestOmniboxEditModel() override; |
| TestOmniboxEditModel(const TestOmniboxEditModel&) = delete; |
| TestOmniboxEditModel& operator=(const TestOmniboxEditModel&) = delete; |
| |
| // OmniboxEditModel: |
| bool PopupIsOpen() const override; |
| AutocompleteMatch CurrentMatch(GURL* alternate_nav_url) const override; |
| |
| void SetPopupIsOpen(bool open); |
| |
| void SetCurrentMatchForTest(const AutocompleteMatch& match); |
| |
| void OnPopupDataChanged(const std::u16string& temporary_text, |
| bool is_temporary_text, |
| const std::u16string& inline_autocompletion, |
| const std::u16string& keyword, |
| const std::u16string& keyword_placeholder, |
| bool is_keyword_hint, |
| const std::u16string& additional_text, |
| const AutocompleteMatch& match) override; |
| |
| bool HasTemporaryText() { return has_temporary_text_; } |
| |
| const std::u16string& text() const { return text_; } |
| bool is_temporary_text() const { return is_temporary_text_; } |
| |
| protected: |
| PrefService* GetPrefService() override; |
| const PrefService* GetPrefService() const override; |
| |
| private: |
| bool popup_is_open_; |
| std::unique_ptr<AutocompleteMatch> override_current_match_; |
| |
| // Contains the most recent text passed by the popup model to the edit model. |
| std::u16string text_; |
| bool is_temporary_text_ = false; |
| raw_ptr<PrefService> pref_service_; |
| }; |
| |
| #endif // COMPONENTS_OMNIBOX_BROWSER_TEST_OMNIBOX_EDIT_MODEL_H_ |