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

Unified Diff: chrome/browser/ui/views/color_chooser_aura.cc

Issue 10442020: Initial implementation of ColorChooser for Aura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 6 months 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: chrome/browser/ui/views/color_chooser_aura.cc
diff --git a/chrome/browser/ui/views/color_chooser_aura.cc b/chrome/browser/ui/views/color_chooser_aura.cc
index b1087963cac05ba26a4d3919f61c568c7f0af261..9481c00ebdb6622f5c4882180395ebb3b42c5195 100644
--- a/chrome/browser/ui/views/color_chooser_aura.cc
+++ b/chrome/browser/ui/views/color_chooser_aura.cc
@@ -3,12 +3,67 @@
// found in the LICENSE file.
#include "content/public/browser/color_chooser.h"
+#include "content/public/browser/web_contents.h"
+#include "ui/views/color_chooser/color_chooser_listener.h"
+#include "ui/views/color_chooser/color_chooser_view.h"
+#include "ui/views/widget/widget.h"
-#include "base/logging.h"
+
+namespace {
+
+class ColorChooserAura : public content::ColorChooser,
+ public views::ColorChooserListener {
+ public:
+ ColorChooserAura(int identifier,
+ content::WebContents* tab,
+ SkColor initial_color);
+
+ private:
+ content::WebContents* tab_;
Ben Goodger (Google) 2012/06/18 17:00:46 members after methods
Jun Mukai 2012/06/19 08:40:00 Done.
+ views::ColorChooserView* view_;
+
+ // views::ColorChooserListener overrides:
+ virtual void OnColorChosen(SkColor color) OVERRIDE;
+ virtual void OnColorChooserDialogClosed() OVERRIDE;
+
+ // content::ColorChooser overrides:
+ virtual void End() OVERRIDE;
+ virtual void SetSelectedColor(SkColor color) OVERRIDE;
+};
Ben Goodger (Google) 2012/06/18 17:00:46 DISALLOW_COPY_AND_ASSIGN
Jun Mukai 2012/06/19 08:40:00 Done.
+
+ColorChooserAura::ColorChooserAura(int identifier,
+ content::WebContents* tab,
+ SkColor initial_color)
+ : ColorChooser(identifier),
+ tab_(tab) {
+ view_ = new views::ColorChooserView(this, initial_color);
+ views::Widget* widget = views::Widget::CreateWindow(view_);
+ widget->SetAlwaysOnTop(true);
+ widget->Show();
+}
+
+void ColorChooserAura::OnColorChosen(SkColor color) {
+ if (tab_)
+ tab_->DidChooseColorInColorChooser(identifier(), color);
+}
+
+void ColorChooserAura::OnColorChooserDialogClosed() {
+ if (tab_)
+ tab_->DidEndColorChooser(identifier());
+}
+
+void ColorChooserAura::End() {
+ view_->OnOwningWindowClosed();
+}
+
+void ColorChooserAura::SetSelectedColor(SkColor color) {
+ view_->OnColorChanged(color);
+}
+
+} // namespace
// static
content::ColorChooser* content::ColorChooser::Create(
int identifier, content::WebContents* tab, SkColor initial_color) {
- NOTIMPLEMENTED();
- return NULL;
+ return new ColorChooserAura(identifier, tab, initial_color);
}
« no previous file with comments | « no previous file | chrome/browser/ui/views/color_chooser_dialog.h » ('j') | chrome/browser/ui/views/color_chooser_win.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698