#include "components/omnibox/browser/actions/omnibox_answer_action.h"
#include "base/metrics/histogram_functions.h"
#include "base/strings/utf_string_conversions.h"
#include "components/strings/grit/components_strings.h"
#include "ui/base/l10n/l10n_util.h"
#if BUILDFLAG(IS_ANDROID)
#include "base/android/jni_android.h"
#include "components/omnibox/browser/actions/omnibox_action_factory_android.h"
#endif
namespace {
constexpr const char* ToUmaUsageHistogramName(omnibox::AnswerType answer_type) { … }
}
OmniboxAnswerAction::OmniboxAnswerAction(
omnibox::SuggestionEnhancement enhancement,
TemplateURLRef::SearchTermsArgs search_terms_args,
omnibox::AnswerType answer_type)
: … { … }
OmniboxAnswerAction::~OmniboxAnswerAction() = default;
#if BUILDFLAG(IS_ANDROID)
base::android::ScopedJavaLocalRef<jobject>
OmniboxAnswerAction::GetOrCreateJavaObject(JNIEnv* env) const {
if (!j_omnibox_action_) {
j_omnibox_action_.Reset(
BuildOmniboxAnswerAction(env, reinterpret_cast<intptr_t>(this),
strings_.hint, strings_.accessibility_hint));
}
return base::android::ScopedJavaLocalRef<jobject>(j_omnibox_action_);
}
#endif
void OmniboxAnswerAction::RecordActionShown(size_t position,
bool executed) const { … }
void OmniboxAnswerAction::Execute(ExecutionContext& context) const { … }
OmniboxActionId OmniboxAnswerAction::ActionId() const { … }
const OmniboxAnswerAction* OmniboxAnswerAction::FromAction(
const OmniboxAction* action) { … }
OmniboxAnswerAction* OmniboxAnswerAction::FromAction(OmniboxAction* action) { … }