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

Side by Side Diff: content/browser/android/date_time_chooser_android.h

Issue 23623019: Support datalist for date/time input types on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 #ifndef CONTENT_BROWSER_ANDROID_DATE_TIME_CHOOSER_ANDROID_H_ 5 #ifndef CONTENT_BROWSER_ANDROID_DATE_TIME_CHOOSER_ANDROID_H_
6 #define CONTENT_BROWSER_ANDROID_DATE_TIME_CHOOSER_ANDROID_H_ 6 #define CONTENT_BROWSER_ANDROID_DATE_TIME_CHOOSER_ANDROID_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector>
9 10
10 #include "base/android/jni_helper.h" 11 #include "base/android/jni_helper.h"
11 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "ui/base/ime/text_input_type.h"
12 14
13 namespace content { 15 namespace content {
14 16
15 class ContentViewCore; 17 class ContentViewCore;
16 class RenderViewHost; 18 class RenderViewHost;
19 struct DateTimeSuggestion;
17 20
18 // Android implementation for DateTimeChooser dialogs. 21 // Android implementation for DateTimeChooser dialogs.
19 class DateTimeChooserAndroid { 22 class DateTimeChooserAndroid {
20 public: 23 public:
21 DateTimeChooserAndroid(); 24 DateTimeChooserAndroid();
22 ~DateTimeChooserAndroid(); 25 ~DateTimeChooserAndroid();
23 26
24 // DateTimeChooser implementation: 27 // DateTimeChooser implementation:
28 // Shows the dialog. |dialog_value| is the date/time value converted to a
29 // number as defined in HTML. (See blink::InputType::parseToNumber())
25 void ShowDialog(ContentViewCore* content, 30 void ShowDialog(ContentViewCore* content,
26 RenderViewHost* host, 31 RenderViewHost* host,
27 int type, 32 ui::TextInputType dialog_type,
28 int year, 33 double dialog_value,
29 int month,
30 int day,
31 int hour,
32 int minute,
33 int second,
34 int milli,
35 int week,
36 double min, 34 double min,
37 double max, 35 double max,
38 double step); 36 double step,
37 std::vector<DateTimeSuggestion> suggestions);
39 38
40 // Replaces the current value with the one passed the different fields 39 // Replaces the current value
41 void ReplaceDateTime(JNIEnv* env, 40 void ReplaceDateTime(JNIEnv* env, jobject, jdouble value);
42 jobject,
43 jint dialog_type,
44 jint year,
45 jint month,
46 jint day,
47 jint hour,
48 jint minute,
49 jint second,
50 jint milli,
51 jint week);
52 41
53 // Closes the dialog without propagating any changes. 42 // Closes the dialog without propagating any changes.
54 void CancelDialog(JNIEnv* env, jobject); 43 void CancelDialog(JNIEnv* env, jobject);
55 44
56 // Propagates the different types of accepted date/time values to the 45 // Propagates the different types of accepted date/time values to the
57 // java side. 46 // java side.
58 static void InitializeDateInputTypes( 47 static void InitializeDateInputTypes(
59 int text_input_type_date, int text_input_type_date_time, 48 int text_input_type_date, int text_input_type_date_time,
60 int text_input_type_date_time_local, int text_input_type_month, 49 int text_input_type_date_time_local, int text_input_type_month,
61 int text_input_type_time, int text_input_type_week); 50 int text_input_type_time, int text_input_type_week);
62 51
63 private: 52 private:
64 RenderViewHost* host_; 53 RenderViewHost* host_;
65 54
66 base::android::ScopedJavaGlobalRef<jobject> j_date_time_chooser_; 55 base::android::ScopedJavaGlobalRef<jobject> j_date_time_chooser_;
67 56
68 DISALLOW_COPY_AND_ASSIGN(DateTimeChooserAndroid); 57 DISALLOW_COPY_AND_ASSIGN(DateTimeChooserAndroid);
69 }; 58 };
70 59
71 // Native JNI methods 60 // Native JNI methods
72 bool RegisterDateTimeChooserAndroid(JNIEnv* env); 61 bool RegisterDateTimeChooserAndroid(JNIEnv* env);
73 62
74 } // namespace content 63 } // namespace content
75 64
76 #endif // CONTENT_BROWSER_ANDROID_DATE_TIME_CHOOSER_ANDROID_H_ 65 #endif // CONTENT_BROWSER_ANDROID_DATE_TIME_CHOOSER_ANDROID_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698