1// Copyright 2014 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#ifndef CONTENT_RENDERER_ANDROID_RENDERER_DATE_TIME_PICKER_H_
6#define CONTENT_RENDERER_ANDROID_RENDERER_DATE_TIME_PICKER_H_
7
8#include "base/basictypes.h"
9#include "content/public/renderer/render_view_observer.h"
10#include "third_party/WebKit/public/web/WebDateTimeChooserParams.h"
11
12struct ViewHostMsg_DateTimeDialogValue_Params;
13
14namespace blink {
15class WebDateTimeChooserCompletion;
16}  // namespace blink
17
18namespace content {
19class RenderViewImpl;
20
21class RendererDateTimePicker : public RenderViewObserver {
22 public:
23  RendererDateTimePicker(
24      RenderViewImpl* sender,
25      const blink::WebDateTimeChooserParams& params,
26      blink::WebDateTimeChooserCompletion* completion);
27  virtual ~RendererDateTimePicker();
28
29  bool Open();
30
31 private:
32  void OnReplaceDateTime(double value);
33  void OnCancel();
34
35  // RenderViewObserver
36  virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
37
38  blink::WebDateTimeChooserParams chooser_params_;
39  blink::WebDateTimeChooserCompletion* chooser_completion_;  // Not owned by us
40
41  DISALLOW_COPY_AND_ASSIGN(RendererDateTimePicker);
42};
43
44}  // namespace content
45
46#endif  // CONTENT_RENDERER_ANDROID_RENDERER_DATE_TIME_PICKER_H_
47