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

Unified Diff: content/renderer/render_view_impl.cc

Issue 7685006: Implement input type=color UI (common part) (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: forgot to turn off flag Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698