Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(129)

Side by Side Diff: chrome/browser/android/contextualsearch/contextual_search_manager.cc

Issue 1354763003: [Contextual Search] Trigger the translation one-box. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated comment about test infrastructure needing to be updated when shifting to new API. Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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"
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "base/time/time.h" 12 #include "base/time/time.h"
13 #include "chrome/browser/android/contextualsearch/contextual_search_delegate.h" 13 #include "chrome/browser/android/contextualsearch/contextual_search_delegate.h"
14 #include "chrome/browser/android/contextualsearch/resolved_search_term.h"
14 #include "chrome/browser/android/tab_android.h" 15 #include "chrome/browser/android/tab_android.h"
15 #include "chrome/browser/profiles/profile_manager.h" 16 #include "chrome/browser/profiles/profile_manager.h"
16 #include "chrome/browser/search_engines/template_url_service_factory.h" 17 #include "chrome/browser/search_engines/template_url_service_factory.h"
17 #include "chrome/browser/ui/android/window_android_helper.h" 18 #include "chrome/browser/ui/android/window_android_helper.h"
18 #include "components/navigation_interception/intercept_navigation_delegate.h" 19 #include "components/navigation_interception/intercept_navigation_delegate.h"
19 #include "components/variations/variations_associated_data.h" 20 #include "components/variations/variations_associated_data.h"
20 #include "content/public/browser/android/content_view_core.h" 21 #include "content/public/browser/android/content_view_core.h"
21 #include "jni/ContextualSearchManager_jni.h" 22 #include "jni/ContextualSearchManager_jni.h"
22 #include "net/url_request/url_fetcher_impl.h" 23 #include "net/url_request/url_fetcher_impl.h"
23 24
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 DCHECK(base_content_view_core); 83 DCHECK(base_content_view_core);
83 std::string selection( 84 std::string selection(
84 base::android::ConvertJavaStringToUTF8(env, j_selection)); 85 base::android::ConvertJavaStringToUTF8(env, j_selection));
85 bool use_resolved_search_term = j_use_resolved_search_term; 86 bool use_resolved_search_term = j_use_resolved_search_term;
86 bool may_send_base_page_url = j_may_send_base_page_url; 87 bool may_send_base_page_url = j_may_send_base_page_url;
87 delegate_->GatherAndSaveSurroundingText(selection, use_resolved_search_term, 88 delegate_->GatherAndSaveSurroundingText(selection, use_resolved_search_term,
88 base_content_view_core, 89 base_content_view_core,
89 may_send_base_page_url); 90 may_send_base_page_url);
90 } 91 }
91 92
93 base::android::ScopedJavaLocalRef<jstring>
94 ContextualSearchManager::GetTargetLanguage(JNIEnv* env, jobject obj) {
95 std::string target_language = delegate_->GetTargetLanguage();
96 base::android::ScopedJavaLocalRef<jstring> j_target_language =
97 base::android::ConvertUTF8ToJavaString(env, target_language.c_str());
98 return j_target_language;
99 }
100
101 base::android::ScopedJavaLocalRef<jstring>
102 ContextualSearchManager::GetAcceptLanguages(JNIEnv* env, jobject obj) {
103 std::string accept_languages = delegate_->GetAcceptLanguages();
104 base::android::ScopedJavaLocalRef<jstring> j_accept_languages =
105 base::android::ConvertUTF8ToJavaString(env, accept_languages.c_str());
106 return j_accept_languages;
107 }
108
92 void ContextualSearchManager::OnSearchTermResolutionResponse( 109 void ContextualSearchManager::OnSearchTermResolutionResponse(
93 bool is_invalid, 110 const ResolvedSearchTerm& resolved_search_term) {
94 int response_code,
95 const std::string& search_term,
96 const std::string& display_text,
97 const std::string& alternate_term,
98 bool prevent_preload,
99 int selection_start_adjust,
100 int selection_end_adjust) {
101 // Notify the Java UX of the result. 111 // Notify the Java UX of the result.
102 JNIEnv* env = base::android::AttachCurrentThread(); 112 JNIEnv* env = base::android::AttachCurrentThread();
103 base::android::ScopedJavaLocalRef<jstring> j_search_term = 113 base::android::ScopedJavaLocalRef<jstring> j_search_term =
104 base::android::ConvertUTF8ToJavaString(env, search_term.c_str()); 114 base::android::ConvertUTF8ToJavaString(
115 env, resolved_search_term.search_term.c_str());
105 base::android::ScopedJavaLocalRef<jstring> j_display_text = 116 base::android::ScopedJavaLocalRef<jstring> j_display_text =
106 base::android::ConvertUTF8ToJavaString(env, display_text.c_str()); 117 base::android::ConvertUTF8ToJavaString(
118 env, resolved_search_term.display_text.c_str());
107 base::android::ScopedJavaLocalRef<jstring> j_alternate_term = 119 base::android::ScopedJavaLocalRef<jstring> j_alternate_term =
108 base::android::ConvertUTF8ToJavaString(env, alternate_term.c_str()); 120 base::android::ConvertUTF8ToJavaString(
121 env, resolved_search_term.alternate_term.c_str());
122 base::android::ScopedJavaLocalRef<jstring> j_context_language =
123 base::android::ConvertUTF8ToJavaString(
124 env, resolved_search_term.context_language.c_str());
109 Java_ContextualSearchManager_onSearchTermResolutionResponse( 125 Java_ContextualSearchManager_onSearchTermResolutionResponse(
110 env, java_manager_.obj(), is_invalid, response_code, j_search_term.obj(), 126 env, java_manager_.obj(), resolved_search_term.is_invalid,
111 j_display_text.obj(), j_alternate_term.obj(), prevent_preload, 127 resolved_search_term.response_code, j_search_term.obj(),
112 selection_start_adjust, selection_end_adjust); 128 j_display_text.obj(), j_alternate_term.obj(),
129 resolved_search_term.prevent_preload,
130 resolved_search_term.selection_start_adjust,
131 resolved_search_term.selection_end_adjust, j_context_language.obj());
113 } 132 }
114 133
115 void ContextualSearchManager::OnSurroundingTextAvailable( 134 void ContextualSearchManager::OnSurroundingTextAvailable(
116 const std::string& after_text) { 135 const std::string& after_text) {
117 JNIEnv* env = base::android::AttachCurrentThread(); 136 JNIEnv* env = base::android::AttachCurrentThread();
118 base::android::ScopedJavaLocalRef<jstring> j_after_text = 137 base::android::ScopedJavaLocalRef<jstring> j_after_text =
119 base::android::ConvertUTF8ToJavaString(env, after_text.c_str()); 138 base::android::ConvertUTF8ToJavaString(env, after_text.c_str());
120 Java_ContextualSearchManager_onSurroundingTextAvailable( 139 Java_ContextualSearchManager_onSurroundingTextAvailable(
121 env, 140 env,
122 java_manager_.obj(), 141 java_manager_.obj(),
(...skipping 16 matching lines...) Expand all
139 } 158 }
140 159
141 bool RegisterContextualSearchManager(JNIEnv* env) { 160 bool RegisterContextualSearchManager(JNIEnv* env) {
142 return RegisterNativesImpl(env); 161 return RegisterNativesImpl(env);
143 } 162 }
144 163
145 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { 164 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
146 ContextualSearchManager* manager = new ContextualSearchManager(env, obj); 165 ContextualSearchManager* manager = new ContextualSearchManager(env, obj);
147 return reinterpret_cast<intptr_t>(manager); 166 return reinterpret_cast<intptr_t>(manager);
148 } 167 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698