Index: components/web_contents_delegate_android/color_chooser_android.cc |
diff --git a/components/web_contents_delegate_android/color_chooser_android.cc b/components/web_contents_delegate_android/color_chooser_android.cc |
index 4eb3d03d7040fd0dc2f5f0c4e7ebbbd6025ea592..78d7443e0bc4592313f59a2815e57679d7f1a676 100644 |
--- a/components/web_contents_delegate_android/color_chooser_android.cc |
+++ b/components/web_contents_delegate_android/color_chooser_android.cc |
@@ -4,6 +4,7 @@ |
#include "components/web_contents_delegate_android/color_chooser_android.h" |
+#include "base/android/jni_array.h" |
#include "content/public/browser/android/content_view_core.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/browser/web_contents_view.h" |
@@ -11,19 +12,35 @@ |
namespace web_contents_delegate_android { |
-ColorChooserAndroid::ColorChooserAndroid(content::WebContents* web_contents, |
- SkColor initial_color) |
+ColorChooserAndroid::ColorChooserAndroid( |
+ content::WebContents* web_contents, |
+ SkColor initial_color, |
+ const std::vector<SkColor>& suggestions, |
Miguel Garcia
2013/08/19 14:43:27
Can you rename "suggestions" to "suggested_colors"
keishi
2013/08/26 05:28:54
I changed it to a vector of ColorSugestion struct
|
+ const std::vector<string16>& suggestion_labels) |
: web_contents_(web_contents) { |
JNIEnv* env = AttachCurrentThread(); |
content::ContentViewCore* content_view_core = |
content::ContentViewCore::FromWebContents(web_contents); |
DCHECK(content_view_core); |
+ ScopedJavaLocalRef<jintArray> suggestions_array( |
+ env, env->NewIntArray(suggestions.size())); |
+ jint* suggestions_array_elements = |
+ env->GetIntArrayElements(suggestions_array.obj(), NULL); |
+ for (size_t i = 0; i < suggestions.size(); ++i) { |
+ suggestions_array_elements[i] = suggestions[i]; |
+ } |
+ env->ReleaseIntArrayElements(suggestions_array.obj(), |
Miguel Garcia
2013/08/19 14:43:27
Could you upgrade jni_array.cc/h with a ToJavaArra
keishi
2013/08/26 05:28:54
I changed it to an array of ColorSuggestion object
|
+ suggestions_array_elements, |
+ 0); |
+ |
j_color_chooser_.Reset(Java_ColorChooserAndroid_createColorChooserAndroid( |
env, |
reinterpret_cast<intptr_t>(this), |
content_view_core->GetJavaObject().obj(), |
- initial_color)); |
+ initial_color, |
+ suggestions_array.obj(), |
+ base::android::ToJavaArrayOfStrings(env, suggestion_labels).obj())); |
} |
ColorChooserAndroid::~ColorChooserAndroid() { |