blob: f45ce0d064f6472437c1f04029a3f63c365b5444 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <memory>
#include "components/omnibox/browser/test_omnibox_client.h"
#include "components/omnibox/browser/test_omnibox_edit_model.h"
TestOmniboxEditModel::TestOmniboxEditModel(OmniboxView* view,
OmniboxEditController* controller,
PrefService* pref_service)
: OmniboxEditModel(view, controller, std::make_unique<TestOmniboxClient>()),
popup_is_open_(false),
pref_service_(pref_service) {}
TestOmniboxEditModel::~TestOmniboxEditModel() {}
bool TestOmniboxEditModel::PopupIsOpen() const {
return popup_is_open_;
}
AutocompleteMatch TestOmniboxEditModel::CurrentMatch(
GURL* alternate_nav_url) const {
if (override_current_match_)
return *override_current_match_;
return OmniboxEditModel::CurrentMatch(alternate_nav_url);
}
void TestOmniboxEditModel::SetPopupIsOpen(bool open) {
popup_is_open_ = open;
}
void TestOmniboxEditModel::SetCurrentMatchForTest(
const AutocompleteMatch& match) {
override_current_match_ = std::make_unique<AutocompleteMatch>(match);
}
void TestOmniboxEditModel::OnPopupDataChanged(
const std::u16string& temporary_text,
bool is_temporary_text,
const std::u16string& inline_autocompletion,
const std::u16string& prefix_autocompletion,
const std::u16string& keyword,
bool is_keyword_hint,
const std::u16string& additional_text) {
OmniboxEditModel::OnPopupDataChanged(
temporary_text, is_temporary_text, inline_autocompletion,
prefix_autocompletion, keyword, is_keyword_hint, additional_text);
text_ = is_temporary_text ? temporary_text : inline_autocompletion;
is_temporary_text_ = is_temporary_text;
}
PrefService* TestOmniboxEditModel::GetPrefService() const {
return pref_service_ == nullptr ? OmniboxEditModel::GetPrefService()
: pref_service_.get();
}