Index: content/renderer/renderer_date_time_picker.cc |
diff --git a/content/renderer/renderer_date_time_picker.cc b/content/renderer/renderer_date_time_picker.cc |
index fea94fa3f86b501211b0420ec073e8445a7245fd..f17ba3588be5d0001e42c594fbfdbd7875815389 100644 |
--- a/content/renderer/renderer_date_time_picker.cc |
+++ b/content/renderer/renderer_date_time_picker.cc |
@@ -6,50 +6,43 @@ |
#include "base/string_util.h" |
#include "content/common/view_messages.h" |
+#include "content/renderer/date_time_formatter.h" |
#include "content/renderer/render_view_impl.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebDateTimeChooserCompletion.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebDateTimeChooserParams.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebDateTimeInputType.h" |
-namespace content { |
- |
using WebKit::WebString; |
+namespace content { |
+ |
RendererDateTimePicker::RendererDateTimePicker( |
RenderViewImpl* sender, |
const WebKit::WebDateTimeChooserParams& params, |
WebKit::WebDateTimeChooserCompletion* completion) |
: RenderViewObserver(sender), |
chooser_params_(params), |
- chooser_completion_(completion) { |
+ chooser_completion_(completion){ |
} |
RendererDateTimePicker::~RendererDateTimePicker() { |
} |
-static ui::TextInputType ExtractType( |
- const WebKit::WebDateTimeChooserParams& source) { |
- |
- if (source.type == WebKit::WebDateTimeInputTypeDate) |
- return ui::TEXT_INPUT_TYPE_DATE; |
- if (source.type == WebKit::WebDateTimeInputTypeDateTime) |
- return ui::TEXT_INPUT_TYPE_DATE_TIME; |
- if (source.type == WebKit::WebDateTimeInputTypeDateTimeLocal) |
- return ui::TEXT_INPUT_TYPE_DATE_TIME_LOCAL; |
- if (source.type == WebKit::WebDateTimeInputTypeMonth) |
- return ui::TEXT_INPUT_TYPE_MONTH; |
- if (source.type == WebKit::WebDateTimeInputTypeTime) |
- return ui::TEXT_INPUT_TYPE_TIME; |
- if (source.type == WebKit::WebDateTimeInputTypeWeek) |
- return ui::TEXT_INPUT_TYPE_WEEK; |
- return ui::TEXT_INPUT_TYPE_NONE; |
-} |
- |
bool RendererDateTimePicker::Open() { |
- Send(new ViewHostMsg_OpenDateTimeDialog( |
- routing_id(), ExtractType(chooser_params_), |
- chooser_params_.currentValue.utf8())); |
+ DateTimeFormatter parser(chooser_params_); |
+ std::string test_s = chooser_params_.currentValue.utf8(); |
+ |
+ ViewHostMsg_DateTimeDialogValue_Params message; |
+ message.year = parser.GetYear(); |
+ message.month = parser.GetMonth(); |
+ message.day = parser.GetDay(); |
+ message.hour = parser.GetHour(); |
+ message.minute = parser.GetMinute(); |
+ message.second = parser.GetSecond(); |
+ message.dialog_type = parser.GetType(); |
+ |
+ Send(new ViewHostMsg_OpenDateTimeDialog(routing_id(), message)); |
return true; |
} |
@@ -64,9 +57,17 @@ bool RendererDateTimePicker::OnMessageReceived( |
return handled; |
} |
-void RendererDateTimePicker::OnReplaceDateTime(const string16& new_date) { |
+void RendererDateTimePicker::OnReplaceDateTime( |
+ const ViewHostMsg_DateTimeDialogValue_Params& value) { |
+ |
+ DateTimeFormatter formatter( |
+ static_cast<ui::TextInputType>(value.dialog_type), |
+ value.year, value.month, value.day, |
+ value.hour, value.minute, value.second); |
+ |
if (chooser_completion_) |
- chooser_completion_->didChooseValue(new_date); |
+ chooser_completion_->didChooseValue(WebString::fromUTF8( |
+ formatter.GetFormattedValue().c_str())); |
} |
void RendererDateTimePicker::OnCancel() { |