| // Copyright 2024 The Chromium Authors | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #include "components/history_embeddings/mock_intent_classifier.h" | 
 |  | 
 | #include "base/strings/string_util.h" | 
 | #include "base/task/sequenced_task_runner.h" | 
 | #include "base/time/time.h" | 
 | #include "components/history_embeddings/history_embeddings_features.h" | 
 |  | 
 | namespace history_embeddings { | 
 |  | 
 | MockIntentClassifier::MockIntentClassifier() = default; | 
 | MockIntentClassifier::~MockIntentClassifier() = default; | 
 |  | 
 | int64_t MockIntentClassifier::GetModelVersion() { | 
 |   return 1; | 
 | } | 
 |  | 
 | void MockIntentClassifier::ComputeQueryIntent( | 
 |     std::string query, | 
 |     ComputeQueryIntentCallback callback) { | 
 |   std::vector<std::string> query_intent_indicating_words({ | 
 |       "can ", | 
 |       "could ", | 
 |       "do ", | 
 |       "does ", | 
 |       "how ", | 
 |       "should ", | 
 |       "what ", | 
 |       "when ", | 
 |       "where ", | 
 |       "whether ", | 
 |       "which ", | 
 |       "who ", | 
 |       "whose ", | 
 |       "why ", | 
 |       "would ", | 
 |   }); | 
 |   query = base::ToLowerASCII(query); | 
 |   bool is_query_answerable = | 
 |       query.ends_with('?') || | 
 |       std::ranges::any_of( | 
 |           query_intent_indicating_words, | 
 |           [&](std::string_view start) { return query.starts_with(start); }); | 
 |   base::SequencedTaskRunner::GetCurrentDefault()->PostDelayedTask( | 
 |       FROM_HERE, | 
 |       base::BindOnce(std::move(callback), ComputeIntentStatus::SUCCESS, | 
 |                      is_query_answerable), | 
 |       base::Milliseconds( | 
 |           GetFeatureParameters().mock_intent_classifier_delay_ms)); | 
 | } | 
 |  | 
 | }  // namespace history_embeddings |