Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index f8660b726784ad47c22002471c70d0dd81798957..b2542eca40b872cffe2597edb2a69dbca708c06d 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -66,6 +66,9 @@ |
#include "content/renderer/render_widget_fullscreen_pepper.h" |
#include "content/renderer/renderer_accessibility.h" |
#include "content/renderer/renderer_webapplicationcachehost_impl.h" |
+#if defined(ENABLE_INPUT_COLOR) |
+#include "content/renderer/renderer_webcolorchooser_impl.h" |
+#endif |
#include "content/renderer/renderer_webstoragenamespace_impl.h" |
#include "content/renderer/speech_input_dispatcher.h" |
#include "content/renderer/text_input_client_observer.h" |
@@ -628,6 +631,12 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(ViewMsg_SetAltErrorPageURL, OnSetAltErrorPageURL) |
IPC_MESSAGE_HANDLER(ViewMsg_EnumerateDirectoryResponse, |
OnEnumerateDirectoryResponse) |
+#if defined(ENABLE_INPUT_COLOR) |
+ IPC_MESSAGE_HANDLER(ViewMsg_DidChooseColorResponse, |
+ OnDidChooseColorResponse) |
+ IPC_MESSAGE_HANDLER(ViewMsg_DidCleanupColorChooser, |
+ OnDidCleanupColorChooser) |
+#endif // defined(ENABLE_INPUT_COLOR) |
IPC_MESSAGE_HANDLER(ViewMsg_RunFileChooserResponse, OnFileChooserResponse) |
IPC_MESSAGE_HANDLER(ViewMsg_ShouldClose, OnShouldClose) |
IPC_MESSAGE_HANDLER(ViewMsg_SwapOut, OnSwapOut) |
@@ -1564,6 +1573,15 @@ bool RenderViewImpl::handleCurrentKeyboardEvent() { |
return did_execute_command; |
} |
+#if defined(ENABLE_INPUT_COLOR) |
+WebKit::WebColorChooser* RenderViewImpl::colorChooser() { |
+ if (!color_chooser_.get()) { |
+ color_chooser_.reset(new RendererWebColorChooserImpl(this)); |
+ } |
+ return static_cast<WebKit::WebColorChooser*>(color_chooser_.get()); |
+} |
+#endif |
+ |
bool RenderViewImpl::runFileChooser( |
const WebKit::WebFileChooserParams& params, |
WebFileChooserCompletion* chooser_completion) { |
@@ -3759,6 +3777,21 @@ void RenderViewImpl::OnEnumerateDirectoryResponse( |
enumeration_completions_.erase(id); |
} |
+#if defined(ENABLE_INPUT_COLOR) |
+void RenderViewImpl::OnDidChooseColorResponse(WebKit::WebColor color) { |
+ if(color_chooser_.get()) { |
+ color_chooser_->didChooseColor(color); |
+ } |
+} |
+ |
+void RenderViewImpl::OnDidCleanupColorChooser() { |
+ if(color_chooser_.get()) { |
+ color_chooser_->didCleanup(); |
+ color_chooser_.reset(); |
+ } |
+} |
+#endif |
+ |
void RenderViewImpl::OnFileChooserResponse(const std::vector<FilePath>& paths) { |
// This could happen if we navigated to a different page before the user |
// closed the chooser. |
@@ -3882,6 +3915,10 @@ void RenderViewImpl::OnGetSerializedHtmlDataForCurrentPageWithLocalLinks( |
void RenderViewImpl::OnShouldClose() { |
bool should_close = webview()->dispatchBeforeUnloadEvent(); |
Send(new ViewHostMsg_ShouldClose_ACK(routing_id_, should_close)); |
+#if defined(ENABLE_INPUT_COLOR) |
+ if (color_chooser_.get()) |
+ color_chooser_->cleanup(); |
+#endif |
} |
void RenderViewImpl::OnSwapOut(const ViewMsg_SwapOut_Params& params) { |