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

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: Created 5 years, 3 months 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
92 void ContextualSearchManager::OnSearchTermResolutionResponse( 101 void ContextualSearchManager::OnSearchTermResolutionResponse(
93 bool is_invalid, 102 const ResolvedSearchTerm& resolved_search_term) {
pedro (no code reviews) 2015/09/23 18:33:55 I don't see the point why we are storing this in a
Donn Denman 2015/10/09 22:08:23 I think it makes this code and the tests more read
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. 103 // Notify the Java UX of the result.
102 JNIEnv* env = base::android::AttachCurrentThread(); 104 JNIEnv* env = base::android::AttachCurrentThread();
103 base::android::ScopedJavaLocalRef<jstring> j_search_term = 105 base::android::ScopedJavaLocalRef<jstring> j_search_term =
104 base::android::ConvertUTF8ToJavaString(env, search_term.c_str()); 106 base::android::ConvertUTF8ToJavaString(
107 env, resolved_search_term.search_term.c_str());
105 base::android::ScopedJavaLocalRef<jstring> j_display_text = 108 base::android::ScopedJavaLocalRef<jstring> j_display_text =
106 base::android::ConvertUTF8ToJavaString(env, display_text.c_str()); 109 base::android::ConvertUTF8ToJavaString(
110 env, resolved_search_term.display_text.c_str());
107 base::android::ScopedJavaLocalRef<jstring> j_alternate_term = 111 base::android::ScopedJavaLocalRef<jstring> j_alternate_term =
108 base::android::ConvertUTF8ToJavaString(env, alternate_term.c_str()); 112 base::android::ConvertUTF8ToJavaString(
113 env, resolved_search_term.alternate_term.c_str());
114 base::android::ScopedJavaLocalRef<jstring> j_language =
115 base::android::ConvertUTF8ToJavaString(
116 env, resolved_search_term.language.c_str());
109 Java_ContextualSearchManager_onSearchTermResolutionResponse( 117 Java_ContextualSearchManager_onSearchTermResolutionResponse(
110 env, java_manager_.obj(), is_invalid, response_code, j_search_term.obj(), 118 env, java_manager_.obj(), resolved_search_term.is_invalid,
111 j_display_text.obj(), j_alternate_term.obj(), prevent_preload, 119 resolved_search_term.response_code, j_search_term.obj(),
112 selection_start_adjust, selection_end_adjust); 120 j_display_text.obj(), j_alternate_term.obj(),
121 resolved_search_term.prevent_preload,
122 resolved_search_term.selection_start_adjust,
123 resolved_search_term.selection_end_adjust, j_language.obj());
113 } 124 }
114 125
115 void ContextualSearchManager::OnSurroundingTextAvailable( 126 void ContextualSearchManager::OnSurroundingTextAvailable(
116 const std::string& before_text, 127 const std::string& before_text,
117 const std::string& after_text) { 128 const std::string& after_text) {
118 JNIEnv* env = base::android::AttachCurrentThread(); 129 JNIEnv* env = base::android::AttachCurrentThread();
119 base::android::ScopedJavaLocalRef<jstring> j_before_text = 130 base::android::ScopedJavaLocalRef<jstring> j_before_text =
120 base::android::ConvertUTF8ToJavaString(env, before_text.c_str()); 131 base::android::ConvertUTF8ToJavaString(env, before_text.c_str());
121 base::android::ScopedJavaLocalRef<jstring> j_after_text = 132 base::android::ScopedJavaLocalRef<jstring> j_after_text =
122 base::android::ConvertUTF8ToJavaString(env, after_text.c_str()); 133 base::android::ConvertUTF8ToJavaString(env, after_text.c_str());
(...skipping 20 matching lines...) Expand all
143 } 154 }
144 155
145 bool RegisterContextualSearchManager(JNIEnv* env) { 156 bool RegisterContextualSearchManager(JNIEnv* env) {
146 return RegisterNativesImpl(env); 157 return RegisterNativesImpl(env);
147 } 158 }
148 159
149 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { 160 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
150 ContextualSearchManager* manager = new ContextualSearchManager(env, obj); 161 ContextualSearchManager* manager = new ContextualSearchManager(env, obj);
151 return reinterpret_cast<intptr_t>(manager); 162 return reinterpret_cast<intptr_t>(manager);
152 } 163 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698