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 |