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

Side by Side Diff: content/renderer/renderer_date_time_picker_impl.cc

Issue 11418295: Use WebCore:DateTimeChooser for date/time form types instead of considering them text fields. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use new webKit enum instead of string comparissons Created 8 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
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/renderer/renderer_date_time_picker_impl.h"
6
7 #include "content/common/view_messages.h"
8 #include "content/renderer/render_view_impl.h"
9
10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDateTimeChooserCom pletion.h"
11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDateTimeChooserPar ams.h"
12 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDateTimeInputType. h"
13
14 namespace content {
15
16 using WebKit::WebString;
17
18 RendererDateTimePickerImpl::RendererDateTimePickerImpl(
19 RenderViewImpl* sender,
20 const WebKit::WebDateTimeChooserParams& params,
21 WebKit::WebDateTimeChooserCompletion* completion)
22 : RenderViewObserver(sender),
23 chooser_params_(params),
24 chooser_completion_(completion) {
25 }
26
27 RendererDateTimePickerImpl::~RendererDateTimePickerImpl() {
28 }
29
30 bool RendererDateTimePickerImpl::Open() {
31 ViewHostMsg_TextInputState_Params p;
32 p.type = ExtractType(chooser_params_);
33 p.value = chooser_params_.currentValue.utf8();
34 p.show_ime_if_needed = true;
35 Send(new ViewHostMsg_TextInputStateChanged(routing_id(), p));
36 return true;
37 }
38
39 bool RendererDateTimePickerImpl::OnMessageReceived(
40 const IPC::Message& message) {
41 bool handled = true;
42 IPC_BEGIN_MESSAGE_MAP(RendererDateTimePickerImpl, message)
43 IPC_MESSAGE_HANDLER(ViewMsg_ReplaceAll, OnReplaceDateTime)
44 IPC_MESSAGE_HANDLER(ViewMsg_ClearFocusedNode, OnClear)
45 IPC_MESSAGE_UNHANDLED(handled = false)
46 IPC_END_MESSAGE_MAP()
47 return handled;
48 }
49
50 void RendererDateTimePickerImpl::OnReplaceDateTime(const string16& new_date) {
51 if (chooser_completion_)
52 chooser_completion_->didChooseValue(new_date);
53 }
54
55 void RendererDateTimePickerImpl::OnClear() {
56 if (chooser_completion_)
57 chooser_completion_->didCancelChooser();
58 }
59
60 //static
61 ui::TextInputType RendererDateTimePickerImpl::ExtractType(
Peter Beverloo 2012/12/05 11:57:03 This isn't actually defined as static in the class
Miguel Garcia 2012/12/05 16:23:16 Done.
62 const WebKit::WebDateTimeChooserParams& source) {
63
64 if (source.type == WebKit::WebDateTimeInputTypeDate)
65 return ui::TEXT_INPUT_TYPE_DATE;
66 if (source.type == WebKit::WebDateTimeInputTypeDateTime)
67 return ui::TEXT_INPUT_TYPE_DATE_TIME;
68 if (source.type == WebKit::WebDateTimeInputTypeDateTimeLocal)
69 return ui::TEXT_INPUT_TYPE_DATE_TIME_LOCAL;
70 if (source.type == WebKit::WebDateTimeInputTypeMonth)
71 return ui::TEXT_INPUT_TYPE_MONTH;
72 if (source.type == WebKit::WebDateTimeInputTypeTime)
73 return ui::TEXT_INPUT_TYPE_TIME;
74 if (source.type == WebKit::WebDateTimeInputTypeWeek)
75 return ui::TEXT_INPUT_TYPE_WEEK;
76 return ui::TEXT_INPUT_TYPE_NONE;
77 }
78
79 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698