| 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 #include "chrome/browser/android/contextualsearch/contextual_search_manager.h" | 5 #include "chrome/browser/android/contextualsearch/contextual_search_manager.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 base::Bind(&ContextualSearchManager::OnSearchTermResolutionResponse, | 45 base::Bind(&ContextualSearchManager::OnSearchTermResolutionResponse, |
| 46 base::Unretained(this)), | 46 base::Unretained(this)), |
| 47 base::Bind(&ContextualSearchManager::OnSurroundingTextAvailable, | 47 base::Bind(&ContextualSearchManager::OnSurroundingTextAvailable, |
| 48 base::Unretained(this)), | 48 base::Unretained(this)), |
| 49 base::Bind(&ContextualSearchManager::OnIcingSelectionAvailable, | 49 base::Bind(&ContextualSearchManager::OnIcingSelectionAvailable, |
| 50 base::Unretained(this)))); | 50 base::Unretained(this)))); |
| 51 } | 51 } |
| 52 | 52 |
| 53 ContextualSearchManager::~ContextualSearchManager() { | 53 ContextualSearchManager::~ContextualSearchManager() { |
| 54 JNIEnv* env = base::android::AttachCurrentThread(); | 54 JNIEnv* env = base::android::AttachCurrentThread(); |
| 55 Java_ContextualSearchManager_clearNativeManager(env, java_manager_.obj()); | 55 Java_ContextualSearchManager_clearNativeManager(env, java_manager_); |
| 56 } | 56 } |
| 57 | 57 |
| 58 void ContextualSearchManager::Destroy(JNIEnv* env, | 58 void ContextualSearchManager::Destroy(JNIEnv* env, |
| 59 const JavaParamRef<jobject>& obj) { | 59 const JavaParamRef<jobject>& obj) { |
| 60 delete this; | 60 delete this; |
| 61 } | 61 } |
| 62 | 62 |
| 63 void ContextualSearchManager::StartSearchTermResolutionRequest( | 63 void ContextualSearchManager::StartSearchTermResolutionRequest( |
| 64 JNIEnv* env, | 64 JNIEnv* env, |
| 65 const JavaParamRef<jobject>& obj, | 65 const JavaParamRef<jobject>& obj, |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 base::android::ScopedJavaLocalRef<jstring> j_alternate_term = | 131 base::android::ScopedJavaLocalRef<jstring> j_alternate_term = |
| 132 base::android::ConvertUTF8ToJavaString( | 132 base::android::ConvertUTF8ToJavaString( |
| 133 env, resolved_search_term.alternate_term.c_str()); | 133 env, resolved_search_term.alternate_term.c_str()); |
| 134 base::android::ScopedJavaLocalRef<jstring> j_mid = | 134 base::android::ScopedJavaLocalRef<jstring> j_mid = |
| 135 base::android::ConvertUTF8ToJavaString(env, | 135 base::android::ConvertUTF8ToJavaString(env, |
| 136 resolved_search_term.mid.c_str()); | 136 resolved_search_term.mid.c_str()); |
| 137 base::android::ScopedJavaLocalRef<jstring> j_context_language = | 137 base::android::ScopedJavaLocalRef<jstring> j_context_language = |
| 138 base::android::ConvertUTF8ToJavaString( | 138 base::android::ConvertUTF8ToJavaString( |
| 139 env, resolved_search_term.context_language.c_str()); | 139 env, resolved_search_term.context_language.c_str()); |
| 140 Java_ContextualSearchManager_onSearchTermResolutionResponse( | 140 Java_ContextualSearchManager_onSearchTermResolutionResponse( |
| 141 env, java_manager_.obj(), resolved_search_term.is_invalid, | 141 env, java_manager_, resolved_search_term.is_invalid, |
| 142 resolved_search_term.response_code, j_search_term.obj(), | 142 resolved_search_term.response_code, j_search_term, j_display_text, |
| 143 j_display_text.obj(), j_alternate_term.obj(), j_mid.obj(), | 143 j_alternate_term, j_mid, resolved_search_term.prevent_preload, |
| 144 resolved_search_term.prevent_preload, | |
| 145 resolved_search_term.selection_start_adjust, | 144 resolved_search_term.selection_start_adjust, |
| 146 resolved_search_term.selection_end_adjust, j_context_language.obj()); | 145 resolved_search_term.selection_end_adjust, j_context_language); |
| 147 } | 146 } |
| 148 | 147 |
| 149 void ContextualSearchManager::OnSurroundingTextAvailable( | 148 void ContextualSearchManager::OnSurroundingTextAvailable( |
| 150 const std::string& after_text) { | 149 const std::string& after_text) { |
| 151 JNIEnv* env = base::android::AttachCurrentThread(); | 150 JNIEnv* env = base::android::AttachCurrentThread(); |
| 152 base::android::ScopedJavaLocalRef<jstring> j_after_text = | 151 base::android::ScopedJavaLocalRef<jstring> j_after_text = |
| 153 base::android::ConvertUTF8ToJavaString(env, after_text.c_str()); | 152 base::android::ConvertUTF8ToJavaString(env, after_text.c_str()); |
| 154 Java_ContextualSearchManager_onSurroundingTextAvailable( | 153 Java_ContextualSearchManager_onSurroundingTextAvailable(env, java_manager_, |
| 155 env, | 154 j_after_text); |
| 156 java_manager_.obj(), | |
| 157 j_after_text.obj()); | |
| 158 } | 155 } |
| 159 | 156 |
| 160 void ContextualSearchManager::OnIcingSelectionAvailable( | 157 void ContextualSearchManager::OnIcingSelectionAvailable( |
| 161 const std::string& encoding, | 158 const std::string& encoding, |
| 162 const base::string16& surrounding_text, | 159 const base::string16& surrounding_text, |
| 163 size_t start_offset, | 160 size_t start_offset, |
| 164 size_t end_offset) { | 161 size_t end_offset) { |
| 165 JNIEnv* env = base::android::AttachCurrentThread(); | 162 JNIEnv* env = base::android::AttachCurrentThread(); |
| 166 base::android::ScopedJavaLocalRef<jstring> j_encoding = | 163 base::android::ScopedJavaLocalRef<jstring> j_encoding = |
| 167 base::android::ConvertUTF8ToJavaString(env, encoding.c_str()); | 164 base::android::ConvertUTF8ToJavaString(env, encoding.c_str()); |
| 168 base::android::ScopedJavaLocalRef<jstring> j_surrounding_text = | 165 base::android::ScopedJavaLocalRef<jstring> j_surrounding_text = |
| 169 base::android::ConvertUTF16ToJavaString(env, surrounding_text.c_str()); | 166 base::android::ConvertUTF16ToJavaString(env, surrounding_text.c_str()); |
| 170 Java_ContextualSearchManager_onIcingSelectionAvailable( | 167 Java_ContextualSearchManager_onIcingSelectionAvailable( |
| 171 env, java_manager_.obj(), j_encoding.obj(), j_surrounding_text.obj(), | 168 env, java_manager_, j_encoding, j_surrounding_text, start_offset, |
| 172 start_offset, end_offset); | 169 end_offset); |
| 173 } | 170 } |
| 174 | 171 |
| 175 void ContextualSearchManager::EnableContextualSearchJsApiForOverlay( | 172 void ContextualSearchManager::EnableContextualSearchJsApiForOverlay( |
| 176 JNIEnv* env, | 173 JNIEnv* env, |
| 177 jobject obj, | 174 jobject obj, |
| 178 const JavaParamRef<jobject>& j_overlay_web_contents) { | 175 const JavaParamRef<jobject>& j_overlay_web_contents) { |
| 179 WebContents* overlay_web_contents = | 176 WebContents* overlay_web_contents = |
| 180 WebContents::FromJavaWebContents(j_overlay_web_contents.obj()); | 177 WebContents::FromJavaWebContents(j_overlay_web_contents.obj()); |
| 181 DCHECK(overlay_web_contents); | 178 DCHECK(overlay_web_contents); |
| 182 // Tell our Overlay Notifier Service that this is currently a CS page. | 179 // Tell our Overlay Notifier Service that this is currently a CS page. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 201 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 198 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
| 202 ContextualSearchManager* manager = new ContextualSearchManager(env, obj); | 199 ContextualSearchManager* manager = new ContextualSearchManager(env, obj); |
| 203 return reinterpret_cast<intptr_t>(manager); | 200 return reinterpret_cast<intptr_t>(manager); |
| 204 } | 201 } |
| 205 | 202 |
| 206 void ContextualSearchManager::SetCaption(std::string caption, | 203 void ContextualSearchManager::SetCaption(std::string caption, |
| 207 bool does_answer) { | 204 bool does_answer) { |
| 208 JNIEnv* env = base::android::AttachCurrentThread(); | 205 JNIEnv* env = base::android::AttachCurrentThread(); |
| 209 base::android::ScopedJavaLocalRef<jstring> j_caption = | 206 base::android::ScopedJavaLocalRef<jstring> j_caption = |
| 210 base::android::ConvertUTF8ToJavaString(env, caption.c_str()); | 207 base::android::ConvertUTF8ToJavaString(env, caption.c_str()); |
| 211 Java_ContextualSearchManager_onSetCaption(env, java_manager_.obj(), | 208 Java_ContextualSearchManager_onSetCaption(env, java_manager_, j_caption, |
| 212 j_caption.obj(), does_answer); | 209 does_answer); |
| 213 } | 210 } |
| OLD | NEW |