Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 26481865c7b6292831e259bef0e8d51f2061909e..fe704b2962eeeb23f6a92d48c6d95df30a791175 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -112,7 +112,6 @@ |
#include "content/renderer/render_view_impl_params.h" |
#include "content/renderer/render_view_mouse_lock_dispatcher.h" |
#include "content/renderer/render_widget_fullscreen_pepper.h" |
-#include "content/renderer/renderer_date_time_picker.h" |
#include "content/renderer/renderer_webapplicationcachehost_impl.h" |
#include "content/renderer/renderer_webcolorchooser_impl.h" |
#include "content/renderer/resizing_mode_selector.h" |
@@ -6150,11 +6149,21 @@ void RenderViewImpl::LaunchAndroidContentIntent(const GURL& intent, |
bool RenderViewImpl::openDateTimeChooser( |
const blink::WebDateTimeChooserParams& params, |
blink::WebDateTimeChooserCompletion* completion) { |
+ // JavaScript may try to open a date time chooser while one is already open. |
+ if (date_time_picker_client_) |
+ return false; |
date_time_picker_client_.reset( |
new RendererDateTimePicker(this, params, completion)); |
return date_time_picker_client_->Open(); |
} |
+#if defined(OS_ANDROID) |
+void RenderViewImpl::DismissDateTimeDialog() { |
+ DCHECK(date_time_picker_client_); |
+ date_time_picker_client_.reset(NULL); |
+} |
+#endif |
+ |
WebMediaPlayer* RenderViewImpl::CreateAndroidWebMediaPlayer( |
WebFrame* frame, |
const blink::WebURL& url, |