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

Side by Side Diff: chrome/browser/ui/android/context_menu_helper.cc

Issue 1828193002: DCHECK that jstring to C++ string conversions don't pass in null. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix all the things Created 4 years, 8 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/ui/android/context_menu_helper.h" 5 #include "chrome/browser/ui/android/context_menu_helper.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_array.h" 10 #include "base/android/jni_array.h"
11 #include "base/android/jni_string.h" 11 #include "base/android/jni_string.h"
12 #include "chrome/browser/ui/tab_contents/core_tab_helper.h" 12 #include "chrome/browser/ui/tab_contents/core_tab_helper.h"
13 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_heade rs.h" 13 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_heade rs.h"
14 #include "content/public/browser/android/content_view_core.h" 14 #include "content/public/browser/android/content_view_core.h"
15 #include "content/public/browser/android/download_controller_android.h" 15 #include "content/public/browser/android/download_controller_android.h"
16 #include "content/public/browser/render_frame_host.h" 16 #include "content/public/browser/render_frame_host.h"
17 #include "content/public/browser/render_process_host.h" 17 #include "content/public/browser/render_process_host.h"
18 #include "content/public/common/context_menu_params.h" 18 #include "content/public/common/context_menu_params.h"
19 #include "jni/ContextMenuHelper_jni.h" 19 #include "jni/ContextMenuHelper_jni.h"
20 #include "jni/ContextMenuParams_jni.h" 20 #include "jni/ContextMenuParams_jni.h"
21 #include "ui/android/window_android.h" 21 #include "ui/android/window_android.h"
22 #include "ui/gfx/geometry/point.h" 22 #include "ui/gfx/geometry/point.h"
23 23
24 using base::android::ConvertJavaStringToUTF8; 24 using base::android::ConvertJavaStringToUTF8;
25 using base::android::ConvertUTF8ToJavaString; 25 using base::android::ConvertUTF8ToJavaString;
26 using base::android::ConvertUTF16ToJavaString; 26 using base::android::ConvertUTF16ToJavaString;
27 27
28 DEFINE_WEB_CONTENTS_USER_DATA_KEY(ContextMenuHelper); 28 DEFINE_WEB_CONTENTS_USER_DATA_KEY(ContextMenuHelper);
29 29
30 namespace {
31
32 const int kShareImageMaxWidth = 2048; 30 const int kShareImageMaxWidth = 2048;
33 const int kShareImageMaxHeight = 2048; 31 const int kShareImageMaxHeight = 2048;
34 32
35 } // namespace 33 const char kDataReductionProxyPassthroughHeader[] =
Miguel Garcia 2016/03/30 14:30:12 can you at least add a comment saying that the jav
Bernhard Bauer 2016/03/30 14:43:44 It's gone from there. That value was only used to
34 "Chrome-Proxy: pass-through\r\n";
36 35
37 ContextMenuHelper::ContextMenuHelper(content::WebContents* web_contents) 36 ContextMenuHelper::ContextMenuHelper(content::WebContents* web_contents)
38 : web_contents_(web_contents) { 37 : web_contents_(web_contents) {
39 JNIEnv* env = base::android::AttachCurrentThread(); 38 JNIEnv* env = base::android::AttachCurrentThread();
40 java_obj_.Reset( 39 java_obj_.Reset(
41 env, 40 env,
42 Java_ContextMenuHelper_create(env, reinterpret_cast<long>(this)).obj()); 41 Java_ContextMenuHelper_create(env, reinterpret_cast<long>(this)).obj());
43 DCHECK(!java_obj_.is_null()); 42 DCHECK(!java_obj_.is_null());
44 } 43 }
45 44
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 ConvertUTF8ToJavaString(env, params.unfiltered_link_url.spec()).obj(), 100 ConvertUTF8ToJavaString(env, params.unfiltered_link_url.spec()).obj(),
102 ConvertUTF8ToJavaString(env, params.src_url.spec()).obj(), 101 ConvertUTF8ToJavaString(env, params.src_url.spec()).obj(),
103 ConvertUTF16ToJavaString(env, params.title_text).obj(), 102 ConvertUTF16ToJavaString(env, params.title_text).obj(),
104 image_was_fetched_lo_fi, 103 image_was_fetched_lo_fi,
105 ConvertUTF8ToJavaString(env, sanitizedReferrer.spec()).obj(), 104 ConvertUTF8ToJavaString(env, sanitizedReferrer.spec()).obj(),
106 params.referrer_policy); 105 params.referrer_policy);
107 106
108 return jmenu_info; 107 return jmenu_info;
109 } 108 }
110 109
111 void ContextMenuHelper::OnStartDownload(JNIEnv* env, 110 void ContextMenuHelper::OnStartDownload(
112 const JavaParamRef<jobject>& obj, 111 JNIEnv* env,
113 jboolean jis_link, 112 const JavaParamRef<jobject>& obj,
114 const JavaParamRef<jstring>& jheaders) { 113 jboolean jis_link,
115 std::string headers(ConvertJavaStringToUTF8(env, jheaders)); 114 jboolean jis_data_reduction_proxy_enabled) {
115 std::string headers;
116 if (jis_data_reduction_proxy_enabled)
117 headers = kDataReductionProxyPassthroughHeader;
118
116 content::DownloadControllerAndroid::Get()->StartContextMenuDownload( 119 content::DownloadControllerAndroid::Get()->StartContextMenuDownload(
117 context_menu_params_, 120 context_menu_params_,
118 web_contents_, 121 web_contents_,
119 jis_link, 122 jis_link,
120 headers); 123 headers);
121 } 124 }
122 125
123 void ContextMenuHelper::SearchForImage(JNIEnv* env, 126 void ContextMenuHelper::SearchForImage(JNIEnv* env,
124 const JavaParamRef<jobject>& obj) { 127 const JavaParamRef<jobject>& obj) {
125 content::RenderFrameHost* render_frame_host = 128 content::RenderFrameHost* render_frame_host =
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 env, 173 env,
171 java_obj_.obj(), 174 java_obj_.obj(),
172 jwindow_android.obj(), 175 jwindow_android.obj(),
173 j_bytes.obj()); 176 j_bytes.obj());
174 } 177 }
175 178
176 bool RegisterContextMenuHelper(JNIEnv* env) { 179 bool RegisterContextMenuHelper(JNIEnv* env) {
177 return RegisterNativesImpl(env) && 180 return RegisterNativesImpl(env) &&
178 ContextMenuParamsAndroid::RegisterNativesImpl(env); 181 ContextMenuParamsAndroid::RegisterNativesImpl(env);
179 } 182 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698