Index: chrome/browser/ui/browser.cc |
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
index fa4a7870515b7468919d2d8d478435612124c273..4dd093192f5d4116745dbc85a0c6f8c8713608f4 100644 |
--- a/chrome/browser/ui/browser.cc |
+++ b/chrome/browser/ui/browser.cc |
@@ -107,6 +107,7 @@ |
#include "chrome/browser/ui/browser_navigator.h" |
#include "chrome/browser/ui/browser_tab_restore_service_delegate.h" |
#include "chrome/browser/ui/browser_window.h" |
+#include "chrome/browser/ui/color_chooser.h" |
#include "chrome/browser/ui/constrained_window_tab_helper.h" |
#include "chrome/browser/ui/extensions/shell_window.h" |
#include "chrome/browser/ui/find_bar/find_bar.h" |
@@ -4060,6 +4061,42 @@ content::JavaScriptDialogCreator* Browser::GetJavaScriptDialogCreator() { |
return GetJavaScriptDialogCreatorInstance(); |
} |
+void Browser::OpenColorChooser(WebContents* tab, |
+ int color_chooser_id, |
+ const SkColor& color) { |
+ if (color_chooser_.get() && |
+ color_chooser_id == color_chooser_->identifier() && |
+ tab->GetRenderViewHost() == color_chooser_->render_view_host()) |
+ return; |
+ |
+ color_chooser_.reset(ColorChooser::Create(color_chooser_id, |
+ tab->GetRenderViewHost(), |
+ color)); |
+} |
+ |
+void Browser::EndColorChooser(WebContents* tab, int color_chooser_id) { |
+ if (!color_chooser_.get()) |
+ return; |
+ |
+ if (color_chooser_id != color_chooser_->identifier() || |
+ tab->GetRenderViewHost() != color_chooser_->render_view_host()) |
+ return; |
+ |
+ color_chooser_->End(); |
+} |
+ |
+void Browser::SetSelectedColorInColorChooser( |
+ WebContents* tab, int color_chooser_id, const SkColor& color) { |
+ if (!color_chooser_.get()) |
+ return; |
+ |
+ if (color_chooser_id != color_chooser_->identifier() || |
+ tab->GetRenderViewHost() != color_chooser_->render_view_host()) |
+ return; |
+ |
+ color_chooser_->SetSelectedColor(color); |
+} |
+ |
void Browser::RunFileChooser(WebContents* tab, |
const content::FileChooserParams& params) { |
RunFileChooserHelper(tab, params); |