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 dde551b3f383191ccf5631f0dd169bb790768a2a..bdec64a8c205681bcc9789e242730eb3e7fb59a5 100644 |
--- a/chrome/browser/android/contextualsearch/contextual_search_delegate.h |
+++ b/chrome/browser/android/contextualsearch/contextual_search_delegate.h |
@@ -43,11 +43,6 @@ class ContextualSearchDelegate |
// Provides the Resolved Search Term, called when the Resolve Request returns. |
typedef base::Callback<void(const ResolvedSearchTerm&)> |
SearchTermResolutionCallback; |
- // Provides the surrounding text and selection start/end when Blink gathers |
- // surrounding text for the Context. |
- typedef base::Callback< |
- void(const base::string16&, int, int)> |
- HandleSurroundingsCallback; |
// Provides limited surrounding text for icing. |
typedef base::Callback< |
void(const std::string&, const base::string16&, size_t, size_t)> |
@@ -66,24 +61,19 @@ class ContextualSearchDelegate |
const IcingCallback& icing_callback); |
~ContextualSearchDelegate() override; |
- // Gathers surrounding text and starts an asynchronous search term resolution |
- // request. The "search term" is the best query to issue for a section of text |
- // in the context of a web page. When the response is available the callback |
- // specified in the constructor is run. |
- void StartSearchTermResolutionRequest(const std::string& selection, |
- const std::string& home_country, |
- content::WebContents* web_contents, |
- bool may_send_base_page_url); |
- |
- // Gathers surrounding text and saves it locally for a future query. |
- void GatherAndSaveSurroundingText(const std::string& selection, |
- const std::string& home_country, |
- content::WebContents* web_contents, |
- bool may_send_base_page_url); |
- |
- // Continues making a Search Term Resolution request, once the surrounding |
- // text has been gathered. |
- void ContinueSearchTermResolutionRequest(); |
+ // Gathers surrounding text and saves it locally in the given context. |
+ void GatherAndSaveSurroundingText( |
+ ContextualSearchContext* contextual_search_context, |
+ content::WebContents* web_contents); |
+ |
+ // Starts an asynchronous search term resolution request. |
+ // The given context includes some content from a web page and must be able |
+ // to resolve. |
+ // When the response is available the callback specified in the constructor |
+ // is run. |
+ void StartSearchTermResolutionRequest( |
+ ContextualSearchContext* contextual_search_context, |
+ content::WebContents* web_contents); |
// Gets the target language for translation purposes for this user. |
std::string GetTargetLanguage(); |
@@ -93,10 +83,15 @@ class ContextualSearchDelegate |
// For testing. |
void set_context_for_testing(ContextualSearchContext* context) { |
- context_.reset(context); |
+ context_ = context; |
} |
private: |
+ // Friend our test which allows our private methods to be used in helper |
+ // functions. FRIEND_TEST_ALL_PREFIXES just friends individual prefixes. |
+ // Needed for |ResolveSearchTermFromContext|. |
+ friend class ContextualSearchDelegateTest; |
+ // TODO(donnd): consider removing the following since the above covers this. |
FRIEND_TEST_ALL_PREFIXES(ContextualSearchDelegateTest, |
SurroundingTextHighMaximum); |
FRIEND_TEST_ALL_PREFIXES(ContextualSearchDelegateTest, |
@@ -118,12 +113,9 @@ class ContextualSearchDelegate |
// net::URLFetcherDelegate: |
void OnURLFetchComplete(const net::URLFetcher* source) override; |
- // Builds the ContextualSearchContext in the current context from |
- // the given parameters. |
- void BuildContext(const std::string& selection, |
- const std::string& home_country, |
- content::WebContents* web_contents, |
- bool may_send_base_page_url); |
+ // Resolves the search term specified by the current context. |
+ // Only needed for tests. TODO(donnd): make private and friend? |
+ void ResolveSearchTermFromContext(); |
// Builds and returns the search term resolution request URL. |
// |selection| is used as the default query. |
@@ -136,17 +128,9 @@ class ContextualSearchDelegate |
const std::string& base_page_url, |
const bool may_send_base_page_url); |
- // Will gather the surrounding text from the |content_view_core| and call the |
- // |callback|. |
- void GatherSurroundingTextWithCallback(const std::string& selection, |
- const std::string& home_country, |
- content::WebContents* web_contents, |
- bool may_send_base_page_url, |
- HandleSurroundingsCallback callback); |
- |
- // Callback for GatherSurroundingTextWithCallback(). Will start the search |
- // term resolution request. |
- void StartSearchTermRequestFromSelection( |
+ // Callback for GatherAndSaveSurroundingText, called when surrounding text is |
+ // available. |
+ void OnTextSurroundingSelectionAvailable( |
const base::string16& surrounding_text, |
int start_offset, |
int end_offset); |
@@ -243,7 +227,8 @@ class ContextualSearchDelegate |
IcingCallback icing_callback_; |
// Used to hold the context until an upcoming search term request is started. |
- std::unique_ptr<ContextualSearchContext> context_; |
+ // Owned by the Java ContextualSearchContext. |
+ ContextualSearchContext* context_; |
DISALLOW_COPY_AND_ASSIGN(ContextualSearchDelegate); |
}; |