| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_CONTEXTUAL_SEARCH_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_CONTEXTUAL_SEARCH_MANAGER_H_ |
| 6 #define CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_CONTEXTUAL_SEARCH_MANAGER_H_ | 6 #define CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_CONTEXTUAL_SEARCH_MANAGER_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
| 11 #include "base/macros.h" | 11 #include "base/macros.h" |
| 12 #include "base/task/cancelable_task_tracker.h" | 12 #include "base/task/cancelable_task_tracker.h" |
| 13 #include "chrome/browser/android/contextualsearch/contextual_search_context.h" | 13 #include "chrome/browser/android/contextualsearch/contextual_search_context.h" |
| 14 #include "chrome/browser/android/contextualsearch/contextual_search_delegate.h" | 14 #include "chrome/browser/android/contextualsearch/contextual_search_delegate.h" |
| 15 #include "components/contextual_search/browser/contextual_search_js_api_handler.
h" | 15 #include "components/contextual_search/browser/contextual_search_js_api_handler.
h" |
| 16 | 16 |
| 17 // Manages the native extraction and request logic for Contextual Search, | 17 // Manages the native extraction and request logic for Contextual Search, |
| 18 // and interacts with the Java ContextualSearchManager for UX. | 18 // and interacts with the Java ContextualSearchManager for UX. |
| 19 // Most of the work is done by the associated ContextualSearchDelegate. | 19 // Most of the work is done by the associated ContextualSearchDelegate. |
| 20 class ContextualSearchManager | 20 class ContextualSearchManager |
| 21 : public contextual_search::ContextualSearchJsApiHandler { | 21 : public contextual_search::ContextualSearchJsApiHandler { |
| 22 public: | 22 public: |
| 23 // Constructs a native manager associated with the Java manager. | 23 // Constructs a native manager associated with the Java manager. |
| 24 ContextualSearchManager(JNIEnv* env, jobject obj); | 24 ContextualSearchManager(JNIEnv* env, |
| 25 const base::android::JavaRef<jobject>& obj); |
| 25 ~ContextualSearchManager() override; | 26 ~ContextualSearchManager() override; |
| 26 | 27 |
| 27 // Called by the Java ContextualSearchManager when it is being destroyed. | 28 // Called by the Java ContextualSearchManager when it is being destroyed. |
| 28 void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); | 29 void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); |
| 29 | 30 |
| 30 // Starts the request to get the search terms to use for the given selection, | 31 // Starts the request to get the search terms to use for the given selection, |
| 31 // by accessing our server with the content of the page (from the given | 32 // by accessing our server with the content of the page (from the given |
| 32 // content view core object). | 33 // content view core object). |
| 33 // Any outstanding server requests are canceled. | 34 // Any outstanding server requests are canceled. |
| 34 // When the server responds with the search term, the Java object is notified | 35 // When the server responds with the search term, the Java object is notified |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 | 90 |
| 90 // The delegate we're using the do the real work. | 91 // The delegate we're using the do the real work. |
| 91 std::unique_ptr<ContextualSearchDelegate> delegate_; | 92 std::unique_ptr<ContextualSearchDelegate> delegate_; |
| 92 | 93 |
| 93 DISALLOW_COPY_AND_ASSIGN(ContextualSearchManager); | 94 DISALLOW_COPY_AND_ASSIGN(ContextualSearchManager); |
| 94 }; | 95 }; |
| 95 | 96 |
| 96 bool RegisterContextualSearchManager(JNIEnv* env); | 97 bool RegisterContextualSearchManager(JNIEnv* env); |
| 97 | 98 |
| 98 #endif // CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_CONTEXTUAL_SEARCH_MANAGER_H_ | 99 #endif // CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_CONTEXTUAL_SEARCH_MANAGER_H_ |
| OLD | NEW |