| Index: chrome/browser/android/contextualsearch/contextual_search_delegate.h
|
| diff --git a/chrome/browser/android/contextualsearch/contextual_search_delegate.h b/chrome/browser/android/contextualsearch/contextual_search_delegate.h
|
| index 8714afe5da0cd33b116b2c57ca0be7ae678592a4..99ccf6ef74b87b79ea9308b18a1e49bf5b254860 100644
|
| --- a/chrome/browser/android/contextualsearch/contextual_search_delegate.h
|
| +++ b/chrome/browser/android/contextualsearch/contextual_search_delegate.h
|
| @@ -11,6 +11,7 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/android/contextualsearch/contextual_search_context.h"
|
| +#include "chrome/browser/android/contextualsearch/resolved_search_term.h"
|
| #include "content/public/browser/android/content_view_core.h"
|
| #include "net/url_request/url_fetcher_delegate.h"
|
|
|
| @@ -27,14 +28,8 @@ class ContextualSearchDelegate
|
| : public net::URLFetcherDelegate,
|
| public base::SupportsWeakPtr<ContextualSearchDelegate> {
|
| public:
|
| - typedef base::Callback<void(bool,
|
| - int,
|
| - const std::string&,
|
| - const std::string&,
|
| - const std::string&,
|
| - bool,
|
| - int,
|
| - int)> SearchTermResolutionCallback;
|
| + typedef base::Callback<void(const ResolvedSearchTerm&)>
|
| + SearchTermResolutionCallback;
|
| typedef base::Callback<
|
| void(const std::string&, const std::string&)> SurroundingTextCallback;
|
| typedef base::Callback<
|
| @@ -77,6 +72,9 @@ class ContextualSearchDelegate
|
| // text has been gathered.
|
| void ContinueSearchTermResolutionRequest();
|
|
|
| + // Gets the target language for translation purposes (cached).
|
| + std::string GetTargetLanguage();
|
| +
|
| // For testing.
|
| void set_context_for_testing(ContextualSearchContext* context) {
|
| context_.reset(context);
|
| @@ -96,7 +94,7 @@ class ContextualSearchDelegate
|
| FRIEND_TEST_ALL_PREFIXES(ContextualSearchDelegateTest,
|
| SurroundingTextForIcingNegativeLimit);
|
| FRIEND_TEST_ALL_PREFIXES(ContextualSearchDelegateTest,
|
| - DecodeSearchTermsFromJsonResponse);
|
| + DecodeSearchTermFromJsonResponse);
|
|
|
| // net::URLFetcherDelegate:
|
| void OnURLFetchComplete(const net::URLFetcher* source) override;
|
| @@ -151,13 +149,14 @@ class ContextualSearchDelegate
|
| TemplateURLService* template_url_service);
|
|
|
| // Decodes the given json response string and extracts parameters.
|
| - void DecodeSearchTermsFromJsonResponse(const std::string& response,
|
| - std::string* search_term,
|
| - std::string* display_text,
|
| - std::string* alternate_term,
|
| - std::string* prevent_preload,
|
| - int* mention_start,
|
| - int* mention_end);
|
| + void DecodeSearchTermFromJsonResponse(const std::string& response,
|
| + std::string* search_term,
|
| + std::string* display_text,
|
| + std::string* alternate_term,
|
| + std::string* prevent_preload,
|
| + int* mention_start,
|
| + int* mention_end,
|
| + std::string* lang);
|
|
|
| void ExtractMentionsStartEnd(const base::ListValue& mentions_list,
|
| int* startResult,
|
| @@ -208,6 +207,10 @@ class ContextualSearchDelegate
|
| // Used to hold the context until an upcoming search term request is started.
|
| scoped_ptr<ContextualSearchContext> context_;
|
|
|
| + // Cached Target Language string, to determine when we need to trigger
|
| + // translation.
|
| + std::string target_language_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ContextualSearchDelegate);
|
| };
|
|
|
|
|